{"version":3,"file":"main.4bf5539faabdf7b0.js","mappings":"sHAAO,IAAKA,EAAZ,SAAYA,GACVA,SAAAC,YAAA,cACAD,EAAAE,UAAA,YACAF,EAAAG,OAAA,YACAH,EAAAI,SAAA,8CACAJ,EAAAK,SAAA,WACAL,EAAAM,OAAA,SACAN,EAAAO,OAAA,SAPUP,CAQZ,CARA,CAAYA,GAAgB,wCCArB,IAAKQ,EAAZ,SAAYA,GACVA,SAAAC,UAAA,YACAD,EAAAE,YAAA,cACAF,EAAAG,WAAA,aACAH,EAAAI,aAAA,eACAJ,EAAAK,YAAA,oBACAL,EAAAM,SAAA,WANUN,CAOZ,CAPA,CAAYA,GAAW,wCCAhB,IAAKO,EAAZ,SAAYA,GACVA,SAAAC,WAAA,aACAD,EAAAE,SAAA,WACAF,EAAAG,UAAA,YACAH,EAAAI,0BAAA,+BAJUJ,CAKZ,CALA,CAAYA,GAAuB,iDCA5B,IAAKK,EAAZ,SAAYA,GACVA,SAAAC,gBAAA,2BACAD,EAAAE,mBAAA,2BACAF,EAAAG,mBAAA,oCACAH,EAAAI,kBAAA,uBACAJ,EAAAK,YAAA,cACAL,EAAAM,gBAAA,cANUN,CAOZ,CAPA,CAAYA,GAAoB,IASpBO,EAAZ,SAAYA,GACVA,SAAAN,gBAAA,2BACAM,EAAAL,mBAAA,2BACAK,EAAAJ,mBAAA,oCACAI,EAAAH,kBAAA,uBAEAG,EAAAC,yBAAA,yDANUD,CAOZ,CAPA,CAAYA,GAAyC,IAS/C,SAAUE,EAAkCC,GAChD,OAAOC,OAAOC,QAAQZ,GAAsBa,KAAK,EAAEC,KAASA,IAAQJ,KAAS,EAC/E,oFCpBO,IAAKK,EAAZ,SAAYA,GACVA,SAAAC,WAAA,sBACAD,EAAAE,eAAA,0BACAF,EAAAG,kBAAA,4BAEAH,EAAAI,aAAA,wBACAJ,EAAAK,gBAAA,0BACAL,EAAAM,aAAA,wBACAN,EAAAO,UAAA,eACAP,EAAAQ,SAAA,WACAR,EAAAS,UAAA,YACAT,EAAAU,gBAAA,qBACAV,EAAAW,WAAA,gBACAX,EAAAY,UAAA,eAbUZ,CAcZ,CAdA,CAAYA,GAAmB,IAgBnBa,EAAZ,SAAYA,GACVA,SAAAC,cAAA,kDACAD,EAAAZ,WAAA,sBACAY,EAAAX,eAAA,0BACAW,EAAAV,kBAAA,4BAEAU,EAAAT,aAAA,wBACAS,EAAAR,gBAAA,0BACAQ,EAAAP,aAAA,wBACAO,EAAAN,UAAA,eACAM,EAAAL,SAAA,WACAK,EAAAJ,UAAA,YACAI,EAAAH,gBAAA,qBACAG,EAAAF,WAAA,gBACAE,EAAAD,UAAA,eAdUC,CAeZ,CAfA,CAAYA,GAAgC,IAiBhCE,EAAZ,SAAYA,GACVA,SAAAR,UAAA,eACAQ,EAAAL,gBAAA,qBACAK,EAAAH,UAAA,eAHUG,CAIZ,CAJA,CAAYA,GAAmC,IAMnCC,EAAZ,SAAYA,GACVA,SAAAT,UAAA,eACAS,EAAAN,gBAAA,qBACAM,EAAAJ,UAAA,eAHUI,CAIZ,CAJA,CAAYA,GAAmC,IAMzC,SAAUC,EAAoCtB,GAClD,MAAMuB,EAAWtB,OAAOuB,OAAOnB,GAAqBoB,QAAQzB,GAE5D,OADYC,OAAOyB,KAAKrB,GAAqBkB,EAE/C,CAEM,SAAUI,EAAiC3B,GAC/C,OAAOC,OAAOC,QAAQG,GAAqBF,KAAK,EAAEC,KAASA,IAAQJ,KAAS,EAC9E,sCCrDO,IAAK4B,EAAZ,SAAYA,GACVA,WAAAC,SAAA,cACAD,IAAAE,OAAA,YACAF,IAAAG,WAAA,gBACAH,IAAA,yBACAA,IAAA,gDACAA,IAAAI,SAAA,cANUJ,CAOZ,CAPA,CAAYA,GAAW,wCCAhB,IAAKK,EAAZ,SAAYA,GACVA,SAAAC,GAAA,OACAD,EAAAE,GAAA,UACAF,EAAAG,GAAA,WACAH,EAAAI,GAAA,WACAJ,EAAAK,GAAA,QACAL,EAAAM,GAAA,WACAN,EAAAO,GAAA,mBACAP,EAAAQ,GAAA,oBACAR,EAAAS,GAAA,WACAT,EAAAU,GAAA,cACAV,EAAAW,GAAA,cACAX,EAAAY,GAAA,qBACAZ,EAAAa,GAAA,eACAb,EAAAc,GAAA,UACAd,EAAAe,GAAA,aACAf,EAAAgB,GAAA,YACAhB,EAAAiB,GAAA,aACAjB,EAAAkB,GAAA,WACAlB,EAAAmB,GAAA,iBACAnB,EAAAoB,GAAA,sBACApB,EAAAqB,GAAA,oBACArB,EAAAsB,GAAA,cACAtB,EAAAuB,GAAA,UACAvB,EAAAwB,GAAA,iBACAxB,EAAAyB,GAAA,eACAzB,EAAA0B,GAAA,UACA1B,EAAA2B,GAAA,YA3BU3B,CA4BZ,CA5BA,CAAYA,GAAM,+FCAX,IAAK4B,EAAZ,SAAYA,GACVA,SAAA,+BACAA,EAAAC,SAAA,WACAD,EAAAE,YAAA,cACAF,EAAAG,QAAA,UACAH,EAAAI,UAAA,YACAJ,EAAAK,UAAA,YANUL,CAOZ,CAPA,CAAYA,GAAiB,IASjBM,EAAZ,SAAYA,GACVA,SAAA,+BACAA,EAAAL,SAAA,WACAK,EAAAD,UAAA,YAHUC,CAIZ,CAJA,CAAYA,GAAgC,IAMhCC,EAAZ,SAAYA,GACVA,SAAA,+BACAA,EAAAN,SAAA,WACAM,EAAAL,YAAA,cACAK,EAAAF,UAAA,YAJUE,CAKZ,CALA,CAAYA,GAA6B,IAO7BC,EAAZ,SAAYA,GACVA,SAAAN,YAAA,cACAM,EAAAP,SAAA,WACAO,EAAAL,QAAA,UACAK,EAAAJ,UAAA,YAJUI,CAKZ,CALA,CAAYA,GAAgC,IAOhCC,EAAZ,SAAYA,GACVA,SAAAN,QAAA,UACAM,EAAAP,YAAA,cAFUO,CAGZ,CAHA,CAAYA,GAA4B,IAK5BC,EAAZ,SAAYA,GACVA,SAAAN,UAAA,YACAM,EAAAR,YAAA,cAFUQ,CAGZ,CAHA,CAAYA,GAA8B,IAK9BC,EAAZ,SAAYA,GACVA,SAAAN,UAAA,YACAM,EAAA,+BAFUA,CAGZ,CAHA,CAAYA,GAA8B,+CCvCnC,IAAKC,EAAZ,SAAYA,GACVA,SAAAC,MAAA,QACAD,EAAAE,IAAA,WACAF,EAAAG,OAAA,iBACAH,EAAAI,OAAA,oBACAJ,EAAAK,OAAA,gBACAL,EAAAM,OAAA,oBANUN,CAOZ,CAPA,CAAYA,GAAW,IASXO,EAAZ,SAAYA,GACVA,SAAAC,MAAA,QACAD,EAAAE,aAAA,qBACAF,EAAAG,eAAA,iBACAH,EAAAI,mBAAA,wBACAJ,EAAAK,kBAAA,oBACAL,EAAAM,2BAAA,qCACAN,EAAAO,yBAAA,mCACAP,EAAAQ,gBAAA,qBACAR,EAAAS,MAAA,QACAT,EAAAU,aAAA,qBACAV,EAAAW,4BAAA,yCACAX,EAAAY,+BAAA,4CACAZ,EAAAa,2BAAA,wCACAb,EAAAc,0BAAA,uCACAd,EAAAe,6BAAA,0CACAf,EAAAgB,0BAAA,uCACAhB,EAAAiB,uBAAA,oCACAjB,EAAAkB,sBAAA,gCACAlB,EAAAmB,uBAAA,iCACAnB,EAAAoB,6BAAA,0CACApB,EAAAqB,wBAAA,qCACArB,EAAAsB,WAAA,aACAtB,EAAAuB,QAAA,UACAvB,EAAAwB,2BAAA,uBACAxB,EAAAyB,gBAAA,kBACAzB,EAAA0B,uBAAA,yBACA1B,EAAA2B,cAAA,YACA3B,EAAA4B,wBAAA,6BACA5B,EAAA6B,wBAAA,wCACA7B,EAAA8B,4BAAA,sCACA9B,EAAA+B,4BAAA,+BACA/B,EAAAgC,UAAA,kBACAhC,EAAAiC,WAAA,aACAjC,EAAAkC,WAAA,MACAlC,EAAArF,YAAA,cACAqF,EAAAmC,WAAA,iBACAnC,EAAAoC,eAAA,kBACApC,EAAAqC,eAAA,kBACArC,EAAAsC,gBAAA,kBACAtC,EAAAuC,8BAAA,qCACAvC,EAAAwC,4BAAA,mCACAxC,EAAAyC,UAAA,kBACAzC,EAAA0C,aAAA,kBACA1C,EAAA2C,oBAAA,sBACA3C,EAAA4C,gBAAA,qBA7CU5C,CA8CZ,CA9CA,CAAYA,GAAe,wCCTpB,IAAK6C,EAAZ,SAAYA,GACVA,SAAAC,qBAAA,wDACAD,EAAAE,yCAAA,yGAFUF,CAGZ,CAHA,CAAYA,GAAiB,wCCAtB,IAAKG,EAAZ,SAAYA,GACVA,SAAAC,IAAA,8CACAD,EAAAE,MAAA,sEACAF,EAAAG,MAAA,gEACAH,EAAAI,OAAA,kDACAJ,EAAAK,KAAA,6DACAL,EAAAM,OAAA,oFACAN,EAAAO,IAAA,oCACAP,EAAAQ,KAAA,4CACAR,EAAAS,OAAA,wEACAT,EAAAU,KAAA,kDACAV,EAAAW,KAAA,yDACAX,EAAAY,OAAA,oEACAZ,EAAAa,OAAA,2EACAb,EAAAc,OAAA,kGACAd,EAAAe,KAAA,2DACAf,EAAAgB,GAAA,0BACAhB,EAAAiB,GAAA,qBACAjB,EAAAkB,IAAA,+CACAlB,EAAAmB,IAAA,+CACAnB,EAAAoB,KAAA,qDACApB,EAAAqB,KAAA,kDACArB,EAAAsB,IAAA,mCACAtB,EAAAuB,IAAA,mCACAvB,EAAAwB,IAAA,kCACAxB,EAAAyB,IAAA,4CACAzB,EAAA0B,IAAA,iCACA1B,EAAA2B,IAAA,wCACA3B,EAAA4B,IAAA,qCACA5B,EAAA6B,IAAA,2BACA7B,EAAA8B,IAAA,2BACA9B,EAAA+B,IAAA,gCACA/B,EAAAgC,IAAA,gDACAhC,EAAAiC,KAAA,6DACAjC,EAAAkC,IAAA,oCAlCUlC,CAmCZ,CAnCA,CAAYA,GAAgB,wCCArB,IAAKmC,EAAZ,SAAYA,GACVA,SAAA,kCACAA,EAAA,oCACAA,EAAA,0BACAA,EAAAC,SAAA,WACAD,EAAAE,QAAA,UACAF,EAAAG,OAAA,SACAH,EAAA,+CACAA,EAAA,yCACAA,EAAA,0BACAA,EAAAI,UAAA,YACAJ,EAAA,0BACAA,EAAA,8BACAA,EAAAK,QAAA,aACAL,EAAA,gCACAA,EAAAM,QAAA,UACAN,EAAAO,QAAA,UACAP,EAAAQ,WAAA,aACAR,EAAAS,SAAA,WACAT,EAAA,0BACAA,EAAAU,OAAA,SACAV,EAAAW,MAAA,QACAX,EAAA,oCACAA,EAAA,0BACAA,EAAA,qDACAA,EAAAY,SAAA,WACAZ,EAAAa,OAAA,SACAb,EAAAc,OAAA,SACAd,EAAA,4BACAA,EAAA,+BACAA,EAAAe,QAAA,UACAf,EAAA,sBACAA,EAAA,2BACAA,EAAA,4BACAA,EAAAgB,QAAA,UACAhB,EAAA,wBACAA,EAAAiB,MAAA,QACAjB,EAAA,kCACAA,EAAAkB,MAAA,QACAlB,EAAAmB,MAAA,QACAnB,EAAAoB,MAAA,QACApB,EAAAqB,OAAA,SACArB,EAAA,4BACAA,EAAAsB,QAAA,UACAtB,EAAAuB,MAAA,QACAvB,EAAA,qCACAA,EAAA,iCACAA,EAAA,qCACAA,EAAA,2BACAA,EAAA,0BACAA,EAAAwB,KAAA,OACAxB,EAAAyB,UAAA,YACAzB,EAAA0B,QAAA,UACA1B,EAAA2B,SAAA,WACA3B,EAAA4B,MAAA,QACA5B,EAAA,6BACAA,EAAA,yDACAA,EAAA6B,QAAA,UACA7B,EAAA8B,SAAA,WACA9B,EAAA,gCACAA,EAAA,8BACAA,EAAA+B,QAAA,UACA/B,EAAA,mCACAA,EAAA,0BACAA,EAAA,0BACAA,EAAAgC,KAAA,OACAhC,EAAAiC,UAAA,YACAjC,EAAA,8BACAA,EAAA,wBACAA,EAAA,sBACAA,EAAA,wBACAA,EAAAkC,KAAA,OACAlC,EAAA,0BACAA,EAAAmC,QAAA,UACAnC,EAAA,wBACAA,EAAAoC,UAAA,YACApC,EAAAqC,OAAA,SACArC,EAAA,sBACAA,EAAA,6CACAA,EAAA,qCACAA,EAAAsC,MAAA,QACAtC,EAAAuC,QAAA,UACAvC,EAAAwC,SAAA,WACAxC,EAAAyC,QAAA,UACAzC,EAAA,sBACAA,EAAA,mCACAA,EAAA,uCACAA,EAAA0C,MAAA,WACA1C,EAAA,8BACAA,EAAA,kBACAA,EAAA2C,OAAA,SACA3C,EAAA4C,QAAA,UACA5C,EAAA,4BACAA,EAAA6C,OAAA,SACA7C,EAAA,wBACAA,EAAA8C,QAAA,UACA9C,EAAA,sBACAA,EAAA,4BACAA,EAAA+C,OAAA,SACA/C,EAAAgD,KAAA,OACAhD,EAAAiD,OAAA,SACAjD,EAAA,0BACAA,EAAA,wBACAA,EAAA,0BACAA,EAAA,sBACAA,EAAAkD,cAAA,gBACAlD,EAAA,4BACAA,EAAAmD,WAAA,aACAnD,EAAA,iDACAA,EAAAoD,WAAA,aACApD,EAAA,0BACAA,EAAAqD,OAAA,SACArD,EAAAsD,SAAA,WACAtD,EAAAuD,KAAA,OACAvD,EAAAwD,MAAA,QACAxD,EAAAyD,SAAA,WACAzD,EAAA,4BACAA,EAAA,gCACAA,EAAA,wBACAA,EAAA0D,QAAA,UACA1D,EAAA,gCACAA,EAAA,gCACAA,EAAA,4BACAA,EAAA,wBACAA,EAAA,4BACAA,EAAA2D,WAAA,aACA3D,EAAA,0BACAA,EAAA4D,MAAA,QACA5D,EAAA6D,MAAA,QACA7D,EAAA,8BACAA,EAAA,sBACAA,EAAA,0BACAA,EAAA8D,QAAA,UACA9D,EAAA,uCACAA,EAAA,kBACAA,EAAA+D,MAAA,QACA/D,EAAA,wBACAA,EAAA,6CACAA,EAAA,8BACAA,EAAAgE,SAAA,WACAhE,EAAAiE,KAAA,OACAjE,EAAA,0BACAA,EAAAkE,SAAA,WACAlE,EAAA,wBACAA,EAAA,kCACAA,EAAA,6BACAA,EAAA,+DACAA,EAAA,qDACAA,EAAA,6CACAA,EAAA,0BACAA,EAAAmE,OAAA,SACAnE,EAAA,wBACAA,EAAAoE,MAAA,QACApE,EAAA,2BACAA,EAAA,mCACAA,EAAA,mEACAA,EAAA,+DACAA,EAAA,6DACAA,EAAAqE,QAAA,UACArE,EAAA,wBACAA,EAAAsE,WAAA,aACAtE,EAAA,2BACAA,EAAAuE,UAAA,YACAvE,EAAA,sBACAA,EAAA,0BACAA,EAAA,yBACAA,EAAA,kCACAA,EAAA,sBACAA,EAAA,qCACAA,EAAA,wBACAA,EAAA,8BACAA,EAAAwE,SAAA,WACAxE,EAAA,8BACAA,EAAAyE,OAAA,SACAzE,EAAA,kCACAA,EAAA,4BACAA,EAAA,6BACAA,EAAA0E,KAAA,OACA1E,EAAA2E,MAAA,QACA3E,EAAA,yCACAA,EAAA,0BACAA,EAAA,sCACAA,EAAA4E,QAAA,UACA5E,EAAA6E,OAAA,SACA7E,EAAA,0BACAA,EAAA8E,OAAA,SACA9E,EAAA+E,QAAA,UACA/E,EAAA,kCACAA,EAAAgF,QAAA,UACAhF,EAAAiF,SAAA,WACAjF,EAAAkF,UAAA,YACAlF,EAAA,wBACAA,EAAA,wBACAA,EAAA,4BAjMUA,CAkMZ,CAlMA,CAAYA,GAAI,wSCST,IAAMmF,EAAa,MAApB,MAAOA,UAAqBC,KAI+BC,YAHtDC,MAAQ,QACjBC,OAEAC,YAAYC,EAAmDJ,GAC7DK,MAAMD,EAAMJ,GADiDM,KAAAN,cAE7DM,KAAKJ,OAASE,CAChB,CAEAG,SAASC,GACP,OAAOF,KAAKG,SAASH,KAAKL,MAAOO,EACnC,4CAXWV,GAAYY,MAAAC,MAAAD,MAIe,eAAa,iCAJxCZ,EAAYc,QAAZd,EAAYe,UAAAC,WAFX,gBAEDhB,CAAa,mBCKnB,IAAMiB,EAAqB,MAA5B,MAAOA,EAiBDC,iBACAC,wBACAC,OACAC,aAnBVC,MAEAC,aAAuB,yCAEdC,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,gBAAiBC,MAAO,2BAA4BC,KAAM,QAGrEC,KAAO,IAAIC,KAAU,CACnBC,WAAY,IAAIC,KAAY,GAAIC,KAAWC,UAC3CC,UAAW,IAAIH,KAAY,GAAI,CAACC,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKe,gBAC7Ea,qBAAsB,IAAIL,KAAY,GAAI,CAACC,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKe,kBAG1FlB,YACUa,EACAC,EACAC,EACAC,IAHAb,KAAAU,mBACAV,KAAAW,0BACAX,KAAAY,SACAZ,KAAAa,gBAERb,KAAKU,iBAAiBmB,MAAMC,UAAUC,KAChCA,IACF/B,KAAKa,aAAaZ,SAAS8B,IAAMC,WAAWF,UAAUG,KACpDjC,KAAKc,MAAQmB,IACd,EAGP,CAEAC,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEAC,UAGE,GAFAxC,KAAKkC,8BAEAlC,KAAKoB,KAAKqB,MAOf,IAFgBzC,KAAKoB,KAAKiB,IAAI,cAAcnS,OAAS,OAC1B8P,KAAKoB,KAAKiB,IAAI,yBAAyBnS,OAAS,IAEzE8P,KAAKW,wBAAwB+B,iBAAiB,+DACzC,CACL,IAAIC,EAAW,CACbC,MAAO5C,KAAKc,OAAO8B,MACnBtB,WAAYtB,KAAKoB,KAAKiB,IAAI,eAAenS,MACzC2S,UAAW7C,KAAKoB,KAAKiB,IAAI,cAAcnS,OAEzC8P,KAAKU,iBAAiBoC,aAAaH,GAAUb,UAAUiB,KACpC,WAAbA,IACF/C,KAAKW,wBAAwBqC,mBAAmB,sCAChDhD,KAAKoB,KAAK6B,QACVjD,KAAKY,OAAOsC,SAAS,CAAC,sBAEtBlD,KAAKW,wBAAwB+B,iBADP,aAAbK,GAEP,uFAEoB,kBAAbA,GACqC,2BAG5C,yEAAkE,EAI1E,MA/BE/C,KAAKW,wBAAwB+B,iBAAiB,qDAgClD,4CA3EWjC,GAAqBL,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,GAAA,+BAArB5C,EAAqB6C,UAAA,wBAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,0pBAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICdlCvD,MAAA,wBAMQA,MAJR,UAIQA,CAJe,UAIfA,CAHwE,eAGxEA,CAFuE,oBAEvEA,CADe,sBAC8BA,MAAA,mBAC/CA,UAIMA,MAHN,qBAGMA,CAHY,WAGZA,CAFgE,qBAEhEA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,iBAAUA,QACrBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,wBAAWA,QACtBA,MAAA,cACFA,QACAA,MAAA,aACEA,MAAA,qHACFA,QACAA,MAAA,SACAA,MAAA,gBAA0CA,MAAA,0BAASwD,EAAApB,SAAS,GAC1DpC,MAAA,eAAUA,MAAA,2BAAoBA,QAAYA,MAAA,eAMtDA,yBAjCkBA,MAAA,SAAAwD,EAAA5C,aASJZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,yIDKDX,CAAqB,mGEblCL,MAAA,YACEA,MAAA,sIACFA,gCAGIA,MAAA,WAAsCA,MAAA,WAAKA,oCAC3CA,MAAA,WAAsDA,MAAA,GAAoDA,mCAApDA,cAAA,GAAAyD,EAAAC,UAAA,MAAAD,EAAAE,aAAA,8CAGtD3D,MAAA,WAAsCA,MAAA,mCAAoBA,oCAC1DA,MAAA,WACEA,MAAA,mCACFA,mCADEA,cAAA,OAAAA,MAAA,IAAA4D,EAAAC,qBAAA,yBAAA7D,MAAA,IAAA4D,EAAAE,mBAAA,2CAIF9D,MAAA,WAAsCA,MAAA,oBAAQA,oCAE5CA,MADF,UACEA,CADuD,OACpDA,MAAA,GACLA,qCADKA,MAAA,GAAAA,MAAA+D,EAAAC,gCAILhE,MAAA,qDAGIA,MAAA,eAAwFA,MAAA,mBAAAA,MAAAiE,GAAA,MAAAC,EAAAlE,QAAAmE,UAAAC,GAAApE,QAAA,OAAAA,MAASoE,GAAAC,OAAAH,EAAApE,IAAc,GAC7GE,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,gCAC5BA,oCAHFA,MADF,UACEA,CADiC,YAE/BA,MAAA,EAAAsE,GAAA,iBAIJtE,qCAJgEA,MAAA,GAAAA,MAAA,OAAAkE,EAAAK,0CAMlEvE,MAAA,kCACAA,MAAA,mCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WCjBK,IAAMwE,GAAwB,MAA/B,MAAOA,EAuBDlE,iBACAmE,mBACAjE,OAxBVE,MACAgE,QACAC,YAAc,IAAIC,MAAyB,GAEAC,UACvBC,KAEpBC,YAAwB,CACtB,YACA,mBACA,SACA,UAEFC,WAA8D,IAAIC,KAClEC,cAAwB,EAEftE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,0BAAqBC,MAAO,wBAAyBC,KAAM,eAGtEtB,YACUa,EACAmE,EACAjE,GAFAZ,KAAAU,mBACAV,KAAA6E,qBACA7E,KAAAY,QACP,CAEH2E,WACEvF,KAAKU,iBAAiBmB,MAAMC,UAAUC,IAChCA,IACF/B,KAAK8E,QAAU/C,IAGrB,CAEAyD,kBACExF,KAAKiF,WAAWQ,KAAKC,OAAO5D,YAC5B6D,WAAW,KACT3F,KAAK4F,aAAW,EACf,GACH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,MAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEA8D,cACE5F,KAAK6E,mBAAmBiB,yBAAyB9F,KAAK8E,SAASiB,IAAM/F,KAAKgG,cAAclE,UAAUmE,IAChGjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,cAEtBtF,KAAKoF,WAAWa,KAAKE,OAAOC,GAAKA,EAAEzB,kBAAgD,MAA5ByB,EAAEC,wBAAgCC,QAC3FtG,KAAK+E,YAAYwB,MAAK,EAAI,EAGhC,CAEQP,aAKN,MAJ2B,CACzBQ,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,SAG7B,CAEAhC,OAAOvE,GACLF,KAAKY,OAAOsC,SAAS,CAAC,8BAA8BhD,KACtD,4CAlEW0E,GAAwBxE,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAA,+BAAxBwB,EAAwBtB,UAAA,2BAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAKxBgD,KAAY,SACZC,KAAO,w9CDxBpBxG,MAAA,wBACAA,MAAA,EAAAyG,EAAA,8BAGAzG,MAAA,aACEA,MAAA,KAEEA,MADA,EAAA0G,EAAA,WACA1G,CADsC,EAAA2G,GAAA,oBAGxC3G,MAAA,KAEEA,MADA,EAAA4G,GAAA,WACA5G,CADsC,EAAA6G,GAAA,oBAKxC7G,MAAA,MAEEA,MADA,GAAA8G,EAAA,WACA9G,CADsC,GAAA+G,GAAA,oBAKxC/G,MAAA,OAEEA,MADA,GAAAgH,GAAA,WACAhH,CADsC,GAAAiH,GAAA,qBAWxCjH,MAFA,GAAAkH,GAAA,YAEAlH,CAFkD,GAAAmH,GAAA,YAElDnH,CADuD,GAAAoH,GAAA,aAIzDpH,QACAA,MAAA,8BArCkBA,MAAA,SAAAwD,EAAA5C,aACwDZ,cAAA,OAAAA,MAAA,IAAAwD,EAAAmB,cAGzD3E,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YA2BKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAAqH,6RCrBJ7C,CAAwB,sJCR9B,IAAM8C,GAA6C,MAApD,MAAOA,UAAqDjI,KAO7BC,YACzBiI,oBAPDhI,MAAQ,kCACRiI,OAAS,WAAW5H,KAAKL,MAElCC,OAEAC,YAAaC,EACsBJ,EACzBiI,GAEV5H,MAAMD,EAAMJ,GAHuBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAClB,CAEE+H,4BAA4BC,GAC1B,OAAO9H,KAAKG,SAASH,KAAK4H,OAAQE,EACpC,4CAhBWJ,GAA4CtH,MAAAC,MAAAD,MAO7C,eAAaA,MAAA+C,MAAA,iCAPZuE,EAA4CpH,QAA5CoH,EAA4CnH,UAAAC,WAF3C,gBAEDkH,CAA6C,0QCRxDtH,MAAA,sBAAoCA,MAAA,GAAsCA,8BAAtCA,cAAA,GAAA2H,EAAAC,UAAA,MAAAD,EAAAE,OAAA,8CAEtC7H,MAAA,YACEA,MAAA,sIACFA,iCACAA,MAAA,YACEA,MAAA,2EACFA,iCAgBoBA,MAJF,sBAIEA,CADoD,eACzCA,MAAA,SAAGA,QACdA,MAAA,cACFA,iCAKEA,MAJF,sBAIEA,CADoD,eACzCA,MAAA,gBAAUA,QACrBA,MAAA,cACFA,iCA6BEA,MAFJ,WAEIA,CAFsD,WAEtDA,CAD4D,YAE1DA,MAAA,SAAEA,MAAA,OAAGA,MAAA,iBAAWA,QAAIA,MAAA,yIAAuHA,MAAA,UAAqHA,MAAA,yDAGtQA,0CA0BMA,MAAA,mBACEA,MAAA,GACFA,mCAFsDA,MAAA,QAAA8H,EAAA5X,KACpD8P,cAAA,IAAA8H,EAAAhY,MAAA,iCAQFkQ,MAAA,mBACEA,MAAA,GACFA,mCAF8CA,MAAA,QAAA+H,EAAAjI,IAC5CE,cAAA,IAAA+H,EAAAhG,KAAA,iCAQF/B,MAAA,mBACEA,MAAA,GACFA,mCAFgEA,MAAA,QAAAgI,EAAA9X,KAC9D8P,cAAA,IAAAgI,EAAAlY,MAAA,iCAqBFkQ,MAAA,mBACEA,MAAA,GACFA,mCAF6DA,MAAA,QAAAiI,EAAA/X,KAC3D8P,cAAA,IAAAiI,EAAAnY,MAAA,iCAQFkQ,MAAA,mBACEA,MAAA,GACFA,mCAFmDA,MAAA,QAAAkI,EAAAhY,KACjD8P,cAAA,IAAAkI,EAAAhY,IAAA,gDAxBJ8P,MAFJ,WAEIA,CAF0G,sBAE1GA,CADyE,eAC9DA,MAAA,QAAEA,QACbA,MAAA,cAOEA,MADA,oBAAAmI,GAAAnI,MAAAoI,GAAA,MAAAT,GAAA3H,QAAA,OAAAA,MAAY2H,GAAAU,uCAAAF,GAA8C,EAC1DnI,CAD2D,kBAAAA,MAAAoI,GAAA,MAAAT,EAAA3H,QAAA,OAAAA,MACnD2H,EAAAW,KAAK,YAAW,GAC5BtI,UAEEA,MADF,sBACEA,CADyE,eAC9DA,MAAA,oCAAqBA,QAChCA,MAAA,mBAAqDA,MAAA,6BAAAA,MAAAoI,GAAA,MAAAT,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,WAAU,GACrFtI,MAAA,mBACAA,MAAA,GAAAuI,GAAA,0CAIJvI,UAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,+BAAkBA,QAC7BA,MAAA,oBAA4CA,MAAA,6BAAAA,MAAAoI,GAAA,MAAAT,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,iBAAgB,GAClFtI,MAAA,oBACAA,MAAA,GAAAwI,GAAA,0CAIJxI,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,iCAAoBA,QAC/BA,MAAA,eAQEA,MAAA,kBAAAA,MAAAoI,GAAA,MAAAT,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,mBAAkB,GAErCtI,oCA1BmCA,MAAA,IAAAA,MAAA,UAAAA,MAAA,KAAA2H,EAAAc,mBASAzI,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAA2H,EAAAe,SAc7B1I,MAAA,GAAAA,MAAA,uEAMFA,MAFJ,WAEIA,CAF0G,sBAE1GA,CADuD,eAC5CA,MAAA,0BAAiBA,QAC5BA,MAAA,cAKEA,MAAA,kBAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,iBAAgB,GACjCtI,UAEEA,MADF,sBACEA,CADuD,eAC5CA,MAAA,+BAAsBA,QACjCA,MAAA,cAKEA,MAAA,kBAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,qBAAoB,GACrCtI,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,uCAAuBA,QAClCA,MAAA,eAKEA,MAAA,kBAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,sBAAqB,GACtCtI,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,mDAAmCA,QAC9CA,MAAA,eAQEA,MAAA,kBAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,8BAA6B,GAEhDtI,kBAHMA,MAAA,IAAAA,MAAA,uEAOFA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,eAC5CA,MAAA,mCAA0BA,QACrCA,MAAA,cAKEA,MAAA,kBAAAA,MAAA4I,GAAA,MAAAjB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,oBAAmB,GACpCtI,UAEEA,MADF,sBACEA,CADuD,eAC5CA,MAAA,uCAA8BA,QACzCA,MAAA,cAKEA,MAAA,kBAAAA,MAAA4I,GAAA,MAAAjB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,iBAAgB,GAEnCtI,wCAUMA,MAAA,mBACEA,MAAA,GACFA,mCAFmDA,MAAA,QAAA6I,EAAA3Y,KACjD8P,cAAA,IAAA6I,EAAA3Y,IAAA,gDAJJ8P,MAJF,sBAIEA,CADkB,eACPA,MAAA,yBAAmBA,QAC9BA,MAAA,mBAAYA,MAAA,6BAAAA,MAAA8I,GAAA,MAAAnB,EAAA3H,QAAmB2H,SAAAoB,8BAA+BpB,EAAAW,KAAK,MAAKtI,MAAA,CAAG2H,EAAA3G,KAAAgB,SAAmBgH,aAAcC,WAAa,KAAG,GAC1HjJ,MAAA,mBACAA,MAAA,EAAAkJ,GAAA,yCAIJlJ,kCAJiCA,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAAe,qCAQ7B1I,MAAA,mBACEA,MAAA,GACFA,mCAFmDA,MAAA,QAAAmJ,EAAArZ,OACjDkQ,cAAA,IAAAmJ,EAAArZ,MAAA,gDAHJkQ,MADF,sBACEA,CAD2G,eAChGA,MAAA,0BAAiBA,QAC5BA,MAAA,mBAAYA,MAAA,6BAAAA,MAAAoJ,GAAA,MAAAzB,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,oBAAmB,GACrDtI,MAAA,EAAAqJ,GAAA,yCAIJrJ,kCAJiCA,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAA2B,qCAkB7BtJ,MAAA,mBACEA,MAAA,GACFA,mCAF2DA,MAAA,QAAAuJ,GACzDvJ,cAAA,IAAAuJ,EAAA,gDAbJvJ,MADF,sBACEA,CAD2G,eAChGA,MAAA,yBAAmBA,QAC9BA,MAAA,cAMEA,MAAA,mBAAAA,MAAAwJ,GAAA,MAAA7B,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA8B,mBAAmB,gBAAe,GAN7CzJ,QAOAA,MAAA,2BAGEA,MAAA,4BAAAA,MAAAwJ,GAAA,MAAA7B,EAAA3H,QAAA,OAAAA,MAAkB2H,EAAAW,KAAK,gBAAe,GACtCtI,MAAA,EAAA0J,GAAA,sCAIJ1J,6CAVIA,MAAA,GAAAA,MAAA,kBAAA2J,GAM+B3J,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAAiC,6DAMjC5J,MADF,sBACEA,CAD2G,eAChGA,MAAA,yBAAmBA,QAC9BA,MAAA,cAKEA,MAAA,kBAAAA,MAAA6J,GAAA,MAAAlC,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,2BAA0B,GAC3CtI,sCAuFIA,MAAA,mBACEA,MAAA,GACFA,mCAFmDA,MAAA,QAAA8J,EAAA5Z,KACjD8P,cAAA,IAAA8J,EAAA5Z,IAAA,gDAuEJ8P,MADF,sBACEA,CADsH,eAC3GA,MAAA,kCAAmBA,QAC9BA,MAAA,cAKEA,MAAA,kBAAAA,MAAA+J,GAAA,MAAApC,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,cAAa,GAC9BtI,sCASIA,MAAA,mBACEA,MAAA,GACFA,mCAFmDA,MAAA,QAAAgK,EAAA9Z,KACjD8P,cAAA,IAAAgK,EAAA9Z,IAAA,gDALJ8P,MAJF,sBAIEA,CAD+D,eACpDA,MAAA,iCAAqBA,QAChCA,MAAA,mBAAYA,MAAA,6BAAAA,MAAAiK,GAAA,MAAAtC,EAAA3H,QAAmB2H,SAAAuC,6BAA4BlK,MAAA,CAAG2H,EAAA3G,KAAAgB,SAAmBmI,aAAclB,WAAa,KAAG,GAE7GjJ,MAAA,mBACAA,MAAA,EAAAoK,GAAA,yCAIJpK,kCAJiCA,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAAe,qCAmB7B1I,MAAA,mBACEA,MAAA,GACFA,mCAF2DA,MAAA,QAAAqK,GACzDrK,cAAA,IAAAqK,EAAA,gDAdJrK,MADF,sBACEA,CADsH,eAC3GA,MAAA,iCAAqBA,QAChCA,MAAA,cAMEA,MAAA,mBAAAA,MAAAsK,GAAA,MAAA3C,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA8B,mBAAmB,gBAAe,GAN7CzJ,QAQAA,MAAA,2BAGEA,MAAA,4BAAAA,MAAAsK,GAAA,MAAA3C,EAAA3H,QAAA,OAAAA,MAAkB2H,EAAAW,KAAK,gBAAe,GACtCtI,MAAA,EAAAuK,GAAA,sCAIJvK,6CAXIA,MAAA,GAAAA,MAAA,kBAAAwK,GAO+BxK,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAAiC,6DAMjC5J,MADF,sBACEA,CADsH,eAC3GA,MAAA,iCAAqBA,QAChCA,MAAA,cAKEA,MAAA,kBAAAA,MAAAyK,GAAA,MAAA9C,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,gBAAe,GAChCtI,qDAgBJA,MADF,gBACEA,CAD+D,YACvDA,MAAA,gBAAOA,QACfA,MAAA,4CAGEA,MAAA,4BAAAmI,GAAAnI,MAAA0K,GAAA,MAAA/C,GAAA3H,QAAA,OAAAA,MAAoB2H,GAAAgD,iBAAAxC,GAAwB,GAChDnI,kCAHIA,MAAA,GACAA,MADA,gBAAA2H,EAAA7H,GACAE,CADkB,0BAAA2H,EAAAiD,kDAUxB5K,MAAA,YACEA,MAAA,0GACFA,oCAScA,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,eACFA,wCAFaA,MAAA,GAAAA,MAAA6K,EAAAC,MACK9K,cAAA,0DAKhBA,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,eACFA,wCAFaA,MAAA,GAAAA,MAAA6K,EAAAC,MACK9K,QAAyFA,MAAzF,6BAAyFA,CAA3D,wDAK9CA,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,oBACEA,MAAA,mBACAA,MAAA,oBAAwBA,MAAA,SAAGA,QAC3BA,MAAA,oBAAwBA,MAAA,YAE5BA,4CANaA,MAAA,GAAAA,MAAA6K,EAAAC,MACC9K,cAAA,0DAYVA,MAAA,mBACEA,MAAA,GACFA,mCAF0DA,MAAA,QAAA+K,GACxD/K,cAAA,IAAA+K,EAAA,iCAJJ/K,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,oBACEA,MAAA,mBACAA,MAAA,EAAAgL,GAAA,qBAIJhL,0CAPaA,MAAA,GAAAA,MAAA6K,EAAAC,MACC9K,cAAA,8BAEoBA,MAAA,GAAAA,MAAA,UAAA6K,EAAAI,OAAAC,MAAA,mCAU9BlL,MAAA,mBACEA,MAAA,GACFA,mCAF0DA,MAAA,QAAAmL,GACxDnL,cAAA,IAAAmL,EAAA,iCAHJnL,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,oBACEA,MAAA,EAAAoL,GAAA,qBAIJpL,0CANaA,MAAA,GAAAA,MAAA6K,EAAAC,MACC9K,cAAA,8BACoBA,cAAA,UAAA6K,EAAAI,OAAAC,MAAA,mCAOlClL,MAAA,sBAGEA,MAAA,GACFA,yEAFEA,MADA,UAAAA,MAAA,EAAAqL,IAAA,OAAAC,EAAA3D,GAAA4D,OAAAtJ,IAAA,mBAAAqJ,IAAArJ,IAAAuJ,GAAAC,cAAA,OAAAH,IAAArJ,IAAA,kBAAAqJ,EAAApJ,WAAA,OAAAoJ,EAAA3D,GAAA4D,OAAAtJ,IAAA,mBAAAqJ,IAAArJ,IAAAuJ,GAAAC,cAAA,OAAAH,IAAArJ,IAAA,kBAAAqJ,EAAAI,UACA1L,CADwK,8BAExKA,cAAA,IAAA6K,EAAAC,KAAA,oDAjDR9K,MAAA,aAoDIA,MAlDA,EAAA2L,GAAA,wBAkDA3L,CAlDiB,EAAA4L,GAAA,wBAkDjB5L,CA5CgB,EAAA6L,GAAA,wBA4ChB7L,CAtCmB,EAAA8L,GAAA,wBAsCnB9L,CA5BoC,EAAA+L,GAAA,wBA4BpC/L,CAjBuC,EAAAgM,GAAA,uBAiBvChM,CAPkB,EAAAiM,GAAA,KAWtBjM,yCAxDyFA,MAAA,0BACvFA,cAAA,WAAAsL,EAAAT,EAAAqB,WAAO,EAAP,SAAOZ,EAAD,EAAN,YAAMA,EAAG,EAAT,6BAASA,EAAiB,EAA1B,gCAA0BA,EAC1C,EADgB,WAChBA,EADwB,iCAFZtL,MAFJ,YAEIA,CAFsE,WAEtEA,CAD+C,aAE7CA,MAAA,EAAAmM,GAAA,eA2DNnM,mCA9DMA,MAAA,YAAA2H,EAAA4D,QAGkEvL,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,kCAT5E7F,MAAA,gBAKIA,MAJF,EAAAoM,GAAA,aAIEpM,CAJS,EAAAqM,GAAA,eAqEbrM,8BArEEA,cAAA2H,EAAA7H,GAAA,iCA6EIE,MAAA,aACEA,MAAA,8BASFA,yDAV+GA,MAAA,gBAAAsM,GAM3GtM,cAAA,6BAAA2H,EAAA7H,GAAA,aACAE,MAJA,QAAAuM,EAAAC,cAAA,KAAAD,EAAAE,cAAAF,EAAAE,cAIAzM,CAJ2F,uBAI3FA,CAH0B,KAAA2H,EAAA+E,wBAAAJ,GAG1BtM,CAFiC,6CANvCA,MALJ,gBAKIA,CAL6D,YAK7DA,CADkD,aAEhDA,MAAA,EAAA2M,GAAA,eAaN3M,kCAfQA,cAAA,YAAA2H,EAAAiF,QAEqE5M,MAAA,GAAAA,MAAA,UAAA2H,EAAAkF,kEAyBzE7M,MAAA,gBAA0CA,MAAA,mBAAAA,MAAA8M,GAAA,MAAAnF,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAoF,QAAO,GAAK,GAAE/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,aAAMA,QACjGA,MAAA,gBAA0CA,MAAA,mBAAAA,MAAA8M,GAAA,MAAAnF,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAqF,WAAU,GAAEhN,MAAA,cAAUA,MAAA,WAAKA,QAAYA,MAAA,eAAQA,mDAGlGA,MAAA,gBAAwEA,MAAA,mBAAAA,MAAAiN,GAAA,MAAAtF,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAxB,KAAK,GAAE,GAAEnG,MAAA,cAAUA,MAAA,uBAAiBA,QAAYA,MAAA,iBAAOA,mDACxIA,MAAA,gBAAwEA,MAAA,mBAAAA,MAAAkN,GAAA,MAAAvF,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAoF,QAAO,GAAK,GAAE/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,aAAMA,mDAC/HA,MAAA,gBAAwEA,MAAA,mBAAAA,MAAAmN,GAAA,MAAAxF,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAqF,WAAU,GAAEhN,MAAA,cAAUA,MAAA,WAAKA,QAAYA,MAAA,eAAQA,mCAAhIA,MAFA,EAAAoN,GAAA,iBAEApN,CAF0F,EAAAqN,GAAA,iBAE1FrN,CAD+F,EAAAsN,GAAA,wCADtFtN,MAAA,UAAA2H,EAAA4F,kBACAvN,cAAA,UAAA2H,EAAA4F,kBACAvN,cAAA,UAAA2H,EAAA4F,6DAGTvN,MAAA,gBAAwEA,MAAA,mBAAAA,MAAAwN,GAAA,MAAA7F,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAxB,KAAK,GAAE,GAAEnG,MAAA,cAAUA,MAAA,uBAAiBA,QAAYA,MAAA,iBAAOA,mDACxIA,MAAA,gBAAuFA,MAAA,mBAAAA,MAAAyN,GAAA,MAAA9F,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAxB,KAAK,GAAE,GAAEnG,MAAA,cAAUA,MAAA,uBAAiBA,QAAYA,MAAA,iBAAOA,mDACvJA,MAAA,gBAAwEA,MAAA,mBAAAA,MAAA0N,GAAA,MAAA/F,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAoF,QAAO,GAAK,GAAE/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,aAAMA,mDAC/HA,MAAA,gBAAwEA,MAAA,mBAAAA,MAAA2N,GAAA,MAAAhG,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAqF,WAAU,GAAEhN,MAAA,cAAUA,MAAA,WAAKA,QAAYA,MAAA,eAAQA,mCAAhIA,MAHA,EAAA4N,GAAA,iBAGA5N,CAH0F,EAAA6N,GAAA,iBAG1F7N,CAFyG,EAAA8N,GAAA,iBAEzG9N,CAD+F,EAAA+N,GAAA,wCAFtF/N,MAAA,UAAA2H,EAAA4F,kBACAvN,cAAA,UAAA2H,EAAA4F,kBAAA5F,EAAA9B,KAAAK,QACAlG,cAAA,UAAA2H,EAAA4F,kBACAvN,cAAA,UAAA2H,EAAA4F,8CAdbvN,MAAA,aAUEA,MATA,EAAAgO,GAAA,IASAhO,CATkB,EAAAiO,GAAA,IASlBjO,CALkB,EAAAkO,GAAA,KAWpBlO,8BAfEA,cAAA,GAAA2H,EAAAwG,OAAA,MAIAnO,cAAA,GAAA2H,EAAAwG,OAAA,MAKAnO,cAAA,GAAA2H,EAAAwG,OAAA,+BAeFnO,MAAA,OAAGA,MAAA,yIAA2GA,iCAE9GA,MAAA,OAAGA,MAAA,uFAA+DA,oCALtEA,MAAA,YAAqBA,MAAA,sCAAuBA,QAC5CA,MAAA,aAGIA,MAFF,EAAAoO,GAAA,QAEEpO,CAFsC,EAAAqO,GAAA,SAK1CrO,QAEEA,MADF,YACEA,CAD0C,gBAExCA,MAAA,iBAEJA,UACAA,MAAA,8BAXEA,MAAA,GAAAA,MAAA2H,EAAAkF,sBAAA3G,OAAA,OAO0ClG,MAAA,GAAAA,MAAA,kDAQ5CA,MAAA,YAAqBA,MAAA,gCAAoBA,QAEvCA,MADF,YACEA,CADsB,OACnBA,MAAA,6EACLA,UAGIA,MAFJ,YAEIA,CAFwC,eAExCA,CADmF,cACzEA,MAAA,WAAKA,QACfA,MAAA,gBACFA,QAEEA,MADF,gBACEA,CADmE,eACzDA,MAAA,YAAKA,QACfA,MAAA,sCAEJA,iBARuDA,MAAA,GAAAA,MAAA,+BAIhBA,MAAA,GAAAA,MAAA,gCCnoBzC,MAAMsO,GAAiB,CAErB,CACEC,KAAM,aACNC,UAAWhK,GACXiK,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMC,UAAU9M,UAIlD,CACEwM,KAAM,uBACNC,UCSsC,MAApC,MAAOM,EA0FDrK,mBACAsK,oCACAxO,wBACAyO,aACAlO,MACAN,OACAyO,oBACAC,cACAC,iBACAC,YACAC,GACAC,OAnGiBC,aACEC,eAE7B9G,OAAS3W,KACT0d,QAAoB,GACpBC,mBAA+B,GAC/B9F,gBACA+F,iBAAmBje,KACnBke,aAA+C,GAC/CnH,iBAAmB3Q,KACnBwR,OAASrP,KACT4V,QAAUrhB,IACVshB,aAAe9hB,KACf+hB,kBAA4B,EAE5BC,UAAY,wBACZC,cAAgB,iBAEhBC,6BAAwC,EACxCC,gBAA4B,GAC5BvF,wBAAoC,GAEpC2C,iBAA2B,EAC3BY,OAAiB,EACjBvN,YAAqC,CACnC,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,0BAAqBC,MAAO,wBAAyBC,KAAM,cACpE,CAAEF,MAAO,2BAAsBC,MAAO,wBAAyBC,KAAM,SAGvEC,KAAO,IAAIC,KAAU,CACnBmP,YAAa,IAAIjP,MAAY,EAAIC,KAAWC,UAC5CsC,aAAc,IAAIxC,MAAY,EAAIC,KAAWC,UAC7CgP,YAAa,IAAIlP,MAAY,GAC7BwE,IAAK,IAAIxE,KAAY,KACrBmP,WAAY,IAAInP,KAAY,KAC5B2J,KAAM,IAAI3J,KAAY,GAAIC,KAAWC,UACrCkP,WAAY,IAAIpP,KAAY,GAAIC,KAAWC,UAC3C0O,iBAAkB,IAAI5O,KAAY,IAClCqP,SAAU,IAAIrP,KAAY,GAAI,CAACC,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKoQ,aAC5ES,QAAS,IAAItP,KAAY,IAAKC,KAAWC,UACzCqP,cAAe,IAAIvP,KAAY,IAAKC,KAAWC,UAC/CsP,gBAAiB,IAAIxP,KAAY,IAAKC,KAAWC,UACjDuP,cAAe,IAAIzP,KAAY,IAAKC,KAAWC,UAC/CwP,kBAAmB,IAAI1P,KAAY,IAAKC,KAAWC,UACnDyP,mBAAoB,IAAI3P,KAAY,IAAKC,KAAWC,UACpD0P,2BAA4B,IAAI5P,KAAY,IAAKC,KAAWC,UAC5D2P,iBAAkB,IAAI7P,KAAY,KAClC8P,cAAe,IAAI9P,KAAY,KAC/B+P,iBAAkB,IAAI/P,KAAY,IAClC6H,aAAc,IAAI7H,KAAY,IAAKC,KAAWC,UAC9C8P,GAAI,IAAIhQ,KAAY,KACpBiQ,cAAe,IAAIjQ,KAAY,IAAKC,KAAWC,UAC/CgQ,eAAgB,IAAIlQ,KAAY,IAAK,CAACC,KAAWC,YAAUiQ,WAC3DC,KAAM,IAAIpQ,KAAY,IAAKC,KAAWC,UACtCmQ,OAAQ,IAAIrQ,KAAY,KACxBsQ,YAAa,IAAItQ,KAAY,IAAKC,KAAWC,UAC7CqQ,YAAa,IAAIvQ,KAAY,KAC7BwQ,QAAS,IAAIxQ,KAAY,KACzByQ,QAAS,IAAIzQ,KAAY,IAAKC,KAAWC,UACzCwQ,OAAQ,IAAI1Q,KAAY,IAAK,CAACC,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKqQ,iBAC3E6B,gBAAiB,IAAI3Q,MAAY,GACjC4Q,YAAa,IAAI5Q,KAAY,IAAKC,KAAWC,UAC7C2Q,eAAgB,IAAI7Q,KAAY,IAAKC,KAAWC,UAChD4Q,oBAAqB,IAAI9Q,KAAY,KACrC+Q,eAAgB,IAAI/Q,KAAY,IAAKC,KAAWC,UAChD8Q,eAAgB,IAAIhR,KAAY,IAAKC,KAAWC,UAChD+Q,eAAgB,IAAIjR,KAAY,IAAKC,KAAWC,UAChDgR,YAAa,IAAIlR,KAAY,IAAKC,KAAWC,UAC7CiR,2BAA4B,IAAInR,KAAY,KAC5CoR,2BAA4B,IAAIpR,KAAY,KAC5CqR,uBAAwB,IAAIrR,KAAY,IAAKC,KAAWC,UACxDmB,MAAO,IAAIrB,KAAY,IAAKC,KAAWC,UACvCqC,UAAW,IAAIvC,KAAY,IAAKC,KAAWC,UAC3CoR,0BAA2B,IAAItR,KAAY,IAAKC,KAAWC,UAC3DqR,uBAAwB,IAAIvR,MAAY,GACxCgJ,aAAc,IAAIhJ,KAAY,IAAKC,KAAWC,UAC9CsR,SAAU,IAAIxR,KAAY,IAAKC,KAAWC,UAC1CuR,WAAY,IAAIzR,KAAY,IAAKC,KAAWC,UAC5CwR,cAAe,IAAI1R,KAAY,IAAKC,KAAWC,YAEjDvB,GACAgT,QACAjL,OACAD,UACAmL,oBAA8B,EAE9BtT,YACUgF,EACAsK,EACAxO,EACAyO,GACAlO,GACAN,GACAyO,GACAC,GACAC,GACAC,EACAC,GACAC,GAXA1P,KAAA6E,qBACA7E,KAAAmP,sCACAnP,KAAAW,0BACAX,KAAAoP,gBACApP,KAAAkB,SACAlB,KAAAY,UACAZ,KAAAqP,uBACArP,KAAAsP,iBACAtP,KAAAuP,oBACAvP,KAAAwP,cACAxP,KAAAyP,MACAzP,KAAA0P,QACP,CAEHnK,WACEvF,KAAKuO,OAAS,EACdvO,KAAKoB,KAAKgB,SAASqO,YAAe2C,UAAS,GAC3CpT,KAAKoB,KAAKgB,SAAS8P,gBAAmBkB,UAAS,GAC/C,QAASC,KAAKrT,KAAK+P,iBACuB,iBAA7B/P,KAAK+P,iBAAiBsD,IAC/BrT,KAAKgQ,aAAasD,KAAK,CAAEpT,GAAImT,EAAGlR,KAAMnC,KAAK+P,iBAAiBsD,KAIhErT,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKgB,YAAY,GAAK,CAAEC,MAAO,2BAAsBC,MAAO,+BAA+BlB,KAAKE,KAAMiB,KAAM,QAC5GnB,KAAKoB,KAAK6B,QACNjD,KAAKE,IACPF,KAAK6E,mBAAmB2O,eAAexT,KAAKE,IAAI4B,UAAUG,IAC5C,OAARA,GAAiBA,EAAI0C,kBAIzB3E,KAAKmT,mBAAmD,MAA9BlR,EAAIoE,uBAC1BpE,EAAIoE,wBAENrG,KAAKoB,KAAKqS,UAEZzT,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAASnR,EAAIuO,aAC/CxQ,KAAKkT,QAAUjR,EAAIuO,YAEnBxQ,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAASnR,EAAI8B,cAChD/D,KAAKiI,OAAShG,EAAI8B,aAElB/D,KAAKsQ,4BAA8BrO,EAAIqO,4BACnCtQ,KAAKsQ,6BACPtQ,KAAKmP,oCAAoCtH,4BAA4B0L,EAAOrT,IAAO4B,UAAUG,IAC3FjC,KAAKgL,wBAA0B/I,EAAIyR,IAAIC,IAAKA,GAAEC,eAAc,GAIhE5T,KAAKoB,KAAKgB,SAASqO,YAAe2C,SAASnR,EAAIwO,aAC3CxO,EAAIwO,YACNzQ,KAAKoB,KAAKgB,SAASsO,WAAc0C,SAASnR,EAAI4R,UAE9C7T,KAAKoB,KAAKgB,SAAS2D,IAAOqN,SAASnR,EAAI4R,UAEzC7T,KAAKoB,KAAKgB,SAAS8I,KAAQkI,SAASnR,EAAIiJ,MACxClL,KAAKoB,KAAKgB,SAASuO,WAAcyC,SAASnR,EAAI0O,YAC9C3Q,KAAKoB,KAAKgB,SAAS+N,iBAAoBiD,SAASnR,EAAI0O,YACpD3Q,KAAKoB,KAAKgB,SAASwO,SAAYwC,SAASnR,EAAI2O,UAC5C5Q,KAAKoB,KAAKiB,IAAI,aAAayR,cAAc,CAACtS,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKoQ,aACvFpQ,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKgB,SAASyO,QAAWuC,SAASnR,EAAI4O,SAASvK,OAAS,EAAIrE,EAAI4O,QAAQmD,cAAgB,IAC7FhU,KAAKoB,KAAKgB,SAAS0O,cAAiBsC,SAASnR,EAAI6O,eACjD9Q,KAAKoB,KAAKgB,SAAS2O,gBAAmBqC,SAASpT,KAAKwP,YAAYyE,mBAAmBhS,EAAI8O,kBACvF/Q,KAAKoB,KAAKgB,SAAS4O,cAAiBoC,SAASnR,EAAI+O,eACjDhR,KAAKoB,KAAKgB,SAAS6O,kBAAqBmC,SAASnR,EAAIgP,mBACrDjR,KAAKoB,KAAKgB,SAAS8O,mBAAsBkC,SAASnR,EAAIiP,oBACtDlR,KAAKoB,KAAKgB,SAAS+O,2BAA8BiC,SAC/CpT,KAAKwP,YAAYyE,mBAAmBhS,EAAIkP,6BAE1CnR,KAAKoB,KAAKgB,SAASgP,iBAAoBgC,SAASnR,EAAImP,kBACpDpR,KAAKoB,KAAKgB,SAASiP,cAAiB+B,SAASnR,EAAIoP,eACjDrR,KAAKoB,KAAKgB,SAASkP,iBAAoB8B,SAASnR,EAAIqP,kBACpDtR,KAAKoB,KAAKgB,SAASmP,GAAM6B,SAASnR,EAAIsP,IACtCvR,KAAKoB,KAAKgB,SAASgH,aAAgBgK,SAASnR,EAAImH,cAI9CpJ,KAAKoB,KAAKgB,SAASoP,cAAiB4B,SAHjCpT,KAAKoB,KAAKgB,SAASqO,YAAevgB,MAGQ+R,EAAIuP,cAFJ,MAI/CxR,KAAKoB,KAAKgB,SAASqP,eAAkB2B,SAASpT,KAAKwP,YAAYyE,mBAAmBhS,EAAIwP,iBACtFzR,KAAKoB,KAAKgB,SAASuP,KAAQyB,SAASnR,EAAI0P,MACxC3R,KAAKoB,KAAKgB,SAASwP,OAAUwB,SAASnR,EAAI2P,QAC1C5R,KAAKoB,KAAKgB,SAASyP,YAAeuB,SAASnR,EAAI4P,aAC/C7R,KAAKoB,KAAKgB,SAAS0P,YAAesB,SAASnR,EAAI6P,aAC/C9R,KAAKoB,KAAKgB,SAAS2P,QAAWqB,SAASnR,EAAI8P,SAC3C/R,KAAKoB,KAAKgB,SAAS4P,QAAWoB,SAASnR,EAAI+P,SAC3ChS,KAAKoB,KAAKgB,SAAS6P,OAAUmB,SAASnR,EAAIgQ,QAC1CjS,KAAKoB,KAAKgB,SAAS8P,gBAAmBkB,UAAUnR,EAAIgQ,QACpDjS,KAAKoB,KAAKgB,SAAS+P,YAAeiB,SAASnR,EAAIkQ,aAC/CnS,KAAKoB,KAAKgB,SAASgQ,eAAkBgB,SAASnR,EAAImQ,gBAClDpS,KAAKoB,KAAKgB,SAASiQ,oBAAuBe,SAASnR,EAAIoQ,qBACvDrS,KAAKoB,KAAKgB,SAASkQ,eAAkBc,SAASnR,EAAIqQ,gBAClDtS,KAAKoB,KAAKgB,SAASmQ,eAAkBa,SAASnR,EAAIsQ,gBAClDvS,KAAKoB,KAAKgB,SAASoQ,eAAkBY,SAASnR,EAAIuQ,gBAClDxS,KAAKoB,KAAKgB,SAASqQ,YAAeW,SAASnR,EAAIwQ,aAC/CzS,KAAKoB,KAAKgB,SAASsQ,2BAA8BU,SAASnR,EAAIyQ,4BAC9D1S,KAAKoB,KAAKgB,SAASuQ,2BAA8BS,SAASnR,EAAI0Q,4BAC9D3S,KAAKoB,KAAKgB,SAASwQ,uBAA0BQ,SAASnR,EAAI2Q,wBAC1D5S,KAAKoB,KAAKgB,SAASQ,MAASwQ,SAASnR,EAAIW,OACzC5C,KAAKoB,KAAKgB,SAAS0B,UAAasP,SAASnR,EAAI6B,WAC7C9D,KAAKoB,KAAKgB,SAASyQ,0BAA6BO,SAASnR,EAAI4Q,2BAC7D7S,KAAKoB,KAAKgB,SAAS2Q,SAAYK,SAASnR,EAAI8Q,UAE1C/S,KAAKoB,KAAKgB,SAAS0Q,uBAA0BM,UAD3CnR,EAAI8Q,UAKR/S,KAAKkU,+BACLlU,KAAKoB,KAAKgB,SAASmI,aAAgB6I,SAASnR,EAAIsI,cAChDvK,KAAKoB,KAAKgB,SAAS4Q,WAAcI,SAASnR,EAAI+Q,YAC9ChT,KAAKoB,KAAKgB,SAAS6Q,cAAiBG,SAASpT,KAAKwP,YAAYyE,mBAAmBhS,EAAIgR,gBACrFjT,KAAKmJ,8BACLnJ,KAAKsK,6BACLtK,KAAKmU,YACLnU,KAAKoP,aAAagF,eAAepU,KAAKkT,SAASpR,UAAUG,IACvDjC,KAAKgI,UAAY/F,IAEnBjC,KAAKqU,oBACLrU,KAAKsU,qBACLtU,KAAKuU,yBAELvU,KAAKwU,gBA9FHxU,KAAKY,OAAOsC,SAAS,CAAC,iBA8FP,EAClB,EAGP,CAEAsR,eAEExU,KAAK6E,mBAAmB4P,oBAAoBzU,KAAKE,IAAKwF,QACpDgP,MAASzS,IACPA,EAAI0S,QAAQC,IACV,IAAIC,EACJA,EAAc,IAAItT,KAAY,IAAIuT,MAAsB,CAACC,WAAY,IAACC,QAAuB,MAC7FH,EAAY3kB,MAAM+kB,eAAeL,EAAI/H,cAAe,GACpD7M,KAAKkV,iBAAiB5B,KAAKtT,KAAKyP,GAAG0F,MAAM,CACvCjV,GAAI0U,EAAI1U,GACR4H,cAAe8M,EAAIQ,cACnBC,gCAAiCT,EAAIU,gCACrCzI,cAAe+H,EAAI/H,cACnB0I,cAAeX,EAAIW,cACnBV,YAAaA,IACb,GAEG7U,KAAK6E,mBAAmB2Q,cAAcxV,KAAKkT,QAAUlT,KAAKiI,WAEnEnG,UAAUG,IACVjC,KAAKiN,sBAAwBhL,EACzBA,EAAIqE,OAAS,IACftG,KAAKuO,QAAU,GAEjBtM,EAAI0S,QAAQC,IACV,IAAIC,EACJA,EAAc,IAAItT,KAAY,IAAIuT,MAAsB,CAACC,WAAY,IAACC,QAAuB,MAC7FhV,KAAKyV,oBAAoBnC,KAAKtT,KAAKyP,GAAG0F,MAAM,CAC1CjV,GAAI0U,EAAI1U,GACRwV,cAAed,EAAIc,cACnB7I,cAAe+H,EAAI/H,cACnBD,cAAegI,EAAIhI,cACnBiI,YAAaA,KAEf7U,KAAKkV,iBAAiB9S,SAASuS,QAAQgB,KACjCf,EAAI1U,KAAOyV,GAAStT,IAAI,oCAAoCnS,OAC9D2kB,EAAYzB,SAASuC,GAAStT,IAAI,gBAAgBnS,MAAK,EAE1D,GAEC8P,KAAKmT,oBAEPnT,KAAKgN,OAAOyG,SAAO,GAIvBzT,KAAK4V,OAAOC,QACZ7V,KAAK6E,mBAAmBiR,gCAAgC9V,KAAKkT,QAAUlT,KAAKiI,OAASjI,KAAKE,IAAK4B,UAAUG,IACvGjC,KAAKiG,KAAOhE,EACRA,EAAIqE,OAAS,IACftG,KAAKuO,QAAU,GAEjBtM,EAAI0S,QAAQoB,IACV,GAAIA,EAAGC,MAAO,CACZ,MAAMC,EAAiBjW,KAAKyP,GAAG0F,MAAM,CACnCe,OAAQH,EAAGG,OACX5J,UAAWyJ,EAAGzJ,UACdpB,KAAM6K,EAAG7K,KACTG,OAAQ0K,EAAG1K,OACX8K,YAAaJ,EAAGI,YAChBH,MAAOD,EAAGC,MACVI,OAAQL,EAAGK,OACXC,SAAUrW,KAAKsW,YAAYP,KAEzBA,EAAGI,cACgB,WAAjBJ,EAAGzJ,UACL2J,EAAe5T,IAAI,aAAakU,iBAAcC,UAE9CP,EAAe5T,IAAI,aAAakU,cAAc/U,KAAWC,WAGzC,QAAhBsU,EAAGzJ,WACL2J,EAAe5T,IAAI,aAAakU,iBAAcE,UAEhDzW,KAAK4V,OAAOtC,KAAK2C,EACnB,IAEEjW,KAAKmT,oBAEPnT,KAAK2L,OAAO8H,SAAO,EAGzB,CAEQ6C,YAAYP,GAClB,OACS,IAAIxU,KADQ,gCAAjBwU,EAAGzJ,UACkByJ,EAAGM,SAAWN,EAAGM,SAAS/K,MAAM,MAAQ,GAE5C,WAAjByK,EAAGzJ,UACkC,SAAhByJ,EAAGM,SAELN,EAAGM,UAAY,GACxC,CAEA3N,KAAKvG,GACH,IAAIjS,EAAQ8P,KAAKoB,KAAKiB,IAAIF,IAAOuU,cACjC1W,KAAKqP,oBAAoBsH,IAAIxU,EAAMjS,EACrC,CAEAiZ,8BACE,MAAML,EAAS9I,KAAKoB,KAAKiB,IAAI,OAAOnS,MACpC8P,KAAK6P,QAAU7P,KAAKsP,cAAcjN,IAAIyG,GAAU,GAClD,CAEAwB,6BACE,MAAMxB,EAAS9I,KAAKoB,KAAKiB,IAAI,aAAanS,MAC1C8P,KAAK8P,mBAAqB9P,KAAKsP,cAAcjN,IAAIyG,GAAU,GAC7D,CAEAuL,oBACMrU,KAAKoB,KAAKgB,SAASqO,YAAevgB,OACpC8P,KAAKoB,KAAKgB,SAASmP,GAAM6B,SAAS,IAClCpT,KAAKoB,KAAKiB,IAAI,OAAOuU,kBACrB5W,KAAKoB,KAAKiB,IAAI,OAAO0R,yBACrB/T,KAAKoB,KAAKiB,IAAI,qBAAqByR,cAAc,CAACtS,KAAWC,WAC7DzB,KAAKoB,KAAKiB,IAAI,aAAauU,kBAC3B5W,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKgB,SAASwO,SAAYwC,SAAS,IACxCpT,KAAKoB,KAAKiB,IAAI,YAAYuU,kBAC1B5W,KAAKoB,KAAKiB,IAAI,YAAY0R,yBAC1B/T,KAAKoB,KAAKgB,SAASyO,QAAWuC,SAAS,IACvCpT,KAAKoB,KAAKiB,IAAI,kBAAkBuU,kBAChC5W,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKgB,SAAS0O,cAAiBsC,SAAS,IAC7CpT,KAAKoB,KAAKiB,IAAI,oBAAoBuU,kBAClC5W,KAAKoB,KAAKiB,IAAI,oBAAoB0R,yBAClC/T,KAAKoB,KAAKgB,SAAS2O,gBAAmBqC,SAAS,IAC/CpT,KAAKoB,KAAKiB,IAAI,kBAAkBuU,kBAChC5W,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKgB,SAAS4O,cAAiBoC,SAAS,IAC7CpT,KAAKoB,KAAKiB,IAAI,sBAAsBuU,kBACpC5W,KAAKoB,KAAKiB,IAAI,sBAAsB0R,yBACpC/T,KAAKoB,KAAKgB,SAAS6O,kBAAqBmC,SAAS,IACjDpT,KAAKoB,KAAKiB,IAAI,uBAAuBuU,kBACrC5W,KAAKoB,KAAKiB,IAAI,uBAAuB0R,yBACrC/T,KAAKoB,KAAKgB,SAAS8O,mBAAsBkC,SAAS,IAClDpT,KAAKoB,KAAKiB,IAAI,+BAA+BuU,kBAC7C5W,KAAKoB,KAAKiB,IAAI,+BAA+B0R,yBAC7C/T,KAAKoB,KAAKgB,SAAS+O,2BAA8BiC,SAAS,KAEtDpT,KAAKoB,KAAKgB,SAASmP,GAAMrhB,OAC3B8P,KAAKmJ,6BAGX,CAEA+K,+BACMlU,KAAKoB,KAAKgB,SAAS0Q,uBAA0B5iB,OAC/C8P,KAAKoB,KAAKgB,SAAS2Q,SAAYK,SAAS,IACxCpT,KAAKoB,KAAKgB,SAASmI,aAAgB6I,SAAS,IAC5CpT,KAAKoB,KAAKgB,SAAS4Q,WAAcI,SAAS,IAC1CpT,KAAKoB,KAAKiB,IAAI,aAAauU,kBAC3B5W,KAAKoB,KAAKiB,IAAI,aAAa0R,2BAE3B/T,KAAKoB,KAAKiB,IAAI,aAAayR,cAAc,CAACtS,KAAWC,WACrDzB,KAAKoB,KAAKgB,SAAS4Q,WAAcI,SAAS,UAE9C,CAEAkB,qBACMtU,KAAKoB,KAAKgB,SAAS8P,gBAAmBhiB,OACxC8P,KAAKoB,KAAKiB,IAAI,WAAWuU,kBACzB5W,KAAKoB,KAAKiB,IAAI,WAAW0R,yBACzB/T,KAAKoB,KAAKgB,SAAS6P,OAAUmB,SAAS,IACtCpT,KAAKoB,KAAKiB,IAAI,WAAWoR,YAEzBzT,KAAKoB,KAAKiB,IAAI,WAAWyR,cAAc,CAACtS,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKqQ,iBACrFrQ,KAAKoB,KAAKiB,IAAI,WAAW0R,yBACzB/T,KAAKoB,KAAKiB,IAAI,WAAWwU,SAE7B,CAEAtC,yBACMvU,KAAKoB,KAAKgB,SAAS+N,iBAAoBjgB,OACzC8P,KAAKmQ,kBAAmB,EACxBnQ,KAAKoB,KAAKiB,IAAI,eAAeyR,cAActS,KAAWC,UACtDzB,KAAKoB,KAAKiB,IAAI,eAAe0R,yBAC7B/T,KAAKoB,KAAKiB,IAAI,eAAewU,WAE7B7W,KAAKmQ,kBAAmB,EACxBnQ,KAAKoB,KAAKiB,IAAI,eAAeuU,kBAC7B5W,KAAKoB,KAAKiB,IAAI,eAAe0R,yBAC7B/T,KAAKoB,KAAKgB,SAASuO,WAAcyC,SAAS,IAC1CpT,KAAK0I,KAAK,cACV1I,KAAKoB,KAAKiB,IAAI,eAAeoR,UAEjC,CAEAU,YACEnU,KAAKuP,iBAAiB4E,UAAUnU,KAAKoB,KACvC,CAEA0V,aACE,IAAIrE,EAAczS,KAAKoB,KAAKiB,IAAI,gBAAgBnS,MAChDuiB,EAAcA,GAAasE,QAAQ,IAAK,IAAIA,QAAQ,IAAK,IACzD/W,KAAKoB,KAAKgB,SAASqQ,YAAeW,SAASX,EAC7C,CAEAuE,4BAC2C,MAArChX,KAAKoB,KAAKgB,SAASuP,KAAQzhB,QAA6D,IAA5C8P,KAAKoB,KAAKgB,SAASqO,YAAevgB,SAChF8P,KAAKoB,KAAKgB,SAASgP,iBAAoBgC,SAAS,IAChDpT,KAAKoB,KAAKgB,SAASiP,cAAiB+B,SAAS,IAEjD,CAEA6D,+BACE,UAAW9U,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,gBAGrBJ,EAAK+U,WAAW,SAChBlX,KAAKoB,KAAKiB,IAAIF,IAAOjS,OAAOoW,OAAS,IACpCtG,KAAKwP,YAAY2H,YAAYnX,KAAKoB,KAAKiB,IAAIF,IAAOjS,QAEnD8P,KAAKoB,KAAKiB,IAAIF,IAAOiV,UAAU,CAAEC,WAAW,GAGlD,CAEA9Q,KAAK+Q,GACH,GAAiB,IAAbA,EAEF,IADAtX,KAAKiX,gCACAjX,KAAKoB,KAAKqB,MAGb,OAFAzC,KAAK2N,iBAAmB,OACxB3N,KAAKW,wBAAwB+B,iBAAiB,wEAG9C1C,KAAK2N,iBAAmB2J,CAD1B,CAIF,GAAiB,IAAbA,EAEF,IADAtX,KAAKuX,gCACAvX,KAAK2L,OAAOlJ,MAGf,OAFAzC,KAAK2N,iBAAmB,OACxB3N,KAAKW,wBAAwB+B,iBAAiB,wEAG9C1C,KAAK2N,iBAAmB2J,CAD1B,CAIJ,CAEMnK,OAAOqK,GAAgB,IAAAC,EAAAzX,KAAA,SAAA0X,MAAA,YAC3B,MAAMC,EAAoBF,EAAKrW,KAAKgB,SAMpC,GALAqV,EAAKX,aACLW,EAAKT,2BACLS,EAAKR,+BACLQ,EAAKF,gCAEAE,EAAKrW,KAAKqB,QAAUgV,EAAK9L,OAAOlJ,MAGnC,OAFAgV,EAAK9J,iBAAmB8J,EAAKrW,KAAKqB,MAAQ,EAAI,OAC9CgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,GAAwCH,EAAKrW,KAAKsV,cAoBtD,GAnBAkB,GAAWC,6BAA+BJ,EAAKlH,gBAC/CqH,GAAW7G,gBAAkB0G,EAAKjI,YAAYsI,mBAAmBF,GAAW7G,iBAC5E6G,GAAWzG,2BAA6BsG,EAAKjI,YAAYsI,mBAAmBF,GAAWzG,4BACvFyG,GAAWnG,eAAiBgG,EAAKjI,YAAYsI,mBAAmBF,GAAWnG,gBAC3EmG,GAAW3E,cAAgBwE,EAAKjI,YAAYsI,mBAAmBF,GAAW3E,eAExE2E,GAAW/D,SADT+D,GAAWnH,YACSgH,EAAKrW,KAAKiB,IAAI,eAAenS,MAE7BunB,EAAKrW,KAAKiB,IAAI,QAAQnS,MAGrB,IAArB0nB,GAAWhG,SACbgG,GAAWhG,OAAS,MAGQ,IAA1BgG,GAAW9F,cACb8F,GAAW9F,YAAc,MAG2B,GAAlD8F,GAAWC,6BAA6BvR,QAAemR,EAAKnH,4BAC9DmH,EAAK9W,wBAAwB+B,iBAAiB,sFAKhD,GAAK+U,EAAKrW,KAAKgB,SAASqO,YAAevgB,OAClCunB,EAAK5H,QAAQkI,SAASJ,EAAkBvO,aAAgBsN,eAD7D,CAKA,GAAKe,EAAKrW,KAAKgB,SAAS0Q,uBAA0B5iB,OAC7CunB,EAAK3H,mBAAmBiI,SAASJ,EAAkBpN,aAAgBmM,eAIxE,OAAO,IAAIsB,QAAc,CAACC,GAASC,MACjC,IACET,EAAK5S,mBAAmBsT,wBAAwBV,EAAKvX,GAAK0X,GAAYJ,GAAS1V,UAAS,eAAAsW,MAAAV,MAAC,UAAM5W,UACvF2W,EAAKY,sBACLZ,EAAKa,+BACPd,IACFC,EAAK/H,OAAO6I,KAAKd,EAAK9H,cACtB8H,EAAKlS,YAEP0S,IACF,GAAC,gBAAAO,IAAA,OAAAJ,GAAAK,MAAAzY,KAAA0Y,UAAA,EARuF,GAS1F,OAAQC,IACNT,GAAOS,GACT,IAhBAhB,EAAkBpN,aAAgBtH,OAHpC,MAFE0U,EAAkBvO,aAAgBnG,OAsBlC,EA/DyB,EAgE7B,CAEMmK,WAAQ,IAAAwL,EAAA5Y,KAAA,SAAA0X,MAAA,YACMkB,EAAKlJ,OAAO6I,KAAKK,EAAKhJ,gBAC9BiJ,cAAc/W,UAAS,eAAAgX,KAAApB,MAAC,UAAMqB,IACvB,aAAXA,WACIH,EAAKzL,QAAO,GAClByL,EAAK/T,mBAAmBmU,kBAAkBJ,EAAK1Y,IAAK4B,UAAU,CAC5DyE,KAAM0S,KACJL,EAAKjY,wBAAwBqC,mBAAmB,4CAChD4V,EAAKhY,OAAOsC,SAAS,CAAC,yBAAwB,EAEhDgW,MAAOP,IAAOC,EAAKjY,wBAAwB+B,iBAAiBiW,GAAIO,MAAMC,WAG5E,GAAC,gBAAAC,IAAA,OAAAN,EAAAL,MAAAzY,KAAA0Y,UAAA,EAXgC,GAW/B,EAbU,EAcd,CAEAW,SACE,GAAIrZ,KAAKoB,KAAKkY,OAAStZ,KAAK2L,OAAO2N,OAAStZ,KAAKgN,OAAOsM,MAAO,CAC7D,MAAMC,EAAgB,IAAIC,KAAwB,yDAAoD,+CACpFxZ,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAEEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKY,OAAOsC,SAAS,CAAC,yBAAwB,EAGpD,MACElD,KAAKY,OAAOsC,SAAS,CAAC,yBAE1B,CAEA2G,mBAAmB8P,GAEjB3Z,KAAKgK,gBADqBhK,KAAKoB,KAAKgB,SACKuX,GAAiBC,aAAalU,QACrEmU,MAAU,KAAE,EACZnG,MAAIxjB,GACyB,iBAApBypB,EAAqC3Z,KAAK8Z,gCAAgC5pB,GAAS8P,KAAK+Z,qCAAqC7pB,IAGzI,CAEQ4pB,gCAAgCE,GACvC,OAAOha,KAAK6P,QAAQ1J,OAAO8T,GAAUA,EAAOC,UAAU,OAAOnD,QAAQ,IAAAoD,OAAA,uBAAmB,IAAIC,cAAcrC,SAASiC,GACrH,CAEAjP,iBAAiBsP,GACXA,IACFra,KAAKuQ,gBAAkB8J,EAE3B,CAEQN,qCAAqCC,GAC3C,OAAOha,KAAK8P,mBAAmB3J,OAAO8T,GAAUA,EAAOC,UAAU,OAAOnD,QAAQ,IAAAoD,OAAA,uBAAmB,IAAIC,cAAcrC,SAASiC,GAChI,CAEmBvR,uCAAyCA,MACzC6R,qBAAuBA,MAG1CtN,OAAS,IAAI3L,KAAU,CACrBoU,oBAAqB,IAAI8E,KAAU,IACnCrF,iBAAkB,IAAIqF,KAAU,MAGMC,uBAExCvN,sBAAyD,GAEzD,oBAAIiI,GACF,OAAOlV,KAAKgN,OAAO3K,IAAI,mBACzB,CAEA,uBAAIoT,GACF,OAAOzV,KAAKgN,OAAO3K,IAAI,sBACzB,CAEAyK,wBAAwB2N,GACtB,OAAOza,KAAKyV,oBAAoBrT,SAASqY,GAAGpY,IAAI,cAClD,CAEcgW,gBAAa,IAAAqC,EAAA1a,KAAA,SAAA0X,MAAA,YACzB,IACE,GAAIgD,EAAKF,wBAAwBlU,OAAQ,CACvC,MAAMqU,EAAcD,EAAKF,uBAAuBI,UAAUlH,IAAG,eAAAmH,KAAAnD,MAAC,UAAOoD,GAAgBC,IACnF,MAAMnG,GAAM8F,EAAKjF,oBAAoBrT,SAAS2Y,IACxC1F,GAAkCT,GAAIvS,IAAI,OAAOnS,MACvD4qB,GAAeE,WAAa,gBAAgBN,EAAKxa,aAAamV,KAC1DT,GAAIvS,IAAI,gBAAgBnS,MAAMkU,SAAW6W,MAAcC,oBACnDJ,GAAeK,SAEzB,GAAC,gBAAAC,GAAAC,IAAA,OAAAR,EAAApC,MAAAzY,KAAA0Y,UAAA,EAP4D,UAQvDV,QAAQsD,IAAIX,EACpB,CACF,OAAShC,GACP,OAAOX,QAAQE,OAAOS,EACxB,CAAC,EAfwB,EAgB3B,CAGA1S,KAA4C,GAC5C0F,OAAS,IAAItK,KAAU,CACrBuU,OAAQ,IAAI2E,KAAU,MAGxB,UAAI3E,GACF,OAAO5V,KAAK2L,OAAOtJ,IAAI,SACzB,CAEQiW,+BACN,OAAO,IAAIN,QAAQ,CAACC,EAASC,KAC3B,IACE,MAAMN,EAAa5X,KAAK2L,OAAOvJ,SAASwT,OAAOc,cAAchD,IAAK6H,MAChErF,OAAQqF,GAAErF,OACVE,OAAQmF,GAAEnF,OACVC,SAAUmF,MAAMC,QAAQF,GAAElF,UAAYkF,GAAElF,SAASqF,KAAK,MAAQH,GAAElF,YAElErW,KAAK6E,mBAAmB8W,gCAAgC3b,KAAKE,GAAK0X,GAAY9V,UAAU,CACtFyE,KAAMA,IAAM0R,IACZiB,MAAQP,IAAQT,EAAOS,KAE3B,OAAQA,GACNT,EAAOS,EACT,GAEJ,CAEApB,+BACE,UAAWwD,KAAS/a,KAAK2L,OAAOvJ,SAASwT,OAAOxT,SAC1CpC,KAAK2L,OAAOvJ,SAASwT,OAAOvT,IAAI0Y,IAAQzY,SAC1CtC,KAAK2L,OAAOvJ,SAASwT,OAAOvT,IAAI0Y,IAAQa,kBAG9C,4CAvpBW1M,GAA6B9O,MAAAC,MAAAD,MAAA+C,IAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAAyb,MAAAzb,MAAA0b,MAAA1b,MAAA2b,MAAA3b,MAAA4b,MAAA5b,MAAA6b,MAAA7b,MAAA8b,MAAA9b,MAAA+b,OAAA,+BAA7BjN,EAA6B5L,UAAA,iCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,u0QF/B1CvD,MAAA,wBACAA,MAAA,gBACEA,MAAA,EAAAgc,GAAA,0BACFhc,QAIAA,MAHA,EAAAic,GAAA,YAGAjc,CAHqG,EAAAkc,GAAA,aASjGlc,MAFJ,eAEIA,CAF4B,qBAE5BA,CADgB,qBAC+CA,MAAA,+BAAAmI,IAAAnI,aAAAmc,IAAAnc,MAAAwD,EAAA+J,iBAAApF,MAAA3E,EAAA+J,iBAAApF,IAAAnI,MAAAmI,GAAA,GAKrDnI,MAJR,eAIQA,CAJ4B,YAI5BA,CAH4C,YAG5CA,CAF6C,iBAE7CA,CADsB,aACdA,MAAA,qBAAcA,QAEpBA,MADF,YACEA,CADuC,aASrCA,MAPA,GAAAoc,GAAA,wBAOApc,CAJsD,GAAAqc,GAAA,yBAYpDrc,MADF,uBACEA,CADuD,gBAC5CA,MAAA,2CAA8BA,QACzCA,MAAA,eAAkEA,MAAA,kBAAAA,aAAAmc,IAAAnc,MAAQwD,EAAA8E,KAAK,QAAO,GAE1FtI,YAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADyE,0BAKvEA,MAAA,oBAAAA,aAAAmc,IAAU3Y,EAAA2Q,yBAAwBnU,MAAEwD,EAAA8E,KAAK,oBAAmB,GAC5DtI,MAAA,eAAOA,MAAA,QAAGA,MAAA,kBAAWA,QAAIA,MAAA,SACzBA,MAAA,eAEJA,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eAKEA,MAAA,kBAAAA,aAAAmc,IAAAnc,MAAQwD,EAAA8E,KAAK,cAAa,GAEhCtI,YACAA,MAAA,GAAAsc,GAAA,cASItc,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,yBAAkBA,QAC7BA,MAAA,eAQEA,MAAA,kBAAAA,aAAAmc,IAAAnc,MAAQwD,EAAA8E,KAAK,kBAAiB,GAClCtI,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,WAAIA,QACfA,MAAA,oBAAmCA,MAAA,6BAAAA,aAAAmc,IAAAnc,MAAmBwD,EAAA8E,KAAK,QAAO,GAChEtI,MAAA,oBACAA,MAAA,oBAAsBA,MAAA,eAAQA,QAC9BA,MAAA,oBAAsBA,MAAA,gBAE1BA,YAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,gBAAMA,QACjBA,MAAA,oBAAqCA,MAAA,6BAAAA,aAAAmc,IAAAnc,MAAmBwD,EAAA8E,KAAK,UAAS,GACpEtI,MAAA,oBACAA,MAAA,GAAAuc,GAAA,0CAIJvc,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,mBAAYA,QACvBA,MAAA,oBAA0CA,MAAA,6BAAAA,aAAAmc,IAAAnc,MAAmBwD,EAAA8E,KAAK,eAAc,GAC9EtI,MAAA,oBACAA,MAAA,GAAAwc,GAAA,qBAIJxc,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,oCAA0BA,QACrCA,MAAA,oBAA0CA,MAAA,6BAAAA,aAAAmc,IAAAnc,MAAmBwD,EAAA8E,KAAK,eAAc,GAC9EtI,MAAA,oBACAA,MAAA,GAAAyc,GAAA,0CAKNzc,YAqFAA,MApFA,GAAA0c,GAAA,cAoFA1c,CApF8G,GAAA2c,GAAA,cAoF9G3c,CAzC8G,GAAA4c,GAAA,cA+D9G5c,MAAA,aAuCEA,MAtCA,GAAA6c,GAAA,wBAsCA7c,CAnCoB,GAAA8c,GAAA,wBAmCpB9c,CA1B6G,GAAA+c,GAAA,wBA0B7G/c,CAlB6G,GAAAgd,GAAA,yBA4B3Ghd,MADF,uBACEA,CADuD,gBAC5CA,MAAA,oBAAaA,QACxBA,MAAA,eAMEA,MAAA,kBAAAA,aAAAmc,IAAAnc,MAAQwD,EAAA8E,KAAK,iBAAgB,GAEnCtI,YAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,qBAAWA,QACtBA,MAAA,eAAwEA,MAAA,kBAAAA,aAAAmc,IAAAnc,MAAQwD,EAAA8E,KAAK,WAAU,GACjGtI,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eAAwEA,MAAA,kBAAAA,aAAAmc,IAAAnc,MAAQwD,EAAA8E,KAAK,WAAU,GAEnGtI,YAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,2CAA2BA,MAAA,QAAGA,MAAA,0BAAoBA,UAC7DA,MAAA,eAMEA,MADA,kBAAAA,aAAAmc,IAAAnc,MAAQwD,EAAA8E,KAAK,UAAS,EACtBtI,CADuB,oBAAAmI,IAAAnI,aAAAmc,IAAAnc,MACXwD,EAAA0W,qBAAA/R,IAA4B,GAC5CnI,UAEEA,MADF,uBACEA,CADyE,0BAKvEA,MAAA,oBAAAA,aAAAmc,IAAU3Y,EAAA0Q,qBAAoBlU,MAAEwD,EAAA8E,KAAK,mBAAkB,GACvDtI,MAAA,sBAAWA,MAAA,SAAGA,MAAA,2BAChBA,UACAA,MAAA,gBAIRA,cAGEA,MADF,kBACEA,CADsB,cACdA,MAAA,6BAAkBA,QAIpBA,MAHN,aAGMA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADyE,iBAC9DA,MAAA,WAAGA,QACdA,MAAA,gBAKEA,MAAA,kBAAAA,aAAAmc,IAAQ3Y,EAAAuQ,YAAW/T,MAAEwD,EAAA8E,KAAK,eAAc,GAC5CtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,kBAAUA,QACrBA,MAAA,gBACFA,QAEEA,MADF,wBACEA,CADyE,iBAC9DA,MAAA,iBAAMA,QACjBA,MAAA,gBAEJA,UAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADyE,iBAC9DA,MAAA,mBAAWA,QACtBA,MAAA,gBAKEA,MAAA,kBAAAA,aAAAmc,IAAAnc,MAAQwD,EAAA8E,KAAK,uBAAsB,GACvCtI,UAEEA,MADF,wBACEA,CADyE,iBAC9DA,MAAA,cAAMA,QACjBA,MAAA,gBACFA,QAEEA,MADF,wBACEA,CADyE,iBAC9DA,MAAA,cAAMA,QACjBA,MAAA,qBACEA,MAAA,qBACAA,MAAA,IAAAid,GAAA,2CAIJjd,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,cAAMA,QACjBA,MAAA,gBAEJA,UAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,wBAAgBA,QAC3BA,MAAA,gBAKFA,QAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,4BAAoBA,QAC/BA,MAAA,gBAKFA,QAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,4BAAoBA,QAC/BA,MAAA,gBAMJA,UAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,uBAAeA,QAC1BA,MAAA,gBAIRA,cAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,uBAASA,QAIXA,MAHN,aAGMA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,wCAA0BA,QACrCA,MAAA,gBACFA,QAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,iCAAmBA,QAC9BA,MAAA,gBAMJA,UAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADyE,2BAIvEA,MAAA,oBAAAA,aAAAmc,IAAU3Y,EAAAsQ,+BAA8B9T,MAAEwD,EAAA8E,KAAK,0BAAyB,GACxEtI,MAAA,wCACFA,QACAA,MAAA,gBACFA,QA0CAA,MAzCA,IAAAkd,GAAA,wBAyCAld,CAzCwH,IAAAmd,GAAA,wBAyCxHnd,CA7BiE,IAAAod,GAAA,wBA6BjEpd,CAnBwH,IAAAqd,GAAA,yBA6BtHrd,MADF,wBACEA,CADyE,iBAC9DA,MAAA,4BAAiBA,QAC5BA,MAAA,gBAWRA,cACAA,MAAA,IAAAsd,GAAA,mBASNtd,YA0EAA,MAxEA,IAAAud,GAAA,iBAwEAvd,CAxE6D,IAAAwd,GAAA,kBA8FnExd,YAIMA,MAHN,kBAGMA,CAHmD,uBAGnDA,CAFc,aAEdA,CADgB,iBACwBA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,EAAAyV,SAAQ,GACvDjZ,MAAA,gBAAUA,MAAA,aAAKA,QAAYA,MAAA,gBAC7BA,QACAA,MAAA,IAAAyd,GAAA,cAmBNzd,YAmBAA,MAjBA,IAAA0d,GAAA,yBAAA1d,MAiBAA,CAjB2B,IAAA2d,GAAA,0BAAA3d,aAjnBTA,MAAA,SAAAwD,EAAA5C,aAEGZ,MAAA,GAAAA,MAAA,OAAAwD,EAAAoE,WAEf5H,cAAA,QAAAwD,EAAAuP,oBAGA/S,cAAA,OAAAwD,EAAAuP,oBAM6D/S,MAAA,GAAAA,MAAA,gBAAAwD,EAAA+J,kBAErDvN,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MASOhB,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAOAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OA8B6BkQ,MAAA,IAAAA,MAAA,OAAAwD,EAAAuM,kBAiB5B/P,MAAA,GAAAA,MAAA,4BAe+BA,MAAA,IAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAAqM,UASF7P,MAAA,GAAAA,MAAA,UAAAwD,EAAAoM,cASO5P,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAAsM,eAMiB9P,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OA2CAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAyC3DkQ,cAAA,MAAAwD,EAAAxC,KAAAgB,SAAAuP,KAAAzhB,QAAA,IAAA0T,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,MAAA,OAyBKkQ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAUuDkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAQAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAkBAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAgBtDkQ,MAAA,GAAAA,MAAA,gBAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OA+E6BkQ,MAAA,IAAAA,MAAA,UAAAA,MAAA,OAAAwD,EAAAkF,SAuCsC1I,MAAA,IAAAA,MAAA,YAgCbA,MAAA,IAAAA,MAAA,YAAAwD,EAAAxC,KAAAgB,SAAA0Q,uBAAA5iB,OAYvDkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAA0Q,uBAAA5iB,OAUuDkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAA0Q,uBAAA5iB,OAmBAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAA0Q,uBAAA5iB,OAkBtDkQ,MAAA,GAAAA,MAAA,4BAKeA,cAAA,OAAAwD,EAAA0M,6BAWWlQ,cAAA,OAAAwD,EAAAqC,KAAAK,QAwEblG,cAAA,OAAAwD,EAAAqJ,sBAAA3G,QA6BLlG,MAAA,GAAAA,MAAA,QAAAwD,EAAAuP,mpDE7jBjBjE,CAA6B,KDRtCL,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMC,UAAU9M,UAsBlD,CACEwM,KAAM,gBACNC,UAAWnO,EACXoO,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMC,UAAU9M,WAS7C,IAAM6b,GAAsB,MAA7B,MAAOA,+CAAsB,8BAAtBA,qCAHDC,KAAaC,SAASxP,IACtBuP,eAECD,CAAsB,0CEY5B,IAAMG,GAAe,MAAtB,MAAOA,+CAAe,8BAAfA,sCAFA,IAACC,SAAiBC,QAAA,CA/B3BC,KACAN,GACAO,MACAN,KACAO,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAL,KACAM,KACAC,KACAC,MACAC,KACAC,KAGAC,KACAC,MACAC,MACAC,MACAC,KAEAC,KACAC,eAIS1B,CAAe,0LCvExB/d,MADF,qBACEA,CAD8F,eACnFA,MAAA,oBAAQA,QACnBA,MAAA,kBACEA,MAAA,kBACAA,MAAA,kBAA+BA,MAAA,mBAAUA,QACzCA,MAAA,kBAA6BA,MAAA,cAEjCA,mCAOEA,MAAA,UAAkDA,MAAA,6BAAoBA,+BACtEA,MAAA,UAAkDA,MAAA,0BAAiBA,SCWhE,IAAM0f,EAA+B,MAAtC,MAAOA,EAkBDC,wBACApf,wBAjBD+U,cAAwB,EACxBxC,QAAkB,EAClBjL,OAAiB,EACjB+X,KAAe,GACfC,aAAuB,GACvBC,QAECta,YAAc,IAAIua,MAE5B/e,KAAO,IAAIC,KAAU,CACnB+e,SAAU,IAAI7e,KAAY,GAAIC,KAAWC,UACzC4e,SAAU,IAAI9e,KAAY,GAAIC,KAAWC,YAE3CvB,GAEAL,YACUkgB,GACApf,IADAX,KAAA+f,2BACA/f,KAAAW,0BACP,CAEH4E,WACEvF,KAAKsgB,kBACP,CAEAA,mBACEtgB,KAAKoB,KAAK6B,QACVjD,KAAKoB,KAAKgB,SAASie,SAASjN,SAAS,IACrCpT,KAAKoB,KAAKgB,SAASge,SAAShN,SACJ,gBAAtBpT,KAAKigB,aACH,WACA,IAEJ9vB,OAAOyB,KAAKoO,KAAKoB,KAAKgB,UAAUuS,QAAQrkB,KACtC0P,KAAKoB,KAAKiB,IAAI/R,KAAM8mB,UAAU,KAAI,EAEtC,CAEAlV,8BACE,UAAWC,MAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,KAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,KAAOI,eAG3B,CAEA4K,SAEMnN,KAAKkgB,SAAiC,SAAtBlgB,KAAKigB,aACvBjgB,KAAKkgB,UAAUpe,UAAWye,KACpBA,IACFvgB,KAAKoN,UAAQ,GAIjBpN,KAAKoN,UAET,CAEAA,WAEE,GADApN,KAAKkC,+BACAlC,KAAKoB,KAAKqB,OAASzC,KAAKoB,KAAKgB,SAASie,SAAS3J,eAAe8J,OAAOla,OAAU,EAElF,YADAtG,KAAKW,wBAAwB+B,iBAAiB,wEAGhD,IAAIkV,GAA+B,CACjCwI,SAAUpgB,KAAKoB,KAAKgB,SAASge,SAAS1J,cACtC2J,SAAUrgB,KAAKoB,KAAKgB,SAASie,SAAS3J,eAExC1W,KAAK+f,wBAAwB5S,OAAOyK,GAAY5X,KAAK0V,cAAe1V,KAAKggB,MAAMle,UAAU2e,KACvFzgB,KAAKW,wBAAwBqC,mBAAmB,qCAChDhD,KAAK4F,YAAY8a,MAAK,GACtB1gB,KAAKsgB,kBAAgB,EAEzB,8CA3EWR,GAA+B1f,MAAAC,KAAAD,MAAA+C,MAAA,+BAA/B2c,EAA+Bxc,UAAA,mCAAAqd,OAAA,CAAAjL,cAAA,gBAAAxC,QAAA,UAAAjL,OAAA,SAAA+X,KAAA,OAAAC,aAAA,eAAAC,QAAA,WAAAU,QAAA,CAAAhb,YAAA,eAAAib,YAAA,EAAAC,SAAA,CAAA1gB,OAAAmD,MAAA,GAAAC,KAAA,EAAAC,OAAA,iYAAAC,SAAA,SAAAC,GAAAC,GAAA,EAAAD,KD3B5CvD,MAAA,YACEA,MAAA,EAAA2gB,EAAA,wBASE3gB,MADF,qBACEA,CADuD,eAC5CA,MAAA,cAAQA,QACnBA,MAAA,gBACFA,QACAA,MAAA,cAA0CA,MAAA,0BAASwD,EAAAuJ,QAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAEdA,MADA,EAAA4gB,EAAA,aACA5gB,CADkD,GAAA6gB,EAAA,cAGtD7gB,kBAlBMA,MAAA,YAAAwD,EAAAxC,MACsDhB,cAAA,uBAAAwD,EAAAqc,cAcjD7f,MAAA,GAAAA,MAAA,uBAAAwD,EAAAqc,cACA7f,cAAA,uBAAAwD,EAAAqc,8BCDP3B,KAAYlb,KACZob,KACAM,KAAmBzb,8BACnBwb,KAAehD,UAAAC,KAAAC,KACfiD,KAAchD,KACdyC,KAAexC,KACf2C,KAAa1C,eAMJ4D,CAA+B,oOCxBxC1f,MADF,UACEA,CADoE,oCAKlEA,MAAA,uBAAAmI,IAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAe2H,EAAAnC,YAAA2C,IAAmB,GAGtCnI,kCANIA,QAIAA,MAJA,gBAAA2H,EAAA2N,cAIAtV,CAJ+B,OAAA2H,EAAAiY,KAI/B5f,CAHa,eAAA2H,EAAAkY,aAGb7f,CAF6B,UAAA2H,EAAAmY,UCsB5B,IAAMgB,EAA+B,MAAtC,MAAOA,EAgBDnB,wBACAoB,uBAfDzL,cAAwB,EACxBsK,KAAe,GACfC,aAAuB,GACvBC,QAECkB,OAAS,IAAIjB,MAESkB,OAChCC,YAEAC,iBAAmB,IAAIvc,KAAyB,GAChDwc,oBAAsB,IAAIxc,KAAyB,GAEnDnF,YACUkgB,EACAoB,IADAnhB,KAAA+f,0BACA/f,KAAAmhB,0BAERnhB,KAAKshB,YAAc,CACjBG,QAAS,CACPC,SAAU,CAAEC,MAAO,cAAeC,KAAM,mBACxCxB,SAAU,CAAEuB,MAAO,kBACnB7c,QAAS,CAAE6c,MAAO,kBAClBtB,SAAU,CAAEsB,MAAO,aAErBlc,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BC,SAAUC,IAAK/hB,KAAK+f,wBACjBiC,OAAOD,GAAG/hB,KAAK0V,cAAe1V,KAAKggB,KAAM,IACzCta,QAAKgO,KAAIgG,IACR1Z,KAAKuhB,iBAAiBhb,KAAKmT,EAAIpU,cAAgB,GACxCoU,KAGf,CAEAnU,WACEvF,KAAKiiB,aACP,CAEArc,YAAY1V,GACNA,IACF8P,KAAKqhB,OAAOa,gBACZliB,KAAKiiB,cACLjiB,KAAKohB,OAAOV,MAAK,GAErB,CAEAuB,eAC4B,gBAAtBjiB,KAAKigB,cAAwD,WAAtBjgB,KAAKigB,cAAmD,UAAtBjgB,KAAKigB,cAAkD,SAAtBjgB,KAAKigB,eACjHjgB,KAAK+f,wBAAwBoC,2BAA2BniB,KAAK0V,cAAe1V,KAAKggB,KAAMhgB,KAAKigB,cAAcne,UAAUmE,IAClHjG,KAAKwhB,oBAAoBjb,KAAKN,EAAI,EAGxC,CAEAmc,sCACE,OAAOpiB,KAAKggB,MACV,IAAK,kBACL,IAAK,yBAEH,YADAhgB,KAAKmhB,uBAAuBkB,4BAA4BriB,KAAK0V,cAAe1V,KAAKggB,KAAKjJ,QAAQ,UAAU,KAE1G,IAAK,gBAEH,YADA/W,KAAKmhB,uBAAuBmB,yCAAyCtiB,KAAK0V,eAE5E,IAAK,uBAEH,YADA1V,KAAKmhB,uBAAuBoB,0BAA0BviB,KAAK0V,eAGjE,8CAvEWwL,GAA+B9gB,MAAAC,KAAAD,MAAA+C,KAAA,+BAA/B+d,EAA+B5d,UAAA,mCAAAoD,UAAA,SAAA/C,GAAAC,OAAA,EAAAD,UAS/B6e,KAAmB,qgBDrChCpiB,MAAA,kDACEA,MAAA,YAAQA,MAAA,gBAAOA,QACfA,MAAA,EAAAqiB,EAAA,8BASAriB,MAAA,4BACEA,MAAA,cAA0CA,MAAA,0BAASwD,GAAAwe,qCAAqC,GACtFhiB,MAAA,eAAUA,MAAA,oBAAaA,QACvBA,MAAA,sCACFA,QACAA,MAAA,oBAEJA,kBAlBUA,MAAA,UAAAA,MAAA,GAAAqH,EAAArH,MAAA,IAAAwD,GAAA2d,mBAAAnhB,MAAA,IAAAwD,GAAA4d,qBAAA,iBAEFphB,MAAA,GAAAA,MAAA,OAAAA,MAAA,IAAAwD,GAAA4d,sBASDphB,MAAA,GAAAA,MAAA,UAAAA,MAAA,GAAAqH,EAAArH,MAAA,KAAAwD,GAAA2d,kBAAA,iBAKUnhB,MAAA,GAAAA,MAAA,mBAAAwD,GAAA0d,6BCAbhD,KAAYlb,eACZqb,KAAepb,KACfub,KAAa/C,KACbiD,KACAE,KACAL,KAAgB7C,KAChBgE,cAMSoB,CAA+B,wICpBrC,IAAMwB,EAAqB,MAA5B,MAAOA,UAA6BjjB,KACxCI,YAAYC,EAAyCJ,GACnDK,MAAMD,EAAMJ,EACd,CAEAijB,OAAOhU,EAAciU,GACnB,OAAO5iB,KAAK6iB,OAAiBlU,EAAMiU,EACrC,4CAPWF,GAAoBtiB,MAAAC,MAAAD,MACO,eAAa,iCADxCsiB,EAAoBpiB,QAApBoiB,EAAoBniB,UAAAC,WAFnB,gBAEDkiB,CAAqB,yLCShCtiB,MAAA,gBAAoBA,MAAA,mBAAAA,MAAA0iB,GAAA,MAAAC,EAAA3iB,QAAA,OAAAA,MAAS2iB,EAAAC,WAAU,GACnC5iB,MAAA,gBACJA,iDACAA,MAAA,gBAA2DA,MAAA,mBAAAA,MAAAiE,GAAAjE,QAAA,MAAA6iB,EAAA7iB,MAAA,UAAAA,MAAS6iB,EAAAC,QAAiB,GACnF9iB,MAAA,GACFA,gCAFoBA,MAAA,UAAAA,MAAA,EAAA+iB,EAAAJ,EAAAK,WAClBhjB,cAAA,QAAA2iB,EAAAhN,GAAA7lB,MAAAkU,OAAA,8BCXG,IAAK6W,GAAZ,SAAYA,GACVA,WAAAoI,MAAA,WACApI,IAAAqI,SAAA,cACArI,IAAAC,YAAA,iBACAD,IAAAsI,QAAA,aACAtI,IAAAuI,MAAA,WACAvI,IAAAwI,KAAA,UANUxI,CAOZ,CAPA,CAAYA,IAAa,IASnB,MAAOnG,GACX3S,KAAe,GACfuhB,KACAC,KAAe,EACfvf,OAAwB6W,GAAcoI,MACtCT,KAAoB,KAEpB3N,eAAe9S,EAAcwhB,GACtBxhB,IAGLnC,KAAKmC,KAAOA,EACZnC,KAAK0jB,KAAOvhB,EAAKmJ,MAAM,IAAK,GAAG,GAC/BtL,KAAK2jB,KAAOA,EACZ3jB,KAAK4iB,KAAO,KACZ5iB,KAAKoE,OAAS6W,GAAcuI,MAC9B,CAEAI,QAAQhB,GACM,MAARA,IAGJ5iB,KAAK4iB,KAAOA,EACZ5iB,KAAK2jB,KAAOf,EAAKe,KACjB3jB,KAAKmC,KAAOygB,EAAKzgB,KACjBnC,KAAKoE,OAAS6W,GAAcC,YAC9B,CAEA2I,aACE7jB,KAAK4iB,KAAO,KACZ5iB,KAAK2jB,KAAO,EACZ3jB,KAAKmC,KAAO,IACRnC,KAAKoE,SAAW6W,GAAcC,aAEvBlb,KAAKoE,SAAW6W,GAAcuI,SADvCxjB,KAAKoE,OAAS6W,GAAcoI,MAIhC,CAEAxX,WACE,OAAO7L,KAAKmC,IACd,EAGI,SAAU6S,EAAuBvT,GACrC,OAAQqiB,IACN,MAAMC,EAAUD,EAAQ5zB,MACxB,IAAK6zB,EACH,OAAO,KAET,GAAItiB,GAAYsiB,EAAQ3f,QAAU6W,GAAcoI,MAC9C,MAAO,CAAE5hB,UAAU,GAErB,OAAQsiB,EAAQ3f,QACd,KAAK6W,GAAcwI,KACjB,MAAO,CAAEO,cAAc,GACzB,KAAK/I,GAAcoI,MACnB,KAAKpI,GAAcuI,MACnB,KAAKvI,GAAcsI,QACnB,KAAKtI,GAAcC,YACjB,OAAO,KACT,QACE,MAAO,CAAE+I,WAAW,GACxB,CAEJ,CAOO,IAAMC,GAAsB,MAA7B,MAAOA,EAgBDC,qBACAC,gBACAzjB,wBACD+O,OAlBAqG,GAAsC,IAAIxU,KAC1CN,MAAgB,UAEhBojB,IAAc,GACdC,OAAiB,IACjBC,YAAsB,EACtBC,mBAA6B,EAC7BxJ,WACAyJ,WACeC,UAExBtB,UAAoB,EACpB3hB,UAAoB,EAEpB5B,YACUskB,EACAC,EACAzjB,EACD+O,IAHC1P,KAAAmkB,uBACAnkB,KAAAokB,kBACApkB,KAAAW,0BACDX,KAAA0P,SACN,CAEHnK,WACMvF,KAAK+V,GAAGqN,WACVpjB,KAAKojB,UAAW,GAElBpjB,KAAK+V,GAAG4O,yBAA0BC,GAAyB5kB,KAAKojB,SAAWwB,GAC3E,MAAMC,EAAY7kB,KAAK+V,GAAG8O,UAAY7kB,KAAK+V,GAAG8O,UAAU,IAAyB,KAC7EA,GAAaA,EAAUpjB,WACzBzB,KAAKyB,UAAW,EAEpB,CAEA0Z,SACE,OACEnb,KAAK+V,GAAG7lB,MAAM0yB,MACd5iB,KAAK+V,GAAG7lB,MAAMkU,QAAU6W,GAAcC,oBAC/Blb,KAAKgb,WAAc,IAEnBhb,KAAK8kB,eAEP,IACT,CAEcA,eAAY,IAAArN,EAAAzX,KAAA,SAAA0X,KAAA,YACxB,IAAIqN,EAAW,IAAIC,SACnB,GAAIvN,EAAKgN,WACP,QAAUn0B,GAAKJ,MAAUunB,EAAKgN,WAC5BM,EAASE,OAAO30B,GAAKJ,IAGzB60B,EAASE,OAAO,UAAWxN,EAAK1B,GAAG7lB,MAAM0yB,MACzCnL,EAAK1B,GAAG7lB,MAAMkU,OAAS6W,GAAcqI,SACrC,IAAI4B,EAAU,IAAIlN,QAA6B,CAACC,GAASC,MACvDT,EAAK0M,qBAAqBxB,OAAOlL,EAAKuD,WAAa+J,GAAUjjB,UAAU,CACrEyE,KAAOH,KACLjW,OAAOg1B,OAAO1N,EAAK1B,GAAG7lB,MAAO,CAC3BkU,OAAQ6W,GAAcsI,QACtBphB,KAAMiE,GAAEgf,YACR1B,KAAMtd,GAAEsd,KACRC,KAAMvd,GAAEud,OAENvd,GAAE4U,aACJvD,EAAKuD,WAAa5U,GAAE4U,YAEtBvD,EAAK1B,GAAG3C,SAASqE,EAAK1B,GAAG7lB,OACzB+nB,GAAQ7R,GAAC,EAEX8S,MAAOP,KACLlB,EAAK1B,GAAG7lB,MAAMkU,OAAS6W,GAAcwI,KACrChM,EAAK1B,GAAG3C,SAASqE,EAAK1B,GAAG7lB,OACrByoB,cAAe0M,KAGf5N,EAAK9W,wBAAwB+B,iBAFb,KAAdiW,GAAIvU,OACiEuU,GAAIO,MACxBoM,gBAEnD3M,GAAIO,MAAMC,QACwCR,GAAIO,MAAMC,QACVR,GAAIQ,UAGxDoM,QAAQrM,MAAMP,IACdT,KAAM,GAGX,GAGH,aADgBgN,CACR,EA5CgB,EA6C1B,CAEAM,iBAAiBC,GAGf,MAAM7C,GAFS6C,EAAEC,OACIC,MACFC,KAAK,GACxB,GAAY,MAARhD,GAGJ,IAAmB,KAAf5iB,KAAKskB,SAAkBtkB,KAAKskB,OAAOhZ,MAAM,KAAKyM,SAAS6K,GAAKhB,MAE9D,YADA5hB,KAAKW,wBAAwB+B,iBAAiB,qCAAqC1C,KAAKskB,UAG1F,GAAI1B,GAAKe,KAAO,IAGd,OAFA3jB,KAAK6V,aACL7V,KAAKW,wBAAwB+B,iBAAiB,mDAGhD1C,KAAK+V,GAAG7lB,MAAM0zB,QAAQhB,IACtB5iB,KAAK+V,GAAG3C,SAASpT,KAAK+V,GAAG7lB,OACzB8P,KAAK+V,GAAG8P,cACJ7lB,KAAKukB,YAAcvkB,KAAK+V,GAAG7lB,MAAMkU,QAAU6W,GAAcC,oBAAsBlb,KAAKgb,WAAc,KACpGhb,KAAK8kB,cAAY,CAErB,CAEQjP,QACF7V,KAAK0kB,YACP1kB,KAAK0kB,UAAUoB,cAAc51B,MAAQ,IAEvC8P,KAAK+V,GAAG7lB,MAAM2zB,aACd7jB,KAAK+V,GAAG3C,SAASpT,KAAK+V,GAAG7lB,MAC3B,CAEA61B,oBACE,GAAI/lB,KAAK+V,GAAG7lB,MAAMkU,QAAU6W,GAAcoI,MACxCrjB,KAAK0kB,WAAWoB,cAAc5C,aAAK,GAC1BljB,KAAK+V,GAAG7lB,MAAMkU,QAAU6W,GAAcsI,SAAWvjB,KAAK+V,GAAG7lB,MAAMkU,QAAU6W,GAAcuI,MAAO,CACvG,IAAKxjB,KAAKgb,WACR,OAEEhb,KAAKwkB,kBACPxkB,KAAKgmB,qBAELhmB,KAAKokB,gBAAgB6B,gBAAgBjmB,KAAKgb,WAAYhb,KAAKkmB,WAE/D,CACF,CAEQA,WACN,OAA0B,MAAtBlmB,KAAK+V,GAAG7lB,MAAM0yB,MAAgB5iB,KAAK+V,GAAG7lB,MAAMwzB,KACvC1jB,KAAK+V,GAAG7lB,MAAMiS,KAEdnC,KAAK+V,GAAG7lB,MAAMwzB,KAAO,IAAM1jB,KAAK+V,GAAG7lB,MAAMiS,KAAKmJ,MAAM,KAAK6a,KAEpE,CAEQH,qBACNhmB,KAAKokB,gBAAgBgC,wBAAwBpmB,KAAKgb,WAAahb,KAAKkmB,YAAYpkB,UAAUukB,GACxFrmB,KAAK0P,OAAO6I,KAAK+N,IAA8B,CAC7CrgB,KAAM,CAAEsgB,gBAAiBvmB,KAAKiB,MAAOulB,aAAcH,GACnDI,MAAO,MACPC,OAAQ,QAGd,CAEA1D,WACE,GAAIhjB,KAAK+V,GAAG7lB,MAAMkU,QAAU6W,GAAcsI,SAAWvjB,KAAK+V,GAAG7lB,MAAMkU,QAAU6W,GAAcuI,MAAO,CAChG,IAAKxjB,KAAKgb,WAAY,OAClBhb,KAAKwkB,kBAAmBxkB,KAAKgmB,qBAC5BhmB,KAAKokB,gBAAgB6B,gBAAgBjmB,KAAKgb,WAAYhb,KAAKkmB,WAClE,CACF,4CAlKWhC,GAAsB9jB,MAAAC,GAAAD,MAAA+C,KAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAA,+BAAtB6gB,EAAsB5gB,UAAA,yBAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,4qBD3FnCvD,MAAA,eAGEA,MAAA,kBAAAmI,IAAAnI,aAAAmc,IAAAnc,MAAUwD,EAAA4hB,iBAAAjd,IAAwB,GAHpCnI,QASEA,MADF,qBACEA,CAD8D,eACnDA,MAAA,GAAWA,QACtBA,MAAA,aACAA,MAAA,WAEEA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,EAAAmiB,oBAAmB,GAGzB3lB,QAILA,MAHA,EAAAumB,EAAA,iBAGAvmB,CAHyH,EAAAwmB,EAAA,kBAMzHxmB,MAAA,cAAUA,MAAA,uBAOZA,gBAxBEA,MADA,SAAAwD,EAAA0gB,OACAlkB,CADiB,WAAAwD,EAAAwf,UAINhjB,MAAA,GAAAA,MAAAwD,EAAA3C,OACKb,cAAA,cAAAwD,EAAAmS,IAId3V,cAAA,UAAAA,MAAA,GAAAymB,GAAAjjB,EAAAwf,UAAA,IAAAxf,EAAAmS,GAAA7lB,MAAAkU,QAAA,IAAAR,EAAAmS,GAAA7lB,MAAAkU,QAAA,IAAAR,EAAAmS,GAAA7lB,MAAAkU,SAGwChE,cAAA,WAAAwD,EAAAmS,GAAA7lB,MAAAkU,QAAA,IAAAR,EAAAmS,GAAA7lB,MAAAkU,QAAA,IAAAR,EAAAmS,GAAA7lB,MAAAkU,QAG8ChE,cAAA,QAAAwD,EAAAwf,UAG9EhjB,MAAA,GAAAA,MAAA,IAAAwD,EAAAmS,GAAA7lB,MAAAkU,OAAAR,EAAAygB,IAAAzgB,EAAAmS,GAAA7lB,MAAAyzB,KAAA,yBAAAvjB,MAAA,KAAAwD,EAAAmS,GAAA7lB,MAAAyzB,aAAA,uxCCoECO,CAAsB,wGC9E5B,IAAMvE,EAAmB,MAA1B,MAAOA,+CAAmB,8BAAnBA,qCAHDrB,KAAcQ,KAAqBC,KAAoBC,KAAgBJ,eAGtEe,CAAmB,sICEzB,IAAM2G,EAA4B,MAAnC,MAAOA,EAKFQ,UACyB7gB,KACxB8gB,SACAC,eAPWC,OACrBC,SAEArnB,YACSinB,EACyB7gB,EACxB8gB,EACAC,GAHDhnB,KAAA8mB,YACyB9mB,KAAAiG,OACxBjG,KAAA+mB,WACA/mB,KAAAgnB,iBAERhnB,KAAKknB,SAAWlnB,KAAK+mB,SAASI,SAAWnnB,KAAK+mB,SAASK,KAAOpnB,KAAKqnB,oBACrE,CAEAA,qBAGE,OAAOC,OAAOC,WAAaC,GAC7B,CAEAhiB,kBACMxF,KAAKknB,SACPlnB,KAAKgjB,WAEDhjB,KAAKinB,SACPjnB,KAAKinB,OAAOnB,cAAc2B,IAAMznB,KAAKiG,KAAKugB,aAGhD,CAEAxD,WAEE,IAAI0E,EAAeC,SAASC,cAAc,KAC1CF,EAAaG,aAAa,WAAY7nB,KAAKiG,KAAKsgB,gBAAgBuB,OAAO,SACvEJ,EAAaK,KAAO/nB,KAAKiG,KAAKugB,aAC9BmB,SAASK,KAAKC,YAAYP,GAC1BA,EAAaxE,QACbwE,EAAaQ,SAEbloB,KAAKgnB,eAAehkB,mBAAmB,mDAEvChD,KAAK8mB,UAAUqB,OACjB,CAEA9O,SACErZ,KAAK8mB,UAAUqB,OACjB,4CA7CW7B,GAA4BlmB,MAAAC,MAAAD,MAM7BgoB,MAAehoB,MAAA+C,MAAA/C,MAAAgD,MAAA,+BANdkjB,EAA4BhjB,UAAA,gCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,qUCfzCvD,MAAA,QAAIA,MAAA,GAA0BA,QAC9BA,MAAA,gBAEEA,MADF,UACEA,CADyF,cACjDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAyV,SAAQ,GACvDjZ,MAAA,cAAUA,MAAA,WAAKA,QACfA,MAAA,cAEJA,gBAPIA,cAAAwD,EAAAqC,KAAAsgB,oEDeSD,CAA4B,iEELlC,IAAM1G,EAAkB,MAAzB,MAAOA,EACF5X,UACAC,kDAFE2X,EAAkB,+BAAlBA,EAAkBtc,UAAA,oBAAAqd,OAAA,CAAA3Y,UAAA,YAAAC,OAAA,UAAA4Y,YAAA,EAAAC,SAAA,CAAA1gB,OAAAmD,MAAA,EAAAC,KAAA,EAAAC,OAAA,yHAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICR1BvD,MAFL,UAEKA,CAFyF,eAEzFA,CAD+B,sBACbA,MAAA,GAEpBA,mBAFoBA,MAAA,GAAAA,MAAA,GAAAwD,EAAAoE,UAAA,MAAApE,EAAAqE,OAAA,qCDKXogB,KAAgBC,MAAOC,OAAA,yIAGtB3I,CAAkB,yXEAzBxf,MAAA,WAAsDA,MAAA,gBAAUA,mCAChEA,MAAA,WAA2DA,MAAA,GAAwBA,kCAAxBA,cAAA4D,EAAAwkB,wCAG3DpoB,MAAA,WAAsDA,MAAA,WAAKA,mCAC3DA,MAAA,WAAsDA,MAAA,GAAeA,kCAAfA,cAAA+D,EAAAskB,8BAGtDroB,MAAA,WAAsDA,MAAA,eAAMA,kCAC5DA,MAAA,WAAuDA,MAAA,GAAoBA,kCAApBA,cAAAsoB,EAAAC,oCAFzDvoB,MAAA,MAEEA,MADA,EAAAwoB,EAAA,WACAxoB,CADsD,EAAAyoB,EAAA,6CAItDzoB,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAAuBA,kCAAvBA,cAAAkE,EAAAwkB,sCAGpD1oB,MAAA,WAAsDA,MAAA,cAAQA,+BAG1DA,MAAA,sCAEAA,MAAA,wCAAAA,MAAA,YAAA2oB,EAAAC,EAAAC,0BAAAC,IAAAH,IAAA,oCAJJ3oB,MAAA,WAGIA,MAFF,EAAA+oB,GAAA,IAEE/oB,CAFiC,EAAAgpB,GAAA,KAKrChpB,kCALEA,cAAA,GAAA4oB,EAAAC,mBAAA,4BAQF7oB,MAAA,oDAGIA,MAFJ,UAEIA,CAF+B,WAE/BA,CAD2F,eACnEA,MAAA,yBAAAipB,EAAAjpB,MAAAkpB,GAAA/kB,UAAAglB,EAAAnpB,QAAA,OAAAA,MAASmpB,EAAAC,WAAAH,EAAAnpB,IAAkB,GACjDE,MAAA,cAAUA,MAAA,cAGhBA,qCAEFA,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WC3BG,IAAMqpB,GAA+B,MAAtC,MAAOA,EAmBuBlW,OACzBuT,UACC4C,wBACAra,oBACAsa,qBAtBiC1kB,UACvBC,KAEpBC,YACAC,WAAyD,IAAIC,KAC7DC,cAAwB,EAEDskB,SAESvI,OAChCwI,YAAsB,yDACtB3W,QACAjL,OACAD,UACA8hB,YACAC,wBAEAlqB,YACkC0T,EACzBuT,EACC4C,EACAra,EACAsa,IAJwB3pB,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAA0pB,0BACA1pB,KAAAqP,sBACArP,KAAA2pB,uBACP,CAEHpkB,WACEvF,KAAK0pB,wBAAwBM,aAAahqB,KAAKuT,OAAOL,QAASlT,KAAKuT,OAAOtL,QAAQnG,UAAUG,IAC3FjC,KAAK+pB,wBAA0B9nB,EAE7BjC,KAAKmF,YADHlD,EACiB,CAAC,iBAAkB,QAAS,aAAc,gBAAiB,qBAAsB,UAEjF,CAAC,iBAAkB,QAAS,gBAAiB,qBAAsB,SAAQ,EAGpG,CAEAuD,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAChEooB,KAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,KAAa,MAAG,EAChBhkB,KAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YACH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAK4F,aAAW,EACf,GACH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK0pB,wBACFY,sCACCtqB,KAAKuT,OAAOL,QACZlT,KAAKuT,OAAOtL,OACZjI,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAEnD/nB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAK4F,aACP,CAEA4jB,WAAWtpB,GACTF,KAAK0pB,wBAAwBiB,8BAA8BzqB,GAAI4B,UAAUG,IACvEjC,KAAK8mB,UAAUqB,MAAMlmB,EAAG,EAE5B,CAEA2oB,WACE5qB,KAAK8mB,UAAUqB,OACjB,CAEA0C,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAC7D,CAEmB/2B,kBAAoBA,gDA3G5B01B,GAA+BrpB,MAmBhCgoB,MAAehoB,MAAAC,MAAAD,MAAA+C,KAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAA,+BAnBdomB,EAA+BnmB,UAAA,2CAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC/BgD,KAAY,SACZC,KAAO,oBAQP4b,KAAmB,26DDhChCpiB,MAAA,UAAqBA,MAAA,0BAAoBA,QAGrCA,MAFJ,UAEIA,CAFoB,qBAEpBA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QAEAA,MAAA,cAAmDA,MAAA,yBAAAmI,IAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,IAAgB,GAClFnI,MAAA,MAEEA,MADA,GAAA2qB,GAAA,WACA3qB,CADsD,GAAA4qB,GAAA,oBAGxD5qB,MAAA,OAEEA,MADA,GAAA6qB,GAAA,WACA7qB,CADsD,GAAA8qB,GAAA,qBAGxD9qB,MAAA,GAAA+qB,GAAA,uBAIA/qB,MAAA,OAEEA,MADA,GAAAgrB,GAAA,WACAhrB,CADsD,GAAAirB,GAAA,qBAGxDjrB,MAAA,OAEEA,MADA,GAAAkrB,EAAA,WACAlrB,CADsD,GAAAmrB,GAAA,qBASxDnrB,MAAA,OAEEA,MADA,GAAAorB,GAAA,WACAprB,CADsD,GAAAqrB,GAAA,qBAWxDrrB,MAFA,GAAAsrB,GAAA,YAEAtrB,CAFkD,GAAAurB,GAAA,YAElDvrB,CADuD,GAAAwrB,GAAA,aAIzDxrB,QACAA,MAAA,uBAKFA,QAIMA,MAHN,iBAGMA,CAHmD,sBAGnDA,CAFc,YAEdA,CADyF,gBACjDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAgnB,WAAU,GAAExqB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,gBAG9FA,oBAvDmBA,MAAA,IAAAA,MAAA,aAAAwD,EAAAwB,YAS0BhF,MAAA,GAAAA,MAAA,OAAAwD,EAAAmmB,yBA4BrB3pB,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,EAAAymB,uLC/BN4C,CAA+B,+DCLrC,IAAMoC,GAAmC,MAA1C,MAAOA,UAA2CpsB,KAQnBC,YACzBsnB,eACArf,oBARDhI,MAAQ,kCACjBC,OACAksB,QAEAjsB,YACEC,EACiCJ,EACzBsnB,EACArf,GAER5H,MAAMD,EAAMJ,GAJqBM,KAAAN,cACzBM,KAAAgnB,iBACAhnB,KAAA2H,sBAGR3H,KAAKJ,OAASE,EACdE,KAAK8rB,QAAUpsB,EAAYqsB,UAC5B,CAEA/J,OACCgK,EACApC,EACAxJ,GAEA,MAAM7M,EAAS,IAAI0Y,MAAW,CAC5BC,WAAYF,IAEb/G,OAAO,WAAY2E,GAAsB,IACzC3E,OAAO,WAAY7E,GAAsB,IAC1C,OAAOpgB,KAAKmsB,gBAA6BnsB,KAAKL,MAAO4T,GAAQ7N,QAC3D0mB,MAAWzT,KAST3Y,KAAKgnB,eAAeqF,wBAAwB,CARI,CAC9ClT,QAAS,8BACTyI,KAAM0K,KAAqBC,OAEe,CAC1CpT,QAAS,SAASR,GAAIvU,WAAWuU,GAAIO,UACrC0I,KAAM0K,KAAqBC,UAEyD,EAC/EC,WAGb,CAEAC,gBAAgB7C,EAAkBxJ,GAChC,IAAIsM,EAAU,IAAIC,MAClBD,EAAUA,EAAQ/V,IAAI,SAAU,YAChC3W,KAAKJ,OACFyC,IAAS,GAAGrC,KAAK8rB,oDAAqD,CACrEY,QAASA,EACTE,aAAc,OACdC,QAAS,WACTtZ,QAAQ,IAAI0Y,OAAatV,IAAI,WAAYiT,GAAUjT,IAAI,WAAYyJ,KAEpE1a,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAU4X,IACT,IAAI2M,GAAMiB,OAAOyF,IAAIC,gBAAgBtT,EAAIsO,MACrCN,GAAeC,SAASC,cAAc,KAC1CF,GAAaK,KAAO1B,GACpBqB,GAAa1E,SAAW,6BACxB0E,GAAaxE,QACboE,OAAOyF,IAAIE,gBAAgB5G,IAC3BqB,GAAaQ,QAAM,EAEzB,4CA/DW2D,GAAkCzrB,MAAAC,OAAAD,MAQnC,eAAaA,MAAA+C,MAAA/C,MAAAgD,KAAA,iCARZyoB,EAAkCvrB,QAAlCurB,EAAkCtrB,UAAAC,WAFjC,gBAEDqrB,CAAmC,wJCExCzrB,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA4D,EAAA1T,KACnD8P,cAAA,IAAA4D,EAAA9T,MAAA,6BASNkQ,MAAA,WAAsDA,MAAA,OAACA,mCACvDA,MAAA,WAAkDA,MAAA,GAAYA,kCAAZA,cAAA+D,EAAAjE,4BAGlDE,MAAA,WAAsDA,MAAA,aAAOA,mCAC7DA,MAAA,WAAwDA,MAAA,GAAgBA,kCAAhBA,cAAAsoB,EAAAwE,gCAGxD9sB,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAkE,EAAA4G,8BAGrD9K,MAAA,WAAsDA,MAAA,kBAAMA,mCAC5DA,MAAA,WAAuDA,MAAA,GAAgBA,kCAAhBA,cAAA4oB,EAAA/gB,gCAGvD7H,MAAA,WAAsDA,MAAA,iBAAWA,mCACjEA,MAAA,WAA4DA,MAAA,GAAyBA,kCAAzBA,cAAA+sB,EAAAC,yCAG5DhtB,MAAA,WAAsDA,MAAA,kBAAYA,mCAClEA,MAAA,WAA6DA,MAAA,mBAAgDA,kCAAhDA,oBAAA,IAAAipB,EAAAgE,iBAAA,uCAG7DjtB,MAAA,WAAsDA,MAAA,gBAAUA,mCAChEA,MAAA,WAA2DA,MAAA,mBAA8CA,kCAA9CA,oBAAA,IAAAktB,EAAAC,eAAA,uCAG3DntB,MAAA,WAAsDA,MAAA,oBAAQA,mCAC9DA,MAAA,WAAwEA,MAAA,GAAkBA,kCAAlBA,cAAAotB,EAAApN,iCAGxEhgB,MAAA,oDAIMA,MAHN,UAGMA,CAH6B,WAG7BA,CAFyF,cAEzFA,CAD8E,cACpEA,MAAA,eACZA,UAEEA,MADF,oBACEA,CADwB,eACFA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAA5sB,MAAA2sB,EAAAva,QAAAua,EAAAxlB,QAA8B,GAC3D7H,MAAA,cAAUA,MAAA,YAAMA,QAChBA,MAAA,eACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAC,kBAAAF,EAAAva,QAAAua,EAAAxlB,QAA0C,GACvE7H,MAAA,eAAUA,MAAA,oBAAaA,QACvBA,MAAA,oBACFA,QACAA,MAAA,gBAEEA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAE,YAAAH,EAAAva,QAAAua,EAAAxlB,QAAoC,GAE7C7H,MAAA,eAAUA,MAAA,WAAIA,QACdA,MAAA,uBACFA,QACAA,MAAA,gBAEEA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAG,SAAAJ,EAAAva,QAAAua,EAAAxlB,QAAiC,GAE1C7H,MAAA,eAAUA,MAAA,WAAIA,QACdA,MAAA,6BACFA,QACAA,MAAA,gBAEEA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAI,oBAAAL,EAAAva,QAAAua,EAAAxlB,QAA4C,GAErD7H,MAAA,eAAUA,MAAA,qBAAcA,QACxBA,MAAA,4CAIRA,uCAnC0CA,MAAA,GAAAA,MAAA,oBAAA2tB,0BAqC5C3tB,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACEA,MAAA,yCACpCA,WCjFK,IAAM4tB,GAA4B,MAAnC,MAAOA,EAiCDC,kCACArtB,OACA8O,OACAL,oBACA3O,iBACAwtB,+BArCiCjpB,UACvBC,KAEpBC,YAAwB,CACtB,KACA,SACA,OACA,SACA,kBACA,mBACA,iBACA,WACA,UAEFC,WAA8C,IAAIC,KAClDC,cAAwB,EAEftE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,qBAAsBC,MAAO,0BAA2BC,KAAM,WAGlDyoB,SACMuE,eAC7BC,0BAAoC,GACpCvE,YAAsB,+BACtBwE,oBAA8B,+CAC9BC,UAAY/9B,KACZg+B,iBAA6B,GAC7BC,mBAEA3uB,YACUouB,EACArtB,EACA8O,EACAL,EACA3O,GACAwtB,IALAluB,KAAAiuB,oCACAjuB,KAAAY,SACAZ,KAAA0P,SACA1P,KAAAqP,sBACArP,KAAAU,oBACAV,KAAAkuB,iCAEV,CAEA1oB,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,KAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,KAAa,MAAG,EAChBhkB,KAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKyuB,wCACjCzuB,KAAK4F,aAAW,EACf,EACL,CAEAykB,SAASnlB,GACPlF,KAAK4F,aACP,CAEQ6oB,wCAEN,OADYzuB,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,EAExE,CAEAzoB,cACE5F,KAAKiuB,kCACFjM,OACChiB,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKyuB,yCAEN3sB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,cAC1BtF,KAAKuuB,iBAAmB,GACxBvuB,KAAKoF,WAAWa,KAAK0O,QAAQ+Z,IAC3B1uB,KAAKuuB,iBAAiBjb,KAAKob,EAAEtO,SAAQ,EACtC,EAEP,CAEQpa,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAK4F,aACP,CAEA+oB,WACE3uB,KAAKiuB,kCAAkCxB,gBACrCzsB,KAAK4pB,UAAU9D,cAAc51B,MAC7B8P,KAAKmuB,gBAAgBj+B,MAEzB,CAEA4Q,MAAMoS,EAAiBjL,GACrBjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,YAC3D,CAEA0lB,kBAAkBza,EAAiBjL,GACjCjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,wBAC3D,CAEA2lB,YAAY1a,EAAiBjL,GACTjI,KAAK0P,OAAO6I,KAAKkR,GAAiC,CAClExjB,KAAM,CAAEiN,UAASjL,UACjB2mB,WAAY,sBAEJ/V,cAAc/W,UAAW4X,IAC7BA,GACF1Z,KAAKY,OAAOsC,SAAS,CAAC,sBAAsBgQ,KAAWjL,KAAUyR,EAAIxZ,MAAK,EAGhF,CAEA2tB,SAAS3a,EAAiBjL,GACxBjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,oBAC3D,CAEA6lB,oBAAoB5a,EAAiBjL,GACnC,MAAM4mB,EAAgB7uB,KAAK8uB,wBAC3B9uB,KAAKkuB,+BAA+Ba,iCAClC7b,EACAjL,EACA4mB,EAAe9oB,IACf8oB,EAAeG,YAEnB,CAEQF,wBACN,OAAA9uB,KAAKU,iBAAiBmB,MAAMC,UAAUC,IAChCA,IACF/B,KAAKwuB,mBAAqBzsB,KAIvB/B,KAAKwuB,kBACd,4CA/JWR,GAA4B5tB,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAA0b,MAAA,+BAA5BkS,EAA4B1qB,UAAA,gCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC5BgD,KAAY,SACZC,KAAO,8/FD1BpBxG,MAAA,wBAGIA,MAFJ,UAEIA,CAF4B,UAE5BA,CAD6G,cACnEA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QAAWA,MAAA,eAGxCA,YAIMA,MAHN,UAGMA,CAH2C,UAG3CA,CAFsD,qBAEtDA,CADyE,kBACrDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,sBAAYA,MAAA,uBAAAmI,IAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,MAAA3E,EAAAwqB,0BAAA7lB,IAAAnI,MAAAmI,GAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,oBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAA6uB,GAAA,0CAMR7uB,cAEAA,MAAA,eAAmDA,MAAA,yBAAAmI,IAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,IAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAA8uB,GAAA,YACA9uB,CADsD,GAAA+uB,GAAA,qBAGxD/uB,MAAA,OAEEA,MADA,GAAAgvB,GAAA,YACAhvB,CADsD,GAAAivB,GAAA,qBAGxDjvB,MAAA,OAEEA,MADA,GAAAkvB,GAAA,YACAlvB,CADsD,GAAAmvB,GAAA,qBAGxDnvB,MAAA,OAEEA,MADA,GAAAovB,GAAA,YACApvB,CADsD,GAAAqvB,GAAA,qBAGxDrvB,MAAA,OAEEA,MADA,GAAAsvB,GAAA,YACAtvB,CADsD,GAAAuvB,GAAA,qBAGxDvvB,MAAA,OAEEA,MADA,GAAAwvB,GAAA,YACAxvB,CADsD,GAAAyvB,GAAA,qBAGxDzvB,MAAA,OAEEA,MADA,GAAA0vB,GAAA,YACA1vB,CADsD,GAAA2vB,GAAA,qBAGxD3vB,MAAA,OAEEA,MADA,GAAA4vB,GAAA,YACA5vB,CADsD,GAAA6vB,GAAA,qBAGxD7vB,MAAA,OAEEA,MADA,GAAA8vB,GAAA,YACA9vB,CADsC,GAAA+vB,GAAA,sBA0CxC/vB,MAFA,GAAAgwB,GAAA,YAEAhwB,CAFkD,GAAAiwB,GAAA,YAElDjwB,CADuD,GAAAkwB,GAAA,aAIzDlwB,QACAA,MAAA,6BA3GkBA,MAAA,SAAAwD,EAAA5C,aAGiDZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAwB,WAAAa,KAAAK,QAcjDlG,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAA0qB,YAQnBluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YA0EKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAA+iB,oNCrFJ6K,CAA4B,0FCjBjC5tB,MAAA,mBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAAmwB,EAAArwB,IACjDE,cAAA,IAAAmwB,EAAA/H,eAAA,MCOH,IAAMgI,GAA4B,MAAnC,MAAOA,EAkBDC,6BACA/G,wBACAta,aACAzO,wBACAO,MArBVgS,QACAjL,OACAD,UACA0oB,YAAkC,GAElCtvB,KAAO,IAAIC,MAAU,CACnBsvB,aAAc,IAAIpvB,MAAY,GAAIC,MAAWC,UAC7CwE,KAAM,IAAI1E,MAAY,IAAIqvB,KAAQpvB,MAAWC,YAG/CT,YAAqC,CACnC,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,qBAAsBC,MAAO,0BAA2BC,KAAM,UACvE,CAAEF,MAAO,uBAAqBC,MAAO,GAAIC,KAAM,SAGjDtB,YACU4wB,EACA/G,EACAta,EACAzO,EACAO,IAJAlB,KAAAywB,+BACAzwB,KAAA0pB,0BACA1pB,KAAAoP,eACApP,KAAAW,0BACAX,KAAAkB,SAERlB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CAAEC,MAAO,uBAAqBC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,wBAAyB9G,KAAM,QACxInB,KAAKoP,aAAayhB,SAAS7wB,KAAKkT,SAASpR,UAAUG,KACjDjC,KAAKgI,UAAY/F,GAAIiJ,OAEvBlL,KAAK0pB,wBAAwBoH,2BAA2B9wB,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KAC3FjC,KAAK0wB,YAAczuB,IACpB,EAEL,CAEAC,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEAwuB,QAEE,GADA/wB,KAAKkC,+BACAlC,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAGhD,IAAIiuB,EAAuB3wB,KAAKoB,KAAKiB,IAAI,iBAAiBqU,cACtDzQ,EAAajG,KAAKoB,KAAKiB,IAAI,SAASqU,cACxC1W,KAAKywB,6BAA6BO,8CAA8ChxB,KAAKkT,QAASlT,KAAKiI,OAAQ0oB,EAAc1qB,EAC3H,4CAtDWuqB,GAA4BpwB,MAAAC,MAAAD,MAAA+C,KAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAA,+BAA5B2U,EAA4BltB,UAAA,gCAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,6yBAAAC,SAAA,SAAAC,EAAAC,GAAA,KAAAD,EAAA,iBDdzCvD,MADA,uBACAA,CAD4D,qBAKtDA,MAHN,WAGMA,CAHqC,UAGrCA,CAF+C,qBAE/CA,CADyE,eAC9DA,MAAA,gBAAUA,QACrBA,MAAA,kBACEA,MAAA,EAAA6wB,GAAA,oBAIJ7wB,UAEEA,MADF,qBACEA,CADyE,gBAC9DA,MAAA,WAAIA,QAGfA,MAFA,aAEAA,CAF+E,8BAE/EA,CAD4E,4BAE9EA,QAEEA,MADF,YACEA,CAD4B,gBACmCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAmtB,QAAO,GAC7E3wB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAInCA,cAQMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAGtCA,sCAnCkBA,MAAA,SAAAwD,EAAA5C,aACHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QACnC7H,cAAA,YAAAwD,EAAAxC,MAKqChB,MAAA,GAAAA,MAAA,UAAAwD,EAAA8sB,aAOZtwB,MAAA,GAAAA,MAAA,gBAAA8wB,GACQ9wB,cAAA,MAAA8wB,kLCA1BV,CAA4B,+ECV/BpwB,MAAA,UAEHA,MAAA,GAAwBA,8BAAxBA,cAAA,cAAA+wB,EAAAC,WAAA,4BAYHhxB,MAAA,WAAsCA,MAAA,SAAGA,mCACzCA,MAAA,WAAoDA,MAAA,GAAaA,kCAAbA,cAAA4D,EAAA+B,6BAGpD3F,MAAA,WAAsCA,MAAA,WAAKA,mCAC3CA,MAAA,WAAsDA,MAAA,GAAmBA,kCAAnBA,cAAA+D,EAAAktB,mCAGtDjxB,MAAA,WAAsCA,MAAA,oBAAQA,mCAC9CA,MAAA,WAAyDA,MAAA,GAAgBA,kCAAhBA,cAAAsoB,EAAAtkB,gCAGzDhE,MAAA,WAAiEA,MAAA,UAAIA,kDAGjEA,MAFJ,UAEIA,CAFgE,QAEhEA,CAD0B,cAGxBA,MAAA,yBAAAmI,GAAA,MAAAygB,EAAA5oB,MAAAkxB,GAAA/sB,UAAAnE,aAAA4oB,EAAAuI,KAAAhpB,KAAAygB,EAAAuI,KAAAhpB,GAAAnI,MAAAmI,EAAA,GAKAnI,MAAA,gBAAAmI,GAAA,MAAAipB,EAAApxB,MAAAkxB,GAAAvW,MAAAoW,GAAA/wB,QAAA,OAAAA,MAAQ+wB,GAAAM,SAAAlpB,EAAAipB,GAAmB,GAEjCpxB,4DAVOA,cAAA+wB,EAAAO,UAAAF,IAGDpxB,cAAA,UAAA4oB,EAAAuI,MAEAnxB,MAAA,oDAQNA,MAAA,WAAiEA,MAAA,uBAAcA,kDAG3EA,MAFJ,UAEIA,CAF0E,QAE1EA,CADgC,cAG9BA,MAAA,yBAAAmI,GAAA,MAAA+kB,EAAAltB,MAAAuxB,GAAAptB,UAAAnE,aAAAktB,EAAAsE,WAAArpB,KAAA+kB,EAAAsE,WAAArpB,GAAAnI,MAAAmI,EAAA,GAKAnI,MAAA,gBAAAmI,GAAA,MAAAspB,EAAAzxB,MAAAuxB,GAAA5W,MAAAoW,GAAA/wB,QAAA,OAAAA,MAAQ+wB,GAAAW,eAAAvpB,EAAAspB,GAAyB,GAEvCzxB,4DAVOA,cAAA+wB,EAAAY,gBAAAF,IAGDzxB,cAAA,UAAAktB,EAAAsE,YACAxxB,MAAA,oDASNA,MAAA,WAAiEA,MAAA,cAAQA,mCAInEA,MAAA,mBACEA,MAAA,GACFA,kCAF0DA,MAAA,QAAA4xB,EAAA9hC,OACxDkQ,cAAA,IAAA4xB,EAAA9hC,MAAA,+CAFJkQ,MAFJ,UAEIA,CAF+E,WAE/EA,CAD0B,mBACdA,MAAA,yBAAAmI,GAAA,MAAAklB,EAAArtB,MAAA8I,GAAA3E,UAAAnE,aAAAqtB,EAAAwE,SAAA1pB,KAAAklB,EAAAwE,SAAA1pB,GAAAnI,MAAAmI,EAAA,GACVnI,MAAA,EAAA8xB,GAAA,yCAKN9xB,kDANgBA,MAAA,GAAAA,MAAA,UAAAqtB,EAAAwE,UACuB7xB,cAAA,UAAAA,MAAA,IAAA+wB,EAAAgB,mCAOzC/xB,MAAA,iCACAA,MAAA,kCAGIA,MAFJ,UAEIA,CAF8B,UAE9BA,CAD+B,UACzBA,MAAA,mCAEVA,sDAWEA,MAAA,eAA0CA,MAAA,mBAAAA,MAAAgyB,GAAA,MAAAjB,EAAA/wB,QAAA,OAAAA,MAAS+wB,EAAAhkB,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,cAC5BA,SC3EG,IAAMiyB,GAAgC,MAAvC,MAAOA,EAuBDC,uBACA5I,wBACA/oB,wBACAO,MACAN,OACA2xB,mBA3BVptB,YAAwB,CAAC,MAAO,YAAa,SAAU,OAAQ,aAAc,YAC7EC,WAAkD,IAAIC,KAEtD6N,QACAjL,OACA0oB,aACA3oB,UACAopB,WACAoB,eACAd,UAAsB,GACtBK,gBAA4B,GAC5BI,UAAYhjC,KAEZ07B,YAAsB,EAEtB7pB,YAAqC,CACnC,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,qBAAsBC,MAAO,0BAA2BC,KAAM,UACvE,CAAEF,MAAO,iBAAkBC,MAAO,GAAIC,KAAM,UAG9CtB,YACUyyB,EACA5I,EACA/oB,EACAO,EACAN,GACA2xB,IALAvyB,KAAAsyB,yBACAtyB,KAAA0pB,0BACA1pB,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,UACAZ,KAAAuyB,sBAERvyB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAK2wB,aAAepd,GAAOod,aAC3B3wB,KAAKgB,YAAY,GAAK,CAAEC,MAAO,iBAAkBC,MAAO,uBAAuBlB,KAAKkT,WAAWlT,KAAKiI,UAAUjI,KAAK2wB,eAAgBxvB,KAAM,SACzInB,KAAK0pB,wBAAwBiB,8BAA8B3qB,KAAK2wB,cAAc7uB,UAAUmE,KACtFjG,KAAKgI,UAAY/B,GAAKnC,UACtB9D,KAAKwyB,eAAiBvsB,GAAKuiB,eAC3BxoB,KAAKoxB,WAAanrB,GAAKwsB,QACxB,EAEL,CAEAltB,WACEvF,KAAKsyB,uBACFxB,2BAA2B9wB,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAK2wB,cAC3D7uB,UAAWmE,IACV,UAAWysB,KAAWzsB,EACpBysB,EAAQnB,KAAuB,MAAhBmB,EAAQnB,KAAemB,EAAQnB,KAAK1lB,WAAW8mB,WAAW,IAAK,KAAO,GACrF3yB,KAAK0xB,UAAUpe,KAAK,mBACpBtT,KAAK+xB,gBAAgBze,KAAK,mBAE5BtT,KAAKoF,WAAa,IAAIC,KAAmBY,EAAI,EAEnD,CAEAkH,SACE,IAAIylB,EAAgB,EACpB5yB,KAAK0xB,UAAU/c,QAAQ4G,IACX,uBAANA,IACFqX,GAAS,KAGb5yB,KAAK+xB,gBAAgBpd,QAAQke,IACjB,uBAANA,IACFD,GAAS,KAcTA,EACF5yB,KAAKW,wBAAwB+B,iBAAiB,wEAIhD1C,KAAKsyB,uBACFnlB,OAAOnN,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAK2wB,aAAc3wB,KAAKoF,WAAWa,MACrEnE,UAAUmE,IACTjG,KAAKW,wBAAwBqC,mBAAmB,0CAChDhD,KAAKY,OAAOsC,SAAS,CAAC,2BAA0B,EAEtD,CAEAuuB,SAASpX,EAAYU,GACnB/a,KAAK0xB,UAAU3W,GAAS/a,KAAK8yB,aAAazY,EAAMqL,OAAOx1B,MACzD,CAEA4hC,eAAezX,EAAYU,GACzB,IAAI6W,EAAamB,OAAOC,WAAW3Y,EAAMqL,OAAOx1B,MAAM6mB,QAAQ,IAAK,MACnE/W,KAAK+xB,gBAAgBhX,GAAS/a,KAAKizB,mBAAmBrB,EACxD,CAEQkB,aAAa5iC,GACnB,GAAKA,EAEE,CACL,IAAIgjC,EAAQH,OAAOC,WAAW9iC,EAAM2b,WAAWkL,QAAQ,IAAK,MAC5D,OAAIoc,MAAMD,IAAUA,EAAQ,IAAMA,EAAQ,EACjC,qBAEA,iBAEX,CARE,MAAO,iBASX,CAEQD,mBAAmBC,GACzB,OAAKA,IAGCC,MAAMD,IAAUA,EAAQ,KAAOA,EAAQ,GAClC,qBAHF,iBAQX,CAEAvE,WACE3uB,KAAKsyB,uBAAuBxB,2BAA2B9wB,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAK2wB,cAAc7uB,UAAUmE,IAC7G,IACIC,EAAU,qEADoBD,EAEzB0O,QAAQye,IACfltB,GAAW,IAAIktB,EAAIrtB,SAASqtB,EAAI/B,eAAe+B,EAAIhvB,YAAYgvB,EAAI7B,MAAQ,QACzE6B,EAAIxB,YAAc,QAAQwB,EAAInB,eAAQ,GAE1CjyB,KAAKuyB,mBAAmB5D,SAASzoB,EAAS,oBAAoBlG,KAAKwyB,iBAAgB,EAEvF,4CAxIWH,GAAgCjyB,MAAAC,MAAAD,MAAA+C,KAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAiD,MAAAjD,MAAAyb,MAAA,+BAAhCwW,EAAgC/uB,UAAA,qCAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,skEAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDf7CvD,MADA,uBACAA,CAD4D,qBAI1DA,MADF,UACEA,CAD8C,UAE5CA,MAAA,QAAMA,MAAA,EAAAizB,GAAA,cAIRjzB,QAEEA,MADF,QACEA,CADG,cACuCA,MAAA,0BAASwD,EAAA+qB,UAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QAAYA,MAAA,iBAGzCA,YACAA,MAAA,SACAA,MAAA,cACEA,MAAA,MAEEA,MADA,GAAAkzB,GAAA,WACAlzB,CADsC,GAAAmzB,GAAA,oBAGxCnzB,MAAA,OAEEA,MADA,GAAAozB,GAAA,WACApzB,CADsC,GAAAqzB,GAAA,qBAGxCrzB,MAAA,OAEEA,MADA,GAAAszB,GAAA,WACAtzB,CADsC,GAAAuzB,GAAA,qBAGxCvzB,MAAA,OAEEA,MADA,GAAAwzB,GAAA,YACAxzB,CADiE,GAAAyzB,GAAA,qBAcnEzzB,MAAA,OAEEA,MADA,GAAA0zB,GAAA,YACA1zB,CADiE,GAAA2zB,GAAA,qBAcnE3zB,MAAA,OAEEA,MADA,GAAA4zB,GAAA,YACA5zB,CADiE,GAAA6zB,GAAA,qBAanE7zB,MAFA,GAAA8zB,GAAA,YAEA9zB,CAFkD,GAAA+zB,GAAA,YAElD/zB,CADuD,GAAAg0B,GAAA,aAMzDh0B,QAQMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,GAAAi0B,GAAA,iBAIJj0B,iBA7FkBA,MAAA,SAAAwD,EAAA5C,aACHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAKlC7H,MAAA,GAAAA,MAAA,OAAAwD,EAAAwtB,YAK4DhxB,MAAA,GAAAA,MAAA,YAAAwD,EAAAwB,WAAAa,KAAAK,QAMlDlG,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YAuDKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAgB+B/E,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YAAAjnB,EAAAwB,WAAAa,KAAAK,OAAA,k5BCzErD+rB,CAAgC,qDCAtC,IAAMiC,GAAgC,MAAvC,MAAOA,EAkBDC,wBACAC,mBACA7zB,wBACAO,MACAmO,oBACAkjB,mBArBsBlR,OAChCC,YACuBsI,SACvBC,YAAsB,mCACtB3W,QACAjL,OACAD,UACA8hB,YAEE9oB,YAAqC,CACnC,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,qBAAsBC,MAAO,0BAA2BC,KAAM,UACvE,CAAEF,MAAO,cAAeC,MAAO,GAAIC,KAAM,kBAG7CtB,YACU00B,EACAC,EACA7zB,EACAO,EACAmO,GACAkjB,IALAvyB,KAAAu0B,0BACAv0B,KAAAw0B,qBACAx0B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAqP,uBACArP,KAAAuyB,sBAERvyB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CAAEC,MAAO,cAAeC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,4BAA6B9G,KAAM,iBACtInB,KAAKshB,YAAc,CACjBG,QAAS,CACP+G,eAAgB,CAAE7G,MAAO,aAAczc,MAAM,GAC7CuvB,gBAAiB,CAAE9S,MAAO,UAAWzc,MAAM,IAE7CO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BC,SAAUC,IACR/hB,KAAKu0B,wBAAwBzD,2BAC3B9wB,KAAKkT,QACLlT,KAAKiI,OACL8Z,GACA/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,OAI1D7pB,KAAKw0B,mBAAmBE,gCAAgC10B,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KAC3FjC,KAAKgI,UAAY/F,GAAI6B,WAEzB,CACA0B,mBACE0kB,OAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,KAAa,MAAG,EAChBhkB,KAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YACH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,QAAQa,eACf,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,QAAQjc,WAAWuvB,KACtB30B,KAAKu0B,wBAAwBzD,2BAA2B9wB,KAAKkT,QAASlT,KAAKiI,YAAQihB,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OAC1HyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEA+oB,WAKE3uB,KAAKu0B,wBACFzD,2BAA2B9wB,KAAKkT,QAASlT,KAAKiI,OALtB,CACzBzB,UAAW,EACXC,SAAUzG,KAAKqhB,QAAQjc,WAAWwvB,SAG6B50B,KAAK4pB,UAAU9D,cAAc51B,OAC3F4R,UAAUmE,IACT,IACIC,EAAU,gDADsBD,EAAKC,QAEhCyO,QAAQye,KACfltB,GAAW,IAAIktB,GAAIyB,gBAAkB,QAAQzB,GAAIqB,iBAAmB,QAAQrB,GAAI5K,gBAAkB,SAAE,GAEtGxoB,KAAKuyB,mBAAmB5D,SAASzoB,EAAS,wBAAwBlG,KAAKgI,4BAAsBhI,KAAKiI,SAAQ,EAEhH,4CAhGWqsB,GAAgCl0B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAA0b,MAAA,+BAAhCwY,EAAgChxB,UAAA,oCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAEhC6e,KAAmB,qxBClBhCpiB,MAAA,wBACAA,MAAA,WACAA,MAAA,qBAGIA,MAFJ,UAEIA,CAF4B,QAE5BA,CADG,cACuCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QAAYA,MAAA,gBAGzCA,YAEEA,MADF,qBACEA,CAD8D,iBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,gBACFA,QACAA,MAAA,oBAQMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAItCA,oBA3BkBA,MAAA,SAAAwD,EAAA5C,aAEHZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAG0B7H,MAAA,GAAAA,MAAA,mBAAAwD,EAAAyd,QAAA,MAAAzd,EAAAyd,OAAAjc,YAAAxB,EAAAyd,OAAAjc,WAAAwvB,UAUtDx0B,MAAA,IAAAA,MAAA,mBAAAwD,EAAA0d,0HDCAgT,CAAgC,4GEQrCl0B,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA4D,EAAA1T,KACnD8P,cAAA,IAAA4D,EAAA9T,MAAA,6BAQNkQ,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAAkBA,kCAAlBA,cAAA+D,EAAA0P,kCAGpDzT,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAsoB,EAAAxd,8BAGrD9K,MAAA,WAAsDA,MAAA,0CAA8BA,mCACpFA,MAAA,WACEA,MAAA,GACFA,kCADEA,cAAA,IAAAkE,EAAAuO,0BAAA,6BAIFzS,MAAA,WAAsDA,MAAA,YAAMA,kDAE1DA,MAAA,eAA2CA,MAAA,mBAAAA,MAAAoI,GAAA,MAAA2kB,EAAA/sB,QAAAmE,UAAAuwB,EAAA10B,QAAA,OAAAA,MAAS00B,EAAAC,YAAA5H,EAAAlb,QAAuB,GACzE7R,MAAA,cAAUA,MAAA,YACZA,qCAHFA,MAAA,WACEA,MAAA,EAAA40B,GAAA,iBAGF50B,kCAHWA,cAAA,OAAA+sB,EAAAlb,gCAMX7R,MAAA,WAAsDA,MAAA,6BAAiBA,mCACvEA,MAAA,WAAkEA,MAAA,mBAA6CA,kCAA7CA,oBAAA,IAAAktB,EAAA2H,cAAA,uCAGlE70B,MAAA,WAAsCA,MAAA,oBAAQA,mCAC9CA,MAAA,WACEA,MAAA,GACFA,kCADEA,cAAA,IAAAotB,EAAAppB,OAAA,4BAGJhE,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WC1DF,MAAMsO,EAAiB,CAGrB,CACEC,KAAM,iBACNC,UAAWof,GACXnf,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,sBAAsB7M,UAMjD,CACEwM,KAAM,+CACNC,UAAW4hB,GACX3hB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,sBAAsB7M,OAC3C,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAMhC,CACCwM,KAAM,mDACNC,UAAW0lB,GACXzlB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,sBAAsB7M,OAC3C,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAOhC,CACEwM,KAAM,4CACNC,UAAWyjB,GACXxjB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,sBAAsB7M,OAC3C,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAMjC,CACEwM,KAAM,uCACNC,UC3DqC,MAAnC,MAAOymB,EAkCDxwB,mBACAuK,aACAlO,MACAmO,oBApCiCpK,UACvBC,KAEpBC,YAAwB,CACtB,WACA,OACA,4BACA,SACA,gBACA,UAEFC,WAAoD,IAAIC,KACxDC,cAAwB,EACxBtE,YAAqC,CACnC,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,qBAAsBC,MAAO,0BAA2BC,KAAM,UACvE,CAAEF,MAAO,SAAUC,MAAO,GAAIC,KAAM,WAGfyoB,SACMuE,eAC7BC,0BAAoC,GACpCvE,YAAsB,+BACtBwE,oBAA8B,+CAC9Bnb,QACAjL,OACAD,UACA8hB,YACAC,wBAEAuE,UAAYv6B,KAEZ8L,YACUgF,EACAuK,EACAlO,EACAmO,GAHArP,KAAA6E,qBACA7E,KAAAoP,eACApP,KAAAkB,QACAlB,KAAAqP,qBACP,CAEH9J,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CAAEC,MAAO,SAAUC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,gBAAiB9G,KAAM,UACrHnB,KAAKoP,aAAagF,eAAepU,KAAKkT,SAASpR,UAAUG,IACvDjC,KAAKgI,UAAY/F,GAClB,EAEL,CAEAuD,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,KAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,KAAa,MAAG,EAChBhkB,KAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,GACtFruB,KAAK4F,aAAW,EACf,GAEH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK6E,mBACFisB,2BACC9wB,KAAKkT,QACLlT,KAAKiI,OACLjI,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAEnCvsB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAK4F,aACP,CAEAmvB,YAAYO,GACVhO,OAAO/O,KAAK,yBAA2B+c,EAAW,SACpD,CAEA3G,WACE3uB,KAAK6E,mBAAmB4nB,gBACtBzsB,KAAKkT,QACLlT,KAAKiI,OACLjI,KAAK4pB,UAAU9D,cAAc51B,MAC7B8P,KAAKmuB,gBAAgBj+B,MACrB,WAEJ,4CA9HWmlC,GAA4Bj1B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAA,+BAA5BgyB,EAA4B/xB,UAAA,gCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC5BgD,KAAY,SACZC,KAAO,msFFrBpBxG,MAAA,wBACAA,MAAA,WACAA,MAAA,qBAIIA,MAFJ,UAEIA,CAFmC,UAEnCA,CAD0F,cAChDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QACvBA,MAAA,gBAGNA,YACAA,MAAA,QAIMA,MAHN,WAGMA,CAH2C,WAG3CA,CAFsD,uBAEtDA,CADyE,kBACrDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,sBAAYA,MAAA,uBAAAmI,IAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,MAAA3E,EAAAwqB,0BAAA7lB,IAAAnI,MAAAmI,GAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,oBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAAm1B,GAAA,0CAMRn1B,cACAA,MAAA,eAAmDA,MAAA,yBAAAmI,IAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,IAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAAo1B,GAAA,YACAp1B,CADsD,GAAAq1B,GAAA,qBAGxDr1B,MAAA,OAEEA,MADA,GAAAs1B,GAAA,YACAt1B,CADsD,GAAAu1B,GAAA,qBAGxDv1B,MAAA,OAEEA,MADA,GAAAw1B,GAAA,YACAx1B,CADsD,GAAAy1B,GAAA,qBAKxDz1B,MAAA,OAEEA,MADA,GAAA01B,GAAA,YACA11B,CADsD,GAAA21B,GAAA,qBAOxD31B,MAAA,OAEEA,MADA,GAAA41B,GAAA,YACA51B,CADsD,GAAA61B,GAAA,qBAGxD71B,MAAA,OAEEA,MADA,GAAA81B,GAAA,YACA91B,CADsC,GAAA+1B,GAAA,qBAOxC/1B,MAFA,GAAAg2B,GAAA,YAEAh2B,CAFkD,GAAAi2B,GAAA,YAElDj2B,CADuD,GAAAk2B,GAAA,aAIzDl2B,QACAA,MAAA,uBAYMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QACpBA,MAAA,eAGNA,oBAtFkBA,MAAA,SAAAwD,EAAA5C,aAEHZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAI0B7H,MAAA,GAAAA,MAAA,YAAAwD,EAAAwB,WAAAa,KAAAK,QAgBjDlG,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAA0qB,YAOnBluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YAiCKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAA+iB,6NErDJkS,CAA4B,KD4DrCxmB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,sBAAsB7M,OAC3C,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,WAU5B,IAAMo0B,GAAoB,MAA3B,MAAOA,+CAAoB,8BAApBA,qCAHDtY,KAAaC,SAASxP,GACtBuP,eAECsY,CAAoB,4HER1B,IAAMC,EAAa,MAApB,MAAOA,+CAAa,8BAAbA,sCAFA,IAACpY,UAAiBC,QAAA,CApC3BC,KACAiY,GACAtY,KACAO,MACAC,KACAC,KACAC,KACAC,MACAC,MACA4X,MACA3X,MACAC,KACAC,KACAC,KACAC,KACAC,MACAK,MACAJ,MACAsX,MACAC,MACArX,KACAG,KACAJ,KACAuX,KACAC,MACAC,MACAC,KAGAxX,MACAI,IACAqX,gBACAtX,KACAE,KACAC,eAIS2W,CAAa,0XC1EnB,IAAMS,GAA0C,MAAjD,MAAOA,GAQDzC,mBACA7zB,wBACAC,OACAM,MACAmO,oBAXsBgS,OAChCC,YACuBsI,SACvBC,YAAsB,8CACtB3W,QAEArT,YACU20B,GACA7zB,GACAC,GACAM,GACAmO,IAJArP,KAAAw0B,sBACAx0B,KAAAW,2BACAX,KAAAY,UACAZ,KAAAkB,SACAlB,KAAAqP,uBAERrP,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,SAAc,EACpClT,KAAKshB,YAAc,CACjBG,QAAS,CACPvhB,GAAI,CAAEyhB,MAAO,IAAKzc,MAAM,GACxBgoB,OAAQ,CAAEvL,MAAO,UAAWzc,MAAM,GAClCgG,KAAM,CAAEyW,MAAO,QAASzc,MAAM,GAC9B+C,OAAQ,CAAE0Z,MAAO,eAAUzc,MAAM,GACjCkoB,gBAAiB,CAAEzL,MAAO,cAAezc,MAAM,IAEjDO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CACEvV,MAAO,WACPwV,SAAU1c,IAAKza,KAAKo3B,SAAS3c,GAAEva,GAAIua,GAAE4c,qBACrCC,UAAW7c,IAAKA,GAAEva,GAClBiB,KAAM,SAGV2gB,SAAUC,IACR/hB,KAAKw0B,mBAAmB+C,4BAA4BxV,GAAG/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,MAGjH,CAEArkB,mBACE0kB,OAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,KAAQsf,IAA+B,UAAVA,GAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKw0B,mBAAmB+C,iCAA4BrO,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OAC3FyoB,KACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,IAC9C3Y,KAAK4F,aAAW,EAGtB,CAEAwxB,SAASl3B,GAAYm3B,IAEjBr3B,KAAKY,OAAOsC,SADVm0B,GACmB,CAAC,wCAAwCn3B,MAAMm3B,MAE/C,CAAC,wCAAwCn3B,MAElE,8CA/EW+2B,IAA0C72B,MAAAC,KAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAAhD,MAAAiD,MAAA,+BAA1C4zB,GAA0C3zB,UAAA,+CAAAoD,UAAA,SAAA/C,GAAAC,OAAA,EAAAD,WAC1C6e,KAAmB,4WCfhCpiB,MAAA,QAAIA,MAAA,+CAA6BA,QAE/BA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,GAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,0BAAaA,MAAA,GAAAA,MAAA,mBAAAwD,GAAA0d,2EDQA2V,EAA0C,wCEDhD,IAAMO,GAAsB,MAA7B,MAAOA,GAMD9nB,OACA8kB,mBACApQ,gBACAljB,MAPVwU,cACA+hB,6BAEA53B,YACU6P,GACA8kB,GACApQ,GACAljB,IAHAlB,KAAA0P,UACA1P,KAAAw0B,sBACAx0B,KAAAokB,mBACApkB,KAAAkB,QACP,CAEHqE,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAK0V,cAAgBnC,GAAOrT,GACxBF,KAAK0V,eACP1V,KAAKw0B,mBAAmBkD,yBAAyB13B,KAAK0V,eAAe5T,UAAUG,KAC7EjC,KAAKy3B,6BAA+Bx1B,IACrC,EAGP,CAEA01B,6BACM33B,KAAKy3B,8BAA8BG,mBACrC53B,KAAKokB,gBACFgC,wBACC,gBAAgBpmB,KAAKy3B,6BAA6BvkB,mBAClDlT,KAAKy3B,8BAA8BG,mBAEpC91B,UAAUukB,IAAOrmB,KAAK63B,oBAAoB,uCAAkCxR,IAEnF,CAEQwR,oBAAoBlW,GAAe0E,IACzCrmB,KAAK0P,OAAO6I,KAAK+N,IAA8B,CAC7CrgB,KAAM,CAAEsgB,gBAAiB5E,GAAO6E,aAAcH,IAC9CI,MAAO,MACPC,OAAQ,OAEZ,8CAxCW8Q,IAAsBp3B,MAAAC,MAAAD,MAAA+C,KAAA/C,MAAAgD,KAAAhD,MAAAiD,MAAA,+BAAtBm0B,GAAsBl0B,UAAA,yBAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,0eAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KCZjCvD,MADF,QACEA,CADG,QAEDA,MAAA,GAA0CA,MAAA,QAC1CA,MAAA,GACFA,QAIMA,MAHN,eAGMA,CAH0B,uBAG1BA,CAF0D,eAE1DA,CADsB,YACdA,MAAA,cAAQA,QAGZA,MAFJ,WAEIA,CAFsC,SAEtCA,CADG,eACoCA,MAAA,0BAASwD,GAAA+zB,4BAA4B,GAC1Ev3B,MAAA,eAAUA,MAAA,qBAAcA,QACxBA,MAAA,6CAIRA,cACAA,MAAA,qCAEJA,UACAA,MAAA,SAQMA,MAPN,gBAOMA,CAP0B,wBAO1BA,CAFiB,cAEjBA,CADyF,eAC/EA,MAAA,iBAAUA,QACpBA,MAAA,eAIRA,sBAhCIA,MAAA,GAAAA,MAAA,UAAAwD,GAAA6zB,6BAAA,KAAA7zB,GAAA6zB,6BAAAvK,OAAA,IACA9sB,MAAA,GAAAA,MAAA,iBAAAwD,GAAA6zB,6BAAA,KAAA7zB,GAAA6zB,6BAAAvsB,KAAA,0BAAAtH,GAAA6zB,6BAAA,KAAA7zB,GAAA6zB,6BAAAxvB,OAAA,KAegC7H,MAAA,IAAAA,MAAA,gBAAAwD,GAAA8R,oPDLvB8hB,EAAsB,KENnC,MAAM9oB,GAAiB,CAErB,CACEC,KAAM,gCACNC,UAAWqoB,GACXpoB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAM8oB,OAAO31B,UAG/C,CACEwM,KAAM,yDACNopB,UAAW,OACXnpB,UAAW4oB,GACX3oB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAM8oB,OAAO31B,UAG/C,CACEwM,KAAM,oCACNopB,UAAW,OACXnpB,UAAW4oB,GACX3oB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAM8oB,OAAO31B,WAS1C,IAAM61B,EAAmB,MAA1B,MAAOA,mDAAmB,8BAAnBA,sCAHD/Z,KAAaC,SAASxP,IACtBuP,eAEC+Z,EAAmB,+BCmBzB,IAAMhB,GAAY,MAAnB,MAAOA,mDAAY,8BAAZA,uCAFA,IAAC5Y,UAAiBC,QAAA,CA1B3BC,KACA0Z,EACA/Z,KACAO,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAL,KACAM,KACAC,KACAE,KACAK,KACAJ,KAGAC,KACAsX,MACA3V,KACApB,eAISkX,EAAY,4WClDlB,IAAMiB,GAAa,MAApB,MAAOA,EAIDn4B,KACA6H,oBAJFmkB,QAERjsB,YACUC,EACA6H,EACeuwB,GAFfl4B,KAAAF,OACAE,KAAA2H,sBAGR3H,KAAK8rB,QAAUoM,EAAInM,UACrB,CAEAoM,eACE,OAAOn4B,KAAKF,KAAKuC,IAAY,GAAGrC,KAAK8rB,kBAAkBpmB,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aACjG,CAEAgM,sBAAsBl4B,GACpB,OAAOF,KAAKF,KACTuC,IAAc,GAAGrC,KAAK8rB,kBAAkB5rB,aACxCwF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAiM,qBAAqBC,GACnB,OAAOt4B,KAAKF,KACTuC,IAAuB,GAAGrC,KAAK8rB,kBAAkBwM,KACjD5yB,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAmM,QAAQC,EAAkBC,GACxB,OAAOz4B,KAAKF,KACT44B,OAAe,GAAG14B,KAAK8rB,kBAAkB0M,aAAoBC,KAC7D/yB,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAuM,iBAAiBH,EAAkBF,GACjCA,SAAgBA,EAAcvhB,QAAQ,YAAa,IAC5C/W,KAAKF,KAAK84B,KAAU,GAAG54B,KAAK8rB,kBAAkB0M,aAAoBF,SAAiBpP,GAAWxjB,KACnGonB,IACA9sB,KAAK2H,oBAAoBykB,cAAU,EACnC1Y,KAAI,KACK,IACR,EACDmG,MAAU,IAAK,EACfgf,MAAS,GAEb,4CA5CWZ,GAAa73B,MAAAC,OAAAD,MAAA+C,MAAA/C,MAMd,eAAa,iCANZ63B,EAAa33B,QAAb23B,EAAa13B,UAAAC,WAFZ,gBAEDy3B,CAAa,sECDtB73B,MAAA,WAAsDA,MAAA,UAAIA,oCAC1DA,MAAA,WAAuCA,MAAA,GAAkBA,mCAAlBA,cAAA04B,EAAA5tB,+BAGvC9K,MAAA,WAAsDA,MAAA,qBAASA,mCAC/DA,MAAA,WAAuCA,MAAA,GAAuBA,mCAAvBA,cAAA24B,EAAAC,mCAEzC54B,MAAA,kCACAA,MAAA,sCAGIA,MAAA,UAA0BA,MAAA,GAA+DA,wCAA/DA,cAAA,gDAAA64B,EAAA/oC,MAAA,8BAC1BkQ,MAAA,UAA2BA,MAAA,mCAA0BA,oCAFvDA,MADF,UACEA,CADgC,WAG9BA,MADA,EAAA84B,GAAA,cACA94B,CAD0B,EAAA+4B,GAAA,eAG9B/4B,yCAHWA,MAAA,GAAAA,MAAA,OAAA64B,EAAA/oC,OACAkQ,cAAA,QAAA64B,EAAA/oC,QCPN,IAAMkpC,GAAmC,MAA1C,MAAOA,EAaSC,cAAsCn4B,MAZjC+D,UACLC,KAEpBE,WAAkD,IAAIC,KACtDF,YAAwB,CAAC,OAAQ,aAEjCmzB,cAAwB,GACft3B,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,SAAUC,MAAO,gBAAiBC,KAAM,eAGnDtB,YAAoBw5B,EAAsCn4B,GAAtClB,KAAAq5B,gBAAsCr5B,KAAAkB,OAAwB,CAElFo4B,gBAAqC,GAErCjB,qBAAqBC,GACnBt4B,KAAKq5B,cAAchB,qBAAqBC,GAAex2B,UAAUw3B,IAC/Dt5B,KAAKoF,WAAWa,KAAOqzB,EAChBA,GAEX,CAEAC,OAAOlf,GAELra,KAAKoF,WAAWe,OADKkU,EAAMqL,OAA4Bx1B,MAClBswB,OAAOpG,aAC9C,CAEA7U,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKs4B,cAAgB/kB,EAAO+kB,cACxBt4B,KAAKs4B,gBACPt4B,KAAKs4B,cAAgBt4B,KAAKs4B,cAAcvhB,QAAQ,YAAa,IAC7D/W,KAAKq5B,cAAchB,qBAAqBr4B,KAAKs4B,eAAex2B,UAAUG,IACpEjC,KAAKs5B,gBAAkBr3B,EACvBjC,KAAKoF,WAAWa,KAAOjG,KAAKs5B,gBAC5Bt5B,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKoF,WAAWH,UAAYjF,KAAKiF,YAClC,EAGP,4CA1CWm0B,GAAmCh5B,MAAAC,IAAAD,MAAA+C,MAAA,+BAAnCi2B,EAAmC91B,UAAA,mCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACnCgD,KAAY,SACZC,KAAO,q2BDhBpBxG,MAAA,wBACAA,MAAA,QAAIA,MAAA,GAAsCA,QAExCA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,YAAMA,QAC1BA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eAA8BA,MAAA,iBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAASwD,EAAA21B,OAAAhxB,GAAc,GACvDnI,UACAA,MAAA,gBACEA,MAAA,MAEEA,MADA,GAAAo5B,GAAA,WACAp5B,CADsD,GAAAq5B,GAAA,oBAGxDr5B,MAAA,OAEEA,MADA,GAAAs5B,GAAA,WACAt5B,CADsD,GAAAu5B,EAAA,oBAKxDv5B,MAFA,GAAAw5B,GAAA,YAEAx5B,CAFkD,GAAAy5B,GAAA,YAElDz5B,CADuD,GAAA05B,GAAA,aAOzD15B,QACAA,MAAA,6BAzBkBA,MAAA,SAAAwD,EAAA5C,aACdZ,MAAA,GAAAA,MAAA,yBAAAwD,EAAA00B,cAAA,IAMoBl4B,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YASFhF,MAAA,GAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAQpB/E,MAAA,GAAgBA,MAAhB,cAAgBA,CAAD,kBAAAA,MAAA,EAAAqH,kICXjB2xB,CAAmC,mDCEzC,IAAMW,GAA4B,MAAnC,MAAOA,EAQDV,cACA14B,wBACD+O,OACyBzJ,KACzB6gB,UAXTkT,YACAp3B,MAAgB,GAChB41B,SAEAyB,gBAA+B,IAAI14B,KAAY,GAAIC,KAAWC,UAE9D5B,YACUw5B,EACA14B,EACD+O,EACyBzJ,EACzB6gB,GAJC9mB,KAAAq5B,gBACAr5B,KAAAW,0BACDX,KAAA0P,SACyB1P,KAAAiG,OACzBjG,KAAA8mB,WACN,CAEHoT,SACOl6B,KAAKi6B,gBAAgBx3B,MAItBzC,KAAKiG,KAAKuyB,UACZx4B,KAAKq5B,cAAcV,iBAAiB34B,KAAKiG,KAAKuyB,SAAUx4B,KAAKi6B,gBAAgB/pC,OAAO4R,UAAU5R,IACxFA,GACF8P,KAAKW,wBAAwBqC,mBAC3B,UAAUhD,KAAKiG,KAAKuyB,+CAA4Cx4B,KAAKi6B,gBAAgB/pC,SAEvF8P,KAAK8mB,UAAUqB,OAAM,IAChBnoB,KAAKi6B,gBAAgB7iB,UAAU,CAAE+iB,UAAU,GAAM,GAV1Dn6B,KAAKW,wBAAwB+B,iBAAiB,8CAalD,CAEAkoB,WACE5qB,KAAK8mB,UAAUqB,OAAM,EACvB,4CAlCW4R,GAA4B35B,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAAgD,OAAAhD,MAW7BgoB,OAAehoB,MAAAgD,OAAA,+BAXd22B,EAA4Bz2B,UAAA,wCAAA82B,MAAA3yB,GAAAlE,MAAA,GAAAC,KAAA,EAAAC,OAAA,uUAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IChBzCvD,MAAA,UAAqBA,MAAA,oCAA2BA,QAE9CA,MADF,qBACEA,CAD8D,eACnDA,MAAA,yBAAaA,QACxBA,MAAA,aACFA,QAGIA,MAFJ,uBAEIA,CAFgB,UAEhBA,CAD+C,cACPA,MAAA,0BAASwD,EAAAgnB,UAAU,GAAExqB,MAAA,cAAUA,MAAA,YAAKA,QAAYA,MAAA,gBAAQA,QAChGA,MAAA,eAA0CA,MAAA,0BAASwD,EAAAs2B,QAAQ,GAAE95B,MAAA,eAAUA,MAAA,UAAGA,QAAYA,MAAA,iBAE1FA,mBAPkBA,MAAA,GAAAA,MAAA,cAAAwD,EAAAq2B,8GDaLF,CAA4B,4DEVjC35B,MAAA,mBACEA,MAAA,GACFA,mCAF0CA,MAAA,QAAAi6B,EAAA7B,UACxCp4B,cAAA,IAAAi6B,EAAAnvB,KAAA,8BAsCN9K,MAAA,WAAsDA,MAAA,UAAIA,oCAC1DA,MAAA,WAAyDA,MAAA,GAAkBA,mCAAlBA,cAAA24B,EAAA7tB,+BAGzD9K,MAAA,WAAsDA,MAAA,WAAKA,mCAC3DA,MAAA,WAA0DA,MAAA,GAAmBA,mCAAnBA,cAAAk6B,EAAA13B,gCAG1DxC,MAAA,WAAsDA,MAAA,yBAAaA,oCACnEA,MAAA,WAAkEA,MAAA,GAA2BA,mCAA3BA,cAAAm6B,EAAAjC,uCAGlEl4B,MAAA,qDAEEA,MADF,UACEA,CADqC,eACAA,MAAA,yBAAAo6B,EAAAp6B,MAAAoI,GAAAjE,UAAAuwB,EAAA10B,QAAA,OAAAA,MAAS00B,EAAAyD,QAAAiC,GAAgB,GAC5Dp6B,MAAA,cAAUA,MAAA,YAEdA,oCAEFA,MAAA,kCACAA,MAAA,sCAGIA,MAAA,UAA0BA,MAAA,GAA+DA,yCAA/DA,cAAA,gDAAAq6B,EAAAvqC,MAAA,8BAC1BkQ,MAAA,UAA2BA,MAAA,mCAA0BA,oCAFvDA,MADF,UACEA,CADgC,WAG9BA,MADA,EAAAs6B,GAAA,cACAt6B,CAD0B,EAAAu6B,GAAA,eAG9Bv6B,0CAHWA,MAAA,GAAAA,MAAA,OAAAq6B,EAAAvqC,OACAkQ,cAAA,QAAAq6B,EAAAvqC,QCpDN,IAAM0qC,GAAyB,MAAhC,MAAOA,EAuBDvB,cACD3pB,OACAmrB,aACCl6B,wBAzBesE,UACLC,KAEpBE,WAAsC,IAAIC,KAC1Cy1B,OAAmB,GACnBC,cAA6B,IAAIx5B,KAAY,IAC7C+2B,cAAwB,GAExB0C,YAAc,IAAIz5B,KAAY,IAE9B+3B,gBAAqC,GAErCn0B,YAAwB,CAAC,OAAQ,QAAS,gBAAiB,UAC3D81B,OAESj6B,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,SAAUC,MAAO,gBAAiBC,KAAM,eAInDtB,YACUw5B,EACD3pB,EACAmrB,EACCl6B,GAHAX,KAAAq5B,gBACDr5B,KAAA0P,SACA1P,KAAA66B,eACC76B,KAAAW,yBACP,CAEH4E,WACEvF,KAAKk7B,eACLl7B,KAAK+6B,cAAcnhB,aAAa9X,UAAU5R,GAAS8P,KAAKm7B,eAAejrC,GACzE,CAEAirC,eAAejrC,GACb8P,KAAKq5B,cAAcjB,sBAAsBloC,GAAO4R,UAAUs5B,IACxDp7B,KAAKoF,WAAWa,KAAOm1B,EACvBp7B,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKoF,WAAWH,UAAYjF,KAAKiF,WAErC,CAEAszB,QAAQ8C,GACN,IAAItgB,EAAQ/a,KAAKoF,WAAWa,KAAKtU,QAAQ0pC,GACzC,MAAM9hB,EAAgB,IAAIC,KACxB,gBACA,sCAAmC6hB,EAAgBnwB,QAEnClL,KAAK66B,aAAatiB,KAAKkB,KAA6B,CACpExT,KAAMsT,IAEEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKq5B,cAAcd,QAAQv4B,KAAK+6B,cAAc7qC,MAAiBmrC,EAAgBr5B,WAAWF,UAAUiX,IAClG,IAAIuiB,EAA0Bt7B,KAAKoF,WAAWa,KAC9Cq1B,EAAIC,OAAOxgB,EAAO,GAClB/a,KAAKoF,WAAWa,KAAOq1B,EACvBt7B,KAAKW,wBAAwBqC,mBAAmB,cAAWq4B,EAAgBnwB,+BAA2B,EACvG,EAGP,CAEAgwB,eACEl7B,KAAKq5B,cAAclB,eAAer2B,UAAUm5B,IAC1Cj7B,KAAK86B,OAASG,GAElB,CAEAO,yBACE,MAAMhD,EAAWx4B,KAAK+6B,cAAc7qC,MAClB8P,KAAK0P,OAAO6I,KAAKwhB,GAA8B,CAAE9zB,KAAM,CAAEuyB,cACjE3f,cAAc/W,UAAU4X,IAC5BA,GAAK1Z,KAAKm7B,eAAe3C,EAAQ,EAEzC,CAEAe,OAAOlf,GAELra,KAAKoF,WAAWe,OADKkU,EAAMqL,OAA4Bx1B,MAClBswB,OAAOpG,aAC9C,4CAhFWwgB,GAAyBx6B,MAAAC,IAAAD,MAAA+C,OAAA/C,MAAA+C,OAAA/C,MAAAgD,MAAA,+BAAzBw3B,EAAyBt3B,UAAA,uBAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACzBgD,KAAY,SACZC,KAAO,+zDDnBpBxG,MAAA,wBAIMA,MAHN,UAGMA,CAHoD,UAGpDA,CAFqE,qBAErEA,CADuD,eAC5CA,MAAA,sCAA6BA,QACxCA,MAAA,kBACEA,MAAA,EAAAq7B,GAAA,oBAIJr7B,UACAA,MAAA,cAIEA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA43B,yBAAwB,GAEjCp7B,MAAA,cAAUA,MAAA,UAGhBA,cAIMA,MAHN,WAGMA,CAHoD,WAGpDA,CAFqE,sBAErEA,CADuD,gBAC5CA,MAAA,qCAA2BA,QACtCA,MAAA,cACFA,QAMEA,MALF,eAKEA,CADsC,eAC5BA,MAAA,aAGhBA,cAGIA,MAFJ,SAEIA,CAFC,uBAEDA,CAD8D,kBAC1CA,MAAA,aAAMA,QAC1BA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBAA8BA,MAAA,iBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAASwD,EAAA21B,OAAAhxB,GAAc,GAEzDnI,YACAA,MAAA,iBACEA,MAAA,OAEEA,MADA,GAAAs7B,GAAA,YACAt7B,CADsD,GAAAu7B,GAAA,qBAGxDv7B,MAAA,OAEEA,MADA,GAAAw7B,GAAA,YACAx7B,CADsD,GAAAy7B,EAAA,qBAGxDz7B,MAAA,OAEEA,MADA,GAAA07B,GAAA,YACA17B,CADsD,GAAA27B,GAAA,qBAGxD37B,MAAA,OAEEA,MADA,GAAA47B,GAAA,YACA57B,CAD+D,GAAA67B,GAAA,qBASjE77B,MAFA,GAAA87B,GAAA,YAEA97B,CAFkD,GAAA+7B,GAAA,YAElD/7B,CADuD,GAAAg8B,GAAA,aAOzDh8B,QACAA,MAAA,6BAzEkBA,MAAA,SAAAwD,EAAA5C,aAKAZ,MAAA,GAAAA,MAAA,cAAAwD,EAAAm3B,eACqB36B,cAAA,UAAAwD,EAAAk3B,QAUjC16B,cAAA,gBAAAwD,EAAAm3B,cAAA7qC,OASgBkQ,MAAA,GAAAA,MAAA,cAAAwD,EAAAo3B,aAKhB56B,cAAA,aAAAwD,EAAAo3B,YAAA9qC,OACAkQ,MAAA,gBAAAwD,EAAAo3B,YAAA9qC,OAYkBkQ,MAAA,IAAAA,MAAA,aAAAwD,EAAAwB,YAqBFhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAQpB/E,MAAA,GAAgBA,MAAhB,cAAgBA,CAAD,kBAAAA,MAAA,GAAAqH,sXCxDjBmzB,CAAyB,4GCI/B,IAAMyB,GAAiC,MAAxC,MAAOA,EAWDC,0BACA37B,wBACAC,OACA8O,OACA6sB,uBACAltB,oBAfsBgS,OAChCC,YACuBsI,SACvBC,YAAsB,oCACb7oB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAwBC,MAAO,+BAAgCC,KAAM,YAGhFtB,YACUy8B,EACA37B,EACAC,EACA8O,EACA6sB,EACAltB,GALArP,KAAAs8B,4BACAt8B,KAAAW,0BACAX,KAAAY,SACAZ,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,sBAERrP,KAAKshB,YAAc,CACjBG,QAAS,CACPvhB,GAAI,CAAEyhB,MAAO,IAAKzc,MAAM,GACxB8zB,UAAW,CAAErX,MAAO,kBAAazc,MAAM,GACvC8Q,MAAO,CAAE2L,MAAO,QAASzc,MAAM,EAAM0c,KAAM,YAE7Cnc,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CAAEvV,MAAO,SAAUwV,SAAU1c,GAAKza,KAAKyE,OAAOgW,EAAEva,IAAKo3B,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,QACjF,CAAEwgB,MAAO,UAAWwV,SAAU1c,GAAKza,KAAKu4B,QAAQ9d,EAAEva,IAAKo3B,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,QAASq7B,MAAO,SAErG1a,SAAUC,GAAK/hB,KAAKs8B,0BAA0Bta,OAAOD,EAAG/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAE9G,CAEArkB,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,MAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKs8B,0BAA0Bta,YAAOkH,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OAC7EyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEAnB,OAAOvE,GACLF,KAAKY,OAAOsC,SAAS,CAAC,sCAAsChD,KAC9D,CAEAq4B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKs8B,0BAA0B/D,QAAQr4B,GAAI4B,UAAU,CACnDyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,4CA1FW0jB,GAAiCj8B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAA,+BAAjCwgB,EAAiC/4B,UAAA,qCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACjC6e,KAAmB,yfCtBhCpiB,MAAA,wBAIMA,MAHN,UAGMA,CAH0B,QAG1BA,CAFC,aAEDA,CAD4G,cAClGA,MAAA,SAAGA,QAAYA,MAAA,iBAG/BA,YAEEA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,gBACFA,QACAA,MAAA,0BAbkBA,MAAA,SAAAwD,EAAA5C,aAaLZ,MAAA,IAAAA,MAAA,mBAAAwD,EAAA0d,8FDQA+a,CAAiC,oBERvC,IAAMK,GAAiC,MAAxC,MAAOA,EAeDJ,0BACA37B,wBACAO,MACAN,OAjBVQ,KAAO,IAAIC,KAAU,CACnB23B,UAAW,IAAIz3B,KAAY,GAAIC,KAAWC,UAC1CuU,MAAO,IAAIzU,KAAY,GAAIC,KAAWC,YAExCvB,GAESc,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAwBC,MAAO,+BAAgCC,KAAM,WAC9E,CAAEF,MAAO,sBAAuBC,MAAO,wCAAyCC,KAAM,SAIxFtB,YACUy8B,EACA37B,EACAO,EACAN,GAHAZ,KAAAs8B,4BACAt8B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,QACP,CAEH2E,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKoB,KAAK6B,QACNjD,KAAKE,IACPF,KAAKgB,YAAY,GAAK,CACpBC,MAAO,sBACPC,MAAO,uCAAuClB,KAAKE,KACnDiB,KAAM,QAERnB,KAAKs8B,0BAA0BK,sBAAsB38B,KAAKE,IAAI4B,UAAUG,IACtEjC,KAAKoB,KAAKgB,SAAS42B,UAAa5lB,SAASnR,EAAI+2B,WAC7Ch5B,KAAKoB,KAAKgB,SAAS4T,MAAS5C,SAASnR,EAAI+T,MAAMnK,WAAU,IAG3D7L,KAAKgB,YAAY,GAAK,CACpBC,MAAO,sBACPC,MAAO,sCACPC,KAAM,SAId,CAEAe,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEM4K,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAA2CH,EAAKrW,KAAKlR,MAErDunB,EAAKvX,GACPuX,EAAK6kB,0BAA0BM,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAU+6B,IACtEplB,EAAK9W,wBAAwBqC,mBAC3B,wBAAwB65B,EAAmB38B,6BAE7CuX,EAAK7W,OAAOsC,SAAS,CAAC,gCAA+B,GAGvDuU,EAAK6kB,0BAA0BnvB,OAAOyK,GAAY9V,UAAU+6B,IAC1DplB,EAAK9W,wBAAwBqC,mBAC3B,wBAAwB65B,EAAmB38B,6BAE7CuX,EAAK7W,OAAOsC,SAAS,CAAC,gCAA+B,EAExD,EAvBS,EAwBZ,4CA7EWw5B,GAAiCt8B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAA,+BAAjCs5B,EAAiCp5B,UAAA,qCAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,siBAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICb9CvD,MAAA,wBAIMA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,cAAQA,QAGZA,MAFJ,WAEIA,CAFyD,qBAEzDA,CADuD,eAC5CA,MAAA,qBAASA,QACpBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,YAAKA,QAEdA,MADF,kBACEA,CAD+C,mBACtBA,MAAA,UAAGA,QAC5BA,MAAA,mBAA0BA,MAAA,aAMtCA,oBAKQA,MAJR,gBAIQA,CAJiD,sBAIjDA,CAHY,YAGZA,CAFsC,eAEtCA,CADgF,eACtEA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,gBAA0CA,MAAA,0BAASwD,EAAAuJ,QAAQ,GAAE/M,MAAA,eAAUA,MAAA,WAAIA,QAAYA,MAAA,cAG7FA,qBA9BkBA,MAAA,SAAAwD,EAAA5C,aAKNZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,+IDQCs7B,CAAiC,0CEQvC,IAAMI,GAA+B,MAAtC,MAAOA,EAYDC,wBACAp8B,wBACAC,OACA8O,OACA6sB,uBACAltB,oBAhBsBgS,OAChCC,YACuBsI,SACvBC,YAAsB,kCAEb7oB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,6BAA2BC,MAAO,kCAAmCC,KAAM,cAGtFtB,YACUk9B,EACAp8B,EACAC,EACA8O,EACA6sB,EACAltB,GALArP,KAAA+8B,0BACA/8B,KAAAW,0BACAX,KAAAY,SACAZ,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,sBAERrP,KAAKshB,YAAc,CACjBG,QAAS,CACPvhB,GAAI,CAAEyhB,MAAO,IAAKzc,MAAM,GACxB83B,cAAe,CAAErb,MAAO,OAAQzc,MAAM,GACtC+3B,WAAY,CAAEtb,MAAO,YAAUzc,MAAM,GACrCg4B,MAAO,CAAEvb,MAAO,WAASzc,MAAM,IAEjCO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CAAEvV,MAAO,SAAUwV,SAAU1c,GAAKza,KAAKyE,OAAOgW,EAAEva,IAAKo3B,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,QACjF,CAAEwgB,MAAO,UAAWwV,SAAU1c,GAAKza,KAAKu4B,QAAQ9d,EAAEva,IAAKo3B,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,QAASq7B,MAAO,SAErG1a,SAAUC,GAAK/hB,KAAK+8B,wBAAwB/a,OAAOD,EAAG/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAE5G,CAEArkB,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,MAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAK+8B,wBAAwB/a,YAAOkH,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OAC3EyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEAnB,OAAOvE,GACLF,KAAKY,OAAOsC,SAAS,CAAC,0CAA0ChD,KAClE,CAEAq4B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAK+8B,wBAAwBxE,QAAQr4B,GAAI4B,UAAU,CACjDyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,4CA5FWmkB,GAA+B18B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAA,+BAA/BihB,EAA+Bx5B,UAAA,mCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC/B6e,KAAmB,6fCtBhCpiB,MAAA,wBAIMA,MAHN,UAGMA,CAH0B,QAG1BA,CAFC,aAEDA,CADgH,cACtGA,MAAA,SAAGA,QAAYA,MAAA,iBAG/BA,YAEEA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,gBACFA,QACAA,MAAA,0BAbkBA,MAAA,SAAAwD,EAAA5C,aAaLZ,MAAA,IAAAA,MAAA,mBAAAwD,EAAA0d,8FDQAwb,CAA+B,KER/BK,GAA+B,MAAtC,MAAOA,EAeDJ,wBACAp8B,wBACAO,MACAN,OAjBVQ,KAAO,IAAIC,KAAU,CACnBnB,GAAI,IAAIqB,MAAY,GACpBy7B,cAAe,IAAIz7B,KAAY,GAAIC,KAAWC,UAC9Cw7B,WAAY,IAAI17B,KAAY,GAAIC,KAAWC,UAC3Cy7B,MAAO,IAAI37B,MAAY,EAAIC,KAAWC,UACtC27B,6BAA8B,IAAI77B,KAAY,GAAIC,KAAWC,YAE/DvB,GACSc,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,6BAA2BC,MAAO,kCAAmCC,KAAM,aACpF,CAAEF,MAAO,4BAA0BC,MAAO,GAAIC,KAAM,SAEtDtB,YACUk9B,EACAp8B,EACAO,EACAN,GAHAZ,KAAA+8B,0BACA/8B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,QACP,CAEH2E,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKoB,KAAK6B,QACNjD,KAAKE,IACTF,KAAKgB,YAAY,GAAK,CACpBC,MAAO,4BACPC,MAAO,2CAA2ClB,KAAKE,KACvDiB,KAAM,QAENnB,KAAK+8B,wBAAwBM,oBAAoBr9B,KAAKE,IAAI4B,UAAUG,IAClEjC,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASnR,EAAI/B,IACtCF,KAAKoB,KAAKgB,SAAS46B,cAAiB5pB,SAASnR,EAAI+6B,eACjDh9B,KAAKoB,KAAKgB,SAAS66B,WAAc7pB,SAASnR,EAAIg7B,YAC9Cj9B,KAAKoB,KAAKgB,SAAS86B,MAAS9pB,SAASnR,EAAIi7B,OACzCl9B,KAAKoB,KAAKgB,SAASg7B,6BAAgChqB,SAASnR,EAAIm7B,6BAA6BvxB,WAAU,IAGzG7L,KAAKgB,YAAY,GAAK,CACpBC,MAAO,4BACPC,MAAO,2CACPC,KAAM,SAId,CAEAe,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEM4K,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAAyCH,EAAKrW,KAAKlR,MAEnDunB,EAAKvX,GACPuX,EAAKslB,wBAAwBH,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAUw7B,IACpE7lB,EAAK9W,wBAAwBqC,mBAC3B,4BAAyBs6B,EAAiBp9B,6BAE5CuX,EAAK7W,OAAOsC,SAAS,CAAC,mCAAkC,GAG1DuU,EAAKslB,wBAAwB5vB,OAAOyK,GAAY9V,UAAUw7B,IACxD7lB,EAAK9W,wBAAwBqC,mBAC3B,4BAAyBs6B,EAAiBp9B,6BAE5CuX,EAAK7W,OAAOsC,SAAS,CAAC,mCAAkC,EAE3D,EAvBS,EAwBZ,4CAhFWi6B,GAA+B/8B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAA,+BAA/B+5B,EAA+B75B,UAAA,mCAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,0xBAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICb5CvD,MAAA,wBAIMA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,cAAQA,QAGZA,MAFJ,WAEIA,CAFyD,qBAEzDA,CADuD,eAC5CA,MAAA,UAAIA,QACfA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,gBAAMA,QACjBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,eAAKA,QAChBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,uDAAgDA,QAEzDA,MADF,kBACEA,CAD6F,mBACpEA,MAAA,UAAGA,QAC5BA,MAAA,oBAA0BA,MAAA,aAMtCA,oBAKQA,MAJR,iBAIQA,CAJiD,sBAIjDA,CAHY,YAGZA,CAFsC,eAEtCA,CADmF,eACzEA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,gBAA0CA,MAAA,0BAASwD,EAAAuJ,QAAQ,GAAE/M,MAAA,eAAUA,MAAA,WAAIA,QAAYA,MAAA,cAG7FA,qBAtCkBA,MAAA,SAAAwD,EAAA5C,aAKNZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,qJDQC+7B,CAA+B,0DEOhC/8B,MAAA,mBACEA,MAAA,GACFA,mCAF4EA,MAAA,QAAAm9B,EAAAjtC,KAC1E8P,cAAA,IAAAm9B,EAAArtC,MAAA,MCPP,IAAMstC,GAAwB,MAA/B,MAAOA,EAiBDC,iBACA98B,wBACAO,MACAN,OAnBVQ,KAAO,IAAIC,KAAU,CACnBq8B,OAAQ,IAAIn8B,KAAY,GAAIC,KAAWC,UACvCuU,MAAO,IAAIzU,KAAY,GAAIC,KAAWC,UACtCk8B,kBAAmB,IAAIp8B,KAAY,GAAIC,KAAWC,UAClDm8B,gBAAiB,IAAIr8B,KAAY,GAAIC,KAAWC,UAChDo8B,iBAAkB,IAAIt8B,KAAY,GAAIC,KAAWC,YAEnDvB,GACA49B,mBAAqB/lC,KACZiJ,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,mBAAcC,MAAO,oBAAqBC,KAAM,SACzD,CAAEF,MAAO,kBAAaC,MAAO,GAAIC,KAAM,SAGzCtB,YACU49B,EACA98B,EACAO,EACAN,GAHAZ,KAAAy9B,mBACAz9B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,QACP,CAEH2E,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKoB,KAAK6B,QACNjD,KAAKE,IACPF,KAAKgB,YAAY,GAAK,CACpBC,MAAO,kBACPC,MAAO,6BAA6BlB,KAAKE,KACzCiB,KAAM,QAERnB,KAAKy9B,iBAAiBM,aAAa/9B,KAAKE,IAAI4B,UAAUG,IACpDjC,KAAKoB,KAAKgB,SAASs7B,OAAUtqB,SAASnR,EAAIy7B,QAC1C19B,KAAKoB,KAAKgB,SAAS4T,MAAS5C,SAASnR,EAAI+T,MAAMnK,YAC/C7L,KAAKoB,KAAKgB,SAASu7B,kBAAqBvqB,SAASnR,EAAI07B,mBACrD39B,KAAKoB,KAAKgB,SAASw7B,gBAAmBxqB,SAASnR,EAAI27B,gBAAgB/xB,YACnE7L,KAAKoB,KAAKgB,SAASy7B,iBAAoBzqB,SAASnR,EAAI47B,iBAAiBhyB,WAAU,IAGjF7L,KAAKgB,YAAY,GAAK,CACpBC,MAAO,kBACPC,MAAO,4BACPC,KAAM,SAId,CAEAe,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEM4K,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAAkCH,EAAKrW,KAAKlR,MAE5CunB,EAAKvX,GACPuX,EAAKgmB,iBAAiBb,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAUk8B,IAC7DvmB,EAAK9W,wBAAwBqC,mBAAmB,oBAAcg7B,EAAU99B,6BACxEuX,EAAK7W,OAAOsC,SAAS,CAAC,qBAAoB,GAG5CuU,EAAKgmB,iBAAiBtwB,OAAOyK,GAAY9V,UAAUk8B,IACjDvmB,EAAK9W,wBAAwBqC,mBAAmB,oBAAcg7B,EAAU99B,6BACxEuX,EAAK7W,OAAOsC,SAAS,CAAC,qBAAoB,EAE7C,EAnBS,EAoBZ,4CA9EWs6B,GAAwBp9B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAA,+BAAxBo6B,EAAwBl6B,UAAA,2BAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,mwBAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDdrCvD,MAAA,wBAIMA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,cAAQA,QAGZA,MAFJ,WAEIA,CAFyD,qBAEzDA,CADuD,eAC5CA,MAAA,eAAMA,QACjBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,YAAKA,QAEdA,MADF,kBACEA,CAD+C,mBACtBA,MAAA,UAAGA,QAC5BA,MAAA,mBAA0BA,MAAA,aAE9BA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,4BAAqBA,QAChCA,MAAA,mBACEA,MAAA,GAAA69B,GAAA,0CAIJ79B,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,0FAAoEA,QAE7EA,MADF,mBACEA,CADmE,mBAC1CA,MAAA,UAAGA,QAC5BA,MAAA,mBAA0BA,MAAA,aAE9BA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,gEAAgDA,QAEzDA,MADF,mBACEA,CADqE,mBAC5CA,MAAA,UAAGA,QAC5BA,MAAA,mBAA0BA,MAAA,aAMtCA,oBAKQA,MAJR,iBAIQA,CAJiD,sBAIjDA,CAHY,YAGZA,CAFsC,eAEtCA,CADqE,eAC3DA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,gBAA0CA,MAAA,0BAASwD,EAAAuJ,QAAQ,GAAE/M,MAAA,eAAUA,MAAA,WAAIA,QAAYA,MAAA,cAG7FA,qBApDkBA,MAAA,SAAAwD,EAAA5C,aAKNZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAe0ChB,MAAA,IAAAA,MAAA,UAAAA,MAAA,KAAAwD,EAAAk6B,wKCNzCN,CAAwB,2BCO9B,IAAMU,GAAwB,MAA/B,MAAOA,EAaDT,iBACA98B,wBACAC,OACA8O,OACA6sB,uBACAltB,oBAjBsBgS,OAChCC,YACuBsI,SACvBC,YAAsB,0BAEb7oB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,mBAAcC,MAAO,oBAAqBC,KAAM,UAI3DtB,YACU49B,EACA98B,EACAC,EACA8O,EACA6sB,EACAltB,GALArP,KAAAy9B,mBACAz9B,KAAAW,0BACAX,KAAAY,SACAZ,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,sBAERrP,KAAKshB,YAAc,CACjBG,QAAS,CACPvhB,GAAI,CAAEyhB,MAAO,IAAKzc,MAAM,GACxBw4B,OAAQ,CAAE/b,MAAO,YAAUzc,MAAM,GACjC8Q,MAAO,CAAE2L,MAAO,QAASzc,MAAM,EAAM0c,KAAM,YAE7Cnc,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CAAEvV,MAAO,SAAUwV,SAAU1c,GAAKza,KAAKyE,OAAOgW,EAAEva,IAAKo3B,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,QACjF,CAAEwgB,MAAO,UAAWwV,SAAU1c,GAAKza,KAAKu4B,QAAQ9d,EAAEva,IAAKo3B,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,QAASq7B,MAAO,SAErG1a,SAAUC,GAAK/hB,KAAKy9B,iBAAiBzb,OAAOD,EAAG/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAErG,CAEArkB,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,MAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKy9B,iBAAiBzb,YAAOkH,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OACpEyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEAnB,OAAOvE,GACLF,KAAKY,OAAOsC,SAAS,CAAC,4BAA4BhD,KACpD,CAEAq4B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKy9B,iBAAiBlF,QAAQr4B,GAAI4B,UAAU,CAC1CyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,4CA5FWulB,GAAwB99B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAA,+BAAxBqiB,EAAwB56B,UAAA,2BAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACxB6e,KAAmB,+eCtBhCpiB,MAAA,wBAIMA,MAHN,UAGMA,CAH0B,QAG1BA,CAFC,aAEDA,CADkG,cACxFA,MAAA,SAAGA,QAAYA,MAAA,iBAG/BA,YAEEA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,gBACFA,QACAA,MAAA,0BAbkBA,MAAA,SAAAwD,EAAA5C,aAaLZ,MAAA,IAAAA,MAAA,mBAAAwD,EAAA0d,8FDQA4c,CAAwB,oBER9B,IAAMC,GAAyB,MAAhC,MAAOA,EAYDC,kBACAz9B,wBACAO,MACAN,OAdVQ,KAAO,IAAIC,KAAU,CACnB23B,UAAW,IAAIz3B,KAAY,GAAIC,KAAWC,UAC1CuU,MAAO,IAAIzU,KAAY,GAAIC,KAAWC,YAExCvB,GACSc,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,cAAeC,MAAO,qBAAsBC,KAAM,aAC3D,CAAEF,MAAO,aAAcC,MAAO,GAAIC,KAAM,SAE1CtB,YACUu+B,EACAz9B,EACAO,EACAN,GAHAZ,KAAAo+B,oBACAp+B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,QACP,CAEH2E,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKoB,KAAK6B,QACNjD,KAAKE,IACPF,KAAKgB,YAAY,GAAK,CACpBC,MAAO,aACPC,MAAO,8BAA8BlB,KAAKE,KAC1CiB,KAAM,QAERnB,KAAKo+B,kBAAkBC,cAAcr+B,KAAKE,IAAI4B,UAAUG,IACtDjC,KAAKoB,KAAKgB,SAAS42B,UAAa5lB,SAASnR,EAAI+2B,WAC7Ch5B,KAAKoB,KAAKgB,SAAS4T,MAAS5C,SAASnR,EAAI+T,MAAMnK,WAAU,IAG3D7L,KAAKgB,YAAY,GAAK,CACpBC,MAAO,aACPC,MAAO,6BACPC,KAAM,SAId,CAEAe,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEM4K,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAAmCH,EAAKrW,KAAKlR,MAE7CunB,EAAKvX,GACPuX,EAAK2mB,kBAAkBxB,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAUw8B,IAC9D7mB,EAAK9W,wBAAwBqC,mBAAmB,eAAes7B,EAAWp+B,6BAC1EuX,EAAK7W,OAAOsC,SAAS,CAAC,sBAAqB,GAG7CuU,EAAK2mB,kBAAkBjxB,OAAOyK,GAAY9V,UAAUw8B,IAClD7mB,EAAK9W,wBAAwBqC,mBAAmB,eAAes7B,EAAWp+B,6BAC1EuX,EAAK7W,OAAOsC,SAAS,CAAC,sBAAqB,EAE9C,EAnBS,EAoBZ,4CAtEWi7B,GAAyB/9B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAA,+BAAzB+6B,EAAyB76B,UAAA,4BAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,2hBAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICbtCvD,MAAA,wBAIMA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,cAAQA,QAGZA,MAFJ,WAEIA,CAFyD,qBAEzDA,CADuD,eAC5CA,MAAA,qBAASA,QACpBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,YAAKA,QAEdA,MADF,kBACEA,CAD+C,mBACtBA,MAAA,UAAGA,QAC5BA,MAAA,mBAA0BA,MAAA,aAMtCA,oBAKQA,MAJR,gBAIQA,CAJiD,sBAIjDA,CAHY,YAGZA,CAFsC,eAEtCA,CADsE,eAC5DA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,gBAA0CA,MAAA,0BAASwD,EAAAuJ,QAAQ,GAAE/M,MAAA,eAAUA,MAAA,WAAIA,QAAYA,MAAA,cAG7FA,qBA9BkBA,MAAA,SAAAwD,EAAA5C,aAKNZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,+IDQC+8B,CAAyB,2BEQ/B,IAAMI,GAAyB,MAAhC,MAAOA,EAWDH,kBACAz9B,wBACAC,OACA8O,OACA6sB,uBACAltB,oBAfsBgS,OAChCC,YACuBsI,SACvBC,YAAsB,2BAEb7oB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,cAAeC,MAAO,qBAAsBC,KAAM,cAE7DtB,YACUu+B,EACAz9B,EACAC,EACA8O,EACA6sB,EACAltB,GALArP,KAAAo+B,oBACAp+B,KAAAW,0BACAX,KAAAY,SACAZ,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,sBAERrP,KAAKshB,YAAc,CACjBG,QAAS,CACPvhB,GAAI,CAAEyhB,MAAO,IAAKzc,MAAM,GACxB8zB,UAAW,CAAErX,MAAO,kBAAazc,MAAM,GACvC8Q,MAAO,CAAE2L,MAAO,QAASzc,MAAM,EAAM0c,KAAM,YAE7Cnc,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CAAEvV,MAAO,SAAUwV,SAAU1c,GAAKza,KAAKyE,OAAOgW,EAAEva,IAAKo3B,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,QACjF,CAAEwgB,MAAO,UAAWwV,SAAU1c,GAAKza,KAAKu4B,QAAQ9d,EAAEva,IAAKo3B,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,QAASq7B,MAAO,SAErG1a,SAAUC,GAAK/hB,KAAKo+B,kBAAkBpc,OAAOD,EAAG/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAEtG,CAEArkB,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,MAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKo+B,kBAAkBpc,YAAOkH,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OACrEyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEAnB,OAAOvE,GACLF,KAAKY,OAAOsC,SAAS,CAAC,6BAA6BhD,KACrD,CAEAq4B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKo+B,kBAAkB7F,QAAQr4B,GAAI4B,UAAU,CAC3CyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,4CA1FW4lB,GAAyBn+B,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAA,+BAAzB0iB,EAAyBj7B,UAAA,4BAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACzB6e,KAAmB,6gBCtBhCpiB,MAAA,wBAKMA,MAHN,UAGMA,CAHsD,QAGtDA,CAFC,aAEDA,CADmG,cACzFA,MAAA,SAAGA,QAAYA,MAAA,iBAG/BA,YAEEA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,gBACFA,QACAA,MAAA,0BAdkBA,MAAA,SAAAwD,EAAA5C,aAcLZ,MAAA,IAAAA,MAAA,mBAAAwD,EAAA0d,8FDOAid,CAAyB,8CEhBhCn+B,MADF,QACEA,CAD0B,UACpBA,MAAA,GACRA,gCADQA,MAAA,GAAAA,MAAA+wB,EAAAqN,SAAAC,qCAQJr+B,MAAA,UAA8BA,MAAA,GAAuBA,+BAAvBA,cAAA,KAAA+wB,EAAAqN,SAAAtR,OAAA,gCAG9B9sB,MADF,MACEA,CADmC,OAChCA,MAAA,oBAAQA,QAAKA,MAAA,GAClBA,+BADkBA,MAAA,GAAAA,MAAA,IAAA+wB,EAAAqN,SAAAE,iBAAA,MAAAvN,EAAAqN,SAAAG,mBAAA,iCARfv+B,MADL,QACKA,CADwB,MACxBA,CAAA,OAAGA,MAAA,iBAAQA,QAAKA,MAAA,GAAwDA,QACxEA,MAAH,MAAGA,CAAA,OAAGA,MAAA,WAAKA,QAAKA,MAAA,GAA0BA,QACvCA,MAAH,MAAGA,CAAA,QAAGA,MAAA,WAAIA,QAAKA,MAAA,IAAkBA,QAE/BA,MADF,OACEA,CADC,QACEA,MAAA,eAAQA,QAAKA,MAAA,IAChBA,MAAA,GAAAw+B,GAAA,cACFx+B,QACAA,MAAA,GAAAy+B,GAAA,WAGGz+B,MAAH,OAAGA,CAAA,QAAGA,MAAA,cAAOA,QAAKA,MAAA,IACpBA,gCAXqBA,MAAA,GAAAA,MAAA,KAAA+wB,EAAAqN,SAAAx8B,UAAA,MAAAmvB,EAAAqN,SAAAlG,cAAA,IACHl4B,MAAA,GAAAA,MAAA,IAAA+wB,EAAAqN,SAAAxP,YAAA,IACD5uB,MAAA,GAAAA,MAAA,IAAA+wB,EAAAqN,SAAAz4B,IAAA,IAEG3F,MAAA,GAAAA,MAAA,IAAA+wB,EAAAqN,SAAAM,uBAAA,KACT1+B,cAAA,OAAA+wB,EAAAqN,SAAAtR,QAEL9sB,cAAA,OAAA+wB,EAAAqN,SAAAE,kBAGct+B,MAAA,GAAAA,MAAA,IAAA+wB,EAAAqN,SAAAO,YAAArjB,KAAA,sCAIVtb,MADR,QACQA,CADuC,SACvCA,CAAA,OAAGA,MAAA,GAAoBA,UAAQA,MAAA,GACvCA,mCADWA,MAAA,GAAAA,MAAA,GAAA4+B,EAAA1uC,IAAA,KAA4B8P,cAAA,IAAA4+B,EAAA9uC,MAAA,iCAFzCkQ,MAAA,SACEA,MAAA,EAAA6+B,GAAA,kCAGF7+B,8BAHyBA,cAAA,UAAAA,MAAA,IAAA+wB,EAAAqN,uCAOrBp+B,MAAA,GACEA,MAAA,SAAKA,MAAA,mBAAwBA,gDAAxBA,MAAA,GAAAA,YAAA,IAAA8+B,EAAAhvC,mCAEiBkQ,MAAA,kCAAAA,MAAA8+B,EAAAhvC,mCAJlBkQ,MADR,QACQA,CADuC,SACvCA,CAAA,OAAGA,MAAA,GAAoBA,UAI7BA,MAHA,EAAA++B,GAAA,sBAGA/+B,CAH4D,EAAAg/B,GAAA,yBAAAh/B,OAI9DA,yDALWA,MAAA,GAAAA,MAAA,GAAA8+B,EAAA5uC,IAAA,KACM8P,QAA6BA,MAA7B,OAAA+wB,EAAAkO,SAAAH,EAAAhvC,OAA6BkQ,CAAA,WAAAk/B,+BAHhDl/B,MAAA,SACEA,MAAA,EAAAm/B,GAAA,kCAOFn/B,8BAPyBA,cAAA,UAAAA,MAAA,IAAA+wB,EAAAqN,uCAUfp+B,MADR,QACQA,CADuC,SACvCA,CAAA,OAAGA,MAAA,GAAoBA,UAAQA,MAAA,GACvCA,mCADWA,MAAA,GAAAA,MAAA,GAAAo/B,EAAAlvC,IAAA,KAA4B8P,cAAA,IAAAo/B,EAAAtvC,MAAA,iCAFzCkQ,MAAA,SACEA,MAAA,EAAAq/B,GAAA,kCAGFr/B,8BAHyBA,cAAA,UAAAA,MAAA,IAAA+wB,EAAAqN,uCAMfp+B,MADR,QACQA,CADuC,SACvCA,CAAA,OAAGA,MAAA,GAAoBA,UAAQA,MAAA,GACvCA,mCADWA,MAAA,GAAAA,MAAA,GAAAs/B,EAAApvC,IAAA,KAA4B8P,cAAA,IAAAs/B,EAAAxvC,MAAA,iCAFzCkQ,MAAA,SACEA,MAAA,EAAAu/B,GAAA,kCAGFv/B,8BAHyBA,cAAA,UAAAA,MAAA,IAAA+wB,EAAAqN,uCAMfp+B,MADR,QACQA,CADuC,SACvCA,CAAA,OAAGA,MAAA,GAAoBA,UAAQA,MAAA,GACvCA,mCADWA,MAAA,GAAAA,MAAA,GAAAw/B,EAAAtvC,IAAA,KAA4B8P,cAAA,IAAAw/B,EAAA1vC,MAAA,iCAFzCkQ,MAAA,SACEA,MAAA,EAAAy/B,GAAA,kCAGFz/B,8BAHyBA,cAAA,UAAAA,MAAA,IAAA+wB,EAAAqN,mCAIzBp+B,MAAA,SCxCG,IAAM0/B,GAAqB,MAA5B,MAAOA,EAIQhZ,UAAgF7gB,KAHnG85B,QACAvB,SAAgB,GAEhB3+B,YAAmBinB,EAAgF7gB,GAAhFjG,KAAA8mB,YAAgF9mB,KAAAiG,MAAa,CAEhHV,WASE,GARuB,QAAnBvF,KAAKiG,KAAKi3B,MAAiBl9B,KAAK+/B,QAAU,OACnB,SAAlB//B,KAAKiG,KAAK+5B,KAAiBhgC,KAAK+/B,QAAU,QAC1C//B,KAAKiG,KAAK+5B,KAAK9oB,WAAW,UAAWlX,KAAK+/B,QAAU,SACpD//B,KAAKiG,KAAK+5B,KAAK9oB,WAAW,UAAWlX,KAAK+/B,QAAU,SACpD//B,KAAKiG,KAAK+5B,KAAK9oB,WAAW,UAAWlX,KAAK+/B,QAAU,SACpD//B,KAAKiG,KAAK+5B,KAAK9oB,WAAW,UAAWlX,KAAK+/B,QAAU,SACpD//B,KAAKiG,KAAK+5B,KAAK9oB,WAAW,SAAQlX,KAAK+/B,QAAU,OAEtD//B,KAAKiG,KAAKg6B,eACZjgC,KAAKw+B,SAAW0B,KAAKC,MAAMngC,KAAKiG,KAAKg6B,cACjCjgC,KAAKw+B,SAASO,aAChB,QAAStkB,EAAI,EAAGA,EAAIza,KAAKw+B,SAASO,YAAYz4B,OAAQmU,IACpDza,KAAKw+B,SAASO,YAAYtkB,GAAKza,KAAKw+B,SAASO,YAAYtkB,GAAG1D,QAAQ,qBAAsB,GAIlG,CAEAqpB,aAAarB,GACX,OAAOA,EAAYrjB,KAAK,IAC1B,CAEAkP,WACE5qB,KAAK8mB,UAAUqB,OAAM,EACvB,CAEAkX,SAASnvC,GACP,OAAOA,GAA0B,iBAAVA,IAAuBsrB,MAAMC,QAAQvrB,EAC9D,4CAnCW4vC,GAAqB1/B,MAAAC,OAAAD,MAI2CgoB,OAAe,+BAJ/E0X,EAAqBx8B,UAAA,wBAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,scAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDTlCvD,MAAA,UAAqBA,MAAA,cAAQA,QAC7BA,MAAA,UAEEA,MADF,uBACEA,CADkB,WA+ChBA,MA7CA,EAAAigC,GAAA,YA6CAjgC,CA7C4B,EAAAkgC,GAAA,aA6C5BlgC,CA1C6B,EAAAmgC,GAAA,YA0C7BngC,CA7B8B,EAAAogC,GAAA,YA6B9BpgC,CAxB8B,EAAAqgC,GAAA,YAwB9BrgC,CAf8B,GAAAsgC,GAAA,YAe9BtgC,CAV8B,GAAAugC,GAAA,YAU9BvgC,CAL2B,GAAAwgC,GAAA,aAO/BxgC,UAIMA,MAHN,gBAGMA,CAHmD,sBAGnDA,CAFc,WAEdA,CADyF,eACjDA,MAAA,0BAASwD,EAAAgnB,UAAU,GAAExqB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAG9FA,qBAvDOA,MAAA,GAAAA,MAAA,WAAAwD,EAAAm8B,SACG3/B,cAAA,uBAGAA,cAAA,wBAaAA,cAAA,yBAKAA,cAAA,yBASAA,cAAA,yBAKAA,cAAA,yBAKAA,cAAA,w4CCnCG0/B,CAAqB,KCArBe,GAAW,MAAlB,MAAOA,EAID/gC,KACA6H,oBAJFmkB,QAERjsB,YACUC,EACA6H,EACeuwB,GAFfl4B,KAAAF,OACAE,KAAA2H,sBAGR3H,KAAK8rB,QAAUoM,EAAInM,UACrB,CAEA/J,OAAOvc,EAAcke,EAAcmd,GACjC,OAAO9gC,KAAKF,KACTihC,IAAS,GAAG/gC,KAAK8rB,eAAgBgV,EAAS,CACzCvtB,QAAQ,IAAI0Y,OAAatV,IAAI,OAAQlR,EAAOA,EAAKoG,WAAa,KAAK8K,IAAI,OAAQgN,EAAOA,EAAK9X,WAAa,QAEzGnG,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,4CAjBWyU,GAAWzgC,MAAAC,OAAAD,MAAA+C,MAAA/C,MAMZ,eAAa,iCANZygC,EAAWvgC,QAAXugC,EAAWtgC,UAAAC,WAFV,gBAEDqgC,CAAW,KCJXG,GAAO,MAAd,MAAOA,EACXC,UAAU/wC,GACR,GAAIA,EAAO,CACT,IAAIgxC,EAAe,GACnBhxC,OACAA,GADAA,EAAQA,EAAMyiC,WAAW,IAAK,MAChBvY,eACR9O,MAAM,KAAKqJ,QAAQwsB,IACvBD,GAAQC,EAAEC,OAAO,GAAGptB,cAAgBmtB,EAAEE,MAAM,GAAK,MAE5CH,CACT,CACA,MAAO,EACT,4CAZWF,EAAO,+CAAPA,EAAOM,MAAA,WAAPN,CAAO,6DC+BV5gC,MAAA,mBACEA,MAAA,GACFA,mCAFwDA,MAAA,QAAAmhC,EAAAjxC,KACtD8P,cAAA,IAAAmhC,EAAArxC,MAAA,iCAUFkQ,MAAA,mBACEA,MAAA,GACFA,mCAF4DA,MAAA,QAAAohC,EAAAlxC,KAC1D8P,cAAA,IAAAohC,EAAAtxC,MAAA,8BAqBRkQ,MAAA,WAAsCA,MAAA,cAAKA,oCAC3CA,MAAA,WAAsDA,MAAA,GAAeA,mCAAfA,cAAAkE,EAAA44B,gCAGtD98B,MAAA,WAAsCA,MAAA,iBAAWA,oCACjDA,MAAA,WAA4DA,MAAA,mBAAmDA,mCAAnDA,oBAAA,IAAA4oB,EAAAtH,SAAA,mDAG5DthB,MAAA,WAAsCA,MAAA,QAAEA,mDAEtCA,MADF,UACEA,CADiD,UAC5BA,MAAA,yBAAAipB,EAAAjpB,MAAAkpB,GAAA/kB,UAAAglB,EAAAnpB,QAAA,OAAAA,MAASmpB,EAAAkY,QAAApY,EAAAqY,IAAe,GAAEthC,MAAA,GACjDA,uCADiDA,MAAA,GAAAA,MAAAipB,EAAAqY,6BAIjDthC,MAAA,WAAsCA,MAAA,yBAAgBA,oCACtDA,MAAA,WAAiEA,MAAA,GAAkBA,mCAAlBA,cAAAotB,EAAAmU,mCAGjEvhC,MAAA,WAAsCA,MAAA,gBAAIA,oCAC1CA,MAAA,WACEA,MAAA,sBACFA,mCADEA,cAAA,IAAAA,MAAA,IAAAwhC,EAAA5B,MAAA,IAAA4B,EAAAC,WAAA,IAAAD,EAAAC,WAAA,gCAIFzhC,MAAA,qDAEEA,MADF,UACEA,CADiC,eAM/BA,MAAA,yBAAA0hC,EAAA1hC,MAAA2hC,GAAAx9B,UAAAglB,EAAAnpB,QAAA,OAAAA,MAASmpB,EAAAyY,cAAAF,GAAkB,GAC3B1hC,MAAA,cAAUA,MAAA,0BAEdA,yCAJIA,cAAA,YAAA0hC,EAAA7B,sCAON7/B,MAAA,kCACAA,MAAA,mCAGIA,MAFJ,UAEIA,CAF8B,UAE9BA,CAD+B,UACzBA,MAAA,mCAEVA,aC9FK,IAAM6hC,GAAmB,MAA1B,MAAOA,EA+BSC,YAAiCxyB,OA9BVzK,UAC3Ck9B,SAAmB,EACnBC,aAAuB,GACvB98B,cAAwB,EAExB+8B,YAAc1tC,KACd2tC,gBAAkBptC,KAElBqtC,WAA0B,IAAIhhC,KAAY,IAC1CihC,cAA6B,IAAIjhC,KACjCkhC,YAA2B,IAAIlhC,KAC/BmhC,WAAmB,IAAI9R,KACvB+R,UAAyB,IAAIphC,KAAY,IACzCqhC,cAA6B,IAAIrhC,KAAY,IAC7CshC,kBAAiC,IAAIthC,KAAY,IAEjDuhC,SAA0B,KAC1BC,OAAwB,KACxBC,eAAyB,GAEzB79B,YAAwB,CAAC,QAAS,OAAQ,KAAM,WAAY,OAAQ,UACpEC,WAAuC,IAAIC,KAE3C49B,SAAqB,IAAIC,KAAS,SAEzBliC,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,OAAQC,MAAO,cAAeC,KAAM,kBAG/CtB,YAAoBqiC,EAAiCxyB,GAAjC1P,KAAAkiC,cAAiCliC,KAAA0P,QAAoB,CAEzEnK,WACEvF,KAAKuiC,WAAWnvB,SAAS,SACzBpT,KAAK4iC,cAAcxvB,SAAS,SAC5BpT,KAAK6iC,kBAAkBzvB,SAAS,SAChCpT,KAAKmiC,SAAWniC,KAAKiF,UAAUuB,UAC/BxG,KAAKoiC,aAAepiC,KAAKiF,UAAUwB,SACnCzG,KAAKiF,WAAWQ,KACbC,QACCG,MAAI,MACE7F,KAAKiF,UAAUuB,WAAaxG,KAAKmiC,UAAYniC,KAAKiF,UAAUwB,UAAYzG,KAAKoiC,gBAC/EpiC,KAAKmiC,SAAWniC,KAAKiF,UAAUuB,UAC/BxG,KAAKoiC,aAAepiC,KAAKiF,UAAUwB,SACnCzG,KAAKmjC,YAAS,IAInBrhC,YACH9B,KAAKmjC,WACP,CAEQrC,UACN,IAAIh8B,EAAyB9E,KAAK2iC,UAAUzyC,MAE5C,OAA+B4U,EAA3BA,GAAWA,EAAQ0b,OAAkB1b,EAAQ0b,OAClC,KAER,CACL0c,MAAgC,SAAzBl9B,KAAKuiC,WAAWryC,MAAmB,KAAO8P,KAAKuiC,WAAWryC,MACjEkzC,WAAYpjC,KAAKwiC,cAActyC,MAAQ8P,KAAKwiC,cAActyC,MAAQ,KAClEmzC,UAAWrjC,KAAKyiC,YAAYvyC,MAAQ8P,KAAKyiC,YAAYvyC,MAAQ,KAC7D4U,UACAw+B,aAA0C,SAA5BtjC,KAAK4iC,cAAc1yC,MAAmB,KAAO8P,KAAK4iC,cAAc1yC,MAC9EqzC,aAA8C,SAAhCvjC,KAAK6iC,kBAAkB3yC,MAAmB,KAAO8P,KAAK6iC,kBAAkB3yC,MACtF4yC,SAAU9iC,KAAK8iC,SACfpB,GAAI1hC,KAAK+iC,OAEb,CAEQI,YACNnjC,KAAKkiC,YAAYlgB,OAAOhiB,KAAKiF,UAAUuB,UAAWxG,KAAKiF,UAAUwB,SAAUzG,KAAK8gC,WAAWh/B,UAAU2D,IACnGzF,KAAKoF,WAAa,IAAIC,KAAmBI,EAAKS,SAC9ClG,KAAKsF,cAAgBG,EAAKH,cAC1BtF,KAAKiF,UAAUu+B,gBAAgB/9B,EAAKg+B,SAAYh9B,SAAW,EAE/D,CAEQi9B,gBACN1jC,KAAKuiC,WAAWnvB,SAAS,SACzBpT,KAAK2iC,UAAUvvB,SAAS,IACxBpT,KAAK4iC,cAAcxvB,SAAS,SAC5BpT,KAAK6iC,kBAAkBzvB,SAAS,SAChCpT,KAAK8iC,SAAW,KAChB9iC,KAAK+iC,OAAS,KACd/iC,KAAKgjC,eAAiB,EACxB,CAEAW,oBACE3jC,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAK8iC,SAAW,KAChB9iC,KAAK+iC,OAAS,KACd/iC,KAAKgjC,eAAiB,GACtBhjC,KAAKmjC,WACP,CAEA1B,QAAQC,GACN1hC,KAAK0jC,gBACL1jC,KAAKgjC,eAAiB,gCAA0BtB,IAChD1hC,KAAK+iC,OAASrB,EACd1hC,KAAKmjC,WACP,CAEAnB,cAAc4B,GACZ5jC,KAAK0P,OAAO6I,KAAKunB,GAAuB,CAAE75B,KAAM29B,EAAKhV,WAAY,qBACnE,CAEAiV,YACE7jC,KAAKwiC,cAAcpvB,SAAS,MAC5BpT,KAAKyiC,YAAYrvB,SAAS,KAC5B,4CA/GW6uB,GAAmB7hC,MAAAC,IAAAD,MAAA+C,OAAA,+BAAnB8+B,EAAmB3+B,UAAA,sBAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,SACnBgD,KAAY,qgEDnBzBvG,MAAA,wBAKQA,MAJR,UAIQA,CAJuD,UAIvDA,CAH+D,UAG/DA,CAFQ,qBAERA,CADuD,eAC5CA,MAAA,iBAAWA,QAEpBA,MADF,iBACEA,CADqC,kBACXA,MAAA,WAAKA,QAC/BA,MAAA,mBAAyBA,MAAA,kBAAWA,QACpCA,MAAA,mBAA0BA,MAAA,WAGhCA,cAGIA,MAFJ,WAEIA,CAFQ,sBAERA,CADuD,gBAC5CA,MAAA,yBAAkBA,QAC7BA,MAAA,kBAAmCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAigC,YAAW,GAAEzjC,MAAA,YAAKA,QAC9DA,MAAA,8BAAgEA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAunB,EAAA1jC,MAAA,WAAAA,MAAS0jC,EAAAvrB,OAAa,GAEpFnY,MADA,cACAA,CAD6D,eAE/DA,QAEAA,MADA,8BACAA,CADwE,mCAG5EA,UAGIA,MAFJ,WAEIA,CAFQ,sBAERA,CADuD,gBAC5CA,MAAA,0BAAgBA,QAC3BA,MAAA,eAEJA,UAGIA,MAFJ,WAEIA,CAFQ,sBAERA,CADuD,gBAC5CA,MAAA,+BAAkBA,QAE3BA,MADF,kBACEA,CADwC,mBACdA,MAAA,YAAKA,QAC/BA,MAAA,GAAA2jC,GAAA,0CAKN3jC,YAGIA,MAFJ,WAEIA,CAFQ,sBAERA,CADuD,gBAC5CA,MAAA,uBAAgBA,QAEzBA,MADF,kBACEA,CAD4C,mBAClBA,MAAA,YAAKA,QAC/BA,MAAA,GAAA4jC,GAAA,0CAMR5jC,cAGIA,MAFJ,YAEIA,CAF8C,YAE9CA,CAD2B,WACrBA,MAAA,IACRA,UAEEA,MADF,YACEA,CADyD,gBACfA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+/B,oBAAmB,GACpEvjC,MAAA,eAAUA,MAAA,2BAAoBA,QAC9BA,MAAA,kBAIRA,cAEAA,MAAA,eACEA,MAAA,OAEEA,MADA,GAAA6jC,GAAA,YACA7jC,CADsC,GAAA8jC,GAAA,qBAGxC9jC,MAAA,OAEEA,MADA,GAAA+jC,GAAA,YACA/jC,CADsC,GAAAgkC,GAAA,qBAGxChkC,MAAA,OAEEA,MADA,GAAAikC,GAAA,YACAjkC,CADsC,GAAAkkC,GAAA,qBAKxClkC,MAAA,OAEEA,MADA,GAAAmkC,GAAA,YACAnkC,CADsC,GAAAokC,GAAA,qBAGxCpkC,MAAA,OAEEA,MADA,GAAAqkC,GAAA,YACArkC,CADsC,GAAAskC,GAAA,qBAKxCtkC,MAAA,OAEEA,MADA,GAAAukC,GAAA,YACAvkC,CADsC,GAAAwkC,GAAA,qBAexCxkC,MAFA,GAAAykC,GAAA,YAEAzkC,CAFkD,GAAA0kC,GAAA,YAElD1kC,CADuD,GAAA2kC,GAAA,aAMzD3kC,QACAA,MAAA,iDAlHkBA,MAAA,SAAAwD,EAAA5C,aAMEZ,MAAA,GAAAA,MAAA,cAAAwD,EAAA2+B,YAWUniC,MAAA,IAAuBA,MAAvB,cAAA0jC,EAAuB1jC,CAAD,MAAAwD,EAAA8+B,YACbtiC,cAAA,cAAAwD,EAAA4+B,eACFpiC,cAAA,cAAAwD,EAAA6+B,aAEIriC,cAAA,MAAA0jC,GAOjB1jC,MAAA,GAAAA,MAAA,cAAAwD,EAAA++B,WAMJviC,MAAA,GAAAA,MAAA,cAAAwD,EAAAg/B,eAEmBxiC,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAAy+B,cASnBjiC,MAAA,GAAAA,MAAA,cAAAwD,EAAAi/B,mBAEmBziC,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAA0+B,kBAS3BliC,MAAA,GAAAA,MAAAwD,EAAAo/B,gBAWK5iC,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YAuCKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAQjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAAqH,soBClGJw6B,CAAmB,KCRnB+C,GAAqB,MAA5B,MAAOA,EAIDllC,KACA6H,oBAJFmkB,QAERjsB,YACUC,EACA6H,EACeuwB,GAFfl4B,KAAAF,OACAE,KAAA2H,sBAGR3H,KAAK8rB,QAAUoM,EAAInM,UACrB,CAEA5e,OAAO/L,GACL,OAAOpB,KAAKF,KACT84B,KAAa,GAAG54B,KAAK8rB,0BAA2B1qB,GAChDsE,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEA/pB,IAAI0D,GACF,OAAO/F,KAAKF,KACTuC,IAAoB,GAAGrC,KAAK8rB,2BAA2B/lB,KACvDL,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAwQ,UAAUx7B,GACR,OAAOpB,KAAKF,KACTihC,IAAoB,GAAG/gC,KAAK8rB,0BAA2B1qB,GACvDsE,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEApK,SACE,OAAOhiB,KAAKF,KACTuC,IAAsB,GAAGrC,KAAK8rB,2BAC9BpmB,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,4CAjCW4Y,GAAqB5kC,MAAAC,OAAAD,MAAA+C,MAAA/C,MAMtB,eAAa,iCANZ4kC,EAAqB1kC,QAArB0kC,EAAqBzkC,UAAAC,WAFpB,gBAEDwkC,CAAqB,KCGrBC,GAA6B,MAApC,MAAOA,EAgBDC,sBACAvkC,wBACAO,MACAN,OAlBVmF,IACAo/B,eAEA/jC,KAAO,IAAIC,KAAU,CACnB6J,KAAM,IAAI3J,KAAY,GAAIC,KAAWC,UACrCsE,IAAK,IAAIxE,KAAY,GAAIC,KAAWC,UACpCmB,MAAO,IAAIrB,KAAY,GAAIC,KAAWC,YAE/BT,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAqBC,MAAO,2BAA4BC,KAAM,mBACvE,CAAEF,MAAO,uBAAqBC,MAAO,GAAIC,KAAM,SAGjDtB,YACUqlC,EACAvkC,EACAO,EACAN,GAHAZ,KAAAklC,wBACAllC,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,QACP,CAEH2E,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAK+F,IAAMwN,EAAOxN,IAClB/F,KAAKoB,KAAK6B,QACNjD,KAAK+F,KACP/F,KAAKgB,YAAY,GAAK,CACpBC,MAAO,uBACPC,MAAO,mCAAmClB,KAAK+F,MAC/C5E,KAAM,QAERnB,KAAKklC,sBAAsB7iC,IAAIrC,KAAK+F,KAAKjE,UAAUG,IACjDjC,KAAKmlC,eAAiBljC,EACtBjC,KAAKoB,KAAKiB,IAAI,SAAS+Q,SAASnR,EAAIiJ,MACpClL,KAAKoB,KAAKiB,IAAI,QAAQ+Q,SAASpT,KAAKolC,OAAOnjC,EAAI8D,MAC/C/F,KAAKoB,KAAKiB,IAAI,UAAU+Q,SAASnR,EAAIW,MAAK,IAG5C5C,KAAKgB,YAAY,GAAK,CACpBC,MAAO,qBACPC,MAAO,kCACPC,KAAM,SAId,CAEQikC,OAAOl1C,GACb,OAAKA,GAEuB,KAAjBA,EAAMoW,SAEfpW,GADAA,EAAQA,EAAM6mB,QAAQ,MAAO,KACfA,QAAQ,+BAAgC,gBAC/C7mB,GAJA,EAQX,CAEAgS,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEA4K,SAEE,GADAnN,KAAKkC,+BACAlC,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAA6B5X,KAAKoB,KAAKlR,MACvC8P,KAAK+F,KAAO/F,KAAKmlC,gBACnBnlC,KAAKmlC,eAAep/B,IAAM/F,KAAKoB,KAAKiB,IAAI,QAAQqU,cAChD1W,KAAKmlC,eAAej6B,KAAOlL,KAAKoB,KAAKiB,IAAI,SAASqU,cAClD1W,KAAKmlC,eAAeviC,MAAQ5C,KAAKoB,KAAKiB,IAAI,UAAUqU,cACpD1W,KAAKklC,sBAAsBtI,UAAU58B,KAAKmlC,gBAAgBrjC,UAAUqjC,IAClEnlC,KAAKW,wBAAwBqC,mBAAmB,uBAAoBmiC,EAAep/B,8BACnF/F,KAAKY,OAAOsC,SAAS,CAAC,4BAA2B,IAGnDlD,KAAKklC,sBAAsB/3B,OAAOyK,GAAY9V,UAAUqjC,IACtDnlC,KAAKW,wBAAwBqC,mBAAmB,uBAAoBmiC,EAAep/B,8BACnF/F,KAAKY,OAAOsC,SAAS,CAAC,4BAA2B,EAGvD,4CA1FW+hC,GAA6B7kC,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAA,+BAA7B6hC,EAA6B3hC,UAAA,iCAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,2tBAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICb1CvD,MAAA,wBAIMA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,WAAKA,QAGTA,MAFJ,WAEIA,CAFyD,qBAEzDA,CADuD,eAC5CA,MAAA,0CAA8BA,QACzCA,MAAA,cACFA,QAIIA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,UAAGA,QACdA,MAAA,cAOFA,QAGEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,YAAKA,QAChBA,MAAA,cAMZA,kBAKQA,MAJR,gBAIQA,CAJiD,sBAIjDA,CAHY,YAGZA,CAFsC,eAEtCA,CAD4E,eAClEA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,gBAA0CA,MAAA,0BAASwD,EAAAuJ,QAAQ,GAAE/M,MAAA,eAAUA,MAAA,WAAIA,QAAYA,MAAA,cAG7FA,qBAzCkBA,MAAA,SAAAwD,EAAA5C,aAKNZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAYEhB,MAAA,GAAAA,MAAA,4BAQgEA,MAAA,GAAAA,MAAA,0JDZjE6kC,CAA6B,yDEKtC7kC,MAAA,WAAsDA,MAAA,OAACA,oCACvDA,MAAA,WAAkDA,MAAA,GAAmBA,mCAAnBA,cAAA4D,EAAAhC,oCAGlD5B,MAAA,WAAsDA,MAAA,UAAIA,oCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,mCAAdA,cAAA+D,EAAA+G,+BAGrD9K,MAAA,WAAsDA,MAAA,SAAGA,oCACzDA,MAAA,WAAoDA,MAAA,mBAAuCA,mCAAvCA,oBAAA,IAAAsoB,EAAA3iB,IAAA,4CAGpD3F,MAAA,WAAsDA,MAAA,WAAKA,oCAC3DA,MAAA,WAAuDA,MAAA,GAAeA,mCAAfA,cAAAkE,EAAA1B,gCAGvDxC,MAAA,WAAsDA,MAAA,yBAAaA,oCACnEA,MAAA,WAA8DA,MAAA,GAAuBA,mCAAvBA,cAAA4oB,EAAAsP,sCAG9Dl4B,MAAA,sCAOIA,MANJ,UAMIA,CANuE,cAMvEA,CADe,cACLA,MAAA,UAEdA,uCAJIA,cAAA,gDAAA+sB,EAAApnB,IAAA,2BAON3F,MAAA,iCACAA,MAAA,qCAGIA,MAAA,UAA0BA,MAAA,GAA+DA,yCAA/DA,cAAA,gDAAAilC,EAAAn1C,MAAA,8BAC1BkQ,MAAA,UAA2BA,MAAA,mCAA0BA,oCAFvDA,MADF,UACEA,CADgC,WAG9BA,MADA,EAAAklC,EAAA,cACAllC,CAD0B,EAAAmlC,GAAA,eAG9BnlC,0CAHWA,MAAA,GAAAA,MAAA,OAAAilC,EAAAn1C,OACAkQ,cAAA,QAAAilC,EAAAn1C,QCpCb,MAAMwe,GAAiB,CAErB,CACEC,KAAM,OACNC,UAAWqzB,GACXpzB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAI9C,CACEwM,KAAM,SACNC,UAAWgsB,GACX/rB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,wBACNC,UAAWwqB,GACXvqB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAI9C,CACEwM,KAAM,oBACNC,UCpCsC,MAApC,MAAO42B,EAYSN,sBAXKjgC,UACLC,KAEpBC,YAAwB,CAAC,YAAa,OAAQ,MAAO,QAAS,gBAAiB,UAC/EC,WAAiD,IAAIC,KAE5CrE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAqBC,MAAO,2BAA4BC,KAAM,oBAGzEtB,YAAoBqlC,GAAAllC,KAAAklC,uBAA+C,CAEnE3/B,WACEvF,KAAKklC,sBAAsBljB,SAASlgB,UAAU2jC,IACxCA,IACFzlC,KAAKoF,WAAa,IAAIC,KAAmBogC,GACzCzlC,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKoF,WAAWH,UAAYjF,KAAKiF,YAGvC,CAEAs0B,OAAOlf,GAELra,KAAKoF,WAAWe,OADKkU,EAAMqL,OAA4Bx1B,MAClBswB,OAAOpG,aAC9C,4CA3BWorB,GAA6BplC,MAAAC,IAAA,+BAA7BmlC,EAA6BliC,UAAA,iCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC7BgD,KAAY,SACZC,KAAO,mwDFfpBxG,MAAA,wBAIMA,MAHN,UAGMA,CAH0B,QAG1BA,CAFC,aAEDA,CADwG,cAC9FA,MAAA,SAAGA,QACbA,MAAA,iBAGNA,YAGEA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,YAAMA,QAC1BA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,gBAA8BA,MAAA,iBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAASwD,EAAA21B,OAAAhxB,GAAc,GACvDnI,UAEAA,MAAA,cACEA,MAAA,MAEEA,MADA,GAAAslC,GAAA,WACAtlC,CADsD,GAAAulC,GAAA,qBAGxDvlC,MAAA,OAEEA,MADA,GAAAwlC,GAAA,WACAxlC,CADsD,GAAAylC,GAAA,qBAGxDzlC,MAAA,OAEEA,MADA,GAAA0lC,GAAA,WACA1lC,CADsD,GAAA2lC,GAAA,qBAGxD3lC,MAAA,OAEEA,MADA,GAAA4lC,GAAA,WACA5lC,CADsD,GAAA6lC,GAAA,qBAGxD7lC,MAAA,OAEEA,MADA,GAAA8lC,GAAA,WACA9lC,CADsD,GAAA+lC,GAAA,qBAGxD/lC,MAAA,OAEEA,MADA,GAAAgmC,EAAA,YACAhmC,CADsC,GAAAimC,GAAA,qBAcxCjmC,MAFA,GAAAkmC,EAAA,YAEAlmC,CAFkD,GAAAmmC,EAAA,YAElDnmC,CADuD,GAAAomC,GAAA,aAOzDpmC,QACAA,MAAA,6BA3DkBA,MAAA,SAAAwD,EAAA5C,aAgBDZ,MAAA,IAAAA,MAAA,aAAAwD,EAAAwB,YAkCKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAQpB/E,MAAA,GAAgBA,MAAhB,cAAgBA,CAAD,kBAAAA,MAAA,EAAAqH,6JE9CjB+9B,CAA6B,KDqCtC32B,YAAa,CAACC,MACd7I,KAAM,CAAE8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAEpD,CACEwM,KAAM,2BACNC,UAAWq2B,GACXp2B,YAAa,CAACC,MACd7I,KAAM,CAAE8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAEpD,CACEwM,KAAM,gCACNC,UAAWq2B,GACXp2B,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAI9C,CACEwM,KAAM,cACNC,UAAW2vB,GACX1vB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,sBACNC,UAAWuvB,GACXtvB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,0BACNC,UAAWuvB,GACXtvB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAI9C,CACEwM,KAAM,aACNC,UAAWsvB,GACXrvB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,qBACNC,UAAW4uB,GACX3uB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,yBACNC,UAAW4uB,GACX3uB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAI9C,CACEwM,KAAM,wBACNC,UAAWytB,GACXxtB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,+BACNC,UAAW8tB,GACX7tB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,mCACNC,UAAW8tB,GACX7tB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAI9C,CACEwM,KAAM,2BACNC,UAAWkuB,GACXjuB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,mCACNC,UAAWuuB,GACXtuB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,UAG9C,CACEwM,KAAM,uCACNC,UAAWuuB,GACXtuB,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,KAAYsP,MAAMmmB,MAAMhzB,WASzC,IAAMskC,GAAkB,MAAzB,MAAOA,+CAAkB,8BAAlBA,qCAHDxoB,KAAaC,SAASxP,IACtBuP,eAECwoB,CAAkB,KE9ElBC,GAAW,MAAlB,MAAOA,+CAAW,8BAAXA,sCANA,CACT,CAAEC,QAASC,KAAkBC,YAAUC,QACvC,CAAEH,QAASI,MAAiBF,SAAU,UAAO,EAC7CzoB,UACDC,QAAA,CA9BCC,KACAmoB,GACAxoB,KACAO,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAL,KACAM,KACAC,KACAE,KACAK,MACAJ,KACAoX,KAGAnX,KACAG,MACAG,eAQS6mB,CAAW,kICzFdtmC,MAAA,YAA4BA,MAAA,yBAAA4mC,EAAA5mC,MAAA0iB,GAAAve,UAAA0iC,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAAC,QAAAF,EAAAC,EAAAE,WAAAF,EAAAG,aAAsC,GACzEhnC,MAAA,GACFA,oCADEA,cAAA,IAAA4mC,EAAAhO,UAAA,8CASF54B,MAAA,YAA4BA,MAAA,yBAAAinC,EAAAjnC,MAAAkxB,GAAA/sB,UAAA0iC,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAAC,QAAAG,EAAAJ,EAAAG,YAAAH,EAAAE,YAAsC,GACzE/mC,MAAA,GACFA,+CADEA,cAAA,IAAAknC,EAAA,YAAAD,EAAArO,UAAA,MCCL,IAAMuO,EAAqC,MAA5C,MAAOA,EAUSC,oBARX9xB,cACA5N,cACAkD,wBAAoC,GACnCD,iBAAmB,IAAIoV,MAEjCgnB,WAA6B,GAC7BC,YAA8B,GAE9BvnC,YAAoB2nC,GAAAxnC,KAAAwnC,qBACpB,CAEAjiC,WACMvF,KAAK0V,eACP1V,KAAKwnC,oBAAoBC,yBAAyBznC,KAAK0V,eAAe5T,UAAUG,IAC9EjC,KAAKmnC,WAAallC,EAClBjC,KAAK0nC,iCAA+B,GAGpC1nC,KAAK8H,eACP9H,KAAKwnC,oBAAoBG,yBAAyB3nC,KAAK8H,eAAehG,UAAUG,IAC9EjC,KAAKmnC,WAAallC,EAClBjC,KAAK0nC,iCAA+B,EAG1C,CAEQA,kCACN,GAAI1nC,KAAKgL,wBACP,QAASyP,EAAY,EAAGA,EAAIza,KAAKgL,wBAAwB1E,OAAQmU,IAAK,CACpE,IAAImL,EAAuB5lB,KAAKmnC,WAAWhhC,OAAOuoB,GAAKA,EAAExuB,IAAMF,KAAKgL,wBAAwByP,IACxFmL,EAAKtf,OAAS,GAChBtG,KAAKknC,QAAQthB,EAAK,GAAI5lB,KAAKmnC,WAAYnnC,KAAKonC,YAEhD,CAEJ,CAEAQ,KAAKvtB,GACCA,EAAMwtB,oBAAsBxtB,EAAMytB,aACpCC,MAAgB1tB,EAAMytB,UAAU7hC,KAAMoU,EAAM2tB,cAAe3tB,EAAM4tB,eAAY,EAE7EC,MAAkB7tB,EAAMwtB,kBAAkB5hC,KAAMoU,EAAMytB,UAAU7hC,KAAMoU,EAAM2tB,cAAe3tB,EAAM4tB,cAEnGjoC,KAAKmoC,oBACP,CAEAjB,QAAQthB,EAAoBwiB,EAA0BC,GACpD,MAAMttB,EAAQqtB,EAASz2C,QAAQi0B,IACjB,IAAV7K,IACFqtB,EAAS7M,OAAOxgB,EAAO,GACvBstB,EAAO/0B,KAAKsS,IAEd5lB,KAAKmoC,oBACP,CAEQA,qBACNnoC,KAAK+K,iBAAiB2V,KAAK1gB,KAAKonC,YAAY1zB,IAAI+G,GAAKA,EAAEva,IACzD,4CA3DWqnC,GAAqCnnC,MAAAC,KAAA,+BAArCknC,EAAqCjkC,UAAA,0CAAAqd,OAAA,CAAAjL,cAAA,gBAAA5N,cAAA,gBAAAkD,wBAAA,2BAAA4V,QAAA,CAAA7V,iBAAA,oBAAA8V,YAAA,EAAAC,SAAA,CAAA1gB,OAAAmD,MAAA,GAAAC,KAAA,EAAAC,OAAA,klBAAAC,SAAA,SAAAC,EAAAC,GAAA,KAAAD,EAAA,iBDf5CvD,MAHN,UAGMA,CAHkB,UAGlBA,CAF+C,UAE/CA,CAD0D,QACtDA,MAAA,oBAAWA,QACfA,MAAA,aAAsFA,MAAA,8BAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAsBwD,EAAAgkC,KAAAr/B,GAAY,GACtHnI,MAAA,EAAAkoC,EAAA,YAAAloC,OAMJA,UAEEA,MADF,UACEA,CAD0D,WACjCA,MAAA,8BAAoBA,QAC7CA,MAAA,cAAuFA,MAAA,8BAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAsBwD,EAAAgkC,KAAAr/B,GAAY,GACvHnI,MAAA,GAAAmoC,EAAA,YAAAnoC,OAQRA,mDAnB6CA,MAAA,GAAmFA,MAAnF,kBAAAwD,EAAAujC,WAAmF/mC,CAArD,yBAAAA,MAAA,EAAAqH,EAAA+gC,IACnEpoC,MAAA,GAAAA,MAAAwD,EAAAujC,YASqC/mC,MAAA,GAAoFA,MAApF,kBAAAwD,EAAAwjC,YAAoFhnC,CAArD,yBAAAA,MAAA,EAAAqH,EAAAghC,IACpEroC,MAAA,GAAAA,MAAAwD,EAAAwjC,6BCCIsB,KAAaC,MAAOpgB,OAAA,2nCAEnBgf,CAAqC,sUCT5CnnC,MAAA,WAAsDA,MAAA,gBAAUA,qCAChEA,MAAA,WAA2DA,MAAA,GAAwBA,qCAAxBA,cAAA4D,GAAAwkB,0CAG3DpoB,MAAA,WAAsDA,MAAA,WAAKA,sCAC3DA,MAAA,WAAsDA,MAAA,GAAeA,qCAAfA,cAAA+D,GAAAskB,kCAGtDroB,MAAA,WAAsDA,MAAA,eAAMA,sCAC5DA,MAAA,WAAuDA,MAAA,GAAoBA,qCAApBA,cAAAsoB,GAAAC,uCAFzDvoB,MAAA,MAEEA,MADA,EAAAwoC,GAAA,WACAxoC,CADsD,EAAAyoC,GAAA,+CAItDzoC,MAAA,WAAsDA,MAAA,SAAGA,qCACzDA,MAAA,WAAoDA,MAAA,GAAuBA,qCAAvBA,cAAAkE,GAAAwkB,0CAGpD1oB,MAAA,WAAsDA,MAAA,cAAQA,kCAG1DA,MAAA,yCAEAA,MAAA,2CAAAA,MAAA,YAAA2oB,GAAAC,GAAAC,0BAAAC,IAAAH,MAAA,sCAJJ3oB,MAAA,WAGIA,MAFF,EAAA0oC,GAAA,IAEE1oC,CAFiC,EAAA2oC,GAAA,KAKrC3oC,qCALEA,cAAA,GAAA4oB,GAAAC,mBAAA,+BAOJ7oB,MAAA,oCACAA,MAAA,qCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WCrBG,IAAMqpB,GAA+B,MAAtC,MAAOA,GAiBuBlW,OACzBuT,UACC4C,wBACAta,aACAC,oBApBiCpK,UACvBC,KAEpBC,YACAC,WAAyD,IAAIC,KAC7DC,cAAwB,EAEDskB,SACvBC,YAAsB,kCACtB3W,QACAjL,OACAD,UACA8hB,YACAC,wBAEAlqB,YACkC0T,GACzBuT,GACC4C,GACAta,GACAC,IAJwBrP,KAAAuT,UACzBvT,KAAA8mB,aACC9mB,KAAA0pB,2BACA1pB,KAAAoP,gBACApP,KAAAqP,uBAERrP,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAKoP,aAAagF,eAAepU,KAAKkT,SAASpR,UAAUG,KACvDjC,KAAKgI,UAAY/F,IAErB,CAEAsD,WACEvF,KAAK0pB,wBAAwBsf,oBAAoBhpC,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KACpFjC,KAAK+pB,wBAA0B9nB,GAE7BjC,KAAKmF,YADHlD,GACiB,CAAC,iBAAkB,QAAS,aAAc,gBAAiB,sBAE3D,CAAC,iBAAkB,QAAS,gBAAiB,qBAAoB,EAG1F,CAEAuD,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAChEooB,KAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,KAAa,MAAG,EAChBhkB,KAAQsf,IAA+B,UAAVA,GAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAK4F,aAAW,EACf,GACH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,IACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK0pB,wBACFuf,cAAcjpC,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAKgG,aAAchG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAC9G/nB,UAAUmE,KACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,GAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,GAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,GAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,GAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,GAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,EACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAK4F,aACP,8CA3FW6jB,IAA+BrpB,MAiBhCgoB,MAAehoB,MAAAC,MAAAD,MAAA+C,KAAA/C,MAAAgD,KAAAhD,MAAAiD,KAAA,+BAjBdomB,GAA+BnmB,UAAA,4BAAAoD,UAAA,SAAA/C,GAAAC,OAAA,EAAAD,WAC/BgD,KAAY,SACZC,KAAO,usDDnBpBxG,MAAA,qBAGIA,MAFJ,UAEIA,CAFoB,qBAEpBA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,GAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,aAAmDA,MAAA,yBAAAmI,IAAAnI,aAAAmc,IAAAnc,MAAiBwD,GAAAymB,SAAA9hB,IAAgB,GAClFnI,MAAA,MAEEA,MADA,GAAA8oC,EAAA,WACA9oC,CADsD,GAAA+oC,EAAA,oBAGxD/oC,MAAA,OAEEA,MADA,GAAAgpC,EAAA,WACAhpC,CADsD,GAAAipC,GAAA,qBAGxDjpC,MAAA,GAAAkpC,GAAA,uBAIAlpC,MAAA,OAEEA,MADA,GAAAmpC,EAAA,WACAnpC,CADsD,GAAAopC,EAAA,qBAGxDppC,MAAA,OAEEA,MADA,GAAAqpC,GAAA,WACArpC,CADsD,GAAAspC,EAAA,qBAWxDtpC,MAFA,GAAAupC,GAAA,YAEAvpC,CAFkD,GAAAwpC,GAAA,YAElDxpC,CADuD,GAAAypC,GAAA,aAIzDzpC,QACAA,MAAA,uBAKFA,QAKMA,MAHN,iBAGMA,CAHmD,sBAGnDA,CAFc,YAEdA,CADyF,gBACjDA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,GAAAkjB,UAAAqB,QAAsB,GAAE/nB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAG1GA,qBArDeA,MAAA,YAAAwD,GAAAoE,WAA0B5H,MAAA,SAAAwD,GAAAqE,QAOtB7H,MAAA,GAAAA,MAAA,aAAAwD,GAAAwB,YAS0BhF,MAAA,GAAAA,MAAA,OAAAwD,GAAAmmB,yBAkBrB3pB,MAAA,GAAAA,MAAA,kBAAAwD,GAAAuB,aACa/E,cAAA,mBAAAwD,GAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,GAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,EAAAymB,mLCzBN4C,EAA+B,0QCCrC,IAAMqgB,GAAsC,MAA7C,MAAOA,EAauBv2B,OACzBuT,UACCyN,wBACAnlB,aACAzO,wBACA0O,oBAjBsBgS,OAChCC,YACuBsI,SACvBC,YAAsB,mCACtB3W,QACAjL,OACAD,UACA8hB,YACAigB,gBACAC,aAEAnqC,YACkC0T,EACzBuT,EACCyN,EACAnlB,GACAzO,GACA0O,IALwBrP,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAAu0B,0BACAv0B,KAAAoP,gBACApP,KAAAW,2BACAX,KAAAqP,uBAERrP,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKshB,YAAc,CACjBG,QAAS,CACP+G,eAAgB,CAAE7G,MAAO,aAAczc,MAAM,GAC7CuvB,gBAAiB,CAAE9S,MAAO,UAAWzc,MAAM,IAE7CO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BC,SAAUC,IACR/hB,KAAKu0B,wBAAwB0U,cAC3BjpC,KAAKkT,QACLlT,KAAKiI,OACL8Z,GACA/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,KAGxD7pB,KAAKoP,aAAagF,eAAepU,KAAKkT,SAASpR,UAAUG,KACvDjC,KAAKgI,UAAY/F,IAErB,CAEAuD,mBACE0kB,OAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,KAAa,MAAG,EAChBhkB,KAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKu0B,wBAAwB0U,cAC3BjpC,KAAKkT,QACLlT,KAAKiI,YACLihB,EACAlpB,KAAK4pB,UAAU9D,cAAc51B,OAE9ByoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,4CA9EWkkC,GAAsC1pC,MAavCgoB,MAAehoB,MAAAC,MAAAD,MAAA+C,KAAA/C,MAAAgD,KAAAhD,MAAAiD,MAAAjD,MAAAyb,KAAA,+BAbdiuB,EAAsCxmC,UAAA,oCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACtC6e,KAAmB,ylBCnBhCpiB,MAAA,qBAGIA,MAFJ,UAEIA,CAFoB,qBAEpBA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,mBACFA,QAIMA,MAHN,gBAGMA,CAHmD,sBAGnDA,CAFc,WAEdA,CADyF,eACjDA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,EAAAkjB,UAAAqB,QAAsB,GAAE/nB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAG1GA,oBAfeA,MAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAO1B7H,MAAA,GAAAA,MAAA,mBAAAwD,EAAA0d,kHDWFwoB,CAAsC,qRED5C,IAAOG,EAA4B,MAApC,MAAQA,EAWsB12B,OACzBuT,UACCojB,qBACA96B,aACAzO,wBACA0O,oBACA86B,cAhBsB9oB,OAChCC,YACuBsI,SACvBC,YAAsB,0CACb3W,QACAjL,OACTD,UACA8hB,YAEAjqB,YACkC0T,EACzBuT,EACCojB,GACA96B,GACAzO,GACA0O,GACA86B,GANwBnqC,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAAkqC,wBACAlqC,KAAAoP,gBACApP,KAAAW,2BACAX,KAAAqP,uBACArP,KAAAmqC,gBAERnqC,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKshB,YAAc,CACjBG,QAAS,CACPvW,KAAM,CAAEyW,MAAO,OAAQzc,MAAM,IAE/BO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CAAEvV,MAAO,SAAUuf,KAAM,SAAU/J,SAAU1c,GAAKza,KAAK+0B,YAAYta,GAAI6c,UAAW7c,GAAKA,EAAEva,GAAIiB,KAAM,WAErG2gB,SAAUC,GACR/hB,KAAKkqC,qBAAqBjB,cACxBjpC,KAAKkT,QACLlT,KAAKiI,OACL8Z,EACA/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,KAGxD7pB,KAAKoP,aAAagF,eAAepU,KAAKkT,SAASpR,UAAUG,IACvDjC,KAAKgI,UAAY/F,GAErB,CAEAuD,mBACE0kB,OAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,KAAa,MAAG,EAChBhkB,KAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAkL,YAAYqV,GACNA,EAAQn4B,OACVqV,OAAO/O,KAAK,yBAA2B6xB,EAAQn4B,OAAQ,UAGzDjS,KAAKmqC,cAAcE,eAAeD,EAAQE,WAAW3X,WAAW,IAAK,IAAIA,WAAW,IAAK,KAAK7wB,UAAU,CACtGyE,KAAMgkC,IACAA,EAAuBt4B,OACzBqV,OAAO/O,KAAK,yBAA2BgyB,EAAuBt4B,OAAQ,UAEtEjS,KAAKW,wBAAwB+B,iBAAiB,2BAAuB,EAGzEwW,MAAOA,KACLlZ,KAAKW,wBAAwB+B,iBAAiB,2BAAuB,GAG3E,CAEAkD,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKkqC,qBAAqBjB,cAAcjpC,KAAKkT,QAASlT,KAAKiI,YAAQihB,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OAC1GyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,4CA7FYqkC,GAA4B7pC,MAW9BgoB,MAAehoB,MAAAC,MAAAD,MAAA+C,KAAA/C,MAAAgD,KAAAhD,MAAAiD,MAAAjD,MAAAyb,KAAAzb,MAAA0b,KAAA,+BAXbmuB,EAA4B3mC,UAAA,yBAAAoD,UAAA,SAAA/C,EAAAC,OAAA,EAAAD,UAC7B6e,KAAmB,woBClBhCpiB,MAAA,qBAGIA,MAFJ,UAEIA,CAFoB,qBAEpBA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,GAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,mBACFA,QAIMA,MAHN,gBAGMA,CAHmD,sBAGnDA,CAFc,WAEdA,CADyF,eACjDA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,GAAAkjB,UAAAqB,QAAsB,GAAE/nB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAG1GA,oBAfeA,MAAA,YAAAwD,GAAAoE,WAA0B5H,MAAA,SAAAwD,GAAAqE,QAO1B7H,MAAA,GAAAA,MAAA,mBAAAwD,GAAA0d,sHDUD2oB,CAA4B,yYEJtC7pC,MAAA,WAAsDA,MAAA,aAAOA,qCAC7DA,MAAA,WAAwDA,MAAA,GAAgBA,qCAAhBA,cAAA4D,GAAAkpB,kCAGxD9sB,MAAA,WAAsDA,MAAA,WAAKA,sCAC3DA,MAAA,WAAsDA,MAAA,GAAmBA,qCAAnBA,cAAA+D,GAAAL,sCAGtD1D,MAAA,WAAsDA,MAAA,kBAAMA,sCAC5DA,MAAA,WAAuDA,MAAA,GAAsBA,qCAAtBA,cAAAsoB,GAAA3kB,wCAGvD3D,MAAA,WAAsDA,MAAA,gCAAiBA,sCACvEA,MAAA,WACEA,MAAA,mBACFA,qCADEA,cAAA,IAAAA,MAAA,IAAAkE,GAAAL,qBAAA,8CAIF7D,MAAA,WAAsDA,MAAA,iCAAkBA,sCACxEA,MAAA,WACEA,MAAA,mBACFA,qCADEA,cAAA,IAAAA,MAAA,IAAA4oB,GAAA9kB,mBAAA,8CAIF9D,MAAA,WAAsDA,MAAA,qBAAYA,sCAClEA,MAAA,WAA6DA,MAAA,mBAAgDA,qCAAhDA,oBAAA,IAAA+sB,GAAAE,iBAAA,0CAG7DjtB,MAAA,WAAsDA,MAAA,sBAAaA,sCACnEA,MAAA,WAA8DA,MAAA,mBAA8CA,qCAA9CA,oBAAA,IAAAipB,GAAAkE,eAAA,0CAG9DntB,MAAA,WAAsDA,MAAA,wBAAeA,sCACrEA,MAAA,WAAgEA,MAAA,GAA2BA,qCAA3BA,cAAAktB,GAAAkd,6CAGhEpqC,MAAA,wDAOMA,MAAA,eAAsBA,MAAA,mBAAAA,MAAA8I,IAAA,MAAAukB,GAAArtB,QAAAmE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAA+c,cAAAhd,GAAAid,UAA2B,GACxDtqC,MAAA,cAAUA,MAAA,UAAIA,QACdA,MAAA,uBACFA,sDAsBEA,MAAA,eACEA,MAAA,yBAAAuqC,GAAAvqC,MAAAgyB,IAAA7tB,UAAAmpB,GAAAttB,MAAA,UAAAA,MAASstB,GAAAkd,kBAAAD,GAAAzqC,GAAAyqC,GAAAE,QAAmD,GAC5DzqC,MAAA,cAAUA,MAAA,oBAAcA,QACxBA,MAAA,mBACJA,uCADIA,MAAA,GAAAA,MAAA,IAAAuqC,GAAAE,OAAA,KAAAzqC,MAAA,IAAAuqC,GAAA1kC,KAAA,kEAGJ7F,MAAA,eAGEA,MAAA,mBAAAA,MAAA0qC,IAAA,MAAArd,GAAArtB,QAAAmE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAAqd,iBAAAtd,GAAAvtB,GAAAutB,GAAAud,kBAAgD,+BAA8B,GACvF5qC,MAAA,cAAUA,MAAA,oBAAcA,QACxBA,MAAA,mCACFA,sDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAA6qC,IAAA,MAAAxd,GAAArtB,QAAAmE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAAqd,iBAAAtd,GAAAvtB,GAAAutB,GAAAyd,kBAAgD,kCAA8B,GACvF9qC,MAAA,cAAUA,MAAA,oBAAcA,QACxBA,MAAA,sCACFA,qDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAA6J,IAAA,MAAAwjB,GAAArtB,QAAAmE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAAqd,iBAAAtd,GAAAvtB,GAAAutB,GAAA0d,kBAAgD,4BAA2B,GACpF/qC,MAAA,cAAUA,MAAA,oBAAcA,QACxBA,MAAA,gCACFA,sDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAAgrC,IAAA,MAAA3d,GAAArtB,QAAAmE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAAqd,iBAAAtd,GAAAvtB,GAAAutB,GAAA4d,mBAAiD,yBAAwB,GAClFjrC,MAAA,cAAUA,MAAA,oBAAcA,QACxBA,MAAA,6BACFA,sDA7DAA,MAHN,UAGMA,CAH6B,WAG7BA,CAFqF,cAErFA,CAD8E,cACpEA,MAAA,UACZA,UACAA,MAAA,qBACEA,MAAA,EAAAkrC,GAAA,iBAIAlrC,MAAA,eAAsBA,MAAA,yBAAAqtB,GAAArtB,MAAA4I,IAAAzE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAA6d,SAAA9d,GAAAvtB,GAAAutB,GAAAva,QAAAua,GAAA1pB,cAA+C,GAC5E3D,MAAA,cAAUA,MAAA,oBAAaA,QACvBA,MAAA,iBACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAqtB,GAAArtB,MAAA4I,IAAAzE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAA0c,QAAA3c,GAAAva,QAAAua,GAAA1pB,cAAsC,GACnE3D,MAAA,eAAUA,MAAA,aAAMA,QAChBA,MAAA,iBACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAqtB,GAAArtB,MAAA4I,IAAAzE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAA8d,WAAA/d,GAAAva,QAAAua,GAAA1pB,cAAyC,GACtE3D,MAAA,eAAUA,MAAA,aAAMA,QAChBA,MAAA,oBACFA,QACAA,MAAA,gBAEEA,MAAA,yBAAAqtB,GAAArtB,MAAA4I,IAAAzE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAAC,kBAAAF,GAAAva,QAAAua,GAAA1pB,cAAgD,GAEzD3D,MAAA,eAAUA,MAAA,oBAAaA,QACvBA,MAAA,qCACFA,QACAA,MAAA,kBACAA,MAAA,GAAAqrC,GAAA,gBAAArrC,OA4BAA,MArBA,GAAAsrC,GAAA,gBAqBAtrC,CAlB2F,GAAAurC,GAAA,gBAkB3FvrC,CAX2F,GAAAwrC,EAAA,gBAW3FxrC,CAJwF,GAAAyrC,GAAA,iBAW1FzrC,QACAA,MAAA,gBAGEA,MAAA,yBAAAqtB,GAAArtB,MAAA4I,IAAAzE,UAAAmpB,GAAAttB,QAAA,OAAAA,MAASstB,GAAAoe,UAAAre,GAAAvtB,GAAAutB,GAAAse,qBAAAte,GAAAva,QAAAua,GAAA1pB,cAA0E,GAEnF3D,MAAA,eAAUA,MAAA,eAAQA,QAAYA,MAAA,8BAGpCA,uDAxE0CA,MAAA,GAAAA,MAAA,oBAAA4rC,IAIyB5rC,MAAA,GAAAA,MAAA,OAAAqtB,GAAAid,UAwB7DtqC,MAAA,IAAAA,MAAAqtB,GAAAwe,aAQG7rC,MAAA,GAAAA,MAAA,OAAAqtB,GAAAud,mBAOA5qC,cAAA,OAAAqtB,GAAAyd,mBAOA9qC,cAAA,OAAAqtB,GAAA0d,mBAOA/qC,cAAA,OAAAqtB,GAAA4d,8CAiBXjrC,MAAA,oCACAA,MAAA,qCAEEA,MADF,UACEA,CADgC,WACEA,MAAA,yCACpCA,WC1GK,IAAM8rC,GAA0B,MAAjC,MAAOA,GAwBDC,4BACA/nB,gBACA/U,oBACAK,OACA9O,OACAF,iBA5BiCuE,UACvBC,KAEpBC,YAAyB,CACvB,SACA,YACA,eACA,uBACA,qBACA,mBACA,iBACA,oBACA,UAGFC,WAAuD,IAAIC,KAC3DC,cAAwB,EACxB8mC,UAEuBxiB,SACvBC,YAAsB,4BAEtBhqB,YACUssC,GACA/nB,GACA/U,GACAK,GACA9O,GACAF,IALAV,KAAAmsC,+BACAnsC,KAAAokB,mBACApkB,KAAAqP,uBACArP,KAAA0P,UACA1P,KAAAY,UACAZ,KAAAU,oBAERV,KAAKU,iBAAiBmB,MAAMC,UAAUC,KACpC/B,KAAKosC,UAAYrqC,IAErB,CAEAyD,kBAEExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,QAE5BglB,KAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,KAAa,MAAG,EAChBhkB,KAAQsf,IAA+B,UAAVA,GAAEn1B,MAAe,EAC9C85B,QAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAK4F,aAAW,EACf,GAEH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,IACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAKmsC,4BACFE,wBAAwBrsC,KAAKgG,aAAchG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAC7F/nB,UAAUmE,KACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,GAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,GAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,GAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,GAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,GAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,EACT,CAEAg4B,SAASrrC,GAAYgT,GAAiBjL,IACpCjI,KAAK0P,OAAO6I,KAAK+zB,IAAyB,CACxCrmC,KAAM,CAAE/F,GAAIA,GAAIgT,QAASA,GAASjL,OAAQA,IAC1C2mB,WAAY,qBAEhB,CAEAwb,QAAQl3B,GAAiBjL,IACvBjI,KAAK0P,OAAO6I,KAAK0xB,IAA8B,CAC7ChkC,KAAM,CAAEiN,QAASA,GAASjL,OAAQA,IAClC2mB,WAAY,qBAEhB,CAEA4c,WAAWt4B,GAAiBjL,IAC1BjI,KAAK0P,OAAO6I,KAAKkR,IAAiC,CAChDxjB,KAAM,CAAEiN,QAASA,GAASjL,OAAQA,IAClC2mB,WAAY,qBAEhB,CAEAjB,kBAAkBza,GAAiBjL,IACjCjI,KAAK0P,OAAO6I,KAAKuxB,IAAwC,CACvD7jC,KAAM,CAAEiN,QAASA,GAASjL,OAAQA,IAClC2mB,WAAY,qBAEhB,CAEAkd,UAAU5rC,GAAY6rC,GAA8B74B,GAAiBnP,IACtC,OAAzBgoC,IAA0D,KAAzBA,IAC9BA,GAAqB3xB,cAAclD,WAAW,UACjD60B,GAAuB,KAAOA,IAEhCzkB,OAAO/O,KAAKwzB,GAAsB,WAElC/rC,KAAKY,OAAOsC,SAAS,CAAC,kBAAkBhD,sBAE5C,CAEA+pB,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAK4F,aACP,CAEA6kC,cAAcC,IACPA,GAAStwB,cAAclD,WAAW,UACrCwzB,GAAW,KAAOA,IAEpBpjB,OAAO/O,KAAKmyB,GAAU,SACxB,CAEAE,kBAAkB1qC,GAAYgL,IAC5BlL,KAAKokB,gBAAgBgC,wBAAwB,mCAAmClmB,KAAM,YAAY4B,UAAUukB,KAC1GrmB,KAAK63B,oBAAoB3sB,GAAMmb,GAAG,EAEtC,CAEA0kB,iBAAiB73B,GAAiBq5B,GAAerhC,IAC/ClL,KAAKokB,gBAAgBgC,wBACnB,kCAAkClT,cAClCq5B,IACAzqC,UAAUukB,KACVrmB,KAAK63B,oBAAoB3sB,GAAMmb,GAAG,EAEtC,CAEQwR,oBAAoBlW,GAAe0E,IACzCrmB,KAAK0P,OAAO6I,KAAK+N,IAA8B,CAC7CrgB,KAAM,CAAEsgB,gBAAiB5E,GAAO6E,aAAcH,IAC9CI,MAAO,MACPC,OAAQ,OAEZ,8CA7JWwlB,IAA0B9rC,MAAAC,KAAAD,MAAA+C,KAAA/C,MAAAgD,KAAAhD,MAAAiD,MAAAjD,MAAAyb,OAAAzb,MAAA0b,MAAA,+BAA1BowB,GAA0B5oC,UAAA,kBAAAoD,UAAA,SAAA/C,GAAAC,OAAA,EAAAD,WAC1BgD,KAAY,SACZC,KAAO,syFDzBlBxG,MADF,qBACEA,CADuD,gBACnCA,MAAA,mBAAAA,aAAAmc,IAAAnc,MAASwD,GAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,aAMEA,MAAA,yBAAAmI,IAAAnI,aAAAmc,IAAAnc,MAAiBwD,GAAAymB,SAAA9hB,IAAgB,GACjCnI,MAAA,KAEEA,MADA,EAAAosC,GAAA,WACApsC,CADsD,GAAAqsC,EAAA,oBAGxDrsC,MAAA,MAEEA,MADA,GAAAssC,EAAA,WACAtsC,CADsD,GAAAusC,GAAA,qBAGxDvsC,MAAA,OAEEA,MADA,GAAAwsC,GAAA,WACAxsC,CADsD,GAAAysC,GAAA,qBAGxDzsC,MAAA,OAEEA,MADA,GAAA0sC,EAAA,WACA1sC,CADsD,GAAA2sC,GAAA,qBAKxD3sC,MAAA,OAEEA,MADA,GAAA4sC,GAAA,WACA5sC,CADsD,GAAA6sC,GAAA,qBAKxD7sC,MAAA,OAEEA,MADA,GAAA8sC,GAAA,WACA9sC,CADsD,GAAA+sC,GAAA,qBAGxD/sC,MAAA,OAEEA,MADA,GAAAgtC,GAAA,WACAhtC,CADsD,GAAAitC,GAAA,qBAGxDjtC,MAAA,OAEEA,MADA,GAAAktC,GAAA,WACAltC,CADsD,GAAAmtC,GAAA,qBAGxDntC,MAAA,OAEEA,MADA,GAAAotC,GAAA,YACAptC,CADsC,GAAAqtC,GAAA,sBA+ExCrtC,MAFA,GAAAstC,GAAA,YAEAttC,CAFkD,GAAAutC,GAAA,YAElDvtC,CADuD,GAAAwtC,GAAA,aAIzDxtC,QACAA,MAAA,8BA7HEA,MAAA,GAAAA,MAAA,aAAAwD,GAAAwB,YAuHoBhF,MAAA,IAAAA,MAAA,kBAAAwD,GAAAuB,aACa/E,cAAA,mBAAAwD,GAAAuB,aAKpB/E,MAAA,GAAyCA,MAAzC,SAAAwD,GAAA0B,cAAyClF,CAAjB,cAAiBA,CAAD,kBAAAA,MAAA,EAAAymB,mLC5G1CqlB,EAA0B,6HCfhC,IAAM2B,EAA0B,MAAjC,MAAOA,UAAkCpuC,KAOVC,YAN1BC,MAAQ,uBACRmuC,aAAe,WAAa9tC,KAAKL,MAC1CC,OAEAC,YACEC,EACiCJ,GAEjCK,MAAMD,EAAMJ,GAFqBM,KAAAN,cAGjCM,KAAKJ,OAASE,CAChB,CAEAiuC,iBAAiB7tC,GACf,OAAOF,KAAKG,SAASH,KAAK8tC,aAAe,gBAAiB5tC,EAC5D,4CAfW2tC,GAAyBztC,MAAAC,MAAAD,MAO1B,eAAa,iCAPZytC,EAAyBvtC,QAAzButC,EAAyBttC,UAAAC,WAFxB,gBAEDqtC,CAA0B,+GC0BrBztC,MAJF,sBAIEA,CAD2E,eAChEA,MAAA,0BAAoBA,QAC/BA,MAAA,cACFA,cAJEA,MAAA,mDALNA,MADF,eACEA,CADyE,YACjEA,MAAA,qBAAeA,QAErBA,MADF,UACEA,CADuC,YAErCA,MAAA,EAAA4tC,GAAA,yBASN5tC,kCAN4BA,MAAA,GAAAA,MAAA,UAAA2H,EAAAkmC,2BAAA7rC,iCAkH1BhC,MADF,eACEA,CAD2E,YACnEA,MAAA,mBAAaA,QAIfA,MAHN,UAGMA,CAHmC,UAGnCA,CAFsD,qBAEtDA,CADuD,eAC5CA,MAAA,qBAASA,QACpBA,MAAA,iBAIRA,sCAEEA,MADF,eACEA,CADoF,YAC5EA,MAAA,iBAAQA,QAIVA,MAHN,UAGMA,CAHmC,UAGnCA,CAFsD,qBAEtDA,CADuD,eAC5CA,MAAA,2BAAkBA,QAC7BA,MAAA,cACFA,QAEEA,MADF,qBACEA,CADuD,gBAC5CA,MAAA,0BAAmBA,QAC9BA,MAAA,eAIRA,uBC7JH,IAAMksC,EAAuB,MAA9B,MAAOA,EAWuB/4B,OACzBuT,UACCqlB,4BACA/8B,aACAI,YACA0+B,0BACAz+B,GAhBVvP,GACAgT,QACAlL,UACA8hB,YAEA1oB,KAEA+sC,sBAEAtuC,YACkC0T,EACzBuT,EACCqlB,GACA/8B,GACAI,GACA0+B,GACAz+B,GANwBzP,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAAmsC,+BACAnsC,KAAAoP,gBACApP,KAAAwP,eACAxP,KAAAkuC,6BACAluC,KAAAyP,KAERzP,KAAKoB,KAAO,IAAIC,KAAU,CACxBnB,GAAI,IAAIqB,KAAY,IACpB6sC,MAAO,IAAI7sC,KAAY,IACvB8sC,QAAS,IAAI9sC,KAAY,KACzB+7B,iBAAkB,IAAI/7B,KAAY,KAClCwC,aAAc,IAAIxC,MAAY,GAC9By8B,UAAW,IAAIz8B,KAAY,KAC3B+sC,qBAAsB,IAAI/sC,KAAY,KACtC6rB,gBAAiB,IAAI7rB,KAAY,KACjCgtC,oBAAqB,IAAIhtC,KAAY,KACrCitC,wBAAyB,IAAIjtC,KAAY,KACzCktC,WAAY,IAAIltC,KAAY,KAC5BmtC,YAAa,IAAIntC,KAAY,KAC7BotC,aAAc,IAAIptC,KAAY,KAC9BqtC,YAAa,IAAIrtC,MAAY,GAC7BstC,oBAAqB,IAAIttC,MAAY,GACrCipC,kBAAmB,IAAIjpC,MAAY,GACnC0C,qBAAsB,IAAI1C,KAAY,KACtC2C,mBAAoB,IAAI3C,KAAY,KACpCutC,mBAAoB,IAAIvtC,KAAY,KACpCwtC,iBAAkB,IAAIxtC,KAAY,KAClCytC,qBAAsB,IAAIztC,KAAY,MACtC0tC,mBAAoB,IAAI1tC,KAAY,KACpC8rB,iBAAkB,IAAI9rB,KAAY,KAClCgsB,eAAgB,IAAIhsB,KAAY,KAChC2tC,cAAe,IAAI3tC,KAAY,KAC/B4tC,uBAAwB,IAAI5tC,KAAY,KACxC6tC,mBAAoB,IAAI7tC,KAAY,KACpC4sC,sBAAuBnuC,KAAKyP,GAAG4/B,MAAM,MAEvCrvC,KAAKE,GAAKF,KAAKuT,OAAOrT,GACtBF,KAAKkT,QAAUlT,KAAKuT,OAAOL,QAC3BlT,KAAK8pB,YAAc9pB,KAAKuT,OAAOtL,OAC/BjI,KAAKoB,MAAM6B,QACXjD,KAAKoP,aAAagF,eAAepU,KAAKkT,SAASpR,UAAUG,IACvDjC,KAAKgI,UAAY/F,GAErB,CAEAsD,WACE,MAAM4oC,EAAmCnuC,KAAKoB,KAAKiB,IAAI,yBACvDrC,KAAKkuC,0BAA0BH,iBAAiB/tC,KAAKE,IAAI4B,UAAUG,IACjEA,EAAI0S,QAAQ05B,KACVF,EAAsB76B,KACpBtT,KAAKyP,GAAG0F,MAAM,CACZk5B,QAASA,GAAQiB,2BAA6B,MAAQjB,GAAQkB,4BAC9D,EAEL,GAGCvvC,KAAKE,IACPF,KAAKmsC,4BAA4BqD,YAAYxvC,KAAKE,IAAI4B,UAAUG,IAC9DjC,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASnR,EAAI/B,GAAG2L,YACzC7L,KAAKoB,KAAKgB,SAASgsC,MAASh7B,SAASnR,EAAImsC,OACzCpuC,KAAKoB,KAAKgB,SAASisC,QAAWj7B,SAASnR,EAAIosC,SAC3CruC,KAAKoB,KAAKgB,SAASk7B,iBAAoBlqB,SAASnR,EAAIq7B,kBACpDt9B,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAASnR,EAAI8B,cAChD/D,KAAKoB,KAAKgB,SAAS47B,UAAa5qB,SAASnR,EAAI+7B,WAC7Ch+B,KAAKoB,KAAKgB,SAASksC,qBAAwBl7B,SACzCpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAIqsC,wBAE/CtuC,KAAKoB,KAAKgB,SAASgrB,gBAAmBha,SAASnR,EAAImrB,iBACnDptB,KAAKoB,KAAKgB,SAASmsC,oBAAuBn7B,SAASnR,EAAIssC,qBACvDvuC,KAAKoB,KAAKgB,SAASosC,wBAA2Bp7B,SAASnR,EAAIusC,yBAC3DxuC,KAAKoB,KAAKgB,SAASqsC,WAAcr7B,SAASnR,EAAIwsC,YAC9CzuC,KAAKoB,KAAKgB,SAASssC,YAAet7B,SAASnR,EAAIysC,aAC/C1uC,KAAKoB,KAAKgB,SAASusC,aAAgBv7B,SAASnR,EAAI0sC,aAAa9iC,WAAa,UAC1E7L,KAAKoB,KAAKgB,SAASwsC,YAAex7B,SAASnR,EAAI2sC,aAC/C5uC,KAAKoB,KAAKgB,SAASysC,oBAAuBz7B,SAASnR,EAAI4sC,qBACvD7uC,KAAKoB,KAAKgB,SAASooC,kBAAqBp3B,SAASnR,EAAIuoC,mBACrDxqC,KAAKoB,KAAKgB,SAAS6B,qBAAwBmP,SACzCpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAIgC,wBAE/CjE,KAAKoB,KAAKgB,SAAS8B,mBAAsBkP,SACvCpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAIiC,sBAE/ClE,KAAKoB,KAAKgB,SAAS0sC,mBAAsB17B,SACvCpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAI6sC,sBAE/C9uC,KAAKoB,KAAKgB,SAAS2sC,iBAAoB37B,SAASpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAI8sC,oBAC7F/uC,KAAKoB,KAAKgB,SAAS4sC,qBAAwB57B,SACzCpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAI+sC,wBAE/ChvC,KAAKoB,KAAKgB,SAAS6sC,mBAAsB77B,SACvCpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAIgtC,sBAE/CjvC,KAAKoB,KAAKgB,SAASirB,iBAAoBja,SAASpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAIorB,oBAC7FrtB,KAAKoB,KAAKgB,SAASmrB,eAAkBna,SAASpT,KAAKwP,YAAYigC,eAAe,IAAI7e,KAAK3uB,EAAIsrB,kBAC3FvtB,KAAKoB,KAAKgB,SAAS8sC,cAAiB97B,SAASnR,EAAIitC,eACjDlvC,KAAKoB,KAAKgB,SAAS+sC,uBAA0B/7B,SAASnR,EAAIktC,wBAC1DnvC,KAAKoB,KAAKgB,SAASgtC,mBAAsBh8B,SAASnR,EAAImtC,mBAAkB,EAG9E,CAEOnB,2BACL,OAAOjuC,KAAKoB,KAAKgB,SAAS+rC,qBAC5B,4CArHW7B,GAAuBlsC,MAWxBgoB,MAAehoB,MAAAC,MAAAD,MAAA+C,KAAA/C,MAAAgD,KAAAhD,MAAAiD,KAAAjD,MAAAyb,GAAAzb,MAAA0b,MAAA,+BAXdwwB,EAAuBhpC,UAAA,0BAAAC,MAAA,IAAAC,KAAA,EAAAC,OAAA,ijFAAAC,SAAA,SAAAC,EAAAC,IAAA,EAAAD,IDfpCvD,MAAA,qBAOYA,MANZ,UAMYA,CANY,WAMZA,CAH4C,UAG5CA,CAF6C,eAE7CA,CADsB,YACdA,MAAA,oBAAcA,QAIhBA,MAHN,UAGMA,CAHmC,UAGnCA,CAFsD,qBAEtDA,CADuD,gBAC5CA,MAAA,oBAAaA,QACxBA,MAAA,cAEJA,UAGIA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,yBAAkBA,QAC7BA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,8BAAoBA,QAC/BA,MAAA,eAIRA,cACAA,MAAA,GAAAsvC,GAAA,mBAeEtvC,MADF,gBACEA,CADsB,aACdA,MAAA,4BAAeA,QAIjBA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,gCAAgBA,QAC3BA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,6CAAgCA,QAC3CA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,mCAAsBA,QACjCA,MAAA,eAEJA,UAGIA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,kCAAwBA,QACnCA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,uBAAgBA,QAC3BA,MAAA,eAEJA,UAGIA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,iBAAUA,QACrBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,sBAAYA,QACvBA,MAAA,eAEJA,UAGIA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,uBAAaA,QACxBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,yBAAeA,QAC1BA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,mCAAsBA,QACjCA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,mCAAsBA,QACjCA,MAAA,eAIRA,cAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,kBAAQA,QAIVA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,wCAA2BA,QACtCA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,sCAAyBA,QACpCA,MAAA,eAEJA,UAGIA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,oCAAuBA,QAClCA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,kCAAqBA,QAChCA,MAAA,gBAEJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,iBAC5CA,MAAA,oCAAyBA,QACpCA,MAAA,gBACFA,QAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,kCAAuBA,QAClCA,MAAA,gBAEJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,iBAC5CA,MAAA,6BAAqBA,QAChCA,MAAA,gBACFA,QAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,2BAAmBA,QAC9BA,MAAA,gBAIRA,cAYAA,MAXA,IAAAuvC,EAAA,kBAWAvvC,CAX6E,IAAAwvC,GAAA,oBA8BvFxvC,YAKMA,MAHN,kBAGMA,CAHmD,uBAGnDA,CAFc,aAEdA,CADyF,iBACjDA,MAAA,0BAASwD,GAAAkjB,UAAAqB,OAAsB,GAAE/nB,MAAA,gBAAUA,MAAA,aAAKA,QAAYA,MAAA,eAG1GA,qBAzLeA,MAAA,YAAAwD,GAAAoE,WAA0B5H,MAAA,SAAAwD,GAAAkmB,aAI7B1pB,MAAA,GAAAA,MAAA,YAAAwD,GAAAxC,MAuBuBhB,MAAA,IAAAA,MAAA,OAAAwD,GAAAqqC,2BAAA7rC,SAAAkE,QAwHAlG,MAAA,IAAAA,MAAA,aAAAwD,GAAAxC,KAAAgB,SAAA8sC,cAAAh/C,MAAA,KAAA0T,GAAAxC,KAAAgB,SAAA8sC,cAAAh/C,MAAAoW,QAWAlG,cAAA,aAAAwD,GAAAxC,KAAAgB,SAAA+sC,uBAAAj/C,MAAA,KAAA0T,GAAAxC,KAAAgB,SAAA+sC,uBAAAj/C,MAAAoW,yJC/ItBgmC,CAAuB,kJCL7B,IAAMuD,EAA6B,MAApC,MAAOA,WAAqCpwC,KAMbC,YACzBiI,oBANDhI,MAAQ,0BACjBC,OAEAC,YACEC,EACiCJ,EACzBiI,IAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,uBAGR3H,KAAKJ,OAASE,CAChB,CAEAgwC,yBAAyBhoC,GACvB,OAAO9H,KAAKG,SAAS,GAAGH,KAAKL,qBAAsBmI,EACrD,CAEAqF,OAAO4iC,GACL,OAAO/vC,KAAK6iB,OAAO7iB,KAAKL,MAAOowC,GAAuBrqC,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAChG,CAEAwQ,UAAU18B,EAAY6vC,GACpB,OAAO/vC,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,IAAM6vC,GAAuBrqC,KAC/DonB,IACA9sB,KAAK2H,oBAAoBykB,aAE7B,4CA1BWyjB,IAA4BzvC,MAAAC,MAAAD,MAM7B,eAAaA,MAAA+C,KAAA,iCANZ0sC,GAA4BvvC,QAA5BuvC,GAA4BtvC,UAAAC,WAF3B,gBAEDqvC,EAA6B,wLCmDpCzvC,MAAA,eAA0CA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAloC,GAAA3H,MAAA,UAAAA,MAAS2H,GAAAoF,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,cAC5BA,oDA/DNA,MAAA,SACEA,MAAA,qBAKIA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,SAAGA,QAGPA,MAFJ,WAEIA,CAFyD,qBAEzDA,CADuD,eAC5CA,MAAA,gBAAMA,QACjBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,yBAAkBA,QAC7BA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,sBAAeA,QAC1BA,MAAA,cACFA,QAIMA,MAHN,YAGMA,CAHmC,YAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,qBAAcA,QACzBA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,GAAA3H,QAAA,OAAAA,MAAS2H,GAAA87B,UAAU,cAAa,GAAEzjC,MAAA,YAAKA,QAG1EA,MAFA,cAEAA,CAF2F,8BAE3FA,CADkF,4BAEpFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,qBAAcA,QACzBA,MAAA,eAMFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,iBAAUA,QACrBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,eAAQA,QAEjBA,MADF,mBACEA,CADsC,oBACfA,MAAA,iBAAUA,QACjCA,MAAA,oBAAuBA,MAAA,aAAGA,QAC1BA,MAAA,oBAAuBA,MAAA,UAQvCA,wBACAA,MAAA,SAIMA,MAHN,gBAGMA,CAH0B,sBAG1BA,CAFc,YAEdA,CADyF,gBACjDA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,GAAA3H,QAAA,OAAAA,MAAS2H,GAAAsR,SAAQ,GAAEjZ,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAAMA,QAC5FA,MAAA,GAAA8vC,EAAA,iBAMN9vC,mDAlEiBA,cAAA,YAAA2H,EAAAC,WAA0B5H,MAAA,SAAA2H,EAAAE,QAM/B7H,MAAA,GAAAA,MAAA,YAAA2H,EAAA3G,MAkB2BhB,MAAA,IAAAA,MAAA,gBAAA+vC,GACQ/vC,cAAA,MAAA+vC,GAS/B/vC,MAAA,GAAAA,MAAA,4BAK0CA,MAAA,GAAAA,MAAA,4BAqBUA,MAAA,IAAAA,MAAA,QAAA2H,EAAA8iB,sCAQlEzqB,MADF,QACEA,CADqB,YAEnBA,MAAA,wFAEJA,WCzDO,IAAMgwC,GAAoC,MAA3C,MAAOA,GAqBuB78B,OACzBuT,UACCupB,6BACAxrC,mBACAlE,wBACAgpB,qBAzBVvoB,KAAO,IAAIC,KAAU,CACnByG,cAAe,IAAIvG,KAAY,GAAIC,KAAWC,UAC9CoS,SAAU,IAAItS,KAAY,GAAIC,KAAWC,UACzC6uC,iBAAkB,IAAI/uC,KAAY,GAAIC,KAAWC,UACjD8uC,eAAgB,IAAIhvC,KAAY,GAAIC,KAAWC,UAC/C+uC,YAAa,IAAIjvC,KAAY,GAAIC,KAAWC,UAC5CgvC,WAAY,IAAIlvC,KAAY,IAAIqvB,KAAQpvB,KAAWC,UACnDivC,WAAY,IAAInvC,KAAY,GAAI,CAACC,KAAWC,YAAUkvC,UACtDC,UAAW,IAAIrvC,KAAY,GAAI,CAACC,KAAWC,YAAUovC,UACrDC,SAAU,IAAIvvC,KAAY,GAAIC,KAAWC,YAE3CvB,GACA8H,UACAC,OACAopB,UACAxG,YAAsB,EACtBkmB,UAAoB,EACpBC,WAAqB,EAErBnxC,YACkC0T,EACzBuT,EACCupB,GACAxrC,GACAlE,GACAgpB,GALwB3pB,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAAqwC,gCACArwC,KAAA6E,sBACA7E,KAAAW,2BACAX,KAAA2pB,sBACP,CAEHpkB,WACEvF,KAAKoB,KAAKgB,SAASyR,SAAYT,SAASpT,KAAKuT,OAAOM,UACpD7T,KAAKoB,KAAKgB,SAAS0F,cAAiBsL,SAASpT,KAAKuT,OAAOzL,cAAc+D,YACvE7L,KAAKqwC,6BAA6BP,yBAAyB9vC,KAAKuT,OAAOzL,eAAehG,UAAUG,IAC1FA,EAAI/B,IACNF,KAAKE,GAAK+B,EAAI/B,GACdF,KAAKgI,UAAY/F,EAAI6B,UACrB9D,KAAKiI,OAAShG,EAAIgG,OAClBjI,KAAKqxB,UAAYpvB,EAAIovB,UACrBrxB,KAAKoB,KAAKgB,SAASkuC,iBAAoBl9B,SAASnR,EAAIquC,kBACpDtwC,KAAKoB,KAAKgB,SAASmuC,eAAkBn9B,SAASnR,EAAIsuC,gBAClDvwC,KAAKoB,KAAKgB,SAASouC,YAAep9B,SAASnR,EAAIuuC,aAC/CxwC,KAAKoB,KAAKgB,SAASquC,WAAcr9B,YAAS69B,MAAgBhvC,EAAIwuC,aAC9DzwC,KAAKoB,KAAKgB,SAASsuC,WAAct9B,SAASnR,EAAIyuC,WAAW7kC,YACzD7L,KAAKoB,KAAKgB,SAASsuC,WAAc38B,yBACjC/T,KAAKoB,KAAKgB,SAASwuC,UAAax9B,SAA0B,MAAjBnR,EAAI2uC,UAAoB3uC,EAAI2uC,UAAU/kC,WAAa,MAC5F7L,KAAKoB,KAAKgB,SAAS0uC,SAAY19B,SAASnR,EAAI6uC,UAC5C9wC,KAAK+wC,UAAW,GAEZ/wC,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,aAGrD9qB,KAAKgxC,WAAY,GAEjBhxC,KAAKoB,KAAKgB,SAASquC,WAAcr9B,SAAS,MAC1CpT,KAAKoB,KAAKgB,SAASsuC,WAAct9B,SAAS,MAC1CpT,KAAK6E,mBAAmBqsC,mBAAmBlxC,KAAKuT,OAAOzL,eAAehG,UAAUG,IAC9EjC,KAAKgI,UAAY/F,EAAI6B,UACrB9D,KAAKiI,OAAShG,EAAI8B,aAClB/D,KAAKqxB,UAAYpvB,EAAIovB,UACrBrxB,KAAK+wC,UAAW,KAItB/wC,KAAKmxC,iBAAe,EAExB,CAEAjvC,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEM4K,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,KAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAA8CH,EAAKrW,KAAKlR,MAC5D0nB,EAAWg5B,UAAYh5B,EAAWg5B,UAAU/kC,WAAWkL,QAAQ,IAAI,KAE/DU,EAAKvX,GACPuX,EAAK44B,6BAA6BzT,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAUiuC,KACzEt4B,EAAK9W,wBAAwBqC,mBAC3B,QAAQ+sC,GAAsBl8B,mCAEhC4D,EAAK4B,QAAM,GAGb5B,EAAK44B,6BAA6BljC,OAAOyK,GAAY9V,UAAUiuC,KAC7Dt4B,EAAK9W,wBAAwBqC,mBAC3B,QAAQ+sC,GAAsBl8B,mCAEhC4D,EAAK4B,QAAM,EAEd,EAxBS,EAyBZ,CAEAA,SACErZ,KAAK8mB,UAAUqB,OACjB,CAEAgpB,kBACGnxC,KAAK6qB,YAAc7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAW,OAAQ,iBACtF9qB,KAAK6qB,YACP7qB,KAAKoB,KAAKqS,SAEd,CAGAowB,UAAU1hC,GACRnC,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAAS,KAChC,4CApHWg9B,IAAoChwC,MAqBrCgoB,MAAehoB,MAAAC,MAAAD,MAAA+C,GAAA/C,MAAAgD,KAAAhD,MAAAiD,MAAAjD,MAAAiD,MAAA,+BArBd+sC,GAAoC9sC,UAAA,yCAAAC,MAAA,EAAAC,KAAA,EAAAC,OAAA,6yCAAAC,SAAA,SAAAC,EAAAC,IAAA,EAAAD,GDqDjDvD,MApEA,EAAAgxC,EAAA,aAoEAhxC,CApEsB,EAAAixC,EAAA,mBAAhBjxC,MAAA,OAAAwD,GAAAmtC,UAoEA3wC,cAAA,OAAAwD,GAAAotC,wLCrDOZ,EAAoC,weCV3ChwC,MAFJ,QAEIA,CAFuB,aAEvBA,CADgG,cACtFA,MAAA,SAAGA,QAAYA,MAAA,iBAE7BA,WCcK,IAAMkxC,GAAoB,MAA3B,MAAOA,EAUDliC,aACAzO,wBACAC,OACA8O,OACA6sB,uBACAltB,oBACAsa,qBAfsBtI,OAChCC,YACuBsI,SACvBC,YAAsB,sBACd7oB,YAAqC,CAC3C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,SAAUC,MAAO,kBAAmBC,KAAM,eAErDtB,YACUuP,EACAzO,EACAC,EACA8O,EACA6sB,EACAltB,EACAsa,IANA3pB,KAAAoP,eACApP,KAAAW,0BACAX,KAAAY,SACAZ,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,sBACArP,KAAA2pB,wBAER3pB,KAAKshB,YAAc,CACjBG,QAAS,CACPvhB,GAAI,CAAEyhB,MAAO,IAAKzc,MAAM,GACxBqsC,gCAAiC,CAAE5vB,MAAO,UAAWzc,MAAM,GAC3DgG,KAAM,CAAEyW,MAAO,OAAQzc,MAAM,GAC7BmhB,IAAK,CAAE1E,MAAO,MAAOzc,MAAM,IAE7BO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CAAEvV,MAAO,SAAUwV,SAAU1c,IAAKza,KAAKyE,OAAOgW,GAAEva,IAAKo3B,UAAW7c,IAAKA,GAAEva,GAAIiB,KAAM,QACjF,CAAEwgB,MAAO,gBAAWwV,SAAU1c,IAAKza,KAAKwxC,QAAQ/2B,GAAEva,IAAKo3B,UAAW7c,IAAKA,GAAEva,GAAIiB,KAAM,gBACnF,CAAEwgB,MAAO,oBAAewV,SAAU1c,IAAKza,KAAKyxC,WAAWh3B,GAAEva,IAAKo3B,UAAW7c,KAAMza,KAAK6qB,aAAc1pB,KAAM,OACxG,CACEwgB,MAAO,UACPwV,SAAU1c,IAAKza,KAAKu4B,QAAQ9d,GAAEva,IAC9Bo3B,UAAW7c,KAAMza,KAAK6qB,aACtB1pB,KAAM,QACNq7B,MAAO,SAGX1a,SAAUC,IAAK/hB,KAAKoP,aAAa4S,OAAOD,GAAG/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAEjG,CAEArkB,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KAAK30B,KAAKoP,aAAa4S,YAAOkH,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OAASyoB,IACpG3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAEpB,CAEAnB,OAAOvE,GACLF,KAAKY,OAAOsC,SAAS,CAAC,0BAA0BhD,KAClD,CAEAsxC,QAAQtxC,GACNF,KAAKY,OAAOsC,SAAS,CAAC,0BAA0BhD,KAClD,CAEAuxC,WAAWvxC,GACTF,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBhD,cAChD,CAEAq4B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKoP,aAAampB,QAAQr4B,GAAI4B,UAAU,CACtCyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEAkS,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAC7D,4CA5GWwmB,GAAoBlxC,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAAzb,MAAA+C,MAAA,+BAApBmuC,EAAoBhuC,UAAA,uBAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACpB6e,KAAmB,wfDtBhCpiB,MAAA,wBAEAA,MAAA,WACEA,MAAA,EAAAsxC,GAAA,aAKFtxC,QAEEA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,0BAdkBA,MAAA,SAAAwD,EAAA5C,aAGVZ,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,cAWKzqB,MAAA,GAAAA,MAAA,mBAAAwD,EAAA0d,mGCOAgwB,CAAoB,+DCZ1B,IAAMK,GAA4B,MAAnC,MAAOA,UAAoClyC,KAIgBC,YAHtDC,MAAQ,wBACjBC,OAEAC,YAAYC,EAAmDJ,GAC7DK,MAAMD,EAAMJ,GADiDM,KAAAN,cAE7DM,KAAKJ,OAASE,CAChB,CAEAwb,MACE,OAAOtb,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,YAC7C,4CAXWgyC,GAA2BvxC,MAAAC,OAAAD,MAIA,eAAa,iCAJxCuxC,EAA2BrxC,QAA3BqxC,EAA2BpxC,UAAAC,WAF1B,gBAEDmxC,CAA4B,8CCA7BvxC,MAAA,mBACEA,MAAA,GACFA,kCAFuEA,MAAA,QAAAyxC,EAAA3xC,IACrEE,cAAA,IAAAyxC,EAAA3kB,OAAA,MAAA2kB,EAAAppB,MAAA,gCAYFroB,MAAA,mBACEA,MAAA,GACFA,kCAF8EA,MAAA,QAAA0xC,GAC5E1xC,cAAA,IAAA0xC,EAAA9U,cAAA,+CAsBR58B,MAAA,eAA0CA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAhJ,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAA95B,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,cAC5BA,SC3BC,IAAM2xC,GAAoB,MAA3B,MAAOA,EAmBD3iC,aACA4iC,4BACAjV,wBACAp8B,wBACAO,MACAN,OACA+oB,qBACAsoB,qBAzBV7wC,KAAO,IAAIC,KAAU,CACnB6wC,uBAAwB,IAAI3wC,MAAY,EAAIC,KAAWC,UACvD0wC,mBAAoB,IAAI5wC,MAAY,GACpCuC,UAAW,IAAIvC,KAAY,GAAIC,KAAWC,UAC1C4kB,IAAK,IAAI9kB,KAAY,GAAI,IAAC6wC,aAE5BC,sBAAgD,GAChDC,kBAAwC,GACxCpyC,GAEAqyC,yBAA2B,IAAIhxC,KAAqC,KAAMC,KAAWC,UACrF+wC,yBACSxxC,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,SAAUC,MAAO,kBAAmBC,KAAM,cACnD,CAAEF,MAAO,QAASC,MAAO,0BAA2BC,KAAM,SAE5DtB,YACUuP,EACA4iC,EACAjV,EACAp8B,EACAO,EACAN,EACA+oB,GACAsoB,IAPAjyC,KAAAoP,eACApP,KAAAgyC,8BACAhyC,KAAA+8B,0BACA/8B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA2pB,wBACA3pB,KAAAiyC,uBACP,CAEKQ,QAAQviD,GACd,MAAMwiD,EAAcxiD,EAAMkqB,cAC1B,OAAOpa,KAAKsyC,kBAAkBnsC,OAAOmsC,GACnCA,EAAkBtV,cAAc5iB,cAAcrC,SAAS26B,GAE3D,CAEAC,2BAA2BrV,GACzB,OAA4B,OAArBA,EAA4BA,EAAiBN,cAAgB,EACtE,CAEAz3B,WACEvF,KAAKgyC,4BAA4B12B,MAAMxZ,UAAUG,IAC/CjC,KAAKqyC,sBAAwBpwC,IAE/BjC,KAAK+8B,wBAAwBzhB,MAAMxZ,UAAUG,IAC3CjC,KAAKsyC,kBAAoBrwC,EACzBjC,KAAKwyC,yBAA2BxyC,KAAKuyC,yBAAyB34B,aAAalU,QACzEmU,MAAU,KAAE,EACZnG,MAAIxjB,IACF,MAAMiS,EAAwB,iBAAVjS,EAAqBA,EAAQA,GAAO8sC,cACxD,OAAO76B,EAAOnC,KAAKyyC,QAAQtwC,GAAkBnC,KAAKsyC,kBAAkBjR,OAAK,GACzE,GAGNrhC,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKoB,KAAK6B,QACNjD,KAAKE,IACPF,KAAKgB,YAAY,GAAK,CACpBC,MAAO,QACPC,MAAO,2BAA2BlB,KAAKE,KACvCiB,KAAM,QAERnB,KAAKoP,aAAayhB,SAAS7wB,KAAKE,IAAI4B,UAAUG,IAC5CjC,KAAKoB,KAAKgB,SAAS8vC,uBAA0B9+B,SAASnR,EAAIiwC,wBAC1DlyC,KAAKoB,KAAKgB,SAAS+vC,mBAAsB/+B,SAASnR,EAAIkwC,oBACtDnyC,KAAKoB,KAAKgB,SAAS0B,UAAasP,SAASnR,EAAIiJ,MAC7ClL,KAAKoB,KAAKgB,SAASikB,IAAOjT,SAASnR,EAAIokB,KAAO,IAC9CrmB,KAAKuyC,yBAAyBn/B,SAA2B,CACvDlT,GAAI+B,EAAIkwC,mBACRnV,cAAe/6B,EAAI2wC,2BACpB,IAGH5yC,KAAKiyC,qBAAqBpwC,MAAMC,UAAUC,IACxC/B,KAAKoB,KAAKgB,SAAS8vC,uBAA0B9+B,SAAUrR,EAAsB+8B,wBAA0B,EAAC,EACzG,EAGP,CAEA58B,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,gBAGrBvC,KAAKuyC,yBAAyBjwC,SAChCtC,KAAKuyC,yBAAyBhwC,eAElC,CAEM4K,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIG,iBAAxC+U,EAAK86B,yBAAyBriD,OACvCunB,EAAKrW,KAAKgB,SAAS+vC,mBAAsB/+B,SAASqE,EAAK86B,yBAAyBriD,OAAOgQ,KAAM,GAE/F,IAAI0X,EAAkCH,EAAKrW,KAAKlR,MAE5CunB,EAAKvX,GACPuX,EAAKrI,aAAawtB,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAU2e,IACzDhJ,EAAK9W,wBAAwBqC,mBAAmB,UAAUyd,EAAUvgB,6BACpEuX,EAAK7W,OAAOsC,SAAS,CAAC,mBAAkB,GAG1CuU,EAAKrI,aAAajC,OAAOyK,GAAY9V,UAAU2e,IAC7ChJ,EAAK9W,wBAAwBqC,mBAAmB,UAAUyd,EAAUvgB,6BACpEuX,EAAK7W,OAAOsC,SAAS,CAAC,mBAAkB,EAE3C,EAtBS,EAuBZ,CAEA2nB,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAC7D,4CAvHWinB,GAAoB3xC,MAAAC,MAAAD,MAAA+C,IAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAAyb,MAAAzb,MAAAiD,MAAAjD,MAAAiD,MAAA,+BAApB0uC,EAAoBzuC,UAAA,uBAAAC,MAAA,GAAAC,KAAA,GAAAC,OAAA,61BAAAC,SAAA,SAAAC,EAAAC,MAAA,EAAAD,IDpBjCvD,MAAA,wBAIMA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,cAAQA,QAGZA,MAFJ,WAEIA,CAFgE,qBAEhEA,CADuD,eAC5CA,MAAA,aAAOA,QAClBA,MAAA,mBACEA,MAAA,GAAAyyC,GAAA,oBAIJzyC,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,8BAAoBA,QAC/BA,MAAA,cAKAA,MAAA,2BACEA,MAAA,GAAA0yC,GAAA,sCAIJ1yC,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,WAAIA,QACfA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,+BAAqBA,QAChCA,MAAA,eAKVA,gBAKQA,MAJR,iBAIQA,CAJiD,sBAIjDA,CAHY,YAGZA,CAFsC,eAEtCA,CADmE,eACzDA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,GAAA2yC,GAAA,iBAKN3yC,oCAlDkBA,MAAA,SAAAwD,EAAA5C,aAKNZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAI6ChB,MAAA,GAAAA,MAAA,UAAAwD,EAAAyuC,uBAU7CjyC,MAAA,GACAA,MADA,cAAAwD,EAAA2uC,yBACAnyC,CADwC,kBAAA4yC,GAEsB5yC,cAAA,cAAAwD,EAAA+uC,4BACrBvyC,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAAwD,EAAA4uC,2BAuBepyC,MAAA,IAAAA,MAAA,QAAAwD,EAAAinB,yLCzBvDknB,CAAoB,uGCV3B3xC,MAAA,WAAsDA,MAAA,gBAAUA,mCAChEA,MAAA,WAA2DA,MAAA,GAAwBA,kCAAxBA,cAAA4D,EAAAwkB,wCAG3DpoB,MAAA,WAAsDA,MAAA,WAAKA,mCAC3DA,MAAA,WAAsDA,MAAA,GAAeA,kCAAfA,cAAA+D,EAAAskB,+BAGtDroB,MAAA,WAAsDA,MAAA,eAAMA,mCAC5DA,MAAA,WAAuDA,MAAA,GAAoBA,kCAApBA,cAAAsoB,EAAAC,oCAFzDvoB,MAAA,MAEEA,MADA,EAAA6yC,GAAA,WACA7yC,CADsD,EAAA8yC,GAAA,6CAItD9yC,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAAuBA,kCAAvBA,cAAAkE,EAAAwkB,uCAGpD1oB,MAAA,WAAsDA,MAAA,cAAQA,+BAG1DA,MAAA,sCAEAA,MAAA,wCAAAA,MAAA,YAAA2oB,EAAAC,EAAAC,0BAAAC,IAAAH,IAAA,oCAJJ3oB,MAAA,WAGIA,MAFF,EAAA+yC,GAAA,IAEE/yC,CAFiC,EAAAgzC,GAAA,KAKrChzC,kCALEA,cAAA,GAAA4oB,EAAAC,mBAAA,4BAQF7oB,MAAA,oDAGIA,MAFJ,UAEIA,CAF+B,WAE/BA,CAD2F,eACnEA,MAAA,yBAAAipB,EAAAjpB,MAAAkpB,GAAA/kB,UAAAglB,EAAAnpB,QAAA,OAAAA,MAASmpB,EAAAC,WAAAH,EAAAnpB,IAAkB,GACjDE,MAAA,cAAUA,MAAA,cAGhBA,qCAEFA,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WC5BG,IAAMizC,GAAmC,MAA1C,MAAOA,EAmBuB9/B,OACzBuT,UACC4C,wBACAra,oBACAsa,qBAtBiC1kB,UACvBC,KAEpBC,YACAC,WAAyD,IAAIC,KAC7DC,cAAwB,EAEDskB,SAESvI,OAChCwI,YAAsB,iDACtB3W,QACAjL,OACAD,UACA8hB,YACAC,wBAEAlqB,YACkC0T,EACzBuT,EACC4C,EACAra,EACAsa,GAJwB3pB,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAA0pB,0BACA1pB,KAAAqP,sBACArP,KAAA2pB,sBACP,CAEHpkB,WACEvF,KAAK0pB,wBAAwBM,aAAahqB,KAAKuT,OAAOL,QAASlT,KAAKuT,OAAOtL,QAAQnG,UAAUG,IAC3FjC,KAAK+pB,wBAA0B9nB,EAE7BjC,KAAKmF,YADHlD,EACiB,CAAC,iBAAkB,QAAS,aAAc,gBAAiB,qBAAsB,UAEjF,CAAC,iBAAkB,QAAS,gBAAiB,qBAAsB,SAAQ,EAGpG,CAEAuD,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAChEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YACH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAK4F,aAAW,EACf,GACH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK0pB,wBACF1H,OACChiB,KAAKuT,OAAOL,QACZlT,KAAKuT,OAAOtL,OACZjI,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAEnD/nB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAK4F,aACP,CAEA4jB,WAAWtpB,GACTF,KAAK0pB,wBAAwB4pB,oBAAoBpzC,GAAI4B,UAAUG,IAC7DjC,KAAK8mB,UAAUqB,MAAMlmB,EAAG,EAE5B,CAEA2oB,WACE5qB,KAAK8mB,UAAUqB,OACjB,CAEA0C,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAC7D,CAEmB/2B,kBAAoBA,iDA3G5Bs/C,GAAmCjzC,MAmBpCgoB,OAAehoB,MAAAC,OAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAA,+BAnBdgwC,EAAmC/vC,UAAA,uCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACnCgD,KAAY,SACZC,MAAO,qBAQP4b,KAAmB,26DD/BhCpiB,MAAA,UAAqBA,MAAA,0BAAoBA,QAGrCA,MAFJ,UAEIA,CAFoB,qBAEpBA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QAEAA,MAAA,cAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,MAEEA,MADA,GAAAmzC,GAAA,WACAnzC,CADsD,GAAAozC,GAAA,oBAGxDpzC,MAAA,OAEEA,MADA,GAAAqzC,GAAA,WACArzC,CADsD,GAAAszC,GAAA,qBAGxDtzC,MAAA,GAAAuzC,GAAA,uBAIAvzC,MAAA,OAEEA,MADA,GAAAwzC,GAAA,WACAxzC,CADsD,GAAAyzC,GAAA,qBAGxDzzC,MAAA,OAEEA,MADA,GAAA0zC,GAAA,WACA1zC,CADsD,GAAA2zC,GAAA,qBASxD3zC,MAAA,OAEEA,MADA,GAAA4zC,GAAA,WACA5zC,CADsD,GAAA6zC,GAAA,qBAWxD7zC,MAFA,GAAA8zC,GAAA,YAEA9zC,CAFkD,GAAA+zC,GAAA,YAElD/zC,CADuD,GAAAg0C,GAAA,aAIzDh0C,QACAA,MAAA,uBAKFA,QAIMA,MAHN,iBAGMA,CAHmD,sBAGnDA,CAFc,YAEdA,CADyF,gBACjDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAgnB,WAAU,GAAExqB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,gBAG9FA,oBAvDmBA,MAAA,IAAAA,MAAA,aAAAwD,EAAAwB,YAS0BhF,MAAA,GAAAA,MAAA,OAAAwD,EAAAmmB,yBA4BrB3pB,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,EAAAymB,yLChCNwsB,CAAmC,oBCrBpCgB,GAAZ,SAAYA,GACVA,SAAAl/C,MAAA,SACAk/C,EAAAh9C,WAAA,iBACAg9C,EAAAj9C,WAAA,OAHUi9C,CAIZ,CAJA,CAAYA,IAAyB,sCCe/Bj0C,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAyD,EAAAywC,8BAGrDl0C,MAAA,WAAsCA,MAAA,WAAKA,mCAC3CA,MAAA,WAAwDA,MAAA,GAAeA,kCAAfA,cAAA4D,EAAAuwC,8BAE1Dn0C,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,qDACnCA,kCAQIA,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAA+D,EAAAmwC,8BAGrDl0C,MAAA,WAAsCA,MAAA,WAAKA,mCAC3CA,MAAA,WAAwDA,MAAA,GAAeA,kCAAfA,cAAAsoB,EAAA6rB,8BAE1Dn0C,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,4BACnCA,qCAjBJA,MAAA,SAEEA,MADA,OACAA,CADM,UAENA,MAAA,QAAIA,MAAA,4BAAmBA,QACvBA,MAAA,aACEA,MAAA,KAEEA,MADA,EAAAo0C,GAAA,WACAp0C,CADsC,EAAAq0C,GAAA,oBAGxCr0C,MAAA,KAEEA,MADA,GAAAs0C,GAAA,WACAt0C,CADsC,GAAAu0C,GAAA,oBAKxCv0C,MAFA,GAAAw0C,GAAA,WAEAx0C,CAFkD,GAAAy0C,GAAA,YAElDz0C,CADuD,GAAA00C,GAAA,aAIzD10C,QACAA,MAAA,SACEA,MAAA,+IAGJA,gCAnBmBA,MAAA,GAAAA,MAAA,aAAA20C,EAAAC,sBASK50C,MAAA,GAAAA,MAAA,kBAAA20C,EAAA5vC,aACa/E,cAAA,mBAAA20C,EAAA5vC,cC5BhC,IAAM8vC,GAAkC,MAAzC,MAAOA,EAMFnuB,UACyB7gB,KANlCd,YAAwB,CAAC,OAAQ,SACjCC,WAAwD,IAAIC,KAC5D2vC,qBAAkE,IAAI3vC,KAEtExF,YACSinB,EACyB7gB,GADzBjG,KAAA8mB,YACyB9mB,KAAAiG,MAC/B,CAEHV,WACEvF,KAAKoF,WAAWa,KAAOjG,KAAKiG,KAAKivC,wBACjCl1C,KAAKg1C,qBAAqB/uC,KAAOjG,KAAKiG,KAAKkvC,0BAC7C,CAEAvqB,WACE5qB,KAAK8mB,UAAUqB,OAAM,EACvB,4CAjBW8sB,GAAkC70C,MAAAC,OAAAD,MAOnCgoB,OAAe,+BAPd6sB,EAAkC3xC,UAAA,uCAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,i1BAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDd/CvD,MAAA,UAAqBA,MAAA,mCAAuBA,QAC5CA,MAAA,UAEEA,MADF,QACEA,CADG,QAEDA,MAAA,0CAAgCA,MAAA,OAAGA,MAAA,GACrCA,UACAA,MAAA,QACEA,MAAA,uCAA6BA,MAAA,QAAGA,MAAA,IAEpCA,YAEAA,MADA,UACAA,CADyD,SAGvDA,MADF,WACEA,CADsB,cAEpBA,MAAA,MAEEA,MADA,GAAAg1C,GAAA,WACAh1C,CADsC,GAAAi1C,GAAA,oBAGxCj1C,MAAA,MAEEA,MADA,GAAAk1C,GAAA,WACAl1C,CADsC,GAAAm1C,GAAA,oBAKxCn1C,MAFA,GAAAo1C,GAAA,WAEAp1C,CAFkD,GAAAq1C,GAAA,YAElDr1C,CADuD,GAAAs1C,GAAA,aAIzDt1C,QACAA,MAAA,GAAAu1C,GAAA,eAwBFv1C,QAIMA,MAHN,iBAGMA,CAHmD,sBAGnDA,CAFc,YAEdA,CADyF,gBACjDA,MAAA,0BAASwD,EAAAgnB,UAAU,GAAExqB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAG9FA,qBAvDuCA,MAAA,GAAAA,MAAAwD,EAAAqC,KAAA2vC,eAGHx1C,MAAA,GAAAA,MAAAwD,EAAAqC,KAAA4vC,UAMjBz1C,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YASKhF,MAAA,GAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAK7B/E,MAAA,GAAAA,MAAA,OAAAwD,EAAAoxC,oRCdKC,CAAkC,KCdxC,IAAKa,GAAZ,SAAYA,GACRA,SAAAz+C,WAAA,iBACAy+C,EAAA1+C,WAAA,OAFQ0+C,CAGV,CAHF,CAAYA,IAAkC,mDCepC11C,MAAA,yBAOEA,MAAA,GACFA,kCANEA,MAAA,QAAA21C,GAKA31C,cAAA,IAAA21C,EAAA,MCGL,IAAMC,GAAkC,MAAzC,MAAOA,EAWFlvB,UACCnmB,wBACA+O,OACwBzJ,KAExBrF,OAfVQ,KAAO,IAAIC,KAAU,CACnB40C,sBAAuB,IAAI10C,KAAY,GAAIC,KAAWC,YAGxDy0C,gBAAyB,GAEHnyB,QACtBoyB,UAEAt2C,YACSinB,EACCnmB,EACA+O,EACwBzJ,EAExBrF,GALDZ,KAAA8mB,YACC9mB,KAAAW,0BACAX,KAAA0P,SACwB1P,KAAAiG,OAExBjG,KAAAY,SAINZ,KAAKk2C,gBAAkB/lD,OAAOuB,OAD5BuU,EAAKmwC,yBAA2BnwC,EAAKowC,UACFhC,GAEAyB,IAGvC91C,KAAKm2C,UAAY,IAAI50C,KAAY,IAAIuT,MAAsB,CACzDC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,UAEd,CAEAj9B,SACErZ,KAAK8mB,UAAUqB,OACjB,CAEAjmB,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,gBAGrBvC,KAAKm2C,UAAU7zC,SACjBtC,KAAKm2C,UAAU5zC,eAEnB,CAEAg0C,WAEE,GADAv2C,KAAKkC,8BACAlC,KAAKoB,KAAKqB,OAAUzC,KAAKm2C,UAAU1zC,OAASzC,KAAKm2C,UAAUjmD,MAAMkU,SAAW6W,MAAcC,YAA/F,CAIA,OAAQlb,KAAKoB,KAAKgB,SAAS6zC,sBAAyB/lD,OAClD,KAAKmkD,GAA0Bl/C,MAC7B6K,KAAK+jB,QAAS/I,WAAa,gBAAgBhb,KAAKiG,KAAK/F,cACrD,MACF,KAAKm0C,GAA0Bh9C,WAC7B2I,KAAK+jB,QAAS/I,WAAa,oBAAoBhb,KAAKiG,KAAK/F,cACzD,MACF,KAAKm0C,GAA0Bj9C,WAC7B4I,KAAK+jB,QAAS/I,WAAa,2BAA2Bhb,KAAKiG,KAAK/F,cAChE,MACF,QACEF,KAAKW,wBAAwB+B,iBAAiB,8CAGlD1C,KAAK+jB,SAAS5I,UAAUq7B,KAAK98B,IAC3B1Z,KAAK8mB,UAAUqB,QACfnoB,KAAK0P,OAAO6I,KAAK08B,GAAoC,CAAEhvC,KAAMyT,EAAI+8B,OAAQ7nB,WAAY,qBAAqB,EAjB5G,MAFE5uB,KAAKW,wBAAwB+B,iBAAiB,uEAqBlD,CAEAg0C,SACE12C,KAAK8mB,UAAUqB,QACfnoB,KAAKY,OAAOsC,SAAS,CAAC,8BACxB,4CA3EW8yC,GAAkC51C,MAAAC,OAAAD,MAAA+C,MAAA/C,MAAAC,OAAAD,MAcnCgoB,OAAehoB,MAAAgD,MAAA,+BAdd4yC,EAAkC1yC,UAAA,uCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,k/BDvB7CvD,MADF,UACEA,CADwC,UAC3BA,MAAA,cACfA,UAEAA,MAAA,cAA2CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA8yC,SAAQ,GAC1Dt2C,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,qEAC5BA,QAIIA,MAFJ,UAEIA,CAF6C,eAE7CA,CADsB,YACdA,MAAA,+BAAkBA,QAGtBA,MAFJ,YAEIA,CAFqB,WAErBA,CAD8C,wBAE5CA,MAAA,GAAAu2C,GAAA,0BAYRv2C,cAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,cAAOA,QACfA,MAAA,8BAGJA,UAKMA,MAHN,iBAGMA,CAHmD,sBAGnDA,CAFc,YAEdA,CADyF,gBACjDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAyV,SAAQ,GACvDjZ,MAAA,eAAUA,MAAA,YAAKA,QACfA,MAAA,eACFA,QACAA,MAAA,gBAA0CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA2yC,WAAU,GAC3Dn2C,MAAA,eAAUA,MAAA,oBAAaA,QACvBA,MAAA,iBAIRA,oBApCUA,MAAA,IAAAA,MAAA,YAAAwD,EAAAxC,MAI6BhB,MAAA,GAAAA,MAAA,UAAAwD,EAAAsyC,iBAcgD91C,MAAA,GAA2BA,MAA3B,uBAA2BA,CAAD,KAAAwD,EAAAuyC,sUCLpGH,CAAkC,0CCbxC,IAAMY,GAA4B,MAAnC,MAAOA,UAAoCn3C,KAMZC,YACzBiI,oBANDhI,MAAQ,wBACjBC,OAEAC,YACEC,EACiCJ,EACzBiI,GAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAChB,CAEA+2C,6BAA6B3jC,EAAiBjL,EAAgB+X,GAC5D,OAAOhgB,KAAKG,SAAS,GAAGH,KAAKL,SAASuT,KAAWjL,IAAU+X,EAC7D,CAEA7S,OAAO/L,GACL,OAAOpB,KAAK6iB,OAAO7iB,KAAKL,MAAOyB,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC/E,CAEAwQ,UAAU18B,EAAYkB,GACpB,OAAOpB,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,IAAMkB,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC1F,CAEA0qB,kBAAkB52C,EAAYkB,GAC5B,OAAOpB,KAAKgwC,OAAO,GAAGhwC,KAAKL,0BAA0BO,IAAMkB,GAAMsE,KAC/DonB,KACA9sB,KAAK2H,oBAAoBykB,aAE7B,CAEA2qB,0BAA0B31C,GACxB,OAAOpB,KAAK6iB,OAAO,GAAG7iB,KAAKL,6BAA8ByB,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aACzG,CAEA4qB,6BACE92C,EACAkB,GAEA,OAAOpB,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,yBAA2BkB,GAAMsE,KACnEonB,KACA9sB,KAAK2H,oBAAoBykB,aAE7B,CAEA6qB,iCAAiC/jC,EAAiBjL,EAAgB+X,EAAWk3B,GAC3El3C,KAAKJ,OACFg5B,KACC,GAAG54B,KAAKm3C,YAAYn3C,KAAKL,wCAAwCuT,KAAWjL,KAAU+X,IACtFk3B,EACAl3C,KAAKo3C,qBAEN1xC,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAU4X,GAAO1Z,KAAKq3C,yBAAyB39B,EAAK,wCACzD,CAGQ09B,oBACN,IAAI1qB,EAAU,IAAIC,MAClBD,SAAUA,EAAQ/V,IAAI,SAAU,mBACzB,CAAE+V,QAASA,EAASE,aAAc,OAAkBC,QAAS,WACtE,CAEQwqB,yBAAyB39B,EAAU49B,GACzC,IAAIjxB,EAAMiB,OAAOyF,IAAIC,gBAAgBtT,EAAIsO,MACrCN,EAAeC,SAASC,cAAc,KAC1CF,EAAaK,KAAO1B,EACpBqB,EAAa1E,SAAWs0B,EACxB5vB,EAAaxE,QACboE,OAAOyF,IAAIE,gBAAgB5G,GAC3BqB,EAAaQ,QACf,4CAxEW0uB,GAA2Bx2C,MAAAC,OAAAD,MAM5B,eAAaA,MAAA+C,MAAA,iCANZyzC,EAA2Bt2C,QAA3Bs2C,EAA2Br2C,UAAAC,WAF1B,gBAEDo2C,CAA4B,uDCFnCx2C,MAAA,kCAAAA,MAAA,IAAAm3C,EAAAC,SAAA,gCALEp3C,MAHN,wBAGMA,CAH2C,+BAG3CA,CAFwB,oBAExBA,CADe,gBACmBA,MAAA,GAAcA,QAChDA,MAAA,UAA8BA,MAAA,GAElCA,YACAA,MAAA,EAAAq3C,GAAA,qBAGFr3C,kCAPgBA,MAAA,GAAAA,MAAA,QAAAm3C,EAAA/a,OAAwBp8B,cAAAm3C,EAAAp2C,MAC5Bf,cAAAm3C,EAAA/a,OAAwBp8B,cAAAm3C,EAAA51B,QCwB/B,IAAM+1B,GAA4B,MAAnC,MAAOA,EAOuB5tB,YACzBhD,UACC6wB,4BAPgBC,YAC1BC,MAAiB,GAGjBh4C,YACkCiqB,EACzBhD,EACC6wB,GAFwB33C,KAAA8pB,cACzB9pB,KAAA8mB,YACC9mB,KAAA23C,8BAER33C,KAAK83C,iBACL93C,KAAK+3C,qBAAqBjuB,EAAY1J,SACxC,CAEA03B,iBACE93C,KAAK63C,MAAMvkC,KAAK,CAACnS,KAAM,WAAYq7B,MAAO,UAAW7a,MAAO,sBAAiB61B,SAAU,wDACnFx3C,KAAK8pB,YAAY8T,iBACnB59B,KAAK63C,MAAMvkC,KAAK,CAACnS,KAAM,WAAYq7B,MAAO,UAAW7a,MAAO,0BAAwB61B,SAAU,2HAEhGx3C,KAAK63C,MAAMvkC,KAAK,CAACnS,KAAM,WAAYq7B,MAAO,UAAW7a,MAAO,wBAAsB61B,SAAU,8HAC5Fx3C,KAAK63C,MAAMvkC,KAAK,CAACnS,KAAM,WAAYq7B,MAAO,UAAW7a,MAAO,wBAAsB61B,SAAU,8IAE5Fx3C,KAAK63C,MAAMvkC,KAAK,CAACnS,KAAM,WAAYq7B,MAAO,UAAW7a,MAAO,eAAgB61B,SAAU,qDACtFx3C,KAAK63C,MAAMvkC,KAAK,CAACnS,KAAM,WAAYq7B,MAAO,UAAW7a,MAAO,qBAAmB61B,SAAU,gFACzFx3C,KAAK63C,MAAMvkC,KAAK,CAACnS,KAAM,WAAYq7B,MAAO,UAAW7a,MAAO,eAAa61B,SAAU,uFACrF,CAEAO,qBAAqB33B,GACnB,OAAOA,GACL,IAAK,eACHpgB,KAAKg4C,2BACL,MACF,IAAK,WACHh4C,KAAKi4C,4BAA4B73B,EAAU,0CAC3C,MACF,IAAK,YACHpgB,KAAKi4C,4BAA4B73B,EAAU,2CAC3C,MACF,IAAK,gBACHpgB,KAAKi4C,4BAA4B73B,EAAU,IAC3C,MACF,IAAK,4BACHpgB,KAAKk4C,0BAA0B93B,EAAU,2BACzC,MACF,IAAK,0BACHpgB,KAAKk4C,0BAA0B93B,EAAU,yBACzC,MACF,IAAK,qBACHpgB,KAAKm4C,8BACLn4C,KAAKo4C,wBAAwBh4B,GAC7B,MACF,QACEpgB,KAAKo4C,wBAAwBh4B,GAEnC,CAEAg4B,wBAAwBh4B,GACtB,QAAS3F,EAAI,EAAGA,EAAIza,KAAK63C,MAAMvxC,OAAQmU,IACrC,IAAIza,KAAK63C,MAAMp9B,GAAGkH,QAAUvB,EAM1B,OAFApgB,KAAK63C,MAAMp9B,GAAGtZ,KAAO,YACrBnB,KAAK63C,MAAMp9B,GAAG+hB,MAAQ,WAJtBx8B,KAAK63C,MAAMp9B,GAAGtZ,KAAO,OACrBnB,KAAK63C,MAAMp9B,GAAG+hB,MAAQ,QAKxB,CAEJ,CAEAwb,2BACE,QAASv9B,EAAI,EAAGA,EAAIza,KAAK63C,MAAMvxC,OAAQmU,IACrCza,KAAK63C,MAAMp9B,GAAGtZ,KAAO,OACrBnB,KAAK63C,MAAMp9B,GAAG+hB,MAAQ,QAE1B,CAEAyb,4BAA4Bt2B,EAAe61B,GACzCx3C,KAAK63C,MAAQ,GACb73C,KAAK63C,MAAMvkC,KAAK,CAACnS,KAAM,SAAUq7B,MAAO,OAAQ7a,MAAOA,EAAO61B,SAAUA,GAC1E,CAEAU,0BAA0B93B,EAAkBi4B,GAC1C,QAAS59B,EAAI,EAAGA,EAAIza,KAAK63C,MAAMvxC,OAAQmU,IACrC,IAAIza,KAAK63C,MAAMp9B,GAAGkH,QAAU02B,EAO1B,OAHAr4C,KAAK63C,MAAMp9B,GAAGtZ,KAAO,OACrBnB,KAAK63C,MAAMp9B,GAAG+hB,MAAQ,YACtBx8B,KAAK63C,MAAMp9B,GAAGkH,MAAQ3hB,KAAK63C,MAAMp9B,GAAGkH,MAAQ,MAAQvB,GALpDpgB,KAAK63C,MAAMp9B,GAAGtZ,KAAO,OACrBnB,KAAK63C,MAAMp9B,GAAG+hB,MAAQ,QAMxB,CAEJ,CAEA2b,8BACEn4C,KAAK23C,4BAA4Bd,6BAA6B72C,KAAK8pB,YAAY5W,QAASlT,KAAK8pB,YAAY7hB,OAAQ,KAAKnG,UACpHmE,IACe,OAATA,GAAmC,OAAlBA,EAAKma,WAEG,gBAAlBna,EAAKma,SAOdpgB,KAAK63C,MAAM73C,KAAK63C,MAAMvxC,OAAO,GAAGqb,MAAQ3hB,KAAK63C,MAAM73C,KAAK63C,MAAMvxC,OAAO,GAAGqb,MAAQ,MAAQ1b,EAAKma,UALzEna,EAAKqyC,eACrB,wBACAryC,EAAKsyC,iBACH,0BACA,KAGFtyC,EAAKma,SAASlJ,WAAW,mBAE3BlX,KAAK63C,MAAM73C,KAAK63C,MAAMvxC,OAAO,GAAGk2B,MAAQ,QAG1Cx8B,KAAK63C,MAAM73C,KAAK63C,MAAMvxC,OAAO,GAAGqb,MAAQ3hB,KAAK63C,MAAM73C,KAAK63C,MAAMvxC,OAAO,GAAGqb,MAAQ,MAAQ1b,EAAKma,YAIrG,CAEAwK,WACE5qB,KAAK8mB,UAAUqB,OACjB,4CA3HWuvB,GAA4Bt3C,MAO7BgoB,OAAehoB,MAAAC,OAAAD,MAAA+C,IAAA,+BAPdu0C,EAA4Bp0C,UAAA,gCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,wWD9BzCvD,MAAA,qBACAA,MAAA,qBACEA,MAAA,EAAAo4C,GAAA,6BAWFp4C,QAIMA,MAHN,eAGMA,CAHmD,qBAGnDA,CAFc,QAEdA,CADG,cACqCA,MAAA,0BAASwD,EAAAgnB,UAAU,GAAExqB,MAAA,cAAUA,MAAA,WAAKA,QAAYA,MAAA,aAG9FA,qBApBeA,MAAA,YAAAwD,EAAAkmB,YAAA5e,MAAiC9K,MAAA,SAAAwD,EAAAkmB,YAAA7hB,QACjC7H,cAAA,cAC0BA,cAAA,UAAAwD,EAAAi0C,uBCgBrCv5B,KAAYlb,KACZ+b,KAAkB9b,yBAClBub,KAAa/C,KACb+D,KACApB,KAAa1C,UACb2C,KAAe1C,KACf8D,MAAqB0I,OAAA,wPAMZmvB,CAA4B,4GCVjCt3C,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA4D,EAAA1T,KACnD8P,cAAA,IAAA4D,EAAA9T,MAAA,6BASNkQ,MAAA,WAAsDA,MAAA,OAACA,mCACvDA,MAAA,WAAkDA,MAAA,GAAYA,kCAAZA,cAAA+D,EAAAjE,4BAGlDE,MAAA,WAAsDA,MAAA,aAAOA,mCAC7DA,MAAA,WAAwDA,MAAA,GAAgBA,kCAAhBA,cAAAsoB,EAAAwE,gCAGxD9sB,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAkE,EAAA4G,8BAGrD9K,MAAA,WAAsDA,MAAA,kBAAMA,mCAC5DA,MAAA,WAAuDA,MAAA,GAAgBA,kCAAhBA,cAAA4oB,EAAA/gB,gCAGvD7H,MAAA,WAAsDA,MAAA,iBAAWA,mCACjEA,MAAA,WAA4DA,MAAA,GAAyBA,kCAAzBA,cAAA+sB,EAAAC,yCAG5DhtB,MAAA,WAAsDA,MAAA,kBAAYA,mCAClEA,MAAA,WAA6DA,MAAA,mBAAgDA,kCAAhDA,oBAAA,IAAAipB,EAAAgE,iBAAA,uCAG7DjtB,MAAA,WAAsDA,MAAA,gBAAUA,mCAChEA,MAAA,WAA2DA,MAAA,mBAA8CA,kCAA9CA,oBAAA,IAAAktB,EAAAC,eAAA,uCAG3DntB,MAAA,WAAsDA,MAAA,oBAAQA,mCAE5DA,MAAA,UAAyBA,MAAA,GAAkBA,wCAAlBA,cAAAotB,EAAApN,qCAEvBhgB,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAAq4C,EAAAvoD,OACnDkQ,cAAA,IAAAq4C,EAAAvoD,MAAA,+CAFJkQ,MAAA,mBAA8BA,MAAA,uBAAAmI,GAAAnI,MAAA8I,GAAA,MAAAskB,EAAAptB,QAAAmE,UAAAnE,aAAAotB,EAAApN,SAAA7X,KAAAilB,EAAApN,SAAA7X,GAAAnI,MAAAmI,EAAA,GAAyBnI,MAAA,6BAAAA,MAAA8I,GAAA,MAAAwvC,EAAAt4C,QAAAotB,EAAAkrB,EAAAn0C,UAAAo0C,EAAAD,EAAA39B,MAAA69B,EAAAx4C,QAAA,OAAAA,MAAmBw4C,EAAAC,gBAAArrB,EAAAmrB,GAAuB,GAC/Fv4C,MAAA,EAAA04C,GAAA,yCAGF14C,oDAJ8BA,MAAA,QAAAotB,EAAApN,UACAhgB,cAAA,UAAAA,MAAA,IAAAw4C,EAAAtqB,uCAHhCluB,MAAA,WAEEA,MADA,EAAA24C,GAAA,cACA34C,CADyB,EAAA44C,GAAA,qBAM3B54C,8BANSA,cAAA,QAAAw4C,EAAAK,WACM74C,cAAA,OAAAw4C,EAAAK,mCAQf74C,MAAA,WAAsDA,MAAA,eAASA,mCAE7DA,MAAA,UAAyBA,MAAA,GAAmCA,wCAAnCA,cAAA84C,EAAA7C,UAAA,0DACzBj2C,MAAA,yBAEEA,MAAA,yBAAAmI,GAAAnI,MAAA6qC,GAAA,MAAAiO,EAAA94C,QAAAmE,UAAAnE,aAAA84C,EAAA7C,UAAA9tC,KAAA2wC,EAAA7C,UAAA9tC,GAAAnI,MAAAmI,EAAA,GAEAnI,MAAA,kBAAAmI,GAAAnI,MAAA6qC,GAAA,MAAAkO,EAAA/4C,QAAA84C,EAAAC,EAAA50C,UAAA60C,EAAAD,EAAAp+B,MAAA69B,GAAAx4C,QAAA,OAAAA,MAAUw4C,GAAAS,gBAAA9wC,EAAA6wC,EAAAF,EAAAh5C,IAAkC,GAAEE,0CAF9CA,MAAA,UAAA84C,EAAA7C,sCAJJj2C,MAAA,WAEEA,MADA,EAAAk5C,GAAA,cACAl5C,CADyB,EAAAm5C,GAAA,2BAM3Bn5C,8BANSA,cAAA,QAAAw4C,EAAAK,WAEJ74C,cAAA,OAAAw4C,EAAAK,kCAOL74C,MAAA,qCAgBQA,MADF,cACEA,CADyF,cAC/EA,MAAA,YAAMA,QAChBA,MAAA,4BACFA,wCAHsBA,MAAA,oBAAAo5C,8BAKpBp5C,MADF,cACEA,CADsF,cAC5EA,MAAA,cAAQA,QAClBA,MAAA,cACFA,wCAHsBA,MAAA,oBAAAq5C,6CA2BtBr5C,MAAA,eAGEA,MAAA,mBAAAA,MAAAs5C,GAAA,MAAAC,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAgB,WAAAD,EAAAz5C,IAAkB,GAE3BE,MAAA,iBAA0BA,MAAA,sBAAgBA,QAC1CA,MAAA,2BACFA,kDACAA,MAAA,eAA8CA,MAAA,mBAAAA,MAAAy5C,GAAA,MAAAF,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAArgB,QAAAohB,EAAAz5C,IAAe,GACpEE,MAAA,iBAAuBA,MAAA,WAAKA,QAC5BA,MAAA,eACFA,iDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAAyK,GAAA,MAAA8uC,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAkB,WAAAH,GAAe,GAExBv5C,MAAA,cAAUA,MAAA,mBAAaA,QACvBA,MAAA,yBACFA,kDAIAA,MAAA,eAAoDA,MAAA,mBAAAA,MAAA0K,GAAA,MAAA6uC,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAA93C,MAAA64C,EAAAzmC,QAAAymC,EAAA1xC,QAA8B,GACzF7H,MAAA,cAAUA,MAAA,YAAMA,QAChBA,MAAA,cACFA,iDASAA,MAAA,eAGEA,MAAA,mBAAAA,MAAA25C,GAAA,MAAAJ,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAA/qB,SAAA8rB,EAAAzmC,QAAAymC,EAAA1xC,QAAiC,GAE1C7H,MAAA,cAAUA,MAAA,UAAIA,QACdA,MAAA,4BACFA,iDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAA45C,GAAA,MAAAL,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAhrB,YAAA+rB,EAAAzmC,QAAAymC,EAAA1xC,QAAoC,GAE7C7H,MAAA,cAAUA,MAAA,UAAIA,QACdA,MAAA,sBACFA,iDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAA65C,GAAA,MAAAN,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAsB,WAAAP,EAAAzmC,QAAAymC,EAAA1xC,QAAmC,GAE5C7H,MAAA,cAAUA,MAAA,WAAKA,QACfA,MAAA,gCACFA,kDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAA+5C,GAAA,MAAAR,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAwB,qBAAAT,EAAAzmC,QAAAymC,EAAA1xC,QAA6C,GAEtD7H,MAAA,cAAUA,MAAA,mBAAaA,QACvBA,MAAA,oBACFA,kDAIAA,MAAA,eAGEA,MAAA,mBAAAA,MAAAi6C,GAAA,MAAAV,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAA0B,WAAAX,EAAAz5C,IAAkB,GAE3BE,MAAA,cAAUA,MAAA,cAAQA,QAClBA,MAAA,qDACFA,kDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAAm6C,GAAA,MAAAZ,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAArC,SAAAoD,GAAa,GAEtBv5C,MAAA,cAAUA,MAAA,iBAAWA,QACrBA,MAAA,gBACFA,kDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAAo6C,GAAA,MAAAb,EAAAv5C,QAAAmE,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAA6B,SAAAd,EAAAz5C,IAAgB,GAEzBE,MAAA,cAAUA,MAAA,SAAGA,QACbA,MAAA,eACFA,kDAvIAA,MAHN,UAGMA,CAH6B,WAG7BA,CAFyF,cAEzFA,CAD8E,cACpEA,MAAA,eACZA,UAEEA,MADF,oBACEA,CADwB,eACFA,MAAA,yBAAAu5C,EAAAv5C,MAAA+J,GAAA5F,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAx4B,SAAAu5B,GAAa,GAC1Cv5C,MAAA,iBAA0BA,MAAA,UAAIA,QAC9BA,MAAA,uBACFA,QAEEA,MADF,eACEA,CAD0D,eAChDA,MAAA,gBAASA,QACnBA,MAAA,iBACFA,QAKAA,MAJA,GAAAs6C,GAAA,gBAIAt6C,CAJ2F,GAAAu6C,GAAA,iBAQ7Fv6C,QAGEA,MADF,qBACEA,CADmC,gBACbA,MAAA,yBAAAu5C,EAAAv5C,MAAA+J,GAAA5F,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAn0C,OAAAk1C,EAAAzmC,QAAAymC,EAAAz5C,IAA2B,GACxDE,MAAA,eAAUA,MAAA,WAAIA,QACdA,MAAA,iBACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAu5C,EAAAv5C,MAAA+J,GAAA5F,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAA9M,UAAA6N,EAAAz5C,IAAiB,GAC9CE,MAAA,eAAUA,MAAA,kBAAWA,QACrBA,MAAA,0EACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAu5C,EAAAv5C,MAAA+J,GAAA5F,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAxO,QAAAuP,EAAAzmC,QAAAymC,EAAA1xC,QAAgC,GAC7D7H,MAAA,eAAUA,MAAA,aAAMA,QAChBA,MAAA,iBACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAu5C,EAAAv5C,MAAA+J,GAAA5F,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAApN,WAAAmO,EAAAzmC,QAAAymC,EAAA1xC,QAAmC,GAChE7H,MAAA,eAAUA,MAAA,aAAMA,QAChBA,MAAA,oBACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAu5C,EAAAv5C,MAAA+J,GAAA5F,UAAAq0C,EAAAx4C,QAAA,OAAAA,MAASw4C,EAAAjrB,kBAAAgsB,EAAAzmC,QAAAymC,EAAA1xC,QAA0C,GACvE7H,MAAA,eAAUA,MAAA,oBAAaA,QACvBA,MAAA,qCACFA,QAaAA,MAZA,GAAAw6C,GAAA,gBAYAx6C,CAR8B,GAAAy6C,GAAA,gBAQ9Bz6C,CAJwF,GAAA06C,EAAA,iBAY1F16C,QAEAA,MAAA,sBAqCEA,MApCA,GAAA26C,GAAA,gBAoCA36C,CApC4G,GAAA46C,EAAA,gBAoC5G56C,CApB4B,GAAA66C,EAAA,gBAoB5B76C,CAZyB,GAAA86C,EAAA,gBAYzB96C,CAJgC,GAAA+6C,GAAA,iBAYlC/6C,QAEAA,MAAA,sBAiBEA,MAhBA,GAAAg7C,GAAA,gBAgBAh7C,CAZyC,GAAAi7C,GAAA,gBAYzCj7C,CAJmB,GAAAk7C,GAAA,iBAczBl7C,yEA3I0CA,MAAA,GAAAA,MAAA,oBAAAm7C,GAQdn7C,MAAA,GAAAA,MAAA,oBAAAo7C,GAIwCp7C,MAAA,GAAAA,MAAA,OAAAu5C,EAAA8B,iBAIHr7C,cAAA,OAAAu5C,EAAA8B,iBA4BxDr7C,MAAA,IAAAA,MAAA,OAAAu5C,EAAA+B,wBAOMt7C,cAAA,OAAAu5C,EAAAgC,aAKNv7C,cAAA,OAAAu5C,EAAA8B,iBAUMr7C,MAAA,GAAAA,MAAA,OAAAu5C,EAAA8B,iBAaNr7C,cAAA,OAAAu5C,EAAA8B,iBAQAr7C,cAAA,OAAAu5C,EAAA8B,iBAQAr7C,cAAA,OAAAu5C,EAAA8B,iBAQAr7C,cAAA,OAAAu5C,EAAA8B,iBAWAr7C,MAAA,GAAAA,MAAA,OAAAu5C,EAAA8B,iBAQAr7C,cAAA,OAAAu5C,EAAA8B,iBAAA7C,EAAAgD,eAQAx7C,cAAA,OAAAu5C,EAAA8B,wCAWXr7C,MAAA,gCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,YACEA,MAAA,yCACpCA,WCvMK,IAAMy7C,EAA0B,MAAjC,MAAOA,EAoCDrnB,mBACA7zB,wBACAC,OACAM,MACAwO,OACAmrB,aACA0B,uBACAltB,oBACAsa,qBA3CiC1kB,UACvBC,KAEpBC,YAAwB,CACtB,KACA,SACA,OACA,SACA,kBACA,mBACA,iBACA,WACA,YACA,UAEFC,WAA8C,IAAIC,KAClDC,cAAwB,EAEDskB,SACMuE,eAC7BC,0BAAoC,GACpCvE,YAAsB,6BACtBwE,oBAA8B,6CAC9Bnb,QACA0oC,eAAyB,EAEzBttB,UACAC,iBAA6B,GAEpBvtB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,iBAGrEtB,YACU20B,EACA7zB,EACAC,EACAM,EACAwO,EACAmrB,EACA0B,GACAltB,GACAsa,IARA3pB,KAAAw0B,qBACAx0B,KAAAW,0BACAX,KAAAY,SACAZ,KAAAkB,QACAlB,KAAA0P,SACA1P,KAAA66B,eACA76B,KAAAu8B,0BACAv8B,KAAAqP,uBACArP,KAAA2pB,wBAER3pB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,SAAc,IAGpClT,KAAKsuB,UADHtuB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SACpC15B,MAEAb,MAEnByP,KAAK47C,cAAgB57C,KAAK87C,qBAC5B,CAEAt2C,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKyuB,wCACjCzuB,KAAK4F,aAAW,EACf,EACL,CAEAykB,SAASnlB,GACPlF,KAAK4F,aACP,CAEQ6oB,wCACN,IAAIv+B,EAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,IACtE,OAAIruB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAsB,MAAV56B,IACjEA,EAAQ,iBAEI,MAAVA,IACFA,EAAQ,IAEHA,CACT,CAEA0V,cACE5F,KAAKw0B,mBACFxS,OACChiB,KAAKkT,QACLlT,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKyuB,yCAEN3sB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,cAC1BtF,KAAKuuB,iBAAmB,GACxBvuB,KAAKoF,WAAWa,KAAK0O,QAAQ+Z,IAC3B1uB,KAAKuuB,iBAAiBjb,KAAKob,EAAEtO,SAAQ,EACtC,EAEP,CAEQpa,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAK4F,aACP,CAEAnB,OAAOyO,EAAiBhT,GACtBF,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,cAAoBhT,KACpE,CAEA4rC,UAAUp2B,GACR1V,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBwS,eAChD,CAEA00B,QAAQl3B,EAAiBjL,GACvBjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,cAC3D,CAEAujC,WAAWt4B,EAAiBjL,GAC1BjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,iBAC3D,CAEAnH,MAAMoS,EAAiBjL,GACrBjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,YAC3D,CAEA0lB,kBAAkBza,EAAiBjL,GACjCjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,wBAC3D,CAEAswB,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK66B,aAAatiB,KAAKkB,KAA6B,CACpExT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKw0B,mBAAmB+D,QAAQr4B,GAAI4B,UAAU,CAC5CyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEAojC,WAAW7oC,EAAiBjL,GAC1BjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,uBAC3D,CAEA4lB,SAAS3a,EAAiBjL,GACxBjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,oBAC3D,CAEA2lB,YAAY1a,EAAiBjL,GACTjI,KAAK0P,OAAO6I,KAAK86B,GAAqC,CACtEptC,KAAM,CAAEiN,UAASjL,UACjB2mB,WAAY,sBAEJ/V,cAAc/W,UAAW4X,IAC7BA,GACF1Z,KAAKY,OAAOsC,SAAS,CAAC,sBAAsBgQ,KAAWjL,KAAUyR,EAAIxZ,MAAK,EAGhF,CAEAk6C,qBAAqBlnC,EAAiBjL,GACpCjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,2BAC3D,CAEAiyC,WAAWhnC,EAAiBjL,GAC1BjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,gBAC3D,CAEA4iB,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAC7D,CAEAmuB,UACE,OAAOj5C,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SAC5D,CAEAuuB,gBAAgBh/B,EAAYU,EAAe7a,GACzC,MAAMqZ,EAAgB,IAAIC,KACxB,gBACA,GAAGa,EAAM2hC,QAAU,4BAAwB,qDAAyC97C,MAEpEF,KAAK66B,aAAatiB,KAAKkB,KAA6B,CACpExT,KAAMsT,IAEEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKw0B,mBAAmBynB,SAAS/7C,EAAIma,EAAM2hC,SAASl6C,UAAU,CAC5DyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,0BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,KACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,GAAG,IAG1C3Y,KAAKoF,WAAWa,KAAK8U,GAAOs7B,UAAYh8B,EAAM2hC,SAE9Ch8C,KAAKoF,WAAWa,KAAK8U,GAAOs7B,WAAah8B,EAAM2hC,SAGrD,CAEApC,WAAW15C,GACT,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,yCAC3CxZ,KAAK66B,aAAatiB,KAAKkB,KAA6B,CACpExT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKw0B,mBAAmBolB,WAAW15C,GAAI4B,UAAU,CAC/CyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,qCAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEAkgC,gBAAgB5yC,EAAmB8U,GACjC,MAAMxB,EAAgB,IAAIC,KACxB,gBACA,qCAA+BvT,EAAKiF,gBAAajF,EAAKma,aAEtCpgB,KAAK66B,aAAatiB,KAAKkB,KAA6B,CACpExT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAChC,GAAIA,EAAK,CACP,IAAI0G,KAAW5uB,OAAoCyU,EAAKma,UACxDpgB,KAAKw0B,mBAAmBsiB,kBAAkB7wC,EAAK/F,GAAIkgB,GAAUte,UAAU,CACrEyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,yCAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,KACL3Y,KAAKoF,WAAWa,KAAK8U,GAAOqF,SAAWpgB,KAAKuuB,iBAAiBxT,GAC7D/a,KAAKu8B,uBAAuBE,OAAO9jB,GAAG,GAG5C,MACE3Y,KAAKoF,WAAWa,KAAK8U,GAAOqF,SAAWpgB,KAAKuuB,iBAAiBxT,EAAK,EAGxE,CAEA4T,WACE3uB,KAAKw0B,mBAAmB/H,gBACtBzsB,KAAK4pB,UAAU9D,cAAc51B,MAC7B8P,KAAKmuB,gBAAgBj+B,MACrB8P,KAAKkT,QAET,CAEAqjC,SAASnjB,GACPpzB,KAAK0P,OAAO6I,KAAKy9B,GAAoC,CAAC/vC,KAAOmtB,GAC/D,CAEA0oB,sBACE,OACE97C,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,aACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,kBACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SAEvD,CAEA1K,SAAS0J,GACP9pB,KAAK0P,OAAO6I,KAAKm/B,GAA8B,CAC7CzxC,KAAM6jB,EACN8E,WAAY,qBAEhB,CAEA6rB,SAASv6C,GACPF,KAAKw0B,mBAAmB0nB,MAAMh8C,GAAI4B,UAAU,CAC1CyE,KAAON,IACajG,KAAK0P,OAAO6I,KAAK4jC,EAAuB,CACxDl2C,KAAMA,GACP,EAEHiT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAG5C,CAEAmhC,WAAWhwB,GACT9pB,KAAKY,OAAOsC,SAAS,CAAC,wBAAwB4mB,EAAY5W,WAAW4W,EAAY7hB,sBACnF,CAEAqyC,WAAWp6C,GACTF,KAAKY,OAAOsC,SAAS,CAAC,SAAShD,KACjC,4CA/UW27C,GAA0Bz7C,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAAiD,OAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAAzb,MAAA+C,MAAA,+BAA1B04C,EAA0Bv4C,UAAA,8BAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC1BgD,KAAY,SACZC,MAAO,u+JD/BpBxG,MAAA,wBAIIA,MAFJ,UAEIA,CAF4B,UAE5BA,CAD6G,cACnEA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QAAWA,MAAA,eAGxCA,YAIMA,MAHN,WAGMA,CAH2C,WAG3CA,CAFsD,sBAEtDA,CADyE,kBACrDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,sBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,KAAA3E,EAAAwqB,0BAAA7lB,GAAAnI,MAAAmI,EAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,oBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAAg8C,GAAA,0CAMRh8C,cAEAA,MAAA,eAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAAi8C,GAAA,YACAj8C,CADsD,GAAAk8C,GAAA,qBAGxDl8C,MAAA,OAEEA,MADA,GAAAm8C,GAAA,YACAn8C,CADsD,GAAAo8C,GAAA,qBAGxDp8C,MAAA,OAEEA,MADA,GAAAq8C,GAAA,YACAr8C,CADsD,GAAAs8C,GAAA,qBAGxDt8C,MAAA,OAEEA,MADA,GAAAu8C,GAAA,YACAv8C,CADsD,GAAAw8C,GAAA,qBAGxDx8C,MAAA,OAEEA,MADA,GAAAy8C,GAAA,YACAz8C,CADsD,GAAA08C,GAAA,qBAGxD18C,MAAA,OAEEA,MADA,GAAA28C,GAAA,YACA38C,CADsD,GAAA48C,GAAA,qBAGxD58C,MAAA,OAEEA,MADA,GAAA68C,GAAA,YACA78C,CADsD,GAAA88C,GAAA,qBAGxD98C,MAAA,OAEEA,MADA,GAAA+8C,GAAA,YACA/8C,CADsD,GAAAg9C,GAAA,qBAUxDh9C,MAAA,OAEEA,MADA,GAAAi9C,GAAA,YACAj9C,CADsD,GAAAk9C,GAAA,qBAUxDl9C,MAAA,OAEEA,MADA,GAAAm9C,GAAA,YACAn9C,CADsC,GAAAo9C,GAAA,uBAkJxCp9C,MAFA,GAAAq9C,GAAA,YAEAr9C,CAFkD,GAAAs9C,EAAA,YAElDt9C,CADuD,GAAAu9C,GAAA,aAIzDv9C,QACAA,MAAA,6BAtOkBA,MAAA,SAAAwD,EAAA5C,aAIiDZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAwB,WAAAa,KAAAK,QAcjDlG,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAA0qB,YAQnBluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YAoMKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAA+iB,sXC3MJ04B,CAA0B,KAsV1BM,EAAqB,MAA5B,MAAOA,EAEuBl2C,KACzB6gB,UAFTjnB,YACkCoG,EACzB6gB,GADyB9mB,KAAAiG,OACzBjG,KAAA8mB,WACN,4CAJQq1B,GAAqB/7C,MAEtBgoB,OAAehoB,MAAAiD,OAAA,+BAFd84C,EAAqB74C,UAAA,yBAAAC,MAAA,EAAAC,KAAA,EAAAC,OAAA,oDAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IAFrBvD,MAAA,UAAqBA,MAAA,aAAOA,QAAKA,MAAA,WAAwBA,MAAA,GAAUA,eAAVA,MAAA,GAAAA,MAAAwD,EAAAqC,iCAEzDk2C,CAAqB,iDC1W3B,IAAMyB,EAAoB,MAA3B,MAAOA,UAA4Bn+C,KAIwBC,YAHtDC,MAAQ,eACjBC,OAEAC,YAAYC,EAAmDJ,GAC7DK,MAAMD,EAAMJ,GADiDM,KAAAN,cAE7DM,KAAKJ,OAASE,CAChB,CAEA+9C,8BAA8B39C,GAC5B,OAAOF,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASO,QACtD,4CAXW09C,GAAmBx9C,MAAAC,OAAAD,MAIQ,eAAa,iCAJxCw9C,EAAmBt9C,QAAnBs9C,EAAmBr9C,UAAAC,WAFlB,gBAEDo9C,CAAoB,+BCC1B,IAAME,GAAyC,MAAhD,MAAOA,UAAiDr+C,KAMzBC,YACzBiI,oBANDhI,MAAQ,wCACjBC,OAEAC,YACEC,EACiCJ,EACzBiI,GAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAChB,CAEAi+C,oBAAoB7qC,EAAiBjL,GACnC,OAAOjI,KAAKG,SAAS,GAAGH,KAAKL,SAASuT,IAAWjL,EACnD,CAEAkF,OAAO/L,GACL,OAAOpB,KAAK6iB,OAAO7iB,KAAKL,MAAOyB,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC/E,CAEAwQ,UAAU18B,EAAYkB,GACpB,OAAOpB,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,IAAMkB,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC1F,4CAvBW0xB,GAAwC19C,MAAAC,OAAAD,MAMzC,eAAaA,MAAA+C,MAAA,iCANZ26C,EAAwCx9C,QAAxCw9C,EAAwCv9C,UAAAC,WAFvC,gBAEDs9C,CAAyC,KCAzCE,GAAyC,MAAhD,MAAOA,UAAiDv+C,KAMzBC,YACzBiI,oBANDhI,MAAQ,wCACjBC,OAEAC,YACEC,EACiCJ,EACzBiI,GAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAChB,CAEAi+C,oBAAoB7qC,EAAiBjL,GACnC,OAAOjI,KAAKG,SAAS,GAAGH,KAAKL,SAASuT,IAAWjL,EACnD,CAEAkF,OAAO/L,GACL,OAAOpB,KAAK6iB,OAAO7iB,KAAKL,MAAOyB,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC/E,CAEAwQ,UAAU18B,EAAYkB,GACpB,OAAOpB,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,IAAMkB,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC1F,4CAvBW4xB,GAAwC59C,MAAAC,OAAAD,MAMzC,eAAaA,MAAA+C,MAAA,iCANZ66C,EAAwC19C,QAAxC09C,EAAwCz9C,UAAAC,WAFvC,gBAEDw9C,CAAyC,+BCD/C,IAAMC,GAAe,MAAtB,MAAOA,UAAuBx+C,KAI6BC,YAHtDC,MAAQ,UACjBC,OAEAC,YAAYC,EAAmDJ,GAC7DK,MAAMD,EAAMJ,GADiDM,KAAAN,cAE7DM,KAAKJ,OAASE,CAChB,CAEAo+C,OAAOt0B,EAAkBu0B,GACvB,GAAIv0B,GAAYA,EAAStjB,OAAS,EAAG,CACnC,MAAMiN,GAAS,IAAI0Y,OAAahH,OAAO,WAAY2E,GAAU3E,OAAO,UAAWk5B,GAC/E,OAAOn+C,KAAK4xC,uBAAgC5xC,KAAKL,MAAO4T,EAC1D,CACA,OAAO6qC,IACT,4CAfWH,GAAc79C,MAAAC,OAAAD,MAIa,eAAa,iCAJxC69C,EAAc39C,QAAd29C,EAAc19C,UAAAC,WAFb,gBAEDy9C,CAAe,2BCOrB,IAAMI,GAA4B,MAAnC,MAAOA,EAMuB9qC,OACzBuT,UACCw3B,eACA39C,wBARsB0gB,OAChCC,YACuBsI,SAEvB/pB,YACkC0T,EACzBuT,EACCw3B,EACA39C,GAHwBX,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAAs+C,iBACAt+C,KAAAW,0BAERX,KAAKshB,YAAc,CACjBG,QAAS,CACP1b,IAAK,CAAE4b,MAAO,OACdzW,KAAM,CAAEyW,MAAO,QACf/e,MAAO,CAAE+e,MAAO,UAElBuV,QAAS,CAAC,CAAEvV,MAAO,aAAcwV,SAAU1c,GAAKza,KAAKwpB,WAAW/O,GAAItZ,KAAM,aAC1E2gB,SAAUC,GAAKq8B,KAEnB,CAEA54C,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKuT,OAAOxN,KAEpD,CAEAH,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKs+C,eAAeJ,OAAOl+C,KAAK4pB,UAAU9D,cAAc51B,MAAO8P,KAAKuT,OAAO4qC,SAC1ExlC,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEA4jB,WAAW4gB,GACTpqC,KAAK8mB,UAAUqB,MAAMiiB,EACvB,CAEAxf,WACE5qB,KAAK8mB,UAAUqB,OACjB,4CA3DWk2B,GAA4Bj+C,MAM7BgoB,OAAehoB,MAAAC,OAAAD,MAAA+C,IAAA/C,MAAAgD,MAAA,+BANdi7C,EAA4B/6C,UAAA,gCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC5B6e,KAAmB,mlBCjBhCpiB,MAAA,UAAqBA,MAAA,oCAA8BA,QAG/CA,MAFJ,UAEIA,CAFoB,qBAEpBA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,oBACFA,QAIMA,MAHN,gBAGMA,CAHmD,sBAGnDA,CAFc,WAEdA,CADyF,eACjDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAgnB,WAAU,GAAExqB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,gBAG9FA,oBAReA,MAAA,IAAAA,MAAA,mBAAAwD,EAAA0d,oHDSF+8B,CAA4B,KEJ5BE,GAAqB,MAA5B,MAAOA,EASS7uC,OAA2BL,oBARtCmvC,MAAqB,IAAIj9C,KACzBk9C,OAAsB,IAAIl9C,KAC1Bm9C,QAAuB,IAAIn9C,KAC3B48C,SAAmB,EACnBl9C,MAAgB,GAChB09C,gBAA2B,GACpCvU,QAEAvqC,YAAoB6P,EAA2BL,GAA3BrP,KAAA0P,SAA2B1P,KAAAqP,qBAA2C,CAE1F4a,YACkBjqB,KAAK0P,OAAO6I,KAAK8lC,GAA8B,CAC7Dp4C,KAAM,CAAEF,IAAK/F,KAAKw+C,MAAM9nC,cAAeynC,QAASn+C,KAAKm+C,SACrDvvB,WAAY,sBAEJ/V,cAAc/W,UAAU88C,IAC5BA,IACF5+C,KAAKoqC,QAAUwU,EACf5+C,KAAKw+C,MAAMprC,SAASpT,KAAKoqC,SAASrkC,KAClC/F,KAAKy+C,OAAOrrC,SAASpT,KAAKoqC,SAASl/B,MACnClL,KAAK0+C,QAAQtrC,SAASpT,KAAKoqC,SAASxnC,OAChC5C,KAAK2+C,iBACP3+C,KAAKqP,oBAAoBsH,IAAI3W,KAAK2+C,gBAAiB3+C,KAAKoqC,SAASrkC,KAAG,EAI5E,4CA3BWw4C,GAAqBn+C,MAAAC,OAAAD,MAAA+C,MAAA,+BAArBo7C,EAAqBj7C,UAAA,wBAAAqd,OAAA,CAAA69B,MAAA,QAAAC,OAAA,SAAAC,QAAA,UAAAP,QAAA,UAAAl9C,MAAA,QAAA09C,gBAAA,mBAAAp7C,MAAA,EAAAC,KAAA,EAAAC,OAAA,+KAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICXhCvD,MADF,qBACEA,CADuD,eAC5CA,MAAA,GAAWA,QACtBA,MAAA,aACAA,MAAA,gBAAoBA,MAAA,0BAASwD,EAAAqmB,WAAW,GAAE7pB,MAAA,YAC5CA,iBAHaA,MAAA,GAAAA,MAAAwD,EAAA3C,OACwBb,QAA+BA,MAA/B,2BAA+BA,CAAD,cAAAwD,EAAA46C,8EDUtDD,CAAqB,2CE+NZn+C,MAAA,wBAAoDA,MAAA,cAAQA,cAA1CA,MAAA,kCAElBA,MAAA,wBAAoDA,MAAA,mBAAUA,cAA5CA,MAAA,oDAwChCA,MAAA,eAA0CA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAloC,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAoF,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QACdA,MAAA,sBACFA,kDACAA,MAAA,eAA0CA,MAAA,mBAAAA,MAAAiE,GAAA,MAAA0D,EAAA3H,MAAA,UAAAA,MAAS2H,EAAA82C,iBAAgB,GACjEz+C,MAAA,cAAUA,MAAA,mBAAaA,QACvBA,MAAA,uBACFA,kDAvREA,MALV,QAKUA,CALQ,eAKRA,CAJwB,qBAIxBA,CAHY,UAGZA,CAF6C,eAE7CA,CADsB,YACdA,MAAA,kCAAyBA,QAMvBA,MALV,UAKUA,CAL+B,UAK/BA,CAJD,UAICA,CAHC,QAGDA,CAFA,QAEAA,CADE,wBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAA64C,SAAAv2C,KAAAR,EAAA9B,KAAA64C,SAAAv2C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,yBAA8BA,MAAA,eAAQA,QACtCA,MAAA,yBAA8BA,MAAA,sBAAYA,QAC1CA,MAAA,yBAA8BA,MAAA,0BAO5CA,sBAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,+CAAkCA,QAMhCA,MALV,WAKUA,CAL+B,WAK/BA,CAJD,WAICA,CAHC,QAGDA,CAFA,QAEAA,CADE,wBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAA84C,SAAAx2C,KAAAR,EAAA9B,KAAA84C,SAAAx2C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,yBAA8BA,MAAA,UAAGA,QACjCA,MAAA,yBAA8BA,MAAA,aAAGA,QACjCA,MAAA,yBAA8BA,MAAA,uBAO5CA,sBAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,uBAAgBA,QAKhBA,MAJR,WAIQA,CAJiC,WAIjCA,CAHC,WAGDA,CAFG,QAEHA,CADE,SACEA,MAAA,iGACNA,UAGIA,MAFJ,QAEIA,CAFA,QAEAA,CADE,wBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAA+4C,SAAAz2C,KAAAR,EAAA9B,KAAA+4C,SAAAz2C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,yBAA8BA,MAAA,UAAGA,QACjCA,MAAA,yBAA8BA,MAAA,aAGpCA,cAEEA,MADF,QACEA,CADE,SACEA,MAAA,SAAMA,MAAA,mFACZA,UAGIA,MAFJ,QAEIA,CAFA,QAEAA,CADE,wBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAg5C,SAAA12C,KAAAR,EAAA9B,KAAAg5C,SAAA12C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,yBAA8BA,MAAA,gBAASA,QACvCA,MAAA,yBAA8BA,MAAA,UAAGA,QACjCA,MAAA,yBAA8BA,MAAA,cAAOA,QACrCA,MAAA,yBAA8BA,MAAA,YAO5CA,sBAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,+FAAsEA,QAKtEA,MAJR,WAIQA,CAJiC,WAIjCA,CAHC,WAGDA,CAFG,QAEHA,CADE,SACEA,MAAA,oCACNA,UAGIA,MAFJ,QAEIA,CAFA,QAEAA,CADE,wBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAi5C,SAAA32C,KAAAR,EAAA9B,KAAAi5C,SAAA32C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,yBAA8BA,MAAA,UAAGA,QACjCA,MAAA,yBAA8BA,MAAA,aAGpCA,cAEEA,MADF,QACEA,CADE,SACEA,MAAA,SAAMA,MAAA,yCACZA,UAGIA,MAFJ,QAEIA,CAFA,QAEAA,CADE,wBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAk5C,SAAA52C,KAAAR,EAAA9B,KAAAk5C,SAAA52C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,yBAA8BA,MAAA,UAAGA,QACjCA,MAAA,yBAA8BA,MAAA,aAGpCA,cAEEA,MADF,QACEA,CADE,SAEAA,MAAA,SAAMA,MAAA,iHAGVA,UAGIA,MAFJ,QAEIA,CAFA,QAEAA,CADE,wBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAm5C,SAAA72C,KAAAR,EAAA9B,KAAAm5C,SAAA72C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,yBAA8BA,MAAA,mBAAQA,QACtCA,MAAA,0BAA8BA,MAAA,wBAAUA,QACxCA,MAAA,0BAA8BA,MAAA,WAO5CA,sBAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,sBAAcA,QAKdA,MAJR,YAIQA,CAJiC,YAIjCA,CAHC,YAGDA,CAFG,SAEHA,CADE,UACEA,MAAA,+CACNA,UAGIA,MAFJ,SAEIA,CAFA,SAEAA,CADE,yBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAo5C,SAAA92C,KAAAR,EAAA9B,KAAAo5C,SAAA92C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,0BAA8BA,MAAA,WAAGA,QACjCA,MAAA,0BAA8BA,MAAA,cAGpCA,cAEEA,MADF,SACEA,CADE,UACEA,MAAA,UAAMA,MAAA,kDACZA,UAGIA,MAFJ,SAEIA,CAFA,SAEAA,CADE,yBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAq5C,SAAA/2C,KAAAR,EAAA9B,KAAAq5C,SAAA/2C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,0BAA8BA,MAAA,WAAGA,QACjCA,MAAA,0BAA8BA,MAAA,cAGpCA,cAEEA,MADF,SACEA,CADE,UACEA,MAAA,UAAMA,MAAA,uCACZA,UAGIA,MAFJ,SAEIA,CAFA,SAEAA,CADE,yBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAs5C,UAAAh3C,KAAAR,EAAA9B,KAAAs5C,UAAAh3C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,0BAA8BA,MAAA,WAAGA,QACjCA,MAAA,0BAA8BA,MAAA,cAGpCA,cAEEA,MADF,SACEA,CADE,UACEA,MAAA,UAAMA,MAAA,qDACZA,UAGIA,MAFJ,SAEIA,CAFA,SAEAA,CADE,yBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAu5C,UAAAj3C,KAAAR,EAAA9B,KAAAu5C,UAAAj3C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,0BAA8BA,MAAA,WAAGA,QACjCA,MAAA,0BAA8BA,MAAA,cAO5CA,sBAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,iDAAmCA,QAKnCA,MAJR,YAIQA,CAJiC,YAIjCA,CAHC,YAGDA,CAFG,SAEHA,CADE,UACEA,MAAA,mCACNA,UAGIA,MAFJ,SAEIA,CAFA,SAEAA,CADE,yBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAw5C,UAAAl3C,KAAAR,EAAA9B,KAAAw5C,UAAAl3C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,0BAA8BA,MAAA,6BAAkBA,QAChDA,MAAA,0BAA8BA,MAAA,wBAAaA,QAC3CA,MAAA,0BAA8BA,MAAA,4BAAiBA,QAC/CA,MAAA,0BAA8BA,MAAA,0BAO5CA,sBAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,oDAAmCA,QAKnCA,MAJR,YAIQA,CAJiC,YAIjCA,CAHC,YAGDA,CAFG,SAEHA,CADE,UACEA,MAAA,uEACNA,UAGIA,MAFJ,SAEIA,CAFA,SAEAA,CADE,yBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAy5C,UAAAn3C,KAAAR,EAAA9B,KAAAy5C,UAAAn3C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,0BAA8BA,MAAA,gBAAQA,QACtCA,MAAA,0BAA8BA,MAAA,uBAGpCA,cAEEA,MADF,SACEA,CADE,UACEA,MAAA,UAAMA,MAAA,kDACZA,UAGIA,MAFJ,SAEIA,CAFA,SAEAA,CADE,yBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAA05C,UAAAp3C,KAAAR,EAAA9B,KAAA05C,UAAAp3C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,0BAA8BA,MAAA,6BAAkBA,QAChDA,MAAA,0BAA8BA,MAAA,wBAAaA,QAC3CA,MAAA,0BAA8BA,MAAA,4BAAiBA,QAC/CA,MAAA,0BAA8BA,MAAA,0BAO5CA,sBAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,4CAA8BA,QAM5BA,MALV,YAKUA,CAL+B,YAK/BA,CAJD,YAICA,CAHC,SAGDA,CAFA,SAEAA,CADE,yBACeA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAA25C,UAAAr3C,KAAAR,EAAA9B,KAAA25C,UAAAr3C,GAAAnI,MAAAmI,EAAA,GACfnI,MAAA,IAAAy/C,GAAA,0BACAz/C,MAAA,0BAA8BA,MAAA,uBAAYA,QAC1CA,MAAA,IAAA0/C,GAAA,0BAOd1/C,oBAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,4BAAoBA,QAOhBA,MANZ,YAMYA,CAN6B,YAM7BA,CALH,YAKGA,CAJD,SAICA,CAHF,SAGEA,CAFA,uBAEAA,CADuD,iBAC5CA,MAAA,eAAOA,QAClBA,MAAA,kBAAmBA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAAipC,cAAA3mC,KAAAR,EAAA9B,KAAAipC,cAAA3mC,GAAAnI,MAAAmI,EAAA,GAGzBnI,cAIMA,MAHN,SAGMA,CAHF,SAGEA,CAFA,uBAEAA,CADuD,iBAC5CA,MAAA,gEAAkDA,QAC7DA,MAAA,kBAEEA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA9B,KAAA85C,sBAAAx3C,KAAAR,EAAA9B,KAAA85C,sBAAAx3C,GAAAnI,MAAAmI,EAAA,GAUlBnI,wBACAA,MAAA,UACAA,MAAA,cAKEA,MAJA,IAAA4/C,GAAA,gBAIA5/C,CAJiF,IAAA6/C,GAAA,iBAWzF7/C,sCArRqCA,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAA64C,UAA4B1+C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WAeHA,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAA84C,UAA4B3+C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WAkBHA,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAA+4C,UAA4B5+C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WASHA,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAAg5C,UAA4B7+C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WAkBHA,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAAi5C,UAA4B9+C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WASHA,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAAk5C,UAA4B/+C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WAYHA,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAAm5C,UAA4Bh/C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WAkBHA,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAAo5C,UAA4Bj/C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WASHA,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAAq5C,UAA4Bl/C,MAAA,WAAA2H,EAAA8iB,YACzBzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WASHA,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAAs5C,WAA6Bn/C,MAAA,WAAA2H,EAAA8iB,YAC1BzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WASHA,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAAu5C,WAA6Bp/C,MAAA,WAAA2H,EAAA8iB,YAC1BzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WAkBHA,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAAw5C,WAA6Br/C,MAAA,WAAA2H,EAAA8iB,YAC1BzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WAkBHA,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAAy5C,WAA6Bt/C,MAAA,WAAA2H,EAAA8iB,YAC1BzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WASHA,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAA05C,WAA6Bv/C,MAAA,WAAA2H,EAAA8iB,YAC1BzqB,cAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WACAA,MAAA,GAAAA,MAAA,WAeHA,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAA25C,WAA6Bx/C,MAAA,WAAA2H,EAAA8iB,YACbzqB,cAAA,OAAA2H,EAAAm4C,eACb9/C,cAAA,WACaA,MAAA,GAAAA,MAAA,OAAA2H,EAAAm4C,eAiBZ9/C,MAAA,IAAAA,MAAA,UAAA2H,EAAA9B,KAAAipC,eAA0C9uC,MAAA,WAAA2H,EAAA8iB,YAU3DzqB,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAA85C,uBAEA3/C,MAAA,WAAA2H,EAAA8iB,YAW8CzqB,MAAA,GAAAA,MAAA,QAAA2H,EAAA8iB,YAIQzqB,cAAA,OAAA2H,EAAA9B,KAAA/F,KC7QvE,IAAMigD,GAAqC,MAA5C,MAAOA,EAUDC,yCACAz/C,wBACAgpB,qBACA/oB,OACAugB,uBAbDjO,QAAkB,EAClBjL,OAAiB,EACjBmY,SAAmB,GACnB8/B,cAAgC,KAChCj6C,UAA2CijB,EAEpD2B,YAAsB,EAEtBhrB,YACUugD,EACAz/C,EACAgpB,EACA/oB,EACAugB,GAJAnhB,KAAAogD,2CACApgD,KAAAW,0BACAX,KAAA2pB,uBACA3pB,KAAAY,SACAZ,KAAAmhB,wBACP,CAEH5b,WACEvF,KAAKmxC,iBACP,CAEQA,kBAENnxC,KAAK6qB,YACF7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAFnB,CAAC,iBAAkB,oBAAqB,gBAAiB,gBAG9D/S,SAAS/X,KAAKogB,SAC9C,CAEAjT,SACMnN,KAAKiG,OACHjG,KAAKiG,KAAK/F,GACZF,KAAKogD,yCAAyCxjB,UAAU58B,KAAKiG,KAAK/F,GAAIF,KAAKiG,MAAMnE,UAAUmE,IACzFjG,KAAKW,wBAAwBqC,mBAAmB,YAAYiD,EAAK/F,6BACjEF,KAAKY,OAAOsC,SAAS,CAAC,2BAA0B,GAGlDlD,KAAKogD,yCAAyCjzC,OAAOnN,KAAKiG,MAAMnE,UAAUmE,IACxEjG,KAAKW,wBAAwBqC,mBAAmB,YAAYiD,EAAK/F,6BACjEF,KAAKY,OAAOsC,SAAS,CAAC,2BAA0B,GAIxD,CAEA27C,iBACE7+C,KAAKmhB,uBAAuBk/B,0BAA0BrgD,KAAKkT,QAASlT,KAAKiI,OAC3E,4CA9CWk4C,GAAqC//C,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAA,+BAArC88C,EAAqC78C,UAAA,yCAAAqd,OAAA,CAAAzN,QAAA,UAAAjL,OAAA,SAAAmY,SAAA,WAAA8/B,cAAA,gBAAAj6C,KAAA,QAAA1C,MAAA,EAAAC,KAAA,EAAAC,OAAA,4gBAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,GDZlDvD,MAAA,EAAAkgD,GAAA,qBAAMlgD,MAAA,OAAAwD,EAAAqC,2HCYOk6C,CAAqC,wECyDpC//C,MADF,qBACEA,CADmH,eACxGA,MAAA,sCAAuBA,QAClCA,MAAA,iBACEA,MAAA,oBAAAA,MAAA6vC,GAAA,MAAAloC,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAIvCtI,oDAyEEA,MADF,qBACEA,CADmH,eACxGA,MAAA,sCAAuBA,QAClCA,MAAA,iBACEA,MAAA,oBAAAA,MAAAiE,GAAA,MAAA0D,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAIvCtI,oDAsDEA,MADF,qBACEA,CADmH,eACxGA,MAAA,sCAAuBA,QAClCA,MAAA,iBACEA,MAAA,oBAAAA,MAAAkxB,GAAA,MAAAvpB,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAIvCtI,oDAmCEA,MADF,qBACEA,CADmH,eACxGA,MAAA,sCAAuBA,QAClCA,MAAA,iBACEA,MAAA,oBAAAA,MAAAoI,GAAA,MAAAT,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAIvCtI,oDA4EEA,MADF,qBACEA,CADmH,eACxGA,MAAA,sCAAuBA,QAClCA,MAAA,iBACEA,MAAA,oBAAAA,MAAAkpB,GAAA,MAAAvhB,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAIvCtI,oDAiDEA,MADF,qBACEA,CADmH,eACxGA,MAAA,sCAAuBA,QAClCA,MAAA,iBACEA,MAAA,oBAAAA,MAAAuxB,GAAA,MAAA5pB,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAIvCtI,oDAqCEA,MADF,qBACEA,CADmH,eACxGA,MAAA,sCAAuBA,QAClCA,MAAA,iBACEA,MAAA,oBAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAIvCtI,oDAyBEA,MADF,qBACEA,CADmH,eACxGA,MAAA,sCAAuBA,QAClCA,MAAA,iBACEA,MAAA,oBAAAA,MAAA4I,GAAA,MAAAjB,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAIvCtI,oDAkBNA,MAAA,qCAKEA,MAAA,kBAAAmI,GAAAnI,MAAA8I,GAAA,MAAAnB,EAAA3H,MAAA,UAAAA,MAAU2H,EAAAnC,YAAA2C,GAAmB,GAE9BnI,iCADCA,MAJA,gBAAA2H,EAAA7H,GAIAE,CAJoB,eAAA2H,EAAAkY,aAIpB7f,CAF6B,UAAA2H,EAAAmY,QAAAqgC,KAAAx4C,8CAne3B3H,MALV,QAKUA,CALQ,eAKRA,CAJwB,qBAIxBA,CAHY,WAGZA,CAFiE,eAEjEA,CADsB,YACdA,MAAA,8BAAwBA,QAG5BA,MAFJ,UAEIA,CAFmB,qBAEnBA,CADuD,eAC5CA,MAAA,wCAA8BA,QACzCA,MAAA,mBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,aAAGA,QACzBA,MAAA,mBAAsBA,MAAA,UAE1BA,YAEEA,MADF,sBACEA,CADuD,gBAEpDA,MAAA,qGACHA,QACAA,MAAA,oBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,aAAGA,QACzBA,MAAA,mBAAsBA,MAAA,UAE1BA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,gEAAgDA,QAC3DA,MAAA,oBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,aAAGA,QACzBA,MAAA,mBAAsBA,MAAA,UAE1BA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,gEAAmDA,QAC9DA,MAAA,oBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,aAAGA,QACzBA,MAAA,mBAAsBA,MAAA,UAE1BA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,uFAAiEA,QAC5EA,MAAA,oBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,aAAGA,QACzBA,MAAA,mBAAsBA,MAAA,UAE1BA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,+DAAqDA,QAChEA,MAAA,oBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,aAAGA,QACzBA,MAAA,mBAAsBA,MAAA,UAE1BA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,oBAAUA,QACrBA,MAAA,oBAGEA,MAFA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,wBAAuB,EAE/CtI,CAFgD,2BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAE7B2H,EAAAy4C,WAAAj4C,EAAmB,qBAAoB,GAC1DnI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,aAAGA,QACzBA,MAAA,mBAAsBA,MAAA,UAE1BA,YACAA,MAAA,GAAAqgD,GAAA,yBASJrgD,UAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,8CAAoCA,QAGxCA,MAFJ,WAEIA,CAFmB,sBAEnBA,CADuD,gBAC5CA,MAAA,0CAAgCA,QAC3CA,MAAA,oBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,aAAGA,QACzBA,MAAA,mBAAsBA,MAAA,UAE1BA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,2CAAiCA,QAC5CA,MAAA,oBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,mBAAsBA,MAAA,UAAGA,QACzBA,MAAA,mBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,mDAAwCA,QACnDA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,8CAAgCA,QAC3CA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,8EAA6DA,QACxEA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,0FAAmEA,QAC9EA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,kFAAiEA,QAC5EA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,qBAAUA,QACrBA,MAAA,qBAEEA,MAAA,2BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAmB2H,SAAAy4C,WAAAj4C,EAAmB,qBAAoBnI,MAAE2H,EAAAW,KAAK,wBAAuB,GACxFtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YACAA,MAAA,IAAAsgD,GAAA,yBASJtgD,UAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,wBAAgBA,QAGpBA,MAFJ,YAEIA,CAFmB,uBAEnBA,CADuD,iBAC5CA,MAAA,oGAA6EA,QACxFA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,4FAA2EA,QACtFA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,6DAA+CA,QAC1DA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,iBAASA,QAC/BA,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,eAAOA,QAC7BA,MAAA,qBAAsBA,MAAA,aAAKA,QAC3BA,MAAA,qBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAEpDA,MAAA,qIAEHA,QACAA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,qBAAUA,QACrBA,MAAA,qBAEEA,MAAA,2BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAmB2H,SAAAy4C,WAAAj4C,EAAmB,qBAAoBnI,MAAE2H,EAAAW,KAAK,wBAAuB,GACxFtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YACAA,MAAA,IAAAugD,GAAA,yBASJvgD,UAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,4BAAcA,QAGlBA,MAFJ,YAEIA,CAFmB,uBAEnBA,CADuD,iBAEpDA,MAAA,6FACHA,QACAA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,sDAA8CA,QACzDA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,qBAAUA,QACrBA,MAAA,qBAEEA,MAAA,2BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAmB2H,SAAAy4C,WAAAj4C,EAAmB,qBAAoBnI,MAAE2H,EAAAW,KAAK,wBAAuB,GACxFtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YACAA,MAAA,IAAAwgD,GAAA,yBASJxgD,UAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,sBAAcA,QAEpBA,MADF,aACEA,CADuC,SACpCA,MAAA,+DAAuDA,QAExDA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,uCAA+BA,QAC1CA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,uDAAsCA,QACjDA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,0CAA+BA,QAC1CA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,uCAA+BA,QAC1CA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,kFAAoEA,QAC/EA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAEpDA,MAAA,+GACHA,QACAA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,2FAA0EA,QACrFA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,qBAAUA,QACrBA,MAAA,qBAEEA,MAAA,2BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAmB2H,SAAAy4C,WAAAj4C,EAAmB,qBAAoBnI,MAAE2H,EAAAW,KAAK,wBAAuB,GACxFtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YACAA,MAAA,IAAAygD,GAAA,yBASJzgD,UAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,yEAAqDA,QAGzDA,MAFJ,aAEIA,CAFqC,uBAErCA,CADuD,iBAC5CA,MAAA,mCAAwBA,QACnCA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,uEAAmDA,QAC9DA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,8FAA6EA,QACxFA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,oFAA4EA,QACvFA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,qBAAUA,QACrBA,MAAA,qBAEEA,MAAA,2BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAmB2H,SAAAy4C,WAAAj4C,EAAmB,qBAAoBnI,MAAE2H,EAAAW,KAAK,wBAAuB,GACxFtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YACAA,MAAA,IAAA0gD,GAAA,yBASJ1gD,UAEEA,MADF,iBACEA,CADsB,cAEpBA,MAAA,4HACFA,QAGIA,MAFJ,aAEIA,CAFqC,uBAErCA,CADuD,iBAC5CA,MAAA,qEAAuDA,QAClEA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,qDAAuCA,QAClDA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,iBAASA,QAC/BA,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,eAAOA,QAC7BA,MAAA,qBAAsBA,MAAA,aAAKA,QAC3BA,MAAA,qBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,qBAAUA,QACrBA,MAAA,qBAEEA,MAAA,2BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAmB2H,SAAAy4C,WAAAj4C,EAAmB,qBAAoBnI,MAAE2H,EAAAW,KAAK,wBAAuB,GACxFtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YACAA,MAAA,IAAA2gD,GAAA,yBASJ3gD,UAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,+EAA8DA,QAGlEA,MAFJ,aAEIA,CAFqC,uBAErCA,CADuD,iBAC5CA,MAAA,sBAAcA,QACzBA,MAAA,qBAAYA,MAAA,6BAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,YAAW,GAC7CtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YAEEA,MADF,uBACEA,CADuD,iBAC5CA,MAAA,qBAAUA,QACrBA,MAAA,qBAEEA,MAAA,2BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAmB2H,SAAAy4C,WAAAj4C,EAAmB,qBAAoBnI,MAAE2H,EAAAW,KAAK,wBAAuB,GACxFtI,MAAA,oBAAsBA,MAAA,WAAGA,QACzBA,MAAA,oBAAsBA,MAAA,cAAGA,QACzBA,MAAA,oBAAsBA,MAAA,WAE1BA,YACAA,MAAA,IAAA4gD,GAAA,yBASJ5gD,UAEEA,MADF,iBACEA,CADsB,cACdA,MAAA,gGAA+EA,QAGnFA,MAFJ,aAEIA,CAFqC,uBAErCA,CADuD,iBAC5CA,MAAA,uBAASA,QACpBA,MAAA,mBACEA,MAAA,oBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAU2H,EAAAW,KAAK,qBAAoB,GAO7CtI,gBACAA,MAAA,UACAA,MAAA,IAAA6gD,GAAA,uCAUN7gD,oCA3eYA,MAAA,GAAAA,MAAA,YAAA2H,EAAA3G,MAiE0DhB,MAAA,IAAAA,MAAA,aAAA2H,EAAA3G,KAAAgB,SAAA8+C,qBAAAhxD,OA+EAkQ,MAAA,IAAAA,MAAA,aAAA2H,EAAA3G,KAAAgB,SAAA++C,qBAAAjxD,OA4DAkQ,MAAA,IAAAA,MAAA,aAAA2H,EAAA3G,KAAAgB,SAAAg/C,qBAAAlxD,OAyCAkQ,MAAA,IAAAA,MAAA,aAAA2H,EAAA3G,KAAAgB,SAAAi/C,qBAAAnxD,OAkFAkQ,MAAA,IAAAA,MAAA,aAAA2H,EAAA3G,KAAAgB,SAAAk/C,qBAAApxD,OAuDAkQ,MAAA,IAAAA,MAAA,aAAA2H,EAAA3G,KAAAgB,SAAAm/C,qBAAArxD,OA2CAkQ,MAAA,IAAAA,MAAA,aAAA2H,EAAA3G,KAAAgB,SAAAo/C,qBAAAtxD,OA+BAkQ,MAAA,IAAAA,MAAA,aAAA2H,EAAA3G,KAAAgB,SAAAq/C,qBAAAvxD,OA0B7DkQ,MAAA,IAAAA,MAAA,OAAA2H,EAAA7H,KCvdF,IAAMwhD,GAAqC,MAA5C,MAAOA,EAsEDC,yCACAtyC,oBACA1O,wBACAgpB,qBAxEDzpB,GACAgT,QAAkB,EAClBjL,OAAiB,EACjBmY,SAAmB,GACnB8/B,cAAgC,KAChCj6C,UAA2CijB,EAE1C9H,OAAS,IAAIjB,MAEvBF,aAAuB,GAEvB4K,YAAsB,EAEtBzpB,KAAO,IAAIC,KAAU,CACnB6R,QAAS,IAAI3R,KAAY,GAAIC,KAAWC,UACxCwG,OAAQ,IAAI1G,KAAY,GAAIC,KAAWC,UACvCmgD,SAAU,IAAIrgD,KAAY,GAAIC,KAAWC,UACzCogD,SAAU,IAAItgD,KAAY,GAAIC,KAAWC,UACzCqgD,SAAU,IAAIvgD,KAAY,GAAIC,KAAWC,UACzCsgD,SAAU,IAAIxgD,KAAY,GAAIC,KAAWC,UACzCugD,SAAU,IAAIzgD,KAAY,GAAIC,KAAWC,UACzCwgD,SAAU,IAAI1gD,KAAY,GAAIC,KAAWC,UACzCy/C,qBAAsB,IAAI3/C,KAAY,GAAIC,KAAWC,UACrDygD,kBAAmB,IAAI3gD,KAAY,IACnC4gD,SAAU,IAAI5gD,KAAY,GAAIC,KAAWC,UACzC2gD,SAAU,IAAI7gD,KAAY,GAAIC,KAAWC,UACzC4gD,SAAU,IAAI9gD,KAAY,GAAIC,KAAWC,UACzC6gD,SAAU,IAAI/gD,KAAY,GAAIC,KAAWC,UACzC8gD,SAAU,IAAIhhD,KAAY,GAAIC,KAAWC,UACzC+gD,SAAU,IAAIjhD,KAAY,GAAIC,KAAWC,UACzCghD,SAAU,IAAIlhD,KAAY,GAAIC,KAAWC,UACzC0/C,qBAAsB,IAAI5/C,KAAY,GAAIC,KAAWC,UACrDihD,kBAAmB,IAAInhD,KAAY,IACnCohD,SAAU,IAAIphD,KAAY,GAAIC,KAAWC,UACzCmhD,SAAU,IAAIrhD,KAAY,GAAIC,KAAWC,UACzCohD,SAAU,IAAIthD,KAAY,GAAIC,KAAWC,UACzCqhD,SAAU,IAAIvhD,KAAY,GAAIC,KAAWC,UACzC2/C,qBAAsB,IAAI7/C,KAAY,GAAIC,KAAWC,UACrDshD,kBAAmB,IAAIxhD,KAAY,IACnCyhD,SAAU,IAAIzhD,KAAY,GAAIC,KAAWC,UACzCwhD,SAAU,IAAI1hD,KAAY,GAAIC,KAAWC,UACzC4/C,qBAAsB,IAAI9/C,KAAY,GAAIC,KAAWC,UACrDyhD,kBAAmB,IAAI3hD,KAAY,IACnC4hD,SAAU,IAAI5hD,KAAY,GAAIC,KAAWC,UACzC2hD,SAAU,IAAI7hD,KAAY,GAAIC,KAAWC,UACzC4hD,SAAU,IAAI9hD,KAAY,GAAIC,KAAWC,UACzC6hD,SAAU,IAAI/hD,KAAY,GAAIC,KAAWC,UACzC8hD,SAAU,IAAIhiD,KAAY,GAAIC,KAAWC,UACzC+hD,SAAU,IAAIjiD,KAAY,GAAIC,KAAWC,UACzCgiD,SAAU,IAAIliD,KAAY,GAAIC,KAAWC,UACzC6/C,qBAAsB,IAAI//C,KAAY,GAAIC,KAAWC,UACrDiiD,kBAAmB,IAAIniD,KAAY,IACnCoiD,SAAU,IAAIpiD,KAAY,GAAIC,KAAWC,UACzCmiD,SAAU,IAAIriD,KAAY,GAAIC,KAAWC,UACzCoiD,SAAU,IAAItiD,KAAY,GAAIC,KAAWC,UACzCqiD,SAAU,IAAIviD,KAAY,GAAIC,KAAWC,UACzC8/C,qBAAsB,IAAIhgD,KAAY,GAAIC,KAAWC,UACrDsiD,kBAAmB,IAAIxiD,KAAY,IACnCyiD,SAAU,IAAIziD,KAAY,GAAIC,KAAWC,UACzCwiD,SAAU,IAAI1iD,KAAY,GAAIC,KAAWC,UACzC+/C,qBAAsB,IAAIjgD,KAAY,GAAIC,KAAWC,UACrDyiD,kBAAmB,IAAI3iD,KAAY,IACnC4iD,SAAU,IAAI5iD,KAAY,GAAIC,KAAWC,UACzCggD,qBAAsB,IAAIlgD,KAAY,GAAIC,KAAWC,UACrD2iD,kBAAmB,IAAI7iD,KAAY,IACnC8iD,kBAAmB,IAAI9iD,KAAY,MAGrC1B,YACU8hD,EACAtyC,EACA1O,EACAgpB,GAHA3pB,KAAA2hD,2CACA3hD,KAAAqP,sBACArP,KAAAW,0BACAX,KAAA2pB,sBACN,CAEJpkB,WACMvF,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAY9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UACpH9qB,KAAKigB,aAAe,OACXjgB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,cAC5D9qB,KAAKigB,aAAe,eAGlBjgB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WACrD9qB,KAAKskD,iBAET,CAEAC,YAAYC,GACNA,EAAQv+C,OACVjG,KAAKoB,KAAKgB,SAAS8Q,QAAWE,SAASpT,KAAKkT,QAAQrH,YACpD7L,KAAKoB,KAAKgB,SAAS6F,OAAUmL,SAASpT,KAAKiI,OAAO4D,YAClD7L,KAAKmxC,kBACDnxC,KAAKiG,MAAQjG,KAAKiG,KAAK/F,IACzBF,KAAKoB,KAAKgB,SAASw/C,SAAYxuC,SAA+B,MAAtBpT,KAAKiG,KAAK27C,SAAmB,GAAK5hD,KAAKiG,KAAK27C,SAAS/1C,YAC7F7L,KAAKoB,KAAKgB,SAASy/C,SAAYzuC,SAA+B,MAAtBpT,KAAKiG,KAAK47C,SAAmB,GAAK7hD,KAAKiG,KAAK47C,SAASh2C,YAC7F7L,KAAKoB,KAAKgB,SAAS0/C,SAAY1uC,SAA+B,MAAtBpT,KAAKiG,KAAK67C,SAAmB,GAAK9hD,KAAKiG,KAAK67C,SAASj2C,YAC7F7L,KAAKoB,KAAKgB,SAAS2/C,SAAY3uC,SAA+B,MAAtBpT,KAAKiG,KAAK87C,SAAmB,GAAK/hD,KAAKiG,KAAK87C,SAASl2C,YAC7F7L,KAAKoB,KAAKgB,SAAS4/C,SAAY5uC,SAA+B,MAAtBpT,KAAKiG,KAAK+7C,SAAmB,GAAKhiD,KAAKiG,KAAK+7C,SAASn2C,YAC7F7L,KAAKoB,KAAKgB,SAAS6/C,SAAY7uC,SAA+B,MAAtBpT,KAAKiG,KAAKg8C,SAAmB,GAAKjiD,KAAKiG,KAAKg8C,SAASp2C,YAC7F7L,KAAKoB,KAAKgB,SAAS8+C,qBAAwB9tC,SACP,MAAlCpT,KAAKiG,KAAKi7C,qBAA+B,GAAKlhD,KAAKiG,KAAKi7C,qBAAqBuD,WAE/EzkD,KAAKoB,KAAKgB,SAAS8/C,kBAAqB9uC,SACP,MAA/BpT,KAAKiG,KAAKi8C,kBAA4B,GAAKliD,KAAKiG,KAAKi8C,mBAEvDliD,KAAKoB,KAAKgB,SAAS+/C,SAAY/uC,SAA+B,MAAtBpT,KAAKiG,KAAKk8C,SAAmB,GAAKniD,KAAKiG,KAAKk8C,SAASt2C,YAC7F7L,KAAKoB,KAAKgB,SAASggD,SAAYhvC,SAA+B,MAAtBpT,KAAKiG,KAAKm8C,SAAmB,GAAKpiD,KAAKiG,KAAKm8C,SAASv2C,YAC7F7L,KAAKoB,KAAKgB,SAASigD,SAAYjvC,SAA+B,MAAtBpT,KAAKiG,KAAKo8C,SAAmB,GAAKriD,KAAKiG,KAAKo8C,SAASx2C,YAC7F7L,KAAKoB,KAAKgB,SAASkgD,SAAYlvC,SAA+B,MAAtBpT,KAAKiG,KAAKq8C,SAAmB,GAAKtiD,KAAKiG,KAAKq8C,SAASz2C,YAC7F7L,KAAKoB,KAAKgB,SAASmgD,SAAYnvC,SAA+B,MAAtBpT,KAAKiG,KAAKs8C,SAAmB,GAAKviD,KAAKiG,KAAKs8C,SAAS12C,YAC7F7L,KAAKoB,KAAKgB,SAASogD,SAAYpvC,SAA+B,MAAtBpT,KAAKiG,KAAKu8C,SAAmB,GAAKxiD,KAAKiG,KAAKu8C,SAAS32C,YAC7F7L,KAAKoB,KAAKgB,SAASqgD,SAAYrvC,SAA+B,MAAtBpT,KAAKiG,KAAKw8C,SAAmB,GAAKziD,KAAKiG,KAAKw8C,SAAS52C,YAC7F7L,KAAKoB,KAAKgB,SAAS++C,qBAAwB/tC,SACP,MAAlCpT,KAAKiG,KAAKk7C,qBAA+B,GAAKnhD,KAAKiG,KAAKk7C,qBAAqBsD,WAE/EzkD,KAAKoB,KAAKgB,SAASsgD,kBAAqBtvC,SACP,MAA/BpT,KAAKiG,KAAKy8C,kBAA4B,GAAK1iD,KAAKiG,KAAKy8C,mBAEvD1iD,KAAKoB,KAAKgB,SAASugD,SAAYvvC,SAA+B,MAAtBpT,KAAKiG,KAAK08C,SAAmB,GAAK3iD,KAAKiG,KAAK08C,SAAS92C,YAC7F7L,KAAKoB,KAAKgB,SAASwgD,SAAYxvC,SAA+B,MAAtBpT,KAAKiG,KAAK28C,SAAmB,GAAK5iD,KAAKiG,KAAK28C,SAAS/2C,YAC7F7L,KAAKoB,KAAKgB,SAASygD,SAAYzvC,SAA+B,MAAtBpT,KAAKiG,KAAK48C,SAAmB,GAAK7iD,KAAKiG,KAAK48C,SAASh3C,YAC7F7L,KAAKoB,KAAKgB,SAAS0gD,SAAY1vC,SAA+B,MAAtBpT,KAAKiG,KAAK68C,SAAmB,GAAK9iD,KAAKiG,KAAK68C,SAASj3C,YAC7F7L,KAAKoB,KAAKgB,SAASg/C,qBAAwBhuC,SACP,MAAlCpT,KAAKiG,KAAKm7C,qBAA+B,GAAKphD,KAAKiG,KAAKm7C,qBAAqBqD,WAE/EzkD,KAAKoB,KAAKgB,SAAS2gD,kBAAqB3vC,SACP,MAA/BpT,KAAKiG,KAAK88C,kBAA4B,GAAK/iD,KAAKiG,KAAK88C,mBAEvD/iD,KAAKoB,KAAKgB,SAAS4gD,SAAY5vC,SAA+B,MAAtBpT,KAAKiG,KAAK+8C,SAAmB,GAAKhjD,KAAKiG,KAAK+8C,SAASn3C,YAC7F7L,KAAKoB,KAAKgB,SAAS6gD,SAAY7vC,SAA+B,MAAtBpT,KAAKiG,KAAKg9C,SAAmB,GAAKjjD,KAAKiG,KAAKg9C,SAASp3C,YAC7F7L,KAAKoB,KAAKgB,SAASi/C,qBAAwBjuC,SACP,MAAlCpT,KAAKiG,KAAKo7C,qBAA+B,GAAKrhD,KAAKiG,KAAKo7C,qBAAqBoD,WAE/EzkD,KAAKoB,KAAKgB,SAAS8gD,kBAAqB9vC,SACP,MAA/BpT,KAAKiG,KAAKi9C,kBAA4B,GAAKljD,KAAKiG,KAAKi9C,mBAEvDljD,KAAKoB,KAAKgB,SAAS+gD,SAAY/vC,SAA+B,MAAtBpT,KAAKiG,KAAKk9C,SAAmB,GAAKnjD,KAAKiG,KAAKk9C,SAASt3C,YAC7F7L,KAAKoB,KAAKgB,SAASghD,SAAYhwC,SAA+B,MAAtBpT,KAAKiG,KAAKm9C,SAAmB,GAAKpjD,KAAKiG,KAAKm9C,SAASv3C,YAC7F7L,KAAKoB,KAAKgB,SAASihD,SAAYjwC,SAA+B,MAAtBpT,KAAKiG,KAAKo9C,SAAmB,GAAKrjD,KAAKiG,KAAKo9C,SAASx3C,YAC7F7L,KAAKoB,KAAKgB,SAASkhD,SAAYlwC,SAA+B,MAAtBpT,KAAKiG,KAAKq9C,SAAmB,GAAKtjD,KAAKiG,KAAKq9C,SAASz3C,YAC7F7L,KAAKoB,KAAKgB,SAASmhD,SAAYnwC,SAA+B,MAAtBpT,KAAKiG,KAAKs9C,SAAmB,GAAKvjD,KAAKiG,KAAKs9C,SAAS13C,YAC7F7L,KAAKoB,KAAKgB,SAASohD,SAAYpwC,SAA+B,MAAtBpT,KAAKiG,KAAKu9C,SAAmB,GAAKxjD,KAAKiG,KAAKu9C,SAAS33C,YAC7F7L,KAAKoB,KAAKgB,SAASqhD,SAAYrwC,SAA+B,MAAtBpT,KAAKiG,KAAKw9C,SAAmB,GAAKzjD,KAAKiG,KAAKw9C,SAAS53C,YAC7F7L,KAAKoB,KAAKgB,SAASk/C,qBAAwBluC,SACP,MAAlCpT,KAAKiG,KAAKq7C,qBAA+B,GAAKthD,KAAKiG,KAAKq7C,qBAAqBmD,WAE/EzkD,KAAKoB,KAAKgB,SAASshD,kBAAqBtwC,SACP,MAA/BpT,KAAKiG,KAAKy9C,kBAA4B,GAAK1jD,KAAKiG,KAAKy9C,mBAEvD1jD,KAAKoB,KAAKgB,SAASuhD,SAAYvwC,SAA+B,MAAtBpT,KAAKiG,KAAK09C,SAAmB,GAAK3jD,KAAKiG,KAAK09C,SAAS93C,YAC7F7L,KAAKoB,KAAKgB,SAASwhD,SAAYxwC,SAA+B,MAAtBpT,KAAKiG,KAAK29C,SAAmB,GAAK5jD,KAAKiG,KAAK29C,SAAS/3C,YAC7F7L,KAAKoB,KAAKgB,SAASyhD,SAAYzwC,SAA+B,MAAtBpT,KAAKiG,KAAK49C,SAAmB,GAAK7jD,KAAKiG,KAAK49C,SAASh4C,YAC7F7L,KAAKoB,KAAKgB,SAAS0hD,SAAY1wC,SAA+B,MAAtBpT,KAAKiG,KAAK69C,SAAmB,GAAK9jD,KAAKiG,KAAK69C,SAASj4C,YAC7F7L,KAAKoB,KAAKgB,SAASm/C,qBAAwBnuC,SACP,MAAlCpT,KAAKiG,KAAKs7C,qBAA+B,GAAKvhD,KAAKiG,KAAKs7C,qBAAqBkD,WAE/EzkD,KAAKoB,KAAKgB,SAAS2hD,kBAAqB3wC,SACP,MAA/BpT,KAAKiG,KAAK89C,kBAA4B,GAAK/jD,KAAKiG,KAAK89C,mBAEvD/jD,KAAKoB,KAAKgB,SAAS4hD,SAAY5wC,SAA+B,MAAtBpT,KAAKiG,KAAK+9C,SAAmB,GAAKhkD,KAAKiG,KAAK+9C,SAASn4C,YAC7F7L,KAAKoB,KAAKgB,SAAS6hD,SAAY7wC,SAA+B,MAAtBpT,KAAKiG,KAAKg+C,SAAmB,GAAKjkD,KAAKiG,KAAKg+C,SAASp4C,YAC7F7L,KAAKoB,KAAKgB,SAASo/C,qBAAwBpuC,SACP,MAAlCpT,KAAKiG,KAAKu7C,qBAA+B,GAAKxhD,KAAKiG,KAAKu7C,qBAAqBiD,WAE/EzkD,KAAKoB,KAAKgB,SAAS8hD,kBAAqB9wC,SACP,MAA/BpT,KAAKiG,KAAKi+C,kBAA4B,GAAKlkD,KAAKiG,KAAKi+C,mBAEvDlkD,KAAKoB,KAAKgB,SAAS+hD,SAAY/wC,SAA+B,MAAtBpT,KAAKiG,KAAKk+C,SAAmB,GAAKnkD,KAAKiG,KAAKk+C,SAASt4C,YAC7F7L,KAAKoB,KAAKgB,SAASq/C,qBAAwBruC,SACP,MAAlCpT,KAAKiG,KAAKw7C,qBAA+B,GAAKzhD,KAAKiG,KAAKw7C,qBAAqBgD,WAE/EzkD,KAAKoB,KAAKgB,SAASgiD,kBAAqBhxC,SACP,MAA/BpT,KAAKiG,KAAKm+C,kBAA4B,GAAKpkD,KAAKiG,KAAKm+C,mBAEvDpkD,KAAKoB,KAAKgB,SAASiiD,kBAAqBjxC,SACP,MAA/BpT,KAAKiG,KAAKo+C,kBAA4B,GAAKrkD,KAAKiG,KAAKo+C,oBAIvDrkD,KAAK0kD,2BAIX,CAEQvT,kBAGNnxC,KAAK6qB,YACF7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,YAJnB,CAAC,iBAAkB,oBAAqB,gBAAiB,gBAK9D/S,SAAS/X,KAAKogB,UACxCpgB,KAAK6qB,YACP7qB,KAAKoB,KAAKqS,SAEd,CAEA6wC,kBACE,UAAWniD,KAAQnC,KAAKoB,KAAKgB,SAC3BpC,KAAKoB,KAAKiB,IAAIF,IAAOyU,kBACrB5W,KAAKoB,KAAKiB,IAAIF,IAAO4R,wBAEzB,CAEA7R,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEA2d,UAEE,GADAlgB,KAAKkC,+BACAlC,KAAKoB,KAAKqB,MACb,OAAAzC,KAAKW,wBAAwB+B,iBAAiB,yEAAmE,EAC1G8pB,QAAG,GAGZ,IAqBIm4B,EArBA/sC,EAA0D5X,KAAKoB,KAAKlR,MAsBxE,OAnBA0nB,EAAWsqC,kBACsC,MAA/CtqC,EAAWspC,qBAAqBr1C,WAAqB+L,EAAWsqC,kBAAoB,GACtFtqC,EAAW8qC,kBACsC,MAA/C9qC,EAAWupC,qBAAqBt1C,WAAqB+L,EAAW8qC,kBAAoB,GACtF9qC,EAAWmrC,kBACsC,MAA/CnrC,EAAWwpC,qBAAqBv1C,WAAqB+L,EAAWmrC,kBAAoB,GACtFnrC,EAAWsrC,kBACsC,MAA/CtrC,EAAWypC,qBAAqBx1C,WAAqB+L,EAAWsrC,kBAAoB,GACtFtrC,EAAW8rC,kBACsC,MAA/C9rC,EAAW0pC,qBAAqBz1C,WAAqB+L,EAAW8rC,kBAAoB,GACtF9rC,EAAWmsC,kBACsC,MAA/CnsC,EAAW2pC,qBAAqB11C,WAAqB+L,EAAWmsC,kBAAoB,GACtFnsC,EAAWssC,kBACsC,MAA/CtsC,EAAW4pC,qBAAqB31C,WAAqB+L,EAAWssC,kBAAoB,GACtFtsC,EAAWwsC,kBACsC,MAA/CxsC,EAAW6pC,qBAAqB51C,WAAqB+L,EAAWwsC,kBAAoB,GAKpFO,EADE3kD,KAAKiG,MAAM/F,GACDF,KAAK2hD,yCAAyC/kB,UAAU58B,KAAKiG,KAAK/F,GAAI0X,GAEtE5X,KAAK2hD,yCAAyCx0C,OAAOyK,GAI5D+sC,EAAUj/C,QACfgO,MAAIzN,IACFjG,KAAK4kD,qBACE,KACR,EACDx4B,MAAWlT,MACFsT,QAAG,IAGhB,CAEAg0B,WAAWqE,EAA4Bn/B,GACb,MAApBm/B,EAAU30D,MACZ8P,KAAKoB,KAAKiB,IAAIqjB,IAAS5R,cAAc,CAACtS,KAAWC,WAEjDzB,KAAKoB,KAAKiB,IAAIqjB,IAAS9O,kBAEzB5W,KAAKoB,KAAKiB,IAAIqjB,IAAS3R,wBACzB,CAEArL,KAAKvG,GACH,IAAIjS,EAAQ8P,KAAKoB,KAAKiB,IAAIF,IAAOuU,cACjC1W,KAAKqP,oBAAoBsH,IAAIxU,EAAMjS,EACrC,CAEQw0D,2BACN,UAAWviD,KAAQnC,KAAKoB,KAAKgB,SAAU,CACrC,IAAIlS,EAAQ8P,KAAKqP,oBAAoBhN,IAAIF,GACrCjS,GACF8P,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAASljB,EAElC,CACF,CAEQ00D,oBACN,UAAWziD,KAAQnC,KAAKoB,KAAKgB,SAC3BpC,KAAKqP,oBAAoB6Y,OAAO/lB,EAEpC,CACAyD,YAAY1V,GACNA,GACF8P,KAAKohB,OAAOV,MAAK,EAErB,4CApSWghC,GAAqCthD,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAA,+BAArCs+C,EAAqCp+C,UAAA,yCAAAqd,OAAA,CAAAzgB,GAAA,KAAAgT,QAAA,UAAAjL,OAAA,SAAAmY,SAAA,WAAA8/B,cAAA,gBAAAj6C,KAAA,QAAA2a,QAAA,CAAAQ,OAAA,UAAAN,SAAA,CAAA1gB,OAAAmD,MAAA,EAAAC,KAAA,EAAAC,OAAA,q0GAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,GDdlDvD,MAAA,EAAA0kD,GAAA,qBAAM1kD,MAAA,OAAAwD,EAAAqC,0UCcOy7C,CAAqC,KCJrCqD,GAAgB,MAAvB,MAAOA,UAAwBtlD,KAC1BE,MAAQ,YAEjBE,YACEC,EACuBJ,GAEvBK,MAAMD,EAAMJ,EACd,CAEAslD,WACE,OAAOhlD,KAAK4xC,uBAAqC,GAAG5xC,KAAKL,iBAC3D,CAEAo8C,WAAWkJ,EAAmBvnB,EAAgBwnB,GAC5C,OAAOllD,KAAK4xC,uBAAuC,GAAG5xC,KAAKL,oBAAoBslD,KAAavnB,KAAUwnB,IACxG,4CAhBWH,GAAe3kD,MAAAC,OAAAD,MAKhB,eAAa,iCALZ2kD,EAAezkD,QAAfykD,EAAexkD,UAAAC,WAFd,gBAEDukD,CAAgB,+BCFjB3kD,MAAA,mBACEA,MAAA,GACFA,kCAFyCA,MAAA,QAAA+kD,EAAAjlD,IACvCE,cAAA,IAAA+kD,EAAA18B,MAAA,MCMP,IAAM28B,GAAgC,MAAvC,MAAOA,EAcFt+B,UACCu+B,gBACA1kD,wBAdVS,KAAO,IAAIC,KAAU,CACnB4jD,UAAW,IAAI1jD,KAAY,GAAIC,KAAWC,UAC1Ci8B,OAAQ,IAAIn8B,KAAY,GAAI,CAACC,KAAWC,SAAUD,KAAWG,QAAQ,cACrEujD,IAAK,IAAI3jD,KAAY,GAAI,CAACC,KAAWC,SAAUD,KAAWG,QAAQ,gBAGpEqjD,SAA2B,GAEK3jC,OAChCC,YAEAzhB,YACSinB,EACCu+B,EACA1kD,GAFDX,KAAA8mB,YACC9mB,KAAAqlD,kBACArlD,KAAAW,0BAERX,KAAKshB,YAAc,CACjBG,QAAS,CACP6jC,cAAe,CAAE3jC,MAAO,iBACxB4jC,QAAS,CAAE5jC,MAAO,YAEpBuV,QAAS,CAAC,CAAEvV,MAAO,aAAcwV,SAAU1c,GAAKza,KAAKwpB,WAAW/O,GAAItZ,KAAM,aAC1E2gB,SAAUC,GAAKq8B,KAEnB,CAEA74C,WACEvF,KAAKqlD,gBAAgBL,WAAWljD,UAAUmE,IACxCjG,KAAKglD,SAAW/+C,GAEpB,CAEA/D,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEAijD,sBAEE,GADAxlD,KAAKkC,+BACAlC,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAGhD,MAAMuiD,EAAYjlD,KAAKoB,KAAKgB,SAAS6iD,UAAUvuC,cACzCgnB,EAAS19B,KAAKoB,KAAKgB,SAASs7B,OAAOhnB,cACnCwuC,EAAMllD,KAAKoB,KAAKgB,SAAS8iD,IAAIxuC,cACnC1W,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKqlD,gBAAgBtJ,WAAWkJ,EAAWvnB,EAAQwnB,GAChDvsC,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGxB,CAEAA,cACE5F,KAAKqhB,OAAOa,eACd,CAEAsH,WAAWt5B,GACT8P,KAAK8mB,UAAUqB,MAAMj4B,EACvB,4CAlEWk1D,GAAgChlD,MAAAC,OAAAD,MAAA+C,IAAA/C,MAAAgD,MAAA,+BAAhCgiD,EAAgC9hD,UAAA,oCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,SAUhC6e,KAAmB,qmBDvB5BpiB,MAFJ,eAEIA,CAF4B,qBAE5BA,CADgB,QACZA,MAAA,8BAAwBA,QAItBA,MAHN,WAGMA,CAHmB,UAGnBA,CAFgD,qBAEhDA,CADuD,eAC5CA,MAAA,+BAAsBA,QACjCA,MAAA,kBACEA,MAAA,GAAAqlD,GAAA,oBAIJrlD,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,gBAAMA,QACjBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,UAAGA,QACdA,MAAA,cACFA,QACAA,MAAA,eAA8EA,MAAA,0BAASwD,EAAA4hD,qBAAqB,GAC1GplD,MAAA,eAAUA,MAAA,aAGhBA,cACAA,MAAA,SACAA,MAAA,SAAIA,MAAA,gCAAyBA,QAC7BA,MAAA,oBAEJA,iBA3BUA,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAK8BhB,MAAA,GAAAA,MAAA,UAAAwD,EAAAohD,UAoBvB5kD,MAAA,IAAAA,MAAA,mBAAAwD,EAAA0d,0JCbJ8jC,CAAgC,sFCqDzBhlD,MAAA,mBACEA,MAAA,GACFA,kCAF4EA,MAAA,QAAAslD,EAAAp1D,KAC1E8P,cAAA,IAAAslD,EAAAx1D,MAAA,+CAkCFkQ,MADF,OACEA,CADqC,QACjCA,MAAA,GAASA,QAEXA,MADF,UACEA,CAD0C,eACLA,MAAA,yBAAAulD,EAAAvlD,MAAAiE,GAAAE,UAAAwD,EAAA3H,MAAA,UAAAA,MAAS2H,EAAA69C,aAAAD,GAAiB,GAC7DvlD,MAAA,cAAUA,MAAA,YAGhBA,0CANMA,MAAA,GAAAA,MAAAulD,8BAFRvlD,MADF,UACEA,CADmC,WAEjCA,MAAA,EAAAylD,GAAA,aASJzlD,iCATwBA,MAAA,GAAAA,MAAA,UAAA2H,EAAA+9C,0DAuBpB1lD,MAAA,MAGMA,MAFJ,UAEIA,CAFsD,sBAEtDA,CADyE,eAC9DA,MAAA,qBAASA,QACpBA,MAAA,cAMFA,QACAA,MAAA,6BAWEA,MADF,WACEA,CAD4B,eAK1BA,MAAA,yBAAAoxB,EAAApxB,MAAAoI,GAAAuS,MAAAhT,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAg+C,iBAAAv0B,GAAmB,GAE5BpxB,MAAA,eAAUA,MAAA,aAGhBA,yDA/B6EA,MAAA,gBAAAoxB,GASvEpxB,MAAA,GAAAA,MAAA,WAAA2H,EAAAi+C,uBAAAx0B,IAMFpxB,QAGAA,MAHA,uBAGAA,CAH0B,KAAA2H,EAAA+E,wBAAA0kB,GAG1BpxB,CAFiC,2DAvI7CA,MANZ,QAMYA,CANM,eAMNA,CALsB,qBAKtBA,CAJU,WAIVA,CAH+D,UAG/DA,CAF6C,eAE7CA,CADsB,YACdA,MAAA,UAAIA,QAINA,MAHN,UAGMA,CAHmC,UAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,mCAAyBA,QACpCA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,kCAAwBA,QACnCA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,gBAASA,QACpBA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA87B,UAAU,YAAW,GAC/DzjC,MAAA,cACFA,QACAA,MAAA,eACEA,MAAA,wBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAc2H,EAAAW,KAAK,YAAW,GADhCtI,QAOAA,MADA,8BACAA,CADgF,4BAGpFA,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,wBAAWA,QACtBA,MAAA,kBAGNA,YAEEA,MADF,cACEA,CADQ,aACAA,MAAA,YAAKA,QAIPA,MAHN,WAGMA,CAHmC,YAGnCA,CAFgD,sBAEhDA,CADuD,gBAC5CA,MAAA,0CAA0BA,QACrCA,MAAA,eAKJA,UAGIA,MAFJ,YAEIA,CAFgD,sBAEhDA,CADuD,gBAC5CA,MAAA,oCAA6BA,QACxCA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA87B,UAAU,8BAA6B,GAAEzjC,MAAA,YAAKA,QAC1FA,MAAA,eACAA,MAAA,kBAAoBA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAk+C,2BAA0B,GAAE7lD,MAAA,aAIjEA,gBAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,kBAAWA,QAIbA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,4BAAqBA,QAE9BA,MADF,mBACEA,CADuE,oBAClDA,MAAA,yCAA4BA,QACjDA,MAAA,GAAA8lD,GAAA,0CAOV9lD,gBAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,sBAAeA,QAIjBA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,UAAGA,QACdA,MAAA,eAKEA,MAAA,kBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAo+C,YAAW,GACvB/lD,UAEEA,MADF,YACEA,CAD4B,gBAK1BA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAq+C,iBAAgB,GAEzBhmD,MAAA,eAAUA,MAAA,UAGhBA,cACAA,MAAA,GAAAimD,GAAA,eAaJjmD,UAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,iBAAUA,QAGdA,MAFJ,YAEIA,CAFsC,SAEtCA,CADG,gBACuCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAu+C,qBAAoB,GACrElmD,MAAA,eAAUA,MAAA,UAAGA,QACbA,MAAA,kBAEJA,UAEEA,MADF,YACEA,CADkC,aAEhCA,MAAA,GAAAmmD,GAAA,wBAsCZnmD,kBACAA,MAAA,SAEEA,MADF,YACEA,CADyF,gBAC/CA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAoF,SAAQ,GACzD/M,MAAA,eAAUA,MAAA,WAAIA,QACdA,MAAA,oCACFA,QACAA,MAAA,gBAA0CA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAy+C,oCAAmC,GACpFpmD,MAAA,eAAUA,MAAA,oBAAaA,QACvBA,MAAA,6CAKVA,oDA9KYA,MAAA,GAAAA,MAAA,YAAA2H,EAAA3G,MAuBQhB,MAAA,IAAAA,MAAA,gBAAAqmD,GAE+BrmD,cAAA,MAAAqmD,GAwCWrmD,MAAA,IAAAA,MAAA,UAAAA,MAAA,KAAA2H,EAAA+1B,qBAiB1C19B,MAAA,IACAA,MADA,2BACAA,CAD8B,cAAA2H,EAAAy2C,OAe5Bp+C,MAAA,GAAAA,MAAA,OAAA2H,EAAA+9C,eAAAx/C,QAyBgClG,MAAA,IAAAA,MAAA,UAAA2H,EAAA2+C,eAAAtkD,WChG/C,IAAMukD,GAA0C,MAAjD,MAAOA,EAoBDnyB,mBACAjlB,iBACA5O,wBACA8O,GACA7O,OACA27B,uBACA7sB,OACAF,YACAH,oBACA3O,iBA5BDuF,UAAwCijB,EACjD2B,YAAsB,EAEtB+7B,uBAAiC,4BACjCC,kCAA4C,4BAEXC,gBAEjCC,oBAAgC,GAEhC3lD,KAESo9C,MAAqB,IAAIj9C,KAClCukD,eAA2B,GAC3Bt3B,mBACAw4B,eACAlpB,mBAAqB/lC,KAErB8H,YACU20B,EACAjlB,EACA5O,EACA8O,EACA7O,EACA27B,EACA7sB,GACAF,GACAH,GACA3O,IATAV,KAAAw0B,qBACAx0B,KAAAuP,mBACAvP,KAAAW,0BACAX,KAAAyP,KACAzP,KAAAY,SACAZ,KAAAu8B,yBACAv8B,KAAA0P,UACA1P,KAAAwP,eACAxP,KAAAqP,uBACArP,KAAAU,oBAERV,KAAKoB,KAAOpB,KAAKyP,GAAG0F,MAAM,CACxBjV,GAAI,IAAIqB,KAAY,GAAIC,KAAWC,UACnCwlD,kBAAmB,IAAI1lD,KAAY,GAAIC,KAAWG,QAAQ3B,KAAK4mD,yBAC/DM,iBAAkB,IAAI3lD,KAAY,GAAIC,KAAWG,QAAQ3B,KAAK4mD,yBAC9DO,SAAU,IAAI5lD,KAAY,IAAIqvB,MAC9Bw2B,gBAAiB,IAAI7lD,KAAY,IACjC8lD,YAAa,IAAI9lD,KAAY,IAC7BmlD,eAAgB1mD,KAAKyP,GAAG4/B,MAAM,IAC9BiY,2BAA4B,IAAI/lD,KAAY,GAAIC,KAAWG,QAAQ3B,KAAK6mD,oCACxEU,2BAA4B,IAAIhmD,KAAY,IAC5Co8B,kBAAmB,IAAIp8B,MAE3B,CAEAgjD,YAAYC,GACNA,EAAQv+C,MACNjG,KAAKiG,MAAQjG,KAAKiG,KAAK/F,KACzBF,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASpT,KAAKiG,KAAK/F,GAAG2L,YAC/C7L,KAAKoB,KAAKgB,SAAS6kD,kBAAqB7zC,SAASpT,KAAKiG,KAAKghD,mBAC3DjnD,KAAKoB,KAAKgB,SAAS8kD,iBAAoB9zC,SAASpT,KAAKiG,KAAKihD,kBAC1DlnD,KAAKoB,KAAKgB,SAAS+kD,SAAY/zC,YAAS69B,MAAgBjxC,KAAKiG,KAAKkhD,WAClEnnD,KAAKoB,KAAKgB,SAASglD,gBAAmBh0C,SAASpT,KAAKiG,KAAKmhD,iBACzDpnD,KAAKoB,KAAKgB,SAASilD,YAAej0C,SAASpT,KAAKiG,KAAKohD,aACrDrnD,KAAK8lD,eACuB,OAA1B9lD,KAAKiG,KAAKohD,aAAkD,KAA1BrnD,KAAKiG,KAAKohD,YAAqBrnD,KAAKiG,KAAKohD,YAAY/7C,MAAM,KAAO,GACtGtL,KAAKoB,KAAKgB,SAASklD,2BAA8Bl0C,SAASpT,KAAKiG,KAAKqhD,4BACpEtnD,KAAKoB,KAAKgB,SAASmlD,2BAA8Bn0C,SAASpT,KAAKiG,KAAKshD,4BACpEvnD,KAAKoB,KAAKgB,SAASu7B,kBAAqBvqB,SAASpT,KAAKiG,KAAK03B,mBAC3D39B,KAAKw0B,mBAAmBgzB,4BAA4BxnD,KAAKiG,KAAK/F,IAAI4B,UAAUG,IAC1EA,EAAI0S,QAAQC,IACV,IAAIC,EACJA,EAAc,IAAItT,KAAY,IAAIuT,MAAsB,CACtDC,WAAY,IAACC,QAAuB,MAGtCH,EAAY3kB,MAAM+kB,eAAeL,EAAI/H,cAAe,GACpDgI,EAAYzB,SAASyB,EAAY3kB,OAEjC,IAAIu3D,EAAYznD,KAAKyP,GAAG0F,MAAM,CAC5BjV,GAAI0U,EAAI1U,GACRgT,QAAS0B,EAAIc,cACbsjB,UAAW,CAACpkB,EAAIokB,UAAWx3B,KAAWC,UACtCoL,cAAe,CAAC+H,EAAI/H,eACpBgI,YAAaA,IAEf7U,KAAK0mD,eAAepzC,KAAKm0C,EAAS,EACnC,GAIT,CAEA,kBAAIf,GACF,OAAO1mD,KAAKoB,KAAKgB,SAASskD,cAC5B,CAEA55C,wBAAwB2N,GACtB,OAAOza,KAAK0mD,eAAetkD,SAASqY,GAAGpY,IAAI,cAC7C,CAEAikD,qBACE,IAAIzxC,EACJA,EAAc,IAAItT,KAAY,IAAIuT,MAAsB,CACtDC,WAAY,IAACC,QAAuB,MAEtC,IAAIyyC,EAAYznD,KAAKyP,GAAG0F,MAAM,CAC5BjV,GAAI,EACJgT,QAAS,CAAClT,KAAKiG,MAAM/F,IACrB84B,UAAW,CAAC,GAAIx3B,KAAWC,UAC3BoL,cAAe,CAAC,IAChBgI,YAAaA,IAEf7U,KAAK0mD,eAAepzC,KAAKm0C,EAC3B,CAEA1B,iBAAiBhrC,GACf,IAAI0sC,EAAYznD,KAAK0mD,eAAegB,GAAG3sC,GACvC,IAAK0sC,EAAUplD,IAAI,cAAcnS,QAAUu3D,EAAUplD,IAAI,gBAAgBnS,MAAM0yB,KAE7E,YADA5iB,KAAK0mD,eAAeiB,SAAS5sC,GAG/B,MAAMxB,EAAgB,IAAIC,KAAwB,gBAAW,wCAC3CxZ,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAEEV,cAAc/W,UAAU4X,IAC5BA,IACE+tC,EAAUplD,IAAI,OAAOnS,OACvB8P,KAAK+mD,qBAAqBzzC,KAAKm0C,EAAUplD,IAAI,OAAOnS,OAEtD8P,KAAK0mD,eAAeiB,SAAS5sC,GAAK,EAGxC,CAEAirC,uBAAuBjrC,GACrB,OACE/a,KAAK0mD,eAAetkD,SAAS2Y,GAAO1Y,IAAI,gBAAgBnS,MAAMkU,QAAU6W,MAAcuI,OACtFxjB,KAAK0mD,eAAetkD,SAAS2Y,GAAO1Y,IAAI,gBAAgBnS,MAAMkU,QAAU6W,MAAcsI,OAE1F,CAEA4iC,YACOnmD,KAAKuP,iBAAiBq4C,WAAW5nD,KAAKw+C,MAAM9nC,gBAC/C1W,KAAKw+C,MAAMpnC,UAAU,CAAEC,WAAW,GAEtC,CAEA+uC,iBACE,GAAwB,MAApBpmD,KAAKw+C,MAAMtuD,OAAqC,MAApB8P,KAAKw+C,MAAMtuD,OACzC,IAAK8P,KAAKw+C,MAAMl8C,QAAS,CACvB,IAAIpS,EAAQ8P,KAAKw+C,MAAM9nC,cAClB1W,KAAK8lD,eAAe/tC,SAAS7nB,IAChC8P,KAAK8lD,eAAexyC,KAAKpjB,GAE3B8P,KAAKw+C,MAAMprC,SAAS,IACpBpT,KAAKw+C,MAAM5nC,iBACb,OAEA5W,KAAKW,wBAAwB+B,iBAAiB,sEAElD,CAEAkjD,aAAa7/C,GACX/F,KAAK8lD,eAAiB9lD,KAAK8lD,eAAe3/C,OAAO,SAAUitB,GACzD,OAAOA,IAAQrtB,CACjB,EACF,CAEAoH,SAEE,GADAnN,KAAK6nD,oBACA7nD,KAAKoB,KAAKqB,OAMf,GAFAzC,KAAK8nD,kBACL9nD,KAAKqY,gBACDrY,KAAKiG,MACHjG,KAAKiG,KAAK/F,GAAI,CAChB,IAAI0X,EAA6C,CAC/C1X,GAAI6yB,OAAO/yB,KAAKoB,KAAKgB,SAASlC,IAAOhQ,OACrC+2D,kBAAmBjnD,KAAKoB,KAAKgB,SAAS6kD,mBAAsB/2D,MAC5Dg3D,iBAAkBlnD,KAAKoB,KAAKgB,SAAS8kD,kBAAqBh3D,MAC1Di3D,SAAUnnD,KAAKoB,KAAKgB,SAAS+kD,UAAaj3D,MAC1Ck3D,gBAAiBpnD,KAAKoB,KAAKgB,SAASglD,iBAAoBl3D,MACxDm3D,YAAarnD,KAAK8lD,eAAepqC,KAAK,KACtC4rC,2BAA4BtnD,KAAKoB,KAAKgB,SAASklD,4BAA+Bp3D,MAC9Eq3D,2BAA4BvnD,KAAKoB,KAAKgB,SAASmlD,4BAA+Br3D,MAC9EytC,kBAAqE,IAAlD39B,KAAKoB,KAAKgB,SAASu7B,mBAAsBztC,MAAc,KAAO8P,KAAKoB,KAAKgB,SAASu7B,mBAAsBztC,OAE5H8P,KAAKw0B,mBAAmBwiB,6BAA6Bh3C,KAAKiG,KAAK/F,GAAI0X,GAAY9V,UAAUmE,IACvFjG,KAAKW,wBAAwBqC,mBAAmB,gDAChDhD,KAAKY,OAAOsC,SAAS,CAAC,2BAA0B,EAEpD,OAtBAlD,KAAKW,wBAAwB+B,iBAAiB,uEAwBlD,CAEA8jD,oCACE,MAAM33B,EAAgB7uB,KAAK8uB,wBAE3B9uB,KAAKw0B,mBAAmByiB,iCADVj3C,KAAKoB,KAAKgB,SAASlC,GAAMhQ,MAC2B2+B,EAAe9oB,IACnF,CAEA89B,UAAU1hC,GACRnC,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAAS,KAChC,CAEA1K,KAAKvG,GACH,IAAIjS,EAAQ8P,KAAKoB,KAAKiB,IAAIF,IAAOuU,cACjC,GAAIvU,EAAK+U,WAAW,QAAS,CAC3BhnB,EAAQ8P,KAAKwP,YAAYigC,eAAev/C,GAExC,UAAW63D,KAAY/nD,KAAKoB,KAAKgB,SAC3B2lD,EAAS7wC,WAAW,SACtBlX,KAAKoB,KAAKiB,IAAI0lD,IAAWh0C,wBAG/B,CACA/T,KAAKqP,oBAAoBsH,IAAIxU,EAAMjS,EACrC,CAEA+1D,2BACkBjmD,KAAK0P,OAAO6I,KAAK6sC,GAAkC,CAACx2B,WAAY,sBACtE/V,cAAc/W,UAAU2lD,IAC5BA,IACFznD,KAAKgnD,eAAiBS,EACtBznD,KAAKoB,KAAKgB,SAASmlD,2BAA8Bn0C,SAASpT,KAAKgnD,gBAAgB1B,eAAa,EAGlG,CAEQuC,oBACN7nD,KAAK0mD,gBAAgBtkD,SAASuS,QAAQqzC,IACpC,MAAMC,EAAYD,EAClB,UAAW7lD,KAAQ8lD,EAAU7lD,SACvB4lD,EAAU3lD,IAAIF,IAAOG,SACvB0lD,EAAU3lD,IAAIF,IAAOI,eAAa,EAI1C,CAEQ8V,gBACNrY,KAAK8mD,iBAAiBnyC,QAAQ,CAACqzC,EAAWjtC,KACxC,MAAMie,EAAYh5B,KAAK0mD,eAAetkD,SAAS2Y,GAAO1Y,IAAI,cAAcnS,MAAMyiC,WAAW,IAAI,KACvFzyB,EAAKF,KAAK0mD,eAAetkD,SAAS2Y,GAAO1Y,IAAI,OAAOnS,MAC1D83D,EAAUhtC,WAAa,gBAAgBhb,KAAKiG,MAAM/F,oCAAoCA,KAAM84B,IACxFh5B,KAAK0mD,eAAetkD,SAAS2Y,GAAO1Y,IAAI,gBAAgBnS,MAAMkU,QAAU6W,MAAcC,aACxF8sC,GAAW7sC,QAAM,EAGvB,CAEQ2sC,kBACkC,IAApC9nD,KAAK+mD,oBAAoBzgD,QAG7BtG,KAAKw0B,mBAAmB0zB,gCAAgCloD,KAAK+mD,qBAAqBjlD,UAAU,CAC1FoX,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAG5C,CAEQmW,wBACN,OAAA9uB,KAAKU,iBAAiBmB,MAAMC,UAAUC,IAChCA,IACF/B,KAAKwuB,mBAAqBzsB,KAIvB/B,KAAKwuB,kBACd,CAEmBjtB,YAAcA,gDA1QtBolD,GAA0CvmD,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAAgD,MAAAhD,MAAA0b,OAAA1b,MAAA2b,MAAA3b,MAAA4b,MAAA5b,MAAA6b,MAAA,+BAA1C0qC,EAA0CrjD,UAAA,+CAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,w0ED7BvDvD,MAAA,EAAA+nD,GAAA,oBAAM/nD,MAAA,OAAAwD,EAAAqC,wqBC6BO0gD,CAA0C,uaCiC9BvmD,MAAA,kBAAUA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAhJ,EAAA7mC,MAAA,UAAAA,MAAS6mC,EAAAmhB,aAAa,GAAE,GAAsBhoD,MAAA,WAAKA,kCAS9DA,MAAA,oBAGEA,MAAA,GACFA,kCAFEA,MAAA,QAAAioD,EAAAnoD,IACAE,cAAA,IAAAioD,EAAAn7B,OAAA,MAAAm7B,EAAA5/B,MAAA,+CAQDroB,MAAA,kBAAUA,MAAA,mBAAAA,MAAAoI,GAAA,MAAAy+B,EAAA7mC,MAAA,UAAAA,MAAS6mC,EAAAmhB,aAAa,GAAE,GAAsBhoD,MAAA,WAAKA,mCAS9DA,MAAA,oBAGEA,MAAA,GACFA,kCAFEA,MAAA,QAAAkoD,EAAApoD,IACAE,cAAA,IAAAkoD,EAAAp7B,OAAA,MAAAo7B,EAAA7/B,MAAA,+CAUDroB,MAAA,kBAAUA,MAAA,mBAAAA,MAAA2I,GAAA,MAAAk+B,EAAA7mC,MAAA,UAAAA,MAAS6mC,EAAAmhB,aAAa,GAAE,GAAsBhoD,MAAA,WAAKA,mCAS9DA,MAAA,oBAGEA,MAAA,GACFA,kCAFEA,MAAA,QAAAmoD,EAAAroD,IACAE,cAAA,IAAAmoD,EAAAr7B,OAAA,MAAAq7B,EAAA9/B,MAAA,+CAQDroB,MAAA,kBAAUA,MAAA,mBAAAA,MAAA8I,GAAA,MAAA+9B,EAAA7mC,MAAA,UAAAA,MAAS6mC,EAAAmhB,aAAa,GAAE,GAAsBhoD,MAAA,WAAKA,mCAS9DA,MAAA,oBAGEA,MAAA,GACFA,kCAFEA,MAAA,QAAAooD,EAAAtoD,IACAE,cAAA,IAAAooD,EAAAt7B,OAAA,MAAAs7B,EAAA//B,MAAA,+CAjCJroB,MAHN,WAGMA,CAHiG,YAGjGA,CAFoD,YAEpDA,CAD6B,cAE1BA,MAAA,EAAAqoD,GAAA,oBAELroD,UAEEA,MADF,sBACEA,CADuD,eAC5CA,MAAA,4BAAsBA,QACjCA,MAAA,oBACEA,MAAA,uBAAAmI,GAAAnI,MAAAuxB,GAAA,MAAAsV,EAAA7mC,MAAA,GAAAA,aAAA6mC,EAAAyhB,wBAAmC,GAACngD,KAAA0+B,EAAAyhB,wBAAD,GAACngD,GAAAnI,MAAAmI,EAAA,GACpCnI,MAAA,6BAAAA,MAAAuxB,GAAA,MAAAsV,EAAA7mC,MAAA,UAAAA,MAAmB6mC,EAAAv+B,KAAK,wBAAuB,GAE/CtI,MAAA,EAAAuoD,GAAA,qBAONvoD,YAGIA,MAFJ,aAEIA,CAFoD,aAEpDA,CAD6B,eAE1BA,MAAA,GAAAwoD,GAAA,oBAELxoD,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,6BAAsBA,QACjCA,MAAA,qBACEA,MAAA,uBAAAmI,GAAAnI,MAAAuxB,GAAA,MAAAsV,EAAA7mC,MAAA,GAAAA,aAAA6mC,EAAAyhB,wBAAmC,GAACngD,KAAA0+B,EAAAyhB,wBAAD,GAACngD,GAAAnI,MAAAmI,EAAA,GACpCnI,MAAA,6BAAAA,MAAAuxB,GAAA,MAAAsV,EAAA7mC,MAAA,UAAAA,MAAmB6mC,EAAAv+B,KAAK,wBAAuB,GAE/CtI,MAAA,GAAAyoD,GAAA,qBAQRzoD,uCArC8CA,MAAA,GAAAA,MAAA,QAAA6mC,EAAApc,YAMtCzqB,MAAA,GAAAA,MAAA,QAAA6mC,EAAAyhB,wBAAA,IAEAtoD,MAAA,WAAA6mC,EAAApc,YAEmCzqB,cAAA,UAAA6mC,EAAAoL,uBAUGjyC,MAAA,GAAAA,MAAA,QAAA6mC,EAAApc,YAMtCzqB,MAAA,GAAAA,MAAA,QAAA6mC,EAAAyhB,wBAAA,IAEAtoD,MAAA,WAAA6mC,EAAApc,YAEmCzqB,cAAA,UAAA6mC,EAAAoL,iEAzErCjyC,MAJR,WAIQA,CAJ8E,WAI9EA,CAHoD,YAGpDA,CAFoD,YAEpDA,CAD6B,cAE1BA,MAAA,EAAA0oD,EAAA,oBAEL1oD,UAEEA,MADF,sBACEA,CADuD,eAC5CA,MAAA,4BAAsBA,QACjCA,MAAA,oBACEA,MAAA,uBAAAmI,GAAAnI,MAAA0iB,GAAA,MAAAmkB,EAAA7mC,qBAAA6mC,EAAAyhB,wBAAmC,GAACngD,KAAA0+B,EAAAyhB,wBAAD,GAACngD,GAAAnI,MAAAmI,EAAA,GACpCnI,MAAA,6BAAAA,MAAA0iB,GAAA,MAAAmkB,EAAA7mC,QAAA,OAAAA,MAAmB6mC,EAAAv+B,KAAK,wBAAuB,GAE/CtI,MAAA,GAAA2oD,EAAA,qBAON3oD,YAGIA,MAFJ,aAEIA,CAFoD,aAEpDA,CAD6B,eAE1BA,MAAA,GAAA4oD,GAAA,oBAEL5oD,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,6BAAsBA,QACjCA,MAAA,qBACEA,MAAA,uBAAAmI,GAAAnI,MAAA0iB,GAAA,MAAAmkB,EAAA7mC,qBAAA6mC,EAAAyhB,wBAAmC,GAACngD,KAAA0+B,EAAAyhB,wBAAD,GAACngD,GAAAnI,MAAAmI,EAAA,GACpCnI,MAAA,6BAAAA,MAAA0iB,GAAA,MAAAmkB,EAAA7mC,QAAA,OAAAA,MAAmB6mC,EAAAv+B,KAAK,wBAAuB,GAE/CtI,MAAA,GAAA6oD,GAAA,qBAQR7oD,cACAA,MAAA,GAAA8oD,GAAA,gBA0CF9oD,gCAhFgDA,MAAA,GAAAA,MAAA,QAAA6mC,EAAApc,YAMtCzqB,MAAA,GAAAA,MAAA,QAAA6mC,EAAAyhB,wBAAA,IAEAtoD,MAAA,WAAA6mC,EAAApc,YAEmCzqB,cAAA,UAAA6mC,EAAAoL,uBAUGjyC,MAAA,GAAAA,MAAA,QAAA6mC,EAAApc,YAMtCzqB,MAAA,GAAAA,MAAA,QAAA6mC,EAAAyhB,wBAAA,IAEAtoD,MAAA,WAAA6mC,EAAApc,YAEmCzqB,cAAA,UAAA6mC,EAAAoL,uBAQgBjyC,cAAA,OAAA6mC,EAAA7lC,KAAAgB,SAAA+mD,cAAAj5D,kCAmDrDkQ,MAAA,oBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAAgpD,EAAAlpD,GAAA2L,YACjDzL,cAAA,IAAAgpD,EAAApwB,UAAA,gCAOF54B,MAAA,oBACEA,MAAA,GACFA,kCAFiDA,MAAA,QAAAipD,EAAAnpD,GAAA2L,YAC/CzL,cAAA,IAAAipD,EAAA3rB,OAAA,gCA8CFt9B,MAAA,oBACEA,MAAA,GACFA,kCAFuDA,MAAA,QAAAkpD,EAAAp+C,MACrD9K,cAAA,IAAAkpD,EAAAp+C,KAAA,gCAOF9K,MAAA,oBAGEA,MAAA,GACFA,kCAFEA,MAAA,QAAAmpD,EAAArpD,GAAA2L,YACAzL,cAAA,IAAAmpD,EAAAvwB,UAAA,+CA8FJ54B,MAAA,kBAAmCA,MAAA,mBAAAA,MAAA6qC,GAAA,MAAAhE,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,wBAAuB,GAC3EzjC,MAAA,aACFA,kDAsBAA,MAAA,kBAGEA,MAAA,mBAAAA,MAAA6J,GAAA,MAAAg9B,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,4BAA2B,GAE7CzjC,MAAA,YACHA,gCAmGFA,MADF,sBACEA,CADwG,eAC7FA,MAAA,6CAAiCA,QAG1CA,MAFF,mBAEEA,CAD6B,oBACFA,MAAA,eAAMA,QACjCA,MAAA,oBAAyCA,MAAA,mCAE7CA,oCAEEA,MADF,sBACEA,CADwG,eAC7FA,MAAA,4DAAgDA,QAGzDA,MAFF,mBAEEA,CAD8C,mBACrBA,MAAA,SAAGA,QAC5BA,MAAA,mBAA0BA,MAAA,YAE9BA,sDAaIA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAgrC,GAAA,MAAAnE,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,wBAAuB,GAC3EzjC,MAAA,aACFA,kDAYAA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAA+J,GAAA,MAAA88B,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,sBAAqB,GACzEzjC,MAAA,aACFA,kDAmBAA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAiK,GAAA,MAAA48B,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,sBAAqB,GACzEzjC,MAAA,aACFA,kDAYAA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAopD,GAAA,MAAAviB,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,oBAAmB,GACvEzjC,MAAA,aACFA,kDAmBAA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAsK,GAAA,MAAAu8B,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,wBAAuB,GAC3EzjC,MAAA,aACFA,kDAYAA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAs5C,GAAA,MAAAzS,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,sBAAqB,GACzEzjC,MAAA,aACFA,kDAmBAA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAy5C,GAAA,MAAA5S,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,oBAAmB,GACvEzjC,MAAA,aACFA,kDAYAA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAyK,GAAA,MAAAo8B,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAApD,UAAU,kBAAiB,GACpEzjC,MAAA,YACHA,kDAyDAA,MAAA,kBAGEA,MAAA,mBAAAA,MAAA25C,GAAA,MAAA9S,EAAA7mC,MAAA,UAAAA,MAAS6mC,EAAApD,UAAU,gDAA+C,GAEjEzjC,MAAA,YACHA,kDAPAA,MAFJ,WAEIA,CAF+D,sBAE/DA,CADuD,eAC5CA,MAAA,6EAAkDA,QAC7DA,MAAA,EAAAqpD,GAAA,mBAOArpD,MAAA,eACEA,MAAA,wBAAAA,MAAA0K,GAAA,MAAAm8B,EAAA7mC,QAAA,OAAAA,MAAc6mC,EAAAv+B,KAAK,gDAA+C,GADpEtI,QAOAA,MADA,6BACAA,CADoH,4BAEtHA,QACAA,MAAA,+BAUFA,2CAtBOA,MAAA,GAAAA,MAAA,QAAA6mC,EAAApc,YAODzqB,cAAA,gBAAAspD,GAE+BtpD,cAAA,MAAAspD,GAQjCtpD,MAAA,GAAAA,MAAA,6BAAA6mC,EAAA/mC,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAA6mC,EAAA0iB,qBAG1BvpD,CAF2B,2CAUnCA,MAAA,2DAAyCA,MAAA,gBAAA6mC,EAAA/mC,8BAsE3CE,MAAA,kEAMEA,MAJA,UAAA6mC,EAAA/zB,QAIA9S,CAJmB,SAAA6mC,EAAAljC,aAInB3D,CAHuB,WAAA6mC,EAAA7mB,SAGvBhgB,CAFqB,gBAAA6mC,EAAAiZ,cAErB9/C,CAD+B,OAAA6mC,EAAA2iB,6EAEjCxpD,MAAA,4CAOEA,MAAA,kBAAAmI,GAAAnI,MAAA65C,GAAA,MAAAhT,EAAA7mC,MAAA,UAAAA,MAAU6mC,EAAA7lB,OAAA7Y,GAAc,GACmBnI,iCAA3CA,MANA,KAAA6mC,EAAA/mC,GAMAE,CANS,UAAA6mC,EAAA/zB,QAMT9S,CALmB,SAAA6mC,EAAAljC,aAKnB3D,CAJuB,WAAA6mC,EAAA7mB,SAIvBhgB,CAHqB,gBAAA6mC,EAAAiZ,cAGrB9/C,CAF+B,OAAA6mC,EAAA4iB,8DAdnCzpD,MAAA,iBAQEA,MAPA,EAAA0pD,GAAA,6CAOA1pD,CAD6C,EAAA2pD,GAAA,8CAU/C3pD,8BAfKA,cAAA,OAAA6mC,EAAA+iB,qBAOA5pD,cAAA,OAAA6mC,EAAAgjB,gDASL7pD,MAAA,iBACEA,MAAA,kDAEFA,8BADIA,cAAA,OAAA6mC,EAAAijB,0EAgBR9pD,MAAA,gBAA0CA,MAAA,mBAAAA,MAAA+5C,GAAA,MAAAlT,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAA95B,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QACdA,MAAA,cACFA,gCAHiFA,MAAA,WAAA6mC,EAAApc,aChuB9E,IAAMs/B,GAA0B,MAAjC,MAAOA,EAoHDxpD,wBACAqxC,4BACA1V,0BACAmB,iBACAW,kBACAl9B,MACAN,OACAwO,aACAolB,mBACA41B,oBACA56C,YACAH,oBACAsa,qBACAjpB,iBACA0/C,yCACAuB,yCAlIVtL,WAAqB,EACrBxrB,YAAsB,EACtBw/B,kBAA4B,EAC5BL,qBAA+B,EAC/BC,qBAA+B,EAC/BK,sBAAgC,EAEhCle,UAAiC,KACjCme,eAAyB,GACzBC,gBAA0B,GAC1BC,iBAA2B,GAE3BC,eAAyB,EAChB1pD,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,WAAYC,MAAO,IAAKC,KAAM,SAGzCC,KAAO,IAAIC,KAAU,CACnBnB,GAAI,IAAIqB,KAAY,IACpB2R,QAAS,IAAI3R,KAAY,GAAIC,KAAWC,UACxCsC,aAAc,IAAIxC,KAAY,IAC9BmnD,wBAAyB,IAAInnD,KAAY,IACzCopD,YAAa,IAAIppD,KAAY,GAAIC,KAAWC,UAC5CmpD,aAAc,IAAIrpD,KAAY,GAAIC,KAAWC,UAC7C0nD,cAAe,IAAI5nD,MAAY,GAC/B+sC,qBAAsB,IAAI/sC,KAAY,IAAIqvB,KAAQpvB,KAAWC,UAC7DopD,yBAA0B,IAAItpD,KAAY,IAAIqvB,KAAQpvB,KAAWC,UACjEqpD,6CAA8C,IAAIvpD,KAClDwpD,mBAAoB,IAAIxpD,KAAY,GAAIC,KAAWC,UACnD8sC,oBAAqB,IAAIhtC,KAAY,IACrCypD,qBAAsB,IAAIzpD,KAAY,IACtC0pD,0BAA2B,IAAI1pD,KAAY,IAC3CitC,wBAAyB,IAAIjtC,KAAY,GAAIC,KAAWC,UACxDypD,qBAAsB,IAAI3pD,KAAY,GAAIC,KAAWC,UACrDgtC,WAAY,IAAIltC,KAAY,GAAIC,KAAWC,UAC3CitC,YAAa,IAAIntC,KAAY,GAAIC,KAAWC,UAC5C0pD,uBAAwB,IAAI5pD,KAAY,GAAIC,KAAWC,UACvDmtC,YAAa,IAAIrtC,KAAY,GAAIC,KAAWC,UAC5CotC,oBAAqB,IAAIttC,KAAY,GAAIC,KAAWC,UACpD+oC,kBAAmB,IAAIjpC,KAAY,GAAIC,KAAWC,UAClDwC,qBAAsB,IAAI1C,KAAY,IAAIqvB,KAAQpvB,KAAWC,UAC7DyC,mBAAoB,IAAI3C,KAAY,IAAIqvB,KAAQpvB,KAAWC,UAC3DqtC,mBAAoB,IAAIvtC,KAAY,IAAIqvB,KAAQpvB,KAAWC,UAC3DstC,iBAAkB,IAAIxtC,KAAY,IAAIqvB,KAAQpvB,KAAWC,UACzDutC,qBAAsB,IAAIztC,KAAY,IAAIqvB,KAAQpvB,KAAWC,UAC7DwtC,mBAAoB,IAAI1tC,KAAY,IAAIqvB,KAAQpvB,KAAWC,UAC3D4rB,iBAAkB,IAAI9rB,KAAY,IAAIqvB,KAAQpvB,KAAWC,UACzD8rB,eAAgB,IAAIhsB,KAAY,IAAIqvB,KAAQpvB,KAAWC,UACvD2pD,eAAgB,IAAI7pD,KAAY,GAAIC,KAAWC,UAC/C4pD,UAAW,IAAI9pD,MAAY,GAC3B2tC,cAAe,IAAI3tC,KAAY,GAAIC,KAAWC,UAC9C0tC,uBAAwB,IAAI5tC,KAAY,IACxC6tC,mBAAoB,IAAI7tC,KAAY,IACpC+pD,kBAAmB,IAAI/pD,KAAY,GAAIC,KAAWC,UAClD8pD,mBAAoB,IAAIhqD,KAAY,IACpCwqC,qBAAsB,IAAIxqC,KAAY,GAAI,IAAC6wC,WAE3C6U,kBAAmB,IAAI1lD,KAAY,IACnC2lD,iBAAkB,IAAI3lD,KAAY,IAClC6lD,gBAAiB,IAAI7lD,KAAY,IACjConB,WAAY,IAAIpnB,KAAY,IAC5BiqD,OAAQ,IAAIjqD,KAAY,IACxB+O,4BAA6B,IAAI/O,KAAY,MAE/CkqD,kBAA4B,EAC5B7c,YAAsB,EACtB8Z,wBAAiC,CAAC,KAAM,KAAM,KAAM,MAEdgD,wBACAC,wBACAC,wBACAC,wBACAC,wBACAC,wBACAC,wBACAC,wBACAC,wBACCC,yBACAC,yBACAC,yBACvCC,oBACAC,oBACAC,oBACAC,oBACAC,oBACAC,oBACAC,oBACAC,oBACAC,oBACAC,qBACAC,qBACArD,qBAEAvb,MACAl7B,QACAhT,GACA6D,aACA6lD,uCAAwE1gC,EACxE2gC,uCAAwE3gC,EACxE9I,SAAmB,GACnB8/B,cAAgC,KAEhC7N,sBAAgD,GAChD4a,oBAA4C,GAC5CC,cAAgC,GAChCC,WAA0B,GAC1BC,YAA4B,GAE5BnU,SAAmB,EACnBiR,oCAAkEhhC,EAClEmkC,sBAAgC,EAEhCxtD,YACUc,EACAqxC,EACA1V,EACAmB,EACAW,EACAl9B,EACAN,GACAwO,GACAolB,GACA41B,GACA56C,GACAH,GACAsa,GACAjpB,GACA0/C,GACAuB,IAfA3hD,KAAAW,0BACAX,KAAAgyC,8BACAhyC,KAAAs8B,4BACAt8B,KAAAy9B,mBACAz9B,KAAAo+B,oBACAp+B,KAAAkB,QACAlB,KAAAY,UACAZ,KAAAoP,gBACApP,KAAAw0B,sBACAx0B,KAAAoqD,uBACApqD,KAAAwP,eACAxP,KAAAqP,uBACArP,KAAA2pB,wBACA3pB,KAAAU,oBACAV,KAAAogD,4CACApgD,KAAA2hD,4CAER3hD,KAAKssD,oBAAsB,IAAI/qD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAKusD,oBAAsB,IAAIhrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAKwsD,oBAAsB,IAAIjrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAKysD,oBAAsB,IAAIlrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK0sD,oBAAsB,IAAInrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK2sD,oBAAsB,IAAIprD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK4sD,oBAAsB,IAAIrrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK6sD,oBAAsB,IAAItrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK8sD,oBAAsB,IAAIvrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK+sD,qBAAuB,IAAIxrD,KAAY,IAAIuT,MAAsB,CACpEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAKgtD,qBAAuB,IAAIzrD,KAAY,IAAIuT,MAAsB,CACpEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK2pD,qBAAuB,IAAIpoD,KAAY,IAAIuT,MAAsB,CACpEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAIZt2C,KAAKoB,KAAKgB,SAASksC,qBAAwBx6B,cAAc,CACvDtS,KAAWC,YACX6rD,OAAQttD,KAAKoB,KAAM,8BAErBpB,KAAKoB,KAAKgB,SAASyoD,yBAA4B/2C,cAAc,CAC3DtS,KAAWC,YACX8rD,OAAQvtD,KAAKoB,KAAM,0BAErBpB,KAAKoB,KAAKgB,SAAS6B,qBAAwB6P,cAAc,CACvDtS,KAAWC,YACX6rD,OAAQttD,KAAKoB,KAAM,wBAErBpB,KAAKoB,KAAKgB,SAAS8B,mBAAsB4P,cAAc,CACrDtS,KAAWC,YACX+rD,OAAYxtD,KAAKoB,KAAM,uBAAwB,wBAEjDpB,KAAKoB,KAAKgB,SAAS0sC,mBAAsBh7B,cAAc,CACrDtS,KAAWC,YACX+rD,OAAYxtD,KAAKoB,KAAM,qBAAsB,sBAE/CpB,KAAKoB,KAAKgB,SAAS2sC,iBAAoBj7B,cAAc,CACnDtS,KAAWC,YACX+rD,OAAYxtD,KAAKoB,KAAM,qBAAsB,0BAE/CpB,KAAKoB,KAAKgB,SAAS4sC,qBAAwBl7B,cAAc,CACvDtS,KAAWC,YACX+rD,OAAYxtD,KAAKoB,KAAM,mBAAoB,wBAE7CpB,KAAKoB,KAAKgB,SAAS6sC,mBAAsBn7B,cAAc,CACrDtS,KAAWC,YACX+rD,OAAYxtD,KAAKoB,KAAM,uBAAwB,sBAEjDpB,KAAKoB,KAAKgB,SAASirB,iBAAoBvZ,cAAc,CACnDtS,KAAWC,YACX+rD,OAAYxtD,KAAKoB,KAAM,qBAAsB,oBAE/CpB,KAAKoB,KAAKgB,SAASmrB,eAAkBzZ,cAAc,CAACtS,KAAWC,YAAU8rD,OAAQvtD,KAAKoB,KAAM,qBAC9F,CAEQqsD,mBAAmBv9D,GACzB,OAAc,OAAVA,EACK6iC,OAAOC,WAAW9iC,EAAM2b,YAAY44C,QAAQ,GAAG1tC,QAAQ,IAAK,KAE9D,EACT,CAEQ22C,sBAAsBC,GAC5B,OAAO56B,OAAOC,WAAW26B,EAAI52C,QAAQ,IAAK,KAAKA,QAAQ,KAAM,IAAIyJ,OACnE,CAEAjb,WACEvF,KAAK4tD,eACL5tD,KAAKU,iBAAiBmB,MAAMC,UAAUC,IACpC/B,KAAKosC,UAAYrqC,IAEnB/B,KAAKs8B,0BAA0BhhB,MAAMxZ,UAAUG,IAC7CjC,KAAKitD,oBAAsBhrD,IAE7BjC,KAAKy9B,iBAAiBniB,MAAMxZ,UAAUG,IACpCjC,KAAKmtD,WAAalrD,IAEpBjC,KAAKo+B,kBAAkB9iB,MAAMxZ,UAAUG,IACrCjC,KAAKotD,YAAcnrD,IAErBjC,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKgB,YAAY,GAAK,CACpBC,MAAO,WACPC,MAAO,yBAAyBlB,KAAKkT,mBACrC/R,KAAM,QAERnB,KAAKoB,KAAK6B,QACVjD,KAAKoB,KAAKgB,SAAS8Q,QAAWE,SAASpT,KAAKkT,QAAQrH,YACpD7L,KAAKoP,aAAayhB,SAAS7wB,KAAKkT,SAASpR,UAAUG,IACjDjC,KAAKouC,MAAQnsC,EACbjC,KAAKoqD,oBAAoBvM,8BAA8B57C,EAAIiwC,wBAAwBpwC,UAAUG,IAC3FjC,KAAKktD,cAAgBjrD,IAGvBjC,KAAKgyC,4BAA4B12B,MAAMxZ,UAAUG,IAC/CjC,KAAKqyC,sBAAwBpwC,EAAIkE,OAAO0nD,GAAKA,EAAE3tD,IAAMF,KAAKouC,OAAO8D,uBAAsB,EACxF,GAEClyC,KAAKE,GACPF,KAAKw0B,mBAAmBs5B,eAAe9tD,KAAKE,IAAI4B,UAAUG,IACxDjC,KAAKogB,SAAWne,EAAIme,SACpBpgB,KAAKkgD,cAAgBj+C,EAAIi+C,cACzBlgD,KAAK+tD,mCAAmC9rD,GACxCjC,KAAKq2C,UAAYp0C,EAAIo0C,UACrBr2C,KAAKgB,YAAY,GAAK,CACpBC,MAAO,WACPC,MAAO,yBAAyBlB,KAAKkT,oBAAoBlT,KAAKE,KAC9DiB,KAAM,QAERnB,KAAK6qB,WAAa5oB,EAAI4oB,WAClB7qB,KAAK6qB,aACP7qB,KAAKoB,KAAKqS,UACVzT,KAAKssD,oBAAoB74C,UACzBzT,KAAKusD,oBAAoB94C,UACzBzT,KAAKwsD,oBAAoB/4C,UACzBzT,KAAKysD,oBAAoBh5C,UACzBzT,KAAK0sD,oBAAoBj5C,UACzBzT,KAAK2sD,oBAAoBl5C,UACzBzT,KAAK4sD,oBAAoBn5C,UACzBzT,KAAK6sD,oBAAoBp5C,UACzBzT,KAAK8sD,oBAAoBr5C,UACzBzT,KAAK+sD,qBAAqBt5C,UAC1BzT,KAAKgtD,qBAAqBv5C,UAC1BzT,KAAK2pD,qBAAqBl2C,WAE5B,QAASgH,EAAI,EAAGA,EAAIxY,EAAIymD,wBAAwBpiD,OAAQmU,IACtDza,KAAK0oD,wBAAwBjuC,GAAKxY,EAAIymD,wBAAwBjuC,GAEhEza,KAAKuqD,eAAiBtoD,EAAI+rD,eAC1BhuD,KAAKwqD,gBAAkBvoD,EAAImrB,gBAC3BptB,KAAKyqD,iBAAmBxoD,EAAIgsD,iBAC5BjuD,KAAK+D,aAAe9B,EAAI8B,aACxB/D,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASnR,EAAI/B,GAAG2L,YACzC7L,KAAKoB,KAAKgB,SAAS8Q,QAAWE,SAASnR,EAAIiR,QAAQrH,YACnD7L,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAASnR,EAAI8B,aAAa8H,YAC7D7L,KAAKoB,KAAKgB,SAAS+mD,cAAiB/1C,SAASnR,EAAIknD,eAC1B,MAAnBlnD,EAAI0oD,cACN3qD,KAAKoB,KAAKgB,SAASuoD,YAAev3C,SAASnR,EAAI0oD,YAAY9+C,YACvD5J,EAAI0oD,aAAe,IACrB3qD,KAAK0qD,eAAgB,EACrB1qD,KAAKoB,KAAKgB,SAAS0oD,6CAAgDh3C,cAActS,KAAWC,UAC5FzB,KAAKoB,KAAKgB,SAAS0oD,6CAAgD/2C,2BAG/C,MAApB9R,EAAI2oD,cACN5qD,KAAKoB,KAAKgB,SAASwoD,aAAgBx3C,SAASnR,EAAI2oD,aAAa/+C,YAE/D7L,KAAKoB,KAAKgB,SAASksC,qBAAwBl7B,YAAS69B,MAAgBhvC,EAAIqsC,uBACxEtuC,KAAKoB,KAAKgB,SAASyoD,yBAA4Bz3C,YAAS69B,MAAgBhvC,EAAI4oD,2BAC5E7qD,KAAKoB,KAAKgB,SAAS0oD,6CAAgD13C,YAAS69B,MAAgBhvC,EAAI6oD,+CAChG9qD,KAAKoB,KAAKgB,SAAS2oD,mBAAsB33C,SAASnR,EAAI8oD,oBACtD/qD,KAAKoB,KAAKgB,SAASmsC,oBAAuBn7B,SAASnR,EAAIssC,qBACvDvuC,KAAKoB,KAAKgB,SAAS4oD,qBAAwB53C,SAASnR,EAAI+oD,sBACpD/oD,EAAIgpD,0BAA4B,IAClCjrD,KAAKoB,KAAKgB,SAAS6oD,0BAA6B73C,SAC9CnR,EAAIgpD,0BAA4BhpD,EAAIgpD,0BAA0Bp/C,WAAa,IAE7E7L,KAAKoB,KAAKgB,SAASosC,wBAA2Bp7B,SAASnR,EAAIusC,0BAE7DxuC,KAAKoB,KAAKgB,SAAS8oD,qBAAwB93C,SAASnR,EAAIipD,qBAAqBr/C,YAC7E7L,KAAKoB,KAAKgB,SAASqsC,WAAcr7B,SAASnR,EAAIwsC,YAC9CzuC,KAAKoB,KAAKgB,SAASssC,YAAet7B,SAASnR,EAAIysC,aAC/C1uC,KAAKoB,KAAKgB,SAAS+oD,uBAA0B/3C,SAC3CnR,EAAIkpD,uBAAyBlpD,EAAIkpD,uBAAuBt/C,WAAa,IAEvE7L,KAAKoB,KAAKgB,SAASwsC,YAAex7B,SAASnR,EAAI2sC,YAAc3sC,EAAI2sC,YAAY/iC,WAAa,IAC1F7L,KAAKoB,KAAKgB,SAASysC,oBAAuBz7B,SACxCnR,EAAI4sC,oBAAsB5sC,EAAI4sC,oBAAoBhjC,WAAa,IAEjE7L,KAAKoB,KAAKgB,SAASooC,kBAAqBp3B,SACtCnR,EAAIuoC,kBAAoBvoC,EAAIuoC,kBAAkB3+B,WAAa,IAE7D7L,KAAKoB,KAAKgB,SAAS6B,qBAAwBmP,YAAS69B,MAAgBhvC,EAAIgC,uBACxEjE,KAAKoB,KAAKgB,SAAS8B,mBAAsBkP,YAAS69B,MAAgBhvC,EAAIiC,qBACtElE,KAAKoB,KAAKgB,SAAS0sC,mBAAsB17B,YAAS69B,MAAgBhvC,EAAI6sC,qBACtE9uC,KAAKoB,KAAKgB,SAAS2sC,iBAAoB37B,YAAS69B,MAAgBhvC,EAAI8sC,mBACpE/uC,KAAKoB,KAAKgB,SAAS4sC,qBAAwB57B,YAAS69B,MAAgBhvC,EAAI+sC,uBACxEhvC,KAAKoB,KAAKgB,SAAS6sC,mBAAsB77B,YAAS69B,MAAgBhvC,EAAIgtC,qBACtEjvC,KAAKoB,KAAKgB,SAASirB,iBAAoBja,YAAS69B,MAAgBhvC,EAAIorB,mBACpErtB,KAAKoB,KAAKgB,SAASmrB,eAAkBna,YAAS69B,MAAgBhvC,EAAIsrB,iBAClEvtB,KAAKoB,KAAKgB,SAAS8sC,cAAiB97B,SAASnR,EAAIitC,eACjDlvC,KAAKoB,KAAKgB,SAASgpD,eAAkBh4C,SAASpT,KAAKytD,mBAAmBxrD,EAAImpD,iBAC1EprD,KAAKoB,KAAKgB,SAASipD,UAAaj4C,SAASnR,EAAIopD,WAC7CrrD,KAAKoB,KAAKgB,SAAS+sC,uBAA0B/7B,SAASnR,EAAIktC,wBAC1DnvC,KAAKoB,KAAKgB,SAASgtC,mBAAsBh8B,SAASnR,EAAImtC,oBACtDpvC,KAAKoB,KAAKgB,SAASkpD,kBAAqBl4C,SAASnR,EAAIqpD,mBACrDtrD,KAAKoB,KAAKgB,SAASmpD,mBAAsBn4C,SAASnR,EAAIspD,oBACtDvrD,KAAKoB,KAAKgB,SAAS2pC,qBAAwB34B,SAASnR,EAAI8pC,sBAExD/rC,KAAKoB,KAAKgB,SAAS6kD,kBAAqB7zC,SAASnR,EAAIglD,mBACrDjnD,KAAKoB,KAAKgB,SAAS8kD,iBAAoB9zC,SAASnR,EAAIilD,kBACpDlnD,KAAKoB,KAAKgB,SAASglD,gBAAmBh0C,SAASnR,EAAImlD,iBAEnDpnD,KAAKoB,KAAKgB,SAASumB,WAAcvV,SAASnR,EAAI0mB,YAC9C3oB,KAAKoB,KAAKgB,SAASopD,OAAUp4C,SAASnR,EAAIupD,OAAO3/C,YACjD7L,KAAKoB,KAAKgB,SAASkO,4BAA+B8C,SAASnR,EAAIqO,4BAA4BzE,YAE3F7L,KAAKssD,oBAAoBp8D,MAAM+kB,eAAehT,EAAI+oC,kBAAmB,GACrEhrC,KAAKssD,oBAAoBl5C,SAASpT,KAAKssD,oBAAoBp8D,OAC3D8P,KAAKusD,oBAAoBr8D,MAAM+kB,eAAehT,EAAIipC,kBAAmB,GACrElrC,KAAKusD,oBAAoBn5C,SAASpT,KAAKusD,oBAAoBr8D,OAC3D8P,KAAKwsD,oBAAoBt8D,MAAM+kB,eAAehT,EAAIkpC,kBAAmB,GACrEnrC,KAAKwsD,oBAAoBp5C,SAASpT,KAAKwsD,oBAAoBt8D,OAC3D8P,KAAKysD,oBAAoBv8D,MAAM+kB,eAAehT,EAAIisD,kBAAmB,GACrEluD,KAAKysD,oBAAoBr5C,SAASpT,KAAKysD,oBAAoBv8D,OAC3D8P,KAAK0sD,oBAAoBx8D,MAAM+kB,eAAehT,EAAIksD,kBAAmB,GACrEnuD,KAAK0sD,oBAAoBt5C,SAASpT,KAAK0sD,oBAAoBx8D,OAC3D8P,KAAK2sD,oBAAoBz8D,MAAM+kB,eAAehT,EAAImsD,kBAAmB,GACrEpuD,KAAK2sD,oBAAoBv5C,SAASpT,KAAK2sD,oBAAoBz8D,OAC3D8P,KAAK4sD,oBAAoB18D,MAAM+kB,eAAehT,EAAIosD,kBAAmB,GACrEruD,KAAK4sD,oBAAoBx5C,SAASpT,KAAK4sD,oBAAoB18D,OAC3D8P,KAAK6sD,oBAAoB38D,MAAM+kB,eAAehT,EAAIqsD,kBAAmB,GACrEtuD,KAAK6sD,oBAAoBz5C,SAASpT,KAAK6sD,oBAAoB38D,OAC3D8P,KAAK8sD,oBAAoB58D,MAAM+kB,eAAehT,EAAI21B,kBAAmB,GACrE53B,KAAK8sD,oBAAoB15C,SAASpT,KAAK8sD,oBAAoB58D,OAC3D8P,KAAK+sD,qBAAqB78D,MAAM+kB,eAAehT,EAAIopC,mBAAoB,GACvErrC,KAAK+sD,qBAAqB35C,SAASpT,KAAK+sD,qBAAqB78D,OAC7D8P,KAAKgtD,qBAAqB98D,MAAM+kB,eAAehT,EAAIssD,mBAAoB,GACvEvuD,KAAKgtD,qBAAqB55C,SAASpT,KAAKgtD,qBAAqB98D,OAC7D8P,KAAK2pD,qBAAqBz5D,MAAM+kB,eAAehT,EAAIusD,mBAAoB,GACvExuD,KAAK2pD,qBAAqBv2C,SAASpT,KAAK2pD,qBAAqBz5D,OAC7D8P,KAAKyuD,2BACLzuD,KAAK0uD,iBAAe,IAItB1uD,KAAK6qB,YAAa,EAClB7qB,KAAKoB,KAAKgB,SAASipD,UAAaj4C,UAAS,GACzCpT,KAAK0qD,eAAgB,EACrB1qD,KAAKoB,KAAKgB,SAAS0oD,6CAAgDh3C,cAActS,KAAWC,UAC5FzB,KAAKoB,KAAKgB,SAAS0oD,6CAAgD/2C,yBAE/D/T,KAAK2uD,aAAe3uD,KAAKosC,YAC3BpsC,KAAKuqD,eAAiBvqD,KAAKosC,UAAUrmC,IACrC/F,KAAKwqD,gBAAkBxqD,KAAKosC,UAAUpd,YACtChvB,KAAKyqD,iBAAmBzqD,KAAKosC,UAAUxpC,OAEzC5C,KAAK4uD,6BAA0B,EAGrC,CAEQb,mCAAmC9rD,GACzCjC,KAAKkqD,+BAAiC,CACpChqD,GAAI+B,EAAI/B,GACR+mD,kBAAmBhlD,EAAIglD,kBACvBC,iBAAkBjlD,EAAIilD,iBACtBC,SAAUllD,EAAIklD,SACdC,gBAAiBnlD,EAAImlD,gBACrBC,YAAaplD,EAAIolD,YACjBC,2BAA4BrlD,EAAIqlD,2BAChCC,2BAA4BtlD,EAAIslD,2BAChC5pB,kBAAmB17B,EAAI07B,kBAE3B,CAEAixB,6BACE5uD,KAAKqtD,sBAAuB,EAC5BrtD,KAAKw0B,mBAAmBq6B,gBAAgB7uD,KAAKkT,SAASpR,UAAUgtD,IAC9D,GAAoB,MAAhBA,EACF9uD,KAAK+D,aAAe,MACf,CACL/D,KAAK+D,aAAe+qD,EAAa/qD,aAAe,EAChD,QAAS0W,EAAI,EAAGA,EAAIq0C,EAAapG,wBAAwBpiD,OAAQmU,IAC/Dza,KAAK0oD,wBAAwBjuC,GAAKq0C,EAAapG,wBAAwBjuC,GAMzEza,KAAKoB,KAAKgB,SAASuoD,YAAev3C,SAAS,IACV,MAA7B07C,EAAalE,cACf5qD,KAAKoB,KAAKgB,SAASwoD,aAAgBx3C,SAAS07C,EAAalE,aAAa/+C,YAExE7L,KAAKoB,KAAKgB,SAAS2oD,mBAAsB33C,SAAS07C,EAAa/D,oBAC/D/qD,KAAKoB,KAAKgB,SAASmsC,oBAAuBn7B,SAAS07C,EAAavgB,qBAChEvuC,KAAKoB,KAAKgB,SAAS4oD,qBAAwB53C,SAAS07C,EAAa9D,sBAE7D8D,EAAa7D,0BAA4B,IAC3CjrD,KAAKoB,KAAKgB,SAAS6oD,0BAA6B73C,SAC9C07C,EAAa7D,0BAA4B6D,EAAa7D,0BAA0Bp/C,WAAa,IAE/F7L,KAAKoB,KAAKgB,SAASosC,wBAA2Bp7B,SAAS07C,EAAatgB,0BAEtExuC,KAAKoB,KAAKgB,SAAS8oD,qBAAwB93C,SAAS07C,EAAa5D,qBAAqBr/C,YACtF7L,KAAKoB,KAAKgB,SAASqsC,WAAcr7B,SAAS07C,EAAargB,YACvDzuC,KAAKoB,KAAKgB,SAASssC,YAAet7B,SAAS07C,EAAapgB,aAExD1uC,KAAKoB,KAAKgB,SAAS+oD,uBAA0B/3C,SAC3C07C,EAAa3D,uBAAyB2D,EAAa3D,uBAAuBt/C,WAAa,IAEzF7L,KAAKoB,KAAKgB,SAASwsC,YAAex7B,SAAS07C,EAAalgB,YAAY/iC,YACpE7L,KAAKoB,KAAKgB,SAASysC,oBAAuBz7B,SAAS07C,EAAajgB,oBAAoBhjC,YACpF7L,KAAKoB,KAAKgB,SAASooC,kBAAqBp3B,SAAS07C,EAAatkB,kBAAkB3+B,YAEhF7L,KAAKoB,KAAKgB,SAAS+sC,uBAA0B/7B,SAAS07C,EAAa3f,wBACnEnvC,KAAKoB,KAAKgB,SAASgtC,mBAAsBh8B,SAAS07C,EAAa1f,oBAC/DpvC,KAAKoB,KAAKgB,SAASkpD,kBAAqBl4C,SAAS07C,EAAaxD,mBAC9DtrD,KAAKoB,KAAKgB,SAASmpD,mBAAsBn4C,SAAS07C,EAAavD,oBAC/DvrD,KAAKoB,KAAKgB,SAAS2pC,qBAAwB34B,SAAS07C,EAAa/iB,sBACjE/rC,KAAKoB,KAAKgB,SAASkO,4BAA+B8C,SAAS07C,EAAax+C,4BAA4BzE,YACpG7L,KAAKoB,KAAKgB,SAASumB,WAAcvV,SAAS07C,EAAanmC,YACvD3oB,KAAKoB,KAAKgB,SAASopD,OAAUp4C,SAAS07C,EAAatD,OAAO3/C,WAC5D,GAIJ,CAEA3J,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEAwsD,SAEI/uD,KAAKY,OAAOsC,SADVlD,KAAKE,GACc,CAAC,2BAED,CAAC,mBAE1B,CAEMiN,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAAwCH,EAAKrW,KAAKlR,MACtD0nB,EAAWwzC,eAAiB3zC,EAAKi2C,sBAAsB91C,EAAWwzC,eAAev/C,YACjF+L,EAAWqzC,0BAA4BxzC,EAAKu3C,6BAA6Bp3C,EAAW42B,yBACpF52B,EAAW8wC,wBAA0BjxC,EAAKixC,yBAGtC9wC,EAAWuxC,eAAkBvxC,EAAW8wC,wBAAwBviD,OAAOjG,GAAY,MAANA,GAAYoG,OAKzFmR,EAAKvX,GACPuX,EAAK+c,mBAAmBoI,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAUmtD,IAC/Dx3C,EAAKmtC,oBACLntC,EAAKY,gBACLZ,EAAK9W,wBAAwBqC,mBAAmB,iBAAWisD,EAAgB/uD,6BAC3EuX,EAAK7W,OAAOsC,SAAS,CAAC,2BAA0B,GAGlDuU,EAAK+c,mBAAmBrnB,OAAOyK,GAAY9V,UAAUmtD,IACnDx3C,EAAKvX,GAAK+uD,EAAgB/uD,GAC1BuX,EAAKmtC,oBACLntC,EAAKY,gBACLZ,EAAK9W,wBAAwBqC,mBAAmB,iBAAWisD,EAAgB/uD,6BAC3EuX,EAAK7W,OAAOsC,SAAS,CAAC,2BAA0B,GAjBlDuU,EAAK9W,wBAAwBuuD,mBAAmB,kGAmBjD,EAjCS,EAkCZ,CAEAR,kBACM1uD,KAAKoB,KAAKgB,SAASipD,UAAan7D,OAClC8P,KAAKysD,oBAAoB34C,iBAAckB,QAAuB,IAC9DhV,KAAKysD,oBAAoB14C,2BAEzB/T,KAAKysD,oBAAoB71C,kBACzB5W,KAAKysD,oBAAoB14C,yBAE7B,CAEAo7C,sBACOnvD,KAAKoB,KAAKgB,SAAS+mD,cAAiBj5D,QACvC8P,KAAK0oD,wBAA0B,CAAC,KAAM,KAAM,KAAM,MAEtD,CAEQrwC,gBACFrY,KAAKE,KACPF,KAAK0rD,wBAAyB1wC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAKssD,oBAAoBp8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK0rD,yBAAyBvwC,SAEhCnb,KAAK2rD,wBAAyB3wC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAKusD,oBAAoBr8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK2rD,yBAAyBxwC,SAEhCnb,KAAK4rD,wBAAyB5wC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAKwsD,oBAAoBt8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK4rD,yBAAyBzwC,SAEhCnb,KAAK6rD,wBAAyB7wC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAKysD,oBAAoBv8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK6rD,yBAAyB1wC,SAEhCnb,KAAK8rD,wBAAyB9wC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAK0sD,oBAAoBx8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK8rD,yBAAyB3wC,SAEhCnb,KAAK+rD,wBAAyB/wC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAK2sD,oBAAoBz8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK+rD,yBAAyB5wC,SAEhCnb,KAAKgsD,wBAAyBhxC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAK4sD,oBAAoB18D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAKgsD,yBAAyB7wC,SAEhCnb,KAAKisD,wBAAyBjxC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAK6sD,oBAAoB38D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAKisD,yBAAyB9wC,SAEhCnb,KAAKksD,wBAAyBlxC,WAAa,gBAAgBhb,KAAKE,8BAC5DF,KAAK8sD,oBAAoB58D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAKksD,yBAAyB/wC,SAEhCnb,KAAKmsD,yBAA0BnxC,WAAa,gBAAgBhb,KAAKE,+BAC7DF,KAAK+sD,qBAAqB78D,MAAMkU,QAAU6W,MAAcC,aAC1Dlb,KAAKmsD,0BAA0BhxC,SAEjCnb,KAAKosD,yBAA0BpxC,WAAa,gBAAgBhb,KAAKE,+BAC7DF,KAAKgtD,qBAAqB98D,MAAMkU,QAAU6W,MAAcC,aAC1Dlb,KAAKosD,0BAA0BjxC,SAE7Bnb,KAAK0qD,gBACP1qD,KAAKqsD,yBAA0BrxC,WAAa,gBAAgBhb,KAAKE,+BAC7DF,KAAK2pD,qBAAqBz5D,MAAMkU,QAAU6W,MAAcC,aAC1Dlb,KAAKqsD,0BAA0BlxC,UAIvC,CAEA0oB,UAAU1hC,GACRnC,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAAS,KAChC,CAEAg1C,aAAartC,GACX/a,KAAK0oD,wBAAwB3tC,GAAS,IACxC,CAEArS,KAAKvG,GACH,IAAIjS,EAAQ8P,KAAKoB,KAAKiB,IAAIF,IAAOuU,cACjC,GAAIvU,EAAK+U,WAAW,QAAS,CAC3BhnB,EAAQ8P,KAAKwP,YAAYigC,eAAev/C,GAExC,UAAW63D,KAAY/nD,KAAKoB,KAAKgB,SAC3B2lD,EAAS7wC,WAAW,SACtBlX,KAAKoB,KAAKiB,IAAI0lD,IAAWh0C,wBAG/B,CACA/T,KAAKqP,oBAAoBsH,IAAIxU,EAAMjS,EACrC,CAEAk/D,oBAAoBjtD,GAClB,IAAIjS,EAAQ8P,KAAKoB,KAAKiB,IAAIF,IAAOjS,MAC7BA,IAEFA,EADqB6iC,OAAOC,WAAW9iC,EAAM6mB,QAAQ,IAAK,MACnC0tC,QAAQ,GAAG1tC,QAAQ,IAAK,KAC/C/W,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAASljB,IAEhC8P,KAAKqP,oBAAoBsH,IAAIxU,EAAMjS,EACrC,CAEAm/D,sBAAsBltD,GACpB,IAAIjS,EAAQ8P,KAAKoB,KAAKiB,IAAIF,IAAOjS,MAC7BA,IAEFA,EADqB6iC,OAAOC,WAAW9iC,EAAM6mB,QAAQ,MAAO,IAAIA,QAAQ,IAAK,MACtD0tC,QAAQ,GAAG1tC,QAAQ,IAAK,KAC/C/W,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAASljB,IAEhC8P,KAAKqP,oBAAoBsH,IAAIxU,EAAMjS,EACrC,CAEQw0D,2BACN,UAAWviD,KAAQnC,KAAKoB,KAAKgB,SAAU,CACrC,IAAIlS,EAAQ8P,KAAKqP,oBAAoBhN,IAAIF,GACzC,GAAIjS,EACF,GAAIiS,EAAK+U,WAAW,QAAS,CAC3B,IAAIjR,EAAOjG,KAAKwP,YAAYsI,mBAAmB5nB,GAC/C8P,KAAKoB,KAAKiB,IAAIF,IAAOiR,YAAS69B,MAAgBhrC,GAChD,MACEjG,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAASljB,EAGpC,CACF,CAEQ00D,oBACN,UAAWziD,KAAQnC,KAAKoB,KAAKgB,SAC3BpC,KAAKqP,oBAAoB6Y,OAAO/lB,EAEpC,CAEQ6sD,6BAA6BM,GACnC,IAAIpvD,GAAK,EACT,OAAAF,KAAKktD,cAAcv4C,QAAQ+Z,IACrBA,EAAExjB,OAASokD,IACbpvD,EAAKwuB,EAAExuB,MAGJA,CACT,CAEQyuD,YACN,OAAO3uD,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAC5D,CAEQ8iC,eACN5tD,KAAKi5C,QAAUj5C,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SACpE,CAEQ2jC,2BACN,QAA0BvlC,IAAtBlpB,KAAK+D,aAA4B,CACnC,IAAIwrD,EAAkBvvD,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SACrE0kC,EAAmBxvD,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAElB,MAApD9qB,KAAKoB,KAAKgB,SAASuoD,YAAej0C,eACpC1W,KAAKogD,yCACFrC,oBAAoB/9C,KAAKkT,QAASlT,KAAK+D,cACvCjC,UAAUG,IACTjC,KAAK4pD,kCAAoC3nD,GACrCA,EAAI/B,IAAMqvD,GAAUC,KACtBxvD,KAAKgqD,qBAAsB,EAC3BhqD,KAAKqqD,kBAAmB,MAIwB,MAApDrqD,KAAKoB,KAAKgB,SAASuoD,YAAej0C,eACgB,MAApD1W,KAAKoB,KAAKgB,SAASuoD,YAAej0C,gBAClC1W,KAAK2hD,yCACF5D,oBAAoB/9C,KAAKkT,QAASlT,KAAK+D,cACvCjC,UAAUG,IACTjC,KAAK6pD,kCAAoC5nD,GACrCA,EAAI/B,IAAMqvD,GAAUC,KACtBxvD,KAAKiqD,qBAAsB,EAC3BjqD,KAAKqqD,kBAAmB,IAIlC,CACF,CAEAoF,qCACE,MAAMC,EAAW,oCACjB,IAAIhoC,EAAeC,SAASC,cAAc,KAC1CF,EAAaG,aAAa,WAAY6nC,GACtChoC,EAAaK,KAAO,eAAe2nC,IACnC/nC,SAASK,KAAKC,YAAYP,GAC1BA,EAAaxE,QACbwE,EAAaQ,QACf,CAEQynC,sBACF3vD,KAAK0sD,oBAAoBx8D,MAAMkU,SAAW6W,MAAcoI,MAC1DrjB,KAAKsqD,sBAAuB,GAE5BtqD,KAAKsqD,sBAAuB,EAC5BtqD,KAAK0sD,oBAAoBj5C,UACzBzT,KAAK0sD,oBAAoB34C,yBAE7B,CAEAqN,OAAOlxB,GACDA,GACF8P,KAAKY,OAAOsC,SAAS,CAAC,2BAE1B,CAEA0sD,oBAAoB/K,EAA4Bn/B,GACtB,MAApBm/B,EAAU30D,MACZ8P,KAAKoB,KAAKiB,IAAIqjB,IAAS5R,cAAc,CAACtS,KAAWC,WAEjDzB,KAAKoB,KAAKiB,IAAIqjB,IAAS9O,kBAEzB5W,KAAKoB,KAAKiB,IAAIqjB,IAAS3R,wBACzB,4CAzuBWo2C,GAA0B/pD,MAAAC,MAAAD,MAAA+C,IAAA/C,MAAAgD,KAAAhD,MAAAiD,KAAAjD,MAAAyb,KAAAzb,MAAA0b,MAAA1b,MAAA0b,MAAA1b,MAAA2b,MAAA3b,MAAA4b,MAAA5b,MAAA6b,GAAA7b,MAAA8b,MAAA9b,MAAA+b,MAAA/b,MAAAC,MAAAD,MAAAyvD,MAAAzvD,MAAA0vD,IAAA1vD,MAAA2vD,IAAA,+BAA1B5F,EAA0B7mD,UAAA,8BAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,8rRD1CvCvD,MAFA,wBAEAA,CAF4D,sBAW9CA,MAPd,gBAOcA,CAPkB,qBAOlBA,CANM,YAMNA,CALwC,qBAKxCA,CAJuD,eAIvDA,CAH8B,WAG9BA,CAF6C,gBAE7CA,CADsB,YACdA,MAAA,qBAAcA,QAIhBA,MAHN,YAGMA,CAHmC,YAGnCA,CAFsD,uBAEtDA,CADyE,gBAC9DA,MAAA,yBAAeA,QAC1BA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,gCAAgBA,QAC3BA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,oBAAaA,QACxBA,MAAA,eAEJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,yBAAkBA,QAC7BA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,8BAAoBA,QAC/BA,MAAA,eAIRA,cAEEA,MADF,iBACEA,CADsB,aACdA,MAAA,sBAAeA,QAKjBA,MAHN,YAGMA,CAHiB,YAGjBA,CAF6B,uBAE7BA,CADuD,0BAKrDA,MAAA,oBAAAA,aAAAmc,GAAAnc,MAAUwD,EAAAurD,sBAAqB,GAC/B/uD,MAAA,oCACFA,QACAA,MAAA,eAGNA,YAEAA,MAAA,GAAA4vD,GAAA,eAsFF5vD,QAEEA,MADF,iBACEA,CADsB,aACdA,MAAA,4BAAeA,QAIjBA,MAHN,YAGMA,CAHmC,YAGnCA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,iBAAUA,QACrBA,MAAA,oBAA2CA,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAA8E,KAAK,gBAAe,GAChFtI,MAAA,GAAA6vD,GAAA,qBAIJ7vD,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,6CAAgCA,QAC3CA,MAAA,oBAA0CA,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAA8E,KAAK,eAAc,GAC9EtI,MAAA,GAAA8vD,GAAA,qBAKN9vD,YAIIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,sBAAeA,QAC1BA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,uBAAgBA,QAC3BA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,wBAAiBA,QAC5BA,MAAA,eAEJA,UACAA,MAAA,aACEA,MAAA,2BAUEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,4BAAqBA,QAChCA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,6BAAsBA,QACjCA,MAAA,eAEJA,UAIIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,2BAAiBA,QAC5BA,MAAA,oBAEEA,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAA8E,KAAK,2BAA0B,GAClDtI,MAAA,GAAA+vD,GAAA,qBAIJ/vD,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,qBAAcA,QACzBA,MAAA,oBAAmDA,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAA8E,KAAK,wBAAuB,GAChGtI,MAAA,GAAAgwD,GAAA,qBAMJhwD,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,iBAAUA,QACrBA,MAAA,eAAOA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,cAAa,GACnCtI,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,sBAAYA,QACvBA,MAAA,gBAAOA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,eAAc,GAEtCtI,YAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,wBAAaA,QACxBA,MAAA,gBAEEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,0BAAyB,GAM1CtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,gCAAkBA,QAC7BA,MAAA,gBAEEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAAyrD,sBAAsB,kBAAiB,GAKnDjvD,UAEEA,MADF,wBACEA,CADuD,2BAKrDA,MAAA,oBAAAA,aAAAmc,GAAAnc,MAAUwD,EAAA8qD,kBAAiB,GAC3BtuD,MAAA,qBACFA,QACAA,MAAA,gBACFA,QACAA,MAAA,+BASFA,QAIIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,uBAAYA,QACvBA,MAAA,gBACEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,eAAc,GAO/BtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,oCAAsBA,QACjCA,MAAA,gBACEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,uBAAsB,GAOvCtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,oCAAsBA,QACjCA,MAAA,gBACEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,qBAAoB,GAQvCtI,YAGIA,MAFJ,aAEIA,CAF+D,wBAE/DA,CADuD,iBAC5CA,MAAA,yCAA2BA,QACtCA,MAAA,IAAAiwD,GAAA,mBAGAjwD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,wBAAuB,GAD5CtI,QAOAA,MADA,+BACAA,CAD4F,6BAE9FA,QACAA,MAAA,+BAWEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,8CAA0BA,QACrCA,MAAA,IAAAkwD,GAAA,mBAOAlwD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,4BAA2B,GADhDtI,QAOAA,MADA,+BACAA,CADgG,6BAElGA,QACAA,MAAA,+BAYNA,YAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,mBAAQA,QAIVA,MAHN,aAGMA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,0BAAeA,QAC1BA,MAAA,gBACEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,0BAAyB,GAI1CtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,2BAAmBA,QAC9BA,MAAA,gBACEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,sBAAqB,GAO5CtI,gBAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,mDAA2CA,QAI7CA,MAHN,aAGMA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,8CAAsCA,QACjDA,MAAA,qBAAgDA,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAA8E,KAAK,qBAAoB,GAC1FtI,MAAA,qBACAA,MAAA,qBAAsBA,MAAA,WAAGA,QACzBA,MAAA,qBAAsBA,MAAA,cAE1BA,YAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,YAAIA,QACfA,MAAA,gBACEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,sBAAqB,GAO5CtI,gBAqBEA,MADF,kBACEA,CADsB,cACdA,MAAA,iBAAMA,QAGVA,MAFJ,UAEIA,CAFC,wBAEDA,CADuD,iBAC5CA,MAAA,wDAA0CA,QACrDA,MAAA,qBAAYA,MAAA,2BAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAmBwD,EAAAgsD,oBAAArnD,EAA2B,cAAa,GACrEnI,MAAA,qBAAyBA,MAAA,WAAGA,QAC5BA,MAAA,qBAA0BA,MAAA,cAE9BA,YASAA,MARA,IAAAmwD,GAAA,wBAQAnwD,CAR0G,IAAAowD,GAAA,yBAmBlHpwD,cAIMA,MAHN,iBAGMA,CAHuB,aAGvBA,CAF6C,kBAE7CA,CADsB,cACdA,MAAA,uBAASA,QAIXA,MAHN,aAGMA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,oCAAsBA,QACjCA,MAAA,IAAAqwD,GAAA,mBAGArwD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,wBAAuB,GAD5CtI,QAOAA,MADA,+BACAA,CAD4F,6BAE9FA,QAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,kCAAoBA,QAC/BA,MAAA,IAAAswD,GAAA,mBAGAtwD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,sBAAqB,GAD1CtI,QAOAA,MADA,+BACAA,CAD0F,6BAKlGA,cAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,qBAAOA,QAITA,MAHN,aAGMA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,kCAAoBA,QAC/BA,MAAA,IAAAuwD,GAAA,mBAGAvwD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,sBAAqB,GAD1CtI,QAOAA,MADA,+BACAA,CAD0F,6BAE5FA,QAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,gCAAkBA,QAC7BA,MAAA,IAAAwwD,GAAA,mBAGAxwD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,oBAAmB,GADxCtI,QAOAA,MADA,+BACAA,CADwF,6BAKhGA,cAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,oBAASA,QAIXA,MAHN,aAGMA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,iCAAsBA,QACjCA,MAAA,IAAAywD,GAAA,mBAGAzwD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,wBAAuB,GAD5CtI,QAOAA,MADA,+BACAA,CAD4F,6BAE9FA,QAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,+BAAoBA,QAC/BA,MAAA,IAAA0wD,GAAA,mBAGA1wD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,sBAAqB,GAD1CtI,QAOAA,MADA,+BACAA,CAD0F,8BAKlGA,cAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,aAAKA,QAIPA,MAHN,aAGMA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,0BAAkBA,QAC7BA,MAAA,IAAA2wD,GAAA,mBAGA3wD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,oBAAmB,GADxCtI,QAOAA,MADA,+BACAA,CADwF,8BAE1FA,QAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,wBAAgBA,QAC3BA,MAAA,IAAA4wD,GAAA,mBAGA5wD,MAAA,gBACEA,MAAA,wBAAAA,aAAAmc,GAAAnc,MAAcwD,EAAA8E,KAAK,kBAAiB,GADtCtI,QAOAA,MADA,+BACAA,CADsF,8BAOlGA,kBAIMA,MAHN,iBAGMA,CAH4B,aAG5BA,CAF6C,kBAE7CA,CADsB,cACdA,MAAA,uBAASA,QAGbA,MAFJ,aAEIA,CAFqC,wBAErCA,CADuD,iBAC5CA,MAAA,uBAASA,QACpBA,MAAA,mBACEA,MAAA,kBAAAA,aAAAmc,GAAAnc,MAAQwD,EAAA8E,KAAK,iBAAgB,GAQzCtI,kBAIMA,MAHN,iBAGMA,CAHoC,aAGpCA,CAF6C,kBAE7CA,CADsB,cACdA,MAAA,gBAAQA,QAGZA,MAFJ,aAEIA,CAFsC,UAEtCA,CADG,iBACoCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA6rD,qCAAoC,GAClFrvD,MAAA,gBAAUA,MAAA,qBAAaA,QACvBA,MAAA,yBAEJA,UACAA,MAAA,WACEA,MAAA,gCAQFA,QACAA,MAAA,IAAA6wD,GAAA,eAiCJ7wD,UACAA,MAAA,IAAA8wD,GAAA,uCAEJ9wD,UAIMA,MAHN,iBAGMA,CAHqB,aAGrBA,CAF6C,kBAE7CA,CADsB,cACdA,MAAA,gBAAQA,QAChBA,MAAA,cAkDIA,MAjDF,+BAiDEA,CA1C8C,+BA0C9CA,CAlC8C,+BAkC9CA,CA1B8C,+BA0B9CA,CAjB8C,+BAiB9CA,CAT8C,+BAS9CA,CAD+C,gCAYzDA,cAmBAA,MAlBA,IAAA+wD,GAAA,kBAkBA/wD,CAlBgF,IAAAgxD,GAAA,mBAyBxFhxD,cAOIA,MANJ,mBAMIA,CANqD,2BAMrDA,CADmB,kBACqBA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAmrD,SAAQ,GACvD3uD,MAAA,gBAAUA,MAAA,kBAAUA,QACpBA,MAAA,gBACFA,QACAA,MAAA,IAAAixD,GAAA,kBAKJjxD,iKAjxBkBA,MAAA,SAAAwD,EAAA5C,aAEHZ,cAAA,kBAAAwD,EAAAwqC,MAAA,KAAAxqC,EAAAwqC,MAAAljC,MAA4B9K,MAAA,SAAAwD,EAAAG,cAIjC3D,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAU0BhB,MAAA,IAAAA,MAAA,cAAAwD,EAAAwqC,MAAA,KAAAxqC,EAAAwqC,MAAAluC,IAIAE,MAAA,GAAAA,MAAA,QAAAwD,EAAAG,cAIA3D,MAAA,GAAAA,MAAA,cAAAwD,EAAAwqC,MAAA,KAAAxqC,EAAAwqC,MAAAljC,MAMA9K,MAAA,GAAAA,MAAA,cAAAwD,EAAAwqC,MAAA,KAAAxqC,EAAAwqC,MAAAmD,iCAIAnxC,MAAA,GAAAA,MAAA,cAAAwD,EAAAwqC,MAAA,KAAAxqC,EAAAwqC,MAAAwE,2BAuBoBxyC,MAAA,IAAAA,MAAA,OAAAwD,EAAAxC,KAAAgB,SAAA+mD,cAAAj5D,OA8FCkQ,MAAA,IAAAA,MAAA,UAAAwD,EAAAwpD,aAQDhtD,MAAA,GAAAA,MAAA,UAAAwD,EAAAupD,YAUpB/sD,MAAA,GAAAA,MAAA,QAAAwD,EAAA2mD,gBAIAnqD,MAAA,GAAAA,MAAA,QAAAwD,EAAA4mD,iBAIApqD,MAAA,GAAAA,MAAA,QAAAwD,EAAA6mD,kBAKhBrqD,MAAA,GAGAA,MAHA,QAAAwD,EAAAxC,KAAAgB,SAAA2oD,mBAGA3qD,CAH6C,SAAAwD,EAAAxC,KAAAgB,SAAAmsC,oBAG7CnuC,CAF+C,UAAAwD,EAAAxC,KAAAgB,SAAA4oD,qBAE/C5qD,CADiD,cAYMA,MAAA,GAAAA,MAAA,YAUhBA,MAAA,GAAAA,MAAA,UAAAwD,EAAAspD,eASJ9sD,MAAA,GAAAA,MAAA,UAAAwD,EAAAqpD,qBAiCjC7sD,MAAA,IAAAA,MAAA,4BAmBFA,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAA6oD,oBAG1BrsD,CAF0B,iBA6CsDA,MAAA,IAAAA,MAAA,QAAAwD,EAAAinB,YAO9EzqB,cAAA,gBAAAkxD,GAE+BlxD,cAAA,MAAAkxD,GAQjClxD,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAAgpD,oBAG1BxsD,CAF0B,iBAYvBA,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YAODzqB,cAAA,gBAAAmxD,GAE+BnxD,cAAA,MAAAmxD,GAQjCnxD,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAAipD,oBAG1BzsD,CAF0B,iBAoF4BA,MAAA,IAAAA,MAAA,gBAAAwD,EAAAxC,KAAAgB,SAAAopD,OAAAt7D,OAQAkQ,cAAA,gBAAAwD,EAAAxC,KAAAgB,SAAAopD,OAAAt7D,OAoB0BkQ,MAAA,IAAAA,MAAA,QAAAwD,EAAAinB,YAO9EzqB,cAAA,gBAAAoxD,GAE+BpxD,cAAA,MAAAoxD,GAK6CpxD,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YAO5EzqB,cAAA,gBAAAqxD,IAE+BrxD,cAAA,MAAAqxD,IAY6CrxD,MAAA,IAAAA,MAAA,QAAAwD,EAAAinB,YAO5EzqB,cAAA,gBAAAsxD,IAE+BtxD,cAAA,MAAAsxD,IAK2CtxD,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YAO1EzqB,cAAA,gBAAAuxD,IAE+BvxD,cAAA,MAAAuxD,IAY+CvxD,MAAA,IAAAA,MAAA,QAAAwD,EAAAinB,YAO9EzqB,cAAA,gBAAAwxD,IAE+BxxD,cAAA,MAAAwxD,IAK6CxxD,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YAO5EzqB,cAAA,gBAAAyxD,IAE+BzxD,cAAA,MAAAyxD,IAY2CzxD,MAAA,IAAAA,MAAA,QAAAwD,EAAAinB,YAO1EzqB,cAAA,gBAAA0xD,IAE+B1xD,cAAA,MAAA0xD,IAKyC1xD,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YAOxEzqB,cAAA,gBAAA2xD,IAE+B3xD,cAAA,MAAA2xD,IA0CjC3xD,MAAA,IAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAAkpD,oBAG1B1sD,CAF0B,iBAK9BA,MAAA,GAAAA,MAAAwD,EAAA8mD,cAAA,QAkC2BtqD,cAAA,OAAAwD,EAAA1D,IAazBE,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAA0oD,oBAG1BlsD,CAF0B,iBAS1BA,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAA2oD,oBAG1BnsD,CAF0B,iBAS1BA,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAA4oD,oBAG1BpsD,CAF0B,iBAK1BA,MAAA,GAAAA,MAAA,UAAAwD,EAAA0mD,qBAAA,gBAKAlqD,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAA8oD,oBAG1BtsD,CAF0B,iBAS1BA,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAA+oD,oBAG1BvsD,CAF0B,iBAS1BA,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAAmpD,qBAG1B3sD,CAF2B,iBAS3BA,MAAA,GAAAA,MAAA,6BAAAwD,EAAA1D,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAAwD,EAAAopD,qBAG1B5sD,CAF2B,iBAQRA,MAAA,GAAAA,MAAA,OAAAwD,EAAAymD,kBAAAzmD,EAAAsP,SAAAtP,EAAAG,cAkBU3D,cAAA,OAAAwD,EAAAq1C,SAkBmB74C,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,khCChuBrDs/B,CAA0B,sFChCjC/pD,MANF,cAMEA,CADsG,cAC5FA,MAAA,SAAGA,QAAYA,MAAA,iBAC3BA,8BAFEA,MAAA,sCAAA2H,EAAAmL,QAAA,IAAAnL,EAAAE,OAAA,yBAHA7H,MAAA,WAAA2H,EAAAsuC,mCAmBFj2C,MAAA,WAAsDA,MAAA,gBAAUA,mCAChEA,MAAA,WAA2DA,MAAA,GAAwBA,kCAAxBA,cAAA+D,EAAAqkB,wCAG3DpoB,MAAA,WAAsDA,MAAA,WAAKA,mCAC3DA,MAAA,WAAsDA,MAAA,GAAeA,kCAAfA,cAAAsoB,EAAAD,+BAGtDroB,MAAA,WAAsDA,MAAA,eAAMA,mCAC5DA,MAAA,WAAuDA,MAAA,GAAoBA,kCAApBA,cAAAkE,EAAAqkB,oCAFzDvoB,MAAA,MAEEA,MADA,EAAA4xD,GAAA,YACA5xD,CADsD,EAAA6xD,GAAA,6CAItD7xD,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAA8BA,wCAA9BA,cAAA,QAAA8xD,EAAAlpC,EAAAF,qBAAAI,IAAAgpC,IAAA,6BAGpD9xD,MAAA,WAAsDA,MAAA,cAAQA,+BAG1DA,MAAA,sCAEAA,MAAA,wCAAAA,MAAA,YAAA2oB,EAAAoE,EAAAlE,0BAAAC,IAAAH,IAAA,oCAJJ3oB,MAAA,WAGIA,MAFF,EAAA+xD,GAAA,IAEE/xD,CAFiC,EAAAgyD,GAAA,KAKrChyD,kCALEA,cAAA,GAAA+sB,EAAAlE,mBAAA,6BAQF7oB,MAAA,WAAsDA,MAAA,sBAAaA,mCACnEA,MAAA,WAA8DA,MAAA,GAAsBA,kCAAtBA,cAAAipB,EAAAslB,qCAG9DvuC,MAAA,oDAMIA,MAAA,eAGEA,MAAA,mBAAAA,MAAA8I,GAAA,MAAAskB,EAAAptB,QAAAmE,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAwwB,QAAA/K,EAAAttB,IAAoB,GAG7BE,MAAA,cAAUA,MAAA,WACZA,oDAVAA,MAFJ,UAEIA,CAF+B,WAE/BA,CAD2F,eACnEA,MAAA,yBAAAotB,EAAAptB,MAAA2I,GAAAxE,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAtD,OAAA+oB,EAAAttB,GAAAstB,EAAAhd,YAAAgd,EAAAzpB,cAAsD,GACrF3D,MAAA,cAAUA,MAAA,UACZA,UACAA,MAAA,EAAAiyD,GAAA,iBASJjyD,kCALOA,MAAA,GAAAA,MAAA,QAAA2H,EAAA8iB,aAAA9iB,EAAAsuC,kCAOTj2C,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WC1DK,IAAMqpB,GAA+B,MAAtC,MAAOA,EAwBDC,wBACA8K,mBACA7zB,wBACAO,MACAN,OACA8O,OACA6sB,uBACAltB,oBACAkjB,mBA/BV8jB,WAAqB,EAEsBpxC,UACvBC,KAEpBC,YACAC,WAAyD,IAAIC,KAC7DC,cAAwB,EACDskB,SACvBC,YAAsB,6CACtB3W,QACAjL,OACAD,UACA8hB,YACAC,wBACAc,YAAsB,EACtB2gC,OACSxqD,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,cAAeC,MAAO,GAAIC,KAAM,WAE3CtB,YACU6pB,EACA8K,EACA7zB,EACAO,EACAN,EACA8O,EACA6sB,GACAltB,GACAkjB,IARAvyB,KAAA0pB,0BACA1pB,KAAAw0B,qBACAx0B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA0P,SACA1P,KAAAu8B,0BACAv8B,KAAAqP,uBACArP,KAAAuyB,sBAERvyB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,MAAA,GAEvBjI,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KACvEjC,KAAKgI,UAAY/F,GAAI6B,UACrB9D,KAAKq2C,UAAYp0C,GAAIo0C,UACrBr2C,KAAK6qB,WAAa5oB,GAAI4oB,WACtB7qB,KAAKwrD,OAASvpD,GAAIupD,QAEtB,CAEAjmD,WACEvF,KAAK0pB,wBAAwBM,aAAahqB,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IAC7EjC,KAAK+pB,wBAA0B9nB,EAE7BjC,KAAKmF,YADHlD,EACiB,CAAC,iBAAkB,QAAS,aAAc,gBAAiB,qBAAsB,eAAgB,UAEjG,CAAC,iBAAkB,QAAS,gBAAiB,qBAAsB,eAAgB,SAAQ,GAIlHjC,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKgB,YAAY,GAAK,CACpBC,MAAO,cACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,qBACrD9G,KAAM,WAGZ,CAEAqE,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAChEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAK4F,aAAW,EACf,GACH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK0pB,wBACF1H,OAAOhiB,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAKgG,aAAchG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACvG/nB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAK4F,aACP,CAEAnB,OAAOvE,EAAYgT,EAAiBjL,GAClCjI,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBgQ,KAAWjL,0BAA+B/H,KAC1F,CAEAq4B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAK0pB,wBAAwB6O,QAAQr4B,GAAI4B,UAAU,CACjDyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEAgW,WAKE3uB,KAAK0pB,wBACF1H,OAAOhiB,KAAKkT,QAASlT,KAAKiI,OALF,CACzBzB,UAAW,EACXC,SAAUzG,KAAKsF,eAG4BtF,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAC5F/nB,UAAUmE,IACT,IACIC,EADAqsD,EAAqCtsD,EAAKC,QAE1ClG,KAAK+pB,yBACP7jB,EAAU,2EACVqsD,EAAS59C,QAAQye,IACfltB,GAAW,IAAIktB,EAAI5K,gBAAkB,QAAQ4K,EAAI3K,OAAS,QAAQ2K,EAAIzK,YAAc,QAClFyK,EAAItK,eAAiB,QACjBsK,EAAInK,oBAAsB,QAAQmK,EAAIub,cAAgB,SAAE,KAGhEzoC,EAAU,+DACVqsD,EAAS59C,QAAQye,IACfltB,GAAW,IAAIktB,EAAI5K,gBAAkB,QAAQ4K,EAAI3K,OAAS,QAAQ2K,EAAItK,eAAiB,QACrFsK,EAAInK,oBAAsB,QAAQmK,EAAIub,cAAgB,SAAE,IAG9D3uC,KAAKuyB,mBAAmB5D,SAASzoB,EAAS,iBAAiBlG,KAAKgI,4BAAsBhI,KAAKiI,SAAQ,EAEzG,4CAzKWwhB,GAA+BrpB,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAiD,MAAAjD,MAAAyb,OAAAzb,MAAAgD,MAAAhD,MAAA0b,MAAA1b,MAAA2b,MAAA,+BAA/B0N,EAA+BnmB,UAAA,mCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAG/BgD,KAAY,SACZC,MAAO,0sFDtBpBxG,MAFA,uBAEAA,CAF4D,qBAK1DA,MAFF,UAEEA,CAF8C,UAE9CA,CAD8B,WAE5BA,MAAA,EAAAoyD,GAAA,gBAQApyD,MAAA,cAA0CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QAAYA,MAAA,gBAGzCA,YAEEA,MADF,sBACEA,CAD8D,iBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QAEAA,MAAA,eAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAAgrB,GAAA,YACAhrB,CADsD,GAAAirB,GAAA,qBAGxDjrB,MAAA,OAEEA,MADA,GAAAkrB,GAAA,YACAlrB,CADsD,GAAAmrB,GAAA,qBAGxDnrB,MAAA,GAAAqyD,GAAA,uBAIAryD,MAAA,OAEEA,MADA,GAAAsyD,GAAA,YACAtyD,CADsD,GAAAuyD,GAAA,qBAGxDvyD,MAAA,OAEEA,MADA,GAAAwyD,GAAA,YACAxyD,CADsD,GAAAyyD,GAAA,qBASxDzyD,MAAA,OAEEA,MADA,GAAA0yD,GAAA,YACA1yD,CADsD,GAAA2yD,GAAA,qBAGxD3yD,MAAA,OAEEA,MADA,GAAA4yD,GAAA,YACA5yD,CADsC,GAAA6yD,GAAA,qBAmBxC7yD,MAFA,GAAA8yD,GAAA,YAEA9yD,CAFkD,GAAA+yD,GAAA,YAElD/yD,CADuD,GAAAgzD,GAAA,aAIzDhzD,QACAA,MAAA,uBAaMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAItCA,oBAjGkBA,MAAA,SAAAwD,EAAA5C,aAEHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAKlC7H,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YAO4DzqB,cAAA,YAAAwD,EAAAwB,WAAAa,KAAAK,QAWlDlG,MAAA,IAAAA,MAAA,aAAAwD,EAAAwB,YAS0BhF,MAAA,GAAAA,MAAA,OAAAwD,EAAAmmB,yBAwCrB3pB,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAAymB,iMC9DJ4C,CAA+B,mFCDlCrpB,MAAA,eAA0CA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAoF,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QACdA,MAAA,cACFA,mCAlBJA,MAHN,eAGMA,CAH8C,uBAG9CA,CAFmD,eAEnDA,CADsB,YACdA,MAAA,cAAQA,QAKRA,MAJR,WAIQA,CAJ4D,WAI5DA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADyE,eAC9DA,MAAA,sBAASA,QACpBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADyE,0BACNA,MAAA,yBAAcA,QACjFA,MAAA,eAGNA,YACAA,MAAA,aACEA,MAAA,GAAAizD,GAAA,iBAQVjzD,sCAtBYA,MAAA,GAAAA,MAAA,YAAA2H,EAAA3G,MAc4DhB,MAAA,IAAAA,MAAA,QAAA2H,EAAA8iB,sDAalEzqB,MAHN,eAGMA,CAHwE,qBAGxEA,CAFc,eAEdA,CADsB,YACdA,MAAA,4BAAmBA,QAGvBA,MAFJ,WAEIA,CAFoB,sBAEpBA,CAD8D,iBAC1CA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAloC,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAkiB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QACAA,MAAA,qBAIRA,sCAJqBA,MAAA,IAAAA,MAAA,mBAAA2H,EAAAuZ,cCVd,IAAMgyC,GAAiC,MAAxC,MAAOA,EAcD9rB,oBACA7mC,wBACA+O,OACA6sB,uBACAltB,oBACAsa,qBACD7C,UACyB7gB,KApBFob,OAChCC,YACuBsI,SACvBC,YAAsB,qCAEtBzoB,KAAO,IAAIC,KAAU,CACnB23B,UAAW,IAAIz3B,KAAY,GAAIC,KAAWC,UAC1C8xD,cAAe,IAAIhyD,MAAY,EAAOC,KAAWC,YAEnDvB,GACA2qB,YAAsB,EAEtBhrB,YACU2nC,EACA7mC,EACA+O,EACA6sB,EACAltB,EACAsa,EACD7C,GACyB7gB,IAPxBjG,KAAAwnC,sBACAxnC,KAAAW,0BACAX,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,sBACArP,KAAA2pB,uBACD3pB,KAAA8mB,aACyB9mB,KAAAiG,QAEhCjG,KAAKmxC,kBACLnxC,KAAKshB,YAAc,CACjBG,QAAS,CACPuX,UAAW,CAAErX,MAAO,kBAAazc,MAAM,GACvCquD,cAAe,CAAE5xC,MAAO,kBAAgBzc,MAAM,EAAM0c,KAAM,YAE5Dnc,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CAAEvV,MAAO,SAAUwV,SAAU1c,IAAKza,KAAKyE,OAAOgW,IAAI6c,UAAW7c,KAAMza,KAAK6qB,WAAY1pB,KAAM,QAC1F,CACEwgB,MAAO,UACPwV,SAAU1c,IAAKza,KAAKu4B,QAAQ9d,GAAEva,IAC9Bo3B,UAAW7c,KAAMza,KAAK6qB,WACtB1pB,KAAM,QACNq7B,MAAO,SAGX1a,SAAUC,IACR/hB,KAAKwnC,oBAAoBxlB,OACvBhiB,KAAKiG,KAAKiN,QACVlT,KAAKiG,KAAKgC,OACV8Z,GACA/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAG1D,CAEArkB,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,gBACZliB,KAAKoB,KAAK6B,QACVjD,KAAKoB,KAAKgB,SAASmxD,cAAiBngD,UAAS,GAC7CpT,KAAKE,QAAKgpB,CACZ,CAEAe,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKwnC,oBAAoBxlB,OACvBhiB,KAAKiG,KAAKiN,QACVlT,KAAKiG,KAAKgC,YACVihB,EACAlpB,KAAK4pB,UAAU9D,cAAc51B,OAE9ByoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEAnB,OAAOwB,GACLjG,KAAKoB,KAAKgB,SAAS42B,UAAa5lB,SAASnN,EAAK+yB,WAC9Ch5B,KAAKoB,KAAKgB,SAASmxD,cAAiBngD,SAASnN,EAAKstD,gBAAiB,GACnEvzD,KAAKE,GAAK+F,EAAK/F,EACjB,CAEAq4B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKwnC,oBAAoBjP,QAAQr4B,GAAI4B,UAAU,CAC7CyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEAw4B,kBACEnxC,KAAK6qB,YAAc7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,cACnE9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,gBACxD,CAEA5oB,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEA8W,SACErZ,KAAK8mB,UAAUqB,OACjB,CAEMhb,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAAyCH,EAAKrW,KAAKlR,MACvD0nB,EAAW1E,QAAUuE,EAAKxR,KAAKiN,QAC/B0E,EAAW3P,OAASwP,EAAKxR,KAAKgC,OAE1BwP,EAAKvX,GACPuX,EAAK+vB,oBAAoB5K,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAU0xD,IAChE/7C,EAAK9W,wBAAwBqC,mBAAmB,cAAWwwD,EAAiBtzD,6BAC5EuX,EAAK7R,aAAW,GAGlB6R,EAAK+vB,oBAAoBr6B,OAAOyK,GAAY9V,UAAU0xD,IACpD/7C,EAAK9W,wBAAwBqC,mBAAmB,cAAWwwD,EAAiBtzD,6BAC5EuX,EAAK7R,aAAW,EAEnB,EArBS,EAsBZ,4CA9JW0tD,GAAiClzD,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,OAAAhD,MAAA+C,MAAA/C,MAAAiD,MAAAjD,MAAA+C,MAAA/C,MAAAgD,OAAAhD,MAqBlCgoB,OAAe,+BArBdkrC,EAAiChwD,UAAA,sCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACjC6e,KAAmB,k7CD9BhCpiB,MAAA,QAAIA,MAAA,eAAMA,QACVA,MAAA,EAAAqzD,GAAA,mBA2BArzD,MAAA,QACAA,MAAA,EAAAszD,GAAA,mBAkBMtzD,MAHN,eAGMA,CAHmD,qBAGnDA,CAFc,UAEdA,CAD2G,cACnEA,MAAA,0BAASwD,EAAAyV,QAAQ,GACvDjZ,MAAA,cAAUA,MAAA,YAAKA,QACfA,MAAA,eAIRA,qBApDiCA,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YA4BAzqB,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,+JCApByoC,CAAiC,+BCF1BlzD,MAAA,mBACEA,MAAA,GACFA,kCAF0DA,MAAA,QAAAuzD,EAAAzzD,IACxDE,cAAA,IAAAuzD,EAAA36B,UAAA,+CAIJ54B,MAAA,eAGAA,MAAA,mBAAAA,MAAA0iB,GAAA,MAAAC,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAA6wC,uBAAsB,GAG/BxzD,MAAA,cAAUA,MAAA,mBACZA,mCAFEA,MAAA,WAAA2iB,EAAAszB,sCAbAj2C,MAHN,WAGMA,CAHiB,WAGjBA,CAF8E,qBAE9EA,CADuD,eAC5CA,MAAA,eAAMA,QACjBA,MAAA,mBACEA,MAAA,mBACAA,MAAA,EAAAyzD,GAAA,qBAIJzzD,UACEA,MAAA,EAAA0zD,GAAA,iBASN1zD,gCAd6CA,MAAA,GAAAA,MAAA,UAAA2iB,EAAAgxC,kBAStC3zD,cAAA,QAAA2iB,EAAA8H,uCA+CLzqB,MAAA,mBACEA,MAAA,GACFA,kCAFuCA,MAAA,QAAA4zD,GACrC5zD,cAAA,IAAA4zD,EAAA,+CAwBV5zD,MAAA,eAA0CA,MAAA,mBAAAA,MAAAkxB,GAAA,MAAAvO,EAAA3iB,QAAA,OAAAA,MAAS2iB,EAAA5V,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,cAC5BA,gCAFiFA,MAAA,WAAA2iB,EAAAszB,YC1FhF,IAAM4d,GAA+B,MAAtC,MAAOA,EAkCDvqC,wBACA/oB,wBACA6zB,mBACAgT,oBACAtmC,MACAN,OACA8O,OAvCV2mC,WAAqB,EACrBxrB,YAAsB,EACtBqpC,MAAkB,GAClBH,iBAES/yD,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,cAAeC,MAAO,GAAIC,KAAM,WAG3CC,KAAO,IAAIC,KAAU,CACnBmP,YAAa,IAAIjP,MAAY,EAAIC,KAAWC,UAC5CsC,aAAc,IAAIxC,MAAY,EAAIC,KAAWC,UAC7CgnB,MAAO,IAAIlnB,KAAY,GAAIC,KAAWC,UACtC+mB,eAAgB,IAAIjnB,KAAY,GAAIC,KAAWC,UAC/CmS,eAAgB,IAAIrS,MAAY,GAChC4yD,oBAAqB,IAAI5yD,MAAY,EAAIC,KAAWC,UACpD2yD,oBAAqB,IAAI7yD,MAAY,EAAIC,KAAWC,UACpD4yD,kBAAmB,IAAI9yD,MAAY,EAAIC,KAAWC,UAClD6yD,OAAQ,IAAI/yD,KAAY,GAAIC,KAAWC,UACvC8yD,iBAAkB,IAAIhzD,KAAY,GAAIC,KAAWC,UACjD+yD,aAAc,IAAIjzD,KAAY,GAAIC,KAAWC,UAC7CqnB,cAAe,IAAIvnB,KAAY,GAAIC,KAAWC,UAC9CwnB,mBAAoB,IAAI1nB,KAAY,GAAIC,KAAWC,YAErDvB,GACAgT,QACAjL,OACAD,UACAwjD,QAAkB,EAClB7iC,WACA9oB,YACU6pB,EACA/oB,EACA6zB,EACAgT,EACAtmC,EACAN,EACA8O,IANA1P,KAAA0pB,0BACA1pB,KAAAW,0BACAX,KAAAw0B,qBACAx0B,KAAAwnC,sBACAxnC,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA0P,UAER,QAAS+kD,QAAW7jC,MAAO8jC,cAAgB,EAAGD,IAAQ,IAAMA,KAC1Dz0D,KAAKk0D,MAAM5gD,KAAKmhD,GAAK5oD,WAEzB,CAEAtG,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,cACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,qBACrD9G,KAAM,UAGNnB,KAAKgB,YAAY,GADhBhB,KAAKE,GACgB,CACpBe,MAAO,aACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,+BAA+BjI,KAAKE,KACzFiB,KAAM,QAGc,CACpBF,MAAO,aACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,8BACrD9G,KAAM,QAGVnB,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IACvEjC,KAAKgI,UAAY/F,EAAI6B,UACrB9D,KAAKq2C,UAAYp0C,EAAIo0C,UACrBr2C,KAAK6qB,WAAa5oB,EAAI4oB,WACtB7qB,KAAKwrD,OAASvpD,EAAIupD,OAClBxrD,KAAK2oB,WAAa1mB,EAAI0mB,WACtB3oB,KAAK20D,gBACD30D,KAAK6qB,YACP7qB,KAAKoB,KAAKqS,SAAO,GAGrBzT,KAAKwnC,oBAAoBlsB,IAAItb,KAAKkT,UAAW,EAAIlT,KAAKiI,SAAU,GAAInG,UAAUG,IAC5EjC,KAAK+zD,iBAAmB9xD,IAE1BjC,KAAKoB,KAAK6B,QACNjD,KAAKE,GACPF,KAAK0pB,wBAAwB4pB,oBAAoBtzC,KAAKE,IAAI4B,UAAUG,IAClEjC,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAASnR,EAAIuO,aAC/CxQ,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAASnR,EAAI8B,cAChD/D,KAAKoB,KAAKgB,SAASqmB,MAASrV,SAASnR,EAAIwmB,OACzCzoB,KAAKoB,KAAKgB,SAASomB,eAAkBpV,SAASnR,EAAIumB,gBAClDxoB,KAAKoB,KAAKgB,SAASwR,eAAkBR,SAASnR,EAAI2R,gBAClD5T,KAAKoB,KAAKgB,SAAS+xD,oBAAuB/gD,SAASnR,EAAIkyD,qBACvDn0D,KAAKoB,KAAKgB,SAASgyD,oBAAuBhhD,SAASnR,EAAImyD,qBACvDp0D,KAAKoB,KAAKgB,SAASiyD,kBAAqBjhD,SAASnR,EAAIkyD,oBAAsBlyD,EAAImyD,qBAC/Ep0D,KAAKoB,KAAKgB,SAASkyD,OAAUlhD,SAASnR,EAAIqyD,QAC1Ct0D,KAAKoB,KAAKgB,SAASmyD,iBAAoBnhD,SAASnR,EAAIsyD,kBACpDv0D,KAAKoB,KAAKgB,SAASoyD,aAAgBphD,SAASnR,EAAIuyD,cAChDx0D,KAAKoB,KAAKgB,SAAS0mB,cAAiB1V,SAASnR,EAAI6mB,cAAgB7mB,EAAI6mB,cAAcjd,WAAa,IAChG7L,KAAKoB,KAAKgB,SAAS6mB,mBAAsB7V,SACb,MAA1BnR,EAAIgnB,mBAA6BhnB,EAAIgnB,mBAAmBpd,WAAa,GAAE,IAI3E7L,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAAS2f,OAAO/yB,KAAKkT,UACvDlT,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAAS2f,OAAO/yB,KAAKiI,SAAO,EAGrE,CAEA/F,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEAoyD,gBACM30D,KAAKwrD,OACPxrD,KAAKoB,KAAKgB,SAASwR,eAAkBE,cAAc,CAACtS,KAAWC,YAE/DzB,KAAKoB,KAAKgB,SAASwR,eAAkBgD,kBACrC5W,KAAKoB,KAAKiB,IAAI,mBAAmBoR,WAEnCzT,KAAKoB,KAAKgB,SAASwR,eAAkBG,wBACvC,CAEM5G,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YACV,IAAkD,GAA9CD,EAAKrW,KAAKgB,SAASwR,eAAkB1jB,OAAeunB,EAAK+zC,OAE3D,YADA/zC,EAAK9W,wBAAwB+B,iBAAiB,2DAIhD,GADA+U,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAAyCH,EAAKrW,KAAKlR,MAEnDunB,EAAKvX,GACPuX,EAAKiS,wBAAwBkT,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAU0pC,IACpE/zB,EAAK9W,wBAAwBqC,mBAAmB,eAAewoC,EAAWtrC,6BAC1EuX,EAAK7W,OAAOsC,SAAS,CAAC,wBAAwBuU,EAAKvE,WAAWuE,EAAKxP,sBAAqB,GAG1FwP,EAAKiS,wBAAwBvc,OAAOyK,GAAY9V,UAAU0pC,IACxD/zB,EAAK9W,wBAAwBqC,mBAAmB,eAAewoC,EAAWtrC,6BAC1EuX,EAAK7W,OAAOsC,SAAS,CAAC,wBAAwBuU,EAAKvE,WAAWuE,EAAKxP,sBAAqB,EAE3F,EAvBS,EAwBZ,CAEA2sD,qBACE50D,KAAKoB,KAAKgB,SAASiyD,kBAAqBjhD,SACtCpT,KAAKoB,KAAKgB,SAAS+xD,oBAAuBjkE,MAAS8P,KAAKoB,KAAKgB,SAASgyD,oBAAuBlkE,MAEjG,CAEA0jE,uBACkB5zD,KAAK0P,OAAO6I,KAAK+6C,GAAmC,CAClErtD,KAAM,CAAEiN,QAASlT,KAAKkT,QAASjL,OAAQjI,KAAKiI,QAC5C2mB,WAAY,sBAEJ/V,cAAc/W,UAAU+yD,IAChC70D,KAAKwnC,oBAAoBlsB,IAAItb,KAAKkT,UAAW,EAAIlT,KAAKiI,SAAU,GAAInG,UAAUG,IAC5EjC,KAAK+zD,iBAAmB9xD,GACzB,EAEL,4CA1KWgyD,GAA+B7zD,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAAyb,MAAAzb,MAAA0b,OAAA,+BAA/Bm4C,EAA+B3wD,UAAA,mCAAAC,MAAA,GAAAC,KAAA,GAAAC,OAAA,kuDAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDhB5CvD,MAFA,uBAEAA,CAF4D,qBAMtDA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,4BAAsBA,QAIxBA,MAHN,WAGMA,CAHuD,UAGvDA,CAFsD,qBAEtDA,CADyE,gBAC9DA,MAAA,YAAKA,QAChBA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,WAAIA,QACfA,MAAA,cAEJA,UAEEA,MADF,YACEA,CADuC,YAErCA,MAAA,GAAA00D,GAAA,cAwBE10D,MADF,sBACEA,CADuD,gBAC5CA,MAAA,kCAAqBA,QAChCA,MAAA,eAEEA,MAAA,yBAAQwD,EAAAgxD,oBAAoB,GAIhCx0D,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,kCAAqBA,QAChCA,MAAA,eAEEA,MAAA,yBAAQwD,EAAAgxD,oBAAoB,GAIhCx0D,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,6BAAmBA,QAC9BA,MAAA,eAGNA,YAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,aAAMA,QACjBA,MAAA,kBACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,iCAAoBA,QAC/BA,MAAA,kBACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,uCAA0BA,QACrCA,MAAA,kBACFA,QAGIA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,UAAGA,QACdA,MAAA,oBACEA,MAAA,GAAA20D,GAAA,qBAIJ30D,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,eAAQA,QACnBA,MAAA,oBACEA,MAAA,oBACAA,MAAA,oBAAsBA,MAAA,qBAAWA,QACjCA,MAAA,oBAAsBA,MAAA,qBAAWA,QACjCA,MAAA,oBAAsBA,MAAA,6BAOpCA,sBAKQA,MAJR,iBAIQA,CAJiD,sBAIjDA,CAHY,YAGZA,CAFsC,eAEtCA,CADgH,eACtGA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,GAAA40D,GAAA,iBAKN50D,mBAjHkBA,MAAA,SAAAwD,EAAA5C,aAEHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAK7B7H,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAaAhB,MAAA,IAAAA,MAAAwD,EAAA4nD,OAAA,OA+D+BprD,MAAA,IAAAA,MAAA,UAAAwD,EAAAswD,OAsBG9zD,MAAA,IAAAA,MAAA,sCAAAwD,EAAAsP,QAAA,IAAAtP,EAAAqE,OAAA,gBAGsB7H,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,i+BC1FvDopC,CAA+B,KClBrC,MAAMgB,GAAmB,CAC9B,mBACA,qBACA,sBACA,uBACA,oBACA,qBACA,uBACA,wBACA,SACA,qGCuBM70D,MAAA,mBACEA,MAAA,GACFA,kCAF6DA,MAAA,QAAA80D,EAAAhlE,OAC3DkQ,cAAA,IAAA80D,EAAAhlE,MAAA,6BAYFkQ,MAAA,cAA2BA,MAAA,SAAGA,gCAC9BA,MAAA,cAA0BA,MAAA,UAAIA,kDApCpCA,MAAA,YACEA,MAAA,0BAUEA,MADF,sBACEA,CADuD,eAC5CA,MAAA,UAAIA,QACfA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,eAC5CA,MAAA,WAAKA,QAChBA,MAAA,cACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,sBAASA,QACpBA,MAAA,oBACEA,MAAA,oBACAA,MAAA,GAAA+0D,GAAA,0CAIJ/0D,UAEEA,MADF,YACEA,CAD4B,gBAM1BA,MAAA,mBAAAA,MAAA0iB,GAAA,MAAAmkB,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAAmuB,mBAAkB,GAG3Bh1D,MADA,GAAAi1D,GAAA,kBACAj1D,CAD2B,GAAAk1D,GAAA,mBAIjCl1D,oCArCIA,QAGAA,MAHA,QAAA6mC,EAAA7lC,KAAAgB,SAAAkoC,WAGAlqC,CAHqC,SAAA6mC,EAAA7lC,KAAAgB,SAAA8I,KAGrC9K,CAFgC,UAAA6mC,EAAA7lC,KAAAgB,SAAAQ,MAEhCxC,CADkC,cAYMA,MAAA,GAAAA,MAAA,YAMTA,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAA6mC,EAAAsuB,mBAO7Bn1D,MAAA,GAAAA,MAAA,WAAA6mC,EAAAoP,WAMWj2C,cAAA,QAAA6mC,EAAA/mC,IACAE,cAAA,OAAA6mC,EAAA/mC,KCpBZ,IAAMs1D,GAA8B,MAArC,MAAOA,EA4BDtrB,qBACA1V,mBACA7zB,wBACAO,MACAwO,OACA6sB,uBACAltB,oBACA86B,cACA5X,mBACArE,+BApCVmoB,WAAqB,EAEWh1B,OAChCC,YACuBsI,SACvBC,YAAsB,kCACtB3W,QACAjL,OACAD,UACA6iB,YAAsB,EACtB0qC,iBAAmBN,GACnB/0D,GACSc,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,WAAYC,MAAO,GAAIC,KAAM,SAExCC,KAAO,IAAIC,KAAU,CACnBmP,YAAa,IAAIjP,MAAY,EAAIC,KAAWC,UAC5CsC,aAAc,IAAIxC,MAAY,EAAIC,KAAWC,UAC7C6oC,WAAY,IAAI/oC,KAAY,GAAIC,KAAWC,UAC3CyJ,KAAM,IAAI3J,KAAY,IACtBqB,MAAO,IAAIrB,KAAY,IACvBk0D,UAAW,IAAIl0D,KAAY,GAAIC,KAAWC,YAG5C5B,YACUqqC,EACA1V,EACA7zB,EACAO,EACAwO,EACA6sB,EACAltB,GACA86B,GACA5X,GACArE,IATAluB,KAAAkqC,uBACAlqC,KAAAw0B,qBACAx0B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,uBACArP,KAAAmqC,iBACAnqC,KAAAuyB,sBACAvyB,KAAAkuB,kCAERluB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAAS2f,OAAO/yB,KAAKkT,UACvDlT,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAAS2f,OAAO/yB,KAAKiI,SACxDjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,WACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,kBACrD9G,KAAM,UAERnB,KAAKshB,YAAc,CACjBG,QAAS,CACP6oB,WAAY,CAAE3oB,MAAO,MAAOzc,MAAM,GAClCgG,KAAM,CAAEyW,MAAO,OAAQzc,MAAM,GAC7BtC,MAAO,CAAE+e,MAAO,QAASzc,MAAM,GAC/BuwD,UAAW,CAAE9zC,MAAO,kBAAazc,MAAM,IAEzCO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CACEvV,MAAO,SACPuf,KAAM,SACN/J,SAAU1c,IAAKza,KAAK+0B,YAAYta,IAChC6c,UAAW7c,IAAKA,GAAEva,GAClBiB,KAAM,UAER,CACEwgB,MAAO,sCACPuf,KAAM,sCACN1E,MAAO,UACPrF,SAAU1c,IAAKza,KAAK6+C,eAAepkC,IACnC6c,UAAW7c,IAAKA,GAAEva,GAClBiB,KAAM,kBAER,CACEwgB,MAAO,SACPwV,SAAU1c,IAAKza,KAAKyE,OAAOgW,IAC3B6c,UAAW7c,KAAMza,KAAK6qB,aAAe7qB,KAAKq2C,UAC1Cl1C,KAAM,QAER,CACEwgB,MAAO,UACPwV,SAAU1c,IAAKza,KAAKu4B,QAAQ9d,GAAEva,IAC9Bo3B,UAAW7c,KAAMza,KAAK6qB,aAAe7qB,KAAKq2C,UAC1Cl1C,KAAM,QACNq7B,MAAO,SAGX1a,SAAUC,IACR/hB,KAAKkqC,qBAAqBloB,OACxBhiB,KAAKkT,QACLlT,KAAKiI,OACL8Z,GACA/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,OAI1D7pB,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KACvEjC,KAAKgI,UAAY/F,GAAI6B,UACrB9D,KAAKq2C,UAAYp0C,GAAIo0C,UACrBr2C,KAAK6qB,WAAa5oB,GAAI4oB,YAE1B,CAEArlB,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,QAAQa,eACf,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,QAAQjc,WAAWuvB,KACtB30B,KAAKkqC,qBAAqBloB,OAAOhiB,KAAKkT,QAASlT,KAAKiI,YAAQihB,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OACnGyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEA1D,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEM6yD,mBAAgB,IAAA39C,EAAAzX,KAAA,SAAA0X,MAAA,YAEpB,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAGhD,IAAIkV,EAAsCH,EAAKrW,KAAKlR,MAChDunB,EAAKvX,GACPuX,EAAKyyB,qBAAqBtN,UAAUnlB,EAAKvX,GAAK0X,GAAY9V,UAAUsoC,IAClE3yB,EAAK9W,wBAAwBqC,mBAAmB,YAAYonC,EAAQlqC,6BACpEuX,EAAKi+C,WAAS,GAGhBj+C,EAAKyyB,qBAAqB/8B,OAAOyK,GAAY9V,UAAUsoC,IACrD3yB,EAAK9W,wBAAwBqC,mBAAmB,YAAYonC,EAAQlqC,6BACpEuX,EAAKi+C,WAAS,EAEjB,EAjBmB,EAkBtB,CAEQA,YAEN11D,KAAKoB,KAAKgB,SAASkoC,WAAcl3B,SAAS,IAC1CpT,KAAKoB,KAAKgB,SAASkoC,WAAcqrB,gBACjC31D,KAAKoB,KAAKgB,SAAS8I,KAAQkI,SAAS,IACpCpT,KAAKoB,KAAKgB,SAASQ,MAASwQ,SAAS,IACrCpT,KAAKoB,KAAKgB,SAASqzD,UAAariD,SAAS,IACzCpT,KAAKoB,KAAKgB,SAASqzD,UAAaE,gBAChC31D,KAAK4F,cACL5F,KAAKE,QAAKgpB,CACZ,CAEAqP,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKkqC,qBAAqB3R,QAAQr4B,GAAI4B,UAAU,CAC9CyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEAgW,WAKE3uB,KAAKkqC,qBACFloB,OAAOhiB,KAAKkT,QAASlT,KAAKiI,OALF,CACzBzB,UAAW,EACXC,SAAUzG,KAAKqhB,QAAQjc,WAAWwvB,SAGS50B,KAAK4pB,UAAU9D,cAAc51B,OACvE4R,UAAUmE,IACT,IACIC,EAAU,2BADkBD,EAAKC,QAE5ByO,QAAQye,IACfltB,GAAW,IAAIktB,EAAIkX,YAAc,QAAQlX,EAAIloB,MAAQ,QAAQkoB,EAAIxwB,OAAS,SAAE,GAE9E5C,KAAKuyB,mBAAmB5D,SAASzoB,EAAS,cAAclG,KAAKgI,4BAAsBhI,KAAKiI,SAAQ,EAEtG,CAEA8sB,YAAYqV,GACNA,EAAQn4B,OACVqV,OAAO/O,KAAK,yBAA2B6xB,EAAQn4B,OAAQ,UAGzDjS,KAAKmqC,cAAcE,eAAeD,EAAQE,WAAW3X,WAAW,IAAK,IAAIA,WAAW,IAAK,KAAK7wB,UAAU,CACtGyE,KAAMgkC,IACAA,EAAuBt4B,OACzBqV,OAAO/O,KAAK,yBAA2BgyB,EAAuBt4B,OAAQ,UAEtEjS,KAAKW,wBAAwB+B,iBAC3B,sFAAkF,EAIxFwW,MAAOA,KACLlZ,KAAKW,wBAAwB+B,iBAC3B,0FAAsF,GAI9F,CAEA+B,OAAOwB,GACLjG,KAAKE,GAAK+F,EAAK/F,GACfF,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAASnN,EAAKuK,aAChDxQ,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAASnN,EAAKlC,cACjD/D,KAAKoB,KAAKgB,SAASkoC,WAAcl3B,SAASnN,EAAKqkC,YAC/CtqC,KAAKoB,KAAKgB,SAAS8I,KAAQkI,SAASnN,EAAKiF,MACzClL,KAAKoB,KAAKgB,SAASQ,MAASwQ,SAASnN,EAAKrD,OAC1C5C,KAAKoB,KAAKgB,SAASqzD,UAAariD,SAASnN,EAAKwvD,UAChD,CAEA5W,eAAe+W,GAEb51D,KAAKkuB,+BAA+Ba,iCAClC6mC,EAAaplD,YACbolD,EAAa7xD,aACb6xD,EAAatrB,WACbsrB,EAAa1qD,KAEjB,4CAhQWsqD,GAA8Bp1D,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,OAAAzb,MAAAgD,MAAAhD,MAAA0b,MAAA1b,MAAA2b,MAAA3b,MAAA4b,MAAA5b,MAAA6b,MAAA,+BAA9Bu5C,EAA8BlyD,UAAA,kCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAG9B6e,KAAmB,siDD7BhCpiB,MADA,uBACAA,CAD4D,qBAKxDA,MAHJ,UAGIA,CAH4C,UAG5CA,CAF4B,QAE5BA,CADG,cACuCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QAAYA,MAAA,gBAGzCA,YACAA,MAAA,YACEA,MAAA,GAAAy1D,GAAA,eAwCFz1D,QAEEA,MADF,sBACEA,CAD8D,iBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QACAA,MAAA,qBAQMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAItCA,oBArEkBA,MAAA,SAAAwD,EAAA5C,aACHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAI0B7H,MAAA,GAAAA,MAAA,mBAAAwD,EAAAyd,QAAA,MAAAzd,EAAAyd,OAAAjc,YAAAxB,EAAAyd,OAAAjc,WAAAwvB,UAK7Dx0B,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MACuDhB,cAAA,QAAAwD,EAAAinB,YA8ChDzqB,MAAA,GAAAA,MAAA,mBAAAwD,EAAA0d,2LC9BAk0C,CAA8B,oBCRpC,IAAMM,GAAsB,MAA7B,MAAOA,UAA8Br2D,KAQNC,YACzBsnB,eACArf,oBATDhI,MAAQ,kBACjBC,OACAksB,QAGAjsB,YACEC,EACiCJ,EACzBsnB,EACArf,GAER5H,MAAMD,EAAMJ,GAJqBM,KAAAN,cACzBM,KAAAgnB,iBACAhnB,KAAA2H,sBAGR3H,KAAKJ,OAASE,EACdE,KAAK8rB,QAAUpsB,EAAYqsB,UAC7B,CAEA/J,OAAOgK,EAAiBpC,GACtB,MAAMrW,EAAS,IAAI0Y,MAAW,CAC5BC,WAAYF,IACX/G,OAAO,WAAY2E,GAAsB,IAC5C,OAAO5pB,KAAKmsB,gBAAgC,GAAGnsB,KAAKL,QAAS4T,GAAQ7N,QACnE0mB,MAAWzT,IAST3Y,KAAKgnB,eAAeqF,wBAAwB,CARI,CAC9ClT,QAAS,8BACTyI,KAAM0K,KAAqBC,OAEe,CAC1CpT,QAAS,SAASR,EAAIvU,WAAWuU,EAAIO,UACrC0I,KAAM0K,KAAqBC,UAEyD,EAC/EC,WAGb,CAEA+L,QAAQr4B,GACN,OAAOF,KAAK04B,OAAO14B,KAAKL,MAAOO,EACjC,CAEA61D,kBAAkB71D,GAChB,OAAOF,KAAKG,SAASH,KAAKL,MAAOO,EACnC,CAEAiN,OAAO6oD,GACL,OAAOh2D,KAAK6iB,OAAO7iB,KAAKL,MAAOq2D,GAAkBtwD,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC3F,CAEAwQ,UAAU18B,EAAY81D,GACpB,OAAOh2D,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,IAAM81D,GAAkBtwD,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aACtG,CAEA6pC,iBAAiB/1D,EAAYg2D,GAC3B,OAAOl2D,KAAKJ,OAAOyC,IAAI,GAAGrC,KAAK8rB,WAAW9rB,KAAKL,SAASO,KAAMg2D,oBAAqC,CAAEtpC,aAAc,QACrH,CAEAupC,sBAAsBC,GACpB,OAAOp2D,KAAKG,SAAS,GAAGH,KAAKL,SAASy2D,IAAoB,kBAC5D,CAEAC,uBAAuBD,GACrB,OAAOp2D,KAAKJ,OAAOmhC,IAAI,GAAG/gC,KAAK8rB,WAAW9rB,KAAKL,SAASy2D,oBAAoC,GAAI,CAAExpC,aAAc,QAClH,4CA/DWkpC,GAAqB11D,MAAAC,OAAAD,MAQtB,eAAaA,MAAA+C,MAAA/C,MAAAgD,MAAA,iCARZ0yD,EAAqBx1D,QAArBw1D,EAAqBv1D,UAAAC,WAFpB,gBAEDs1D,CAAsB,8CCgDnB11D,MAAA,mBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAAk2D,EAAAhmE,KACjD8P,cAAA,IAAAk2D,EAAApmE,MAAA,gCAQFkQ,MAAA,mBACEA,MAAA,GACFA,kCAF2CA,MAAA,QAAAm2D,GACzCn2D,cAAA,IAAAm2D,EAAA,+CA4BZn2D,MAAA,eAA0CA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAhJ,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAA95B,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,cAC5BA,SC1FC,IAAMo2D,GAA6B,MAApC,MAAOA,EA0BDC,sBACA91D,wBACAO,MACAN,OACA+oB,qBACAra,cACAE,YA/BVpO,KAAO,IAAIC,KAAU,CACnB6J,KAAM,IAAI3J,KAAY,GAAIC,KAAWC,UACrCsE,IAAK,IAAIxE,KAAY,GAAIC,KAAWC,UACpCmB,MAAO,IAAIrB,KAAY,IACvBm1D,SAAU,IAAIn1D,KAAY,IAC1BkQ,eAAgB,IAAIlQ,KAAY,IAChC0Q,OAAQ,IAAI1Q,KAAY,IACxBo1D,MAAO,IAAIp1D,KAAY,IACvB+tD,aAAc,IAAI/tD,KAAY,IAC9Bq1D,YAAa,IAAIr1D,KAAY,IAC7Bs1D,kBAAmB,IAAIt1D,KAAY,IACnCu1D,kBAAmB,IAAIv1D,KAAY,MAErCrB,GACA4I,OAAS3W,KACT0d,QAAoB,GAEX7O,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,oBAAqBC,MAAO,6BAA8BC,KAAM,UACzE,CAAEF,MAAO,kBAAmBC,MAAO,GAAIC,KAAM,SAI/CtB,YACU42D,EACA91D,EACAO,EACAN,EACA+oB,EACAra,EACAE,IANAxP,KAAAy2D,wBACAz2D,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA2pB,uBACA3pB,KAAAsP,gBACAtP,KAAAwP,cACN,CAEJjK,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKgB,YAAY,GAAK,CACpBC,MAAO,kBACPC,MAAO,qCAAqClB,KAAKE,KACjDiB,KAAM,QAERnB,KAAKoB,KAAK6B,QACNjD,KAAKE,IACPF,KAAKy2D,sBAAsBV,kBAAkB/1D,KAAKE,IAAI4B,UAAUG,IAC9DjC,KAAKoB,KAAKgB,SAAS8I,KAAQkI,SAASnR,EAAIiJ,MACxClL,KAAKoB,KAAKgB,SAAS2D,IAAOqN,SAASnR,EAAI8D,KACvC/F,KAAKoB,KAAKgB,SAASQ,MAASwQ,SAASnR,EAAIW,OACzC5C,KAAKoB,KAAKgB,SAASs0D,SAAYtjD,SAASnR,EAAIy0D,UAC5C12D,KAAKoB,KAAKgB,SAASqP,eAAkB2B,SAASpT,KAAKwP,YAAYyE,mBAAmBhS,EAAIwP,iBACtFzR,KAAKoB,KAAKgB,SAAS6P,OAAUmB,SAASnR,EAAIgQ,QAC1CjS,KAAKoB,KAAKgB,SAASu0D,MAASvjD,SAASnR,EAAI00D,OACzC32D,KAAKoB,KAAKgB,SAASktD,aAAgBl8C,SAASnR,EAAIqtD,cAChDtvD,KAAKoB,KAAKgB,SAASw0D,YAAexjD,SAASnR,EAAI20D,aAC/C52D,KAAKoB,KAAKgB,SAASy0D,kBAAqBzjD,SAASnR,EAAI40D,mBACrD72D,KAAKoB,KAAKgB,SAAS00D,kBAAqB1jD,SAASnR,EAAI60D,mBACrD92D,KAAK+2D,iBAAe,GAEtB/2D,KAAKgB,YAAY,GAAK,CACpBC,MAAO,kBACPC,MAAO,qCAAqClB,KAAKE,KACjDiB,KAAM,SAGRnB,KAAKgB,YAAY,GAAK,CACpBC,MAAO,kBACPC,MAAO,oCACPC,KAAM,SAId,CAEAe,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEM4K,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YAEV,GADAD,EAAKvV,+BACAuV,EAAKrW,KAAKqB,MAEb,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAA2CH,EAAKrW,KAAKlR,MACzD,GAAI0nB,EAAWnG,eAAgB,CAC7B,IAAKgG,EAAKjI,YAAY2H,YAAYS,EAAWnG,gBAE3C,YADAgG,EAAK9W,wBAAwB+B,iBAAiB,+BAGhDkV,EAAWnG,eAAiBgG,EAAKjI,YAAYsI,mBAAmBF,EAAWnG,eAC7E,CAEIgG,EAAKvX,GACPuX,EAAKg/C,sBAAsB75B,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAUk1D,IAClEv/C,EAAK9W,wBAAwBqC,mBAC3B,mBAAmBg0D,EAAmB92D,6BAExCuX,EAAK7W,OAAOsC,SAAS,CAAC,8BAA6B,GAGrDuU,EAAKg/C,sBAAsBtpD,OAAOyK,GAAY9V,UAAUk1D,IACtDv/C,EAAK9W,wBAAwBqC,mBAC3B,mBAAmBg0D,EAAmB92D,6BAExCuX,EAAK7W,OAAOsC,SAAS,CAAC,8BAA6B,EAEtD,EA9BS,EA+BZ,CAEA2nB,aACE,OACG7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,cACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,gBAExD,CAEAisC,kBACE,MAAMjuD,EAAS9I,KAAKoB,KAAKiB,IAAI,sBAAsBnS,MACnD8P,KAAK6P,QAAU7P,KAAKsP,cAAcjN,IAAIyG,GAAU,GAClD,CAEmBwR,qBAAuBA,gDA/H/Bk8C,GAA6Bp2D,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAgD,MAAAhD,MAAA+C,MAAA/C,MAAAiD,MAAAjD,MAAAyb,MAAA,+BAA7B26C,EAA6BlzD,UAAA,iCAAAC,MAAA,GAAAC,KAAA,GAAAC,OAAA,2jDAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDjB1CvD,MAAA,wBAKMA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,eAEdA,CADsB,YACdA,MAAA,cAAQA,QAGZA,MAFJ,WAEIA,CAFgE,qBAEhEA,CADuD,eAC5CA,MAAA,0CAA8BA,QACzCA,MAAA,cACFA,QAIMA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,UAAGA,QACdA,MAAA,cACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,YAAKA,QAChBA,MAAA,cAGNA,YAIMA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,eAAQA,QACnBA,MAAA,eAOFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,sBAAeA,QAC1BA,MAAA,eAQFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,2CAA2BA,QACtCA,MAAA,eAKEA,MAAA,oBAAAmI,GAAA,OAAY3E,EAAA0W,qBAAA/R,EAA4B,GAGhDnI,cAIMA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,wBAAWA,QACtBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,iCAAoBA,QAC/BA,MAAA,oBAAYA,MAAA,oCAAmBwD,EAAAmzD,iBAAiB,GAC9C32D,MAAA,oBACAA,MAAA,GAAA62D,GAAA,0CAIJ72D,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,iCAAoBA,QAC/BA,MAAA,oBACEA,MAAA,oBACAA,MAAA,GAAA82D,GAAA,qBAMR92D,cAIMA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,gBAC5CA,MAAA,mBAAYA,QACvBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,YAAKA,QAChBA,MAAA,eAOdA,oBAKQA,MAJR,iBAIQA,CAJiD,sBAIjDA,CAHY,YAGZA,CAFsC,eAEtCA,CAD8E,eACpEA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,GAAA+2D,GAAA,iBAKN/2D,mBA9GkBA,MAAA,SAAAwD,EAAA5C,aAMNZ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAasEhB,MAAA,IAAAA,MAAA,YAclEA,MAAA,GAAAA,MAAA,4BAWAA,MAAA,GAAAA,MAAA,4BAuB6BA,MAAA,IAAAA,MAAA,UAAAA,MAAA,KAAAwD,EAAAkF,SASE1I,MAAA,GAAAA,MAAA,UAAAwD,EAAAiM,SA6BqBzP,MAAA,IAAAA,MAAA,QAAAwD,EAAAinB,oLCxFvD2rC,CAA6B,+CCCnC,IAAMY,GAA6B,MAApC,MAAOA,EAYuB7jD,OACzBuT,UACCnmB,wBACAkE,mBACA4xD,sBACAlnD,iBAfVtJ,KACAoxD,gBAA0B,EAC1BC,oBAA8B,EAC9BC,0BAAoC,EACpCC,mBAA6B,EAC7BC,qBAA+B,EAC/BC,8BAAwC,EACxCC,UAAoB,EAEpB93D,YACkC0T,EACzBuT,EACCnmB,EACAkE,EACA4xD,EACAlnD,GALwBvP,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAAW,0BACAX,KAAA6E,qBACA7E,KAAAy2D,wBACAz2D,KAAAuP,kBACP,CAEHhK,WACMvF,KAAKuT,OAAO6B,eACdpV,KAAK6E,mBAAmBsxD,sBAAsBn2D,KAAKuT,OAAO6B,eAAetT,UAAU,CACjFyE,KAAON,IACLjG,KAAKiG,KAAOA,EACZjG,KAAK43D,kBAAgB,EAEvB1+C,MAAQP,IACN3Y,KAAKW,wBAAwB+B,iBAAiBiW,EAAIO,MAAMC,SACxDnZ,KAAKqZ,QAAM,IAIbrZ,KAAKuT,OAAO6iD,kBACdp2D,KAAKy2D,sBAAsBN,sBAAsBn2D,KAAKuT,OAAO6iD,kBAAkBt0D,UAAU,CACvFyE,KAAON,IACLjG,KAAKiG,KAAOA,EACZjG,KAAK43D,kBAAgB,EAEvB1+C,MAAQP,IACN3Y,KAAKW,wBAAwB+B,iBAAiBiW,EAAIO,MAAMC,SACxDnZ,KAAKqZ,QAAM,GAInB,CAEQu+C,mBACF53D,KAAKiG,MAAM4xD,cAAc3sD,KAAKkP,cAAcoG,QAAUxgB,KAAKiG,MAAM6xD,sBAAsB5sD,KAAKkP,gBAC9Fpa,KAAKq3D,gBAAiB,EACtBr3D,KAAKs3D,oBAAqB,GAEe,MAAvCt3D,KAAKiG,MAAM4xD,cAAclnD,YAAsB3Q,KAAKiG,MAAM4xD,cAAclnD,WAAW6P,QACjFxgB,KAAKiG,MAAM4xD,cAAclnD,WAAWyJ,cAAcoG,QAAUxgB,KAAKiG,MAAM6xD,sBAAsB5sD,KAAKkP,gBACpGpa,KAAKq3D,gBAAiB,EACtBr3D,KAAKu3D,0BAA2B,GAGpCv3D,KAAK23D,SAAW33D,KAAKuP,iBAAiBq4C,WAAW5nD,KAAKiG,MAAM4xD,cAAc9xD,KACtE/F,KAAK23D,UACH33D,KAAKiG,MAAM4xD,cAAc9xD,KAAO/F,KAAKiG,MAAM6xD,sBAAsB/xD,MACnE/F,KAAKq3D,gBAAiB,EACtBr3D,KAAKw3D,mBAAoB,GAGzBx3D,KAAKiG,MAAM4xD,cAAcj1D,MAAMwX,cAAcoG,QAAUxgB,KAAKiG,MAAM6xD,sBAAsBl1D,MAAMwX,gBAChGpa,KAAKq3D,gBAAiB,EACtBr3D,KAAKy3D,qBAAsB,GAE7B,MAAMM,EAAuB/3D,KAAKg4D,cAAch4D,KAAKiG,MAAM4xD,cAAcpmD,gBAAkB,MACrFwmD,EAA+Bj4D,KAAKk4D,cAAcl4D,KAAKiG,MAAM6xD,sBAAsBrmD,gBAAkB,MACvGsmD,GAAwBE,GACxBF,EAAqBI,YAAcF,EAA6BE,YAClEn4D,KAAKq3D,gBAAiB,EACtBr3D,KAAK03D,8BAA+B,EAExC,CAEQQ,cAAcE,GACpB,GAAe,MAAXA,EACF,OAAO,KAET,MAAOC,EAAKC,EAAO7D,GAAQ2D,EAAQ9sD,MAAM,KAAKoI,IAAIqf,QAClD,OAAOslC,GAAOC,GAAS7D,EAAO,IAAI7jC,KAAK6jC,EAAM6D,EAAQ,EAAGD,GAAO,IACjE,CAEQL,cAAcI,GACpB,GAAe,MAAXA,EACF,OAAO,KAET,MAAO3D,EAAM6D,EAAOD,GAAOD,EAAQvsD,WAAWP,MAAM,KAAKoI,IAAIqf,QAC7D,OAAOslC,GAAOC,GAAS7D,EAAO,IAAI7jC,KAAK6jC,EAAM6D,EAAQ,EAAGD,GAAO,IACjE,CAEMlrD,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YACND,EAAKlE,OAAO6B,eACdqC,EAAK5S,mBAAmBwxD,uBAAuB5+C,EAAKlE,OAAO6B,eAAetT,UAAUmE,IAClFwR,EAAK9W,wBAAwBqC,mBAAmB,iCAChDyU,EAAK4B,QAAM,GAGX5B,EAAKlE,OAAO6iD,kBACd3+C,EAAKg/C,sBAAsBJ,uBAAuB5+C,EAAKlE,OAAO6iD,kBAAkBt0D,UAAUmE,IACxFwR,EAAK9W,wBAAwBqC,mBAAmB,iCAChDyU,EAAK4B,QAAM,EAEd,EAZS,EAaZ,CAEAA,SACErZ,KAAK8mB,UAAUqB,OACjB,4CA/GWivC,GAA6Bh3D,MAY9BgoB,OAAehoB,MAAAC,OAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,IAAAjD,MAAAyb,MAAA,+BAZdu7C,EAA6B9zD,UAAA,iCAAAud,YAAA,EAAAC,SAAA,CAAA1gB,OAAAmD,MAAA,GAAAC,KAAA,GAAAC,OAAA,+PAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IClB1CvD,MAAA,QAAIA,MAAA,2CAAqCA,QAKjCA,MAJR,eAIQA,CAJwB,qBAIxBA,CAHY,UAGZA,CAF0B,UAE1BA,CADK,QAEHA,MAAA,QACIA,MAAJ,OAAIA,CAAA,OAAGA,MAAA,aAAUA,UACbA,MAAJ,QAAIA,CAAA,QAAGA,MAAA,yBACTA,YAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,WAAQA,UACfA,MAAA,SAAIA,MAAA,IAA6BA,QACjCA,MAAA,WAA+CA,MAAA,IACjDA,UAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,kBAAeA,UACtBA,MAAA,WAAqDA,MAAA,IAAmCA,QACxFA,MAAA,SACFA,QAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,UAAOA,UACdA,MAAA,SAAIA,MAAA,IAA4BA,QAChCA,MAAA,WAA8CA,MAAA,IAChDA,UAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,yBAAsBA,UAC7BA,MAAA,SAAIA,MAAA,qBAA8DA,QAClEA,MAAA,WAAyDA,MAAA,IAC3DA,UAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,aAAUA,UACjBA,MAAA,SAAIA,MAAA,IAA8BA,QAClCA,MAAA,WAAgDA,MAAA,IAClDA,UAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,uBAAoBA,UAC3BA,MAAA,SACAA,MAAA,SAAIA,MAAA,IACNA,UAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,0BAAiBA,UACxBA,MAAA,SACAA,MAAA,SAAIA,MAAA,IACNA,UAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,YAASA,UAChBA,MAAA,SACAA,MAAA,SAAIA,MAAA,IACNA,UAEMA,MADN,QACMA,CADF,QACEA,CAAA,QAAGA,MAAA,gBAAaA,UACpBA,MAAA,SACAA,MAAA,SAAIA,MAAA,IAKdA,kBAIMA,MAHN,gBAGMA,CAHoD,sBAGpDA,CAFc,WAEdA,CADgC,eACQA,MAAA,0BAASwD,EAAAyV,QAAQ,GAAEjZ,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAAMA,QAC5FA,MAAA,eAA0CA,MAAA,0BAASwD,EAAAuJ,QAAQ,GACzD/M,MAAA,eAAUA,MAAA,WAAIA,QAAYA,MAAA,kBAIlCA,qBAxDcA,MAAA,IAAAA,MAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA4xD,cAAA,KAAAj0D,EAAAqC,KAAA4xD,cAAA3sD,MACA9K,cAAA,UAAAA,MAAA,GAAAqH,GAAA7D,EAAA0zD,qBAA2Cl3D,cAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA6xD,sBAAA,KAAAl0D,EAAAqC,KAAA6xD,sBAAA5sD,MAI3C9K,MAAA,GAAAA,MAAA,UAAAA,MAAA,GAAAqH,GAAA7D,EAAA2zD,2BAAiDn3D,cAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA4xD,cAAA,KAAAj0D,EAAAqC,KAAA4xD,cAAAlnD,YAKjDvQ,MAAA,GAAAA,MAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA4xD,cAAA,KAAAj0D,EAAAqC,KAAA4xD,cAAA9xD,KACA3F,cAAA,UAAAA,MAAA,GAAAqH,GAAA7D,EAAA4zD,oBAA0Cp3D,cAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA6xD,sBAAA,KAAAl0D,EAAAqC,KAAA6xD,sBAAA/xD,KAI1C3F,MAAA,GAAAA,YAAA,YAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA4xD,cAAA,KAAAj0D,EAAAqC,KAAA4xD,cAAApmD,eAAA,eACArR,MAAA,GAAAA,MAAA,UAAAA,MAAA,GAAAqH,GAAA7D,EAAA8zD,+BAAqDt3D,cAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA6xD,sBAAA,KAAAl0D,EAAAqC,KAAA6xD,sBAAArmD,gBAIrDrR,MAAA,GAAAA,MAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA4xD,cAAA,KAAAj0D,EAAAqC,KAAA4xD,cAAAj1D,OACAxC,cAAA,UAAAA,MAAA,GAAAqH,GAAA7D,EAAA6zD,sBAA4Cr3D,cAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA6xD,sBAAA,KAAAl0D,EAAAqC,KAAA6xD,sBAAAl1D,OAK5CxC,MAAA,GAAAA,MAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA6xD,sBAAA,KAAAl0D,EAAAqC,KAAA6xD,sBAAAS,gBAKAn4D,MAAA,GAAAA,MAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA6xD,sBAAA,KAAAl0D,EAAAqC,KAAA6xD,sBAAAx/B,eAKAl4B,MAAA,GAAAA,MAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA6xD,uBAAAl0D,EAAAqC,KAAA6xD,sBAAA9hD,MAAA,gBAKA5V,MAAA,GAAAA,MAAA,MAAAwD,EAAAqC,MAAA,MAAArC,EAAAqC,KAAA6xD,uBAAAl0D,EAAAqC,KAAA6xD,sBAAAzhB,UAAA,gBAUqDj2C,MAAA,GAAAA,MAAA,YAAAwD,EAAAyzD,gCD/CvD/4C,KAAYxC,UAAE0C,KAAazC,UAAE6C,KAAa5C,KAAEyC,KAAexC,MAAAsM,OAAA,giBAE1D6uC,CAA6B,kDEdpCh3D,MAFJ,QAEIA,CAFuB,aAEvBA,CAD0G,cAChGA,MAAA,SAAGA,QAAYA,MAAA,iBAE7BA,WCgBK,IAAMo4D,GAA6B,MAApC,MAAOA,EAaD/B,sBACA91D,wBACAC,OACA8O,OACA6sB,uBACAltB,oBACAsa,qBAlBsBtI,OAChCC,YACuBsI,SACvBC,YAAsB,gCAGb7oB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,oBAAqBC,MAAO,6BAA8BC,KAAM,WAG3EtB,YACU42D,EACA91D,EACAC,EACA8O,EACA6sB,EACAltB,EACAsa,IANA3pB,KAAAy2D,wBACAz2D,KAAAW,0BACAX,KAAAY,SACAZ,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,sBACArP,KAAA2pB,wBAER3pB,KAAKshB,YAAc,CACjBG,QAAS,CACPvhB,GAAI,CAAEyhB,MAAO,IAAKzc,MAAM,GACxBa,IAAK,CAAE4b,MAAO,MAAOzc,MAAM,GAC3BgG,KAAM,CAAEyW,MAAO,OAAQzc,MAAM,GAC7BtC,MAAO,CAAE+e,MAAO,QAASzc,MAAM,IAEjCO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CACEvV,MAAO,SACPuf,KAAM,SACN/J,SAAU1c,IAAKza,KAAK+0B,YAAYta,GAAExI,QAClCqlB,UAAW7c,IAAKA,GAAExI,OAClB9Q,KAAM,UAER,CACEwgB,MAAO,yCACPwV,SAAU1c,IAAKza,KAAKy4D,sBAAsBh+C,GAAEva,GAAIua,GAAE1U,KAClDuxB,UAAW7c,KAAMA,GAAEi+C,0BACnBv3D,KAAM,OACNq7B,MAAO,UAET,CACE7a,MAAO,wCACPwV,SAAU1c,IAAKza,KAAK24D,sBAAsBl+C,GAAEva,IAC5Co3B,UAAW7c,IAAKA,GAAEi+C,0BAClBv3D,KAAM,OACNq7B,MAAO,WAET,CACE7a,MAAO,SACPwV,SAAU1c,IAAKza,KAAKyE,OAAOgW,GAAEva,IAC7Bo3B,UAAW7c,IAAKA,GAAEva,GAAIiB,KAAM,QAE9B,CACEwgB,MAAO,UACPwV,SAAU1c,IAAKza,KAAKu4B,QAAQ9d,GAAEva,IAC9Bo3B,UAAW7c,KAAMza,KAAK6qB,aACtB1pB,KAAM,QACNq7B,MAAO,SAGX1a,SAAUC,IAAK/hB,KAAKy2D,sBAAsBz0C,OAAOD,GAAG/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAE1G,CAEArkB,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,OAAOa,eACd,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,OAAOjc,WAAWuvB,KACrB30B,KAAKy2D,sBAAsBz0C,YAAOkH,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OACzEyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEAnB,OAAOvE,GACLF,KAAKY,OAAOsC,SAAS,CAAC,oCAAoChD,KAC5D,CAEAq4B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKy2D,sBAAsBl+B,QAAQr4B,GAAI4B,UAAU,CAC/CyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEA8/C,sBAAsBv4D,EAAYg2D,GAChC,MAAM38C,EAAgB,IAAIC,KACxB,gBACA,gEAEgBxZ,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKy2D,sBAAsBR,iBAAiB/1D,EAAIg2D,GAAmBp0D,UAAUmE,IAC3EjG,KAAKW,wBAAwBqC,mBAAmBiD,GAChDjG,KAAK4F,aAAW,EACjB,EAGP,CAEA+yD,sBAAsBz4D,GACpBF,KAAK0P,OAAO6I,KAAK6+C,GAA+B,CAC9CnxD,KAAM,CACJmwD,iBAAkBl2D,GAEpB0uB,WAAY,qBAEhB,CAEA/D,aACE,OACG7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,cACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,gBAExD,CAEAiK,YAAYO,GACVhO,OAAO/O,KAAK,yBAA2B+c,EAAW,SACpD,4CApKWkjC,GAA6Bp4D,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAAzb,MAAA+C,MAAA,+BAA7Bq1D,EAA6Bl1D,UAAA,iCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC7B6e,KAAmB,kgBDvBhCpiB,MAAA,wBACAA,MAAA,WACEA,MAAA,EAAAw4D,GAAA,aAKFx4D,QAEEA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,0BAbkBA,MAAA,SAAAwD,EAAA5C,aAEVZ,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,cAWKzqB,MAAA,GAAAA,MAAA,mBAAAwD,EAAA0d,mGCSAk3C,CAA6B,oECJhCp4D,MAAA,mBACEA,MAAA,GACFA,kCAFuDA,MAAA,QAAAy4D,EAAA34D,IACrDE,cAAA,IAAAy4D,EAAArwC,eAAA,gCAUFpoB,MAAA,mBACEA,MAAA,GACFA,kCAFiDA,MAAA,QAAA04D,EAAAxuB,YAC/ClqC,cAAA,IAAA04D,EAAA5tD,KAAA,UAAA4tD,EAAAxuB,WAAA,+CAfJlqC,MAHN,WAGMA,CAHwE,WAGxEA,CAFmB,sBAEnBA,CADuD,eAC5CA,MAAA,gBAAUA,QACrBA,MAAA,mBACEA,MAAA,mBACAA,MAAA,EAAA24D,GAAA,qBAKN34D,YAGIA,MAFJ,WAEIA,CAFmB,sBAEnBA,CADuD,gBAC5CA,MAAA,cAAOA,QAClBA,MAAA,oBACEA,MAAA,oBACAA,MAAA,GAAA44D,GAAA,qBAKN54D,YAEEA,MADF,YACEA,CAD4B,gBACqCA,MAAA,mBAAAA,MAAA0iB,GAAA,MAAAiyB,EAAA30C,QAAA,OAAAA,MAAS20C,EAAA5nC,SAAQ,GAChF/M,MAAA,eAAUA,MAAA,UAAGA,QAAYA,MAAA,kBAG/BA,oCAtB2CA,MAAA,GAAAA,MAAA,UAAA20C,EAAAhL,iBAWH3pC,MAAA,GAAAA,MAAA,UAAA20C,EAAA/K,cAO5B5pC,MAAA,GAAAA,MAAA,WAAA20C,EAAAsB,YCRP,IAAM4iB,GAAkC,MAAzC,MAAOA,EA4BD1kC,wBACAC,mBACA7zB,wBACAO,MACAwO,OACA6sB,uBACAltB,oBACAqa,wBACAwgB,qBACA3X,mBApCV8jB,WAAqB,EACrBxrB,YAAsB,EAEUxJ,OAChCC,YACuBsI,SACvBC,YAAsB,mCACtB3W,QACAjL,OACAD,UACA8hB,YACAigB,gBACAC,aACShpC,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,aAAcC,MAAO,GAAIC,KAAM,kBAG1CC,KAAO,IAAIC,KAAU,CACnBmP,YAAa,IAAIjP,MAAY,EAAIC,KAAWC,UAC5CsC,aAAc,IAAIxC,MAAY,EAAIC,KAAWC,UAC7CozB,eAAgB,IAAItzB,KAAY,GAAIC,KAAWC,UAC/Cy3D,iBAAkB,IAAI33D,MAAY,EAAIC,KAAWC,YAGnD5B,YACU00B,EACAC,EACA7zB,EACAO,EACAwO,EACA6sB,EACAltB,GACAqa,GACAwgB,GACA3X,IATAvyB,KAAAu0B,0BACAv0B,KAAAw0B,qBACAx0B,KAAAW,0BACAX,KAAAkB,QACAlB,KAAA0P,SACA1P,KAAAu8B,yBACAv8B,KAAAqP,uBACArP,KAAA0pB,2BACA1pB,KAAAkqC,wBACAlqC,KAAAuyB,sBAERvyB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAAS2f,OAAO/yB,KAAKkT,UACvDlT,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAAS2f,OAAO/yB,KAAKiI,SACxDjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,+BACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,4BACrD9G,KAAM,iBAERnB,KAAKshB,YAAc,CACjBG,QAAS,CACP+G,eAAgB,CAAE7G,MAAO,aAAczc,MAAM,GAC7CuvB,gBAAiB,CAAE9S,MAAO,UAAWzc,MAAM,IAE7CO,KAAM,CACJoc,gBAAiB,CAAC,GAAI,GAAI,KAE5BqV,QAAS,CACP,CACEvV,MAAO,UACPwV,SAAU1c,IAAKza,KAAKu4B,QAAQ9d,GAAEva,IAC9Bo3B,UAAW7c,KAAMza,KAAK6qB,aAAe7qB,KAAKq2C,UAC1Cl1C,KAAM,QACNq7B,MAAO,SAGX1a,SAAUC,IACR/hB,KAAKu0B,wBAAwBvS,OAC3BhiB,KAAKkT,QACLlT,KAAKiI,OACL8Z,GACA/hB,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,OAI1D7pB,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KACvEjC,KAAKgI,UAAY/F,GAAI6B,UACrB9D,KAAKq2C,UAAYp0C,GAAIo0C,UACrBr2C,KAAK6qB,WAAa5oB,GAAI4oB,YAE1B,CAEAtlB,WACEvF,KAAK0pB,wBAAwBpO,IAAItb,KAAKkT,UAAW,EAAIlT,KAAKiI,SAAU,GAAInG,UAAUG,IAChFjC,KAAK+pC,gBAAkB9nC,IAEzBjC,KAAKkqC,qBAAqB5uB,IAAItb,KAAKkT,UAAW,EAAIlT,KAAKiI,SAAU,GAAInG,UAAUG,IAC7EjC,KAAKgqC,aAAe/nC,GAExB,CAEAuD,mBACE0kB,QAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IACrF,EACL,CAEAjkB,cACE5F,KAAKqhB,QAAQa,eACf,CAEA+H,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqhB,QAAQjc,WAAWuvB,KACtB30B,KAAKu0B,wBAAwBvS,OAAOhiB,KAAKkT,QAASlT,KAAKiI,YAAQihB,EAAWlpB,KAAK4pB,UAAU9D,cAAc51B,OACtGyoB,IACC3Y,KAAKW,wBAAwB+B,iBAAiBiW,GAC9C3Y,KAAK4F,aAAW,EAGtB,CAEA1D,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEM4K,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YACVD,EAAKvV,8BACAuV,EAAKrW,KAAKqB,MAKfgV,EAAK8c,wBAAwBpnB,OADiBsK,EAAKrW,KAAKlR,OACR4R,UAAUq3D,IACxD1hD,EAAK9W,wBAAwBqC,mBAC3B,kCAA+Bm2D,EAAkBj5D,6BAEnDuX,EAAKi+C,YACLj+C,EAAK7R,aAAW,GAThB6R,EAAK9W,wBAAwB+B,iBAAiB,uEAU9C,EAbQ,EAcZ,CAEQgzD,YACN11D,KAAKoB,KAAK6B,QACVjD,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAAS2f,OAAO/yB,KAAKkT,UACvDlT,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAAS2f,OAAO/yB,KAAKiI,SACxDjI,KAAKoB,KAAKgB,SAASyyB,eAAkB8gC,gBACrC31D,KAAKoB,KAAKgB,SAAS82D,iBAAoBvD,eACzC,CAEAp9B,QAAQr4B,GACN,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtZ,MAC/EF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKu0B,wBAAwBgE,QAAQr4B,GAAI4B,UAAU,CACjDyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEAgW,WAKE3uB,KAAKu0B,wBACFvS,OAAOhiB,KAAKkT,QAASlT,KAAKiI,OALF,CACzBzB,UAAW,EACXC,SAAUzG,KAAKqhB,QAAQjc,WAAWwvB,SAGS50B,KAAK4pB,UAAU9D,cAAc51B,OACvE4R,UAAUmE,IACT,IACIC,EAAU,gDADsBD,EAAKC,QAEhCyO,QAAQye,IACfltB,GAAW,IAAIktB,EAAIyB,gBAAkB,QAAQzB,EAAIqB,iBAAmB,QAAQrB,EAAI5K,gBAAkB,SAAE,GAEtGxoB,KAAKuyB,mBAAmB5D,SAASzoB,EAAS,wBAAwBlG,KAAKgI,4BAAsBhI,KAAKiI,SAAQ,EAEhH,4CA/LWgxD,GAAkC74D,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,OAAAzb,MAAAgD,MAAAhD,MAAA0b,MAAA1b,MAAA2b,MAAA3b,MAAA4b,MAAA5b,MAAA6b,MAAA,+BAAlCg9C,EAAkC31D,UAAA,sCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAIlC6e,KAAmB,iyCD9BhCpiB,MAFA,uBAEAA,CAF4D,qBAMxDA,MAHJ,UAGIA,CAH4C,UAG5CA,CAF4B,QAE5BA,CADG,cACuCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QAAYA,MAAA,gBAGzCA,YACAA,MAAA,YACEA,MAAA,GAAAg5D,GAAA,cA6BFh5D,QAEEA,MADF,sBACEA,CAD8D,iBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QACAA,MAAA,qBAQMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAItCA,oBA3DkBA,MAAA,SAAAwD,EAAA5C,aAEHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAI0B7H,MAAA,GAAAA,MAAA,mBAAAwD,EAAAyd,QAAA,MAAAzd,EAAAyd,OAAAjc,YAAAxB,EAAAyd,OAAAjc,WAAAwvB,UAK7Dx0B,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MACuDhB,cAAA,QAAAwD,EAAAinB,YAmChDzqB,MAAA,GAAAA,MAAA,mBAAAwD,EAAA0d,yKCnBA23C,CAAkC,kMCI3B74D,MAAA,iBAA4CA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAloC,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAsxD,cAAa,GAAEj5D,MAAA,YAAMA,kDAR1EA,MAJF,sBAIEA,CADoD,eACzCA,MAAA,SAAGA,QACdA,MAAA,cAMEA,MAAA,kBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAQ2H,SAAAo+C,YAAW/lD,MAAE2H,EAAAW,KAAK,OAAM,GANlCtI,QAOAA,MAAA,EAAAk5D,GAAA,mBACFl5D,gCADaA,MAAA,GAAAA,MAAA,OAAA2H,EAAAwxD,2DAaXn5D,MAAA,iBAA4CA,MAAA,mBAAAA,MAAAkxB,GAAA,MAAAvpB,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAyxD,qBAAoB,GAAEp5D,MAAA,YAAMA,kDAPjFA,MAJF,sBAIEA,CADoD,eACzCA,MAAA,gBAAUA,QACrBA,MAAA,cAKEA,MAAA,kBAAAA,MAAAiE,GAAA,MAAA0D,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,cAAa,GAL5BtI,QAMAA,MAAA,EAAAq5D,GAAA,mBACFr5D,gCADaA,MAAA,GAAAA,MAAA,OAAA2H,EAAAwxD,4CAkDTn5D,MAAA,mBACEA,MAAA,GACFA,kCAFsDA,MAAA,QAAAs5D,EAAAppE,KACpD8P,cAAA,IAAAs5D,EAAAxpE,MAAA,gCAQFkQ,MAAA,mBACEA,MAAA,GACFA,kCAF8CA,MAAA,QAAAiI,EAAAnI,IAC5CE,cAAA,IAAAiI,EAAAlG,KAAA,gCAQF/B,MAAA,mBACEA,MAAA,GACFA,kCAFgEA,MAAA,QAAAu5D,EAAArpE,KAC9D8P,cAAA,IAAAu5D,EAAAzpE,MAAA,gCAqBFkQ,MAAA,mBACEA,MAAA,GACFA,kCAF6DA,MAAA,QAAAw5D,EAAAtpE,KAC3D8P,cAAA,IAAAw5D,EAAA1pE,MAAA,gCAQFkQ,MAAA,mBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAAy5D,EAAAvpE,KACjD8P,cAAA,IAAAy5D,EAAAvpE,IAAA,+CAxBJ8P,MAFJ,WAEIA,CAF0G,sBAE1GA,CADyE,eAC9DA,MAAA,QAAEA,QACbA,MAAA,cAOEA,MADA,oBAAAmI,GAAAnI,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MAAY2H,EAAAU,uCAAAF,GAA8C,EAC1DnI,CAD2D,kBAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MACnD2H,EAAAW,KAAK,YAAW,GAC5BtI,UAEEA,MADF,sBACEA,CADyE,eAC9DA,MAAA,oCAAqBA,QAChCA,MAAA,mBAAqDA,MAAA,6BAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,WAAU,GACrFtI,MAAA,mBACAA,MAAA,GAAA05D,GAAA,0CAIJ15D,UAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,+BAAkBA,QAC7BA,MAAA,oBAA4CA,MAAA,6BAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,iBAAgB,GAClFtI,MAAA,oBACAA,MAAA,GAAA25D,GAAA,0CAIJ35D,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,iCAAoBA,QAC/BA,MAAA,eAQEA,MAAA,kBAAAA,MAAA2I,GAAA,MAAAhB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,mBAAkB,GAErCtI,oCA1BmCA,MAAA,IAAAA,MAAA,UAAAA,MAAA,KAAA2H,EAAAc,mBASAzI,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAA2H,EAAAe,SAc7B1I,MAAA,GAAAA,MAAA,sEAMFA,MAFJ,WAEIA,CAF0G,sBAE1GA,CADuD,eAC5CA,MAAA,0BAAiBA,QAC5BA,MAAA,cAKEA,MAAA,kBAAAA,MAAA2hC,GAAA,MAAAh6B,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,iBAAgB,GACjCtI,UAEEA,MADF,sBACEA,CADuD,eAC5CA,MAAA,+BAAsBA,QACjCA,MAAA,cAKEA,MAAA,kBAAAA,MAAA2hC,GAAA,MAAAh6B,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,qBAAoB,GACrCtI,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,uCAAuBA,QAClCA,MAAA,eAKEA,MAAA,kBAAAA,MAAA2hC,GAAA,MAAAh6B,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,sBAAqB,GACtCtI,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,mDAAmCA,QAC9CA,MAAA,eAQEA,MAAA,kBAAAA,MAAA2hC,GAAA,MAAAh6B,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,8BAA6B,GAEhDtI,kBAHMA,MAAA,IAAAA,MAAA,sEAOFA,MAFJ,WAEIA,CAFsD,sBAEtDA,CADuD,eAC5CA,MAAA,mCAA0BA,QACrCA,MAAA,cAKEA,MAAA,kBAAAA,MAAAoJ,GAAA,MAAAzB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,oBAAmB,GACpCtI,UAEEA,MADF,sBACEA,CADuD,eAC5CA,MAAA,uCAA8BA,QACzCA,MAAA,cAKEA,MAAA,kBAAAA,MAAAoJ,GAAA,MAAAzB,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,iBAAgB,GAEnCtI,uCAUMA,MAAA,mBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAA45D,EAAA1pE,KACjD8P,cAAA,IAAA45D,EAAA1pE,IAAA,+CAJJ8P,MAJF,sBAIEA,CADkB,eACPA,MAAA,yBAAmBA,QAC9BA,MAAA,mBAAYA,MAAA,6BAAAA,MAAAgyB,GAAA,MAAArqB,EAAA3H,QAAmB2H,SAAAoB,8BAA+BpB,EAAAW,KAAK,MAAKtI,MAAA,CAAG2H,EAAA3G,KAAAgB,SAAmBgH,aAAcC,WAAa,KAAG,GAC1HjJ,MAAA,mBACAA,MAAA,EAAA65D,GAAA,yCAIJ75D,kCAJiCA,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAAe,oCAQ7B1I,MAAA,mBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAA85D,EAAAhqE,OACjDkQ,cAAA,IAAA85D,EAAAhqE,MAAA,+CAHJkQ,MADF,sBACEA,CAD2G,eAChGA,MAAA,0BAAiBA,QAC5BA,MAAA,mBAAYA,MAAA,6BAAAA,MAAA0qC,GAAA,MAAA/iC,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAAW,KAAK,oBAAmB,GACrDtI,MAAA,EAAA+5D,GAAA,yCAIJ/5D,kCAJiCA,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAA2B,oCAkB7BtJ,MAAA,mBACEA,MAAA,GACFA,kCAF2DA,MAAA,QAAAg6D,GACzDh6D,cAAA,IAAAg6D,EAAA,+CAbJh6D,MADF,sBACEA,CAD2G,eAChGA,MAAA,yBAAmBA,QAC9BA,MAAA,cAMEA,MAAA,mBAAAA,MAAA6J,GAAA,MAAAlC,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA8B,mBAAmB,gBAAe,GAN7CzJ,QAOAA,MAAA,2BAGEA,MAAA,4BAAAA,MAAA6J,GAAA,MAAAlC,EAAA3H,QAAA,OAAAA,MAAkB2H,EAAAW,KAAK,gBAAe,GACtCtI,MAAA,EAAAi6D,GAAA,sCAIJj6D,6CAVIA,MAAA,GAAAA,MAAA,kBAAAk6D,GAM+Bl6D,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAAiC,4DAMjC5J,MADF,sBACEA,CAD2G,eAChGA,MAAA,yBAAmBA,QAC9BA,MAAA,cAKEA,MAAA,kBAAAA,MAAAiK,GAAA,MAAAtC,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,gBAAe,GAChCtI,qCAqFIA,MAAA,mBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAAgK,EAAA9Z,KACjD8P,cAAA,IAAAgK,EAAA9Z,IAAA,+CAyFJ8P,MADF,sBACEA,CADsH,eAC3GA,MAAA,kCAAmBA,QAC9BA,MAAA,cAKEA,MAAA,kBAAAA,MAAAsK,GAAA,MAAA3C,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,cAAa,GAC9BtI,qCAWIA,MAAA,mBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAAm6D,EAAAjqE,KACjD8P,cAAA,IAAAm6D,EAAAjqE,IAAA,+CAPJ8P,MAJF,sBAIEA,CAD+D,eACpDA,MAAA,iCAAqBA,QAChCA,MAAA,mBAGEA,MAFA,6BAAAA,MAAAs5C,GAAA,MAAA3xC,EAAA3H,QAAmB2H,SAAAuC,6BAA4BlK,MAAA,CAAG2H,EAAA3G,KAAAgB,SAAmBmI,aAAclB,WAAa,KAAG,EAEnGjJ,CAFqG,kBAAAA,MAAAs5C,GAAA,MAAA3xC,EAAA3H,QAAA,OAAAA,MAE7F2H,EAAAW,KAAK,YAAW,GACxBtI,MAAA,mBACAA,MAAA,EAAAo6D,GAAA,yCAIJp6D,kCAJiCA,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAAe,oCAmB7B1I,MAAA,mBACEA,MAAA,GACFA,kCAF2DA,MAAA,QAAAq6D,GACzDr6D,cAAA,IAAAq6D,EAAA,+CAdJr6D,MADF,sBACEA,CADsH,eAC3GA,MAAA,iCAAqBA,QAChCA,MAAA,cAMEA,MAAA,mBAAAA,MAAAyK,GAAA,MAAA9C,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA8B,mBAAmB,gBAAe,GAN7CzJ,QAQAA,MAAA,2BAGEA,MAAA,4BAAAA,MAAAyK,GAAA,MAAA9C,EAAA3H,QAAA,OAAAA,MAAkB2H,EAAAW,KAAK,gBAAe,GACtCtI,MAAA,EAAAs6D,GAAA,sCAIJt6D,6CAXIA,MAAA,GAAAA,MAAA,kBAAAu6D,GAO+Bv6D,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAA2H,EAAAiC,4DAMjC5J,MADF,sBACEA,CADsH,eAC3GA,MAAA,iCAAqBA,QAChCA,MAAA,cAKEA,MAAA,kBAAAA,MAAA45C,GAAA,MAAAjyC,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAAW,KAAK,gBAAe,GAChCtI,kCAqBNA,MAAA,YACEA,MAAA,0GACFA,mCAScA,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,cACFA,wCAFaA,MAAA,GAAAA,MAAAw6D,EAAA1vD,MACK9K,cAAA,yDAKhBA,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,cACFA,wCAFaA,MAAA,GAAAA,MAAAw6D,EAAA1vD,MACK9K,QAAyFA,MAAzF,6BAAyFA,CAA3D,uDAK9CA,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,mBACEA,MAAA,mBACAA,MAAA,oBAAwBA,MAAA,SAAGA,QAC3BA,MAAA,oBAAwBA,MAAA,YAE5BA,4CANaA,MAAA,GAAAA,MAAAw6D,EAAA1vD,MACC9K,cAAA,yDAYVA,MAAA,mBACEA,MAAA,GACFA,kCAF0DA,MAAA,QAAAy6D,GACxDz6D,cAAA,IAAAy6D,EAAA,gCAJJz6D,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,mBACEA,MAAA,mBACAA,MAAA,EAAA06D,GAAA,qBAIJ16D,0CAPaA,MAAA,GAAAA,MAAAw6D,EAAA1vD,MACC9K,cAAA,8BAEoBA,MAAA,GAAAA,MAAA,UAAAw6D,EAAAvvD,OAAAC,MAAA,kCAU9BlL,MAAA,mBACEA,MAAA,GACFA,kCAF0DA,MAAA,QAAA26D,GACxD36D,cAAA,IAAA26D,EAAA,gCAHJ36D,MADF,sBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,oBACEA,MAAA,EAAA46D,GAAA,qBAIJ56D,0CANaA,MAAA,GAAAA,MAAAw6D,EAAA1vD,MACC9K,cAAA,8BACoBA,cAAA,UAAAw6D,EAAAvvD,OAAAC,MAAA,kCAOlClL,MAAA,qBAGEA,MAAA,GACFA,uEAFEA,MADA,UAAAA,MAAA,EAAAymB,IAAA,OAAAo0C,EAAAlzD,EAAA4D,OAAAtJ,IAAA,mBAAA44D,IAAA54D,IAAAqK,EAAAb,cAAA,OAAAovD,IAAA54D,IAAA,kBAAA44D,EAAA34D,WAAA,OAAA24D,EAAAlzD,EAAA4D,OAAAtJ,IAAA,mBAAA44D,IAAA54D,IAAAqK,EAAAb,cAAA,OAAAovD,IAAA54D,IAAA,kBAAA44D,EAAAnvD,UACA1L,CADwK,8BAExKA,cAAA,IAAAw6D,EAAA1vD,KAAA,kDAjDR9K,MAAA,YAoDIA,MAlDA,EAAA86D,GAAA,wBAkDA96D,CAlDiB,EAAA+6D,GAAA,wBAkDjB/6D,CA5CgB,EAAAg7D,GAAA,wBA4ChBh7D,CAtCmB,EAAAi7D,GAAA,wBAsCnBj7D,CA5BoC,EAAAk7D,GAAA,wBA4BpCl7D,CAjBuC,EAAAm7D,GAAA,sBAiBvCn7D,CAPkB,EAAAo7D,GAAA,KAWtBp7D,wCAxDyFA,MAAA,yBACvFA,cAAA,WAAA66D,EAAAL,EAAAtuD,WAAO,EAAP,SAAO2uD,EAAD,EAAN,YAAMA,EAAG,EAAT,6BAASA,EAAiB,EAA1B,gCAA0BA,EAC5C,EADkB,WAClBA,EAD0B,gCAFZ76D,MAFJ,YAEIA,CAFsE,UAEtEA,CAD+C,YAE7CA,MAAA,EAAAq7D,GAAA,cA2DNr7D,mCA9DMA,MAAA,YAAA2H,EAAA4D,QAGkEvL,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,iCAT5E7F,MAAA,gBAKIA,MAJF,EAAAs7D,GAAA,aAIEt7D,CAJS,EAAAu7D,GAAA,eAqEbv7D,8BArEEA,cAAA2H,EAAA7H,GAAA,6BA4EQE,MAAA,wCAA8BA,MAAA,OAAGA,MAAA,qBAAYA,+BAE7CA,MAAA,kIAEAA,MAAA,iEAGJA,MAAA,YACEA,MAAA,8BASFA,sDAV+GA,MAAA,gBAAAw7D,GAM3Gx7D,cAAA,6BAAA2H,EAAA7H,GAAA,aACAE,MAJA,QAAAy7D,EAAAjvD,cAAAivD,EAAAhvD,cAAA,IAAAgvD,EAAAhvD,cAIAzM,CAJ2F,uBAI3FA,CAH0B,KAAA2H,EAAA+E,wBAAA8uD,GAG1Bx7D,CAFiC,2DAoB7CA,MAAA,gBAA0CA,MAAA,mBAAAA,MAAAkN,GAAA,MAAAvF,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAoF,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,cAC5BA,SChlBC,IAAM07D,GAA0B,MAAjC,MAAOA,EA6GDj3D,mBACAlE,wBACAyO,aACAlO,MACAN,OACA+oB,qBACAta,oBACAC,cACAC,iBACAG,OACAF,YACAC,GAtHVssD,mBAA6B,gBAE7BjzD,OAAS3W,KACT0d,QAAoB,GACpBC,mBAA+B,GAC/B9F,gBACA+F,iBAAmBje,KACnBke,aAA+C,GAC/CnH,iBAAmB3Q,KACnBwR,OAASrP,KACT4V,QAAUrhB,KACVshB,aAAe9hB,KACf6e,sBAAyD,GAEzDmD,UAAY,wBACZC,cAAgB,iBAEhBrP,YAAqC,GAErCg7D,iBACE,OAAOh8D,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,YAC5D,CAGAmxC,2BACE,OAAIj8D,KAAKg8D,iBACA,CACL,CAAE/6D,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,cAAeC,MAAO,yBAA0BC,KAAM,gBAC/D,CAAEF,MAAO,mBAAoBC,MAAO,GAAIC,KAAM,SAGzC,CACL,CAAEF,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,SAAUC,MAAO,GAAIC,KAAM,UACpC,CAAEF,MAAO,QAASC,MAAO,yBAA0BC,KAAM,QAG/D,CAEAC,KAAO,IAAIC,KAAU,CACnBmP,YAAa,IAAIjP,MAAY,EAAIC,KAAWC,UAC5CsC,aAAc,IAAIxC,MAAY,EAAIC,KAAWC,UAC7CgP,YAAa,IAAIlP,MAAY,GAC7BwE,IAAK,IAAIxE,KAAY,KACrBmP,WAAY,IAAInP,KAAY,KAC5B2J,KAAM,IAAI3J,KAAY,GAAIC,KAAWC,UACrCkP,WAAY,IAAIpP,KAAY,IAC5BqP,SAAU,IAAIrP,KAAY,IAAK,CAACC,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKoQ,aAC7ES,QAAS,IAAItP,KAAY,IAAKC,KAAWC,UACzCqP,cAAe,IAAIvP,KAAY,IAAKC,KAAWC,UAC/CsP,gBAAiB,IAAIxP,KAAY,IAAKC,KAAWC,UACjDuP,cAAe,IAAIzP,KAAY,IAAKC,KAAWC,UAC/CwP,kBAAmB,IAAI1P,KAAY,IAAKC,KAAWC,UACnDyP,mBAAoB,IAAI3P,KAAY,IAAKC,KAAWC,UACpD0P,2BAA4B,IAAI5P,KAAY,IAAKC,KAAWC,UAC5D2P,iBAAkB,IAAI7P,KAAY,KAClC8P,cAAe,IAAI9P,KAAY,KAC/B+P,iBAAkB,IAAI/P,KAAY,IAClC6H,aAAc,IAAI7H,KAAY,IAAKC,KAAWC,UAC9C8P,GAAI,IAAIhQ,KAAY,KACpBiQ,cAAe,IAAIjQ,KAAY,IAAKC,KAAWC,UAC/CgQ,eAAgB,IAAIlQ,KAAY,IAAK,CAACC,KAAWC,YAAUiQ,UAC3DC,KAAM,IAAIpQ,KAAY,IAAKC,KAAWC,UACtCmQ,OAAQ,IAAIrQ,KAAY,KACxBsQ,YAAa,IAAItQ,KAAY,IAAKC,KAAWC,UAC7CqQ,YAAa,IAAIvQ,KAAY,KAC7BwQ,QAAS,IAAIxQ,KAAY,KACzByQ,QAAS,IAAIzQ,KAAY,IAAKC,KAAWC,UACzCwQ,OAAQ,IAAI1Q,KAAY,IAAK,CAACC,KAAWG,QAAQ3B,KAAKqQ,iBACtD8B,YAAa,IAAI5Q,KAAY,IAAKC,KAAWC,UAC7C2Q,eAAgB,IAAI7Q,KAAY,IAAKC,KAAWC,UAChD4Q,oBAAqB,IAAI9Q,KAAY,KACrC+Q,eAAgB,IAAI/Q,KAAY,IAAKC,KAAWC,UAChD8Q,eAAgB,IAAIhR,KAAY,IAAKC,KAAWC,UAChD+Q,eAAgB,IAAIjR,KAAY,IAAKC,KAAWC,UAChDgR,YAAa,IAAIlR,KAAY,IAAKC,KAAWC,UAC7CiR,2BAA4B,IAAInR,KAAY,KAC5CoR,2BAA4B,IAAIpR,KAAY,KAC5CqR,uBAAwB,IAAIrR,KAAY,IAAKC,KAAWC,UACxDmB,MAAO,IAAIrB,KAAY,IAAKC,KAAWC,UACvCqC,UAAW,IAAIvC,KAAY,IAAKC,KAAWC,UAC3CoR,0BAA2B,IAAItR,KAAY,IAAKC,KAAWC,UAC3DqR,uBAAwB,IAAIvR,MAAY,GACxCgJ,aAAc,IAAIhJ,KAAY,IAAKC,KAAWC,UAC9CsR,SAAU,IAAIxR,KAAY,IAAKC,KAAWC,UAC1CuR,WAAY,IAAIzR,KAAY,IAAKC,KAAWC,UAC5CwR,cAAe,IAAI1R,KAAY,IAAKC,KAAWC,UAC/CgU,oBAAqB,IAAI8E,KAAU,IACnCrF,iBAAkB,IAAIqF,KAAU,MAElCra,GACAgT,QACAjL,OACAD,UACAk0D,eAAyB,EAEe1hD,uBAGxCvU,KAA4C,GAC5C0F,OAAS,IAAItK,KAAU,CACrBuU,OAAQ,IAAI2E,KAAU,MAGxB1a,YACUgF,EACAlE,EACAyO,EACAlO,EACAN,EACA+oB,EACAta,GACAC,GACAC,GACAG,GACAF,GACAC,IAXAzP,KAAA6E,qBACA7E,KAAAW,0BACAX,KAAAoP,eACApP,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA2pB,uBACA3pB,KAAAqP,uBACArP,KAAAsP,iBACAtP,KAAAuP,oBACAvP,KAAA0P,UACA1P,KAAAwP,eACAxP,KAAAyP,MAERzP,KAAKgB,YAAchB,KAAKi8D,0BAK1B,CAEA12D,WAEEvF,KAAKmxC,kBAELnxC,KAAKoB,KAAKgB,SAASqO,YAAe2C,UAAS,GAC3CpT,KAAKoB,KAAKgB,SAAS0Q,uBAA0BM,UAAS,GACtD,QAASC,KAAKrT,KAAK+P,iBACuB,iBAA7B/P,KAAK+P,iBAAiBsD,IAC/BrT,KAAKgQ,aAAasD,KAAK,CAAEpT,GAAImT,EAAGlR,KAAMnC,KAAK+P,iBAAiBsD,KAIhErT,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKE,GAAKqT,EAAOrT,GACjBF,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACjBjI,KAAKg8D,mBACPz2C,QAAQqe,IAAI,UACZ5jC,KAAKgB,YAAY,GAAK,CACpBC,MAAO,SACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,gBACrD9G,KAAM,WAIVnB,KAAKoB,KAAK6B,QACNjD,KAAKE,IACHF,KAAKg8D,iBACPh8D,KAAKgB,YAAY,GAAK,CACpBC,MAAO,mBACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,yBAAyBjI,KAAKE,KACnFiB,KAAM,SAGRnB,KAAKgB,YAAY,GAAK,CACpBC,MAAO,SACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,gBACrD9G,KAAM,UAERnB,KAAKgB,YAAY,GAAK,CACpBC,MAAO,QACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,yBAAyBjI,KAAKE,KACnFiB,KAAM,SAGVnB,KAAK6E,mBAAmB2O,eAAexT,KAAKE,IAAI4B,UAAUG,IAC5C,OAARA,GAIJjC,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAASnR,EAAIuO,aAC/CxQ,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAASnR,EAAI8B,cAChD/D,KAAKoB,KAAKgB,SAASqO,YAAe2C,SAASnR,EAAIwO,aAC3CxO,EAAIwO,YACNzQ,KAAKoB,KAAKgB,SAASsO,WAAc0C,SAASnR,EAAI4R,UAE9C7T,KAAKoB,KAAKgB,SAAS2D,IAAOqN,SAASnR,EAAI4R,UAGzC7T,KAAKm8D,QAAQl6D,IAZXjC,KAAKY,OAAOsC,SAAS,CAAC,iBAYR,KAGlBlD,KAAKgB,YAAY,GAAK,CACpBC,MAAO,SACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,gBACrD9G,KAAM,UAERnB,KAAKgB,YAAY,GAAK,CACpBC,MAAO,QACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,wBACrD9G,KAAM,QAGRnB,KAAKo8D,oCACLp8D,KAAKoB,KAAKgB,SAASoO,YAAe4C,SAAS2f,OAAO/yB,KAAKkT,UACvDlT,KAAKoB,KAAKgB,SAAS2B,aAAgBqP,SAAS2f,OAAO/yB,KAAKiI,SACxDjI,KAAK0kD,2BACL1kD,KAAKq8D,oCACLr8D,KAAKs8D,+CACLt8D,KAAKsK,6BAA0B,GAGnCtK,KAAKoP,aAAayhB,SAAS7wB,KAAKkT,SAAUpR,UAAUG,IAClDjC,KAAKgI,UAAY/F,EAAIiJ,MAEzB,CAEQkxD,oCACNp8D,KAAK6E,mBAAmB03D,uBAAuBv8D,KAAKkT,QAAUlT,KAAKiI,QAASnG,UAAUiB,IAC/EA,GACH/C,KAAKY,OAAOsC,SAAS,CAAC,iBAAgB,EAG5C,CAEAsC,kBACMxF,KAAKE,KACPF,KAAK6E,mBAAmB4P,oBAAoBzU,KAAKE,IAAIwF,QACnDgP,MAASzS,IACPA,EAAI0S,QAAQC,IACV,IAAIC,EACJA,EAAc,IAAItT,KAAY,IAAIuT,MAAsB,CACtDC,WAAY,IAACC,QAAuB,MAGtCH,EAAY3kB,MAAM+kB,eAAeL,EAAI/H,cAAe,GAEpD7M,KAAKkV,iBAAiB5B,KAAKtT,KAAKyP,GAAG0F,MAAM,CACvCjV,GAAI0U,EAAI1U,GACR4H,cAAe8M,EAAIQ,cACnBC,gCAAiCT,EAAIU,gCACrCzI,cAAe+H,EAAI/H,cACnB0I,cAAeX,EAAIW,cACnBV,YAAaA,IACb,GAEG7U,KAAK6E,mBAAmB2Q,cAAcxV,KAAKkT,QAAUlT,KAAKiI,WAEnEnG,UAAUG,IACVjC,KAAKiN,sBAAwBhL,EAC7BA,EAAI0S,QAAQC,IACV,IAAIC,EACJA,EAAc,IAAItT,KAAY,IAAIuT,MAAsB,CACtDC,WAAY,IAACC,QAAuB,MAGtChV,KAAKyV,oBAAoBnC,KAAKtT,KAAKyP,GAAG0F,MAAM,CAC1CjV,GAAI0U,EAAI1U,GACRwV,cAAed,EAAIc,cACnB7I,cAAe+H,EAAI/H,cACnBD,cAAegI,EAAIhI,cACnBiI,YAAaA,KAGf7U,KAAKkV,iBAAiB9S,SAASuS,QAAQgB,IACjCf,EAAI1U,KAAOyV,EAAStT,IAAI,oCAAoCnS,OAC9D2kB,EAAYzB,SAASuC,EAAStT,IAAI,gBAAgBnS,MAAK,GAIvD8P,KAAKk8D,eACPrnD,EAAYpB,SAAO,EAEtB,GAGHzT,KAAK6E,mBAAmBiR,gCAAgC9V,KAAKkT,QAAUlT,KAAKiI,OAASjI,KAAKE,IAAK4B,UAAUG,IACvGjC,KAAKiG,KAAOhE,EACZA,EAAI0S,QAAQoB,IACV,GAAIA,EAAGC,MAAO,CACZ,MAAMC,EAAiBjW,KAAKyP,GAAG0F,MAAM,CACnCe,OAAQH,EAAGG,OACX5J,UAAWyJ,EAAGzJ,UACdpB,KAAM6K,EAAG7K,KACTG,OAAQ0K,EAAG1K,OACX8K,YAAaJ,EAAGI,YAChBH,MAAOD,EAAGC,MACVI,OAAQL,EAAGK,OACXC,SAAUrW,KAAKsW,YAAYP,KAEzBA,EAAGI,cACgB,WAAjBJ,EAAGzJ,UACL2J,EAAe5T,IAAI,aAAakU,iBAAcC,SAE9CP,EAAe5T,IAAI,aAAakU,cAAc/U,KAAWC,WAGzC,QAAhBsU,EAAGzJ,WACL2J,EAAe5T,IAAI,aAAakU,iBAAcE,SAEhDzW,KAAK4V,OAAOtC,KAAK2C,EACnB,GACD,GAGP,CAGQK,YAAYP,GAClB,OACS,IAAIxU,KADQ,gCAAjBwU,EAAGzJ,UACkByJ,EAAGM,SAAWN,EAAGM,SAAS/K,MAAM,MAAQ,GAE5C,WAAjByK,EAAGzJ,UACkC,SAAhByJ,EAAGM,SAELN,EAAGM,UAAY,GACxC,CAEA,UAAIT,GACF,OAAO5V,KAAK2L,OAAOtJ,IAAI,SACzB,CAEA85D,QAAQl6D,GACNjC,KAAKoB,KAAKgB,SAAS8I,KAAQkI,SAASnR,EAAIiJ,MACxClL,KAAKoB,KAAKgB,SAASuO,WAAcyC,SAASnR,EAAI0O,YAC9C3Q,KAAKoB,KAAKgB,SAASwO,SAAYwC,SAASnR,EAAI2O,UAC5C5Q,KAAKoB,KAAKiB,IAAI,aAAayR,cAAc,CAACtS,KAAWG,QAAQ3B,KAAKoQ,aAClEpQ,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKgB,SAASyO,QAAWuC,SAASnR,EAAI4O,SAASvK,OAAS,EAAIrE,EAAI4O,QAAQmD,cAAgB,IAC7FhU,KAAKoB,KAAKgB,SAAS0O,cAAiBsC,SAASnR,EAAI6O,eACjD9Q,KAAKoB,KAAKgB,SAAS2O,gBAAmBqC,SAASpT,KAAKwP,YAAYyE,mBAAmBhS,EAAI8O,kBACvF/Q,KAAKoB,KAAKgB,SAAS4O,cAAiBoC,SAASnR,EAAI+O,eACjDhR,KAAKoB,KAAKgB,SAAS6O,kBAAqBmC,SAASnR,EAAIgP,mBACrDjR,KAAKoB,KAAKgB,SAAS8O,mBAAsBkC,SAASnR,EAAIiP,oBACtDlR,KAAKoB,KAAKgB,SAAS+O,2BAA8BiC,SAC/CpT,KAAKwP,YAAYyE,mBAAmBhS,EAAIkP,6BAE1CnR,KAAKoB,KAAKgB,SAASgP,iBAAoBgC,SAASnR,EAAImP,kBACpDpR,KAAKoB,KAAKgB,SAASiP,cAAiB+B,SAASnR,EAAIoP,eACjDrR,KAAKoB,KAAKgB,SAASqO,YAAe2C,SAASnR,EAAIwO,aAC/CzQ,KAAKoB,KAAKgB,SAASkP,iBAAoB8B,SAASnR,EAAIqP,kBACpDtR,KAAKoB,KAAKgB,SAASmP,GAAM6B,SAASnR,EAAIsP,IACtCvR,KAAKoB,KAAKgB,SAASgH,aAAgBgK,SAASnR,EAAImH,cAI9CpJ,KAAKoB,KAAKgB,SAASoP,cAAiB4B,SAHjCpT,KAAKoB,KAAKgB,SAASqO,YAAevgB,MAGQ+R,EAAIuP,cAFJ,MAI/CxR,KAAKoB,KAAKgB,SAASqP,eAAkB2B,SAASpT,KAAKwP,YAAYyE,mBAAmBhS,EAAIwP,iBACtFzR,KAAKoB,KAAKgB,SAASuP,KAAQyB,SAASnR,EAAI0P,MACxC3R,KAAKoB,KAAKgB,SAASwP,OAAUwB,SAASnR,EAAI2P,QAC1C5R,KAAKoB,KAAKgB,SAASyP,YAAeuB,SAASnR,EAAI4P,aAC/C7R,KAAKoB,KAAKgB,SAAS0P,YAAesB,SAASnR,EAAI6P,aAC/C9R,KAAKoB,KAAKgB,SAAS2P,QAAWqB,SAASnR,EAAI8P,SAC3C/R,KAAKoB,KAAKgB,SAAS4P,QAAWoB,SAASnR,EAAI+P,SAC3ChS,KAAKoB,KAAKgB,SAAS6P,OAAUmB,SAASnR,EAAIgQ,QAC1CjS,KAAKoB,KAAKgB,SAAS+P,YAAeiB,SAASnR,EAAIkQ,aAC/CnS,KAAKoB,KAAKgB,SAASgQ,eAAkBgB,SAASnR,EAAImQ,gBAClDpS,KAAKoB,KAAKgB,SAASiQ,oBAAuBe,SAASnR,EAAIoQ,qBACvDrS,KAAKoB,KAAKgB,SAASkQ,eAAkBc,SAASnR,EAAIqQ,gBAClDtS,KAAKoB,KAAKgB,SAASmQ,eAAkBa,SAASnR,EAAIsQ,gBAClDvS,KAAKoB,KAAKgB,SAASoQ,eAAkBY,SAASnR,EAAIuQ,gBAClDxS,KAAKoB,KAAKgB,SAASqQ,YAAeW,SAASnR,EAAIwQ,aAC/CzS,KAAKoB,KAAKgB,SAASsQ,2BAA8BU,SAASnR,EAAIyQ,4BAC9D1S,KAAKoB,KAAKgB,SAASuQ,2BAA8BS,SAASnR,EAAI0Q,4BAC9D3S,KAAKoB,KAAKgB,SAASwQ,uBAA0BQ,SAASnR,EAAI2Q,wBAC1D5S,KAAKoB,KAAKgB,SAASQ,MAASwQ,SAASnR,EAAIW,OACzC5C,KAAKoB,KAAKgB,SAAS0B,UAAasP,SAASnR,EAAI6B,WAC7C9D,KAAKoB,KAAKgB,SAASyQ,0BAA6BO,SAASnR,EAAI4Q,2BAC7D7S,KAAKoB,KAAKgB,SAAS2Q,SAAYK,SAASnR,EAAI8Q,UAE1C/S,KAAKoB,KAAKgB,SAAS0Q,uBAA0BM,UAD3CnR,EAAI8Q,UAKR/S,KAAKkU,+BACLlU,KAAKoB,KAAKgB,SAASmI,aAAgB6I,SAASnR,EAAIsI,cAChDvK,KAAKoB,KAAKgB,SAAS4Q,WAAcI,SAASnR,EAAI+Q,YAC9ChT,KAAKoB,KAAKgB,SAAS6Q,cAAiBG,SAASpT,KAAKwP,YAAYyE,mBAAmBhS,EAAIgR,gBAErFjT,KAAKmJ,8BACLnJ,KAAKsK,6BACLtK,KAAKqU,oBACLrU,KAAKmxC,kBACAnxC,KAAK6qB,YACR7qB,KAAKmU,WAET,CAEAkoD,oCACMr8D,KAAKqP,oBAAoBhN,IAAIrC,KAAK+7D,mBAAqB,gBACzD/7D,KAAKoB,KAAKiB,IAAI,QAAQuU,kBACtB5W,KAAKoB,KAAKiB,IAAI,QAAQ0R,yBACtB/T,KAAKoB,KAAKiB,IAAI,eAAeyR,cAAc,CAACtS,KAAWC,WACvDzB,KAAKoB,KAAKiB,IAAI,eAAe0R,yBAC7B/T,KAAKoB,KAAKiB,IAAI,qBAAqByR,cAAc,CAACtS,KAAWC,WAC7DzB,KAAKoB,KAAKiB,IAAI,OAAOuU,kBACrB5W,KAAKoB,KAAKiB,IAAI,OAAO0R,yBACrB/T,KAAKoB,KAAKiB,IAAI,aAAauU,kBAC3B5W,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKiB,IAAI,YAAYuU,kBAC1B5W,KAAKoB,KAAKiB,IAAI,YAAY0R,yBAC1B/T,KAAKoB,KAAKiB,IAAI,kBAAkBuU,kBAChC5W,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKiB,IAAI,oBAAoBuU,kBAClC5W,KAAKoB,KAAKiB,IAAI,oBAAoB0R,yBAClC/T,KAAKoB,KAAKiB,IAAI,kBAAkBuU,kBAChC5W,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKiB,IAAI,sBAAsBuU,kBACpC5W,KAAKoB,KAAKiB,IAAI,sBAAsB0R,yBACpC/T,KAAKoB,KAAKiB,IAAI,uBAAuBuU,kBACrC5W,KAAKoB,KAAKiB,IAAI,uBAAuB0R,yBACrC/T,KAAKoB,KAAKiB,IAAI,+BAA+BuU,kBAC7C5W,KAAKoB,KAAKiB,IAAI,+BAA+B0R,2BAE7C/T,KAAKoB,KAAKiB,IAAI,QAAQyR,cAAc,CAACtS,KAAWC,WAChDzB,KAAKoB,KAAKiB,IAAI,QAAQ0R,yBACtB/T,KAAKoB,KAAKiB,IAAI,eAAeuU,kBAC7B5W,KAAKoB,KAAKiB,IAAI,eAAe0R,yBAC7B/T,KAAKoB,KAAKiB,IAAI,OAAOyR,cAAc,CAACtS,KAAWC,WAC/CzB,KAAKoB,KAAKiB,IAAI,qBAAqBuU,kBACnC5W,KAAKoB,KAAKgB,SAASkP,iBAAoB8B,SAAS,IAC5CpT,KAAKqP,oBAAoBhN,IAAIrC,KAAK+7D,mBAAqB,QACzD/7D,KAAKmJ,8BACLnJ,KAAKoB,KAAKgB,SAASgH,aAAgBgK,SACjCpT,KAAKqP,oBAAoBhN,IAAIrC,KAAK+7D,mBAAqB,kBAG3D/7D,KAAKoB,KAAKgB,SAASoP,cAAiB4B,SAAS,MAC7CpT,KAAK0I,KAAK,MACV1I,KAAKoB,KAAKiB,IAAI,aAAayR,cAAc,CAACtS,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKoQ,aACvFpQ,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKiB,IAAI,YAAYyR,cAAc,CAACtS,KAAWC,WACpDzB,KAAKoB,KAAKiB,IAAI,YAAY0R,yBAC1B/T,KAAKoB,KAAKiB,IAAI,kBAAkByR,cAAc,CAACtS,KAAWC,WAC1DzB,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKiB,IAAI,kBAAkByR,cAAc,CAACtS,KAAWC,WAC1DzB,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKiB,IAAI,sBAAsByR,cAAc,CAACtS,KAAWC,WAC9DzB,KAAKoB,KAAKiB,IAAI,sBAAsB0R,yBACpC/T,KAAKoB,KAAKiB,IAAI,uBAAuByR,cAAc,CAACtS,KAAWC,WAC/DzB,KAAKoB,KAAKiB,IAAI,uBAAuB0R,yBACrC/T,KAAKoB,KAAKiB,IAAI,+BAA+ByR,cAAc,CAACtS,KAAWC,WACvEzB,KAAKoB,KAAKiB,IAAI,+BAA+B0R,yBAEjD,CAEAuoD,+CACMt8D,KAAKqP,oBAAoBhN,IAAIrC,KAAK+7D,mBAAqB,2BACzD/7D,KAAKoB,KAAKiB,IAAI,aAAauU,kBAC3B5W,KAAKoB,KAAKiB,IAAI,aAAa0R,2BAE3B/T,KAAKoB,KAAKiB,IAAI,aAAayR,cAAc,CAACtS,KAAWC,WACrDzB,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKgB,SAAS4Q,WAAcI,SAAS,UAC1CpT,KAAK0I,KAAK,cAEd,CAEA,uBAAI+M,GACF,OAAOzV,KAAKoB,KAAKiB,IAAI,sBACvB,CAEA,oBAAI6S,GACF,OAAOlV,KAAKoB,KAAKiB,IAAI,mBACvB,CAEAyK,wBAAwB2N,GACtB,OAAOza,KAAKyV,oBAAoBrT,SAASqY,GAAGpY,IAAI,cAClD,CAEQqiD,2BACN,UAAWviD,KAAQnC,KAAKoB,KAAKgB,SAAU,CACrC,IAAIlS,EAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK+7D,mBAAqB55D,GAC/DjS,GACF8P,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAASljB,EAElC,CACA8P,KAAKmU,WACP,CAEQywC,oBACN,UAAWziD,KAAQnC,KAAKoB,KAAKgB,SAC3BpC,KAAKqP,oBAAoB6Y,OAAOloB,KAAK+7D,mBAAqB55D,EAE9D,CAEAuG,KAAKvG,GACH,IAAIjS,EAAQ8P,KAAKoB,KAAKiB,IAAIF,IAAOuU,cACjC1W,KAAKqP,oBAAoBsH,IAAI3W,KAAK+7D,mBAAqB55D,EAAMjS,EAC/D,CAEAiZ,8BACE,MAAML,EAAS9I,KAAKoB,KAAKiB,IAAI,OAAOnS,MACpC8P,KAAK6P,QAAU7P,KAAKsP,cAAcjN,IAAIyG,GAAU,GAClD,CAEAwB,6BACE,MAAMxB,EAAS9I,KAAKoB,KAAKiB,IAAI,aAAanS,MAC1C8P,KAAK8P,mBAAqB9P,KAAKsP,cAAcjN,IAAIyG,GAAU,GAC7D,CAEAuL,oBACMrU,KAAKoB,KAAKgB,SAASqO,YAAevgB,OACc,OAA9C8P,KAAKoB,KAAKgB,SAASoP,cAAiBthB,OACtC8P,KAAKoB,KAAKgB,SAASoP,cAAiB4B,SAAS,IAE/CpT,KAAK0I,KAAK,iBACN1I,KAAK6P,QAAQvJ,OAAS,GACxBtG,KAAKoB,KAAKgB,SAASgH,aAAgBgK,SAAS,IAE9CpT,KAAK0I,KAAK,gBACV1I,KAAKoB,KAAKgB,SAASmP,GAAM6B,SAAS,IAClCpT,KAAK0I,KAAK,MACV1I,KAAKoB,KAAKgB,SAAS2D,IAAOqN,SAAS,IACnCpT,KAAK0I,KAAK,OACV1I,KAAKoB,KAAKiB,IAAI,QAAQuU,kBACtB5W,KAAKoB,KAAKiB,IAAI,QAAQ0R,yBACtB/T,KAAKoB,KAAKiB,IAAI,eAAeyR,cAAc,CAACtS,KAAWC,WACvDzB,KAAKoB,KAAKiB,IAAI,eAAe0R,yBAC7B/T,KAAKoB,KAAKiB,IAAI,qBAAqByR,cAAc,CAACtS,KAAWC,WAC7DzB,KAAKoB,KAAKiB,IAAI,OAAOuU,kBACrB5W,KAAKoB,KAAKiB,IAAI,OAAO0R,yBACrB/T,KAAKoB,KAAKiB,IAAI,aAAauU,kBAC3B5W,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKgB,SAASwO,SAAYwC,SAAS,IACxCpT,KAAK0I,KAAK,YACV1I,KAAKoB,KAAKiB,IAAI,YAAYuU,kBAC1B5W,KAAKoB,KAAKiB,IAAI,YAAY0R,yBAC1B/T,KAAKoB,KAAKgB,SAASyO,QAAWuC,SAAS,IACvCpT,KAAK0I,KAAK,WACV1I,KAAKoB,KAAKiB,IAAI,kBAAkBuU,kBAChC5W,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKgB,SAAS0O,cAAiBsC,SAAS,IAC7CpT,KAAK0I,KAAK,iBACV1I,KAAKoB,KAAKiB,IAAI,oBAAoBuU,kBAClC5W,KAAKoB,KAAKiB,IAAI,oBAAoB0R,yBAClC/T,KAAKoB,KAAKgB,SAAS2O,gBAAmBqC,SAAS,IAC/CpT,KAAK0I,KAAK,mBACV1I,KAAKoB,KAAKiB,IAAI,kBAAkBuU,kBAChC5W,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKgB,SAAS4O,cAAiBoC,SAAS,IAC7CpT,KAAK0I,KAAK,iBACV1I,KAAKoB,KAAKiB,IAAI,sBAAsBuU,kBACpC5W,KAAKoB,KAAKiB,IAAI,sBAAsB0R,yBACpC/T,KAAKoB,KAAKgB,SAAS6O,kBAAqBmC,SAAS,IACjDpT,KAAK0I,KAAK,qBACV1I,KAAKoB,KAAKiB,IAAI,uBAAuBuU,kBACrC5W,KAAKoB,KAAKiB,IAAI,uBAAuB0R,yBACrC/T,KAAKoB,KAAKgB,SAAS8O,mBAAsBkC,SAAS,IAClDpT,KAAK0I,KAAK,sBACV1I,KAAKoB,KAAKiB,IAAI,+BAA+BuU,kBAC7C5W,KAAKoB,KAAKiB,IAAI,+BAA+B0R,yBAC7C/T,KAAKoB,KAAKgB,SAAS+O,2BAA8BiC,SAAS,IAC1DpT,KAAK0I,KAAK,gCAEV1I,KAAKoB,KAAKiB,IAAI,QAAQyR,cAAc,CAACtS,KAAWC,WAChDzB,KAAKoB,KAAKiB,IAAI,QAAQ0R,yBACtB/T,KAAKoB,KAAKgB,SAASsO,WAAc0C,SAAS,IAC1CpT,KAAK0I,KAAK,cACV1I,KAAKoB,KAAKiB,IAAI,eAAeuU,kBAC7B5W,KAAKoB,KAAKiB,IAAI,eAAe0R,yBAC7B/T,KAAKoB,KAAKiB,IAAI,qBAAqBuU,kBACnC5W,KAAKoB,KAAKgB,SAASkP,iBAAoB8B,SAAS,IAChDpT,KAAKoB,KAAKgB,SAASoP,cAAiB4B,SAAS,MAC7CpT,KAAK0I,KAAK,MACV1I,KAAKoB,KAAKiB,IAAI,OAAOyR,cAAc,CAACtS,KAAWC,WAC/CzB,KAAKoB,KAAKiB,IAAI,aAAayR,cAAc,CAACtS,KAAWC,SAAUD,KAAWG,QAAQ3B,KAAKoQ,aACvFpQ,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKiB,IAAI,YAAYyR,cAAc,CAACtS,KAAWC,WACpDzB,KAAKoB,KAAKiB,IAAI,YAAY0R,yBAC1B/T,KAAKoB,KAAKiB,IAAI,kBAAkByR,cAAc,CAACtS,KAAWC,WAC1DzB,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKiB,IAAI,oBAAoByR,cAAc,CAACtS,KAAWC,WAC5DzB,KAAKoB,KAAKiB,IAAI,oBAAoB0R,yBAClC/T,KAAKoB,KAAKiB,IAAI,kBAAkByR,cAAc,CAACtS,KAAWC,WAC1DzB,KAAKoB,KAAKiB,IAAI,kBAAkB0R,yBAChC/T,KAAKoB,KAAKiB,IAAI,sBAAsByR,cAAc,CAACtS,KAAWC,WAC9DzB,KAAKoB,KAAKiB,IAAI,sBAAsB0R,yBACpC/T,KAAKoB,KAAKiB,IAAI,uBAAuByR,cAAc,CAACtS,KAAWC,WAC/DzB,KAAKoB,KAAKiB,IAAI,uBAAuB0R,yBACrC/T,KAAKoB,KAAKiB,IAAI,+BAA+ByR,cAAc,CAACtS,KAAWC,WACvEzB,KAAKoB,KAAKiB,IAAI,+BAA+B0R,yBAEjD,CAEAG,+BACMlU,KAAKoB,KAAKgB,SAAS0Q,uBAA0B5iB,OAC/C8P,KAAKoB,KAAKgB,SAAS2Q,SAAYK,SAAS,IACxCpT,KAAK0I,KAAK,YACV1I,KAAKoB,KAAKgB,SAASmI,aAAgB6I,SAAS,IAC5CpT,KAAKoB,KAAKgB,SAAS4Q,WAAcI,SAAS,IAC1CpT,KAAKoB,KAAKiB,IAAI,aAAauU,kBAC3B5W,KAAKoB,KAAKiB,IAAI,aAAa0R,2BAE3B/T,KAAKoB,KAAKgB,SAASmI,aAAgB6I,SAAS,IAC5CpT,KAAKoB,KAAKiB,IAAI,aAAayR,cAAc,CAACtS,KAAWC,WACrDzB,KAAKoB,KAAKiB,IAAI,aAAa0R,yBAC3B/T,KAAKoB,KAAKgB,SAAS4Q,WAAcI,SAAS,WAE5CpT,KAAK0I,KAAK,gBACV1I,KAAK0I,KAAK,aACZ,CAEAy9C,YACE,IAAIpgD,EAAM/F,KAAKoB,KAAKiB,IAAI,QAAQnS,MAC3B8P,KAAKuP,iBAAiBq4C,WAAW7hD,IACpC/F,KAAKoB,KAAKiB,IAAI,QAAQ+U,UAAU,CAAEC,WAAW,GAEjD,CAEAgiD,cACE,IAAImD,EAAQx8D,KAAKoB,KAAKiB,IAAI,OAE1B,GAAIm6D,GAAOtsE,OAASssE,GAAO/5D,MAAO,CAChC,IAAIsD,EAAMy2D,EAAMtsE,MAChB8P,KAAK6E,mBAAmB43D,qBAAqB12D,GAAKjE,UAAU+yD,IACtDA,EAAM70D,KAAK08D,cAAc,MAAO32D,EAAK8uD,GACpC70D,KAAK28D,sBAAsB,MAAO52D,EAAG,EAE9C,CACF,CAEAyzD,qBACE,IAAIoD,EAAe58D,KAAKoB,KAAKiB,IAAI,cAEjC,GAAIu6D,GAAc1sE,MAAO,CACvB,IAAIwgB,EAAaksD,EAAa1sE,MAC9B8P,KAAK6E,mBAAmB43D,qBAAqB/rD,GAAY5O,UAAU+yD,IAC7DA,EAAM70D,KAAK08D,cAAc,aAAchsD,EAAYmkD,GAClD70D,KAAK28D,sBAAsB,aAAcjsD,EAAU,EAE5D,CACF,CAEAisD,sBAAsBE,EAAe3pC,GACnClzB,KAAKW,wBAAwBuuD,mBAAmB,eAAe2N,KAAS3pC,sBAC1E,CAEAwpC,cAAcG,EAAe3pC,EAAepyB,GAC1C,MAAMyY,EAAgB,IAAIC,KACxB,gBACA,eAAeqjD,KAAS3pC,+CAERlzB,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GAAK1Z,KAAKm8D,QAAQr7D,EAAK,EAE/B,CAEAg8D,aACE,IAAI/2D,EAAM/F,KAAKoB,KAAKiB,IAAI,QAAQnS,MAChC6V,EAAMA,GAAKgR,QAAQ,YAAa,IAChC/W,KAAKoB,KAAKgB,SAAS2D,IAAOqN,SAASrN,EACrC,CAEAoO,YACEnU,KAAKuP,iBAAiB4E,UAAUnU,KAAKoB,KACvC,CAEA0V,aACE,IAAIrE,EAAczS,KAAKoB,KAAKiB,IAAI,gBAAgBnS,MAChDuiB,EAAcA,GAAasE,QAAQ,IAAK,IAAIA,QAAQ,IAAK,IACzD/W,KAAKoB,KAAKgB,SAASqQ,YAAeW,SAASX,EAC7C,CAEAvQ,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOyZ,mBAGrBzZ,EAAK+U,WAAW,SAChBlX,KAAKoB,KAAKiB,IAAIF,IAAOjS,OAAOoW,OAAS,IACpCtG,KAAKwP,YAAY2H,YAAYnX,KAAKoB,KAAKiB,IAAIF,IAAOjS,QAEnD8P,KAAKoB,KAAKiB,IAAIF,IAAOiV,UAAU,CAAEC,WAAW,IAGhD,UAAW0D,KAAS/a,KAAK2L,OAAOvJ,SAASwT,OAAOxT,SAC1CpC,KAAK2L,OAAOvJ,SAASwT,OAAOvT,IAAI0Y,IAAQzY,SAC1CtC,KAAK2L,OAAOvJ,SAASwT,OAAOvT,IAAI0Y,IAAQa,kBAG9C,CAEMzO,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YACV,MAAMC,EAAoBF,EAAKrW,KAAKgB,SAapC,GAZKqV,EAAKrW,KAAKgB,SAASqO,YAAevgB,OACrCunB,EAAK0uC,aAGH1uC,EAAKrW,KAAKgB,SAASqO,YAAevgB,OAA8C,MAArCunB,EAAKrW,KAAKgB,SAASuP,KAAQzhB,SACxEunB,EAAKrW,KAAKgB,SAASgP,iBAAoBnO,QACvCwU,EAAKrW,KAAKgB,SAASiP,cAAiBpO,SAGtCwU,EAAKX,aACLW,EAAKvV,+BAEAuV,EAAKrW,KAAKqB,QAAUgV,EAAK9L,OAAOlJ,MAEnC,YADAgV,EAAK9W,wBAAwB+B,iBAAiB,wEAIhD+U,EAAKqlD,aACL,IAAIllD,EAAwCH,EAAKrW,KAAKsV,cACtDkB,EAAW7G,gBAAkB0G,EAAKjI,YAAYsI,mBAAmBF,EAAW7G,iBAC5E6G,EAAWzG,2BAA6BsG,EAAKjI,YAAYsI,mBAAmBF,EAAWzG,4BACvFyG,EAAWnG,eAAiBgG,EAAKjI,YAAYsI,mBAAmBF,EAAWnG,gBAC3EmG,EAAW3E,cAAgBwE,EAAKjI,YAAYsI,mBAAmBF,EAAW3E,eAGxE2E,EAAW/D,SADT+D,EAAWnH,YACSgH,EAAKrW,KAAKiB,IAAI,eAAenS,MAE7BunB,EAAKrW,KAAKiB,IAAI,QAAQnS,MAGrB,IAArB0nB,EAAWhG,SACbgG,EAAWhG,OAAS,MAGQ,IAA1BgG,EAAW9F,cACb8F,EAAW9F,YAAc,MAItB2F,EAAKrW,KAAKgB,SAASqO,YAAevgB,OACpCunB,EAAK5H,QAAQkI,SAASJ,EAAkBvO,aAAgBsN,eAItDe,EAAKrW,KAAKgB,SAAS0Q,uBAA0B5iB,OAC/CunB,EAAK3H,mBAAmBiI,SAASJ,EAAkBpN,aAAgBmM,eAKlEe,EAAKvX,GACPuX,EAAK5S,mBAAmB+3B,UAAUnlB,EAAKvX,GAAI0X,GAAY9V,UAAUhB,IAC/D2W,EAAKY,gBACLZ,EAAKa,+BACLb,EAAK9W,wBAAwBqC,mBAC3B,YAAY4U,EAAWjH,WAAaiH,EAAWjH,WAAaiH,EAAW1M,kCAEzEuM,EAAKmtC,oBACLntC,EAAK7W,OAAOsC,SAAS,CAAC,wBAAwBuU,EAAKvE,WAAWuE,EAAKxP,iBAAgB,GAGrFwP,EAAK5S,mBAAmBsI,OAAOyK,GAAY9V,UAAUhB,IACnD2W,EAAKY,gBACLZ,EAAKa,+BACLb,EAAK9W,wBAAwBqC,mBAC3B,YAAY4U,EAAWjH,WAAaiH,EAAWjH,WAAaiH,EAAW1M,iCAEzEuM,EAAKmtC,oBACLntC,EAAK7W,OAAOsC,SAAS,CAAC,wBAAwBuU,EAAKvE,WAAWuE,EAAKxP,iBAAgB,GAtBrF0P,EAAkBpN,aAAgBtH,QALlC0U,EAAkBvO,aAAgBnG,OA6BnC,EAxES,EAyEZ,CAEQoV,gBACNrY,KAAKwa,wBAAwB7F,QAAQ,CAACmG,EAAgBC,KACpD,MAAMnG,EAAM5U,KAAKyV,oBAAoBrT,SAAS2Y,GACxC1F,EAAkCT,EAAIvS,IAAI,OAAOnS,MACvD4qB,EAAeE,WAAa,gBAAgBhb,KAAKE,aAAamV,IAC1DT,EAAIvS,IAAI,gBAAgBnS,MAAMkU,QAAU6W,MAAcC,aACxDJ,EAAeK,QAAM,EAG3B,CAEQ7C,+BACN,GAAItY,KAAKE,GAAI,CACX,MAAM0X,EAAa5X,KAAK2L,OAAOvJ,SAASwT,OAAOc,cAAchD,IAAK6H,KAChErF,OAAQqF,EAAErF,OACVE,OAAQmF,EAAEnF,OACVC,SAAUmF,MAAMC,QAAQF,EAAElF,UAAYkF,EAAElF,SAASqF,KAAK,MAAQH,EAAElF,YAElErW,KAAK6E,mBAAmB8W,gCAAgC3b,KAAKE,GAAI0X,GAAY9V,WAC/E,CACF,CAEA+oB,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAW,OAAQ,gBAChF,CAEAyuC,gBACE,OAAQv5D,KAAK6qB,eAAiB7qB,KAAKE,EACrC,CAEAixC,kBACEnxC,KAAKk8D,eAAiBl8D,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAW,OAAQ,iBACxF9qB,KAAKk8D,gBACPl8D,KAAKoB,KAAKqS,UACVzT,KAAK2L,OAAO8H,UAEhB,CAEAs7C,SACM/uD,KAAKg8D,iBACPh8D,KAAKY,OAAOsC,SAAS,CAAC,2BAEtBlD,KAAKY,OAAOsC,SAAS,CAAC,yBAAyBlD,KAAKkT,WAAWlT,KAAKiI,iBAExE,CAEA4B,mBAAmB8P,GAEjB3Z,KAAKgK,gBADqBhK,KAAKoB,KAAKgB,SACKuX,GAAiBC,aAAalU,QACrEmU,MAAU,KAAE,EACZnG,MAAIxjB,GACyB,iBAApBypB,EAAqC3Z,KAAK8Z,gCAAgC5pB,GAAS8P,KAAK+Z,qCAAqC7pB,IAG1I,CAEQ4pB,gCAAgCE,GACtC,OAAOha,KAAK6P,QAAQ1J,OAAO8T,GAAUA,EAAOC,UAAU,OAAOnD,QAAQ,IAAAoD,OAAA,uBAAmB,IAAIC,cAAcrC,SAASiC,GACrH,CAEQD,qCAAqCC,GAC3C,OAAOha,KAAK8P,mBAAmB3J,OAAO8T,GAAUA,EAAOC,UAAU,OAAOnD,QAAQ,IAAAoD,OAAA,uBAAmB,IAAIC,cAAcrC,SAASiC,GAChI,CAEmBvR,uCAAyCA,KACzC6R,qBAAuBA,gDA5zB/BwhD,GAA0B17D,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAiD,MAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAAzb,MAAA0b,MAAA1b,MAAA2b,MAAA3b,MAAA4b,OAAA5b,MAAA6b,MAAA7b,MAAA8b,MAAA,+BAA1B4/C,EAA0Bx4D,UAAA,8BAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,6uODlCvCvD,MADA,uBACAA,CAD4D,qBAYxCA,MAVpB,eAUoBA,CAVY,qBAUZA,CATA,WASAA,CARkC,oBAQlCA,CAPiD,cAOjDA,CANoB,UAMpBA,CALuC,eAKvCA,CAJgB,WAIhBA,CAHmC,YAGnCA,CAFsD,uBAEtDA,CADyE,0BAIvEA,MAAA,oBAAUwD,SAAAyQ,oBAAqBzQ,EAAA8E,KAAK,cAAc,GAClDtI,MAAA,qBACFA,QACAA,MAAA,eACFA,QAeAA,MAdA,GAAA28D,GAAA,wBAcA38D,CAXsD,GAAA48D,GAAA,yBAyBpD58D,MADF,uBACEA,CADuD,gBAC5CA,MAAA,2CAA8BA,QACzCA,MAAA,eAAkEA,MAAA,yBAAQwD,EAAA8E,KAAK,OAAO,GAE1FtI,YAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,aAAa,GAEhCtI,YAGIA,MAFJ,YAEIA,CAF6B,YAE7BA,CAD4D,aAE1DA,MAAA,UAAEA,MAAA,QAAGA,MAAA,kBAAWA,QAAIA,MAAA,0IAAuHA,MAAA,WAAqHA,MAAA,0DAGtQA,cAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,yBAAkBA,QAC7BA,MAAA,eAQEA,MAAA,yBAAQwD,EAAA8E,KAAK,iBAAiB,GAClCtI,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,WAAIA,QACfA,MAAA,oBAAmCA,MAAA,oCAAmBwD,EAAA8E,KAAK,OAAO,GAChEtI,MAAA,oBACAA,MAAA,oBAAsBA,MAAA,eAAQA,QAC9BA,MAAA,oBAAsBA,MAAA,gBAE1BA,YAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,gBAAMA,QACjBA,MAAA,oBAAqCA,MAAA,oCAAmBwD,EAAA8E,KAAK,SAAS,GACpEtI,MAAA,oBACAA,MAAA,GAAA68D,GAAA,0CAIJ78D,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,mBAAYA,QACvBA,MAAA,oBAA0CA,MAAA,oCAAmBwD,EAAA8E,KAAK,cAAc,GAC9EtI,MAAA,oBACAA,MAAA,GAAA88D,GAAA,qBAIJ98D,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,oCAA0BA,QACrCA,MAAA,oBAA0CA,MAAA,oCAAmBwD,EAAA8E,KAAK,cAAc,GAC9EtI,MAAA,oBACAA,MAAA,GAAA+8D,GAAA,0CAKN/8D,YAqFAA,MApFA,GAAAg9D,GAAA,cAoFAh9D,CApF8G,GAAAi9D,GAAA,cAoF9Gj9D,CAzC8G,GAAAk9D,GAAA,cA+D9Gl9D,MAAA,aAuCEA,MAtCA,GAAAm9D,GAAA,wBAsCAn9D,CAnCoB,GAAAo9D,GAAA,wBAmCpBp9D,CA1B6G,GAAAq9D,GAAA,wBA0B7Gr9D,CAlB6G,GAAAs9D,GAAA,yBA4B3Gt9D,MADF,uBACEA,CADuD,gBAC5CA,MAAA,oBAAaA,QACxBA,MAAA,eAMEA,MAAA,yBAAQwD,EAAA8E,KAAK,gBAAgB,GAEnCtI,YAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,qBAAWA,QACtBA,MAAA,eAAwEA,MAAA,yBAAQwD,EAAA8E,KAAK,UAAU,GACjGtI,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eAAwEA,MAAA,yBAAQwD,EAAA8E,KAAK,UAAU,GAEnGtI,YAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,2CAA2BA,MAAA,QAAGA,MAAA,0BAAoBA,UAC7DA,MAAA,eAMEA,MADA,yBAAQwD,EAAA8E,KAAK,SAAS,EACtBtI,CADuB,oBAAAmI,GAAA,OACX3E,EAAA0W,qBAAA/R,EAA4B,GAMtDnI,oBAQYA,MANZ,gBAMYA,CANwB,WAMxBA,CALuC,gBAKvCA,CAJgB,aAIhBA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADyE,iBAC9DA,MAAA,WAAGA,QACdA,MAAA,gBAKEA,MAAA,kBAAQwD,SAAAuQ,YAAavQ,EAAA8E,KAAK,cAAc,GAC5CtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,kBAAUA,QACrBA,MAAA,gBACFA,QAEEA,MADF,wBACEA,CADyE,iBAC9DA,MAAA,iBAAMA,QACjBA,MAAA,gBAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,iBAAiB,GAEpCtI,YAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADyE,iBAC9DA,MAAA,mBAAWA,QACtBA,MAAA,gBAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,sBAAsB,GACvCtI,UAEEA,MADF,wBACEA,CADyE,iBAC9DA,MAAA,cAAMA,QACjBA,MAAA,gBACFA,QAEEA,MADF,wBACEA,CADyE,iBAC9DA,MAAA,cAAMA,QACjBA,MAAA,qBACEA,MAAA,qBACAA,MAAA,IAAAu9D,GAAA,2CAIJv9D,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,cAAMA,QACjBA,MAAA,gBAEJA,UAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,wBAAgBA,QAC3BA,MAAA,gBAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,yBAAyB,GAC1CtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,4BAAoBA,QAC/BA,MAAA,gBAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,6BAA6B,GAC9CtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,4BAAoBA,QAC/BA,MAAA,gBAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,6BAA6B,GAEhDtI,YAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,uBAAeA,QAC1BA,MAAA,gBAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,QAAQ,GAMnCtI,oBAQYA,MANZ,iBAMYA,CANe,YAMfA,CALuC,iBAKvCA,CAJgB,aAIhBA,CAHmC,aAGnCA,CAFsD,wBAEtDA,CADuD,iBAC5CA,MAAA,wCAA0BA,QACrCA,MAAA,gBAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,YAAY,GAC7BtI,UAEEA,MADF,wBACEA,CADuD,iBAC5CA,MAAA,iCAAmBA,QAC9BA,MAAA,gBAKEA,MAAA,yBAAQwD,EAAA8E,KAAK,4BAA4B,GAE/CtI,YAGIA,MAFJ,aAEIA,CAFsD,wBAEtDA,CADyE,2BAIvEA,MAAA,oBAAUwD,SAAAsQ,+BAAgCtQ,EAAA8E,KAAK,yBAAyB,GACxEtI,MAAA,wCACFA,QACAA,MAAA,gBACFA,QA4CAA,MA3CA,IAAAw9D,GAAA,wBA2CAx9D,CA3CwH,IAAAy9D,GAAA,wBA2CxHz9D,CA/BiE,IAAA09D,GAAA,wBA+BjE19D,CAnBwH,IAAA29D,GAAA,yBA6BtH39D,MADF,wBACEA,CADyE,iBAC9DA,MAAA,4BAAiBA,QAC5BA,MAAA,gBAQEA,MAAA,yBAAQwD,EAAA8E,KAAK,gBAAgB,GAM3CtI,oBAEAA,MAAA,IAAA49D,GAAA,kBA2EM59D,MAHN,iBAGMA,CAHsB,aAGtBA,CAFqC,YAErCA,CAD+C,cAM3CA,MAJF,IAAA69D,GAAA,QAIE79D,CAJkC,IAAA89D,GAAA,IAIlC99D,CAFgB,IAAA+9D,GAAA,KAKpB/9D,QACAA,MAAA,IAAAg+D,GAAA,cAkBdh+D,oBAIMA,MAHN,kBAGMA,CAHmD,uBAGnDA,CAFc,aAEdA,CADwC,iBACAA,MAAA,0BAAWwD,EAAAmrD,QAAQ,GACzD3uD,MAAA,gBAAUA,MAAA,kBAAUA,QAAYA,MAAA,gBAClCA,QACAA,MAAA,IAAAi+D,GAAA,iBAKNj+D,mBAtnBkBA,MAAA,SAAAwD,EAAA5C,aACHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAG/B7H,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAmBWhB,MAAA,IAAAA,MAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAcAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OA2CCkQ,MAAA,IAAAA,MAAA,4BAe+BA,MAAA,IAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAAqM,UASF7P,MAAA,GAAAA,MAAA,UAAAwD,EAAAoM,cASO5P,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAAsM,eAMiB9P,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OA2CAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAyC3DkQ,cAAA,MAAAwD,EAAAxC,KAAAgB,SAAAuP,KAAAzhB,QAAA,IAAA0T,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,MAAA,OAyBKkQ,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAUuDkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAQAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAkBAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OAgBtDkQ,MAAA,GAAAA,MAAA,gBAAAwD,EAAAxC,KAAAgB,SAAAqO,YAAAvgB,OA6E6BkQ,MAAA,IAAAA,MAAA,UAAAA,MAAA,OAAAwD,EAAAkF,SAyFyB1I,MAAA,IAAAA,MAAA,YAAAwD,EAAAxC,KAAAgB,SAAA0Q,uBAAA5iB,OAYvDkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAA0Q,uBAAA5iB,OAYuDkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAA0Q,uBAAA5iB,OAmBAkQ,cAAA,YAAAwD,EAAAxC,KAAAgB,SAAA0Q,uBAAA5iB,OAkBtDkQ,MAAA,GAAAA,MAAA,4BAS4BA,cAAA,OAAAwD,EAAAqC,KAAAK,QA4ElClG,MAAA,GAAAA,MAAAwD,EAAAqJ,sBAAA3G,OAAA,IAAA1C,EAAA1D,GAAA,SAQqEE,MAAA,GAAAA,MAAA,UAAAwD,EAAAqJ,uBAyBjB7M,MAAA,GAAAA,MAAA,QAAAwD,EAAAs4D,mPC9kBvDJ,CAA0B,oBCtBhC,IAAMwC,GAAyB,MAAhC,MAAOA,UAAiC7+D,KAMTC,YACzBiI,oBANDhI,MAAQ,sBACjBC,OAEAC,YACEC,EACiCJ,EACzBiI,GAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAChB,CAEAy+D,iBAAiBz2D,GACf,OAAO9H,KAAKG,SAASH,KAAKL,MAAOmI,EACnC,CAEAqF,OAAOqxD,GACL,OAAOx+D,KAAK6iB,OAAO7iB,KAAKL,MAAO6+D,GAAoB94D,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC7F,4CAnBWkyC,GAAwBl+D,MAAAC,OAAAD,MAMzB,eAAaA,MAAA+C,MAAA,iCANZm7D,EAAwBh+D,QAAxBg+D,EAAwB/9D,UAAAC,WAFvB,gBAED89D,CAAyB,+BCMxBl+D,MAAA,QAAIA,MAAA,GAAkBA,kCAAlBA,cAAAq+D,EAAAzlC,sCAJV54B,MADF,UACEA,CADwD,iBAEpDA,MAAA,+BACAA,MAAA,QACAA,MAAA,EAAAs+D,GAAA,cAAAt+D,OAKNA,kCALMA,MAAA,GAAAA,MAAA2H,EAAA8P,yDAaIzX,MAAA,MAGMA,MAFJ,WAEIA,CAFgD,sBAEhDA,CADiF,yBAE9EA,MAAA,GAEHA,QACAA,MAAA,cAEJA,4CATuEA,MAAA,yBAIhEA,MAAA,GAAAA,MAAA,GAAAu+D,EAAAzuE,MAAA0uE,gBAAA,IAAAD,EAAAzuE,MAAAqjE,cAAA,wDAPfnzD,MAFJ,UAEIA,CAFgG,gBAEhGA,CADsB,aAEpBA,MAAA,MACEA,MAAA,YACEA,MAAA,EAAAy+D,GAAA,uBAWFz+D,gBAIRA,kCAlBUA,MAAA,GAAAA,MAAA,YAAA2H,EAAA3G,MAGiChB,MAAA,GAAAA,MAAA,UAAA2H,EAAA+2D,YAAA18D,oDAkBvChC,MAFJ,UAEIA,CAF+F,sBAE/FA,CADmG,eACxFA,MAAA,0BAAiBA,QAC5BA,MAAA,cAAyBA,MAAA,yBAAAmI,GAAAnI,MAAAkxB,GAAA,MAAAvpB,EAAA3H,qBAAA2H,EAAA9B,KAAA84D,cAAAx2D,KAAAR,EAAA9B,KAAA84D,cAAAx2D,GAAAnI,MAAAmI,EAAA,GAAzBnI,QAEAA,MADA,6BACAA,CAD+E,2BAGnFA,6CAJ6BA,MAAA,GAAAA,MAAA,UAAA2H,EAAA9B,KAAA84D,eAAiC3+D,MAAA,gBAAA4+D,GACzB5+D,cAAA,MAAA4+D,6CAcrC5+D,MAAA,eAA0CA,MAAA,mBAAAA,MAAAkpB,GAAA,MAAAvhB,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAoF,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QACdA,MAAA,cACFA,SC9CC,IAAM6+D,GAA0B,MAAjC,MAAOA,EAODC,yBACAv+D,wBACAgpB,qBACD7C,UACyB7gB,KACxBwJ,GACA5K,mBAZVzD,KACAiwB,UACAxG,YAAsB,EACtBhT,6BAA+D,GAE/DhY,YACUq/D,EACAv+D,EACAgpB,EACD7C,EACyB7gB,EACxBwJ,EACA5K,IANA7E,KAAAk/D,2BACAl/D,KAAAW,0BACAX,KAAA2pB,uBACD3pB,KAAA8mB,YACyB9mB,KAAAiG,OACxBjG,KAAAyP,KACAzP,KAAA6E,sBAER7E,KAAKoB,KAAOpB,KAAKyP,GAAG0F,MAAM,CACxB2pD,YAAa9+D,KAAKyP,GAAG4/B,MAAM,MAE7BrvC,KAAK6E,mBAAmB2O,eAAexT,KAAKiG,KAAK/F,IAAI4B,UAAUG,KAC7DjC,KAAKqxB,UAAYpvB,GAAIiJ,MAEzB,CAEA3F,WACEvF,KAAKmxC,kBACLnxC,KAAK6E,mBAAmBs6D,kCAAkCn/D,KAAKiG,KAAK/F,IAAI4B,UAAUG,IAChFjC,KAAK6X,6BAA+B5V,IAEtCjC,KAAKk/D,yBAAyBX,iBAAiBv+D,KAAKiG,KAAK/F,IAAI4B,UAAUG,IACrEA,EAAI0S,QAAQ8d,IACV,MAAM2sC,EAAap/D,KAAKyP,GAAG0F,MAAM,CAC/BjV,GAAI,CAACuyB,EAAOvyB,IACZ4H,cAAe,CAAC2qB,EAAO3qB,cAAetG,KAAWC,UACjDmS,eAAgB,CAAC6e,EAAO7e,eAAgBpS,KAAWC,UACnDm9D,gBAAiB,CAACnsC,EAAOmsC,gBAAiBp9D,KAAWC,UACrD8xD,cAAe,CAAC9gC,EAAO8gC,eACvB8L,QAAS,GAAS5sC,EAAOvyB,IAAOuyB,EAAO8gC,iBAErC6L,EAAWh9D,SAASmxD,cAAiBrjE,OACvCkvE,EAAWh9D,SAASi9D,QAAW5rD,UAEjCzT,KAAK8+D,YAAYxrD,KAAK8rD,EAAU,EACjC,EAEL,CAEQjuB,kBACNnxC,KAAK6qB,YACF7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,cACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,QACxD,CAEA,eAAIg0C,GACF,OAAO9+D,KAAKoB,KAAKgB,SAAS08D,WAC5B,CAEAzlD,SACErZ,KAAK8mB,UAAUqB,OACjB,CAEMhb,SAAM,IAAAsK,EAAAzX,KAAA,SAAA0X,MAAA,YACV,IAAI4nD,EAAc7nD,EAAK8nD,uBAEvB9nD,EAAKynD,yBAAyB/xD,OAAOmyD,GAAax9D,UAAU09D,IAC1D/nD,EAAK9W,wBAAwBqC,mBAAmB,iCAChDyU,EAAKqP,UAAUqB,MAAM1Q,EAAKxR,KAAI,EAC9B,EANQ,EAOZ,CAEAs5D,uBACE,IAAID,EAAmC,GACvC,UAAWx7C,KAAW9jB,KAAK8+D,YAAY18D,SAAU,CAC/C,MAAMqwB,EAA4B,CAChCvyB,GAAIF,KAAK8+D,YAAY18D,SAAS0hB,GAAS5zB,MAAMgQ,GAC7C4H,cAAe9H,KAAK8+D,YAAY18D,SAAS0hB,GAAS5zB,MAAM4X,cACxD8L,eAAgB5T,KAAK8+D,YAAY18D,SAAS0hB,GAAS5zB,MAAM0jB,eACzDgrD,gBAAiB5+D,KAAK8+D,YAAY18D,SAAS0hB,GAAS5zB,MAAM0uE,gBAC1DrL,cAAevzD,KAAK8+D,YAAY18D,SAAS0hB,GAAS5zB,MAAMqjE,cACxD8L,UAAWr/D,KAAK8+D,YAAYz8D,IAAI,CAACyhB,EAAS,aAAapN,eAEzD4oD,EAAYhsD,KAAKmf,EACnB,CACA,OAAO6sC,CACT,4CAnFWL,GAA0B7+D,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAA+C,MAAA/C,MAAAgD,OAAAhD,MAW3BgoB,OAAehoB,MAAAiD,MAAAjD,MAAAyb,MAAA,+BAXdojD,EAA0B37D,UAAA,8BAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,8qCAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDrBrCvD,MADF,UACEA,CADwC,UAC3BA,MAAA,GACfA,UAEEA,MADF,eACEA,CAD2C,OACxCA,MAAA,wBAAYA,QAEbA,MADF,OACEA,CADE,QACEA,MAAA,2KAERA,YAGIA,MAFJ,eAEIA,CAFqD,sBAErDA,CADgB,YAqCdA,MAlCA,GAAAq/D,GAAA,YAkCAr/D,CAlC2C,GAAAs/D,GAAA,YAkC3Ct/D,CArBoG,GAAAu/D,GAAA,aA+B1Gv/D,YAIMA,MAHN,gBAGMA,CAHmD,sBAGnDA,CAFc,WAEdA,CADyF,eACjDA,MAAA,0BAASwD,EAAAyV,QAAQ,GACvDjZ,MAAA,eAAUA,MAAA,YAAKA,QACfA,MAAA,eACFA,QACAA,MAAA,GAAAw/D,GAAA,iBAMNx/D,mBAtEeA,MAAA,GAAAA,MAAA,uBAAAwD,EAAAytB,UAAA,IAYTjxB,MAAA,IAAAA,MAAAwD,EAAAiU,6BAAAvR,OAAA,OAa2DlG,cAAA,OAAAwD,EAAAiU,8BAqBAzX,cAAA,YAAA8oB,IAAAtlB,EAAAqC,KAAA84D,eAkBG3+D,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,kLC3CvDo0C,CAA0B,6FCZjC7+D,MALF,cAKEA,CADgG,cACtFA,MAAA,SAAGA,QACbA,MAAA,iBACFA,8BAHEA,MAAA,sCAAA2H,EAAAmL,QAAA,IAAAnL,EAAAE,OAAA,8CAUA7H,MANF,cAMEA,CADsF,cAC5EA,MAAA,aAAOA,QACjBA,MAAA,8BACFA,8BAHEA,MAAA,sCAAA2H,EAAAmL,QAAA,IAAAnL,EAAAE,OAAA,uDA0BE7H,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA+D,EAAA7T,KACnD8P,cAAA,IAAA+D,EAAAjU,MAAA,6BAQNkQ,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAAkBA,kCAAlBA,cAAAsoB,EAAA7U,kCAGpDzT,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAkE,EAAA4G,8BAGrD9K,MAAA,WAAsDA,MAAA,6BAAiBA,mCACvEA,MAAA,WAAkEA,MAAA,mBAA6CA,kCAA7CA,oBAAA,IAAA4oB,EAAAiM,cAAA,uCAGlE70B,MAAA,WAAsCA,MAAA,oBAAQA,mCAKxCA,MAAA,mBACEA,MAAA,GACFA,kCAFqEA,MAAA,QAAAwhC,EAAAtxC,KACnE8P,cAAA,IAAAwhC,EAAA1xC,MAAA,+CAHNkQ,MAAA,GACEA,MAAA,mBAAYA,MAAA,uBAAAmI,GAAAnI,MAAAkpB,GAAA,MAAAD,EAAAjpB,QAAAmE,UAAAnE,aAAAipB,EAAAjlB,OAAAmE,KAAA8gB,EAAAjlB,OAAAmE,GAAAnI,MAAAmI,EAAA,GAAuBnI,MAAA,6BAAAA,MAAAkpB,GAAA,MAAAC,EAAAnpB,QAAAipB,EAAAE,EAAAhlB,UAAAstB,EAAAtI,EAAAxO,MAAAhT,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAA83D,wBAAAx2C,EAAAwI,GAA+B,GACnFzxB,MAAA,EAAA0/D,GAAA,yCAGF1/D,4DAJYA,cAAA,QAAAipB,EAAAjlB,QAA2EhE,MAAA,WAAA2H,EAAA8iB,YACzDzqB,cAAA,UAAAA,MAAA,IAAA2H,EAAAg4D,uDAQ5B3/D,MAAA,mBACEA,MAAA,GACFA,kCAFkEA,MAAA,QAAA0hC,EAAAxxC,KAChE8P,cAAA,IAAA0hC,EAAA5xC,MAAA,+CAHNkQ,MAAA,GACEA,MAAA,mBAAYA,MAAA,uBAAAmI,GAAAnI,MAAA2hC,GAAA,MAAA1Y,EAAAjpB,QAAAmE,UAAAnE,aAAAipB,EAAAjlB,OAAAmE,KAAA8gB,EAAAjlB,OAAAmE,GAAAnI,MAAAmI,EAAA,GAAuBnI,MAAA,6BAAAA,MAAA2hC,GAAA,MAAAxY,EAAAnpB,QAAAipB,EAAAE,EAAAhlB,UAAAstB,EAAAtI,EAAAxO,MAAAhT,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAA83D,wBAAAx2C,EAAAwI,GAA+B,GACnFzxB,MAAA,EAAA4/D,GAAA,yCAGF5/D,4DAJYA,cAAA,QAAAipB,EAAAjlB,QAA2EhE,MAAA,WAAA2H,EAAA8iB,YACzDzqB,cAAA,UAAAA,MAAA,IAAA2H,EAAAk4D,oDAQ5B7/D,MAAA,mBACEA,MAAA,GACFA,kCAFqEA,MAAA,QAAAq4C,EAAAnoD,KACnE8P,cAAA,IAAAq4C,EAAAvoD,MAAA,+CAHNkQ,MAAA,GACEA,MAAA,mBAAYA,MAAA,uBAAAmI,GAAAnI,MAAAgyB,GAAA,MAAA/I,EAAAjpB,QAAAmE,UAAAnE,aAAAipB,EAAAjlB,OAAAmE,KAAA8gB,EAAAjlB,OAAAmE,GAAAnI,MAAAmI,EAAA,GAAuBnI,MAAA,6BAAAA,MAAAgyB,GAAA,MAAA7I,EAAAnpB,QAAAipB,EAAAE,EAAAhlB,UAAAstB,EAAAtI,EAAAxO,MAAAhT,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAA83D,wBAAAx2C,EAAAwI,GAA+B,GACnFzxB,MAAA,EAAA8/D,GAAA,yCAGF9/D,4DAJYA,cAAA,QAAAipB,EAAAjlB,QAA2EhE,MAAA,WAAA2H,EAAA8iB,YACzDzqB,cAAA,UAAAA,MAAA,IAAA2H,EAAAo4D,uDAQ5B//D,MAAA,mBACEA,MAAA,GACFA,kCAFiEA,MAAA,QAAAggE,EAAA9vE,KAC/D8P,cAAA,IAAAggE,EAAAlwE,MAAA,+CAHNkQ,MAAA,GACEA,MAAA,mBAAYA,MAAA,uBAAAmI,GAAAnI,MAAA0qC,GAAA,MAAAzhB,EAAAjpB,QAAAmE,UAAAnE,aAAAipB,EAAAjlB,OAAAmE,KAAA8gB,EAAAjlB,OAAAmE,GAAAnI,MAAAmI,EAAA,GAAuBnI,MAAA,6BAAAA,MAAA0qC,GAAA,MAAAvhB,EAAAnpB,QAAAipB,EAAAE,EAAAhlB,UAAAstB,EAAAtI,EAAAxO,MAAAhT,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAA83D,wBAAAx2C,EAAAwI,GAA+B,GACnFzxB,MAAA,EAAAigE,GAAA,yCAGFjgE,4DAJYA,cAAA,QAAAipB,EAAAjlB,QAA2EhE,MAAA,WAAA2H,EAAA8iB,YACzDzqB,cAAA,UAAAA,MAAA,IAAA2H,EAAAu4D,mDAQ5BlgE,MAAA,mBACEA,MAAA,GACFA,kCAFmEA,MAAA,QAAAmgE,EAAAjwE,KACjE8P,cAAA,IAAAmgE,EAAArwE,MAAA,+CAHNkQ,MAAA,GACEA,MAAA,mBAAYA,MAAA,uBAAAmI,GAAAnI,MAAA6J,GAAA,MAAAof,EAAAjpB,QAAAmE,UAAAnE,aAAAipB,EAAAjlB,OAAAmE,KAAA8gB,EAAAjlB,OAAAmE,GAAAnI,MAAAmI,EAAA,GAAuBnI,MAAA,6BAAAA,MAAA6J,GAAA,MAAAsf,EAAAnpB,QAAAipB,EAAAE,EAAAhlB,UAAAstB,EAAAtI,EAAAxO,MAAAhT,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAA83D,wBAAAx2C,EAAAwI,GAA+B,GACnFzxB,MAAA,EAAAogE,GAAA,yCAGFpgE,4DAJYA,cAAA,QAAAipB,EAAAjlB,QAA2EhE,MAAA,WAAA2H,EAAA8iB,YACzDzqB,cAAA,UAAAA,MAAA,IAAA2H,EAAA04D,qDAQ5BrgE,MAAA,mBACEA,MAAA,GACFA,kCAFmEA,MAAA,QAAAu5C,EAAArpD,KACjE8P,cAAA,IAAAu5C,EAAAzpD,MAAA,+CAHNkQ,MAAA,GACEA,MAAA,mBAAYA,MAAA,uBAAAmI,GAAAnI,MAAA+J,GAAA,MAAAkf,EAAAjpB,QAAAmE,UAAAnE,aAAAipB,EAAAjlB,OAAAmE,KAAA8gB,EAAAjlB,OAAAmE,GAAAnI,MAAAmI,EAAA,GAAuBnI,MAAA,6BAAAA,MAAA+J,GAAA,MAAAof,EAAAnpB,QAAAipB,EAAAE,EAAAhlB,UAAAstB,EAAAtI,EAAAxO,MAAAhT,EAAA3H,QAAA,OAAAA,MAAmB2H,EAAA83D,wBAAAx2C,EAAAwI,GAA+B,GACnFzxB,MAAA,EAAAsgE,GAAA,yCAGFtgE,4DAJYA,cAAA,QAAAipB,EAAAjlB,QAA2EhE,MAAA,WAAA2H,EAAA8iB,YACzDzqB,cAAA,UAAAA,MAAA,IAAA2H,EAAA44D,qDA5ClCvgE,MAAA,WA0CEA,MAxCA,EAAAwgE,GAAA,sBAwCAxgE,CAxCuE,EAAAygE,GAAA,sBAwCvEzgE,CAhCgE,EAAA0gE,GAAA,sBAgChE1gE,CAxBmE,EAAA2gE,GAAA,sBAwBnE3gE,CAhB+D,EAAA4gE,GAAA,sBAgB/D5gE,CARiE,EAAA6gE,GAAA,uBAenE7gE,4CA/CiBA,cAAA,OAAAipB,EAAAjlB,SAAA2D,EAAAhU,kBAAA,iBAQAqM,cAAA,OAAAipB,EAAAjlB,SAAA2D,EAAAhU,kBAAAC,UAQAoM,cAAA,OAAAipB,EAAAjlB,SAAA2D,EAAAhU,kBAAAE,aAQAmM,cAAA,OAAAipB,EAAAjlB,SAAA2D,EAAAhU,kBAAAG,SAQAkM,cAAA,OAAAipB,EAAAjlB,SAAA2D,EAAAhU,kBAAAI,WAQAiM,cAAA,OAAAipB,EAAAjlB,SAAA2D,EAAAhU,kBAAAK,kCAUjBgM,MAAA,oDAGIA,MAAA,eAGEA,MAAA,mBAAAA,MAAAsK,GAAA,MAAAw2D,EAAA9gE,QAAAmE,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA0qB,OAAAyuC,EAAAhhE,IAAc,GAEvBE,MAAA,cAAUA,MAAA,UACZA,oDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAAy5C,GAAA,MAAAqnB,EAAA9gE,QAAAmE,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAo5D,WAAAD,EAAAhhE,GAAAghE,EAAArtD,UAAgC,GAEzCzT,MAAA,cAAUA,MAAA,eACZA,oDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAAyK,GAAA,MAAAq2D,EAAA9gE,QAAAmE,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAq5D,oBAAAF,GAAwB,GAEjC9gE,MAAA,cAAUA,MAAA,UACZA,oDACAA,MAAA,eAGEA,MAAA,mBAAAA,MAAA0K,GAAA,MAAAo2D,EAAA9gE,QAAAmE,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAgtB,YAAAmsC,EAAAjvD,QAAuB,GAEhC7R,MAAA,cAAUA,MAAA,YACZA,oDAIAA,MAAA,eAA4CA,MAAA,mBAAAA,MAAA25C,GAAA,MAAAmnB,EAAA9gE,QAAAmE,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAwwB,QAAA2oC,EAAAhhE,GAAAghE,EAAAh2D,MAAyB,GAC5E9K,MAAA,iBAAuBA,MAAA,WACzBA,oDAlCFA,MADF,UACEA,CADiC,YAuB/BA,MArBA,EAAAihE,GAAA,gBAqBAjhE,CAjBiB,EAAAkhE,GAAA,gBAiBjBlhE,CAVc,EAAAmhE,GAAA,gBAUdnhE,CAHgD,EAAAohE,GAAA,iBAUhDphE,MAAA,eAAwBA,MAAA,yBAAA8gE,EAAA9gE,MAAAopD,GAAAjlD,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAtD,OAAAy8D,EAAAhhE,IAAc,GAC7CE,MAAA,cAAUA,MAAA,UACZA,UACAA,MAAA,EAAAqhE,GAAA,iBAIJrhE,gDAlCOA,MAAA,GAAAA,MAAA,uBAAA8gE,EAAA98D,QAAA2D,EAAAgiB,yBAOA3pB,cAAA,uBAAA8gE,EAAA98D,QAAA,YAAA88D,EAAA98D,QAOAhE,cAAA,OAAA8gE,EAAAQ,wBAOAthE,cAAA,OAAA8gE,EAAAjvD,QASM7R,MAAA,GAAAA,MAAA,QAAA2H,EAAA8iB,mCAMfzqB,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,oDC5JIA,MADF,qBACEA,CADiF,eACtEA,MAAA,UAAIA,QACfA,MAAA,aAAyBA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAxU,EAAA3H,qBAAA2H,EAAA45D,MAAA17D,KAAAsC,KAAAR,EAAA45D,MAAA17D,KAAAsC,GAAAnI,MAAAmI,EAAA,GAAzBnI,QAEAA,MADA,4BACAA,CAD+E,2BAEjFA,2CAH2BA,MAAA,GAAAA,MAAA,UAAA2H,EAAA45D,MAAA17D,MAAyB7F,MAAA,gBAAAwhE,GACjBxhE,cAAA,MAAAwhE,IC+BhC,IAAMC,GAA0B,MAAjC,MAAOA,EAyCDh9D,mBACA6kB,wBACA/oB,wBACAC,OACAM,MACAwO,OACA6sB,uBACAltB,oBACAsa,qBACA6K,mBAjDiCvvB,UACvBC,KAEpBC,YAAwB,CACtB,WACA,OACA,gBACA,SACA,UAEFC,WAAoD,IAAIC,KACxDC,cAAwB,EACDskB,SACMuE,eAC7BC,0BAAoC,GACpCvE,YAAsB,6BACtBwE,oBAA8B,6CAC9Bnb,QACAjL,OACAD,UACA8hB,YACAC,wBACA9jB,KACA67D,mBAA6B,EAC7BxzC,UAAYv6B,MACZgsE,0BAA4B1rE,MAC5B4rE,uBAAyB3rE,MACzB6rE,0BAA4B5rE,MAC5B+rE,sBAAwB9rE,MACxBisE,wBAA0BhsE,MAC1BksE,wBAA0BjsE,MAC1B65B,iBAA6B,GACpBvtB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,SAAUC,MAAO,GAAIC,KAAM,WAGtC0pB,YAAsB,EACtBhrB,YACUgF,EACA6kB,EACA/oB,EACAC,EACAM,EACAwO,EACA6sB,GACAltB,GACAsa,GACA6K,IATAx0B,KAAA6E,qBACA7E,KAAA0pB,0BACA1pB,KAAAW,0BACAX,KAAAY,SACAZ,KAAAkB,QACAlB,KAAA0P,SACA1P,KAAAu8B,0BACAv8B,KAAAqP,uBACArP,KAAA2pB,wBACA3pB,KAAAw0B,qBAEV,CAEAjvB,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,SACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,gBACrD9G,KAAM,UAERnB,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IACvEjC,KAAKiG,KAAOhE,EACZjC,KAAKgI,UAAY/F,EAAI6B,YAEvB9D,KAAK0pB,wBAAwBM,aAAahqB,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IAC7EjC,KAAK+pB,wBAA0B9nB,GAChC,GAEHjC,KAAKmxC,iBACP,CAEA3rC,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,GACtFruB,KAAK4F,aAAW,EACf,GAEH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK6E,mBACFmd,OACChiB,KAAKkT,QACLlT,KAAKiI,OACLjI,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAEnCvsB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,cAC1BtF,KAAKuuB,iBAAmB,GACxBvuB,KAAKoF,WAAWa,KAAK0O,QAAQ+Z,IAC3B1uB,KAAKuuB,iBAAiBjb,KAAKob,EAAEtqB,OAAM,EACpC,EAEP,CAEQ4B,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAK4F,aACP,CAEAnB,OAAOvE,GACLF,KAAKY,OAAOsC,SAAS,CAAC,wBAAwBlD,KAAKkT,WAAWlT,KAAKiI,yBAAyB/H,KAC9F,CAEAq4B,QAAQr4B,EAAYgL,GAClB,MAAMqO,EAAgB,IAAIC,KAAwB,gBAAW,oCAAoCtO,MAC/ElL,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAK6E,mBAAmB0zB,QAAQr4B,GAAI4B,UAAU,CAC5CyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKu8B,uBAAuBE,OAAO9jB,EAAG,GAEzC,EAGP,CAEAwoD,WAAWr5D,EAAuB+L,GAChC7T,KAAK0P,OAAO6I,KAAK63B,KAAsC,CACrDnqC,KAAM,CAAE6B,cAAeA,EAAe+L,SAAUA,GAChD+a,WAAY,qBAEhB,CAEA6D,OAAOvyB,GACLF,KAAK0P,OAAO6I,KAAK0mD,GAA4B,CAAEh5D,KAAM,CAAE/F,GAAIA,GAAM0uB,WAAY,qBAC/E,CAEAixC,wBAAwB55D,EAAyB8U,GAC3C9U,EAAK7B,SAAWpE,KAAKsuB,UAAUr6B,aAAe+L,KAAK+pB,wBACrD/pB,KAAK+hE,aAAa97D,EAAM8U,GAExB/a,KAAKgiE,wBAAwB/7D,EAAM8U,EAEvC,CAEAgnD,aAAa97D,EAAyB8U,GACpB/a,KAAK0P,OAAO6I,KAAK0mD,GAA4B,CAC3Dh5D,KAAM,CAAE/F,GAAI+F,EAAK/F,GAAI6+D,cAAe,IAAInuC,MACxChC,WAAY,sBAEJ/V,cAAc/W,UAAU+yD,IAC5BA,EACF70D,KAAKiiE,eAAeh8D,EAAM8U,EAAO85C,EAAKkK,cAAelK,EAAKiN,mBAE1D9hE,KAAKoF,WAAWa,KAAK8U,GAAO3W,OAASpE,KAAKuuB,iBAAiBxT,EAAK,EAGtE,CAEAinD,wBAAwBE,EAA8BnnD,GACpD,IAAIonD,EAAcniE,KAAKmiE,YAAYD,GACjBliE,KAAK0P,OAAO6I,KAAK6pD,GAA2C,CAC5En8D,KAAM,CACJiF,KAAMg3D,EAAUh3D,KAChBkV,SAAU8hD,EAAU99D,OACpB6B,KAAM,IAAI2qB,KACVkxC,mBAAmB,EACnBK,YAAaA,KAGPtpD,cAAc/W,UAAU4X,IAC5BA,EACF1Z,KAAKiiE,eAAeC,EAAWnnD,EAAOrB,EAAIzT,KAAMyT,EAAIooD,mBAEpD9hE,KAAKoF,WAAWa,KAAK8U,GAAO3W,OAASpE,KAAKuuB,iBAAiBxT,EAAK,EAGtE,CAEAonD,YAAYD,GACV,OAAQA,EAAU99D,SAAWrQ,MAAkBC,UAC7CkuE,EAAU99D,SAAWrQ,MAAkBE,aACvCiuE,EAAU99D,SAAWrQ,MAAkBG,SACvCguE,EAAU99D,SAAWrQ,MAAkBK,SAC3C,CAEA6tE,eAAeh8D,EAAyB8U,EAAesnD,EAAiCP,GACtF9hE,KAAK6E,mBAAmBy9D,gBAAgBr8D,EAAK/F,GAAI+F,EAAK7B,OAAQi+D,EAAeP,GAAmBhgE,UAAU,CACxGyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,wCAAiC,EAEnFu/D,SAAUA,KACRviE,KAAK4F,aAAW,GAGtB,CAEAmvB,YAAYO,GACVhO,OAAO/O,KAAK,yBAA2B+c,EAAW,SACpD,CAEQ6b,kBACNnxC,KAAK6qB,YAAc7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAW,OAAQ,gBAC3F,CAEA03C,iBACE,MAAMjpD,EAAgB,IAAIC,KACxB,gBACA,wFAEgBxZ,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAK6E,mBAAmBoxD,iBAAiBj2D,KAAKkT,QAASlT,KAAKiI,OAAM,EAGxE,CAEAm5D,oBAAoBn7D,GAClBjG,KAAK0P,OAAO6I,KAAK6+C,GAA+B,CAC9CnxD,KAAM,CACJmP,cAAenP,EAAK/F,IAEtB0uB,WAAY,qBAEhB,CAEAD,WACE3uB,KAAK6E,mBAAmB4nB,gBACtBzsB,KAAKkT,QACLlT,KAAKiI,OACLjI,KAAK4pB,UAAU9D,cAAc51B,MAC7B8P,KAAKmuB,gBAAgBj+B,MAEzB,CAEmBK,oBAAsBA,MACtBwD,kBAAoBA,iDAxR5B8tE,GAA0BzhE,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAiD,MAAAjD,MAAAyb,OAAAzb,MAAAgD,MAAAhD,MAAA0b,MAAA1b,MAAAgD,MAAAhD,MAAA2b,MAAA,+BAA1B8lD,EAA0Bv+D,UAAA,8BAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAC1BgD,KAAY,SACZC,MAAO,+kHFvCpBxG,MAFA,uBAEAA,CAF4D,qBAI1DA,MADF,UACEA,CAD8B,WAU5BA,MARA,EAAAqiE,GAAA,eAQAriE,CAJkG,EAAAsiE,GAAA,gBAalGtiE,MAAA,cAA0CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,mBAAaA,QACvBA,MAAA,gBACFA,QACAA,MAAA,eAA0CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA4+D,iBAAgB,GACjEpiE,MAAA,eAAUA,MAAA,WAAIA,QACdA,MAAA,2BAGNA,YACAA,MAAA,SAIMA,MAHN,YAGMA,CAH2C,YAG3CA,CAFsD,uBAEtDA,CADyE,kBACrDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,sBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,KAAA3E,EAAAwqB,0BAAA7lB,GAAAnI,MAAAmI,EAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,oBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAAuiE,GAAA,0CAMRviE,cACAA,MAAA,eAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAAwiE,GAAA,YACAxiE,CADsD,GAAAyiE,GAAA,qBAGxDziE,MAAA,OAEEA,MADA,GAAA0iE,GAAA,YACA1iE,CADsD,GAAA2iE,GAAA,qBAGxD3iE,MAAA,OAEEA,MADA,GAAA4iE,GAAA,YACA5iE,CADsD,GAAA6iE,GAAA,qBAGxD7iE,MAAA,OAEEA,MADA,GAAA8iE,GAAA,YACA9iE,CADsC,GAAA+iE,GAAA,qBAoDxC/iE,MAAA,OAEEA,MADA,GAAAgjE,GAAA,YACAhjE,CADsC,GAAAijE,GAAA,sBA0CxCjjE,MAFA,GAAAkjE,GAAA,YAEAljE,CAFkD,GAAAmjE,GAAA,YAElDnjE,CADuD,GAAAojE,GAAA,aAIzDpjE,QACAA,MAAA,uBAYMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QACpBA,MAAA,eAGNA,kBApLkBA,MAAA,SAAAwD,EAAA5C,aAEHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAIlC7H,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,eAAA,MAAAjnB,EAAAqC,MAAArC,EAAAqC,KAAAowC,aAAA,MAAAzyC,EAAAqC,KAAA,KAAArC,EAAAqC,KAAAmwC,0BAQAh2C,cAAA,QAAAwD,EAAAinB,YAQ4DzqB,cAAA,YAAAwD,EAAAwB,WAAAa,KAAAK,QAoBjDlG,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAA0qB,YAOnBluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YA2GKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAA+iB,0NE/HJ0+C,CAA0B,KAgS1BO,GAAyC,MAAhD,MAAOA,EAKuBT,MACzB76C,UAJTg7C,mBAA6B,EAE7BjiE,YACkC8hE,EACzB76C,GADyB9mB,KAAA2hE,QACzB3hE,KAAA8mB,WAET,CAEA28C,YACEzjE,KAAK8mB,UAAUqB,OACjB,4CAZWi6C,GAAyChiE,MAK1CgoB,OAAehoB,MAAAyb,OAAA,+BALdumD,EAAyC9+D,UAAA,+CAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,keAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDvUtDvD,MAAA,UAAqBA,MAAA,mBAAOA,QAGxBA,MAFJ,uBAEIA,CAFgB,qBAEhBA,CADgB,OACbA,MAAA,GAAgEA,QACnEA,MAAA,QACAA,MAAA,EAAAsjE,GAAA,wBAMAtjE,MAAA,oBAAcA,MAAA,yBAAAmI,GAAAnI,aAAAwD,EAAA+9D,MAAAG,kBAAAv5D,KAAA3E,EAAA+9D,MAAAG,kBAAAv5D,IAAA,GACZnI,MAAA,iEAGNA,YAGIA,MAFJ,0BAEIA,CAFgF,cAEhFA,CAD8E,eACpEA,MAAA,WAAIA,QACdA,MAAA,YACFA,QACAA,MAAA,eAAqCA,MAAA,0BAASwD,EAAA6/D,WAAW,GACvDrjE,MAAA,eAAUA,MAAA,YAAKA,QACfA,MAAA,eAEJA,UACAA,MAAA,gBAvBOA,MAAA,GAAAA,MAAA,wBAAAwD,EAAA+9D,MAAAz2D,KAAA,YAAAtH,EAAA+9D,MAAAvhD,SAAA,KAEchgB,MAAA,GAAAA,MAAA,OAAAwD,EAAA+9D,MAAAQ,aAMH/hE,cAAA,UAAAwD,EAAA+9D,MAAAG,mBAMqC1hE,MAAA,GAAAA,MAAA,mBAAAwD,EAAA+9D,mKCsT1CS,CAAyC,6FCzT9ChiE,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA4D,EAAA1T,KACnD8P,cAAA,IAAA4D,EAAA9T,MAAA,6BAQNkQ,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAA+D,EAAA+G,8BAGrD9K,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAAkBA,kCAAlBA,cAAAsoB,EAAA7U,kCAGpDzT,MAAA,WAAsDA,MAAA,WAAKA,mCAC3DA,MAAA,WAAsDA,MAAA,GAAeA,kCAAfA,cAAAkE,EAAA1B,+BAGtDxC,MAAA,WAAsCA,MAAA,oBAAQA,mCAC9CA,MAAA,WAAwEA,MAAA,GAAgBA,kCAAhBA,cAAA4oB,EAAA5kB,gCAGxEhE,MAAA,WAAsDA,MAAA,aAAOA,mCAE3DA,MAAA,UAAyBA,MAAA,GAAkCA,wCAAlCA,cAAA,GAAA+sB,EAAAD,OAAA,MAAAC,EAAA1E,MAAA,+BACzBroB,MAAA,UAA0BA,MAAA,GAAeA,wCAAfA,cAAA+sB,EAAA1E,kCAF5BroB,MAAA,WAEEA,MADA,EAAAujE,GAAA,cACAvjE,CADyB,EAAAwjE,GAAA,eAE3BxjE,kCAFSA,cAAA,OAAA+sB,EAAAD,QACA9sB,cAAA,QAAA+sB,EAAAD,gCAIT9sB,MAAA,WAAsDA,MAAA,WAAKA,mCAC3DA,MAAA,WAAsDA,MAAA,GAAmBA,kCAAnBA,cAAAipB,EAAAvlB,mCAGtD1D,MAAA,WAAsDA,MAAA,kBAAMA,mCAC5DA,MAAA,WAAuDA,MAAA,GAAsBA,kCAAtBA,cAAAktB,EAAAvpB,sCAGvD3D,MAAA,WAAsDA,MAAA,wBAAkBA,mCACxEA,MAAA,WAAmEA,MAAA,GAAgDA,kCAAhDA,cAAAotB,EAAAk0C,uBAAA,uCAGnEthE,MAAA,oDAGIA,MAAA,eAGEA,MAAA,mBAAAA,MAAA8I,GAAA,MAAAukB,EAAArtB,QAAAmE,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAqH,YAAAtH,EAAAxb,QAAuB,GAEhC7R,MAAA,cAAUA,MAAA,YACZA,qCAPFA,MADF,UACEA,CADiC,YAE/BA,MAAA,EAAAyjE,GAAA,iBAQJzjE,oCAPOA,MAAA,GAAAA,MAAA,OAAAqtB,EAAAxb,+BAST7R,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WC1DK,IAAM0jE,GAAiC,MAAxC,MAAOA,EA6BSj/D,mBAAgDwK,oBA5BzBpK,UACvBC,KAEpBC,YAAwB,CACtB,OACA,WACA,QACA,SACA,SACA,YACA,eACA,yBACA,UAEFC,WAA2D,IAAIC,KAC/DC,cAAwB,EAEDskB,SACMuE,eAC7BC,0BAAoC,GACpCvE,YAAsB,qCACtBwE,oBAA8B,qDAC9BC,UAAYv6B,MACHiN,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,SAAUC,MAAO,kBAAmBC,KAAM,WAGrDtB,YAAoBgF,EAAgDwK,GAAhDrP,KAAA6E,qBAAgD7E,KAAAqP,qBAA2C,CAE/G7J,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,GACtFruB,KAAK4F,aAAW,EACf,GAEH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK6E,mBACFk/D,cACC/jE,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAEnCvsB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAK4F,aACP,CAEAmvB,YAAYO,GACVhO,OAAO/O,KAAK,yBAA2B+c,EAAW,SACpD,4CA9FWwuC,GAAiC1jE,MAAAC,MAAAD,MAAA+C,MAAA,+BAAjC2gE,EAAiCxgE,UAAA,sCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACjCgD,KAAY,SACZC,MAAO,4/EDnBpBxG,MAAA,wBAMMA,MAHN,UAGMA,CAH2C,UAG3CA,CAFsD,qBAEtDA,CADyE,gBACrDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,qBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,KAAA3E,EAAAwqB,0BAAA7lB,GAAAnI,MAAAmI,EAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,oBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAA4jE,GAAA,0CAMR5jE,cACAA,MAAA,eAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAA6jE,GAAA,YACA7jE,CADsD,GAAA8jE,GAAA,qBAGxD9jE,MAAA,OAEEA,MADA,GAAA+jE,GAAA,YACA/jE,CADsD,GAAAgkE,GAAA,qBAGxDhkE,MAAA,OAEEA,MADA,GAAAikE,GAAA,YACAjkE,CADsD,GAAAkkE,GAAA,qBAGxDlkE,MAAA,OAEEA,MADA,GAAAmkE,GAAA,YACAnkE,CADsC,GAAAokE,GAAA,qBAGxCpkE,MAAA,OAEEA,MADA,GAAAqkE,GAAA,YACArkE,CADsD,GAAAskE,GAAA,qBAMxDtkE,MAAA,OAEEA,MADA,GAAAukE,GAAA,YACAvkE,CADsD,GAAAwkE,GAAA,qBAGxDxkE,MAAA,OAEEA,MADA,GAAAykE,GAAA,YACAzkE,CADsD,GAAA0kE,GAAA,qBAGxD1kE,MAAA,OAEEA,MADA,GAAA2kE,GAAA,YACA3kE,CADsD,GAAA4kE,GAAA,qBAGxD5kE,MAAA,OAEEA,MADA,GAAA6kE,GAAA,YACA7kE,CADsC,GAAA8kE,GAAA,qBAexC9kE,MAFA,GAAA+kE,GAAA,YAEA/kE,CAFkD,GAAAglE,GAAA,YAElDhlE,CADuD,GAAAilE,GAAA,aAIzDjlE,QACAA,MAAA,6BA7EkBA,MAAA,SAAAwD,EAAA5C,aAYAZ,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAAwD,EAAA0qB,YAOnBluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YAkDKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAA+iB,4LC9DJ2gD,CAAiC,4GCZ7B1jE,MAAA,UAEVA,MAAA,GAAwBA,8BAAxBA,cAAA,cAAA2H,EAAAqpB,WAAA,4BAmBHhxB,MAAA,WAAsCA,MAAA,SAAGA,mCACzCA,MAAA,WAAoDA,MAAA,GAAaA,kCAAbA,cAAA+D,EAAA4B,6BAGpD3F,MAAA,WAAsCA,MAAA,WAAKA,mCAC3CA,MAAA,WAAsDA,MAAA,GAAmBA,kCAAnBA,cAAAsoB,EAAA2I,mCAGtDjxB,MAAA,WAAsCA,MAAA,oBAAQA,mCAC9CA,MAAA,WAAyDA,MAAA,GAAgBA,kCAAhBA,cAAAkE,EAAAF,gCAGzDhE,MAAA,WAAiEA,MAAA,UAAIA,kDAGjEA,MAFJ,UAEIA,CAFgE,QAEhEA,CAD0B,cAGxBA,MAAA,yBAAAmI,GAAA,MAAA4kB,EAAA/sB,MAAAoI,GAAAjE,UAAAnE,aAAA+sB,EAAAoE,KAAAhpB,KAAA4kB,EAAAoE,KAAAhpB,GAAAnI,MAAAmI,EAAA,GAKAnI,MAAA,gBAAAmI,GAAA,MAAA+8D,EAAAllE,MAAAoI,GAAAuS,MAAAhT,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAA0pB,SAAAlpB,EAAA+8D,GAAmB,GAEjCllE,4DAVOA,cAAA2H,EAAA2pB,UAAA4zC,IAGDllE,cAAA,UAAA+sB,EAAAoE,MAEAnxB,MAAA,oDAQNA,MAAA,WAAiEA,MAAA,uBAAcA,kDAG3EA,MAFJ,UAEIA,CAF0E,QAE1EA,CADgC,cAG9BA,MAAA,yBAAAmI,GAAA,MAAAilB,EAAAptB,MAAA2I,GAAAxE,UAAAnE,aAAAotB,EAAAoE,WAAArpB,KAAAilB,EAAAoE,WAAArpB,GAAAnI,MAAAmI,EAAA,GAKAnI,MAAA,gBAAAmI,GAAA,MAAAg9D,EAAAnlE,MAAA2I,GAAAgS,MAAAhT,EAAA3H,QAAA,OAAAA,MAAQ2H,EAAA+pB,eAAAvpB,EAAAg9D,GAAyB,GAEvCnlE,4DAVOA,cAAA2H,EAAAgqB,gBAAAwzC,IAGDnlE,cAAA,UAAAotB,EAAAoE,YACAxxB,MAAA,oDASNA,MAAA,WAAiEA,MAAA,cAAQA,mCAInEA,MAAA,mBACEA,MAAA,GACFA,kCAF0DA,MAAA,QAAAolE,EAAAt1E,OACxDkQ,cAAA,IAAAolE,EAAAt1E,MAAA,+CAFJkQ,MAFJ,UAEIA,CAF+E,WAE/EA,CAD0B,mBACdA,MAAA,yBAAAmI,GAAA,MAAAu5B,EAAA1hC,MAAA2hC,GAAAx9B,UAAAnE,aAAA0hC,EAAA7P,SAAA1pB,KAAAu5B,EAAA7P,SAAA1pB,GAAAnI,MAAAmI,EAAA,GACVnI,MAAA,EAAAqlE,GAAA,yCAKNrlE,kDANgBA,MAAA,GAAAA,MAAA,UAAA0hC,EAAA7P,UACuB7xB,cAAA,UAAAA,MAAA,IAAA2H,EAAAoqB,mCAOzC/xB,MAAA,iCACAA,MAAA,kCAGIA,MAFJ,UAEIA,CAF8B,UAE9BA,CAD+B,UACzBA,MAAA,mCAEVA,sDAgBEA,MAAA,eAA0CA,MAAA,mBAAAA,MAAAwJ,GAAA,MAAA7B,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAoF,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,cAC5BA,SCrFG,IAAMslE,GAA8B,MAArC,MAAOA,EA2BDpzC,uBACA5I,wBACA/oB,wBACAO,MACAN,OACA+oB,qBACA4I,mBAhCVptB,YAAwB,CAAC,MAAO,YAAa,SAAU,OAAQ,aAAc,YAC7EC,WAAkD,IAAIC,KAEtD6N,QACAjL,OACA0oB,aACA3oB,UACAopB,WACAoB,eACAd,UAAsB,GACtBK,gBAA4B,GAC5BI,UAAYhjC,KAE+B8V,UACpB2kB,SACvB+7C,kBAAuC,GACvCC,2BAAgD,GAChDtgE,cAAwB,EAEftE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,eAAgBC,MAAO,sBAAuBC,KAAM,SAG/DtB,YACUyyB,EACA5I,EACA/oB,EACAO,EACAN,EACA+oB,EACA4I,IANAvyB,KAAAsyB,yBACAtyB,KAAA0pB,0BACA1pB,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA2pB,uBACA3pB,KAAAuyB,sBAERvyB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAK2wB,aAAepd,GAAOod,aAC3B3wB,KAAKgB,YAAY,GAAK,CACpBC,MAAO,eACPC,MAAO,sBAAsBlB,KAAKkT,WAAWlT,KAAKiI,WAAWjI,KAAK2wB,eAClExvB,KAAM,QAERnB,KAAK0pB,wBAAwB4pB,oBAAoBtzC,KAAK2wB,cAAc7uB,UAAUmE,KAC5EjG,KAAKgI,UAAY/B,GAAKnC,UACtB9D,KAAKwyB,eAAiBvsB,GAAKuiB,eAC3BxoB,KAAKoxB,WAAanrB,GAAKwsB,QACxB,EAEL,CAEAltB,WACEvF,KAAKsyB,uBACFtQ,OAAOhiB,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAK2wB,cACvC7uB,UAAWmE,IACV,UAAWysB,KAAWzsB,EACpBysB,EAAQnB,KAAuB,MAAhBmB,EAAQnB,KAAemB,EAAQnB,KAAK1lB,WAAW8mB,WAAW,IAAK,KAAO,GACrF3yB,KAAK0xB,UAAUpe,KAAK,mBACpBtT,KAAK+xB,gBAAgBze,KAAK,mBAE5BtT,KAAKoF,WAAa,IAAIC,KAAmBY,GACzCjG,KAAK2lE,kBAAoB1/D,EAAKyN,IAAIgb,QAAWA,KAC7C1uB,KAAK4lE,2BAA6B3/D,EAAKyN,IAAIgb,QAAWA,KACtD1uB,KAAKsF,cAAgBtF,KAAK2lE,kBAAkBr/D,OAC5CtG,KAAKoF,WAAWH,UAAYjF,KAAKiF,WAEvC,CAEAglB,YACE,IAAI47C,EAAW7lE,KAAK2lE,kBAAkBx/D,OAAO2/D,GAC3CA,EAAEz0C,UAAUjX,cAAcrC,SAAS/X,KAAK4pB,UAAU9D,cAAc51B,MAAMkqB,gBACtE0rD,EAAE//D,IAAIqU,cAAcrC,SAAS/X,KAAK4pB,UAAU9D,cAAc51B,MAAMkqB,gBAElEpa,KAAKoF,WAAa,IAAIC,KAAmBwgE,GACzC7lE,KAAKsF,cAAgBugE,EAASv/D,OAC9BtG,KAAKoF,WAAWH,UAAYjF,KAAKiF,SACnC,CAEA4lB,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAW,OAAQ,gBAChF,CAEA3d,SACE,IAAIylB,EAAgB,EAsBpB,GArBA5yB,KAAK0xB,UAAU/c,QAAQ4G,IACX,uBAANA,IACFqX,GAAS,KAGb5yB,KAAK+xB,gBAAgBpd,QAAQke,IACjB,uBAANA,IACFD,GAAS,KAcTA,EAEF,YADA5yB,KAAKW,wBAAwB+B,iBAAiB,wEAKhD,MAAMqjE,EAAiB/lE,KAAKoF,WAAWa,KAAKE,OAAO,CAACrF,EAAOia,KACzD,MAAMirD,EAAWhmE,KAAK4lE,2BAA2B7qD,GAEjD,OACEja,EAAMywB,OAASy0C,EAASz0C,MACxBzwB,EAAM8wB,aAAeo0C,EAASp0C,YAC9B9wB,EAAMmxB,WAAa+zC,EAAS/zC,WAGF,IAA1B8zC,EAAez/D,OAKnBtG,KAAKsyB,uBACFnlB,OAAOnN,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAK2wB,aAAco1C,GACrDjkE,UAAUmE,IACTjG,KAAKW,wBAAwBqC,mBAAmB,0CAChDhD,KAAKY,OAAOsC,SAAS,CAAC,2BAA0B,GARlDlD,KAAKW,wBAAwBslE,gBAAgB,oCAUjD,CAEAx0C,SAASpX,EAAYU,GACnB/a,KAAK0xB,UAAU3W,GAAS/a,KAAK8yB,aAAazY,EAAMqL,OAAOx1B,MACzD,CAEA4hC,eAAezX,EAAYU,GACzB,IAAI6W,EAAamB,OAAOC,WAAW3Y,EAAMqL,OAAOx1B,MAAM6mB,QAAQ,IAAK,MACnE/W,KAAK+xB,gBAAgBhX,GAAS/a,KAAKizB,mBAAmBrB,EACxD,CAEQkB,aAAa5iC,GACnB,GAAKA,EAEE,CACL,IAAIgjC,EAAQH,OAAOC,WAAW9iC,EAAM2b,WAAWkL,QAAQ,IAAK,MAC5D,OAAIoc,MAAMD,IAAUA,EAAQ,IAAMA,EAAQ,EACjC,qBAEA,iBAEX,CARE,MAAO,iBASX,CAEQD,mBAAmBC,GACzB,OAAKA,IAGCC,MAAMD,IAAUA,EAAQ,KAAOA,EAAQ,GAClC,qBAHF,iBAQX,CAEAvE,WACE3uB,KAAKsyB,uBAAuBtQ,OAAOhiB,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAK2wB,cAAc7uB,UAAUmE,IACzF,IACIC,EAAU,sEADoBD,EAEzB0O,QAAQye,IACfltB,GAAW,IAAIktB,EAAIrtB,SAASqtB,EAAI/B,eAAe+B,EAAIhvB,YAAYgvB,EAAI7B,MAAQ,QACzE6B,EAAIxB,YAAc,QAAQwB,EAAInB,eAAQ,GAE1CjyB,KAAKuyB,mBAAmB5D,SAASzoB,EAAS,oBAAoBlG,KAAKwyB,iBAAgB,EAEvF,CAEmB79B,YAAcA,gDApLtB+wE,GAA8BtlE,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAiD,MAAAjD,MAAAgD,MAAAhD,MAAAyb,MAAA,+BAA9B6pD,EAA8BpiE,UAAA,mCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAc9BgD,KAAY,m/ED9BzBvG,MAFA,uBAEAA,CAF4D,qBAI1DA,MADF,UACEA,CADwC,UAE/BA,MAAP,OAAOA,CAAD,QAAOA,MAAA,EAAA8lE,GAAA,cAIf9lE,QAEEA,MADF,QACEA,CADG,cACuCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAA+qB,WAAU,GAC3DvuB,MAAA,cAAUA,MAAA,oBAAaA,QAAYA,MAAA,iBAGzCA,YAGEA,MADF,sBACEA,CAD8D,iBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,gBAAwDA,MAAA,2BAAAA,aAAAmc,GAAAnc,MAAiBwD,EAAAqmB,YAAW,GACtF7pB,UAGAA,MAAA,eACEA,MAAA,OAEEA,MADA,GAAA+lE,GAAA,YACA/lE,CADsC,GAAAgmE,GAAA,qBAGxChmE,MAAA,OAEEA,MADA,GAAAimE,GAAA,YACAjmE,CADsC,GAAAkmE,GAAA,qBAGxClmE,MAAA,OAEEA,MADA,GAAAmmE,GAAA,YACAnmE,CADsC,GAAAomE,GAAA,qBAGxCpmE,MAAA,OAEEA,MADA,GAAAqmE,GAAA,YACArmE,CADiE,GAAAsmE,GAAA,qBAcnEtmE,MAAA,OAEEA,MADA,GAAAumE,GAAA,YACAvmE,CADiE,GAAAwmE,GAAA,qBAcnExmE,MAAA,OAEEA,MADA,GAAAymE,GAAA,YACAzmE,CADiE,GAAA0mE,GAAA,qBAanE1mE,MAFA,GAAA2mE,GAAA,YAEA3mE,CAFkD,GAAA4mE,GAAA,YAElD5mE,CADuD,GAAA6mE,GAAA,aAMzD7mE,QACAA,MAAA,uBAYMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,GAAA8mE,GAAA,iBAIJ9mE,gBAzGkBA,MAAA,SAAAwD,EAAA5C,aAEHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAIlC7H,MAAA,GAAAA,MAAA,OAAAwD,EAAAwtB,YAK4DhxB,MAAA,GAAAA,MAAA,YAAAwD,EAAAwB,WAAAa,KAAAK,QAalDlG,MAAA,IAAAA,MAAA,aAAAwD,EAAAwB,YAuDKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAQjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAAymB,KAYiDzmB,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,cAAAjnB,EAAAwB,WAAAa,KAAAK,OAAA,g6BCnFrDo/D,CAA8B,sHCZrCtlE,MAAA,mBACEA,MAAA,GACFA,kCAFiEA,MAAA,QAAA+mE,EAAA72E,KAC/D8P,cAAA,IAAA+mE,EAAAj3E,MAAA,gCA0BFkQ,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA+D,EAAA7T,KACnD8P,cAAA,IAAA+D,EAAAjU,MAAA,+CAUAkQ,MADF,UACEA,CADoC,qBAIlCA,MAAA,kBAAAmI,GAAAnI,MAAAiE,GAAA,MAAA0wC,EAAA30C,QAAA,OAAAA,MAAU20C,EAAAqyB,YAAA7+D,EAAAyzC,SAA2B,GAEzC57C,kCAJIA,QACAA,MADA,UAAA20C,EAAAsyB,kBACAjnE,CAD6B,gBAAA20C,EAAAuyB,8DAM/BlnE,MADF,UACEA,CADyD,qBAC3CA,MAAA,yBAAAmI,GAAA,MAAA4kB,EAAA/sB,MAAAoI,GAAAjE,UAAAnE,aAAA+sB,EAAAia,YAAA7+B,KAAA4kB,EAAAia,YAAA7+B,GAAAnI,MAAAmI,EAAA,GAA8BnI,MAAA,2BAAAA,MAAAoI,GAAA,MAAAusC,EAAA30C,QAAA,OAAAA,MAAiB20C,EAAAwyB,qBAAoB,GACnFnnE,sCADgBA,cAAA,UAAA+sB,EAAAia,qCAIhBhnC,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAAkBA,kCAAlBA,cAAAipB,EAAAxV,kCAGpDzT,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAktB,EAAApiB,8BAGrD9K,MAAA,WAAsDA,MAAA,oBAAQA,mCAC9DA,MAAA,WAAyDA,MAAA,GAAgBA,kCAAhBA,cAAAotB,EAAAppB,+BAE3DhE,MAAA,iCACAA,MAAA,qCAGIA,MAAA,UAA6BA,MAAA,GAAkEA,yCAAlEA,cAAA,gDAAAonE,EAAAt3E,MAAA,6BAC7BkQ,MAAA,UAA8BA,MAAA,mCAA0BA,mCAF1DA,MADF,UACEA,CADgC,WAG9BA,MADA,EAAAqnE,GAAA,cACArnE,CAD6B,EAAAsnE,GAAA,eAGjCtnE,0CAHWA,MAAA,GAAAA,MAAA,OAAAonE,EAAAt3E,OACAkQ,cAAA,QAAAonE,EAAAt3E,QC1CR,IAAMy3E,GAAmC,MAA1C,MAAOA,EA+BD9iE,mBACAuK,aACAzO,wBACAO,MACAmO,oBACAohB,6BAnCiCxrB,UACvBC,KACpBI,cAAwB,EACDskB,SACMuE,eAC7BtE,YAAsB,uCACtBwE,oBAA8B,uDAC9Bnb,QACAjL,OACAD,UACA8hB,YAEA3kB,YAAwB,CAAC,UAAW,WAAY,OAAQ,UACxDC,WAA6D,IAAIC,KAEjEuiE,qBAAuB73E,MACvB83E,YAAc,IAAItmE,KAElB8lE,mBAA6B,EAC7BC,oBAA8B,EAE9Bl5C,0BAAoC,GACpCE,UAAYv6B,MACDiN,YAAqC,CAC1C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,uBAAqBC,MAAO,GAAIC,KAAM,iBAGrDtB,YACUgF,EACAuK,EACAzO,EACAO,EACAmO,EACAohB,GALAzwB,KAAA6E,qBACA7E,KAAAoP,eACApP,KAAAW,0BACAX,KAAAkB,QACAlB,KAAAqP,sBACArP,KAAAywB,+BAERzwB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,2BACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,oBACrD9G,KAAM,aAGVnB,KAAKoP,aAAayhB,SAAS7wB,KAAKkT,SAASpR,UAAUG,KACjDjC,KAAKgI,UAAY/F,GAAIiJ,MAEzB,CAEA1F,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YACH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,GACtFruB,KAAK4F,aAAW,EACf,GAEH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK6E,mBACFmd,OACChiB,KAAKkT,QACLlT,KAAKiI,OACLjI,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAEnCvsB,UAAU2D,IACTzF,KAAKoF,WAAWa,KAAOR,EAAKS,QAC5BlG,KAAKsF,cAAgBG,EAAKH,cAC1BtF,KAAKqnE,mBAAoB,EACzBrnE,KAAKsnE,oBAAqB,GAEhC,CAEQthE,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAK4F,aACP,CAEAwhE,YAAYhgC,GACV,IAAI9L,EAAMt7B,KAAKoF,WAAWa,KAE1B,QAASnF,KAASw6B,EAAKx6B,EAAMsmC,YAAcA,EAE3CpnC,KAAKoF,WAAWa,KAAOq1B,EAEnB8L,GACFpnC,KAAKqnE,mBAAoB,EACzBrnE,KAAKsnE,oBAAqB,IAE1BtnE,KAAKqnE,mBAAoB,EACzBrnE,KAAKsnE,oBAAqB,EAE9B,CAEAC,qBACE,MAAMO,EAAS9nE,KAAKoF,WAAWa,KAC/B,IAAI8hE,EAAQ,EAEZ,QAASjnE,KAASgnE,EAAYhnE,EAAMsmC,aAAa2gC,IAEpC,GAATA,GACF/nE,KAAKqnE,mBAAoB,EACzBrnE,KAAKsnE,oBAAqB,GACjBS,GAASD,EAAOxhE,QACzBtG,KAAKqnE,mBAAoB,EACzBrnE,KAAKsnE,oBAAqB,IAE1BtnE,KAAKqnE,mBAAoB,EACzBrnE,KAAKsnE,oBAAqB,EAE9B,CAEAU,mBACE,IAAIC,EAAyB,GAE7B,QAASnnE,KAASd,KAAKoF,WAAWa,KAAUnF,EAAMsmC,aAAa6gC,EAAa30D,KAAKxS,EAAMZ,IAEvF,GAA2B,GAAvB+nE,EAAa3hE,OAEjB,OAAQtG,KAAK6nE,YAAY33E,OACvB,IAAK,kBACH8P,KAAKywB,6BAA6By3C,qBAAqBloE,KAAKkT,QAASlT,KAAKiI,OAAQggE,GAClF,MACF,IAAK,qBACHjoE,KAAKywB,6BAA6B03C,qBAAqBnoE,KAAKkT,QAASlT,KAAKiI,OAAQggE,GAClF,MACF,IAAK,qBACHjoE,KAAKywB,6BAA6B23C,8BAA8BpoE,KAAKkT,QAASlT,KAAKiI,OAAQggE,GAC3F,MACF,IAAK,oBACHjoE,KAAKywB,6BAA6B43C,oBAAoBroE,KAAKkT,QAASlT,KAAKiI,OAAQggE,GACjF,MAIF,IAAK,2BACHjoE,KAAKywB,6BAA6B63C,6BAA6BtoE,KAAKkT,QAASlT,KAAKiI,OAAQggE,GAC1F,MACF,QACEjoE,KAAKW,wBAAwBuuD,mBAAmB,uBAEtD,4CAlLWyY,GAAmCvnE,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAA0b,MAAA,+BAAnC6rD,EAAmCrkE,UAAA,wCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACnCgD,KAAY,SACZC,MAAO,2rED9BpBxG,MADA,uBACAA,CAD4D,qBAIxDA,MAFJ,UAEIA,CAF+C,qBAE/CA,CADyE,eAC9DA,MAAA,oBAAcA,QACzBA,MAAA,kBACEA,MAAA,EAAAmoE,GAAA,wCAIJnoE,UAEEA,MADF,UACEA,CAD4B,eAM1BA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAokE,mBAAkB,GAC3B5nE,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,eAGjCA,YACAA,MAAA,SAGIA,MAFJ,WAEIA,CAF+C,uBAE/CA,CADuD,kBACnCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,sBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,KAAA3E,EAAAwqB,0BAAA7lB,GAAAnI,MAAAmI,EAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,oBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAAooE,GAAA,yCAKNpoE,YAGEA,MADF,YACEA,CAD4B,eACuBA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAQEA,MAPA,GAAAqoE,GAAA,YAOAroE,CAPsC,GAAAsoE,GAAA,qBAWxCtoE,MAAA,OAEEA,MADA,GAAAuoE,GAAA,YACAvoE,CADsD,GAAAwoE,GAAA,qBAGxDxoE,MAAA,OAEEA,MADA,GAAAyoE,GAAA,YACAzoE,CADsD,GAAA0oE,GAAA,qBAGxD1oE,MAAA,OAEEA,MADA,GAAA2oE,GAAA,YACA3oE,CADsD,GAAA4oE,GAAA,qBAKxD5oE,MAFA,GAAA6oE,GAAA,YAEA7oE,CAFkD,GAAA8oE,GAAA,YAElD9oE,CADuD,GAAA+oE,GAAA,aAOzD/oE,QACAA,MAAA,uBAKFA,QAQMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAGtCA,kBA3FkBA,MAAA,SAAAwD,EAAA5C,aACHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAIzB7H,MAAA,GAAAA,MAAA,cAAAwD,EAAAikE,aACmBznE,cAAA,UAAAA,MAAA,KAAAwD,EAAAgkE,uBAU7BxnE,MAAA,GAAAA,MAAA,YAAAwD,EAAAikE,YAAA33E,SAAA0T,EAAAyjE,mBAAAzjE,EAAA0jE,qBAeUlnE,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAA0qB,YAQfluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YAyBKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aASjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAA+iB,+NChDNwkD,CAAmC,mICtB1CvnE,MAAA,mBACEA,MAAA,GACFA,kCAF4DA,MAAA,QAAAgpE,EAAAlpE,IAC1DE,cAAA,IAAAgpE,EAAAv8D,cAAA,gCAeFzM,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA+D,EAAA7T,KACnD8P,cAAA,IAAA+D,EAAAjU,MAAA,6BASJkQ,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAAkBA,kCAAlBA,cAAAsoB,EAAA7U,kCAGpDzT,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAmBA,kCAAnBA,cAAAkE,EAAA+sB,mCAGrDjxB,MAAA,WAAsDA,MAAA,oBAAQA,mCAC9DA,MAAA,WAAyDA,MAAA,GAAkBA,kCAAlBA,cAAA4oB,EAAA5I,kCAGzDhgB,MAAA,WAAsDA,MAAA,qBAAeA,mCACrEA,MAAA,WAA0FA,MAAA,mBAAgDA,kCAAhDA,oBAAA,IAAA+sB,EAAA5X,cAAA,6CAG1FnV,MAAA,WAAsDA,MAAA,eAASA,mCAC/DA,MAAA,WAAoFA,MAAA,GAAqBA,kCAArBA,cAAAipB,EAAAxc,sCAGpFzM,MAAA,oDAEEA,MAAA,eAAkEA,MAAA,mBAAAA,MAAA2I,GAAA,MAAAykB,EAAAptB,QAAAmE,UAAA8kE,EAAAjpE,QAAA,OAAAA,MAASipE,EAAAC,WAAA97C,EAAA1lB,cAAA0lB,EAAA+7C,cAAA/7C,EAAA3gB,eAAmE,GAC5IzM,MAAA,cAAUA,MAAA,oBACZA,kCACAA,MAAA,UAAiCA,MAAA,OAACA,mCAJpCA,MAAA,WAIEA,MAHA,EAAAopE,GAAA,gBAGAppE,CAHgJ,EAAAqpE,GAAA,eAIlJrpE,kCAJWA,cAAA,OAAAotB,EAAA+7C,eAGFnpE,cAAA,QAAAotB,EAAA+7C,sCAGXnpE,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACEA,MAAA,yCACpCA,WCzCK,IAAMspE,GAAmC,MAA1C,MAAOA,EAoCD7kE,mBACAuK,aACAlO,MACAwO,OACAL,oBACAsa,qBACAvF,gBAzCiCnf,UACvBC,KACSipB,eACCw7C,gBAE9BxkE,YAAwB,CACtB,WACA,YACA,WACA,gBACA,YACA,UAGFC,WAAuD,IAAIC,KAC3DC,cAAwB,EACftE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,wBAAyBC,MAAO,0BAA2BC,KAAM,mBAErDyoB,SACvBC,YAAsB,gCACtBwE,oBAA8B,uDAC9Bu7C,qBAA+B,wDAC/B12D,QACAjL,OACAD,UACA8hB,YACAwE,UAAYv6B,MACZq6B,0BAAoC,GACpCy7C,2BAAqC,GACrC58D,sBAAyD,GAEzDpN,YACUgF,EACAuK,EACAlO,EACAwO,EACAL,EACAsa,EACAvF,IANApkB,KAAA6E,qBACA7E,KAAAoP,eACApP,KAAAkB,QACAlB,KAAA0P,SACA1P,KAAAqP,sBACArP,KAAA2pB,uBACA3pB,KAAAokB,mBAERpkB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,MAAA,GAEvBjI,KAAKoP,aAAayhB,SAAS7wB,KAAKkT,SAASpR,UAAUG,KACjDjC,KAAKgI,UAAY/F,GAAIiJ,MAEzB,CAEA1F,kBACExF,KAAK6E,mBAAmB2Q,cAAcxV,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,GAAOjC,KAAKiN,sBAAwBhL,GAC/GjC,KAAKgB,YAAY,GAAK,CACpBC,MAAO,wBACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,2BACrD9G,KAAM,kBAERnB,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,GACtFruB,KAAK2pE,gBAAgBz5E,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK4pE,uBAAyB,GACxF5pE,KAAK4F,aAAW,EACf,GAEH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAK6E,mBACFilE,iBACC9pE,KAAKkT,QACLlT,KAAKiI,OACLjI,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,qBAClCruB,KAAKqP,oBAAoBhN,IAAIrC,KAAK4pE,uBAAyB,IAE5D9nE,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA+1D,WAAWppE,EAAY6jB,EAAiB8mB,GACtC7qC,KAAKokB,gBAAgBgC,wBAAwB,gBAAgBlmB,aAAe6jB,GAASjiB,UAAUukB,GAC7FrmB,KAAK0P,OAAO6I,KAAK+N,KAA8B,CAC7CrgB,KAAM,CAAEsgB,gBAAiBskB,EAAQrkB,aAAcH,GAC/CI,MAAO,MACPC,OAAQ,QAGd,CAEAmE,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAC7D,CAEAb,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAK4pE,qBAAsB5pE,KAAK2pE,iBAAiBz5E,OAC9E8P,KAAK4F,aACP,4CAzIW8jE,GAAmCtpE,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAAyb,MAAAzb,MAAA0b,MAAA1b,MAAA2b,MAAA,+BAAnC2tD,EAAmCpmE,UAAA,wCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACnCgD,KAAY,SACZC,MAAO,giFDzBpBxG,MADA,uBACAA,CAD4D,qBAIxDA,MAFJ,UAEIA,CAF+C,qBAE/CA,CADyE,eAC9DA,MAAA,oBAAcA,QACzBA,MAAA,oBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAimE,2BAAAthE,KAAA3E,EAAAimE,2BAAAthE,GAAAnI,MAAAmI,EAAA,GAAuCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC/E7pB,MAAA,kBACAA,MAAA,EAAA2pE,GAAA,oBAKN3pE,YAGIA,MAFJ,WAEIA,CAF+C,uBAE/CA,CADuD,kBACnCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,qBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,KAAA3E,EAAAwqB,0BAAA7lB,GAAAnI,MAAAmI,EAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,mBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAA4pE,GAAA,yCAKN5pE,YAGAA,MAAA,eAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAA6pE,GAAA,YACA7pE,CADsD,GAAA8pE,GAAA,qBAGxD9pE,MAAA,OAEEA,MADA,GAAA+pE,GAAA,YACA/pE,CADsD,GAAAgqE,GAAA,qBAGxDhqE,MAAA,OAEEA,MADA,GAAAiqE,GAAA,YACAjqE,CADsD,GAAAkqE,GAAA,qBAGxDlqE,MAAA,OAEEA,MADA,GAAAmqE,GAAA,YACAnqE,CADsD,GAAAoqE,GAAA,qBAGxDpqE,MAAA,OAEEA,MADA,GAAAqqE,GAAA,YACArqE,CADsD,GAAAsqE,GAAA,qBAGxDtqE,MAAA,OAEEA,MADA,GAAAuqE,GAAA,YACAvqE,CADsC,GAAAwqE,GAAA,qBAUxCxqE,MAFA,GAAAyqE,GAAA,YAEAzqE,CAFkD,GAAA0qE,GAAA,YAElD1qE,CADuD,GAAA2qE,GAAA,aAIzD3qE,QACAA,MAAA,uBAYMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAGtCA,kBAlFkBA,MAAA,SAAAwD,EAAA5C,aACHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAIzB7H,MAAA,GAAAA,MAAA,QAAAwD,EAAAimE,4BAEwBzpE,MAAA,GAAAA,MAAA,UAAAwD,EAAAqJ,uBAcxB7M,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAA0qB,YAQjBluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YA8BKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAAqL,qNC7CJi+D,CAAmC,6FCXxCtpE,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA4D,EAAA1T,KACnD8P,cAAA,IAAA4D,EAAA9T,MAAA,6BAQNkQ,MAAA,WAAsDA,MAAA,OAACA,mCACvDA,MAAA,WAAkDA,MAAA,GAAYA,kCAAZA,cAAA+D,EAAAjE,4BAGlDE,MAAA,WAAsDA,MAAA,aAAOA,mCAC7DA,MAAA,WAAwDA,MAAA,GAAgBA,kCAAhBA,cAAAsoB,EAAAwE,gCAGxD9sB,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAkE,EAAA4G,8BAGrD9K,MAAA,WAAsDA,MAAA,kBAAMA,mCAC5DA,MAAA,WAAuDA,MAAA,GAAgBA,kCAAhBA,cAAA4oB,EAAA/gB,gCAGvD7H,MAAA,WAAsDA,MAAA,iBAAWA,mCACjEA,MAAA,WAA4DA,MAAA,GAAyBA,kCAAzBA,cAAA+sB,EAAAC,yCAG5DhtB,MAAA,WAAsDA,MAAA,kBAAYA,mCAClEA,MAAA,WAA6DA,MAAA,mBAAgDA,kCAAhDA,oBAAA,IAAAipB,EAAAgE,iBAAA,uCAG7DjtB,MAAA,WAAsDA,MAAA,gBAAUA,mCAChEA,MAAA,WAA2DA,MAAA,mBAA8CA,kCAA9CA,oBAAA,IAAAktB,EAAAC,eAAA,uCAG3DntB,MAAA,WAAsDA,MAAA,oBAAQA,mCAC9DA,MAAA,WAAyDA,MAAA,GAAkBA,kCAAlBA,cAAAotB,EAAApN,iCAGzDhgB,MAAA,oDAIMA,MAHN,UAGMA,CAH6B,WAG7BA,CAFyF,cAEzFA,CAD8E,cACpEA,MAAA,eACZA,UAEEA,MADF,oBACEA,CADwB,eACFA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAtN,SAAAqN,GAAa,GAC1CrtB,MAAA,iBAA0BA,MAAA,UAAIA,QAC9BA,MAAA,uBACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAs9C,0BAAAv9C,EAAAva,QAAAua,EAAAxlB,QAAkD,GAC/E7H,MAAA,eAAUA,MAAA,0BAAmBA,QAC7BA,MAAA,gCACFA,QACAA,MAAA,gBAAsBA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAu9C,wBAAAx9C,EAAAva,QAAAua,EAAAxlB,QAAgD,GAC7E7H,MAAA,eAAUA,MAAA,kBAAWA,QACrBA,MAAA,8BAIRA,uCAlB0CA,MAAA,GAAAA,MAAA,oBAAA2tB,0BAoB5C3tB,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WC7DK,IAAM8qE,GAAmC,MAA1C,MAAOA,EAiCD12C,mBACAtzB,MACAmO,oBACAzO,OACA8O,OApCiCzK,UACvBC,KAEpBC,YAAwB,CACtB,KACA,SACA,OACA,SACA,kBACA,mBACA,iBACA,WACA,UAEFC,WAA8C,IAAIC,KAClDC,cAAwB,EAEftE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,mBAAcC,MAAO,mCAAoCC,KAAM,aAGnDyoB,SACMuE,eAC7BC,0BAAoC,GACpCvE,YAAsB,uCACtBwE,oBAA8B,uDAC9Bnb,QAEAob,UAAYh9B,MAEZuO,YACU20B,EACAtzB,EACAmO,EACAzO,EACA8O,GAJA1P,KAAAw0B,qBACAx0B,KAAAkB,QACAlB,KAAAqP,sBACArP,KAAAY,SACAZ,KAAA0P,SAER1P,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,SAAc,GAExC,CAEA1N,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,GACtFruB,KAAK4F,aAAW,EACf,EACL,CAEAykB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAKw0B,mBACF22C,oBACCnrE,KAAKkT,QACLlT,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAEnCvsB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAK4F,aACP,CAEAolE,0BAA0B93D,EAAiBjL,GACzCjI,KAAKY,OAAOsC,SAAS,CAAC,sCAAsCgQ,KAAWjL,KACzE,CAEAgjE,wBAAwB/3D,EAAiBjL,GACvCjI,KAAKY,OAAOsC,SAAS,CAAC,oCAAoCgQ,KAAWjL,KACvE,CAEAmY,SAAS0J,GACP9pB,KAAK0P,OAAO6I,KAAKm/B,GAA8B,CAC7CzxC,KAAM6jB,EACN8E,WAAY,qBAEhB,4CArHWs8C,GAAmC9qE,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAA+C,MAAA/C,MAAAiD,OAAA,+BAAnC6nE,EAAmC5nE,UAAA,wCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACnCgD,KAAY,SACZC,MAAO,ktFDtBpBxG,MAAA,wBAKMA,MAHN,UAGMA,CAH2C,UAG3CA,CAFsD,qBAEtDA,CADyE,gBACrDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,sBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,KAAA3E,EAAAwqB,0BAAA7lB,GAAAnI,MAAAmI,EAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,oBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAAgrE,GAAA,0CAMRhrE,cACAA,MAAA,eAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAAirE,GAAA,YACAjrE,CADsD,GAAAkrE,GAAA,qBAGxDlrE,MAAA,OAEEA,MADA,GAAAmrE,GAAA,YACAnrE,CADsD,GAAAorE,GAAA,qBAGxDprE,MAAA,OAEEA,MADA,GAAAqrE,GAAA,YACArrE,CADsD,GAAAsrE,GAAA,qBAGxDtrE,MAAA,OAEEA,MADA,GAAAurE,GAAA,YACAvrE,CADsD,GAAAwrE,GAAA,qBAGxDxrE,MAAA,OAEEA,MADA,GAAAyrE,GAAA,YACAzrE,CADsD,GAAA0rE,GAAA,qBAGxD1rE,MAAA,OAEEA,MADA,GAAA2rE,GAAA,YACA3rE,CADsD,GAAA4rE,GAAA,qBAGxD5rE,MAAA,OAEEA,MADA,GAAA6rE,GAAA,YACA7rE,CADsD,GAAA8rE,GAAA,qBAGxD9rE,MAAA,OAEEA,MADA,GAAA+rE,GAAA,YACA/rE,CADsD,GAAAgsE,GAAA,qBAGxDhsE,MAAA,OAEEA,MADA,GAAAisE,GAAA,YACAjsE,CADsC,GAAAksE,GAAA,sBAyBxClsE,MAFA,GAAAmsE,GAAA,YAEAnsE,CAFkD,GAAAosE,GAAA,YAElDpsE,CADuD,GAAAqsE,GAAA,aAIzDrsE,QACAA,MAAA,6BAnFkBA,MAAA,SAAAwD,EAAA5C,aAWAZ,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAAwD,EAAA0qB,YAOnBluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YAyDKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAA+iB,2MCjEJ+nD,CAAmC,4BCV9B9qE,MADF,qBACEA,CADiF,eACtEA,MAAA,kCAAyBA,QACpCA,MAAA,cACFA,gCAEEA,MADF,qBACEA,CADiF,eACtEA,MAAA,iCAAwBA,QACnCA,MAAA,cACFA,kDA4CRA,MAAA,eAA0CA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAloC,EAAA3H,MAAA,UAAAA,MAAS2H,EAAA82C,iBAAgB,GACjEz+C,MAAA,cAAUA,MAAA,mBAAaA,QAAYA,MAAA,4CACrCA,kDAKAA,MAAA,eAA0CA,MAAA,mBAAAA,MAAAiE,GAAA,MAAA0D,EAAA3H,MAAA,UAAAA,MAAS2H,EAAAy+C,oCAAmC,GACpFpmD,MAAA,cAAUA,MAAA,mBAAaA,QACvBA,MAAA,4CACFA,kDAhEIA,MANZ,QAMYA,CANM,eAMNA,CALsB,qBAKtBA,CAJU,WAIVA,CAH+D,UAG/DA,CAF6C,eAE7CA,CADsB,YACdA,MAAA,UAAIA,QAEVA,MADF,UACEA,CADuC,WAMrCA,MAJA,GAAAssE,GAAA,uBAIAtsE,CAJmF,GAAAusE,GAAA,wBASjFvsE,MADF,sBACEA,CADuD,gBAC5CA,MAAA,gBAASA,QACpBA,MAAA,kBAAmCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA87B,UAAU,YAAW,GAC/DzjC,MAAA,cACFA,QACAA,MAAA,eACEA,MAAA,wBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAc2H,EAAAW,KAAK,YAAW,GADhCtI,QAOAA,MADA,8BACAA,CADgF,4BAGpFA,UAEEA,MADF,sBACEA,CADuD,gBAC5CA,MAAA,wBAAWA,QACtBA,MAAA,kBAONA,YAEEA,MADF,cACEA,CADQ,aACAA,MAAA,YAAKA,QAIPA,MAHN,WAGMA,CAHmC,YAGnCA,CAFgD,sBAEhDA,CADuD,gBAC5CA,MAAA,0CAA0BA,QACrCA,MAAA,eASZA,kBACAA,MAAA,SACAA,MAAA,aACEA,MAAA,GAAAwsE,GAAA,iBAGAxsE,MAAA,gBAA0CA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAoF,SAAQ,GACzD/M,MAAA,eAAUA,MAAA,WAAIA,QACdA,MAAA,oCACFA,QACAA,MAAA,GAAAysE,GAAA,iBAORzsE,kDAvEYA,MAAA,GAAAA,MAAA,YAAA2H,EAAA3G,MAM8DhB,MAAA,GAAAA,MAAA,aAAA2H,EAAA9B,KAAA+Z,MAIA5f,cAAA,aAAA2H,EAAA9B,KAAA+Z,MAatD5f,MAAA,GAAAA,MAAA,gBAAA0sE,GAE+B1sE,cAAA,MAAA0sE,GAUjC1sE,MAAA,GAAAA,MAAA,iBAAA2H,EAAA9B,KAAA+Z,MAAAjY,EAAAglE,QAsB4D3sE,MAAA,IAAAA,MAAA,cAAA2H,EAAA9B,KAAA,KAAA8B,EAAA9B,KAAA/F,KAAA,MAAA6H,EAAA9B,KAAA+Z,MAOmB5f,MAAA,GAAAA,MAAA,aAAA2H,EAAA9B,KAAA+Z,OCjD1F,IAAMgtD,GAA2C,MAAlD,MAAOA,EAYDr1B,4BACAh3C,wBACA8O,GACA7O,OACA+oB,qBACAxI,uBACA3R,YACAH,oBACA3O,iBAnBDuF,UAAsCijB,EAC/C2B,YAAsB,EACtBkiD,QAAkB,EAElBnmB,uBAAiC,4BACjCC,kCAA4C,4BAE5CzlD,KACAotB,mBAEA3uB,YACU83C,EACAh3C,EACA8O,EACA7O,EACA+oB,EACAxI,EACA3R,GACAH,GACA3O,IARAV,KAAA23C,8BACA33C,KAAAW,0BACAX,KAAAyP,KACAzP,KAAAY,SACAZ,KAAA2pB,uBACA3pB,KAAAmhB,yBACAnhB,KAAAwP,eACAxP,KAAAqP,uBACArP,KAAAU,oBAERV,KAAK+sE,OAAS/sE,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SACjE9qB,KAAKoB,KAAOpB,KAAKyP,GAAG0F,MAAM,CACxBjV,GAAI,IAAIqB,KAAY,IACpB2R,QAAS,IAAI3R,KAAY,IACzB0G,OAAQ,IAAI1G,KAAY,IACxBye,KAAM,IAAIze,KAAY,IACtB0lD,kBAAmB,IAAI1lD,KAAY,GAAIC,KAAWG,QAAQ3B,KAAK4mD,yBAC/DM,iBAAkB,IAAI3lD,KAAY,GAAIC,KAAWG,QAAQ3B,KAAK4mD,yBAC9DO,SAAU,IAAI5lD,KAAY,IAAIqvB,MAC9Bw2B,gBAAiB,IAAI7lD,KAAY,IACjC+lD,2BAA4B,IAAI/lD,KAAY,GAAIC,KAAWG,QAAQ3B,KAAK6mD,qCAE5E,CAEAtC,YAAYC,GACNA,EAAQv+C,MACNjG,KAAKiG,OACPjG,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASpT,KAAKiG,KAAK/F,IAAI2L,YAChD7L,KAAKoB,KAAKgB,SAAS8Q,QAAWE,SAASpT,KAAKiG,KAAKiN,QAAQrH,YACzD7L,KAAKoB,KAAKgB,SAAS6F,OAAUmL,SAASpT,KAAKiG,KAAKgC,OAAO4D,YACvD7L,KAAKoB,KAAKgB,SAAS4d,KAAQ5M,SAASpT,KAAKiG,KAAK+Z,KAAKnU,YACjB,MAA9B7L,KAAKiG,KAAK+Z,KAAKnU,aACjB7L,KAAKoB,KAAKgB,SAASglD,gBAAmBtzC,cAActS,KAAWC,UAC/DzB,KAAKoB,KAAKgB,SAASglD,gBAAmBrzC,0BAExC/T,KAAKoB,KAAKgB,SAAS6kD,kBAAqB7zC,SAASpT,KAAKiG,KAAKghD,mBAC3DjnD,KAAKoB,KAAKgB,SAAS8kD,iBAAoB9zC,SAASpT,KAAKiG,KAAKihD,kBAC1DlnD,KAAKoB,KAAKgB,SAAS+kD,SAAY/zC,YAAS69B,MAAgBjxC,KAAKiG,KAAKkhD,WAClEnnD,KAAKoB,KAAKgB,SAASglD,gBAAmBh0C,SAASpT,KAAKiG,KAAKmhD,iBACzDpnD,KAAKoB,KAAKgB,SAASklD,2BAA8Bl0C,SAASpT,KAAKiG,KAAKqhD,4BAG1E,CAEAplD,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEA4K,SAEE,GADAnN,KAAKkC,+BACAlC,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAGhD,IAAIkV,EAAqD5X,KAAKoB,KAAKlR,MAC/D8P,KAAKiG,OACH2R,EAAW1X,GACbF,KAAK23C,4BAA4BX,6BAA6Bp/B,EAAW1X,GAAI0X,GAAY9V,UAAUmE,IACjGjG,KAAKW,wBAAwBqC,mBAAmB,gDAChDhD,KAAKY,OAAOsC,SAAS,CAAC,oCAAmC,GAG3DlD,KAAK23C,4BAA4BZ,0BAA0Bn/B,GAAY9V,UAAUmE,IAC/EjG,KAAKW,wBAAwBqC,mBAAmB,gDAChDhD,KAAKY,OAAOsC,SAAS,CAAC,oCAAmC,GAIjE,CAEA27C,iBACE7+C,KAAKmhB,uBAAuB8rD,2CAA2CjtE,KAAKiG,KAAMiN,QAASlT,KAAKiG,KAAMgC,OAAQ,IAChH,CAEA47B,UAAU1hC,GACRnC,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAAS,KAChC,CAEA1K,KAAKvG,GACH,IAAIjS,EAAQ8P,KAAKoB,KAAKiB,IAAIF,IAAOuU,cACjC,GAAIvU,EAAK+U,WAAW,QAAS,CAC3BhnB,EAAQ8P,KAAKwP,YAAYigC,eAAev/C,GAExC,UAAW63D,KAAY/nD,KAAKoB,KAAKgB,SAC3B2lD,EAAS7wC,WAAW,SACtBlX,KAAKoB,KAAKiB,IAAI0lD,IAAWh0C,wBAG/B,CACA/T,KAAKqP,oBAAoBsH,IAAIxU,EAAMjS,EACrC,CAEAs2D,oCACE,MAAM33B,EAAgB7uB,KAAK8uB,wBAI3B9uB,KAAK23C,4BAA4BV,iCAHnBj3C,KAAKoB,KAAKgB,SAAS8Q,QAAWhjB,MAC/B8P,KAAKoB,KAAKgB,SAAS6F,OAAU/X,MAC/B8P,KAAKoB,KAAKgB,SAAS4d,KAAQ9vB,MACmD2+B,EAAe9oB,IAC1G,CAEQ+oB,wBACN,OAAA9uB,KAAKU,iBAAiBmB,MAAMC,UAAUC,IAChCA,IACF/B,KAAKwuB,mBAAqBzsB,KAIvB/B,KAAKwuB,kBACd,CAGmBtF,eAAYA,6CA/HpB8jD,GAA2C5sE,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAA+C,MAAA/C,MAAAyb,MAAAzb,MAAA0b,MAAA1b,MAAA2b,MAAA3b,MAAA4b,MAAA,+BAA3CgxD,EAA2C1pE,UAAA,gDAAAqd,OAAA,CAAA1a,KAAA,QAAA6a,SAAA,CAAA1gB,OAAAmD,MAAA,EAAAC,KAAA,EAAAC,OAAA,ymCAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,GDlBxDvD,MAAA,EAAA8sE,GAAA,mBAAM9sE,MAAA,OAAAwD,EAAAqC,snBCkBO+mE,CAA2C,oECiKlD5sE,MAAA,gBACEA,MAAA,kDAEFA,+BADIA,cAAA,OAAA+wB,EAAAg8C,yDA7KI/sE,MAPd,eAOcA,CAP8C,qBAO9CA,CANM,oBAMNA,CALqD,cAKrDA,CAJqB,YAIrBA,CAH4C,WAG5CA,CAF6C,gBAE7CA,CADsB,YACdA,MAAA,uBAAiBA,QAInBA,MAHN,WAGMA,CAHmC,YAGnCA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,oBAAaA,QACxBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,gCAAgBA,QAC3BA,MAAA,eAEJA,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,cAAOA,QAClBA,MAAA,eACFA,QAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,uBAAgBA,QAC3BA,MAAA,eAEJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kDAAwCA,QACnDA,MAAA,gCAIFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,gDAAsCA,QACjDA,MAAA,gCAIFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,sCAA4BA,QACvCA,MAAA,eAIRA,cAEEA,MADF,iBACEA,CADsB,aACdA,MAAA,yBAAkBA,QAIpBA,MAHN,YAGMA,CAHmC,YAGnCA,CAFsD,uBAEtDA,CADyE,gBAC9DA,MAAA,gDAAmCA,QAC9CA,MAAA,eAOFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,gEAAgDA,QAC3DA,MAAA,eAQJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADyE,gBAC9DA,MAAA,uCAAgCA,QAC3CA,MAAA,eAOFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,sCAA+BA,QAC1CA,MAAA,eAOFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,uCAAgCA,QAC3CA,MAAA,eAURA,cAEEA,MADF,iBACEA,CADsB,aACdA,MAAA,sDAAyCA,QAG7CA,MAFJ,YAEIA,CAFqC,uBAErCA,CADuD,gBAC5CA,MAAA,mDAAsCA,QACjDA,MAAA,oBACEA,MAAA,oBACAA,MAAA,oBAAsBA,MAAA,UAAGA,QACzBA,MAAA,oBAAsBA,MAAA,aAI9BA,gBAEEA,MADF,iBACEA,CADsB,aACdA,MAAA,mDAAsCA,QAG1CA,MAFJ,YAEIA,CAFqC,uBAErCA,CADyE,gBAC9DA,MAAA,sBAAeA,QAC1BA,MAAA,kBACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,gDAAsCA,QACjDA,MAAA,kBACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,2EAA6DA,QACxEA,MAAA,mBACFA,QAEEA,MADF,wBACEA,CADyE,iBAEtEA,MAAA,mJACqBA,QAExBA,MAAA,mBAGNA,YAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,gBAAQA,QAEdA,MADF,aACEA,CADuC,WAErCA,MAAA,+BAUNA,YAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,4BAAcA,QAGlBA,MAFJ,aAEIA,CAFqC,wBAErCA,CADyE,iBAC9DA,MAAA,yBAAWA,QACtBA,MAAA,mBAMZA,kBACAA,MAAA,IAAAgtE,GAAA,kBAMNhtE,kCApLcA,MAAA,GAAAA,MAAA,YAAA+wB,EAAA/vB,MAQsBhB,MAAA,IAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAAvpE,WAIA1D,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAAtpE,cAKF3D,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAAngD,QAKE9sB,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAAjgD,iBAIAhtB,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAA9+B,qBAQdnuC,MAAA,GAAAA,MAAA,QAAAA,MAAA,MAAA+wB,EAAAk8C,oBAAAhgD,iBAAA,eAOAjtB,MAAA,GAAAA,MAAA,QAAAA,MAAA,MAAA+wB,EAAAk8C,oBAAA9/C,eAAA,eAKcntB,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAA1+B,cAcdvuC,MAAA,GAAAA,MAAA,4BAUAA,MAAA,GAAAA,MAAA,4BAYAA,MAAA,GAAAA,MAAA,4BAUAA,MAAA,GAAAA,MAAA,4BAUAA,MAAA,GAAAA,MAAA,4BAsDFA,MAAA,IAAAA,MAAA,sCAAA+wB,EAAAjxB,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAA+wB,EAAAm7B,oBAG1BlsD,CAF0B,iBAmBDA,MAAA,IAAAA,MAAA,OAAA+wB,EAAA8nB,SAAA9nB,EAAA47C,kDAgBvC3sE,MAAA,eAA0CA,MAAA,mBAAAA,MAAA0iB,GAAA,MAAAqO,EAAA/wB,QAAA,OAAAA,MAAS+wB,EAAAhkB,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,cAC5BA,SC9KC,IAAMktE,GAA0C,MAAjD,MAAOA,EAqCDpsE,MACAN,OACA+2C,4BACAnjB,mBACA7zB,wBACAgpB,qBACAxI,uBA1CVjO,QACAjL,OACA/H,GACAmtE,oBACAxiD,YAAsB,EACtBouB,SAAmB,EACnB8zB,QAAkB,EAClBQ,oBAA8B,EAE9BJ,kCAA8DjkD,EACrDloB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,gBAAcC,MAAO,mCAAoCC,KAAM,oBACxE,CAAEF,MAAO,uBAAqBC,MAAO,GAAIC,KAAM,SAEjDC,KAAO,IAAIC,KAAU,CACnB6R,QAAS,IAAI3R,KAAY,GAAIC,KAAWC,UACxCwG,OAAQ,IAAI1G,KAAY,GAAIC,KAAWC,UACvC+rE,cAAe,IAAIjsE,KAAY,GAAIC,KAAWC,UAC9CgsE,sBAAuB,IAAIlsE,KAAY,GAAIC,KAAWC,UACtDisE,yBAA0B,IAAInsE,KAAY,GAAIC,KAAWC,UACzDksE,uBAAwB,IAAIpsE,KAAY,GAAIC,KAAWC,UACvDmsE,sBAAuB,IAAIrsE,KAAY,GAAIC,KAAWC,UACtDosE,uBAAwB,IAAItsE,KAAY,GAAIC,KAAWC,UACvDqsE,4BAA6B,IAAIvsE,KAAY,GAAIC,KAAWC,UAC5DssE,WAAY,IAAIxsE,KAAY,GAAIC,KAAWC,UAC3CusE,WAAY,IAAIzsE,KAAY,GAAIC,KAAWC,UAC3CwsE,WAAY,IAAI1sE,KAAY,GAAIC,KAAWC,UAC3CysE,WAAY,IAAI3sE,KAAY,GAAIC,KAAWC,UAC3C0sE,sBAAuB,IAAI5sE,KAAY,MAGHmqD,wBACtCY,oBAEAzsD,YACUqB,EACAN,EACA+2C,EACAnjB,EACA7zB,EACAgpB,EACAxI,IANAnhB,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA23C,8BACA33C,KAAAw0B,qBACAx0B,KAAAW,0BACAX,KAAA2pB,uBACA3pB,KAAAmhB,0BAERnhB,KAAKssD,oBAAsB,IAAI/qD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAKi5C,QAAUj5C,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAClE9qB,KAAK+sE,OAAS/sE,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SACjE9qB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,uBACPC,MAAO,0CAA0ClB,KAAKkT,WAAWlT,KAAKiI,SACtE9G,KAAM,QAERnB,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KACvEjC,KAAKqtE,oBAAsBprE,GAC3BjC,KAAK6qB,WAAa7qB,KAAKmxC,iBAAe,GAExCnxC,KAAK23C,4BAA4Bd,6BAA6B72C,KAAKkT,QAASlT,KAAKiI,OAAQ,KAAKnG,UAAUG,KACtGjC,KAAKouE,iCAAiCnsE,IACtCjC,KAAKE,GAAK+B,GAAI/B,GACdF,KAAKoB,KAAKgB,SAAS8Q,QAAWE,SAASpT,KAAKkT,QAAQrH,YACpD7L,KAAKoB,KAAKgB,SAAS6F,OAAUmL,SAASpT,KAAKiI,OAAO4D,YAClD7L,KAAKoB,KAAKgB,SAASorE,cAAiBp6D,SAASnR,GAAIurE,eAAiB,KAClExtE,KAAKoB,KAAKgB,SAASqrE,sBAAyBr6D,SACb,MAA7BnR,GAAIwrE,sBAAgCxrE,GAAIwrE,sBAAsB5hE,WAAa,IAE7E7L,KAAKoB,KAAKgB,SAASsrE,yBAA4Bt6D,SACb,MAAhCnR,GAAIyrE,yBAAmCzrE,GAAIyrE,yBAAyB7hE,WAAa,IAEnF7L,KAAKoB,KAAKgB,SAASurE,uBAA0Bv6D,SACb,MAA9BnR,GAAI0rE,uBAAiC1rE,GAAI0rE,uBAAuB9hE,WAAa,IAE/E7L,KAAKoB,KAAKgB,SAASwrE,sBAAyBx6D,SACb,MAA7BnR,GAAI2rE,sBAAgC3rE,GAAI2rE,sBAAsB/hE,WAAa,IAE7E7L,KAAKoB,KAAKgB,SAASyrE,uBAA0Bz6D,SACb,MAA9BnR,GAAI4rE,uBAAiC5rE,GAAI4rE,uBAAuBhiE,WAAa,IAE/E7L,KAAKoB,KAAKgB,SAAS0rE,4BAA+B16D,SAASnR,GAAI6rE,6BAC/D9tE,KAAKoB,KAAKgB,SAAS2rE,WAAc36D,SAASnR,GAAI8rE,YAC9C/tE,KAAKoB,KAAKgB,SAAS4rE,WAAc56D,SAASnR,GAAI+rE,YAC9ChuE,KAAKoB,KAAKgB,SAAS6rE,WAAc76D,SAASnR,GAAIgsE,YAC9CjuE,KAAKoB,KAAKgB,SAAS8rE,WAAc96D,SAASnR,GAAIisE,YAC9CluE,KAAKoB,KAAKgB,SAAS+rE,sBAAyB/6D,SAASnR,GAAIksE,uBACzDnuE,KAAKssD,oBAAoBp8D,MAAM+kB,eAAehT,GAAIosE,WAAY,GAC9DruE,KAAKssD,oBAAoBl5C,SAASpT,KAAKssD,oBAAoBp8D,OAC3D8P,KAAKsuE,4BAA0B,EAChC,EAEL,CAEQF,iCAAiCnsE,GACvCjC,KAAKmtE,6BAA+B,CAClCjtE,GAAI+B,EAAI/B,GACRgT,QAASlT,KAAKkT,QACdjL,OAAQjI,KAAKiI,OACb+X,KAAM,IACNinC,kBAAmBhlD,EAAIglD,kBACvBC,iBAAkBjlD,EAAIilD,iBACtBC,SAAUllD,EAAIklD,SACdC,gBAAiBnlD,EAAImlD,gBACrBE,2BAA4BrlD,EAAIqlD,2BAEpC,CAEQnW,kBACN,GAAInxC,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,cAEZ,iBAAvC9qB,KAAKqtE,qBAAqBjtD,UACa,uBAAvCpgB,KAAKqtE,qBAAqBjtD,UAC1B,CACA,IAAImuD,EAAOvuE,KAAKwuE,gBAAgB,IAAI59C,MAChC69C,EAASzuE,KAAKwuE,gBAAgB,IAAI59C,KAAK5wB,KAAKqtE,qBAAqBhgD,mBACjEqhD,EAAM1uE,KAAKwuE,gBAAgB,IAAI59C,KAAK5wB,KAAKqtE,qBAAqB9/C,iBAClE,GAAIkhD,GAAUF,GAAQA,GAAQG,EAC5B,OAAO,CAEX,CAEF,OAAA1uE,KAAKoB,KAAKqS,WACH,CACT,CAEQ+6D,gBAAgBG,GAItB,SAHiD,IAAvCA,EAAGja,cAAc7oD,WAAWvF,OAAe,IAAMqoE,EAAGja,cAAgBia,EAAGja,cAAc7oD,YAG3E,IAF0B,IAApC8iE,EAAGC,WAAW/iE,WAAWvF,OAAe,IAAMqoE,EAAGC,WAAaD,EAAGC,WAAW/iE,aACzC,IAAnC8iE,EAAGE,UAAUhjE,WAAWvF,OAAe,IAAMqoE,EAAGE,UAAYF,EAAGE,UAAUhjE,YAErF,CAEQyiE,6BACNtuE,KAAKutE,qBACFvtE,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAASqrE,sBAAyBv9E,QACtE8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAASsrE,yBAA4Bx9E,QACzE8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAASurE,uBAA0Bz9E,QACvE8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAASwrE,sBAAyB19E,QACtE8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAASyrE,uBAA0B39E,QACvE8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAAS0rE,4BAA+B59E,QAC5E8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAAS2rE,WAAc79E,QAC3D8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAAS4rE,WAAc99E,QAC3D8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAAS6rE,WAAc/9E,QAC3D8P,KAAK8uE,qBAAqB9uE,KAAKoB,KAAKgB,SAAS8rE,WAAch+E,OAChE,CAEA4+E,qBAAqB57C,GACnB,OAAiB,MAAVA,GAA0D,KAAjBA,EAAM1S,MACxD,CAEAte,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEA4K,SAEE,GADAnN,KAAKkC,+BACAlC,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAA6C5X,KAAKoB,KAAKlR,MAEvD8P,KAAKE,GACPF,KAAK23C,4BAA4B/a,UAAU58B,KAAKE,GAAI0X,GAAY9V,UAAU4X,IACxE1Z,KAAKW,wBAAwBqC,mBAAmB,uCAChDhD,KAAKY,OAAOsC,SAAS,CAAC,qCACtBlD,KAAKqY,eAAa,GAGpBrY,KAAK23C,4BAA4BxqC,OAAOyK,GAAY9V,UAAU4X,IAC5D1Z,KAAKW,wBAAwBqC,mBAAmB,uCAChDhD,KAAKY,OAAOsC,SAAS,CAAC,qCACtBlD,KAAKE,GAAKwZ,EAAIxZ,GACdF,KAAKqY,eAAa,EAGxB,CAEQA,gBACNrY,KAAK0rD,wBAAyB1wC,WAAa,yBAAyBhb,KAAKE,8BACrEF,KAAKssD,oBAAoBp8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK0rD,yBAAyBvwC,QAElC,CAEA0jC,iBACE7+C,KAAKmhB,uBAAuB4tD,wBAAwB/uE,KAAKkT,QAASlT,KAAKiI,OAAQ,IACjF,CAEmBihB,eAAYA,6CAtMpBokD,GAA0CltE,MAAAC,MAAAD,MAAAC,MAAAD,MAAA+C,IAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAiD,MAAAjD,MAAAyb,MAAA,+BAA1CyxD,EAA0ChqE,UAAA,+CAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,wuEDvBvDvD,MAAA,wBACAA,MAAA,EAAA4uE,GAAA,qBA6LQ5uE,MAJR,eAIQA,CAJiD,qBAIjDA,CAHY,UAGZA,CAFuF,aAEvFA,CADoF,cAC1EA,MAAA,gBAAUA,QAAYA,MAAA,cAClCA,QAIAA,MAAA,EAAA6uE,GAAA,gBAKN7uE,mBAxMkBA,MAAA,SAAAwD,EAAA5C,aACeZ,cAAA,OAAAwD,EAAAypE,qBAkMmCjtE,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,2LC5KvDyiD,CAA0C,KCvBhD,IAAK4B,GAAZ,SAAYA,GACVA,SAAA1+E,WAAA,sBACA0+E,EAAAC,YAAA,cACAD,EAAAx+E,kBAAA,4BACAw+E,EAAAt+E,gBAAA,0BACAs+E,EAAAE,uBAAA,mCACAF,EAAAG,cAAA,yBACAH,EAAAr+E,aAAA,wBACAq+E,EAAA/9E,UAAA,eARU+9E,CASZ,CATA,CAAYA,IAAsB,ICE5B,MAAOI,GACXC,YACAnvD,SACAk4B,eACAC,iBACA80B,oBAEAxtE,YACE0vE,EACAnvD,EACAk4B,EACAC,EACA80B,GAEArtE,KAAKuvE,YAAcA,EACnBvvE,KAAKogB,SAAWA,EAChBpgB,KAAKs4C,eAAiBA,EACtBt4C,KAAKu4C,iBAAmBA,EACxBv4C,KAAKqtE,oBAAsBA,CAC7B,ECXK,IAAMmC,GAA0B,MAAjC,MAAOA,UAAkC/vE,KAMVC,YACzBiI,oBANDhI,MAAQ,uBACjBC,OAEAC,YACEC,EACiCJ,EACzBiI,GAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAChB,CAEA2vE,sBAAsB/5D,GACpB,OAAO1V,KAAKG,SAASH,KAAKL,MAAO+V,EACnC,CAEAvI,OAAO/L,EAA0Bw4C,GAC/B,OAAO55C,KAAK6iB,OAAO,GAAG7iB,KAAKL,SAASi6C,IAAcx4C,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAClG,CAEAwQ,UAAU18B,EAAYkB,EAA0Bw4C,GAC9C,OAAO55C,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,KAAM05C,IAAcx4C,GAAMsE,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aACxG,4CAvBWojD,GAAyBpvE,MAAAC,OAAAD,MAM1B,eAAaA,MAAA+C,MAAA,iCANZqsE,EAAyBlvE,QAAzBkvE,EAAyBjvE,UAAAC,WAFxB,gBAEDgvE,CAA0B,wECWjBpvE,MADF,WACEA,CAD8F,wBAM5FA,MAAA,oBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,MAAA,UAAAA,MAAU2H,EAAA2nE,mCAAkC,GAC5CtvE,MAAA,yBAA8BA,MAAA,SAAGA,QACjCA,MAAA,yBAA8BA,MAAA,YAElCA,oCAQIA,MANJ,WAMIA,CAN2F,uBAM3FA,CADgB,yBACoBA,MAAA,eAASA,QAC7CA,MAAA,yBAA8BA,MAAA,SAAGA,QACjCA,MAAA,yBAAkCA,MAAA,aAAOA,QACzCA,MAAA,yBAAgCA,MAAA,WAEpCA,mCAMEA,MAAA,0DAKAA,MAAA,cAKEA,MAAA,oBAAAmI,GAAAnI,MAAA6vC,GAAA,MAAAloC,EAAA3H,MAAA,UAAAA,MAAY2H,EAAAuS,qBAAA/R,GAA4B,GAL1CnI,mCANAA,MAFJ,WAEIA,CAFsG,sBAEtGA,CADuD,eAC5CA,MAAA,cAAQA,QAMnBA,MALA,EAAAuvE,GAAA,kBAKAvvE,CADW,EAAAwvE,GAAA,gBAQfxvE,2CAVOA,MAAA,GAAAA,MAAA,2BAAAyvE,EAAA3/E,MAAA4/E,OAIA1vE,cAAA,+BAAAyvE,EAAA3/E,MAAA4/E,+BAUH1vE,MAFJ,WAEIA,CAF+F,sBAE/FA,CADuD,eAC5CA,MAAA,YAAMA,QACjBA,MAAA,iBAEJA,qCAnDIA,MARN,UAQMA,CAHgB,UAGhBA,CAF+C,UAE/CA,CAD8D,eACnDA,MAAA,GACbA,UAcAA,MAZA,EAAA2vE,GAAA,aAYA3vE,CAZgG,EAAA4vE,GAAA,eAwBlG5vE,QAmBAA,MAjBA,EAAA6vE,GAAA,aAiBA7vE,CAjB0G,EAAA8vE,GAAA,cAuB5G9vE,kCAvDEA,MAAA,yBAGeA,MAAA,GAAAA,MAAA,GAAA+vE,EAAAjgF,MAAAkgF,cAAA,MAAAD,EAAAjgF,MAAAmgF,SAAA,IAGkCjwE,cAAA,mBAAA+vE,EAAAjgF,MAAAogF,cAYAlwE,cAAA,kBAAA+vE,EAAAjgF,MAAAogF,cAcUlwE,cAAA,iBAAA+vE,EAAAjgF,MAAAogF,cAiBAlwE,cAAA,OAAA+vE,EAAAjgF,MAAAqgF,8CAxD/DnwE,MAFJ,UAEIA,CAF4F,eAE5FA,CADsB,YACdA,MAAA,GAAuBA,QAC/BA,MAAA,WACEA,MAAA,EAAAowE,GAAA,8CA+DNpwE,0DAnE4EA,MAAA,gBAAAoxB,GAEhEpxB,MAAA,GAAAA,MAAAyvE,EAAA3/E,MAAA4/E,OAIgC1vE,MAAA,GAAAA,MAAA,UAAAA,MAAA,IAAAoxB,EAAAzpB,EAAA0oE,0BAAAruE,oDAiEhDhC,MAAA,qCAKEA,MAAA,kBAAAmI,GAAAnI,MAAAuxB,GAAA,MAAA5pB,EAAA3H,QAAA,OAAAA,MAAU2H,EAAAnC,YAAA2C,GAAmB,GAE9BnI,gCADCA,MAJA,gBAAA2H,EAAA2oE,cAIAtwE,CAJ+B,eAAA2H,EAAAkY,aAI/B7f,CAF6B,UAAA2H,EAAAmY,QAAAqgC,KAAAx4C,KChE9B,IAAM4oE,GAAiC,MAAxC,MAAOA,EAiBDhwE,wBACAgpB,qBACAla,GACAmhE,0BACAphE,YApBiBG,aAElB+gE,cACAG,kBACCzvD,OAAS,IAAIjB,MAEvBjgB,GACA2qB,YAAsB,EAEtB5K,aAAuB,GAEvB7e,KAEAqvE,yBAEA5wE,YACUc,EACAgpB,EACAla,EACAmhE,EACAphE,GAJAxP,KAAAW,0BACAX,KAAA2pB,uBACA3pB,KAAAyP,KACAzP,KAAA4wE,4BACA5wE,KAAAwP,cAERxP,KAAKoB,KAAOpB,KAAKyP,GAAG0F,MAAM,CACxBjV,GAAI,CAAC,IACLwV,cAAe,CAAC,GAAIlU,KAAWC,UAC/BqvE,qBAAsB,CAAC,IACvBC,qBAAsB,CAAC,IACvBC,YAAa,CAAC,IACdC,gBAAiBjxE,KAAKyP,GAAG4/B,MAAM,CAC7BrvC,KAAKyP,GAAG0F,MAAM,CACZ+7D,UAAWlxE,KAAKyP,GAAG4/B,MAAM,UAI/BrvC,KAAKywE,yBAA2BzwE,KAAKoB,KAAKiB,IAAI,kBAChD,CAEAkD,WACMvF,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAW9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UACnH9qB,KAAKigB,aAAe,OACXjgB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,cAC5D9qB,KAAKigB,aAAe,cAExB,CAEAskC,YAAYC,GACNA,EAAQqsB,mBAAwB7wE,KAAK6wE,mBAAqB7wE,KAAK6wE,kBAAkBxD,qBACnFrtE,KAAK4wE,0BACFnB,sBAAsBzvE,KAAK6wE,kBAAkBxD,oBAAoBntE,IACjE4B,UAAUG,IACTjC,KAAKmxE,YAAYlvE,EAAG,EAG5B,CAEQkvE,YAAYlvE,GAClBjC,KAAKoB,KAAK6B,QACNjD,KAAKywE,yBAAyBnqE,OAAS,GACzCtG,KAAKywE,yBAAyB9oB,SAAS,GAEzC3nD,KAAKE,GAAK+B,EAAI/B,GACdF,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASnR,EAAI/B,IAAI2L,YAC1C7L,KAAKoB,KAAKgB,SAASsT,cAAiBtC,SAASnR,EAAIyT,cAAc7J,YAC/D7L,KAAKoB,KAAKgB,SAAS0uE,qBAAwB19D,SAASnR,EAAI6uE,sBACxD9wE,KAAKoB,KAAKgB,SAAS2uE,qBAAwB39D,SAASnR,EAAI8uE,sBACxD/wE,KAAKoB,KAAKgB,SAAS4uE,YAAe59D,SAASpT,KAAKwP,YAAYyE,mBAAmBhS,EAAI+uE,aAAanlE,aAChG5J,EAAIgvE,gBAAgBt8D,QAAQy8D,IAC1B,MAAMC,EAAyBrxE,KAAKyP,GAAG0F,MAAM,CAC3C+7D,UAAWlxE,KAAKyP,GAAG4/B,MAAM,IACzBygC,MAAOsB,EAActB,QAEjBwB,EAAqBD,EAAuBhvE,IAAI,aACtD+uE,EAAcF,UAAUhsE,KAAK,CAAC4gE,EAAGyL,IAAMzL,EAAEsK,cAAgBmB,EAAEnB,eAC3DgB,EAAcF,UAAUv8D,QAAQ,CAAC07D,EAAUt1D,KACzC,MAAMy2D,GAAoBxxE,KAAKyP,GAAG0F,MAAM,CACtCjV,GAAImwE,EAASnwE,GACbuxE,qBAAsBpB,EAASoB,qBAC/BC,WAAYrB,EAASqB,WACrBrB,SAAUA,EAASA,SACnBE,kBAAmBF,EAASE,kBAC5BH,cAAeC,EAASD,cACxBuB,cAAetB,EAASsB,cACxBrB,aAAcD,EAASC,aACvBsB,sBAAuBvB,EAASuB,sBAChCC,mCAAoCxB,EAASwB,mCAC7CC,2CAA4CzB,EAASyB,2CACrDV,cAAef,EAASe,cACxBW,mBAAoB1B,EAAS0B,mBAC7B17D,SAAU,CACRg6D,EAASh6D,SACT,CAAC7U,KAAWC,SACTqiB,IACKA,GAAQzhB,IAAI,yBACP,CAAE2vE,YAAY,GACT,OAIpBC,WAAY5B,EAAS4B,aAEvBX,EAAmBh+D,KAAKk+D,GAAiB,GAE3CxxE,KAAKywE,yBAAyBn9D,KAAK+9D,EAAsB,GAE3DrxE,KAAK0vE,mCACL1vE,KAAK6qB,WAAa7qB,KAAKmxC,iBACzB,CAEQA,kBACN,WACEnxC,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAAY9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WACxD,uBAA1D9qB,KAAK6wE,mBAAmBxD,qBAAqBjtD,UAC5CpgB,KAAK6wE,mBAAmBzwD,WAAa8uD,GAAuBC,aAC3DnvE,KAAK6wE,mBAAmBzwD,WAAa8uD,GAAuBx+E,mBAC7DsP,KAAK6wE,kBAAkBv4B,kBAElBi2B,EAAOC,MAAgB,IAAI59C,QAC3B89C,EAAMF,MAAgB,IAAI59C,KAAK5wB,KAAK6wE,mBAAmBxD,qBAAqB9/C,oBAKpFvtB,KAAKoB,KAAKqS,UACVzT,KAAKkyE,gBAAgBlyE,KAAKywE,2BACnB,EACT,CAEAyB,gBAAgBpuD,GACd,GAAIA,aAAmBziB,KACrB,UAAW8wE,KAAeruD,EAAQ1hB,SAAU,CAC1C,MAAMgwE,EAAgBtuD,EAAQzhB,IAAI8vE,GAC9BC,GACFpyE,KAAKkyE,gBAAgBE,EAEzB,MACStuD,aAAmBvJ,KAC5BuJ,EAAQ1hB,SAASuS,QAAQy9D,IACvBpyE,KAAKkyE,gBAAgBE,EAAa,GAGpCtuD,EAAQrQ,SAEZ,CAEA4+D,kBACuD,kBAAjDryE,KAAKoB,KAAKiB,IAAI,yBAAyBnS,MACzC8P,KAAKoB,KAAKiB,IAAI,yBAAyByR,cAActS,KAAWC,WAEhEzB,KAAKoB,KAAKiB,IAAI,yBAAyBuU,kBACvC5W,KAAKoB,KAAKiB,IAAI,yBAAyB+Q,SAAS,KAElDpT,KAAKoB,KAAKiB,IAAI,yBAAyB0R,wBACzC,CAEAu+D,2BAA2BxuD,GACzBA,EAAQlN,kBACRkN,EAAQ/P,wBACV,CAEAw+D,iBAAiBtqB,GACf93D,OAAOyB,KAAKq2D,EAAU7lD,UAAUuS,QAAQrkB,IACtC,MAAMwzB,EAAUmkC,EAAU5lD,IAAI/R,GAC1BwzB,aAAmBziB,KACrBrB,KAAKuyE,iBAAiBzuD,GACbA,aAAmBvJ,KAC5BuJ,EAAQ1hB,SAASuS,QAAS69D,IACpBA,aAAwBnxE,MAC1BrB,KAAKuyE,iBAAiBC,EAAY,GAG7B1uD,aAAmBviB,MAC5BvB,KAAKsyE,2BAA2BxuD,EAAO,EAG7C,CAEA4rD,mCACE,GAAG1vE,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WACI,uBAA1D9qB,KAAK6wE,mBAAmBxD,qBAAqBjtD,SAC3CpgB,KAAKuyE,iBAAiBvyE,KAAKoB,MAC3BpB,KAAK6qB,YAAW,OAEhB,QAASpQ,EAAI,EAAGA,EAAIza,KAAKywE,yBAAyBnqE,OAAQmU,IAAK,CAC7D,MAAM62D,EAAqBtxE,KAAKywE,yBAAyB/oB,GAAGjtC,GAAGpY,IAAI,aACnE,QAASowE,EAAI,EAAGA,EAAInB,EAAmBhrE,OAAQmsE,IACzCnB,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,uCAAuCnS,QAErC8P,KAAK0yE,mBACpCj4D,EACA62D,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,uCAAuCnS,QAGxCmS,IAAI,aAAanS,QAC7CohF,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,+CAA+CnS,OAE5EohF,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,aAAayR,cAAc,CAACtS,KAAWC,WACpE6vE,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,aAAa0R,yBAC1Cu9D,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,aAAawU,WAE1Cy6D,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,aAAauU,kBAC1C06D,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,aAAa0R,yBAC1Cu9D,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,aAAa+Q,SAAS,IACnDk+D,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,aAAaoR,WAIlD,CAGJ,CAEAi/D,mBAAmBC,EAAoBC,GACrC,MAAMtB,EAAqBtxE,KAAKywE,yBAAyB/oB,GAAGirB,GAAYtwE,IAAI,aAC5E,QAASowE,EAAI,EAAGA,EAAInB,EAAmBhrE,OAAQmsE,IAC7C,GAAInB,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI,kBAAkBnS,QAAU0iF,EAC3D,OAAOtB,EAAmB5pB,GAAG+qB,GAGjC,OAAO,IACT,CAEAvwE,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,gBAGzB,QAASkY,EAAI,EAAGA,EAAIza,KAAKywE,yBAAyBnqE,OAAQmU,IAAK,CAC7D,MAAM62D,EAAqBtxE,KAAKywE,yBAAyB/oB,GAAGjtC,GAAGpY,IAAI,aACnE,QAASowE,EAAI,EAAGA,EAAInB,EAAmBhrE,OAAQmsE,IAAK,CAClD,MAAMI,EAAgBvB,EAAmB5pB,GAAG+qB,GAC5C,QAASN,KAAeU,EAAczwE,SAChCkvE,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI8vE,IAAc7vE,SAC7CgvE,EAAmB5pB,GAAG+qB,GAAGpwE,IAAI8vE,IAAc5vE,eAGjD,CACF,CACF,CAEA2d,UACE,IASIykC,EATA/sC,EAA2C5X,KAAKoB,KAAKlR,MAGzD,OAFA0nB,EAAWo5D,YAAchxE,KAAKwP,YAAYsjE,eAAe,IAAIliD,MAC7D5wB,KAAKkC,8BACAlC,KAAKoB,KAAKqB,OAQbkiD,EADE3kD,KAAKE,GACKF,KAAK4wE,0BAA0Bh0C,UAAU58B,KAAKE,GAAI0X,GAAY,GAE9D5X,KAAK4wE,0BAA0BzjE,OAAOyK,GAAY,GAIzD+sC,EAAUj/C,QACfgO,MAAIzN,IACFjG,KAAKE,GAAK+F,EAAK/F,IACR,KACR,EACDksB,MAAWlT,MACFsT,QAAG,OAnBZxsB,KAAKW,wBAAwB+B,iBAAiB,yEAAmE,EAC1G8pB,QAAG,GAqBd,CAEmBlS,qBAAuBA,KAE1C1U,YAAY1V,GACNA,GACF8P,KAAKohB,OAAOV,MAAK,EAErB,4CApRWiwD,GAAiCvwE,MAAAC,MAAAD,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,IAAAhD,MAAAiD,MAAA,+BAAjCstE,EAAiCrtE,UAAA,sCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,+vDDZtCvD,MAJR,QAIQA,CAJH,eAIGA,CAH0B,qBAG1BA,CAFc,WAEdA,CADmE,WAEjEA,MAAA,EAAA2yE,GAAA,aAqEJ3yE,UACAA,MAAA,QACAA,MAAA,EAAA4yE,GAAA,sCAUN5yE,mBAnFYA,MAAA,GAAAA,MAAA,YAAAwD,EAAAxC,MAEqBhB,MAAA,GAAAA,MAAA,UAAAwD,EAAA6sE,yBAAAruE,UAwExBhC,MAAA,GAAAA,MAAA,OAAAwD,EAAA8sE,wJC6NIuC,IAAyB1qD,OAAA,8JA1RzBooD,CAAiC,KA0RjCsC,GAAyB,MAAhC,MAAOA,EACXhyC,UAAU0xC,EAAoBlC,GAE5B,OADcA,EAAyB/oB,GAAGirB,GAC7BtwE,IAAI,YACnB,4CAJW4wE,EAAyB,6DAAzBA,EAAyB3xC,MAAA,WAAzB2xC,CAAyB,mPCrSlC7yE,MAAA,UACEA,MAAA,mBAA8CA,+BAA9CA,cAAA,KAAAA,MAAA,IAAA+wB,EAAA+hD,gBAAA,+CAHJ9yE,MAAA,WACEA,MAAA,GACAA,MAAA,EAAA+yE,GAAA,eAGF/yE,8BAJEA,cAAA,oBAAA+wB,EAAAiiD,kBAAA,KACOhzE,cAAA,OAAA+wB,EAAA+hD,iBAAA/hD,EAAAiiD,oBAAAjiD,EAAA+9C,uBAAAC,wCAeO/uE,MADF,gBACEA,CAD0D,OACvDA,MAAA,GACLA,iCADKA,MAAA,GAAAA,MAAA+wB,EAAA/sB,kDAqDKhE,MAAA,iBAEYA,MAAA,mBAAAA,MAAA0iB,GAAA,MAAAqO,EAAA/wB,MAAA,UAAAA,MAAS+wB,EAAA0S,UAAU,wBAAuB,GAEpDzjC,MAAA,aACFA,kDAsBFA,MAAA,iBAGEA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAA9e,EAAA/wB,MAAA,UAAAA,MAAS+wB,EAAA0S,UAAU,4BAA2B,GAE7CzjC,MAAA,YACHA,mCA8IJA,MAAA,SACEA,MAAA,6BAQFA,+BAHIA,cAAA,sCAAA+wB,EAAAjxB,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAA+wB,EAAAu7B,oBAG1BtsD,CAF0B,2DAuChCA,MAAA,eAA0CA,MAAA,mBAAAA,MAAAiE,GAAA,MAAA8sB,EAAA/wB,MAAA,UAAAA,MAAS+wB,EAAAhkB,SAAQ,GACzD/M,MAAA,cAAUA,MAAA,UAAIA,QACdA,MAAA,cACFA,mCAtRJA,MAHN,gBAGMA,CAHsD,qBAGtDA,CAFc,YAEdA,CADgD,YAG9CA,MAAA,EAAAizE,GAAA,mBAKEjzE,MADF,gBACEA,CADsB,YACdA,MAAA,uBAAiBA,QAInBA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,oBAAaA,QACxBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,gCAAgBA,QAC3BA,MAAA,eAEJA,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,cAAOA,QAClBA,MAAA,eACFA,QAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,uBAAgBA,QAC3BA,MAAA,eAEJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kDAAwCA,QACnDA,MAAA,gCAIFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,gDAAsCA,QACjDA,MAAA,gCAIFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,sCAA4BA,QACvCA,MAAA,eAEJA,UAGMA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,wCAA2BA,QACtCA,MAAA,GAAAkzE,GAAA,mBAYAlzE,MANA,cAMAA,CAF2C,8BAE3CA,CAD4F,4BAE9FA,QACAA,MAAA,8BASJA,QAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,6CAA0BA,QACrCA,MAAA,GAAAmzE,GAAA,mBAaAnzE,MANA,cAMAA,CAF+C,8BAE/CA,CADgG,4BAElGA,QACAA,MAAA,8BAWNA,YAEEA,MADF,iBACEA,CADsB,aACdA,MAAA,yBAAkBA,QAIpBA,MAHN,YAGMA,CAHmC,YAGnCA,CAFsD,uBAEtDA,CADyE,gBAC9DA,MAAA,gDAAmCA,QAC9CA,MAAA,eAQFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,gEAAgDA,QAC3DA,MAAA,eASJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADyE,gBAC9DA,MAAA,uCAAgCA,QAC3CA,MAAA,eAQFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,sCAA+BA,QAC1CA,MAAA,eAQFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,uCAAgCA,QAC3CA,MAAA,eAWRA,cAEEA,MADF,iBACEA,CADsB,aACdA,MAAA,sDAAyCA,QAG7CA,MAFJ,YAEIA,CAFqC,uBAErCA,CADuD,gBAC5CA,MAAA,oDAAsCA,QACjDA,MAAA,qBACEA,MAAA,qBACAA,MAAA,qBAAsBA,MAAA,WAAGA,QACzBA,MAAA,qBAAsBA,MAAA,cAE1BA,YAEEA,MADF,wBACEA,CADyE,iBAExEA,MAAA,yKAEDA,QACAA,MAAA,mBAGNA,YAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,oDAAsCA,QAG1CA,MAFJ,aAEIA,CAFqC,wBAErCA,CADyE,iBAC9DA,MAAA,wDAA6CA,QACxDA,MAAA,mBACFA,QAEEA,MADF,wBACEA,CADyE,iBAC9DA,MAAA,wBAAgBA,QAC3BA,MAAA,mBAGNA,YAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,gBAAQA,QAEdA,MADF,aACEA,CADuC,WAErCA,MAAA,+BAQFA,QACAA,MAAA,WACEA,MAAA,+BAQFA,QACAA,MAAA,IAAAozE,GAAA,WAYApzE,MAAA,WACEA,MAAA,+BAUNA,YAEEA,MADF,kBACEA,CADsB,cACdA,MAAA,4BAAcA,QAGlBA,MAFJ,aAEIA,CAFqC,wBAErCA,CADyE,iBAC9DA,MAAA,yBAAWA,QACtBA,MAAA,mBAGNA,YACAA,MAAA,UACAA,MAAA,cAWEA,MAAA,IAAAqzE,GAAA,iBAQVrzE,8DA5RUA,MAAA,GAAAA,MAAA,YAAA+wB,EAAA/vB,MAG4ChB,MAAA,GAAAA,MAAA,OAAA+wB,EAAA/sB,QAUtBhE,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAAvpE,WAIA1D,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAAtpE,cAKF3D,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAAngD,QAKE9sB,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAAjgD,iBAIAhtB,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAA9+B,qBAQdnuC,MAAA,GAAAA,MAAA,QAAAA,MAAA,MAAA+wB,EAAAk8C,oBAAAhgD,iBAAA,eAOAjtB,MAAA,GAAAA,MAAA,QAAAA,MAAA,MAAA+wB,EAAAk8C,oBAAA9/C,eAAA,eAKcntB,MAAA,GAAAA,MAAA,QAAA+wB,EAAAk8C,oBAAA1+B,cASXvuC,MAAA,GAAAA,MAAA,QAAA+wB,EAAAtG,YAMDzqB,cAAA,gBAAAszE,GAE+BtzE,cAAA,MAAAszE,GAQjCtzE,MAAA,GAAAA,MAAA,sCAAA+wB,EAAAjxB,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAA+wB,EAAAq7B,oBAG1BpsD,CAF0B,iBAazBA,MAAA,GAAAA,MAAA,QAAA+wB,EAAAtG,YAMDzqB,cAAA,gBAAAuzE,GAE+BvzE,cAAA,MAAAuzE,GAQjCvzE,MAAA,GAAAA,MAAA,sCAAA+wB,EAAAjxB,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAA+wB,EAAAs7B,oBAG1BrsD,CAF0B,iBAiBxBA,MAAA,IAEAA,MAFA,2BAEAA,CAF+B,WAAA+wB,EAAAyiD,YAW/BxzE,MAAA,GAEAA,MAFA,2BAEAA,CAF+B,WAAA+wB,EAAAyiD,YAa/BxzE,MAAA,GAEAA,MAFA,2BAEAA,CAF+B,WAAA+wB,EAAAyiD,YAW/BxzE,MAAA,GAEAA,MAFA,2BAEAA,CAF+B,WAAA+wB,EAAAyiD,YAW/BxzE,MAAA,GAEAA,MAFA,2BAEAA,CAF+B,WAAA+wB,EAAAyiD,YAmDjCxzE,MAAA,IAAAA,MAAA,sCAAA+wB,EAAAjxB,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAA+wB,EAAAm7B,oBAG1BlsD,CAF0B,iBAW1BA,MAAA,GAAAA,MAAA,sCAAA+wB,EAAAjxB,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAA+wB,EAAAo7B,oBAG1BnsD,CAF0B,iBAK9BA,MAAA,GAAAA,MAAA+wB,EAAAyiD,YAAA,OAkBIxzE,MAAA,GAAAA,MAAA,sCAAA+wB,EAAAjxB,GAAA,aACAE,MAHA,uBAGAA,CAH0B,KAAA+wB,EAAAw7B,oBAG1BvsD,CAF0B,iBA4B8BA,MAAA,IAAAA,MAAA,QAAA+wB,EAAAtG,YAAA,IAAAsG,EAAA/sB,kDAetEhE,MAJJ,eAIIA,CAFiG,WAEjGA,CAD+C,qCAK7CA,MAAA,kBAAAmI,GAAAnI,MAAAkpB,GAAA,MAAA6H,EAAA/wB,MAAA,UAAAA,MAAU+wB,EAAA/P,OAAA7Y,GAAc,GAG9BnI,qCANMA,MAAA,GAEAA,MAFA,gBAAA+wB,EAAAk8C,oBAAAntE,GAEAE,CAFyC,eAAA+wB,EAAAlR,wCAL/C7f,MAAA,EAAAyzE,GAAA,uCAEGzzE,MAAA,YAAA8oB,IAAAiI,EAAAiiD,mBAAAjiD,EAAAiiD,oBAAAjiD,EAAA+9C,uBAAA1+E,sDAeC4P,MAJJ,eAIIA,CAFiG,WAEjGA,CAD+C,wCAI7CA,MAAA,kBAAAmI,GAAAnI,MAAAuxB,GAAA,MAAAR,EAAA/wB,QAAA,OAAAA,MAAU+wB,EAAA/P,OAAA7Y,GAAc,GAG9BnI,oCALMA,MAAA,GACAA,MADA,oBAAA+wB,EAAA0/C,kBACAzwE,CADuC,gBAAA+wB,EAAAk8C,oBAAAntE,+BAM7CE,MAAA,gBACEA,MAAA,kDAEFA,8BADIA,cAAA,OAAA+wB,EAAAg8C,wEAgBN/sE,MAAA,eAGEA,MAAA,mBAAAA,MAAA2I,GAAA,MAAAooB,EAAA/wB,QAAA,OAAAA,MAAS+wB,EAAA2iD,mBAAkB,GAG3B1zE,MAAA,cAAUA,MAAA,0BAAoBA,QAC9BA,MAAA,4BACFA,gCAM2EA,MAAA,UAAgCA,MAAA,eAASA,mCAFtHA,MAAA,WAAqBA,MAAA,YAAMA,QAEzBA,MADF,WACEA,CADsB,OACnBA,MAAA,oFAAwEA,MAAA,EAAA2zE,GAAA,eAAgD3zE,MAAA,WAC7HA,UACAA,MAAA,QAGIA,MAFJ,WAEIA,CAF0G,cAE1GA,CADuF,eAC7EA,MAAA,WAAIA,QACdA,MAAA,sBACFA,QAEEA,MADF,eACEA,CADqF,eAC3EA,MAAA,WAAIA,QACdA,MAAA,mCAEJA,UACAA,MAAA,+BAboFA,MAAA,GAAAA,MAAA,OAAA+wB,EAAA6iD,mBAI7B5zE,MAAA,GAAAA,MAAA,mCAIAA,MAAA,GAAAA,MAAA,kCCnVlD,IAAM6zE,GAAwC,MAA/C,MAAOA,EA+DD/yE,MACAN,OACA+2C,4BACAnjB,mBACA7zB,wBACAgpB,qBACAxI,uBACAzR,OArEiBC,aAE3BuD,QACAjL,OACA/H,GACAmtE,oBACA6G,0BACArpD,YAAsB,EACtBspD,0BAAoC,EACpCl7B,SAAmB,EACnBm6B,kBACAvC,kBACAqC,gBACAjzD,aAAuB,GACvB7b,OAAiB,GACjBgwE,eAAyB,EACzBC,kBAA4B,EAC5BC,kBAA4B,EAC5BV,YAAsB,EAEtBI,mBAA6B,EAE7B7G,kCAA8DjkD,EAErDloB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,gBAAcC,MAAO,mCAAoCC,KAAM,oBACxE,CAAEF,MAAO,qBAAmBC,MAAO,GAAIC,KAAM,SAG/CC,KAAO,IAAIC,KAAU,CACnB6R,QAAS,IAAI3R,KAAY,GAAIC,KAAWC,UACxCwG,OAAQ,IAAI1G,KAAY,GAAIC,KAAWC,UACvC+rE,cAAe,IAAIjsE,KAAY,GAAIC,KAAWC,UAC9CgsE,sBAAuB,IAAIlsE,KAAY,GAAIC,KAAWC,UACtDisE,yBAA0B,IAAInsE,KAAY,GAAIC,KAAWC,UACzDksE,uBAAwB,IAAIpsE,KAAY,GAAIC,KAAWC,UACvDmsE,sBAAuB,IAAIrsE,KAAY,GAAIC,KAAWC,UACtDosE,uBAAwB,IAAItsE,KAAY,GAAIC,KAAWC,UACvDqsE,4BAA6B,IAAIvsE,KAAY,GAAIC,KAAWC,UAC5DssE,WAAY,IAAIxsE,KAAY,GAAIC,KAAWC,UAC3CusE,WAAY,IAAIzsE,KAAY,GAAIC,KAAWC,UAC3CwsE,WAAY,IAAI1sE,KAAY,GAAIC,KAAWC,UAC3C0sE,sBAAuB,IAAI5sE,KAAY,IACvC+sC,qBAAsB,IAAI/sC,KAAY,IAAIqvB,KAAQpvB,KAAWC,UAC7DopD,yBAA0B,IAAItpD,KAAY,IAAIqvB,KAAQpvB,KAAWC,YAG7BiqD,wBACAC,wBACAC,wBACAC,wBACAC,wBACAC,wBACtCO,oBACAC,oBACAC,oBACAC,oBACAC,oBACAC,oBAEA9sD,YACUqB,EACAN,EACA+2C,EACAnjB,EACA7zB,EACAgpB,EACAxI,GACAzR,IAPA1P,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA23C,8BACA33C,KAAAw0B,qBACAx0B,KAAAW,0BACAX,KAAA2pB,uBACA3pB,KAAAmhB,0BACAnhB,KAAA0P,UAER1P,KAAKssD,oBAAsB,IAAI/qD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAKusD,oBAAsB,IAAIhrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAKwsD,oBAAsB,IAAIjrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAKysD,oBAAsB,IAAIlrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK0sD,oBAAsB,IAAInrD,KAAY,IAAIuT,MAAsB,CACnEC,WAAY,IAACC,QAAuB,IACpCshC,SAAU,WAEZt2C,KAAK2sD,oBAAsB,IAAIprD,KAAY,IAAIuT,MACjD,CAEAvP,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKsyD,cACLtyD,KAAKgB,YAAY,GAAK,CACpBC,MAAO,qBACPC,MAAO,wCAAwClB,KAAKkT,WAAWlT,KAAKiI,SACpE9G,KAAM,UAGVnB,KAAKigB,aAAejgB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WACnE,SACA9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SACjD,OACA9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,YACjD,cACA,EACV,CAEQwnC,cAENtyD,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IACvEjC,KAAKqtE,oBAAsBprE,EAC3BjC,KAAKg0E,kBAAoBh0E,KAAKqtE,oBAAoBzvC,gBAElD59B,KAAK23C,4BAA4Bd,6BAA6B72C,KAAKkT,QAASlT,KAAKiI,OAAQ,KAAKnG,UAAUG,IACtGjC,KAAKouE,iCAAiCnsE,GACtCjC,KAAKu0E,aAAatyE,EAAKA,EAAIme,UAE3BpgB,KAAKw0B,mBAAmBggD,kBAAkBx0E,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IAC7EjC,KAAKk0E,0BAA4BjyE,EACjCjC,KAAKy0E,uBAAqB,EAC3B,EACF,EAEL,CAEQA,wBACNz0E,KAAKo0E,eAAiBp0E,KAAKk0E,0BAA2BQ,kBACtC10E,KAAKk0E,0BAA2BE,eAChCp0E,KAAKk0E,0BAA2BG,kBAChCr0E,KAAKk0E,0BAA2BS,cAChC30E,KAAKk0E,0BAA2BU,gBAChC50E,KAAKk0E,0BAA2BW,gBAChD70E,KAAKq0E,kBAAoBr0E,KAAKo0E,eACdp0E,KAAKk0E,0BAA2BQ,kBAChC10E,KAAKk0E,0BAA2BE,eAChCp0E,KAAKk0E,0BAA2BW,gBAChD70E,KAAKs0E,kBAAoBt0E,KAAKk0E,0BAA2BS,cACzC30E,KAAKk0E,0BAA2BU,gBAEhD50E,KAAK4zE,WAAuE,wBAA1D5zE,KAAKqtE,oBAAqB1vC,kBAAkB9xB,YACzD7L,KAAKE,IAAMF,KAAK4zE,aAEnB5zE,KAAKoB,KAAKgB,SAASqrE,sBAAsBr6D,SAASpT,KAAKo0E,eAAevoE,YACtE7L,KAAKoB,KAAKgB,SAASsrE,yBAAyBt6D,SAASpT,KAAKq0E,kBAAkBxoE,YAC5E7L,KAAKoB,KAAKgB,SAASurE,uBAAuBv6D,SAASpT,KAAKs0E,kBAAkBzoE,YAC1E7L,KAAKoB,KAAKgB,SAASwrE,sBAAsBx6D,SAASpT,KAAKk0E,0BAA2BS,cAAc9oE,YAChG7L,KAAKoB,KAAKgB,SAASyrE,uBAAuBz6D,SAASpT,KAAKk0E,0BAA2BU,gBAAgB/oE,aAE/F7L,KAAKk0E,0BAA2BQ,kBAAoB,GACnD10E,KAAKk0E,0BAA2BE,eAAiB,GACjDp0E,KAAKk0E,0BAA2BG,kBAAoB,KACrDr0E,KAAKoB,KAAKqS,UACVzT,KAAKoE,OAAS,gHAGtB,CAEQgqE,iCAAiCnsE,GACvCjC,KAAKmtE,6BAA+B,CAClCjtE,GAAI+B,EAAI/B,GACRgT,QAASlT,KAAKkT,QACdjL,OAAQjI,KAAKiI,OACb+X,KAAM,IACNinC,kBAAmBhlD,EAAIglD,kBACvBC,iBAAkBjlD,EAAIilD,iBACtBC,SAAUllD,EAAIklD,SACdC,gBAAiBnlD,EAAImlD,gBACrBE,2BAA4BrlD,EAAIqlD,2BAEpC,CAEAitB,aAAatyE,EAA2Bme,GACtCpgB,KAAKE,GAAK+B,EAAI/B,GACdF,KAAKoB,KAAKgB,SAAS8Q,QAAWE,SAASpT,KAAKkT,QAAQrH,YACpD7L,KAAKoB,KAAKgB,SAAS6F,OAAUmL,SAASpT,KAAKiI,OAAO4D,YAClD7L,KAAKoB,KAAKgB,SAASorE,cAAiBp6D,SAA8B,MAArBnR,EAAIurE,cAAwBvrE,EAAIurE,cAAgB,KAC7FxtE,KAAKozE,kBAAoBhzD,QAAY8I,EACrClpB,KAAKkzE,gBAAkBjxE,EAAIixE,gBAC3BlzE,KAAK6qB,WAAa7qB,KAAKmxC,kBACvBnxC,KAAKm0E,yBACH/zD,IAAa8uD,GAAuBG,eAAiBrvE,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAC1G9qB,KAAKi5C,QAAUj5C,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAClE9qB,KAAKoB,KAAKgB,SAASqrE,sBAAyBr6D,SACb,MAA7BnR,EAAIwrE,sBAAgCxrE,EAAIwrE,sBAAsB5hE,WAAa,IAE7E7L,KAAKoB,KAAKgB,SAASsrE,yBAA4Bt6D,SACb,MAAhCnR,EAAIyrE,yBAAmCzrE,EAAIyrE,yBAAyB7hE,WAAa,IAEnF7L,KAAKoB,KAAKgB,SAASurE,uBAA0Bv6D,SACb,MAA9BnR,EAAI0rE,uBAAiC1rE,EAAI0rE,uBAAuB9hE,WAAa,IAE/E7L,KAAKoB,KAAKgB,SAASwrE,sBAAyBx6D,SACb,MAA7BnR,EAAI2rE,sBAAgC3rE,EAAI2rE,sBAAsB/hE,WAAa,IAE7E7L,KAAKoB,KAAKgB,SAASyrE,uBAA0Bz6D,SACb,MAA9BnR,EAAI4rE,uBAAiC5rE,EAAI4rE,uBAAuBhiE,WAAa,IAE/E7L,KAAKoB,KAAKgB,SAAS0rE,4BAA+B16D,SAASnR,EAAI6rE,6BAC/D9tE,KAAKoB,KAAKgB,SAAS2rE,WAAc36D,SAASnR,EAAI8rE,YAC9C/tE,KAAKoB,KAAKgB,SAAS4rE,WAAc56D,SAASnR,EAAI+rE,YAC9ChuE,KAAKoB,KAAKgB,SAAS6rE,WAAc76D,SAASnR,EAAIgsE,YAC9CjuE,KAAKoB,KAAKgB,SAAS+rE,sBAAyB/6D,SAASnR,EAAIksE,uBACzDnuE,KAAKoB,KAAKgB,SAASksC,qBAAwBl7B,YAAS69B,MAAgBhvC,EAAIqsC,uBACxEtuC,KAAKoB,KAAKgB,SAASyoD,yBAA4Bz3C,YAAS69B,MAAgBhvC,EAAI4oD,2BAC5E7qD,KAAKssD,oBAAoBp8D,MAAM+kB,eAAehT,EAAIosE,WAAY,GAC9DruE,KAAKssD,oBAAoBl5C,SAASpT,KAAKssD,oBAAoBp8D,OAC3D8P,KAAKusD,oBAAoBr8D,MAAM+kB,eAAehT,EAAI6yE,WAAY,GAC9D90E,KAAKusD,oBAAoBn5C,SAASpT,KAAKusD,oBAAoBr8D,OAC3D8P,KAAKwsD,oBAAoBt8D,MAAM+kB,eAAehT,EAAI8yE,WAAY,GAC9D/0E,KAAKwsD,oBAAoBp5C,SAASpT,KAAKwsD,oBAAoBt8D,OAC3D8P,KAAKysD,oBAAoBv8D,MAAM+kB,eAAehT,EAAI+yE,WAAY,GAC9Dh1E,KAAKysD,oBAAoBr5C,SAASpT,KAAKysD,oBAAoBv8D,OAC3D8P,KAAK0sD,oBAAoBx8D,MAAM+kB,eAAehT,EAAIgzE,WAAY,GAC9Dj1E,KAAK0sD,oBAAoBt5C,SAASpT,KAAK0sD,oBAAoBx8D,OAC3D8P,KAAK2sD,oBAAoBz8D,MAAM+kB,eAAehT,EAAIizE,WAAY,GAC9Dl1E,KAAK2sD,oBAAoBv5C,SAASpT,KAAK2sD,oBAAoBz8D,OAC3D8P,KAAK6wE,kBAAoB,IAAIvB,GAC3BtvE,KAAKE,GACLF,KAAKozE,kBACLnxE,EAAIq2C,eACJr2C,EAAIs2C,iBACJv4C,KAAKqtE,oBAET,CAEQl8B,kBACN,UACGnxC,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,YACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAEpD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,aACZ,uBAAvC9qB,KAAKqtE,qBAAqBjtD,eACE8I,IAA3BlpB,KAAKozE,mBACJpzE,KAAKozE,oBAAsBlE,GAAuB1+E,YAClDwP,KAAKozE,oBAAsBlE,GAAuBt+E,iBAClDoP,KAAKozE,oBAAsBlE,GAAuBx+E,mBAClDsP,KAAKozE,oBAAsBlE,GAAuBE,0BAE9Cb,EAAOC,MAAgB,IAAI59C,QAC3B89C,EAAMF,MAAgB,IAAI59C,KAAK5wB,KAAKqtE,qBAAqB9/C,oBAKjEvtB,KAAKoB,KAAKqS,UACVzT,KAAKm1E,yBACE,EACT,CAEQA,wBACNn1E,KAAK0rD,wBAAyBtoC,UAAW,EACzCpjB,KAAK2rD,wBAAyBvoC,UAAW,EACzCpjB,KAAK4rD,wBAAyBxoC,UAAW,EACzCpjB,KAAK6rD,wBAAyBzoC,UAAW,EACzCpjB,KAAK8rD,wBAAyB1oC,UAAW,EACzCpjB,KAAK+rD,wBAAyB3oC,UAAW,CAC3C,CAEAlhB,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,gBAGrBvC,KAAKssD,oBAAoBhqD,SAC3BtC,KAAKssD,oBAAoB/pD,gBAEvBvC,KAAKusD,oBAAoBjqD,SAC3BtC,KAAKusD,oBAAoBhqD,gBAEvBvC,KAAKwsD,oBAAoBlqD,SAC3BtC,KAAKwsD,oBAAoBjqD,gBAEvBvC,KAAKysD,oBAAoBnqD,SAC3BtC,KAAKysD,oBAAoBlqD,gBAEvBvC,KAAK0sD,oBAAoBpqD,SAC3BtC,KAAK0sD,oBAAoBnqD,eAE7B,CAEA4K,SAEEnN,KAAKo1E,iBAD4Cp1E,KAAKoB,KAAKlR,MAE7D,CAEAklF,iBAAiBx9D,GACG5X,KAAK0P,OAAO6I,KAAKvY,KAAK2P,cAC9BkJ,cAAc/W,UAAUiX,IACjB,iBAAXA,EACF/Y,KAAKq1E,aAAaz9D,GACE,eAAXmB,GACT/Y,KAAKs1E,oBAAoB19D,EAAU,EAGzC,CAEAy9D,aAAaz9D,GACP5X,KAAKE,GAEPF,KAAK23C,4BAA4B/a,UAAU58B,KAAKE,GAAI0X,GAAY9V,UAAU4X,IACxE1Z,KAAKW,wBAAwBqC,mBAAmB,kCAChDhD,KAAKqY,gBAELrY,KAAKY,OAAOsC,SAAS,CAAC,oCAAmC,IAI3D0U,EAAWwI,SAAW8uD,GAAuB1+E,WAC7CwP,KAAK23C,4BAA4BxqC,OAAOyK,GAAY9V,UAAU4X,IAC5D1Z,KAAKW,wBAAwBqC,mBAAmB,kCAChDhD,KAAKE,GAAKwZ,EAAIxZ,GACdF,KAAKqY,gBAELrY,KAAKY,OAAOsC,SAAS,CAAC,oCAAmC,GAG/D,CAEAoyE,oBAAoB19D,GAClB5X,KAAKkC,8BAEFlC,KAAKoB,KAAKqB,OACVzC,KAAKssD,oBAAoB7pD,OACzBzC,KAAKusD,oBAAoB9pD,OACzBzC,KAAKwsD,oBAAoB/pD,OACzBzC,KAAKysD,oBAAoBhqD,QACxBzC,KAAK0sD,oBAAoBjqD,OAAUzC,KAAK4zE,aAK5Ch8D,EAAWwI,SAAW8uD,GAAuBC,YACzCnvE,KAAKE,GACPF,KAAK23C,4BAA4B/a,UAAU58B,KAAKE,GAAI0X,GAAY9V,UAAU4X,IACxE1Z,KAAKW,wBAAwBqC,mBAAmB,wCAChDhD,KAAKY,OAAOsC,SAAS,CAAC,qCACtBlD,KAAKqY,eAAa,GAGpBrY,KAAK23C,4BAA4BxqC,OAAOyK,GAAY9V,UAAU4X,IAC5D1Z,KAAKW,wBAAwBqC,mBAAmB,wCAChDhD,KAAKY,OAAOsC,SAAS,CAAC,qCACtBlD,KAAKE,GAAKwZ,EAAIxZ,GACdF,KAAKqY,eAAa,IAfpBrY,KAAKW,wBAAwB+B,iBAAiB,uEAkBlD,CAEAoxE,mBACE,MAAMv6D,EAAgB,IAAIC,KACxB,gBACA,yEAAgExZ,KAAKqtE,qBAAqBvpE,2BAAqB9D,KAAKqtE,qBAAqBtpE,iBAEzH/D,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAChC,GAAIA,EAAK,CACP,IAAI9B,EAA6C5X,KAAKoB,KAAKlR,MAC3D0nB,EAAWwI,SAAW8uD,GAAuB/9E,UAC7C6O,KAAK23C,4BAA4B/a,UAAU58B,KAAKE,GAAK0X,GAAY9V,UAAUyzE,IACzEv1E,KAAKW,wBAAwBqC,mBAC3B,6EAEFhD,KAAKY,OAAOsC,SAAS,CAAC,oCAAmC,EAE7D,GAEJ,CAEQmV,gBACNrY,KAAK0rD,wBAAyB1wC,WAAa,yBAAyBhb,KAAKE,8BACrEF,KAAKssD,oBAAoBp8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK0rD,yBAAyBvwC,SAEhCnb,KAAK2rD,wBAAyB3wC,WAAa,yBAAyBhb,KAAKE,8BACrEF,KAAKusD,oBAAoBr8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK2rD,yBAAyBxwC,SAEhCnb,KAAK4rD,wBAAyB5wC,WAAa,yBAAyBhb,KAAKE,8BACrEF,KAAKwsD,oBAAoBt8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK4rD,yBAAyBzwC,SAEhCnb,KAAK6rD,wBAAyB7wC,WAAa,yBAAyBhb,KAAKE,8BACrEF,KAAKysD,oBAAoBv8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK6rD,yBAAyB1wC,SAE3Bnb,KAAK4zE,aACR5zE,KAAK8rD,wBAAyB9wC,WAAa,yBAAyBhb,KAAKE,8BACrEF,KAAK0sD,oBAAoBx8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK8rD,yBAAyB3wC,UAGlCnb,KAAK+rD,wBAAyB/wC,WAAa,yBAAyBhb,KAAKE,8BACrEF,KAAK2sD,oBAAoBz8D,MAAMkU,QAAU6W,MAAcC,aACzDlb,KAAK+rD,yBAAyB5wC,QAElC,CAEA0jC,iBACE7+C,KAAKmhB,uBAAuB4tD,wBAAwB/uE,KAAKkT,QAASlT,KAAKiI,OAAQ,IACjF,CAEA47B,UAAU1hC,GACRnC,KAAKoB,KAAKiB,IAAIF,IAAOiR,SAAS,KAChC,CAEmB87D,uBAAyBA,GAE5C9tD,OAAOlxB,GACDA,GACF8P,KAAKsyD,aAET,4CAvaW2hB,GAAwC7zE,MAAAC,MAAAD,MAAAC,MAAAD,MAAA+C,IAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAA0b,OAAA,+BAAxCm4D,EAAwC3wE,UAAA,6CAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,ytJD5BrDvD,MAAA,wBAEAA,MAAA,YACEA,MAAA,EAAAo1E,GAAA,aAMFp1E,QAIMA,MAHN,gBAGMA,CAH0B,qBAG1BA,CAFc,qBAEdA,CAD6D,gBAE3DA,MAAA,EAAAq1E,GAAA,sBA+RFr1E,QA0BAA,MAzBA,EAAAs1E,GAAA,iBAyBAt1E,CAzByB,EAAAu1E,GAAA,iBAyBzBv1E,CATqG,GAAAw1E,GAAA,kBAe3Gx1E,YACAA,MAAA,SAQMA,MAPN,iBAOMA,CAP0B,yBAO1BA,CAFiB,eAEjBA,CADoF,eAC1EA,MAAA,iBAAUA,QACpBA,MAAA,eACFA,QACAA,MAAA,GAAAy1E,GAAA,iBAUJz1E,UACAA,MAAA,GAAA01E,GAAA,0BAAA11E,cApWkBA,MAAA,SAAAwD,EAAA5C,aAGFZ,MAAA,GAAAA,MAAA,OAAAwD,EAAAwvE,mBAWyBhzE,MAAA,GAAAA,MAAA,OAAAwD,EAAAypE,qBAgSnCjtE,cAAAwD,EAAAowE,kBAAA,MAgBG5zE,cAAA,YAAA8oB,IAAAtlB,EAAAwvE,mBAAAxvE,EAAAwvE,oBAAAxvE,EAAAsrE,uBAAA1+E,YASoC4P,cAAA,OAAAwD,EAAAq1C,SAsBtC74C,MAAA,GAAAA,MAAA,OAAAwD,EAAAuwE,mZCjUMF,CAAwC,8CChB/C7zE,MAAA,QAAsCA,MAAA,GAA0BA,wCAA1BA,cAAAyD,EAAAkyE,6CACtC31E,MAAA,UAAyDA,MAAA,GAA2BA,wCAA3BA,cAAAyD,EAAAmyE,8CAGvD51E,MAAA,UACGA,MAAA,QACDA,MAAA,GAAoBA,yCAApBA,MAAA,GAAAA,MAAA,IAAAyD,EAAAouE,WAAA,+BAJJ7xE,MAAA,UACEA,MAAA,GACAA,MAAA,EAAA61E,GAAA,cAIF71E,wCALEA,cAAA,IAAAyD,EAAAkyE,iBAAA,KACO31E,cAAA,OAAAyD,EAAAouE,uCALX7xE,MAAA,QAGEA,MAFA,EAAA81E,GAAA,WAEA91E,CAFsC,EAAA+1E,GAAA,WAEtC/1E,CADyD,EAAAg2E,GAAA,YAQ3Dh2E,kCATOA,cAAA,aAAAyD,EAAAwyE,eACAj2E,cAAA,aAAAyD,EAAAwyE,eACAj2E,cAAA,aAAAyD,EAAAwyE,gBCAJ,IAAMC,GAA2C,MAAlD,MAAOA,EASuB/iE,OACzBuT,UACCyvD,yBAVVtwE,KAA4B,GACnBjF,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,mBAAcC,MAAO,mCAAoCC,KAAM,YACxE,CAAEF,MAAO,mBAAcC,MAAO,mCAAoCC,KAAM,aAG1EtB,YACkC0T,EACzBuT,EACCyvD,GAFwBv2E,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAAu2E,2BAERv2E,KAAKu2E,yBACFC,oCAAoCx2E,KAAKuT,OAAOL,QAASlT,KAAKuT,OAAOtL,OAAQjI,KAAKuT,OAAOxN,IAAK,WAC9FjE,UAAUG,IACTjC,KAAKiG,KAAOhE,EACZ,QAASwY,EAAI,EAAGA,EAAIza,KAAKiG,KAAKK,OAAQmU,IACpCza,KAAKy2E,iBAAiBh8D,GACtBza,KAAK02E,iBAAiBj8D,EAAC,EAG/B,CAEQg8D,iBAAiBh8D,GACY,MAA/Bza,KAAKiG,KAAKwU,GAAG47D,cACfr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,+DACQ,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,kDACQ,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,0EACQ,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,0DACQ,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,wCACQ,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,mEACQ,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBACX,+HACsC,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,gBACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,sDAEpC,CAEQW,iBAAiBj8D,GACnBsY,OAAO/yB,KAAKiG,KAAKwU,GAAG47D,eAAiB,EACvCr2E,KAAKiG,KAAKwU,GAAGu7D,kBAAoD,IAAhCh2E,KAAKiG,KAAKwU,GAAGk8D,eAAuB,MAAQ,SAC7B,IAAvC5jD,OAAO/yB,KAAKiG,KAAKwU,GAAG47D,iBAE3Br2E,KAAKiG,KAAKwU,GAAGu7D,kBADqB,IAAhCh2E,KAAKiG,KAAKwU,GAAGk8D,eACkB,YACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,MACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,UACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,QAEA,aAGvC,4CA7DWL,GAA2Cl2E,MAS5CgoB,OAAehoB,MAAAC,OAAAD,MAAA+C,MAAA,+BATdmzE,EAA2ChzE,UAAA,gDAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,2UAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDdxDvD,MAAA,wBAEAA,MAAA,WACEA,MAAA,aAGIA,MAFJ,UAEIA,CAFG,OAEHA,CADE,QACEA,MAAA,cAAQA,QACZA,MAAA,UAAuBA,MAAA,cAE3BA,YACAA,MAAA,WACEA,MAAA,GAAAw2E,GAAA,YAYJx2E,UAIMA,MAHN,gBAGMA,CAHmD,sBAGnDA,CAFc,WAEdA,CADyF,eACjDA,MAAA,0BAASwD,EAAAkjB,UAAAqB,OAAsB,GAAE/nB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAG1GA,qBA9BkBA,MAAA,SAAAwD,EAAA5C,aAWMZ,MAAA,IAAAA,MAAA,UAAAwD,EAAAqC,6dCGXqwE,CAA2C,mJCsD1Cl2E,MAAA,OAAyBA,MAAA,yCAA6BA,mCAa9CA,MADF,OACEA,CAD2B,QACvBA,MAAA,GAAuBA,QAC3BA,MAAA,WAAuBA,MAAA,GAAkBA,QACzCA,MAAA,WAAuBA,MAAA,GACzBA,oCAHMA,MAAA,GAAAA,MAAA4D,EAAAqyE,eACmBj2E,MAAA,GAAAA,MAAA4D,EAAAqS,UACAjW,MAAA,GAAAA,MAAA4D,EAAA6yE,uCAb7Bz2E,MAAA,WACEA,MAAA,aAGIA,MAFJ,UAEIA,CAFG,OAEHA,CADE,QACEA,MAAA,2BAAkBA,QACtBA,MAAA,WAAuBA,MAAA,cAAQA,QAC/BA,MAAA,WAAuBA,MAAA,gBAE3BA,YACAA,MAAA,YACEA,MAAA,GAAA02E,GAAA,aAMJ12E,iCANwBA,MAAA,IAAAA,MAAA,UAAA2iB,EAAA9c,8BAe1B7F,MAAA,OAAiBA,MAAA,yCAA6BA,gCAG1CA,MAAA,WAAsCA,MAAA,eAASA,kDAC/CA,MAAA,WAAkDA,MAAA,yBAAAkE,EAAAlE,MAAAiE,GAAAE,UAAAwe,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAAyb,SAAAl6B,GAAa,GAAkDlE,MAAA,GAA0CA,2CAA1CA,cAAA,SAAA2iB,EAAAvc,UAAAuc,EAAAtc,SAAAswE,EAAA,6BAE5H32E,MAAA,iCACAA,MAAA,qCANFA,MAAA,cACEA,MAAA,MAEEA,MADA,EAAA42E,GAAA,YACA52E,CADsC,EAAA62E,GAAA,qBAIxC72E,MADA,EAAA82E,GAAA,YACA92E,CAD8C,EAAA+2E,GAAA,aAEhD/2E,+BAP8BA,MAAA,aAAA2iB,EAAAq0D,wBAKRh3E,MAAA,GAAAA,MAAA,kBAAAA,MAAA,EAAAqL,KACarL,cAAA,mBAAAA,MAAA,EAAAqL,6BAoBnCrL,MAAA,OAA8BA,MAAA,yCAA6BA,gCAGvDA,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAqDA,MAAA,GAASA,kCAATA,cAAA+sB,0BAEvD/sB,MAAA,iCACAA,MAAA,qCANFA,MAAA,cACEA,MAAA,MAEEA,MADA,EAAAi3E,GAAA,YACAj3E,CADsC,EAAAk3E,GAAA,qBAIxCl3E,MADA,EAAAm3E,GAAA,YACAn3E,CAD+C,EAAAo3E,GAAA,aAEjDp3E,+BAP2CA,MAAA,aAAA2iB,EAAA00D,6BAKrBr3E,MAAA,GAAAA,MAAA,kBAAAA,MAAA,EAAAs3E,KACat3E,cAAA,mBAAAA,MAAA,EAAAs3E,6BAoBnCt3E,MAAA,OAA8BA,MAAA,yCAA6BA,gCAIvDA,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAqDA,MAAA,GAASA,kCAATA,cAAAipB,0BAEvDjpB,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,qCAVFA,MAAA,cACEA,MAAA,aACAA,MAAA,MAEEA,MADA,EAAAu3E,GAAA,YACAv3E,CADsC,EAAAw3E,GAAA,qBAKxCx3E,MAFA,EAAAy3E,GAAA,YAEAz3E,CAF+C,EAAA03E,GAAA,YAE/C13E,CADqD,EAAA23E,GAAA,aAIvD33E,+BAX2CA,MAAA,aAAA2iB,EAAAi1D,6BAMrB53E,MAAA,GAAAA,MAAA,kBAAAA,MAAA,EAAAs3E,KACat3E,cAAA,mBAAAA,MAAA,EAAAs3E,+CAxJzCt3E,MAJR,eAIQA,CAJoD,qBAIpDA,CAHY,UAGZA,CAF6C,eAE7CA,CADsB,YACdA,MAAA,uBAAiBA,QAInBA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,eAC5CA,MAAA,oBAAaA,QACxBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,gCAAgBA,QAC3BA,MAAA,eAEJA,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,cAAOA,QAClBA,MAAA,eACFA,QAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,uBAAgBA,QAC3BA,MAAA,eAEJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kDAAwCA,QACnDA,MAAA,gCAEFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,gDAAsCA,QACjDA,MAAA,gCACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,sCAA4BA,QACvCA,MAAA,eAIRA,cAKQA,MAJR,sBAIQA,CAJuD,gBAIvDA,CAHkB,WAGlBA,CAF6C,gBAE7CA,CADsB,aACdA,MAAA,gBAASA,QAEfA,MADF,QACEA,CADE,SACEA,MAAA,mEAAyDA,QAC7DA,MAAA,SAAIA,MAAA,sDAAyCA,QAC7CA,MAAA,SAAIA,MAAA,8EAAoEA,QACxEA,MAAA,SAAIA,MAAA,8DAAiDA,QACrDA,MAAA,SAAIA,MAAA,4CAAqCA,QACzCA,MAAA,SAAIA,MAAA,uEAAuDA,QAC3DA,MAAA,SACEA,MAAA,qIAINA,YAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,gBAASA,QACjBA,MAAA,GAAA63E,GAAA,YACA73E,MAAA,aACEA,MAAA,GAAA83E,GAAA,iBAoBR93E,cAIMA,MAHN,gBAGMA,CAHwB,WAGxBA,CAF6C,gBAE7CA,CADsB,aACdA,MAAA,aAAMA,QAEdA,MADA,GAAA+3E,GAAA,WACA/3E,CADiB,GAAAg4E,GAAA,gBASjBh4E,MAAA,uBAAuFA,MAAA,gBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAQ2iB,EAAAs1D,aAAA9vE,EAAAwa,EAAAu1D,MAA0B,GAI/Hl4E,cAIMA,MAHN,gBAGMA,CAHkC,WAGlCA,CAF6C,gBAE7CA,CADsB,aACdA,MAAA,aAAMA,QAIRA,MAHN,SAGMA,CAHD,SAGCA,CAFC,uBAEDA,CADuD,kBACnCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAS2iB,EAAAw1D,4BAA2B,GAAEn4E,MAAA,aAAMA,QAChEA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBAAwFA,MAAA,2BAAAA,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAiB2iB,EAAAw1D,4BAA2B,GAG1In4E,cAEAA,MADA,GAAAo4E,GAAA,WACAp4E,CAD8B,GAAAq4E,GAAA,gBAS9Br4E,MAAA,uBAAoGA,MAAA,gBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAQ2iB,EAAA21D,wBAAAnwE,EAAAwa,EAAA41D,mBAAkD,GAIpKv4E,cAIMA,MAHN,gBAGMA,CAHsC,WAGtCA,CAF6C,gBAE7CA,CADsB,aACdA,MAAA,cAAMA,QAIRA,MAHN,UAGMA,CAHD,UAGCA,CAFC,wBAEDA,CADuD,mBACnCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAS2iB,EAAA61D,4BAA2B,GAAEx4E,MAAA,cAAMA,QAChEA,MAAA,iBAAWA,MAAA,iBAASA,QACpBA,MAAA,kBAAwFA,MAAA,2BAAAA,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAiB2iB,EAAA61D,4BAA2B,GAG1Ix4E,cAEAA,MADA,IAAAy4E,GAAA,WACAz4E,CAD8B,IAAA04E,GAAA,gBAa9B14E,MAAA,wBAAoGA,MAAA,gBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAQ2iB,EAAAg2D,wBAAAxwE,EAAAwa,EAAAi2D,mBAAkD,GAQ5K54E,8CAhK8BA,MAAA,IAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAAvpE,WAIA1D,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAAtpE,cAKF3D,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAAngD,QAKE9sB,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAAjgD,iBAIAhtB,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAA9+B,qBAMAnuC,MAAA,GAAAA,MAAA,QAAAA,MAAA,MAAA2iB,EAAAsqD,oBAAAhgD,iBAAA,eAKAjtB,MAAA,GAAAA,MAAA,QAAAA,MAAA,MAAA2iB,EAAAsqD,oBAAA9/C,eAAA,eAIAntB,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAA1+B,cAyBZvuC,MAAA,IAAAA,MAAA,eAAA2iB,EAAA9c,MAAA8c,EAAA9c,KAAAK,SAEMlG,MAAA,GAAAA,MAAA,aAAA2iB,EAAA9c,KAAA,KAAA8c,EAAA9c,KAAAK,QAyBNlG,MAAA,GAAAA,MAAA,QAAA2iB,EAAAu1D,MACIl4E,cAAA,OAAA2iB,EAAAu1D,MAQOl4E,QAAuCA,MAAvC,SAAA2iB,EAAAu1D,KAAAhyE,OAAuClG,CAAjB,cAAiBA,CAAD,kBAAAA,MAAA,GAAA+iB,KAkBjD/iB,MAAA,IAAAA,MAAA,QAAA2iB,EAAA41D,mBACIv4E,cAAA,OAAA2iB,EAAA41D,mBAQOv4E,QAAqEA,MAArE,SAAA2iB,EAAA41D,kBAAAryE,OAAqElG,CAAlC,kBAAAA,MAAA,GAAA+iB,IAAkC/iB,CAAD,eAkB/EA,MAAA,IAAAA,MAAA,QAAA2iB,EAAAi2D,mBACI54E,cAAA,OAAA2iB,EAAAi2D,mBAYO54E,QAAoDA,MAApD,SAAA2iB,EAAAi2D,kBAAA1yE,OAAoDlG,CAAjB,cAAiBA,CAAD,kBAAAA,MAAA,GAAA+iB,MCzHzE,IAAM81D,GAAuC,MAA9C,MAAOA,EA8BD/3E,MACAq1E,yBACA/hD,mBACA9kB,OAhCVwD,QACAjL,OACAolE,oBACApnE,KAAiC,GACjCqyE,KAAiB,GACjBK,kBAA8B,GAC9BK,kBAA8B,GAC9B5B,uBAAqD,IAAI/xE,KACzDoyE,4BAA0D,IAAIpyE,KAC9D2yE,4BAA0D,IAAI3yE,KACvB6zE,yBACAC,yBACKl0E,UACAm0E,0BACAC,0BAC5CC,cAAuB,GACvBC,8BAAuC,GACvCC,8BAAuC,GAEvC/yE,SAAmB,GACnBD,UAAoB,EAEXxF,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,mBAAcC,MAAO,mCAAoCC,KAAM,YACxE,CAAEF,MAAO,0BAAqBC,MAAO,GAAIC,KAAM,SAGlDtB,YACWqB,EACAq1E,EACA/hD,EACA9kB,GAHA1P,KAAAkB,QACAlB,KAAAu2E,2BACAv2E,KAAAw0B,qBACAx0B,KAAA0P,SAGR1P,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,0BACPC,MAAO,uCAAuClB,KAAKkT,WAAWlT,KAAKiI,SACnE9G,KAAM,SAGZ,CAEAoE,WACEvF,KAAKo3E,uBAAuBnyE,UAAYjF,KAAKiF,UAC7CjF,KAAKy3E,4BAA4BxyE,UAAYjF,KAAKo5E,0BAClDp5E,KAAKg4E,4BAA4B/yE,UAAYjF,KAAKq5E,0BAElDr5E,KAAK4F,cAEL5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,YACzD9B,KAAKo5E,2BAA2B3zE,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,YACzE9B,KAAKq5E,2BAA2B5zE,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3E,CAEA8D,cACE5F,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IACvEjC,KAAKqtE,oBAAsBprE,IAE7BjC,KAAKu2E,yBAAyBkD,cAAcz5E,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IAC/EjC,KAAKiG,KAAOhE,IAEdjC,KAAKu2E,yBAAyBmD,YAAY15E,KAAKkT,QAASlT,KAAKiI,OAAQ,WAAWnG,UAAUG,IACxFjC,KAAKs4E,KAAOr2E,EACZjC,KAAK25E,aAAa35E,KAAKs4E,KAAI,GAE7Bt4E,KAAKu2E,yBAAyBqD,oBAAoB55E,KAAKkT,QAASlT,KAAKiI,OAAQ,WAAWnG,UAAUG,IAChGjC,KAAK24E,kBAAoB12E,EACzBjC,KAAK65E,6BAA6B75E,KAAK24E,kBAAiB,GAE1D34E,KAAKu2E,yBAAyBuD,oBAAoB95E,KAAKkT,QAASlT,KAAKiI,OAAQ,WAAWnG,UAAUG,IAChGjC,KAAKg5E,kBAAoB/2E,EACzBjC,KAAK+5E,6BAA6B/5E,KAAKg5E,kBAAiB,EACzD,EAEL,CAEAT,4BACE,MAAMroF,EAAQ8P,KAAKk5E,yBAAyBpzD,cAAc51B,OAAS,GACnE,IAAI21E,EAAW7lE,KAAK24E,kBAAkBxyE,OACpCsU,GACEA,EAAEL,cAAcrC,SAAS7nB,EAAMkqB,gBAEnCpa,KAAKy3E,4BAA8B,IAAIpyE,KAAmBwgE,GAC1D7lE,KAAKy3E,4BAA4BxyE,UAAYjF,KAAKo5E,0BAClDp5E,KAAKo5E,0BAA0BY,WACjC,CAEApB,4BACE,MAAM1oF,EAAQ8P,KAAKm5E,yBAAyBrzD,cAAc51B,OAAS,GACnE,IAAI21E,EAAW7lE,KAAKg5E,kBAAkB7yE,OACpCsU,GACEA,EAAEL,cAAcrC,SAAS7nB,EAAMkqB,gBAEnCpa,KAAKg4E,4BAA8B,IAAI3yE,KAAmBwgE,GAC1D7lE,KAAKg4E,4BAA4B/yE,UAAYjF,KAAKq5E,0BAClDr5E,KAAKq5E,0BAA0BW,WACjC,CAEAx7C,SAASz4B,GACP/F,KAAK0P,OAAO6I,KAAK+9D,GAA6C,CAC5DrwE,KAAM,CAAEiN,QAASlT,KAAKkT,QAASjL,OAAQjI,KAAKiI,OAAQlC,OACpD6oB,WAAY,qBAEhB,CAEA+qD,aAAa1zE,GACX,MAAMg0E,EAAaj6E,KAAKwG,UAAYxG,KAAKyG,SAEzCzG,KAAKs5E,cAAgBrzE,EAAKo7B,MAAM44C,EADfA,EAAaj6E,KAAKyG,UAEnCzG,KAAKo3E,uBAAuBnxE,KAAOjG,KAAKs5E,aAC1C,CAEAO,6BAA6B5zE,GAC3B,MAAMg0E,EAAaj6E,KAAKwG,UAAYxG,KAAKyG,SAEzCzG,KAAKu5E,8BAAgCtzE,EAAKo7B,MAAM44C,EAD/BA,EAAaj6E,KAAKyG,UAEnCzG,KAAKy3E,4BAA4BxxE,KAAOjG,KAAKu5E,6BAC/C,CACAQ,6BAA6B9zE,GAC3B,MAAMg0E,EAAaj6E,KAAKwG,UAAYxG,KAAKyG,SAEzCzG,KAAKw5E,8BAAgCvzE,EAAKo7B,MAAM44C,EAD/BA,EAAaj6E,KAAKyG,UAEnCzG,KAAKg4E,4BAA4B/xE,KAAOjG,KAAKw5E,6BAC/C,CAEAnB,aAAah+D,EAAYpU,GACvBjG,KAAKwG,UAAY6T,EAAM7T,UACvBxG,KAAKyG,SAAW4T,EAAM5T,SACtBzG,KAAK25E,aAAa1zE,EACpB,CAEAyyE,wBAAwBr+D,EAAYpU,GAClCjG,KAAKwG,UAAY6T,EAAM7T,UACvBxG,KAAKyG,SAAW4T,EAAM5T,SACtBzG,KAAK65E,6BAA6B5zE,EACpC,CAEA8yE,wBAAwB1+D,EAAYpU,GAClCjG,KAAKwG,UAAY6T,EAAM7T,UACvBxG,KAAKyG,SAAW4T,EAAM5T,SACtBzG,KAAK+5E,6BAA6B9zE,EACpC,4CArJWgzE,GAAuC74E,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAA,+BAAvC41E,EAAuC31E,UAAA,4CAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,kCAavCgD,KAAY,SACZA,KAAY,SACZA,KAAY,iyEDxDzBvG,MAAA,wBACAA,MAAA,EAAA85E,GAAA,qBA8KM95E,MAJN,eAIMA,CAJmD,uBAInDA,CAFyC,aAEzCA,CADoF,cAC1EA,MAAA,gBAAUA,QAAYA,MAAA,cAGtCA,mBAlLkBA,MAAA,SAAAwD,EAAA5C,aACeZ,cAAA,OAAAwD,EAAAypE,qCCyB7B7uD,KAAa3C,UACb4C,KAAe3C,KACf0D,KAAazD,UACb6C,KAAa5C,KACb+C,KAAkB9C,eAClBqD,KAAcpD,uDACdmD,KAAkBlD,KAClB6C,KAAc6wC,KACdvxC,KAAYwxC,eACZvwC,KAAgBwwC,yBAChB9xC,KAAY5d,KACZwf,KAAqBs6D,MAAA5xD,OAAA,6qBAIZ0wD,CAAuC,+BC5B9C74E,MADF,OACEA,CAD2B,QACvBA,MAAA,GAA0BA,QAC9BA,MAAA,UAAuBA,MAAA,GAA2BA,QAClDA,MAAA,QAAIA,MAAA,GACNA,oCAHMA,MAAA,GAAAA,MAAAyD,EAAAkyE,kBACmB31E,MAAA,GAAAA,MAAAyD,EAAAmyE,mBACnB51E,MAAA,GAAAA,MAAAyD,EAAAouE,aCDH,IAAMmI,GAAyC,MAAhD,MAAOA,EASuB7mE,OACzBuT,UACCyvD,yBAVVtwE,KAA4B,GACnBjF,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,mBAAcC,MAAO,mCAAoCC,KAAM,aAI1EtB,YACkC0T,EACzBuT,EACCyvD,GAFwBv2E,KAAAuT,SACzBvT,KAAA8mB,YACC9mB,KAAAu2E,2BAERv2E,KAAKu2E,yBACFC,oCAAoCx2E,KAAKuT,OAAOL,QAASlT,KAAKuT,OAAOtL,OAAQjI,KAAKuT,OAAOxN,IAAK,SAC9FjE,UAAUG,IACTjC,KAAKiG,KAAOhE,EACZ,QAASwY,EAAI,EAAGA,EAAIza,KAAKiG,KAAKK,OAAQmU,IACpCza,KAAKy2E,iBAAiBh8D,GACtBza,KAAK02E,iBAAiBj8D,EAAC,EAG/B,CAEQg8D,iBAAiBh8D,GACY,OAA/Bza,KAAKiG,KAAKwU,GAAG47D,cACfr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,gFACQ,OAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBACX,gGACsC,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBACX,gGACsC,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,8EACQ,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBACX,0FACsC,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBACX,oGACsC,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,cACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,2DACQ,MAA/B/1E,KAAKiG,KAAKwU,GAAG47D,gBACtBr2E,KAAKiG,KAAKwU,GAAGs7D,iBAAmB,gDAEpC,CAEQW,iBAAiBj8D,GAGnBza,KAAKiG,KAAKwU,GAAGu7D,kBAFkB,MAA/Bh2E,KAAKiG,KAAKwU,GAAG47D,cACqB,IAAhCr2E,KAAKiG,KAAKwU,GAAGk8D,eACkB,iCACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,4BACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,gCACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,8BAEA,aAGC,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACkB,YACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,MACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,UACQ,IAAhC32E,KAAKiG,KAAKwU,GAAGk8D,eACW,QAEA,YAGvC,4CA1EWyD,GAAyCh6E,MAS1CgoB,OAAehoB,MAAAC,OAAAD,MAAA+C,MAAA,+BATdi3E,EAAyC92E,UAAA,8CAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,uPAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDdtDvD,MAAA,wBAEAA,MAAA,WACEA,MAAA,aAGIA,MAFJ,UAEIA,CAFG,OAEHA,CADE,QACEA,MAAA,cAAQA,QACZA,MAAA,UAAuBA,MAAA,cAAQA,QAC/BA,MAAA,QAAIA,MAAA,oBAERA,YACAA,MAAA,YACEA,MAAA,GAAAi6E,GAAA,YAMJj6E,UAIMA,MAHN,gBAGMA,CAHmD,sBAGnDA,CAFc,WAEdA,CADyF,eACjDA,MAAA,0BAASwD,EAAAkjB,UAAAqB,OAAsB,GAAE/nB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAG1GA,qBAzBkBA,MAAA,SAAAwD,EAAA5C,aAYMZ,MAAA,IAAAA,MAAA,UAAAwD,EAAAqC,sdCEXm0E,CAAyC,mJCoDxCh6E,MAAA,OAAyBA,MAAA,yCAA6BA,mCAa9CA,MADF,OACEA,CAD2B,QACvBA,MAAA,GAAuBA,QAC3BA,MAAA,WAAuBA,MAAA,GAAkBA,QACzCA,MAAA,WAAuBA,MAAA,GACzBA,oCAHMA,MAAA,GAAAA,MAAA4D,EAAAqyE,eACmBj2E,MAAA,GAAAA,MAAA4D,EAAAqS,UACAjW,MAAA,GAAAA,MAAA4D,EAAA6yE,uCAb7Bz2E,MAAA,WACEA,MAAA,aAGIA,MAFJ,UAEIA,CAFG,OAEHA,CADE,QACEA,MAAA,2BAAkBA,QACtBA,MAAA,WAAuBA,MAAA,cAAQA,QAC/BA,MAAA,WAAuBA,MAAA,gBAE3BA,YACAA,MAAA,YACEA,MAAA,GAAAk6E,GAAA,aAMJl6E,iCANwBA,MAAA,IAAAA,MAAA,UAAA2iB,EAAA9c,8BAe1B7F,MAAA,OAAiBA,MAAA,yCAA6BA,gCAI1CA,MAAA,WAAsCA,MAAA,eAASA,kDAC/CA,MAAA,WAAkDA,MAAA,yBAAAkE,EAAAlE,MAAAiE,GAAAE,UAAAwe,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAAyb,SAAAl6B,GAAa,GAAkDlE,MAAA,GAA0CA,2CAA1CA,cAAA,SAAA2iB,EAAAvc,UAAAuc,EAAAtc,SAAAswE,EAAA,6BAE5H32E,MAAA,iCACAA,MAAA,qCAPFA,MAAA,cACEA,MAAA,aACAA,MAAA,MAEEA,MADA,EAAAm6E,GAAA,YACAn6E,CADsC,EAAAo6E,GAAA,qBAIxCp6E,MADA,EAAAq6E,GAAA,YACAr6E,CAD8C,EAAAs6E,GAAA,aAEhDt6E,+BAR8BA,MAAA,aAAA2iB,EAAAq0D,wBAMRh3E,MAAA,GAAAA,MAAA,kBAAAA,MAAA,EAAAqL,KACarL,cAAA,mBAAAA,MAAA,EAAAqL,6BAoBnCrL,MAAA,OAA8BA,MAAA,yCAA6BA,gCAGvDA,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAqDA,MAAA,GAASA,kCAATA,cAAA+sB,0BAEvD/sB,MAAA,iCACAA,MAAA,qCANFA,MAAA,cACEA,MAAA,MAEEA,MADA,EAAAu6E,GAAA,YACAv6E,CADsC,EAAAw6E,GAAA,qBAIxCx6E,MADA,EAAAy6E,GAAA,YACAz6E,CAD+C,EAAA06E,GAAA,aAEjD16E,+BAP2CA,MAAA,aAAA2iB,EAAA00D,6BAKrBr3E,MAAA,GAAAA,MAAA,kBAAAA,MAAA,EAAAs3E,KACat3E,cAAA,mBAAAA,MAAA,EAAAs3E,6BAqBnCt3E,MAAA,OAA8BA,MAAA,yCAA6BA,gCAIvDA,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAqDA,MAAA,GAASA,kCAATA,cAAAipB,0BAEvDjpB,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,qCAVFA,MAAA,cACEA,MAAA,aACAA,MAAA,MAEEA,MADA,EAAA26E,GAAA,YACA36E,CADsC,EAAA46E,GAAA,qBAKxC56E,MAFA,EAAA66E,GAAA,YAEA76E,CAF+C,EAAA86E,GAAA,YAE/C96E,CADqD,EAAA+6E,GAAA,aAIvD/6E,+BAX2CA,MAAA,aAAA2iB,EAAAi1D,6BAMrB53E,MAAA,GAAAA,MAAA,kBAAAA,MAAA,EAAAs3E,KACat3E,cAAA,mBAAAA,MAAA,EAAAs3E,+CAxJzCt3E,MAJR,eAIQA,CAJoD,qBAIpDA,CAHY,UAGZA,CAF6C,eAE7CA,CADsB,YACdA,MAAA,uBAAiBA,QAInBA,MAHN,WAGMA,CAHmC,WAGnCA,CAFsD,sBAEtDA,CADuD,eAC5CA,MAAA,oBAAaA,QACxBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADyE,gBAC9DA,MAAA,gCAAgBA,QAC3BA,MAAA,eAEJA,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,cAAOA,QAClBA,MAAA,eACFA,QAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kBAAWA,QACtBA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,uBAAgBA,QAC3BA,MAAA,eAEJA,UAGIA,MAFJ,YAEIA,CAFsD,uBAEtDA,CADuD,gBAC5CA,MAAA,kDAAwCA,QACnDA,MAAA,gCAEFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,gDAAsCA,QACjDA,MAAA,gCACFA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,sCAA4BA,QACvCA,MAAA,eAIRA,cAKQA,MAJR,sBAIQA,CAJuD,gBAIvDA,CAHkB,WAGlBA,CAF6C,gBAE7CA,CADsB,aACdA,MAAA,gBAASA,QAEfA,MADF,QACEA,CADE,SACEA,MAAA,qFAAwEA,QAC5EA,MAAA,SAAIA,MAAA,oGAAuFA,QAC3FA,MAAA,SAAIA,MAAA,oGAA6FA,QACjGA,MAAA,SAAIA,MAAA,kFAAqEA,QACzEA,MAAA,SAAIA,MAAA,8FAAoFA,QACxFA,MAAA,SAAIA,MAAA,wGAA2FA,QAC/FA,MAAA,SAAIA,MAAA,+DAAqDA,QACzDA,MAAA,SAAIA,MAAA,uCAERA,YAEEA,MADF,gBACEA,CADsB,aACdA,MAAA,gBAASA,QACjBA,MAAA,GAAAg7E,GAAA,YACAh7E,MAAA,aACEA,MAAA,GAAAi7E,GAAA,iBAoBRj7E,cAIMA,MAHN,gBAGMA,CAHwB,WAGxBA,CAF6C,gBAE7CA,CADsB,aACdA,MAAA,aAAMA,QAEdA,MADA,GAAAk7E,GAAA,WACAl7E,CADiB,GAAAm7E,GAAA,gBAUjBn7E,MAAA,uBAAuFA,MAAA,gBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAQ2iB,EAAAs1D,aAAA9vE,EAAAwa,EAAAu1D,KAAAv1D,EAAAq0D,wBAAkD,GAIvJh3E,cAIMA,MAHN,gBAGMA,CAHkC,WAGlCA,CAF6C,gBAE7CA,CADsB,aACdA,MAAA,aAAMA,QAIRA,MAHN,SAGMA,CAHD,SAGCA,CAFC,uBAEDA,CADuD,kBACnCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAS2iB,EAAAw1D,4BAA2B,GAAEn4E,MAAA,aAAMA,QAChEA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,iBAAwFA,MAAA,2BAAAA,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAiB2iB,EAAAw1D,4BAA2B,GAG1In4E,cAEAA,MADA,GAAAo7E,GAAA,WACAp7E,CAD8B,GAAAq7E,GAAA,gBAS9Br7E,MAAA,uBAAoGA,MAAA,gBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAQ2iB,EAAA21D,wBAAAnwE,EAAAwa,EAAA41D,kBAAA51D,EAAA00D,6BAA+E,GAIjMr3E,cAKMA,MAHN,gBAGMA,CAHsC,WAGtCA,CAF6C,iBAE7CA,CADsB,cACdA,MAAA,cAAMA,QAIRA,MAHN,UAGMA,CAHD,UAGCA,CAFC,wBAEDA,CADuD,mBACnCA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAS2iB,EAAA61D,4BAA2B,GAAEx4E,MAAA,cAAMA,QAChEA,MAAA,iBAAWA,MAAA,iBAASA,QACpBA,MAAA,kBAAwFA,MAAA,2BAAAA,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAiB2iB,EAAA61D,4BAA2B,GAG1Ix4E,cAEAA,MADA,IAAAs7E,GAAA,WACAt7E,CAD8B,IAAAu7E,GAAA,gBAa9Bv7E,MAAA,wBAAoGA,MAAA,gBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAQ2iB,EAAAg2D,wBAAAxwE,EAAAwa,EAAAi2D,kBAAAj2D,EAAAi1D,6BAA+E,GAQzM53E,8CAhK8BA,MAAA,IAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAAvpE,WAIA1D,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAAtpE,cAKF3D,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAAngD,QAKE9sB,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAAjgD,iBAIAhtB,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAA9+B,qBAMAnuC,MAAA,GAAAA,MAAA,QAAAA,MAAA,MAAA2iB,EAAAsqD,oBAAAhgD,iBAAA,eAKAjtB,MAAA,GAAAA,MAAA,QAAAA,MAAA,MAAA2iB,EAAAsqD,oBAAA9/C,eAAA,eAIAntB,MAAA,GAAAA,MAAA,QAAA2iB,EAAAsqD,oBAAA1+B,cAuBZvuC,MAAA,IAAAA,MAAA,eAAA2iB,EAAA9c,MAAA8c,EAAA9c,KAAAK,SAEMlG,MAAA,GAAAA,MAAA,OAAA2iB,EAAA9c,KAAAK,QAyBNlG,MAAA,GAAAA,MAAA,QAAA2iB,EAAAu1D,MACIl4E,cAAA,OAAA2iB,EAAAu1D,MASOl4E,QAAuCA,MAAvC,SAAA2iB,EAAAu1D,KAAAhyE,OAAuClG,CAAjB,cAAiBA,CAAD,kBAAAA,MAAA,GAAA+iB,KAkBjD/iB,MAAA,IAAAA,MAAA,QAAA2iB,EAAA41D,mBACIv4E,cAAA,OAAA2iB,EAAA41D,mBAQOv4E,QAAqEA,MAArE,SAAA2iB,EAAA41D,kBAAAryE,OAAqElG,CAAlC,kBAAAA,MAAA,GAAA+iB,IAAkC/iB,CAAD,eAmB/EA,MAAA,IAAAA,MAAA,QAAA2iB,EAAAi2D,mBACI54E,cAAA,OAAA2iB,EAAAi2D,mBAYO54E,QAAoDA,MAApD,SAAA2iB,EAAAi2D,kBAAA1yE,OAAoDlG,CAAjB,cAAiBA,CAAD,kBAAAA,MAAA,GAAA+iB,MCzHzE,IAAMy4D,GAAqC,MAA5C,MAAOA,EA6BD16E,MACAq1E,yBACA/hD,mBACA9kB,OA9BVwD,QACAjL,OACAolE,oBACApnE,KAAiC,GACjCqyE,KAAiB,GACjBK,kBAA8B,GAC9BK,kBAA8B,GAC9B5B,uBAAqD,IAAI/xE,KACzDoyE,4BAA0D,IAAIpyE,KAC9D2yE,4BAA0D,IAAI3yE,KACvB6zE,yBACAC,yBACKl0E,UACAm0E,0BACAC,0BAC5CC,cAAuB,GACvBC,8BAAuC,GACvCC,8BAAuC,GAEvC/yE,SAAmB,GACnBD,UAAoB,EACXxF,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,mBAAcC,MAAO,mCAAoCC,KAAM,YACxE,CAAEF,MAAO,mBAAcC,MAAO,GAAIC,KAAM,SAE1CtB,YACUqB,EACAq1E,EACA/hD,EACA9kB,GAHA1P,KAAAkB,QACAlB,KAAAu2E,2BACAv2E,KAAAw0B,qBACAx0B,KAAA0P,SAGR1P,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,wBACPC,MAAO,qCAAqClB,KAAKkT,WAAWlT,KAAKiI,SACjE9G,KAAM,SAGZ,CAEAoE,WACEvF,KAAKo3E,uBAAuBnyE,UAAYjF,KAAKiF,UAC7CjF,KAAKy3E,4BAA4BxyE,UAAYjF,KAAKo5E,0BAClDp5E,KAAKg4E,4BAA4B/yE,UAAYjF,KAAKq5E,0BAElDr5E,KAAK4F,cAEL5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,YACzD9B,KAAKo5E,2BAA2B3zE,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,YACzE9B,KAAKq5E,2BAA2B5zE,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3E,CAEA8D,cACE5F,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OAErBjI,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IACvEjC,KAAKqtE,oBAAsBprE,IAE7BjC,KAAKu2E,yBAAyBsF,YAAY77E,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IAC7EjC,KAAKiG,KAAOhE,IAEdjC,KAAKu2E,yBAAyBmD,YAAY15E,KAAKkT,QAASlT,KAAKiI,OAAQ,SAASnG,UAAUG,IACtFjC,KAAKs4E,KAAOr2E,EACZjC,KAAK25E,aAAa35E,KAAKs4E,KAAMt4E,KAAKo3E,uBAAsB,GAE1Dp3E,KAAKu2E,yBAAyBqD,oBAAoB55E,KAAKkT,QAASlT,KAAKiI,OAAQ,SAASnG,UAAUG,IAC9FjC,KAAK24E,kBAAoB12E,EACzBjC,KAAK65E,6BAA6B75E,KAAK24E,kBAAmB34E,KAAKy3E,4BAA2B,GAE5Fz3E,KAAKu2E,yBAAyBuD,oBAAoB95E,KAAKkT,QAASlT,KAAKiI,OAAQ,SAASnG,UAAUG,IAC9FjC,KAAKg5E,kBAAoB/2E,EACzBjC,KAAK+5E,6BAA6B/5E,KAAKg5E,kBAAmBh5E,KAAKg4E,4BAA2B,EAC3F,EAEL,CAEAO,4BACE,MAAMroF,EAAQ8P,KAAKk5E,yBAAyBpzD,cAAc51B,OAAS,GACnE,IAAI21E,EAAW7lE,KAAK24E,kBAAkBxyE,OACpCsU,GACEA,EAAEL,cAAcrC,SAAS7nB,EAAMkqB,gBAEnCpa,KAAKy3E,4BAA8B,IAAIpyE,KAAmBwgE,GAC1D7lE,KAAKy3E,4BAA4BxyE,UAAYjF,KAAKo5E,0BAClDp5E,KAAKo5E,0BAA0BY,WACjC,CAEApB,4BACE,MAAM1oF,EAAQ8P,KAAKm5E,yBAAyBrzD,cAAc51B,OAAS,GACnE,IAAI21E,EAAW7lE,KAAKg5E,kBAAkB7yE,OACpCsU,GACEA,EAAEL,cAAcrC,SAAS7nB,EAAMkqB,gBAEnCpa,KAAKg4E,4BAA8B,IAAI3yE,KAAmBwgE,GAC1D7lE,KAAKg4E,4BAA4B/yE,UAAYjF,KAAKq5E,0BAClDr5E,KAAKq5E,0BAA0BW,WACjC,CAEAx7C,SAASz4B,GACP/F,KAAK0P,OAAO6I,KAAK6hE,GAA2C,CAC1Dn0E,KAAM,CAAEiN,QAASlT,KAAKkT,QAASjL,OAAQjI,KAAKiI,OAAQlC,OACpD6oB,WAAY,qBAEhB,CAEA+qD,aAAa1zE,EAAab,GACxB,MAAM60E,EAAaj6E,KAAKwG,UAAYxG,KAAKyG,SAEzCzG,KAAKs5E,cAAgBrzE,EAAKo7B,MAAM44C,EADfA,EAAaj6E,KAAKyG,UAEnCzG,KAAKo3E,uBAAuBnxE,KAAOjG,KAAKs5E,aAC1C,CAEAO,6BAA6B5zE,EAAab,GACxC,MAAM60E,EAAaj6E,KAAKwG,UAAYxG,KAAKyG,SAEzCzG,KAAKu5E,8BAAgCtzE,EAAKo7B,MAAM44C,EAD/BA,EAAaj6E,KAAKyG,UAEnCzG,KAAKy3E,4BAA4BxxE,KAAOjG,KAAKu5E,6BAC/C,CACAQ,6BAA6B9zE,EAAab,GACxC,MAAM60E,EAAaj6E,KAAKwG,UAAYxG,KAAKyG,SAEzCzG,KAAKw5E,8BAAgCvzE,EAAKo7B,MAAM44C,EAD/BA,EAAaj6E,KAAKyG,UAEnCzG,KAAKg4E,4BAA4B/xE,KAAOjG,KAAKw5E,6BAC/C,CAEAnB,aAAah+D,EAAYpU,EAAab,GACpCpF,KAAKwG,UAAY6T,EAAM7T,UACvBxG,KAAKyG,SAAW4T,EAAM5T,SACtBzG,KAAK25E,aAAa1zE,EAAMb,EAC1B,CAEAszE,wBAAwBr+D,EAAYpU,EAAab,GAC/CpF,KAAKwG,UAAY6T,EAAM7T,UACvBxG,KAAKyG,SAAW4T,EAAM5T,SACtBzG,KAAK65E,6BAA6B5zE,EAAMb,EAC1C,CAEA2zE,wBAAwB1+D,EAAYpU,EAAab,GAC/CpF,KAAKwG,UAAY6T,EAAM7T,UACvBxG,KAAKyG,SAAW4T,EAAM5T,SACtBzG,KAAK+5E,6BAA6B9zE,EAAMb,EAC1C,4CArJWw2E,GAAqCx7E,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAA,+BAArCu4E,EAAqCt4E,UAAA,0CAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,kCAcrCgD,KAAY,SACZA,KAAY,SACZA,KAAY,iyEDzDzBvG,MAAA,wBACAA,MAAA,EAAA07E,GAAA,qBA8KM17E,MAJN,eAIMA,CAJmD,uBAInDA,CAFyC,aAEzCA,CADoF,cAC1EA,MAAA,gBAAUA,QAAYA,MAAA,cAGtCA,mBAlLkBA,MAAA,SAAAwD,EAAA5C,aACeZ,cAAA,OAAAwD,EAAAypE,qCCyB7B7uD,KAAa3C,UACb4C,KAAe3C,KACf0D,KAAazD,UACb6C,KAAa5C,KACb+C,KAAkB9C,eAClBqD,KAAcpD,uDACdmD,KAAkBlD,KAClB6C,KAAc6wC,KACdvxC,KAAYwxC,eACZvwC,KAAgBwwC,yBAChB9xC,KAAY5d,KACZwf,KAAqBs6D,MAAA5xD,OAAA,2qBAIZqzD,CAAqC,+BClC1Cx7E,MAAA,mBACEA,MAAA,GACFA,kCAFmDA,MAAA,QAAAmwB,EAAArwB,IACjDE,cAAA,IAAAmwB,EAAA/H,eAAA,MCOH,IAAMuzD,GAA2B,MAAlC,MAAOA,EAkBDtrD,6BACA/G,wBACAta,aACAzO,wBACAO,MArBVgS,QACAjL,OACAD,UACA0oB,YAAkC,GAEzB1vB,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,uBAAqBC,MAAO,GAAIC,KAAM,SAGjDC,KAAO,IAAIC,KAAU,CACnBsvB,aAAc,IAAIpvB,KAAY,GAAIC,KAAWC,UAC7CwE,KAAM,IAAI1E,KAAY,IAAIqvB,KAAQpvB,KAAWC,YAG/C5B,YACU4wB,EACA/G,EACAta,EACAzO,EACAO,GAJAlB,KAAAywB,+BACAzwB,KAAA0pB,0BACA1pB,KAAAoP,eACApP,KAAAW,0BACAX,KAAAkB,QAERlB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACnBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,uBACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,wBACrD9G,KAAM,QAEVnB,KAAKoP,aAAayhB,SAAS7wB,KAAKkT,SAASpR,UAAUG,KACjDjC,KAAKgI,UAAY/F,GAAIiJ,OAEvBlL,KAAK0pB,wBAAwBpO,IAAItb,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KACpEjC,KAAK0wB,YAAczuB,IACpB,EAEL,CAEAC,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEAwuB,QAEE,GADA/wB,KAAKkC,+BACAlC,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAGhD,IAAIiuB,EAAuB3wB,KAAKoB,KAAKiB,IAAI,iBAAiBqU,cACtDzQ,EAAajG,KAAKoB,KAAKiB,IAAI,SAASqU,cACxC1W,KAAKywB,6BAA6BurD,0BAA0Bh8E,KAAKkT,QAASlT,KAAKiI,OAAQ0oB,EAAc1qB,EACvG,4CA1DW81E,GAA2B37E,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAA,+BAA3BkgE,EAA2Bz4E,UAAA,+BAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,6yBAAAC,SAAA,SAAAC,EAAAC,GAAA,KAAAD,EAAA,iBDdxCvD,MADA,uBACAA,CAD4D,qBAKtDA,MAHN,WAGMA,CAHqC,UAGrCA,CAF+C,qBAE/CA,CADyE,eAC9DA,MAAA,gBAAUA,QACrBA,MAAA,kBACEA,MAAA,EAAA67E,GAAA,oBAIJ77E,UAEEA,MADF,qBACEA,CADyE,gBAC9DA,MAAA,WAAIA,QAGfA,MAFA,aAEAA,CAF+E,8BAE/EA,CAD4E,4BAE9EA,QAEEA,MADF,YACEA,CAD4B,gBACmCA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAmtB,QAAO,GAC7E3wB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAInCA,cAQMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAGtCA,sCAnCkBA,MAAA,SAAAwD,EAAA5C,aACHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QACnC7H,cAAA,YAAAwD,EAAAxC,MAKqChB,MAAA,GAAAA,MAAA,UAAAwD,EAAA8sB,aAOZtwB,MAAA,GAAAA,MAAA,gBAAA8wB,GACQ9wB,cAAA,MAAA8wB,oKCA1B6qD,CAA2B,KCL3BG,GAAmB,MAA1B,MAAOA,UAA2Bz8E,KAMHC,YACzBiI,oBANDhI,MAAQ,cACjBC,OAEAC,YACEC,EACiCJ,EACzBiI,GAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAChB,CAEAqN,OAAOlH,GACL,OAAOjG,KAAK6iB,OAAO,GAAG7iB,KAAKL,QAASsG,GAAMP,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aACpF,CAEA+vD,OAAOjpE,EAAiBjL,EAAgBH,GACtC9H,KAAKJ,OACFyC,IAAS,GAAGrC,KAAKm3C,YAAYn3C,KAAKL,SAASuT,KAAWjL,KAAUH,IAAiB9H,KAAKo3C,qBACtF1xC,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAU4X,GACT1Z,KAAKq3C,yBAAyB39B,EAAK,GAAGxG,KAAWjL,KAAUH,4BAEjE,CAEAs0E,UAAUlpE,EAAiBjL,EAAgBH,GACzC,OAAO9H,KAAKJ,OACTmhC,IAAsB,GAAG/gC,KAAKm3C,YAAYn3C,KAAKL,SAASuT,KAAWjL,KAAUH,IAAiB,IAC9FpC,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAmM,QAAQrlB,EAAiBjL,EAAgBH,GACvC,OAAO9H,KAAKJ,OACT84B,OAAyB,GAAG14B,KAAKm3C,YAAYn3C,KAAKL,SAASuT,KAAWjL,KAAUH,KAChFpC,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAiwD,SAASnpE,EAAiBjL,EAAgBH,GACxC9H,KAAKJ,OACFyC,IAAS,GAAGrC,KAAKm3C,YAAYn3C,KAAKL,SAASuT,KAAWjL,KAAUH,QAAqB9H,KAAKo3C,qBAC1F1xC,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAU4X,GAAO1Z,KAAKq3C,yBAAyB39B,EAAK,GAAGxG,KAAWjL,KAAUH,qBACjF,CAEQsvC,oBACN,IAAI1qB,EAAU,IAAIC,MAClBD,SAAUA,EAAQ/V,IAAI,SAAU,mBACzB,CAAE+V,QAASA,EAASE,aAAc,OAAkBC,QAAS,WACtE,CAEQwqB,yBAAyB39B,EAAU49B,GACzC,IAAIjxB,EAAMiB,OAAOyF,IAAIC,gBAAgBtT,EAAIsO,MACrCN,EAAeC,SAASC,cAAc,KAC1CF,EAAaK,KAAO1B,EACpBqB,EAAa1E,SAAWs0B,EACxB5vB,EAAaxE,QACboE,OAAOyF,IAAIE,gBAAgB5G,GAC3BqB,EAAaQ,QACf,4CA3DWg0D,GAAkB97E,MAAAC,OAAAD,MAMnB,eAAaA,MAAA+C,MAAA,iCANZ+4E,EAAkB57E,QAAlB47E,EAAkB37E,UAAAC,WAFjB,gBAED07E,CAAmB,qECP9B97E,MAAA,OAAgCA,MAAA,2FAAsEA,MAAA,OAAGA,MAAA,iBAAWA,QAAKA,MAAA,sDAA4CA,gCACrKA,MAAA,OAAiCA,MAAA,wJAAgIA,MAAA,OAAGA,MAAA,cAAQA,QAAIA,MAAA,OAACA,gCAU/KA,MAAA,QAAiCA,MAAA,4IAAuHA,gCACxJA,MAAA,QAAkCA,MAAA,iEAAqDA,gCAoBvFA,MAAA,WAAsCA,MAAA,SAAGA,mCACzCA,MAAA,WAAoDA,MAAA,GAAaA,kCAAbA,cAAA4D,EAAA+B,6BAGpD3F,MAAA,WAAsCA,MAAA,WAAKA,mCAC3CA,MAAA,WAAsDA,MAAA,GAAmBA,kCAAnBA,cAAA+D,EAAAktB,mCAGtDjxB,MAAA,WAAsCA,MAAA,oBAAQA,mCAC9CA,MAAA,WAAyDA,MAAA,GAAgBA,kCAAhBA,cAAAsoB,EAAAtkB,gCAGzDhE,MAAA,WAAgEA,MAAA,2BAAkBA,kDAG9EA,MAFJ,UAEIA,CAF8E,WAE9EA,CAD2B,cAIzBA,MAAA,oBAAAmI,GAAA,MAAAwuE,EAAA32E,MAAAkxB,GAAAvW,MAAAuhE,EAAAl8E,QAAA,OAAAA,MAAYk8E,EAAAC,iBAAAh0E,EAAAwuE,GAA2B,GAEvC32E,MAAA,yBAAAmI,GAAA,MAAA8gB,EAAAjpB,MAAAkxB,GAAA/sB,UAAAnE,aAAAipB,EAAAmzD,eAAAj0E,KAAA8gB,EAAAmzD,eAAAj0E,GAAAnI,MAAAmI,EAAA,GAKNnI,kDANMA,MAAA,GAAAA,MAAA,WAAAk8E,EAAAzxD,YAAAxB,EAAAozD,YACAr8E,MAAA,UAAAipB,EAAAmzD,gBACAp8E,MAAA,oDAONA,MAAA,WAAgEA,MAAA,sBAAgBA,mCAE9EA,MAAA,UAA+BA,MAAA,mBAA4CA,wCAA5CA,oBAAA,IAAAktB,EAAAovD,aAAA,uCAC/Bt8E,MAAA,UAAgCA,MAAA,OAACA,mCAFnCA,MAAA,WAEEA,MADA,EAAAu8E,GAAA,aACAv8E,CAD+B,EAAAw8E,GAAA,cAEjCx8E,kCAFSA,cAAA,OAAAktB,EAAAovD,cACAt8E,cAAA,QAAAktB,EAAAovD,sCAITt8E,MAAA,WAAgEA,MAAA,wBAAeA,mCAE7EA,MAAA,UAA8BA,MAAA,mBAA2CA,wCAA3CA,oBAAA,IAAAotB,EAAAqvD,YAAA,uCAC9Bz8E,MAAA,UAA+BA,MAAA,OAACA,mCAFlCA,MAAA,WAEEA,MADA,EAAA08E,GAAA,aACA18E,CAD8B,EAAA28E,GAAA,cAEhC38E,kCAFSA,cAAA,OAAAotB,EAAAqvD,aACAz8E,cAAA,QAAAotB,EAAAqvD,qCAITz8E,MAAA,WAAgEA,MAAA,UAAIA,mCAElEA,MAAA,UAA6BA,MAAA,GAAoBA,wCAApBA,cAAAwhC,EAAAo7C,oCAC7B58E,MAAA,UAA8BA,MAAA,OAACA,mCAFjCA,MAAA,WAEEA,MADA,EAAA68E,GAAA,aACA78E,CAD6B,EAAA88E,GAAA,cAEjC98E,kCAFWA,cAAA,OAAAwhC,EAAAo7C,YACA58E,cAAA,QAAAwhC,EAAAo7C,mCAIT58E,MAAA,oDAGIA,MAAA,eAIEA,MAAA,mBAAAA,MAAA2hC,GAAA,MAAAD,EAAA1hC,QAAAmE,UAAA+3E,EAAAl8E,QAAA,OAAAA,MAASk8E,EAAAH,OAAAr6C,GAAW,GAEpB1hC,MAAA,cAAUA,MAAA,aAAOA,QAAWA,MAAA,UAAMA,MAAA,eACpCA,4CALEA,MAAA,YAAA0hC,EAAA46C,cAAA56C,EAAA26C,sDAMFr8E,MAAA,eAIEA,MAAA,mBAAAA,MAAAgyB,GAAA,MAAA0P,EAAA1hC,QAAAmE,UAAA+3E,EAAAl8E,QAAA,OAAAA,MAASk8E,EAAAF,UAAAt6C,GAAc,GAEvB1hC,MAAA,cAAUA,MAAA,cAAQA,QAAWA,MAAA,UAAMA,MAAA,eACrCA,sDALEA,MAAA,WAAAk8E,EAAAzxD,aAAAiX,EAAA46C,cAAA56C,EAAA26C,sDAMFr8E,MAAA,eAAyEA,MAAA,mBAAAA,MAAAwJ,GAAA,MAAAk4B,EAAA1hC,QAAAmE,UAAA+3E,EAAAl8E,QAAA,OAAAA,MAASk8E,EAAAD,SAAAv6C,GAAa,GAC7F1hC,MAAA,cAAUA,MAAA,WAAKA,QAAWA,MAAA,UAAMA,MAAA,cAClCA,4CAFyBA,MAAA,YAAA0hC,EAAA26C,sDAGzBr8E,MAAA,eAKEA,MAAA,mBAAAA,MAAA0qC,GAAA,MAAAhJ,EAAA1hC,QAAAmE,UAAA+3E,EAAAl8E,QAAA,OAAAA,MAASk8E,EAAAa,cAAAr7C,GAAkB,GAE3B1hC,MAAA,cAAUA,MAAA,YAAMA,QAAWA,MAAA,UAAMA,MAAA,aACnCA,4CANEA,MAAA,YAAA0hC,EAAA26C,uCAtBJr8E,MADF,UACEA,CADiC,YAqB/BA,MAnBA,EAAAg9E,GAAA,gBAmBAh9E,CAdiB,EAAAi9E,GAAA,gBAcjBj9E,CANoB,EAAAk9E,GAAA,gBAMpBl9E,CAHkH,EAAAm9E,GAAA,iBAatHn9E,gCA5BOA,MAAA,GAAAA,MAAA,QAAAk8E,EAAA9sB,SAQApvD,cAAA,QAAAk8E,EAAA9sB,SAOMpvD,cAAA,QAAAk8E,EAAA9sB,SAINpvD,cAAA,OAAAk8E,EAAA9sB,gCAWTpvD,MAAA,iCACAA,MAAA,kCAGIA,MAFJ,UAEIA,CAF8B,UAE9BA,CAD+B,UACzBA,MAAA,mCAEVA,sDAiBIA,MAAA,eAGEA,MAAA,mBAAAA,MAAA6qC,GAAA,MAAAqxC,EAAAl8E,QAAA,OAAAA,MAASk8E,EAAAkB,uBAAsB,GAG/Bp9E,MAAA,cAAUA,MAAA,UAAIA,QAAYA,MAAA,oCAC5BA,gCAFEA,MAAA,WAAAk8E,EAAAmB,0BCjID,IAAMC,GAA6B,MAApC,MAAOA,EAiCD74E,mBACA2vB,mBACAmpD,mBACAjuE,OACA/O,wBACAO,MACAyoB,qBAtCVkB,YAAsB,EACtB2kC,SAAmB,EACnBiuB,yBAAmC,EACnCG,sBAAgC,EAEhCz4E,YAAwB,CACtB,MACA,YACA,SACA,iBACA,eACA,cACA,aACA,UAEFC,WAAmD,IAAIC,KAC9CrE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,eAAgBC,MAAO,GAAIC,KAAM,kBAED8D,UACpB2kB,SACvBi0D,mBAAyC,GACzCC,4BAAkD,GAClDx4E,cAAwB,EAExB4N,QACAjL,OACAD,UAEAnI,YACUgF,EACA2vB,EACAmpD,EACAjuE,EACA/O,EACAO,EACAyoB,IANA3pB,KAAA6E,qBACA7E,KAAAw0B,qBACAx0B,KAAA29E,qBACA39E,KAAA0P,SACA1P,KAAAW,0BACAX,KAAAkB,QACAlB,KAAA2pB,wBAER3pB,KAAKkB,MAAMqS,OAAOzR,UAAUyR,KAC1BvT,KAAKkT,QAAUK,GAAOL,QACtBlT,KAAKiI,OAASsL,GAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,eACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,+BACrD9G,KAAM,iBAERnB,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,KACvEjC,KAAKgI,UAAY/F,GAAI6B,UACrB9D,KAAK49E,qBAA4D,yBAArC37E,GAAI07B,kBAAkB9xB,UAAe,EAClE,EAEL,CAEAtG,WACEvF,KAAK+9E,UACL/9E,KAAKmxC,kBACLnxC,KAAKg+E,cACP,CAEQD,UACN/9E,KAAK6E,mBAAmBo5E,mBAAmBj+E,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAWmE,IAC/EjG,KAAK69E,mBAAqB53E,EAAKyN,IAAIgb,QAAWA,KAC9C1uB,KAAK89E,4BAA8B73E,EAAKyN,IAAIgb,QAAWA,KACvD1uB,KAAKoF,WAAa,IAAIC,KAAmBrF,KAAK69E,oBAC9C79E,KAAKsF,cAAgBtF,KAAK69E,mBAAmBv3E,OAC7CtG,KAAKoF,WAAWH,UAAYjF,KAAKiF,UACjC,IAAIi5E,EAAe,EACnBl+E,KAAK69E,mBAAmBlpE,QAAQ+Z,IACzBA,EAAE+tD,YACLyB,MAGS,IAATA,IACFl+E,KAAKy9E,yBAA0B,GAE7Bz9E,KAAK4pB,UAAU9D,cAAc51B,OAC/B8P,KAAKiqB,WAAS,EAGpB,CAEAA,YACE,IAAI47C,EAAW7lE,KAAK69E,mBAAmB13E,OAAO2/D,GAC5CA,EAAEz0C,UAAUjX,cAAcrC,SAAS/X,KAAK4pB,UAAU9D,cAAc51B,MAAMkqB,gBACtE0rD,EAAE//D,IAAIqU,cAAcrC,SAAS/X,KAAK4pB,UAAU9D,cAAc51B,MAAMkqB,gBAChE0rD,EAAE0W,gBAAgB3wE,WAAWuO,cAAcrC,SAAS/X,KAAK4pB,UAAU9D,cAAc51B,MAAMkqB,gBAEzFpa,KAAKoF,WAAa,IAAIC,KAAmBwgE,GACzC7lE,KAAKsF,cAAgBugE,EAASv/D,OAC9BtG,KAAKoF,WAAWH,UAAYjF,KAAKiF,SACnC,CAEQksC,kBACNnxC,KAAK6qB,YACF7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,cACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WACnD9qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,gBACxD,CAEQkzD,eACNh+E,KAAKwvD,QAAUxvD,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SACpE,CAEA0yD,uBAEE,MAAMzX,EAAiB/lE,KAAK69E,mBAAmB13E,OAAO,CAACg4E,EAAapjE,IAIhEojE,EAAY3B,iBAHGx8E,KAAK89E,4BAA4B/iE,GAGRyhE,gBAGd,IAA1BzW,EAAez/D,OAKnBtG,KAAK29E,mBAAmBxwE,OAAO44D,GAAgBjkE,UAAUmE,IACvDjG,KAAKW,wBAAwBqC,mBAAmB,gDAChDhD,KAAK+9E,SAAO,GANZ/9E,KAAKW,wBAAwBslE,gBAAgB,oCAQjD,CAEAsW,iBAAiBliE,EAAYU,GAC3B,IAAIyhE,EAAiBzpD,OAAO1Y,EAAMqL,OAAOx1B,OACzC,GAAIssF,EAAiB,EACnB,QAAS/hE,EAAIM,EAAON,EAAIza,KAAKoF,WAAWa,KAAKK,OAAQmU,IACnDza,KAAKoF,WAAWa,KAAKwU,GAAG+hE,eAAiBA,EACzCA,GAAkB,CAGxB,CAEAL,OAAOl2E,GACLjG,KAAK29E,mBAAmBxB,OAAOn8E,KAAKkT,QAASlT,KAAKiI,OAAQhC,EAAK/F,GACjE,CAEAk8E,UAAUn2E,GACR,MAGMsT,EAAgB,IAAIC,KAAwB,gBAHtCxZ,KAAK49E,qBACb,0CAA0C33E,EAAKorB,aAC/C,gCAAgCprB,EAAKorB,cAEzCrxB,KAAK0P,OACF6I,KAAKkB,KAA6B,CAAExT,KAAMsT,IAC1CV,cACA/W,UAAU4X,IACLA,GACF1Z,KAAK29E,mBAAmBvB,UAAUp8E,KAAKkT,QAASlT,KAAKiI,OAAQhC,EAAK/F,IAAI4B,UAAU4X,IAC9E1Z,KAAKW,wBAAwBqC,mBAAmB,sCAChD,QAASyX,EAAI,EAAGA,EAAIza,KAAK69E,mBAAmBv3E,OAAQmU,IAC9Cza,KAAK69E,mBAAmBpjE,GAAGva,IAAM+F,EAAK/F,KACxCF,KAAK69E,mBAAmBpjE,GAAGgiE,YAAa,IAG7C,EAGT,CAEAJ,SAASp2E,GACP,MAKMsT,EAAgB,IAAIC,KAAwB,gBALtCxZ,KAAK49E,qBACb,GAAG33E,EAAKorB,8CACPprB,EAAK42E,YAEJ,mDAAgD52E,EAAKorB,aADrD,gEAA0DprB,EAAKorB,cAGrErxB,KAAK0P,OACF6I,KAAKkB,KAA6B,CAAExT,KAAMsT,IAC1CV,cACA/W,UAAU4X,IACT,GAAIA,EAAK,CACP1Z,KAAK29E,mBAAmBtB,SAASr8E,KAAKkT,QAASlT,KAAKiI,OAAQhC,EAAK/F,IACjE,QAASua,EAAI,EAAGA,EAAIza,KAAK69E,mBAAmBv3E,OAAQmU,IAC9Cza,KAAK69E,mBAAmBpjE,GAAGva,IAAM+F,EAAK/F,IACM,MAA1CF,KAAK69E,mBAAmBpjE,GAAGoiE,cAC7B78E,KAAK69E,mBAAmBpjE,GAAGoiE,YAAc,IAAIjsD,KAIrD,GAEN,CAEAusD,cAAcl3E,GACZ,MAAMsT,EAAgB,IAAIC,KACxB,gBACA,2CAAwCvT,EAAKorB,cAE/CrxB,KAAK0P,OACF6I,KAAKkB,KAA6B,CAAExT,KAAMsT,IAC1CV,cACA/W,UAAU4X,IACT,GAAIA,EAAK,CACP1Z,KAAKu4B,QAAQtyB,GACb,QAASwU,EAAI,EAAGA,EAAIza,KAAK69E,mBAAmBv3E,OAAQmU,IAC9Cza,KAAK69E,mBAAmBpjE,GAAGva,IAAM+F,EAAK/F,KACxCF,KAAK69E,mBAAmBpjE,GAAGgiE,YAAa,EAG9C,GAEN,CAEAlkD,QAAQtyB,GACNjG,KAAK29E,mBAAmBplD,QAAQv4B,KAAKkT,QAASlT,KAAKiI,OAAQhC,EAAK/F,IAAI4B,UAAUmE,IAC5EjG,KAAKW,wBAAwBqC,mBAAmB,oCAChDhD,KAAK69E,mBAAmBlpE,QAAQ+Z,IAC1BA,EAAExuB,KAAO+F,EAAK/F,KAChBwuB,EAAEmuD,YAAc52E,EAAK42E,YACrBnuD,EAAEsuD,WAAa/2E,EAAK+2E,cAGxBh9E,KAAKy9E,yBAA0B,GAEnC,4CAzNWC,GAA6Bt9E,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,IAAAhD,MAAAiD,OAAAjD,MAAAyb,MAAAzb,MAAA0b,MAAA1b,MAAAyb,MAAA,+BAA7B6hE,EAA6Bp6E,UAAA,gCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UAsB7BgD,KAAY,izGDtCzBvG,MADA,uBACAA,CAD4D,qBAE5DA,MAAA,gBAEEA,MADA,EAAAg+E,GAAA,UACAh+E,CADgC,EAAAi+E,GAAA,WAElCj+E,QACAA,MAAA,QAEEA,MADF,eACEA,CAD2C,OACxCA,MAAA,wBAAYA,QAEbA,MADF,OACEA,CADE,SACEA,MAAA,0EAA0DA,MAAA,QAAGA,MAAA,cAAOA,QAAIA,MAAA,QAACA,QAC7EA,MAAA,SAAIA,MAAA,gBAASA,MAAA,QAAGA,MAAA,4BAAkBA,QAAKA,MAAA,6CAAkCA,MAAA,QAAGA,MAAA,mCAAyBA,QAAIA,MAAA,QAACA,QAC1GA,MAAA,SAAIA,MAAA,0BAAgBA,MAAA,QAAGA,MAAA,gBAAMA,QAAKA,MAAA,qEAA0DA,QAC5FA,MAAA,SAAIA,MAAA,iDAAuCA,MAAA,QAAGA,MAAA,gBAASA,QAAKA,MAAA,sBAAcA,QAE1EA,MADA,GAAAk+E,GAAA,WACAl+E,CADiC,GAAAm+E,GAAA,YAEjCn+E,MAAA,SAAIA,MAAA,oBAAUA,MAAA,QAAGA,MAAA,gBAAMA,QAAKA,MAAA,UAAEA,MAAA,QAAGA,MAAA,gBAASA,QAAKA,MAAA,mEACjDA,UACAA,MAAA,SACAA,MAAA,QAAGA,MAAA,0EAA0DA,QAE3DA,MADF,QACEA,CADE,SACEA,MAAA,gBAASA,MAAA,QAAGA,MAAA,4BAAkBA,QAAKA,MAAA,mCAA2BA,QAClEA,MAAA,SAAIA,MAAA,4BAAqBA,MAAA,QAAGA,MAAA,mBAAYA,QAAKA,MAAA,sBAEjDA,YACAA,MAAA,SAGEA,MADF,sBACEA,CAD8D,iBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,aAAMA,QAChDA,MAAA,gBAAWA,MAAA,gBAASA,QACpBA,MAAA,gBAAwDA,MAAA,2BAAAA,aAAAmc,GAAAnc,MAAiBwD,EAAAqmB,YAAW,GACtF7pB,UAEAA,MAAA,cACEA,MAAA,MAEEA,MADA,GAAAo+E,GAAA,YACAp+E,CADsC,GAAAq+E,GAAA,qBAGxCr+E,MAAA,OAEEA,MADA,GAAAs+E,GAAA,YACAt+E,CADsC,GAAAu+E,GAAA,qBAGxCv+E,MAAA,OAEEA,MADA,GAAAw+E,GAAA,YACAx+E,CADsC,GAAAy+E,GAAA,qBAGxCz+E,MAAA,OAEEA,MADA,GAAA0+E,GAAA,YACA1+E,CADgE,GAAA2+E,GAAA,qBAelE3+E,MAAA,OAEEA,MADA,GAAA4+E,GAAA,YACA5+E,CADgE,GAAA6+E,GAAA,qBAMlE7+E,MAAA,OAEEA,MADA,GAAA8+E,GAAA,YACA9+E,CADgE,GAAA++E,GAAA,qBAMlE/+E,MAAA,OAEEA,MADA,GAAAg/E,GAAA,YACAh/E,CADgE,GAAAi/E,GAAA,qBAMlEj/E,MAAA,OAEEA,MADA,GAAAk/E,GAAA,YACAl/E,CADsC,GAAAm/E,GAAA,qBAoCxCn/E,MAFA,GAAAo/E,GAAA,YAEAp/E,CAFkD,GAAAq/E,GAAA,YAElDr/E,CADuD,GAAAs/E,GAAA,aAMzDt/E,QACAA,MAAA,uBAYMA,MAPN,iBAOMA,CAPmD,yBAOnDA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAClCA,QACAA,MAAA,cACEA,MAAA,IAAAu/E,GAAA,iBAUNv/E,kBAvJkBA,MAAA,SAAAwD,EAAA5C,aACHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAEnC7H,MAAA,GAAAA,MAAA,OAAAwD,EAAAg6E,sBACAx9E,cAAA,QAAAwD,EAAAg6E,sBAUGx9E,MAAA,IAAAA,MAAA,OAAAwD,EAAAg6E,sBACAx9E,cAAA,QAAAwD,EAAAg6E,sBAkBQx9E,MAAA,IAAAA,MAAA,aAAAwD,EAAAwB,YAqFKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAQjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAAymB,KAiBRzmB,MAAA,GAAAA,MAAA,QAAAwD,EAAAinB,YAAAjnB,EAAAwB,WAAAa,KAAAK,OAAA,qyBChIIo3E,CAA6B,4BCZpCt9E,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAyD,EAAAoC,8BAGrD7F,MAAA,WAAsCA,MAAA,gBAAOA,mCAC7CA,MAAA,WAAwDA,MAAA,GAAiBA,kCAAjBA,cAAA4D,EAAAc,iCAGxD1E,MAAA,WAAsCA,MAAA,QAAEA,mCACxCA,MAAA,WAAmDA,MAAA,GAAYA,kCAAZA,cAAA+D,EAAAu9B,4BAGnDthC,MAAA,WAAsCA,MAAA,cAAQA,mCAC9CA,MAAA,WAAyDA,MAAA,GAAkBA,kCAAlBA,cAAAsoB,EAAAk3D,kCAGzDx/E,MAAA,WAAsCA,MAAA,cAAQA,mCAC9CA,MAAA,WAAyDA,MAAA,GAAkBA,kCAAlBA,cAAAkE,EAAAk6B,iCAE3Dp+B,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WCfG,IAAMy/E,GAAoC,MAA3C,MAAOA,EAMF/4D,UACyB7gB,KANlC68B,SACA39B,YAAwB,CAAC,OAAQ,UAAW,KAAM,WAAY,YAC9DC,WAA4C,IAAIC,KAEhDxF,YACSinB,EACyB7gB,GADzBjG,KAAA8mB,YACyB9mB,KAAAiG,OAEhCjG,KAAK8iC,SAAW78B,EAAK68B,QACvB,CAEAv9B,WACEvF,KAAKoF,WAAWa,KAAOjG,KAAKiG,KAAK65E,UACnC,CAEAl1D,WACE5qB,KAAK8mB,UAAUqB,OAAM,EACvB,4CAlBW03D,GAAoCz/E,MAAAC,OAAAD,MAOrCgoB,OAAe,+BAPdy3D,EAAoCv8E,UAAA,yCAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,uqCAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDbjDvD,MAAA,UAAqBA,MAAA,GAAcA,QACnCA,MAAA,UAEEA,MADF,UACEA,CADsB,aAEpBA,MAAA,KAEEA,MADA,EAAA2/E,GAAA,WACA3/E,CADsC,EAAA4/E,GAAA,oBAGxC5/E,MAAA,KAEEA,MADA,EAAA6/E,GAAA,WACA7/E,CADsC,GAAA8/E,GAAA,oBAGxC9/E,MAAA,MAEEA,MADA,GAAA+/E,GAAA,WACA//E,CADsC,GAAAggF,GAAA,qBAGxChgF,MAAA,OAEEA,MADA,GAAAigF,GAAA,WACAjgF,CADsC,GAAAkgF,GAAA,qBAGxClgF,MAAA,OAEEA,MADA,GAAAmgF,GAAA,WACAngF,CADsC,GAAAogF,GAAA,qBAKxCpgF,MAFA,GAAAqgF,GAAA,YAEArgF,CAFkD,GAAAsgF,GAAA,YAElDtgF,CADuD,GAAAugF,GAAA,aAK3DvgF,UAIMA,MAHN,iBAGMA,CAHmD,sBAGnDA,CAFc,YAEdA,CADyF,gBACjDA,MAAA,0BAASwD,EAAAgnB,UAAU,GAAExqB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,cAG9FA,qBArCqBA,cAAAwD,EAAAk/B,UAGF1iC,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YAqBKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,6ICZxB06E,CAAoC,KCGpCe,GAA6B,MAApC,MAAOA,UAAqCnhF,KAMbC,YACzBsnB,eANDrnB,MAAQ,0BACjBC,OAEAC,YACEC,EACiCJ,EACzBsnB,GAERjnB,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAAgnB,iBAGRhnB,KAAKJ,OAASE,CAChB,CAEAkiB,OAAOgK,EAAiBpC,GACtB,MAAMrW,EAAS,IAAI0Y,MAAW,CAC5BC,WAAYF,IACX/G,OAAO,WAAY2E,GAAsB,IAC5C,OAAO5pB,KAAKmsB,gBAAuC,GAAGnsB,KAAKL,QAAS4T,GAAQ7N,QAC1E0mB,MAAWzT,IAST3Y,KAAKgnB,eAAeqF,wBAAwB,CARI,CAC9ClT,QAAS,8BACTyI,KAAM0K,KAAqBC,OAEe,CAC1CpT,QAAS,SAASR,EAAIvU,WAAWuU,EAAIO,UACrC0I,KAAM0K,KAAqBC,UAEyD,EAC/EC,WAGb,4CA/BWo0D,GAA4BxgF,MAAAC,OAAAD,MAM7B,eAAaA,MAAA+C,MAAA,iCANZy9E,EAA4BtgF,QAA5BsgF,EAA4BrgF,UAAAC,WAF3B,gBAEDogF,CAA6B,oECNtCxgF,MAAA,WAAsDA,MAAA,OAACA,mCACvDA,MAAA,WAAkDA,MAAA,GAAYA,kCAAZA,cAAA4D,EAAA9D,4BAGlDE,MAAA,WAAsDA,MAAA,aAAOA,mCAE3DA,MAAA,UAAyBA,MAAA,GAAkCA,wCAAlCA,cAAA,GAAA+D,EAAA+oB,OAAA,MAAA/oB,EAAAskB,MAAA,+BACzBroB,MAAA,UAA0BA,MAAA,GAAeA,wCAAfA,cAAA+D,EAAAskB,kCAF5BroB,MAAA,WAEEA,MADA,EAAAygF,GAAA,cACAzgF,CADyB,EAAA0gF,GAAA,eAE3B1gF,kCAFSA,cAAA,OAAA+D,EAAA+oB,QACA9sB,cAAA,QAAA+D,EAAA+oB,gCAIT9sB,MAAA,WAAsCA,MAAA,0BAAcA,mCACpDA,MAAA,WAA+DA,MAAA,GAAkBA,kCAAlBA,cAAAsoB,EAAAoa,iCAG/D1iC,MAAA,oDAGIA,MAFJ,UAEIA,CAF+B,WAE/BA,CAD2F,eACnEA,MAAA,yBAAA4oB,EAAA5oB,MAAAkxB,GAAA/sB,UAAA+3E,EAAAl8E,QAAA,OAAAA,MAASk8E,EAAA99C,SAAAxV,GAAa,GAC5C5oB,MAAA,cAAUA,MAAA,0BAGhBA,qCAEFA,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WCpBK,IAAM2gF,GAAoC,MAA3C,MAAOA,EAgBDC,6BACA3xE,oBACAsa,qBACDja,OAlBkCzK,UACvBC,KAEpBC,YAAwB,CAAC,KAAM,UAAW,WAAY,UACtDC,WAAwD,IAAIC,KAC5DC,cAAwB,EAEDskB,SACvBC,YAAsB,wCACtB3W,QACSlS,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,mCAA2BC,MAAO,mCAAoCC,KAAM,YAEvFtB,YACUmhF,EACA3xE,EACAsa,EACDja,GAHC1P,KAAAghF,+BACAhhF,KAAAqP,sBACArP,KAAA2pB,uBACD3pB,KAAA0P,QACN,CAEHlK,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAChEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAK4F,aAAW,EACf,EACL,CAEAykB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAKghF,6BACFh/D,OAAOhiB,KAAKgG,aAAchG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,IAC5E/nB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAK4F,aACP,CAEA44B,SAASyiD,GACPjhF,KAAK0P,OAAO6I,KAAKsnE,GAAsC,CAAE55E,KAAMg7E,EAAWryD,WAAY,qBACxF,CAEA/D,aACE,OAAQ7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,WAC7D,CAEAo2D,sBACE,OAAOlhF,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,sBAC5D,CAEAmuB,UACE,OAAOj5C,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SAC5D,4CAvFWi2D,GAAoC3gF,MAAAC,IAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAA,+BAApC09E,EAAoCz9E,UAAA,yCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACpCgD,KAAY,SACZC,MAAO,o9CDpBpBxG,MAAA,wBAIEA,MADF,qBACEA,CAD8D,gBAC1CA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QACAA,MAAA,aAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,KAEEA,MADA,GAAA+gF,GAAA,WACA/gF,CADsD,GAAAghF,GAAA,oBAGxDhhF,MAAA,MAEEA,MADA,GAAAihF,GAAA,WACAjhF,CADsD,GAAAkhF,GAAA,qBAMxDlhF,MAAA,OAEEA,MADA,GAAAmhF,GAAA,YACAnhF,CADsC,GAAAohF,GAAA,qBAGxCphF,MAAA,OAEEA,MADA,GAAAqhF,GAAA,YACArhF,CADsC,GAAAshF,GAAA,qBAWxCthF,MAFA,GAAAuhF,GAAA,YAEAvhF,CAFkD,GAAAwhF,GAAA,YAElDxhF,CADuD,GAAAyhF,GAAA,aAIzDzhF,QACAA,MAAA,6BAxCkBA,MAAA,SAAAwD,EAAA5C,aAQDZ,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YA0BKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,EAAAymB,8JCxBJk6D,CAAoC,6FCNzC3gF,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA4D,EAAA1T,KACnD8P,cAAA,IAAA4D,EAAA9T,MAAA,6BAQNkQ,MAAA,WAAsDA,MAAA,OAACA,mCACvDA,MAAA,WAAkDA,MAAA,GAAYA,kCAAZA,cAAA+D,EAAAjE,4BAGlDE,MAAA,WAAsDA,MAAA,aAAOA,mCAC7DA,MAAA,WAAwDA,MAAA,GAAgBA,kCAAhBA,cAAAsoB,EAAAwE,gCAGxD9sB,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAkE,EAAA4G,8BAGrD9K,MAAA,WAAsDA,MAAA,kBAAMA,mCAC5DA,MAAA,WAAuDA,MAAA,GAAgBA,kCAAhBA,cAAA4oB,EAAA/gB,gCAGvD7H,MAAA,WAAsDA,MAAA,iBAAWA,mCACjEA,MAAA,WAA4DA,MAAA,GAAyBA,kCAAzBA,cAAA+sB,EAAAC,yCAG5DhtB,MAAA,WAAsDA,MAAA,kBAAYA,mCAClEA,MAAA,WAA6DA,MAAA,mBAAgDA,kCAAhDA,oBAAA,IAAAipB,EAAAgE,iBAAA,uCAG7DjtB,MAAA,WAAsDA,MAAA,gBAAUA,mCAChEA,MAAA,WAA2DA,MAAA,mBAA8CA,kCAA9CA,oBAAA,IAAAktB,EAAAC,eAAA,uCAG3DntB,MAAA,WAAsDA,MAAA,oBAAQA,mCAC9DA,MAAA,WAAyDA,MAAA,GAAkBA,kCAAlBA,cAAAotB,EAAApN,iCAGzDhgB,MAAA,oDAYMA,MAAA,eAAsBA,MAAA,mBAAAA,MAAAgyB,GAAA,MAAA3E,EAAArtB,QAAAmE,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAo0D,2BAAAr0D,EAAAva,QAAAua,EAAAxlB,QAAmD,GAChF7H,MAAA,cAAUA,MAAA,mBAAaA,QACvBA,MAAA,4BACFA,kDAXAA,MAHN,UAGMA,CAH6B,WAG7BA,CAFyF,cAEzFA,CAD8E,cACpEA,MAAA,eACZA,UAEEA,MADF,oBACEA,CADwB,eACFA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAtN,SAAAqN,GAAa,GAC1CrtB,MAAA,iBAA0BA,MAAA,UAAIA,QAC9BA,MAAA,uBACFA,QACAA,MAAA,GAAA2hF,GAAA,iBAMA3hF,MAAA,gBAAsBA,MAAA,yBAAAqtB,EAAArtB,MAAA8I,GAAA3E,UAAAmpB,EAAAttB,QAAA,OAAAA,MAASstB,EAAAs0D,yBAAAv0D,EAAAva,QAAAua,EAAAxlB,QAAiD,GAC9E7H,MAAA,eAAUA,MAAA,gBAASA,QACnBA,MAAA,2BAIRA,qDApB0CA,MAAA,GAAAA,MAAA,oBAAA6hF,GAQpC7hF,MAAA,GAAAA,MAAAqtB,EAAAoQ,iBAAA,8BAcRz9B,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WC9DK,IAAM8hF,GAAmC,MAA1C,MAAOA,EAgCD1tD,mBACAtzB,MACAmO,oBACAzO,OACA8O,OAnCiCzK,UACvBC,KAEpBC,YAAwB,CACtB,KACA,SACA,OACA,SACA,kBACA,mBACA,iBACA,WACA,UAEFC,WAA8C,IAAIC,KAClDC,cAAwB,EACftE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,gBAAcC,MAAO,mCAAoCC,KAAM,qBAGnDyoB,SACMuE,eAC7BC,0BAAoC,GACpCvE,YAAsB,uCACtBwE,oBAA8B,uDAC9Bnb,QAEAob,UAAY/8B,MAEZsO,YACU20B,EACAtzB,EACAmO,EACAzO,EACA8O,GAJA1P,KAAAw0B,qBACAx0B,KAAAkB,QACAlB,KAAAqP,sBACArP,KAAAY,SACAZ,KAAA0P,SAER1P,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,SAAc,GAExC,CAEA1N,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,aAAS,EAEhEooB,MAAyBlqB,KAAK4pB,SAAS9D,cAAe,SACnDpgB,QACCykB,MAAa,MAAG,EAChBhkB,MAAQsf,GAA+B,UAAVA,EAAEn1B,MAAe,EAC9C85B,SAAoB,EACpBvkB,KAAI,KACF7F,KAAKiF,UAAUuB,UAAY,EAC3BxG,KAAKiqB,WAAS,IAGjBnoB,YAEH6D,WAAW,KACT3F,KAAK4pB,SAAS9D,cAAc51B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GACtF7pB,KAAKmuB,eAAej+B,MAAQ8P,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAAwB,GACtFruB,KAAK4F,aAAW,EACf,EACL,CAEAykB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACE5F,KAAKw0B,mBACF2tD,oBACCniF,KAAKkT,QACLlT,KAAKgG,aACLhG,KAAKqP,oBAAoBhN,IAAIrC,KAAK6pB,cAAgB,GAClD7pB,KAAKqP,oBAAoBhN,IAAIrC,KAAKquB,sBAEnCvsB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,aAAA,EAEhC,CAEQU,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAKqP,oBAAoBsH,IAAI3W,KAAK6pB,YAAa7pB,KAAK4pB,UAAU9D,cAAc51B,OAC5E8P,KAAKqP,oBAAoBsH,IAAI3W,KAAKquB,oBAAqBruB,KAAKmuB,gBAAgBj+B,OAC5E8P,KAAK4F,aACP,CAEAk8E,2BAA2B5uE,EAAiBjL,GAC1CjI,KAAKY,OAAOsC,SAAS,CAAC,yCAAyCgQ,KAAWjL,KAC5E,CAEA+5E,yBAAyB9uE,EAAiBjL,GACxCjI,KAAKY,OAAOsC,SAAS,CAAC,uCAAuCgQ,KAAWjL,KAC1E,CAEAmY,SAAS0J,GACP9pB,KAAK0P,OAAO6I,KAAKm/B,GAA8B,CAC7CzxC,KAAM6jB,EACN8E,WAAY,qBAEhB,4CApHWszD,GAAmC9hF,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAA+C,MAAA/C,MAAAiD,OAAA,+BAAnC6+E,EAAmC5+E,UAAA,wCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACnCgD,KAAY,SACZC,MAAO,gwFDtBpBxG,MAAA,wBAIMA,MAHN,UAGMA,CAH2C,UAG3CA,CAFsD,qBAEtDA,CADyE,gBACrDA,MAAA,mBAAAA,aAAAmc,GAAAnc,MAASwD,EAAAqmB,YAAW,GAAE7pB,MAAA,YAAMA,QAChDA,MAAA,eAAWA,MAAA,eAASA,QACpBA,MAAA,eACFA,QAEEA,MADF,sBACEA,CADyE,gBAC9DA,MAAA,qBAAQA,QACnBA,MAAA,sBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,KAAA3E,EAAAwqB,0BAAA7lB,GAAAnI,MAAAmI,EAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,oBAAqBA,MAAA,YAAKA,QAC1BA,MAAA,GAAAgiF,GAAA,0CAMRhiF,cACAA,MAAA,eAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAEEA,MADA,GAAAiiF,GAAA,YACAjiF,CADsD,GAAAkiF,GAAA,qBAGxDliF,MAAA,OAEEA,MADA,GAAAmiF,GAAA,YACAniF,CADsD,GAAAoiF,GAAA,qBAGxDpiF,MAAA,OAEEA,MADA,GAAAqiF,GAAA,YACAriF,CADsD,GAAAsiF,GAAA,qBAGxDtiF,MAAA,OAEEA,MADA,GAAAuiF,GAAA,YACAviF,CADsD,GAAAwiF,GAAA,qBAGxDxiF,MAAA,OAEEA,MADA,GAAAyiF,GAAA,YACAziF,CADsD,GAAA0iF,GAAA,qBAGxD1iF,MAAA,OAEEA,MADA,GAAA2iF,GAAA,YACA3iF,CADsD,GAAA4iF,GAAA,qBAGxD5iF,MAAA,OAEEA,MADA,GAAA6iF,GAAA,YACA7iF,CADsD,GAAA8iF,GAAA,qBAGxD9iF,MAAA,OAEEA,MADA,GAAA+iF,GAAA,YACA/iF,CADsD,GAAAgjF,GAAA,qBAGxDhjF,MAAA,OAEEA,MADA,GAAAijF,GAAA,YACAjjF,CADsC,GAAAkjF,GAAA,sBA2BxCljF,MAFA,GAAAmjF,GAAA,YAEAnjF,CAFkD,GAAAojF,GAAA,YAElDpjF,CADuD,GAAAqjF,GAAA,aAIzDrjF,QACAA,MAAA,6BApFkBA,MAAA,SAAAwD,EAAA5C,aAUAZ,MAAA,IAAAA,MAAA,QAAAwD,EAAAwqB,2BAEkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAAwD,EAAA0qB,YAOnBluB,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YA2DKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAMjC/E,MAAA,GAEAA,MAFA,SAAAwD,EAAA0B,cAEAlF,CAFwB,cAExBA,CADe,kBAAAA,MAAA,GAAA+iB,2MClEJ++D,CAAmC,KCVnCwB,GAAsB,MAA7B,MAAOA,EAKSxiF,MAA8BwO,OAJlDggD,SAAmB,GACnB/tC,MAAgB,GAChBgiE,QAAkB,EAElB9jF,YAAoBqB,EAA8BwO,GAA9B1P,KAAAkB,QAA8BlB,KAAA0P,QAAoB,CAEtEnK,WACEvF,KAAKkB,MAAM+E,KAAKnE,UAAUmE,IACxB,IAAMypD,WAAU/tC,QAAOgiE,UAAW19E,EAClCjG,KAAK0vD,SAAWA,EAChB1vD,KAAK2hB,MAAQA,EACb3hB,KAAK2jF,OAASA,EACd3jF,KAAKgjB,UAAQ,EAEjB,CAEAA,WACE,GAAIhjB,KAAK2jF,OACP3jF,KAAK0P,OAAO6I,KAAK+N,KAA8B,CAC7CrgB,KAAM,CACJ4kC,OAAQ7qC,KAAK2hB,MACb6E,aAAc,eAAexmB,KAAK0vD,YAEpCjpC,MAAO,MACPC,OAAQ,YAEL,CACL,IAAIgB,EAAeC,SAASC,cAAc,KAC1CF,EAAaG,aAAa,WAAY7nB,KAAK0vD,UAC3ChoC,EAAaK,KAAO,eAAe/nB,KAAK0vD,WACxC/nC,SAASK,KAAKC,YAAYP,GAC1BA,EAAaxE,QACbwE,EAAaQ,QACf,CACF,4CAnCWw7D,GAAsBtjF,MAAAC,MAAAD,MAAA+C,OAAA,+BAAtBugF,EAAsBpgF,UAAA,yBAAAC,MAAA,EAAAC,KAAA,EAAAC,OAAA,uDAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICVnCvD,MAAA,QAAIA,MAAA,GAAWA,QAEfA,MAAA,cAA0CA,MAAA,0BAASwD,EAAAof,UAAU,GAAE5iB,MAAA,cAAUA,MAAA,oBAAcA,QAAYA,MAAA,iBAAUA,eAFzGA,cAAAwD,EAAA+d,2CDUS+hE,CAAsB,8FECzBtjF,MAAA,mBACEA,MAAA,GACFA,kCAFqDA,MAAA,QAAA4D,EAAA1T,KACnD8P,cAAA,IAAA4D,EAAA9T,MAAA,gCAcEkQ,MAAA,mBACEA,MAAA,GACFA,kCAFwDA,MAAA,QAAAkE,EAAAhU,KACtD8P,cAAA,IAAAkE,EAAApU,MAAA,+CAOJkQ,MADF,qBACEA,CADyG,eAC9FA,MAAA,6BAAiBA,QAC5BA,MAAA,cAAyBA,MAAA,yBAAAmI,GAAAnI,MAAAoI,GAAA,MAAAy+B,EAAA7mC,MAAA,GAAAA,aAAA6mC,EAAAhhC,KAAAsC,KAAA0+B,EAAAhhC,KAAAsC,GAAAnI,MAAAmI,EAAA,GAAzBnI,QAEAA,MADA,6BACAA,CAD+E,2BAEjFA,4CAH2BA,MAAA,GAAAA,MAAA,UAAA6mC,EAAAhhC,MAAmB7F,MAAA,gBAAAwjF,GACXxjF,cAAA,MAAAwjF,6CAhBvCxjF,MAFJ,UAEIA,CAFqF,eAErFA,CADsB,YACdA,MAAA,yBAAaA,QAIfA,MAHN,QAGMA,CAHD,QAGCA,CAFC,qBAEDA,CADyE,eAC9DA,MAAA,oBAAQA,QACnBA,MAAA,oBAAYA,MAAA,uBAAAmI,GAAAnI,MAAA6vC,GAAA,MAAAhJ,EAAA7mC,qBAAA6mC,EAAA48C,wBAAAt7E,KAAA0+B,EAAA48C,wBAAAt7E,GAAAnI,MAAAmI,EAAA,GAAoCnI,MAAA,6BAAAA,MAAA6vC,GAAA,MAAAhJ,EAAA7mC,QAAA,OAAAA,MAAmB6mC,EAAA68C,uBAAsB,GACvF1jF,MAAA,GAAA2jF,GAAA,yCAKN3jF,YACAA,MAAA,UACEA,MAAA,GAAA4jF,GAAA,yBAOJ5jF,UAGIA,MAFJ,SAEIA,CAFC,SAEDA,CADG,sBACWA,MAAA,yBAAAmI,GAAAnI,MAAA6vC,GAAA,MAAAhJ,EAAA7mC,qBAAA6mC,EAAA66B,kBAAAv5D,KAAA0+B,EAAA66B,kBAAAv5D,GAAAnI,MAAAmI,EAAA,GACZnI,MAAA,kEAEJA,UAGEA,MADF,YACEA,CAD4B,gBACsDA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAhJ,EAAA7mC,QAAA,OAAAA,MAAS6mC,EAAA95B,SAAQ,GAEjG/M,MAAA,eAAUA,MAAA,WAAIA,QACdA,MAAA,eAKVA,wCAhCsBA,MAAA,GAAAA,MAAA,QAAA6mC,EAAA48C,yBACkBzjF,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAA6mC,EAAAg9C,eAO6C7jF,MAAA,GAAAA,MAAA,OAAA6mC,EAAAi9C,wBAU/D9jF,MAAA,GAAAA,MAAA,UAAA6mC,EAAA66B,mBAMN1hE,MAAA,GAAAA,MAAA,gBAAA8oB,IAAA+d,EAAAg9C,wDAaV7jF,MADF,UACEA,CADoC,qBACtBA,MAAA,kBAAAmI,GAAAnI,MAAAuxB,GAAA,MAAAsV,EAAA7mC,QAAA,OAAAA,MAAAmI,EAAmB0+B,EAAAk9C,gBAAkB,KAAI,GAGzD/jF,kCAH2DA,QACIA,MADJ,UAAA6mC,EAAA4d,UAAAu/B,YAAAn9C,EAAAo9C,gBACIjkF,CAD+C,gBAAA6mC,EAAA4d,UAAAu/B,aAAAn9C,EAAAo9C,gBAC/CjkF,CAAD,aAAA6mC,EAAAq9C,2DAI5DlkF,MADF,UACEA,CADiC,qBACgBA,MAAnC,iBAAAmI,GAAAnI,aAAA2I,GAAA3I,MAASmI,EAAAg8E,kBAAwB,EAAEnkF,CAAD,kBAAAmI,GAAA,MAAAilB,EAAAptB,MAAA2I,GAAAxE,UAAA0iC,EAAA7mC,QAAA,OAAAA,MAAAmI,EAAoB0+B,EAAA4d,UAAA2/B,OAAAh3D,GAAwB,KAAI,GAGlGptB,gDAFIA,QAAsCA,MAAtC,UAAA6mC,EAAA4d,UAAA4/B,WAAAj3D,GAAsCptB,CAAD,aAAA6mC,EAAAq9C,cAAA92D,4BAMzCptB,MAAA,WAAsDA,MAAA,SAAGA,mCACzDA,MAAA,WAAoDA,MAAA,GAAkBA,kCAAlBA,cAAAwhC,EAAA/tB,kCAGpDzT,MAAA,WAAsDA,MAAA,UAAIA,mCAC1DA,MAAA,WAAqDA,MAAA,GAAcA,kCAAdA,cAAAqtB,EAAAviB,8BAGrD9K,MAAA,WAAsCA,MAAA,oBAAQA,mCAC9CA,MAAA,WAAyDA,MAAA,GAAgBA,kCAAhBA,cAAA0hC,EAAA19B,+BAE3DhE,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WAE9BA,MAAA,4CAAqCA,MAAN,OAAMA,CAAA,QACrCA,MAAA,8DAEJA,WC7DG,IAAMskF,GAAmC,MAA1C,MAAOA,EAqCD7/E,mBACAuK,aACAsa,wBACA/oB,wBACAO,MACAwO,OACAia,qBA1CiC1kB,UACvBC,KAEpBC,YAAwB,CAAC,SAAU,WAAY,OAAQ,UACvDC,WAAoD,IAAIC,KACxDw/C,UAAY,IAAI8/B,OAAkC,EAAM,IACxDr/E,cAAwB,EAEK6oB,eAC7BC,0BAAoC,GACpClb,QACAjL,OACAD,UACA8hB,YACAC,wBAEA9jB,KAAO,IAAI2qB,KACXqzD,aACAJ,wBAAkC,GAClCK,wBAAmC,EAEnC51D,UAAYv6B,MACZgsE,0BAA4B1rE,MAC5B4rE,uBAAyB3rE,MACzBi6B,iBAA6B,GAE7B1D,YAAsB,EACtBi3C,mBAA6B,EAEpB9gE,YAAqC,CAC5C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,SAAUC,MAAO,GAAIC,KAAM,UACpC,CAAEF,MAAO,yBAAoBC,MAAO,GAAIC,KAAM,YAEhDtB,YACUgF,EACAuK,EACAsa,EACA/oB,EACAO,EACAwO,EACAia,IANA3pB,KAAA6E,qBACA7E,KAAAoP,eACApP,KAAA0pB,0BACA1pB,KAAAW,0BACAX,KAAAkB,QACAlB,KAAA0P,SACA1P,KAAA2pB,uBACN,CAEJpkB,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKgB,YAAY,GAAK,CACpBC,MAAO,SACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,gBACrD9G,KAAM,UAERnB,KAAKgB,YAAY,GAAK,CACpBC,MAAO,yBACPC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,iCACrD9G,KAAM,WAERnB,KAAKoP,aAAayhB,SAAS7wB,KAAKkT,SAASpR,UAAUG,IACjDjC,KAAKgI,UAAY/F,EAAIiJ,OAEvBlL,KAAK0pB,wBAAwBM,aAAahqB,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IAC7EjC,KAAK+pB,wBAA0B9nB,GAChC,GAEHjC,KAAKmxC,iBACP,CAEA3rC,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAKiqB,cAAcnoB,YACvD6D,WAAW,KACT3F,KAAK4F,aAAW,EACf,GACH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAuoB,SAASnlB,GACPlF,KAAK4F,aACP,CAEAA,cACyC,KAAnC5F,KAAKouB,0BAITpuB,KAAK6E,mBACFmd,OAAOhiB,KAAKkT,QAASlT,KAAKiI,OAAQjI,KAAKgG,aAAc,GAAIhG,KAAKouB,2BAC9DtsB,UAAUmE,IACTjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAKC,SAC9ClG,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKsF,cAAgBW,EAAKX,cAC1BtF,KAAKuuB,iBAAmB,GACxBvuB,KAAKoF,WAAWa,KAAK0O,QAAQ+Z,IAC3B1uB,KAAKuuB,iBAAiBjb,KAAKob,EAAEtqB,OAAM,EACpC,GAZHpE,KAAKoF,WAAa,IAAIC,IAc1B,CAEQW,aACN,IAAIuN,EAAuB,CACzB/M,UAAWxG,KAAKiF,UAAUuB,UAC1BC,SAAUzG,KAAKiF,UAAUwB,UAE3B,OAAIzG,KAAKkF,MAAQlF,KAAKkF,KAAKqlB,YACzBhX,EAAOiX,UAAexqB,KAAKkF,KAAKulB,OAChClX,EAAOmX,gBAAqB1qB,KAAKkF,KAAKqlB,WAAWvW,eAE5CT,CACT,CAEA0W,YACEjqB,KAAK4kF,gCACL5kF,KAAK4F,aACP,CAEQg/E,gCACF5kF,KAAKouB,4BAA8Br6B,MAAkB,gBACvDiM,KAAKikF,aAAe5vF,MACX2L,KAAKouB,4BAA8Br6B,MAAkBC,SAC9DgM,KAAKikF,aAAe3vF,MACX0L,KAAKouB,4BAA8Br6B,MAAkBE,YAC9D+L,KAAKikF,aAAe1vF,MACXyL,KAAKouB,4BAA8Br6B,MAAkBG,QAC9D8L,KAAKikF,aAAezvF,MACXwL,KAAKouB,4BAA8Br6B,MAAkBI,UAC9D6L,KAAKikF,aAAexvF,MACXuL,KAAKouB,4BAA8Br6B,MAAkBK,YAC9D4L,KAAKikF,aAAevvF,MAExB,CAEAovF,uBACE9jF,KAAKkkF,uBACHlkF,KAAK6jF,0BAA4B9vF,MAAkBC,UACnDgM,KAAK6jF,0BAA4B9vF,MAAkBE,aACnD+L,KAAK6jF,0BAA4B9vF,MAAkBG,SACnD8L,KAAK6jF,0BAA4B9vF,MAAkBK,SACvD,CAEA+Y,SACE,QAAqC+b,IAAjClpB,KAAK6jF,yBAA0E,KAAjC7jF,KAAK6jF,wBAErD,YADA7jF,KAAKW,wBAAwB+B,iBAAiB,oCAGhD,GAAI1C,KAAKouB,4BAA8BpuB,KAAK6jF,wBAE1C,YADA7jF,KAAKW,wBAAwB+B,iBAAiB,2EAGhD,GAAI1C,KAAK6kD,UAAUggC,UAEjB,YADA7kF,KAAKW,wBAAwB+B,iBAAiB,6DAIhD,MAAM6W,EAAgB,IAAIC,KACxB,gBACA,iFAAqExZ,KAAK6jF,4BAE1D7jF,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAGEV,cAAc/W,UAAU4X,IAChC,GAAIA,EAAK,CACP,MAAMorE,EAA6C,CACjDC,IAAK/kF,KAAK6kD,UAAUmgC,SAAStxE,IAAIzR,GAAOA,EAAI/B,IAC5CkgB,SAAUpgB,KAAK6jF,wBAAyBh4E,WACxC5F,KAAMjG,KAAKkkF,uBAAyBlkF,KAAKiG,UAAOijB,EAChD44C,kBAAmB9hE,KAAK8hE,mBAE1B9hE,KAAK6E,mBAAmBogF,oBAAoBH,GACzChjF,UAAU4X,IACT1Z,KAAKW,wBAAwBslE,gBAAgB,gCAA4B/8C,EAAW,KACpFlpB,KAAK4F,cACL,IAAIygB,EAAMiB,OAAOyF,IAAIC,gBAAgBtT,EAAIsO,MACrCN,GAAeC,SAASC,cAAc,KAC1CF,GAAaK,KAAO1B,EACpBqB,GAAa1E,SAAW,yCACxB0E,GAAaxE,QACboE,OAAOyF,IAAIE,gBAAgB5G,GAC3BqB,GAAaQ,SACbloB,KAAK6kD,UAAUhvC,QACf7V,KAAK6jF,wBAA0B,IAErC,GAEJ,CAEQ1yC,kBACNnxC,KAAK6qB,YAAc7qB,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,UAAW,OAAQ,gBAC3F,CAEAu5D,gBAGE,OAFoBrkF,KAAK6kD,UAAUmgC,SAAS1+E,SAC5BtG,KAAKoF,WAAWa,KAAKK,MAEvC,CAEA69E,gBACMnkF,KAAKqkF,gBACPrkF,KAAK6kD,UAAUhvC,QAIjB7V,KAAK6kD,UAAUqgC,UAAUllF,KAAKoF,WAAWa,KAC3C,CAEAq+E,cAAclxD,GACZ,OAAKA,EAGE,GAAGpzB,KAAK6kD,UAAU4/B,WAAWrxD,GAAO,WAAa,gBAAgBA,EAAIvf,SAAW,KAF3E7T,KAAKqkF,gBAAkB,WAAa,UAAvC,MAGX,4CAtNWK,GAAmCtkF,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,MAAAjD,MAAAyb,MAAAzb,MAAA0b,OAAA1b,MAAAiD,MAAA,+BAAnCqhF,EAAmCphF,UAAA,wCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,UACnCgD,KAAY,SACZC,MAAO,8sED/BpBxG,MAFA,uBAEAA,CAF4D,qBAOtDA,MAHN,UAGMA,CAH2C,UAG3CA,CAFsD,eAEtDA,CADsB,YACdA,MAAA,0BAAcA,QAEpBA,MADF,qBACEA,CADyE,eAC9DA,MAAA,oBAAQA,QACnBA,MAAA,qBAAYA,MAAA,uBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAAwD,EAAAwqB,0BAAA7lB,KAAA3E,EAAAwqB,0BAAA7lB,GAAAnI,MAAAmI,EAAA,GAAsCnI,MAAA,6BAAAA,aAAAmc,GAAAnc,MAAmBwD,EAAAqmB,YAAW,GAC9E7pB,MAAA,GAAA+kF,GAAA,yCAMR/kF,cACAA,MAAA,GAAAglF,GAAA,eAwCAhlF,MAAA,SACAA,MAAA,eAAmDA,MAAA,yBAAAmI,GAAAnI,aAAAmc,GAAAnc,MAAiBwD,EAAAymB,SAAA9hB,GAAgB,GAClFnI,MAAA,OAMEA,MALA,GAAAilF,GAAA,YAKAjlF,CALsC,GAAAklF,GAAA,qBAYxCllF,MAAA,OAEEA,MADA,GAAAmlF,GAAA,YACAnlF,CADsD,GAAAolF,GAAA,qBAGxDplF,MAAA,OAEEA,MADA,GAAAqlF,GAAA,YACArlF,CADsD,GAAAslF,GAAA,qBAGxDtlF,MAAA,OAEEA,MADA,GAAAulF,GAAA,YACAvlF,CADsC,GAAAwlF,GAAA,qBAKxCxlF,MAFA,GAAAylF,GAAA,YAEAzlF,CAFkD,GAAA0lF,GAAA,YAElD1lF,CADuD,GAAA2lF,GAAA,aAOzD3lF,QACAA,MAAA,uBAMMA,MAJN,iBAIMA,CAJmD,yBAInDA,CAFyC,eAEzCA,CAD2G,eACjGA,MAAA,iBAAUA,QACpBA,MAAA,eAGNA,oBAxGgBA,MAAA,SAAAwD,EAAA5C,aAEHZ,cAAA,YAAAwD,EAAAoE,WAA0B5H,MAAA,SAAAwD,EAAAqE,QAQrB7H,MAAA,GAAAA,MAAA,QAAAwD,EAAAwqB,2BACkBhuB,MAAA,GAAAA,MAAA,UAAAA,MAAA,MAAAwD,EAAA0qB,YAOuBluB,MAAA,GAAAA,MAAA,OAAAwD,EAAAwB,WAAAa,KAAAK,QAyC1ClG,MAAA,GAAAA,MAAA,aAAAwD,EAAAwB,YA0BKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,aAQpB/E,MAAA,GAA0CA,MAA1C,SAAAwD,EAAA0B,cAA0ClF,CAAlB,eAAkBA,CAAD,kBAAAA,MAAA,GAAAymB,KAKZzmB,MAAA,GAAAA,MAAA,sCAAAwD,EAAAsP,QAAA,IAAAtP,EAAAqE,OAAA,yPCpEjCy8E,CAAmC,4BCPhCtkF,MAHV,UAGUA,CAHH,UAGGA,CAFD,OAECA,CADF,OACEA,CAAA,OAAGA,MAAA,YAAUA,UACbA,MAAJ,OAAIA,CAAA,OAAGA,MAAA,sBAEXA,cAEMA,MADN,UACMA,CADC,QACDA,CAAA,SAAIA,MAAA,kBAAWA,QAAKA,MAAA,SAAIA,MAAA,oBAAkBA,UAC1CA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,qBAAcA,QAAKA,MAAA,SAAIA,MAAA,4DAAoDA,UAC/EA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,WAAIA,QAAKA,MAAA,SAAIA,MAAA,8BAAyBA,UAC1CA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,kBAAWA,QAAKA,MAAA,SAAIA,MAAA,8BAAyBA,UACjDA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,YAAKA,QAAKA,MAAA,SAAIA,MAAA,+BAA0BA,UAC5CA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,sBAAeA,QAAKA,MAAA,SAAIA,MAAA,iBAAeA,UAC3CA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,WAAIA,QAAKA,MAAA,SAAIA,MAAA,4BAA0BA,UAC3CA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,mBAAYA,QAAKA,MAAA,SAAIA,MAAA,8EAAmEA,UAC5FA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,gBAASA,QAAKA,MAAA,SAAIA,MAAA,8BAAyBA,UAC/CA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,qBAAcA,QAAKA,MAAA,SAAIA,MAAA,eAAaA,UACxCA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,4BAAqBA,QAAKA,MAAA,SAAIA,MAAA,kBAAgBA,UAClDA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,wBAAiBA,QAAKA,MAAA,SAAIA,MAAA,iBAAeA,UAC7CA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,4BAAqBA,QAAKA,MAAA,SAAIA,MAAA,8BAAyBA,UAC3DA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,0BAAmBA,QAAKA,MAAA,SAAIA,MAAA,6BAAwBA,UACxDA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,2BAAoBA,QAAKA,MAAA,SAAIA,MAAA,6BAAwBA,UACzDA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,oCAA6BA,QAAKA,MAAA,SAAIA,MAAA,iBAAeA,UACzDA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,iCAA0BA,QAAKA,MAAA,SAAIA,MAAA,8BAAyBA,UAChEA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,8BAAuBA,QAAKA,MAAA,SAAIA,MAAA,6BAAwBA,UAC5DA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,6BAAqBA,QAAKA,MAAA,UAAIA,MAAA,mBAAgBA,UAClDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,2BAAmBA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACzDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,qBAAaA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACnDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,gBAAQA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UAC9CA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,gBAAQA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UAC9CA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,qBAAaA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACnDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,oBAAYA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UAClDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,oBAAYA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UAClDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,uBAAeA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACrDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,4BAAoBA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UAC1DA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,uBAAeA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACrDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,6BAAqBA,QAAKA,MAAA,UAAIA,MAAA,mBAAgBA,UAClDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,uBAAeA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACrDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,wBAAgBA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACtDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,4BAAoBA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UAC1DA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,4BAAoBA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UAC1DA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,4BAAoBA,QAAKA,MAAA,UAAIA,MAAA,gCAA0BA,UAC3DA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,kCAA0BA,QAAKA,MAAA,UAAIA,MAAA,gCAA0BA,UACjEA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,yCAAiCA,QAAKA,MAAA,UAAIA,MAAA,qBAAkBA,UAChEA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,sBAAcA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACpDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,0BAAkBA,QAAKA,MAAA,UAAIA,MAAA,mBAAgBA,UAC/CA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,wBAAgBA,QAAKA,MAAA,UAAIA,MAAA,+BAAyBA,UACtDA,MAAJ,SAAIA,CAAA,UAAIA,MAAA,gCAAwBA,QAAKA,MAAA,UAAIA,MAAA,kBAE7CA,sCAaUA,MAHV,UAGUA,CAHH,UAGGA,CAFD,OAECA,CADF,OACEA,CAAA,OAAGA,MAAA,YAAUA,UACbA,MAAJ,OAAIA,CAAA,OAAGA,MAAA,sBAEXA,cAEMA,MADN,UACMA,CADC,QACDA,CAAA,SAAIA,MAAA,UAAGA,QAAKA,MAAA,SAAIA,MAAA,4DAAoDA,UACpEA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,wBAAiBA,QAAKA,MAAA,SAAIA,MAAA,wBAAiBA,MAAA,QAAGA,MAAA,YAAKA,QAAKA,MAAA,0CAAuCA,UACnGA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,WAAIA,QAAKA,MAAA,SAAIA,MAAA,sBAAiBA,UAClCA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,kBAAWA,QAAKA,MAAA,SAAIA,MAAA,oBAAeA,UACvCA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,eAAQA,QAAKA,MAAA,SAAIA,MAAA,sEAE7BA,sCAaUA,MAHV,UAGUA,CAHH,UAGGA,CAFD,OAECA,CADF,OACEA,CAAA,OAAGA,MAAA,YAAUA,UACbA,MAAJ,OAAIA,CAAA,OAAGA,MAAA,sBAEXA,cAEMA,MADN,UACMA,CADC,QACDA,CAAA,SAAIA,MAAA,UAAGA,QAAKA,MAAA,SAAIA,MAAA,4DAAoDA,UACpEA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,sBAAeA,QAAKA,MAAA,SAAIA,MAAA,8BAAyBA,UACrDA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,wBAAiBA,QAAKA,MAAA,SAAIA,MAAA,+BAA0BA,UACxDA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,kBAAWA,QAAKA,MAAA,SAAIA,MAAA,iBAAeA,UACvCA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,kBAAWA,QAAKA,MAAA,SAAIA,MAAA,YAAUA,UAClCA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,mBAAYA,QAAKA,MAAA,SAAIA,MAAA,8BAAyBA,UAClDA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,WAAIA,QAAKA,MAAA,SAAIA,MAAA,sBAAiBA,UAClCA,MAAJ,QAAIA,CAAA,SAAIA,MAAA,eAAQA,QAAKA,MAAA,SAAIA,MAAA,oBAE7BA,eClHC,IAAM4lF,GAAyB,MAAhC,MAAOA,EACJhlF,YAAqC,CAC1C,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,6BAAwBC,MAAO,6BAA8BC,KAAM,aAE9E6hB,SAAS0sC,GACP,IAAIhoC,EAAeC,SAASC,cAAc,KAC1CF,EAAaG,aAAa,WAAY6nC,GACtChoC,EAAaK,KAAO,cAAc2nC,IAClC/nC,SAASK,KAAKC,YAAYP,GAC1BA,EAAaxE,QACbwE,EAAaQ,QACf,4CAZW89D,EAAyB,+BAAzBA,EAAyB1iF,UAAA,4BAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,2DAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDRtCvD,MAAA,wBAGEA,MADF,aACEA,CADQ,YACAA,MAAA,yBAAmBA,QAErBA,MADN,OACMA,CADF,OACEA,CAAA,SAAGA,MAAA,0BAASwD,EAAAof,SAAS,qBAAqB,GAAE5iB,MAAA,YAAUA,UACtDA,MAAJ,OAAIA,CAAA,SAAGA,MAAA,0BAASwD,EAAAof,SAAS,2BAA2B,GAAE5iB,MAAA,qBAAkBA,UACpEA,MAAJ,QAAIA,CAAA,UAAGA,MAAA,0BAASwD,EAAAof,SAAS,mBAAmB,GAAE5iB,MAAA,WAElDA,cAEAA,MAAA,SAKMA,MAHN,mBAGMA,CAHS,yBAGTA,CAFiB,gCAEjBA,CAD0B,sBAExBA,MAAA,mBAEJA,UACAA,MAAA,GAAA6lF,GAAA,uBAqDF7lF,QAGIA,MAFJ,yBAEIA,CAFiB,gCAEjBA,CAD0B,sBAExBA,MAAA,2BAEJA,UACAA,MAAA,GAAA8lF,GAAA,sBAiBF9lF,QAGIA,MAFJ,yBAEIA,CAFiB,gCAEjBA,CAD0B,sBAExBA,MAAA,iBAEJA,UACAA,MAAA,GAAA+lF,GAAA,sBAqBJ/lF,gBA7HkBA,MAAA,SAAAwD,EAAA5C,6TCQLglF,CAAyB,kFCChC5lF,MADF,UACEA,CADoC,eACMA,MAAA,mBAAAA,MAAAmc,GAAA,MAAAxU,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAq+E,UAAS,GAC1DhmF,MAAA,cAAUA,MAAA,SAAGA,QAAYA,MAAA,iBAE7BA,oDAOMA,MAHN,eAGMA,CAH0B,uBAG1BA,CAFmD,gBAEnDA,CADsB,YACdA,MAAA,cAAQA,QAGZA,MAFJ,YAEIA,CAFgE,sBAEhEA,CADuD,eAC5CA,MAAA,UAAIA,QAGfA,MAFA,aAEAA,CAF+E,8BAE/EA,CAD4E,4BAE9EA,QAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,gBAAMA,QACjBA,MAAA,eACFA,QACAA,MAAA,8BASJA,UAEEA,MADF,YACEA,CADuD,gBACbA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAloC,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAoF,SAAQ,GACzD/M,MAAA,eAAUA,MAAA,WAAIA,QAAYA,MAAA,eAC5BA,QACAA,MAAA,gBAAwCA,MAAA,mBAAAA,MAAA6vC,GAAA,MAAAloC,EAAA3H,QAAA,OAAAA,MAAS2H,EAAA6iB,WAAU,GACzDxqB,MAAA,eAAUA,MAAA,YAAKA,QAAYA,MAAA,iBAInCA,kDA9BYA,MAAA,GAAAA,MAAA,YAAA2H,EAAA3G,MAGuBhB,MAAA,GAAAA,MAAA,gBAAAimF,GACQjmF,cAAA,MAAAimF,GAUjCjmF,MAAA,GAAAA,MAAA,wCAAA2H,EAAA3G,KAAAgB,SAAAlC,GAAAhQ,MAAA,aAGAkQ,MAFA,uBAEAA,CAF0B,KAAA2H,EAAAouC,UAE1B/1C,CADgB,yCAmBxBA,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAqDA,MAAA,mBAAmCA,kCAAnCA,oBAAA,IAAAkE,EAAA2B,KAAA,uCAGrD7F,MAAA,WAAsCA,MAAA,eAAMA,mCAC5CA,MAAA,WAAuDA,MAAA,GAAgBA,kCAAhBA,cAAA4oB,EAAA6hB,+BAGvDzqC,MAAA,oDAGIA,MAAA,eAAsCA,MAAA,mBAAAA,MAAAuxB,GAAA,MAAArE,EAAAltB,QAAAmE,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAuhE,WAAAh8C,EAAAptB,GAAAotB,EAAAud,OAAAvd,EAAAvJ,SAA2C,GACxF3jB,MAAA,cAAUA,MAAA,oBACZA,oDAJJA,MAAA,WACEA,MAAA,EAAAkmF,GAAA,iBAKAlmF,MAAA,eAAsCA,MAAA,yBAAAktB,EAAAltB,MAAAkpB,GAAA/kB,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAtD,OAAA6oB,GAAW,GACxDltB,MAAA,cAAUA,MAAA,UACZA,UACAA,MAAA,eAAqCA,MAAA,yBAAAktB,EAAAltB,MAAAkpB,GAAA/kB,UAAAwD,EAAA3H,QAAA,OAAAA,MAAS2H,EAAAwwB,QAAAjL,GAAY,GACxDltB,MAAA,cAAUA,MAAA,YAEdA,wCAXEA,cAAAktB,EAAAvJ,QAAA,6BAaJ3jB,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,WC/DG,IAAMmmF,GAA8B,MAArC,MAAOA,EA4BDrlF,MACAszB,mBACAgyD,6BACA92E,OACA/O,wBACAyjB,gBA/BVpjB,YAAqC,GAErCkS,QACAjL,OACAyN,cACA1N,UACA8hB,YACAusB,WAAqB,EACrBxrB,YAAsB,EAEtB47D,UAAoB,EACpBrlF,KAAO,IAAIC,KAAU,CACnBnB,GAAI,IAAIqB,KAAyB,MACjCmU,cAAe,IAAInU,KAAyB,MAC5C0E,KAAM,IAAI1E,KAAuB,KAAMC,KAAWC,UAClDopC,OAAQ,IAAItpC,KAAY,GAAIC,KAAWC,UACvCsiB,QAAS,IAAIxiB,KAAY,MAGLwiB,QACtBoyB,UAEA/wC,WAAwD,IAAIC,KAC5DF,YAAwB,CAAC,OAAQ,SAAU,UAE3CtF,YACUqB,EACAszB,EACAgyD,EACA92E,EACA/O,EACAyjB,GALApkB,KAAAkB,QACAlB,KAAAw0B,qBACAx0B,KAAAwmF,+BACAxmF,KAAA0P,SACA1P,KAAAW,0BACAX,KAAAokB,kBAERpkB,KAAKm2C,UAAY,IAAI50C,KAAY,IAAIuT,MAAsB,CACzDC,WAAY,IAACC,QAAuB,GAAOxT,KAAWC,UACtD60C,SAAU,UAEd,CAEA/wC,WACEvF,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAKkT,QAAUK,EAAOL,QACtBlT,KAAKiI,OAASsL,EAAOtL,OACrBjI,KAAKgB,YAAc,CACjB,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,oBAAeC,MAAO,yBAAyBlB,KAAKkT,WAAWlT,KAAKiI,qBAAsB9G,KAAM,kBAE3GnB,KAAKw0B,mBAAmB89B,YAAYtyD,KAAKkT,QAASlT,KAAKiI,QAAQnG,UAAUG,IACvEjC,KAAK0V,cAAgBzT,EAAI/B,GACzBF,KAAKgI,UAAY/F,EAAI6B,UACrB9D,KAAKq2C,UAAYp0C,EAAIo0C,UACrBr2C,KAAK6qB,WAAa5oB,EAAI4oB,WACtB7qB,KAAK4F,aAAW,EACjB,EAEL,CAEAA,cACE5F,KAAKwmF,6BAA6BE,uBAAuB1mF,KAAK0V,eAAe5T,UAAUmE,IACrFjG,KAAKoF,WAAa,IAAIC,KAAmBY,EAAI,EAEjD,CAEAmgF,UACEpmF,KAAKoB,KAAK6B,QACVjD,KAAKoB,KAAKgB,SAASsT,cAAiBtC,SAASpT,KAAK0V,eAClD1V,KAAKoB,KAAKgB,SAAS6D,KAAQmN,SAAS,IAAIwd,MACxC5wB,KAAKm2C,UAAUjmD,MAAMkU,OAAS6W,MAAcoI,MAC5CrjB,KAAK2mF,mBACL3mF,KAAKymF,UAAW,CAClB,CAEAnd,WAAWppE,EAAYgL,EAAcgb,GACnClmB,KAAKokB,gBAAgBgC,wBAAwB,2BAA2BlmB,aAAegmB,GAAUpkB,UAAUukB,IACzGrmB,KAAK0P,OAAO6I,KAAK+N,KAA8B,CAC7CrgB,KAAM,CAAEsgB,gBAAiBrb,EAAMsb,aAAcH,GAC7CI,MAAO,MACPC,OAAQ,OACT,EAEL,CAEAjiB,OAAO2uB,GACLpzB,KAAK4mF,kBAAkBxzD,GACvBpzB,KAAK6mF,kBAAkBzzD,GACvBpzB,KAAKymF,UAAW,CAClB,CAEQG,kBAAkBxzD,GACxBpzB,KAAKoB,KAAK6B,QACVjD,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASggB,EAAIlzB,IACtCF,KAAKoB,KAAKgB,SAASsT,cAAiBtC,SAASggB,EAAI1d,eACjD1V,KAAKoB,KAAKgB,SAAS6D,KAAQmN,SAAS,IAAIwd,KAAKwC,EAAIntB,KAAO,cACxDjG,KAAKoB,KAAKgB,SAASyoC,OAAUz3B,SAASggB,EAAIyX,OAC5C,CAEQg8C,kBAAkBzzD,GACpBA,EAAIrP,SACN/jB,KAAKm2C,UAAUjmD,MAAMkU,OAAS6W,MAAcuI,MAC5CxjB,KAAKm2C,UAAUjmD,MAAMiS,KAAOixB,EAAIrP,QAChC/jB,KAAKm2C,UAAUjmD,MAAMwzB,KAAO0P,EAAIrP,QAChC/jB,KAAKm2C,UAAUjmD,MAAM0yB,KAAO,IAAIkkE,KAAK,GAAI1zD,EAAIrP,SAC7C/jB,KAAKm2C,UAAU/iC,SAASpT,KAAKm2C,UAAUjmD,QAEvC8P,KAAK2mF,kBAET,CAEQA,mBACN3mF,KAAKm2C,UAAUjmD,MAAMkU,OAAS6W,MAAcoI,MAC5CrjB,KAAKm2C,UAAUjmD,MAAMiS,KAAO,GAC5BnC,KAAKm2C,UAAUjmD,MAAMwzB,KAAO,GAC5B1jB,KAAKm2C,UAAUjmD,MAAMyzB,KAAO,EAC5B3jB,KAAKm2C,UAAUjmD,MAAM0yB,KAAO,KAC5B5iB,KAAKm2C,UAAUjmD,MAAM2zB,aACrB7jB,KAAKm2C,UAAU/iC,SAASpT,KAAKm2C,UAAUjmD,MACzC,CAEA06B,WACE5qB,KAAK2mF,mBACL3mF,KAAKymF,UAAW,CAClB,CAEAluD,QAAQnF,GACN,MAAM7Z,EAAgB,IAAIC,KAAwB,gBAAW,8CAAqC4Z,EAAIyX,WACpF7qC,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAEEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKwmF,6BAA6BjuD,QAAQnF,EAAIlzB,IAAK4B,UAAU,CAC3DyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,2BAChDhD,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKW,wBAAwB+B,iBAAiBiW,EAAIO,MAAMC,QAAO,GAElE,EAGP,CAEAjX,8BACE,UAAWC,KAAQnC,KAAKoB,KAAKgB,SACvBpC,KAAKoB,KAAKiB,IAAIF,IAAOG,SACvBtC,KAAKoB,KAAKiB,IAAIF,IAAOI,eAG3B,CAEA4K,SAEE,GADAnN,KAAKkC,+BACAlC,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAIhD,GAAI1C,KAAKm2C,UAAUjmD,MAAMkU,SAAW6W,MAAcoI,MAEhD,YADArjB,KAAKW,wBAAwB+B,iBAAiB,2CAIhD,IAAIkV,EAAwC,CAC1C1X,GAAIF,KAAKoB,KAAKgB,SAASlC,GAAMwW,cAC7BhB,cAAe1V,KAAKoB,KAAKgB,SAASsT,cAAiBgB,cACnDzQ,KAAMjG,KAAKoB,KAAKgB,SAAS6D,KAAQyQ,cACjCm0B,OAAQ7qC,KAAKoB,KAAKgB,SAASyoC,OAAUn0B,eAGnCkB,EAAW1X,GACbF,KAAKwmF,6BAA6B5pD,UAAUhlB,EAAW1X,GAAI0X,GAAY9V,UAAUmE,IAC/EjG,KAAKW,wBAAwBqC,mBAAmB,qBAAeiD,EAAK/F,6BACpEF,KAAKqY,cAAcpS,EAAK/F,IACxBF,KAAK01D,WAAS,GAGhB11D,KAAKwmF,6BAA6Br5E,OAAOyK,GAAY9V,UAAUmE,IAC7DjG,KAAKW,wBAAwBqC,mBAAmB,qBAAeiD,EAAK/F,6BACpEF,KAAKqY,cAAcpS,EAAK/F,IACxBF,KAAK01D,WAAS,EAGpB,CAEQr9C,cAAcnY,GACpBF,KAAK+jB,QAAS/I,WAAa,2BAA2B9a,WAClDF,KAAKm2C,UAAUjmD,MAAMkU,QAAU6W,MAAcC,aAC/Clb,KAAK+jB,SAAS5I,UAAUq7B,KAAK,KAC3Bx2C,KAAK4F,aAAW,EAGtB,CAEQ8vD,YACN11D,KAAKoB,KAAK6B,QACVjD,KAAKymF,UAAW,CAClB,4CAxMWF,GAA8BnmF,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAAhD,MAAAiD,OAAAjD,MAAAyb,MAAAzb,MAAA0b,MAAA,+BAA9ByqE,EAA8BjjF,UAAA,kCAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,4/DDnB3CvD,MAAA,wBAGIA,MAFJ,UAEIA,CAFsC,eAEtCA,CAD8B,sBAE5BA,MAAA,GAEJA,UASAA,MARA,EAAA2mF,GAAA,YAQA3mF,CARiB,EAAA4mF,GAAA,mBA8CjB5mF,MAAA,aACEA,MAAA,KAEEA,MADA,EAAA6mF,GAAA,WACA7mF,CADsC,GAAA8mF,GAAA,oBAGxC9mF,MAAA,OAEEA,MADA,GAAA+mF,GAAA,WACA/mF,CADsC,GAAAgnF,GAAA,qBAGxChnF,MAAA,OAEEA,MADA,GAAAinF,GAAA,YACAjnF,CAD+D,GAAAknF,GAAA,qBAiBjElnF,MAFA,GAAAmnF,GAAA,YAEAnnF,CAFkD,GAAAonF,GAAA,YAElDpnF,CADuD,GAAAqnF,GAAA,aAIzDrnF,QASMA,MAPN,gBAOMA,CAP0B,yBAO1BA,CAFiB,eAEjBA,CAD2E,eACjEA,MAAA,iBAAUA,QAAYA,MAAA,eAIxCA,qBAhGkBA,MAAA,SAAAwD,EAAA5C,aAIZZ,MAAA,GAAAA,MAAA,IAAAwD,EAAAoE,UAAA,MAAApE,EAAAqE,OAAA,sBAGJ7H,cAAAwD,EAAA6iF,UAAA,KAQArmF,cAAAwD,EAAA6iF,SAAA,MAsCiBrmF,cAAA,aAAAwD,EAAAwB,YAyBKhF,MAAA,IAAAA,MAAA,kBAAAwD,EAAAuB,aACa/E,cAAA,mBAAAwD,EAAAuB,2OC5DxBohF,CAA8B,KCT9BmB,GAAqC,MAA5C,MAAOA,UAA6CjoF,KAOrBC,YACzBsnB,eACArf,oBARDhI,MAAQ,mCACjBC,OACAksB,QAEAjsB,YACEC,EACiCJ,EACzBsnB,EACArf,GAER5H,MAAMD,EAAMJ,GAJqBM,KAAAN,cACzBM,KAAAgnB,iBACAhnB,KAAA2H,sBAGR3H,KAAKJ,OAASE,EACdE,KAAK8rB,QAAUpsB,EAAYqsB,UAC7B,CAEA47D,YAAYjyE,GACV,OAAO1V,KAAKG,SAAS,GAAGH,KAAKL,QAAS+V,EACxC,CAEAwkB,OAAOwsB,GACL,OAAO1mD,KAAK6iB,OAAO7iB,KAAKL,MAAO+mD,GAAgBhhD,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aACzF,CAEAwQ,UAAU18B,EAAYwmD,GACpB,OAAO1mD,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,IAAMwmD,GAAgBhhD,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aACpG,CAEAmM,QAAQr4B,GACN,OAAOF,KAAK04B,OAAO14B,KAAKL,MAAOO,EACjC,4CA9BWwnF,GAAoCtnF,MAAAC,OAAAD,MAOrC,eAAaA,MAAA+C,MAAA/C,MAAAgD,MAAA,iCAPZskF,EAAoCpnF,QAApConF,EAAoCnnF,UAAAC,WAFnC,gBAEDknF,CAAqC,sECelCtnF,MAAA,eAIEA,MAAA,mBAAAA,MAAA0iB,GAAA,MAAAC,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAAmX,SAAQ,GAIjB95B,MAAA,cAAUA,MAAA,UACZA,qCA9BRA,MADF,aACEA,CAD4B,YACpBA,MAAA,cAAQA,QAKRA,MAJR,WAIQA,CAJ4C,cAI5CA,CAH0D,WAG1DA,CAFuD,sBAEvDA,CADyE,eAC9DA,MAAA,oBAAcA,QACzBA,MAAA,eAIFA,QAEEA,MADF,uBACEA,CADyE,0BAKvEA,MAAA,uBACFA,QACAA,MAAA,eACFA,QACAA,MAAA,aACEA,MAAA,GAAAwnF,GAAA,iBAcVxnF,uCAjCUA,MAAA,GAAAA,MAAA,YAAA2iB,EAAA3hB,MA0BGhB,MAAA,IAAAA,MAAA,QAAA2iB,EAAA8H,oCAcPzqB,MAAA,WAAsDA,MAAA,oBAAcA,mCACpEA,MAAA,WAAgEA,MAAA,GAAsBA,kCAAtBA,cAAA,IAAAsoB,EAAA7b,cAAA,6BAGhEzM,MAAA,WAAsDA,MAAA,oBAAWA,mCACjEA,MAAA,WAA6DA,MAAA,GAAwCA,kCAAxCA,cAAA,IAAAkE,EAAAsI,cAAA,2CAG7DxM,MAAA,oDAGIA,MADF,WACEA,CAD+G,eACxEA,MAAA,mBAAAA,MAAAoI,GAAA,MAAA2kB,EAAA/sB,QAAAmE,UAAAwe,EAAA3iB,MAAA,GAAS2iB,SAAA6Z,UAAAzP,GAAc/sB,MAAE2iB,EAAA8kE,WAAU,GACxEznF,MAAA,cAAUA,MAAA,UACZA,UACAA,MAAA,eAAqDA,MAAA,mBAAAA,MAAAoI,GAAA,MAAA2kB,EAAA/sB,QAAAmE,UAAAwe,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAAwV,QAAApL,EAAAjtB,IAAe,GACzEE,MAAA,cAAUA,MAAA,YAEhBA,uCARFA,MAAA,WACEA,MAAA,EAAA0nF,GAAA,cAQF1nF,+BARgGA,cAAA,QAAA2iB,EAAA8H,mCAUlGzqB,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,oDApENA,MAFJ,QAEIA,CAFoB,eAEpBA,CAD8B,sBAE5BA,MAAA,EAAA2nF,GAAA,mBAqCA3nF,MAAA,QAGEA,MADF,aACEA,CADQ,YACAA,MAAA,gBAAUA,QAClBA,MAAA,aAAmDA,MAAA,yBAAAmI,GAAAnI,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAiB2iB,EAAAsH,SAAA9hB,GAAgB,GAClFnI,MAAA,KAEEA,MADA,GAAA4nF,GAAA,WACA5nF,CADsD,GAAA6nF,GAAA,oBAGxD7nF,MAAA,MAEEA,MADA,GAAA8nF,GAAA,WACA9nF,CADsD,GAAA+nF,GAAA,oBAGxD/nF,MAAA,MAEEA,MADA,GAAAgoF,GAAA,YACAhoF,CADsC,GAAAioF,GAAA,qBAcxCjoF,MAFA,GAAAkoF,GAAA,YAEAloF,CAFuD,GAAAmoF,GAAA,YAEvDnoF,CAD6D,GAAAooF,GAAA,aAQvEpoF,wCAxEiBA,MAAA,GAAAA,MAAA,QAAA2iB,EAAA8H,YAyCQzqB,MAAA,GAAAA,MAAA,aAAA2iB,EAAA3d,YAsBKhF,MAAA,IAAAA,MAAA,kBAAA2iB,EAAA0lE,kBACaroF,cAAA,mBAAA2iB,EAAA0lE,mBClDpC,IAAMC,GAAsC,MAA7C,MAAOA,EAyBDj5E,GACAC,OACAi5E,qCACAhoF,wBA1BeiX,WACkB3S,UACvBC,KACXwQ,cACA0K,SAAmB,GACnB64B,SAAmB,EACnBpuB,YAAsB,EAC/BzlB,WAAgE,IAAIC,KACpE0hD,oBAAgC,GAChC0hC,iBAA6B,CAC3B,gBACA,gBACA,UAGFrnF,KAAO,IAAIC,KAAU,CACnBnB,GAAI,IAAIqB,KAAY,IACpBmU,cAAe,IAAInU,MAAY,GAC/BsL,cAAe,IAAItL,KAAY,IAC/BqL,cAAe,IAAIrL,MAAY,KAGjC1B,YACU4P,EACAC,EACAi5E,EACAhoF,GAHAX,KAAAyP,KACAzP,KAAA0P,SACA1P,KAAA2oF,uCACA3oF,KAAAW,yBACN,CAEJ4E,WACEvF,KAAK4F,aACP,CAEAJ,kBACExF,KAAKoF,WAAWF,KAAOlF,KAAKkF,KAC5BlF,KAAKiF,WAAWQ,KAAKC,OAAO5D,YAC5B6D,WAAW,KACT3F,KAAK4F,aAAW,EACf,GACH5F,KAAKiF,WAAWQ,KAAKC,QAAKG,KAAI,IAAM7F,KAAK4F,gBAAgB9D,WAC3D,CAEAo4B,SAME,GALAl6B,KAAKoB,KAAKgB,SAASyK,cAAiB0J,cAAc/U,KAAWC,UAC7DzB,KAAKoB,KAAKgB,SAASyK,cAAiBkH,yBACjC/T,KAAK0V,eACN1V,KAAKoB,KAAKgB,SAASsT,cAAiBtC,SAASpT,KAAK0V,gBAE/C1V,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAAsD5X,KAAKoB,KAAKlR,MACjE0nB,EAAW1X,GACVF,KAAK2oF,qCAAqC/rD,UAAUhlB,EAAW1X,GAAI0X,GAAY9V,UAAU,KACzF9B,KAAKW,wBAAwBqC,mBAAmB,oCAChDhD,KAAK01D,YACL11D,KAAK4F,aAAW,GAGhB5F,KAAK2oF,qCAAqCzuD,OAAOtiB,GAAY9V,UAAU,KACvE9B,KAAKW,wBAAwBqC,mBAAmB,oCAChDhD,KAAK01D,YACL11D,KAAK4F,aAAW,EAGtB,CAEA2yB,QAAQr4B,GACN,GAAGA,EAAI,CACL,MAAMqZ,EAAgB,IAAIC,KAAwB,gBAAW,wCAC3CxZ,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAEEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAK2oF,qCAAqCpwD,QAAQr4B,GAAI4B,UAAU,CAC9DyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,qCAChDhD,KAAK01D,YACL11D,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKW,wBAAwB+B,iBAAiB,kDAA8C,GAE/F,EAGP,CACF,CAEAk6B,UAAU32B,GACLA,IACDjG,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASnN,EAAK/F,GAAG2L,YAC1C7L,KAAKoB,KAAKgB,SAASsT,cAAiBtC,SAASnN,EAAKyP,eAClD1V,KAAKoB,KAAKgB,SAASyK,cAAiBuG,SAASnN,EAAK4G,eAClD7M,KAAKoB,KAAKgB,SAASwK,cAAiBwG,SAASnN,EAAK2G,eAEtD,CAEQhH,cACH5F,KAAK0V,eACN1V,KAAK2oF,qCAAqChB,YAAY3nF,KAAK0V,eAAe5T,UAAUi6C,IAClF/7C,KAAKoF,WAAWa,KAAO81C,GAG7B,CAEQ2Z,YACN11D,KAAKoB,KAAKgB,SAASyK,cAAiB+J,kBACpC5W,KAAKoB,KAAKgB,SAASyK,cAAiBkH,yBACpC/T,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAAS,IAClCpT,KAAKoB,KAAKgB,SAASsT,cAAiBtC,UAAS,GAC7CpT,KAAKoB,KAAKgB,SAASyK,cAAiBuG,SAAS,IAC7CpT,KAAKoB,KAAKgB,SAASwK,cAAiBwG,UAAS,EAC/C,CAEAy0E,WACE7nF,KAAK4X,WAAWkO,cAAc8iE,eAAe,CAAEC,SAAU,SAAUC,MAAO,SAC5E,CAEAz+D,SAASnlB,GACPlF,KAAK4F,aACP,4CA9HW8iF,GAAsCtoF,MAAAC,MAAAD,MAAA+C,OAAA/C,MAAAgD,IAAAhD,MAAAiD,MAAA,+BAAtCqlF,EAAsCplF,UAAA,2CAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,sBAGtCgD,KAAY,SACZC,MAAO,2pEDrBpBxG,MAAA,EAAA2oF,GAAA,mBAAM3oF,MAAA,OAAAwD,EAAAwB,sNCiBOsjF,CAAsC,KCjB5C,IAAKM,GAAZ,SAAYA,GACVA,SAAAC,MAAA,QACAD,EAAAE,KAAA,OACAF,EAAAG,yBAAA,8BACAH,EAAAI,4BAAA,iCACAJ,EAAAK,QAAA,gBACAL,EAAAM,OAAA,SANUN,CAOZ,CAPA,CAAYA,IAAS,yCCMT5oF,MADF,qBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,aACFA,wCAFaA,MAAA,GAAAA,MAAAmpF,EAAAr+E,iCAMX9K,MADF,qBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,aACFA,wCAFaA,MAAA,GAAAA,MAAAmpF,EAAAr+E,MAC+D9K,cAAA,uDAK1EA,MADF,qBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,gBACEA,MAAA,kBACAA,MAAA,kBAAwBA,MAAA,SAAGA,QAC3BA,MAAA,kBAAwBA,MAAA,YAE5BA,4CANaA,MAAA,GAAAA,MAAAmpF,EAAAr+E,iCAaT9K,MAAA,mBACEA,MAAA,GACFA,kCAF0DA,MAAA,QAAAopF,GACxDppF,cAAA,IAAAopF,EAAA,gCAJJppF,MADF,qBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,gBACEA,MAAA,kBACAA,MAAA,EAAAqpF,GAAA,qBAIJrpF,0CAPaA,MAAA,GAAAA,MAAAmpF,EAAAr+E,MAGqB9K,MAAA,GAAAA,MAAA,UAAAmpF,EAAAl+E,OAAAC,MAAA,kCAU9BlL,MAAA,mBACEA,MAAA,GACFA,kCAF0DA,MAAA,QAAAspF,GACxDtpF,cAAA,IAAAspF,EAAA,gCAHJtpF,MADF,qBACEA,CADuD,eAC5CA,MAAA,GAAaA,QACxBA,MAAA,mBACEA,MAAA,EAAAupF,GAAA,qBAIJvpF,0CANaA,MAAA,GAAAA,MAAAmpF,EAAAr+E,MAEqB9K,MAAA,GAAAA,MAAA,UAAAmpF,EAAAl+E,OAAAC,MAAA,kCAOlClL,MAAA,kBACEA,MAAA,GACFA,wCADEA,cAAA,IAAAmpF,EAAAr+E,KAAA,kDA/CR9K,MAAA,WAkDIA,MAhDA,EAAAwpF,GAAA,uBAgDAxpF,CAhDiB,EAAAypF,GAAA,uBAgDjBzpF,CA1CgB,EAAA0pF,GAAA,uBA0ChB1pF,CApCmB,EAAA2pF,GAAA,uBAoCnB3pF,CA1BoC,EAAA4pF,GAAA,uBA0BpC5pF,CAfuC,EAAA6pF,GAAA,mBAevC7pF,CALkB,EAAA8pF,GAAA,KAStB9pF,wCArDEA,cAAA,WAAA8xD,EAAAq3B,EAAAj9E,UAAAT,YAAO,EAAP,SAAOqmD,EAAD,EAAN,YAAMA,EAAG,EAAT,6BAASA,EAAiB,EAA1B,gCAA0BA,EAAG,EAA7B,WAA6BA,EAArB,MCMP,IAAMi4B,GAAkB,MAAzB,MAAOA,EAGuB52E,OACzBuT,UAFTjnB,YACkC0T,EACzBuT,GADyB9mB,KAAAuT,SACzBvT,KAAA8mB,WAET,CAEA8D,WACE5qB,KAAK8mB,UAAUqB,OACjB,4CAVWgiE,GAAkB/pF,MAGnBgoB,OAAehoB,MAAAC,OAAA,+BAHd8pF,EAAkB7mF,UAAA,qBAAAC,MAAA,EAAAC,KAAA,EAAAC,OAAA,shBAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDR7BvD,MADF,eACEA,CADuD,sBAErDA,MAAA,EAAAgqF,GAAA,aAwDJhqF,UAGIA,MAFJ,eAEIA,CAFqD,qBAErDA,CADgB,cACwBA,MAAA,0BAASwD,EAAAgnB,UAAU,GAAExqB,MAAA,cAAUA,MAAA,WAAKA,QAAYA,MAAA,aAE5FA,mBA7DsEA,MAAA,GAAAA,MAAA,UAAAwD,EAAA2P,6GCOzD42E,CAAkB,KCClBE,GAAyC,MAAhD,MAAOA,UAAiD5qF,KAQzBC,YACzBiI,oBAPDhI,MAAQ,uCACjBC,OACAksB,QAEAjsB,YACEC,EACiCJ,EACzBiI,GAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,EACdE,KAAK8rB,QAAUpsB,EAAYqsB,UAC7B,CAEA/J,OAAOtM,GACL,OAAO1V,KAAKG,SAAS,GAAGH,KAAKL,QAAS+V,EACxC,CAEAwkB,OAAOwsB,GACL,OAAO1mD,KAAK6iB,OAAO7iB,KAAKL,MAAO+mD,GAAgBhhD,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aACzF,CAEAwQ,UAAU18B,EAAYwmD,GACpB,OAAO1mD,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,IAAMwmD,GAAgBhhD,KAAKonB,KAAU9sB,KAAK2H,oBAAoBykB,aACpG,CAEAmM,QAAQr4B,GACN,OAAOF,KAAK04B,OAAO14B,KAAKL,MAAOO,EACjC,CAEAoqF,eAAerkF,GACb,OAAOjG,KAAKgwC,OAAO,GAAGhwC,KAAKL,wBAAyBsG,EACtD,4CAlCWokF,GAAwCjqF,MAAAC,OAAAD,MAQzC,eAAaA,MAAA+C,MAAA,iCARZknF,EAAwC/pF,QAAxC+pF,EAAwC9pF,UAAAC,WAFvC,gBAED6pF,CAAyC,uDCEpCjqF,MAAA,mBACEA,MAAA,GACFA,kCAF4DA,MAAA,QAAAmqF,EAAAj6F,KAC1D8P,cAAA,IAAAmqF,EAAAr6F,MAAA,6BAWNkQ,MADF,WACEA,CAD2D,YACLA,MAAA,2EAA+DA,QAEnHA,MADF,sBACEA,CADuD,eAC5CA,MAAA,kBAAMA,QACjBA,MAAA,iBAEJA,oDAYIA,MAAA,eAIEA,MAAA,mBAAAA,MAAAkxB,GAAA,MAAAvO,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAAmX,SAAQ,GAIjB95B,MAAA,cAAUA,MAAA,UACZA,oDAGAA,MAAA,eAGEA,MAAA,mBAAAA,MAAAoI,GAAA,MAAAua,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAA2yC,YAAW,GAIpBt1D,MAAA,cAAUA,MAAA,UACZA,oDAxDNA,MADF,aACEA,CAD4B,YACpBA,MAAA,cAAQA,QAIVA,MAHN,cAGMA,CAHiD,WAGjDA,CAFsD,sBAEtDA,CADyE,eAC9DA,MAAA,mBAAaA,QACxBA,MAAA,mBAAwCA,MAAA,6BAAAA,MAAA0iB,GAAA,MAAAC,EAAA3iB,MAAA,UAAAA,MAAmB2iB,EAAAynE,mBAAkB,GAC3EpqF,MAAA,oBACAA,MAAA,GAAAqqF,GAAA,0CAIJrqF,UAEEA,MADF,uBACEA,CADuD,gBAC5CA,MAAA,oBAAaA,QACxBA,MAAA,eAEJA,UACAA,MAAA,GAAAsqF,GAAA,cAWItqF,MAFJ,YAEIA,CAFsD,uBAEtDA,CADyE,0BACUA,MAAA,qBAAWA,QAC9FA,MAAA,eACFA,QAEEA,MADF,uBACEA,CADyE,0BACFA,MAAA,YAAKA,QAC5EA,MAAA,eACFA,QACAA,MAAA,aACEA,MAAA,GAAAuqF,GAAA,iBAUFvqF,QACAA,MAAA,aACEA,MAAA,GAAAwqF,GAAA,iBAYRxqF,uCA3DQA,MAAA,GAAAA,MAAA,YAAA2iB,EAAA3hB,MAMoChB,MAAA,GAAAA,MAAA,UAAAA,MAAA,KAAA2iB,EAAA8nE,aAUxCzqF,MAAA,GAAAA,MAAA2iB,EAAA+nE,eAAA,OA0BO1qF,MAAA,IAAAA,MAAA,QAAA2iB,EAAA8H,YAWAzqB,MAAA,GAAAA,MAAA,QAAA2iB,EAAA8H,oCAaLzqB,MAAA,WAAsCA,MAAA,qBAASA,gCAE1BA,MAAA,cAAUA,MAAA,eAASA,mCADxCA,MAAA,WACEA,MAAA,EAAA2qF,GAAA,gBAAmD3qF,MAAA,GACrDA,6CADEA,cAAA2iB,EAAA8H,YAAA,KAAmDzqB,cAAA,IAAA+sB,EAAAylD,MAAA,6BAIrDxyE,MAAA,WAAsCA,MAAA,UAAIA,mCAC1CA,MAAA,WAAsDA,MAAA,GAAaA,kCAAbA,cAAA,IAAAipB,EAAAne,KAAA,6BAGtD9K,MAAA,WAAsCA,MAAA,oBAAWA,mCACjDA,MAAA,WAA6DA,MAAA,GAAsCA,kCAAtCA,cAAA,IAAAktB,EAAAnX,YAAA,4CAG7D/V,MAAA,WAAsCA,MAAA,WAAKA,mCAC3CA,MAAA,WAAuDA,MAAA,GAAgCA,kCAAhCA,cAAA,IAAAotB,EAAAxX,MAAA,2CAGvD5V,MAAA,oDAGIA,MADF,WACEA,CAD+G,eACxEA,MAAA,mBAAAA,MAAA8I,GAAA,MAAAukB,EAAArtB,QAAAmE,UAAAwe,EAAA3iB,MAAA,GAAS2iB,SAAAte,OAAAgpB,GAAWrtB,MAAE2iB,EAAA8kE,WAAU,GACrEznF,MAAA,cAAUA,MAAA,UACZA,UACAA,MAAA,eAAqDA,MAAA,mBAAAA,MAAA8I,GAAA,MAAAukB,EAAArtB,QAAAmE,UAAAwe,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAAwV,QAAA9K,GAAY,GACtErtB,MAAA,cAAUA,MAAA,YAEhBA,uCARFA,MAAA,WACEA,MAAA,EAAA4qF,GAAA,cAQF5qF,+BARgGA,cAAA,QAAA2iB,EAAA8H,mCAUlGzqB,MAAA,iCACAA,MAAA,kCAEEA,MADF,UACEA,CADgC,WACCA,MAAA,yCACnCA,oDAKAA,MADF,QACEA,CADG,eAC2CA,MAAA,mBAAAA,MAAAoJ,GAAA,MAAAuZ,EAAA3iB,MAAA,UAAAA,MAAS2iB,EAAAkoE,UAAS,GAC9D7qF,MAAA,cAAUA,MAAA,aAAOA,QAAYA,MAAA,eAEjCA,oDA/GJA,MAHN,QAGMA,CAHkB,eAGlBA,CAF4B,qBAE5BA,CADgB,WAEdA,MAAA,EAAA8qF,GAAA,mBAgEE9qF,MADF,aACEA,CADQ,YACAA,MAAA,YAAMA,QACdA,MAAA,aACkBA,MAAA,8BAAAmI,GAAAnI,MAAAmc,GAAA,MAAAwG,EAAA3iB,QAAA,OAAAA,MAAsB2iB,EAAA6kB,KAAAr/B,GAAY,GAClDnI,MAAA,KAEEA,MADA,GAAA+qF,GAAA,WACA/qF,CADsC,GAAAgrF,GAAA,oBAKxChrF,MAAA,MAEEA,MADA,GAAAirF,GAAA,WACAjrF,CADsC,GAAAkrF,GAAA,oBAGxClrF,MAAA,OAEEA,MADA,GAAAmrF,GAAA,WACAnrF,CADsC,GAAAorF,GAAA,qBAGxCprF,MAAA,OAEEA,MADA,GAAAqrF,GAAA,WACArrF,CADsC,GAAAsrF,GAAA,qBAGxCtrF,MAAA,OAEEA,MADA,GAAAurF,GAAA,WACAvrF,CADsC,GAAAwrF,GAAA,qBAcxCxrF,MAFA,GAAAyrF,GAAA,YAEAzrF,CAFuD,GAAA0rF,GAAA,YAEvD1rF,CAD6D,GAAA2rF,GAAA,aAKjE3rF,UACAA,MAAA,GAAA4rF,GAAA,WAUR5rF,sCAnHmBA,MAAA,GAAAA,MAAA,QAAA2iB,EAAA8H,YAiEQzqB,MAAA,GAAAA,MAAA,aAAA2iB,EAAA3d,YAiCKhF,MAAA,IAAAA,MAAA,kBAAA2iB,EAAA0lE,kBACaroF,cAAA,mBAAA2iB,EAAA0lE,kBAMrCroF,MAAA,GAAAA,MAAA2iB,EAAA3d,WAAAa,KAAAK,OAAA,QC5FD,IAAM2lF,GAA0C,MAAjD,MAAOA,EAyBDv8E,OACAw8E,yCACAvrF,wBAzBeiX,WAChBlC,cACAmV,YAAsB,EAE/BzlB,WAAoE,IAAIC,KACxEojF,iBAA6B,CAAC,QAAQ,OAAO,cAAc,QAAQ,UAEnErnF,KAAO,IAAIC,KAAU,CACnBnB,GAAI,IAAIqB,KAAY,IACpBmU,cAAe,IAAInU,KACnB+K,UAAW,IAAI/K,KAA4B,KAAMC,KAAWC,UAC5DyJ,KAAM,IAAI3J,KAAY,GAAIC,KAAWC,UACrCu3B,UAAW,IAAIz3B,KAAY,IAC3B8J,OAAQ,IAAI9J,KAAY,IACxBqxE,MAAO,IAAIrxE,KAAY,EAAGC,KAAWC,UACrC0U,YAAa,IAAI5U,MAAY,EAAMC,KAAWC,UAC9CuU,MAAO,IAAIzU,MAAY,EAAMC,KAAWC,YAG1CopF,WAAa7B,GACb8B,gBAA0B,EAE1BjrF,YACU6P,EACAw8E,EACAvrF,GAFAX,KAAA0P,SACA1P,KAAAksF,2CACAlsF,KAAAW,yBACN,CAEJ4E,WACEvF,KAAKoB,KAAKgB,SAASsT,cAActC,SAASpT,KAAK0V,eAC/C1V,KAAK4F,aACP,CAEAs0B,SACE,IAAKl6B,KAAKoB,KAAKqB,MAEb,YADAzC,KAAKW,wBAAwB+B,iBAAiB,wEAIhD,IAAIkV,EAA0D5X,KAAKoB,KAAKlR,MACpE0nB,EAAW1X,GACbF,KAAKksF,yCAAyCtvD,UAAUhlB,EAAW1X,GAAI0X,GAAY9V,UAAU,KAC3F9B,KAAKW,wBAAwBqC,mBAAmB,gCAChDhD,KAAK01D,YACL11D,KAAK4F,aAAW,IAGlBgS,EAAWg7D,MAAQ5yE,KAAKoF,WAAWa,KAAKK,OAAS,EAC5CtG,KAAK8qF,iBACRlzE,EAAWvM,OAAS,IAEtBrL,KAAKksF,yCAAyChyD,OAAOtiB,GAAY9V,UAAU,KACzE9B,KAAKW,wBAAwBqC,mBAAmB,gCAChDhD,KAAK01D,YACL11D,KAAK4F,aAAW,GAGtB,CAEA2yB,QAAQtyB,GACN,GAAIA,EAAM,CACR,MAAMsT,EAAgB,IAAIC,KAAwB,gBAAW,mCAAgCvT,EAAKiF,SAChFlL,KAAK0P,OAAO6I,KAAKkB,KAA6B,CAC9DxT,KAAMsT,IAEEV,cAAc/W,UAAU4X,IAC5BA,GACF1Z,KAAKksF,yCAAyC3zD,QAAQtyB,EAAK/F,IAAK4B,UAAU,CACxEyE,KAAMA,KACJvG,KAAKW,wBAAwBqC,mBAAmB,iCAChDhD,KAAK01D,YACL11D,KAAK4F,aAAW,EAElBsT,MAAOP,IACL3Y,KAAKW,wBAAwB+B,iBAAiBiW,EAAIO,MAAMC,QAAO,GAElE,EAGP,CACF,CAEA1U,OAAOwB,GACDA,IACFjG,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAASnN,EAAK/F,GAAI2L,YAC3C7L,KAAKoB,KAAKgB,SAASsT,cAAiBtC,SAASnN,EAAKyP,eAClD1V,KAAKoB,KAAKgB,SAASkK,UAAa8G,SAASnN,EAAKqG,WAC9CtM,KAAKoB,KAAKgB,SAAS8I,KAAQkI,SAASnN,EAAKiF,MACzClL,KAAKoB,KAAKgB,SAAS42B,UAAa5lB,SAASnN,EAAK+yB,WAC9Ch5B,KAAKoB,KAAKgB,SAASiJ,OAAU+H,SAASnN,EAAKoF,QAC3CrL,KAAKoB,KAAKgB,SAASwwE,MAASx/D,SAASnN,EAAK2sE,OAC1C5yE,KAAKoB,KAAKgB,SAAS+T,YAAe/C,SAASnN,EAAKkQ,aAChDnW,KAAKoB,KAAKgB,SAAS4T,MAAS5C,SAASnN,EAAK+P,OAE1ChW,KAAKwqF,mBAET,CAEQ5kF,cACF5F,KAAK0V,eACP1V,KAAKksF,yCAAyClqE,OAAOhiB,KAAK0V,eAAe5T,UAAUi6C,IACjF/7C,KAAKoF,WAAWa,KAAO81C,GAG7B,CAEA2Z,YACE11D,KAAKoB,KAAKgB,SAASkK,UAAasK,kBAChC5W,KAAKoB,KAAKgB,SAASkK,UAAayH,yBAChC/T,KAAKoB,KAAKgB,SAAS8I,KAAQ0L,kBAC3B5W,KAAKoB,KAAKgB,SAAS8I,KAAQ6I,yBAC3B/T,KAAKoB,KAAKgB,SAASiJ,OAAUuL,kBAC7B5W,KAAKoB,KAAKgB,SAASiJ,OAAU0I,yBAE7B/T,KAAKoB,KAAKgB,SAASlC,GAAMkT,SAAS,IAClCpT,KAAKoB,KAAKgB,SAASsT,cAAiBtC,SAASpT,KAAK0V,eAClD1V,KAAKoB,KAAKgB,SAASkK,UAAa8G,SAAS,MACzCpT,KAAKoB,KAAKgB,SAAS8I,KAAQkI,SAAS,IACpCpT,KAAKoB,KAAKgB,SAAS42B,UAAa5lB,SAAS,IACzCpT,KAAKoB,KAAKgB,SAASiJ,OAAU+H,SAAS,IACtCpT,KAAKoB,KAAKgB,SAASwwE,MAASx/D,SAAS,GACrCpT,KAAKoB,KAAKgB,SAAS+T,YAAe/C,UAAS,GAC3CpT,KAAKoB,KAAKgB,SAAS4T,MAAS5C,UAAS,GAErCpT,KAAK8qF,gBAAiB,CACxB,CAEAjD,WACE7nF,KAAK4X,WAAWkO,cAAc8iE,eAAe,CAAEC,SAAU,SAAUC,MAAO,SAC5E,CAEA0B,mBACExqF,KAAK8qF,eL9IH,SAAUqB,GAAUnsE,GACxB,MAAgB,6BAATA,GACO,gCAATA,CACP,CK2I0BmsE,CAAUnsF,KAAKoB,KAAKgB,SAASkK,UAAUpc,OACzD8P,KAAK8qF,eACP9qF,KAAKoB,KAAKgB,SAASiJ,OAAUkL,cAAc/U,KAAWC,WAEtDzB,KAAKoB,KAAKgB,SAASiJ,OAAU+H,SAAS,IACtCpT,KAAKoB,KAAKgB,SAASiJ,OAAUuL,mBAE/B5W,KAAKoB,KAAKgB,SAASiJ,OAAU0I,wBAC/B,CAEA6zB,KAAKvtB,GACH,IAAKra,KAAK6qB,WAAY,CACpB,MAAM5kB,EAAOjG,KAAKoF,WAAWa,MAC7B8hC,SAAgB9hC,EAAMoU,EAAM2tB,cAAe3tB,EAAM4tB,cACjDhiC,EAAK0O,QAAQ,CAACiR,EAAM7K,KAClB6K,EAAKgtD,MAAQ73D,EAAQ,IAEvB/a,KAAKoF,WAAWa,KAAOA,EACvBjG,KAAKosF,wBAAwBnmF,EAC/B,CACF,CAEQmmF,wBAAwBnmF,GAC9BjG,KAAKksF,yCAAyC5B,eAAerkF,GAAMnE,WACrE,CAEAmpF,UACEjrF,KAAK0P,OAAO6I,KAAK4xE,GAAoB,CAAClkF,KAAMjG,KAAKoF,WAAWa,MAC9D,4CAlKWgmF,GAA0C7rF,MAAAC,OAAAD,MAAA+C,IAAA/C,MAAAgD,MAAA,+BAA1C6oF,EAA0C3oF,UAAA,+CAAAoD,UAAA,SAAA/C,EAAAC,MAAA,EAAAD,gzFDjBvDvD,MAAA,EAAAisF,GAAA,mBAAMjsF,MAAA,OAAAwD,EAAAwB,0OCiBO6mF,CAA0C,KCmBvD,MAAMv9E,GAAiB,CAErB,CACEC,KAAM,SACNC,UAAW0iC,GACXziC,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAIjC,CACEwM,KAAM,iBACNC,UAAWmjC,GACXljC,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,UAGhD,CACEwM,KAAM,qBACNC,UAAWmjC,GACXljC,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,iBACNC,UAAWitC,EACXhtC,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAIhC,CACEwM,KAAM,0BACNC,UAAWitC,EACXhtC,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAIjC,CACEwM,KAAM,iCACNC,UAAWu7C,GACXt7C,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,UAGhD,CACEwM,KAAM,qCACNC,UAAWu7C,GACXt7C,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAQjzB,UAKnC,CACEwM,KAAM,4CACNC,UAAW6a,GACX5a,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAIhC,CACEwM,KAAM,qDACNC,UAAWqlD,GACXplD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAAQ,GAAGzC,IAAYsP,MAAM,gBAAgB7M,UAG7F,CACEwM,KAAM,yDACNC,UAAWqlD,GACXplD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAKhC,CACEwM,KAAM,SACNC,UAAWk1D,GACXj1D,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,oBACNC,UAAW4pD,GACX3pD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAIjC,CACEwM,KAAM,2BACNC,UAAW4nD,GACX3nD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CAAC,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAAQ,GAAGzC,IAAYsP,MAAM,gBAAgB7M,UAG7F,CACEwM,KAAM,+BACNC,UAAW4nD,GACX3nD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,yCACNC,UAAW4mD,GACX3mD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAKhC,CACEwM,KAAM,mDACNC,UAAWqqD,GACXpqD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAMhC,CACEwM,KAAM,uCACNC,UAAWizD,GACXhzD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAIjC,CACEwM,KAAM,+CACNC,UAAWktD,GACXjtD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAIjC,CACEwM,KAAM,mDACNC,UAAWktD,GACXjtD,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMs9E,SAASnqF,UAIpC,CACEwM,KAAM,wDACNC,UAAW81E,GACX71E,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,wCACNC,UC1RsC,MAApC,MAAO29E,EAaDrrF,MACAN,OACA+oB,qBACA6K,mBAdVxzB,YAAqC,GAErC0U,cACAzN,OACAD,UAAoB,GACpBquC,WAAqB,EACrBxrB,YAAsB,EACtBouB,SAAmB,EACnB74B,SAAmB,GAEnBvgB,YACUqB,EACAN,EACA+oB,EACA6K,GAHAx0B,KAAAkB,QACAlB,KAAAY,SACAZ,KAAA2pB,uBACA3pB,KAAAw0B,oBAEV,CAEAjvB,WACEvF,KAAK4tD,eACL5tD,KAAKkB,MAAMqS,OAAOzR,UAAUyR,IAC1BvT,KAAK0V,cAAgBnC,EAAOmC,cAC5B1V,KAAKgB,YAAc,CACjB,CAAEC,MAAO,OAAQC,MAAO,IAAKC,KAAM,QACnC,CAAEF,MAAO,uBAAkBC,MAAO,0BAA2BC,KAAM,gBACnE,CAAEF,MAAO,oEAAyDC,MAAO,yBAAyBlB,KAAK0V,0BAA2BvU,KAAM,gBAE1InB,KAAKw0B,mBAAmBg4D,gBAAgBxsF,KAAK0V,eAAgB5T,UAAUG,IACrEjC,KAAKiI,OAAShG,EAAI8B,aAClB/D,KAAKgI,UAAY/F,EAAI6B,UACrB9D,KAAKq2C,UAAYp0C,EAAIo0C,UACrBr2C,KAAK6qB,WAAa5oB,EAAI4oB,YACvB,EAEL,CAEQ+iC,eACN5tD,KAAKi5C,QAAUj5C,KAAK2pB,qBAAqBmB,wBAAwB,CAAC,SACpE,CAEAikC,SACE/uD,KAAKY,OAAOsC,SAAS,CAAC,2BACxB,4CA5CWqpF,GAA6BnsF,MAAAC,MAAAD,MAAAC,MAAAD,MAAA+C,MAAA/C,MAAAgD,MAAA,+BAA7BmpF,EAA6BjpF,UAAA,iCAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,sdAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICX1CvD,MAAA,wBAGIA,MAFJ,UAEIA,CAFsC,eAEtCA,CAD8B,sBAE5BA,MAAA,GAEJA,UAKMA,MAHN,eAGMA,CAH0B,qBAG1BA,CAFc,oBAEdA,CAD6D,eAE3DA,MAAA,4CAKFA,QACAA,MAAA,gBACEA,MAAA,iDAMRA,cAQIA,MANJ,gBAMIA,CAN4B,wBAM5BA,CADmB,eACqBA,MAAA,0BAASwD,EAAAmrD,QAAQ,GACvD3uD,MAAA,eAAUA,MAAA,iBAAUA,QACpBA,MAAA,eAIRA,qBAvCkBA,MAAA,SAAAwD,EAAA5C,aAIZZ,MAAA,GAAAA,MAAA,IAAAwD,EAAAoE,UAAA,MAAApE,EAAAqE,OAAA,sBASM7H,MAAA,GAGAA,MAHA,gBAAAwD,EAAA8R,cAGAtV,CAH+B,WAAAwD,EAAAwc,SAG/BhgB,CAFqB,aAAAwD,EAAAinB,WAErBzqB,CADyB,UAAAwD,EAAAq1C,SAKzB74C,MAAA,GACAA,MADA,gBAAAwD,EAAA8R,cACAtV,CAD+B,aAAAwD,EAAAinB,8FDT9B0hE,CAA6B,KD2RtC19E,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,sDACNC,UAAW8uE,GACX7uE,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,2CACNC,UAAW+4D,GACX94D,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,kDACNC,UAAW86D,GACX76D,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,4CACNC,UAAW82D,GACX72D,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,0BACNC,UAAWszE,GACXrzE,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAM8oB,OAAO31B,OAC5B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAKhC,CACEwM,KAAM,iDACNC,UAAW0+D,GACXz+D,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAM8oB,OAAO31B,OAC5B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAKhC,CACEwM,KAAM,+CACNC,UAAWqlE,GACXplE,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAM8oB,OAAO31B,OAC5B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAKhC,CACEwM,KAAM,0BACNC,UAAWs8D,GACXr8D,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAKhC,CACEwM,KAAM,8CACNC,UAAWqqE,GACXpqE,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAKhC,CACEwM,KAAM,4CACNC,UAAWgtE,GACX/sE,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,OAC3B,GAAGzC,IAAYsP,MAAMomB,KAAKjzB,UAKhC,CACEwM,KAAM,+CACNC,UAAWmtE,GACXltE,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,sBAAsB7M,OAC3C,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,0BACNC,UAAWmyE,GACXlyE,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,SACNC,UAAW80E,GACX70E,YAAa,CAACC,MACd7I,KAAM,CACJypD,SAAU,oBACV/tC,MAAO,6CACPgiE,QAAQ,EACR50E,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,oBACNC,UAAWo3E,GACXn3E,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,UAKjC,CACEwM,KAAM,4CACNC,UAAW23E,GACX13E,YAAa,CAACC,MACd7I,KAAM,CACJ8I,aAAc,CACZ,GAAGrP,IAAYsP,MAAMvY,QAAQ0L,OAC7B,GAAGzC,IAAYsP,MAAMkmB,KAAK/yB,OAC1B,GAAGzC,IAAYsP,MAAM,gBAAgB7M,OACrC,GAAGzC,IAAYsP,MAAMmmB,MAAMhzB,WAU5B,IAAMsqF,GAAoB,MAA3B,MAAOA,+CAAoB,8BAApBA,qCAHDxuE,KAAaC,SAASxP,IACtBuP,eAECwuE,CAAoB,+BGnV1B,IAAMC,GAAa,MAApB,MAAOA,+CAAa,8BAAbA,sCAFA,IAACtuE,SAAiBC,QAAA,CAtC3BC,KACAmuE,GACAxuE,KACAO,KACAC,KACAC,KACAC,KACAC,KACAC,KACA4X,KACA3X,KACAC,KACAC,KACAC,KACAC,KACAC,KACAK,KACAJ,KACAsX,KACAC,KACArX,KACAG,KACAJ,KACAuX,MACAC,MACAC,KACAC,KAGAxX,KACAI,KACAqX,gBACAtX,MACAnB,MACA2C,KACAtB,KACAC,eAIS6sE,CAAa,uDChM1B,MAAMC,EAAaA,CAAClnF,EAAcgB,EAAkBH,KAClD,GAAc,GAAVA,GAA2B,GAAZG,EACjB,MAAO,QAAQH,IAKjB,MAAM2zE,EAAax0E,EAAOgB,EAK1B,MAAO,GAAGwzE,EAAa,OAFNA,GALjB3zE,EAASsmF,KAAKC,IAAIvmF,EAAQ,IAKasmF,KAAKE,IAAI7S,EAAaxzE,EAAUH,GAAU2zE,EAAaxzE,QAEjDH,GAAM,EAG/C,SAAUwgC,IACd,MAAMimD,EAAgB,IAAInmD,KAE1BmmD,SAAcC,kBAAoB,uBAClCD,EAAcE,cAAgB,qBAC9BF,EAAcG,kBAAoB,qBAClCH,EAAcI,eAAiB,qBAC/BJ,EAAcK,cAAgB,qBAC9BL,EAAcM,cAAgBV,EAEvBI,CACT,gHClBO,IAAMO,EAAuB,MAA9B,MAAOA,UAA+B7tF,KAMPC,YACzBiI,oBACAqf,eAPDrnB,MAAQ,mBACjBC,OAEAC,YACEC,EACiCJ,EACzBiI,EACAqf,GAERjnB,MAAMD,EAAMJ,GAJqBM,KAAAN,cACzBM,KAAA2H,sBACA3H,KAAAgnB,iBAGRhnB,KAAKJ,OAASE,CAChB,CAEAkiB,OAAO9O,EAAiBjL,EAAgB0oB,GACtC,OAAO3wB,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASuT,KAAWjL,KAAU0oB,IAC3E,CAEAG,2BAA2B5d,EAAiBjL,EAAgB0oB,GAC1D,OAAO3wB,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,iBAAiBuT,KAAWjL,KAAU0oB,IACnF,CAGA48D,yBACEr6E,EACAjL,EACA+jB,EACApC,GACA,MAAMrW,EAAS,IAAI0Y,KAAW,CAC5BC,WAAYF,IAEb/G,OAAO,WAAY2E,GAAsB,IAC1C,OAAO5pB,KAAKmsB,gBAAiC,GAAGnsB,KAAKL,SAASuT,KAAWjL,IAAUsL,GAAQ7N,QACzF0mB,KAAWzT,IAST3Y,KAAKgnB,eAAeqF,wBAAwB,CARI,CAC9ClT,QAAS,8BACTyI,KAAM0K,KAAqBC,OAEe,CAC1CpT,QAAS,SAASR,EAAIvU,WAAWuU,EAAIO,UACrC0I,KAAM0K,KAAqBC,UAEyD,EAC/EC,UAIb,CAEArf,OACE+F,EACAjL,EACA0oB,EACA1qB,GAEAA,SAAK0O,QAAQ+Z,IACXA,EAAE6C,KAAO7C,EAAE6C,KAAK1lB,WAAWkL,QAAQ,IAAK,IAAG,GAEtC/W,KAAK6iB,OAAO,GAAG7iB,KAAKL,SAASuT,KAAWjL,KAAU0oB,IAAgB1qB,GAAMP,KAC7EonB,IACA9sB,KAAK2H,oBAAoBykB,aAE7B,4CA9DWkhE,GAAsBltF,MAAAC,MAAAD,MAMvB,eAAaA,MAAA+C,KAAA/C,MAAAgD,MAAA,iCANZkqF,EAAsBhtF,QAAtBgtF,EAAsB/sF,UAAAC,WAFrB,gBAED8sF,CAAuB,mHCO7B,IAAME,EAAwB,MAA/B,MAAOA,UAAgC/tF,KAMRC,YACzBsnB,eACArf,oBAPDhI,MAAQ,oBACjBC,OAEAC,YACEC,EACiCJ,EACzBsnB,EACArf,GAER5H,MAAMD,EAAMJ,GAJqBM,KAAAN,cACzBM,KAAAgnB,iBACAhnB,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAChB,CAEAkiB,OAAOgK,EAAiBtW,EAAuBsK,EAAc4J,GAC3D,MAAMrW,EAAS,IAAI0Y,KAAW,CAC5BC,WAAYF,IACX/G,OAAO,WAAY2E,GAAsB,IAC5C,OAAO5pB,KAAKmsB,gBAAkC,GAAGnsB,KAAKL,SAAS+V,KAAiBsK,IAAQzM,GAAQ7N,QAC9F0mB,KAAWzT,IAST3Y,KAAKgnB,eAAeqF,wBAAwB,CARI,CAC9ClT,QAAS,8BACTyI,KAAM0K,KAAqBC,OAEe,CAC1CpT,QAAS,SAASR,EAAIvU,WAAWuU,EAAIO,UACrC0I,KAAM0K,KAAqBC,UAEyD,EAC/EC,UAGb,CAEArK,2BAA2BzM,EAAuBsK,EAAcC,GAC9D,OAAOjgB,KAAKqC,IAAI,GAAGrC,KAAKL,SAAS+V,KAAiBsK,KAAQC,yBACvDva,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAjf,OAAOyK,EAA8BlC,EAAuBsK,GAC1D,OAAOhgB,KAAK6iB,OAAO,GAAG7iB,KAAKL,SAAS+V,KAAiBsK,IAAQpI,GAC1DlS,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,4CA1CWohE,GAAuBptF,MAAAC,MAAAD,MAMxB,eAAaA,MAAA+C,MAAA/C,MAAAgD,KAAA,iCANZoqF,EAAuBltF,QAAvBktF,EAAuBjtF,UAAAC,WAFtB,gBAEDgtF,CAAwB,mHCA9B,IAAMC,EAAwB,MAA/B,MAAOA,UAAgChuF,KAMRC,YACzBsnB,eACArf,oBAPDhI,MAAQ,0BACjBC,OAEAC,YACEC,EACiCJ,EACzBsnB,EACArf,GAER5H,MAAMD,EAAMJ,GAJqBM,KAAAN,cACzBM,KAAAgnB,iBACAhnB,KAAA2H,sBAGR3H,KAAKJ,OAASE,CAChB,CAEAwb,MACE,OAAOtb,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,YAC7C,CAEAqiB,OAAOgK,EAAiBpC,GACtB,MAAMrW,EAAS,IAAI0Y,KAAW,CAC5BC,WAAYF,IACX/G,OAAO,WAAY2E,GAAsB,IAC5C,OAAO5pB,KAAKmsB,gBAAkCnsB,KAAKL,MAAO4T,GAAQ7N,QAChE0mB,KAAWzT,IAST3Y,KAAKgnB,eAAeqF,wBAAwB,CARI,CAC9ClT,QAAS,8BACTyI,KAAM0K,KAAqBC,OAEe,CAC1CpT,QAAS,SAASR,EAAIvU,WAAWuU,EAAIO,UACrC0I,KAAM0K,KAAqBC,UAEyD,EAC/EC,UAGb,CAEA+L,QAAQr4B,GACN,OAAOF,KAAK04B,OAAO14B,KAAKL,MAAOO,EACjC,CAEAm9B,oBAAoBn9B,GAClB,OAAOF,KAAKG,SAASH,KAAKL,MAAOO,EACnC,CAEAiN,OAAOmwB,GACL,OAAOt9B,KAAK6iB,OAAO7iB,KAAKL,MAAO29B,GAAkB53B,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC3F,CAEAwQ,UAAU18B,EAAYo9B,GACpB,OAAOt9B,KAAKgwC,OAAO,GAAGhwC,KAAKL,SAASO,IAAMo9B,GAAkB53B,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aACtG,4CApDWqhE,GAAuBrtF,MAAAC,MAAAD,MAMxB,eAAaA,MAAA+C,MAAA/C,MAAAgD,KAAA,iCANZqqF,EAAuBntF,QAAvBmtF,EAAuBltF,UAAAC,WAFtB,gBAEDitF,CAAwB,2HCR9B,IAAMC,EAAsB,MAA7B,MAAOA,EAGS5tF,KAA0B6H,oBAFtCmkB,QAERjsB,YAAoBC,EAA0B6H,GAA1B3H,KAAAF,OAA0BE,KAAA2H,sBAC5C3H,KAAK8rB,QAAUpsB,IAAYqsB,UAC7B,CAEQ/I,SAAS2qE,GAEf,IAAIj+B,EADqBi+B,EAASjhE,QAAQrqB,IAAI,uBACZiJ,MAAM,KAAK,GAAGA,MAAM,KAAK,GAAGkV,OAAOzJ,QAAQ,MAAO,IAChF62E,EAAa,GACjBA,EAAWt6E,KAAKq6E,EAAS3lE,MACzB,IAAIN,EAAeC,SAASC,cAAc,KAC1CF,EAAaG,aAAa,WAAY6nC,GACtChoC,EAAaK,KAAOT,OAAOyF,IAAIC,gBAAgB,IAAI6gE,KAAKD,EAAY,CAAEhsE,KAAM+rE,EAAS/rE,QACrF+F,SAASK,KAAKC,YAAYP,GAC1BA,EAAaxE,QACbwE,EAAaQ,QACf,CAEQ4lE,QAAQznE,GACd,OAAOrmB,KAAKF,KACTuC,IAASgkB,EAAK,CAAEuG,aAAc,OAAkBC,QAAS,aACzDnnB,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAnG,gBAAgBtX,EAAcxM,GAE5BnC,KAAK8tF,QADK,GAAG9tF,KAAK8rB,WAAWnd,KAAQxM,KACnBL,UAAW6rF,GAAkB3tF,KAAKgjB,SAAS2qE,GAC/D,CAEQI,iBAAiB1nE,GACvB,OAAOrmB,KAAK8tF,QAAQznE,GAAK3gB,QACvBgO,KAAIi6E,IACF,IAAIC,EAAa,GACjBA,SAAWt6E,KAAKq6E,EAAS3lE,MAClBV,OAAOyF,IAAIC,gBAAgB,IAAI6gE,KAAKD,EAAY,CAAEhsE,KAAM,oBAAoB,IACpF,EACD/H,KAAU,KAAE,EACZgf,KAAS,GAEb,CAEAzS,wBAAwBzX,EAAcxM,GACpC,OAAOnC,KAAK+tF,iBAAiB,GAAG/tF,KAAK8rB,WAAWnd,KAAQxM,IAC1D,CAEA6rF,qBAAqB96E,EAAiBjL,GAKpC,IAAIgmF,EAAiB,CAAEvhE,QAJH,IAAIC,KAAY,CAClC,eAAgB,mBAChBuhE,OAAQ,oBAEqCthE,aAAc,QAC7D,OAAO5sB,KAAKF,KACTuC,IAAI,GAAGrC,KAAK8rB,8BAA8B5Y,KAAWjL,QAAcgmF,GACnEvoF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEA/J,4BAA4B3M,EAAuBsK,GAIjD,IAAIiuE,EAAiB,CAAEvhE,QAHH,IAAIC,KAAY,CAClCuhE,OAAQ,oBAEqCrhE,QAAS,WAAsBD,aAAc,QAE5F5sB,KAAKF,KACFuC,IAAI,GAAGrC,KAAK8rB,8BAA8BpW,KAAiBsK,cAAkBiuE,GAC7EvoF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAW6rF,GAAkB3tF,KAAKgjB,SAAS2qE,GAChD,CAEAprE,0BAA0BriB,GAExB,IAAI+tF,EAAiB,CAAEvhE,QADH,IAAIC,KAAY,CAAEuhE,OAAQ,oBACCrhE,QAAS,WAAsBD,aAAc,QAC5F5sB,KAAKF,KACFuC,IAAI,GAAGrC,KAAK8rB,gCAAgC5rB,cAAgB+tF,GAC5DvoF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAW6rF,GAAkB3tF,KAAKgjB,SAAS2qE,GAChD,CAEA5e,wBAAwB77D,EAAiBjL,EAAgB+X,GAEvD,IAAIiuE,EAAiB,CAAEvhE,QADH,IAAIC,KAAY,CAAEuhE,OAAQ,oBACCrhE,QAAS,WAAsBD,aAAc,QAC5F5sB,KAAKF,KACFuC,IAAI,GAAGrC,KAAK8rB,iCAAiC5Y,KAAWjL,KAAU+X,QAAYiuE,GAC9EvoF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAW6rF,GAAkB3tF,KAAKgjB,SAAS2qE,GAChD,CAEA1gB,2CAA2C/5D,EAAiBjL,EAAgB+X,GAE1E,IAAIiuE,EAAiB,CAAEvhE,QADH,IAAIC,KAAY,CAAEuhE,OAAQ,oBACCrhE,QAAS,WAAsBD,aAAc,QAC5F5sB,KAAKF,KACFuC,IACC,GAAGrC,KAAK8rB,sDAAsD5Y,KAAWjL,KAAU+X,QACnFiuE,GAEDvoF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAW6rF,GAAkB3tF,KAAKgjB,SAAS2qE,GAChD,CAEArrE,yCAAyC5M,GAEvC,IAAIu4E,EAAiB,CAAEvhE,QADH,IAAIC,KAAY,CAAEuhE,OAAQ,oBACCrhE,QAAS,WAAsBD,aAAc,QAC5F5sB,KAAKF,KACFuC,IAAI,GAAGrC,KAAK8rB,iDAAiDpW,QAAqBu4E,GAClFvoF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAW6rF,GAAkB3tF,KAAKgjB,SAAS2qE,GAChD,CAEAQ,0BAA0Bj7E,EAAiBjL,GAEzC,IAAIgmF,EAAiB,CAAEvhE,QADH,IAAIC,KAAY,CAAEuhE,OAAQ,oBACCrhE,QAAS,WAAsBD,aAAc,QAC5F5sB,KAAKF,KACFuC,IAAI,GAAGrC,KAAK8rB,iDAAiD5Y,KAAWjL,QAAcgmF,GACtFvoF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAW6rF,GAAkB3tF,KAAKgjB,SAAS2qE,GAChD,CAEAttC,0BAA0BntC,EAAiBjL,GAEzC,IAAIgmF,EAAiB,CAAEvhE,QADH,IAAIC,KAAY,CAAEuhE,OAAQ,oBACCrhE,QAAS,WAAsBD,aAAc,QAC5F5sB,KAAKF,KACFuC,IAAI,GAAGrC,KAAK8rB,iDAAiD5Y,KAAWjL,QAAcgmF,GACtFvoF,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,cACxCtqB,UAAW6rF,GAAkB3tF,KAAKgjB,SAAS2qE,GAChD,4CA7HWD,GAAsBttF,MAAAC,MAAAD,MAAA+C,KAAA,iCAAtBuqF,EAAsBptF,QAAtBotF,EAAsBntF,UAAAC,WAFrB,gBAEDktF,CAAsB,+FCG5B,IAAMU,EAAyB,MAAhC,MAAOA,UAAiC3uF,KAOTC,YACzBiI,oBAPDhI,MAAQ,qBACjBC,OACQksB,QAERjsB,YACEC,EACiCJ,EACzBiI,GAER5H,MAAMD,EAAMJ,GAHqBM,KAAAN,cACzBM,KAAA2H,sBAGR3H,KAAKJ,OAASE,EACdE,KAAK8rB,QAAUpsB,EAAYqsB,UAC7B,CAEAsiE,qBAAqBnuF,GACnB,OAAOF,KAAKG,SAASH,KAAKL,MAAOO,EACnC,CAEAs2E,oCACEtjE,EACAjL,EACAlC,EACAia,GAEA,OAAOhgB,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASuT,KAAWjL,KAAUlC,KAAOia,IAClF,CAEAy5D,cAAcvmE,EAAiBjL,GAC7B,OAAOjI,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASuT,KAAWjL,mBACjE,CAEA4zE,YAAY3oE,EAAiBjL,GAC3B,OAAOjI,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASuT,KAAWjL,iBACjE,CAEAyxE,YAAYxmE,EAAiBjL,EAAgB+X,GAC3C,OAAOhgB,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASuT,KAAWjL,KAAU+X,iBAC3E,CAEA45D,oBAAoB1mE,EAAiBjL,EAAgB+X,GACnD,OAAOhgB,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASuT,KAAWjL,KAAU+X,uBAC3E,CAEA85D,oBAAoB5mE,EAAiBjL,EAAgB+X,GACnD,OAAOhgB,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASuT,KAAWjL,KAAU+X,uBAC3E,CAEAsuE,wBAAwBp7E,EAAiBjL,EAAgB/H,GACvD,OAAOF,KAAKJ,OACTyC,IAAIrC,KAAK8rB,QAAU,IAAM9rB,KAAKL,MAAQ,IAAMuT,EAAU,IAAMjL,EAAS,IAAM/H,EAAK,6BAA8B,CAC7G0sB,aAAc,SAEflnB,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAmiE,sBAAsBr7E,EAAiBjL,EAAgB/H,GACrD,OAAOF,KAAKJ,OACTyC,IAAIrC,KAAK8rB,QAAU,IAAM9rB,KAAKL,MAAQ,IAAMuT,EAAU,IAAMjL,EAAS,IAAM/H,EAAK,2BAA4B,CAC3G0sB,aAAc,SAEflnB,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC7C,CAEAjf,OAAOlH,GACL,OAAOjG,KAAK6iB,OAAO7iB,KAAKL,MAAOsG,GAAMP,KAAKonB,IAAU9sB,KAAK2H,oBAAoBykB,aAC/E,CAEAoiE,8CACEt7E,EACAjL,EACA/H,EACA8f,GAEA,OAAOhgB,KAAK4xC,uBAAuB,GAAG5xC,KAAKL,SAASuT,KAAWjL,KAAU/H,KAAM8f,UACjF,4CA3EWouE,GAAwBhuF,MAAAC,MAAAD,MAOzB,eAAaA,MAAA+C,KAAA,iCAPZirF,EAAwB9tF,QAAxB8tF,EAAwB7tF,UAAAC,WAFvB,gBAED4tF,CAAyB,uDCP/B,IAAMK,EAAa,MAApB,MAAOA,EACXC,QAAoB,CAClB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAGF7+E,QAAe,CACb,CACE,KACA,CACE,gBACA,eACA,eACA,SACA,WACA,kBACA,oBACA,WACA,YACA,iBACA,gBACA,uBACA,uBACA,aACA,eACA,aACA,kBACA,sBACA,mBACA,iBACA,cACA,WAGJ,CACE,KACA,CACE,iBACA,SACA,YACA,UACA,4BACA,yBACA,UACA,WACA,aACA,eACA,aACA,cACA,WACA,YACA,eACA,eACA,SACA,SACA,YACA,eACA,sBACA,wBACA,gBACA,WACA,aACA,kBACA,eACA,qBACA,eACA,gBACA,YACA,oBACA,aACA,QACA,cACA,SACA,uBACA,aACA,cACA,aACA,qBACA,gBACA,YACA,YACA,iBACA,qBACA,YACA,gBACA,WACA,YACA,mBACA,YACA,eACA,cACA,uBACA,UACA,uBACA,mBACA,SACA,YACA,4BACA,2BACA,wBACA,cACA,cACA,YACA,yBACA,yBACA,YACA,aACA,sBACA,gBACA,SACA,kBACA,QACA,UACA,WACA,0BACA,cACA,kBACA,2BACA,cACA,YACA,UACA,uBACA,qBACA,uBACA,iBACA,yBACA,2BACA,6BACA,2BACA,6BACA,sBACA,SACA,uBACA,gBACA,YACA,qBACA,SACA,wBACA,cAGJ,CACE,KACA,CACE,WACA,cACA,SACA,iBACA,UACA,mBACA,YACA,aACA,WACA,6BACA,eACA,cACA,UACA,iBACA,kBACA,uBAGJ,CACE,KACA,CACE,cACA,aACA,WACA,QACA,UACA,mBACA,UACA,WACA,cACA,oBACA,SACA,qBACA,eACA,QACA,aACA,WACA,WACA,UACA,uBACA,QACA,aACA,cACA,SACA,YACA,aACA,aACA,UACA,WACA,cACA,YACA,aACA,YACA,WACA,WACA,YACA,aACA,YACA,SACA,cACA,WACA,WACA,cACA,uBACA,gBACA,mBACA,YACA,SACA,wBACA,mBACA,4BACA,gCACA,8BACA,8BACA,mCACA,SACA,YACA,YACA,UACA,YACA,SACA,aACA,gBAGJ,CACE,KACA,CACE,YACA,WACA,YACA,WACA,eACA,UACA,aACA,cACA,WACA,WACA,sBACA,qBACA,WACA,aACA,YACA,UACA,UACA,QACA,qBACA,0BACA,WACA,WACA,YACA,UACA,QACA,UACA,UACA,cACA,gBACA,iBACA,eACA,YACA,QACA,kBACA,oBACA,kBACA,iBACA,YACA,aACA,WACA,cACA,WACA,aACA,YACA,WACA,qBACA,oBACA,qBACA,UACA,SACA,UACA,cACA,aACA,iBACA,wBACA,UACA,YACA,aACA,UACA,6BACA,YACA,YACA,UACA,WACA,aACA,YACA,QACA,sBACA,UACA,cACA,SACA,0BACA,gBACA,eACA,WACA,cACA,UACA,WACA,UACA,mBACA,kBACA,UACA,wBACA,eACA,cACA,YACA,mBACA,aACA,YACA,eACA,gBACA,OACA,WACA,UACA,eACA,mBACA,UACA,UACA,QACA,2BACA,6BACA,8BACA,gCACA,QACA,cACA,0BACA,yBACA,YACA,SACA,wBACA,aACA,WACA,iBACA,gBACA,iBACA,iBACA,eACA,iBACA,kBACA,iBACA,mBACA,oBACA,eACA,aACA,mBACA,YACA,oBACA,eACA,YACA,gBACA,mBACA,gBACA,gBACA,gBACA,uBACA,QACA,YACA,iBACA,YACA,UACA,wBACA,UACA,WACA,aACA,gBACA,UACA,eACA,cACA,WACA,YACA,UACA,aACA,WACA,eACA,cACA,YACA,WACA,aACA,YACA,OACA,aACA,eACA,WACA,YACA,YACA,cACA,WACA,WACA,WACA,UACA,UACA,WACA,WACA,WACA,UACA,YACA,UACA,aACA,YACA,QACA,aACA,aACA,uBACA,sBACA,cACA,YACA,UACA,YACA,WACA,aACA,YACA,WACA,UACA,aACA,YACA,aACA,WACA,YACA,SACA,aACA,YACA,aACA,YACA,aACA,UACA,YACA,WACA,WACA,aACA,YACA,YACA,cACA,YACA,YACA,kBACA,aACA,kBACA,WACA,cACA,UACA,UACA,WACA,oBACA,aACA,OACA,aACA,YACA,oBACA,aACA,WACA,mBACA,gBACA,wBACA,8BACA,+BACA,WACA,WACA,cACA,cACA,gBACA,WACA,cACA,QACA,UACA,oBACA,kBACA,cACA,aACA,aACA,WACA,uBACA,UACA,yBACA,SACA,gBACA,gBACA,WACA,YACA,UACA,cACA,aACA,qBACA,YACA,YACA,SACA,mBACA,aACA,iBACA,gCACA,WACA,aACA,YACA,kBACA,aACA,gBACA,iBACA,eACA,eACA,sBACA,aACA,iBACA,iBACA,eACA,WACA,yBACA,gBACA,gBACA,uBACA,YACA,YACA,YACA,cACA,aACA,eACA,iBACA,YACA,kBACA,WACA,kBACA,YACA,eACA,WACA,oBACA,YACA,WACA,aACA,WACA,eACA,SACA,aACA,eACA,eACA,QACA,mBACA,8BACA,4BACA,YACA,YACA,aACA,kBACA,UACA,kBACA,uBACA,2BACA,oBACA,oBACA,oBACA,uBACA,gBACA,oBACA,eACA,WACA,UACA,cACA,uBACA,WACA,mBACA,mBACA,yBACA,2BACA,gBACA,WACA,cACA,4BACA,UACA,kBACA,0BACA,kBACA,cACA,4BACA,sBACA,sBACA,kBACA,gBACA,kBACA,4BACA,4BACA,iBACA,+BACA,+BACA,+BACA,0BACA,kCACA,aACA,iBACA,UACA,WACA,SACA,2BACA,mBACA,cACA,mBACA,gBACA,cACA,WACA,iBACA,kBACA,mBACA,qBACA,aACA,eACA,yBACA,aACA,cACA,YACA,aACA,gBACA,sBACA,kBACA,iBACA,eACA,aACA,WACA,SACA,UACA,YACA,WACA,WACA,WACA,YACA,MACA,SACA,aACA,SACA,aACA,UACA,uBACA,uBACA,iBACA,UACA,YACA,SACA,0BACA,SACA,YACA,yBACA,gBAGJ,CACE,KACA,CACE,UACA,aACA,YACA,WACA,SACA,gBACA,YACA,aACA,WACA,oBACA,cACA,UACA,UACA,YACA,cACA,UACA,UACA,WACA,YACA,SACA,SACA,cACA,WACA,WACA,QACA,cACA,cACA,WACA,YACA,aACA,cACA,UACA,eACA,aACA,aACA,WACA,YACA,eACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,SACA,WACA,aACA,YACA,aACA,QACA,YACA,OACA,4BACA,WACA,aACA,eACA,YACA,YACA,SACA,eACA,kBACA,WACA,SACA,YACA,cACA,aACA,sBACA,eACA,iBACA,YACA,YACA,WACA,cACA,YACA,SACA,SACA,mBACA,aACA,YACA,MACA,WACA,UACA,cACA,cACA,YACA,aACA,YACA,cACA,UACA,UACA,cACA,cACA,YACA,aACA,SACA,OACA,yBACA,oBACA,WACA,uBACA,oBACA,WACA,eACA,aACA,QACA,iBACA,aACA,UACA,UACA,WACA,WACA,aACA,kBACA,aACA,mBACA,cACA,aACA,YACA,UACA,UACA,cACA,cACA,eACA,QACA,UACA,UACA,WACA,SACA,YACA,UACA,cACA,WACA,YACA,UACA,WACA,eACA,YACA,aACA,UACA,cACA,kBACA,iBACA,UACA,YACA,UACA,aACA,qBACA,aACA,aACA,eACA,aACA,iBACA,YACA,SACA,WACA,UACA,uBACA,oBACA,oBACA,kBACA,gCACA,8BACA,yBACA,iBACA,gBACA,SACA,gBACA,qBACA,WACA,WACA,UACA,eACA,aACA,SACA,SACA,UACA,QACA,SACA,cACA,SACA,UACA,mBACA,0BAGJ,CAAC,KAAM,CAAC,gBACR,CACE,KACA,CACE,oBACA,wBACA,kBACA,SACA,iBACA,gBACA,WACA,YACA,UACA,kBACA,eACA,4BACA,mBACA,qBACA,YACA,0BACA,YACA,UACA,WACA,2BACA,6BACA,+BACA,mBACA,qBACA,aACA,YACA,wBACA,eACA,YACA,UACA,aACA,YACA,SACA,QACA,cACA,aACA,UACA,UACA,aACA,uBACA,gBACA,mBACA,WACA,kBACA,gBACA,oBACA,gBACA,gBACA,WACA,WACA,eACA,QACA,kBACA,SACA,mBACA,YACA,WACA,aACA,qBACA,cACA,kBACA,mBACA,2BACA,eACA,2BACA,0BACA,+BACA,gBACA,2BACA,QACA,YACA,cACA,0BACA,QACA,gBACA,kBACA,aACA,eAGJ,CACE,KACA,CACE,qBACA,eACA,aACA,eACA,2BACA,gBACA,8BACA,cACA,cACA,iBACA,8BACA,oBACA,YACA,sBACA,kBACA,cACA,aACA,UACA,0BACA,wBACA,WACA,WACA,eACA,gBACA,YACA,gBACA,YACA,gBACA,kBACA,SACA,aACA,yBACA,yBACA,wBACA,kBACA,eACA,eACA,cACA,gBACA,qBACA,mBACA,aACA,iBACA,wBACA,oBACA,UACA,eACA,eACA,aACA,wBACA,eACA,aACA,2BACA,0BACA,eACA,gBACA,qBACA,iBACA,aACA,aACA,aACA,QACA,WACA,wBACA,mBACA,yBACA,iBACA,qBACA,yBACA,gBACA,aACA,oBACA,YACA,cACA,SACA,kBACA,gBACA,iBACA,UACA,6BACA,iBACA,WACA,WACA,mBACA,QACA,eACA,kBACA,qBACA,UACA,UACA,wBACA,iBACA,YACA,eACA,aACA,WACA,WACA,WACA,iBACA,WACA,cACA,sBACA,WACA,cACA,iBACA,YACA,UACA,kBACA,UACA,UACA,UACA,uBACA,WACA,iBACA,cACA,WACA,WACA,WACA,UACA,gBACA,aACA,aACA,YACA,YACA,eACA,UACA,aACA,WACA,UACA,eACA,cACA,UACA,cACA,yBACA,cACA,cACA,YACA,YACA,cACA,eACA,iBACA,qBACA,YACA,WACA,aACA,2BACA,4BACA,aACA,sBACA,YACA,0BACA,gBACA,iBACA,aACA,iBACA,aACA,eACA,iBACA,kBACA,cACA,iBACA,iBACA,6BACA,YACA,cACA,cACA,YACA,gBACA,UACA,yBACA,UACA,iBACA,wBACA,wBACA,UACA,kBACA,YACA,eACA,aACA,gBACA,wBACA,oBACA,cACA,WACA,iBACA,eACA,aACA,YACA,YACA,eACA,iBACA,QACA,kBACA,kBACA,SACA,gBACA,aACA,YACA,YACA,mBACA,+BACA,yBACA,0BACA,2BACA,eACA,yBACA,6BACA,yBACA,2BACA,8BACA,4BACA,+BACA,iCACA,kBACA,+BACA,8BACA,+BACA,iCACA,0BACA,4BACA,gCACA,qBACA,kBACA,iBACA,kBACA,cACA,gBACA,oBACA,uBACA,uBACA,6BACA,kBACA,WACA,UACA,cACA,iBACA,WACA,YACA,SACA,YACA,4BACA,YACA,gBACA,oBACA,WACA,qBAGJ,CACE,KACA,CACE,mBACA,eACA,8BACA,eACA,gBACA,0BACA,6BACA,4BACA,mBACA,0BACA,0BACA,YACA,WACA,gBACA,cACA,WACA,QACA,QACA,WACA,UACA,YACA,SACA,aACA,SACA,wBACA,iBACA,eACA,aACA,4BACA,iBACA,cACA,qBACA,sBACA,aACA,uBACA,YACA,QACA,iBACA,SACA,eACA,aACA,aACA,mBACA,aACA,SACA,2BACA,oBACA,aACA,oBACA,WACA,aACA,SACA,SACA,yBACA,sBACA,6BACA,aACA,gBACA,UACA,cACA,UACA,iCACA,aACA,WACA,iBACA,YACA,gBACA,sBACA,WACA,4BACA,qBACA,yBACA,0BACA,UACA,kBACA,oBACA,oBACA,6BACA,+BACA,wBACA,0BACA,0BACA,kBACA,YACA,eACA,qBACA,QACA,qBACA,oBACA,aACA,wBACA,kBACA,wBACA,YACA,uBACA,iBACA,gBACA,uBACA,gBACA,8BACA,gBACA,gBACA,qBACA,aACA,eACA,cACA,SACA,oBACA,0BACA,mBACA,oBACA,mBACA,YACA,UACA,YACA,qBACA,0BACA,UACA,mBACA,WACA,eACA,eACA,SACA,iBACA,eACA,cACA,6BACA,+BACA,6BACA,oBACA,kBACA,YACA,YACA,kBACA,cACA,gBACA,cACA,YACA,sBACA,UACA,aACA,cACA,mBACA,WACA,UACA,YACA,wBACA,eACA,4BACA,mBACA,uBACA,uBACA,oBACA,oBACA,gBACA,SACA,aACA,kBACA,aACA,cACA,gCACA,eACA,gBACA,cACA,0BACA,yBACA,mCACA,aACA,6BACA,6BACA,+BACA,eACA,kBACA,gCACA,iCACA,4BACA,gCACA,kCACA,yBACA,4BACA,+BACA,0BACA,2BACA,4BACA,iCACA,iBACA,wCACA,+BACA,iCACA,2BACA,kCACA,kCACA,iBACA,wBACA,YACA,0BACA,oBACA,yBACA,gBACA,oBACA,yBACA,gBACA,WACA,QACA,oBACA,gBACA,SACA,aACA,gBACA,YACA,gBACA,gBACA,QACA,6BACA,uBACA,kBACA,eAGJ,CACE,KACA,CACE,WACA,cACA,gBACA,gBACA,iBACA,iBACA,gBACA,eACA,aACA,aACA,aACA,aACA,gBACA,cACA,yBACA,kBACA,qBACA,wBACA,YACA,aACA,kBACA,wBACA,qBACA,cACA,qBACA,WACA,WACA,cACA,2BACA,aACA,YACA,aACA,UACA,WACA,WACA,mBACA,gBACA,YACA,iBACA,SACA,aACA,aACA,cACA,2BACA,qBACA,mBACA,oBACA,uBACA,aACA,cACA,oBACA,YACA,YACA,WACA,UACA,UACA,QACA,QACA,WACA,UACA,aACA,kBACA,qBACA,aACA,iBACA,YACA,mBACA,SACA,iBACA,8BACA,oBACA,sBACA,yBACA,eACA,eACA,qBACA,kBACA,mBACA,aACA,iBACA,kBACA,oBACA,kBACA,iBACA,0BACA,aACA,wBACA,sBACA,eACA,cACA,cACA,qBACA,oBACA,YACA,qBACA,eACA,mBACA,wBACA,uBACA,sBACA,gBACA,aACA,qBACA,eACA,wBACA,0BACA,mBACA,aACA,iBACA,kBACA,mBACA,kBACA,eACA,sBACA,0BACA,kBACA,eACA,4BACA,+BACA,8BACA,yBACA,8BACA,mCACA,0BACA,uBACA,UACA,qBACA,QACA,UACA,cACA,sBACA,UACA,sBACA,UACA,eACA,kBACA,0BACA,mBACA,OACA,sCACA,cAGJ,CACE,KACA,CACE,gBACA,iBACA,aACA,eACA,kBACA,cACA,qBACA,uBACA,aACA,eACA,eACA,aACA,eACA,aACA,YACA,SACA,iBACA,aACA,aACA,eACA,UACA,iBACA,qBACA,YACA,mBACA,aACA,aACA,QACA,gBACA,2BACA,YACA,WACA,WACA,mBACA,eACA,wBACA,uBACA,WACA,eACA,aACA,eACA,WACA,YACA,YACA,SACA,WACA,OACA,aACA,mBACA,WACA,UACA,aACA,aACA,UACA,uBACA,iBACA,wBACA,eACA,WACA,cACA,gBACA,iBACA,qBACA,gBACA,YACA,2BACA,UACA,sBACA,0BACA,cACA,cACA,iBACA,SACA,SACA,aACA,UACA,iBACA,cAGJ,CACE,KACA,CACE,sBACA,YACA,aACA,UACA,aACA,cACA,mBACA,UACA,oBACA,qBACA,aACA,WACA,SACA,YACA,qBACA,UACA,sBACA,WACA,YACA,iBACA,WACA,kBACA,oBACA,gBACA,YACA,iBACA,oBACA,kBACA,WACA,iBACA,gBACA,oBACA,kBACA,4BACA,eACA,YACA,gBACA,WACA,WACA,WACA,aACA,YACA,aACA,WACA,YACA,QACA,SACA,WACA,aACA,SACA,gBACA,aACA,kBACA,WACA,SACA,YACA,WACA,kBACA,qBACA,yBACA,YACA,cACA,UACA,sBACA,gBACA,iBACA,eACA,YACA,SACA,UACA,gBACA,QACA,cACA,QACA,YACA,mBACA,mBACA,cACA,eACA,sBACA,qBACA,sBACA,qBACA,cACA,cACA,SACA,2BACA,kBACA,gBACA,WACA,YACA,0BACA,uBACA,gBACA,gBACA,aACA,aACA,mBACA,gBACA,QACA,UACA,cACA,mBACA,aACA,qBACA,qBACA,wBACA,oBACA,kBACA,WACA,SACA,SACA,SACA,UACA,cACA,YACA,aACA,gBACA,WACA,YACA,gBACA,aACA,aACA,gBACA,gBACA,eACA,gBACA,WACA,eACA,aACA,WACA,YACA,aACA,cACA,YACA,YACA,eACA,iBACA,qBACA,sBACA,eACA,WACA,WACA,eACA,cACA,YACA,YACA,YACA,aACA,gBACA,cACA,qBACA,gBACA,iBACA,kBACA,wBACA,qBACA,yBACA,cACA,YACA,mBACA,YACA,cACA,gBACA,YACA,aACA,cACA,yBACA,SACA,SACA,UACA,qBACA,mBACA,aACA,aACA,WACA,mBACA,oBACA,UACA,eACA,WACA,yBACA,aACA,UACA,SACA,mBACA,aACA,+BACA,oCACA,8BACA,6BACA,6BACA,iCACA,6BACA,+BACA,4BACA,oBACA,UACA,YACA,YACA,qBACA,YACA,uBACA,mBACA,mBACA,WACA,YACA,yBACA,cACA,kBACA,UACA,UACA,aACA,qBACA,gBACA,kBACA,wBACA,mBACA,0BACA,mBACA,kBACA,iCACA,eACA,WACA,eACA,kBACA,WACA,iBACA,wBACA,cACA,YACA,mBACA,UACA,QACA,iBACA,kBACA,QACA,aACA,yBACA,mBACA,aACA,uBACA,cACA,eACA,SACA,yBACA,2BACA,iBACA,gBACA,cACA,iBACA,YACA,aACA,cACA,kBACA,gBACA,kBACA,kBACA,uBACA,qBACA,iBACA,iBACA,eACA,aACA,iBACA,oBACA,qBACA,eACA,sBACA,aACA,aACA,eACA,WACA,+BACA,SACA,gBACA,uBACA,iBACA,iBACA,sBACA,UACA,OACA,cACA,wBACA,aACA,iBACA,qBACA,SACA,aACA,YACA,UACA,UACA,qBACA,mBACA,sBACA,mBACA,oBACA,kBACA,cACA,oBACA,iBACA,YACA,sBACA,iBACA,SACA,gBACA,cACA,aACA,kBACA,YACA,YACA,eACA,UACA,UACA,uBACA,gBACA,WACA,cACA,WACA,aACA,aACA,gBACA,UACA,aACA,aACA,aACA,WACA,gBACA,YACA,eACA,YACA,OACA,YACA,UACA,WACA,YACA,UACA,aACA,uBACA,YACA,qBACA,aACA,aACA,WACA,QACA,cACA,mBACA,gBACA,aACA,kBACA,WACA,UACA,aACA,YACA,QACA,UACA,WACA,YACA,aACA,mBACA,UACA,wBACA,YACA,aACA,aACA,WACA,YACA,aACA,eACA,qBACA,aACA,2BACA,UACA,WACA,YACA,WACA,UACA,YACA,cACA,UACA,gBACA,mBACA,YACA,YACA,SACA,SACA,YACA,WACA,UACA,WACA,gBACA,UACA,WACA,YACA,eACA,WACA,WACA,aACA,cACA,eACA,WACA,UACA,oBACA,UACA,cACA,eACA,gBACA,cACA,YACA,cACA,oBACA,mBACA,qBACA,cACA,gCACA,iBACA,iBACA,UACA,eACA,YACA,UACA,eACA,WACA,UACA,iBACA,kBACA,gBACA,gBACA,eACA,cACA,UACA,UACA,QACA,WACA,WACA,SACA,mBACA,gBACA,aACA,YACA,cACA,mBACA,SACA,YACA,gBACA,gBACA,MACA,aACA,UACA,yBACA,cACA,UACA,QACA,cACA,aACA,UACA,aACA,iBACA,iBACA,UACA,UACA,kBACA,qBACA,eACA,kBACA,kBACA,iBACA,aACA,iBACA,cACA,iBACA,iBACA,iBACA,YACA,aACA,aACA,WACA,WACA,SACA,kBACA,YACA,WACA,cACA,UACA,WACA,YACA,WACA,eACA,QACA,QACA,WACA,kBACA,iBACA,wBACA,aACA,aACA,gBACA,gBACA,uBACA,gBACA,gBACA,YACA,uBACA,oBACA,iBACA,SACA,YACA,QACA,aACA,eACA,UACA,QACA,gBACA,cACA,WACA,aACA,WACA,gBACA,WACA,YACA,iBACA,aACA,mBACA,eACA,eACA,gBACA,gBACA,wBACA,cACA,SACA,kBACA,qBACA,WACA,kBACA,sBACA,eACA,cACA,cACA,YACA,aACA,sBACA,iBACA,mBACA,YACA,QACA,YACA,QACA,QACA,gBACA,YACA,WACA,mBACA,eACA,kBACA,YACA,cACA,eACA,cACA,cACA,SACA,QACA,iBACA,gBACA,6BACA,mBACA,YACA,WACA,aACA,aACA,eACA,gBACA,qBACA,gBACA,WACA,0BACA,kBACA,iBACA,iBACA,UACA,QACA,cACA,WACA,aACA,YACA,WACA,OACA,uBACA,wBACA,wBACA,qBACA,UACA,kBACA,gBACA,WACA,WACA,UACA,eACA,cACA,cACA,WACA,aACA,WACA,SACA,UACA,gBACA,qBACA,UACA,YACA,aACA,eACA,qBACA,cACA,cACA,UACA,eACA,aACA,SACA,QACA,gBACA,WACA,uBACA,uBACA,wBACA,yBACA,qBACA,gBACA,YACA,UACA,cACA,UACA,SACA,gBACA,aACA,cACA,YACA,sBACA,wBACA,uBACA,YACA,YACA,WACA,eACA,aACA,YACA,WACA,mBACA,qBACA,iBACA,YACA,YACA,eACA,eACA,mBACA,UACA,UACA,wBACA,WACA,QACA,YACA,iBACA,aACA,UACA,kBACA,mBACA,4BACA,kCACA,iCACA,sBACA,wBACA,0BACA,6BACA,uBACA,wBACA,gBACA,cACA,kBACA,yBACA,uBACA,8BACA,oBACA,wBACA,sBACA,qBACA,yBACA,uBACA,yBACA,wBACA,oBACA,qBACA,uBACA,0BACA,0BACA,sBACA,uBACA,2BACA,sBACA,mBACA,6BACA,kCACA,4BACA,gCACA,8BACA,4BACA,6BACA,iCACA,oBACA,gBACA,qBACA,iCACA,4BACA,2BACA,2BACA,mBACA,4BACA,4BACA,gCACA,iBACA,4BACA,2BACA,iCACA,+BACA,kCACA,iCACA,kCACA,iBACA,sCACA,0BACA,yBACA,0BACA,gCACA,yBACA,gCACA,+BACA,4BACA,6BACA,+BACA,6BACA,4BACA,0BACA,0BACA,yBACA,2BACA,6BACA,2BACA,2BACA,4BACA,2BACA,+BACA,qBACA,wBACA,2BACA,0BACA,+BACA,kBACA,wBACA,oCACA,uCACA,8BACA,qCACA,+BACA,oCACA,mCACA,mCACA,6BACA,eACA,4BACA,0BACA,mBACA,YACA,UACA,YACA,iBACA,iBACA,kBACA,wBACA,iCACA,sBACA,mBACA,0BACA,WACA,YACA,sBACA,mBACA,uBACA,mBACA,WACA,2BACA,WACA,QACA,cACA,YACA,iBACA,mBACA,mBACA,eACA,cACA,oBACA,YACA,aACA,WACA,SACA,aACA,wBACA,YACA,YACA,mBACA,aACA,aACA,QACA,YACA,gBACA,SACA,SACA,yBACA,iBACA,iBACA,cACA,cACA,YACA,iBACA,SACA,UACA,aACA,UACA,gBACA,aACA,UACA,oBACA,kBACA,cACA,UACA,gBACA,gBACA,6BACA,WACA,qBACA,qBACA,iBACA,UACA,iBACA,YACA,eACA,gBACA,aACA,YACA,UACA,iBACA,cACA,kBACA,iBACA,yBACA,eACA,mBAGJ,CACE,KACA,CACE,aACA,kBACA,WACA,UACA,wBACA,WACA,WACA,WACA,YACA,aACA,QACA,oBACA,oBACA,SACA,QACA,WACA,UACA,YACA,WACA,WACA,YACA,yBACA,SACA,cACA,cACA,2BACA,cACA,SACA,SACA,qBACA,wBACA,YACA,0BACA,WACA,qBACA,YACA,SACA,UACA,8BACA,0BACA,kBACA,kBACA,aACA,WACA,eACA,aACA,0BACA,OACA,uBACA,uBACA,0BACA,YACA,oBACA,kBACA,YACA,qBACA,UACA,WACA,aACA,eACA,aACA,SACA,oBACA,gBACA,sBACA,YACA,cACA,YACA,WACA,kBACA,aACA,WACA,OACA,eACA,WACA,gCACA,eACA,iBACA,iBACA,oBACA,YACA,oBACA,eACA,WACA,yBACA,YACA,uBACA,cACA,cACA,aACA,YACA,aACA,SACA,kBACA,SACA,eACA,UACA,YACA,YACA,iBACA,YACA,oBACA,eACA,iBACA,aACA,8BACA,sBACA,0BACA,yBACA,4BACA,yBACA,sBACA,cACA,mBACA,8BACA,6BACA,8BACA,2BACA,2BACA,8BACA,6BACA,0BACA,4BACA,6BACA,4BACA,mCACA,WACA,8BACA,QACA,eACA,aACA,cACA,iBACA,aACA,aACA,YACA,aACA,iBACA,YACA,QACA,QACA,sBACA,aAGJ,CACE,KACA,CACE,iBACA,SACA,gBACA,cACA,YACA,WACA,4BACA,WACA,SACA,YACA,aACA,QACA,UACA,QACA,uBACA,SACA,WACA,iBACA,2BACA,aACA,aACA,mBACA,sBACA,yBACA,SACA,WACA,4BACA,qBACA,cACA,YACA,YACA,cACA,wBACA,eACA,YACA,gBACA,mBACA,aACA,aACA,WACA,0BACA,mBACA,oBACA,WACA,aACA,aACA,gBACA,oBACA,aACA,iBACA,mBACA,QACA,cACA,eACA,cACA,cACA,qBACA,cACA,kBACA,UACA,QACA,QACA,UACA,WACA,4BACA,SACA,WACA,yBACA,UACA,iBACA,eACA,YACA,WACA,WACA,eACA,gBACA,OACA,eACA,WACA,gBACA,aACA,YACA,cACA,YACA,SACA,UACA,YACA,UACA,YACA,aACA,cACA,UACA,aACA,YACA,iBACA,mBACA,cACA,qBACA,cACA,OACA,QACA,kBACA,aACA,SACA,aACA,aACA,SACA,mBACA,QACA,aACA,aACA,iBACA,OACA,iBACA,eACA,WACA,WACA,cACA,cACA,UACA,WACA,eACA,WACA,UACA,SACA,cACA,gBACA,cACA,gBACA,iBACA,WACA,aACA,SACA,WACA,QACA,WACA,eACA,gBACA,iBACA,iBACA,YACA,WACA,QACA,YACA,iBACA,cACA,UACA,WACA,iBACA,8BACA,SACA,QACA,kBACA,cACA,YACA,aACA,aACA,aACA,0BACA,wBACA,6BACA,qBACA,YACA,aACA,6BACA,mBACA,aACA,eACA,gBACA,cACA,uBACA,uBACA,cACA,aACA,kBACA,iBACA,kBACA,eACA,4BACA,4BACA,mBACA,2BACA,iCACA,0BACA,iCACA,2BACA,+BACA,6BACA,6BACA,2BACA,kCACA,2BACA,+BACA,2BACA,gBACA,yBACA,0CACA,mCACA,UACA,YACA,eACA,gBACA,eACA,gBACA,WACA,iBACA,UACA,aACA,WACA,aACA,QACA,UACA,aACA,UACA,WACA,aACA,UACA,aACA,YACA,YACA,iBACA,gBACA,cAGJ,CACE,KACA,CACE,YACA,kBACA,gBACA,yBACA,wBACA,aACA,iBACA,eACA,kBACA,aACA,YACA,QACA,YACA,YACA,WACA,oBACA,YACA,YACA,UACA,YACA,UACA,eACA,sBACA,WACA,sBACA,UACA,UACA,aACA,eACA,iBACA,cACA,qBACA,uBACA,2BACA,WACA,mBACA,gCACA,8BACA,yBACA,qBACA,mBACA,cACA,qBACA,kBACA,WACA,wBACA,UACA,gBACA,iBACA,gBACA,aACA,WACA,UACA,mBACA,sBACA,wBACA,eACA,mBACA,cACA,cACA,kBACA,sBACA,YACA,YACA,WACA,iCACA,cACA,gBACA,WACA,SACA,aACA,uBACA,aACA,cACA,cACA,WACA,mBACA,iBACA,UACA,WACA,eACA,uBACA,WACA,cACA,0BACA,0BACA,iBACA,uBACA,wBACA,oBACA,kBACA,eACA,cACA,WACA,aACA,mBACA,oBACA,kBACA,gBACA,YACA,iBACA,iBACA,mBACA,wBACA,sBACA,oBACA,+BACA,QACA,UACA,qBACA,WACA,qBACA,WACA,YACA,uBACA,WACA,mBACA,aACA,mBACA,mBACA,mBACA,kBACA,uBACA,mBACA,gBACA,aACA,UACA,eACA,YACA,iBACA,aACA,YACA,YACA,UACA,gBACA,aACA,kBACA,YACA,mBACA,SACA,QACA,aACA,cACA,cACA,SACA,WACA,WACA,oBACA,WACA,kBACA,WACA,WACA,mBACA,QACA,UACA,cACA,kBACA,gBACA,YACA,oBACA,eACA,mBACA,UACA,cACA,WACA,UACA,SACA,cACA,eACA,iBACA,iBACA,gBACA,SACA,YACA,gBACA,gBACA,aACA,cACA,oBACA,oBACA,UACA,UACA,YACA,OACA,WACA,qBACA,cACA,kBACA,YACA,SACA,SACA,WACA,WACA,aACA,kBACA,SACA,aACA,gBACA,aACA,cACA,mBACA,eACA,eACA,6BACA,eACA,WACA,uBACA,WACA,UACA,aACA,gBACA,YACA,aACA,YACA,UACA,gBACA,WACA,YACA,mBACA,aACA,WACA,UACA,YACA,SACA,gBACA,WACA,iBACA,8BACA,6BACA,4BACA,cACA,aACA,oBACA,gCACA,iBACA,mBACA,gBACA,kBACA,0BACA,wBACA,kBACA,aACA,iBACA,aACA,WACA,sBACA,cACA,SACA,WACA,WACA,WACA,sBACA,aACA,eACA,cACA,eACA,eACA,cACA,gBACA,gBACA,UACA,UACA,YACA,oBACA,UACA,UACA,cACA,yBACA,YACA,kBACA,YACA,UACA,eACA,0BACA,WACA,eACA,sBACA,WACA,iBACA,iBACA,aACA,mBACA,iBACA,YACA,4BACA,mBACA,mBACA,uBACA,cACA,gBACA,gBACA,sBACA,wBACA,gBACA,cACA,gBACA,gBACA,wBACA,UACA,cACA,gBACA,UACA,uBACA,oBACA,wBACA,WACA,UACA,0BACA,wBACA,oBACA,YACA,cACA,WACA,SACA,wBACA,cACA,gBACA,sBACA,kBACA,kBACA,+BACA,8BACA,cACA,eACA,gBACA,0BACA,wBACA,iBACA,uBACA,gBACA,kBACA,wBACA,wBACA,4BACA,8BACA,+BACA,iCACA,+BACA,kBACA,2BACA,8BACA,iBACA,6BACA,4BACA,4BACA,uBACA,0BACA,gCACA,8BACA,+BACA,6BACA,6BACA,uBACA,6BACA,4BACA,0BACA,4BACA,kCACA,iBACA,WACA,UACA,uBACA,YACA,+BACA,YACA,kBACA,kBACA,SACA,WACA,WACA,WACA,SACA,kBACA,oBACA,YACA,aACA,aACA,SACA,iBACA,SACA,WACA,8BACA,qBACA,oBACA,aACA,QACA,aACA,WACA,yBACA,UACA,UACA,WACA,qBACA,UACA,YACA,UACA,WACA,iBACA,cAGJ,CACE,KACA,CACE,eACA,wBACA,aACA,YACA,gBACA,iBACA,YACA,aACA,UACA,UACA,UACA,eACA,YACA,YACA,qBACA,YACA,oBACA,+BACA,cACA,aACA,WACA,YACA,eACA,aACA,SACA,YACA,WACA,yBACA,eACA,YACA,0BACA,aACA,eACA,YACA,aACA,UACA,aACA,6BACA,YACA,aACA,YACA,cACA,uBACA,UACA,UACA,WACA,UACA,QACA,oBACA,gBACA,UACA,YACA,YACA,SACA,SACA,cACA,YACA,SACA,MACA,aACA,sBACA,YACA,SACA,WACA,kBACA,YACA,YACA,wBACA,SACA,UACA,aACA,OACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,QACA,YACA,YACA,eACA,YACA,WACA,aACA,cACA,6BACA,WACA,aACA,YACA,kBACA,iBACA,SACA,OACA,SACA,iBACA,mBACA,gBACA,kBACA,eACA,SACA,WACA,aACA,WACA,SACA,UACA,YACA,iBACA,SACA,oBACA,SACA,WACA,WACA,WACA,WACA,aACA,UACA,aACA,aACA,UACA,WACA,WACA,QACA,YACA,iBACA,YACA,cACA,SACA,YACA,aACA,UACA,SACA,mBACA,cACA,cACA,WACA,aACA,YACA,WACA,aACA,aACA,4BACA,2BACA,iBACA,2BACA,4BACA,kBACA,yBACA,sBACA,iBACA,iBACA,0BACA,iCACA,6BACA,0BACA,6BACA,wBACA,gBACA,UACA,cACA,eACA,aACA,UACA,SACA,cACA,WACA,eACA,wBACA,YACA,aACA,cACA,WACA,gBACA,WACA,UACA,cACA,aACA,YACA,aACA,uBACA,YACA,cACA,+BACA,aAGJ,CACE,KACA,CACE,WACA,kBACA,iBACA,wBACA,uBACA,gBACA,QACA,0BACA,WACA,sBACA,qBACA,qBACA,UACA,oBACA,UACA,6BACA,gBACA,0BACA,uBACA,SACA,wBACA,aACA,UACA,yBACA,uBACA,cACA,gBACA,yBACA,WACA,UACA,YACA,+BACA,qBACA,2BACA,aACA,oBACA,mBACA,oBACA,yBACA,yBACA,oBACA,kCACA,uBACA,0BACA,2BACA,0BACA,cACA,aACA,kBACA,uBACA,kCACA,UACA,0BACA,uBACA,sBACA,aACA,QACA,iBACA,kBACA,WACA,4BACA,yBACA,gCACA,uBACA,WACA,8BACA,kBACA,cACA,UACA,cACA,0BACA,oBACA,mBACA,qBACA,qBACA,mBACA,oBACA,iBACA,cACA,sBACA,qBACA,uBACA,WACA,mBACA,kBACA,mBACA,mBACA,aACA,YACA,aACA,YACA,WACA,mBACA,cACA,SACA,uBACA,mBACA,iBACA,WACA,uBACA,YACA,mBACA,wBACA,YACA,gBACA,gBACA,eACA,qBACA,uBACA,kBACA,SACA,eACA,4BACA,6BACA,oBACA,oBACA,uBACA,eACA,kBACA,gBACA,UACA,mBACA,iBACA,iBACA,yBACA,oBACA,eACA,iBACA,oBACA,gBACA,wBACA,2BACA,2BACA,iCACA,sBACA,wBACA,6BACA,gCACA,kBACA,2BACA,wBACA,SACA,6BACA,eACA,cACA,uBACA,uBACA,aACA,aACA,cACA,cACA,8BACA,oBACA,sBACA,aACA,UACA,WACA,mBACA,QACA,cACA,SACA,aACA,WACA,QACA,2BACA,oBACA,gBACA,gCACA,oBACA,cACA,sBACA,uBACA,yBACA,yBACA,0BACA,iBACA,YACA,sBACA,yBACA,6BACA,gCACA,8BACA,0BACA,8BACA,wCACA,+BACA,mCACA,gCACA,8BACA,8BACA,0BACA,4BACA,4BACA,6BACA,2BACA,0BACA,6BACA,mBACA,iCACA,0BACA,gCACA,2BACA,0BACA,2BACA,yBACA,sBACA,oBACA,oBACA,YACA,sBACA,sBACA,aACA,uBACA,qBACA,WACA,WACA,eACA,yBACA,mBACA,mBACA,cACA,wBACA,gBAGJ,CACE,KACA,CACE,iBACA,aACA,WACA,QACA,8BACA,kBACA,oBACA,cACA,eACA,aACA,0BACA,YACA,uBACA,UACA,wBACA,YACA,YACA,kBACA,QACA,oBACA,4BACA,4BACA,WACA,cACA,kBACA,8BACA,aACA,gBACA,cACA,aACA,SACA,WACA,YACA,WACA,SACA,oBACA,WACA,SACA,UACA,cACA,YACA,SACA,WACA,iBACA,WACA,aACA,eACA,aACA,gBACA,iBACA,YACA,oBACA,SACA,kBACA,gBACA,YACA,WACA,iBACA,aACA,SACA,YACA,cACA,UACA,aACA,YACA,iBACA,iBACA,iBACA,uBACA,+BACA,oBACA,iCACA,oBACA,0BACA,2BACA,2BACA,sCACA,yBACA,8BACA,WACA,YACA,gBACA,eACA,YACA,YACA,iBACA,oBACA,eACA,aACA,YACA,YACA,kBAGJ,CACE,KACA,CACE,QACA,SACA,iBACA,eACA,aACA,gBACA,oBACA,UACA,qBACA,QACA,eACA,UACA,iBACA,kBACA,aACA,YACA,kBACA,UACA,YACA,WACA,sBACA,6BACA,WACA,gBACA,eACA,cACA,yBACA,aACA,iBACA,gBACA,mBACA,yBACA,UACA,gBACA,mBACA,UACA,UACA,oBACA,WACA,gBACA,mBACA,cACA,mBACA,iBACA,WACA,YACA,6BACA,UACA,aACA,gBACA,eACA,UACA,WACA,UACA,eACA,cACA,aACA,oBACA,OACA,oBACA,qBACA,sBACA,oBACA,eACA,mBACA,WACA,YACA,eACA,kBACA,kBACA,aACA,gBACA,QACA,iBACA,cACA,gBACA,aACA,QACA,cACA,mBACA,UACA,eACA,kBACA,YACA,eACA,uBACA,aACA,QACA,oBACA,YACA,2BACA,cACA,YACA,WACA,YACA,WACA,aACA,eACA,WACA,OACA,iBACA,eACA,cACA,gBACA,cACA,gBACA,YACA,iBACA,aACA,kBACA,uBACA,SACA,mBACA,iBACA,iBACA,oBACA,YACA,cACA,oBACA,cACA,aACA,cACA,mBACA,uBACA,mBACA,wBACA,4BACA,kBACA,4BACA,gCACA,2BACA,2BACA,8BACA,8BACA,gBACA,0BACA,0BACA,eACA,gBACA,iBACA,iBACA,2BACA,2BACA,wBACA,eACA,uBACA,WACA,sBACA,iBACA,gBACA,mBACA,QACA,aACA,kBACA,0BACA,QACA,eACA,2BACA,SACA,mBACA,WACA,UACA,YACA,YACA,YACA,YACA,cAGJ,CACE,KACA,CACE,YACA,gBACA,QACA,YACA,UACA,WACA,UACA,gCACA,WACA,cACA,aACA,WACA,kBACA,kBACA,oBACA,aACA,mBACA,cACA,aACA,UACA,iBACA,kBACA,gBACA,mBACA,kBACA,gBACA,cACA,kBACA,WACA,UACA,sBACA,WACA,uBACA,sBACA,cACA,mBACA,qBACA,mBACA,oBACA,cACA,gBACA,2BACA,qBACA,2BACA,yBACA,uBACA,qBACA,mBACA,YACA,mBACA,gBACA,oBACA,0BACA,YACA,SACA,QACA,WACA,WACA,qBACA,UACA,mBACA,eACA,gBACA,aACA,aACA,aACA,UACA,oBACA,qBACA,yBACA,kBACA,YACA,aACA,gBACA,gBACA,sBACA,WACA,SACA,aACA,SACA,kBACA,yBACA,oBACA,sBACA,sBACA,oBACA,aACA,kBACA,WACA,YACA,iBACA,eACA,QACA,WACA,aACA,gBACA,gBACA,UACA,eACA,eACA,sBACA,cACA,UACA,cACA,UACA,WACA,UACA,WACA,WACA,aACA,UACA,WACA,SACA,cACA,iBACA,mBACA,iBACA,iBACA,gBACA,cACA,UACA,aACA,UACA,iBACA,YACA,cACA,kBACA,kBACA,aACA,wBACA,uBACA,iBACA,gCACA,gBACA,gBACA,cACA,4BACA,iBACA,6BACA,iBACA,kBACA,YACA,sBACA,gBACA,iBACA,oBACA,WACA,UACA,YACA,eACA,aACA,YACA,sBACA,WACA,gBACA,oBACA,SACA,UACA,gBACA,uBACA,kBACA,cACA,qBACA,eACA,mBACA,QACA,kBACA,mBACA,kBACA,cACA,cACA,sBACA,uBACA,YACA,YACA,UACA,oBACA,SACA,oBACA,WACA,WACA,UACA,wBACA,iBACA,cACA,UACA,YACA,aACA,yBACA,WACA,SACA,YACA,cACA,cACA,aACA,UACA,eACA,aACA,gBACA,aACA,YACA,UACA,cACA,UACA,YACA,mBACA,cACA,SACA,kBACA,UACA,SACA,YACA,UACA,SACA,QACA,iBACA,WACA,QACA,aACA,aACA,YACA,cACA,UACA,YACA,OACA,UACA,wBACA,sBACA,2BACA,YACA,iBACA,UACA,mBACA,gBACA,mBACA,kBACA,aACA,eACA,aACA,YACA,eACA,aACA,YACA,QACA,kBACA,mBACA,eACA,mBACA,OACA,kBACA,iBACA,gBACA,yBACA,mBACA,cACA,WACA,0BACA,oBACA,aACA,aACA,mBACA,gBACA,eACA,YACA,WACA,mBACA,YACA,kBACA,oBACA,SACA,gBACA,mBACA,eACA,iBACA,kBACA,qBACA,2BACA,aACA,gBACA,aACA,qBACA,aACA,cACA,mBACA,kBACA,gBACA,eACA,gBACA,eACA,kBACA,aACA,YACA,aACA,kBACA,0BACA,aACA,UACA,iBACA,WACA,oBACA,cACA,YACA,aACA,mBACA,cACA,cACA,WACA,eACA,kBACA,cACA,UACA,iBACA,SACA,kBACA,gBACA,sBACA,mBACA,YACA,WACA,WACA,oBACA,YACA,cACA,YACA,eACA,eACA,gBACA,kBACA,eACA,aACA,oBACA,YACA,oBACA,UACA,YACA,mBACA,WACA,qBACA,YACA,UACA,gBACA,oBACA,aACA,YACA,WACA,aACA,gBACA,UACA,UACA,aACA,WACA,iBACA,oBACA,qBACA,mBACA,oBACA,0BACA,kBACA,YACA,0BACA,0BACA,qBACA,oBACA,yBACA,cACA,wBACA,uBACA,wBACA,aACA,eACA,6BACA,WACA,kBACA,+BACA,kCACA,4BACA,+BACA,gBACA,eACA,wBACA,eACA,yBACA,4BACA,4BACA,iBACA,qBACA,2BACA,gCACA,eACA,gCACA,2BACA,iCACA,gCACA,0BACA,yBACA,8BACA,wBACA,kBACA,4BACA,sBACA,gBACA,kBACA,2BACA,+BACA,iBACA,8BACA,wBACA,8BACA,2BACA,sBACA,gCACA,iBACA,kBACA,yBACA,2BACA,mBACA,wBACA,YACA,kBACA,UACA,SACA,YACA,UACA,UACA,wBACA,mBACA,qBACA,WACA,YACA,oBACA,mBACA,uBACA,mBACA,UACA,aACA,WACA,WACA,WACA,SACA,QACA,UACA,UACA,sBACA,UACA,kBACA,iBACA,cACA,WACA,oBACA,SACA,SACA,eACA,cACA,kBACA,qBACA,iBACA,kBACA,qBACA,oBACA,iBACA,kBACA,UACA,YACA,QACA,iBACA,iBACA,UACA,YACA,YACA,YACA,oBACA,YACA,aACA,UACA,cACA,YACA,aACA,SACA,oBACA,YACA,iBACA,oBACA,WACA,YACA,gBACA,gBACA,cACA,kBACA,aACA,mBACA,eACA,wBACA,kBACA,4BACA,eACA,iBAGJ,CACE,KACA,CACE,wBACA,0BACA,kBACA,mBACA,YACA,UACA,SACA,iBACA,SACA,4BACA,qBACA,eACA,aACA,cACA,oBACA,aACA,gBACA,UACA,qBACA,4BACA,mBACA,qBACA,OACA,eACA,qBACA,qBACA,mBACA,cACA,8BACA,iBACA,gBACA,0BACA,sBACA,UACA,gBACA,uBACA,cACA,uBACA,2BACA,aACA,iBACA,sBACA,wBACA,iCACA,8BACA,eACA,mBACA,YACA,WACA,gBACA,qBACA,YAGJ,CACE,KACA,CACE,cACA,UACA,YACA,SACA,WACA,eACA,UACA,UACA,aACA,YACA,YACA,kBACA,2BACA,cACA,gBAGJ,CACE,KACA,CACE,gBACA,eACA,gBACA,gBACA,eACA,yBACA,iBACA,kBACA,iBACA,kBACA,WACA,WACA,kBACA,gBACA,oBACA,YACA,aACA,WACA,eACA,aACA,gBACA,WACA,UACA,WACA,SACA,+BACA,4BACA,2BACA,uBACA,cACA,eACA,cACA,sBACA,WACA,gBACA,aACA,WACA,iBACA,YACA,sBACA,YACA,qBACA,aACA,cACA,oBACA,uBACA,gBACA,UACA,aACA,QACA,SACA,cACA,eACA,oBACA,eACA,eACA,YACA,YACA,gBACA,WACA,oBACA,aACA,iBACA,cACA,cACA,yBACA,aACA,eACA,eACA,mBACA,kBACA,kBACA,gBACA,YACA,cACA,gBACA,cACA,cACA,WACA,wBACA,YACA,kBACA,aACA,OACA,cACA,qBACA,oBACA,mBACA,iBACA,eACA,YACA,kBACA,YACA,WACA,SACA,SACA,yBACA,kBACA,WACA,YACA,aACA,aACA,oBACA,cACA,iBACA,QACA,aACA,UACA,WACA,SACA,YACA,WACA,SACA,UACA,YACA,QACA,oBACA,YACA,WACA,aACA,QACA,QACA,iBACA,SACA,gBACA,YACA,UACA,aACA,YACA,aACA,YACA,kBACA,YACA,oBACA,kBACA,aACA,YACA,kBACA,WACA,kBACA,QACA,SACA,iBACA,aACA,eACA,iBACA,gBACA,oBACA,UACA,aACA,UACA,WACA,QACA,gBACA,eACA,cACA,YACA,SACA,eACA,cACA,UACA,aACA,SACA,YACA,cACA,gBACA,qBACA,eACA,aACA,eACA,iBACA,cACA,cACA,iBACA,UACA,oBACA,OACA,aACA,QACA,SACA,aACA,aACA,WACA,WACA,YACA,aACA,kBACA,cACA,cACA,iBACA,QACA,WACA,iBACA,cACA,cACA,iBACA,WACA,kBACA,WACA,aACA,sBACA,gBACA,aACA,iBACA,gBACA,eACA,4BACA,wBACA,mBACA,WACA,WACA,kBACA,gBACA,eACA,eACA,iBACA,aACA,cACA,eACA,aACA,UACA,SACA,gBACA,SACA,WACA,eACA,YACA,mBACA,eACA,qBACA,oBACA,kBACA,+BACA,kBACA,4BACA,sBACA,oBACA,sBACA,gBACA,6BACA,kBACA,0BACA,yBACA,gCACA,0BACA,wBACA,iBACA,iBACA,0BACA,4BACA,8BACA,iBACA,kBACA,6BACA,yBACA,+BACA,WACA,YACA,QACA,aACA,iBACA,UACA,aACA,UACA,aACA,YACA,UACA,kBACA,WACA,kBACA,iBACA,UACA,gBACA,kBACA,mBACA,aACA,eACA,QACA,oBACA,UACA,UACA,YACA,aACA,SACA,gBACA,cACA,UACA,iBACA,YACA,aACA,YACA,QACA,cAGJ,CACE,KACA,CACE,aACA,SACA,WACA,oBACA,yBACA,+BACA,2BACA,SACA,WACA,oBACA,SACA,iBACA,cACA,cACA,sBACA,qBACA,wBACA,iBACA,YACA,yBACA,uBACA,SACA,eACA,YACA,WACA,UACA,UACA,YACA,oBACA,WACA,kBACA,eACA,wBACA,UACA,SACA,YACA,aACA,SACA,eACA,UACA,SACA,gBACA,WACA,iBACA,WACA,aACA,QACA,UACA,YACA,UACA,cACA,WACA,eACA,WACA,aACA,UACA,uBACA,UACA,SACA,eACA,qBACA,iBACA,WACA,WACA,UACA,SACA,WACA,QACA,YACA,iBACA,uBACA,WACA,QACA,UACA,iBACA,0BACA,UACA,SACA,UACA,2BACA,4BACA,UACA,cACA,YACA,SACA,WACA,uBACA,YACA,eACA,eACA,SACA,OACA,WACA,YACA,uBACA,cACA,cACA,qBACA,UACA,gBACA,SACA,WACA,WACA,UACA,SACA,SACA,SACA,0BACA,WACA,uBACA,sBACA,wBACA,cACA,QACA,kBACA,uBACA,UACA,kBACA,iBACA,WACA,gBACA,iBACA,UACA,cACA,0BACA,WACA,YACA,aACA,SACA,qBACA,YACA,mBACA,aACA,YACA,aACA,SACA,cACA,UACA,UACA,mBACA,WACA,iBACA,gBACA,gBACA,YACA,QACA,YACA,oBACA,cACA,WACA,aACA,QACA,aACA,UACA,aACA,kBACA,UACA,mBACA,kBACA,UACA,UACA,WACA,SACA,cACA,WACA,eACA,eACA,aACA,OACA,gBACA,mBACA,oBACA,8BACA,6BACA,eACA,kBACA,mBACA,6BACA,UACA,mBACA,mBACA,YACA,wBACA,aACA,UACA,sBACA,cACA,SACA,mBACA,kBACA,mBACA,WACA,WACA,oBACA,oBACA,kBACA,WACA,cACA,cACA,aACA,YACA,cACA,WACA,WACA,iBACA,UACA,kBACA,cACA,aACA,YACA,mBACA,YACA,UACA,aACA,YACA,eACA,gBACA,iBACA,WACA,iBACA,UACA,QACA,QACA,WACA,WACA,YACA,WACA,YACA,UACA,UACA,yBACA,YACA,aACA,SACA,WACA,gBACA,gBACA,aACA,UACA,eACA,qBACA,YACA,WACA,YACA,YACA,WACA,UACA,kBACA,YACA,UACA,aACA,UACA,UACA,QACA,cACA,YACA,uBACA,eACA,UACA,UACA,UACA,yBACA,cACA,aACA,YACA,UACA,kBACA,aACA,UACA,UACA,WACA,YACA,cACA,QACA,MACA,UACA,YACA,YACA,cACA,aACA,OACA,cACA,gBACA,QACA,WACA,UACA,kBACA,SACA,SACA,YACA,gBACA,kBACA,uBACA,oBACA,UACA,aACA,oBACA,YACA,YACA,WACA,oBACA,aACA,YACA,OACA,yBACA,UACA,aACA,OACA,SACA,UACA,WACA,aACA,kBACA,qBACA,eACA,cACA,aACA,WACA,WACA,eACA,QACA,YACA,eACA,UACA,qBACA,aACA,YACA,gBACA,aACA,iBACA,kBACA,WACA,UACA,cACA,YACA,eACA,kBACA,uBACA,WACA,eACA,kBACA,0BACA,WACA,mBACA,SACA,kBACA,gBACA,aACA,UACA,gBACA,cACA,sBACA,aACA,qBACA,sBACA,gBACA,kBACA,YACA,cACA,YACA,SACA,mBACA,SACA,YACA,sBACA,qBACA,iBACA,YACA,WACA,kBACA,eACA,yBACA,gBACA,cACA,eACA,oBACA,wBACA,SACA,oBACA,cACA,iBACA,YACA,YACA,UACA,aACA,aACA,UACA,eACA,cACA,SACA,iBACA,eACA,WACA,WACA,aACA,WACA,YACA,oBACA,mBACA,WACA,WACA,wBACA,YACA,aACA,eACA,eACA,aACA,WACA,mBACA,SACA,yBACA,eACA,cACA,iBACA,iBACA,cACA,aACA,kBACA,aACA,WACA,qBACA,kBACA,eACA,kBACA,WACA,aACA,UACA,UACA,eACA,kBACA,YACA,cACA,YACA,UACA,WACA,aACA,SACA,aACA,UACA,wBACA,cACA,eACA,cACA,eACA,WACA,UACA,SACA,SACA,aACA,YACA,SACA,aACA,gBACA,WACA,YACA,cACA,iBACA,QACA,cACA,WACA,gBACA,eACA,cACA,mBACA,uBACA,yBACA,sBACA,uBACA,eACA,SACA,WACA,UACA,SACA,WACA,SACA,YACA,0BACA,mBACA,iBACA,WACA,WACA,UACA,qBACA,qBACA,uBACA,4BACA,qBACA,qBACA,oBACA,oBACA,UACA,YACA,eACA,YACA,iBACA,sBACA,eACA,WACA,SACA,UACA,cACA,cACA,SACA,SACA,QACA,iBACA,iBACA,eACA,WACA,QACA,oBACA,eACA,cACA,kBACA,kBACA,2BACA,eACA,sBACA,gCACA,6BACA,2BACA,0BACA,kBACA,qBACA,kBACA,eACA,iBACA,uBACA,iBACA,yBACA,yBACA,qBACA,6BACA,wBACA,eACA,qBACA,iBACA,8BACA,4BACA,mCACA,6BACA,6BACA,iBACA,8BACA,SACA,6BACA,2BACA,wBACA,gBACA,mBACA,8BACA,iCACA,4BACA,+BACA,0BACA,+BACA,6BACA,8BACA,8BACA,4BACA,8BACA,+BACA,gBACA,wBACA,eACA,eACA,wBACA,eACA,sBACA,+BACA,kBACA,iBACA,aACA,cACA,4BACA,aACA,UACA,cACA,iBACA,cACA,eACA,YACA,UACA,WACA,eACA,YACA,iBACA,SACA,aACA,YACA,qBACA,SACA,YACA,YACA,YACA,YACA,SACA,aACA,aACA,WACA,eACA,cACA,gBACA,UACA,YACA,WACA,aACA,YACA,kBACA,aACA,WACA,UACA,iBACA,WACA,UACA,cACA,qBACA,SACA,UACA,gBACA,aACA,YACA,UACA,UACA,YACA,QACA,oBACA,YACA,MACA,YACA,kBACA,WACA,gBACA,SACA,uBACA,yBACA,qBACA,YACA,UACA,YACA,uBACA,oBACA,aACA,cACA,aAGJ,CACE,KACA,CACE,6BACA,cACA,UACA,WACA,eACA,sBACA,SACA,eACA,iBACA,UACA,iCACA,SACA,SACA,gBACA,0BACA,mBACA,QACA,iBACA,cACA,aACA,aACA,SACA,kBACA,iBACA,kBACA,YACA,YACA,eACA,QACA,qBACA,aACA,aACA,UACA,cACA,YACA,mBACA,WACA,SACA,eACA,0BACA,WACA,cACA,0BACA,6BACA,0BACA,2BACA,2BACA,WACA,aACA,YACA,YACA,UACA,kBACA,gBACA,iBACA,aACA,uBACA,YACA,kBACA,uBACA,UACA,wBACA,8BACA,qBACA,yBACA,yBACA,kBACA,mBACA,0BACA,gBACA,SACA,QACA,iBACA,gBACA,eAGJ,CACE,KACA,CACE,iBACA,mBACA,0BACA,QACA,WACA,YACA,SACA,yBACA,aACA,aACA,cACA,eACA,cACA,aACA,WACA,UACA,oBACA,sBACA,wBACA,qBACA,4BACA,gBACA,iBACA,oBACA,yBACA,8BACA,wBACA,sBACA,eACA,gBACA,sBACA,iBACA,kBACA,UACA,gBACA,wBACA,mBACA,uBACA,aACA,YACA,+BACA,wBACA,kBACA,yBACA,kBACA,gBACA,8BACA,8BACA,WACA,cACA,YACA,mBACA,gBACA,sBACA,0BACA,YACA,WACA,YACA,SACA,WACA,aACA,aACA,cACA,0BACA,sBACA,UACA,uBACA,qBACA,UACA,aACA,UACA,iBACA,+BACA,WACA,8BACA,wBACA,YACA,iBACA,2BACA,kBACA,aACA,YACA,cACA,qBACA,cACA,cACA,cACA,wBACA,SACA,cACA,yBACA,mBACA,0BACA,YACA,aACA,eACA,QACA,aACA,yBACA,aACA,OACA,0BACA,0BACA,4BACA,iBACA,cACA,qBACA,SACA,mBACA,YACA,yBACA,eACA,WACA,UACA,iBACA,0BACA,2BACA,0BACA,0BACA,4BACA,+BACA,4BACA,+BACA,6BACA,+BACA,mCACA,kCACA,kBACA,6BACA,WACA,aACA,sBACA,aACA,gBACA,oBACA,WACA,aACA,kBACA,gBAKNxN,IAAIyG,GACF,MAAMiS,EAAQ/a,KAAK0uF,QAAQ/8F,QAAQmX,GACnC,OAAa,GAATiS,EACK/a,KAAK6P,QAAQkL,GAAO,GAEpB,EAEX,4CAvmLW0zE,EAAa,iCAAbA,EAAanuF,QAAbmuF,EAAaluF,UAAAC,WAFZ,gBAEDiuF,CAAa,yGCanB,IAAME,EAA4B,MAAnC,MAAOA,UAAoClvF,KAMZC,YACzBsnB,eACArf,oBAPDhI,MAAQ,iCACjBC,OAEAC,YACEC,EACiCJ,EACzBsnB,EACArf,GAER5H,MAAMD,EAAMJ,GAJqBM,KAAAN,cACzBM,KAAAgnB,iBACAhnB,KAAA2H,sBAGR3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","names":["AlunoDeficiencia","INTELECTUAL","SENSORIAL","FISICA","MULTIPLA","AUDITIVA","MENTAL","VISUAL","AlunoGenero","HOMEM_CIS","HOMEM_TRANS","MULHER_CIS","MULHER_TRANS","NAO_BINARIO","TRAVESTI","ConceitoAlunoDisciplina","INDEFINIDO","APROVADO","REPROVADO","APROVEITAMENTE_DE_CREDITO","CursoEdicaoRelatorio","FICHA_INSCRICAO","ATESTADO_MATRICULA","ATESTADO_CONCLUSAO","HISTORICO_ESCOLAR","CERTIFICADO","CERTIFICADO_PDF","CursoEdicaoRelatorioDisponivelParaEmissao","ESCOLHA_MODULO_CANDIDATO","getCursoEdicaoRelatorioValueByKey","value","Object","entries","find","key","CursoEdicaoSituacao","ELABORACAO","ANALISE_PROPEG","DILIGENCIA_PROPEG","ANALISE_CEPG","DILIGENCIA_CEPG","ANALISE_CCPG","ANDAMENTO","SUSPENSO","CANCELADO","RELATORIO_FINAL","DILIGENCIA","CONCLUIDO","CursoEdicaoSituacaoExclusivaCepg","LISTAGEM_CEPG","CursoEdicaoSituacaoPermiteAvaliacao","CursoEdicaoSituacaoPermiteRelatorio","getCursoEdicaoSituacaoByDescription","indexOfS","values","indexOf","keys","getCursoEdicaoSituacaoValueByKey","EstadoCivil","Solteiro","Casado","Divorciado","Separado","Estado","AC","AL","AP","AM","BA","CE","DF","ES","GO","MA","MT","MS","MG","PA","PB","PR","PE","PI","RJ","RN","RS","RO","RR","SC","SP","SE","TO","InscricaoSituacao","Inscrito","Matriculado","Formado","Reprovado","Desligado","InscricaoSituacaoParaPreInscrito","InscricaoSituacaoParaInscrito","InscricaoSituacaoParaMatriculado","InscricaoSituacaoParaFormado","InscricaoSituacaoParaReprovado","InscricaoSituacaoParaDesligado","LogTipoAcao","LOGIN","GET","INSERT","UPDATE","DELETE","NOTIFY","LogRegistroAcao","ALUNO","ALUNO_EDICAO","ALUNO_SITUACAO","ANALISE_FINANCEIRA","AREA_CONHECIMENTO","AVALIACAO_PARCIAL_DISCENTE","AVALIACAO_FINAL_DISCENTE","CENTRAL_ACESSOS","CURSO","CURSO_EDICAO","CURSO_EDICAO_ANALISE_PROPEG","CURSO_EDICAO_DILIGENCIA_PROPEG","CURSO_EDICAO_ANALISE_PROPG","CURSO_EDICAO_ANALISE_CEPG","CURSO_EDICAO_DILIGENCIA_CEPG","CURSO_EDICAO_ANALISE_CCPG","CURSO_EDICAO_ANDAMENTO","CURSO_EDICAO_SUSPENSO","CURSO_EDICAO_CANCELADO","CURSO_EDICAO_RELATORIO_FINAL","CURSO_EDICAO_DILIGENCIA","DISCIPLINA","DOCENTE","DOCENTE_DISCIPLINA_VINCULO","DOCENTE_EXTERNO","DOCUMENTO_GERADO_ALUNO","ENFASE_MODULO","FORMULARIO_COMPLEMENTAR","IMPORTACAO_ALUNO_EDICAO","IMPORTACAO_ALUNO_DISCIPLINA","IMPORTACAO_ALUNO_MONOGRAFIA","INSCRICAO","MODALIDADE","MONOGRAFIA","NOTA_FALTA","PARECER_412011","PARECER_902019","RECUPERAR_SENHA","RELATORIO_PARCIAL_COORDENADOR","RELATORIO_FINAL_COORDENADOR","RESOLUCAO","SENHA_ACESSO","TIPO_ESPECIFICIDADE","USUARIO_EXTERNO","ModeloCertificado","ASSINATURA_PROREITOR","ASSINATURA_COORDENADOR_DIRETOR_PROREITOR","OrgaoExpedicaoRg","SSP","SSPDC","SSPDS","DETRAN","DPTC","GEJSPC","SDS","SECC","SEJUSP","SEPC","SESP","SESDEC","SESPDS","SESPAP","SPTC","PM","PC","CNT","DIC","CTPS","FGTS","IFP","IPF","IML","MTE","MMA","MAE","MEX","POF","POM","SES","SJS","SJTS","ZZZ","Pais","Alemanha","Andorra","Angola","Argentina","Austria","Bahamas","Bahrein","Bangladesh","Barbados","Belize","Benin","Botsuana","Brasil","Brunei","Burundi","Camboja","Catar","Chade","Chile","China","Chipre","Comores","Congo","Cuba","Dinamarca","Djibuti","Dominica","Egito","Equador","Eritreia","Espanha","Fiji","Filipinas","Gana","Granada","Guatemala","Guiana","Haiti","Holanda","Honduras","Hungria","India","Iraque","Irlanda","Israel","Jamaica","Kuwait","Laos","Lesoto","Liechtenstein","Luxemburgo","Madagascar","Malawi","Maldivas","Mali","Malta","Marrocos","Mianmar","Montenegro","Nauru","Nepal","Noruega","Palau","Paraguai","Peru","Portugal","Ruanda","Samoa","Senegal","Seychelles","Singapura","Suriname","Taiwan","Togo","Tonga","Turquia","Tuvalu","Uganda","Uruguai","Vanuatu","Vaticano","Venezuela","AlunoService","UnespCoreGenericService","environment","ROUTE","client","constructor","http","super","this","getAluno","id","findById","i0","i1","factory","ɵfac","providedIn","SenhaAlterarComponent","userLoginService","unespCoreMessageService","router","alunoService","aluno","senhaPattern","breadcrumbs","label","route","icon","form","FormGroup","senhaAtual","FormControl","Validators","required","novaSenha","pattern","novaSenhaConfirmacao","user$","subscribe","user","idUsuario","obj","applyTouchedToInvalidFields","name","controls","get","invalid","markAsTouched","alterar","valid","showMessageError","jsonData","email","senhaNova","senhaAlterar","resultado","showMessageSuccess","reset","navigate","i2","i3","i4","selectors","decls","vars","consts","template","rf","ctx","row_r1","nomeCurso","numeroEdicao","row_r2","dataInicialInscricao","dataFinalInscricao","row_r3","status","_r4","row_r5","$implicit","ctx_r5","editar","InscricaoListarComponent_td_15_button_2_Template","periodoInscricao","InscricaoListarComponent","edicaoAlunoService","usuario","showAlerta$","BehaviorSubject","paginator","sort","colunasGrid","dataSource","MatTableDataSource","totalElements","ngOnInit","ngAfterViewInit","page","pipe","setTimeout","reloadTable","tap","listarIncricoesCandidato","cpf","pageParams","data","content","filter","r","dataConclusaoInscricao","length","next","pageIndex","pageSize","viewQuery","MatPaginator","MatSort","InscricaoListarComponent_div_1_Template","InscricaoListarComponent_th_5_Template","InscricaoListarComponent_td_6_Template","InscricaoListarComponent_th_8_Template","InscricaoListarComponent_td_9_Template","InscricaoListarComponent_th_11_Template","InscricaoListarComponent_td_12_Template","InscricaoListarComponent_th_14_Template","InscricaoListarComponent_td_15_Template","InscricaoListarComponent_tr_16_Template","InscricaoListarComponent_tr_17_Template","InscricaoListarComponent_tr_18_Template","_c0","AlunoEdicaoPreferenciaEnfaseServiceTsService","errorHandlerService","PUBLIC","getPreferenciaByAlunoEdicao","alunoEdicaoId","ctx_r1","cursoNome","edicao","genero_r3","type_r4","deficiencia_r5","type_r7","type_r8","$event","_r6","permiteApenasAlfanumericoComPontoHifen","save","InscricaoFichaEditarComponent_div_69_mat_option_10_Template","InscricaoFichaEditarComponent_div_69_mat_option_17_Template","orgaoExpedicaoRg","estado","_r9","_r10","type_r12","_r11","selecionaEstadoNaturalidade","naturalidade","patchValue","InscricaoFichaEditarComponent_mat_form_field_73_mat_option_5_Template","type_r14","_r13","InscricaoFichaEditarComponent_mat_form_field_74_mat_option_4_Template","paises","cidade_r16","_r15","filtroAutocomplete","InscricaoFichaEditarComponent_mat_form_field_75_mat_option_6_Template","auto_r17","cidadesFiltered","_r18","type_r19","_r20","type_r22","_r21","selecionaEstadoInstituicao","cidadeEscola","InscricaoFichaEditarComponent_mat_form_field_177_mat_option_5_Template","cidade_r24","_r23","InscricaoFichaEditarComponent_mat_form_field_178_mat_option_6_Template","auto_r25","_r26","_r27","selecionarModulo","selecionadosPreviamente","form_r28","nome","opcao_r29","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_4_mat_option_5_Template","opcoes","split","opcao_r30","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_5_mat_option_4_Template","_c3","tmp_8_0","formFC","i_r32","toString","touched","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_1_Template","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_2_Template","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_3_Template","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_4_Template","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_5_Template","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_6_Template","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Case_7_Template","tipoCampo","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_div_3_Template","InscricaoFichaEditarComponent_mat_tab_185_Conditional_1_Template","InscricaoFichaEditarComponent_mat_tab_185_Conditional_2_Template","i_r34","documento_r33","isObrigatorio","nomeDocumento","getDocumentoFormByIndex","InscricaoFichaEditarComponent_mat_tab_186_div_3_Template","formDC","documentosCursoEdicao","_r35","gravar","concluir","_r36","_r37","_r38","InscricaoFichaEditarComponent_div_194_Conditional_2_button_0_Template","InscricaoFichaEditarComponent_div_194_Conditional_2_button_1_Template","InscricaoFichaEditarComponent_div_194_Conditional_2_button_2_Template","selectedTabIndex","_r39","_r40","_r41","_r42","InscricaoFichaEditarComponent_div_194_Conditional_3_button_0_Template","InscricaoFichaEditarComponent_div_194_Conditional_3_button_1_Template","InscricaoFichaEditarComponent_div_194_Conditional_3_button_2_Template","InscricaoFichaEditarComponent_div_194_Conditional_3_button_3_Template","InscricaoFichaEditarComponent_div_194_Conditional_1_Template","InscricaoFichaEditarComponent_div_194_Conditional_2_Template","InscricaoFichaEditarComponent_div_194_Conditional_3_Template","sumTab","InscricaoFichaEditarComponent_ng_template_195_Conditional_3_Template","InscricaoFichaEditarComponent_ng_template_195_Conditional_4_Template","routes","path","component","canActivate","UnespCoreAuthGuardService","allowedRoles","roles","CANDIDATO","InscricaoFichaEditarComponent","alunoEdicaoEnfasePreferenciaService","cursoService","localStorageService","cidadeService","validacaoService","dataService","fb","dialog","dialogGravar","dialogConcluir","cidades","cidadesInstituicao","estadosCivisEnum","estadosCivis","generos","deficiencias","possuiNomeSocial","rgPattern","lattesPattern","permiteIndicacaoPreferencia","moduloEscolhido","codigoCurso","estrangeiro","passaporte","nomeSocial","rgNumero","rgOrgao","rgUfExpedicao","dataExpedicaoRg","tituloEleitor","tituloEleitorZona","tituloEleitorSecao","dataExpedicaoTituloEleitor","reservistaNumero","reservistaCsm","paisNaturalidade","uf","nacionalidade","dataNascimento","validaDataNascimentoValidator","sexo","genero","estadoCivil","deficiencia","nomePai","nomeMae","lattes","naoPossuiLattes","enderecoRua","enderecoNumero","enderecoComplemento","enderecoBairro","enderecoCidade","enderecoEstado","enderecoCep","contatoTelefoneResidencial","contatoTelefoneEmpresarial","contatoTelefoneCelular","instituicaoEnsinoSuperior","instituicaoEstrangeira","ufEscola","paisEscola","dataConclusao","cursoId","inscricaoConcluida","setValue","n","push","params","getEdicaoAluno","disable","map","m","enfaseModuloId","cpfAluno","setValidators","updateValueAndValidity","toUpperCase","stringUsToStringBr","toggleInstituicaoEstrangeira","validaCEP","getNomePublico","toggleEstrangeiro","togglePossuiLattes","togglePossuiNomeSocial","getOtherData","getDocumentosAlunos","mergeMap","forEach","doc","documentoFC","ArquivoSelecionado","validators","arquivoUploadValidator","setNameAndSize","documentosAlunos","group","idAlunoEdicao","cursoEdicaoDocumentoInscricaoId","idCursoEdicaoDocumentoInscricao","dataHoraEnvio","getDocumentos","documentosInscricao","cursoEdicaoId","docAluno","campos","clear","getFormularioComplementarAlunos","fc","ativo","campoFormGroup","cefcId","obrigatorio","aefcId","resposta","getResposta","addValidators","checkboxObrigatorioValidator","dataValidator","getRawValue","set","clearValidators","enable","formataCEP","replace","validaCertificadoMilitar","applyTouchedToInvalidFields1","startsWith","dateIsValid","setErrors","incorrect","tabIndex","applyTouchedToInvalidFields2","parcial","_this","_asyncToGenerator","formControlObject","formulario","alunoEdicaoEnfasePreferencia","stringBrToStringUs","includes","Promise","resolve","reject","atualizarFichaCandidato","_ref","arquivoUpload","updateFormularioComplementar","open","_x","apply","arguments","err","_this2","afterClosed","_ref2","result","concluirInscricao","_","error","message","_x2","fechar","dirty","confirmDialog","UnespConfirmDialogModel","UnespConfirmDialogComponent","res","formControlName","valueChanges","startWith","_filtroAutocompleteNaturalidade","_filtroAutocompleteCidadeInstituicao","valorDigitado","cidade","normalize","RegExp","toLowerCase","event","permiteApenasNumeros","FormArray","arquivoDocumentoUpload","i","_this3","uploadTasks","toArray","_ref3","documentoAtual","index","uploadPath","ArquivoStatus","SELECIONADO","upload","_x3","_x4","all","c","Array","isArray","join","atualizarFormularioComplementar","markAllAsTouched","i5","i6","i7","i8","i9","i10","i11","InscricaoFichaEditarComponent_mat_card_content_2_Template","InscricaoFichaEditarComponent_div_3_Template","InscricaoFichaEditarComponent_div_4_Template","_r1","InscricaoFichaEditarComponent_mat_form_field_16_Template","InscricaoFichaEditarComponent_mat_form_field_17_Template","InscricaoFichaEditarComponent_div_34_Template","InscricaoFichaEditarComponent_mat_option_54_Template","InscricaoFichaEditarComponent_mat_option_61_Template","InscricaoFichaEditarComponent_mat_option_67_Template","InscricaoFichaEditarComponent_div_69_Template","InscricaoFichaEditarComponent_div_70_Template","InscricaoFichaEditarComponent_Conditional_71_Template","InscricaoFichaEditarComponent_mat_form_field_73_Template","InscricaoFichaEditarComponent_mat_form_field_74_Template","InscricaoFichaEditarComponent_mat_form_field_75_Template","InscricaoFichaEditarComponent_mat_form_field_76_Template","InscricaoFichaEditarComponent_mat_option_134_Template","InscricaoFichaEditarComponent_mat_form_field_176_Template","InscricaoFichaEditarComponent_mat_form_field_177_Template","InscricaoFichaEditarComponent_mat_form_field_178_Template","InscricaoFichaEditarComponent_mat_form_field_179_Template","InscricaoFichaEditarComponent_fieldset_184_Template","InscricaoFichaEditarComponent_mat_tab_185_Template","InscricaoFichaEditarComponent_mat_tab_186_Template","InscricaoFichaEditarComponent_div_194_Template","InscricaoFichaEditarComponent_ng_template_195_Template","InscricaoFichaEditarComponent_ng_template_197_Template","CandidatoRoutingModule","RouterModule","forChild","CandidatoModule","provideNgxMask","imports","CommonModule","DragDropModule","MatCardModule","MatButtonModule","UnespCoreMessageModule","UnespTableModule","MatIconModule","MatSelectModule","ReactiveFormsModule","MatFormFieldModule","MatInputModule","MatAutocompleteModule","MatChipsModule","MatExpansionModule","MatSlideToggleModule","MatPaginatorModule","MatTableModule","FlexLayoutModule","MatTabsModule","MatCheckboxModule","MatDialogModule","ArquivoUploadModule","CabecalhoComponent","UnespBreadcrumbModule","AnaliseHistoricoEditarComponent","analiseHistoricoService","tipo","perfilAcesso","preSave","EventEmitter","situacao","mensagem","iniciaFormulario","success","trim","cursoForm","emit","inputs","outputs","standalone","features","AnaliseHistoricoEditarComponent_mat_form_field_1_Template","AnaliseHistoricoEditarComponent_span_9_Template","AnaliseHistoricoEditarComponent_span_10_Template","AnaliseHistoricoListarComponent","arquivoDownloadService","reload","tabela","tableConfig","listaHabilitada$","inclusaoHabilitada$","columns","dataHora","title","type","pageSizeOptions","loadData","p","listar","reloadInput","loadTableData","verificaInclusaoHabilitada","downloadDocumentoResultadoDaAnalise","pdfResultadoDaAnalisePROPEG","pdfParecerResolucao902019ByCursoEdicaoId","pdfResultadoDaAnaliseCEPG","UnespTableComponent","AnaliseHistoricoListarComponent_div_5_Template","ArquivoUploadService","enviar","file","create","_r2","ctx_r2","download","fileInput_r5","click","_c2","disabled","VAZIO","ENVIANDO","ENVIADO","SALVO","ERRO","uuid","size","setFile","removeFile","control","arquivo","upload_error","uploading","ArquivoUploadComponent","arquivoUploadService","downloadService","tip","accept","autoUpload","usarArquivoViewer","appendData","fileInput","registerOnDisabledChange","isDisabled","validator","upload_async","formData","FormData","append","promise","assign","arquivoNome","HttpErrorResponse","mensagemUsuario","console","selecionaArquivo","e","target","files","item","markAsDirty","nativeElement","fileSelectorClick","abrirArquivoViewer","arquivoDownload","fileName","pop","arquivoObjectURLPorPath","url","ArquivoViewerDialogComponent","tituloDoArquivo","urlDoArquivo","width","height","ArquivoUploadComponent_mat_icon_7_Template","ArquivoUploadComponent_mat_icon_8_Template","_c1","dialogRef","platform","messageService","iframe","isMobile","ANDROID","IOS","isMobileResolution","window","innerWidth","minWidthForMobile","src","downloadLink","document","createElement","setAttribute","concat","href","body","appendChild","remove","close","MAT_DIALOG_DATA","MatCardContent","MatCard","styles","nomeDisciplina","sigla","row_r4","tipoModulo","EdicaoDisciplinaListarComponent_ng_container_17_th_1_Template","EdicaoDisciplinaListarComponent_ng_container_17_td_2_Template","anoDisciplina","tmp_4_0","row_r6","semestreDisciplina","undefined","EdicaoDisciplinaListarComponent_td_23_Conditional_1_Template","EdicaoDisciplinaListarComponent_td_23_Conditional_2_Template","row_r8","_r7","ctx_r8","selecionar","EdicaoDisciplinaListarComponent","edicaoDisciplinaService","unespCoreAuthService","pesquisa","cacheSearch","cursoEdicao","cursoEdicaoPossuiEnfase","possuiEnfase","pesquisar","fromEvent","debounceTime","distinctUntilChanged","sortData","listarDisciplinasPorDocenteDisciplina","direction","orderBy","active","sortDirection","getEdicaoDisciplinaPorDocente","cancelar","isReadOnly","hasPermissionBasedRoles","EdicaoDisciplinaListarComponent_th_12_Template","EdicaoDisciplinaListarComponent_td_13_Template","EdicaoDisciplinaListarComponent_th_15_Template","EdicaoDisciplinaListarComponent_td_16_Template","EdicaoDisciplinaListarComponent_ng_container_17_Template","EdicaoDisciplinaListarComponent_th_19_Template","EdicaoDisciplinaListarComponent_td_20_Template","EdicaoDisciplinaListarComponent_th_22_Template","EdicaoDisciplinaListarComponent_td_23_Template","EdicaoDisciplinaListarComponent_th_25_Template","EdicaoDisciplinaListarComponent_td_26_Template","EdicaoDisciplinaListarComponent_tr_27_Template","EdicaoDisciplinaListarComponent_tr_28_Template","EdicaoDisciplinaListarComponent_tr_29_Template","DocenteDisciplinaIndividualService","baseUrl","baseUrlApi","pagination","HttpParams","fromObject","fetchPagination","catchError","showMessagesGroupByType","UnespCoreMessageType","ERROR","of","gerarArquivoCsv","headers","HttpHeaders","responseType","observe","identity","URL","createObjectURL","revokeObjectURL","campus","row_r7","nomeCoordenador","dataInicialCurso","row_r9","dataFinalCurso","row_r10","row_r12","ctx_r12","disciplinaDocente","notasFaltas","presenca","atestadoDisciplinas","menu_r14","DocenteCursosListarComponent","docenteDiscplinaIndividualService","edicaoDocenteRelatoriosService","filtroSituacao","filtroSituacaoSelecionado","filtroSituacaoCache","situacoes","situacoesPrevias","dadosUsuarioLogado","getFiltroSituacaoDefaultOrCachedValue","d","exportar","panelClass","usuarioLogado","getDadosUsuarioLogado","getAtestadoDisciplinasPorDocente","nomeUsuario","DocenteCursosListarComponent_mat_option_23_Template","DocenteCursosListarComponent_th_27_Template","DocenteCursosListarComponent_td_28_Template","DocenteCursosListarComponent_th_30_Template","DocenteCursosListarComponent_td_31_Template","DocenteCursosListarComponent_th_33_Template","DocenteCursosListarComponent_td_34_Template","DocenteCursosListarComponent_th_36_Template","DocenteCursosListarComponent_td_37_Template","DocenteCursosListarComponent_th_39_Template","DocenteCursosListarComponent_td_40_Template","DocenteCursosListarComponent_th_42_Template","DocenteCursosListarComponent_td_43_Template","DocenteCursosListarComponent_th_45_Template","DocenteCursosListarComponent_td_46_Template","DocenteCursosListarComponent_th_48_Template","DocenteCursosListarComponent_td_49_Template","DocenteCursosListarComponent_th_51_Template","DocenteCursosListarComponent_td_52_Template","DocenteCursosListarComponent_tr_53_Template","DocenteCursosListarComponent_tr_54_Template","DocenteCursosListarComponent_tr_55_Template","disciplina_r2","ListaPresencaListarComponent","edicaoAlunoRelatoriosService","disciplinas","disciplinaId","Date","getCurso","listarPorDocenteDisciplina","gerar","getListaDePresencaDoCursoPorDocenteDisciplina","ListaPresencaListarComponent_mat_option_8_Template","pickerData_r3","ctx_r0","enfaseNome","nomeAluno","_r5","nota","i_r7","notaBlur","classNota","_r8","frequencia","i_r10","frequenciaBlur","classFrequencia","conceito_r13","conceito","NotasFaltasListarEditarComponent_td_30_mat_option_3_Template","conceitos","_r14","NotasFaltasListarEditarComponent","alunoDisciplinaService","exportarCSVService","disciplinaNome","enfase","element","replaceAll","erros","f","getNotaClass","Number","parseFloat","getFrequenciaClass","valor","isNaN","row","NotasFaltasListarEditarComponent_span_5_Template","NotasFaltasListarEditarComponent_th_14_Template","NotasFaltasListarEditarComponent_td_15_Template","NotasFaltasListarEditarComponent_th_17_Template","NotasFaltasListarEditarComponent_td_18_Template","NotasFaltasListarEditarComponent_th_20_Template","NotasFaltasListarEditarComponent_td_21_Template","NotasFaltasListarEditarComponent_th_23_Template","NotasFaltasListarEditarComponent_td_24_Template","NotasFaltasListarEditarComponent_th_26_Template","NotasFaltasListarEditarComponent_td_27_Template","NotasFaltasListarEditarComponent_th_29_Template","NotasFaltasListarEditarComponent_td_30_Template","NotasFaltasListarEditarComponent_tr_31_Template","NotasFaltasListarEditarComponent_tr_32_Template","NotasFaltasListarEditarComponent_tr_33_Template","NotasFaltasListarEditarComponent_button_40_Template","DocenteDisciplinaListarComponent","docenteDiscplinaService","cursoEdicaoService","nomeResponsavel","getDetalhesPorDocenteDisciplina","load","length$","cpfResponsavel","ctx_r7","abrirLattes","DocenteAlunosListarComponent_td_40_button_1_Template","dataInscricao","STPG","PROPG","CEPG","DocenteAlunosListarComponent","numLattes","DocenteAlunosListarComponent_mat_option_26_Template","DocenteAlunosListarComponent_th_30_Template","DocenteAlunosListarComponent_td_31_Template","DocenteAlunosListarComponent_th_33_Template","DocenteAlunosListarComponent_td_34_Template","DocenteAlunosListarComponent_th_36_Template","DocenteAlunosListarComponent_td_37_Template","DocenteAlunosListarComponent_th_39_Template","DocenteAlunosListarComponent_td_40_Template","DocenteAlunosListarComponent_th_42_Template","DocenteAlunosListarComponent_td_43_Template","DocenteAlunosListarComponent_th_45_Template","DocenteAlunosListarComponent_td_46_Template","DocenteAlunosListarComponent_tr_47_Template","DocenteAlunosListarComponent_tr_48_Template","DocenteAlunosListarComponent_tr_49_Template","DocenteRoutingModule","DocenteModule","FormsModule","MatDatepickerModule","MatNativeDateModule","MatSortModule","MatRadioModule","MatMenuModule","MatDividerModule","PropegModule","AnalisePrevisaoOrcamentariaListarComponent","buttons","callback","analisar","analiseFinanceiraId","condition","listarParaAnaliseFinanceira","AnalisePropegComponent","cursoEdicaoAnaliseFinanceira","getParaAnaliseFinanceira","abrirArquivoPlanilhaViewer","arquivoDocumento9","_abrirArquivoViewer","PROPEG","pathMatch","PropegRoutingModule","PerfilService","env","listarPerfil","listaUsuariosDoPerfil","listaPerfisDoUsuario","identificacao","excluir","idPerfil","idUser","delete","adicionarUsuario","post","takeLast","usuario_r2","usuario_r3","descricao","input_r4","PropgListaPerfilPorUsuarioComponent_tr_20_span_2_Template","PropgListaPerfilPorUsuarioComponent_tr_20_span_3_Template","PropgListaPerfilPorUsuarioComponent","perfilService","perfisDoUsuario","search","PropgListaPerfilPorUsuarioComponent_th_13_Template","PropgListaPerfilPorUsuarioComponent_td_14_Template","PropgListaPerfilPorUsuarioComponent_th_16_Template","PropgListaPerfilPorUsuarioComponent_td_17_Template","PropgListaPerfilPorUsuarioComponent_tr_18_Template","PropgListaPerfilPorUsuarioComponent_tr_19_Template","PropgListaPerfilPorUsuarioComponent_tr_20_Template","PropgAdicionaPerfilComponent","novoUsuario","identificacaoFC","salvar","invalido","attrs","perfil_r2","usuario_r4","usuario_r5","usuario_r7","input_r9","PropgListaPerfilComponent_tr_44_span_2_Template","PropgListaPerfilComponent_tr_44_span_3_Template","PropgListaPerfilComponent","legacyDialog","perfis","opcaoPerfilFC","buscaPerfis","perfil","listarPerfis","listarUsuarios","usuarios","usuarioDoPerfil","tmp","splice","adicionarUsuarioDialog","PropgListaPerfilComponent_mat_option_7_Template","PropgListaPerfilComponent_th_31_Template","PropgListaPerfilComponent_td_32_Template","PropgListaPerfilComponent_th_34_Template","PropgListaPerfilComponent_td_35_Template","PropgListaPerfilComponent_th_37_Template","PropgListaPerfilComponent_td_38_Template","PropgListaPerfilComponent_th_40_Template","PropgListaPerfilComponent_td_41_Template","PropgListaPerfilComponent_tr_42_Template","PropgListaPerfilComponent_tr_43_Template","PropgListaPerfilComponent_tr_44_Template","TipoEspecificidadeListarComponent","tipoEspecificidadeService","apiErrorHandlerService","color","handle","TipoEspecificidadeEditarComponent","getTipoEspecificidade","atualizar","tipoEspecificidade","AreaConhecimentoListarComponent","areaConhecimentoService","descricaoArea","codigoArea","nivel","AreaConhecimentoEditarComponent","certificadoQuadroOdontologia","getAreaConhecimento","areaConhecimento","modeloCertificado_r1","ResolucaoEditarComponent","resolucaoService","numero","modeloCertificado","avaliacaoPropeg","relatorioParcial","modelosCertificado","getResolucao","resolucao","ResolucaoEditarComponent_mat_option_23_Template","ResolucaoListarComponent","ModalidadeEditarComponent","modalidadeService","getModalidade","modalidade","ModalidadeListarComponent","detalhes","erroMsg","idLotacaoOficial","nomeLotacaoOficial","LogsDetalhesComponent_div_6_span_17_Template","LogsDetalhesComponent_div_6_p_18_Template","idUnidadeUniversitaria","authorities","campo_r2","LogsDetalhesComponent_div_7_div_1_Template","campo_r3","LogsDetalhesComponent_div_8_div_1_ng_container_4_Template","LogsDetalhesComponent_div_8_div_1_ng_template_5_Template","isObject","plainText_r4","LogsDetalhesComponent_div_8_div_1_Template","campo_r5","LogsDetalhesComponent_div_9_div_1_Template","campo_r6","LogsDetalhesComponent_div_10_div_1_Template","campo_r7","LogsDetalhesComponent_div_11_div_1_Template","LogsDetalhesComponent","tipoLog","acao","detalhesJSON","JSON","parse","formatPerfis","LogsDetalhesComponent_div_5_Template","LogsDetalhesComponent_div_6_Template","LogsDetalhesComponent_div_7_Template","LogsDetalhesComponent_div_8_Template","LogsDetalhesComponent_div_9_Template","LogsDetalhesComponent_div_10_Template","LogsDetalhesComponent_div_11_Template","LogsDetalhesComponent_div_12_Template","LogsService","filtros","put","Initcap","transform","text","v","charAt","slice","pure","enum_r3","enum_r4","queryIP","ip","username","row_r11","registroId","row_r13","_r12","abrirDetalhes","LogsListarComponent","logsService","lastPage","lastPageSize","logTipoAcao","logRegistroAcao","nivelLogFC","dataInicialFC","dataFinalFC","dataMaxima","usuarioFC","logTipoAcaoFC","logRegistroAcaoFC","registro","ipAddr","msgSelecionado","datepipe","DatePipe","consultar","dataInicio","dataFinal","tipoOperacao","tipoRegistro","_changePageSize","pageable","limparFiltros","consultarBtnClick","log","clearDate","picker_r2","LogsListarComponent_mat_option_38_Template","LogsListarComponent_mat_option_47_Template","LogsListarComponent_th_60_Template","LogsListarComponent_td_61_Template","LogsListarComponent_th_63_Template","LogsListarComponent_td_64_Template","LogsListarComponent_th_66_Template","LogsListarComponent_td_67_Template","LogsListarComponent_th_69_Template","LogsListarComponent_td_70_Template","LogsListarComponent_th_72_Template","LogsListarComponent_td_73_Template","LogsListarComponent_th_75_Template","LogsListarComponent_td_76_Template","LogsListarComponent_tr_77_Template","LogsListarComponent_tr_78_Template","LogsListarComponent_tr_79_Template","UsuarioExternoService","UsuarioExternoEditarComponent","usuarioExternoService","usuarioExterno","getCpf","input_r8","UsuarioExternoListarComponent_tr_35_span_2_Template","UsuarioExternoListarComponent_tr_35_span_3_Template","UsuarioExternoListarComponent","usuariosExterno","UsuarioExternoListarComponent_th_16_Template","UsuarioExternoListarComponent_td_17_Template","UsuarioExternoListarComponent_th_19_Template","UsuarioExternoListarComponent_td_20_Template","UsuarioExternoListarComponent_th_22_Template","UsuarioExternoListarComponent_td_23_Template","UsuarioExternoListarComponent_th_25_Template","UsuarioExternoListarComponent_td_26_Template","UsuarioExternoListarComponent_th_28_Template","UsuarioExternoListarComponent_td_29_Template","UsuarioExternoListarComponent_th_31_Template","UsuarioExternoListarComponent_td_32_Template","UsuarioExternoListarComponent_tr_33_Template","UsuarioExternoListarComponent_tr_34_Template","UsuarioExternoListarComponent_tr_35_Template","PropgRoutingModule","PropgModule","provide","MatPaginatorIntl","useValue","PtBrMatPaginatorIntl","MAT_DATE_LOCALE","item_r3","ctx_r3","moveOne","disponivel","selecionado","item_r6","ɵ$index_23_r7","OrdemPreferenciaCursoDivisaoComponent","enfaseModuloService","getModulosPorCursoEdicao","defineOsSelecionadosPreviamente","getModulosPorAlunoEdicao","drop","previousContainer","container","moveItemInArray","previousIndex","currentIndex","transferArrayItem","notificarAlteracao","fromList","toList","OrdemPreferenciaCursoDivisaoComponent_For_8_Template","OrdemPreferenciaCursoDivisaoComponent_For_15_Template","listaB_r9","listaA_r8","CdkDropList","CdkDrag","EdicaoDisciplinaListarComponent_ng_container_16_th_1_Template","EdicaoDisciplinaListarComponent_ng_container_16_td_2_Template","EdicaoDisciplinaListarComponent_td_22_Conditional_1_Template","EdicaoDisciplinaListarComponent_td_22_Conditional_2_Template","possuiEnfasePublico","listarPublico","EdicaoDisciplinaListarComponent_th_11_Template","EdicaoDisciplinaListarComponent_td_12_Template","EdicaoDisciplinaListarComponent_th_14_Template","EdicaoDisciplinaListarComponent_td_15_Template","EdicaoDisciplinaListarComponent_ng_container_16_Template","EdicaoDisciplinaListarComponent_th_18_Template","EdicaoDisciplinaListarComponent_td_19_Template","EdicaoDisciplinaListarComponent_th_21_Template","EdicaoDisciplinaListarComponent_td_22_Template","EdicaoDisciplinaListarComponent_tr_23_Template","EdicaoDisciplinaListarComponent_tr_24_Template","EdicaoDisciplinaListarComponent_tr_25_Template","EdicaoDocenteDisciplinaListarComponent","disciplinasList","docentesList","EdicaoDocenteListarComponent","edicaoDocenteService","lattesService","docente","consultaLattes","cpfDocente","identificadoresDocente","numeroMaximoVagas","abrirUrlCurso","urlCurso","publicacao_r15","visualizarArquivo","titulo","_r16","visualizarAnexos","arquivoDocumento1","_r17","arquivoDocumento2","arquivoDocumento3","_r19","arquivoDocumento10","InscricoesAbertasComponent_td_34_button_7_Template","proposta","disciplina","InscricoesAbertasComponent_td_34_For_26_Template","InscricoesAbertasComponent_td_34_button_27_Template","InscricoesAbertasComponent_td_34_button_28_Template","InscricoesAbertasComponent_td_34_button_29_Template","InscricoesAbertasComponent_td_34_button_30_Template","inscricao","linkInscricaoExterna","menu_r20","publicacoes","InscricoesAbertasComponent","cursoEdicaoInscricaoService","userLogin","listarInscricoesAbertas","PropostaListarComponent","anexo","InscricoesAbertasComponent_th_9_Template","InscricoesAbertasComponent_td_10_Template","InscricoesAbertasComponent_th_12_Template","InscricoesAbertasComponent_td_13_Template","InscricoesAbertasComponent_th_15_Template","InscricoesAbertasComponent_td_16_Template","InscricoesAbertasComponent_th_18_Template","InscricoesAbertasComponent_td_19_Template","InscricoesAbertasComponent_th_21_Template","InscricoesAbertasComponent_td_22_Template","InscricoesAbertasComponent_th_24_Template","InscricoesAbertasComponent_td_25_Template","InscricoesAbertasComponent_th_27_Template","InscricoesAbertasComponent_td_28_Template","InscricoesAbertasComponent_th_30_Template","InscricoesAbertasComponent_td_31_Template","InscricoesAbertasComponent_th_33_Template","InscricoesAbertasComponent_td_34_Template","InscricoesAbertasComponent_tr_35_Template","InscricoesAbertasComponent_tr_36_Template","InscricoesAbertasComponent_tr_37_Template","CursoEdicaoUnidadeService","PUBLIC_ROUTE","getByCursoEdicao","PropostaListarComponent_fieldset_22_mat_form_field_5_Template","getUnidadesParticipantes","cursoEdicaoUnidadeService","unidadesParticipantes","curso","unidade","dataAprovacaoUnidade","nomeViceCoordenador","departamentoResponsavel","localidade","publicoAlvo","cargaHoraria","numeroMeses","numeroVagasProposta","dataInicialSelecao","dataFinalSelecao","dataInicialMatricula","dataFinalMatricula","justificativa","numeroProcessoConvenio","entidadeConveniada","array","unidadeUniversitariaCampus","unidadeUniversitariaSigla","getProposta","dateToStringBr","PropostaListarComponent_fieldset_22_Template","PropostaListarComponent_fieldset_119_Template","PropostaListarComponent_fieldset_120_Template","EdicaoAlunoMonografiaService","getEdicaoAlunoMonografia","edicaoAlunoMonografia","update","_r3","EdicaoAlunoMonografiaEditarComponent_div_0_button_57_Template","pickerDataDefesa_r4","EdicaoAlunoMonografiaEditarComponent","edicaoAlunoMonografiaService","tituloMonografia","nomeOrientador","localDefesa","dataDefesa","horaDefesa","isTimeValid","notaFinal","isNotaValid","aprovado","showData","showError","date2DatePicker","getCursoEdicaoInfo","checkIsReadOnly","EdicaoAlunoMonografiaEditarComponent_div_0_Template","EdicaoAlunoMonografiaEditarComponent_div_1_Template","CursoListarComponent","unidadeUniversitariaCampusSigla","edicoes","novaEdicao","CursoListarComponent_div_2_Template","UnidadeUniversitariaService","fetchWithoutPagination","unidadeUniversitaria_r1","areaConhecimento_r2","CursoEditarComponent","unidadeUniversitariaService","unespCoreUserService","unidadeUniversitariaId","areaConhecimentoId","validaUrl","unidadesUniversitaria","areasConhecimento","areaConhecimentoSelected","areaConhecimentoFiltered","_filter","filterValue","areaConhecimentoDiplayNome","areaConhecimentoDescricao","CursoEditarComponent_mat_option_11_Template","CursoEditarComponent_mat_option_18_Template","CursoEditarComponent_button_35_Template","auto_r5","EdicaoDisciplinaSelecionarComponent_ng_container_17_th_1_Template","EdicaoDisciplinaSelecionarComponent_ng_container_17_td_2_Template","EdicaoDisciplinaSelecionarComponent_td_23_Conditional_1_Template","EdicaoDisciplinaSelecionarComponent_td_23_Conditional_2_Template","EdicaoDisciplinaSelecionarComponent","getEdicaoDisciplina","EdicaoDisciplinaSelecionarComponent_th_12_Template","EdicaoDisciplinaSelecionarComponent_td_13_Template","EdicaoDisciplinaSelecionarComponent_th_15_Template","EdicaoDisciplinaSelecionarComponent_td_16_Template","EdicaoDisciplinaSelecionarComponent_ng_container_17_Template","EdicaoDisciplinaSelecionarComponent_th_19_Template","EdicaoDisciplinaSelecionarComponent_td_20_Template","EdicaoDisciplinaSelecionarComponent_th_22_Template","EdicaoDisciplinaSelecionarComponent_td_23_Template","EdicaoDisciplinaSelecionarComponent_th_25_Template","EdicaoDisciplinaSelecionarComponent_td_26_Template","EdicaoDisciplinaSelecionarComponent_tr_27_Template","EdicaoDisciplinaSelecionarComponent_tr_28_Template","EdicaoDisciplinaSelecionarComponent_tr_29_Template","TipoCursoEdicaoImportacao","erro","linha","CursoEdicaoImportarDialogComponent_div_25_th_7_Template","CursoEdicaoImportarDialogComponent_div_25_td_8_Template","CursoEdicaoImportarDialogComponent_div_25_th_10_Template","CursoEdicaoImportarDialogComponent_div_25_td_11_Template","CursoEdicaoImportarDialogComponent_div_25_tr_12_Template","CursoEdicaoImportarDialogComponent_div_25_tr_13_Template","CursoEdicaoImportarDialogComponent_div_25_tr_14_Template","ctx_r4","dataSourceSecundario","CursoEdicaoImportarDialogComponent","errosImportacaoDetalhes","errosImportacaoSecundarios","CursoEdicaoImportarDialogComponent_th_17_Template","CursoEdicaoImportarDialogComponent_td_18_Template","CursoEdicaoImportarDialogComponent_th_20_Template","CursoEdicaoImportarDialogComponent_td_21_Template","CursoEdicaoImportarDialogComponent_tr_22_Template","CursoEdicaoImportarDialogComponent_tr_23_Template","CursoEdicaoImportarDialogComponent_tr_24_Template","CursoEdicaoImportarDialogComponent_div_25_Template","numImportados","numErros","TipoCursoEdicaoImportacaoForaPrazo","tipoImportacao_r2","CursoEdicaoImportarUploadComponent","importacaoSelecionada","tiposImportacao","arquivoFC","dentroPeriodoInscricao","bloqueado","updateOn","importar","then","object","manual","CursoEdicaoImportarUploadComponent_mat_radio_button_14_Template","RelatorioCoordenadorService","getByCursoIdAndEdicaoAndTipo","atualizarSituacao","salvarDadosComplementares","atualizarDadosComplementares","getDocumentosDadosComplementares","cpfUsuario","ENDPOINT","requestPdfOptions","dowloadArquivoDaResposta","nomeDoArquivo","etapa_r1","subtitle","CursoEdicaoSituacaoComponent_mat_expansion_panel_2_ng_template_7_Template","CursoEdicaoSituacaoComponent","relatorioCoordenadorService","botaoFechar","fluxo","criarFluxoBase","aplicarSituacaoAtual","aplicarSituacaoConcluido","aplicarSituacaoProblematica","aplicarSituacaoDiligencia","obterSituacaoRelatorioFinal","aplicarSituacoesSimples","situacaoReferencia","isAprovadoCEPG","isAprovadoPROPEG","CursoEdicaoSituacaoComponent_mat_expansion_panel_2_Template","row_r15","ctx_r11","i_r13","ctx_r13","alterarSituacao","CursoEdicaoListarComponent_td_49_mat_select_2_mat_option_1_Template","CursoEdicaoListarComponent_td_49_span_1_Template","CursoEdicaoListarComponent_td_49_mat_select_2_Template","isPropg","row_r16","ctx_r17","i_r19","toggleBloqueado","CursoEdicaoListarComponent_td_52_span_1_Template","CursoEdicaoListarComponent_td_52_mat_slide_toggle_2_Template","submenuAcademico_r22","submenuOutros_r23","_r24","row_r21","encaminhar","_r25","publicacao","_r28","_r29","_r30","relatorios","_r31","certificadoRegistrar","_r32","divulgacao","_r33","_r34","apiToken","CursoEdicaoListarComponent_td_55_button_15_Template","CursoEdicaoListarComponent_td_55_button_16_Template","CursoEdicaoListarComponent_td_55_button_39_Template","CursoEdicaoListarComponent_td_55_button_40_Template","CursoEdicaoListarComponent_td_55_button_41_Template","CursoEdicaoListarComponent_td_55_button_44_Template","CursoEdicaoListarComponent_td_55_button_45_Template","CursoEdicaoListarComponent_td_55_button_46_Template","CursoEdicaoListarComponent_td_55_button_47_Template","CursoEdicaoListarComponent_td_55_button_48_Template","CursoEdicaoListarComponent_td_55_button_51_Template","CursoEdicaoListarComponent_td_55_button_52_Template","CursoEdicaoListarComponent_td_55_button_53_Template","menu_r35","submenuCadastro_r36","acessoAosAlunos","podeEncaminharProposta","podeExcluir","allowImportar","CursoEdicaoListarComponent","usuarioPodeImportar","documentos","checked","bloquear","token","ApikeyDialogComponent","CursoEdicaoListarComponent_mat_option_23_Template","CursoEdicaoListarComponent_th_27_Template","CursoEdicaoListarComponent_td_28_Template","CursoEdicaoListarComponent_th_30_Template","CursoEdicaoListarComponent_td_31_Template","CursoEdicaoListarComponent_th_33_Template","CursoEdicaoListarComponent_td_34_Template","CursoEdicaoListarComponent_th_36_Template","CursoEdicaoListarComponent_td_37_Template","CursoEdicaoListarComponent_th_39_Template","CursoEdicaoListarComponent_td_40_Template","CursoEdicaoListarComponent_th_42_Template","CursoEdicaoListarComponent_td_43_Template","CursoEdicaoListarComponent_th_45_Template","CursoEdicaoListarComponent_td_46_Template","CursoEdicaoListarComponent_th_48_Template","CursoEdicaoListarComponent_td_49_Template","CursoEdicaoListarComponent_th_51_Template","CursoEdicaoListarComponent_td_52_Template","CursoEdicaoListarComponent_th_54_Template","CursoEdicaoListarComponent_td_55_Template","CursoEdicaoListarComponent_tr_56_Template","CursoEdicaoListarComponent_tr_57_Template","CursoEdicaoListarComponent_tr_58_Template","DepartamentoService","listarPorUnidadeUniversitaria","CursoEdicaoParecerResolucao412011Service","getParecerResolucao","CursoEdicaoParecerResolucao902019Service","DocenteService","buscar","externo","EMPTY","SearchSelectDocenteComponent","docenteService","InputDocenteComponent","fcCpf","fcNome","fcEmail","localStorageKey","docenteSelecionado","gerarDocumento","questao1","questao2","questao3","questao4","questao5","questao6","questao7","questao8","questao9","questao10","questao11","questao12","questao13","questao14","questao15","ParecerResolucao412011EditarComponent_div_0_mat_radio_button_214_Template","ParecerResolucao412011EditarComponent_div_0_mat_radio_button_217_Template","orientacaoCoordenador","ParecerResolucao412011EditarComponent_div_0_button_238_Template","ParecerResolucao412011EditarComponent_div_0_button_239_Template","parecerPropeg","ParecerResolucao412011EditarComponent","cursoEdicaoParecerResolucao412011Service","pdfParecerResolucao412011","ParecerResolucao412011EditarComponent_div_0_Template","bind","digilencia","ParecerResolucao902019EditarComponent_div_0_mat_form_field_78_Template","ParecerResolucao902019EditarComponent_div_0_mat_form_field_163_Template","ParecerResolucao902019EditarComponent_div_0_mat_form_field_222_Template","ParecerResolucao902019EditarComponent_div_0_mat_form_field_257_Template","ParecerResolucao902019EditarComponent_div_0_mat_form_field_344_Template","ParecerResolucao902019EditarComponent_div_0_mat_form_field_399_Template","ParecerResolucao902019EditarComponent_div_0_mat_form_field_438_Template","ParecerResolucao902019EditarComponent_div_0_mat_form_field_463_Template","ParecerResolucao902019EditarComponent_div_0_app_analise_historico_listar_473_Template","topico1TemDiligencia","topico2TemDiligencia","topico3TemDiligencia","topico4TemDiligencia","topico5TemDiligencia","topico6TemDiligencia","topico7TemDiligencia","topico8TemDiligencia","ParecerResolucao902019EditarComponent","cursoEdicaoParecerResolucao902019Service","topico11","topico12","topico13","topico14","topico15","topico16","topico1Diligencia","topico21","topico22","topico23","topico24","topico25","topico26","topico27","topico2Diligencia","topico31","topico32","topico33","topico34","topico3Diligencia","topico41","topico42","topico4Diligencia","topico51","topico52","topico53","topico54","topico55","topico56","topico57","topico5Diligencia","topico61","topico62","topico63","topico64","topico6Diligencia","topico71","topico72","topico7Diligencia","topico81","topico8Diligencia","observacaoInterna","unRequireFields","ngOnChanges","changes","toFixed","formDataFromLocalStorage","operacao$","clearLocalStorage","selection","ParecerResolucao902019EditarComponent_div_0_Template","SigadApiService","unidades","idUnidade","ano","opt_r1","SelecionarProcessoSigadComponent","sigadApiService","identificador","assunto","pesquisarDocumentos","SelecionarProcessoSigadComponent_mat_option_10_Template","modeloCertificado_r3","cpf_r5","removerApoio","DadosComplementaresPropostaEditarComponent_div_0_table_75_tr_2_Template","cpfEquipeApoio","removerDocumento","isStatusSalvoOrEnviado","pesquisarProcessoNoSigad","DadosComplementaresPropostaEditarComponent_div_0_mat_option_60_Template","validaCpf","adicionarApoio","DadosComplementaresPropostaEditarComponent_div_0_table_75_Template","adicionarDocumento","DadosComplementaresPropostaEditarComponent_div_0_ng_container_87_Template","gerarDocumentoDadosComplementares","pickerdataCCPG_r8","documentosForm","DadosComplementaresPropostaEditarComponent","parecerDespachoPattern","informacaoAreaTecnicaPropgPattern","documentoUpload","documentosIdRemover","documentoSIGAD","numeroParecerCcpg","numeroDespachoSg","dataCCPG","observacaoPropg","equipeApoio","informacaoAreaTecnicaPropg","identificadorProcessoSIGAD","getDocumentosComplementares","documento","at","removeAt","isCPFValid","validarDocumentos","excluirArquivos","formName","docUpload","formGroup","excluirDocumentosComplementares","DadosComplementaresPropostaEditarComponent_div_0_Template","clearUnidade","unidadeUniversitaria_r5","unidadeUniversitaria_r7","unidadeUniversitaria_r10","unidadeUniversitaria_r12","CursoEdicaoEditarComponent_div_43_div_20_mat_icon_4_Template","idsUnidadeUniversitaria","CursoEdicaoEditarComponent_div_43_div_20_mat_option_9_Template","CursoEdicaoEditarComponent_div_43_div_20_mat_icon_13_Template","CursoEdicaoEditarComponent_div_43_div_20_mat_option_18_Template","CursoEdicaoEditarComponent_div_43_mat_icon_5_Template","CursoEdicaoEditarComponent_div_43_mat_option_10_Template","CursoEdicaoEditarComponent_div_43_mat_icon_14_Template","CursoEdicaoEditarComponent_div_43_mat_option_19_Template","CursoEdicaoEditarComponent_div_43_div_20_Template","interunidades","modalidade_r13","resolucao_r14","departamento_r15","tipoEspecificidade_r16","_r22","CursoEdicaoEditarComponent_Conditional_305_mat_icon_4_Template","pickerDataAprovacaoCongregacaoPrevisaoOrcamentaria_r29","arquivoDocumento12FC","cursoEdicaoParecerResolucao412011","cursoEdicaoParecerResolucao902019","CursoEdicaoEditarComponent_mat_tab_327_app_parecer_resolucao412011_editar_1_Template","CursoEdicaoEditarComponent_mat_tab_327_app_parecer_resolucao902019_editar_2_Template","exibirParecer412011","exibirParecer902019","cursoEdicaoDadosComplementares","CursoEdicaoEditarComponent","departamentoService","exibirParecerTab","exibirCampoRelatorio","coordenadorCpf","coordenadorNome","coordenadorEmail","novaResolucao","resolucaoId","modalidadeId","dataAprovacaoCongregacao","dataAprovacaoCongregacaoPrevisaoOrcamentaria","cpfViceCoordenador","emailViceCoordenador","idDepartamentoResponsavel","tipoEspecificidadeId","cargaHorariaMonografia","inscricaoValor","cursoPago","temConselhoClasse","linkConselhoClasse","modulo","numeroMinimoVagas","arquivoDocumento1Upload","arquivoDocumento2Upload","arquivoDocumento3Upload","arquivoDocumento4Upload","arquivoDocumento5Upload","arquivoDocumento6Upload","arquivoDocumento7Upload","arquivoDocumento8Upload","arquivoDocumento9Upload","arquivoDocumento10Upload","arquivoDocumento11Upload","arquivoDocumento12Upload","arquivoDocumento1FC","arquivoDocumento2FC","arquivoDocumento3FC","arquivoDocumento4FC","arquivoDocumento5FC","arquivoDocumento6FC","arquivoDocumento7FC","arquivoDocumento8FC","arquivoDocumento9FC","arquivoDocumento10FC","arquivoDocumento11FC","tiposEspecificidade","departamentos","resolucoes","modalidades","mostrarAbaDocumentos","dateLte","dateGte","dateBetween","stringDoubleFormat","extractDoubleOfString","str","checkIsPropg","u","getCursoEdicao","makeCursoEdicaoDadosComplementares","cpfCoordenador","emailCoordenador","arquivoDocumento4","arquivoDocumento5","arquivoDocumento6","arquivoDocumento7","arquivoDocumento8","arquivoDocumento11","arquivoDocumento12","verificaExibirParecerTab","toggleCursoPago","isDocente","carregaDadosDaUltimaEdicao","getUltimaEdicao","ultimaEdicao","voltar","getIdDepartamentoResponsavel","cursoEdicaoForm","showMessageWarning","toggleInterunidades","formatDoubleAndSave","formatCurrencyAndSave","departamento","isCEPG","isPROPG","downloadModeloPrevisaoOrcamentaria","filename","checkCampoRelatorio","moduloHabilitaCampo","i12","i13","i14","CursoEdicaoEditarComponent_div_43_Template","CursoEdicaoEditarComponent_mat_option_53_Template","CursoEdicaoEditarComponent_mat_option_58_Template","CursoEdicaoEditarComponent_mat_option_87_Template","CursoEdicaoEditarComponent_mat_option_92_Template","CursoEdicaoEditarComponent_mat_icon_133_Template","CursoEdicaoEditarComponent_mat_icon_143_Template","CursoEdicaoEditarComponent_mat_form_field_193_Template","CursoEdicaoEditarComponent_mat_form_field_194_Template","CursoEdicaoEditarComponent_mat_icon_205_Template","CursoEdicaoEditarComponent_mat_icon_213_Template","CursoEdicaoEditarComponent_mat_icon_226_Template","CursoEdicaoEditarComponent_mat_icon_234_Template","CursoEdicaoEditarComponent_mat_icon_247_Template","CursoEdicaoEditarComponent_mat_icon_255_Template","CursoEdicaoEditarComponent_mat_icon_268_Template","CursoEdicaoEditarComponent_mat_icon_276_Template","CursoEdicaoEditarComponent_Conditional_305_Template","CursoEdicaoEditarComponent_app_analise_historico_listar_306_Template","CursoEdicaoEditarComponent_mat_tab_327_Template","CursoEdicaoEditarComponent_mat_tab_328_Template","CursoEdicaoEditarComponent_button_335_Template","pickerDataAprovacaoUnidade_r32","pickerDataAprovacaoCongregacao_r33","pickerDataInicialInscricao_r34","pickerDataFinalInscricao_r35","pickerDataInicialSelecao_r36","pickerDataFinalSelecao_r37","pickerDataInicialMatricula_r38","pickerDataFinalMatricula_r39","pickerDataInicialCurso_r40","pickerDataFinalCurso_r41","EdicaoDisciplinaListarComponent_ng_container_24_th_1_Template","EdicaoDisciplinaListarComponent_ng_container_24_td_2_Template","tmp_3_0","EdicaoDisciplinaListarComponent_td_30_Conditional_1_Template","EdicaoDisciplinaListarComponent_td_30_Conditional_2_Template","EdicaoDisciplinaListarComponent_td_36_button_5_Template","getDetalhes","recursos","EdicaoDisciplinaListarComponent_button_5_Template","EdicaoDisciplinaListarComponent_ng_container_24_Template","EdicaoDisciplinaListarComponent_th_26_Template","EdicaoDisciplinaListarComponent_td_27_Template","EdicaoDisciplinaListarComponent_th_29_Template","EdicaoDisciplinaListarComponent_td_30_Template","EdicaoDisciplinaListarComponent_th_32_Template","EdicaoDisciplinaListarComponent_td_33_Template","EdicaoDisciplinaListarComponent_th_35_Template","EdicaoDisciplinaListarComponent_td_36_Template","EdicaoDisciplinaListarComponent_tr_37_Template","EdicaoDisciplinaListarComponent_tr_38_Template","EdicaoDisciplinaListarComponent_tr_39_Template","EnfaseModuloListarEditarComponent_mat_card_2_button_17_Template","EnfaseModuloListarEditarComponent","isModuloComum","enfaseModuloForm","EnfaseModuloListarEditarComponent_mat_card_2_Template","EnfaseModuloListarEditarComponent_mat_card_4_Template","enfaseModulo_r1","cadastroEnfaseModulo","EdicaoDisciplinaEditarComponent_Conditional_19_mat_option_7_Template","EdicaoDisciplinaEditarComponent_Conditional_19_button_8_Template","enfaseModuloList","year_r4","EdicaoDisciplinaEditarComponent","years","cargaHorariaTeorica","cargaHorariaPratica","cargaHorariaTotal","ementa","sistemaAvaliacao","bibliografia","year","getFullYear","requireModulo","somaCargasHorarias","resp","EdicaoDisciplinaEditarComponent_Conditional_19_Template","EdicaoDisciplinaEditarComponent_mat_option_49_Template","EdicaoDisciplinaEditarComponent_button_68_Template","DocenteTitulacao","type_r3","EdicaoDocenteCadastroComponent_div_10_mat_option_15_Template","adicionarDocente","EdicaoDocenteCadastroComponent_div_10_mat_icon_19_Template","EdicaoDocenteCadastroComponent_div_10_mat_icon_20_Template","docenteTitulacao","EdicaoDocenteCadastroComponent","titulacao","resetForm","markAsPending","dadosDocente","EdicaoDocenteCadastroComponent_div_10_Template","DocenteExternoService","getDocenteExterno","edicaoDisciplina","centralDeAcessos","cpfDocenteExterno","checkCentralDeAcessos","idDocenteExterno","updateCentralDeAcessos","type_r1","cidade_r2","DocenteExternoEditarComponent","docenteExternoService","telefone","cargo","instituicao","instituicaoCidade","instituicaoEstado","selecionaEstado","docenteExternoForm","DocenteExternoEditarComponent_mat_option_46_Template","DocenteExternoEditarComponent_mat_option_53_Template","DocenteExternoEditarComponent_button_71_Template","CentralAcessosEditarComponent","hasDivergencia","hasDivergenciaNome","hasDivergenciaNomeSocial","hasDivergenciaCpf","hasDivergenciaEmail","hasDivergenciaDataNascimento","validCpf","checkDivergencia","usuarioSisesp","usuarioCentralAcessos","dataNascimentoSisesp","parseDateEnUs","dataNascimentoCentralAcessos","parseDatePtBR","getTime","dateStr","day","month","emailPrincipal","DocenteExternoListarComponent","incluirCentralAcessos","idUsuarioCentralDeAcessos","alterarCentralAcessos","DocenteExternoListarComponent_div_2_Template","disciplina_r3","docente_r4","DocenteDisciplinaCadastroComponent_div_10_mat_option_7_Template","DocenteDisciplinaCadastroComponent_div_10_mat_option_14_Template","DocenteDisciplinaCadastroComponent","codigoDisciplina","docenteDisciplina","DocenteDisciplinaCadastroComponent_div_10_Template","pesquisaCpf","EdicaoAlunoEditarComponent_mat_form_field_15_mat_icon_4_Template","podePesquisar","pesquisaPassaporte","EdicaoAlunoEditarComponent_mat_form_field_16_mat_icon_4_Template","genero_r6","deficiencia_r8","type_r10","type_r11","EdicaoAlunoEditarComponent_div_69_mat_option_10_Template","EdicaoAlunoEditarComponent_div_69_mat_option_17_Template","type_r15","EdicaoAlunoEditarComponent_mat_form_field_73_mat_option_5_Template","type_r17","EdicaoAlunoEditarComponent_mat_form_field_74_mat_option_4_Template","cidade_r19","EdicaoAlunoEditarComponent_mat_form_field_75_mat_option_6_Template","auto_r20","type_r25","EdicaoAlunoEditarComponent_mat_form_field_171_mat_option_5_Template","cidade_r27","EdicaoAlunoEditarComponent_mat_form_field_172_mat_option_6_Template","auto_r28","form_r30","opcao_r31","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_4_mat_option_5_Template","opcao_r32","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_5_mat_option_4_Template","tmp_6_0","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_1_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_2_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_3_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_4_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_5_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_6_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Case_7_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_div_3_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_1_Template","EdicaoAlunoEditarComponent_mat_tab_178_Conditional_2_Template","i_r36","documento_r35","EdicaoAlunoEditarComponent","localStoragePrefix","perfilDiscente","geraBreadCrumbPeloPerfil","checkReadOnly","setForm","validaAcesoBloqueadoCadastroAluno","toggleEstrangeiroFromLocalStorage","toggleInstituicaoEstrangeiraFromLocalStorage","isPermitidoSalvarAluno","cpfFc","getAlunoPreExistente","carregarAluno","alunoNaoEncontradoMsg","passaporteFc","chave","formataCpf","EdicaoAlunoEditarComponent_mat_form_field_15_Template","EdicaoAlunoEditarComponent_mat_form_field_16_Template","EdicaoAlunoEditarComponent_mat_option_54_Template","EdicaoAlunoEditarComponent_mat_option_61_Template","EdicaoAlunoEditarComponent_mat_option_67_Template","EdicaoAlunoEditarComponent_div_69_Template","EdicaoAlunoEditarComponent_div_70_Template","EdicaoAlunoEditarComponent_Conditional_71_Template","EdicaoAlunoEditarComponent_mat_form_field_73_Template","EdicaoAlunoEditarComponent_mat_form_field_74_Template","EdicaoAlunoEditarComponent_mat_form_field_75_Template","EdicaoAlunoEditarComponent_mat_form_field_76_Template","EdicaoAlunoEditarComponent_mat_option_128_Template","EdicaoAlunoEditarComponent_mat_form_field_170_Template","EdicaoAlunoEditarComponent_mat_form_field_171_Template","EdicaoAlunoEditarComponent_mat_form_field_172_Template","EdicaoAlunoEditarComponent_mat_form_field_173_Template","EdicaoAlunoEditarComponent_mat_tab_178_Template","EdicaoAlunoEditarComponent_Conditional_183_Template","EdicaoAlunoEditarComponent_Conditional_184_Template","EdicaoAlunoEditarComponent_Conditional_185_Template","EdicaoAlunoEditarComponent_div_186_Template","EdicaoAlunoEditarComponent_button_194_Template","AlunoEdicaoEnfaseService","getByAlunoEdicao","alunoEdicaoEnfases","item_r1","EdicaoAlunoEnfaseComponent_Conditional_12_For_5_Template","enfase_r3","enfaseDescricao","EdicaoAlunoEnfaseComponent_div_13_ng_container_5_Template","enfasesForm","dataMatricula","dataMatricula_r6","EdicaoAlunoEnfaseComponent","alunoEdicaoEnfaseService","getPreferenciaEnfaseByAlunoEdicao","enfaseForm","enabled","enfaseArray","montaListEnfaseArray","retorno","EdicaoAlunoEnfaseComponent_Conditional_12_Template","EdicaoAlunoEnfaseComponent_div_13_Template","EdicaoAlunoEnfaseComponent_div_14_Template","EdicaoAlunoEnfaseComponent_button_22_Template","verificaAlterarSituacao","EdicaoAlunoListarComponent_td_45_ng_container_1_mat_option_2_Template","situacoesParaPreInscritos","EdicaoAlunoListarComponent_td_45_ng_container_2_mat_option_2_Template","situacoesParaInscritos","EdicaoAlunoListarComponent_td_45_ng_container_3_mat_option_2_Template","situacoesParaMatriculados","row_r17","EdicaoAlunoListarComponent_td_45_ng_container_4_mat_option_2_Template","situacoesParaFormados","row_r19","EdicaoAlunoListarComponent_td_45_ng_container_5_mat_option_2_Template","situacoesParaReprovados","EdicaoAlunoListarComponent_td_45_ng_container_6_mat_option_2_Template","situacoesParaDesligados","EdicaoAlunoListarComponent_td_45_ng_container_1_Template","EdicaoAlunoListarComponent_td_45_ng_container_2_Template","EdicaoAlunoListarComponent_td_45_ng_container_3_Template","EdicaoAlunoListarComponent_td_45_ng_container_4_Template","EdicaoAlunoListarComponent_td_45_ng_container_5_Template","EdicaoAlunoListarComponent_td_45_ng_container_6_Template","row_r24","monografia","checkCentralAcessos","EdicaoAlunoListarComponent_td_48_button_2_Template","EdicaoAlunoListarComponent_td_48_button_3_Template","EdicaoAlunoListarComponent_td_48_button_4_Template","EdicaoAlunoListarComponent_td_48_button_5_Template","EdicaoAlunoListarComponent_td_48_button_9_Template","idUsuarioCentralAcesso","dados","dataAlteracao_r3","EdicaoAlunoListarComponent","enviarNotificacao","abrirEnfases","confirmaAlterarSituacao","alteraSituacao","dataAluno","mostrarData","ConfirmaAlterarStatusAlunoDialogComponent","dataAlteracao","atualizarStatus","complete","centralAcessos","EdicaoAlunoListarComponent_button_4_Template","EdicaoAlunoListarComponent_button_5_Template","EdicaoAlunoListarComponent_mat_option_31_Template","EdicaoAlunoListarComponent_th_35_Template","EdicaoAlunoListarComponent_td_36_Template","EdicaoAlunoListarComponent_th_38_Template","EdicaoAlunoListarComponent_td_39_Template","EdicaoAlunoListarComponent_th_41_Template","EdicaoAlunoListarComponent_td_42_Template","EdicaoAlunoListarComponent_th_44_Template","EdicaoAlunoListarComponent_td_45_Template","EdicaoAlunoListarComponent_th_47_Template","EdicaoAlunoListarComponent_td_48_Template","EdicaoAlunoListarComponent_tr_49_Template","EdicaoAlunoListarComponent_tr_50_Template","EdicaoAlunoListarComponent_tr_51_Template","onNoClick","ConfirmaAlterarStatusAlunoDialogComponent_mat_form_field_7_Template","EdicaoAlunoListagemGeralComponent_td_34_span_1_Template","EdicaoAlunoListagemGeralComponent_td_34_span_2_Template","EdicaoAlunoListagemGeralComponent_td_46_button_2_Template","EdicaoAlunoListagemGeralComponent","listagemGeral","EdicaoAlunoListagemGeralComponent_mat_option_17_Template","EdicaoAlunoListagemGeralComponent_th_21_Template","EdicaoAlunoListagemGeralComponent_td_22_Template","EdicaoAlunoListagemGeralComponent_th_24_Template","EdicaoAlunoListagemGeralComponent_td_25_Template","EdicaoAlunoListagemGeralComponent_th_27_Template","EdicaoAlunoListagemGeralComponent_td_28_Template","EdicaoAlunoListagemGeralComponent_th_30_Template","EdicaoAlunoListagemGeralComponent_td_31_Template","EdicaoAlunoListagemGeralComponent_th_33_Template","EdicaoAlunoListagemGeralComponent_td_34_Template","EdicaoAlunoListagemGeralComponent_th_36_Template","EdicaoAlunoListagemGeralComponent_td_37_Template","EdicaoAlunoListagemGeralComponent_th_39_Template","EdicaoAlunoListagemGeralComponent_td_40_Template","EdicaoAlunoListagemGeralComponent_th_42_Template","EdicaoAlunoListagemGeralComponent_td_43_Template","EdicaoAlunoListagemGeralComponent_th_45_Template","EdicaoAlunoListagemGeralComponent_td_46_Template","EdicaoAlunoListagemGeralComponent_tr_47_Template","EdicaoAlunoListagemGeralComponent_tr_48_Template","EdicaoAlunoListagemGeralComponent_tr_49_Template","i_r8","i_r11","conceito_r14","NotaFaltaListarEditarComponent_td_37_mat_option_3_Template","NotaFaltaListarEditarComponent","alunosDisciplinas","alunosDisciplinasOriginais","filtered","a","dadosAlterados","original","showMessageInfo","NotaFaltaListarEditarComponent_span_6_Template","NotaFaltaListarEditarComponent_th_21_Template","NotaFaltaListarEditarComponent_td_22_Template","NotaFaltaListarEditarComponent_th_24_Template","NotaFaltaListarEditarComponent_td_25_Template","NotaFaltaListarEditarComponent_th_27_Template","NotaFaltaListarEditarComponent_td_28_Template","NotaFaltaListarEditarComponent_th_30_Template","NotaFaltaListarEditarComponent_td_31_Template","NotaFaltaListarEditarComponent_th_33_Template","NotaFaltaListarEditarComponent_td_34_Template","NotaFaltaListarEditarComponent_th_36_Template","NotaFaltaListarEditarComponent_td_37_Template","NotaFaltaListarEditarComponent_tr_38_Template","NotaFaltaListarEditarComponent_tr_39_Template","NotaFaltaListarEditarComponent_tr_40_Template","NotaFaltaListarEditarComponent_button_48_Template","enum_r2","toggleTodos","todosSelecionados","algunsSelecionados","updateSelecionados","pesquisa_r11","EdicaoAlunoRelatorioListarComponent_tr_48_span_2_Template","EdicaoAlunoRelatorioListarComponent_tr_48_span_3_Template","EdicaoAlunoRelatorioListarComponent","cursoEdicaoRelatorio","relatorioFC","alunos","count","emitirRelatorios","selecionados","getFichasDeInscricao","getAtestadoMatricula","getAtestadoDeConclusaoDoCurso","getHistoricoEscolar","getRelacaoEscolhaModuloAluno","EdicaoAlunoRelatorioListarComponent_mat_option_7_Template","EdicaoAlunoRelatorioListarComponent_mat_option_30_Template","EdicaoAlunoRelatorioListarComponent_th_35_Template","EdicaoAlunoRelatorioListarComponent_td_36_Template","EdicaoAlunoRelatorioListarComponent_th_38_Template","EdicaoAlunoRelatorioListarComponent_td_39_Template","EdicaoAlunoRelatorioListarComponent_th_41_Template","EdicaoAlunoRelatorioListarComponent_td_42_Template","EdicaoAlunoRelatorioListarComponent_th_44_Template","EdicaoAlunoRelatorioListarComponent_td_45_Template","EdicaoAlunoRelatorioListarComponent_tr_46_Template","EdicaoAlunoRelatorioListarComponent_tr_47_Template","EdicaoAlunoRelatorioListarComponent_tr_48_Template","documento_r2","ctx_r10","visualizar","uuidDocumento","EdicaoAlunoDocumentoListarComponent_td_45_button_1_Template","EdicaoAlunoDocumentoListarComponent_td_45_span_2_Template","EdicaoAlunoDocumentoListarComponent","filtroDocumento","filtroDocumentoCache","filtroDocumentoSelecionado","listarDocumentos","EdicaoAlunoDocumentoListarComponent_mat_option_9_Template","EdicaoAlunoDocumentoListarComponent_mat_option_25_Template","EdicaoAlunoDocumentoListarComponent_th_29_Template","EdicaoAlunoDocumentoListarComponent_td_30_Template","EdicaoAlunoDocumentoListarComponent_th_32_Template","EdicaoAlunoDocumentoListarComponent_td_33_Template","EdicaoAlunoDocumentoListarComponent_th_35_Template","EdicaoAlunoDocumentoListarComponent_td_36_Template","EdicaoAlunoDocumentoListarComponent_th_38_Template","EdicaoAlunoDocumentoListarComponent_td_39_Template","EdicaoAlunoDocumentoListarComponent_th_41_Template","EdicaoAlunoDocumentoListarComponent_td_42_Template","EdicaoAlunoDocumentoListarComponent_th_44_Template","EdicaoAlunoDocumentoListarComponent_td_45_Template","EdicaoAlunoDocumentoListarComponent_tr_46_Template","EdicaoAlunoDocumentoListarComponent_tr_47_Template","EdicaoAlunoDocumentoListarComponent_tr_48_Template","avaliacaoParcialDiscentes","avaliacaoFinalDiscentes","CursoEdicaoAvaliacaoListarComponent","listarParaAvaliacao","CursoEdicaoAvaliacaoListarComponent_mat_option_17_Template","CursoEdicaoAvaliacaoListarComponent_th_21_Template","CursoEdicaoAvaliacaoListarComponent_td_22_Template","CursoEdicaoAvaliacaoListarComponent_th_24_Template","CursoEdicaoAvaliacaoListarComponent_td_25_Template","CursoEdicaoAvaliacaoListarComponent_th_27_Template","CursoEdicaoAvaliacaoListarComponent_td_28_Template","CursoEdicaoAvaliacaoListarComponent_th_30_Template","CursoEdicaoAvaliacaoListarComponent_td_31_Template","CursoEdicaoAvaliacaoListarComponent_th_33_Template","CursoEdicaoAvaliacaoListarComponent_td_34_Template","CursoEdicaoAvaliacaoListarComponent_th_36_Template","CursoEdicaoAvaliacaoListarComponent_td_37_Template","CursoEdicaoAvaliacaoListarComponent_th_39_Template","CursoEdicaoAvaliacaoListarComponent_td_40_Template","CursoEdicaoAvaliacaoListarComponent_th_42_Template","CursoEdicaoAvaliacaoListarComponent_td_43_Template","CursoEdicaoAvaliacaoListarComponent_th_45_Template","CursoEdicaoAvaliacaoListarComponent_td_46_Template","CursoEdicaoAvaliacaoListarComponent_tr_47_Template","CursoEdicaoAvaliacaoListarComponent_tr_48_Template","CursoEdicaoAvaliacaoListarComponent_tr_49_Template","DadosComplementaresRelatorioEditarComponent_div_0_mat_form_field_10_Template","DadosComplementaresRelatorioEditarComponent_div_0_mat_form_field_11_Template","DadosComplementaresRelatorioEditarComponent_div_0_button_36_Template","DadosComplementaresRelatorioEditarComponent_div_0_button_41_Template","pickerdataCCPG_r5","isCepg","DadosComplementaresRelatorioEditarComponent","pdfDadosComplementaresRelatorioCoordenador","DadosComplementaresRelatorioEditarComponent_div_0_Template","relatorioDadosComplementares","RelatorioParcialCoordenadorEditarComponent_mat_card_1_mat_tab_121_Template","cursoEdicaoDetalhes","RelatorioParcialCoordenadorEditarComponent","podeGerarDocumento","tipoAvaliacao","numeroAlunosInscritos","numeroAlunosMatriculados","numeroAlunosFrequentes","numeroAlunosAprovados","numeroAlunosReprovados","execucaoAtividadeProgramada","avaliacao1","avaliacao2","avaliacao3","avaliacao4","observacaoCoordenador","makeRelatorioDadosComplementares","documento1","verificaPodeGerarDocumento","hoje","getDateAsNumber","inicio","fim","v1","getMonth","getDate","verificarStringVazia","pdfRelatorioCoordenador","RelatorioParcialCoordenadorEditarComponent_mat_card_1_Template","RelatorioParcialCoordenadorEditarComponent_button_9_Template","RelatorioFinalSituacao","ENCAMINHADO","DILIGENCIA_PROPEG_CEPG","ANALISE_PROPG","RelatorioDetalhes","idRelatorio","RelatorioFinalCEPGService","getRelatorioFinalCEPG","verificaOutrosCamposObrigatorios","RelatorioFinalCepgEditarComponent_div_5_div_5_div_7_textarea_4_Template","RelatorioFinalCepgEditarComponent_div_5_div_5_div_7_input_5_Template","grupo_r4","grupo","RelatorioFinalCepgEditarComponent_div_5_div_5_div_5_Template","RelatorioFinalCepgEditarComponent_div_5_div_5_div_6_Template","RelatorioFinalCepgEditarComponent_div_5_div_5_div_7_Template","RelatorioFinalCepgEditarComponent_div_5_div_5_div_8_Template","pergunta_r5","ordemPergunta","pergunta","tipoResposta","permiteComentario","RelatorioFinalCepgEditarComponent_div_5_div_5_Template","gruposPerguntasFormArray","idCursoEdicao","RelatorioFinalCepgEditarComponent","relatorioFinalCEPGService","relatorioDetalhes","parecerFinalComissao","comentarioDiligencia","dataParecer","gruposPerguntas","perguntas","carregaForm","grupoPergunta","grupoPerguntaFormGroup","perguntasFormArray","b","perguntaFormGroup","relatorioFinalCEPGId","idPergunta","tipoRelatorio","isRespostaObrigatoria","respostaObrigatoriaSeOrdemPergunta","respostaObrigatoriaSeRespostaOrdemPergunta","ordemGrupoPergunta","validation","comentario","disableControls","controlName","nestedControl","onParecerChange","removeValidatorFromControl","removeValidators","arrayControl","j","getPerguntaByOrdem","grupoIndex","ordem","controlsGroup","dateToStringUs","RelatorioFinalCepgEditarComponent_div_5_Template","RelatorioFinalCepgEditarComponent_app_analise_historico_listar_7_Template","GetPerguntasFormArrayPipe","dataEncaminhado","RelatorioFinalCoordenadorEditarComponent_h2_2_span_2_Template","relatorioSituacao","RelatorioFinalCoordenadorEditarComponent_mat_card_7_mat_card_4_Template","RelatorioFinalCoordenadorEditarComponent_mat_card_7_mat_icon_50_Template","RelatorioFinalCoordenadorEditarComponent_mat_card_7_mat_icon_61_Template","RelatorioFinalCoordenadorEditarComponent_mat_card_7_Conditional_133_Template","RelatorioFinalCoordenadorEditarComponent_mat_card_7_button_147_Template","pickerDataAprovacaoUnidade_r5","pickerDataAprovacaoCongregacao_r6","novoModelo","RelatorioFinalCoordenadorEditarComponent_Conditional_8_mat_tab_0_Template","aprovarRelatorio","RelatorioFinalCoordenadorEditarComponent_ng_template_19_span_5_Template","isAvaliacaoPropeg","RelatorioFinalCoordenadorEditarComponent","cursoEdicaoSituacaoAlunos","isHabilitadoAprovarPROPG","totalInscritos","totalMatriculados","totalFrequentaram","carregarForm","getSituacaoAlunos","validarSituacaoAlunos","totalPreInscritos","totalFormados","totalReprovados","totalDesligados","documento2","documento3","documento4","documento5","documento6","disableUploadArquivos","openGravarDialog","apenasSalvar","salvarAndEncaminhar","dataStatus","RelatorioFinalCoordenadorEditarComponent_h2_2_Template","RelatorioFinalCoordenadorEditarComponent_mat_card_7_Template","RelatorioFinalCoordenadorEditarComponent_Conditional_8_Template","RelatorioFinalCoordenadorEditarComponent_mat_tab_9_Template","RelatorioFinalCoordenadorEditarComponent_mat_tab_10_Template","RelatorioFinalCoordenadorEditarComponent_button_18_Template","RelatorioFinalCoordenadorEditarComponent_ng_template_19_Template","descricaoQuestao","descricaoResposta","AvaliacaoParcialDiscenteVisualizarComponent_tr_10_td_3_span_2_Template","AvaliacaoParcialDiscenteVisualizarComponent_tr_10_td_1_Template","AvaliacaoParcialDiscenteVisualizarComponent_tr_10_td_2_Template","AvaliacaoParcialDiscenteVisualizarComponent_tr_10_td_3_Template","numeroQuestao","AvaliacaoParcialDiscenteVisualizarComponent","avaliacaoDiscenteService","findByCursoIdAndEdicaoAndCpfAndTipo","formatarPergunta","formatarResposta","numeroResposta","AvaliacaoParcialDiscenteVisualizarComponent_tr_10_Template","quantidade","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_70_tr_11_Template","i_r6","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_77_th_2_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_77_td_3_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_77_tr_4_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_77_tr_5_Template","dataSourceDetalhamento","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_94_th_2_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_94_td_3_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_94_tr_4_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_94_tr_5_Template","dataSourceAlunosComResposta","_c4","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_111_th_3_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_111_td_4_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_111_tr_5_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_111_tr_6_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_111_tr_7_Template","dataSourceAlunosSemResposta","AvaliacaoParcialDiscenteListarComponent_mat_card_1_p_68_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_70_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_p_76_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_77_Template","onPageChange","cpfs","pesquisarAlunoComResposta","AvaliacaoParcialDiscenteListarComponent_mat_card_1_p_93_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_94_Template","onPageChangeComResposta","alunosComResposta","pesquisarAlunoSemResposta","AvaliacaoParcialDiscenteListarComponent_mat_card_1_p_110_Template","AvaliacaoParcialDiscenteListarComponent_mat_card_1_table_111_Template","onPageChangeSemResposta","alunosSemResposta","AvaliacaoParcialDiscenteListarComponent","pesquisaAlunoComResposta","pesquisaAlunoSemResposta","paginatorAlunoComResposta","paginatorAlunoSemResposta","paginatedData","paginatedDataAlunoComResposta","paginatedDataAlunoSemResposta","resumoParcial","cpfResposta","paginateData","alunosComRepospotas","paginateDataAlunoComResposta","alunosSemRepospotas","paginateDataAlunoSemResposta","firstPage","startIndex","AvaliacaoParcialDiscenteListarComponent_mat_card_1_Template","i15","AvaliacaoFinalDiscenteVisualizarComponent","AvaliacaoFinalDiscenteVisualizarComponent_tr_12_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_72_tr_11_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_79_th_3_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_79_td_4_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_79_tr_5_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_79_tr_6_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_96_th_2_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_96_td_3_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_96_tr_4_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_96_tr_5_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_113_th_3_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_113_td_4_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_113_tr_5_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_113_tr_6_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_113_tr_7_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_p_70_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_72_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_p_78_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_79_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_p_95_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_96_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_p_112_Template","AvaliacaoFinalDiscenteListarComponent_mat_card_1_table_113_Template","AvaliacaoFinalDiscenteListarComponent","resumoFinal","AvaliacaoFinalDiscenteListarComponent_mat_card_1_Template","ListaPresencaGerarComponent","getListaDePresencaDoCurso","ListaPresencaGerarComponent_mat_option_8_Template","CertificadoService","previa","registrar","imprimir","ctx_r6","aplicarSequencia","numeroRegistro","registrado","dataRegistro","CertificadoRegistrarComponent_td_80_span_1_Template","CertificadoRegistrarComponent_td_80_span_2_Template","dataEmissao","CertificadoRegistrarComponent_td_83_span_1_Template","CertificadoRegistrarComponent_td_83_span_2_Template","hashQrcode","CertificadoRegistrarComponent_td_86_span_1_Template","CertificadoRegistrarComponent_td_86_span_2_Template","excluirDialog","CertificadoRegistrarComponent_td_89_button_2_Template","CertificadoRegistrarComponent_td_89_button_3_Template","CertificadoRegistrarComponent_td_89_button_4_Template","CertificadoRegistrarComponent_td_89_button_5_Template","gravarNumeroRegistro","todosJaForamRegistrados","CertificadoRegistrarComponent","certificadoService","isCertificadoDigital","alunosCertificados","alunosCertificadosOriginais","getData","checkIsPROPG","listarCerfificados","qtde","certificado","CertificadoRegistrarComponent_p_3_Template","CertificadoRegistrarComponent_p_4_Template","CertificadoRegistrarComponent_li_33_Template","CertificadoRegistrarComponent_li_34_Template","CertificadoRegistrarComponent_th_67_Template","CertificadoRegistrarComponent_td_68_Template","CertificadoRegistrarComponent_th_70_Template","CertificadoRegistrarComponent_td_71_Template","CertificadoRegistrarComponent_th_73_Template","CertificadoRegistrarComponent_td_74_Template","CertificadoRegistrarComponent_th_76_Template","CertificadoRegistrarComponent_td_77_Template","CertificadoRegistrarComponent_th_79_Template","CertificadoRegistrarComponent_td_80_Template","CertificadoRegistrarComponent_th_82_Template","CertificadoRegistrarComponent_td_83_Template","CertificadoRegistrarComponent_th_85_Template","CertificadoRegistrarComponent_td_86_Template","CertificadoRegistrarComponent_th_88_Template","CertificadoRegistrarComponent_td_89_Template","CertificadoRegistrarComponent_tr_90_Template","CertificadoRegistrarComponent_tr_91_Template","CertificadoRegistrarComponent_tr_92_Template","CertificadoRegistrarComponent_button_101_Template","entidade","HistoricoDeAlteracoesDialogComponent","alteracoes","HistoricoDeAlteracoesDialogComponent_th_6_Template","HistoricoDeAlteracoesDialogComponent_td_7_Template","HistoricoDeAlteracoesDialogComponent_th_9_Template","HistoricoDeAlteracoesDialogComponent_td_10_Template","HistoricoDeAlteracoesDialogComponent_th_12_Template","HistoricoDeAlteracoesDialogComponent_td_13_Template","HistoricoDeAlteracoesDialogComponent_th_15_Template","HistoricoDeAlteracoesDialogComponent_td_16_Template","HistoricoDeAlteracoesDialogComponent_th_18_Template","HistoricoDeAlteracoesDialogComponent_td_19_Template","HistoricoDeAlteracoesDialogComponent_tr_20_Template","HistoricoDeAlteracoesDialogComponent_tr_21_Template","HistoricoDeAlteracoesDialogComponent_tr_22_Template","HistoricoDeAlteracoesService","HistoricoDeAlteracoesListarComponent_td_14_span_1_Template","HistoricoDeAlteracoesListarComponent_td_14_span_2_Template","HistoricoDeAlteracoesListarComponent","historicoDeAlteracoesService","historico","isComissaoAssessora","HistoricoDeAlteracoesListarComponent_th_10_Template","HistoricoDeAlteracoesListarComponent_td_11_Template","HistoricoDeAlteracoesListarComponent_th_13_Template","HistoricoDeAlteracoesListarComponent_td_14_Template","HistoricoDeAlteracoesListarComponent_th_16_Template","HistoricoDeAlteracoesListarComponent_td_17_Template","HistoricoDeAlteracoesListarComponent_th_19_Template","HistoricoDeAlteracoesListarComponent_td_20_Template","HistoricoDeAlteracoesListarComponent_tr_21_Template","HistoricoDeAlteracoesListarComponent_tr_22_Template","HistoricoDeAlteracoesListarComponent_tr_23_Template","relatorioParcialCoodenador","CursoEdicaoRelatorioListarComponent_td_46_Conditional_11_Template","relatorioFinalCoodenador","menu_r15","CursoEdicaoRelatorioListarComponent","listarParaRelatorio","CursoEdicaoRelatorioListarComponent_mat_option_17_Template","CursoEdicaoRelatorioListarComponent_th_21_Template","CursoEdicaoRelatorioListarComponent_td_22_Template","CursoEdicaoRelatorioListarComponent_th_24_Template","CursoEdicaoRelatorioListarComponent_td_25_Template","CursoEdicaoRelatorioListarComponent_th_27_Template","CursoEdicaoRelatorioListarComponent_td_28_Template","CursoEdicaoRelatorioListarComponent_th_30_Template","CursoEdicaoRelatorioListarComponent_td_31_Template","CursoEdicaoRelatorioListarComponent_th_33_Template","CursoEdicaoRelatorioListarComponent_td_34_Template","CursoEdicaoRelatorioListarComponent_th_36_Template","CursoEdicaoRelatorioListarComponent_td_37_Template","CursoEdicaoRelatorioListarComponent_th_39_Template","CursoEdicaoRelatorioListarComponent_td_40_Template","CursoEdicaoRelatorioListarComponent_th_42_Template","CursoEdicaoRelatorioListarComponent_td_43_Template","CursoEdicaoRelatorioListarComponent_th_45_Template","CursoEdicaoRelatorioListarComponent_td_46_Template","CursoEdicaoRelatorioListarComponent_tr_47_Template","CursoEdicaoRelatorioListarComponent_tr_48_Template","CursoEdicaoRelatorioListarComponent_tr_49_Template","DownloadAssetComponent","viewer","dataAlteracao_r7","novaSituacaoSelecionada","onChangeNovaSituacao","EdicaoAlunoAlterarSituacaoComponent_div_14_mat_option_11_Template","EdicaoAlunoAlterarSituacaoComponent_div_14_mat_form_field_14_Template","novaSituacao","novaSituacaoPossuiData","toggleAllRows","hasValue","isAllSelected","checkboxLabel","stopPropagation","toggle","isSelected","EdicaoAlunoAlterarSituacaoComponent","SelectionModel","filtraNovasSituacoesPossiveis","isEmpty","loteAlunos","ids","selected","atualizarStatusLote","select","EdicaoAlunoAlterarSituacaoComponent_mat_option_12_Template","EdicaoAlunoAlterarSituacaoComponent_div_14_Template","EdicaoAlunoAlterarSituacaoComponent_th_18_Template","EdicaoAlunoAlterarSituacaoComponent_td_19_Template","EdicaoAlunoAlterarSituacaoComponent_th_21_Template","EdicaoAlunoAlterarSituacaoComponent_td_22_Template","EdicaoAlunoAlterarSituacaoComponent_th_24_Template","EdicaoAlunoAlterarSituacaoComponent_td_25_Template","EdicaoAlunoAlterarSituacaoComponent_th_27_Template","EdicaoAlunoAlterarSituacaoComponent_td_28_Template","EdicaoAlunoAlterarSituacaoComponent_tr_29_Template","EdicaoAlunoAlterarSituacaoComponent_tr_30_Template","EdicaoAlunoAlterarSituacaoComponent_tr_31_Template","ManualImportacaoComponent","ManualImportacaoComponent_ng_template_20_Template","ManualImportacaoComponent_ng_template_25_Template","ManualImportacaoComponent_ng_template_30_Template","incluir","pickerData_r4","CursoEdicaoPublicacaoComponent_td_16_Conditional_1_Template","CursoEdicaoPublicacaoComponent","cursoEdicaoPublicacaoService","showForm","listarPorCursoEdicaoId","limparUploadForm","preparaDefaulForm","preparaUploadForm","File","CursoEdicaoPublicacaoComponent_Conditional_5_Template","CursoEdicaoPublicacaoComponent_Conditional_6_Template","CursoEdicaoPublicacaoComponent_th_9_Template","CursoEdicaoPublicacaoComponent_td_10_Template","CursoEdicaoPublicacaoComponent_th_12_Template","CursoEdicaoPublicacaoComponent_td_13_Template","CursoEdicaoPublicacaoComponent_th_15_Template","CursoEdicaoPublicacaoComponent_td_16_Template","CursoEdicaoPublicacaoComponent_tr_17_Template","CursoEdicaoPublicacaoComponent_tr_18_Template","CursoEdicaoPublicacaoComponent_tr_19_Template","CursoEdicaoDocumentoInscricaoService","listarTodos","CursoEdicaoDocumentoInscricaoComponent_div_0_fieldset_3_button_16_Template","setFocus","CursoEdicaoDocumentoInscricaoComponent_div_0_td_17_div_1_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_fieldset_3_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_th_10_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_td_11_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_th_13_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_td_14_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_th_16_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_td_17_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_tr_18_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_tr_19_Template","CursoEdicaoDocumentoInscricaoComponent_div_0_tr_20_Template","displayedColumns","CursoEdicaoDocumentoInscricaoComponent","cursoEdicaoDocumentoInscricaoService","scrollIntoView","behavior","block","CursoEdicaoDocumentoInscricaoComponent_div_0_Template","TipoCampo","TEXTO","DATA","LISTA_COM_RESPOSTA_UNICA","LISTA_COM_RESPOSTA_MULTIPLA","SIM_NAO","ACEITE","form_r1","opcao_r2","FcPreviewComponent_div_2_Case_4_mat_option_5_Template","opcao_r3","FcPreviewComponent_div_2_Case_5_mat_option_4_Template","FcPreviewComponent_div_2_Case_1_Template","FcPreviewComponent_div_2_Case_2_Template","FcPreviewComponent_div_2_Case_3_Template","FcPreviewComponent_div_2_Case_4_Template","FcPreviewComponent_div_2_Case_5_Template","FcPreviewComponent_div_2_Case_6_Template","FcPreviewComponent_div_2_Case_7_Template","FcPreviewComponent","FcPreviewComponent_div_2_Template","CursoEdicaoFormularioComplementarService","atualizarOrdem","tipoCampo_r4","definirTipoCampo","CursoEdicaoFormularioComplementarComponent_div_0_fieldset_4_mat_option_11_Template","CursoEdicaoFormularioComplementarComponent_div_0_fieldset_4_Conditional_17_Template","CursoEdicaoFormularioComplementarComponent_div_0_fieldset_4_button_28_Template","CursoEdicaoFormularioComplementarComponent_div_0_fieldset_4_button_30_Template","tiposCampo","campoComOpcoes","CursoEdicaoFormularioComplementarComponent_div_0_td_11_Conditional_1_Template","CursoEdicaoFormularioComplementarComponent_div_0_td_23_div_1_Template","preview","CursoEdicaoFormularioComplementarComponent_div_0_fieldset_4_Template","CursoEdicaoFormularioComplementarComponent_div_0_th_10_Template","CursoEdicaoFormularioComplementarComponent_div_0_td_11_Template","CursoEdicaoFormularioComplementarComponent_div_0_th_13_Template","CursoEdicaoFormularioComplementarComponent_div_0_td_14_Template","CursoEdicaoFormularioComplementarComponent_div_0_th_16_Template","CursoEdicaoFormularioComplementarComponent_div_0_td_17_Template","CursoEdicaoFormularioComplementarComponent_div_0_th_19_Template","CursoEdicaoFormularioComplementarComponent_div_0_td_20_Template","CursoEdicaoFormularioComplementarComponent_div_0_th_22_Template","CursoEdicaoFormularioComplementarComponent_div_0_td_23_Template","CursoEdicaoFormularioComplementarComponent_div_0_tr_24_Template","CursoEdicaoFormularioComplementarComponent_div_0_tr_25_Template","CursoEdicaoFormularioComplementarComponent_div_0_tr_26_Template","CursoEdicaoFormularioComplementarComponent_div_0_Conditional_27_Template","CursoEdicaoFormularioComplementarComponent","cursoEdicaoFormularioComplementarService","hasOpcoes","atualizarOrdemNoBackend","CursoEdicaoFormularioComplementarComponent_div_0_Template","DISCENTE","CursoEdicaoInscricaoComponent","getDetalhesById","UnidadeRoutingModule","UnidadeModule","RangeLabel","Math","max","min","paginatorIntl","itemsPerPageLabel","nextPageLabel","previousPageLabel","firstPageLabel","lastPageLabel","getRangeLabel","AlunoDisciplinaService","listarDisciplinaPorAluno","AnaliseHistoricoService","AreaConhecimentoService","ArquivoDownloadService","response","binaryData","Blob","request","arquivoObjectURL","pdfAnaliseFinanceira","requestOptions","Accept","pdfParecerResolucao902019","AvaliacaoDiscenteService","getAvaliacaoDiscente","permiteAvaliacaoParcial","permiteAvaliacaoFinal","getAvaliacaoByCursoIdAndEdicaoAndAlunoAndTipo","CidadeService","estados","CursoEdicaoInscricaoService","listarInscricoesFuturas","listarInscricoesEmAndamento","CursoEdicaoPublicacaoService","ROUTE_PUBLIC","CursoEdicaoPublicacao","DeleteIds","CursoEdicaoService","PUBLIC_ROUTE_INSCRICAO","getCursoEdicaoPublico","deleteIds","String","listarPorAluno","CursoService","DataService","dataSplit","mounth","match","isoFormattedStr","date","timestamp","toISOString","padStart","DocenteDisciplinaService","getDocenteDisciplina","EdicaoAlunoRelatoriosService","getDocumentosDisponiveisAluno","getAtestadoDeMatriculaAluno","getAtestadoDeConclusaoAluno","getHistoricoEscolarAluno","getCertificadoAluno","getCertificadoAlunoConferencia","notificarDivergencia","EdicaoAlunoService","getEdicaoAlunoPublico","getByCursoIdEdicaoCpf","edicaoAlunoForm","gravarInscricao","notificar","alunosLote","EdicaoDisciplinaService","possuiEnfasePublicoByIdCursoEdicao","EdicaoDocenteRelatoriosService","nomeDocente","EdicaoDocenteService","getEdicaoDocente","edicaoDocente","EnfaseModuloService","getEnfaseModulo","ErrorHandlerService","msg404","catchErrorRxJS","Response","ExportarCSVService","LattesService","LocalStorageService","storage","prefix","localStorage","setItem","stringify","getItem","removeItem","removeAllByPrefix","ModalidadeService","ResolucaoService","TipoEspecificidadeService","menu","displayName","iconName","ROLE_WILDCARD_PUBLIC","order","addBottomDivider","addTopDivider","UserLoginService","unespCoreMenuNavigationService","_userLogin$","getUser","loginCandidato","getByEmailAndSenha","round","now","s","setUser","itensMenuSource","senhaRecuperar","senhaRedefinir","CepService","consultaCEP","cep","ValidacaoService","cepService","cepCompleto","endereco","logradouro","bairro","validaEstrangeiro","selecao","validaCPF","add","parseInt","rev","tzOffset","inp","fromCharCode","keyCode","test","preventDefault","inputDate","currentDate","limiteMaximoIdadeData","limiteMinimoIdadeData","dateOutOfRange","inputValue","invalidFormat","invalidDate","gte","v2","data1","gle","name1","name2","between","v3","data2","data3","regExp","isValidUrl","invalidUrl","tag","production","clientId","baseUrlRedirect","oauthAuthorize","centralRolePrefix","refreshTokenExpirationInSeconds","refreshTokenExpirationActivityNotificationsTime","refreshTokenExpirationLastWarningTime","desc","servicedesk","recaptcha","siteKey","getMenu","logged","hidden","children","some","role","login","HomeComponent_div_2_tr_17_span_5_Template","HomeComponent_div_2_tr_17_Template","HomeComponent_div_2_tr_18_Template","HomeComponent","userSubscription","recarregarMenu","getPerfil","userLogin$","ngOnDestroy","unsubscribe","location","getLoginUrl","HomeComponent_div_0_Template","HomeComponent_div_2_Template","CentralAcessosHomeComponent","encapsulation","AjudaSuporteComponent","sanitizer","trustedUrl","iframeHeight","bypassSecurityTrustResourceUrl","innerHeight","recuperarSenha","AuthComponent","recaptchaV3Service","senha","execute","AuthComponent_div_1_Template","InscricoesFuturasComponent_td_34_button_7_Template","InscricoesFuturasComponent_td_34_For_26_Template","InscricoesFuturasComponent_td_34_button_27_Template","InscricoesFuturasComponent_td_34_button_28_Template","InscricoesFuturasComponent_td_34_button_29_Template","InscricoesFuturasComponent_td_34_button_30_Template","InscricoesFuturasComponent","InscricoesFuturasComponent_th_9_Template","InscricoesFuturasComponent_td_10_Template","InscricoesFuturasComponent_th_12_Template","InscricoesFuturasComponent_td_13_Template","InscricoesFuturasComponent_th_15_Template","InscricoesFuturasComponent_td_16_Template","InscricoesFuturasComponent_th_18_Template","InscricoesFuturasComponent_td_19_Template","InscricoesFuturasComponent_th_21_Template","InscricoesFuturasComponent_td_22_Template","InscricoesFuturasComponent_th_24_Template","InscricoesFuturasComponent_td_25_Template","InscricoesFuturasComponent_th_27_Template","InscricoesFuturasComponent_td_28_Template","InscricoesFuturasComponent_th_30_Template","InscricoesFuturasComponent_td_31_Template","InscricoesFuturasComponent_th_33_Template","InscricoesFuturasComponent_td_34_Template","InscricoesFuturasComponent_tr_35_Template","InscricoesFuturasComponent_tr_36_Template","InscricoesFuturasComponent_tr_37_Template","InscricoesAndamentoComponent_td_34_button_7_Template","InscricoesAndamentoComponent_td_34_For_26_Template","InscricoesAndamentoComponent_td_34_button_27_Template","InscricoesAndamentoComponent_td_34_button_28_Template","InscricoesAndamentoComponent_td_34_button_29_Template","InscricoesAndamentoComponent_td_34_button_30_Template","InscricoesAndamentoComponent","InscricoesAndamentoComponent_th_9_Template","InscricoesAndamentoComponent_td_10_Template","InscricoesAndamentoComponent_th_12_Template","InscricoesAndamentoComponent_td_13_Template","InscricoesAndamentoComponent_th_15_Template","InscricoesAndamentoComponent_td_16_Template","InscricoesAndamentoComponent_th_18_Template","InscricoesAndamentoComponent_td_19_Template","InscricoesAndamentoComponent_th_21_Template","InscricoesAndamentoComponent_td_22_Template","InscricoesAndamentoComponent_th_24_Template","InscricoesAndamentoComponent_td_25_Template","InscricoesAndamentoComponent_th_27_Template","InscricoesAndamentoComponent_td_28_Template","InscricoesAndamentoComponent_th_30_Template","InscricoesAndamentoComponent_td_31_Template","InscricoesAndamentoComponent_th_33_Template","InscricoesAndamentoComponent_td_34_Template","InscricoesAndamentoComponent_tr_35_Template","InscricoesAndamentoComponent_tr_36_Template","InscricoesAndamentoComponent_tr_37_Template","CursoEdicaoInscricaoListarComponent","proximosShow","encerradasShow","tabChange","CursoEdicaoInscricaoListarComponent_div_2_Template","CursoEdicaoInscricaoListarComponent_div_9_Template","CursoEdicaoInscricaoListarComponent_div_11_Template","SenhaRecuperarComponent","SenhaRecuperarComponent_div_1_Template","SenhaRedefinirComponent","codigo","DocumentoService","verificar","DocumentoValidadorComponent","documentoService","code","blob","LogoutComponent","logout","ListaDisciplinaInframeComponent_ng_container_15_th_1_Template","ListaDisciplinaInframeComponent_ng_container_15_td_2_Template","ListaDisciplinaInframeComponent_td_21_Conditional_1_Template","ListaDisciplinaInframeComponent_td_21_Conditional_2_Template","ListaDisciplinaInframeComponent","carregaColunasGrid","idCurso","ListaDisciplinaInframeComponent_th_10_Template","ListaDisciplinaInframeComponent_td_11_Template","ListaDisciplinaInframeComponent_th_13_Template","ListaDisciplinaInframeComponent_td_14_Template","ListaDisciplinaInframeComponent_ng_container_15_Template","ListaDisciplinaInframeComponent_th_17_Template","ListaDisciplinaInframeComponent_td_18_Template","ListaDisciplinaInframeComponent_th_20_Template","ListaDisciplinaInframeComponent_td_21_Template","ListaDisciplinaInframeComponent_th_23_Template","ListaDisciplinaInframeComponent_td_24_Template","ListaDisciplinaInframeComponent_th_26_Template","ListaDisciplinaInframeComponent_td_27_Template","ListaDisciplinaInframeComponent_tr_28_Template","ListaDisciplinaInframeComponent_tr_29_Template","ListaDisciplinaInframeComponent_tr_30_Template","ListaDocenteDisciplinaInframeComponent_ng_container_12_th_1_Template","ListaDocenteDisciplinaInframeComponent_ng_container_12_td_2_Template","ListaDocenteDisciplinaInframeComponent","temTitulacao","filtrarPorTitulacao","docentes","ListaDocenteDisciplinaInframeComponent_th_10_Template","ListaDocenteDisciplinaInframeComponent_td_11_Template","ListaDocenteDisciplinaInframeComponent_ng_container_12_Template","ListaDocenteDisciplinaInframeComponent_th_14_Template","ListaDocenteDisciplinaInframeComponent_td_15_Template","ListaDocenteDisciplinaInframeComponent_tr_16_Template","ListaDocenteDisciplinaInframeComponent_tr_17_Template","ListaDocenteDisciplinaInframeComponent_tr_18_Template","publicacao_r2","ListaDocumentosComponent_For_3_Conditional_0_Template","ListaDocumentosComponent","ListaDocumentosComponent_For_3_Template","ListaDocumentosComponent_tr_4_Template","ListaDocumentosComponent_tr_5_Template","ListaDocumentosComponent_tr_6_Template","ListaDocumentosComponent_tr_7_Template","ListaDocenteInframeComponent_ng_container_9_th_1_Template","ListaDocenteInframeComponent_ng_container_9_td_2_Template","ListaDocenteInframeComponent","ListaDocenteInframeComponent_ng_container_9_Template","ListaDocenteInframeComponent_th_11_Template","ListaDocenteInframeComponent_td_12_Template","ListaDocenteInframeComponent_tr_13_Template","ListaDocenteInframeComponent_tr_14_Template","ListaDocenteInframeComponent_tr_15_Template","webSite","CursoEdicaoInscricaoDetalhesComponent_div_0_button_58_Template","CursoEdicaoInscricaoDetalhesComponent_div_0_button_59_Template","CursoEdicaoInscricaoDetalhesComponent_div_0_ng_template_65_Template","CursoEdicaoInscricaoDetalhesComponent_div_0_ng_template_68_Template","CursoEdicaoInscricaoDetalhesComponent_div_0_ng_template_71_Template","CursoEdicaoInscricaoDetalhesComponent_div_0_ng_template_74_Template","linkWebSite","isInscricaoAberta","loadChildren","__webpack_require__","PublicoModule","DiscenteModule","UnespCoreAccessDeniedComponent","UnespCoreHomeComponent","CursoEdicaoInscricaoDetalhesComponent","carregou","openNav","closeNav","CursoEdicaoInscricaoDetalhesComponent_div_0_Template","UnespCorePageNotFoundComponent","loadComponent","ChangeLogComponent","redirectTo","AppRoutingModule","forRoot","AppComponent","swUpdate","version","fullTitle","shortTitle","footerText","logoCustom","isEnabled","versionUpdates","hash","currentVersion","latestVersion","activateUpdate","alert","datadogRum","init","applicationId","clientToken","site","service","allowedTracingUrls","sessionSampleRate","sessionReplaySampleRate","trackUserInteractions","trackResources","trackLongTasks","defaultPrivacyLevel","prepareRoute","outlet","activatedRouteData","outlet_r1","routeAnimations","RequestInterceptorService","intercept","clone","withCredentials","HttpResponse","throwError","RequestInterceptorModule","HTTP_INTERCEPTORS","useClass","multi","InterceptorsModule","registerLocaleData","localePt","AppModule","bootstrap","deps","UnespCoreUserService","useFactory","LOCALE_ID","DEFAULT_CURRENCY_CODE","RECAPTCHA_V3_SITE_KEY","BrowserModule","BrowserAnimationsModule","UnespCoreModule","UnespCoreHomeModule","ServiceWorkerModule","register","registrationStrategy","RecaptchaV3Module","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","catch"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/enums/aluno-deficiencia.ts","./src/app/enums/aluno-genero.ts","./src/app/enums/conceito-aluno-disciplina.ts","./src/app/enums/curso-edicao-relatorio.ts","./src/app/enums/curso-edicao-situacao.ts","./src/app/enums/estado-civil.ts","./src/app/enums/estado.ts","./src/app/enums/inscricao-situacao.ts","./src/app/enums/logs.ts","./src/app/enums/modelo-certificado.ts","./src/app/enums/orgao-expedicao-rg.ts","./src/app/enums/pais.ts","./src/app/services/aluno.service.ts","./src/app/modules/candidato/senha-alterar/senha-alterar.component.ts","./src/app/modules/candidato/senha-alterar/senha-alterar.component.html","./src/app/modules/candidato/inscricao/inscricao-listar/inscricao-listar.component.html","./src/app/modules/candidato/inscricao/inscricao-listar/inscricao-listar.component.ts","./src/app/services/aluno-edicao-preferencia-enfase.service.ts.service.ts","./src/app/modules/candidato/inscricao/inscricao-ficha-editar/inscricao-ficha-editar.component.html","./src/app/modules/candidato/candidato-routing.module.ts","./src/app/modules/candidato/inscricao/inscricao-ficha-editar/inscricao-ficha-editar.component.ts","./src/app/modules/candidato/candidato.module.ts","./src/app/modules/comum/analise-historico/analise-historico-editar/analise-historico-editar.component.html","./src/app/modules/comum/analise-historico/analise-historico-editar/analise-historico-editar.component.ts","./src/app/modules/comum/analise-historico/analise-historico-listar/analise-historico-listar.component.html","./src/app/modules/comum/analise-historico/analise-historico-listar/analise-historico-listar.component.ts","./src/app/services/arquivo-upload.service.ts","./src/app/modules/comum/arquivo-upload/arquivo-upload.component.html","./src/app/modules/comum/arquivo-upload/arquivo-upload.component.ts","./src/app/modules/comum/arquivo-upload/arquivo-upload.module.ts","./src/app/modules/comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component.ts","./src/app/modules/comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component.html","./src/app/modules/comum/cabecalho/cabecalho.component.ts","./src/app/modules/comum/cabecalho/cabecalho.component.html","./src/app/modules/docente/edicao-disciplina-listar/edicao-disciplina-listar.component.html","./src/app/modules/docente/edicao-disciplina-listar/edicao-disciplina-listar.component.ts","./src/app/services/docente-disciplina-individual.service.ts","./src/app/modules/docente/docente-cursos-listar/docente-cursos-listar.component.html","./src/app/modules/docente/docente-cursos-listar/docente-cursos-listar.component.ts","./src/app/modules/docente/lista-presenca-listar/lista-presenca-listar.component.html","./src/app/modules/docente/lista-presenca-listar/lista-presenca-listar.component.ts","./src/app/modules/docente/notas-faltas-listar-editar/notas-faltas-listar-editar.component.html","./src/app/modules/docente/notas-faltas-listar-editar/notas-faltas-listar-editar.component.ts","./src/app/modules/docente/docente-disciplina-listar/docente-disciplina-listar.component.ts","./src/app/modules/docente/docente-disciplina-listar/docente-disciplina-listar.component.html","./src/app/modules/docente/docente-alunos-listar/docente-alunos-listar.component.html","./src/app/modules/docente/docente-routing.module.ts","./src/app/modules/docente/docente-alunos-listar/docente-alunos-listar.component.ts","./src/app/modules/docente/docente.module.ts","./src/app/modules/propeg/analise-previsao-orcamentaria/analise-previsao-orcamentaria-listar/analise-previsao-orcamentaria-listar.component.ts","./src/app/modules/propeg/analise-previsao-orcamentaria/analise-previsao-orcamentaria-listar/analise-previsao-orcamentaria-listar.component.html","./src/app/modules/propeg/analise-propeg/analise-propeg.component.ts","./src/app/modules/propeg/analise-propeg/analise-propeg.component.html","./src/app/modules/propeg/propeg-routing.module.ts","./src/app/modules/propeg/propeg.module.ts","./src/app/services/perfil.service.ts","./src/app/modules/propg/perfis/lista-perfil-por-usuario/lista-perfil-por-usuario.component.html","./src/app/modules/propg/perfis/lista-perfil-por-usuario/lista-perfil-por-usuario.component.ts","./src/app/modules/propg/perfis/adiciona-perfil/adiciona-perfil.component.ts","./src/app/modules/propg/perfis/adiciona-perfil/adiciona-perfil.component.html","./src/app/modules/propg/perfis/lista-perfil/lista-perfil.component.html","./src/app/modules/propg/perfis/lista-perfil/lista-perfil.component.ts","./src/app/modules/propg/tipo-especificidade/tipo-especificidade-listar/tipo-especificidade-listar.component.ts","./src/app/modules/propg/tipo-especificidade/tipo-especificidade-listar/tipo-especificidade-listar.component.html","./src/app/modules/propg/tipo-especificidade/tipo-especificidade-editar/tipo-especificidade-editar.component.ts","./src/app/modules/propg/tipo-especificidade/tipo-especificidade-editar/tipo-especificidade-editar.component.html","./src/app/modules/propg/area-conhecimento/area-conhecimento-listar/area-conhecimento-listar.component.ts","./src/app/modules/propg/area-conhecimento/area-conhecimento-listar/area-conhecimento-listar.component.html","./src/app/modules/propg/area-conhecimento/area-conhecimento-editar/area-conhecimento-editar.component.ts","./src/app/modules/propg/area-conhecimento/area-conhecimento-editar/area-conhecimento-editar.component.html","./src/app/modules/propg/resolucao/resolucao-editar/resolucao-editar.component.html","./src/app/modules/propg/resolucao/resolucao-editar/resolucao-editar.component.ts","./src/app/modules/propg/resolucao/resolucao-listar/resolucao-listar.component.ts","./src/app/modules/propg/resolucao/resolucao-listar/resolucao-listar.component.html","./src/app/modules/propg/modalidade/modalidade-editar/modalidade-editar.component.ts","./src/app/modules/propg/modalidade/modalidade-editar/modalidade-editar.component.html","./src/app/modules/propg/modalidade/modalidade-listar/modalidade-listar.component.ts","./src/app/modules/propg/modalidade/modalidade-listar/modalidade-listar.component.html","./src/app/modules/propg/logs/logs-detalhes/logs-detalhes.component.html","./src/app/modules/propg/logs/logs-detalhes/logs-detalhes.component.ts","./src/app/services/logs.service.ts","./src/app/pipes/initcap.pipe.ts","./src/app/modules/propg/logs/logs-listar/logs-listar.component.html","./src/app/modules/propg/logs/logs-listar/logs-listar.component.ts","./src/app/services/usuario-externo.service.ts","./src/app/modules/propg/usuario-externo/usuario-externo-editar/usuario-externo-editar.component.ts","./src/app/modules/propg/usuario-externo/usuario-externo-editar/usuario-externo-editar.component.html","./src/app/modules/propg/usuario-externo/usuario-externo-listar/usuario-externo-listar.component.html","./src/app/modules/propg/propg-routing.module.ts","./src/app/modules/propg/usuario-externo/usuario-externo-listar/usuario-externo-listar.component.ts","./src/app/modules/propg/propg.module.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/aluno-inscricao/ordem-preferencia-curso-divisao/ordem-preferencia-curso-divisao.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/aluno-inscricao/ordem-preferencia-curso-divisao/ordem-preferencia-curso-divisao.component.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/disciplina-listar/disciplina-listar.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/disciplina-listar/disciplina-listar.component.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/docente-disciplina-listar/docente-disciplina-listar.component.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/docente-disciplina-listar/docente-disciplina-listar.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/docente-listar/docente-listar.component.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/docente-listar/docente-listar.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/inscricoes-abertas/inscricoes-abertas.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/inscricoes-abertas/inscricoes-abertas.component.ts","./src/app/services/curso-edicao-unidade.service.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/proposta-listar/proposta-listar.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/proposta-listar/proposta-listar.component.ts","./src/app/services/edicao-aluno-monografia.service.ts","./src/app/modules/unidade/edicao-aluno-monografia/edicao-aluno-monografia-editar/edicao-aluno-monografia-editar.component.html","./src/app/modules/unidade/edicao-aluno-monografia/edicao-aluno-monografia-editar/edicao-aluno-monografia-editar.component.ts","./src/app/modules/unidade/curso/curso-listar/curso-listar.component.html","./src/app/modules/unidade/curso/curso-listar/curso-listar.component.ts","./src/app/services/unidade-universitaria.service.ts","./src/app/modules/unidade/curso/curso-editar/curso-editar.component.html","./src/app/modules/unidade/curso/curso-editar/curso-editar.component.ts","./src/app/modules/unidade/edicao-disciplina/edicao-disciplina-selecionar/edicao-disciplina-selecionar.component.html","./src/app/modules/unidade/edicao-disciplina/edicao-disciplina-selecionar/edicao-disciplina-selecionar.component.ts","./src/app/enums/tipo-curso-edicao-importacao.ts","./src/app/modules/unidade/curso-edicao-importar/curso-edicao-importar-dialog/curso-edicao-importar-dialog.component.html","./src/app/modules/unidade/curso-edicao-importar/curso-edicao-importar-dialog/curso-edicao-importar-dialog.component.ts","./src/app/enums/tipo-curso-edicao-importacao-fora-prazo.ts","./src/app/modules/unidade/curso-edicao-importar/curso-edicao-importar-upload/curso-edicao-importar-upload.component.html","./src/app/modules/unidade/curso-edicao-importar/curso-edicao-importar-upload/curso-edicao-importar-upload.component.ts","./src/app/services/relatorio-coordenador.service.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-situacao/curso-edicao-situacao.component.html","./src/app/modules/unidade/curso-edicao/curso-edicao-situacao/curso-edicao-situacao.component.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-listar/curso-edicao-listar.component.html","./src/app/modules/unidade/curso-edicao/curso-edicao-listar/curso-edicao-listar.component.ts","./src/app/services/departamento.service.ts","./src/app/services/curso-edicao-parecer-resolucao412011.service.ts","./src/app/services/curso-edicao-parecer-resolucao902019.service.ts","./src/app/services/docente.service.ts","./src/app/modules/unidade/docente/search-select-docente/search-select-docente.component.ts","./src/app/modules/unidade/docente/search-select-docente/search-select-docente.component.html","./src/app/modules/unidade/docente/input-docente/input-docente.component.ts","./src/app/modules/unidade/docente/input-docente/input-docente.component.html","./src/app/modules/cepg/parecer/parecer-resolucao412011-editar/parecer-resolucao412011-editar.component.html","./src/app/modules/cepg/parecer/parecer-resolucao412011-editar/parecer-resolucao412011-editar.component.ts","./src/app/modules/cepg/parecer/parecer-resolucao902019-editar/parecer-resolucao902019-editar.component.html","./src/app/modules/cepg/parecer/parecer-resolucao902019-editar/parecer-resolucao902019-editar.component.ts","./src/app/services/sigad-api.service.ts","./src/app/modules/unidade/selecionar-processo-sigad/selecionar-processo-sigad.component.html","./src/app/modules/unidade/selecionar-processo-sigad/selecionar-processo-sigad.component.ts","./src/app/modules/unidade/curso-edicao/dados-complementares-proposta-editar/dados-complementares-proposta-editar.component.html","./src/app/modules/unidade/curso-edicao/dados-complementares-proposta-editar/dados-complementares-proposta-editar.component.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-editar/curso-edicao-editar.component.html","./src/app/modules/unidade/curso-edicao/curso-edicao-editar/curso-edicao-editar.component.ts","./src/app/modules/unidade/edicao-disciplina/edicao-disciplina-listar/edicao-disciplina-listar.component.html","./src/app/modules/unidade/edicao-disciplina/edicao-disciplina-listar/edicao-disciplina-listar.component.ts","./src/app/modules/unidade/enfase-modulo/enfase-modulo-listar-editar/enfase-modulo-listar-editar.component.html","./src/app/modules/unidade/enfase-modulo/enfase-modulo-listar-editar/enfase-modulo-listar-editar.component.ts","./src/app/modules/unidade/edicao-disciplina/edicao-disciplina-editar/edicao-disciplina-editar.component.html","./src/app/modules/unidade/edicao-disciplina/edicao-disciplina-editar/edicao-disciplina-editar.component.ts","./src/app/enums/docente-titulacao.ts","./src/app/modules/unidade/edicao-docente/edicao-docente-cadastro.component.html","./src/app/modules/unidade/edicao-docente/edicao-docente-cadastro.component.ts","./src/app/services/docente-externo.service.ts","./src/app/modules/unidade/docente-externo/docente-externo-editar/docente-externo-editar.component.html","./src/app/modules/unidade/docente-externo/docente-externo-editar/docente-externo-editar.component.ts","./src/app/modules/unidade/central-acessos/central-acessos-editar.component.ts","./src/app/modules/unidade/central-acessos/central-acessos-editar.component.html","./src/app/modules/unidade/docente-externo/docente-externo-listar/docente-externo-listar.component.html","./src/app/modules/unidade/docente-externo/docente-externo-listar/docente-externo-listar.component.ts","./src/app/modules/unidade/docente-disciplina/docente-disciplina-cadastro.component.html","./src/app/modules/unidade/docente-disciplina/docente-disciplina-cadastro.component.ts","./src/app/modules/unidade/edicao-aluno/edicao-aluno-editar/edicao-aluno-editar.component.html","./src/app/modules/unidade/edicao-aluno/edicao-aluno-editar/edicao-aluno-editar.component.ts","./src/app/services/aluno-edicao-enfase.service.ts","./src/app/modules/unidade/edicao-aluno-enfase/edicao-aluno-enfase.component.html","./src/app/modules/unidade/edicao-aluno-enfase/edicao-aluno-enfase.component.ts","./src/app/modules/unidade/edicao-aluno/edicao-aluno-listar/edicao-aluno-listar.component.html","./src/app/modules/unidade/edicao-aluno/edicao-aluno-listar/edicao-aluno-listar-confirma-alterar-status-dialog.html","./src/app/modules/unidade/edicao-aluno/edicao-aluno-listar/edicao-aluno-listar.component.ts","./src/app/modules/unidade/edicao-aluno/edicao-aluno-listagem-geral/edicao-aluno-listagem-geral.component.html","./src/app/modules/unidade/edicao-aluno/edicao-aluno-listagem-geral/edicao-aluno-listagem-geral.component.ts","./src/app/modules/unidade/nota-falta/nota-falta-listar-editar/nota-falta-listar-editar.component.html","./src/app/modules/unidade/nota-falta/nota-falta-listar-editar/nota-falta-listar-editar.component.ts","./src/app/modules/unidade/edicao-aluno-relatorio/edicao-aluno-relatorio-listar/edicao-aluno-relatorio-listar.component.html","./src/app/modules/unidade/edicao-aluno-relatorio/edicao-aluno-relatorio-listar/edicao-aluno-relatorio-listar.component.ts","./src/app/modules/unidade/edicao-aluno-documento/edicao-aluno-documento-listar/edicao-aluno-documento-listar.component.html","./src/app/modules/unidade/edicao-aluno-documento/edicao-aluno-documento-listar/edicao-aluno-documento-listar.component.ts","./src/app/modules/unidade/curso-edicao-avaliacao/curso-edicao-avaliacao-listar/curso-edicao-avaliacao-listar.component.html","./src/app/modules/unidade/curso-edicao-avaliacao/curso-edicao-avaliacao-listar/curso-edicao-avaliacao-listar.component.ts","./src/app/modules/unidade/curso-edicao-relatorio/dados-complementares-relatorio-editar/dados-complementares-relatorio-editar.component.html","./src/app/modules/unidade/curso-edicao-relatorio/dados-complementares-relatorio-editar/dados-complementares-relatorio-editar.component.ts","./src/app/modules/unidade/curso-edicao-relatorio/relatorio-parcial-coordenador-editar/relatorio-parcial-coordenador-editar.component.html","./src/app/modules/unidade/curso-edicao-relatorio/relatorio-parcial-coordenador-editar/relatorio-parcial-coordenador-editar.component.ts","./src/app/enums/relatorio-final-situacao.ts","./src/app/models/relatorio-detalhes.ts","./src/app/services/relatorio-final-cepg.service.ts","./src/app/modules/cepg/relatorio-final-cepg-editar/relatorio-final-cepg-editar.component.html","./src/app/modules/cepg/relatorio-final-cepg-editar/relatorio-final-cepg-editar.component.ts","./src/app/modules/unidade/curso-edicao-relatorio/relatorio-final-coordenador-editar/relatorio-final-coordenador-editar.component.html","./src/app/modules/unidade/curso-edicao-relatorio/relatorio-final-coordenador-editar/relatorio-final-coordenador-editar.component.ts","./src/app/modules/unidade/curso-edicao-avaliacao/avaliacao-parcial-discente-visualizar/avaliacao-parcial-discente-visualizar.component.html","./src/app/modules/unidade/curso-edicao-avaliacao/avaliacao-parcial-discente-visualizar/avaliacao-parcial-discente-visualizar.component.ts","./src/app/modules/unidade/curso-edicao-avaliacao/avaliacao-parcial-discente-listar/avaliacao-parcial-discente-listar.component.html","./src/app/modules/unidade/curso-edicao-avaliacao/avaliacao-parcial-discente-listar/avaliacao-parcial-discente-listar.component.ts","./src/app/modules/unidade/curso-edicao-avaliacao/avaliacao-final-discente-visualizar/avaliacao-final-discente-visualizar.component.html","./src/app/modules/unidade/curso-edicao-avaliacao/avaliacao-final-discente-visualizar/avaliacao-final-discente-visualizar.component.ts","./src/app/modules/unidade/curso-edicao-avaliacao/avaliacao-final-discente-listar/avaliacao-final-discente-listar.component.html","./src/app/modules/unidade/curso-edicao-avaliacao/avaliacao-final-discente-listar/avaliacao-final-discente-listar.component.ts","./src/app/modules/unidade/lista-presenca/lista-presenca-gerar/lista-presenca-gerar.component.html","./src/app/modules/unidade/lista-presenca/lista-presenca-gerar/lista-presenca-gerar.component.ts","./src/app/services/certificado.service.ts","./src/app/modules/unidade/certificado/certificado-registrar/certificado-registrar.component.html","./src/app/modules/unidade/certificado/certificado-registrar/certificado-registrar.component.ts","./src/app/modules/unidade/historico-de-alteracoes/historico-de-alteracoes-dialog/historico-de-alteracoes-dialog.component.html","./src/app/modules/unidade/historico-de-alteracoes/historico-de-alteracoes-dialog/historico-de-alteracoes-dialog.component.ts","./src/app/services/historico-de-alteracoes.service.ts","./src/app/modules/unidade/historico-de-alteracoes/historico-de-alteracoes-listar/historico-de-alteracoes-listar.component.html","./src/app/modules/unidade/historico-de-alteracoes/historico-de-alteracoes-listar/historico-de-alteracoes-listar.component.ts","./src/app/modules/unidade/curso-edicao-relatorio/curso-edicao-relatorio-listar/curso-edicao-relatorio-listar.component.html","./src/app/modules/unidade/curso-edicao-relatorio/curso-edicao-relatorio-listar/curso-edicao-relatorio-listar.component.ts","./src/app/modules/comum/download/download-asset.component.ts","./src/app/modules/comum/download/download-asset.component.html","./src/app/modules/unidade/edicao-aluno/edicao-aluno-alterar-situacao/edicao-aluno-alterar-situacao.component.html","./src/app/modules/unidade/edicao-aluno/edicao-aluno-alterar-situacao/edicao-aluno-alterar-situacao.component.ts","./src/app/modules/unidade/curso-edicao-importar/manual-importacao/manual-importacao.component.html","./src/app/modules/unidade/curso-edicao-importar/manual-importacao/manual-importacao.component.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-publicacao/curso-edicao-publicacao.component.html","./src/app/modules/unidade/curso-edicao/curso-edicao-publicacao/curso-edicao-publicacao.component.ts","./src/app/services/curso-edicao-documento-inscricao.service.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-inscricao/curso-edicao-documento-inscricao/curso-edicao-documento-inscricao.component.html","./src/app/modules/unidade/curso-edicao/curso-edicao-inscricao/curso-edicao-documento-inscricao/curso-edicao-documento-inscricao.component.ts","./src/app/enums/tipo-campo.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-inscricao/curso-edicao-formulario-complementar/preview/fc-preview.component.html","./src/app/modules/unidade/curso-edicao/curso-edicao-inscricao/curso-edicao-formulario-complementar/preview/fc-preview.component.ts","./src/app/services/curso-edicao-formulario-complementar.service.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-inscricao/curso-edicao-formulario-complementar/curso-edicao-formulario-complementar.component.html","./src/app/modules/unidade/curso-edicao/curso-edicao-inscricao/curso-edicao-formulario-complementar/curso-edicao-formulario-complementar.component.ts","./src/app/modules/unidade/unidade-routing.module.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-inscricao/curso-edicao-inscricao.component.ts","./src/app/modules/unidade/curso-edicao/curso-edicao-inscricao/curso-edicao-inscricao.component.html","./src/app/modules/unidade/unidade.module.ts","./src/app/pt-br-paginator-intl.ts","./src/app/services/aluno-disicplina.service.ts","./src/app/services/analise-historico.service.ts","./src/app/services/area-conhecimento.service.ts","./src/app/services/arquivo-download.service.ts","./src/app/services/avaliacao-discente.service.ts","./src/app/services/cidade.service.ts","./src/app/services/curso-edicao-inscricao.service .ts","./src/app/services/curso-edicao-publicacao.service.ts","./src/app/models/delete-ids.ts","./src/app/services/curso-edicao.service.ts","./src/app/services/curso.service.ts","./src/app/services/data.service.ts","./src/app/services/docente-disciplina.service.ts","./src/app/services/edicao-aluno-relatorios.service.ts","./src/app/services/edicao-aluno.service.ts","./src/app/services/edicao-disciplina.service.ts","./src/app/services/edicao-docente-relatorios.service.ts","./src/app/services/edicao-docente.service.ts","./src/app/services/enfase-modulo.service.ts","./src/app/services/error-handler.service.ts","./src/app/services/exportarCSV.service.ts","./src/app/services/lattes.service.ts","./src/app/services/local-storage.service.ts","./src/app/services/modalidade.service.ts","./src/app/services/resolucao.service.ts","./src/app/services/tipo-especificidade.service.ts","./src/app/menu/menu-candidato.ts","./src/app/services/usuario-login.service.ts","./src/app/services/cep.service.ts","./src/app/services/validacao.service.ts","./src/app/utils/utils.ts","./src/app/utils/validators.ts","./src/environments/environment.prod.ts","./src/app/menu/menu-completo.ts","./src/app/modules/comum/home/home.component.html","./src/app/modules/comum/home/home.component.ts","./src/app/modules/comum/central-acessos-home/central-acessos-home.component.ts","./src/app/modules/comum/suporte/ajuda-suporte.component.ts","./src/app/modules/comum/suporte/ajuda-suporte.component.html","./src/app/modules/publico/auth/auth.component.html","./src/app/modules/publico/auth/auth.component.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/inscricoes-futuras/inscricoes-futuras.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/inscricoes-futuras/inscricoes-futuras.component.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/inscricoes-andamento/inscricoes-andamento.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/inscricoes-andamento/inscricoes-andamento.component.ts","./src/app/modules/publico/curso-edicao-inscricao-listar/curso-edicao-inscricao-listar.component.html","./src/app/modules/publico/curso-edicao-inscricao-listar/curso-edicao-inscricao-listar.component.ts","./src/app/modules/publico/senha-recuperar/senha-recuperar.component.html","./src/app/modules/publico/senha-recuperar/senha-recuperar.component.ts","./src/app/modules/publico/senha-redefinir/senha-redefinir.component.ts","./src/app/modules/publico/senha-redefinir/senha-redefinir.component.html","./src/app/services/documento.service.ts","./src/app/modules/publico/documento-validator/documento-validador.component.ts","./src/app/modules/publico/documento-validator/documento-validador.component.html","./src/app/modules/comum/logout/logout.component.ts","./src/app/modules/publico/curso-edicao-inscricao-detalhes/lista-disciplina-inframe/lista-disciplina-inframe.component.html","./src/app/modules/publico/curso-edicao-inscricao-detalhes/lista-disciplina-inframe/lista-disciplina-inframe.component.ts","./src/app/modules/publico/curso-edicao-inscricao-detalhes/lista-docente-disciplina-inframe/lista-docente-disciplina-inframe.component.html","./src/app/modules/publico/curso-edicao-inscricao-detalhes/lista-docente-disciplina-inframe/lista-docente-disciplina-inframe.component.ts","./src/app/modules/publico/curso-edicao-inscricao-detalhes/lista-documentos-inframe/lista-documentos.component.html","./src/app/modules/publico/curso-edicao-inscricao-detalhes/lista-documentos-inframe/lista-documentos.component.ts","./src/app/modules/publico/curso-edicao-inscricao-detalhes/lista-docente-inframe/lista-docente-inframe.component.html","./src/app/modules/publico/curso-edicao-inscricao-detalhes/lista-docente-inframe/lista-docente-inframe.component.ts","./src/app/modules/publico/curso-edicao-inscricao-detalhes/curso-edicao-inscricao-detalhes.component.html","./src/app/app-routing.module.ts","./src/app/modules/publico/curso-edicao-inscricao-detalhes/curso-edicao-inscricao-detalhes.component.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/interceptors/request-interceptor/request-interceptor.service.ts","./src/app/interceptors/request-interceptor/request-interceptor.module.ts","./src/app/interceptors/interceptors.module.ts","./src/app/app.module.ts","./src/main.ts"],"sourcesContent":["export enum AlunoDeficiencia {\n INTELECTUAL = 'Intelectual',\n SENSORIAL = 'Sensorial',\n FISICA = 'Física',\n MULTIPLA = 'Múltipla (combinação de 2 ou mais)',\n AUDITIVA = 'Auditiva',\n MENTAL = 'Mental',\n VISUAL = 'Visual',\n}\n","export enum AlunoGenero {\n HOMEM_CIS = 'Homem Cis',\n HOMEM_TRANS = 'Homem Trans',\n MULHER_CIS = 'Mulher Cis',\n MULHER_TRANS = 'Mulher Trans',\n NAO_BINARIO = 'Não-Binário',\n TRAVESTI = 'Travesti',\n}\n","export enum ConceitoAlunoDisciplina {\n INDEFINIDO = 'Indefinido',\n APROVADO = 'Aprovado',\n REPROVADO = 'Reprovado',\n APROVEITAMENTE_DE_CREDITO = 'Aproveitamento de Crédito',\n}\n","export enum CursoEdicaoRelatorio {\n FICHA_INSCRICAO = 'Ficha de Inscrição',\n ATESTADO_MATRICULA = 'Atestado de Matrícula',\n ATESTADO_CONCLUSAO = 'Atestado de Conclusão do Curso',\n HISTORICO_ESCOLAR = 'Histórico Escolar',\n CERTIFICADO = 'Certificado',\n CERTIFICADO_PDF = 'Certificado',\n}\n\nexport enum CursoEdicaoRelatorioDisponivelParaEmissao {\n FICHA_INSCRICAO = 'Ficha de Inscrição',\n ATESTADO_MATRICULA = 'Atestado de Matrícula',\n ATESTADO_CONCLUSAO = 'Atestado de Conclusão do Curso',\n HISTORICO_ESCOLAR = 'Histórico Escolar',\n //CERTIFICADO = 'Certificado',\n ESCOLHA_MODULO_CANDIDATO = 'Escolha do módulo pelo candidato na inscrição',\n}\n\nexport function getCursoEdicaoRelatorioValueByKey(value: string) {\n return Object.entries(CursoEdicaoRelatorio).find(([key]) => key === value)?.[1]\n}\n","export enum CursoEdicaoSituacao {\n ELABORACAO = 'Em elaboração',\n ANALISE_PROPEG = 'Em análise da PROPEG',\n DILIGENCIA_PROPEG = 'Diligência pela PROPEG',\n // ANALISE_PROPG = 'Em análise da PROPG',\n ANALISE_CEPG = 'Em análise da CEPG',\n DILIGENCIA_CEPG = 'Diligência pela CEPG',\n ANALISE_CCPG = 'Em análise da CCPG',\n ANDAMENTO = 'Em andamento',\n SUSPENSO = 'Suspenso',\n CANCELADO = 'Cancelado',\n RELATORIO_FINAL = 'Relatório final',\n DILIGENCIA = 'Diligência',\n CONCLUIDO = 'Concluído',\n}\n\nexport enum CursoEdicaoSituacaoExclusivaCepg {\n LISTAGEM_CEPG = 'Disponível para análise e parecer da CEPG',\n ELABORACAO = 'Em elaboração',\n ANALISE_PROPEG = 'Em análise da PROPEG',\n DILIGENCIA_PROPEG = 'Diligência pela PROPEG',\n // ANALISE_PROPG = 'Em análise da PROPG',\n ANALISE_CEPG = 'Em análise da CEPG',\n DILIGENCIA_CEPG = 'Diligência pela CEPG',\n ANALISE_CCPG = 'Em análise da CCPG',\n ANDAMENTO = 'Em andamento',\n SUSPENSO = 'Suspenso',\n CANCELADO = 'Cancelado',\n RELATORIO_FINAL = 'Relatório final',\n DILIGENCIA = 'Diligência',\n CONCLUIDO = 'Concluído',\n}\n\nexport enum CursoEdicaoSituacaoPermiteAvaliacao {\n ANDAMENTO = 'Em andamento',\n RELATORIO_FINAL = 'Relatório final',\n CONCLUIDO = 'Concluído',\n}\n\nexport enum CursoEdicaoSituacaoPermiteRelatorio {\n ANDAMENTO = 'Em andamento',\n RELATORIO_FINAL = 'Relatório final',\n CONCLUIDO = 'Concluído',\n}\n\nexport function getCursoEdicaoSituacaoByDescription(value: string) {\n const indexOfS = Object.values(CursoEdicaoSituacao).indexOf(value as unknown as CursoEdicaoSituacao)\n const key = Object.keys(CursoEdicaoSituacao)[indexOfS]\n return key\n}\n\nexport function getCursoEdicaoSituacaoValueByKey(value: string) {\n return Object.entries(CursoEdicaoSituacao).find(([key]) => key === value)?.[1]\n}\n","export enum EstadoCivil {\n 'Solteiro' = 1,\n 'Casado' = 2,\n 'Divorciado' = 3,\n 'Viúvo' = 4,\n 'União Estável' = 5,\n 'Separado' = 6,\n}\n","export enum Estado {\n AC = 'Acre',\n AL = 'Alagoas',\n AP = 'Amapá',\n AM = 'Amazonas',\n BA = 'Bahia',\n CE = 'Ceará',\n DF = 'Distrito Federal',\n ES = 'Espírito Santo',\n GO = 'Goiás',\n MA = 'Maranhão',\n MT = 'Mato Grosso',\n MS = 'Mato Grosso do Sul',\n MG = 'Minas Gerais',\n PA = 'Pará',\n PB = 'Paraíba',\n PR = 'Paraná',\n PE = 'Pernambuco',\n PI = 'Piauí',\n RJ = 'Rio de Janeiro',\n RN = 'Rio Grande do Norte',\n RS = 'Rio Grande do Sul',\n RO = 'Rondônia',\n RR = 'Roraima',\n SC = 'Santa Catarina',\n SP = 'São Paulo',\n SE = 'Sergipe',\n TO = 'Tocantins',\n}\n","export enum InscricaoSituacao {\n 'Pre-Inscrito' = 'Pre-Inscrito',\n 'Inscrito' = 'Inscrito',\n 'Matriculado' = 'Matriculado',\n 'Formado' = 'Formado',\n 'Reprovado' = 'Reprovado',\n 'Desligado' = 'Desligado',\n}\n\nexport enum InscricaoSituacaoParaPreInscrito {\n 'Pre-Inscrito' = 'Pre-Inscrito',\n 'Inscrito' = 'Inscrito',\n 'Desligado' = 'Desligado',\n}\n\nexport enum InscricaoSituacaoParaInscrito {\n 'Pre-Inscrito' = 'Pre-Inscrito',\n 'Inscrito' = 'Inscrito',\n 'Matriculado' = 'Matriculado',\n 'Desligado' = 'Desligado',\n}\n\nexport enum InscricaoSituacaoParaMatriculado {\n 'Matriculado' = 'Matriculado',\n 'Inscrito' = 'Inscrito',\n 'Formado' = 'Formado',\n 'Reprovado' = 'Reprovado',\n}\n\nexport enum InscricaoSituacaoParaFormado {\n 'Formado' = 'Formado',\n 'Matriculado' = 'Matriculado',\n}\n\nexport enum InscricaoSituacaoParaReprovado {\n 'Reprovado' = 'Reprovado',\n 'Matriculado' = 'Matriculado',\n}\n\nexport enum InscricaoSituacaoParaDesligado {\n 'Desligado' = 'Desligado',\n 'Pre-Inscrito' = 'Pre-Inscrito',\n}","export enum LogTipoAcao {\n LOGIN = 'Login',\n GET = 'Consulta',\n INSERT = 'Inserção',\n UPDATE = 'Atualização',\n DELETE = 'Remoção',\n NOTIFY = 'Notificação',\n}\n\nexport enum LogRegistroAcao {\n ALUNO = 'Aluno',\n ALUNO_EDICAO = 'Aluno edição',\n ALUNO_SITUACAO = 'Aluno situacao',\n ANALISE_FINANCEIRA = 'Análise financeira',\n AREA_CONHECIMENTO = 'Area conhecimento',\n AVALIACAO_PARCIAL_DISCENTE = 'Avaliação parcial - Discente',\n AVALIACAO_FINAL_DISCENTE = 'Avaliação final - Discente',\n CENTRAL_ACESSOS = 'Central de Acessos',\n CURSO = 'Curso',\n CURSO_EDICAO = 'Curso edição',\n CURSO_EDICAO_ANALISE_PROPEG = 'Curso edição - Análise PROPEG',\n CURSO_EDICAO_DILIGENCIA_PROPEG = 'Curso edição - Diligência PROPEG',\n CURSO_EDICAO_ANALISE_PROPG = 'Curso edição - Análise PROPG',\n CURSO_EDICAO_ANALISE_CEPG = 'Curso edição - Análise CEPG',\n CURSO_EDICAO_DILIGENCIA_CEPG = 'Curso edição - Diligência CEPG',\n CURSO_EDICAO_ANALISE_CCPG = 'Curso edição - Análise CCPG',\n CURSO_EDICAO_ANDAMENTO = 'Curso edição - Em andamento',\n CURSO_EDICAO_SUSPENSO = 'Curso edição - Suspenso',\n CURSO_EDICAO_CANCELADO = 'Curso edição - Cancelado',\n CURSO_EDICAO_RELATORIO_FINAL = 'Curso edição - Relatório final',\n CURSO_EDICAO_DILIGENCIA = 'Curso edição - Diligência',\n DISCIPLINA = 'Disciplina',\n DOCENTE = 'Docente',\n DOCENTE_DISCIPLINA_VINCULO = 'Docente x Disciplina',\n DOCENTE_EXTERNO = 'Docente externo',\n DOCUMENTO_GERADO_ALUNO = 'Documento Gerado Aluno',\n ENFASE_MODULO = 'Módulo',\n FORMULARIO_COMPLEMENTAR = 'Formulário complementar',\n IMPORTACAO_ALUNO_EDICAO = 'Importação - Aluno Edição',\n IMPORTACAO_ALUNO_DISCIPLINA = 'Importação - Aluno Disciplina',\n IMPORTACAO_ALUNO_MONOGRAFIA = 'Importação - Aluno TCE',\n INSCRICAO = 'Inscrição',\n MODALIDADE = 'Modalidade',\n MONOGRAFIA = 'TCE',\n CERTIFICADO = 'Certificado',\n NOTA_FALTA = 'Notas e faltas',\n PARECER_412011 = 'Parecer 41/2011',\n PARECER_902019 = 'Parecer 90/2019',\n RECUPERAR_SENHA = 'Recuperar senha',\n RELATORIO_PARCIAL_COORDENADOR = 'Relatório parcial - Coordenador',\n RELATORIO_FINAL_COORDENADOR = 'Relatório final - Coordenador',\n RESOLUCAO = 'Resolução',\n SENHA_ACESSO = 'Senha de acesso',\n TIPO_ESPECIFICIDADE = 'Tipo especificidade',\n USUARIO_EXTERNO = 'Usuário externo',\n}\n","export enum ModeloCertificado {\n ASSINATURA_PROREITOR = 'Assinatura do Pró-Reitor de Pós-Graduação',\n ASSINATURA_COORDENADOR_DIRETOR_PROREITOR = 'Assinatura do Coordenador do curso, do Diretor da unidade e do Pró-Reitor de pós-graduação',\n}\n","export enum OrgaoExpedicaoRg {\n SSP = 'SSP - Secretaria de Segurança Pública',\n SSPDC = 'SSPDC - Secretaria da Segurança Pública e Defesa da Cidadania',\n SSPDS = 'SSPDS - Secretaria da Segurança Pública e Defesa Social',\n DETRAN = 'DETRAN - Diretoria de Identificação Civil',\n DPTC = 'DPTC - Departamento de Polícia Técnico Científica',\n GEJSPC = 'GEJSPC - Gerência de Estado de Justiça, Segurança Pública e Cidadania',\n SDS = 'SDS - Secretaria de Defesa Social',\n SECC = 'SECC - Secretaria de Estado da Casa Civil',\n SEJUSP = 'SEJUSP - Secretaria de Estado de Justiça e Segurança Pública',\n SEPC = 'SEPC - Secretaria de Estado da Polícia Civil',\n SESP = 'SESP - Secretaria de Estado de Segurança Pública',\n SESDEC = 'SESDEC - Secretaria de Estado da Segurança, Defesa e Cidadania',\n SESPDS = 'SESPDS - Secretaria de Estado de Segurança Pública e Defesa Social',\n SESPAP = 'SESPAP - Secretaria de Estado da Segurança Pública e Administração Penitenciária',\n SPTC = 'SPTC - Secretaria de Polícia Técnico-Científica',\n PM = 'PM - Polícia Militar',\n PC = 'PC - Policia Civil',\n CNT = 'CNT - Carteira Nacional de Habilitação',\n DIC = 'DIC - Diretoria de Identificação Civil',\n CTPS = 'CTPS - Carteira de Trabaho e Previdência Social',\n FGTS = 'FGTS - Fundo de Garantia do Tempo de Serviço',\n IFP = 'IFP - Instituto Félix Pacheco',\n IPF = 'IPF - Instituto Pereira Faustino',\n IML = 'IML - Instituto Médico-Legal',\n MTE = 'MTE - Ministério do Trabalho e Emprego',\n MMA = 'MMA - Ministério da Marinha',\n MAE = 'MAE - Ministério da Aeronáutica',\n MEX = 'MEX - Ministério do Exército',\n POF = 'POF - Polícia Federal',\n POM = 'POM - Polícia Militar',\n SES = 'SES - Carteira de Estrangeiro',\n SJS = 'SJS - Secretaria da Justiça e Segurança',\n SJTS = 'SJTS - Secretaria da Justiça do Trabalho e Segurança',\n ZZZ = 'ZZZ - Outros (inclusive exterior)',\n}\n","export enum Pais {\n 'Afeganistão' = 'Afeganistão',\n 'Africa do Sul' = 'África do Sul',\n 'Albânia' = 'Albânia',\n 'Alemanha' = 'Alemanha',\n 'Andorra' = 'Andorra',\n 'Angola' = 'Angola',\n 'Antígua e Barbuda' = 'Antígua e Barbuda',\n 'Arábia Saudita' = 'Arábia Saudita',\n 'Argélia' = 'Argélia',\n 'Argentina' = 'Argentina',\n 'Armênia' = 'Armênia',\n 'Austrália' = 'Austrália',\n 'Austria' = 'Áustria',\n 'Azerbaijão' = 'Azerbaijão',\n 'Bahamas' = 'Bahamas',\n 'Bahrein' = 'Bahrein',\n 'Bangladesh' = 'Bangladesh',\n 'Barbados' = 'Barbados',\n 'Bélgica' = 'Bélgica',\n 'Belize' = 'Belize',\n 'Benin' = 'Benin',\n 'Bielorrússia' = 'Bielorrússia',\n 'Bolívia' = 'Bolívia',\n 'Bósnia e Herzegovina' = 'Bósnia e Herzegovina',\n 'Botsuana' = 'Botsuana',\n 'Brasil' = 'Brasil',\n 'Brunei' = 'Brunei',\n 'Bulgária' = 'Bulgária',\n 'Burkina Faso' = 'Burkina Faso',\n 'Burundi' = 'Burundi',\n 'Butão' = 'Butão',\n 'Cabo Verde' = 'Cabo Verde',\n 'Camarões' = 'Camarões',\n 'Camboja' = 'Camboja',\n 'Canadá' = 'Canadá',\n 'Catar' = 'Catar',\n 'Cazaquistão' = 'Cazaquistão',\n 'Chade' = 'Chade',\n 'Chile' = 'Chile',\n 'China' = 'China',\n 'Chipre' = 'Chipre',\n 'Colômbia' = 'Colômbia',\n 'Comores' = 'Comores',\n 'Congo' = 'Congo',\n 'Coreia do Norte' = 'Coreia do Norte',\n 'Coreia do Sul' = 'Coreia do Sul',\n 'Costa do Marfim' = 'Costa do Marfim',\n 'Costa Rica' = 'Costa Rica',\n 'Croácia' = 'Croácia',\n 'Cuba' = 'Cuba',\n 'Dinamarca' = 'Dinamarca',\n 'Djibuti' = 'Djibuti',\n 'Dominica' = 'Dominica',\n 'Egito' = 'Egito',\n 'El Salvador' = 'El Salvador',\n 'Emirados Árabes Unidos' = 'Emirados Árabes Unidos',\n 'Equador' = 'Equador',\n 'Eritreia' = 'Eritreia',\n 'Eslováquia' = 'Eslováquia',\n 'Eslovênia' = 'Eslovênia',\n 'Espanha' = 'Espanha',\n 'Estados Unidos' = 'Estados Unidos',\n 'Estônia' = 'Estônia',\n 'Etiópia' = 'Etiópia',\n 'Fiji' = 'Fiji',\n 'Filipinas' = 'Filipinas',\n 'Finlândia' = 'Finlândia',\n 'França' = 'França',\n 'Gabão' = 'Gabão',\n 'Gâmbia' = 'Gâmbia',\n 'Gana' = 'Gana',\n 'Geórgia' = 'Geórgia',\n 'Granada' = 'Granada',\n 'Grécia' = 'Grécia',\n 'Guatemala' = 'Guatemala',\n 'Guiana' = 'Guiana',\n 'Guiné' = 'Guiné',\n 'Guiné Equatorial' = 'Guiné Equatorial',\n 'Guiné-Bissau' = 'Guiné-Bissau',\n 'Haiti' = 'Haiti',\n 'Holanda' = 'Holanda',\n 'Honduras' = 'Honduras',\n 'Hungria' = 'Hungria',\n 'Iêmen' = 'Iêmen',\n 'Ilhas Marshall' = 'Ilhas Marshall',\n 'Ilhas Salomão' = 'Ilhas Salomão',\n 'India' = 'Índia',\n 'Indonésia' = 'Indonésia',\n 'Irã' = 'Irã',\n 'Iraque' = 'Iraque',\n 'Irlanda' = 'Irlanda',\n 'Islândia' = 'Islândia',\n 'Israel' = 'Israel',\n 'Itália' = 'Itália',\n 'Jamaica' = 'Jamaica',\n 'Japão' = 'Japão',\n 'Jordânia' = 'Jordânia',\n 'Kuwait' = 'Kuwait',\n 'Laos' = 'Laos',\n 'Lesoto' = 'Lesoto',\n 'Letônia' = 'Letônia',\n 'Líbano' = 'Líbano',\n 'Libéria' = 'Libéria',\n 'Líbia' = 'Líbia',\n 'Liechtenstein' = 'Liechtenstein',\n 'Lituânia' = 'Lituânia',\n 'Luxemburgo' = 'Luxemburgo',\n 'Macedônia do Norte' = 'Macedônia do Norte',\n 'Madagascar' = 'Madagascar',\n 'Malásia' = 'Malásia',\n 'Malawi' = 'Malawi',\n 'Maldivas' = 'Maldivas',\n 'Mali' = 'Mali',\n 'Malta' = 'Malta',\n 'Marrocos' = 'Marrocos',\n 'Maurício' = 'Maurício',\n 'Mauritânia' = 'Mauritânia',\n 'México' = 'México',\n 'Mianmar' = 'Mianmar',\n 'Micronésia' = 'Micronésia',\n 'Moçambique' = 'Moçambique',\n 'Moldávia' = 'Moldávia',\n 'Mônaco' = 'Mônaco',\n 'Mongólia' = 'Mongólia',\n 'Montenegro' = 'Montenegro',\n 'Namíbia' = 'Namíbia',\n 'Nauru' = 'Nauru',\n 'Nepal' = 'Nepal',\n 'Nicarágua' = 'Nicarágua',\n 'Níger' = 'Níger',\n 'Nigéria' = 'Nigéria',\n 'Noruega' = 'Noruega',\n 'Nova Zelândia' = 'Nova Zelândia',\n 'Omã' = 'Omã',\n 'Palau' = 'Palau',\n 'Panamá' = 'Panamá',\n 'Papua Nova Guiné' = 'Papua Nova Guiné',\n 'Paquistão' = 'Paquistão',\n 'Paraguai' = 'Paraguai',\n 'Peru' = 'Peru',\n 'Polônia' = 'Polônia',\n 'Portugal' = 'Portugal',\n 'Quênia' = 'Quênia',\n 'Quirguistão' = 'Quirguistão',\n 'Reino Unido' = 'Reino Unido',\n 'República Centro-Africana' = 'República Centro-Africana',\n 'República Dominicana' = 'República Dominicana',\n 'República Tcheca' = 'República Tcheca',\n 'Romênia' = 'Romênia',\n 'Ruanda' = 'Ruanda',\n 'Rússia' = 'Rússia',\n 'Samoa' = 'Samoa',\n 'San Marino' = 'San Marino',\n 'Santa Lúcia' = 'Santa Lúcia',\n 'São Cristóvão e Nevis' = 'São Cristóvão e Nevis',\n 'São Tomé e Príncipe' = 'São Tomé e Príncipe',\n 'São Vicente e Granadinas' = 'São Vicente e Granadinas',\n 'Senegal' = 'Senegal',\n 'Sérvia' = 'Sérvia',\n 'Seychelles' = 'Seychelles',\n 'Serra Leoa' = 'Serra Leoa',\n 'Singapura' = 'Singapura',\n 'Síria' = 'Síria',\n 'Somália' = 'Somália',\n 'Sri Lanka' = 'Sri Lanka',\n 'Suazilândia' = 'Suazilândia',\n 'Sudão' = 'Sudão',\n 'Sudão do Sul' = 'Sudão do Sul',\n 'Suécia' = 'Suécia',\n 'Suíça' = 'Suíça',\n 'Suriname' = 'Suriname',\n 'Tailândia' = 'Tailândia',\n 'Taiwan' = 'Taiwan',\n 'Tajiquistão' = 'Tajiquistão',\n 'Tanzânia' = 'Tanzânia',\n 'Timor-Leste' = 'Timor-Leste',\n 'Togo' = 'Togo',\n 'Tonga' = 'Tonga',\n 'Trinidad e Tobago' = 'Trinidad e Tobago',\n 'Tunísia' = 'Tunísia',\n 'Turcomenistão' = 'Turcomenistão',\n 'Turquia' = 'Turquia',\n 'Tuvalu' = 'Tuvalu',\n 'Ucrânia' = 'Ucrânia',\n 'Uganda' = 'Uganda',\n 'Uruguai' = 'Uruguai',\n 'Uzbequistão' = 'Uzbequistão',\n 'Vanuatu' = 'Vanuatu',\n 'Vaticano' = 'Vaticano',\n 'Venezuela' = 'Venezuela',\n 'Vietnã' = 'Vietnã',\n 'Zâmbia' = 'Zâmbia',\n 'Zimbábue' = 'Zimbábue',\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { Aluno } from '../models/aluno'\nimport { Observable } from 'rxjs'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlunoService extends UnespCoreGenericService {\n readonly ROUTE = 'aluno'\n client!: HttpClient\n\n constructor(http: HttpClient, @Inject('environment') protected environment: UnespCoreEnvironment) {\n super(http, environment)\n this.client = http\n }\n\n getAluno(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n}\n","import { Component } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { Aluno } from 'src/app/models/aluno'\nimport { AlunoService } from 'src/app/services/aluno.service'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\n\n@Component({\n selector: 'app-senha-alterar',\n templateUrl: './senha-alterar.component.html',\n styleUrls: ['./senha-alterar.component.css'],\n})\nexport class SenhaAlterarComponent {\n aluno?: Aluno\n\n senhaPattern: string = '^(?=.*[A-Z])(?=.*[a-z])(?=.*\\\\d).{8,}$'\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Alterar Senha', route: '/candidato/senha-alterar', icon: 'key' },\n ] \n\n form = new FormGroup({\n senhaAtual: new FormControl('', Validators.required),\n novaSenha: new FormControl('', [Validators.required, Validators.pattern(this.senhaPattern)]),\n novaSenhaConfirmacao: new FormControl('', [Validators.required, Validators.pattern(this.senhaPattern)]),\n })\n\n constructor(\n private userLoginService: UserLoginService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private alunoService: AlunoService\n ) {\n this.userLoginService.user$.subscribe(user => {\n if (user) {\n this.alunoService.getAluno(user?.idUsuario).subscribe(obj => {\n this.aluno = obj\n })\n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n alterar() {\n this.applyTouchedToInvalidFields()\n\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('O formulário não foi preenchido corretamente')\n return\n }\n\n let novaSenha = this.form.get('novaSenha')?.value ?? ''\n let novaSenhaConfirmacao = this.form.get('novaSenhaConfirmacao')?.value ?? ''\n if (novaSenha !== novaSenhaConfirmacao) {\n this.unespCoreMessageService.showMessageError('A Nova Senha e a Confirmação não são iguais')\n } else {\n let jsonData = {\n email: this.aluno?.email,\n senhaAtual: this.form.get('senhaAtual')?.value,\n senhaNova: this.form.get('novaSenha')?.value,\n }\n this.userLoginService.senhaAlterar(jsonData).subscribe(resultado => {\n if (resultado == 'updated') {\n this.unespCoreMessageService.showMessageSuccess('Sua senha foi alterada com sucesso')\n this.form.reset()\n this.router.navigate(['candidato/entrar'])\n } else if (resultado == 'not-found') {\n this.unespCoreMessageService.showMessageError(\n 'Informações inválidas. Verifique se preencheu o formulário corretamente.'\n )\n } else if (resultado == 'senha-invalida') {\n this.unespCoreMessageService.showMessageError('Senha atual inválida.')\n } else {\n this.unespCoreMessageService.showMessageError(\n 'Não foi possível alterar, verifique os valores e tente novamente'\n )\n }\n })\n }\n }\n}\n","\n\n
\n
\n \n \n Alterar Senha\n \n \n
\n \n Senha Atual\n \n \n \n Nova Senha\n \n \n \n Confirmação\n \n \n
\n * Sua senha deve conter, pelo menos: 1 Letra maiúscula, 1 Letra minúscula, 1 Número e 8 Caracteres.\n
\n
\n \n
\n
\n
\n
\n
\n","\n
\n Prezado(a) candidato(a), revise, complete e conclua sua Inscrição antes do término do período de inscrição.\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Curso{{ row.nomeCurso }} - {{ row.numeroEdicao }}ª ediçãoPeríodo de inscrição\n de {{ row.dataInicialInscricao | date : 'dd/MM/yyyy' }} até {{ row.dataFinalInscricao | date : 'dd/MM/yyyy' }}\n Situação\n {{ row.status }}\n \n
\n \n
\n
Não há dados a serem exibidos
\n","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { Router } from '@angular/router'\nimport { BehaviorSubject, tap } from 'rxjs'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { Aluno } from 'src/app/models/aluno'\nimport { EdicaoAlunoInscricoesListar } from 'src/app/models/edicao-aluno-inscricoes-listar'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\n\n@Component({\n selector: 'app-inscricao-listar',\n templateUrl: './inscricao-listar.component.html',\n styleUrls: ['./inscricao-listar.component.css'],\n})\nexport class InscricaoListarComponent implements OnInit, AfterViewInit {\n aluno?: Aluno\n usuario?: UsuarioLogin\n showAlerta$ = new\tBehaviorSubject(false)\n\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'nomeCurso',\n 'periodoInscricao',\n 'status',\n 'action',\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Minhas Inscrições', route: '/candidato/inscricoes', icon: 'assignment' },\n ]\n \n constructor(\n private userLoginService: UserLoginService,\n private edicaoAlunoService: EdicaoAlunoService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.userLoginService.user$.subscribe(user => {\n if (user) {\n this.usuario = user\n }\n })\n }\n\n ngAfterViewInit(): void {\n this.paginator?.page.pipe().subscribe()\n setTimeout(() => {\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n reloadTable(): void {\n this.edicaoAlunoService.listarIncricoesCandidato(this.usuario?.cpf!, this.pageParams()).subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n // Exibe o alerta para completar o cadastro apenas se tiver alguma inscrição no período válido e sem data de conclusão\n if (this.dataSource.data.filter(r => r.periodoInscricao && r.dataConclusaoInscricao == null).length) {\n this.showAlerta$.next(true)\n }\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n return params\n }\n\n editar(id: number) {\n this.router.navigate([`candidato/inscricoes/ficha/${id}`])\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core';\nimport { AlunoEdicaoEnfasePreferencia } from '../models/aluno-edicao-enfase-preferencia';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { ErrorHandlerService } from './error-handler.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlunoEdicaoPreferenciaEnfaseServiceTsService extends UnespCoreGenericService {\n readonly ROUTE = 'aluno-edicao-enfase-preferencia'\n readonly PUBLIC = 'publico/'+this.ROUTE\n \n client!: HttpClient\n\n constructor( http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n) { \n super(http, environment)\n this.client = http\n}\n\n getPreferenciaByAlunoEdicao(alunoEdicaoId: number): Observable {\n return this.findById(this.PUBLIC, alunoEdicaoId)\n }\n}\n","\n\n {{ cursoNome }} - {{ edicao }}ª edição\n\n
\n Prezado(a) candidato(a), revise, complete e conclua sua Inscrição antes do término do período de inscrição.\n
\n
\n Inscrição concluída, os dados não podem ser alterados.\n
\n\n\n \n \n \n
\n
\n
\n Dados Pessoais\n
\n
\n \n CPF\n \n \n \n Passaporte\n \n \n \n Nome Completo (sem abreviação)\n \n \n
\n
\n \n \n Possui Nome Social?\n \n \n \n \n Nome Social\n \n \n
\n
\n
\n
\n * Nome social: se refere à designação pela qual a pessoa travesti ou transexual se identifica e é socialmente reconhecida, conforme art. 2º, § 2º, Decreto Estadual 55588/2010\n
\n
\n
\n
\n \n Data de Nascimento\n \n \n \n Sexo\n \n \n Feminino\n Masculino\n \n \n \n Gênero\n \n \n \n {{ genero.value }}\n \n \n \n \n Estado Civil\n \n \n \n {{ type.name }}\n \n \n \n \n Possui alguma deficiência?\n \n \n \n {{ deficiencia.value }}\n \n \n \n
\n
\n \n RG\n \n \n \n RG Orgão de Expedição\n \n \n \n {{ type.value }}\n \n \n \n \n RG UF de Expedição\n \n \n \n {{ type.key }}\n \n \n \n \n RG Data de Expedição\n \n \n
\n
\n \n Título de Eleitor\n \n \n \n Título de Eleitor Zona\n \n \n \n Título de Eleitor Seção\n \n \n \n Título de Eleitor Data de Expedição\n \n \n
\n @if (form.controls['sexo'].value === '2' && form.controls['estrangeiro'].value !== true) {\n
\n \n Número Certificado Militar\n \n \n \n Número Certificado Militar CSM\n \n \n
\n }\n
\n \n Estado Naturalidade\n \n \n \n {{ type.key }}\n \n \n \n \n País Naturalidade\n \n \n {{ type.value }}\n \n \n \n \n Cidade Naturalidade\n \n \n \n {{ cidade }}\n \n \n \n \n Cidade Naturalidade\n \n \n \n Nacionalidade\n \n \n
\n
\n \n Nome da Mãe\n \n \n \n Nome do Pai\n \n \n
\n
\n \n Número de identificação do Currículo Lattes\n \n \n \n \n Não possuo Currículo Lattes\n \n \n \n
\n
\n
\n\n
\n Endereço e Contato\n
\n
\n \n CEP\n \n \n \n Logradouro\n \n \n \n Número\n \n \n
\n
\n \n Complemento\n \n \n \n Bairro\n \n \n \n Estado\n \n \n \n {{ type.key }}\n \n \n \n \n Cidade\n \n \n
\n
\n \n Telefone Celular\n \n \n \n Telefone Residencial\n \n \n \n Telefone Empresarial\n \n \n
\n
\n \n Email Principal\n \n \n
\n
\n
\n
\n Titulação\n
\n
\n \n Nome do Curso de Graduação\n \n \n \n Nome da Instituição\n \n \n
\n
\n \n \n Instituição Estrangeira?\n \n \n \n \n País da Instituição\n \n \n \n Estado da Instituição\n \n \n \n {{ type.key }}\n \n \n \n \n Cidade da Instituição\n \n \n \n {{ cidade }}\n \n \n \n \n Cidade da Instituição\n \n \n \n Data de Conclusão\n \n \n
\n
\n
\n
\n Módulos\n \n
\n
\n
\n
\n\n \n @if (!id) {\n
\n Complete o cadastro e clique em Salvar, em seguida clique em Editar para poder preencher os campos\n
\n } @else {\n
\n
\n
\n
\n @switch (form.tipoCampo) {\n @case ('TEXTO') {\n \n {{form.nome}}\n \n \n }\n @case ('DATA') {\n \n {{form.nome}}\n \n \n }\n @case ('SIM_NAO') {\n \n {{form.nome}}\n \n \n Sim\n Não\n \n \n }\n @case ('LISTA_COM_RESPOSTA_UNICA') {\n \n {{form.nome}}\n \n \n \n {{ opcao }}\n \n \n \n }\n @case ('LISTA_COM_RESPOSTA_MULTIPLA') {\n \n {{form.nome}}\n \n \n {{ opcao }}\n \n \n \n }\n @case ('ACEITE') {\n \n {{form.nome}}\n \n }\n @default {\n \n }\n }\n
\n
\n
\n
\n }\n
\n\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n \n
\n \n
\n @if(sumTab == 1) {\n \n \n }\n @if(sumTab == 2) {\n \n \n \n }\n @if(sumTab == 3) {\n \n \n \n \n }\n
\n
\n
\n
\n\n\n

Inscrição não efetivada

\n
\n @if (documentosCursoEdicao.length > 0) {\n

Faça o upload dos documentos obrigatórios e conclua sua inscrição antes do término do período de inscrição.

\n } @else {\n

Conclua sua inscrição antes do término do período de inscrição.

\n }\n
\n
\n \n
\n
\n
\n\n\n

Concluir a inscrição

\n
\n

Após a conclusão, sua inscriçao não poderá ser alterada.

\n
\n
\n \n \n
\n
","import { NgModule } from '@angular/core'\nimport { RouterModule, Routes } from '@angular/router'\nimport { UnespCoreAuthGuardService } from '@unesp/core'\nimport { environment } from 'src/environments/environment'\n\nimport { SenhaAlterarComponent } from './senha-alterar/senha-alterar.component'\nimport { InscricaoListarComponent } from './inscricao/inscricao-listar/inscricao-listar.component'\nimport { InscricaoFichaEditarComponent } from './inscricao/inscricao-ficha-editar/inscricao-ficha-editar.component'\n\nconst routes: Routes = [\n // INSCRICAO LISTAR\n {\n path: 'inscricoes',\n component: InscricaoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.CANDIDATO.name}`],\n },\n },\n // INSCRIÇÃO EDITAR FICHA\n {\n path: 'inscricoes/ficha/:id',\n component: InscricaoFichaEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.CANDIDATO.name}`],\n },\n },\n // INSCRIÇÃO EDITAR DOCUMENTOS\n // {\n // path: 'inscricoes/documentos/:cursoId/:edicao/:alunoEdicaoId',\n // component: InscricaoDocumentosEditarComponent,\n // canActivate: [UnespCoreAuthGuardService],\n // data: {\n // allowedRoles: [`${environment.roles.CANDIDATO.name}`],\n // },\n // },\n // INSCRIÇÃO EDITAR FORMULARIO COMPLEMENTAR\n // {\n // path: 'inscricoes/formulario-complementar/:cursoId/:edicao/:alunoEdicaoId',\n // component: InscricaoFormularioComplementarEditarComponent,\n // canActivate: [UnespCoreAuthGuardService],\n // data: {\n // allowedRoles: [`${environment.roles.CANDIDATO.name}`],\n // },\n // },\n // ALTERAR SENHA\n {\n path: 'senha-alterar',\n component: SenhaAlterarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.CANDIDATO.name}`],\n },\n },\n]\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class CandidatoRoutingModule {}\n","import { Component, OnInit, QueryList, TemplateRef, ViewChild, ViewChildren } from '@angular/core'\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { Estado } from 'src/app/enums/estado'\nimport { EstadoCivil } from 'src/app/enums/estado-civil'\nimport { OrgaoExpedicaoRg } from 'src/app/enums/orgao-expedicao-rg'\nimport { EdicaoAlunoForm } from 'src/app/models/edicao-aluno-form'\nimport { CidadeService } from 'src/app/services/cidade.service'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { DataService } from 'src/app/services/data.service'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { ValidacaoService } from 'src/app/services/validacao.service'\nimport { checkboxObrigatorioValidator, dataValidator, permiteApenasAlfanumericoComPontoHifen, permiteApenasNumeros, validaDataNascimentoValidator } from '../../../../utils/utils'\nimport { Pais } from '../../../../enums/pais'\nimport { AlunoGenero } from 'src/app/enums/aluno-genero'\nimport { AlunoDeficiencia } from 'src/app/enums/aluno-deficiencia'\nimport { Observable, map, mergeMap, startWith } from 'rxjs'\nimport { AlunoEdicaoPreferenciaEnfaseServiceTsService } from '../../../../services/aluno-edicao-preferencia-enfase.service.ts.service'\nimport { CursoEdicaoDocumentoInscricao } from 'src/app/models/curso-edicao-documento-inscricao'\nimport { ArquivoSelecionado, ArquivoStatus, ArquivoUploadComponent, arquivoUploadValidator } from 'src/app/modules/comum/arquivo-upload/arquivo-upload.component'\nimport { EdicaoAlunoFormularioComplementar } from 'src/app/models/edicao-aluno-formulario-complementar'\nimport { MatDialog } from '@angular/material/dialog'\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\n\n@Component({\n selector: 'app-inscricao-ficha-editar',\n templateUrl: './inscricao-ficha-editar.component.html',\n styleUrls: ['./inscricao-ficha-editar.component.css'],\n})\nexport class InscricaoFichaEditarComponent implements OnInit {\n\n @ViewChild('dialogGravar') dialogGravar!: TemplateRef\n @ViewChild('dialogConcluir') dialogConcluir!: TemplateRef\n\n estado = Estado\n cidades: string[] = []\n cidadesInstituicao: string[] = []\n cidadesFiltered?: Observable\n estadosCivisEnum = EstadoCivil\n estadosCivis: { id: string; name: string }[] = []\n orgaoExpedicaoRg = OrgaoExpedicaoRg\n paises = Pais\n generos = AlunoGenero\n deficiencias = AlunoDeficiencia\n possuiNomeSocial: boolean = false\n\n rgPattern = '([0-9a-zA-Z.-]{6,13})'\n lattesPattern = '(^[0-9]{0,30})'\n\n permiteIndicacaoPreferencia : boolean = false\n moduloEscolhido: number[] = []\n selecionadosPreviamente: number[] = []\n\n selectedTabIndex: number = 0\n sumTab: number = 1\n breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Minhas Inscrições', route: '/candidato/inscricoes', icon: 'assignment' },\n { label: 'Ficha de inscrição', route: '/candidato/inscricoes', icon: 'edit' },\n ] \n\n form = new FormGroup({\n codigoCurso: new FormControl(-1, Validators.required),\n numeroEdicao: new FormControl(-1, Validators.required),\n estrangeiro: new FormControl(false),\n cpf: new FormControl(' '),\n passaporte: new FormControl(' '),\n nome: new FormControl('', Validators.required),\n nomeSocial: new FormControl('', Validators.required),\n possuiNomeSocial: new FormControl(''),\n rgNumero: new FormControl('', [Validators.required, Validators.pattern(this.rgPattern)]),\n rgOrgao: new FormControl(' ', Validators.required),\n rgUfExpedicao: new FormControl(' ', Validators.required),\n dataExpedicaoRg: new FormControl(' ', Validators.required),\n tituloEleitor: new FormControl(' ', Validators.required),\n tituloEleitorZona: new FormControl(' ', Validators.required),\n tituloEleitorSecao: new FormControl(' ', Validators.required),\n dataExpedicaoTituloEleitor: new FormControl(' ', Validators.required),\n reservistaNumero: new FormControl(' '),\n reservistaCsm: new FormControl(' '),\n paisNaturalidade: new FormControl(''),\n naturalidade: new FormControl(' ', Validators.required),\n uf: new FormControl(' '),\n nacionalidade: new FormControl(' ', Validators.required),\n dataNascimento: new FormControl(' ', [Validators.required, validaDataNascimentoValidator()]),\n sexo: new FormControl(' ', Validators.required),\n genero: new FormControl(' '),\n estadoCivil: new FormControl(' ', Validators.required),\n deficiencia: new FormControl(' '),\n nomePai: new FormControl(' '),\n nomeMae: new FormControl(' ', Validators.required),\n lattes: new FormControl(' ', [Validators.required, Validators.pattern(this.lattesPattern)]),\n naoPossuiLattes: new FormControl(false),\n enderecoRua: new FormControl(' ', Validators.required),\n enderecoNumero: new FormControl(' ', Validators.required),\n enderecoComplemento: new FormControl(' '),\n enderecoBairro: new FormControl(' ', Validators.required),\n enderecoCidade: new FormControl(' ', Validators.required),\n enderecoEstado: new FormControl(' ', Validators.required),\n enderecoCep: new FormControl(' ', Validators.required),\n contatoTelefoneResidencial: new FormControl(' '),\n contatoTelefoneEmpresarial: new FormControl(' '),\n contatoTelefoneCelular: new FormControl(' ', Validators.required),\n email: new FormControl(' ', Validators.required),\n nomeCurso: new FormControl(' ', Validators.required),\n instituicaoEnsinoSuperior: new FormControl(' ', Validators.required),\n instituicaoEstrangeira: new FormControl(false),\n cidadeEscola: new FormControl(' ', Validators.required),\n ufEscola: new FormControl(' ', Validators.required),\n paisEscola: new FormControl(' ', Validators.required),\n dataConclusao: new FormControl(' ', Validators.required),\n })\n id?: number\n cursoId?: number\n edicao?: number\n cursoNome?: string\n inscricaoConcluida: boolean = false\n\n constructor(\n private edicaoAlunoService: EdicaoAlunoService,\n private alunoEdicaoEnfasePreferenciaService: AlunoEdicaoPreferenciaEnfaseServiceTsService,\n private unespCoreMessageService: UnespCoreMessageService,\n private cursoService: CursoService,\n private route: ActivatedRoute,\n private router: Router,\n private localStorageService: LocalStorageService,\n private cidadeService: CidadeService,\n private validacaoService: ValidacaoService,\n private dataService: DataService,\n private fb: FormBuilder,\n private dialog: MatDialog,\n ) {}\n\n ngOnInit(): void {\n this.sumTab = 1\n this.form.controls['estrangeiro'].setValue(false)\n this.form.controls['naoPossuiLattes'].setValue(false)\n for (let n in this.estadosCivisEnum) {\n if (typeof this.estadosCivisEnum[n] === 'string') {\n this.estadosCivis.push({ id: n, name: this.estadosCivisEnum[n] })\n }\n }\n \n this.route.params.subscribe(params => {\n this.id = params['id']\n this.breadcrumbs[2] = { label: 'Ficha de inscrição', route: `/candidato/inscricoes/ficha/${this.id}`, icon: 'edit' }\n this.form.reset()\n if (this.id) {\n this.edicaoAlunoService.getEdicaoAluno(this.id).subscribe(obj => {\n if (obj === null || !obj.periodoInscricao) {\n this.router.navigate(['access-denied'])\n return\n }\n this.inscricaoConcluida = obj.dataConclusaoInscricao != null\n if (obj.dataConclusaoInscricao) {\n // Não permite editar após conclusão\n this.form.disable()\n }\n this.form.controls['codigoCurso'].setValue(obj.codigoCurso)\n this.cursoId = obj.codigoCurso\n\n this.form.controls['numeroEdicao'].setValue(obj.numeroEdicao)\n this.edicao = obj.numeroEdicao\n\n this.permiteIndicacaoPreferencia = obj.permiteIndicacaoPreferencia\n if (this.permiteIndicacaoPreferencia) {\n this.alunoEdicaoEnfasePreferenciaService.getPreferenciaByAlunoEdicao(params['id']).subscribe(obj => {\n this.selecionadosPreviamente = obj.map(m => m.enfaseModuloId)\n })\n }\n \n this.form.controls['estrangeiro'].setValue(obj.estrangeiro)\n if (obj.estrangeiro) {\n this.form.controls['passaporte'].setValue(obj.cpfAluno)\n } else {\n this.form.controls['cpf'].setValue(obj.cpfAluno)\n }\n this.form.controls['nome'].setValue(obj.nome)\n this.form.controls['nomeSocial'].setValue(obj.nomeSocial)\n this.form.controls['possuiNomeSocial'].setValue(obj.nomeSocial)\n this.form.controls['rgNumero'].setValue(obj.rgNumero)\n this.form.get('rgNumero')?.setValidators([Validators.required, Validators.pattern(this.rgPattern)])\n this.form.get('rgNumero')?.updateValueAndValidity()\n this.form.controls['rgOrgao'].setValue(obj.rgOrgao?.length > 0 ? obj.rgOrgao.toUpperCase() : '')\n this.form.controls['rgUfExpedicao'].setValue(obj.rgUfExpedicao)\n this.form.controls['dataExpedicaoRg'].setValue(this.dataService.stringUsToStringBr(obj.dataExpedicaoRg))\n this.form.controls['tituloEleitor'].setValue(obj.tituloEleitor)\n this.form.controls['tituloEleitorZona'].setValue(obj.tituloEleitorZona)\n this.form.controls['tituloEleitorSecao'].setValue(obj.tituloEleitorSecao)\n this.form.controls['dataExpedicaoTituloEleitor'].setValue(\n this.dataService.stringUsToStringBr(obj.dataExpedicaoTituloEleitor)\n )\n this.form.controls['reservistaNumero'].setValue(obj.reservistaNumero)\n this.form.controls['reservistaCsm'].setValue(obj.reservistaCsm)\n this.form.controls['paisNaturalidade'].setValue(obj.paisNaturalidade)\n this.form.controls['uf'].setValue(obj.uf)\n this.form.controls['naturalidade'].setValue(obj.naturalidade)\n if (!this.form.controls['estrangeiro'].value) {\n this.form.controls['nacionalidade'].setValue('BR')\n } else {\n this.form.controls['nacionalidade'].setValue(obj.nacionalidade)\n }\n this.form.controls['dataNascimento'].setValue(this.dataService.stringUsToStringBr(obj.dataNascimento))\n this.form.controls['sexo'].setValue(obj.sexo)\n this.form.controls['genero'].setValue(obj.genero)\n this.form.controls['estadoCivil'].setValue(obj.estadoCivil)\n this.form.controls['deficiencia'].setValue(obj.deficiencia)\n this.form.controls['nomePai'].setValue(obj.nomePai)\n this.form.controls['nomeMae'].setValue(obj.nomeMae)\n this.form.controls['lattes'].setValue(obj.lattes)\n this.form.controls['naoPossuiLattes'].setValue(!obj.lattes)\n this.form.controls['enderecoRua'].setValue(obj.enderecoRua)\n this.form.controls['enderecoNumero'].setValue(obj.enderecoNumero)\n this.form.controls['enderecoComplemento'].setValue(obj.enderecoComplemento)\n this.form.controls['enderecoBairro'].setValue(obj.enderecoBairro)\n this.form.controls['enderecoCidade'].setValue(obj.enderecoCidade)\n this.form.controls['enderecoEstado'].setValue(obj.enderecoEstado)\n this.form.controls['enderecoCep'].setValue(obj.enderecoCep)\n this.form.controls['contatoTelefoneResidencial'].setValue(obj.contatoTelefoneResidencial)\n this.form.controls['contatoTelefoneEmpresarial'].setValue(obj.contatoTelefoneEmpresarial)\n this.form.controls['contatoTelefoneCelular'].setValue(obj.contatoTelefoneCelular)\n this.form.controls['email'].setValue(obj.email)\n this.form.controls['nomeCurso'].setValue(obj.nomeCurso)\n this.form.controls['instituicaoEnsinoSuperior'].setValue(obj.instituicaoEnsinoSuperior)\n this.form.controls['ufEscola'].setValue(obj.ufEscola)\n if (obj.ufEscola) {\n this.form.controls['instituicaoEstrangeira'].setValue(false)\n } else {\n this.form.controls['instituicaoEstrangeira'].setValue(true)\n }\n this.toggleInstituicaoEstrangeira()\n this.form.controls['cidadeEscola'].setValue(obj.cidadeEscola)\n this.form.controls['paisEscola'].setValue(obj.paisEscola)\n this.form.controls['dataConclusao'].setValue(this.dataService.stringUsToStringBr(obj.dataConclusao))\n this.selecionaEstadoNaturalidade()\n this.selecionaEstadoInstituicao()\n this.validaCEP()\n this.cursoService.getNomePublico(this.cursoId).subscribe(obj => {\n this.cursoNome = obj\n })\n this.toggleEstrangeiro()\n this.togglePossuiLattes()\n this.togglePossuiNomeSocial()\n //\n this.getOtherData()\n })\n }\n })\n }\n\n getOtherData(): void {\n // DC\n this.edicaoAlunoService.getDocumentosAlunos(this.id!).pipe(\n mergeMap(obj => {\n obj.forEach(doc => {\n let documentoFC: FormControl\n documentoFC = new FormControl(new ArquivoSelecionado(), {validators: [arquivoUploadValidator(false)]}) as FormControl\n documentoFC.value.setNameAndSize(doc.nomeDocumento, 0)\n this.documentosAlunos.push(this.fb.group({\n id: doc.id,\n alunoEdicaoId: doc.idAlunoEdicao,\n cursoEdicaoDocumentoInscricaoId: doc.idCursoEdicaoDocumentoInscricao,\n nomeDocumento: doc.nomeDocumento,\n dataHoraEnvio: doc.dataHoraEnvio,\n documentoFC: documentoFC\n }))\n })\n return this.edicaoAlunoService.getDocumentos(this.cursoId!, this.edicao!)\n })\n ).subscribe(obj => {\n this.documentosCursoEdicao = obj\n if (obj.length > 0) {\n this.sumTab += 1\n }\n obj.forEach(doc => {\n let documentoFC: FormControl\n documentoFC = new FormControl(new ArquivoSelecionado(), {validators: [arquivoUploadValidator(false)],}) as FormControl\n this.documentosInscricao.push(this.fb.group({\n id: doc.id,\n cursoEdicaoId: doc.cursoEdicaoId,\n nomeDocumento: doc.nomeDocumento,\n isObrigatorio: doc.isObrigatorio,\n documentoFC: documentoFC,\n }))\n this.documentosAlunos.controls.forEach(docAluno => {\n if (doc.id === docAluno.get('cursoEdicaoDocumentoInscricaoId')?.value) {\n documentoFC.setValue(docAluno.get('documentoFC')?.value)\n }\n })\n })\n if (this.inscricaoConcluida) {\n // Não permite editar após conclusão\n this.formDC.disable()\n }\n })\n // FC\n this.campos.clear() // zera os valores anteriores, quando clica em salvar parcial\n this.edicaoAlunoService.getFormularioComplementarAlunos(this.cursoId!, this.edicao!, this.id!).subscribe(obj => {\n this.data = obj\n if (obj.length > 0) {\n this.sumTab += 1\n }\n obj.forEach(fc => {\n if (fc.ativo) {\n const campoFormGroup = this.fb.group({\n cefcId: fc.cefcId,\n tipoCampo: fc.tipoCampo,\n nome: fc.nome,\n opcoes: fc.opcoes,\n obrigatorio: fc.obrigatorio,\n ativo: fc.ativo,\n aefcId: fc.aefcId,\n resposta: this.getResposta(fc)\n })\n if (fc.obrigatorio) {\n if (fc.tipoCampo === 'ACEITE') {\n campoFormGroup.get('resposta')?.addValidators(checkboxObrigatorioValidator())\n } else {\n campoFormGroup.get('resposta')?.addValidators(Validators.required)\n }\n }\n if (fc.tipoCampo == 'DATA') {\n campoFormGroup.get('resposta')?.addValidators(dataValidator())\n }\n this.campos.push(campoFormGroup)\n }\n })\n if (this.inscricaoConcluida) {\n // Não permite editar após conclusão\n this.formFC.disable()\n }\n })\n }\n\n private getResposta(fc: EdicaoAlunoFormularioComplementar) {\n if (fc.tipoCampo === 'LISTA_COM_RESPOSTA_MULTIPLA') {\n return new FormControl(fc.resposta ? fc.resposta.split('\\n') : [])\n }\n if (fc.tipoCampo === 'ACEITE') {\n return new FormControl(fc.resposta === 'true')\n }\n return new FormControl(fc.resposta || '')\n }\n\n save(name: string) {\n let value = this.form.get(name)?.getRawValue()\n this.localStorageService.set(name, value)\n }\n\n selecionaEstadoNaturalidade(): void {\n const estado = this.form.get('uf')?.value\n this.cidades = this.cidadeService.get(estado ?? '')\n }\n\n selecionaEstadoInstituicao(): void {\n const estado = this.form.get('ufEscola')?.value\n this.cidadesInstituicao = this.cidadeService.get(estado ?? '')\n }\n\n toggleEstrangeiro() {\n if (this.form.controls['estrangeiro'].value) {\n this.form.controls['uf'].setValue('')\n this.form.get('uf')?.clearValidators()\n this.form.get('uf')?.updateValueAndValidity()\n this.form.get('paisNaturalidade')?.setValidators([Validators.required])\n this.form.get('rgNumero')?.clearValidators()\n this.form.get('rgNumero')?.updateValueAndValidity()\n this.form.controls['rgNumero'].setValue('')\n this.form.get('rgOrgao')?.clearValidators()\n this.form.get('rgOrgao')?.updateValueAndValidity()\n this.form.controls['rgOrgao'].setValue('')\n this.form.get('rgUfExpedicao')?.clearValidators()\n this.form.get('rgUfExpedicao')?.updateValueAndValidity()\n this.form.controls['rgUfExpedicao'].setValue('')\n this.form.get('dataExpedicaoRg')?.clearValidators()\n this.form.get('dataExpedicaoRg')?.updateValueAndValidity()\n this.form.controls['dataExpedicaoRg'].setValue('')\n this.form.get('tituloEleitor')?.clearValidators()\n this.form.get('tituloEleitor')?.updateValueAndValidity()\n this.form.controls['tituloEleitor'].setValue('')\n this.form.get('tituloEleitorZona')?.clearValidators()\n this.form.get('tituloEleitorZona')?.updateValueAndValidity()\n this.form.controls['tituloEleitorZona'].setValue('')\n this.form.get('tituloEleitorSecao')?.clearValidators()\n this.form.get('tituloEleitorSecao')?.updateValueAndValidity()\n this.form.controls['tituloEleitorSecao'].setValue('')\n this.form.get('dataExpedicaoTituloEleitor')?.clearValidators()\n this.form.get('dataExpedicaoTituloEleitor')?.updateValueAndValidity()\n this.form.controls['dataExpedicaoTituloEleitor'].setValue('')\n } else {\n if (this.form.controls['uf'].value) {\n this.selecionaEstadoNaturalidade()\n }\n }\n }\n\n toggleInstituicaoEstrangeira() {\n if (this.form.controls['instituicaoEstrangeira'].value) {\n this.form.controls['ufEscola'].setValue('')\n this.form.controls['cidadeEscola'].setValue('')\n this.form.controls['paisEscola'].setValue('')\n this.form.get('ufEscola')?.clearValidators()\n this.form.get('ufEscola')?.updateValueAndValidity()\n } else {\n this.form.get('ufEscola')?.setValidators([Validators.required])\n this.form.controls['paisEscola'].setValue('Brasil')\n }\n }\n\n togglePossuiLattes() {\n if (this.form.controls['naoPossuiLattes'].value) {\n this.form.get('lattes')?.clearValidators()\n this.form.get('lattes')?.updateValueAndValidity()\n this.form.controls['lattes'].setValue('')\n this.form.get('lattes')?.disable()\n } else {\n this.form.get('lattes')?.setValidators([Validators.required, Validators.pattern(this.lattesPattern)])\n this.form.get('lattes')?.updateValueAndValidity()\n this.form.get('lattes')?.enable()\n }\n }\n\n togglePossuiNomeSocial() {\n if (this.form.controls['possuiNomeSocial'].value) {\n this.possuiNomeSocial = true\n this.form.get('nomeSocial')?.setValidators(Validators.required)\n this.form.get('nomeSocial')?.updateValueAndValidity()\n this.form.get('nomeSocial')?.enable()\n } else {\n this.possuiNomeSocial = false\n this.form.get('nomeSocial')?.clearValidators()\n this.form.get('nomeSocial')?.updateValueAndValidity()\n this.form.controls['nomeSocial'].setValue('')\n this.save('nomeSocial')\n this.form.get('nomeSocial')?.disable()\n }\n }\n\n validaCEP(): void {\n this.validacaoService.validaCEP(this.form)\n }\n\n formataCEP(): void {\n let enderecoCep = this.form.get('enderecoCep')?.value\n enderecoCep = enderecoCep?.replace('.', '').replace('-', '')\n this.form.controls['enderecoCep'].setValue(enderecoCep!)\n }\n\n validaCertificadoMilitar() {\n if (this.form.controls['sexo'].value !== '2' || this.form.controls['estrangeiro'].value === true) {\n this.form.controls['reservistaNumero'].setValue('')\n this.form.controls['reservistaCsm'].setValue('')\n }\n }\n\n applyTouchedToInvalidFields1() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n if (\n name.startsWith('data') &&\n this.form.get(name)?.value?.length > 0 &&\n !this.dataService.dateIsValid(this.form.get(name)?.value)\n ) {\n this.form.get(name)?.setErrors({ incorrect: true })\n }\n }\n }\n\n next(tabIndex: number) {\n if (tabIndex === 1) {\n this.applyTouchedToInvalidFields1()\n if (!this.form.valid) {\n this.selectedTabIndex = 0\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n } else {\n this.selectedTabIndex = tabIndex\n } \n }\n if (tabIndex === 2) {\n this.applyTouchedToInvalidFields2()\n if (!this.formFC.valid) {\n this.selectedTabIndex = 1\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n } else {\n this.selectedTabIndex = tabIndex\n } \n } \n }\n\n async gravar(parcial: boolean): Promise {\n const formControlObject = this.form.controls as { [key: string]: FormControl }\n this.formataCEP()\n this.validaCertificadoMilitar()\n this.applyTouchedToInvalidFields1()\n this.applyTouchedToInvalidFields2()\n\n if (!this.form.valid || !this.formFC.valid) {\n this.selectedTabIndex = this.form.valid ? 1 : 0\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.getRawValue())\n formulario.alunoEdicaoEnfasePreferencia = this.moduloEscolhido \n formulario.dataExpedicaoRg = this.dataService.stringBrToStringUs(formulario.dataExpedicaoRg)\n formulario.dataExpedicaoTituloEleitor = this.dataService.stringBrToStringUs(formulario.dataExpedicaoTituloEleitor)\n formulario.dataNascimento = this.dataService.stringBrToStringUs(formulario.dataNascimento)\n formulario.dataConclusao = this.dataService.stringBrToStringUs(formulario.dataConclusao)\n if (formulario.estrangeiro) {\n formulario.cpfAluno = this.form.get('passaporte')?.value!\n } else {\n formulario.cpfAluno = this.form.get('cpf')?.value!\n }\n\n if (formulario.genero == \"\") {\n formulario.genero = null\n }\n\n if (formulario.deficiencia == \"\") {\n formulario.deficiencia = null\n }\n\n if (formulario.alunoEdicaoEnfasePreferencia.length == 0 && this.permiteIndicacaoPreferencia) {\n this.unespCoreMessageService.showMessageError('É obrigatório indicar a ordem de preferência nos módulos do curso')\n return\n }\n\n // Verifica se o valor digitado nos campos de cidade naturalidade e cidade instituição são válidos\n if (!this.form.controls['estrangeiro'].value &&\n !this.cidades.includes(formControlObject['naturalidade'].getRawValue())) {\n formControlObject['naturalidade'].reset()\n return\n }\n if (!this.form.controls['instituicaoEstrangeira'].value &&\n !this.cidadesInstituicao.includes(formControlObject['cidadeEscola'].getRawValue())) {\n formControlObject['cidadeEscola'].reset()\n return\n }\n return new Promise((resolve, reject) => {\n try {\n this.edicaoAlunoService.atualizarFichaCandidato(this.id!, formulario, parcial).subscribe(async aluno => {\n await this.arquivoUpload()\n await this.updateFormularioComplementar()\n if (parcial) {\n this.dialog.open(this.dialogGravar)\n this.ngOnInit()\n }\n resolve()\n })\n } catch(err) {\n reject(err)\n }\n })\n }\n\n async concluir() {\n const dialogRef = this.dialog.open(this.dialogConcluir)\n dialogRef.afterClosed().subscribe(async result => {\n if (result === 'concluir') {\n await this.gravar(false)\n this.edicaoAlunoService.concluirInscricao(this.id!).subscribe({\n next: _ => {\n this.unespCoreMessageService.showMessageSuccess('Inscrição concluída com sucesso')\n this.router.navigate([`/candidato/inscricoes`])\n },\n error: err => this.unespCoreMessageService.showMessageError(err.error.message)\n })\n }\n })\n }\n\n fechar() {\n if (this.form.dirty || this.formFC.dirty || this.formDC.dirty) {\n const confirmDialog = new UnespConfirmDialogModel('O formulário foi alterado e ainda não foi salvo.', 'Deseja sair sem salvar as alterações?')\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.router.navigate([`/candidato/inscricoes`])\n }\n })\n } else {\n this.router.navigate([`/candidato/inscricoes`])\n }\n }\n\n filtroAutocomplete(formControlName: string) {\n const formControlObject = this.form.controls as { [key: string]: FormControl }\n this.cidadesFiltered = formControlObject[formControlName].valueChanges.pipe(\n startWith(''),\n map(value => {\n return formControlName === 'naturalidade' ? this._filtroAutocompleteNaturalidade(value) : this._filtroAutocompleteCidadeInstituicao(value)\n })\n )\n }\n\n private _filtroAutocompleteNaturalidade(valorDigitado: string): string[] {\n return this.cidades.filter(cidade => cidade.normalize('NFD').replace(/\\p{Diacritic}/gu, '').toLowerCase().includes(valorDigitado))\n }\n\n selecionarModulo(event: number[]): void {\n if (event) {\n this.moduloEscolhido = event\n }\n }\n\n private _filtroAutocompleteCidadeInstituicao(valorDigitado: string): string[] {\n return this.cidadesInstituicao.filter(cidade => cidade.normalize('NFD').replace(/\\p{Diacritic}/gu, '').toLowerCase().includes(valorDigitado))\n }\n\n protected readonly permiteApenasAlfanumericoComPontoHifen = permiteApenasAlfanumericoComPontoHifen\n protected readonly permiteApenasNumeros = permiteApenasNumeros\n\n // DC\n formDC = new FormGroup({\n documentosInscricao: new FormArray([]),\n documentosAlunos: new FormArray([])\n })\n\n @ViewChildren('arquivoDocumentoUpload') arquivoDocumentoUpload: QueryList | undefined\n\n documentosCursoEdicao: CursoEdicaoDocumentoInscricao[] = []\n\n get documentosAlunos(): FormArray {\n return this.formDC.get('documentosAlunos') as FormArray\n }\n\n get documentosInscricao(): FormArray {\n return this.formDC.get('documentosInscricao') as FormArray\n }\n\n getDocumentoFormByIndex(i: number) {\n return this.documentosInscricao.controls[i].get('documentoFC') as FormControl\n }\n\n private async arquivoUpload(): Promise {\n try {\n if (this.arquivoDocumentoUpload?.length) {\n const uploadTasks = this.arquivoDocumentoUpload.toArray().map(async (documentoAtual, index) => {\n const doc = this.documentosInscricao.controls[index]\n const cursoEdicaoDocumentoInscricaoId = doc.get('id')?.value\n documentoAtual.uploadPath = `edicao-aluno/${this.id}/upload/${cursoEdicaoDocumentoInscricaoId}`\n if (doc.get('documentoFC')?.value.status === ArquivoStatus.SELECIONADO) {\n await documentoAtual.upload()\n }\n });\n await Promise.all(uploadTasks)\n }\n } catch (err) {\n return Promise.reject(err)\n }\n }\n\n // FC\n data: EdicaoAlunoFormularioComplementar[] = []\n formFC = new FormGroup({\n campos: new FormArray([])\n })\n\n get campos(): FormArray {\n return this.formFC.get('campos') as FormArray\n }\n\n private updateFormularioComplementar(): Promise {\n return new Promise((resolve, reject) => {\n try {\n const formulario = this.formFC.controls.campos.getRawValue().map((c: EdicaoAlunoFormularioComplementar) => ({\n cefcId: c.cefcId,\n aefcId: c.aefcId,\n resposta: Array.isArray(c.resposta) ? c.resposta.join('\\n') : c.resposta\n }))\n this.edicaoAlunoService.atualizarFormularioComplementar(this.id!, formulario).subscribe({\n next: () => resolve(),\n error: (err) => reject(err)\n })\n } catch(err) {\n reject(err)\n }\n })\n }\n\n applyTouchedToInvalidFields2() {\n for (const index in this.formFC.controls.campos.controls) {\n if (this.formFC.controls.campos.get(index)?.invalid) {\n this.formFC.controls.campos.get(index)?.markAllAsTouched()\n }\n }\n }\n}","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout'\nimport { ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatChipsModule } from '@angular/material/chips'\nimport { MatExpansionModule } from '@angular/material/expansion'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatSelectModule } from '@angular/material/select'\nimport { MatPaginatorModule } from '@angular/material/paginator'\nimport { MatTableModule } from '@angular/material/table'\nimport { RouterModule } from '@angular/router'\nimport { UnespCoreMessageModule } from '@unesp/core'\nimport { UnespBreadcrumbModule, UnespTableModule } from '@unesp/shared'\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask'\nimport { MatTabsModule } from '@angular/material/tabs'\n\nimport { CandidatoRoutingModule } from './candidato-routing.module'\nimport { SenhaAlterarComponent } from './senha-alterar/senha-alterar.component'\nimport { InscricaoListarComponent } from './inscricao/inscricao-listar/inscricao-listar.component'\nimport { InscricaoFichaEditarComponent } from './inscricao/inscricao-ficha-editar/inscricao-ficha-editar.component'\nimport { ArquivoUploadModule } from '../comum/arquivo-upload/arquivo-upload.module'\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle'\nimport { DragDropModule } from '@angular/cdk/drag-drop'\nimport { OrdemPreferenciaCursoDivisaoComponent } from '../publico/curso-edicao-inscricao-listar/aluno-inscricao/ordem-preferencia-curso-divisao/ordem-preferencia-curso-divisao.component'\nimport { MatCheckboxModule } from '@angular/material/checkbox'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { CabecalhoComponent } from '../comum/cabecalho/cabecalho.component'\n\n@NgModule({\n declarations: [\n InscricaoListarComponent,\n InscricaoFichaEditarComponent,\n SenhaAlterarComponent,\n ],\n imports: [\n CommonModule,\n CandidatoRoutingModule,\n DragDropModule,\n RouterModule,\n MatCardModule,\n MatButtonModule,\n UnespCoreMessageModule,\n UnespTableModule,\n MatIconModule,\n MatSelectModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatAutocompleteModule,\n MatIconModule,\n MatChipsModule,\n MatExpansionModule,\n MatSlideToggleModule,\n MatPaginatorModule,\n MatTableModule,\n NgxMaskDirective,\n NgxMaskPipe,\n FlexLayoutModule,\n MatTabsModule,\n MatCheckboxModule,\n MatDialogModule,\n ArquivoUploadModule,\n OrdemPreferenciaCursoDivisaoComponent,\n CabecalhoComponent,\n UnespBreadcrumbModule\n ],\n providers: [provideNgxMask()],\n})\nexport class CandidatoModule {}\n","
\n \n Situação\n \n \n Diligência\n Aprovado\n \n \n \n Mensagem\n \n \n \n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { CommonModule } from '@angular/common'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatSelectModule } from '@angular/material/select'\nimport { AnaliseHistorico } from 'src/app/models/analise-historico'\nimport { AnaliseHistoricoService } from 'src/app/services/analise-historico.service'\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n MatCardModule,\n ReactiveFormsModule,\n MatSelectModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule\n ],\n selector: 'app-analise-historico-editar',\n templateUrl: './analise-historico-editar.component.html',\n styleUrls: ['./analise-historico-editar.component.css'],\n})\nexport class AnaliseHistoricoEditarComponent implements OnInit {\n\n @Input() cursoEdicaoId: number = 0\n @Input() cursoId: number = 0\n @Input() edicao: number = 0\n @Input() tipo: string = ''\n @Input() perfilAcesso: string = ''\n @Input() preSave?: Function\n\n @Output() reloadTable = new EventEmitter()\n\n form = new FormGroup({\n situacao: new FormControl('', Validators.required),\n mensagem: new FormControl('', Validators.required),\n })\n id?: number\n\n constructor(\n private analiseHistoricoService: AnaliseHistoricoService,\n private unespCoreMessageService: UnespCoreMessageService,\n ) {}\n\n ngOnInit(): void {\n this.iniciaFormulario()\n }\n\n iniciaFormulario() {\n this.form.reset()\n this.form.controls.mensagem.setValue('')\n this.form.controls.situacao.setValue(\n this.perfilAcesso === 'COORDENADOR'\n ? 'RESPOSTA'\n : ''\n )\n Object.keys(this.form.controls).forEach(key => {\n this.form.get(key)?.setErrors(null)\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n gravar() {\n // Verifica se recebeu a função e se tem o perfil CEPG\n if (this.preSave && this.perfilAcesso === 'CEPG') {\n this.preSave().subscribe((success: boolean) => {\n if (success) {\n this.concluir()\n }\n })\n } else {\n this.concluir()\n }\n }\n\n concluir() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid || this.form.controls.mensagem.getRawValue()?.trim().length! < 1) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n let formulario: AnaliseHistorico = {\n situacao: this.form.controls.situacao.getRawValue()!,\n mensagem: this.form.controls.mensagem.getRawValue()!\n }\n this.analiseHistoricoService.gravar(formulario, this.cursoEdicaoId, this.tipo).subscribe(cursoForm => {\n this.unespCoreMessageService.showMessageSuccess(`Análise registrada com sucesso`)\n this.reloadTable.emit(true)\n this.iniciaFormulario()\n })\n }\n}\n","
\n Análise\n
\n \n
\n
\n \n \n
\n
","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { UnespTableComponent, UnespTableConfig, UnespTableModule } from '@unesp/shared'\nimport { BehaviorSubject, map } from 'rxjs'\nimport { AnaliseHistorico } from 'src/app/models/analise-historico'\nimport { AnaliseHistoricoService } from 'src/app/services/analise-historico.service'\nimport { AnaliseHistoricoEditarComponent } from '../analise-historico-editar/analise-historico-editar.component'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n ReactiveFormsModule,\n MatInputModule,\n UnespTableModule,\n AnaliseHistoricoEditarComponent,\n ],\n selector: 'app-analise-historico-listar',\n templateUrl: './analise-historico-listar.component.html',\n styleUrls: ['./analise-historico-listar.component.css'],\n})\nexport class AnaliseHistoricoListarComponent implements OnInit {\n\n @Input() cursoEdicaoId: number = 0\n @Input() tipo: string = ''\n @Input() perfilAcesso: string = ''\n @Input() preSave?: Function\n\n @Output() reload = new EventEmitter()\n\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n\n listaHabilitada$ = new BehaviorSubject(false)\n inclusaoHabilitada$ = new BehaviorSubject(false)\n\n constructor(\n private analiseHistoricoService: AnaliseHistoricoService,\n private arquivoDownloadService: ArquivoDownloadService,\n ) {\n this.tableConfig = {\n columns: {\n dataHora: { title: 'Data e hora', type: 'date-time-short' },\n situacao: { title: 'Situação' },\n usuario: { title: 'Responsável' },\n mensagem: { title: 'Mensagem' },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n loadData: p => this.analiseHistoricoService\n .listar(p, this.cursoEdicaoId, this.tipo, '')\n .pipe(map(res => {\n this.listaHabilitada$.next(res.totalElements > 0)\n return res\n })),\n }\n }\n\n ngOnInit(): void {\n this.reloadInput()\n }\n\n reloadTable(value: boolean) {\n if (value) {\n this.tabela.loadTableData()\n this.reloadInput()\n this.reload.emit(true)\n }\n }\n\n reloadInput() {\n if (this.perfilAcesso === 'COORDENADOR' || this.perfilAcesso === 'PROPEG' || this.perfilAcesso === 'PROPG' || this.perfilAcesso === 'CEPG') {\n this.analiseHistoricoService.verificaInclusaoHabilitada(this.cursoEdicaoId, this.tipo, this.perfilAcesso).subscribe(data => {\n this.inclusaoHabilitada$.next(data)\n })\n }\n }\n\n downloadDocumentoResultadoDaAnalise(): void {\n switch(this.tipo) {\n case 'PROPOSTA_PROPEG':\n case 'RELATORIO_FINAL_PROPEG':\n this.arquivoDownloadService.pdfResultadoDaAnalisePROPEG(this.cursoEdicaoId, this.tipo.replace('_PROPEG',''))\n return\n case 'PROPOSTA_CEPG':\n this.arquivoDownloadService.pdfParecerResolucao902019ByCursoEdicaoId(this.cursoEdicaoId)\n return\n case 'RELATORIO_FINAL_CEPG':\n this.arquivoDownloadService.pdfResultadoDaAnaliseCEPG(this.cursoEdicaoId)\n return\n }\n }\n\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { Observable } from 'rxjs'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ArquivoUploadService extends UnespCoreGenericService {\n constructor(http: HttpClient, @Inject('environment') environment: UnespCoreEnvironment) {\n super(http, environment)\n }\n\n enviar(path: string, file: FormData): Observable {\n return this.create(path, file)\n }\n}\n","\n\n\n {{ label }}\n \n \n \n download\n \n \n {{ fc.value.status !== 0 ? 'refresh' : 'folder_open' }}\n \n {{\n fc.value.status === 0\n ? tip\n : fc.value.size > 0\n ? 'Tamanho do arquivo: ' + (fc.value.size / (1024 * 1024) | number : '1.2-2') + ' MB'\n : ''\n }}\n\n","import { HttpErrorResponse } from '@angular/common/http'\nimport { Component, ViewChild, Input, OnInit, ElementRef } from '@angular/core'\nimport { AbstractControl, FormControl, ValidationErrors, ValidatorFn } from '@angular/forms'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { ArquivoUploadStatus } from 'src/app/models/arquivo-upload-status.model'\nimport { ArquivoUploadService } from 'src/app/services/arquivo-upload.service'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\nimport { ArquivoViewerDialogComponent } from '../arquivo-viewer-dialog/arquivo-viewer-dialog.component'\nimport { MatDialog } from '@angular/material/dialog'\n\nexport enum ArquivoStatus {\n VAZIO,\n ENVIANDO,\n SELECIONADO,\n ENVIADO,\n SALVO,\n ERRO,\n}\n\nexport class ArquivoSelecionado {\n name: string = ''\n uuid?: string\n size: number = 0\n status: ArquivoStatus = ArquivoStatus.VAZIO\n file: File | null = null\n\n setNameAndSize(name: string, size: number) {\n if (!name) {\n return\n }\n this.name = name\n this.uuid = name.split('.', 2)[0]\n this.size = size\n this.file = null\n this.status = ArquivoStatus.SALVO\n }\n\n setFile(file: File | null) {\n if (file == null) {\n return\n }\n this.file = file\n this.size = file.size\n this.name = file.name\n this.status = ArquivoStatus.SELECIONADO\n }\n\n removeFile() {\n this.file = null\n this.size = 0\n this.name = ''\n if (this.status === ArquivoStatus.SELECIONADO) {\n this.status = ArquivoStatus.VAZIO\n } else if (this.status === ArquivoStatus.SALVO) {\n this.status = ArquivoStatus.VAZIO\n }\n }\n\n toString(): string {\n return this.name\n }\n}\n\nexport function arquivoUploadValidator(required: boolean): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const arquivo = control.value as ArquivoSelecionado\n if (!arquivo) {\n return null\n }\n if (required && arquivo.status == ArquivoStatus.VAZIO) {\n return { required: true }\n }\n switch (arquivo.status) {\n case ArquivoStatus.ERRO:\n return { upload_error: true }\n case ArquivoStatus.VAZIO:\n case ArquivoStatus.SALVO:\n case ArquivoStatus.ENVIADO:\n case ArquivoStatus.SELECIONADO:\n return null\n default:\n return { uploading: true }\n }\n }\n}\n\n@Component({\n selector: 'app-arquivo-upload',\n templateUrl: './arquivo-upload.component.html',\n styleUrls: ['./arquivo-upload.component.scss'],\n})\nexport class ArquivoUploadComponent implements OnInit {\n @Input() fc: FormControl = new FormControl()\n @Input() label: string = 'Arquivo'\n // @Input() tip: string = 'Selecione um arquivo para Upload'\n @Input() tip: string = ''\n @Input() accept: string = '*'\n @Input() autoUpload: boolean = false\n @Input() usarArquivoViewer: boolean = false\n @Input() uploadPath?: string\n @Input() appendData?: Map\n @ViewChild('fileInput') fileInput: ElementRef | undefined\n\n disabled: boolean = false\n required: boolean = false\n\n constructor(\n private arquivoUploadService: ArquivoUploadService,\n private downloadService: ArquivoDownloadService,\n private unespCoreMessageService: UnespCoreMessageService,\n public dialog: MatDialog\n ) {}\n\n ngOnInit(): void {\n if (this.fc.disabled) {\n this.disabled = true\n }\n this.fc.registerOnDisabledChange((isDisabled: boolean) => (this.disabled = isDisabled))\n const validator = this.fc.validator ? this.fc.validator({} as AbstractControl) : null\n if (validator && validator['required']) {\n this.required = true\n }\n }\n\n upload(): Promise | null {\n if (\n this.fc.value.file &&\n this.fc.value.status == ArquivoStatus.SELECIONADO &&\n typeof this.uploadPath != 'undefined'\n ) {\n return this.upload_async()\n }\n return null\n }\n\n private async upload_async(): Promise {\n let formData = new FormData()\n if (this.appendData) {\n for (let [key, value] of this.appendData) {\n formData.append(key, value)\n }\n }\n formData.append('arquivo', this.fc.value.file!)\n this.fc.value.status = ArquivoStatus.ENVIANDO\n var promise = new Promise((resolve, reject) => {\n this.arquivoUploadService.enviar(this.uploadPath!, formData).subscribe({\n next: (r: ArquivoUploadStatus) => {\n Object.assign(this.fc.value, {\n status: ArquivoStatus.ENVIADO,\n name: r.arquivoNome,\n uuid: r.uuid!,\n size: r.size,\n })\n if (r.uploadPath) {\n this.uploadPath = r.uploadPath\n }\n this.fc.setValue(this.fc.value)\n resolve(r)\n },\n error: err => {\n this.fc.value.status = ArquivoStatus.ERRO\n this.fc.setValue(this.fc.value)\n if (err instanceof HttpErrorResponse) {\n if (err.status == 413) {\n let erro: { mensagemUsuario: string; mensagemDesenvolvedor: string } = err.error\n this.unespCoreMessageService.showMessageError(erro.mensagemUsuario)\n } else {\n err.error.message\n ? this.unespCoreMessageService.showMessageError(err.error.message)\n : this.unespCoreMessageService.showMessageError(err.message)\n }\n } else {\n console.error(err)\n reject()\n }\n },\n })\n })\n const v = await promise\n return v\n }\n\n selecionaArquivo(e: Event) {\n const target = e.target as HTMLInputElement\n const files = target.files as FileList\n const file = files.item(0)\n if (file == null) {\n return\n }\n if (this.accept != '*' && !this.accept.split(',').includes(file.type)) {\n this.unespCoreMessageService.showMessageError(`Formato de arquivo invalido, use: ${this.accept}`)\n return\n }\n if (file.size > 20000000) {\n this.clear()\n this.unespCoreMessageService.showMessageError(`O arquivo excedeu o limite de 20 MB permitidos.`)\n return\n }\n this.fc.value.setFile(file)\n this.fc.setValue(this.fc.value)\n this.fc.markAsDirty()\n if (this.autoUpload && this.fc.value.status == ArquivoStatus.SELECIONADO && typeof this.uploadPath != 'undefined') {\n this.upload_async()\n }\n }\n\n private clear(): void {\n if (this.fileInput) {\n this.fileInput.nativeElement.value = ''\n }\n this.fc.value.removeFile()\n this.fc.setValue(this.fc.value)\n }\n\n fileSelectorClick() {\n if (this.fc.value.status == ArquivoStatus.VAZIO) {\n this.fileInput?.nativeElement.click()\n } else if (this.fc.value.status == ArquivoStatus.ENVIADO || this.fc.value.status == ArquivoStatus.SALVO) {\n if (!this.uploadPath) {\n return\n }\n if (this.usarArquivoViewer) {\n this.abrirArquivoViewer()\n } else {\n this.downloadService.arquivoDownload(this.uploadPath, this.fileName())\n }\n }\n }\n\n private fileName(): string {\n if (this.fc.value.file == null && this.fc.value.uuid) {\n return this.fc.value.name\n } else {\n return this.fc.value.uuid + '.' + this.fc.value.name.split('.').pop()\n }\n }\n\n private abrirArquivoViewer() {\n this.downloadService.arquivoObjectURLPorPath(this.uploadPath!, this.fileName()).subscribe(url =>\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: { tituloDoArquivo: this.label, urlDoArquivo: url },\n width: '80%',\n height: '90%',\n })\n )\n }\n\n download() {\n if (this.fc.value.status == ArquivoStatus.ENVIADO || this.fc.value.status == ArquivoStatus.SALVO) {\n if (!this.uploadPath) return\n if (this.usarArquivoViewer) this.abrirArquivoViewer()\n else this.downloadService.arquivoDownload(this.uploadPath, this.fileName())\n }\n }\n}\n","import { NgModule } from '@angular/core'\nimport { ArquivoUploadComponent } from './arquivo-upload.component'\nimport { ReactiveFormsModule } from '@angular/forms'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { CommonModule } from '@angular/common'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatIconModule } from '@angular/material/icon'\n\n@NgModule({\n declarations: [ArquivoUploadComponent],\n imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatIconModule],\n exports: [ArquivoUploadComponent],\n})\nexport class ArquivoUploadModule {}\n","import { Platform } from '@angular/cdk/platform'\nimport { AfterViewInit, Component, ElementRef, Inject, ViewChild } from '@angular/core'\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\nimport { UnespCoreMessageService } from '@unesp/core'\n\nexport interface ArquivoData {\n tituloDoArquivo: string\n urlDoArquivo: string\n}\n\n@Component({\n selector: 'app-arquivo-viewer-dialog',\n templateUrl: 'arquivo-viewer-dialog.component.html',\n styleUrls: ['./arquivo-viewer-dialog.component.css'],\n})\nexport class ArquivoViewerDialogComponent implements AfterViewInit {\n @ViewChild('iframe') iframe?: ElementRef\n isMobile: boolean\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ArquivoData,\n private platform: Platform,\n private messageService: UnespCoreMessageService\n ) {\n this.isMobile = this.platform.ANDROID || this.platform.IOS || this.isMobileResolution()\n }\n\n isMobileResolution(): boolean {\n // Determina se a resolução da tela é compatível com dispositivos móveis\n const minWidthForMobile = 768 // Defina o valor de largura mínima para dispositivos móveis\n return window.innerWidth < minWidthForMobile\n }\n\n ngAfterViewInit(): void {\n if (this.isMobile) {\n this.download()\n } else {\n if (this.iframe) {\n this.iframe.nativeElement.src = this.data.urlDoArquivo\n }\n }\n }\n\n download() {\n // Download\n let downloadLink = document.createElement('a')\n downloadLink.setAttribute('download', this.data.tituloDoArquivo.concat('.pdf'))\n downloadLink.href = this.data.urlDoArquivo\n document.body.appendChild(downloadLink)\n downloadLink.click()\n downloadLink.remove()\n // Mensagem\n this.messageService.showMessageSuccess('O download do arquivo foi realizado com sucesso')\n // Fecha\n this.dialogRef.close()\n }\n\n fechar() {\n this.dialogRef.close()\n }\n}\n","

{{ data.tituloDoArquivo }}

\n\n
\n \n
\n\n","import { Component, Input } from '@angular/core'\nimport { MatCardContent, MatCard } from '@angular/material/card';\n\n@Component({\n selector: 'app-cabecalho',\n templateUrl: './cabecalho.component.html',\n standalone: true,\n imports: [MatCardContent, MatCard],\n styleUrl: './cabecalho.component.css'\n})\nexport class CabecalhoComponent {\n @Input() cursoNome: string | undefined\n @Input() edicao: string | undefined\n\n}\n","
\n \n {{ cursoNome }} - {{ edicao }}ª edição\n \n
\n ","

Disciplinas do Curso

\n
\n \n search\n Pesquisar\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Disciplina{{ row.nomeDisciplina }}Sigla{{ row.sigla }}Módulo{{ row.tipoModulo }}Ano{{ row.anoDisciplina }}Semestre\n @if (row.semestreDisciplina == 0) {\n 1 e 2\n } @else {\n {{ row.semestreDisciplina ?? '-' }}\n }\n \n
\n \n
\n
Não há dados a serem exibidos
\n \n
\n\n \n
\n \n
\n
\n
\n","import { AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { UnespCoreAuthService } from '@unesp/core'\nimport { UnespTableComponent } from '@unesp/shared'\nimport { tap, fromEvent, debounceTime, filter, distinctUntilChanged } from 'rxjs'\nimport { InscricaoSituacao } from 'src/app/enums/inscricao-situacao'\nimport { EdicaoDisciplinaListar } from 'src/app/models/edicao-disciplina-listar'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\n\n\n@Component({\n selector: 'app-docente-edicao-disciplina-listar',\n templateUrl: './edicao-disciplina-listar.component.html',\n styleUrls: ['./edicao-disciplina-listar.component.css']\n})\nexport class EdicaoDisciplinaListarComponent implements OnInit, AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid?: string[]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n cacheSearch: string = 'docente-edicao-disciplina-selecionar-inscricoes.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n cursoEdicaoPossuiEnfase?: boolean\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: EdicaoDisciplinaParametro,\n public dialogRef: MatDialogRef,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService\n ) {}\n\n ngOnInit(): void {\n this.edicaoDisciplinaService.possuiEnfase(this.params.cursoId, this.params.edicao).subscribe(obj => {\n this.cursoEdicaoPossuiEnfase = obj\n if (obj) {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'tipoModulo', 'anoDisciplina', 'semestreDisciplina', 'action']\n } else {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'anoDisciplina', 'semestreDisciplina', 'action']\n }\n })\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.edicaoDisciplinaService\n .listarDisciplinasPorDocenteDisciplina(\n this.params.cursoId,\n this.params.edicao,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? ''\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.reloadTable()\n }\n\n selecionar(id: number): void {\n this.edicaoDisciplinaService.getEdicaoDisciplinaPorDocente(id).subscribe(obj => {\n this.dialogRef.close(obj)\n })\n }\n\n cancelar(): void {\n this.dialogRef.close()\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n }\n\n protected readonly InscricaoSituacao = InscricaoSituacao\n}\n\nexport class EdicaoDisciplinaParametro {\n cursoId: number = 0\n edicao: number = 0\n}\n\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { CursoEdicao } from '../models/curso-edicao'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DocenteDisciplinaIndividualService extends UnespCoreGenericService {\n\n readonly ROUTE = 'curso-edicao/disciplina-docente'\n client!: HttpClient\n baseUrl!: string\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n this.baseUrl = environment.baseUrlApi\n }\n\n listar(\n pagination: any,\n pesquisa?: string,\n situacao?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n .append('situacao', situacao ? situacao : '')\n return this.fetchPagination(this.ROUTE, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n gerarArquivoCsv(pesquisa: string, situacao: string) {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'text/csv')\n this.client\n .get(`${this.baseUrl}/curso-edicao/gerar-csv-docente-disciplina`, {\n headers: headers,\n responseType: 'blob' as 'json',\n observe: 'response',\n params: new HttpParams().set('pesquisa', pesquisa).set('situacao', situacao),\n })\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = `Lista de Cursos Edicao.csv`\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n })\n }\n\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#{{ row.id }}Unidade{{ row.campus }}Nome{{ row.nome }}Edição{{ row.edicao }}Coordenador{{ row.nomeCoordenador }}Data inicial{{ row.dataInicialCurso | date : 'dd/MM/yyyy' }}Data final{{ row.dataFinalCurso | date : 'dd/MM/yyyy' }}Situação{{ row.situacao }}\n
\n \n \n \n \n \n rule\n Notas e faltas\n \n \n list\n Lista de presença\n \n \n picture_as_pdf\n Atestado de Disciplinas Ministradas\n \n \n
\n
Não há dados a serem exibidos
\n\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { Router } from '@angular/router'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { DocenteDisciplinaIndividualService } from 'src/app/services/docente-disciplina-individual.service'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { CursoEdicao } from 'src/app/models/curso-edicao'\nimport { MatSelect } from '@angular/material/select'\nimport { CursoEdicaoSituacao } from 'src/app/enums/curso-edicao-situacao'\nimport { EdicaoDisciplina } from 'src/app/models/edicao-disciplina'\nimport { EdicaoDisciplinaListarComponent } from '../edicao-disciplina-listar/edicao-disciplina-listar.component'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { EdicaoDocenteRelatoriosService } from 'src/app/services/edicao-docente-relatorios.service'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-docente-cursos-listar',\n templateUrl: './docente-cursos-listar.component.html',\n styleUrls: ['./docente-cursos-listar.component.css']\n})\nexport class DocenteCursosListarComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'id',\n 'campus',\n 'nome',\n 'edicao',\n 'nomeCoordenador',\n 'dataInicialCurso',\n 'dataFinalCurso',\n 'situacao',\n 'action'\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Minhas disciplinas', route: '/docente/cursos-edicoes', icon: 'school' },\n ] \n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n filtroSituacaoSelecionado: string = ''\n cacheSearch: string = 'docente-cursos-listar.search'\n filtroSituacaoCache: string = 'docente-cursos-listar.filtro-situacao.search'\n situacoes = CursoEdicaoSituacao\n situacoesPrevias: string[] = []\n dadosUsuarioLogado?: UsuarioLogin\n\n constructor(\n private docenteDiscplinaIndividualService: DocenteDisciplinaIndividualService,\n private router: Router,\n private dialog: MatDialog,\n private localStorageService: LocalStorageService,\n private userLoginService: UserLoginService,\n private edicaoDocenteRelatoriosService: EdicaoDocenteRelatoriosService,\n ) {\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.getFiltroSituacaoDefaultOrCachedValue()\n this.reloadTable()\n }, 0)\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n private getFiltroSituacaoDefaultOrCachedValue(): string {\n let value = this.localStorageService.get(this.filtroSituacaoCache) ?? ''\n return value\n }\n\n reloadTable() {\n this.docenteDiscplinaIndividualService\n .listar(\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.getFiltroSituacaoDefaultOrCachedValue()\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n this.situacoesPrevias = []\n this.dataSource.data.forEach(d => {\n this.situacoesPrevias.push(d.situacao)\n })\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.reloadTable()\n }\n\n exportar() {\n this.docenteDiscplinaIndividualService.gerarArquivoCsv(\n this.pesquisa?.nativeElement.value,\n this.filtroSituacao?.value\n )\n }\n\n aluno(cursoId: number, edicao: number) {\n this.router.navigate([`docente/curso-edicao/${cursoId}/${edicao}/alunos`])\n }\n\n disciplinaDocente(cursoId: number, edicao: number) {\n this.router.navigate([`docente/curso-edicao/${cursoId}/${edicao}/docente-disciplina`])\n }\n\n notasFaltas(cursoId: number, edicao: number) {\n const dialogRef = this.dialog.open(EdicaoDisciplinaListarComponent, {\n data: { cursoId, edicao },\n panelClass: 'my-dialog-resizer',\n })\n dialogRef.afterClosed().subscribe((res: EdicaoDisciplina) => {\n if (res) {\n this.router.navigate([`docente/nota-falta/${cursoId}/${edicao}/${res.id}`])\n }\n })\n }\n\n presenca(cursoId: number, edicao: number) {\n this.router.navigate([`docente/curso-edicao/${cursoId}/${edicao}/lista-presenca`])\n }\n\n atestadoDisciplinas(cursoId: number, edicao: number) {\n const usuarioLogado = this.getDadosUsuarioLogado()\n this.edicaoDocenteRelatoriosService.getAtestadoDisciplinasPorDocente(\n cursoId,\n edicao,\n usuarioLogado!.cpf,\n usuarioLogado!.nomeUsuario\n )\n }\n\n private getDadosUsuarioLogado(): UsuarioLogin | undefined {\n this.userLoginService.user$.subscribe(user => {\n if (user) {\n this.dadosUsuarioLogado = user\n }\n })\n\n return this.dadosUsuarioLogado\n }\n\n}\n","\n\n
\n
\n \n Disciplina\n \n \n {{ disciplina.nomeDisciplina }}\n \n \n \n \n Data\n \n \n \n \n
\n \n
\n
\n
\n\n \n \n \n\n\n","import { Component } from '@angular/core'\nimport { FormGroup, FormControl, Validators } from '@angular/forms'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared/lib/interfaces/unesp-breadcrumb-item'\nimport { EdicaoDisciplina } from 'src/app/models/edicao-disciplina'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { EdicaoAlunoRelatoriosService } from 'src/app/services/edicao-aluno-relatorios.service'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\n\n@Component({\n selector: 'app-lista-presenca-listar',\n templateUrl: './lista-presenca-listar.component.html',\n styleUrls: ['./lista-presenca-listar.component.css']\n})\nexport class ListaPresencaListarComponent {\n cursoId!: number\n edicao!: number\n cursoNome!: string\n disciplinas: EdicaoDisciplina[] = []\n\n form = new FormGroup({\n disciplinaId: new FormControl('', Validators.required),\n data: new FormControl(new Date(), Validators.required),\n })\n\n breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Minhas disciplinas', route: '/docente/cursos-edicoes', icon: 'school' },\n { label: 'Lista de presença', route: '', icon: 'list' },\n ]\n\n constructor(\n private edicaoAlunoRelatoriosService: EdicaoAlunoRelatoriosService,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private cursoService: CursoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = { label: 'Lista de presença', route: `/docente/curso-edicao/${this.cursoId}/${this.edicao}/lista-presenca`, icon: 'list' },\n this.cursoService.getCurso(this.cursoId).subscribe(obj => {\n this.cursoNome = obj.nome\n })\n this.edicaoDisciplinaService.listarPorDocenteDisciplina(this.cursoId, this.edicao).subscribe(obj => {\n this.disciplinas = obj\n })\n })\n }\n\n applyTouchedToInvalidFields(): void {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n gerar(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n let disciplinaId: number = this.form.get('disciplinaId')?.getRawValue()\n let data: Date = this.form.get('data')?.getRawValue()\n this.edicaoAlunoRelatoriosService.getListaDePresencaDoCursoPorDocenteDisciplina(this.cursoId, this.edicao, disciplinaId, data)\n }\n\n}\n","\n\n\n
\n

\n
Módulo: {{ enfaseNome }}\n

\n
\n \n
\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CPF{{ row.cpf }}Aluno{{ row.nomeAluno }}Situação{{ row.status }}Nota\n
\n \n
\n
Frequência (%)\n
\n \n
\n
Conceito\n
\n \n \n {{ conceito.value }}\n \n \n
\n
\n Nenhum registro disponível\n
\n\n \n \n \n \n\n","import { Component, OnInit } from '@angular/core'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared/lib/interfaces/unesp-breadcrumb-item'\nimport { ConceitoAlunoDisciplina } from 'src/app/enums/conceito-aluno-disciplina'\nimport { AlunoDisciplina } from 'src/app/models/aluno-disciplina'\nimport { AlunoDisciplinaService } from 'src/app/services/aluno-disicplina.service'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { ExportarCSVService } from 'src/app/services/exportarCSV.service'\n\n@Component({\n selector: 'app-notas-faltas-listar-editar',\n templateUrl: './notas-faltas-listar-editar.component.html',\n styleUrls: ['./notas-faltas-listar-editar.component.css']\n})\nexport class NotasFaltasListarEditarComponent implements OnInit {\n colunasGrid: string[] = ['cpf', 'nomeAluno', 'status', 'nota', 'frequencia', 'conceito']\n dataSource: MatTableDataSource = new MatTableDataSource()\n\n cursoId!: number\n edicao!: number\n disciplinaId!: number\n cursoNome!: string\n enfaseNome?: string\n disciplinaNome!: string\n classNota: string[] = []\n classFrequencia: string[] = []\n conceitos = ConceitoAlunoDisciplina\n\n isReadOnly: boolean = false\n\n breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Minhas disciplinas', route: '/docente/cursos-edicoes', icon: 'school' },\n { label: 'Notas e faltas', route: '', icon: 'rules' },\n ] \n\n constructor(\n private alunoDisciplinaService: AlunoDisciplinaService,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router,\n private exportarCSVService: ExportarCSVService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.disciplinaId = params['disciplinaId']\n this.breadcrumbs[2] = { label: 'Notas e faltas', route: `/docente/nota-falta/${this.cursoId}/${this.edicao}/${this.disciplinaId}`, icon: 'rules' },\n this.edicaoDisciplinaService.getEdicaoDisciplinaPorDocente(this.disciplinaId).subscribe(data => {\n this.cursoNome = data.nomeCurso\n this.disciplinaNome = data.nomeDisciplina\n this.enfaseNome = data.enfase\n })\n })\n }\n\n ngOnInit(): void {\n this.alunoDisciplinaService\n .listarPorDocenteDisciplina(this.cursoId, this.edicao, this.disciplinaId)\n .subscribe((data: AlunoDisciplina[]) => {\n for (const element of data) {\n element.nota = element.nota != null ? element.nota.toString().replaceAll('.', ',') : ''\n this.classNota.push('input-border-ok')\n this.classFrequencia.push('input-border-ok')\n }\n this.dataSource = new MatTableDataSource(data)\n })\n }\n\n gravar(): void {\n let erros: number = 0\n this.classNota.forEach(c => {\n if (c === 'input-border-error') {\n erros += 1\n }\n })\n this.classFrequencia.forEach(f => {\n if (f === 'input-border-error') {\n erros += 1\n }\n })\n // Não é obrigatório preencher todas as notas e faltas\n // for (let i = 0; i < this.dataSource.data.length; i++) {\n // if (this.dataSource.data[i].nota == '' || this.dataSource.data[i].nota == null) {\n // this.classNota[i] = \"input-border-error\"\n // erros += 1\n // }\n // if (this.dataSource.data[i].frequencia == null) {\n // this.classFrequencia[i] = \"input-border-error\"\n // erros += 1\n // }\n // }\n if (erros) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n this.alunoDisciplinaService\n .gravar(this.cursoId, this.edicao, this.disciplinaId, this.dataSource.data)\n .subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Notas e faltas registradas com sucesso`)\n this.router.navigate(['/docente/cursos-edicoes'])\n })\n }\n\n notaBlur(event: any, index: number) {\n this.classNota[index] = this.getNotaClass(event.target.value)\n }\n\n frequenciaBlur(event: any, index: number) {\n let frequencia = Number.parseFloat(event.target.value.replace(',', '.'))\n this.classFrequencia[index] = this.getFrequenciaClass(frequencia)\n }\n\n private getNotaClass(value: string): string {\n if (!value) {\n return 'input-border-ok'\n } else {\n let valor = Number.parseFloat(value.toString().replace(',', '.'))\n if (isNaN(valor) || valor > 10 || valor < 0) {\n return 'input-border-error'\n } else {\n return 'input-border-ok'\n }\n }\n }\n\n private getFrequenciaClass(valor: number): string {\n if (!valor) {\n return 'input-border-ok'\n } else {\n if (isNaN(valor) || valor > 100 || valor < 0) {\n return 'input-border-error'\n } else {\n return 'input-border-ok'\n }\n }\n }\n\n exportar() {\n this.alunoDisciplinaService.listarPorDocenteDisciplina(this.cursoId, this.edicao, this.disciplinaId).subscribe(data => {\n let recursos: AlunoDisciplina[] = data\n let content = `\"CPF\",\"Nome\",\"Situação\",\"Nota\",\"Frequência\",\"Conceio\"\\r\\n`\n recursos.forEach(row => {\n content += `\"${row.cpf}\",\"${row.nomeAluno}\",\"${row.status}\",\"${row.nota ?? ''}\",\"${\n row.frequencia ?? ''}\",\"${row.conceito}\"\\r\\n`\n })\n this.exportarCSVService.exportar(content, `Notas e Faltas - ${this.disciplinaNome}`)\n })\n }\n\n}\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem, UnespTableComponent, UnespTableConfig } from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { DocenteDisciplina } from 'src/app/models/docente-disciplina'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { DocenteDisciplinaService } from 'src/app/services/docente-disciplina.service'\nimport { ExportarCSVService } from 'src/app/services/exportarCSV.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\n\n@Component({\n selector: 'app-docente-disciplina-listar',\n templateUrl: './docente-disciplina-listar.component.html',\n styleUrls: ['./docente-disciplina-listar.component.css']\n})\nexport class DocenteDisciplinaListarComponent implements AfterViewInit {\n\n @ViewChild(UnespTableComponent) tabela?: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'docente-disciplina-listar.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n\n breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Minhas disciplinas', route: '/docente/cursos-edicoes', icon: 'school' },\n { label: 'Disciplinas', route: '', icon: 'folder_shared' },\n ]\n\n constructor(\n private docenteDiscplinaService: DocenteDisciplinaService,\n private cursoEdicaoService: CursoEdicaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private localStorageService: LocalStorageService,\n private exportarCSVService: ExportarCSVService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = { label: 'Disciplinas', route: `/docente/curso-edicao/${this.cursoId}/${this.edicao}/docente-disciplina`, icon: 'folder_shared' },\n this.tableConfig = {\n columns: {\n nomeDisciplina: { title: 'Disciplina', sort: true },\n nomeResponsavel: { title: 'Docente', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n loadData: p =>\n this.docenteDiscplinaService.listarPorDocenteDisciplina(\n this.cursoId,\n this.edicao,\n p,\n this.localStorageService.get(this.cacheSearch) ?? ''\n ),\n }\n })\n this.cursoEdicaoService.getDetalhesPorDocenteDisciplina(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoNome = obj.nomeCurso\n })\n }\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela?.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela?.dataSource.load(\n this.docenteDiscplinaService.listarPorDocenteDisciplina(this.cursoId, this.edicao, undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n exportar() {\n let params: Partial = {\n pageIndex: 0,\n pageSize: this.tabela?.dataSource.length$,\n }\n this.docenteDiscplinaService\n .listarPorDocenteDisciplina(this.cursoId, this.edicao, params, this.pesquisa?.nativeElement.value)\n .subscribe(data => {\n let recursos: DocenteDisciplina[] = data['content']\n let content = `\"CPF Docente\",\"Nome Docente\",\"Disciplina\"\\r\\n`\n recursos.forEach(row => {\n content += `\"${row.cpfResponsavel || ''}\",\"${row.nomeResponsavel || ''}\",\"${row.nomeDisciplina || ''}\"\\r\\n`\n })\n this.exportarCSVService.exportar(content, `Docente-Disciplina - ${this.cursoNome} - Edição ${this.edicao}`)\n })\n }\n}\n","\n
\n\n
\n
\n \n
\n
\n\n search\n Pesquisar\n \n\n\n\n \n \n \n\n
","\n
\n\n\n
\n
\n \n
\n
\n
\n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CPF{{ row.cpfAluno }}Nome{{ row.nome }}Instituição de ensino superior\n {{ row.instituicaoEnsinoSuperior }}\n Lattes\n \n Data da inscrição{{ row.dataInscricao | date : 'dd/MM/yyyy' }}Situação\n {{ row.status }}\n
Não há dados a serem exibidos
\n\n\n \n \n \n\n\n","import { RouterModule, Routes } from \"@angular/router\"\nimport { UnespCoreAuthGuardService } from \"@unesp/core\"\nimport { environment } from \"src/environments/environment\"\nimport { DocenteCursosListarComponent } from \"./docente-cursos-listar/docente-cursos-listar.component\"\nimport { NgModule } from \"@angular/core\"\nimport { ListaPresencaListarComponent } from \"./lista-presenca-listar/lista-presenca-listar.component\"\nimport { NotasFaltasListarEditarComponent } from \"./notas-faltas-listar-editar/notas-faltas-listar-editar.component\"\nimport { DocenteDisciplinaListarComponent } from \"./docente-disciplina-listar/docente-disciplina-listar.component\"\nimport { DocenteAlunosListarComponent } from \"./docente-alunos-listar/docente-alunos-listar.component\"\n\nconst routes: Routes = [\n\n //DOCENTE-DISCIPLINA\n {\n path: 'cursos-edicoes',\n component: DocenteCursosListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['DOCENTE-DISCIPLINA'].name}`,\n ],\n },\n },\n\n // LISTA-PRESENÇA\n {\n path: 'curso-edicao/:cursoId/:edicao/lista-presenca',\n component: ListaPresencaListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['DOCENTE-DISCIPLINA'].name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n\n //DOCENTE-DISCIPLINA-INDIVIDUAL\n {\n path: 'curso-edicao/:cursoId/:edicao/docente-disciplina',\n component: DocenteDisciplinaListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['DOCENTE-DISCIPLINA'].name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n\n\n // NOTA-FALTA\n {\n path: 'nota-falta/:cursoId/:edicao/:disciplinaId',\n component: NotasFaltasListarEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['DOCENTE-DISCIPLINA'].name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n\n // ALUNO-EDICAO\n {\n path: 'curso-edicao/:cursoId/:edicao/alunos',\n component: DocenteAlunosListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['DOCENTE-DISCIPLINA'].name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n]\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class DocenteRoutingModule {}\n","import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSelect } from '@angular/material/select'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { InscricaoSituacao } from 'src/app/enums/inscricao-situacao'\nimport { EdicaoAlunoListar } from 'src/app/models/edicao-aluno-listar'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\n\n@Component({\n selector: 'app-docente-alunos-listar',\n templateUrl: './docente-alunos-listar.component.html',\n styleUrls: ['./docente-alunos-listar.component.css']\n})\nexport class DocenteAlunosListarComponent implements OnInit, AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'cpfAluno',\n 'nome',\n 'instituicaoEnsinoSuperior',\n 'lattes',\n 'dataInscricao',\n 'status',\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Minhas disciplinas', route: '/docente/cursos-edicoes', icon: 'school' },\n { label: 'Alunos', route: '', icon: 'people' },\n ] \n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n filtroSituacaoSelecionado: string = ''\n cacheSearch: string = 'docente-alunos-listar.search'\n filtroSituacaoCache: string = 'docente-alunos-listar.filtro-situacao.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n cursoEdicaoPossuiEnfase?: boolean\n\n situacoes = InscricaoSituacao\n\n constructor(\n private edicaoAlunoService: EdicaoAlunoService,\n private cursoService: CursoService,\n private route: ActivatedRoute,\n private localStorageService: LocalStorageService\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = { label: 'Alunos', route: `/docente/curso-edicao/${this.cursoId}/${this.edicao}/alunos`, icon: 'people' },\n this.cursoService.getNomePublico(this.cursoId).subscribe(obj => {\n this.cursoNome = obj\n })\n })\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.localStorageService.get(this.filtroSituacaoCache) ?? ''\n this.reloadTable()\n }, 0)\n //\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable(): void {\n this.edicaoAlunoService\n .listarPorDocenteDisciplina(\n this.cursoId,\n this.edicao,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.localStorageService.get(this.filtroSituacaoCache)\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.reloadTable()\n }\n\n abrirLattes(numLattes: string): void {\n window.open('http://lattes.cnpq.br/' + numLattes, '_blank')\n }\n\n exportar() {\n this.edicaoAlunoService.gerarArquivoCsv(\n this.cursoId,\n this.edicao,\n this.pesquisa?.nativeElement.value,\n this.filtroSituacao?.value,\n 'docente/'\n )\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { DocenteRoutingModule } from './docente-routing.module'\nimport { DocenteCursosListarComponent } from './docente-cursos-listar/docente-cursos-listar.component'\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatCheckboxModule } from '@angular/material/checkbox'\nimport { MatChipsModule } from '@angular/material/chips'\nimport { MatNativeDateModule } from '@angular/material/core'\nimport { MatDatepickerModule } from '@angular/material/datepicker'\nimport { MatDividerModule } from '@angular/material/divider'\nimport { MatExpansionModule } from '@angular/material/expansion'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatMenuModule } from '@angular/material/menu'\nimport { MatPaginatorModule } from '@angular/material/paginator'\nimport { MatRadioModule } from '@angular/material/radio'\nimport { MatSelectModule } from '@angular/material/select'\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle'\nimport { MatSortModule } from '@angular/material/sort'\nimport { MatTableModule } from '@angular/material/table'\nimport { MatTabsModule } from '@angular/material/tabs'\nimport { RouterModule } from '@angular/router'\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout'\nimport { UnespCoreMessageModule } from '@unesp/core'\nimport { UnespBreadcrumbModule, UnespTableModule } from '@unesp/shared'\nimport { ArquivoUploadModule } from '../comum/arquivo-upload/arquivo-upload.module'\nimport { PropegModule } from '../propeg/propeg.module'\nimport { ListaPresencaListarComponent } from './lista-presenca-listar/lista-presenca-listar.component'\nimport { EdicaoDisciplinaListarComponent } from './edicao-disciplina-listar/edicao-disciplina-listar.component'\nimport { NotasFaltasListarEditarComponent } from './notas-faltas-listar-editar/notas-faltas-listar-editar.component'\nimport { DocenteDisciplinaListarComponent } from './docente-disciplina-listar/docente-disciplina-listar.component'\nimport { DocenteAlunosListarComponent } from './docente-alunos-listar/docente-alunos-listar.component'\nimport { CabecalhoComponent } from '../comum/cabecalho/cabecalho.component'\n\n@NgModule({\n declarations: [\n DocenteCursosListarComponent,\n ListaPresencaListarComponent,\n EdicaoDisciplinaListarComponent,\n NotasFaltasListarEditarComponent,\n DocenteDisciplinaListarComponent,\n DocenteAlunosListarComponent\n ],\n imports: [\n CommonModule,\n DocenteRoutingModule,\n RouterModule,\n MatCardModule,\n MatButtonModule,\n UnespCoreMessageModule,\n UnespTableModule,\n MatIconModule,\n MatSelectModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatAutocompleteModule,\n MatChipsModule,\n MatExpansionModule,\n MatTabsModule,\n MatSlideToggleModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatPaginatorModule,\n MatSortModule,\n MatRadioModule,\n MatMenuModule,\n MatDividerModule,\n NgxMaskDirective,\n NgxMaskPipe,\n FlexLayoutModule,\n ArquivoUploadModule,\n PropegModule,\n MatDialogModule,\n CabecalhoComponent,\n UnespBreadcrumbModule\n ],\n providers: [provideNgxMask()],\n})\nexport class DocenteModule { }\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { Router, ActivatedRoute } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespTableComponent, UnespTableConfig } from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { CursoEdicaoAnaliseFinanceira } from 'src/app/models/curso-edicao-analise-financeira'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\n\n@Component({\n selector: 'app-analise-previsao-orcamentaria-listar',\n templateUrl: './analise-previsao-orcamentaria-listar.component.html',\n styleUrls: ['./analise-previsao-orcamentaria-listar.component.css'],\n})\nexport class AnalisePrevisaoOrcamentariaListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'analise-previsao-orcamentaria-listar.search'\n cursoId!: number\n\n constructor(\n private cursoEdicaoService: CursoEdicaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private route: ActivatedRoute,\n private localStorageService: LocalStorageService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId'] ?? 0\n this.tableConfig = {\n columns: {\n id: { title: '#', sort: true },\n campus: { title: 'Unidade', sort: true },\n nome: { title: 'Curso', sort: true },\n edicao: { title: 'Edição', sort: true },\n nomeCoordenador: { title: 'Coordenador', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n {\n title: 'Analisar',\n callback: i => this.analisar(i.id, i.analiseFinanceiraId),\n condition: i => i.id,\n icon: 'edit',\n },\n ],\n loadData: p =>\n this.cursoEdicaoService.listarParaAnaliseFinanceira(p, this.localStorageService.get(this.cacheSearch) ?? ''),\n }\n })\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.cursoEdicaoService.listarParaAnaliseFinanceira(undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n analisar(id: number, analiseFinanceiraId?: number) {\n if (analiseFinanceiraId) {\n this.router.navigate([`propeg/analise-previsao-orcamentaria/${id}/${analiseFinanceiraId}`])\n } else {\n this.router.navigate([`propeg/analise-previsao-orcamentaria/${id}`])\n }\n }\n}\n","

Análise previsão orçamentária

\n\n search\n Pesquisar\n \n\n\n","import { Component, OnInit } from '@angular/core'\nimport { ActivatedRoute } from '@angular/router'\nimport { CursoEdicaoAnaliseFinanceira } from '../../../models/curso-edicao-analise-financeira'\nimport { CursoEdicaoService } from '../../../services/curso-edicao.service'\nimport { ArquivoDownloadService } from '../../../services/arquivo-download.service'\nimport { ArquivoViewerDialogComponent } from '../../comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component'\nimport { MatDialog } from '@angular/material/dialog'\n\n@Component({\n selector: 'app-analise-propeg',\n templateUrl: './analise-propeg.component.html',\n styleUrls: ['./analise-propeg.component.css'],\n})\nexport class AnalisePropegComponent implements OnInit {\n\n cursoEdicaoId: number | undefined\n cursoEdicaoAnaliseFinanceira?: CursoEdicaoAnaliseFinanceira\n\n constructor(\n private dialog: MatDialog,\n private cursoEdicaoService: CursoEdicaoService,\n private downloadService: ArquivoDownloadService,\n private route: ActivatedRoute,\n ) {}\n\n ngOnInit() {\n this.route.params.subscribe(params => {\n this.cursoEdicaoId = params['id']\n if (this.cursoEdicaoId) {\n this.cursoEdicaoService.getParaAnaliseFinanceira(this.cursoEdicaoId).subscribe(obj => {\n this.cursoEdicaoAnaliseFinanceira = obj\n })\n }\n })\n }\n\n abrirArquivoPlanilhaViewer(): void {\n if (this.cursoEdicaoAnaliseFinanceira?.arquivoDocumento9) {\n this.downloadService\n .arquivoObjectURLPorPath(\n `curso-edicao/${this.cursoEdicaoAnaliseFinanceira.cursoId}/download`,\n this.cursoEdicaoAnaliseFinanceira?.arquivoDocumento9\n )\n .subscribe(url => this._abrirArquivoViewer('Planilha orçamentária completa', url))\n }\n }\n\n private _abrirArquivoViewer(title: string, url: string): void {\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: { tituloDoArquivo: title, urlDoArquivo: url },\n width: '80%',\n height: '90%',\n })\n }\n\n}\n","
\n

\n {{ cursoEdicaoAnaliseFinanceira?.campus }}
\n Curso: {{ cursoEdicaoAnaliseFinanceira?.nome }} / Edição: {{ cursoEdicaoAnaliseFinanceira?.edicao }}\n

\n \n \n
\n Arquivos\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n \n \n
","import { NgModule } from '@angular/core'\nimport { RouterModule, Routes } from '@angular/router'\nimport { UnespCoreAuthGuardService } from '@unesp/core'\nimport { environment } from 'src/environments/environment'\nimport { AnalisePrevisaoOrcamentariaListarComponent } from './analise-previsao-orcamentaria/analise-previsao-orcamentaria-listar/analise-previsao-orcamentaria-listar.component'\nimport { AnalisePropegComponent } from './analise-propeg/analise-propeg.component'\n\nconst routes: Routes = [\n // ANALISE PREVISAO ORCAMENTARIA\n {\n path: 'analise-previsao-orcamentaria',\n component: AnalisePrevisaoOrcamentariaListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPEG.name}`],\n },\n },\n {\n path: 'analise-previsao-orcamentaria/:id/:analiseFinanceiraId',\n pathMatch: 'full',\n component: AnalisePropegComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPEG.name}`],\n },\n },\n {\n path: 'analise-previsao-orcamentaria/:id',\n pathMatch: 'full',\n component: AnalisePropegComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPEG.name}`],\n },\n },\n]\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PropegRoutingModule {}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout'\nimport { ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatChipsModule } from '@angular/material/chips'\nimport { MatExpansionModule } from '@angular/material/expansion'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatSelectModule } from '@angular/material/select'\nimport { MatPaginatorModule } from '@angular/material/paginator'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatTableModule } from '@angular/material/table'\nimport { RouterModule } from '@angular/router'\nimport { UnespCoreMessageModule } from '@unesp/core'\nimport { UnespTableModule } from '@unesp/shared'\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask'\n\nimport { PropegRoutingModule } from './propeg-routing.module'\nimport { AnalisePrevisaoOrcamentariaListarComponent } from './analise-previsao-orcamentaria/analise-previsao-orcamentaria-listar/analise-previsao-orcamentaria-listar.component'\nimport { AnalisePropegComponent } from './analise-propeg/analise-propeg.component'\nimport { MatRadioModule } from '@angular/material/radio'\nimport { AnaliseHistoricoListarComponent } from '../comum/analise-historico/analise-historico-listar/analise-historico-listar.component'\nimport { AnaliseHistoricoEditarComponent } from '../comum/analise-historico/analise-historico-editar/analise-historico-editar.component'\n\n@NgModule({\n declarations: [AnalisePrevisaoOrcamentariaListarComponent, AnalisePropegComponent],\n exports: [AnalisePropegComponent],\n imports: [\n CommonModule,\n PropegRoutingModule,\n RouterModule,\n MatCardModule,\n MatButtonModule,\n UnespCoreMessageModule,\n UnespTableModule,\n MatIconModule,\n MatSelectModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatAutocompleteModule,\n MatIconModule,\n MatChipsModule,\n MatExpansionModule,\n MatPaginatorModule,\n MatDialogModule,\n MatTableModule,\n NgxMaskDirective,\n NgxMaskPipe,\n FlexLayoutModule,\n MatRadioModule,\n AnaliseHistoricoListarComponent,\n AnaliseHistoricoEditarComponent,\n ],\n providers: [provideNgxMask()],\n})\nexport class PropegModule {}\n","import { Inject, Injectable } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { UnespCoreEnvironment } from '@unesp/core'\nimport { identity, map, Observable, startWith, takeLast } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { Perfil, PerfisDoUsuario } from '../models/perfil'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PerfilService {\n private baseUrl: string\n\n constructor(\n private http: HttpClient,\n private errorHandlerService: ErrorHandlerService,\n @Inject('environment') env: UnespCoreEnvironment\n ) {\n this.baseUrl = env.baseUrlApi\n }\n\n listarPerfil(): Observable {\n return this.http.get(`${this.baseUrl}/perfil`).pipe(identity, this.errorHandlerService.catchError())\n }\n\n listaUsuariosDoPerfil(id: number): Observable {\n return this.http\n .get(`${this.baseUrl}/perfil/${id}/usuario`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n listaPerfisDoUsuario(identificacao: string): Observable {\n return this.http\n .get(`${this.baseUrl}/perfil/${identificacao}`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n excluir(idPerfil: number, idUser: number): Observable {\n return this.http\n .delete(`${this.baseUrl}/perfil/${idPerfil}/usuario/${idUser}`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n adicionarUsuario(idPerfil: number, identificacao: string) {\n identificacao = identificacao.replace('@unesp.br', '')\n return this.http.post(`${this.baseUrl}/perfil/${idPerfil}/usuario/${identificacao}`, undefined).pipe(\n identity,\n this.errorHandlerService.catchError(),\n map(() => {\n return true\n }),\n startWith(false),\n takeLast(1)\n )\n }\n}\n","\n

Perfis do usuário: {{ identificacao }}

\n\n search\n Pesquisar\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Nome{{ usuario.nome }}Descrição{{ usuario.descricao }}
\n Nenhum registro encontrado para a pesquisa: \"{{ input.value }}\"\n Nenhum registro disponível\n
\n\n","import { Component, OnInit, ViewChild } from '@angular/core'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { PerfilService } from 'src/app/services/perfil.service'\nimport { ActivatedRoute } from '@angular/router'\nimport { PerfisDoUsuario } from 'src/app/models/perfil'\nimport { MatSort } from '@angular/material/sort'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-lista-perfil-por-usuario',\n templateUrl: './lista-perfil-por-usuario.component.html',\n styleUrls: ['./lista-perfil-por-usuario.component.css'],\n})\nexport class PropgListaPerfilPorUsuarioComponent implements OnInit {\n @ViewChild(MatPaginator) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n dataSource: MatTableDataSource = new MatTableDataSource()\n colunasGrid: string[] = ['nome', 'descricao']\n\n identificacao: string = ''\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Perfis', route: '/propg/perfil', icon: 'person_pin' },\n ]\n\n constructor(private perfilService: PerfilService, private route: ActivatedRoute) {}\n\n perfisDoUsuario: PerfisDoUsuario[] = []\n\n listaPerfisDoUsuario(identificacao: string): any {\n this.perfilService.listaPerfisDoUsuario(identificacao).subscribe(perfisDoUsuario => {\n this.dataSource.data = perfisDoUsuario\n return perfisDoUsuario\n })\n }\n\n search(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value\n this.dataSource.filter = filterValue.trim().toLowerCase()\n }\n\n ngOnInit() {\n this.route.params.subscribe(params => {\n this.identificacao = params['identificacao']\n if (this.identificacao) {\n this.identificacao = this.identificacao.replace('@unesp.br', '')\n this.perfilService.listaPerfisDoUsuario(this.identificacao).subscribe(obj => {\n this.perfisDoUsuario = obj\n this.dataSource.data = this.perfisDoUsuario\n this.dataSource.sort = this.sort\n this.dataSource.paginator = this.paginator\n })\n }\n })\n }\n}\n","import { PerfilService } from 'src/app/services/perfil.service'\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\nimport { Component, Inject } from '@angular/core'\nimport { FormControl, Validators } from '@angular/forms'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { IncluirUsuarioPerfil } from 'src/app/models/perfil'\n\nexport interface AdicionarDialogData {\n idPerfil: number\n}\n\n@Component({\n selector: 'app-adiciona-perfil.component',\n templateUrl: './adiciona-perfil.component.html',\n styleUrls: ['./adiciona-perfil.component.css'],\n})\nexport class PropgAdicionaPerfilComponent {\n novoUsuario?: IncluirUsuarioPerfil\n email: string = ''\n idPerfil?: number\n\n identificacaoFC: FormControl = new FormControl('', Validators.required)\n\n constructor(\n private perfilService: PerfilService,\n private unespCoreMessageService: UnespCoreMessageService,\n public dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) public data: AdicionarDialogData,\n public dialogRef: MatDialogRef\n ) {}\n\n salvar(): void {\n if (!this.identificacaoFC.valid) {\n this.unespCoreMessageService.showMessageError('Erro ao preencher os dados do formulário')\n return\n }\n if (this.data.idPerfil) {\n this.perfilService.adicionarUsuario(this.data.idPerfil, this.identificacaoFC.value).subscribe(value => {\n if (value) {\n this.unespCoreMessageService.showMessageSuccess(\n `Perfil ${this.data.idPerfil} aplicado com sucesso ao usuário ${this.identificacaoFC.value}`\n )\n this.dialogRef.close(true)\n } else this.identificacaoFC.setErrors({ invalido: true })\n })\n }\n }\n\n cancelar(): void {\n this.dialogRef.close(false)\n }\n}\n","

Adicionar usuário ao perfil

\n\n Identificação\n \n\n\n
\n \n \n
\n
\n","\n
\n
\n \n Consultar usuários com perfil\n \n \n {{ perfil.nome }}\n \n \n \n \n add\n \n
\n
\n
\n
\n \n Consultar perfis do usuário\n \n \n \n search\n \n
\n
\n
\n \n search\n Pesquisar\n \n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Nome{{ usuario.nome }}Email{{ usuario.email }}Identificação{{ usuario.identificacao }}\n \n
\n Nenhum registro encontrado para a pesquisa: \"{{ input.value }}\"\n Nenhum registro disponível\n
\n\n","import { OnInit, Component, ViewChild } from '@angular/core'\nimport { PerfilService } from 'src/app/services/perfil.service'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { Perfil, PerfilPorUsuario, PerfisDoUsuario } from 'src/app/models/perfil'\nimport { FormControl } from '@angular/forms'\nimport { UnespConfirmDialogModel, UnespConfirmDialogComponent, UnespBreadcrumbItem } from '@unesp/shared'\nimport { MatDialog } from '@angular/material/dialog'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { PropgAdicionaPerfilComponent } from '../adiciona-perfil/adiciona-perfil.component'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\n\n@Component({\n selector: 'app-lista-perfil',\n templateUrl: './lista-perfil.component.html',\n styleUrls: ['./lista-perfil.component.css'],\n})\nexport class PropgListaPerfilComponent implements OnInit {\n @ViewChild(MatPaginator) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n dataSource: MatTableDataSource = new MatTableDataSource()\n perfis: Perfil[] = []\n opcaoPerfilFC: FormControl = new FormControl('')\n identificacao: string = ''\n\n buscaPerfis = new FormControl('')\n\n perfisDoUsuario: PerfisDoUsuario[] = []\n\n colunasGrid: string[] = ['nome', 'email', 'identificacao', 'action']\n perfil: string | undefined\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Perfis', route: '/propg/perfil', icon: 'person_pin' },\n ]\n\n\n constructor(\n private perfilService: PerfilService,\n public dialog: MatDialog,\n public legacyDialog: MatDialog,\n private unespCoreMessageService: UnespCoreMessageService\n ) {}\n\n ngOnInit() {\n this.listarPerfis()\n this.opcaoPerfilFC.valueChanges.subscribe(value => this.listarUsuarios(value))\n }\n\n listarUsuarios(value: number) {\n this.perfilService.listaUsuariosDoPerfil(value).subscribe(usuarios => {\n this.dataSource.data = usuarios\n this.dataSource.sort = this.sort\n this.dataSource.paginator = this.paginator\n })\n }\n\n excluir(usuarioDoPerfil: PerfilPorUsuario): void {\n let index = this.dataSource.data.indexOf(usuarioDoPerfil)\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `Confirma a exclusão do usuario #${usuarioDoPerfil.nome}`\n )\n const dialogRef = this.legacyDialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.perfilService.excluir(this.opcaoPerfilFC.value as number, usuarioDoPerfil.idUsuario).subscribe(result => {\n let tmp: PerfilPorUsuario[] = this.dataSource.data\n tmp.splice(index, 1)\n this.dataSource.data = tmp\n this.unespCoreMessageService.showMessageSuccess(`Usuário ${usuarioDoPerfil.nome} excluído com sucesso`)\n })\n }\n })\n }\n\n listarPerfis() {\n this.perfilService.listarPerfil().subscribe(perfil => {\n this.perfis = perfil as Perfil[]\n })\n }\n\n adicionarUsuarioDialog() {\n const idPerfil = this.opcaoPerfilFC.value\n const dialogRef = this.dialog.open(PropgAdicionaPerfilComponent, { data: { idPerfil } })\n dialogRef.afterClosed().subscribe(res => {\n if (res) this.listarUsuarios(idPerfil)\n })\n }\n\n search(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value\n this.dataSource.filter = filterValue.trim().toLowerCase()\n }\n}\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { Router } from '@angular/router'\nimport { UnespCoreMessageService, UnespCoreApiErrorHandlerService } from '@unesp/core'\nimport {\n UnespTableComponent,\n UnespTableConfig,\n UnespConfirmDialogModel,\n UnespConfirmDialogComponent,\n UnespBreadcrumbItem,\n} from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { TipoEspecificidade } from 'src/app/models/tipo-especificidade'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { TipoEspecificidadeService } from 'src/app/services/tipo-especificidade.service'\n\n@Component({\n selector: 'app-tipo-especificidade-listar',\n templateUrl: './tipo-especificidade-listar.component.html',\n styleUrls: ['./tipo-especificidade-listar.component.css'],\n})\nexport class TipoEspecificidadeListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'tipo-especificidade-listar.search'\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Tipos especificidade', route: '/propg/tipos-especificidades', icon: 'article' },\n ]\n\n constructor(\n private tipoEspecificidadeService: TipoEspecificidadeService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService\n ) {\n this.tableConfig = {\n columns: {\n id: { title: '#', sort: true },\n descricao: { title: 'Descrição', sort: true },\n ativo: { title: 'Ativo', sort: true, type: 'boolean' },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n { title: 'Editar', callback: i => this.editar(i.id), condition: i => i.id, icon: 'edit' },\n { title: 'Excluir', callback: i => this.excluir(i.id), condition: i => i.id, icon: 'clear', color: 'warn' },\n ],\n loadData: p => this.tipoEspecificidadeService.listar(p, this.localStorageService.get(this.cacheSearch) ?? ''),\n }\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.tipoEspecificidadeService.listar(undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n editar(id: number) {\n this.router.navigate([`propg/tipo-especificidade/cadastro/${id}`])\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.tipoEspecificidadeService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n}\n","\n
\n
\n \n
\n
\n\n search\n Pesquisar\n \n\n\n","import { Component, OnInit } from '@angular/core'\nimport { FormGroup, FormControl, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { TipoEspecificidade } from 'src/app/models/tipo-especificidade'\nimport { TipoEspecificidadeService } from 'src/app/services/tipo-especificidade.service'\n\n@Component({\n selector: 'app-tipo-especificidade-editar',\n templateUrl: './tipo-especificidade-editar.component.html',\n styleUrls: ['./tipo-especificidade-editar.component.css'],\n})\nexport class TipoEspecificidadeEditarComponent implements OnInit {\n form = new FormGroup({\n descricao: new FormControl('', Validators.required),\n ativo: new FormControl('', Validators.required),\n })\n id?: number\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Tipos especificidade', route: '/propg/tipos-especificidades', icon: 'article' },\n { label: 'Tipo especificidade', route: '/propg/tipos-especificidades/cadastro', icon: 'edit' },\n ]\n\n\n constructor(\n private tipoEspecificidadeService: TipoEspecificidadeService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.id = params['id']\n this.form.reset()\n if (this.id) {\n this.breadcrumbs[2] = {\n label: `Tipo especificidade`,\n route: `/propg/tipo-especificidade/cadastro/${this.id}`, \n icon: 'edit',\n } \n this.tipoEspecificidadeService.getTipoEspecificidade(this.id).subscribe(obj => {\n this.form.controls['descricao'].setValue(obj.descricao)\n this.form.controls['ativo'].setValue(obj.ativo.toString())\n })\n } else {\n this.breadcrumbs[2] = {\n label: `Tipo especificidade`,\n route: `/propg/tipo-especificidade/cadastro`, \n icon: 'edit',\n } \n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n\n if (this.id) {\n this.tipoEspecificidadeService.atualizar(this.id, formulario).subscribe(tipoEspecificidade => {\n this.unespCoreMessageService.showMessageSuccess(\n `Tipo especificidade #${tipoEspecificidade.id} atualizado com sucesso`\n )\n this.router.navigate(['/propg/tipos-especificidades'])\n })\n } else {\n this.tipoEspecificidadeService.gravar(formulario).subscribe(tipoEspecificidade => {\n this.unespCoreMessageService.showMessageSuccess(\n `Tipo especificidade #${tipoEspecificidade.id} cadastrado com sucesso`\n )\n this.router.navigate(['/propg/tipos-especificidades'])\n })\n }\n }\n}\n","\n\n \n
\n Cadastro\n
\n \n Descrição\n \n \n \n Ativo\n \n Sim\n Não\n \n \n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { Router } from '@angular/router'\nimport { UnespCoreMessageService, UnespCoreApiErrorHandlerService } from '@unesp/core'\nimport {\n UnespTableComponent,\n UnespTableConfig,\n UnespConfirmDialogModel,\n UnespConfirmDialogComponent,\n UnespBreadcrumbItem,\n} from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { AreaConhecimento } from 'src/app/models/area-conhecimento'\nimport { AreaConhecimentoService } from 'src/app/services/area-conhecimento.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\n\n@Component({\n selector: 'app-area-conhecimento-listar',\n templateUrl: './area-conhecimento-listar.component.html',\n styleUrls: ['./area-conhecimento-listar.component.css'],\n})\nexport class AreaConhecimentoListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'area-conhecimento-listar.search'\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Áreas de conhececimento', route: '/propg/capes-areas-conhecimento', icon: 'lightbulb' },\n ]\n\n constructor(\n private areaConhecimentoService: AreaConhecimentoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService\n ) {\n this.tableConfig = {\n columns: {\n id: { title: '#', sort: true },\n descricaoArea: { title: 'Nome', sort: true },\n codigoArea: { title: 'Código', sort: true },\n nivel: { title: 'Nível', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n { title: 'Editar', callback: i => this.editar(i.id), condition: i => i.id, icon: 'edit' },\n { title: 'Excluir', callback: i => this.excluir(i.id), condition: i => i.id, icon: 'clear', color: 'warn' },\n ],\n loadData: p => this.areaConhecimentoService.listar(p, this.localStorageService.get(this.cacheSearch) ?? ''),\n }\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.areaConhecimentoService.listar(undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n editar(id: number) {\n this.router.navigate([`propg/capes-area-conhecimento/cadastro/${id}`])\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.areaConhecimentoService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n}\n","\n
\n
\n \n
\n
\n\n search\n Pesquisar\n \n\n\n","import { Component, OnInit } from '@angular/core'\nimport { FormGroup, FormControl, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { AreaConhecimento } from 'src/app/models/area-conhecimento'\nimport { AreaConhecimentoService } from 'src/app/services/area-conhecimento.service'\n\n@Component({\n selector: 'app-area-conhecimento-editar',\n templateUrl: './area-conhecimento-editar.component.html',\n styleUrls: ['./area-conhecimento-editar.component.css'],\n})\nexport class AreaConhecimentoEditarComponent implements OnInit {\n form = new FormGroup({\n id: new FormControl(-1),\n descricaoArea: new FormControl('', Validators.required),\n codigoArea: new FormControl('', Validators.required),\n nivel: new FormControl(-1, Validators.required),\n certificadoQuadroOdontologia: new FormControl('', Validators.required),\n })\n id?: number\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Áreas de conhececimento', route: '/propg/capes-areas-conhecimento', icon: 'lightbulb' },\n { label: 'Área de conhececimento', route: '', icon: 'edit' },\n ]\n constructor(\n private areaConhecimentoService: AreaConhecimentoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.id = params['id']\n this.form.reset()\n if (this.id) {\n this.breadcrumbs[2] = {\n label: `Área de conhececimento`,\n route: `/propg/capes-area-conhecimento/cadastro/${this.id}`, \n icon: 'edit',\n }\n this.areaConhecimentoService.getAreaConhecimento(this.id).subscribe(obj => {\n this.form.controls['id'].setValue(obj.id)\n this.form.controls['descricaoArea'].setValue(obj.descricaoArea)\n this.form.controls['codigoArea'].setValue(obj.codigoArea)\n this.form.controls['nivel'].setValue(obj.nivel)\n this.form.controls['certificadoQuadroOdontologia'].setValue(obj.certificadoQuadroOdontologia.toString())\n })\n } else {\n this.breadcrumbs[2] = {\n label: `Área de conhececimento`,\n route: `/propg/capes-area-conhecimento/cadastro/`, \n icon: 'edit',\n }\n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n\n if (this.id) {\n this.areaConhecimentoService.atualizar(this.id, formulario).subscribe(areaConhecimento => {\n this.unespCoreMessageService.showMessageSuccess(\n `Área de conhecimento #${areaConhecimento.id} atualizado com sucesso`\n )\n this.router.navigate(['/propg/capes-areas-conhecimento'])\n })\n } else {\n this.areaConhecimentoService.gravar(formulario).subscribe(areaConhecimento => {\n this.unespCoreMessageService.showMessageSuccess(\n `Área de conhecimento #${areaConhecimento.id} cadastrado com sucesso`\n )\n this.router.navigate(['/propg/capes-areas-conhecimento'])\n })\n }\n }\n}\n","\n\n \n
\n Cadastro\n
\n \n Nome\n \n \n \n Código\n \n \n \n Nível\n \n \n \n Certificado com quadro especial para Odontologia\n \n Sim\n Não\n \n \n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","\n\n \n
\n Cadastro\n
\n \n Número\n \n \n \n Ativo\n \n Sim\n Não\n \n \n \n Modelo do certificado\n \n \n {{ modeloCertificado.value }}\n \n \n \n \n É necessário a avaliação da PROPEG na Proposta e no Relatório final?\n \n Sim\n Não\n \n \n \n É necessário o Relatório parcial do Coordenador?\n \n Sim\n Não\n \n \n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core'\nimport { FormGroup, FormControl, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { ModeloCertificado } from 'src/app/enums/modelo-certificado'\nimport { Resolucao } from 'src/app/models/resolucao'\nimport { ResolucaoService } from 'src/app/services/resolucao.service'\n\n@Component({\n selector: 'app-resolucao-editar',\n templateUrl: './resolucao-editar.component.html',\n styleUrls: ['./resolucao-editar.component.css'],\n})\nexport class ResolucaoEditarComponent implements OnInit {\n form = new FormGroup({\n numero: new FormControl('', Validators.required),\n ativo: new FormControl('', Validators.required),\n modeloCertificado: new FormControl('', Validators.required),\n avaliacaoPropeg: new FormControl('', Validators.required),\n relatorioParcial: new FormControl('', Validators.required),\n })\n id?: number\n modelosCertificado = ModeloCertificado\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Resoluções', route: '/propg/resolucoes', icon: 'gavel' },\n { label: 'Resolução', route: '', icon: 'edit' },\n ]\n\n constructor(\n private resolucaoService: ResolucaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.id = params['id']\n this.form.reset()\n if (this.id) {\n this.breadcrumbs[2] = {\n label: `Resolução`,\n route: `/propg/resolucao/cadastro/${this.id}`, \n icon: 'edit',\n }\n this.resolucaoService.getResolucao(this.id).subscribe(obj => {\n this.form.controls['numero'].setValue(obj.numero)\n this.form.controls['ativo'].setValue(obj.ativo.toString())\n this.form.controls['modeloCertificado'].setValue(obj.modeloCertificado)\n this.form.controls['avaliacaoPropeg'].setValue(obj.avaliacaoPropeg.toString())\n this.form.controls['relatorioParcial'].setValue(obj.relatorioParcial.toString())\n })\n } else {\n this.breadcrumbs[2] = {\n label: `Resolução`,\n route: `/propg/resolucao/cadastro`, \n icon: 'edit',\n }\n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n\n if (this.id) {\n this.resolucaoService.atualizar(this.id, formulario).subscribe(resolucao => {\n this.unespCoreMessageService.showMessageSuccess(`Resolução #${resolucao.id} atualizado com sucesso`)\n this.router.navigate(['/propg/resolucoes'])\n })\n } else {\n this.resolucaoService.gravar(formulario).subscribe(resolucao => {\n this.unespCoreMessageService.showMessageSuccess(`Resolução #${resolucao.id} cadastrado com sucesso`)\n this.router.navigate(['/propg/resolucoes'])\n })\n }\n }\n}\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { Router } from '@angular/router'\nimport { UnespCoreMessageService, UnespCoreApiErrorHandlerService } from '@unesp/core'\nimport {\n UnespTableComponent,\n UnespTableConfig,\n UnespConfirmDialogModel,\n UnespConfirmDialogComponent,\n UnespBreadcrumbItem,\n} from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { Resolucao } from 'src/app/models/resolucao'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { ResolucaoService } from 'src/app/services/resolucao.service'\n\n@Component({\n selector: 'app-resolucao-listar',\n templateUrl: './resolucao-listar.component.html',\n styleUrls: ['./resolucao-listar.component.css'],\n})\nexport class ResolucaoListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'resolucao-listar.search'\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Resoluções', route: '/propg/resolucoes', icon: 'gavel' },\n ]\n\n\n constructor(\n private resolucaoService: ResolucaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService\n ) {\n this.tableConfig = {\n columns: {\n id: { title: '#', sort: true },\n numero: { title: 'Número', sort: true },\n ativo: { title: 'Ativo', sort: true, type: 'boolean' },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n { title: 'Editar', callback: i => this.editar(i.id), condition: i => i.id, icon: 'edit' },\n { title: 'Excluir', callback: i => this.excluir(i.id), condition: i => i.id, icon: 'clear', color: 'warn' },\n ],\n loadData: p => this.resolucaoService.listar(p, this.localStorageService.get(this.cacheSearch) ?? ''),\n }\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.resolucaoService.listar(undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n editar(id: number) {\n this.router.navigate([`propg/resolucao/cadastro/${id}`])\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.resolucaoService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n}\n","\n
\n
\n \n
\n
\n\n search\n Pesquisar\n \n\n\n","import { Component, OnInit } from '@angular/core'\nimport { FormGroup, FormControl, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { Modalidade } from 'src/app/models/modalidade'\nimport { ModalidadeService } from 'src/app/services/modalidade.service'\n\n@Component({\n selector: 'app-modalidade-editar',\n templateUrl: './modalidade-editar.component.html',\n styleUrls: ['./modalidade-editar.component.css'],\n})\nexport class ModalidadeEditarComponent implements OnInit {\n form = new FormGroup({\n descricao: new FormControl('', Validators.required),\n ativo: new FormControl('', Validators.required),\n })\n id?: number\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Modalidades', route: '/propg/modalidades', icon: 'bookmarks' },\n { label: 'Modalidade', route: '', icon: 'edit' },\n ]\n constructor(\n private modalidadeService: ModalidadeService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.id = params['id']\n this.form.reset()\n if (this.id) {\n this.breadcrumbs[2] = {\n label: `Modalidade`,\n route: `/propg/modalidade/cadastro/${this.id}`, \n icon: 'edit',\n } \n this.modalidadeService.getModalidade(this.id).subscribe(obj => {\n this.form.controls['descricao'].setValue(obj.descricao)\n this.form.controls['ativo'].setValue(obj.ativo.toString())\n })\n } else {\n this.breadcrumbs[2] = {\n label: `Modalidade`,\n route: `/propg/modalidade/cadastro`, \n icon: 'edit',\n } \n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n\n if (this.id) {\n this.modalidadeService.atualizar(this.id, formulario).subscribe(modalidade => {\n this.unespCoreMessageService.showMessageSuccess(`Modalidade #${modalidade.id} atualizado com sucesso`)\n this.router.navigate(['/propg/modalidades'])\n })\n } else {\n this.modalidadeService.gravar(formulario).subscribe(modalidade => {\n this.unespCoreMessageService.showMessageSuccess(`Modalidade #${modalidade.id} cadastrado com sucesso`)\n this.router.navigate(['/propg/modalidades'])\n })\n }\n }\n}\n","\n\n \n
\n Cadastro\n
\n \n Descrição\n \n \n \n Ativo\n \n Sim\n Não\n \n \n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { Router } from '@angular/router'\nimport { UnespCoreMessageService, UnespCoreApiErrorHandlerService } from '@unesp/core'\nimport {\n UnespTableComponent,\n UnespTableConfig,\n UnespConfirmDialogModel,\n UnespConfirmDialogComponent,\n UnespBreadcrumbItem,\n} from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { Modalidade } from 'src/app/models/modalidade'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { ModalidadeService } from 'src/app/services/modalidade.service'\n\n@Component({\n selector: 'app-modalidade-listar',\n templateUrl: './modalidade-listar.component.html',\n styleUrls: ['./modalidade-listar.component.css'],\n})\nexport class ModalidadeListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'modalidade-listar.search'\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Modalidades', route: '/propg/modalidades', icon: 'bookmarks' },\n ]\n constructor(\n private modalidadeService: ModalidadeService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService\n ) {\n this.tableConfig = {\n columns: {\n id: { title: '#', sort: true },\n descricao: { title: 'Descrição', sort: true },\n ativo: { title: 'Ativo', sort: true, type: 'boolean' },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n { title: 'Editar', callback: i => this.editar(i.id), condition: i => i.id, icon: 'edit' },\n { title: 'Excluir', callback: i => this.excluir(i.id), condition: i => i.id, icon: 'clear', color: 'warn' },\n ],\n loadData: p => this.modalidadeService.listar(p, this.localStorageService.get(this.cacheSearch) ?? ''),\n }\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.modalidadeService.listar(undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n editar(id: number) {\n this.router.navigate([`propg/modalidade/cadastro/${id}`])\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.modalidadeService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n}\n","\n\n
\n
\n \n
\n
\n\n search\n Pesquisar\n \n\n\n","

Detalhes

\n
\n\n
\n
\n {{ detalhes.erroMsg }}\n
\n
\n

Usuário: #{{ detalhes.idUsuario }} - {{ detalhes.identificacao }}

\n

Nome: {{ detalhes.nomeUsuario }}

\n

CPF: {{ detalhes.cpf }}

\n

\n Unidade: {{ detalhes.idUnidadeUniversitaria }}\n - {{ detalhes.campus }}\n

\n

\n Lotação: {{ detalhes.idLotacaoOficial }} - {{ detalhes.nomeLotacaoOficial }}\n

\n

Perfis: {{ detalhes.authorities.join(', ') }}

\n
\n
\n
\n {{ campo.key }}: {{ campo.value }}\n
\n
\n
\n
\n {{ campo.key }}:\n \n
{{ campo.value | json }}
\n
\n {{ campo.value }}\n
\n
\n
\n
\n {{ campo.key }}: {{ campo.value }}\n
\n
\n
\n
\n {{ campo.key }}: {{ campo.value }}\n
\n
\n
\n
\n {{ campo.key }}: {{ campo.value }}\n
\n
\n
\n
\n
\n\n \n
\n \n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core'\nimport { Logs } from 'src/app/models/logs'\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'\n\n@Component({\n selector: 'app-logs-detalhes',\n templateUrl: 'logs-detalhes.component.html',\n styleUrls: ['./logs-detalhes.component.css'],\n})\nexport class LogsDetalhesComponent implements OnInit {\n tipoLog?: 'ERRO' | 'LOGIN' | 'INSERT' | 'UPDATE' | 'DELETE' | 'NOTIFY' | 'GET'\n detalhes: any = {}\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: Logs) {}\n\n ngOnInit(): void {\n if (this.data.nivel == 'Erro') this.tipoLog = 'ERRO'\n else if (this.data.acao == 'LOGIN') this.tipoLog = 'LOGIN'\n else if (this.data.acao.startsWith('INSERT')) this.tipoLog = 'INSERT'\n else if (this.data.acao.startsWith('UPDATE')) this.tipoLog = 'UPDATE'\n else if (this.data.acao.startsWith('DELETE')) this.tipoLog = 'DELETE'\n else if (this.data.acao.startsWith('NOTIFY')) this.tipoLog = 'NOTIFY'\n else if (this.data.acao.startsWith('GET')) this.tipoLog = 'GET'\n\n if (this.data.detalhesJSON) {\n this.detalhes = JSON.parse(this.data.detalhesJSON)\n if (this.detalhes.authorities) {\n for (let i = 0; i < this.detalhes.authorities.length; i++) {\n this.detalhes.authorities[i] = this.detalhes.authorities[i].replace('ROLE_UNESP.SISESP_', '')\n }\n }\n }\n }\n\n formatPerfis(authorities: string[]): string {\n return authorities.join(' ')\n }\n\n cancelar(): void {\n this.dialogRef.close(false)\n }\n\n isObject(value: any): boolean {\n return value && typeof value === 'object' && !Array.isArray(value)\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport { HttpClient, HttpParams } from '@angular/common/http'\nimport { UnespCoreEnvironment } from '@unesp/core'\nimport { identity, Observable } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LogsService {\n private baseUrl: string\n\n constructor(\n private http: HttpClient,\n private errorHandlerService: ErrorHandlerService,\n @Inject('environment') env: UnespCoreEnvironment\n ) {\n this.baseUrl = env.baseUrlApi\n }\n\n listar(page: number, size: number, filtros: any): Observable {\n return this.http\n .put(`${this.baseUrl}/logs`, filtros, {\n params: new HttpParams().set('page', page ? page.toString() : '0').set('size', size ? size.toString() : '25'),\n })\n .pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'initcap',\n})\nexport class Initcap implements PipeTransform {\n transform(value: string | null): string {\n if (value) {\n let text: string = ''\n value = value.replaceAll('_', ' ')\n value = value.toLowerCase()\n value.split(' ').forEach(v => {\n text += v.charAt(0).toUpperCase() + v.slice(1) + ' '\n })\n return text\n }\n return ''\n }\n}\n","\n
\n
\n
\n \n Tipo de LOG\n \n Todos\n Informativo\n Erro\n \n \n
\n
\n \n Intervalo de tempo\n close\n \n \n \n \n \n \n \n
\n
\n \n Login do usuário\n \n \n
\n
\n \n Operação realizada\n \n Todas\n \n {{ enum.value }}\n \n \n \n
\n
\n \n Registro afetado\n \n Todos\n \n {{ enum.value }}\n \n \n \n
\n
\n
\n
\n {{ msgSelecionado }}\n
\n
\n \n
\n
\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
Nível{{ row.nivel }}Data e hora{{ row.dataHora | date : 'dd/MM/yyyy - HH:mm:ss' }}IP\n {{ row.ip }}\n Login do usuário{{ row.username }}Ação\n {{ row.acao | initcap }} {{ row.registroId ? '#' + row.registroId : '' }}\n \n \n content_paste_search\n \n
\n Nenhum registro disponível\n
\n\n","import { Component, OnInit, ViewChild } from '@angular/core'\nimport { FormControl } from '@angular/forms'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { LogTipoAcao, LogRegistroAcao } from 'src/app/enums/logs'\nimport { DatePipe } from '@angular/common'\nimport { LogsService } from 'src/app/services/logs.service'\nimport { Logs } from 'src/app/models/logs'\nimport { LogsDetalhesComponent } from '../logs-detalhes/logs-detalhes.component'\nimport { tap } from 'rxjs/internal/operators/tap'\nimport { MatDialog } from '@angular/material/dialog'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-logs-listar',\n templateUrl: './logs-listar.component.html',\n styleUrls: ['./logs-listar.component.css'],\n})\nexport class LogsListarComponent implements OnInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n lastPage: number = 0\n lastPageSize: number = 25\n totalElements: number = 0\n\n logTipoAcao = LogTipoAcao\n logRegistroAcao = LogRegistroAcao\n\n nivelLogFC: FormControl = new FormControl('')\n dataInicialFC: FormControl = new FormControl()\n dataFinalFC: FormControl = new FormControl()\n dataMaxima: Date = new Date()\n usuarioFC: FormControl = new FormControl('')\n logTipoAcaoFC: FormControl = new FormControl('')\n logRegistroAcaoFC: FormControl = new FormControl('')\n\n registro: number | null = null\n ipAddr: string | null = null\n msgSelecionado: string = ''\n\n colunasGrid: string[] = ['nivel', 'data', 'ip', 'username', 'acao', 'action']\n dataSource: MatTableDataSource = new MatTableDataSource()\n\n datepipe: DatePipe = new DatePipe('pt-BR')\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Logs', route: '/propg/logs', icon: 'manage_search' },\n ]\n\n constructor(private logsService: LogsService, public dialog: MatDialog) {}\n\n ngOnInit(): void {\n this.nivelLogFC.setValue('TODOS')\n this.logTipoAcaoFC.setValue('TODOS')\n this.logRegistroAcaoFC.setValue('TODOS')\n this.lastPage = this.paginator.pageIndex\n this.lastPageSize = this.paginator.pageSize\n this.paginator?.page\n .pipe(\n tap(() => {\n if (this.paginator.pageIndex != this.lastPage || this.paginator.pageSize != this.lastPageSize) {\n this.lastPage = this.paginator.pageIndex\n this.lastPageSize = this.paginator.pageSize\n this.consultar()\n }\n })\n )\n .subscribe()\n this.consultar()\n }\n\n private filtros() {\n let usuario: string | null = this.usuarioFC.value as string\n\n if (usuario && usuario.trim()) usuario = usuario.trim()\n else usuario = null\n\n return {\n nivel: this.nivelLogFC.value == 'TODOS' ? null : this.nivelLogFC.value,\n dataInicio: this.dataInicialFC.value ? this.dataInicialFC.value : null,\n dataFinal: this.dataFinalFC.value ? this.dataFinalFC.value : null,\n usuario,\n tipoOperacao: this.logTipoAcaoFC.value == 'TODOS' ? null : this.logTipoAcaoFC.value,\n tipoRegistro: this.logRegistroAcaoFC.value == 'TODOS' ? null : this.logRegistroAcaoFC.value,\n registro: this.registro,\n ip: this.ipAddr,\n }\n }\n\n private consultar(): void {\n this.logsService.listar(this.paginator.pageIndex, this.paginator.pageSize, this.filtros()).subscribe(page => {\n this.dataSource = new MatTableDataSource(page['content'])\n this.totalElements = page['totalElements']\n this.paginator._changePageSize(page['pageable']['pageSize'])\n })\n }\n\n private limparFiltros(): void {\n this.nivelLogFC.setValue('TODOS')\n this.usuarioFC.setValue('')\n this.logTipoAcaoFC.setValue('TODOS')\n this.logRegistroAcaoFC.setValue('TODOS')\n this.registro = null\n this.ipAddr = null\n this.msgSelecionado = ''\n }\n\n consultarBtnClick(): void {\n this.paginator.pageIndex = 0\n this.registro = null\n this.ipAddr = null\n this.msgSelecionado = ''\n this.consultar()\n }\n\n queryIP(ip: string): void {\n this.limparFiltros()\n this.msgSelecionado = `Ações originadas do IP ${ip}`\n this.ipAddr = ip\n this.consultar()\n }\n\n abrirDetalhes(log: Logs): void {\n this.dialog.open(LogsDetalhesComponent, { data: log, panelClass: 'my-dialog-resizer' })\n }\n\n clearDate(): void {\n this.dataInicialFC.setValue(null)\n this.dataFinalFC.setValue(null)\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { UnespCoreEnvironment } from '@unesp/core'\nimport { identity, Observable } from 'rxjs'\nimport { UsuarioExterno } from '../models/usuario-externo'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UsuarioExternoService {\n private baseUrl: string\n\n constructor(\n private http: HttpClient,\n private errorHandlerService: ErrorHandlerService,\n @Inject('environment') env: UnespCoreEnvironment\n ) {\n this.baseUrl = env.baseUrlApi\n }\n\n gravar(form: UsuarioExterno): Observable {\n return this.http\n .post(`${this.baseUrl}/usuario-externo`, form)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n get(cpf: string): Observable {\n return this.http\n .get(`${this.baseUrl}/usuario-externo/${cpf}`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(form: UsuarioExterno): Observable {\n return this.http\n .put(`${this.baseUrl}/usuario-externo`, form)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n listar(): Observable {\n return this.http\n .get(`${this.baseUrl}/usuario-externo`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { Component, OnInit } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { UsuarioExternoService } from 'src/app/services/usuario-externo.service'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UsuarioExterno } from 'src/app/models/usuario-externo'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-usuario-externo-editar',\n templateUrl: './usuario-externo-editar.component.html',\n styleUrls: ['./usuario-externo-editar.component.css'],\n})\nexport class UsuarioExternoEditarComponent implements OnInit {\n cpf?: string\n usuarioExterno?: UsuarioExterno\n\n form = new FormGroup({\n nome: new FormControl('', Validators.required),\n cpf: new FormControl('', Validators.required),\n email: new FormControl('', Validators.required),\n })\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Usuários externos', route: '/propg/usuarios-externos', icon: 'manage_accounts' },\n { label: 'Usuários externos', route: '', icon: 'edit' },\n ]\n\n constructor(\n private usuarioExternoService: UsuarioExternoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.cpf = params['cpf']\n this.form.reset()\n if (this.cpf) {\n this.breadcrumbs[2] = {\n label: `Usuários externos`,\n route: `/propg/usuario-externo/cadastro/${this.cpf}`, \n icon: 'edit',\n } \n this.usuarioExternoService.get(this.cpf).subscribe(obj => {\n this.usuarioExterno = obj\n this.form.get('nome')?.setValue(obj.nome)\n this.form.get('cpf')?.setValue(this.getCpf(obj.cpf))\n this.form.get('email')?.setValue(obj.email)\n })\n } else {\n this.breadcrumbs[2] = {\n label: `Usuário externo`,\n route: `/propg/usuario-externo/cadastro`, \n icon: 'edit',\n } \n }\n })\n }\n\n private getCpf(value: string): string {\n if (!value) {\n return ''\n } else if (value.length === 11) {\n value = value.replace(/\\D/g, '')\n value = value.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{2})/, '$1.$2.$3-$4')\n return value\n } else {\n return value\n }\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n gravar(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = this.form.value\n if (this.cpf && this.usuarioExterno) {\n this.usuarioExterno.cpf = this.form.get('cpf')?.getRawValue()\n this.usuarioExterno.nome = this.form.get('nome')?.getRawValue()\n this.usuarioExterno.email = this.form.get('email')?.getRawValue()\n this.usuarioExternoService.atualizar(this.usuarioExterno).subscribe(usuarioExterno => {\n this.unespCoreMessageService.showMessageSuccess(`Usuário externo #${usuarioExterno.cpf} atualizado com sucesso`)\n this.router.navigate(['/propg/usuarios-externos'])\n })\n } else {\n this.usuarioExternoService.gravar(formulario).subscribe(usuarioExterno => {\n this.unespCoreMessageService.showMessageSuccess(`Usuário externo #${usuarioExterno.cpf} cadastrado com sucesso`)\n this.router.navigate(['/propg/usuarios-externos'])\n })\n }\n }\n}\n","\n\n \n
\n Dados\n
\n \n Nome Completo (sem abreviação)\n \n \n\n
\n \n CPF\n \n \n\n \n Email\n \n \n
\n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","\n
\n
\n \n
\n
\n\n\n search\n Pesquisar\n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
#{{ row.idUsuario }}Nome{{ row.nome }}CPF{{ row.cpf | mask : '000.000.000-00' }}Email{{ row.email }}Identificação{{ row.identificacao }}\n \n edit\n \n
\n Nenhum registro encontrado para a pesquisa: \"{{ input.value }}\"\n Nenhum registro disponível\n
\n\n","import { NgModule } from '@angular/core'\nimport { RouterModule, Routes } from '@angular/router'\nimport { UnespCoreAuthGuardService } from '@unesp/core'\nimport { environment } from 'src/environments/environment'\n\nimport { PropgListaPerfilPorUsuarioComponent } from './perfis/lista-perfil-por-usuario/lista-perfil-por-usuario.component'\nimport { PropgListaPerfilComponent } from './perfis/lista-perfil/lista-perfil.component'\nimport { TipoEspecificidadeListarComponent } from './tipo-especificidade/tipo-especificidade-listar/tipo-especificidade-listar.component'\nimport { TipoEspecificidadeEditarComponent } from './tipo-especificidade/tipo-especificidade-editar/tipo-especificidade-editar.component'\nimport { AreaConhecimentoListarComponent } from './area-conhecimento/area-conhecimento-listar/area-conhecimento-listar.component'\nimport { AreaConhecimentoEditarComponent } from './area-conhecimento/area-conhecimento-editar/area-conhecimento-editar.component'\nimport { ResolucaoEditarComponent } from './resolucao/resolucao-editar/resolucao-editar.component'\nimport { ResolucaoListarComponent } from './resolucao/resolucao-listar/resolucao-listar.component'\nimport { ModalidadeEditarComponent } from './modalidade/modalidade-editar/modalidade-editar.component'\nimport { ModalidadeListarComponent } from './modalidade/modalidade-listar/modalidade-listar.component'\nimport { LogsListarComponent } from './logs/logs-listar/logs-listar.component'\nimport { UsuarioExternoEditarComponent } from './usuario-externo/usuario-externo-editar/usuario-externo-editar.component'\nimport { UsuarioExternoListarComponent } from './usuario-externo/usuario-externo-listar/usuario-externo-listar.component'\n\nconst routes: Routes = [\n // LOGS\n {\n path: 'logs',\n component: LogsListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n // PERFIL\n {\n path: 'perfil',\n component: PropgListaPerfilComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'perfil/:identificacao',\n component: PropgListaPerfilPorUsuarioComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n // USUARIOS-EXTERNOS\n {\n path: 'usuarios-externos',\n component: UsuarioExternoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: { allowedRoles: [`${environment.roles.PROPG.name}`] },\n },\n {\n path: 'usuario-externo/cadastro',\n component: UsuarioExternoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: { allowedRoles: [`${environment.roles.PROPG.name}`] },\n },\n {\n path: 'usuario-externo/cadastro/:cpf',\n component: UsuarioExternoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n // MODALIDADE\n {\n path: 'modalidades',\n component: ModalidadeListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'modalidade/cadastro',\n component: ModalidadeEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'modalidade/cadastro/:id',\n component: ModalidadeEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n // RESOLUCAO\n {\n path: 'resolucoes',\n component: ResolucaoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'resolucao/cadastro',\n component: ResolucaoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'resolucao/cadastro/:id',\n component: ResolucaoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n // TIPO-ESPECIFICIDADE\n {\n path: 'tipos-especificidades',\n component: TipoEspecificidadeListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'tipo-especificidade/cadastro',\n component: TipoEspecificidadeEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'tipo-especificidade/cadastro/:id',\n component: TipoEspecificidadeEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n // ÁREA DE CONHECIMENTO\n {\n path: 'capes-areas-conhecimento',\n component: AreaConhecimentoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'capes-area-conhecimento/cadastro',\n component: AreaConhecimentoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n {\n path: 'capes-area-conhecimento/cadastro/:id',\n component: AreaConhecimentoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.PROPG.name}`],\n },\n },\n]\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PropgRoutingModule {}\n","import { Component, OnInit, ViewChild } from '@angular/core'\nimport { UsuarioExterno } from 'src/app/models/usuario-externo'\nimport { UsuarioExternoService } from 'src/app/services/usuario-externo.service'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { MatSort } from '@angular/material/sort'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-usuario-externo-listar',\n templateUrl: './usuario-externo-listar.component.html',\n styleUrls: ['./usuario-externo-listar.component.css'],\n})\nexport class UsuarioExternoListarComponent implements OnInit {\n @ViewChild(MatPaginator) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = ['idUsuario', 'nome', 'cpf', 'email', 'identificacao', 'action']\n dataSource: MatTableDataSource = new MatTableDataSource()\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Usuários externos', route: '/propg/usuarios-externos', icon: 'manage_accounts' },\n ]\n\n constructor(private usuarioExternoService: UsuarioExternoService) {}\n\n ngOnInit(): void {\n this.usuarioExternoService.listar().subscribe(usuariosExterno => {\n if (usuariosExterno) {\n this.dataSource = new MatTableDataSource(usuariosExterno)\n this.dataSource.sort = this.sort\n this.dataSource.paginator = this.paginator\n }\n })\n }\n\n search(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value\n this.dataSource.filter = filterValue.trim().toLowerCase()\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout'\nimport { ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatChipsModule } from '@angular/material/chips'\nimport { MatExpansionModule } from '@angular/material/expansion'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatSelectModule } from '@angular/material/select'\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator'\nimport { MatTableModule } from '@angular/material/table'\nimport { MatDatepickerModule } from '@angular/material/datepicker'\nimport { RouterModule } from '@angular/router'\nimport { UnespCoreMessageModule } from '@unesp/core'\nimport { UnespBreadcrumbModule, UnespTableModule } from '@unesp/shared'\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask'\nimport { MAT_DATE_LOCALE } from '@angular/material/core'\nimport { PtBrMatPaginatorIntl } from 'src/app/pt-br-paginator-intl'\n\nimport { PropgRoutingModule } from './propg-routing.module'\n\nimport { PropgAdicionaPerfilComponent } from './perfis/adiciona-perfil/adiciona-perfil.component'\nimport { PropgListaPerfilPorUsuarioComponent } from './perfis/lista-perfil-por-usuario/lista-perfil-por-usuario.component'\nimport { PropgListaPerfilComponent } from './perfis/lista-perfil/lista-perfil.component'\nimport { TipoEspecificidadeListarComponent } from './tipo-especificidade/tipo-especificidade-listar/tipo-especificidade-listar.component'\nimport { TipoEspecificidadeEditarComponent } from './tipo-especificidade/tipo-especificidade-editar/tipo-especificidade-editar.component'\nimport { AreaConhecimentoListarComponent } from './area-conhecimento/area-conhecimento-listar/area-conhecimento-listar.component'\nimport { AreaConhecimentoEditarComponent } from './area-conhecimento/area-conhecimento-editar/area-conhecimento-editar.component'\nimport { ResolucaoEditarComponent } from './resolucao/resolucao-editar/resolucao-editar.component'\nimport { ResolucaoListarComponent } from './resolucao/resolucao-listar/resolucao-listar.component'\nimport { ModalidadeEditarComponent } from './modalidade/modalidade-editar/modalidade-editar.component'\nimport { ModalidadeListarComponent } from './modalidade/modalidade-listar/modalidade-listar.component'\nimport { Initcap } from 'src/app/pipes/initcap.pipe'\nimport { LogsListarComponent } from './logs/logs-listar/logs-listar.component'\nimport { LogsDetalhesComponent } from './logs/logs-detalhes/logs-detalhes.component'\nimport { UsuarioExternoListarComponent } from './usuario-externo/usuario-externo-listar/usuario-externo-listar.component'\nimport { UsuarioExternoEditarComponent } from './usuario-externo/usuario-externo-editar/usuario-externo-editar.component'\nimport { MatDialogModule } from '@angular/material/dialog'\n\n@NgModule({\n declarations: [\n PropgAdicionaPerfilComponent,\n PropgListaPerfilComponent,\n PropgListaPerfilPorUsuarioComponent,\n TipoEspecificidadeListarComponent,\n TipoEspecificidadeEditarComponent,\n AreaConhecimentoListarComponent,\n AreaConhecimentoEditarComponent,\n ResolucaoListarComponent,\n ResolucaoEditarComponent,\n ModalidadeListarComponent,\n ModalidadeEditarComponent,\n Initcap,\n LogsListarComponent,\n LogsDetalhesComponent,\n UsuarioExternoListarComponent,\n UsuarioExternoEditarComponent,\n ],\n imports: [\n CommonModule,\n PropgRoutingModule,\n RouterModule,\n MatCardModule,\n MatButtonModule,\n UnespCoreMessageModule,\n UnespTableModule,\n MatIconModule,\n MatSelectModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatAutocompleteModule,\n MatIconModule,\n MatChipsModule,\n MatExpansionModule,\n MatPaginatorModule,\n MatDialogModule,\n MatTableModule,\n MatDatepickerModule,\n NgxMaskDirective,\n NgxMaskPipe,\n FlexLayoutModule,\n MatDialogModule,\n UnespBreadcrumbModule\n ],\n providers: [\n { provide: MatPaginatorIntl, useValue: PtBrMatPaginatorIntl() },\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\n provideNgxMask(),\n ],\n})\nexport class PropgModule {}\n","
\n
\n
\n

Disponíveis

\n
\n @for (item of disponivel; track item) {\n
\n {{ item.descricao }}\n
\n }\n
\n
\n
\n

Ordem de preferência

\n
\n @for (item of selecionado; track item; let i = $index) {\n
\n {{ (i+1) }}º - {{ item.descricao }}\n
\n }\n
\n
\n
\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n CdkDrag,\n CdkDropList,\n} from '@angular/cdk/drag-drop'\nimport { EnfaseModulo } from 'src/app/models/enfase-modulo'\nimport { EnfaseModuloService } from 'src/app/services/enfase-modulo.service'\n\n@Component({\n selector: 'app-ordem-preferencia-curso-divisao',\n templateUrl: './ordem-preferencia-curso-divisao.component.html',\n styleUrl: './ordem-preferencia-curso-divisao.component.css',\n standalone: true,\n imports: [CdkDropList, CdkDrag],\n})\nexport class OrdemPreferenciaCursoDivisaoComponent implements OnInit {\n\n @Input() cursoEdicaoId: number | undefined\n @Input() alunoEdicaoId: number | undefined\n @Input() selecionadosPreviamente: number[] = []\n @Output() selecionarModulo = new EventEmitter()\n\n disponivel: EnfaseModulo[] = []\n selecionado: EnfaseModulo[] = []\n\n constructor(private enfaseModuloService: EnfaseModuloService) {\n }\n\n ngOnInit() {\n if (this.cursoEdicaoId) {\n this.enfaseModuloService.getModulosPorCursoEdicao(this.cursoEdicaoId).subscribe(obj => {\n this.disponivel = obj\n this.defineOsSelecionadosPreviamente()\n })\n }\n if (this.alunoEdicaoId) {\n this.enfaseModuloService.getModulosPorAlunoEdicao(this.alunoEdicaoId).subscribe(obj => {\n this.disponivel = obj\n this.defineOsSelecionadosPreviamente()\n })\n }\n }\n\n private defineOsSelecionadosPreviamente(): void {\n if (this.selecionadosPreviamente) {\n for (let i: number = 0; i < this.selecionadosPreviamente.length; i++) {\n let item: EnfaseModulo[] = this.disponivel.filter(d => d.id == this.selecionadosPreviamente[i])\n if (item.length > 0) {\n this.moveOne(item[0], this.disponivel, this.selecionado)\n }\n }\n }\n }\n\n drop(event: CdkDragDrop): void {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex)\n } else {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex)\n }\n this.notificarAlteracao()\n }\n\n moveOne(item: EnfaseModulo, fromList: EnfaseModulo[], toList: EnfaseModulo[]): void {\n const index = fromList.indexOf(item)\n if (index !== -1) {\n fromList.splice(index, 1)\n toList.push(item)\n }\n this.notificarAlteracao()\n }\n\n private notificarAlteracao(): void {\n this.selecionarModulo.emit(this.selecionado.map(i => i.id))\n }\n}","\n
\n \n search\n Pesquisar\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Disciplina{{ row.nomeDisciplina }}Sigla{{ row.sigla }}Módulo{{ row.tipoModulo }}Ano{{ row.anoDisciplina }}Semestre\n @if (row.semestreDisciplina == 0) {\n 1 e 2\n } @else {\n {{ row.semestreDisciplina ?? '-' }}\n }\n
Não há dados a serem exibidos
\n \n
\n\n\n \n
\n \n
\n
\n
\n","import { AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core'\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { ParametrosCursoIdEdicao } from '../inscricoes-abertas/inscricoes-abertas.component'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { EdicaoDisciplinaListar } from '../../../../models/edicao-disciplina-listar'\n\n@Component({\n selector: 'app-disciplina-listar',\n templateUrl: './disciplina-listar.component.html',\n styleUrls: ['./disciplina-listar.component.css']\n})\nexport class EdicaoDisciplinaListarComponent implements OnInit, AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid?: string[]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'edicao-disciplina-listar.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n cursoEdicaoPossuiEnfase?: boolean\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: ParametrosCursoIdEdicao,\n public dialogRef: MatDialogRef,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private cursoService: CursoService,\n private localStorageService: LocalStorageService\n ) {\n this.cursoId = params.cursoId\n this.edicao = params.edicao\n this.cursoService.getNomePublico(this.cursoId).subscribe(obj => {\n this.cursoNome = obj\n })\n }\n\n ngOnInit(): void {\n this.edicaoDisciplinaService.possuiEnfasePublico(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoPossuiEnfase = obj\n if (obj) {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'tipoModulo', 'anoDisciplina', 'semestreDisciplina']\n } else {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'anoDisciplina', 'semestreDisciplina']\n }\n })\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.edicaoDisciplinaService\n .listarPublico(this.cursoId, this.edicao, this.pageParams(), this.localStorageService.get(this.cacheSearch) ?? '')\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.reloadTable()\n }\n}\n","import { AfterViewInit, Component, ElementRef, Inject, ViewChild } from '@angular/core'\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespTableComponent, UnespTableConfig } from '@unesp/shared'\nimport { DocenteDisciplina } from 'src/app/models/docente-disciplina'\nimport { EdicaoDisciplina } from 'src/app/models/edicao-disciplina'\nimport { EdicaoDocente } from 'src/app/models/edicao-docente'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { DocenteDisciplinaService } from 'src/app/services/docente-disciplina.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { ParametrosCursoIdEdicao } from '../inscricoes-abertas/inscricoes-abertas.component'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\n\n@Component({\n selector: 'app-docente-disciplina-listar',\n templateUrl: './docente-disciplina-listar.component.html',\n styleUrls: ['./docente-disciplina-listar.component.css']\n})\nexport class EdicaoDocenteDisciplinaListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'docente-disciplina-listar.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n disciplinasList?: EdicaoDisciplina[]\n docentesList?: EdicaoDocente[]\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: ParametrosCursoIdEdicao,\n public dialogRef: MatDialogRef,\n private docenteDiscplinaService: DocenteDisciplinaService,\n private cursoService: CursoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private localStorageService: LocalStorageService\n ) {\n this.cursoId = params.cursoId\n this.edicao = params.edicao\n this.tableConfig = {\n columns: {\n nomeDisciplina: { title: 'Disciplina', sort: true },\n nomeResponsavel: { title: 'Docente', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n loadData: p =>\n this.docenteDiscplinaService.listarPublico(\n this.cursoId,\n this.edicao,\n p,\n this.localStorageService.get(this.cacheSearch) ?? ''\n ),\n }\n this.cursoService.getNomePublico(this.cursoId).subscribe(obj => {\n this.cursoNome = obj\n })\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.docenteDiscplinaService.listarPublico(\n this.cursoId,\n this.edicao,\n undefined,\n this.pesquisa?.nativeElement.value\n ),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n}\n","\n
\n \n search\n Pesquisar\n \n \n \n
\n\n \n
\n \n
\n
\n
\n","import { AfterViewInit, Component, ElementRef, Inject, Input, ViewChild } from '@angular/core'\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespTableComponent, UnespTableConfig } from '@unesp/shared'\nimport { EdicaoDocente } from 'src/app/models/edicao-docente'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { EdicaoDocenteService } from 'src/app/services/edicao-docente.service'\nimport { LattesService } from 'src/app/services/lattes.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { ParametrosCursoIdEdicao } from '../inscricoes-abertas/inscricoes-abertas.component'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\n\n@Component({\n selector: 'app-docente-listar',\n templateUrl: './docente-listar.component.html',\n styleUrls: ['./docente-listar.component.css']\n})\nexport class EdicaoDocenteListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'edicao-docente-listar-inscricoes.search'\n @Input() cursoId!: number\n @Input() edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: ParametrosCursoIdEdicao,\n public dialogRef: MatDialogRef,\n private edicaoDocenteService: EdicaoDocenteService,\n private cursoService: CursoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private localStorageService: LocalStorageService,\n private lattesService: LattesService\n ) {\n this.cursoId = params.cursoId\n this.edicao = params.edicao\n this.tableConfig = {\n columns: {\n nome: { title: 'Nome', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n { title: 'Lattes', text: 'Lattes', callback: i => this.abrirLattes(i), condition: i => i.id, icon: 'school' },\n ],\n loadData: p =>\n this.edicaoDocenteService.listarPublico(\n this.cursoId,\n this.edicao,\n p,\n this.localStorageService.get(this.cacheSearch) ?? ''\n ),\n }\n this.cursoService.getNomePublico(this.cursoId).subscribe(obj => {\n this.cursoNome = obj\n })\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n abrirLattes(docente: EdicaoDocente): void {\n if (docente.lattes) {\n window.open('http://lattes.cnpq.br/' + docente.lattes, '_blank')\n return\n }\n this.lattesService.consultaLattes(docente.cpfDocente.replaceAll('.', '').replaceAll('-', '')).subscribe({\n next: identificadoresDocente => {\n if (identificadoresDocente.lattes) {\n window.open('http://lattes.cnpq.br/' + identificadoresDocente.lattes, '_blank')\n } else {\n this.unespCoreMessageService.showMessageError('Lattes não encontrado')\n }\n },\n error: () => {\n this.unespCoreMessageService.showMessageError('Lattes não encontrado')\n },\n })\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.edicaoDocenteService.listarPublico(this.cursoId, this.edicao, undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n}\n","\n
\n \n search\n Pesquisar\n \n \n \n
\n\n \n
\n \n
\n
\n
\n","\n search\n Pesquisar\n \n\n\n \n Unidade\n {{ row.campus }}\n \n \n Curso\n {{ row.nomeCurso }}\n \n \n Edição\n {{ row.numeroEdicao }}\n \n \n Início Inscrições\n \n {{ row.dataInicialInscricao | date : 'dd/MM/yyyy' }}\n \n \n \n Término Inscrições\n \n {{ row.dataFinalInscricao | date : 'dd/MM/yyyy' }}\n \n \n \n Início Curso\n {{ row.dataInicialCurso | date : 'dd/MM/yyyy' }}\n \n \n Término Curso\n {{ row.dataFinalCurso | date : 'dd/MM/yyyy' }}\n \n \n Número de Vagas\n {{ row.numeroMaximoVagas }}\n \n \n \n \n
\n \n \n \n \n \n \n \n folder_shared\n Vinculo disciplina e docente\n \n \n @for (publicacao of row.publicacoes; track $index) {\n \n }\n \n picture_as_pdf\n Edital do processo seletivo\n \n \n picture_as_pdf\n Projeto pedagógico do curso\n \n \n picture_as_pdf\n Cronograma de atividades\n \n \n picture_as_pdf\n Outros editais/normas\n \n \n \n note_add Fazer inscrição\n \n
\n \n
\n \n \n \n Não há dados a serem exibidos\n \n\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { Router } from '@angular/router'\nimport { CursoEdicaoInscricao } from 'src/app/models/curso-edicao-inscricao'\nimport { CursoEdicaoInscricaoService } from 'src/app/services/curso-edicao-inscricao.service '\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { EdicaoDisciplinaListarComponent } from '../disciplina-listar/disciplina-listar.component'\nimport { EdicaoDocenteDisciplinaListarComponent } from '../docente-disciplina-listar/docente-disciplina-listar.component'\nimport { EdicaoDocenteListarComponent } from '../docente-listar/docente-listar.component'\nimport { PropostaListarComponent } from '../proposta-listar/proposta-listar.component'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ArquivoViewerDialogComponent } from 'src/app/modules/comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\n\n@Component({\n selector: 'app-abertas',\n templateUrl: './inscricoes-abertas.component.html',\n styleUrls: ['./inscricoes-abertas.component.css'],\n})\nexport class InscricoesAbertasComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid?: string[] = [\n 'campus',\n 'nomeCurso',\n 'numeroEdicao',\n 'dataInicialInscricao',\n 'dataFinalInscricao',\n 'dataInicialCurso',\n 'dataFinalCurso',\n 'numeroMaximoVagas',\n 'action'\n ]\n\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n userLogin?: UsuarioLogin | null\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'inscricoes-abertas.search'\n\n constructor(\n private cursoEdicaoInscricaoService: CursoEdicaoInscricaoService,\n private downloadService: ArquivoDownloadService,\n private localStorageService: LocalStorageService,\n private dialog: MatDialog,\n private router: Router,\n private userLoginService: UserLoginService\n ) {\n this.userLoginService.user$.subscribe(user => {\n this.userLogin = user\n })\n }\n\n ngAfterViewInit() {\n //\n this.dataSource.sort = this.sort\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.reloadTable()\n }, 0)\n //\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.cursoEdicaoInscricaoService\n .listarInscricoesAbertas(this.pageParams(), this.localStorageService.get(this.cacheSearch) ?? '')\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n proposta(id: number, cursoId: number, edicao: number) {\n this.dialog.open(PropostaListarComponent, {\n data: { id: id, cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n docente(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDocenteListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n disciplina(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDisciplinaListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n disciplinaDocente(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDocenteDisciplinaListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n inscricao(id: number, linkInscricaoExterna: string, cursoId: number, numeroEdicao: number) {\n if (linkInscricaoExterna !== null && linkInscricaoExterna !== '') {\n if (!linkInscricaoExterna.toLowerCase().startsWith('http')) {\n linkInscricaoExterna = '//' + linkInscricaoExterna\n }\n window.open(linkInscricaoExterna, '_blank')\n } else {\n this.router.navigate([`publico/cursos/${id}/aluno-inscricao`])\n }\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.reloadTable()\n }\n\n abrirUrlCurso(urlCurso: string) {\n if (!urlCurso.toLowerCase().startsWith('http')) {\n urlCurso = '//' + urlCurso\n }\n window.open(urlCurso, '_blank')\n }\n\n visualizarArquivo(id: number, nome: string) {\n this.downloadService.arquivoObjectURLPorPath(`publico/curso-edicao-publicacao/${id}`, 'download').subscribe(url => {\n this._abrirArquivoViewer(nome, url)\n })\n }\n\n visualizarAnexos(cursoId: number, anexo: string, nome: string) {\n this.downloadService.arquivoObjectURLPorPath(\n `publico/curso-edicao-inscricao/${cursoId}/download`,\n anexo\n ).subscribe(url => {\n this._abrirArquivoViewer(nome, url)\n })\n }\n\n private _abrirArquivoViewer(title: string, url: string): void {\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: { tituloDoArquivo: title, urlDoArquivo: url },\n width: '80%',\n height: '90%',\n })\n }\n\n}\n\nexport class ParametrosCursoIdEdicao {\n id: number = -1\n cursoId: number = -1\n edicao: number = -1\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { Observable } from 'rxjs'\nimport { CursoEdicaoUnidade } from '../models/curso-edicao-unidade'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CursoEdicaoUnidadeService extends UnespCoreGenericService {\n readonly ROUTE = 'curso-edicao-unidade'\n readonly PUBLIC_ROUTE = 'publico/' + this.ROUTE\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n ) {\n super(http, environment)\n this.client = http\n }\n\n getByCursoEdicao(id: number): Observable {\n return this.findById(this.PUBLIC_ROUTE + '/curso-edicao', id)\n }\n}\n","\n
\n \n
\n
\n
\n Dados do Curso\n
\n
\n \n Nome do Curso\n \n \n
\n
\n \n Unidade Proponente\n \n \n \n Área de Conhecimento\n \n \n
\n
\n
\n
\n Outras unidades\n
\n
\n \n Unidade Participante\n \n \n
\n
\n
\n
\n Dados da Edição\n
\n
\n \n Número da Edição\n \n \n \n Edição Regida p/ Resol. Unesp N.\n \n \n \n Data Aprovação Unidade\n \n \n
\n
\n \n Departamento Responsável\n \n \n \n Coordenador\n \n \n \n Vice-Coordenador\n \n \n
\n
\n \n Localidade\n \n \n \n Público Alvo\n \n \n
\n
\n \n Carga Horária\n \n \n \n Número de Meses\n \n \n \n Número Mínimo de Vagas\n \n \n \n Número Máximo de Vagas\n \n \n
\n
\n
\n
\n Períodos\n
\n
\n \n Data Inicial das Inscrições\n \n \n \n Data Final das Inscrições\n \n \n
\n
\n \n Data Inicial da Seleção\n \n \n \n Data Final da Seleção\n \n \n
\n
\n \n Data Inicial de Matrícula\n \n \n \n Data Final de Matrícula\n \n \n
\n
\n \n Data Inicial do Curso\n \n \n \n Data Final do Curso\n \n \n
\n
\n
\n
\n Justificativa\n
\n
\n \n Descrição\n \n \n
\n
\n
\n
\n Convênio\n
\n
\n \n Número do Processo\n \n \n \n Entidade Conveniada\n \n \n
\n
\n
\n
\n
\n \n
\n\n\n \n
\n \n
\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core'\nimport { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms'\n\nimport { CursoEdicaoInscricaoService } from 'src/app/services/curso-edicao-inscricao.service '\nimport { CursoEdicaoUnidadeService } from 'src/app/services/curso-edicao-unidade.service'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { DataService } from 'src/app/services/data.service'\nimport { ParametrosCursoIdEdicao } from '../inscricoes-abertas/inscricoes-abertas.component'\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'\n\n@Component({\n selector: 'app-proposta-listar',\n templateUrl: './proposta-listar.component.html',\n styleUrls: ['./proposta-listar.component.css'],\n})\nexport class PropostaListarComponent implements OnInit {\n id!: number\n cursoId: number\n cursoNome!: string\n cursoEdicao!: number\n\n form: FormGroup\n\n unidadesParticipantes?: FormArray\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: ParametrosCursoIdEdicao,\n public dialogRef: MatDialogRef,\n private cursoEdicaoInscricaoService: CursoEdicaoInscricaoService,\n private cursoService: CursoService,\n private dataService: DataService,\n private cursoEdicaoUnidadeService: CursoEdicaoUnidadeService,\n private fb: FormBuilder\n ) {\n this.form = new FormGroup({\n id: new FormControl(''),\n curso: new FormControl(''),\n unidade: new FormControl(' '),\n areaConhecimento: new FormControl(' '),\n numeroEdicao: new FormControl(-1),\n resolucao: new FormControl(' '),\n dataAprovacaoUnidade: new FormControl(' '),\n nomeCoordenador: new FormControl(' '),\n nomeViceCoordenador: new FormControl(' '),\n departamentoResponsavel: new FormControl(' '),\n localidade: new FormControl(' '),\n publicoAlvo: new FormControl(' '),\n cargaHoraria: new FormControl(' '),\n numeroMeses: new FormControl(-1),\n numeroVagasProposta: new FormControl(-1),\n numeroMaximoVagas: new FormControl(-1),\n dataInicialInscricao: new FormControl(' '),\n dataFinalInscricao: new FormControl(' '),\n dataInicialSelecao: new FormControl(' '),\n dataFinalSelecao: new FormControl(' '),\n dataInicialMatricula: new FormControl(' '),\n dataFinalMatricula: new FormControl(' '),\n dataInicialCurso: new FormControl(' '),\n dataFinalCurso: new FormControl(' '),\n justificativa: new FormControl(' '),\n numeroProcessoConvenio: new FormControl(' '),\n entidadeConveniada: new FormControl(' '),\n unidadesParticipantes: this.fb.array([]),\n })\n this.id = this.params.id\n this.cursoId = this.params.cursoId\n this.cursoEdicao = this.params.edicao\n this.form?.reset()\n this.cursoService.getNomePublico(this.cursoId).subscribe(obj => {\n this.cursoNome = obj\n })\n }\n\n ngOnInit(): void {\n const unidadesParticipantes = this.form.get('unidadesParticipantes')\n this.cursoEdicaoUnidadeService.getByCursoEdicao(this.id).subscribe(obj => {\n obj.forEach(unidade => {\n unidadesParticipantes.push(\n this.fb.group({\n unidade: unidade.unidadeUniversitariaCampus + ' - ' + unidade.unidadeUniversitariaSigla,\n })\n )\n })\n })\n\n if (this.id) {\n this.cursoEdicaoInscricaoService.getProposta(this.id).subscribe(obj => {\n this.form.controls['id'].setValue(obj.id.toString())\n this.form.controls['curso'].setValue(obj.curso)\n this.form.controls['unidade'].setValue(obj.unidade)\n this.form.controls['areaConhecimento'].setValue(obj.areaConhecimento)\n this.form.controls['numeroEdicao'].setValue(obj.numeroEdicao)\n this.form.controls['resolucao'].setValue(obj.resolucao)\n this.form.controls['dataAprovacaoUnidade'].setValue(\n this.dataService.dateToStringBr(new Date(obj.dataAprovacaoUnidade))\n )\n this.form.controls['nomeCoordenador'].setValue(obj.nomeCoordenador)\n this.form.controls['nomeViceCoordenador'].setValue(obj.nomeViceCoordenador)\n this.form.controls['departamentoResponsavel'].setValue(obj.departamentoResponsavel)\n this.form.controls['localidade'].setValue(obj.localidade)\n this.form.controls['publicoAlvo'].setValue(obj.publicoAlvo)\n this.form.controls['cargaHoraria'].setValue(obj.cargaHoraria.toString() + ' horas')\n this.form.controls['numeroMeses'].setValue(obj.numeroMeses)\n this.form.controls['numeroVagasProposta'].setValue(obj.numeroVagasProposta)\n this.form.controls['numeroMaximoVagas'].setValue(obj.numeroMaximoVagas)\n this.form.controls['dataInicialInscricao'].setValue(\n this.dataService.dateToStringBr(new Date(obj.dataInicialInscricao))\n )\n this.form.controls['dataFinalInscricao'].setValue(\n this.dataService.dateToStringBr(new Date(obj.dataFinalInscricao))\n )\n this.form.controls['dataInicialSelecao'].setValue(\n this.dataService.dateToStringBr(new Date(obj.dataInicialSelecao))\n )\n this.form.controls['dataFinalSelecao'].setValue(this.dataService.dateToStringBr(new Date(obj.dataFinalSelecao)))\n this.form.controls['dataInicialMatricula'].setValue(\n this.dataService.dateToStringBr(new Date(obj.dataInicialMatricula))\n )\n this.form.controls['dataFinalMatricula'].setValue(\n this.dataService.dateToStringBr(new Date(obj.dataFinalMatricula))\n )\n this.form.controls['dataInicialCurso'].setValue(this.dataService.dateToStringBr(new Date(obj.dataInicialCurso)))\n this.form.controls['dataFinalCurso'].setValue(this.dataService.dateToStringBr(new Date(obj.dataFinalCurso)))\n this.form.controls['justificativa'].setValue(obj.justificativa)\n this.form.controls['numeroProcessoConvenio'].setValue(obj.numeroProcessoConvenio)\n this.form.controls['entidadeConveniada'].setValue(obj.entidadeConveniada)\n })\n }\n }\n\n public getUnidadesParticipantes() {\n return this.form.controls['unidadesParticipantes'] as FormArray\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreGenericService, UnespCoreEnvironment } from '@unesp/core'\nimport { Observable, identity } from 'rxjs'\nimport { EdicaoAlunoMonografia } from '../models/edicao-aluno-monografia'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EdicaoAlunoMonografiaService extends UnespCoreGenericService {\n readonly ROUTE = 'edicao-aluno-monografia'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n getEdicaoAlunoMonografia(alunoEdicaoId: number): Observable {\n return this.findById(`${this.ROUTE}/aluno-edicao`, alunoEdicaoId)\n }\n\n gravar(edicaoAlunoMonografia: EdicaoAlunoMonografia): Observable {\n return this.create(this.ROUTE, edicaoAlunoMonografia).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, edicaoAlunoMonografia: EdicaoAlunoMonografia): Observable {\n return this.update(`${this.ROUTE}/${id}`, edicaoAlunoMonografia).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n}\n","
\n \n\n\n \n
\n TCE\n
\n \n Título\n \n \n \n Nome do orientador\n \n \n \n Local da defesa\n \n \n
\n
\n \n Data da defesa\n close\n \n \n \n \n \n Hora da defesa\n \n \n \n Nota final\n \n \n \n Aprovado\n \n Indefinido\n Não\n Sim\n \n \n
\n
\n
\n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n
\n
\n
\n Informações indisponíveis. Entre em contato com o coordenador do curso.\n
\n
","import { Component, Inject, OnInit } from '@angular/core'\nimport { FormGroup, FormControl, Validators } from '@angular/forms'\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'\nimport { UnespCoreMessageService, UnespCoreAuthService } from '@unesp/core'\nimport { EdicaoAlunoMonografia } from 'src/app/models/edicao-aluno-monografia'\nimport { EdicaoAlunoMonografiaService } from 'src/app/services/edicao-aluno-monografia.service'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { date2DatePicker } from 'src/app/utils/utils'\nimport { isNotaValid, isTimeValid } from 'src/app/utils/validators'\n\n@Component({\n selector: 'app-edicao-aluno-monografia-editar',\n templateUrl: './edicao-aluno-monografia-editar.component.html',\n styleUrls: ['./edicao-aluno-monografia-editar.component.css'],\n})\nexport class EdicaoAlunoMonografiaEditarComponent implements OnInit {\n form = new FormGroup({\n alunoEdicaoId: new FormControl('', Validators.required),\n cpfAluno: new FormControl('', Validators.required),\n tituloMonografia: new FormControl('', Validators.required),\n nomeOrientador: new FormControl('', Validators.required),\n localDefesa: new FormControl('', Validators.required),\n dataDefesa: new FormControl(new Date(), Validators.required),\n horaDefesa: new FormControl('', [Validators.required, isTimeValid()]),\n notaFinal: new FormControl('', [Validators.required, isNotaValid()]),\n aprovado: new FormControl('', Validators.required),\n })\n id?: number\n cursoNome?: string\n edicao?: number\n nomeAluno?: string\n isReadOnly: boolean = true\n showData: boolean = false\n showError: boolean = false\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: EdicaoAlunoMonografiaParametro,\n public dialogRef: MatDialogRef,\n private edicaoAlunoMonografiaService: EdicaoAlunoMonografiaService,\n private edicaoAlunoService: EdicaoAlunoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private unespCoreAuthService: UnespCoreAuthService\n ) {}\n\n ngOnInit(): void {\n this.form.controls['cpfAluno'].setValue(this.params.cpfAluno)\n this.form.controls['alunoEdicaoId'].setValue(this.params.alunoEdicaoId.toString())\n this.edicaoAlunoMonografiaService.getEdicaoAlunoMonografia(this.params.alunoEdicaoId).subscribe(obj => {\n if (obj.id) {\n this.id = obj.id\n this.cursoNome = obj.nomeCurso\n this.edicao = obj.edicao\n this.nomeAluno = obj.nomeAluno\n this.form.controls['tituloMonografia'].setValue(obj.tituloMonografia)\n this.form.controls['nomeOrientador'].setValue(obj.nomeOrientador)\n this.form.controls['localDefesa'].setValue(obj.localDefesa)\n this.form.controls['dataDefesa'].setValue(date2DatePicker(obj.dataDefesa))\n this.form.controls['horaDefesa'].setValue(obj.horaDefesa.toString())\n this.form.controls['horaDefesa'].updateValueAndValidity()\n this.form.controls['notaFinal'].setValue(obj.notaFinal != null ? obj.notaFinal.toString() : null)\n this.form.controls['aprovado'].setValue(obj.aprovado)\n this.showData = true\n } else {\n if (this.unespCoreAuthService.hasPermissionBasedRoles(['DISCENTE'])) {\n // this.unespCoreMessageService.showMessageError('Informações indisponíveis. Entre em contato com o coordenador do curso.')\n // this.dialogRef.close()\n this.showError = true\n } else {\n this.form.controls['dataDefesa'].setValue(null)\n this.form.controls['horaDefesa'].setValue(null)\n this.edicaoAlunoService.getCursoEdicaoInfo(this.params.alunoEdicaoId).subscribe(obj => {\n this.cursoNome = obj.nomeCurso\n this.edicao = obj.numeroEdicao\n this.nomeAluno = obj.nomeAluno\n this.showData = true\n })\n }\n }\n this.checkIsReadOnly()\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n formulario.notaFinal = formulario.notaFinal.toString().replace(',','.')\n\n if (this.id) {\n this.edicaoAlunoMonografiaService.atualizar(this.id, formulario).subscribe(edicaoAlunoMonografia => {\n this.unespCoreMessageService.showMessageSuccess(\n `TCE #${edicaoAlunoMonografia.cpfAluno} atualizado com sucesso`\n )\n this.fechar()\n })\n } else {\n this.edicaoAlunoMonografiaService.gravar(formulario).subscribe(edicaoAlunoMonografia => {\n this.unespCoreMessageService.showMessageSuccess(\n `TCE #${edicaoAlunoMonografia.cpfAluno} cadastrado com sucesso`\n )\n this.fechar()\n })\n }\n }\n\n fechar(): void {\n this.dialogRef.close()\n }\n\n checkIsReadOnly(): void {\n this.isReadOnly = !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE', 'STPG', 'EQUIPE-APOIO'])\n if(this.isReadOnly) {\n this.form.disable()\n }\n }\n\n\n clearDate(name: string): void {\n this.form.get(name)?.setValue(null)\n }\n}\n\nexport class EdicaoAlunoMonografiaParametro {\n alunoEdicaoId: number = 0\n cpfAluno: string = ''\n}\n","\n\n
\n
\n \n
\n
\n\n search\n Pesquisar\n \n\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { Router } from '@angular/router'\nimport { UnespCoreApiErrorHandlerService, UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport {\n UnespBreadcrumbItem,\n UnespConfirmDialogComponent,\n UnespConfirmDialogModel,\n UnespTableComponent,\n UnespTableConfig,\n} from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { Curso } from 'src/app/models/curso'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\n\n@Component({\n selector: 'app-curso-listar',\n templateUrl: './curso-listar.component.html',\n styleUrls: ['./curso-listar.component.css'],\n})\nexport class CursoListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'curso-listar.search'\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos', route: '/unidade/cursos', icon: 'assignment' },\n ] \n constructor(\n private cursoService: CursoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService\n ) {\n this.tableConfig = {\n columns: {\n id: { title: '#', sort: true },\n unidadeUniversitariaCampusSigla: { title: 'Unidade', sort: true },\n nome: { title: 'Nome', sort: true },\n url: { title: 'URL', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n { title: 'Editar', callback: i => this.editar(i.id), condition: i => i.id, icon: 'edit' },\n { title: 'Edições', callback: i => this.edicoes(i.id), condition: i => i.id, icon: 'content_copy' },\n { title: 'Nova edição', callback: i => this.novaEdicao(i.id), condition: i => !this.isReadOnly(), icon: 'add' },\n {\n title: 'Excluir',\n callback: i => this.excluir(i.id),\n condition: i => !this.isReadOnly(),\n icon: 'clear',\n color: 'warn',\n },\n ],\n loadData: p => this.cursoService.listar(p, this.localStorageService.get(this.cacheSearch) ?? ''),\n }\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(this.cursoService.listar(undefined, this.pesquisa?.nativeElement.value), (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n })\n }\n\n editar(id: number) {\n this.router.navigate([`unidade/curso/cadastro/${id}`])\n }\n\n edicoes(id: number) {\n this.router.navigate([`unidade/cursos-edicoes/${id}`])\n }\n\n novaEdicao(id: number) {\n this.router.navigate([`unidade/curso-edicao/${id}/cadastro`])\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.cursoService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { Observable } from 'rxjs'\nimport { UnidadeUniversitaria } from '../models/unidade-universitaria'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UnidadeUniversitariaService extends UnespCoreGenericService {\n readonly ROUTE = 'unidade-universitaria'\n client!: HttpClient\n\n constructor(http: HttpClient, @Inject('environment') protected environment: UnespCoreEnvironment) {\n super(http, environment)\n this.client = http\n }\n\n all(): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/all`)\n }\n}\n","\n\n \n
\n Cadastro\n
\n \n Unidade\n \n \n {{ unidadeUniversitaria.campus }} - {{ unidadeUniversitaria.sigla }}\n \n \n \n \n Área de conhecimento\n \n \n \n {{ areaConhecimento.descricaoArea }}\n \n \n \n \n Nome\n \n \n \n Endereço WEB do Curso\n \n \n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService, UnespCoreUserService } from '@unesp/core'\nimport { map, Observable, startWith } from 'rxjs'\nimport { AreaConhecimento } from 'src/app/models/area-conhecimento'\nimport { CursoForm } from 'src/app/models/curso-form'\nimport { UnidadeUniversitaria } from 'src/app/models/unidade-universitaria'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { AreaConhecimentoService } from 'src/app/services/area-conhecimento.service'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { UnidadeUniversitariaService } from 'src/app/services/unidade-universitaria.service'\nimport { validaUrl } from '../../../../utils/validators'\nimport { UnespBreadcrumbItem, UnespBreadcrumbModule } from '@unesp/shared'\n\n@Component({\n selector: 'app-curso-editar',\n templateUrl: './curso-editar.component.html',\n styleUrls: ['./curso-editar.component.css'],\n})\nexport class CursoEditarComponent implements OnInit {\n form = new FormGroup({\n unidadeUniversitariaId: new FormControl(-1, Validators.required),\n areaConhecimentoId: new FormControl(-1),\n nomeCurso: new FormControl('', Validators.required),\n url: new FormControl('', [validaUrl()]),\n })\n unidadesUniversitaria: UnidadeUniversitaria[] = []\n areasConhecimento: AreaConhecimento[] = []\n id?: number\n\n areaConhecimentoSelected = new FormControl(null, Validators.required)\n areaConhecimentoFiltered: Observable | undefined\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos', route: '/unidade/cursos', icon: 'assignment' },\n { label: 'Curso', route: '/unidade/curso/cadastro', icon: 'edit' },\n ] \n constructor(\n private cursoService: CursoService,\n private unidadeUniversitariaService: UnidadeUniversitariaService,\n private areaConhecimentoService: AreaConhecimentoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router,\n private unespCoreAuthService: UnespCoreAuthService,\n private unespCoreUserService: UnespCoreUserService\n ) {}\n\n private _filter(value: string): AreaConhecimento[] {\n const filterValue = value.toLowerCase()\n return this.areasConhecimento.filter(areasConhecimento =>\n areasConhecimento.descricaoArea.toLowerCase().includes(filterValue)\n )\n }\n\n areaConhecimentoDiplayNome(areaConhecimento: AreaConhecimento): string {\n return areaConhecimento !== null ? areaConhecimento.descricaoArea : ''\n }\n\n ngOnInit(): void {\n this.unidadeUniversitariaService.all().subscribe(obj => {\n this.unidadesUniversitaria = obj\n })\n this.areaConhecimentoService.all().subscribe(obj => {\n this.areasConhecimento = obj\n this.areaConhecimentoFiltered = this.areaConhecimentoSelected.valueChanges.pipe(\n startWith(''),\n map(value => {\n const name = typeof value === 'string' ? value : value?.descricaoArea\n return name ? this._filter(name as string) : this.areasConhecimento.slice()\n })\n )\n })\n this.route.params.subscribe(params => {\n this.id = params['id']\n this.form.reset()\n if (this.id) {\n this.breadcrumbs[2] = {\n label: `Curso`,\n route: `/unidade/curso/cadastro/${this.id}`,\n icon: 'edit',\n }\n this.cursoService.getCurso(this.id).subscribe(obj => {\n this.form.controls['unidadeUniversitariaId'].setValue(obj.unidadeUniversitariaId)\n this.form.controls['areaConhecimentoId'].setValue(obj.areaConhecimentoId)\n this.form.controls['nomeCurso'].setValue(obj.nome)\n this.form.controls['url'].setValue(obj.url ?? '')\n this.areaConhecimentoSelected.setValue({\n id: obj.areaConhecimentoId,\n descricaoArea: obj.areaConhecimentoDescricao,\n })\n })\n } else {\n this.unespCoreUserService.user$.subscribe(user => {\n this.form.controls['unidadeUniversitariaId'].setValue((user as UsuarioLogin).idUnidadeUniversitaria ?? 0)\n })\n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n if (this.areaConhecimentoSelected.invalid) {\n this.areaConhecimentoSelected.markAsTouched()\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n if (typeof this.areaConhecimentoSelected.value !== 'string') {\n this.form.controls['areaConhecimentoId'].setValue(this.areaConhecimentoSelected.value?.id ?? -1)\n }\n let formulario = (this.form.value)\n\n if (this.id) {\n this.cursoService.atualizar(this.id, formulario).subscribe(cursoForm => {\n this.unespCoreMessageService.showMessageSuccess(`Curso #${cursoForm.id} atualizado com sucesso`)\n this.router.navigate(['/unidade/cursos'])\n })\n } else {\n this.cursoService.gravar(formulario).subscribe(cursoForm => {\n this.unespCoreMessageService.showMessageSuccess(`Curso #${cursoForm.id} cadastrado com sucesso`)\n this.router.navigate(['/unidade/cursos'])\n })\n }\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n }\n}\n","

Disciplinas do Curso

\n
\n \n search\n Pesquisar\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Disciplina{{ row.nomeDisciplina }}Sigla{{ row.sigla }}Módulo{{ row.tipoModulo }}Ano{{ row.anoDisciplina }}Semestre\n @if (row.semestreDisciplina == 0) {\n 1 e 2\n } @else {\n {{ row.semestreDisciplina ?? '-' }}\n }\n \n
\n \n
\n
Não há dados a serem exibidos
\n \n
\n\n \n
\n \n
\n
\n
\n","import { AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core'\nimport { UnespCoreAuthService } from '@unesp/core'\nimport { UnespTableComponent } from '@unesp/shared'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { EdicaoDisciplinaListar } from '../../../../models/edicao-disciplina-listar'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { InscricaoSituacao } from '../../../../enums/inscricao-situacao'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\n\n@Component({\n selector: 'app-edicao-disciplina-selecionar',\n templateUrl: './edicao-disciplina-selecionar.component.html',\n styleUrls: ['./edicao-disciplina-selecionar.component.css'],\n})\nexport class EdicaoDisciplinaSelecionarComponent implements OnInit, AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid?: string[]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n cacheSearch: string = 'edicao-disciplina-selecionar-inscricoes.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n cursoEdicaoPossuiEnfase?: boolean\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: EdicaoDisciplinaParametro,\n public dialogRef: MatDialogRef,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService\n ) {}\n\n ngOnInit(): void {\n this.edicaoDisciplinaService.possuiEnfase(this.params.cursoId, this.params.edicao).subscribe(obj => {\n this.cursoEdicaoPossuiEnfase = obj\n if (obj) {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'tipoModulo', 'anoDisciplina', 'semestreDisciplina', 'action']\n } else {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'anoDisciplina', 'semestreDisciplina', 'action']\n }\n })\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.edicaoDisciplinaService\n .listar(\n this.params.cursoId,\n this.params.edicao,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? ''\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.reloadTable()\n }\n\n selecionar(id: number): void {\n this.edicaoDisciplinaService.getEdicaoDisciplina(id).subscribe(obj => {\n this.dialogRef.close(obj)\n })\n }\n\n cancelar(): void {\n this.dialogRef.close()\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n }\n\n protected readonly InscricaoSituacao = InscricaoSituacao\n}\n\nexport class EdicaoDisciplinaParametro {\n cursoId: number = 0\n edicao: number = 0\n}\n","export enum TipoCursoEdicaoImportacao {\n ALUNO = 'Alunos',\n NOTA_FALTA = 'Notas e Faltas',\n MONOGRAFIA = 'TCEs',\n}\n","

Resultado da Importação

\n
\n
\n

\n Número de registros importados: {{ this.data.numImportados }}\n

\n

\n Número de erros encontrados: {{ this.data.numErros }}\n

\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Erro{{ row.erro }}Linha{{ row.linha }}
Todos os registros foram importados com sucesso
\n
\n
\n
\n

Erros Secundários *

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Erro{{ row.erro }}Linha{{ row.linha }}
Nenhum erro encontrado
\n

\n * Erros secundários não impedem a importação dos registros. Se necessário, corrija-os e importe os registros\n novamente.\n

\n
\n
\n\n \n
\n \n
\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core'\nimport { MatTableDataSource } from '@angular/material/table'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { ErroImportacaoDetalhe } from '../../../../models/erro-importacao-detalhe'\nimport { ResultadoImportacao } from '../../../../models/resultado-importacao'\n\n@Component({\n selector: 'app-curso-edicao-importar-dialog',\n templateUrl: './curso-edicao-importar-dialog.component.html',\n styleUrls: ['./curso-edicao-importar-dialog.component.css'],\n})\nexport class CursoEdicaoImportarDialogComponent implements OnInit {\n colunasGrid: string[] = ['erro', 'linha']\n dataSource: MatTableDataSource = new MatTableDataSource()\n dataSourceSecundario: MatTableDataSource = new MatTableDataSource()\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ResultadoImportacao\n ) {}\n\n ngOnInit() {\n this.dataSource.data = this.data.errosImportacaoDetalhes\n this.dataSourceSecundario.data = this.data.errosImportacaoSecundarios\n }\n\n cancelar(): void {\n this.dialogRef.close(false)\n }\n}\n","export enum TipoCursoEdicaoImportacaoForaPrazo {\n NOTA_FALTA = 'Notas e Faltas',\n MONOGRAFIA = 'TCEs',\n }\n ","\n
\n

Importar

\n
\n\n\n\n
\n
\n Tipo de Importação\n
\n
\n \n \n {{ tipoImportacao }}\n \n \n
\n
\n
\n
\n Arquivo\n \n \n
\n
\n\n\n \n
\n \n \n
\n
\n
\n","import { Component, Inject, ViewChild } from '@angular/core'\nimport {\n MAT_DIALOG_DATA,\n MatDialog,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { TipoCursoEdicaoImportacao } from '../../../../enums/tipo-curso-edicao-importacao'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport {\n ArquivoSelecionado,\n ArquivoStatus,\n ArquivoUploadComponent,\n arquivoUploadValidator,\n} from '../../../comum/arquivo-upload/arquivo-upload.component'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { CursoEdicaoImportarDialogComponent } from '../curso-edicao-importar-dialog/curso-edicao-importar-dialog.component'\nimport { Router } from '@angular/router'\nimport { TipoCursoEdicaoImportacaoForaPrazo } from '../../../../enums/tipo-curso-edicao-importacao-fora-prazo';\nimport { CursoEdicao } from 'src/app/models/curso-edicao'\n\n@Component({\n selector: 'app-curso-edicao-importar-upload',\n templateUrl: './curso-edicao-importar-upload.component.html',\n styleUrls: ['./curso-edicao-importar-upload.component.css'],\n})\nexport class CursoEdicaoImportarUploadComponent {\n form = new FormGroup({\n importacaoSelecionada: new FormControl('', Validators.required),\n })\n\n tiposImportacao: any[] = []\n\n @ViewChild('arquivo') arquivo: ArquivoUploadComponent | undefined\n arquivoFC: FormControl\n\n constructor(\n public dialogRef: MatDialogRef,\n private unespCoreMessageService: UnespCoreMessageService,\n private dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) public data: CursoEdicao,\n\n private router: Router,\n ) {\n // Verifica a condição e adiciona os controles apropriados ao FormGroup\n if (data.dentroPeriodoInscricao || !data.bloqueado) {\n this.tiposImportacao = Object.values(TipoCursoEdicaoImportacao)\n } else {\n this.tiposImportacao = Object.values(TipoCursoEdicaoImportacaoForaPrazo)\n }\n\n this.arquivoFC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n }\n\n fechar() {\n this.dialogRef.close()\n }\n\n applyTouchedToInvalidFields(): void {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n if (this.arquivoFC.invalid) {\n this.arquivoFC.markAsTouched()\n }\n }\n\n importar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid || !this.arquivoFC.valid || this.arquivoFC.value.status !== ArquivoStatus.SELECIONADO) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n switch (this.form.controls['importacaoSelecionada'].value) {\n case TipoCursoEdicaoImportacao.ALUNO:\n this.arquivo!.uploadPath = `edicao-aluno/${this.data.id}/importar`\n break\n case TipoCursoEdicaoImportacao.NOTA_FALTA:\n this.arquivo!.uploadPath = `aluno-disciplina/${this.data.id}/importar`\n break\n case TipoCursoEdicaoImportacao.MONOGRAFIA:\n this.arquivo!.uploadPath = `edicao-aluno-monografia/${this.data.id}/importar`\n break\n default:\n this.unespCoreMessageService.showMessageError('Tipo de importação não encontrada')\n break\n }\n this.arquivo?.upload()?.then(res => {\n this.dialogRef.close()\n this.dialog.open(CursoEdicaoImportarDialogComponent, { data: res.object, panelClass: 'my-dialog-resizer' })\n })\n }\n\n manual(): void {\n this.dialogRef.close()\n this.router.navigate(['/unidade/manual-importacao'])\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http'\nimport {Inject, Injectable} from '@angular/core'\nimport {UnespCoreEnvironment, UnespCoreGenericService} from '@unesp/core'\nimport {identity, Observable} from 'rxjs'\nimport {ErrorHandlerService} from './error-handler.service'\nimport {RelatorioCoordenador} from '../models/relatorio-coordenador'\nimport {RelatorioCoordenadorSituacao} from '../models/relatorio-coordenador-situacao'\nimport {RelatorioDadosComplementares} from '../models/relatorio-dados-complementares'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RelatorioCoordenadorService extends UnespCoreGenericService {\n readonly ROUTE = 'relatorio-coordenador'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n getByCursoIdAndEdicaoAndTipo(cursoId: number, edicao: number, tipo: string): Observable {\n return this.findById(`${this.ROUTE}/${cursoId}/${edicao}`, tipo)\n }\n\n gravar(form: RelatorioCoordenador): Observable {\n return this.create(this.ROUTE, form).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, form: RelatorioCoordenador): Observable {\n return this.update(`${this.ROUTE}/${id}`, form).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizarSituacao(id: number, form: RelatorioCoordenadorSituacao): Observable {\n return this.update(`${this.ROUTE}/alterar-situacao/${id}`, form).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n\n salvarDadosComplementares(form: RelatorioDadosComplementares): Observable {\n return this.create(`${this.ROUTE}/dados-complementares`, form).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizarDadosComplementares(\n id: number,\n form: RelatorioDadosComplementares\n ): Observable {\n return this.update(`${this.ROUTE}/${id}/dados-complementares`, form).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n\n getDocumentosDadosComplementares(cursoId: number, edicao: number, tipo: any, cpfUsuario: string): void{\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/documento-dados-complementares/${cursoId}/${edicao}/${tipo}`,\n cpfUsuario,\n this.requestPdfOptions(),\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `dados_complementares_relatorio_final`))\n }\n\n\n private requestPdfOptions(): any {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'application/pdf')\n return { headers: headers, responseType: 'blob' as 'json', observe: 'response' }\n }\n\n private dowloadArquivoDaResposta(res: any, nomeDoArquivo: string) {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = nomeDoArquivo\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n }\n}\n","\n\n \n \n \n {{etapa.icon}}\n {{etapa.title}}\n \n \n \n {{etapa.subtitle}}\n \n \n\n\n \n
\n \n
\n
\n
","import { CommonModule } from '@angular/common'\nimport { Component, Inject, ViewChild } from '@angular/core'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { MatExpansionModule } from '@angular/material/expansion'\nimport { MatIconModule } from '@angular/material/icon'\nimport { CursoEdicao } from 'src/app/models/curso-edicao'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatButton, MatButtonModule } from '@angular/material/button'\nimport { RelatorioCoordenadorService } from 'src/app/services/relatorio-coordenador.service'\nimport { CabecalhoComponent } from 'src/app/modules/comum/cabecalho/cabecalho.component'\nimport { UnespBreadcrumbComponent, UnespBreadcrumbItem, UnespBreadcrumbModule } from '@unesp/shared'\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n MatExpansionModule,\n MatIconModule,\n CabecalhoComponent,\n MatCardModule,\n MatButtonModule,\n UnespBreadcrumbModule\n ],\n selector: 'app-curso-edicao-situacao',\n templateUrl: './curso-edicao-situacao.component.html',\n styleUrls: ['./curso-edicao-situacao.component.css'],\n})\nexport class CursoEdicaoSituacaoComponent {\n\n @ViewChild('botaoFechar') botaoFechar!: MatButton\n fluxo: Fluxo[] = []\n \n\n constructor(\n @Inject(MAT_DIALOG_DATA) public cursoEdicao: CursoEdicao,\n public dialogRef: MatDialogRef,\n private relatorioCoordenadorService: RelatorioCoordenadorService,\n ) {\n this.criarFluxoBase()\n this.aplicarSituacaoAtual(cursoEdicao.situacao)\n }\n\n criarFluxoBase() {\n this.fluxo.push({icon: 'schedule', color: 'default', title: 'Em elaboração', subtitle: 'Curso em processo de elaboração pelo docente.'})\n if (this.cursoEdicao.avaliacaoPropeg) {\n this.fluxo.push({icon: 'schedule', color: 'default', title: 'Em análise da PROPEG', subtitle: 'A planilha orçamentária está sendo analisada pela Pró-reitoria de Planejamento Estratégico e Gestão.'})\n }\n this.fluxo.push({icon: 'schedule', color: 'default', title: 'Em análise da CEPG', subtitle: 'A proposta de curso está sendo analisada por parecerista e será apreciada pela Comissão de Especialização.'})\n this.fluxo.push({icon: 'schedule', color: 'default', title: 'Em análise da CCPG', subtitle: 'A proposta de curso será apreciada pela Câmara Central de Pós-graduação na próxima reunião do órgão colegiado.'})\n // this.fluxo.push({icon: 'schedule', color: 'default', title: 'Em análise da PROPG'})\n this.fluxo.push({icon: 'schedule', color: 'default', title: 'Em andamento', subtitle: 'O curso foi aprovado e está em funcionamento.'})\n this.fluxo.push({icon: 'schedule', color: 'default', title: 'Relatório final', subtitle: 'O curso foi finalizado e aguarda aprovação de seu relatório final.'})\n this.fluxo.push({icon: 'schedule', color: 'default', title: 'Concluído', subtitle: 'O curso teve relatório final aprovado e completou seu trâmite administrativo.'})\n }\n\n aplicarSituacaoAtual(situacao: string) {\n switch(situacao) {\n case 'Concluído':\n this.aplicarSituacaoConcluido()\n break\n case 'Suspenso':\n this.aplicarSituacaoProblematica(situacao, 'Curso suspenso a pedido do proponente.')\n break\n case 'Cancelado':\n this.aplicarSituacaoProblematica(situacao, 'Curso cancelado a pedido do proponente.')\n break\n case 'Diligência':\n this.aplicarSituacaoProblematica(situacao, '')\n break\n case 'Diligência pela PROPEG':\n this.aplicarSituacaoDiligencia(situacao, 'Em análise da PROPEG')\n break\n case 'Diligência pela CEPG':\n this.aplicarSituacaoDiligencia(situacao, 'Em análise da CEPG')\n break\n case 'Relatório final':\n this.obterSituacaoRelatorioFinal()\n this.aplicarSituacoesSimples(situacao)\n break\n default:\n this.aplicarSituacoesSimples(situacao)\n }\n }\n\n aplicarSituacoesSimples(situacao: string) {\n for (let i = 0; i < this.fluxo.length; i++) {\n if (this.fluxo[i].title !== situacao) {\n this.fluxo[i].icon = 'done'\n this.fluxo[i].color = 'accent'\n } else {\n this.fluxo[i].icon = 'edit'\n this.fluxo[i].color = 'primary'\n return\n }\n }\n }\n\n aplicarSituacaoConcluido() {\n for (let i = 0; i < this.fluxo.length; i++) {\n this.fluxo[i].icon = 'done'\n this.fluxo[i].color = 'accent'\n }\n }\n\n aplicarSituacaoProblematica(title: string, subtitle: string) {\n this.fluxo = []\n this.fluxo.push({icon: 'cancel', color: 'warn', title: title, subtitle: subtitle})\n }\n\n aplicarSituacaoDiligencia(situacao: string, situacaoReferencia: string) {\n for (let i = 0; i < this.fluxo.length; i++) {\n if (this.fluxo[i].title !== situacaoReferencia) {\n this.fluxo[i].icon = 'done'\n this.fluxo[i].color = 'accent'\n } else {\n this.fluxo[i].icon = 'edit'\n this.fluxo[i].color = 'warn'\n this.fluxo[i].title = this.fluxo[i].title + ' > ' + situacao\n return\n }\n }\n }\n\n obterSituacaoRelatorioFinal() {\n this.relatorioCoordenadorService.getByCursoIdAndEdicaoAndTipo(this.cursoEdicao.cursoId, this.cursoEdicao.edicao, 'F').subscribe(\n data => {\n if (data === null || data.situacao === null) {\n // mantem a formatação default\n } else if (data.situacao === 'Encaminhado') {\n // adicona situação do relatório final + complemento da situação\n const complemento = data.isAprovadoCEPG\n ? ' e aprovado pela CEPG'\n : data.isAprovadoPROPEG\n ? ' e aprovado pela PROPEG'\n : ''\n this.fluxo[this.fluxo.length-2].title = this.fluxo[this.fluxo.length-2].title + ' > ' + data.situacao + complemento\n } else {\n if (data.situacao.startsWith('Diligência')) {\n // se estiver em diligência troca o ícone\n this.fluxo[this.fluxo.length-2].color = 'warn'\n }\n // apresenta a situação do relatório final\n this.fluxo[this.fluxo.length-2].title = this.fluxo[this.fluxo.length-2].title + ' > ' + data.situacao\n }\n }\n )\n }\n\n cancelar(): void {\n this.dialogRef.close()\n }\n\n}\n\nexport interface Fluxo {\n icon: string\n color: string\n title: string\n subtitle: string\n}\n","\n\n
\n
\n \n
\n
\n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#{{ row.id }}Unidade{{ row.campus }}Nome{{ row.nome }}Edição{{ row.edicao }}Coordenador{{ row.nomeCoordenador }}Data inicial{{ row.dataInicialCurso | date : 'dd/MM/yyyy' }}Data final{{ row.dataFinalCurso | date : 'dd/MM/yyyy' }}Situação\n {{ row.situacao }}\n \n \n {{ row.value }}\n \n \n Bloqueado\n {{ row.bloqueado ? 'Sim' : 'Não' }}\n \n \n
\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n forward_to_inbox\n Encaminhar proposta\n \n \n \n view_timeline\n Publicações\n \n \n\n \n \n \n \n list\n Lista de presença\n \n \n rule\n Notas e faltas\n \n \n print\n Emissão de documentos\n \n \n military_tech\n Certificados\n \n \n\n \n \n language\n Página de divulgação/inscrição\n \n \n upload_file\n Importar\n \n \n key\n API Key\n \n \n
\n
Não há dados a serem exibidos
\n\n","import { AfterViewInit, Component, ElementRef, Inject, ViewChild } from '@angular/core'\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog'\n\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreApiErrorHandlerService, UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { CursoEdicao } from 'src/app/models/curso-edicao'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { EdicaoDisciplinaSelecionarComponent } from '../../edicao-disciplina/edicao-disciplina-selecionar/edicao-disciplina-selecionar.component'\nimport { EdicaoDisciplina } from 'src/app/models/edicao-disciplina'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport {\n CursoEdicaoSituacao,\n CursoEdicaoSituacaoExclusivaCepg,\n getCursoEdicaoSituacaoByDescription,\n} from 'src/app/enums/curso-edicao-situacao'\nimport { MatSelect } from '@angular/material/select'\nimport { CursoEdicaoImportarUploadComponent } from '../../curso-edicao-importar/curso-edicao-importar-upload/curso-edicao-importar-upload.component'\nimport { CursoEdicaoSituacaoComponent } from '../curso-edicao-situacao/curso-edicao-situacao.component'\n\n@Component({\n selector: 'app-curso-edicao-listar',\n templateUrl: './curso-edicao-listar.component.html',\n styleUrls: ['./curso-edicao-listar.component.css'],\n})\nexport class CursoEdicaoListarComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'id',\n 'campus',\n 'nome',\n 'edicao',\n 'nomeCoordenador',\n 'dataInicialCurso',\n 'dataFinalCurso',\n 'situacao',\n 'bloqueado',\n 'action',\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n filtroSituacaoSelecionado: string = ''\n cacheSearch: string = 'curso-edicao-listar.search'\n filtroSituacaoCache: string = 'curso-edicao-listar.filtro-situacao.search'\n cursoId!: number\n allowImportar: boolean = false\n\n situacoes?\n situacoesPrevias: string[] = []\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' }, \n ]\n\n constructor(\n private cursoEdicaoService: CursoEdicaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private route: ActivatedRoute,\n private dialog: MatDialog,\n private legacyDialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId'] ?? 0\n })\n if (this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG'])) {\n this.situacoes = CursoEdicaoSituacaoExclusivaCepg\n } else {\n this.situacoes = CursoEdicaoSituacao\n }\n this.allowImportar = this.usuarioPodeImportar()\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.getFiltroSituacaoDefaultOrCachedValue()\n this.reloadTable()\n }, 0)\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n private getFiltroSituacaoDefaultOrCachedValue(): string {\n let value = this.localStorageService.get(this.filtroSituacaoCache) ?? '_'\n if (this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG']) && value === '_') {\n value = 'LISTAGEM_CEPG'\n }\n if (value === '_') {\n value = ''\n }\n return value\n }\n\n reloadTable() {\n this.cursoEdicaoService\n .listar(\n this.cursoId,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.getFiltroSituacaoDefaultOrCachedValue()\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n this.situacoesPrevias = []\n this.dataSource.data.forEach(d => {\n this.situacoesPrevias.push(d.situacao)\n })\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.reloadTable()\n }\n\n editar(cursoId: number, id: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/cadastro/${id}`])\n }\n\n inscricao(cursoEdicaoId: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoEdicaoId}/inscricao`])\n }\n\n docente(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/docentes`])\n }\n\n disciplina(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/disciplinas`])\n }\n\n aluno(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/alunos`])\n }\n\n disciplinaDocente(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/docente-disciplina`])\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.legacyDialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.cursoEdicaoService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n documentos(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/alunos-documentos`])\n }\n\n presenca(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/lista-presenca`])\n }\n\n notasFaltas(cursoId: number, edicao: number) {\n const dialogRef = this.dialog.open(EdicaoDisciplinaSelecionarComponent, {\n data: { cursoId, edicao },\n panelClass: 'my-dialog-resizer',\n })\n dialogRef.afterClosed().subscribe((res: EdicaoDisciplina) => {\n if (res) {\n this.router.navigate([`unidade/nota-falta/${cursoId}/${edicao}/${res.id}`])\n }\n })\n }\n\n certificadoRegistrar(cursoId: number, edicao: number): void {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/certificado-registrar`])\n }\n\n relatorios(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/relatorios`])\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n }\n\n isPropg(): boolean {\n return this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n }\n\n toggleBloqueado(event: any, index: number, id: number): void {\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `${event.checked ? 'Bloquear alterações' : 'Liberar alterações'} no curso/edição #${id}?`\n )\n const dialogRef = this.legacyDialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.cursoEdicaoService.bloquear(id, event.checked).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Registrado com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n this.dataSource.data[index].bloqueado = event.checked\n } else {\n this.dataSource.data[index].bloqueado = !event.checked\n }\n })\n }\n\n encaminhar(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Confima o encaminhamento da proposta?`)\n const dialogRef = this.legacyDialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.cursoEdicaoService.encaminhar(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Proposta encaminhada com successo')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n alterarSituacao(data: CursoEdicao, index: number) {\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `Confirma que o curso/edição ${data.nome} está ${data.situacao}?`\n )\n const dialogRef = this.legacyDialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n let situacao = getCursoEdicaoSituacaoByDescription(data.situacao)\n this.cursoEdicaoService.atualizarSituacao(data.id, situacao).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Situação registrada com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.dataSource.data[index].situacao = this.situacoesPrevias[index]\n this.apiErrorHandlerService.handle(err)\n },\n })\n } else {\n this.dataSource.data[index].situacao = this.situacoesPrevias[index]\n }\n })\n }\n\n exportar() {\n this.cursoEdicaoService.gerarArquivoCsv(\n this.pesquisa?.nativeElement.value,\n this.filtroSituacao?.value,\n this.cursoId\n )\n }\n\n importar(row: CursoEdicao) {\n this.dialog.open(CursoEdicaoImportarUploadComponent, {data : row})\n }\n\n usuarioPodeImportar(): boolean {\n return (\n this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE']) ||\n this.unespCoreAuthService.hasPermissionBasedRoles(['STPG']) ||\n this.unespCoreAuthService.hasPermissionBasedRoles(['EQUIPE-APOIO']) ||\n this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n )\n }\n\n situacao(cursoEdicao: CursoEdicao) {\n this.dialog.open(CursoEdicaoSituacaoComponent, {\n data: cursoEdicao,\n panelClass: 'my-dialog-resizer',\n })\n }\n\n apiToken(id: number) {\n this.cursoEdicaoService.token(id).subscribe({\n next: (data) => {\n const dialogRef = this.dialog.open(ApikeyDialogComponent, {\n data: data,\n })\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n }) \n }\n\n publicacao(cursoEdicao: CursoEdicao) {\n this.router.navigate([`unidade/curso-edicao/${cursoEdicao.cursoId}/${cursoEdicao.edicao}/publicacoes`])\n }\n\n divulgacao(id: number) {\n this.router.navigate([`curso/${id}`])\n }\n}\n\n@Component({\n selector: 'app-api-key-dialog',\n template: '

API Key

{{ data }}
',\n})\nexport class ApikeyDialogComponent {\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: string,\n public dialogRef: MatDialogRef\n ) {}\n}","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { Observable } from 'rxjs'\nimport { Departamento } from '../models/departamento'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DepartamentoService extends UnespCoreGenericService {\n readonly ROUTE = 'departamento'\n client!: HttpClient\n\n constructor(http: HttpClient, @Inject('environment') protected environment: UnespCoreEnvironment) {\n super(http, environment)\n this.client = http\n }\n\n listarPorUnidadeUniversitaria(id: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${id}/all`)\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { identity, Observable } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { CursoEdicaoParecerResolucao412011 } from '../models/curso-edicao-parecer-resolucao412011'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CursoEdicaoParecerResolucao412011Service extends UnespCoreGenericService {\n readonly ROUTE = 'curso-edicao-parecer-resolucao-412011'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n getParecerResolucao(cursoId: number, edicao: number): Observable {\n return this.findById(`${this.ROUTE}/${cursoId}`, edicao)\n }\n\n gravar(form: CursoEdicaoParecerResolucao412011): Observable {\n return this.create(this.ROUTE, form).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, form: CursoEdicaoParecerResolucao412011): Observable {\n return this.update(`${this.ROUTE}/${id}`, form).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { identity, Observable } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { CursoEdicaoParecerResolucao902019 } from '../models/curso-edicao-parecer-resolucao902019'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CursoEdicaoParecerResolucao902019Service extends UnespCoreGenericService {\n readonly ROUTE = 'curso-edicao-parecer-resolucao-902019'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n getParecerResolucao(cursoId: number, edicao: number): Observable {\n return this.findById(`${this.ROUTE}/${cursoId}`, edicao)\n }\n\n gravar(form: CursoEdicaoParecerResolucao902019): Observable {\n return this.create(this.ROUTE, form).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, form: CursoEdicaoParecerResolucao902019): Observable {\n return this.update(`${this.ROUTE}/${id}`, form).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { EMPTY, Observable } from 'rxjs'\nimport { Docente } from '../models/docente'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocenteService extends UnespCoreGenericService {\n readonly ROUTE = 'docente'\n client!: HttpClient\n\n constructor(http: HttpClient, @Inject('environment') protected environment: UnespCoreEnvironment) {\n super(http, environment)\n this.client = http\n }\n\n buscar(pesquisa: string, externo: boolean): Observable {\n if (pesquisa && pesquisa.length > 4) {\n const params = new HttpParams().append('pesquisa', pesquisa).append('externo', externo)\n return this.fetchWithoutPagination(this.ROUTE, params)\n }\n return EMPTY\n }\n}\n","import { AfterViewInit, Component, ElementRef, Inject, ViewChild } from '@angular/core'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespTableComponent, UnespTableConfig } from '@unesp/shared'\nimport { EMPTY, debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { Docente } from 'src/app/models/docente'\nimport { DocenteService } from 'src/app/services/docente.service'\n\n@Component({\n selector: 'app-search-select-docente',\n templateUrl: './search-select-docente.component.html',\n styleUrls: ['./search-select-docente.component.css'],\n})\nexport class SearchSelectDocenteComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: DocentePesquisaParametro,\n public dialogRef: MatDialogRef,\n private docenteService: DocenteService,\n private unespCoreMessageService: UnespCoreMessageService\n ) {\n this.tableConfig = {\n columns: {\n cpf: { title: 'CPF' },\n nome: { title: 'Nome' },\n email: { title: 'Email' },\n },\n buttons: [{ title: 'Selecionar', callback: i => this.selecionar(i), icon: 'task_alt' }],\n loadData: p => EMPTY,\n }\n }\n\n ngAfterViewInit(): void {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.params.cpf\n })\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.tabela.dataSource.load(\n this.docenteService.buscar(this.pesquisa?.nativeElement.value, this.params.externo),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n selecionar(docente: Docente): void {\n this.dialogRef.close(docente)\n }\n\n cancelar(): void {\n this.dialogRef.close()\n }\n}\n\nexport class DocentePesquisaParametro {\n cpf: string = ''\n externo: boolean = false\n}\n","

Pesquisar e selecionar docente

\n
\n \n search\n Pesquisar\n \n \n \n
\n\n \n
\n \n
\n
\n
\n\n","import { Component, Input } from '@angular/core'\nimport { SearchSelectDocenteComponent } from '../search-select-docente/search-select-docente.component'\nimport { Docente } from 'src/app/models/docente'\nimport { FormControl } from '@angular/forms'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { MatDialog } from '@angular/material/dialog'\n\n@Component({\n selector: 'app-input-docente',\n templateUrl: './input-docente.component.html',\n styleUrls: ['./input-docente.component.css'],\n})\nexport class InputDocenteComponent {\n @Input() fcCpf: FormControl = new FormControl()\n @Input() fcNome: FormControl = new FormControl()\n @Input() fcEmail: FormControl = new FormControl()\n @Input() externo: boolean = false\n @Input() label: string = ''\n @Input() localStorageKey?: string = ''\n docente?: Docente\n\n constructor(private dialog: MatDialog, private localStorageService: LocalStorageService) {}\n\n pesquisar(): void {\n let dialogRef = this.dialog.open(SearchSelectDocenteComponent, {\n data: { cpf: this.fcCpf.getRawValue(), externo: this.externo },\n panelClass: 'my-dialog-resizer',\n })\n dialogRef.afterClosed().subscribe(docenteSelecionado => {\n if (docenteSelecionado) {\n this.docente = docenteSelecionado\n this.fcCpf.setValue(this.docente?.cpf)\n this.fcNome.setValue(this.docente?.nome)\n this.fcEmail.setValue(this.docente?.email)\n if (this.localStorageKey) {\n this.localStorageService.set(this.localStorageKey, this.docente?.cpf)\n }\n }\n })\n }\n}\n","\n {{ label }}\n \n search\n\n","
\n \n \n
\n
\n 1. Quanto à justificativa\n
\n \n \n \n \n \n \n
\n \n Adequada\n Não adequada\n Deve ser modificada\n \n
\n
\n
\n
\n 2. Adequação ao Conselho de Classe\n
\n \n \n \n \n \n \n
\n \n Sim\n Não\n Não se aplica\n \n
\n
\n
\n
\n 3. Corpo Docente\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
3.1. Formação ou atuação do professor compatível com a disciplina oferecida
\n \n Sim\n Não\n \n

3.2. Produtividade nos últimos 3 anos na área de conhecimento do curso
\n \n Muito bom\n Bom\n Regular\n Fraco\n \n
\n
\n
\n
\n 4. Coordenação (de acordo com artigo 7º da Resolução UNESP n.º41/2011)\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
4.1. Atuação na Área
\n \n Sim\n Não\n \n

4.2. Locação no Departamento
\n \n Sim\n Não\n \n
\n
4.3. Credenciamento em Programas Stricto sensu com comprovada atividade de docência e\n orientação\n
\n \n Docência\n Orientação\n NDA\n \n
\n
\n
\n
\n 5. Disciplinas\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
5.1. Coerência com objetivo do curso
\n \n Sim\n Não\n \n

5.2. Adequação à área do saber
\n \n Sim\n Não\n \n

5.3. Referências atualizadas
\n \n Sim\n Não\n \n

5.4. Oferecimento da disciplina \"Metodologia\"
\n \n Sim\n Não\n \n
\n
\n
\n
\n 6. Avaliação do Curso pelo Discente\n
\n \n \n \n \n \n \n \n \n \n
6.1. O Curso é gratuito?
\n \n 9 à 10 - Muito bom\n 7 à 8,9 - Bom\n 5 à 6,9 - Regular\n 0 à 4,9 - Fraco\n \n
\n
\n
\n
\n 7. Relatório das edições anteriores\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
7.1. Confirmação do cronograma das atividades programadas
\n \n Adequado\n Não adequado\n \n

7.2. Adequação do tema da Monografia
\n \n 9 à 10 - Muito bom\n 7 à 8,9 - Bom\n 5 à 6,9 - Regular\n 0 à 4,9 - Fraco\n \n
\n
\n
\n
\n 8. Avaliação final da proposta\n
\n \n \n \n \n \n \n
\n \n Aprovada\n Não aprovada\n Diligência\n \n
\n
\n
\n
\n Dados complementares\n
\n \n \n \n \n \n \n \n \n \n
\n \n Parecer\n \n \n
\n \n Orientações para o Coordenador do Curso (opcional)\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core'\nimport { Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { CursoEdicaoParecerResolucao412011 } from 'src/app/models/curso-edicao-parecer-resolucao412011'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\nimport { CursoEdicaoParecerResolucao412011Service } from 'src/app/services/curso-edicao-parecer-resolucao412011.service'\n\n@Component({\n selector: 'app-parecer-resolucao412011-editar',\n templateUrl: './parecer-resolucao412011-editar.component.html',\n styleUrls: ['./parecer-resolucao412011-editar.component.css'],\n})\nexport class ParecerResolucao412011EditarComponent implements OnInit {\n @Input() cursoId: number = 0\n @Input() edicao: number = 0\n @Input() situacao: string = ''\n @Input() parecerPropeg: boolean | null = null\n @Input() data?: CursoEdicaoParecerResolucao412011 = undefined\n\n isReadOnly: boolean = true\n\n constructor(\n private cursoEdicaoParecerResolucao412011Service: CursoEdicaoParecerResolucao412011Service,\n private unespCoreMessageService: UnespCoreMessageService,\n private unespCoreAuthService: UnespCoreAuthService,\n private router: Router,\n private arquivoDownloadService: ArquivoDownloadService\n ) {}\n\n ngOnInit(): void {\n this.checkIsReadOnly()\n }\n\n private checkIsReadOnly(): void {\n const situacoesQuePermitemEdicao = ['ANALISE_PROPEG', 'DILIGENCIA_PROPEG', 'ANALISE_PROPG', 'ANALISE_CEPG']\n this.isReadOnly =\n !this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG']) ||\n !situacoesQuePermitemEdicao.includes(this.situacao)\n }\n\n gravar(): void {\n if (this.data) {\n if (this.data.id) {\n this.cursoEdicaoParecerResolucao412011Service.atualizar(this.data.id, this.data).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Parecer #${data.id} atualizado com sucesso`)\n this.router.navigate(['/unidade/cursos-edicoes'])\n })\n } else {\n this.cursoEdicaoParecerResolucao412011Service.gravar(this.data).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Parecer #${data.id} cadastrado com sucesso`)\n this.router.navigate(['/unidade/cursos-edicoes'])\n })\n }\n }\n }\n\n gerarDocumento(): void {\n this.arquivoDownloadService.pdfParecerResolucao412011(this.cursoId, this.edicao)\n }\n}\n","
\n \n \n
\n
\n 1. Oferecimento do Curso\n
\n \n 1.1. Dentro da própria Unidade\n \n Sim\n Não\n NDA\n \n \n \n 1.2. Interunidades (outras Unidades da Unesp, instituições nacionais e/ou estrangeiras)\n \n \n Sim\n Não\n NDA\n \n \n \n 1.2.1. Apresenta convênio entre as instituições?\n \n Sim\n Não\n NDA\n \n \n \n 1.3. A Unidade proponente é responsável pelo curso?\n \n Sim\n Não\n NDA\n \n \n \n 1.4. É apresentada a aprovação dos órgãos colegiados competentes?\n \n Sim\n Não\n NDA\n \n \n \n 1.5. É apresentado o Edital de oferecimento do curso?\n \n Sim\n Não\n NDA\n \n \n \n Diligência\n \n Sim\n Não\n NDA\n \n \n \n Descrição da diligência\n \n \n
\n
\n
\n 2. Projeto Pedagógico do Curso (PPC)\n
\n \n 2.1. A justificativa é adequada?\n \n Sim\n Não\n NDA\n \n \n \n 2.2. O plano de curso é adequado?\n \n Sim\n Não\n NDA\n \n \n \n 2.3. A metodologia de ensino é adequada?\n \n Sim\n Não\n NDA\n \n \n \n 2.4. A carga horária é adequada?\n \n Sim\n Não\n NDA\n \n \n \n 2.5. Os critérios de avaliação dos alunos foram apresentados?\n \n Sim\n Não\n NDA\n \n \n \n 2.6. O número máximo e mínimo de alunos por edição foi apresentado?\n \n Sim\n Não\n NDA\n \n \n \n 2.7. Existem critérios de seleção para o ingresso dos candidatos?\n \n Sim\n Não\n NDA\n \n \n \n Diligência\n \n Sim\n Não\n NDA\n \n \n \n Descrição da diligência\n \n \n
\n
\n
\n 3. Corpo Docente\n
\n \n 3.1. A constituição do corpo docente é adequada? (Conforme Resolução Vigente)\n \n Sim\n Não\n NDA\n \n \n \n 3.2. A formação dos docentes é adequada ao plano de ensino das disciplinas?\n \n Sim\n Não\n NDA\n \n \n \n 3.3. A Produtividade Acadêmica é avaliada como:\n \n Muito bom\n Bom\n Regular\n Fraco\n DNA\n \n \n \n 3.4. Estão anexados os pareceres da Comissão Permanente de Avaliação (CPA) para participação dos\n docentes?\n \n \n Sim\n Não\n NDA\n \n \n \n Diligência\n \n Sim\n Não\n NDA\n \n \n \n Descrição da diligência\n \n \n
\n
\n
\n 4. Coordenação\n
\n \n 4.1. Coordenador e Vice-Coordenador pertencem ao quadro de docentes ativos da UNESP?\n \n \n Sim\n Não\n NDA\n \n \n \n 4.2. Em caso negativo apresenta justificativa?\n \n Sim\n Não\n NDA\n \n \n \n Diligência\n \n Sim\n Não\n NDA\n \n \n \n Descrição da diligência\n \n \n
\n
\n
\n 5. Disciplinas\n
\n

5.1. Qual a modalidade do oferecimento das disciplinas?

\n \n 5.1.1. Disciplinas sequenciais?\n \n Sim\n Não\n NDA\n \n \n \n 5.1.2. Módulos de conteúdo específico?\n \n Sim\n Não\n NDA\n \n \n \n 5.1.3. Disciplinas a distância?\n \n Sim\n Não\n NDA\n \n \n \n 5.1.4. Disciplinas presenciais?\n \n Sim\n Não\n NDA\n \n \n \n 5.2. Os planos de disciplinas são coerentes com a temática proposta?\n \n Sim\n Não\n NDA\n \n \n \n 5.3. A disciplina de Metodologia do Trabalho Científico sera oferecida na primeira metade do curso?\n \n \n Sim\n Não\n NDA\n \n \n \n 5.4. As referências estão atualizadas? (pelo menos 50% dos últimos 5 anos)\n \n Sim\n Não\n NDA\n \n \n \n Diligência\n \n Sim\n Não\n NDA\n \n \n \n Descrição da diligência\n \n \n
\n
\n
\n 6. Previsão Orçamentaria (Conforme Resolução Vigente)\n
\n \n 6.1. O Curso é gratuito?\n \n Sim\n Não\n NDA\n \n \n \n 6.2. Apresenta formulário de previsão orçamentária?\n \n Sim\n Não\n NDA\n \n \n \n 6.3. A taxa de Contribuição ao Desenvolvimento da Unesp (TCDU) está prevista?\n \n Sim\n Não\n NDA\n \n \n \n 6.4. O percentual destinado a Unidade, ao Departamento etc foi estabelecido?\n \n Sim\n Não\n NDA\n \n \n \n Diligência\n \n Sim\n Não\n NDA\n \n \n \n Descrição da diligência\n \n \n
\n
\n
\n \n 7. Avaliação Parcial ou Final feita pelos alunos na edição anterior (Conforme Resolução Vigente)\n \n
\n \n 7.1. Todos os alunos apresentaram a ficha de avaliação?\n \n Sim\n Não\n NDA\n \n \n \n 7.2. Qual foi o resultado da avaliação?\n \n Muito bom\n Bom\n Regular\n Fraco\n NDA\n \n \n \n Diligência\n \n Sim\n Não\n NDA\n \n \n \n Descrição da diligência\n \n \n
\n
\n
\n 8. Relatório Parcial/Final de Edições Anteriores (Coordenador)\n
\n \n 8.1. Aprovado?\n \n Sim\n Não\n NDA\n \n \n \n Diligência\n \n Sim\n Não\n NDA\n \n \n \n Descrição da diligência\n \n \n
\n
\n
\n 9. Observações internas sobre a proposta (de uso interno da Comissão Assessora)\n
\n \n Descrição\n \n \n
\n
\n
\n
\n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core'\nimport { FormGroup, FormControl, Validators, FormArray, AbstractControl } from '@angular/forms'\nimport { MatSelectChange } from '@angular/material/select'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { Observable, of, map, catchError } from 'rxjs'\nimport { CursoEdicaoParecerResolucao902019 } from 'src/app/models/curso-edicao-parecer-resolucao902019'\nimport { CursoEdicaoParecerResolucao902019Service } from 'src/app/services/curso-edicao-parecer-resolucao902019.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\n\n@Component({\n selector: 'app-parecer-resolucao902019-editar',\n templateUrl: './parecer-resolucao902019-editar.component.html',\n styleUrls: ['./parecer-resolucao902019-editar.component.css'],\n})\nexport class ParecerResolucao902019EditarComponent implements OnInit, OnChanges {\n @Input() id?: number\n @Input() cursoId: number = 0\n @Input() edicao: number = 0\n @Input() situacao: string = ''\n @Input() parecerPropeg: boolean | null = null\n @Input() data?: CursoEdicaoParecerResolucao902019 = undefined\n\n @Output() reload = new EventEmitter()\n\n perfilAcesso: string = ''\n\n isReadOnly: boolean = true\n\n form = new FormGroup({\n cursoId: new FormControl('', Validators.required),\n edicao: new FormControl('', Validators.required),\n topico11: new FormControl('', Validators.required),\n topico12: new FormControl('', Validators.required),\n topico13: new FormControl('', Validators.required),\n topico14: new FormControl('', Validators.required),\n topico15: new FormControl('', Validators.required),\n topico16: new FormControl('', Validators.required),\n topico1TemDiligencia: new FormControl('', Validators.required),\n topico1Diligencia: new FormControl(''),\n topico21: new FormControl('', Validators.required),\n topico22: new FormControl('', Validators.required),\n topico23: new FormControl('', Validators.required),\n topico24: new FormControl('', Validators.required),\n topico25: new FormControl('', Validators.required),\n topico26: new FormControl('', Validators.required),\n topico27: new FormControl('', Validators.required),\n topico2TemDiligencia: new FormControl('', Validators.required),\n topico2Diligencia: new FormControl(''),\n topico31: new FormControl('', Validators.required),\n topico32: new FormControl('', Validators.required),\n topico33: new FormControl('', Validators.required),\n topico34: new FormControl('', Validators.required),\n topico3TemDiligencia: new FormControl('', Validators.required),\n topico3Diligencia: new FormControl(''),\n topico41: new FormControl('', Validators.required),\n topico42: new FormControl('', Validators.required),\n topico4TemDiligencia: new FormControl('', Validators.required),\n topico4Diligencia: new FormControl(''),\n topico51: new FormControl('', Validators.required),\n topico52: new FormControl('', Validators.required),\n topico53: new FormControl('', Validators.required),\n topico54: new FormControl('', Validators.required),\n topico55: new FormControl('', Validators.required),\n topico56: new FormControl('', Validators.required),\n topico57: new FormControl('', Validators.required),\n topico5TemDiligencia: new FormControl('', Validators.required),\n topico5Diligencia: new FormControl(''),\n topico61: new FormControl('', Validators.required),\n topico62: new FormControl('', Validators.required),\n topico63: new FormControl('', Validators.required),\n topico64: new FormControl('', Validators.required),\n topico6TemDiligencia: new FormControl('', Validators.required),\n topico6Diligencia: new FormControl(''),\n topico71: new FormControl('', Validators.required),\n topico72: new FormControl('', Validators.required),\n topico7TemDiligencia: new FormControl('', Validators.required),\n topico7Diligencia: new FormControl(''),\n topico81: new FormControl('', Validators.required),\n topico8TemDiligencia: new FormControl('', Validators.required),\n topico8Diligencia: new FormControl(''),\n observacaoInterna: new FormControl('')\n })\n\n constructor(\n private cursoEdicaoParecerResolucao902019Service: CursoEdicaoParecerResolucao902019Service,\n private localStorageService: LocalStorageService,\n private unespCoreMessageService: UnespCoreMessageService,\n private unespCoreAuthService: UnespCoreAuthService,\n ) { }\n\n ngOnInit(): void {\n if (this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG']) || this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])) {\n this.perfilAcesso = 'CEPG'\n } else if (this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])) {\n this.perfilAcesso = 'COORDENADOR'\n }\n\n if (this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])) {\n this.unRequireFields();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['data']) {\n this.form.controls['cursoId'].setValue(this.cursoId.toString())\n this.form.controls['edicao'].setValue(this.edicao.toString())\n this.checkIsReadOnly()\n if (this.data && this.data.id) {\n this.form.controls['topico11'].setValue(this.data.topico11 == null ? '' : this.data.topico11.toString())\n this.form.controls['topico12'].setValue(this.data.topico12 == null ? '' : this.data.topico12.toString())\n this.form.controls['topico13'].setValue(this.data.topico13 == null ? '' : this.data.topico13.toString())\n this.form.controls['topico14'].setValue(this.data.topico14 == null ? '' : this.data.topico14.toString())\n this.form.controls['topico15'].setValue(this.data.topico15 == null ? '' : this.data.topico15.toString())\n this.form.controls['topico16'].setValue(this.data.topico16 == null ? '' : this.data.topico16.toString())\n this.form.controls['topico1TemDiligencia'].setValue(\n this.data.topico1TemDiligencia == null ? '' : this.data.topico1TemDiligencia.toFixed()\n )\n this.form.controls['topico1Diligencia'].setValue(\n this.data.topico1Diligencia == null ? '' : this.data.topico1Diligencia\n )\n this.form.controls['topico21'].setValue(this.data.topico21 == null ? '' : this.data.topico21.toString())\n this.form.controls['topico22'].setValue(this.data.topico22 == null ? '' : this.data.topico22.toString())\n this.form.controls['topico23'].setValue(this.data.topico23 == null ? '' : this.data.topico23.toString())\n this.form.controls['topico24'].setValue(this.data.topico24 == null ? '' : this.data.topico24.toString())\n this.form.controls['topico25'].setValue(this.data.topico25 == null ? '' : this.data.topico25.toString())\n this.form.controls['topico26'].setValue(this.data.topico26 == null ? '' : this.data.topico26.toString())\n this.form.controls['topico27'].setValue(this.data.topico27 == null ? '' : this.data.topico27.toString())\n this.form.controls['topico2TemDiligencia'].setValue(\n this.data.topico2TemDiligencia == null ? '' : this.data.topico2TemDiligencia.toFixed()\n )\n this.form.controls['topico2Diligencia'].setValue(\n this.data.topico2Diligencia == null ? '' : this.data.topico2Diligencia\n )\n this.form.controls['topico31'].setValue(this.data.topico31 == null ? '' : this.data.topico31.toString())\n this.form.controls['topico32'].setValue(this.data.topico32 == null ? '' : this.data.topico32.toString())\n this.form.controls['topico33'].setValue(this.data.topico33 == null ? '' : this.data.topico33.toString())\n this.form.controls['topico34'].setValue(this.data.topico34 == null ? '' : this.data.topico34.toString())\n this.form.controls['topico3TemDiligencia'].setValue(\n this.data.topico3TemDiligencia == null ? '' : this.data.topico3TemDiligencia.toFixed()\n )\n this.form.controls['topico3Diligencia'].setValue(\n this.data.topico3Diligencia == null ? '' : this.data.topico3Diligencia\n )\n this.form.controls['topico41'].setValue(this.data.topico41 == null ? '' : this.data.topico41.toString())\n this.form.controls['topico42'].setValue(this.data.topico42 == null ? '' : this.data.topico42.toString())\n this.form.controls['topico4TemDiligencia'].setValue(\n this.data.topico4TemDiligencia == null ? '' : this.data.topico4TemDiligencia.toFixed()\n )\n this.form.controls['topico4Diligencia'].setValue(\n this.data.topico4Diligencia == null ? '' : this.data.topico4Diligencia\n )\n this.form.controls['topico51'].setValue(this.data.topico51 == null ? '' : this.data.topico51.toString())\n this.form.controls['topico52'].setValue(this.data.topico52 == null ? '' : this.data.topico52.toString())\n this.form.controls['topico53'].setValue(this.data.topico53 == null ? '' : this.data.topico53.toString())\n this.form.controls['topico54'].setValue(this.data.topico54 == null ? '' : this.data.topico54.toString())\n this.form.controls['topico55'].setValue(this.data.topico55 == null ? '' : this.data.topico55.toString())\n this.form.controls['topico56'].setValue(this.data.topico56 == null ? '' : this.data.topico56.toString())\n this.form.controls['topico57'].setValue(this.data.topico57 == null ? '' : this.data.topico57.toString())\n this.form.controls['topico5TemDiligencia'].setValue(\n this.data.topico5TemDiligencia == null ? '' : this.data.topico5TemDiligencia.toFixed()\n )\n this.form.controls['topico5Diligencia'].setValue(\n this.data.topico5Diligencia == null ? '' : this.data.topico5Diligencia\n )\n this.form.controls['topico61'].setValue(this.data.topico61 == null ? '' : this.data.topico61.toString())\n this.form.controls['topico62'].setValue(this.data.topico62 == null ? '' : this.data.topico62.toString())\n this.form.controls['topico63'].setValue(this.data.topico63 == null ? '' : this.data.topico63.toString())\n this.form.controls['topico64'].setValue(this.data.topico64 == null ? '' : this.data.topico64.toString())\n this.form.controls['topico6TemDiligencia'].setValue(\n this.data.topico6TemDiligencia == null ? '' : this.data.topico6TemDiligencia.toFixed()\n )\n this.form.controls['topico6Diligencia'].setValue(\n this.data.topico6Diligencia == null ? '' : this.data.topico6Diligencia\n )\n this.form.controls['topico71'].setValue(this.data.topico71 == null ? '' : this.data.topico71.toString())\n this.form.controls['topico72'].setValue(this.data.topico72 == null ? '' : this.data.topico72.toString())\n this.form.controls['topico7TemDiligencia'].setValue(\n this.data.topico7TemDiligencia == null ? '' : this.data.topico7TemDiligencia.toFixed()\n )\n this.form.controls['topico7Diligencia'].setValue(\n this.data.topico7Diligencia == null ? '' : this.data.topico7Diligencia\n )\n this.form.controls['topico81'].setValue(this.data.topico81 == null ? '' : this.data.topico81.toString())\n this.form.controls['topico8TemDiligencia'].setValue(\n this.data.topico8TemDiligencia == null ? '' : this.data.topico8TemDiligencia.toFixed()\n )\n this.form.controls['topico8Diligencia'].setValue(\n this.data.topico8Diligencia == null ? '' : this.data.topico8Diligencia\n )\n this.form.controls['observacaoInterna'].setValue(\n this.data.observacaoInterna == null ? '' : this.data.observacaoInterna\n )\n\n } else {\n this.formDataFromLocalStorage()\n\n }\n }\n }\n\n private checkIsReadOnly(): void {\n const situacoesQuePermitemEdicao = ['ANALISE_PROPEG', 'DILIGENCIA_PROPEG', 'ANALISE_PROPG', 'ANALISE_CEPG']\n\n this.isReadOnly =\n !this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG']) &&\n !this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG']) ||\n !situacoesQuePermitemEdicao.includes(this.situacao)\n if (this.isReadOnly) {\n this.form.disable()\n }\n }\n\n unRequireFields() {\n for (const name in this.form.controls) {\n this.form.get(name)?.clearValidators()\n this.form.get(name)?.updateValueAndValidity()\n }\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n preSave(): Observable {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return of(false)\n }\n\n let formulario = (this.form.value)\n\n // Limpa o texto da diligência caso não tenha sido informado Diligência = Sim\n formulario.topico1Diligencia =\n formulario.topico1TemDiligencia.toString() === '1' ? formulario.topico1Diligencia : ''\n formulario.topico2Diligencia =\n formulario.topico2TemDiligencia.toString() === '1' ? formulario.topico2Diligencia : ''\n formulario.topico3Diligencia =\n formulario.topico3TemDiligencia.toString() === '1' ? formulario.topico3Diligencia : ''\n formulario.topico4Diligencia =\n formulario.topico4TemDiligencia.toString() === '1' ? formulario.topico4Diligencia : ''\n formulario.topico5Diligencia =\n formulario.topico5TemDiligencia.toString() === '1' ? formulario.topico5Diligencia : ''\n formulario.topico6Diligencia =\n formulario.topico6TemDiligencia.toString() === '1' ? formulario.topico6Diligencia : ''\n formulario.topico7Diligencia =\n formulario.topico7TemDiligencia.toString() === '1' ? formulario.topico7Diligencia : ''\n formulario.topico8Diligencia =\n formulario.topico8TemDiligencia.toString() === '1' ? formulario.topico8Diligencia : ''\n\n // Prepara o Observable para a operação de atualização ou gravação\n let operacao$: Observable\n if (this.data?.id) {\n operacao$ = this.cursoEdicaoParecerResolucao902019Service.atualizar(this.data.id, formulario)\n } else {\n operacao$ = this.cursoEdicaoParecerResolucao902019Service.gravar(formulario)\n }\n\n // Retorna o Observable mapeado para true em caso de sucesso, ou captura o erro e retorna false\n return operacao$.pipe(\n map(data => {\n this.clearLocalStorage()\n return true\n }),\n catchError(error => {\n return of(false)\n })\n )\n }\n\n digilencia(selection: MatSelectChange, target: string): void {\n if (selection.value === '1') {\n this.form.get(target)?.setValidators([Validators.required])\n } else {\n this.form.get(target)?.clearValidators()\n }\n this.form.get(target)?.updateValueAndValidity()\n }\n\n save(name: string): void {\n let value = this.form.get(name)?.getRawValue()\n this.localStorageService.set(name, value)\n }\n\n private formDataFromLocalStorage(): void {\n for (const name in this.form.controls) {\n let value = this.localStorageService.get(name)\n if (value) {\n this.form.get(name)?.setValue(value)\n }\n }\n }\n\n private clearLocalStorage(): void {\n for (const name in this.form.controls) {\n this.localStorageService.remove(name)\n }\n }\n reloadTable(value: boolean) {\n if (value) {\n this.reload.emit(true)\n }\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { Observable } from 'rxjs'\nimport { SigadUnidade } from '../models/sigad-unidade.model'\nimport { SigadDocumento } from '../models/sigad-documento.model'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SigadApiService extends UnespCoreGenericService {\n readonly ROUTE = 'sigad-api'\n\n constructor(\n http: HttpClient,\n @Inject('environment') environment: UnespCoreEnvironment\n ) {\n super(http, environment)\n }\n\n unidades(): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/unidades`)\n }\n\n documentos(idUnidade: string, numero: string, ano: string): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/documentos/${idUnidade}/${numero}/${ano}`)\n }\n}\n","\n \n

1. Pesquisar o documento

\n
\n
\n \n Unidade de procedência\n \n \n {{ opt.sigla }}\n \n \n \n \n Número\n \n \n \n Ano\n \n \n \n
\n
\n
\n

2. Selecionar o documento

\n \n
\n
","import { Component, OnInit, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { SigadApiService } from 'src/app/services/sigad-api.service'\nimport { SigadDocumento } from 'src/app/models/sigad-documento.model'\nimport { SigadUnidade } from 'src/app/models/sigad-unidade.model'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UnespTableComponent, UnespTableConfig } from '@unesp/shared'\nimport { EMPTY } from 'rxjs'\nimport { MatDialogRef } from '@angular/material/dialog'\n\n@Component({\n selector: 'app-selecionar-processo-sigad',\n templateUrl: './selecionar-processo-sigad.component.html',\n styleUrls: ['./selecionar-processo-sigad.component.css'],\n})\nexport class SelecionarProcessoSigadComponent implements OnInit {\n\n form = new FormGroup({\n idUnidade: new FormControl('', Validators.required),\n numero: new FormControl('', [Validators.required, Validators.pattern('^[0-9]*$')]),\n ano: new FormControl('', [Validators.required, Validators.pattern('^[0-9]*$')])\n })\n\n unidades: SigadUnidade[] = []\n\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n\n constructor(\n public dialogRef: MatDialogRef,\n private sigadApiService: SigadApiService,\n private unespCoreMessageService: UnespCoreMessageService,\n ) {\n this.tableConfig = {\n columns: {\n identificador: { title: 'Identificador' },\n assunto: { title: 'Assunto' }\n },\n buttons: [{ title: 'Selecionar', callback: i => this.selecionar(i), icon: 'task_alt' }],\n loadData: p => EMPTY,\n }\n }\n\n ngOnInit(): void {\n this.sigadApiService.unidades().subscribe(data => {\n this.unidades = data\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n pesquisarDocumentos(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n const idUnidade = this.form.controls.idUnidade.getRawValue()!\n const numero = this.form.controls.numero.getRawValue()!\n const ano = this.form.controls.ano.getRawValue()!\n this.tabela.dataSource.load(\n this.sigadApiService.documentos(idUnidade, numero, ano),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n selecionar(value: SigadDocumento): void {\n this.dialogRef.close(value)\n }\n}\n","
\n \n \n
\n
\n
\n CCPG\n
\n
\n \n Número do parecer da CCPG\n \n \n \n Número do despacho da SG\n \n \n \n Data CCPG\n \n close\n \n \n \n \n \n
\n \n Observações\n \n \n
\n
\n
\n PROPG\n
\n
\n \n Número informação AT/PROPG\n \n \n
\n
\n \n Identificador documento SIGAD\n close\n \n search\n \n
\n
\n
\n
\n Certificado\n
\n
\n \n Modelo do certificado\n \n Modelo definido na Resolução\n \n {{ modeloCertificado.value }}\n \n \n \n
\n
\n
\n
\n Equipe de apoio\n
\n
\n \n CPF\n \n \n
\n \n add\n \n
\n
\n \n \n \n \n \n \n \n
{{ cpf }}\n \n
\n
\n
\n
\n Documentos\n
\n
\n \n
\n
\n
\n \n
\n \n Descrição\n \n \n \n \n
\n \n delete\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, Input, OnChanges, QueryList, SimpleChanges, ViewChildren } from '@angular/core'\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'\nimport { Router } from '@angular/router'\nimport { UnespCoreApiErrorHandlerService, UnespCoreMessageService } from '@unesp/core'\nimport { CursoEdicaoDadosComplementares } from 'src/app/models/curso-edicao-dados-complementares'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { ValidacaoService } from 'src/app/services/validacao.service'\nimport {\n ArquivoSelecionado,\n ArquivoStatus,\n ArquivoUploadComponent,\n arquivoUploadValidator,\n} from '../../../comum/arquivo-upload/arquivo-upload.component'\nimport { UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { MatDialog } from '@angular/material/dialog'\nimport { DataService } from 'src/app/services/data.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { date2DatePicker } from 'src/app/utils/utils'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\nimport { SelecionarProcessoSigadComponent } from '../../selecionar-processo-sigad/selecionar-processo-sigad.component'\nimport { SigadDocumento } from 'src/app/models/sigad-documento.model'\nimport { ModeloCertificado } from 'src/app/enums/modelo-certificado'\n\n@Component({\n selector: 'app-dados-complementares-proposta-editar',\n templateUrl: './dados-complementares-proposta-editar.component.html',\n styleUrls: ['./dados-complementares-proposta-editar.component.css'],\n})\nexport class DadosComplementaresPropostaEditarComponent implements OnChanges {\n @Input() data?: CursoEdicaoDadosComplementares = undefined\n isReadOnly: boolean = true\n\n parecerDespachoPattern: string = '^([0-9]{1,6})/([0-9]{4})$'\n informacaoAreaTecnicaPropgPattern: string = '^([0-9]{1,6})/([0-9]{4})$'\n\n @ViewChildren('documentoUpload') documentoUpload: QueryList | undefined\n\n documentosIdRemover: number[] = []\n\n form: FormGroup\n\n @Input() fcCpf: FormControl = new FormControl()\n cpfEquipeApoio: string[] = []\n dadosUsuarioLogado?: UsuarioLogin\n documentoSIGAD?: SigadDocumento\n modelosCertificado = ModeloCertificado\n\n constructor(\n private cursoEdicaoService: CursoEdicaoService,\n private validacaoService: ValidacaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private fb: FormBuilder,\n private router: Router,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private dialog: MatDialog,\n private dataService: DataService,\n private localStorageService: LocalStorageService,\n private userLoginService: UserLoginService,\n ) {\n this.form = this.fb.group({\n id: new FormControl('', Validators.required),\n numeroParecerCcpg: new FormControl('', Validators.pattern(this.parecerDespachoPattern)),\n numeroDespachoSg: new FormControl('', Validators.pattern(this.parecerDespachoPattern)),\n dataCCPG: new FormControl(new Date()),\n observacaoPropg: new FormControl(''),\n equipeApoio: new FormControl(''),\n documentosForm: this.fb.array([]),\n informacaoAreaTecnicaPropg: new FormControl('', Validators.pattern(this.informacaoAreaTecnicaPropgPattern)),\n identificadorProcessoSIGAD: new FormControl(''),\n modeloCertificado: new FormControl(),\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['data']) {\n if (this.data && this.data.id) {\n this.form.controls['id'].setValue(this.data.id.toString())\n this.form.controls['numeroParecerCcpg'].setValue(this.data.numeroParecerCcpg)\n this.form.controls['numeroDespachoSg'].setValue(this.data.numeroDespachoSg)\n this.form.controls['dataCCPG'].setValue(date2DatePicker(this.data.dataCCPG))\n this.form.controls['observacaoPropg'].setValue(this.data.observacaoPropg)\n this.form.controls['equipeApoio'].setValue(this.data.equipeApoio)\n this.cpfEquipeApoio =\n this.data.equipeApoio !== null && this.data.equipeApoio !== '' ? this.data.equipeApoio.split(';') : []\n this.form.controls['informacaoAreaTecnicaPropg'].setValue(this.data.informacaoAreaTecnicaPropg)\n this.form.controls['identificadorProcessoSIGAD'].setValue(this.data.identificadorProcessoSIGAD)\n this.form.controls['modeloCertificado'].setValue(this.data.modeloCertificado)\n this.cursoEdicaoService.getDocumentosComplementares(this.data.id).subscribe(obj => {\n obj.forEach(doc => {\n let documentoFC: FormControl\n documentoFC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n }) as FormControl\n\n documentoFC.value.setNameAndSize(doc.nomeDocumento, 0)\n documentoFC.setValue(documentoFC.value)\n\n let documento = this.fb.group({\n id: doc.id,\n cursoId: doc.cursoEdicaoId,\n descricao: [doc.descricao, Validators.required],\n nomeDocumento: [doc.nomeDocumento],\n documentoFC: documentoFC,\n })\n this.documentosForm.push(documento)\n })\n })\n }\n }\n }\n\n get documentosForm() {\n return this.form.controls['documentosForm'] as FormArray\n }\n\n getDocumentoFormByIndex(i: number) {\n return this.documentosForm.controls[i].get('documentoFC') as FormControl\n }\n\n adicionarDocumento() {\n let documentoFC: FormControl\n documentoFC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n }) as FormControl\n let documento = this.fb.group({\n id: 0,\n cursoId: [this.data?.id],\n descricao: ['', Validators.required],\n nomeDocumento: [''],\n documentoFC: documentoFC,\n })\n this.documentosForm.push(documento)\n }\n\n removerDocumento(index: number) {\n let documento = this.documentosForm.at(index)\n if (!documento.get('descricao')?.value && !documento.get('documentoFC')?.value.file) {\n this.documentosForm.removeAt(index)\n return\n }\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Confirma a exclusão do documento?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n if (documento.get('id')?.value) {\n this.documentosIdRemover?.push(documento.get('id')?.value)\n }\n this.documentosForm.removeAt(index)\n }\n })\n }\n\n isStatusSalvoOrEnviado(index: number): boolean {\n return (\n this.documentosForm.controls[index].get('documentoFC')?.value.status == ArquivoStatus.SALVO ||\n this.documentosForm.controls[index].get('documentoFC')?.value.status == ArquivoStatus.ENVIADO\n )\n }\n\n validaCpf(): void {\n if (!this.validacaoService.isCPFValid(this.fcCpf.getRawValue())) {\n this.fcCpf.setErrors({ incorrect: true })\n }\n }\n\n adicionarApoio(): void {\n if (this.fcCpf.value != null && this.fcCpf.value != null) {\n if (!this.fcCpf.invalid) {\n let value = this.fcCpf.getRawValue()\n if (!this.cpfEquipeApoio.includes(value)) {\n this.cpfEquipeApoio.push(value)\n }\n this.fcCpf.setValue('')\n this.fcCpf.clearValidators()\n }\n } else {\n this.unespCoreMessageService.showMessageError('Informe o CPF da pessoa que receberá o perfil de Equipe de apoio')\n }\n }\n\n removerApoio(cpf: string): void {\n this.cpfEquipeApoio = this.cpfEquipeApoio.filter(function (row) {\n return row !== cpf\n })\n }\n\n gravar(): void {\n this.validarDocumentos()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n this.excluirArquivos()\n this.arquivoUpload()\n if (this.data) {\n if (this.data.id) {\n let formulario: CursoEdicaoDadosComplementares = {\n id: Number(this.form.controls['id']?.value!),\n numeroParecerCcpg: this.form.controls['numeroParecerCcpg']?.value!,\n numeroDespachoSg: this.form.controls['numeroDespachoSg']?.value!,\n dataCCPG: this.form.controls['dataCCPG']?.value!,\n observacaoPropg: this.form.controls['observacaoPropg']?.value!,\n equipeApoio: this.cpfEquipeApoio.join(';'),\n informacaoAreaTecnicaPropg: this.form.controls['informacaoAreaTecnicaPropg']?.value!,\n identificadorProcessoSIGAD: this.form.controls['identificadorProcessoSIGAD']?.value!,\n modeloCertificado: this.form.controls['modeloCertificado']?.value == \"\" ? null : this.form.controls['modeloCertificado']?.value,\n }\n this.cursoEdicaoService.atualizarDadosComplementares(this.data.id, formulario).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Dados complementares atualizados com sucesso`)\n this.router.navigate(['/unidade/cursos-edicoes'])\n })\n }\n }\n }\n\n gerarDocumentoDadosComplementares() {\n const usuarioLogado = this.getDadosUsuarioLogado()\n let cursoId = this.form.controls['id'].value\n this.cursoEdicaoService.getDocumentosDadosComplementares(cursoId, usuarioLogado!.cpf)\n }\n\n clearDate(name: string): void {\n this.form.get(name)?.setValue(null)\n }\n\n save(name: string) {\n let value = this.form.get(name)?.getRawValue()\n if (name.startsWith('data')) {\n value = this.dataService.dateToStringBr(value)\n // Quanto alterar qualquer data, aplica a validação em todas as datas\n for (const formName in this.form.controls) {\n if (formName.startsWith('data')) {\n this.form.get(formName)?.updateValueAndValidity()\n }\n }\n }\n this.localStorageService.set(name, value)\n }\n\n pesquisarProcessoNoSigad(): void {\n let dialogRef = this.dialog.open(SelecionarProcessoSigadComponent, {panelClass: 'my-dialog-resizer'})\n dialogRef.afterClosed().subscribe(documento => {\n if (documento) {\n this.documentoSIGAD = documento\n this.form.controls['identificadorProcessoSIGAD'].setValue(this.documentoSIGAD?.identificador)\n }\n })\n }\n\n private validarDocumentos() {\n this.documentosForm?.controls.forEach(docUpload => {\n const formGroup = docUpload as FormGroup\n for (const name in formGroup.controls) {\n if (docUpload.get(name)?.invalid) {\n docUpload.get(name)?.markAsTouched()\n }\n }\n })\n }\n\n private arquivoUpload() {\n this.documentoUpload?.forEach((docUpload, index) => {\n const descricao = this.documentosForm.controls[index].get('descricao')?.value.replaceAll('/','-')\n const id = this.documentosForm.controls[index].get('id')?.value\n docUpload.uploadPath = `curso-edicao/${this.data?.id}/upload/documento-complementar/${id}/${descricao}`\n if (this.documentosForm.controls[index].get('documentoFC')?.value.status == ArquivoStatus.SELECIONADO) {\n docUpload?.upload()\n }\n })\n }\n\n private excluirArquivos() {\n if (this.documentosIdRemover.length === 0) {\n return\n }\n this.cursoEdicaoService.excluirDocumentosComplementares(this.documentosIdRemover).subscribe({\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n\n private getDadosUsuarioLogado(): UsuarioLogin | undefined {\n this.userLoginService.user$.subscribe(user => {\n if (user) {\n this.dadosUsuarioLogado = user\n }\n })\n\n return this.dadosUsuarioLogado\n }\n\n protected readonly FormControl = FormControl\n}\n","\n\n\n\n\n \n
\n \n \n
\n
\n Dados do curso\n
\n
\n \n Código do curso\n \n \n \n Número da edição\n \n \n \n Nome do curso\n \n \n
\n
\n \n Unidade proponente\n \n \n \n Área de conhecimento\n \n \n
\n
\n
\n
\n Outras unidades\n\n
\n
\n \n \n Oferecimento interunidades?\n \n \n \n
\n
\n\n
\n
\n
\n
\n close\n
\n \n Unidade participante 1\n \n \n {{ unidadeUniversitaria.campus }} - {{ unidadeUniversitaria.sigla }}\n \n \n \n
\n
\n
\n close\n
\n \n Unidade participante 2\n \n \n {{ unidadeUniversitaria.campus }} - {{ unidadeUniversitaria.sigla }}\n \n \n \n
\n
\n
\n
\n
\n close\n
\n \n Unidade participante 3\n \n \n {{ unidadeUniversitaria.campus }} - {{ unidadeUniversitaria.sigla }}\n \n \n \n
\n
\n
\n close\n
\n \n Unidade participante 4\n \n \n {{ unidadeUniversitaria.campus }} - {{ unidadeUniversitaria.sigla }}\n \n \n \n
\n
\n
\n
\n
\n Dados da edição\n
\n
\n \n Modalidade\n \n \n {{ modalidade.descricao }}\n \n \n \n \n Edição regida p/ Resol. Unesp N.\n \n \n {{ resolucao.numero }}\n \n \n \n
\n\n
\n \n CPF coordenador\n \n \n \n Nome coordenador\n \n \n \n Email coordenador\n \n \n
\n
\n \n \n \n Nome vice-coordenador\n \n \n \n Email vice-coordenador\n \n \n
\n\n
\n \n Depto responsável\n \n \n {{ departamento.nome }}\n \n \n \n \n Especificidade\n \n \n {{ tipoEspecificidade.descricao }}\n \n \n \n \n Localidade\n \n \n \n Público alvo\n \n \n
\n
\n \n Carga horária\n \n \n \n Valor da Inscrição\n \n \n \n \n Curso pago?\n \n \n \n \n
\n\n
\n \n Número meses\n \n \n \n Número mínimo de vagas\n \n \n \n Número máximo de vagas\n \n \n
\n
\n \n Data aprovação departamento\n \n close\n \n \n \n \n \n \n \n \n Data aprovação congregação\n close\n \n \n \n \n \n \n \n
\n
\n
\n
\n Convênio\n
\n
\n \n Número processo\n \n \n \n Entidade conveniada\n \n \n
\n
\n
\n
\n Conselho de classe profissional (se houver)\n
\n
\n \n Possui conselho de classe profissional\n \n \n Sim\n Não\n \n \n \n Link\n \n \n
\n
\n
\n \n
\n Módulo\n
\n \n As disciplinas estão divididas em Módulos?\n \n Sim\n Não\n \n \n \n Como os módulos são classificados\n \n Ênfase\n Área de concentração\n \n \n \n Permite o candidato fazer a escolha na inscrição\n \n Sim\n Não\n \n \n
\n
\n
\n
\n \n
\n
\n Inscrição\n
\n
\n \n Data inicial inscrição\n \n close\n \n \n \n \n \n \n Data final inscrição\n \n close\n \n \n \n \n \n
\n
\n
\n
\n Seleção\n
\n
\n \n Data inicial seleção\n \n close\n \n \n \n \n \n \n Data final seleção\n \n close\n \n \n \n \n \n
\n
\n
\n
\n Matrícula\n
\n
\n \n Data inicial matrícula\n \n close\n \n \n \n \n \n \n Data final matrícula\n \n close\n \n \n \n \n \n
\n
\n
\n
\n Curso\n
\n
\n \n Data inicial Curso\n \n close\n \n \n \n \n \n \n Data final curso\n close\n \n \n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n Descrição\n
\n \n Descrição\n \n \n
\n
\n
\n
\n \n
\n
\n Arquivos\n
\n
\n \n
\n
\n \n
\n @if (novaResolucao) {\n
\n \n Data aprovação congregação (previsão orçamentária)\n close\n \n \n \n \n \n \n \n
\n }\n
\n
\n \n
\n
\n \n
\n
\n Arquivos\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n\n \n \n \n \n\n","import { Component, OnInit, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { CursoEdicaoForm } from 'src/app/models/curso-edicao-form'\nimport { Curso } from 'src/app/models/curso'\nimport { Departamento } from 'src/app/models/departamento'\nimport { TipoEspecificidade } from 'src/app/models/tipo-especificidade'\nimport { UnidadeUniversitaria } from 'src/app/models/unidade-universitaria'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { DataService } from 'src/app/services/data.service'\nimport { DepartamentoService } from 'src/app/services/departamento.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { TipoEspecificidadeService } from 'src/app/services/tipo-especificidade.service'\nimport { UnidadeUniversitariaService } from 'src/app/services/unidade-universitaria.service'\nimport { Resolucao } from 'src/app/models/resolucao'\nimport { ResolucaoService } from 'src/app/services/resolucao.service'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\nimport { dateBetween, dateGte, dateLte } from 'src/app/utils/validators'\nimport { date2DatePicker } from 'src/app/utils/utils'\nimport { Modalidade } from 'src/app/models/modalidade'\nimport { ModalidadeService } from 'src/app/services/modalidade.service'\nimport { CursoEdicaoParecerResolucao902019Service } from 'src/app/services/curso-edicao-parecer-resolucao902019.service'\nimport { CursoEdicaoParecerResolucao902019 } from 'src/app/models/curso-edicao-parecer-resolucao902019'\nimport { CursoEdicaoParecerResolucao412011 } from 'src/app/models/curso-edicao-parecer-resolucao412011'\nimport { CursoEdicaoParecerResolucao412011Service } from 'src/app/services/curso-edicao-parecer-resolucao412011.service'\nimport {\n ArquivoSelecionado,\n ArquivoStatus,\n ArquivoUploadComponent,\n arquivoUploadValidator,\n} from 'src/app/modules/comum/arquivo-upload/arquivo-upload.component'\nimport { CursoEdicaoDadosComplementares } from 'src/app/models/curso-edicao-dados-complementares'\nimport { validaUrl } from '../../../../utils/validators'\nimport { MatSelectChange } from '@angular/material/select'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-curso-edicao-editar',\n templateUrl: './curso-edicao-editar.component.html',\n styleUrls: ['./curso-edicao-editar.component.css'],\n})\nexport class CursoEdicaoEditarComponent implements OnInit {\n bloqueado: boolean = false\n isReadOnly: boolean = true\n exibirParecerTab: boolean = false\n exibirParecer412011: boolean = false\n exibirParecer902019: boolean = false\n exibirCampoRelatorio: boolean = true\n\n userLogin: UsuarioLogin | null = null\n coordenadorCpf: string = ''\n coordenadorNome: string = ''\n coordenadorEmail: string = ''\n\n novaResolucao: boolean = false\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' }, \n { label: 'Proposta', route: '/', icon: 'edit' }, \n ] \n\n form = new FormGroup({\n id: new FormControl(''),\n cursoId: new FormControl('', Validators.required),\n numeroEdicao: new FormControl(''),\n idsUnidadeUniversitaria: new FormControl(''),\n resolucaoId: new FormControl('', Validators.required),\n modalidadeId: new FormControl('', Validators.required),\n interunidades: new FormControl(false),\n dataAprovacaoUnidade: new FormControl(new Date(), Validators.required),\n dataAprovacaoCongregacao: new FormControl(new Date(), Validators.required),\n dataAprovacaoCongregacaoPrevisaoOrcamentaria: new FormControl(),\n cpfViceCoordenador: new FormControl('', Validators.required),\n nomeViceCoordenador: new FormControl(''),\n emailViceCoordenador: new FormControl(''),\n idDepartamentoResponsavel: new FormControl(''),\n departamentoResponsavel: new FormControl('', Validators.required),\n tipoEspecificidadeId: new FormControl('', Validators.required),\n localidade: new FormControl('', Validators.required),\n publicoAlvo: new FormControl('', Validators.required),\n cargaHorariaMonografia: new FormControl('', Validators.required),\n numeroMeses: new FormControl('', Validators.required),\n numeroVagasProposta: new FormControl('', Validators.required),\n numeroMaximoVagas: new FormControl('', Validators.required),\n dataInicialInscricao: new FormControl(new Date(), Validators.required),\n dataFinalInscricao: new FormControl(new Date(), Validators.required),\n dataInicialSelecao: new FormControl(new Date(), Validators.required),\n dataFinalSelecao: new FormControl(new Date(), Validators.required),\n dataInicialMatricula: new FormControl(new Date(), Validators.required),\n dataFinalMatricula: new FormControl(new Date(), Validators.required),\n dataInicialCurso: new FormControl(new Date(), Validators.required),\n dataFinalCurso: new FormControl(new Date(), Validators.required),\n inscricaoValor: new FormControl('', Validators.required),\n cursoPago: new FormControl(false),\n justificativa: new FormControl('', Validators.required),\n numeroProcessoConvenio: new FormControl(''),\n entidadeConveniada: new FormControl(''),\n temConselhoClasse: new FormControl('', Validators.required),\n linkConselhoClasse: new FormControl(''),\n linkInscricaoExterna: new FormControl('', [validaUrl()]),\n\n numeroParecerCcpg: new FormControl(''),\n numeroDespachoSg: new FormControl(''),\n observacaoPropg: new FormControl(''),\n tipoModulo: new FormControl(''),\n modulo: new FormControl(''),\n permiteIndicacaoPreferencia: new FormControl(''),\n })\n numeroMinimoVagas: number = 0\n numeroMeses: number = 0\n idsUnidadeUniversitaria: any[] = [null, null, null, null]\n\n @ViewChild('arquivoDocumento1Upload') arquivoDocumento1Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento2Upload') arquivoDocumento2Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento3Upload') arquivoDocumento3Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento4Upload') arquivoDocumento4Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento5Upload') arquivoDocumento5Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento6Upload') arquivoDocumento6Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento7Upload') arquivoDocumento7Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento8Upload') arquivoDocumento8Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento9Upload') arquivoDocumento9Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento10Upload') arquivoDocumento10Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento11Upload') arquivoDocumento11Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento12Upload') arquivoDocumento12Upload: ArquivoUploadComponent | undefined\n arquivoDocumento1FC: FormControl\n arquivoDocumento2FC: FormControl\n arquivoDocumento3FC: FormControl\n arquivoDocumento4FC: FormControl\n arquivoDocumento5FC: FormControl\n arquivoDocumento6FC: FormControl\n arquivoDocumento7FC: FormControl\n arquivoDocumento8FC: FormControl\n arquivoDocumento9FC: FormControl\n arquivoDocumento10FC: FormControl\n arquivoDocumento11FC: FormControl\n arquivoDocumento12FC: FormControl\n\n curso?: Curso\n cursoId!: number\n id?: number\n numeroEdicao?: number\n cursoEdicaoParecerResolucao412011?: CursoEdicaoParecerResolucao412011 = undefined\n cursoEdicaoParecerResolucao902019?: CursoEdicaoParecerResolucao902019 = undefined\n situacao: string = ''\n parecerPropeg: boolean | null = null\n\n unidadesUniversitaria: UnidadeUniversitaria[] = []\n tiposEspecificidade: TipoEspecificidade[] = []\n departamentos: Departamento[] = []\n resolucoes: Resolucao[] = []\n modalidades: Modalidade[] = []\n\n isPropg: boolean = false\n cursoEdicaoDadosComplementares?: CursoEdicaoDadosComplementares = undefined\n mostrarAbaDocumentos: boolean = true\n\n constructor(\n private unespCoreMessageService: UnespCoreMessageService,\n private unidadeUniversitariaService: UnidadeUniversitariaService,\n private tipoEspecificidadeService: TipoEspecificidadeService,\n private resolucaoService: ResolucaoService,\n private modalidadeService: ModalidadeService,\n private route: ActivatedRoute,\n private router: Router,\n private cursoService: CursoService,\n private cursoEdicaoService: CursoEdicaoService,\n private departamentoService: DepartamentoService,\n private dataService: DataService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService,\n private userLoginService: UserLoginService,\n private cursoEdicaoParecerResolucao412011Service: CursoEdicaoParecerResolucao412011Service,\n private cursoEdicaoParecerResolucao902019Service: CursoEdicaoParecerResolucao902019Service,\n ) {\n this.arquivoDocumento1FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento2FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento3FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento4FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(false)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento5FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(false)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento6FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento7FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento8FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento9FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento10FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(false)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento11FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(false)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento12FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(false)],\n updateOn: 'submit',\n }) as FormControl\n\n // Validação nas datas\n this.form.controls['dataAprovacaoUnidade'].setValidators([\n Validators.required,\n dateLte(this.form, 'dataAprovacaoCongregacao'),\n ])\n this.form.controls['dataAprovacaoCongregacao'].setValidators([\n Validators.required,\n dateGte(this.form, 'dataAprovacaoUnidade'),\n ])\n this.form.controls['dataInicialInscricao'].setValidators([\n Validators.required,\n dateLte(this.form, 'dataFinalInscricao'),\n ])\n this.form.controls['dataFinalInscricao'].setValidators([\n Validators.required,\n dateBetween(this.form, 'dataInicialInscricao', 'dataInicialSelecao'),\n ])\n this.form.controls['dataInicialSelecao'].setValidators([\n Validators.required,\n dateBetween(this.form, 'dataFinalInscricao', 'dataFinalSelecao'),\n ])\n this.form.controls['dataFinalSelecao'].setValidators([\n Validators.required,\n dateBetween(this.form, 'dataInicialSelecao', 'dataInicialMatricula'),\n ])\n this.form.controls['dataInicialMatricula'].setValidators([\n Validators.required,\n dateBetween(this.form, 'dataFinalSelecao', 'dataFinalMatricula'),\n ])\n this.form.controls['dataFinalMatricula'].setValidators([\n Validators.required,\n dateBetween(this.form, 'dataInicialMatricula', 'dataInicialCurso'),\n ])\n this.form.controls['dataInicialCurso'].setValidators([\n Validators.required,\n dateBetween(this.form, 'dataFinalMatricula', 'dataFinalCurso'),\n ])\n this.form.controls['dataFinalCurso'].setValidators([Validators.required, dateGte(this.form, 'dataInicialCurso')])\n }\n\n private stringDoubleFormat(value: number | string): string {\n if (value !== null) {\n return Number.parseFloat(value.toString()).toFixed(2).replace('.', ',')\n }\n return ''\n }\n\n private extractDoubleOfString(str: string): number {\n return Number.parseFloat(str.replace(',', '.').replace('R$', '').trim())\n }\n\n ngOnInit(): void {\n this.checkIsPropg()\n this.userLoginService.user$.subscribe(user => {\n this.userLogin = user\n })\n this.tipoEspecificidadeService.all().subscribe(obj => {\n this.tiposEspecificidade = obj\n })\n this.resolucaoService.all().subscribe(obj => {\n this.resolucoes = obj\n })\n this.modalidadeService.all().subscribe(obj => {\n this.modalidades = obj\n })\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.id = params['id']\n this.breadcrumbs[2] = {\n label: `Proposta`,\n route: `/unidade/curso-edicao/${this.cursoId}/cadastro`,\n icon: 'edit',\n }\n this.form.reset()\n this.form.controls['cursoId'].setValue(this.cursoId.toString())\n this.cursoService.getCurso(this.cursoId).subscribe(obj => {\n this.curso = obj\n this.departamentoService.listarPorUnidadeUniversitaria(obj.unidadeUniversitariaId).subscribe(obj => {\n this.departamentos = obj\n })\n // Não habilita para seleção a unidade diretamente relacionada ao curso\n this.unidadeUniversitariaService.all().subscribe(obj => {\n this.unidadesUniversitaria = obj.filter(u => u.id != this.curso?.unidadeUniversitariaId)\n })\n })\n if (this.id) {\n this.cursoEdicaoService.getCursoEdicao(this.id).subscribe(obj => {\n this.situacao = obj.situacao\n this.parecerPropeg = obj.parecerPropeg\n this.makeCursoEdicaoDadosComplementares(obj)\n this.bloqueado = obj.bloqueado\n this.breadcrumbs[2] = {\n label: `Proposta`,\n route: `/unidade/curso-edicao/${this.cursoId}/cadastro/${this.id}`,\n icon: 'edit',\n }\n this.isReadOnly = obj.isReadOnly\n if (this.isReadOnly) {\n this.form.disable()\n this.arquivoDocumento1FC.disable()\n this.arquivoDocumento2FC.disable()\n this.arquivoDocumento3FC.disable()\n this.arquivoDocumento4FC.disable()\n this.arquivoDocumento5FC.disable()\n this.arquivoDocumento6FC.disable()\n this.arquivoDocumento7FC.disable()\n this.arquivoDocumento8FC.disable()\n this.arquivoDocumento9FC.disable()\n this.arquivoDocumento10FC.disable()\n this.arquivoDocumento11FC.disable()\n this.arquivoDocumento12FC.disable()\n }\n for (let i = 0; i < obj.idsUnidadeUniversitaria.length; i++) {\n this.idsUnidadeUniversitaria[i] = obj.idsUnidadeUniversitaria[i]\n }\n this.coordenadorCpf = obj.cpfCoordenador\n this.coordenadorNome = obj.nomeCoordenador\n this.coordenadorEmail = obj.emailCoordenador\n this.numeroEdicao = obj.numeroEdicao\n this.form.controls['id'].setValue(obj.id.toString())\n this.form.controls['cursoId'].setValue(obj.cursoId.toString())\n this.form.controls['numeroEdicao'].setValue(obj.numeroEdicao.toString())\n this.form.controls['interunidades'].setValue(obj.interunidades)\n if (obj.resolucaoId != null) {\n this.form.controls['resolucaoId'].setValue(obj.resolucaoId.toString())\n if (obj.resolucaoId >= 6) {\n this.novaResolucao = true\n this.form.controls['dataAprovacaoCongregacaoPrevisaoOrcamentaria'].setValidators(Validators.required)\n this.form.controls['dataAprovacaoCongregacaoPrevisaoOrcamentaria'].updateValueAndValidity()\n }\n }\n if (obj.modalidadeId != null) {\n this.form.controls['modalidadeId'].setValue(obj.modalidadeId.toString())\n }\n this.form.controls['dataAprovacaoUnidade'].setValue(date2DatePicker(obj.dataAprovacaoUnidade))\n this.form.controls['dataAprovacaoCongregacao'].setValue(date2DatePicker(obj.dataAprovacaoCongregacao))\n this.form.controls['dataAprovacaoCongregacaoPrevisaoOrcamentaria'].setValue(date2DatePicker(obj.dataAprovacaoCongregacaoPrevisaoOrcamentaria))\n this.form.controls['cpfViceCoordenador'].setValue(obj.cpfViceCoordenador)\n this.form.controls['nomeViceCoordenador'].setValue(obj.nomeViceCoordenador)\n this.form.controls['emailViceCoordenador'].setValue(obj.emailViceCoordenador)\n if (obj.idDepartamentoResponsavel > 0) {\n this.form.controls['idDepartamentoResponsavel'].setValue(\n obj.idDepartamentoResponsavel ? obj.idDepartamentoResponsavel.toString() : ''\n )\n this.form.controls['departamentoResponsavel'].setValue(obj.departamentoResponsavel)\n }\n this.form.controls['tipoEspecificidadeId'].setValue(obj.tipoEspecificidadeId.toString())\n this.form.controls['localidade'].setValue(obj.localidade)\n this.form.controls['publicoAlvo'].setValue(obj.publicoAlvo)\n this.form.controls['cargaHorariaMonografia'].setValue(\n obj.cargaHorariaMonografia ? obj.cargaHorariaMonografia.toString() : ''\n )\n this.form.controls['numeroMeses'].setValue(obj.numeroMeses ? obj.numeroMeses.toString() : '')\n this.form.controls['numeroVagasProposta'].setValue(\n obj.numeroVagasProposta ? obj.numeroVagasProposta.toString() : ''\n )\n this.form.controls['numeroMaximoVagas'].setValue(\n obj.numeroMaximoVagas ? obj.numeroMaximoVagas.toString() : ''\n )\n this.form.controls['dataInicialInscricao'].setValue(date2DatePicker(obj.dataInicialInscricao))\n this.form.controls['dataFinalInscricao'].setValue(date2DatePicker(obj.dataFinalInscricao))\n this.form.controls['dataInicialSelecao'].setValue(date2DatePicker(obj.dataInicialSelecao))\n this.form.controls['dataFinalSelecao'].setValue(date2DatePicker(obj.dataFinalSelecao))\n this.form.controls['dataInicialMatricula'].setValue(date2DatePicker(obj.dataInicialMatricula))\n this.form.controls['dataFinalMatricula'].setValue(date2DatePicker(obj.dataFinalMatricula))\n this.form.controls['dataInicialCurso'].setValue(date2DatePicker(obj.dataInicialCurso))\n this.form.controls['dataFinalCurso'].setValue(date2DatePicker(obj.dataFinalCurso))\n this.form.controls['justificativa'].setValue(obj.justificativa)\n this.form.controls['inscricaoValor'].setValue(this.stringDoubleFormat(obj.inscricaoValor))\n this.form.controls['cursoPago'].setValue(obj.cursoPago)\n this.form.controls['numeroProcessoConvenio'].setValue(obj.numeroProcessoConvenio)\n this.form.controls['entidadeConveniada'].setValue(obj.entidadeConveniada)\n this.form.controls['temConselhoClasse'].setValue(obj.temConselhoClasse)\n this.form.controls['linkConselhoClasse'].setValue(obj.linkConselhoClasse)\n this.form.controls['linkInscricaoExterna'].setValue(obj.linkInscricaoExterna)\n\n this.form.controls['numeroParecerCcpg'].setValue(obj.numeroParecerCcpg)\n this.form.controls['numeroDespachoSg'].setValue(obj.numeroDespachoSg)\n this.form.controls['observacaoPropg'].setValue(obj.observacaoPropg)\n\n this.form.controls['tipoModulo'].setValue(obj.tipoModulo)\n this.form.controls['modulo'].setValue(obj.modulo.toString())\n this.form.controls['permiteIndicacaoPreferencia'].setValue(obj.permiteIndicacaoPreferencia.toString())\n\n this.arquivoDocumento1FC.value.setNameAndSize(obj.arquivoDocumento1, 0)\n this.arquivoDocumento1FC.setValue(this.arquivoDocumento1FC.value)\n this.arquivoDocumento2FC.value.setNameAndSize(obj.arquivoDocumento2, 0)\n this.arquivoDocumento2FC.setValue(this.arquivoDocumento2FC.value)\n this.arquivoDocumento3FC.value.setNameAndSize(obj.arquivoDocumento3, 0)\n this.arquivoDocumento3FC.setValue(this.arquivoDocumento3FC.value)\n this.arquivoDocumento4FC.value.setNameAndSize(obj.arquivoDocumento4, 0)\n this.arquivoDocumento4FC.setValue(this.arquivoDocumento4FC.value)\n this.arquivoDocumento5FC.value.setNameAndSize(obj.arquivoDocumento5, 0)\n this.arquivoDocumento5FC.setValue(this.arquivoDocumento5FC.value)\n this.arquivoDocumento6FC.value.setNameAndSize(obj.arquivoDocumento6, 0)\n this.arquivoDocumento6FC.setValue(this.arquivoDocumento6FC.value)\n this.arquivoDocumento7FC.value.setNameAndSize(obj.arquivoDocumento7, 0)\n this.arquivoDocumento7FC.setValue(this.arquivoDocumento7FC.value)\n this.arquivoDocumento8FC.value.setNameAndSize(obj.arquivoDocumento8, 0)\n this.arquivoDocumento8FC.setValue(this.arquivoDocumento8FC.value)\n this.arquivoDocumento9FC.value.setNameAndSize(obj.arquivoDocumento9, 0)\n this.arquivoDocumento9FC.setValue(this.arquivoDocumento9FC.value)\n this.arquivoDocumento10FC.value.setNameAndSize(obj.arquivoDocumento10, 0)\n this.arquivoDocumento10FC.setValue(this.arquivoDocumento10FC.value)\n this.arquivoDocumento11FC.value.setNameAndSize(obj.arquivoDocumento11, 0)\n this.arquivoDocumento11FC.setValue(this.arquivoDocumento11FC.value)\n this.arquivoDocumento12FC.value.setNameAndSize(obj.arquivoDocumento12, 0)\n this.arquivoDocumento12FC.setValue(this.arquivoDocumento12FC.value)\n this.verificaExibirParecerTab()\n this.toggleCursoPago()\n //this.checkCampoRelatorio()\n })\n } else {\n this.isReadOnly = false\n this.form.controls['cursoPago'].setValue(false)\n this.novaResolucao = true\n this.form.controls['dataAprovacaoCongregacaoPrevisaoOrcamentaria'].setValidators(Validators.required)\n this.form.controls['dataAprovacaoCongregacaoPrevisaoOrcamentaria'].updateValueAndValidity()\n // Seta os dados do docente logado apenas se for na crição do curso/edição\n if (this.isDocente() && this.userLogin) {\n this.coordenadorCpf = this.userLogin.cpf\n this.coordenadorNome = this.userLogin.nomeUsuario\n this.coordenadorEmail = this.userLogin.email\n }\n this.carregaDadosDaUltimaEdicao()\n }\n })\n }\n\n private makeCursoEdicaoDadosComplementares(obj: CursoEdicaoForm): void {\n this.cursoEdicaoDadosComplementares = {\n id: obj.id,\n numeroParecerCcpg: obj.numeroParecerCcpg,\n numeroDespachoSg: obj.numeroDespachoSg,\n dataCCPG: obj.dataCCPG,\n observacaoPropg: obj.observacaoPropg,\n equipeApoio: obj.equipeApoio,\n informacaoAreaTecnicaPropg: obj.informacaoAreaTecnicaPropg,\n identificadorProcessoSIGAD: obj.identificadorProcessoSIGAD,\n modeloCertificado: obj.modeloCertificado,\n }\n }\n\n carregaDadosDaUltimaEdicao() {\n this.mostrarAbaDocumentos = false\n this.cursoEdicaoService.getUltimaEdicao(this.cursoId).subscribe(ultimaEdicao => {\n if (ultimaEdicao == null) {\n this.numeroEdicao = 1\n } else {\n this.numeroEdicao = ultimaEdicao.numeroEdicao + 1\n for (let i = 0; i < ultimaEdicao.idsUnidadeUniversitaria.length; i++) {\n this.idsUnidadeUniversitaria[i] = ultimaEdicao.idsUnidadeUniversitaria[i]\n }\n // Obrigar o usuário a selecionar a nova resolução\n // if (ultimaEdicao.resolucaoId != null) {\n // this.form.controls['resolucaoId'].setValue(ultimaEdicao.resolucaoId.toString())\n // }\n this.form.controls['resolucaoId'].setValue('')\n if (ultimaEdicao.modalidadeId != null) {\n this.form.controls['modalidadeId'].setValue(ultimaEdicao.modalidadeId.toString())\n }\n this.form.controls['cpfViceCoordenador'].setValue(ultimaEdicao.cpfViceCoordenador)\n this.form.controls['nomeViceCoordenador'].setValue(ultimaEdicao.nomeViceCoordenador)\n this.form.controls['emailViceCoordenador'].setValue(ultimaEdicao.emailViceCoordenador)\n\n if (ultimaEdicao.idDepartamentoResponsavel > 0) {\n this.form.controls['idDepartamentoResponsavel'].setValue(\n ultimaEdicao.idDepartamentoResponsavel ? ultimaEdicao.idDepartamentoResponsavel.toString() : ''\n )\n this.form.controls['departamentoResponsavel'].setValue(ultimaEdicao.departamentoResponsavel)\n }\n this.form.controls['tipoEspecificidadeId'].setValue(ultimaEdicao.tipoEspecificidadeId.toString())\n this.form.controls['localidade'].setValue(ultimaEdicao.localidade)\n this.form.controls['publicoAlvo'].setValue(ultimaEdicao.publicoAlvo)\n\n this.form.controls['cargaHorariaMonografia'].setValue(\n ultimaEdicao.cargaHorariaMonografia ? ultimaEdicao.cargaHorariaMonografia.toString() : ''\n )\n this.form.controls['numeroMeses'].setValue(ultimaEdicao.numeroMeses.toString())\n this.form.controls['numeroVagasProposta'].setValue(ultimaEdicao.numeroVagasProposta.toString())\n this.form.controls['numeroMaximoVagas'].setValue(ultimaEdicao.numeroMaximoVagas.toString())\n\n this.form.controls['numeroProcessoConvenio'].setValue(ultimaEdicao.numeroProcessoConvenio)\n this.form.controls['entidadeConveniada'].setValue(ultimaEdicao.entidadeConveniada)\n this.form.controls['temConselhoClasse'].setValue(ultimaEdicao.temConselhoClasse)\n this.form.controls['linkConselhoClasse'].setValue(ultimaEdicao.linkConselhoClasse)\n this.form.controls['linkInscricaoExterna'].setValue(ultimaEdicao.linkInscricaoExterna)\n this.form.controls['permiteIndicacaoPreferencia'].setValue(ultimaEdicao.permiteIndicacaoPreferencia.toString())\n this.form.controls['tipoModulo'].setValue(ultimaEdicao.tipoModulo)\n this.form.controls['modulo'].setValue(ultimaEdicao.modulo.toString())\n }\n\n // this.formDataFromLocalStorage()\n })\n }\n\n applyTouchedToInvalidFields(): void {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n voltar() {\n if (this.id) {\n this.router.navigate(['/unidade/cursos-edicoes'])\n } else {\n this.router.navigate(['/unidade/cursos'])\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n formulario.inscricaoValor = this.extractDoubleOfString(formulario.inscricaoValor.toString())\n formulario.idDepartamentoResponsavel = this.getIdDepartamentoResponsavel(formulario.departamentoResponsavel)\n formulario.idsUnidadeUniversitaria = this.idsUnidadeUniversitaria\n\n // Não permite inidicar interunidades sem unidade participante\n if (formulario.interunidades && !formulario.idsUnidadeUniversitaria.filter(id => id != null).length) {\n this.unespCoreMessageService.showMessageWarning(`Para Oferecimento interunidades é necessário selecionar ao menos uma Unidade participante`)\n return\n }\n\n if (this.id) {\n this.cursoEdicaoService.atualizar(this.id, formulario).subscribe(cursoEdicaoForm => {\n this.clearLocalStorage()\n this.arquivoUpload()\n this.unespCoreMessageService.showMessageSuccess(`Edição #${cursoEdicaoForm.id} atualizado com sucesso`)\n this.router.navigate(['/unidade/cursos-edicoes'])\n })\n } else {\n this.cursoEdicaoService.gravar(formulario).subscribe(cursoEdicaoForm => {\n this.id = cursoEdicaoForm.id\n this.clearLocalStorage()\n this.arquivoUpload()\n this.unespCoreMessageService.showMessageSuccess(`Edição #${cursoEdicaoForm.id} cadastrado com sucesso`)\n this.router.navigate(['/unidade/cursos-edicoes'])\n })\n }\n }\n\n toggleCursoPago() {\n if (this.form.controls['cursoPago'].value) {\n this.arquivoDocumento4FC.setValidators(arquivoUploadValidator(true))\n this.arquivoDocumento4FC.updateValueAndValidity()\n } else {\n this.arquivoDocumento4FC.clearValidators()\n this.arquivoDocumento4FC.updateValueAndValidity()\n }\n }\n\n toggleInterunidades() {\n if (!this.form.controls['interunidades'].value) {\n this.idsUnidadeUniversitaria = [null, null, null, null]\n }\n }\n\n private arquivoUpload() {\n if (this.id) {\n this.arquivoDocumento1Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento1`\n if (this.arquivoDocumento1FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento1Upload?.upload()\n }\n this.arquivoDocumento2Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento2`\n if (this.arquivoDocumento2FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento2Upload?.upload()\n }\n this.arquivoDocumento3Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento3`\n if (this.arquivoDocumento3FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento3Upload?.upload()\n }\n this.arquivoDocumento4Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento4`\n if (this.arquivoDocumento4FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento4Upload?.upload()\n }\n this.arquivoDocumento5Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento5`\n if (this.arquivoDocumento5FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento5Upload?.upload()\n }\n this.arquivoDocumento6Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento6`\n if (this.arquivoDocumento6FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento6Upload?.upload()\n }\n this.arquivoDocumento7Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento7`\n if (this.arquivoDocumento7FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento7Upload?.upload()\n }\n this.arquivoDocumento8Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento8`\n if (this.arquivoDocumento8FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento8Upload?.upload()\n }\n this.arquivoDocumento9Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento9`\n if (this.arquivoDocumento9FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento9Upload?.upload()\n }\n this.arquivoDocumento10Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento10`\n if (this.arquivoDocumento10FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento10Upload?.upload()\n }\n this.arquivoDocumento11Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento11`\n if (this.arquivoDocumento11FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento11Upload?.upload()\n }\n if (this.novaResolucao) {\n this.arquivoDocumento12Upload!.uploadPath = `curso-edicao/${this.id}/upload/arquivoDocumento12`\n if (this.arquivoDocumento12FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento12Upload?.upload()\n }\n }\n }\n }\n\n clearDate(name: string): void {\n this.form.get(name)?.setValue(null)\n }\n\n clearUnidade(index: number): void {\n this.idsUnidadeUniversitaria[index] = null\n }\n\n save(name: string) {\n let value = this.form.get(name)?.getRawValue()\n if (name.startsWith('data')) {\n value = this.dataService.dateToStringBr(value)\n // Quanto alterar qualquer data, aplica a validação em todas as datas\n for (const formName in this.form.controls) {\n if (formName.startsWith('data')) {\n this.form.get(formName)?.updateValueAndValidity()\n }\n }\n }\n this.localStorageService.set(name, value)\n }\n\n formatDoubleAndSave(name: string) {\n let value = this.form.get(name)?.value\n if (value) {\n let valueWithComma = Number.parseFloat(value.replace(',', '.'))\n value = valueWithComma.toFixed(2).replace('.', ',')\n this.form.get(name)?.setValue(value)\n }\n this.localStorageService.set(name, value)\n }\n\n formatCurrencyAndSave(name: string) {\n let value = this.form.get(name)?.value\n if (value) {\n let valueWithComma = Number.parseFloat(value.replace('R$ ', '').replace(',', '.'))\n value = valueWithComma.toFixed(2).replace('.', ',')\n this.form.get(name)?.setValue(value)\n }\n this.localStorageService.set(name, value)\n }\n\n private formDataFromLocalStorage(): void {\n for (const name in this.form.controls) {\n let value = this.localStorageService.get(name)\n if (value) {\n if (name.startsWith('data')) {\n let data = this.dataService.stringBrToStringUs(value)\n this.form.get(name)?.setValue(date2DatePicker(data))\n } else {\n this.form.get(name)?.setValue(value)\n }\n }\n }\n }\n\n private clearLocalStorage(): void {\n for (const name in this.form.controls) {\n this.localStorageService.remove(name)\n }\n }\n\n private getIdDepartamentoResponsavel(departamento: string): number {\n let id = -1\n this.departamentos.forEach(d => {\n if (d.nome === departamento) {\n id = d.id\n }\n })\n return id\n }\n\n private isDocente(): boolean {\n return this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n }\n\n private checkIsPropg(): void {\n this.isPropg = this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n }\n\n private verificaExibirParecerTab(): void {\n if (this.numeroEdicao !== undefined) {\n let isCEPG: boolean = this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG'])\n let isPROPG: boolean = this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n\n if (this.form.controls['resolucaoId'].getRawValue() === '2') {\n this.cursoEdicaoParecerResolucao412011Service\n .getParecerResolucao(this.cursoId, this.numeroEdicao)\n .subscribe(obj => {\n this.cursoEdicaoParecerResolucao412011 = obj\n if (obj.id || isCEPG || isPROPG) {\n this.exibirParecer412011 = true\n this.exibirParecerTab = true\n }\n })\n }\n if (this.form.controls['resolucaoId'].getRawValue() === '5' ||\n this.form.controls['resolucaoId'].getRawValue() === '6') {\n this.cursoEdicaoParecerResolucao902019Service\n .getParecerResolucao(this.cursoId, this.numeroEdicao)\n .subscribe(obj => {\n this.cursoEdicaoParecerResolucao902019 = obj\n if (obj.id || isCEPG || isPROPG) {\n this.exibirParecer902019 = true\n this.exibirParecerTab = true\n }\n })\n }\n }\n }\n\n downloadModeloPrevisaoOrcamentaria(): void {\n const filename = 'modelo-previsao-orcamentaria.xlsx'\n let downloadLink = document.createElement('a')\n downloadLink.setAttribute('download', filename)\n downloadLink.href = `assets/docs/${filename}`\n document.body.appendChild(downloadLink)\n downloadLink.click()\n downloadLink.remove()\n }\n\n private checkCampoRelatorio() {\n if (this.arquivoDocumento5FC.value.status === ArquivoStatus.VAZIO) {\n this.exibirCampoRelatorio = false\n } else {\n this.exibirCampoRelatorio = true\n this.arquivoDocumento5FC.disable()\n this.arquivoDocumento5FC.updateValueAndValidity()\n }\n }\n\n reload(value: boolean) {\n if (value) {\n this.router.navigate(['/unidade/cursos-edicoes'])\n }\n }\n\n moduloHabilitaCampo(selection: MatSelectChange, target: string): void {\n if (selection.value === '1') {\n this.form.get(target)?.setValidators([Validators.required])\n } else {\n this.form.get(target)?.clearValidators()\n }\n this.form.get(target)?.updateValueAndValidity()\n }\n}\n\n","\n\n\n
\n
\n
\n \n add Adicionar\n \n \n
\n
\n\n search\n Pesquisar\n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Disciplina{{ row.nomeDisciplina }}Sigla{{ row.sigla }}Módulo{{ row.tipoModulo }}Ano{{ row.anoDisciplina ?? '-' }}Semestre\n @if (row.semestreDisciplina == 0) {\n 1 e 2\n } @else {\n {{ row.semestreDisciplina ?? '-' }}\n }\n Carga horária{{ row.cargaHoraria }}\n
\n \n \n clear\n \n
\n
Não há dados a serem exibidos
\n\n\n\n \n \n \n\n
","import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreApiErrorHandlerService, UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { EdicaoDisciplinaListar } from '../../../../models/edicao-disciplina-listar'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { ExportarCSVService } from '../../../../services/exportarCSV.service'\n\n@Component({\n selector: 'app-edicao-disciplina-listar',\n templateUrl: './edicao-disciplina-listar.component.html',\n styleUrls: ['./edicao-disciplina-listar.component.css'],\n})\nexport class EdicaoDisciplinaListarComponent implements OnInit, AfterViewInit {\n bloqueado: boolean = false\n\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid?: string[]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'edicao-disciplina-listar-inscricoes.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n cursoEdicaoPossuiEnfase?: boolean\n isReadOnly: boolean = true\n modulo?: boolean\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' }, \n { label: 'Disciplinas', route: '', icon: 'folder' },\n ] \n constructor(\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private cursoEdicaoService: CursoEdicaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService,\n private exportarCSVService: ExportarCSVService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n })\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoNome = obj.nomeCurso\n this.bloqueado = obj.bloqueado\n this.isReadOnly = obj.isReadOnly\n this.modulo = obj.modulo\n })\n }\n\n ngOnInit(): void {\n this.edicaoDisciplinaService.possuiEnfase(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoPossuiEnfase = obj\n if (obj) {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'tipoModulo', 'anoDisciplina', 'semestreDisciplina', 'cargaHoraria', 'action']\n } else {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'anoDisciplina', 'semestreDisciplina', 'cargaHoraria', 'action']\n }\n })\n\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.breadcrumbs[2] = {\n label: `Disciplinas`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/disciplinas`,\n icon: 'folder',\n }\n })\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.edicaoDisciplinaService\n .listar(this.cursoId, this.edicao, this.pageParams(), this.localStorageService.get(this.cacheSearch) ?? '')\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.reloadTable()\n }\n\n editar(id: number, cursoId: number, edicao: number) {\n this.router.navigate([`unidade/curso-edicao/${cursoId}/${edicao}/disciplinas/cadastro/${id}`])\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.edicaoDisciplinaService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n exportar() {\n let params: Partial = {\n pageIndex: 0,\n pageSize: this.totalElements,\n }\n this.edicaoDisciplinaService\n .listar(this.cursoId, this.edicao, params, this.localStorageService.get(this.cacheSearch) ?? '')\n .subscribe(data => {\n let recursos: EdicaoDisciplinaListar[] = data['content']\n let content: string\n if (this.cursoEdicaoPossuiEnfase) {\n content = `\"Disciplina\",\"Sigla\",\"Módulo\",\"Ano\",\"Semestre\",\"Carga horária\"\\r\\n`\n recursos.forEach(row => {\n content += `\"${row.nomeDisciplina || ''}\",\"${row.sigla || ''}\",\"${row.tipoModulo || ''}\",\"${\n row.anoDisciplina || ''\n }\",\"${row.semestreDisciplina || ''}\",\"${row.cargaHoraria || ''}\"\\r\\n`\n })\n } else {\n content = `\"Disciplina\",\"Sigla\",\"Ano\",\"Semestre\",\"Carga horária\"\\r\\n`\n recursos.forEach(row => {\n content += `\"${row.nomeDisciplina || ''}\",\"${row.sigla || ''}\",\"${row.anoDisciplina || ''}\",\"${\n row.semestreDisciplina || ''}\",\"${row.cargaHoraria || ''}\"\\r\\n`\n })\n }\n this.exportarCSVService.exportar(content, `Disciplinas - ${this.cursoNome} - Edição ${this.edicao}`)\n })\n }\n}\n","

Módulo

\n\n \n
\n Cadastro\n
\n
\n
\n \n Descrição\n \n \n \n Módulo Comum? \n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n \n
\n Módulos Cadastrados\n
\n \n search\n Pesquisar\n \n \n \n
\n
\n
\n
\n\n \n
\n \n
\n
\n
\n","import { AfterViewInit, Component, ElementRef, Inject, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { UnespCoreApiErrorHandlerService, UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport {\n UnespConfirmDialogComponent,\n UnespConfirmDialogModel,\n UnespTableComponent,\n UnespTableConfig,\n} from '@unesp/shared'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { EnfaseModuloForm } from 'src/app/models/enfase-modulo-form'\nimport { EnfaseModuloService } from 'src/app/services/enfase-modulo.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { MatDialog } from '@angular/material/dialog'\n\nexport interface EnfaseModuloListarEditarData {\n cursoId: number\n edicao: number\n}\n\n@Component({\n selector: 'app-enfase-modulo-listar-editar',\n templateUrl: './enfase-modulo-listar-editar.component.html',\n styleUrls: ['./enfase-modulo-listar-editar.component.css'],\n})\nexport class EnfaseModuloListarEditarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'enfase-modulo-listar-editar.search'\n\n form = new FormGroup({\n descricao: new FormControl('', Validators.required),\n isModuloComum: new FormControl(false, Validators.required),\n })\n id?: number\n isReadOnly: boolean = true\n\n constructor(\n private enfaseModuloService: EnfaseModuloService,\n private unespCoreMessageService: UnespCoreMessageService,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: EnfaseModuloListarEditarData\n ) {\n this.checkIsReadOnly()\n this.tableConfig = {\n columns: {\n descricao: { title: 'Descrição', sort: true },\n isModuloComum: { title: 'Módulo Comum', sort: true, type: 'boolean' },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n { title: 'Editar', callback: i => this.editar(i), condition: i => !this.isReadOnly, icon: 'edit' },\n {\n title: 'Excluir',\n callback: i => this.excluir(i.id),\n condition: i => !this.isReadOnly,\n icon: 'clear',\n color: 'warn',\n },\n ],\n loadData: p =>\n this.enfaseModuloService.listar(\n this.data.cursoId,\n this.data.edicao,\n p,\n this.localStorageService.get(this.cacheSearch) ?? ''\n ),\n }\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n this.form.reset()\n this.form.controls['isModuloComum'].setValue(false)\n this.id = undefined\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.enfaseModuloService.listar(\n this.data.cursoId,\n this.data.edicao,\n undefined,\n this.pesquisa?.nativeElement.value\n ),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n editar(data: EnfaseModuloForm) {\n this.form.controls['descricao'].setValue(data.descricao)\n this.form.controls['isModuloComum'].setValue(data.isModuloComum || false)\n this.id = data.id\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.enfaseModuloService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n checkIsReadOnly(): void {\n this.isReadOnly = !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE']) &&\n !this.unespCoreAuthService.hasPermissionBasedRoles(['EQUIPE-APOIO'])\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n fechar() {\n this.dialogRef.close()\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n formulario.cursoId = this.data.cursoId\n formulario.edicao = this.data.edicao\n\n if (this.id) {\n this.enfaseModuloService.atualizar(this.id, formulario).subscribe(enfaseModuloForm => {\n this.unespCoreMessageService.showMessageSuccess(`Módulo #${enfaseModuloForm.id} atualizado com sucesso`)\n this.reloadTable()\n })\n } else {\n this.enfaseModuloService.gravar(formulario).subscribe(enfaseModuloForm => {\n this.unespCoreMessageService.showMessageSuccess(`Módulo #${enfaseModuloForm.id} cadastrado com sucesso`)\n this.reloadTable()\n })\n }\n }\n}\n","\n\n\n\n \n
\n Cadastro de Disciplina\n
\n
\n \n Sigla\n \n \n \n Nome\n \n \n
\n
\n
\n @if (modulo){\n
\n
\n \n Módulo\n \n \n \n {{ enfaseModulo.descricao }}\n \n \n \n \n add_to_photos\n \n
\n
\n }\n \n Carga horária teórica\n \n \n \n Carga horária prática\n \n \n \n Carga horária total\n \n \n
\n
\n \n Ementa\n \n \n \n Sistema de avaliação\n \n \n \n Referências bibliográficas\n \n \n
\n \n Ano\n \n \n {{ year }}\n \n \n \n \n Semestre\n \n \n 1º Semestre\n 2º Semestre\n 1º e 2º Semestre\n \n \n
\n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { EdicaoDisciplina } from 'src/app/models/edicao-disciplina'\nimport { EnfaseModulo } from 'src/app/models/enfase-modulo'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { EnfaseModuloService } from 'src/app/services/enfase-modulo.service'\nimport { EnfaseModuloListarEditarComponent } from '../../enfase-modulo/enfase-modulo-listar-editar/enfase-modulo-listar-editar.component'\nimport { MatDialog } from '@angular/material/dialog'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-edicao-disciplina-editar',\n templateUrl: './edicao-disciplina-editar.component.html',\n styleUrls: ['./edicao-disciplina-editar.component.scss'],\n})\nexport class EdicaoDisciplinaEditarComponent implements OnInit {\n bloqueado: boolean = false\n isReadOnly: boolean = true\n years: string[] = []\n enfaseModuloList?: EnfaseModulo[]\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' }, \n { label: 'Disciplinas', route: '', icon: 'folder' },\n ] \n\n form = new FormGroup({\n codigoCurso: new FormControl(-1, Validators.required),\n numeroEdicao: new FormControl(-1, Validators.required),\n sigla: new FormControl('', Validators.required),\n nomeDisciplina: new FormControl('', Validators.required),\n enfaseModuloId: new FormControl(-1),\n cargaHorariaTeorica: new FormControl(-1, Validators.required),\n cargaHorariaPratica: new FormControl(-1, Validators.required),\n cargaHorariaTotal: new FormControl(-1, Validators.required),\n ementa: new FormControl('', Validators.required),\n sistemaAvaliacao: new FormControl('', Validators.required),\n bibliografia: new FormControl('', Validators.required),\n anoDisciplina: new FormControl('', Validators.required),\n semestreDisciplina: new FormControl('', Validators.required),\n })\n id?: number\n cursoId!: number\n edicao!: number\n cursoNome!: string\n modulo: boolean = false\n tipoModulo!: string\n constructor(\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private unespCoreMessageService: UnespCoreMessageService,\n private cursoEdicaoService: CursoEdicaoService,\n private enfaseModuloService: EnfaseModuloService,\n private route: ActivatedRoute,\n private router: Router,\n private dialog: MatDialog\n ) {\n for (let year = new Date().getFullYear() + 5; year >= 2000; year--) {\n this.years.push(year.toString())\n }\n }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.id = params['id']\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Disciplinas`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/disciplinas`,\n icon: 'folder',\n }\n if(this.id){\n this.breadcrumbs[3] = {\n label: `Disciplina`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/disciplinas/cadastro/${this.id}`,\n icon: 'edit',\n }\n }else{\n this.breadcrumbs[3] = {\n label: `Disciplina`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/disciplinas/cadastro`,\n icon: 'edit',\n }\n }\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoNome = obj.nomeCurso\n this.bloqueado = obj.bloqueado\n this.isReadOnly = obj.isReadOnly\n this.modulo = obj.modulo\n this.tipoModulo = obj.tipoModulo\n this.requireModulo()\n if (this.isReadOnly) {\n this.form.disable()\n }\n })\n this.enfaseModuloService.all(this.cursoId ?? -1, this.edicao ?? -1).subscribe(obj => {\n this.enfaseModuloList = obj\n })\n this.form.reset()\n if (this.id) {\n this.edicaoDisciplinaService.getEdicaoDisciplina(this.id).subscribe(obj => {\n this.form.controls['codigoCurso'].setValue(obj.codigoCurso)\n this.form.controls['numeroEdicao'].setValue(obj.numeroEdicao)\n this.form.controls['sigla'].setValue(obj.sigla)\n this.form.controls['nomeDisciplina'].setValue(obj.nomeDisciplina)\n this.form.controls['enfaseModuloId'].setValue(obj.enfaseModuloId)\n this.form.controls['cargaHorariaTeorica'].setValue(obj.cargaHorariaTeorica)\n this.form.controls['cargaHorariaPratica'].setValue(obj.cargaHorariaPratica)\n this.form.controls['cargaHorariaTotal'].setValue(obj.cargaHorariaTeorica + obj.cargaHorariaPratica)\n this.form.controls['ementa'].setValue(obj.ementa)\n this.form.controls['sistemaAvaliacao'].setValue(obj.sistemaAvaliacao)\n this.form.controls['bibliografia'].setValue(obj.bibliografia)\n this.form.controls['anoDisciplina'].setValue(obj.anoDisciplina ? obj.anoDisciplina.toString() : '')\n this.form.controls['semestreDisciplina'].setValue(\n obj.semestreDisciplina != null ? obj.semestreDisciplina.toString() : ''\n )\n })\n } else {\n this.form.controls['codigoCurso'].setValue(Number(this.cursoId))\n this.form.controls['numeroEdicao'].setValue(Number(this.edicao))\n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n requireModulo() {\n if (this.modulo) {\n this.form.controls['enfaseModuloId'].setValidators([Validators.required])\n } else {\n this.form.controls['enfaseModuloId'].clearValidators()\n this.form.get('enfaseModuloId')?.disable()\n }\n this.form.controls['enfaseModuloId'].updateValueAndValidity()\n }\n\n async gravar() {\n if (this.form.controls['enfaseModuloId'].value == -1 && this.modulo) {\n this.unespCoreMessageService.showMessageError(`Por favor indique o Módulo que a disciplina pertence`)\n return\n }\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n\n if (this.id) {\n this.edicaoDisciplinaService.atualizar(this.id, formulario).subscribe(disciplina => {\n this.unespCoreMessageService.showMessageSuccess(`Disciplina #${disciplina.id} atualizada com sucesso`)\n this.router.navigate([`unidade/curso-edicao/${this.cursoId}/${this.edicao}/disciplinas`])\n })\n } else {\n this.edicaoDisciplinaService.gravar(formulario).subscribe(disciplina => {\n this.unespCoreMessageService.showMessageSuccess(`Disciplina #${disciplina.id} cadastrada com sucesso`)\n this.router.navigate([`unidade/curso-edicao/${this.cursoId}/${this.edicao}/disciplinas`])\n })\n }\n }\n\n somaCargasHorarias() {\n this.form.controls['cargaHorariaTotal'].setValue(\n this.form.controls['cargaHorariaTeorica'].value! + this.form.controls['cargaHorariaPratica'].value!\n )\n }\n\n cadastroEnfaseModulo(): void {\n let dialogRef = this.dialog.open(EnfaseModuloListarEditarComponent, {\n data: { cursoId: this.cursoId, edicao: this.edicao },\n panelClass: 'my-dialog-resizer',\n })\n dialogRef.afterClosed().subscribe(resp => {\n this.enfaseModuloService.all(this.cursoId ?? -1, this.edicao ?? -1).subscribe(obj => {\n this.enfaseModuloList = obj\n })\n })\n }\n}\n","export const DocenteTitulacao = [\n 'Professor Doutor',\n 'Professora Doutora',\n 'Professor Associado',\n 'Professora Associada',\n 'Professor Titular',\n 'Professora Titular',\n 'Professor Emérito',\n 'Professora Emérita',\n 'Mestre',\n 'Especialista'\n]","\n\n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n Nome\n \n \n \n Email\n \n \n \n Titulação\n \n \n \n {{ type.value }}\n \n \n \n
\n \n add\n save\n \n
\n
\n
\n\n search\n Pesquisar\n \n\n\n\n \n \n \n\n
","import { EdicaoDocenteRelatoriosService } from './../../../services/edicao-docente-relatorios.service'\nimport { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreApiErrorHandlerService, UnespCoreMessageService } from '@unesp/core'\nimport {\n UnespBreadcrumbItem,\n UnespConfirmDialogComponent,\n UnespConfirmDialogModel,\n UnespTableComponent,\n UnespTableConfig,\n} from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { DocenteTitulacao } from 'src/app/enums/docente-titulacao'\nimport { EdicaoDocente } from 'src/app/models/edicao-docente'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { EdicaoDocenteService } from 'src/app/services/edicao-docente.service'\nimport { ExportarCSVService } from 'src/app/services/exportarCSV.service'\nimport { LattesService } from 'src/app/services/lattes.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\n\n@Component({\n selector: 'app-edicao-docente-cadastro',\n templateUrl: './edicao-docente-cadastro.component.html',\n styleUrls: ['./edicao-docente-cadastro.component.css'],\n})\nexport class EdicaoDocenteCadastroComponent implements AfterViewInit {\n bloqueado: boolean = false\n\n @ViewChild(UnespTableComponent) tabela?: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'edicao-disciplina-listar.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n isReadOnly: boolean = true\n docenteTitulacao = DocenteTitulacao\n id?: number\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Docentes', route: '', icon: 'list' },\n ] \n form = new FormGroup({\n codigoCurso: new FormControl(-1, Validators.required),\n numeroEdicao: new FormControl(-1, Validators.required),\n cpfDocente: new FormControl('', Validators.required),\n nome: new FormControl(''),\n email: new FormControl(''),\n titulacao: new FormControl('', Validators.required)\n })\n\n constructor(\n private edicaoDocenteService: EdicaoDocenteService,\n private cursoEdicaoService: CursoEdicaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService,\n private lattesService: LattesService,\n private exportarCSVService: ExportarCSVService,\n private edicaoDocenteRelatoriosService: EdicaoDocenteRelatoriosService,\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.form.controls['codigoCurso'].setValue(Number(this.cursoId))\n this.form.controls['numeroEdicao'].setValue(Number(this.edicao))\n this.breadcrumbs[2] = {\n label: `Docentes`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/docentes`,\n icon: 'person',\n }\n this.tableConfig = {\n columns: {\n cpfDocente: { title: 'CPF', sort: true },\n nome: { title: 'Nome', sort: true },\n email: { title: 'Email', sort: true },\n titulacao: { title: 'Titulação', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n {\n title: 'Lattes',\n text: 'Lattes',\n callback: i => this.abrirLattes(i),\n condition: i => i.id,\n icon: 'school'\n },\n {\n title: 'Atestado de Disciplinas Ministradas',\n text: 'Atestado de Disciplinas Ministradas',\n color: 'primary',\n callback: i => this.gerarDocumento(i),\n condition: i => i.id,\n icon: 'picture_as_pdf'\n },\n {\n title: 'Editar',\n callback: i => this.editar(i),\n condition: i => !this.isReadOnly && !this.bloqueado,\n icon: 'edit',\n },\n {\n title: 'Excluir',\n callback: i => this.excluir(i.id),\n condition: i => !this.isReadOnly && !this.bloqueado,\n icon: 'clear',\n color: 'warn',\n },\n ],\n loadData: p =>\n this.edicaoDocenteService.listar(\n this.cursoId,\n this.edicao,\n p,\n this.localStorageService.get(this.cacheSearch) ?? ''\n ),\n }\n })\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoNome = obj.nomeCurso\n this.bloqueado = obj.bloqueado\n this.isReadOnly = obj.isReadOnly\n })\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela?.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela?.dataSource.load(\n this.edicaoDocenteService.listar(this.cursoId, this.edicao, undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n async adicionarDocente() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n let formulario = (this.form.value)\n if (this.id) {\n this.edicaoDocenteService.atualizar(this.id!, formulario).subscribe(docente => {\n this.unespCoreMessageService.showMessageSuccess(`Docente #${docente.id} atualizado com sucesso`)\n this.resetForm()\n })\n } else {\n this.edicaoDocenteService.gravar(formulario).subscribe(docente => {\n this.unespCoreMessageService.showMessageSuccess(`Docente #${docente.id} cadastrado com sucesso`)\n this.resetForm()\n })\n }\n }\n\n private resetForm(): void {\n // this.form.reset()\n this.form.controls['cpfDocente'].setValue('')\n this.form.controls['cpfDocente'].markAsPending()\n this.form.controls['nome'].setValue('')\n this.form.controls['email'].setValue('')\n this.form.controls['titulacao'].setValue('')\n this.form.controls['titulacao'].markAsPending()\n this.reloadTable()\n this.id = undefined\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.edicaoDocenteService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n exportar() {\n let params: Partial = {\n pageIndex: 0,\n pageSize: this.tabela?.dataSource.length$,\n }\n this.edicaoDocenteService\n .listar(this.cursoId, this.edicao, params, this.pesquisa?.nativeElement.value)\n .subscribe(data => {\n let recursos: EdicaoDocente[] = data['content']\n let content = `\"CPF\",\"Nome\",\"Email\"\\r\\n`\n recursos.forEach(row => {\n content += `\"${row.cpfDocente || ''}\",\"${row.nome || ''}\",\"${row.email || ''}\"\\r\\n`\n })\n this.exportarCSVService.exportar(content, `Docentes - ${this.cursoNome} - Edição ${this.edicao}`)\n })\n }\n\n abrirLattes(docente: EdicaoDocente): void {\n if (docente.lattes) {\n window.open('http://lattes.cnpq.br/' + docente.lattes, '_blank')\n return\n }\n this.lattesService.consultaLattes(docente.cpfDocente.replaceAll('.', '').replaceAll('-', '')).subscribe({\n next: identificadoresDocente => {\n if (identificadoresDocente.lattes) {\n window.open('http://lattes.cnpq.br/' + identificadoresDocente.lattes, '_blank')\n } else {\n this.unespCoreMessageService.showMessageError(\n `Lattes não informado na base de dados 'https://unesp.br/portaldocentes/docentes'`\n )\n }\n },\n error: () => {\n this.unespCoreMessageService.showMessageError(\n `O CPF não foi encontrado na base de dados 'https://unesp.br/portaldocentes/docentes'`\n )\n },\n })\n }\n\n editar(data: EdicaoDocente) {\n this.id = data.id\n this.form.controls['codigoCurso'].setValue(data.codigoCurso)\n this.form.controls['numeroEdicao'].setValue(data.numeroEdicao)\n this.form.controls['cpfDocente'].setValue(data.cpfDocente)\n this.form.controls['nome'].setValue(data.nome)\n this.form.controls['email'].setValue(data.email)\n this.form.controls['titulacao'].setValue(data.titulacao)\n }\n\n gerarDocumento(dadosDocente: EdicaoDocente) {\n\n this.edicaoDocenteRelatoriosService.getAtestadoDisciplinasPorDocente(\n dadosDocente.codigoCurso,\n dadosDocente.numeroEdicao,\n dadosDocente.cpfDocente,\n dadosDocente.nome\n )\n }\n\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { Observable, catchError, identity, map, of } from 'rxjs'\nimport { DocenteExterno } from '../models/docente-externo'\nimport { DocenteExternoForm } from '../models/docente-externo-form'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { CheckCentralAcessos } from '../modules/unidade/central-acessos/central-acessos-editar.component'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocenteExternoService extends UnespCoreGenericService {\n readonly ROUTE = 'docente-externo'\n client!: HttpClient\n baseUrl!: string\n\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n this.baseUrl = environment.baseUrlApi\n }\n\n listar(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getDocenteExterno(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n gravar(edicaoDisciplina: DocenteExternoForm): Observable {\n return this.create(this.ROUTE, edicaoDisciplina).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, edicaoDisciplina: DocenteExternoForm): Observable {\n return this.update(`${this.ROUTE}/${id}`, edicaoDisciplina).pipe(identity, this.errorHandlerService.catchError())\n }\n\n centralDeAcessos(id: number, cpfDocenteExterno: string): Observable {\n return this.client.get(`${this.baseUrl}/${this.ROUTE}/${id}/${cpfDocenteExterno}/central-acessos`, { responseType: 'text' })\n }\n\n checkCentralDeAcessos(idDocenteExterno: number): Observable {\n return this.findById(`${this.ROUTE}/${idDocenteExterno}`, 'central-acessos')\n }\n\n updateCentralDeAcessos(idDocenteExterno: number): Observable {\n return this.client.put(`${this.baseUrl}/${this.ROUTE}/${idDocenteExterno}/central-acessos`, '', { responseType: 'text' })\n }\n}\n","\n\n\n \n
\n Cadastro\n
\n \n Nome Completo (sem abreviação)\n \n \n
\n
\n \n CPF\n \n \n \n Email\n \n \n
\n
\n
\n
\n \n Telefone\n \n \n \n Data nascimento\n \n \n \n Número Identificação Lattes\n \n \n
\n
\n
\n
\n \n Instituição\n \n \n \n Instituição - estado\n \n \n \n {{ type.value }}\n \n \n \n \n Instituição - cidade\n \n \n \n {{ cidade }}\n \n \n \n
\n
\n
\n
\n \n Departamento\n \n \n \n Cargo\n \n \n
\n
\n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core'\nimport { FormGroup, FormControl, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService, UnespCoreAuthService } from '@unesp/core'\nimport { Estado } from 'src/app/enums/estado'\nimport { DocenteExternoForm } from 'src/app/models/docente-externo-form'\nimport { CidadeService } from 'src/app/services/cidade.service'\nimport { DataService } from 'src/app/services/data.service'\nimport { DocenteExternoService } from 'src/app/services/docente-externo.service'\nimport { permiteApenasNumeros } from '../../../../utils/utils'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-docente-externo-editar',\n templateUrl: './docente-externo-editar.component.html',\n styleUrls: ['./docente-externo-editar.component.css'],\n})\nexport class DocenteExternoEditarComponent implements OnInit {\n form = new FormGroup({\n nome: new FormControl('', Validators.required),\n cpf: new FormControl('', Validators.required),\n email: new FormControl(''),\n telefone: new FormControl(''),\n dataNascimento: new FormControl(''),\n lattes: new FormControl(''),\n cargo: new FormControl(''),\n departamento: new FormControl(''),\n instituicao: new FormControl(''),\n instituicaoCidade: new FormControl(''),\n instituicaoEstado: new FormControl(''),\n })\n id?: number\n estado = Estado\n cidades: string[] = []\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Docentes externos', route: '/unidade/docentes-externos', icon: 'people' },\n { label: 'Docente externo', route: '', icon: 'edit' },\n ]\n \n\n constructor(\n private docenteExternoService: DocenteExternoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router,\n private unespCoreAuthService: UnespCoreAuthService,\n private cidadeService: CidadeService,\n private dataService: DataService\n ) { }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.id = params['id']\n this.breadcrumbs[2] = {\n label: `Docente externo`,\n route: `/unidade/docente-externo/cadastro/${this.id}`, \n icon: 'edit' ,\n }\n this.form.reset()\n if (this.id) {\n this.docenteExternoService.getDocenteExterno(this.id).subscribe(obj => {\n this.form.controls['nome'].setValue(obj.nome)\n this.form.controls['cpf'].setValue(obj.cpf)\n this.form.controls['email'].setValue(obj.email)\n this.form.controls['telefone'].setValue(obj.telefone)\n this.form.controls['dataNascimento'].setValue(this.dataService.stringUsToStringBr(obj.dataNascimento))\n this.form.controls['lattes'].setValue(obj.lattes)\n this.form.controls['cargo'].setValue(obj.cargo)\n this.form.controls['departamento'].setValue(obj.departamento)\n this.form.controls['instituicao'].setValue(obj.instituicao)\n this.form.controls['instituicaoCidade'].setValue(obj.instituicaoCidade)\n this.form.controls['instituicaoEstado'].setValue(obj.instituicaoEstado)\n this.selecionaEstado()\n })\n this.breadcrumbs[2] = {\n label: `Docente externo`,\n route: `/unidade/docente-externo/cadastro/${this.id}`, \n icon: 'edit' ,\n }\n } else {\n this.breadcrumbs[2] = {\n label: `Docente externo`,\n route: `/unidade/docente-externo/cadastro`, \n icon: 'edit' ,\n }\n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n if (formulario.dataNascimento) {\n if (!this.dataService.dateIsValid(formulario.dataNascimento)) {\n this.unespCoreMessageService.showMessageError('Data nascimento inválida')\n return\n }\n formulario.dataNascimento = this.dataService.stringBrToStringUs(formulario.dataNascimento)\n }\n\n if (this.id) {\n this.docenteExternoService.atualizar(this.id, formulario).subscribe(docenteExternoForm => {\n this.unespCoreMessageService.showMessageSuccess(\n `DocenteExterno #${docenteExternoForm.id} atualizado com sucesso`\n )\n this.router.navigate(['/unidade/docentes-externos'])\n })\n } else {\n this.docenteExternoService.gravar(formulario).subscribe(docenteExternoForm => {\n this.unespCoreMessageService.showMessageSuccess(\n `DocenteExterno #${docenteExternoForm.id} cadastrado com sucesso`\n )\n this.router.navigate(['/unidade/docentes-externos'])\n })\n }\n }\n\n isReadOnly(): boolean {\n return (\n !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE']) &&\n !this.unespCoreAuthService.hasPermissionBasedRoles(['EQUIPE-APOIO'])\n )\n }\n\n selecionaEstado(): void {\n const estado = this.form.get('instituicaoEstado')?.value\n this.cidades = this.cidadeService.get(estado ?? '')\n }\n\n protected readonly permiteApenasNumeros = permiteApenasNumeros\n}\n","import { CommonModule } from '@angular/common'\nimport { Component, Inject, OnInit } from '@angular/core'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatCardModule } from '@angular/material/card'\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'\nimport { MatIconModule } from '@angular/material/icon'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { DocenteExternoService } from 'src/app/services/docente-externo.service'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { ValidacaoService } from 'src/app/services/validacao.service'\n\n@Component({\n selector: 'app-central-acessos-editar',\n templateUrl: './central-acessos-editar.component.html',\n styleUrls: ['./central-acessos-editar.component.css'],\n standalone: true,\n imports: [CommonModule, MatCardModule, MatIconModule, MatButtonModule]\n})\nexport class CentralAcessosEditarComponent implements OnInit {\n\n data?: CheckCentralAcessos\n hasDivergencia: boolean = false\n hasDivergenciaNome: boolean = false\n hasDivergenciaNomeSocial: boolean = false\n hasDivergenciaCpf: boolean = false\n hasDivergenciaEmail: boolean = false\n hasDivergenciaDataNascimento: boolean = false\n validCpf: boolean = false\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: CentralAcessosEditarParametro,\n public dialogRef: MatDialogRef,\n private unespCoreMessageService: UnespCoreMessageService,\n private edicaoAlunoService: EdicaoAlunoService,\n private docenteExternoService: DocenteExternoService,\n private validacaoService: ValidacaoService,\n ) {}\n\n ngOnInit(): void {\n if (this.params.idAlunoEdicao) {\n this.edicaoAlunoService.checkCentralDeAcessos(this.params.idAlunoEdicao).subscribe({\n next: (data) => {\n this.data = data\n this.checkDivergencia()\n },\n error: (err) => {\n this.unespCoreMessageService.showMessageError(err.error.message)\n this.fechar()\n }\n })\n }\n if (this.params.idDocenteExterno) {\n this.docenteExternoService.checkCentralDeAcessos(this.params.idDocenteExterno).subscribe({\n next: (data) => {\n this.data = data\n this.checkDivergencia()\n },\n error: (err) => {\n this.unespCoreMessageService.showMessageError(err.error.message)\n this.fechar()\n }\n })\n }\n }\n\n private checkDivergencia(): void {\n if (this.data?.usuarioSisesp.nome.toLowerCase().trim() != this.data?.usuarioCentralAcessos.nome.toLowerCase()) {\n this.hasDivergencia = true\n this.hasDivergenciaNome = true\n }\n if (this.data?.usuarioSisesp.nomeSocial != null && this.data?.usuarioSisesp.nomeSocial.trim()) {\n if (this.data?.usuarioSisesp.nomeSocial.toLowerCase().trim() != this.data?.usuarioCentralAcessos.nome.toLowerCase()) {\n this.hasDivergencia = true\n this.hasDivergenciaNomeSocial = true\n }\n }\n this.validCpf = this.validacaoService.isCPFValid(this.data?.usuarioSisesp.cpf!)\n if (this.validCpf) {\n if (this.data?.usuarioSisesp.cpf != this.data?.usuarioCentralAcessos.cpf) {\n this.hasDivergencia = true\n this.hasDivergenciaCpf = true\n }\n }\n if (this.data?.usuarioSisesp.email.toLowerCase().trim() != this.data?.usuarioCentralAcessos.email.toLowerCase()) {\n this.hasDivergencia = true\n this.hasDivergenciaEmail = true\n }\n const dataNascimentoSisesp = this.parseDateEnUs(this.data?.usuarioSisesp.dataNascimento ?? null)\n const dataNascimentoCentralAcessos = this.parseDatePtBR(this.data?.usuarioCentralAcessos.dataNascimento ?? null)\n if (dataNascimentoSisesp && dataNascimentoCentralAcessos && \n dataNascimentoSisesp.getTime() !== dataNascimentoCentralAcessos.getTime()) {\n this.hasDivergencia = true\n this.hasDivergenciaDataNascimento = true\n } \n }\n\n private parseDatePtBR(dateStr: string | null): Date | null {\n if (dateStr == null) {\n return null\n }\n const [day, month, year] = dateStr.split('/').map(Number)\n return day && month && year ? new Date(year, month - 1, day) : null\n }\n\n private parseDateEnUs(dateStr: Date | null): Date | null {\n if (dateStr == null) {\n return null\n }\n const [year, month, day] = dateStr.toString().split('-').map(Number)\n return day && month && year ? new Date(year, month - 1, day) : null\n }\n\n async gravar() {\n if (this.params.idAlunoEdicao) {\n this.edicaoAlunoService.updateCentralDeAcessos(this.params.idAlunoEdicao).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess('Dados atualizados com sucesso')\n this.fechar()\n })\n }\n if (this.params.idDocenteExterno) {\n this.docenteExternoService.updateCentralDeAcessos(this.params.idDocenteExterno).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess('Dados atualizados com sucesso')\n this.fechar()\n })\n }\n }\n\n fechar(): void {\n this.dialogRef.close()\n }\n}\n\nexport interface CentralAcessosEditarParametro {\n idAlunoEdicao?: number\n idDocenteExterno?: number\n}\n\nexport interface CheckCentralAcessos {\n usuarioSisesp: UsuarioSisesp,\n usuarioCentralAcessos: UsuarioCentralAcessos\n}\n\nexport interface UsuarioSisesp {\n nome: string\n nomeSocial: string\n cpf: string\n dataNascimento: Date\n email: string\n}\n\nexport interface UsuarioCentralAcessos {\n nome: string\n cpf: string\n dataNascimento: string\n email: string\n emailPrincipal: string\n identificacao: string\n ativo: boolean\n bloqueado: boolean\n}","

Atualizar dados na Central de Acessos

\n\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SISESPCentral de Acessos
Nome{{data?.usuarioSisesp?.nome}}{{data?.usuarioCentralAcessos?.nome}}
Nome Social{{data?.usuarioSisesp?.nomeSocial}}
CPF{{data?.usuarioSisesp?.cpf}}{{data?.usuarioCentralAcessos?.cpf}}
Data de nascimento{{data?.usuarioSisesp?.dataNascimento | date : 'dd/MM/yyyy'}}{{data?.usuarioCentralAcessos?.dataNascimento}}
E-mail{{data?.usuarioSisesp?.email}}{{data?.usuarioCentralAcessos?.email}}
E-mail principal{{data?.usuarioCentralAcessos?.emailPrincipal}}
Identificação{{data?.usuarioCentralAcessos?.identificacao}}
Ativo{{data?.usuarioCentralAcessos?.ativo ? 'Sim' : 'Não'}}
Bloqueado{{data?.usuarioCentralAcessos?.bloqueado ? 'Sim' : 'Não'}}
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
","\n
\n
\n \n
\n
\n\n search\n Pesquisar\n \n\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { Router } from '@angular/router'\nimport { UnespCoreMessageService, UnespCoreApiErrorHandlerService, UnespCoreAuthService } from '@unesp/core'\nimport {\n UnespTableComponent,\n UnespTableConfig,\n UnespConfirmDialogModel,\n UnespConfirmDialogComponent,\n UnespBreadcrumbItem,\n} from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { DocenteExterno } from 'src/app/models/docente-externo'\nimport { DocenteExternoService } from 'src/app/services/docente-externo.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { CentralAcessosEditarComponent } from '../../central-acessos/central-acessos-editar.component'\n\n@Component({\n selector: 'app-docente-externo-listar',\n templateUrl: './docente-externo-listar.component.html',\n styleUrls: ['./docente-externo-listar.component.css'],\n})\nexport class DocenteExternoListarComponent implements AfterViewInit {\n @ViewChild(UnespTableComponent) tabela!: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'docente-externo-listar.search'\n\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Docentes externos', route: '/unidade/docentes-externos', icon: 'people' },\n ]\n \n constructor(\n private docenteExternoService: DocenteExternoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService\n ) {\n this.tableConfig = {\n columns: {\n id: { title: '#', sort: true },\n cpf: { title: 'CPF', sort: true },\n nome: { title: 'Nome', sort: true },\n email: { title: 'Email', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n {\n title: 'Lattes',\n text: 'Lattes',\n callback: i => this.abrirLattes(i.lattes),\n condition: i => i.lattes,\n icon: 'school',\n },\n {\n title: 'Enviar dados para a Central de Acessos',\n callback: i => this.incluirCentralAcessos(i.id, i.cpf),\n condition: i => !i.idUsuarioCentralDeAcessos,\n icon: 'sync',\n color: 'accent'\n },\n {\n title: 'Atualizar dados na Central de Acessos',\n callback: i => this.alterarCentralAcessos(i.id),\n condition: i => i.idUsuarioCentralDeAcessos,\n icon: 'sync',\n color: 'primary'\n },\n {\n title: 'Editar',\n callback: i => this.editar(i.id),\n condition: i => i.id, icon: 'edit'\n },\n {\n title: 'Excluir',\n callback: i => this.excluir(i.id),\n condition: i => !this.isReadOnly(),\n icon: 'clear',\n color: 'warn',\n },\n ],\n loadData: p => this.docenteExternoService.listar(p, this.localStorageService.get(this.cacheSearch) ?? ''),\n }\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela.dataSource.load(\n this.docenteExternoService.listar(undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n editar(id: number) {\n this.router.navigate([`unidade/docente-externo/cadastro/${id}`])\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.docenteExternoService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n incluirCentralAcessos(id: number, cpfDocenteExterno: string) {\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `Deseja enviar os dados do docente para a Central de Acessos?`\n )\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.docenteExternoService.centralDeAcessos(id, cpfDocenteExterno).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(data)\n this.reloadTable()\n })\n }\n })\n }\n\n alterarCentralAcessos(id: number) {\n this.dialog.open(CentralAcessosEditarComponent, {\n data: {\n idDocenteExterno: id\n },\n panelClass: 'my-dialog-resizer'\n })\n }\n\n isReadOnly(): boolean {\n return (\n !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE']) &&\n !this.unespCoreAuthService.hasPermissionBasedRoles(['EQUIPE-APOIO'])\n )\n }\n\n abrirLattes(numLattes: string): void {\n window.open('http://lattes.cnpq.br/' + numLattes, '_blank')\n }\n}\n","\n\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n Disciplina\n \n \n \n {{ disciplina.nomeDisciplina }}\n \n \n \n
\n
\n \n Docente\n \n \n \n {{ docente.nome }} - CPF {{ docente.cpfDocente }}\n \n \n \n
\n
\n \n
\n
\n
\n\n search\n Pesquisar\n \n\n\n\n \n \n \n\n
","import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreApiErrorHandlerService, UnespCoreMessageService } from '@unesp/core'\nimport {\n UnespBreadcrumbItem,\n UnespConfirmDialogComponent,\n UnespConfirmDialogModel,\n UnespTableComponent,\n UnespTableConfig,\n} from '@unesp/shared'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { DocenteDisciplina } from 'src/app/models/docente-disciplina'\nimport { EdicaoDisciplina } from 'src/app/models/edicao-disciplina'\nimport { EdicaoDocente } from 'src/app/models/edicao-docente'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { DocenteDisciplinaService } from 'src/app/services/docente-disciplina.service'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { EdicaoDocenteService } from 'src/app/services/edicao-docente.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { ExportarCSVService } from '../../../services/exportarCSV.service'\n\n@Component({\n selector: 'app-docente-disciplina-cadastro',\n templateUrl: './docente-disciplina-cadastro.component.html',\n styleUrls: ['./docente-disciplina-cadastro.component.css'],\n})\nexport class DocenteDisciplinaCadastroComponent implements OnInit, AfterViewInit {\n bloqueado: boolean = false\n isReadOnly: boolean = true\n\n @ViewChild(UnespTableComponent) tabela?: UnespTableComponent\n tableConfig!: UnespTableConfig\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'docente-disciplina-listar.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n disciplinasList?: EdicaoDisciplina[]\n docentesList?: EdicaoDocente[]\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' }, \n { label: 'Discipinas', route: '', icon: 'folder_shared' },\n ] \n\n form = new FormGroup({\n codigoCurso: new FormControl(-1, Validators.required),\n numeroEdicao: new FormControl(-1, Validators.required),\n cpfResponsavel: new FormControl('', Validators.required),\n codigoDisciplina: new FormControl(-1, Validators.required),\n })\n\n constructor(\n private docenteDiscplinaService: DocenteDisciplinaService,\n private cursoEdicaoService: CursoEdicaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private edicaoDocenteService: EdicaoDocenteService,\n private exportarCSVService: ExportarCSVService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.form.controls['codigoCurso'].setValue(Number(this.cursoId))\n this.form.controls['numeroEdicao'].setValue(Number(this.edicao))\n this.breadcrumbs[2] = {\n label: `Vinculo disciplina e docente`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/docente-disciplina`,\n icon: 'folder_shared',\n }\n this.tableConfig = {\n columns: {\n nomeDisciplina: { title: 'Disciplina', sort: true },\n nomeResponsavel: { title: 'Docente', sort: true },\n },\n page: {\n pageSizeOptions: [10, 20, 50],\n },\n buttons: [\n {\n title: 'Excluir',\n callback: i => this.excluir(i.id),\n condition: i => !this.isReadOnly && !this.bloqueado,\n icon: 'clear',\n color: 'warn',\n },\n ],\n loadData: p =>\n this.docenteDiscplinaService.listar(\n this.cursoId,\n this.edicao,\n p,\n this.localStorageService.get(this.cacheSearch) ?? ''\n ),\n }\n })\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoNome = obj.nomeCurso\n this.bloqueado = obj.bloqueado\n this.isReadOnly = obj.isReadOnly\n })\n }\n\n ngOnInit(): void {\n this.edicaoDisciplinaService.all(this.cursoId ?? -1, this.edicao ?? -1).subscribe(obj => {\n this.disciplinasList = obj\n })\n this.edicaoDocenteService.all(this.cursoId ?? -1, this.edicao ?? -1).subscribe(obj => {\n this.docentesList = obj\n })\n }\n\n ngAfterViewInit() {\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n }, 0)\n }\n\n reloadTable() {\n this.tabela?.loadTableData()\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.tabela?.dataSource.load(\n this.docenteDiscplinaService.listar(this.cursoId, this.edicao, undefined, this.pesquisa?.nativeElement.value),\n (err: any) => {\n this.unespCoreMessageService.showMessageError(err)\n this.reloadTable()\n }\n )\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n async gravar() {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n let formulario = (this.form.value)\n this.docenteDiscplinaService.gravar(formulario).subscribe(docenteDisciplina => {\n this.unespCoreMessageService.showMessageSuccess(\n `Vínculo Docente/Disciplina #${docenteDisciplina.id} cadastrado com sucesso`\n )\n this.resetForm()\n this.reloadTable()\n })\n }\n\n private resetForm(): void {\n this.form.reset()\n this.form.controls['codigoCurso'].setValue(Number(this.cursoId))\n this.form.controls['numeroEdicao'].setValue(Number(this.edicao))\n this.form.controls['cpfResponsavel'].markAsPending()\n this.form.controls['codigoDisciplina'].markAsPending()\n }\n\n excluir(id: number) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o item #${id}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.docenteDiscplinaService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n exportar() {\n let params: Partial = {\n pageIndex: 0,\n pageSize: this.tabela?.dataSource.length$,\n }\n this.docenteDiscplinaService\n .listar(this.cursoId, this.edicao, params, this.pesquisa?.nativeElement.value)\n .subscribe(data => {\n let recursos: DocenteDisciplina[] = data['content']\n let content = `\"CPF Docente\",\"Nome Docente\",\"Disciplina\"\\r\\n`\n recursos.forEach(row => {\n content += `\"${row.cpfResponsavel || ''}\",\"${row.nomeResponsavel || ''}\",\"${row.nomeDisciplina || ''}\"\\r\\n`\n })\n this.exportarCSVService.exportar(content, `Docente-Disciplina - ${this.cursoNome} - Edição ${this.edicao}`)\n })\n }\n}\n","\n\n\n \n
\n \n \n
\n
\n
\n
\n \n \n Estrangeiro?\n \n \n \n \n CPF\n \n search\n \n \n Passaporte\n \n search\n \n \n Nome Completo (sem abreviação)\n \n \n
\n
\n \n Nome Social\n \n \n
\n
\n
\n
\n * Nome social: se refere à designação pela qual a pessoa travesti ou transexual se identifica e é socialmente reconhecida, conforme art. 2º, § 2º, Decreto Estadual 55588/2010\n
\n
\n
\n
\n \n Data de Nascimento\n \n \n \n Sexo\n \n \n Feminino\n Masculino\n \n \n \n Gênero\n \n \n \n {{ genero.value }}\n \n \n \n \n Estado Civil\n \n \n \n {{ type.name }}\n \n \n \n \n Possui alguma deficiência?\n \n \n \n {{ deficiencia.value }}\n \n \n \n
\n
\n \n RG\n \n \n \n RG Orgão de Expedição\n \n \n \n {{ type.value }}\n \n \n \n \n RG UF de Expedição\n \n \n \n {{ type.key }}\n \n \n \n \n RG Data de Expedição\n \n \n
\n
\n \n Título de Eleitor\n \n \n \n Título de Eleitor Zona\n \n \n \n Título de Eleitor Seção\n \n \n \n Título de Eleitor Data de Expedição\n \n \n
\n @if (form.controls['sexo'].value === '2' && form.controls['estrangeiro'].value !== true) {\n
\n \n Número Certificado Militar\n \n \n \n Número Certificado Militar CSM\n \n \n
\n }\n
\n \n Estado Naturalidade\n \n \n \n {{ type.key }}\n \n \n \n \n País Naturalidade\n \n \n {{ type.value }}\n \n \n \n \n Cidade Naturalidade\n \n \n \n {{ cidade }}\n \n \n \n \n Cidade Naturalidade\n \n \n \n Nacionalidade\n \n \n
\n
\n \n Nome da Mãe\n \n \n \n Nome do Pai\n \n \n
\n
\n \n Número de identificação do Currículo Lattes\n \n \n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n \n CEP\n \n \n \n Logradouro\n \n \n \n Número\n \n \n
\n
\n \n Complemento\n \n \n \n Bairro\n \n \n \n Estado\n \n \n \n {{ type.key }}\n \n \n \n \n Cidade\n \n \n
\n
\n \n Telefone Celular\n \n \n \n Telefone Residencial\n \n \n \n Telefone Empresarial\n \n \n
\n
\n \n Email Principal\n \n \n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n \n Nome do Curso de Graduação\n \n \n \n Nome da Instituição\n \n \n
\n
\n \n \n Instituição Estrangeira?\n \n \n \n \n País da Instituição\n \n \n \n Estado da Instituição\n \n \n \n {{ type.key }}\n \n \n \n \n Cidade da Instituição\n \n \n \n {{ cidade }}\n \n \n \n \n Cidade da Instituição\n \n \n \n Data de Conclusão\n \n \n
\n
\n
\n
\n
\n\n \n @if (!id) {\n
\n Complete o cadastro e clique em Salvar, em seguida clique em Editar para poder preencher os campos\n
\n } @else {\n \n
\n
\n
\n @switch (form.tipoCampo) {\n @case ('TEXTO') {\n \n {{form.nome}}\n \n \n }\n @case ('DATA') {\n \n {{form.nome}}\n \n \n }\n @case ('SIM_NAO') {\n \n {{form.nome}}\n \n \n Sim\n Não\n \n \n }\n @case ('LISTA_COM_RESPOSTA_UNICA') {\n \n {{form.nome}}\n \n \n \n {{ opcao }}\n \n \n \n }\n @case ('LISTA_COM_RESPOSTA_MULTIPLA') {\n \n {{form.nome}}\n \n \n {{ opcao }}\n \n \n \n }\n @case ('ACEITE') {\n \n {{form.nome}}\n \n }\n @default {\n \n }\n }\n
\n
\n
\n \n }\n
\n\n \n
\n
\n
\n @if (documentosCursoEdicao.length) {\n Documentos marcados com * são obrigatórios\n } @else if (!id) {\n Complete o cadastro e clique em Salvar, em seguida clique em Editar para poder incluir os documentos\n } @else {\n Nenhum documento foi solicitado\n }\n
\n
\n \n
\n
\n
\n
\n
\n\n \n
\n
\n\n \n
\n \n \n
\n
\n
\n","import { AfterViewInit, Component, OnInit, QueryList, ViewChildren } from '@angular/core'\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { Estado } from 'src/app/enums/estado'\nimport { EstadoCivil } from 'src/app/enums/estado-civil'\nimport { OrgaoExpedicaoRg } from 'src/app/enums/orgao-expedicao-rg'\nimport { EdicaoAlunoForm } from 'src/app/models/edicao-aluno-form'\nimport { MatDialog } from '@angular/material/dialog'\nimport {\n ArquivoSelecionado,\n ArquivoStatus,\n ArquivoUploadComponent,\n arquivoUploadValidator,\n} from 'src/app/modules/comum/arquivo-upload/arquivo-upload.component'\nimport { CidadeService } from 'src/app/services/cidade.service'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { DataService } from 'src/app/services/data.service'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { ValidacaoService } from 'src/app/services/validacao.service'\nimport { checkboxObrigatorioValidator, dataValidator, permiteApenasAlfanumericoComPontoHifen, permiteApenasNumeros, validaDataNascimentoValidator } from '../../../../utils/utils'\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { Pais } from \"../../../../enums/pais\"\nimport { AlunoGenero } from 'src/app/enums/aluno-genero'\nimport { AlunoDeficiencia } from 'src/app/enums/aluno-deficiencia'\nimport { Observable, map, mergeMap, startWith } from 'rxjs'\nimport { CursoEdicaoDocumentoInscricao } from 'src/app/models/curso-edicao-documento-inscricao'\nimport { EdicaoAlunoFormularioComplementar } from 'src/app/models/edicao-aluno-formulario-complementar'\n\n@Component({\n selector: 'app-edicao-aluno-editar',\n templateUrl: './edicao-aluno-editar.component.html',\n styleUrls: ['./edicao-aluno-editar.component.css'],\n})\nexport class EdicaoAlunoEditarComponent implements OnInit, AfterViewInit {\n\n localStoragePrefix: string = 'edicao-aluno-'\n\n estado = Estado\n cidades: string[] = []\n cidadesInstituicao: string[] = []\n cidadesFiltered?: Observable\n estadosCivisEnum = EstadoCivil\n estadosCivis: { id: string; name: string }[] = []\n orgaoExpedicaoRg = OrgaoExpedicaoRg\n paises = Pais\n generos = AlunoGenero\n deficiencias = AlunoDeficiencia\n documentosCursoEdicao: CursoEdicaoDocumentoInscricao[] = []\n\n rgPattern = '([0-9a-zA-Z.-]{6,13})'\n lattesPattern = '(^[0-9]{0,30})'\n\n breadcrumbs: UnespBreadcrumbItem[] = []\n\n perfilDiscente(): boolean {\n return this.unespCoreAuthService.hasPermissionBasedRoles(['DISCENTE'])\n }\n\n\n geraBreadCrumbPeloPerfil(): UnespBreadcrumbItem[] {\n if (this.perfilDiscente()) {\n return [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Meus Cursos', route: '/discente/curso-edicao', icon: 'content_copy' },\n { label: 'Dados Cadastrais', route: '', icon: 'edit' },\n ]\n } else {\n return [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Alunos', route: '', icon: 'groups' },\n { label: 'Aluno', route: '/discente/curso-edicao', icon: 'edit' },\n ]\n }\n }\n\n form = new FormGroup({\n codigoCurso: new FormControl(-1, Validators.required),\n numeroEdicao: new FormControl(-1, Validators.required),\n estrangeiro: new FormControl(false),\n cpf: new FormControl(' '),\n passaporte: new FormControl(' '),\n nome: new FormControl('', Validators.required),\n nomeSocial: new FormControl(''),\n rgNumero: new FormControl(' ', [Validators.required, Validators.pattern(this.rgPattern)]),\n rgOrgao: new FormControl(' ', Validators.required),\n rgUfExpedicao: new FormControl(' ', Validators.required),\n dataExpedicaoRg: new FormControl(' ', Validators.required),\n tituloEleitor: new FormControl(' ', Validators.required),\n tituloEleitorZona: new FormControl(' ', Validators.required),\n tituloEleitorSecao: new FormControl(' ', Validators.required),\n dataExpedicaoTituloEleitor: new FormControl(' ', Validators.required),\n reservistaNumero: new FormControl(' '),\n reservistaCsm: new FormControl(' '),\n paisNaturalidade: new FormControl(''),\n naturalidade: new FormControl(' ', Validators.required),\n uf: new FormControl(' '),\n nacionalidade: new FormControl(' ', Validators.required),\n dataNascimento: new FormControl(' ', [Validators.required, validaDataNascimentoValidator()]),\n sexo: new FormControl(' ', Validators.required),\n genero: new FormControl(' '),\n estadoCivil: new FormControl(' ', Validators.required),\n deficiencia: new FormControl(' '),\n nomePai: new FormControl(' '),\n nomeMae: new FormControl(' ', Validators.required),\n lattes: new FormControl(' ', [Validators.pattern(this.lattesPattern)]),\n enderecoRua: new FormControl(' ', Validators.required),\n enderecoNumero: new FormControl(' ', Validators.required),\n enderecoComplemento: new FormControl(' '),\n enderecoBairro: new FormControl(' ', Validators.required),\n enderecoCidade: new FormControl(' ', Validators.required),\n enderecoEstado: new FormControl(' ', Validators.required),\n enderecoCep: new FormControl(' ', Validators.required),\n contatoTelefoneResidencial: new FormControl(' '),\n contatoTelefoneEmpresarial: new FormControl(' '),\n contatoTelefoneCelular: new FormControl(' ', Validators.required),\n email: new FormControl(' ', Validators.required),\n nomeCurso: new FormControl(' ', Validators.required),\n instituicaoEnsinoSuperior: new FormControl(' ', Validators.required),\n instituicaoEstrangeira: new FormControl(false),\n cidadeEscola: new FormControl(' ', Validators.required),\n ufEscola: new FormControl(' ', Validators.required),\n paisEscola: new FormControl(' ', Validators.required),\n dataConclusao: new FormControl(' ', Validators.required),\n documentosInscricao: new FormArray([]),\n documentosAlunos: new FormArray([])\n })\n id?: number\n cursoId?: number\n edicao?: number\n cursoNome?: string\n checkReadOnly: boolean = true\n\n @ViewChildren('arquivoDocumentoUpload') arquivoDocumentoUpload: QueryList | undefined\n\n // FC\n data: EdicaoAlunoFormularioComplementar[] = []\n formFC = new FormGroup({\n campos: new FormArray([])\n })\n\n constructor(\n private edicaoAlunoService: EdicaoAlunoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private cursoService: CursoService,\n private route: ActivatedRoute,\n private router: Router,\n private unespCoreAuthService: UnespCoreAuthService,\n private localStorageService: LocalStorageService,\n private cidadeService: CidadeService,\n private validacaoService: ValidacaoService,\n private dialog: MatDialog,\n private dataService: DataService,\n private fb: FormBuilder,\n ) {\n this.breadcrumbs = this.geraBreadCrumbPeloPerfil()\n // this.arquivoDocumentoFC = new FormControl(new ArquivoSelecionado(), {\n // validators: [arquivoUploadValidator(false)],\n // updateOn: 'submit',\n // }) as FormControl\n }\n\n ngOnInit(): void {\n\n this.checkIsReadOnly()\n\n this.form.controls['estrangeiro'].setValue(false)\n this.form.controls['instituicaoEstrangeira'].setValue(false)\n for (let n in this.estadosCivisEnum) {\n if (typeof this.estadosCivisEnum[n] === 'string') {\n this.estadosCivis.push({ id: n, name: this.estadosCivisEnum[n] })\n }\n }\n\n this.route.params.subscribe(params => {\n this.id = params['id']\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n if (this.perfilDiscente()) {\n console.log('entrou')\n this.breadcrumbs[2] = {\n label: `Alunos`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos`,\n icon: 'groups',\n }\n }\n\n this.form.reset()\n if (this.id) {\n if (this.perfilDiscente()) {\n this.breadcrumbs[2] = {\n label: `Dados cadastrais`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/aluno/cadastro/${this.id}`,\n icon: 'edit',\n }\n } else {\n this.breadcrumbs[2] = {\n label: `Alunos`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos`,\n icon: 'groups',\n }\n this.breadcrumbs[3] = {\n label: `Aluno`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/aluno/cadastro/${this.id}`,\n icon: 'edit',\n } \n }\n this.edicaoAlunoService.getEdicaoAluno(this.id).subscribe(obj => {\n if (obj === null) {\n this.router.navigate(['access-denied'])\n return\n }\n this.form.controls['codigoCurso'].setValue(obj.codigoCurso)\n this.form.controls['numeroEdicao'].setValue(obj.numeroEdicao)\n this.form.controls['estrangeiro'].setValue(obj.estrangeiro)\n if (obj.estrangeiro) {\n this.form.controls['passaporte'].setValue(obj.cpfAluno)\n } else {\n this.form.controls['cpf'].setValue(obj.cpfAluno)\n }\n\n this.setForm(obj)\n })\n } else {\n this.breadcrumbs[2] = {\n label: `Alunos`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos`,\n icon: 'groups',\n }\n this.breadcrumbs[3] = {\n label: `Aluno`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/aluno/cadastro`,\n icon: 'edit',\n }\n // Deve aplicar a validação apenas se for inclusão\n this.validaAcesoBloqueadoCadastroAluno()\n this.form.controls['codigoCurso'].setValue(Number(this.cursoId))\n this.form.controls['numeroEdicao'].setValue(Number(this.edicao))\n this.formDataFromLocalStorage()\n this.toggleEstrangeiroFromLocalStorage()\n this.toggleInstituicaoEstrangeiraFromLocalStorage()\n this.selecionaEstadoInstituicao()\n }\n })\n this.cursoService.getCurso(this.cursoId!).subscribe(obj => {\n this.cursoNome = obj.nome\n })\n }\n\n private validaAcesoBloqueadoCadastroAluno() {\n this.edicaoAlunoService.isPermitidoSalvarAluno(this.cursoId!, this.edicao!).subscribe(resultado => {\n if (!resultado) {\n this.router.navigate(['access-denied'])\n }\n })\n }\n\n ngAfterViewInit(): void {\n if (this.id) {\n this.edicaoAlunoService.getDocumentosAlunos(this.id).pipe(\n mergeMap(obj => {\n obj.forEach(doc => {\n let documentoFC: FormControl\n documentoFC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(false)],\n }) as FormControl\n\n documentoFC.value.setNameAndSize(doc.nomeDocumento, 0)\n\n this.documentosAlunos.push(this.fb.group({\n id: doc.id,\n alunoEdicaoId: doc.idAlunoEdicao,\n cursoEdicaoDocumentoInscricaoId: doc.idCursoEdicaoDocumentoInscricao,\n nomeDocumento: doc.nomeDocumento,\n dataHoraEnvio: doc.dataHoraEnvio,\n documentoFC: documentoFC\n }))\n })\n return this.edicaoAlunoService.getDocumentos(this.cursoId!, this.edicao!)\n })\n ).subscribe(obj => {\n this.documentosCursoEdicao = obj\n obj.forEach(doc => {\n let documentoFC: FormControl\n documentoFC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(false)],\n }) as FormControl\n\n this.documentosInscricao.push(this.fb.group({\n id: doc.id,\n cursoEdicaoId: doc.cursoEdicaoId,\n nomeDocumento: doc.nomeDocumento,\n isObrigatorio: doc.isObrigatorio,\n documentoFC: documentoFC,\n }))\n\n this.documentosAlunos.controls.forEach(docAluno => {\n if (doc.id === docAluno.get('cursoEdicaoDocumentoInscricaoId')?.value) {\n documentoFC.setValue(docAluno.get('documentoFC')?.value)\n }\n })\n\n if (this.checkReadOnly) {\n documentoFC.disable()\n }\n })\n })\n // FC\n this.edicaoAlunoService.getFormularioComplementarAlunos(this.cursoId!, this.edicao!, this.id!).subscribe(obj => {\n this.data = obj\n obj.forEach(fc => {\n if (fc.ativo) {\n const campoFormGroup = this.fb.group({\n cefcId: fc.cefcId,\n tipoCampo: fc.tipoCampo,\n nome: fc.nome,\n opcoes: fc.opcoes,\n obrigatorio: fc.obrigatorio,\n ativo: fc.ativo,\n aefcId: fc.aefcId,\n resposta: this.getResposta(fc)\n })\n if (fc.obrigatorio) {\n if (fc.tipoCampo === 'ACEITE') {\n campoFormGroup.get('resposta')?.addValidators(checkboxObrigatorioValidator())\n } else {\n campoFormGroup.get('resposta')?.addValidators(Validators.required)\n }\n }\n if (fc.tipoCampo == 'DATA') {\n campoFormGroup.get('resposta')?.addValidators(dataValidator())\n }\n this.campos.push(campoFormGroup)\n }\n })\n })\n }\n }\n\n // FC\n private getResposta(fc: EdicaoAlunoFormularioComplementar) {\n if (fc.tipoCampo === 'LISTA_COM_RESPOSTA_MULTIPLA') {\n return new FormControl(fc.resposta ? fc.resposta.split('\\n') : [])\n }\n if (fc.tipoCampo === 'ACEITE') {\n return new FormControl(fc.resposta === 'true')\n }\n return new FormControl(fc.resposta || '')\n }\n\n get campos(): FormArray {\n return this.formFC.get('campos') as FormArray\n }\n\n setForm(obj: EdicaoAlunoForm) {\n this.form.controls['nome'].setValue(obj.nome)\n this.form.controls['nomeSocial'].setValue(obj.nomeSocial)\n this.form.controls['rgNumero'].setValue(obj.rgNumero)\n this.form.get('rgNumero')?.setValidators([Validators.pattern(this.rgPattern)])\n this.form.get('rgNumero')?.updateValueAndValidity()\n this.form.controls['rgOrgao'].setValue(obj.rgOrgao?.length > 0 ? obj.rgOrgao.toUpperCase() : '')\n this.form.controls['rgUfExpedicao'].setValue(obj.rgUfExpedicao)\n this.form.controls['dataExpedicaoRg'].setValue(this.dataService.stringUsToStringBr(obj.dataExpedicaoRg))\n this.form.controls['tituloEleitor'].setValue(obj.tituloEleitor)\n this.form.controls['tituloEleitorZona'].setValue(obj.tituloEleitorZona)\n this.form.controls['tituloEleitorSecao'].setValue(obj.tituloEleitorSecao)\n this.form.controls['dataExpedicaoTituloEleitor'].setValue(\n this.dataService.stringUsToStringBr(obj.dataExpedicaoTituloEleitor)\n )\n this.form.controls['reservistaNumero'].setValue(obj.reservistaNumero)\n this.form.controls['reservistaCsm'].setValue(obj.reservistaCsm)\n this.form.controls['estrangeiro'].setValue(obj.estrangeiro)\n this.form.controls['paisNaturalidade'].setValue(obj.paisNaturalidade)\n this.form.controls['uf'].setValue(obj.uf)\n this.form.controls['naturalidade'].setValue(obj.naturalidade)\n if (!this.form.controls['estrangeiro'].value) {\n this.form.controls['nacionalidade'].setValue('BR')\n } else {\n this.form.controls['nacionalidade'].setValue(obj.nacionalidade)\n }\n this.form.controls['dataNascimento'].setValue(this.dataService.stringUsToStringBr(obj.dataNascimento))\n this.form.controls['sexo'].setValue(obj.sexo)\n this.form.controls['genero'].setValue(obj.genero)\n this.form.controls['estadoCivil'].setValue(obj.estadoCivil)\n this.form.controls['deficiencia'].setValue(obj.deficiencia)\n this.form.controls['nomePai'].setValue(obj.nomePai)\n this.form.controls['nomeMae'].setValue(obj.nomeMae)\n this.form.controls['lattes'].setValue(obj.lattes)\n this.form.controls['enderecoRua'].setValue(obj.enderecoRua)\n this.form.controls['enderecoNumero'].setValue(obj.enderecoNumero)\n this.form.controls['enderecoComplemento'].setValue(obj.enderecoComplemento)\n this.form.controls['enderecoBairro'].setValue(obj.enderecoBairro)\n this.form.controls['enderecoCidade'].setValue(obj.enderecoCidade)\n this.form.controls['enderecoEstado'].setValue(obj.enderecoEstado)\n this.form.controls['enderecoCep'].setValue(obj.enderecoCep)\n this.form.controls['contatoTelefoneResidencial'].setValue(obj.contatoTelefoneResidencial)\n this.form.controls['contatoTelefoneEmpresarial'].setValue(obj.contatoTelefoneEmpresarial)\n this.form.controls['contatoTelefoneCelular'].setValue(obj.contatoTelefoneCelular)\n this.form.controls['email'].setValue(obj.email)\n this.form.controls['nomeCurso'].setValue(obj.nomeCurso)\n this.form.controls['instituicaoEnsinoSuperior'].setValue(obj.instituicaoEnsinoSuperior)\n this.form.controls['ufEscola'].setValue(obj.ufEscola)\n if (obj.ufEscola) {\n this.form.controls['instituicaoEstrangeira'].setValue(false)\n } else {\n this.form.controls['instituicaoEstrangeira'].setValue(true)\n }\n this.toggleInstituicaoEstrangeira()\n this.form.controls['cidadeEscola'].setValue(obj.cidadeEscola)\n this.form.controls['paisEscola'].setValue(obj.paisEscola)\n this.form.controls['dataConclusao'].setValue(this.dataService.stringUsToStringBr(obj.dataConclusao))\n\n this.selecionaEstadoNaturalidade()\n this.selecionaEstadoInstituicao()\n this.toggleEstrangeiro()\n this.checkIsReadOnly()\n if (!this.isReadOnly) {\n this.validaCEP()\n }\n }\n\n toggleEstrangeiroFromLocalStorage() {\n if (this.localStorageService.get(this.localStoragePrefix + 'estrangeiro')) {\n this.form.get('cpf')?.clearValidators()\n this.form.get('cpf')?.updateValueAndValidity()\n this.form.get('passaporte')?.setValidators([Validators.required])\n this.form.get('passaporte')?.updateValueAndValidity()\n this.form.get('paisNaturalidade')?.setValidators([Validators.required])\n this.form.get('uf')?.clearValidators()\n this.form.get('uf')?.updateValueAndValidity()\n this.form.get('rgNumero')?.clearValidators()\n this.form.get('rgNumero')?.updateValueAndValidity()\n this.form.get('rgOrgao')?.clearValidators()\n this.form.get('rgOrgao')?.updateValueAndValidity()\n this.form.get('rgUfExpedicao')?.clearValidators()\n this.form.get('rgUfExpedicao')?.updateValueAndValidity()\n this.form.get('dataExpedicaoRg')?.clearValidators()\n this.form.get('dataExpedicaoRg')?.updateValueAndValidity()\n this.form.get('tituloEleitor')?.clearValidators()\n this.form.get('tituloEleitor')?.updateValueAndValidity()\n this.form.get('tituloEleitorZona')?.clearValidators()\n this.form.get('tituloEleitorZona')?.updateValueAndValidity()\n this.form.get('tituloEleitorSecao')?.clearValidators()\n this.form.get('tituloEleitorSecao')?.updateValueAndValidity()\n this.form.get('dataExpedicaoTituloEleitor')?.clearValidators()\n this.form.get('dataExpedicaoTituloEleitor')?.updateValueAndValidity()\n } else {\n this.form.get('cpf')?.setValidators([Validators.required])\n this.form.get('cpf')?.updateValueAndValidity()\n this.form.get('passaporte')?.clearValidators()\n this.form.get('passaporte')?.updateValueAndValidity()\n this.form.get('uf')?.setValidators([Validators.required])\n this.form.get('paisNaturalidade')?.clearValidators()\n this.form.controls['paisNaturalidade'].setValue('')\n if (this.localStorageService.get(this.localStoragePrefix + 'uf')) {\n this.selecionaEstadoNaturalidade()\n this.form.controls['naturalidade'].setValue(\n this.localStorageService.get(this.localStoragePrefix + 'naturalidade')\n )\n }\n this.form.controls['nacionalidade'].setValue('BR')\n this.save('BR')\n this.form.get('rgNumero')?.setValidators([Validators.required, Validators.pattern(this.rgPattern)])\n this.form.get('rgNumero')?.updateValueAndValidity()\n this.form.get('rgOrgao')?.setValidators([Validators.required])\n this.form.get('rgOrgao')?.updateValueAndValidity()\n this.form.get('rgUfExpedicao')?.setValidators([Validators.required])\n this.form.get('rgUfExpedicao')?.updateValueAndValidity()\n this.form.get('tituloEleitor')?.setValidators([Validators.required])\n this.form.get('tituloEleitor')?.updateValueAndValidity()\n this.form.get('tituloEleitorZona')?.setValidators([Validators.required])\n this.form.get('tituloEleitorZona')?.updateValueAndValidity()\n this.form.get('tituloEleitorSecao')?.setValidators([Validators.required])\n this.form.get('tituloEleitorSecao')?.updateValueAndValidity()\n this.form.get('dataExpedicaoTituloEleitor')?.setValidators([Validators.required])\n this.form.get('dataExpedicaoTituloEleitor')?.updateValueAndValidity()\n }\n }\n\n toggleInstituicaoEstrangeiraFromLocalStorage() {\n if (this.localStorageService.get(this.localStoragePrefix + 'instituicaoEstrangeira')) {\n this.form.get('ufEscola')?.clearValidators()\n this.form.get('ufEscola')?.updateValueAndValidity()\n } else {\n this.form.get('ufEscola')?.setValidators([Validators.required])\n this.form.get('ufEscola')?.updateValueAndValidity()\n this.form.controls['paisEscola'].setValue('Brasil')\n this.save('paisEscola')\n }\n }\n\n get documentosInscricao(): FormArray {\n return this.form.get('documentosInscricao') as FormArray\n }\n\n get documentosAlunos(): FormArray {\n return this.form.get('documentosAlunos') as FormArray\n }\n\n getDocumentoFormByIndex(i: number) {\n return this.documentosInscricao.controls[i].get('documentoFC') as FormControl\n }\n\n private formDataFromLocalStorage(): void {\n for (const name in this.form.controls) {\n let value = this.localStorageService.get(this.localStoragePrefix + name)\n if (value) {\n this.form.get(name)?.setValue(value)\n }\n }\n this.validaCEP()\n }\n\n private clearLocalStorage(): void {\n for (const name in this.form.controls) {\n this.localStorageService.remove(this.localStoragePrefix + name)\n }\n }\n\n save(name: string) {\n let value = this.form.get(name)?.getRawValue()\n this.localStorageService.set(this.localStoragePrefix + name, value)\n }\n\n selecionaEstadoNaturalidade(): void {\n const estado = this.form.get('uf')?.value\n this.cidades = this.cidadeService.get(estado ?? '')\n }\n\n selecionaEstadoInstituicao(): void {\n const estado = this.form.get('ufEscola')?.value\n this.cidadesInstituicao = this.cidadeService.get(estado ?? '')\n }\n\n toggleEstrangeiro() {\n if (this.form.controls['estrangeiro'].value) {\n if (this.form.controls['nacionalidade'].value === 'BR') {\n this.form.controls['nacionalidade'].setValue('')\n }\n this.save('nacionalidade')\n if (this.cidades.length > 0) {\n this.form.controls['naturalidade'].setValue('')\n }\n this.save('naturalidade')\n this.form.controls['uf'].setValue('')\n this.save('uf')\n this.form.controls['cpf'].setValue('')\n this.save('cpf')\n this.form.get('cpf')?.clearValidators()\n this.form.get('cpf')?.updateValueAndValidity()\n this.form.get('passaporte')?.setValidators([Validators.required])\n this.form.get('passaporte')?.updateValueAndValidity()\n this.form.get('paisNaturalidade')?.setValidators([Validators.required])\n this.form.get('uf')?.clearValidators()\n this.form.get('uf')?.updateValueAndValidity()\n this.form.get('rgNumero')?.clearValidators()\n this.form.get('rgNumero')?.updateValueAndValidity()\n this.form.controls['rgNumero'].setValue('')\n this.save('rgNumero')\n this.form.get('rgOrgao')?.clearValidators()\n this.form.get('rgOrgao')?.updateValueAndValidity()\n this.form.controls['rgOrgao'].setValue('')\n this.save('rgOrgao')\n this.form.get('rgUfExpedicao')?.clearValidators()\n this.form.get('rgUfExpedicao')?.updateValueAndValidity()\n this.form.controls['rgUfExpedicao'].setValue('')\n this.save('rgUfExpedicao')\n this.form.get('dataExpedicaoRg')?.clearValidators()\n this.form.get('dataExpedicaoRg')?.updateValueAndValidity()\n this.form.controls['dataExpedicaoRg'].setValue('')\n this.save('dataExpedicaoRg')\n this.form.get('tituloEleitor')?.clearValidators()\n this.form.get('tituloEleitor')?.updateValueAndValidity()\n this.form.controls['tituloEleitor'].setValue('')\n this.save('tituloEleitor')\n this.form.get('tituloEleitorZona')?.clearValidators()\n this.form.get('tituloEleitorZona')?.updateValueAndValidity()\n this.form.controls['tituloEleitorZona'].setValue('')\n this.save('tituloEleitorZona')\n this.form.get('tituloEleitorSecao')?.clearValidators()\n this.form.get('tituloEleitorSecao')?.updateValueAndValidity()\n this.form.controls['tituloEleitorSecao'].setValue('')\n this.save('tituloEleitorSecao')\n this.form.get('dataExpedicaoTituloEleitor')?.clearValidators()\n this.form.get('dataExpedicaoTituloEleitor')?.updateValueAndValidity()\n this.form.controls['dataExpedicaoTituloEleitor'].setValue('')\n this.save('dataExpedicaoTituloEleitor')\n } else {\n this.form.get('cpf')?.setValidators([Validators.required])\n this.form.get('cpf')?.updateValueAndValidity()\n this.form.controls['passaporte'].setValue('')\n this.save('passaporte')\n this.form.get('passaporte')?.clearValidators()\n this.form.get('passaporte')?.updateValueAndValidity()\n this.form.get('paisNaturalidade')?.clearValidators()\n this.form.controls['paisNaturalidade'].setValue('')\n this.form.controls['nacionalidade'].setValue('BR')\n this.save('BR')\n this.form.get('uf')?.setValidators([Validators.required])\n this.form.get('rgNumero')?.setValidators([Validators.required, Validators.pattern(this.rgPattern)])\n this.form.get('rgNumero')?.updateValueAndValidity()\n this.form.get('rgOrgao')?.setValidators([Validators.required])\n this.form.get('rgOrgao')?.updateValueAndValidity()\n this.form.get('rgUfExpedicao')?.setValidators([Validators.required])\n this.form.get('rgUfExpedicao')?.updateValueAndValidity()\n this.form.get('dataExpedicaoRg')?.setValidators([Validators.required])\n this.form.get('dataExpedicaoRg')?.updateValueAndValidity()\n this.form.get('tituloEleitor')?.setValidators([Validators.required])\n this.form.get('tituloEleitor')?.updateValueAndValidity()\n this.form.get('tituloEleitorZona')?.setValidators([Validators.required])\n this.form.get('tituloEleitorZona')?.updateValueAndValidity()\n this.form.get('tituloEleitorSecao')?.setValidators([Validators.required])\n this.form.get('tituloEleitorSecao')?.updateValueAndValidity()\n this.form.get('dataExpedicaoTituloEleitor')?.setValidators([Validators.required])\n this.form.get('dataExpedicaoTituloEleitor')?.updateValueAndValidity()\n }\n }\n\n toggleInstituicaoEstrangeira() {\n if (this.form.controls['instituicaoEstrangeira'].value) {\n this.form.controls['ufEscola'].setValue('')\n this.save('ufEscola')\n this.form.controls['cidadeEscola'].setValue('')\n this.form.controls['paisEscola'].setValue('')\n this.form.get('ufEscola')?.clearValidators()\n this.form.get('ufEscola')?.updateValueAndValidity()\n } else {\n this.form.controls['cidadeEscola'].setValue('')\n this.form.get('ufEscola')?.setValidators([Validators.required])\n this.form.get('ufEscola')?.updateValueAndValidity()\n this.form.controls['paisEscola'].setValue('Brasil')\n }\n this.save('cidadeEscola')\n this.save('paisEscola')\n }\n\n validaCpf() {\n let cpf = this.form.get('cpf')?.value\n if (!this.validacaoService.isCPFValid(cpf!)) {\n this.form.get('cpf')?.setErrors({ incorrect: true })\n }\n }\n\n pesquisaCpf() {\n let cpfFc = this.form.get('cpf')\n\n if (cpfFc?.value && cpfFc?.valid) {\n let cpf = cpfFc.value\n this.edicaoAlunoService.getAlunoPreExistente(cpf).subscribe(resp => {\n if (resp) this.carregarAluno('CPF', cpf, resp)\n else this.alunoNaoEncontradoMsg('CPF', cpf)\n })\n }\n }\n\n pesquisaPassaporte() {\n let passaporteFc = this.form.get('passaporte')\n\n if (passaporteFc?.value) {\n let passaporte = passaporteFc.value\n this.edicaoAlunoService.getAlunoPreExistente(passaporte).subscribe(resp => {\n if (resp) this.carregarAluno('passaporte', passaporte, resp)\n else this.alunoNaoEncontradoMsg('passaporte', passaporte)\n })\n }\n }\n\n alunoNaoEncontradoMsg(chave: string, valor: string) {\n this.unespCoreMessageService.showMessageWarning(`Aluno com o ${chave} ${valor} não encontrado`)\n }\n\n carregarAluno(chave: string, valor: string, aluno: EdicaoAlunoForm) {\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `Aluno com o ${chave} ${valor} encontrado, carregar os dados do sistema?`\n )\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) this.setForm(aluno)\n })\n }\n\n formataCpf() {\n let cpf = this.form.get('cpf')?.value\n cpf = cpf?.replace(/[^\\w\\s]/gi, '')\n this.form.controls['cpf'].setValue(cpf!)\n }\n\n validaCEP(): void {\n this.validacaoService.validaCEP(this.form)\n }\n\n formataCEP(): void {\n let enderecoCep = this.form.get('enderecoCep')?.value\n enderecoCep = enderecoCep?.replace('.', '').replace('-', '')\n this.form.controls['enderecoCep'].setValue(enderecoCep!)\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAllAsTouched()\n }\n if (\n name.startsWith('data') &&\n this.form.get(name)?.value?.length > 0 &&\n !this.dataService.dateIsValid(this.form.get(name)?.value)\n ) {\n this.form.get(name)?.setErrors({ incorrect: true })\n }\n }\n for (const index in this.formFC.controls.campos.controls) {\n if (this.formFC.controls.campos.get(index)?.invalid) {\n this.formFC.controls.campos.get(index)?.markAllAsTouched()\n }\n }\n }\n\n async gravar() {\n const formControlObject = this.form.controls as { [key: string]: AbstractControl }\n if (!this.form.controls['estrangeiro'].value) {\n this.validaCpf()\n }\n\n if (this.form.controls['estrangeiro'].value || this.form.controls['sexo'].value === '1') {\n this.form.controls['reservistaNumero'].reset()\n this.form.controls['reservistaCsm'].reset()\n }\n\n this.formataCEP()\n this.applyTouchedToInvalidFields()\n\n if (!this.form.valid || !this.formFC.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n this.formataCpf()\n let formulario = (this.form.getRawValue())\n formulario.dataExpedicaoRg = this.dataService.stringBrToStringUs(formulario.dataExpedicaoRg)\n formulario.dataExpedicaoTituloEleitor = this.dataService.stringBrToStringUs(formulario.dataExpedicaoTituloEleitor)\n formulario.dataNascimento = this.dataService.stringBrToStringUs(formulario.dataNascimento)\n formulario.dataConclusao = this.dataService.stringBrToStringUs(formulario.dataConclusao)\n\n if (formulario.estrangeiro) {\n formulario.cpfAluno = this.form.get('passaporte')?.value!\n } else {\n formulario.cpfAluno = this.form.get('cpf')?.value!\n }\n\n if (formulario.genero == \"\") {\n formulario.genero = null\n }\n\n if (formulario.deficiencia == \"\") {\n formulario.deficiencia = null\n }\n\n // Verifica se o valor digitado nos campos de cidade naturalidade e cidade instituição são válidos\n if (!this.form.controls['estrangeiro'].value &&\n !this.cidades.includes(formControlObject['naturalidade'].getRawValue())) {\n formControlObject['naturalidade'].reset()\n return\n }\n if (!this.form.controls['instituicaoEstrangeira'].value &&\n !this.cidadesInstituicao.includes(formControlObject['cidadeEscola'].getRawValue())) {\n formControlObject['cidadeEscola'].reset()\n return\n }\n\n if (this.id) {\n this.edicaoAlunoService.atualizar(this.id, formulario).subscribe(aluno => {\n this.arquivoUpload()\n this.updateFormularioComplementar()\n this.unespCoreMessageService.showMessageSuccess(\n `Aluno(a) ${formulario.nomeSocial ? formulario.nomeSocial : formulario.nome} atualizado(a) com sucesso`\n )\n this.clearLocalStorage()\n this.router.navigate([`unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos`])\n })\n } else {\n this.edicaoAlunoService.gravar(formulario).subscribe(aluno => {\n this.arquivoUpload()\n this.updateFormularioComplementar()\n this.unespCoreMessageService.showMessageSuccess(\n `Aluno(a) ${formulario.nomeSocial ? formulario.nomeSocial : formulario.nome} cadastrad(a) com sucesso`\n )\n this.clearLocalStorage()\n this.router.navigate([`unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos`])\n })\n }\n }\n\n private arquivoUpload() {\n this.arquivoDocumentoUpload?.forEach((documentoAtual, index) => {\n const doc = this.documentosInscricao.controls[index]\n const cursoEdicaoDocumentoInscricaoId = doc.get('id')?.value\n documentoAtual.uploadPath = `edicao-aluno/${this.id}/upload/${cursoEdicaoDocumentoInscricaoId}`\n if (doc.get('documentoFC')?.value.status == ArquivoStatus.SELECIONADO) {\n documentoAtual.upload()\n }\n })\n }\n\n private updateFormularioComplementar() {\n if (this.id) {\n const formulario = this.formFC.controls.campos.getRawValue().map((c: EdicaoAlunoFormularioComplementar) => ({\n cefcId: c.cefcId,\n aefcId: c.aefcId,\n resposta: Array.isArray(c.resposta) ? c.resposta.join('\\n') : c.resposta\n }))\n this.edicaoAlunoService.atualizarFormularioComplementar(this.id, formulario).subscribe()\n }\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE', 'STPG', 'EQUIPE-APOIO'])\n }\n\n podePesquisar(): boolean {\n return !this.isReadOnly() && !this.id\n }\n\n checkIsReadOnly(): void {\n this.checkReadOnly = !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE', 'STPG', 'EQUIPE-APOIO'])\n if (this.checkReadOnly) {\n this.form.disable()\n this.formFC.disable()\n }\n }\n\n voltar(): void {\n if (this.perfilDiscente()) {\n this.router.navigate(['/discente/curso-edicao'])\n } else {\n this.router.navigate([`/unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos`])\n }\n }\n\n filtroAutocomplete(formControlName: string) {\n const formControlObject = this.form.controls as { [key: string]: AbstractControl }\n this.cidadesFiltered = formControlObject[formControlName].valueChanges.pipe(\n startWith(''),\n map(value => {\n return formControlName === 'naturalidade' ? this._filtroAutocompleteNaturalidade(value) : this._filtroAutocompleteCidadeInstituicao(value)\n })\n )\n }\n\n private _filtroAutocompleteNaturalidade(valorDigitado: string): string[] {\n return this.cidades.filter(cidade => cidade.normalize('NFD').replace(/\\p{Diacritic}/gu, '').toLowerCase().includes(valorDigitado))\n }\n\n private _filtroAutocompleteCidadeInstituicao(valorDigitado: string): string[] {\n return this.cidadesInstituicao.filter(cidade => cidade.normalize('NFD').replace(/\\p{Diacritic}/gu, '').toLowerCase().includes(valorDigitado))\n }\n\n protected readonly permiteApenasAlfanumericoComPontoHifen = permiteApenasAlfanumericoComPontoHifen\n protected readonly permiteApenasNumeros = permiteApenasNumeros\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n} from '@unesp/core'\nimport { Observable, identity } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { AlunoEdicaoEnfase } from '../models/aluno-edicao-enfase'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlunoEdicaoEnfaseService extends UnespCoreGenericService {\n readonly ROUTE = 'aluno-edicao-enfase'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n getByAlunoEdicao(alunoEdicaoId: number): Observable {\n return this.findById(this.ROUTE, alunoEdicaoId)\n }\n\n gravar(alunoEdicaoEnfases: AlunoEdicaoEnfase[]): Observable {\n return this.create(this.ROUTE, alunoEdicaoEnfases).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","
\n

Módulo do aluno: {{ nomeAluno }}

\n
\n\n

Informações:

\n
    \n
  • Quando um módulo do aluno é removido ou substituído, todos os registros de notas e faltas das disciplinas vinculadas a esse módulo serão excluídos.
  • \n
\n
\n\n \n
\n \n @if (alunoEdicaoEnfasePreferencia.length) {\n
\n
\n Ordem de Preferência\n
    \n @for (item of alunoEdicaoEnfasePreferencia; track $index) {\n
  1. {{item.descricao}}
  2. \n }\n
\n
\n
\n }\n\n
\n
\n
\n \n
\n \n
\n \n {{ enfase.value.enfaseDescricao }}\n {{ enfase.value.isModuloComum ? ' (Módulo Comum)' : '' }}\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n Data da Matrícula\n \n \n \n \n
\n
\n
\n
\n\n \n
\n \n \n
\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { AlunoEdicaoEnfaseService } from '../../../services/aluno-edicao-enfase.service'\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms'\nimport { EdicaoAlunoService } from '../../../services/edicao-aluno.service'\nimport { AlunoEdicaoEnfase } from '../../../models/aluno-edicao-enfase'\nimport { AlunoEdicaoEnfasePreferencia } from '../../../models/aluno-edicao-enfase-preferencia'\n\nexport interface AlunoEdicaoEnfaseData {\n id: number\n dataMatricula: Date\n}\n\n@Component({\n selector: 'app-edicao-aluno-enfase',\n templateUrl: './edicao-aluno-enfase.component.html',\n styleUrls: ['./edicao-aluno-enfase.component.css'],\n})\nexport class EdicaoAlunoEnfaseComponent implements OnInit {\n form: FormGroup\n nomeAluno?: string\n isReadOnly: boolean = true\n alunoEdicaoEnfasePreferencia: AlunoEdicaoEnfasePreferencia[] = []\n\n constructor(\n private alunoEdicaoEnfaseService: AlunoEdicaoEnfaseService,\n private unespCoreMessageService: UnespCoreMessageService,\n private unespCoreAuthService: UnespCoreAuthService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: AlunoEdicaoEnfaseData,\n private fb: FormBuilder,\n private edicaoAlunoService: EdicaoAlunoService,\n ) {\n this.form = this.fb.group({\n enfasesForm: this.fb.array([]),\n })\n this.edicaoAlunoService.getEdicaoAluno(this.data.id).subscribe(obj => {\n this.nomeAluno = obj.nome\n })\n }\n\n ngOnInit(): void {\n this.checkIsReadOnly()\n this.edicaoAlunoService.getPreferenciaEnfaseByAlunoEdicao(this.data.id).subscribe(obj => {\n this.alunoEdicaoEnfasePreferencia = obj\n })\n this.alunoEdicaoEnfaseService.getByAlunoEdicao(this.data.id).subscribe(obj => {\n obj.forEach(enfase => {\n const enfaseForm = this.fb.group({\n id: [enfase.id],\n alunoEdicaoId: [enfase.alunoEdicaoId, Validators.required],\n enfaseModuloId: [enfase.enfaseModuloId, Validators.required],\n enfaseDescricao: [enfase.enfaseDescricao, Validators.required],\n isModuloComum: [enfase.isModuloComum],\n enabled: [Boolean(enfase.id) || enfase.isModuloComum],\n })\n if (enfaseForm.controls['isModuloComum'].value) {\n enfaseForm.controls['enabled'].disable()\n }\n this.enfasesForm.push(enfaseForm)\n })\n })\n }\n\n private checkIsReadOnly(): void {\n this.isReadOnly =\n !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE']) &&\n !this.unespCoreAuthService.hasPermissionBasedRoles(['STPG'])\n }\n\n get enfasesForm() {\n return this.form.controls['enfasesForm'] as FormArray\n }\n\n fechar() {\n this.dialogRef.close()\n }\n\n async gravar() {\n let enfaseArray = this.montaListEnfaseArray()\n\n this.alunoEdicaoEnfaseService.gravar(enfaseArray).subscribe(retorno => {\n this.unespCoreMessageService.showMessageSuccess(`Módulos salvos com sucesso`)\n this.dialogRef.close(this.data)\n })\n }\n\n montaListEnfaseArray(): AlunoEdicaoEnfase[] {\n let enfaseArray: AlunoEdicaoEnfase[] = []\n for (const control in this.enfasesForm.controls) {\n const enfase: AlunoEdicaoEnfase = {\n id: this.enfasesForm.controls[control].value.id,\n alunoEdicaoId: this.enfasesForm.controls[control].value.alunoEdicaoId,\n enfaseModuloId: this.enfasesForm.controls[control].value.enfaseModuloId,\n enfaseDescricao: this.enfasesForm.controls[control].value.enfaseDescricao,\n isModuloComum: this.enfasesForm.controls[control].value.isModuloComum,\n enabled: !!this.enfasesForm.get([control, 'enabled'])?.getRawValue(),\n }\n enfaseArray.push(enfase)\n }\n return enfaseArray\n }\n}\n","\n\n\n
\n
\n \n add\n Adicionar\n \n \n grading\n Alterar Situação\n \n \n \n
\n
\n
\n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CPF{{ row.cpfAluno }}Nome{{ row.nome }}Data da inscrição{{ row.dataInscricao | date : 'dd/MM/yyyy' }}Situação\n\n \n \n \n {{ row.value }}\n \n \n \n\n \n \n \n {{ row.value }}\n \n \n \n\n \n \n \n {{ row.value }}\n \n \n \n\n \n \n \n {{ row.value }}\n \n \n \n\n \n \n \n {{ row.value }}\n \n \n \n\n \n \n \n {{ row.value }}\n \n \n \n \n
\n \n rule\n \n \n edit_note\n \n \n sync\n \n \n school\n \n \n \n
\n
Não há dados a serem exibidos
\n\n\n \n \n \n\n","

Atenção

\n\n \n

Confirma que o aluno {{ dados.nome }} está {{ dados.situacao }}?

\n
\n \n Data\n \n \n \n \n \n Enviar notificação da alteração para o aluno?\n \n
\n
\n\n \n \n\n
\n","import { AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core'\nimport {\n MAT_DIALOG_DATA,\n MatDialog,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreApiErrorHandlerService, UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { EdicaoAlunoListar } from 'src/app/models/edicao-aluno-listar'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { EdicaoAlunoMonografiaEditarComponent } from '../../edicao-aluno-monografia/edicao-aluno-monografia-editar/edicao-aluno-monografia-editar.component'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport {\n InscricaoSituacao,\n InscricaoSituacaoParaDesligado,\n InscricaoSituacaoParaFormado,\n InscricaoSituacaoParaInscrito,\n InscricaoSituacaoParaMatriculado,\n InscricaoSituacaoParaPreInscrito,\n InscricaoSituacaoParaReprovado,\n} from 'src/app/enums/inscricao-situacao'\nimport { MatSelect } from '@angular/material/select'\nimport { CursoEdicaoSituacao } from '../../../../enums/curso-edicao-situacao'\nimport { EdicaoAlunoEnfaseComponent } from '../../edicao-aluno-enfase/edicao-aluno-enfase.component'\nimport { EdicaoDisciplinaService } from '../../../../services/edicao-disciplina.service'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { CursoEdicaoDetalhes } from 'src/app/models/curso-edicao-detalhes'\nimport { CentralAcessosEditarComponent } from '../../central-acessos/central-acessos-editar.component'\n\n@Component({\n selector: 'app-edicao-aluno-listar',\n templateUrl: './edicao-aluno-listar.component.html',\n styleUrls: ['./edicao-aluno-listar.component.css'],\n})\nexport class EdicaoAlunoListarComponent implements OnInit, AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'cpfAluno',\n 'nome',\n 'dataInscricao',\n 'status',\n 'action',\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n filtroSituacaoSelecionado: string = ''\n cacheSearch: string = 'edicao-aluno-listar.search'\n filtroSituacaoCache: string = 'edicao-aluno-listar.filtro-situacao.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n cursoEdicaoPossuiEnfase?: boolean\n data?: CursoEdicaoDetalhes\n enviarNotificacao: boolean = true\n situacoes = InscricaoSituacao\n situacoesParaPreInscritos = InscricaoSituacaoParaPreInscrito\n situacoesParaInscritos = InscricaoSituacaoParaInscrito\n situacoesParaMatriculados = InscricaoSituacaoParaMatriculado\n situacoesParaFormados = InscricaoSituacaoParaFormado\n situacoesParaReprovados = InscricaoSituacaoParaReprovado\n situacoesParaDesligados = InscricaoSituacaoParaDesligado\n situacoesPrevias: string[] = []\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' }, \n { label: 'Alunos', route: '', icon: 'groups' }, \n ] \n\n isReadOnly: boolean = true\n constructor(\n private edicaoAlunoService: EdicaoAlunoService,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private route: ActivatedRoute,\n private dialog: MatDialog,\n private apiErrorHandlerService: UnespCoreApiErrorHandlerService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService,\n private cursoEdicaoService: CursoEdicaoService,\n ) {\n }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Alunos`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos`,\n icon: 'groups',\n }\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.data = obj\n this.cursoNome = obj.nomeCurso\n })\n this.edicaoDisciplinaService.possuiEnfase(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoPossuiEnfase = obj\n })\n })\n this.checkIsReadOnly()\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.localStorageService.get(this.filtroSituacaoCache) ?? ''\n this.reloadTable()\n }, 0)\n //\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable(): void {\n this.edicaoAlunoService\n .listar(\n this.cursoId,\n this.edicao,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.localStorageService.get(this.filtroSituacaoCache)\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n this.situacoesPrevias = []\n this.dataSource.data.forEach(d => {\n this.situacoesPrevias.push(d.status)\n })\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.reloadTable()\n }\n\n editar(id: number) {\n this.router.navigate([`unidade/curso-edicao/${this.cursoId}/${this.edicao}/aluno/cadastro/${id}`])\n }\n\n excluir(id: number, nome: string) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Deseja realmente excluir o aluno ${nome}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.edicaoAlunoService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.apiErrorHandlerService.handle(err)\n },\n })\n }\n })\n }\n\n monografia(alunoEdicaoId: string, cpfAluno: string) {\n this.dialog.open(EdicaoAlunoMonografiaEditarComponent, {\n data: { alunoEdicaoId: alunoEdicaoId, cpfAluno: cpfAluno },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n enfase(id: number) {\n this.dialog.open(EdicaoAlunoEnfaseComponent, { data: { id: id }, panelClass: 'my-dialog-resizer' })\n }\n\n verificaAlterarSituacao(data: EdicaoAlunoListar, index: number) {\n if (data.status === this.situacoes.Matriculado && this.cursoEdicaoPossuiEnfase) {\n this.abrirEnfases(data, index)\n } else {\n this.confirmaAlterarSituacao(data, index)\n }\n }\n\n abrirEnfases(data: EdicaoAlunoListar, index: number) {\n let dialogRef = this.dialog.open(EdicaoAlunoEnfaseComponent, {\n data: { id: data.id, dataMatricula: new Date() },\n panelClass: 'my-dialog-resizer',\n })\n dialogRef.afterClosed().subscribe(resp => {\n if (resp) {\n this.alteraSituacao(data, index, resp.dataMatricula, resp.enviarNotificacao)\n } else {\n this.dataSource.data[index].status = this.situacoesPrevias[index]\n }\n })\n }\n\n confirmaAlterarSituacao(dataAluno: EdicaoAlunoListar, index: number) {\n let mostrarData = this.mostrarData(dataAluno)\n const dialogRef = this.dialog.open(ConfirmaAlterarStatusAlunoDialogComponent, {\n data: {\n nome: dataAluno.nome,\n situacao: dataAluno.status,\n data: new Date(),\n enviarNotificacao: true,\n mostrarData: mostrarData\n },\n })\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.alteraSituacao(dataAluno, index, res.data, res.enviarNotificacao)\n } else {\n this.dataSource.data[index].status = this.situacoesPrevias[index]\n }\n })\n }\n\n mostrarData(dataAluno: EdicaoAlunoListar) {\n return (dataAluno.status === InscricaoSituacao.Inscrito ||\n dataAluno.status === InscricaoSituacao.Matriculado ||\n dataAluno.status === InscricaoSituacao.Formado ||\n dataAluno.status === InscricaoSituacao.Desligado)\n }\n\n alteraSituacao(data: EdicaoAlunoListar, index: number, dataAlteracao: Date | undefined, enviarNotificacao: boolean) {\n this.edicaoAlunoService.atualizarStatus(data.id, data.status, dataAlteracao, enviarNotificacao).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Situação registrada com sucesso')\n },\n complete: () => {\n this.reloadTable()\n }\n })\n }\n\n abrirLattes(numLattes: string): void {\n window.open('http://lattes.cnpq.br/' + numLattes, '_blank')\n }\n\n private checkIsReadOnly(): void {\n this.isReadOnly = !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE', 'STPG', 'EQUIPE-APOIO'])\n }\n\n centralAcessos() {\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `Deseja enviar os dados dos alunos Matriculados e Formados para a Central de Acessos?`\n )\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.edicaoAlunoService.centralDeAcessos(this.cursoId, this.edicao)\n }\n })\n }\n\n checkCentralAcessos(data: EdicaoAlunoListar): void {\n this.dialog.open(CentralAcessosEditarComponent, {\n data: {\n idAlunoEdicao: data.id\n },\n panelClass: 'my-dialog-resizer'\n })\n }\n\n exportar() {\n this.edicaoAlunoService.gerarArquivoCsv(\n this.cursoId,\n this.edicao,\n this.pesquisa?.nativeElement.value,\n this.filtroSituacao?.value\n )\n }\n\n protected readonly CursoEdicaoSituacao = CursoEdicaoSituacao\n protected readonly InscricaoSituacao = InscricaoSituacao\n}\n\n@Component({\n selector: 'app-confirma-alterar-status-aluno-dialog',\n templateUrl: 'edicao-aluno-listar-confirma-alterar-status-dialog.html',\n})\n\nexport class ConfirmaAlterarStatusAlunoDialogComponent {\n \n enviarNotificacao: boolean = false\n \n constructor(\n @Inject(MAT_DIALOG_DATA) public dados: DadosAlterarSituacao,\n public dialogRef: MatDialogRef\n ) {\n }\n\n onNoClick(): void {\n this.dialogRef.close()\n }\n}\n\nexport interface DadosAlterarSituacao {\n nome: string\n situacao: string\n data: Date\n enviarNotificacao: boolean\n mostrarData: boolean\n}","\n\n\n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Nome{{ row.nome }}CPF{{ row.cpfAluno }}Email{{ row.email }}Situação{{ row.status }}Unidade\n {{ row.campus }} - {{ row.sigla }}\n {{ row.sigla }}\n Curso{{ row.nomeCurso }}Edição{{ row.numeroEdicao }}Central de Acessos{{ row.idUsuarioCentralAcesso ? 'Sim' : 'Não' }}\n
\n \n school\n \n
\n
Não há dados a serem exibidos
\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatSelect } from '@angular/material/select'\nimport { InscricaoSituacao } from 'src/app/enums/inscricao-situacao'\nimport { EdicaoAlunoListagemGeral } from 'src/app/models/edicao-aluno-listagem-geral'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-edicao-aluno-listagem-geral',\n templateUrl: './edicao-aluno-listagem-geral.component.html',\n styleUrls: ['./edicao-aluno-listagem-geral.component.css'],\n})\nexport class EdicaoAlunoListagemGeralComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'nome',\n 'cpfAluno',\n 'email',\n 'status',\n 'campus',\n 'nomeCurso',\n 'numeroEdicao',\n 'idUsuarioCentralAcesso',\n 'action'\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n filtroSituacaoSelecionado: string = ''\n cacheSearch: string = 'edicao-aluno-listagem-geral.search'\n filtroSituacaoCache: string = 'edicao-aluno-listagem-geral.filtro-situacao.search'\n situacoes = InscricaoSituacao\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Alunos', route: '/unidade/alunos', icon: 'groups' },\n ] \n\n constructor(private edicaoAlunoService: EdicaoAlunoService, private localStorageService: LocalStorageService) {}\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.localStorageService.get(this.filtroSituacaoCache) ?? ''\n this.reloadTable()\n }, 0)\n //\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable(): void {\n this.edicaoAlunoService\n .listagemGeral(\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.localStorageService.get(this.filtroSituacaoCache)\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.reloadTable()\n }\n\n abrirLattes(numLattes: string): void {\n window.open('http://lattes.cnpq.br/' + numLattes, '_blank')\n }\n}\n","\n\n\n
\n

\n

Módulo: {{ enfaseNome }}\n

\n
\n \n
\n
\n\n\n search\n Pesquisar\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CPF{{ row.cpf }}Aluno{{ row.nomeAluno }}Situação{{ row.status }}Nota\n
\n \n
\n
Frequência (%)\n
\n \n
\n
Conceito\n
\n \n \n {{ conceito.value }}\n \n \n
\n
\n Nenhum registro disponível\n
\n\n\n \n \n \n \n\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { AlunoDisciplinaService } from 'src/app/services/aluno-disicplina.service'\nimport { AlunoDisciplina } from 'src/app/models/aluno-disciplina'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { ExportarCSVService } from '../../../../services/exportarCSV.service'\nimport { ConceitoAlunoDisciplina } from '../../../../enums/conceito-aluno-disciplina'\nimport { LogTipoAcao } from '../../../../enums/logs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-nota-falta-listar-editar',\n templateUrl: './nota-falta-listar-editar.component.html',\n styleUrls: ['./nota-falta-listar-editar.component.css'],\n})\nexport class NotaFaltaListarEditarComponent implements OnInit {\n colunasGrid: string[] = ['cpf', 'nomeAluno', 'status', 'nota', 'frequencia', 'conceito']\n dataSource: MatTableDataSource = new MatTableDataSource()\n\n cursoId!: number\n edicao!: number\n disciplinaId!: number\n cursoNome!: string\n enfaseNome?: string\n disciplinaNome!: string\n classNota: string[] = []\n classFrequencia: string[] = []\n conceitos = ConceitoAlunoDisciplina\n\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild('pesquisa') pesquisa!: ElementRef\n alunosDisciplinas: AlunoDisciplina[] = []\n alunosDisciplinasOriginais: AlunoDisciplina[] = []\n totalElements: number = 0\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Notas/Faltas', route: '/unidade/nota-falta', icon: 'rule' },\n ]\n \n constructor(\n private alunoDisciplinaService: AlunoDisciplinaService,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router,\n private unespCoreAuthService: UnespCoreAuthService,\n private exportarCSVService: ExportarCSVService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.disciplinaId = params['disciplinaId']\n this.breadcrumbs[2] = {\n label: `Notas/Faltas`,\n route: `/unidade/nota-falta${this.cursoId}/${this.edicao}}/${this.disciplinaId}`,\n icon: 'rule',\n }\n this.edicaoDisciplinaService.getEdicaoDisciplina(this.disciplinaId).subscribe(data => {\n this.cursoNome = data.nomeCurso\n this.disciplinaNome = data.nomeDisciplina\n this.enfaseNome = data.enfase\n })\n })\n }\n\n ngOnInit(): void {\n this.alunoDisciplinaService\n .listar(this.cursoId, this.edicao, this.disciplinaId)\n .subscribe((data: AlunoDisciplina[]) => {\n for (const element of data) {\n element.nota = element.nota != null ? element.nota.toString().replaceAll('.', ',') : ''\n this.classNota.push('input-border-ok')\n this.classFrequencia.push('input-border-ok')\n }\n this.dataSource = new MatTableDataSource(data)\n this.alunosDisciplinas = data.map(d => ({ ...d }))\n this.alunosDisciplinasOriginais = data.map(d => ({ ...d }))\n this.totalElements = this.alunosDisciplinas.length\n this.dataSource.paginator = this.paginator\n })\n }\n\n pesquisar() {\n let filtered = this.alunosDisciplinas.filter(a => \n a.nomeAluno.toLowerCase().includes(this.pesquisa?.nativeElement.value.toLowerCase()) ||\n a.cpf.toLowerCase().includes(this.pesquisa?.nativeElement.value.toLowerCase())\n )\n this.dataSource = new MatTableDataSource(filtered)\n this.totalElements = filtered.length\n this.dataSource.paginator = this.paginator\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE', 'STPG', 'EQUIPE-APOIO'])\n }\n\n gravar(): void {\n let erros: number = 0\n this.classNota.forEach(c => {\n if (c === 'input-border-error') {\n erros += 1\n }\n })\n this.classFrequencia.forEach(f => {\n if (f === 'input-border-error') {\n erros += 1\n }\n })\n // Não é obrigatório preencher todas as notas e faltas\n // for (let i = 0; i < this.dataSource.data.length; i++) {\n // if (this.dataSource.data[i].nota == '' || this.dataSource.data[i].nota == null) {\n // this.classNota[i] = \"input-border-error\"\n // erros += 1\n // }\n // if (this.dataSource.data[i].frequencia == null) {\n // this.classFrequencia[i] = \"input-border-error\"\n // erros += 1\n // }\n // }\n if (erros) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n // Filtra os dados alterados\n const dadosAlterados = this.dataSource.data.filter((aluno, index) => {\n const original = this.alunosDisciplinasOriginais[index]\n // Comparar os campos que podem ser alterados\n return (\n aluno.nota !== original.nota || \n aluno.frequencia !== original.frequencia || \n aluno.conceito !== original.conceito\n )\n })\n if (dadosAlterados.length === 0) {\n this.unespCoreMessageService.showMessageInfo('Nenhuma alteração foi feita')\n return\n }\n\n this.alunoDisciplinaService\n .gravar(this.cursoId, this.edicao, this.disciplinaId, dadosAlterados)\n .subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Notas e faltas registradas com sucesso`)\n this.router.navigate(['/unidade/cursos-edicoes'])\n })\n }\n\n notaBlur(event: any, index: number) {\n this.classNota[index] = this.getNotaClass(event.target.value)\n }\n\n frequenciaBlur(event: any, index: number) {\n let frequencia = Number.parseFloat(event.target.value.replace(',', '.'))\n this.classFrequencia[index] = this.getFrequenciaClass(frequencia)\n }\n\n private getNotaClass(value: string): string {\n if (!value) {\n return 'input-border-ok'\n } else {\n let valor = Number.parseFloat(value.toString().replace(',', '.'))\n if (isNaN(valor) || valor > 10 || valor < 0) {\n return 'input-border-error'\n } else {\n return 'input-border-ok'\n }\n }\n }\n\n private getFrequenciaClass(valor: number): string {\n if (!valor) {\n return 'input-border-ok'\n } else {\n if (isNaN(valor) || valor > 100 || valor < 0) {\n return 'input-border-error'\n } else {\n return 'input-border-ok'\n }\n }\n }\n\n exportar() {\n this.alunoDisciplinaService.listar(this.cursoId, this.edicao, this.disciplinaId).subscribe(data => {\n let recursos: AlunoDisciplina[] = data\n let content = `\"CPF\",\"Nome\",\"Situação\",\"Nota\",\"Frequência\",\"Conceito\"\\r\\n`\n recursos.forEach(row => {\n content += `\"${row.cpf}\",\"${row.nomeAluno}\",\"${row.status}\",\"${row.nota ?? ''}\",\"${\n row.frequencia ?? ''}\",\"${row.conceito}\"\\r\\n`\n })\n this.exportarCSVService.exportar(content, `Notas e Faltas - ${this.disciplinaNome}`)\n })\n }\n\n protected readonly LogTipoAcao = LogTipoAcao\n}\n","\n\n
\n \n Tipo Documento\n \n \n {{ enum.value }}\n \n \n \n
\n \n print Emitir\n \n
\n
\n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n CPF{{ row.cpfAluno }}Nome{{ row.nome }}Situação{{ row.status }}
\n Nenhum registro encontrado para a pesquisa: \"{{ pesquisa.value }}\"\n Nenhum registro disponível\n
\n \n
\n\n \n \n \n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { FormControl } from '@angular/forms'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { CursoEdicaoRelatorioDisponivelParaEmissao } from 'src/app/enums/curso-edicao-relatorio'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { EdicaoAlunoRelatoriosService } from 'src/app/services/edicao-aluno-relatorios.service'\nimport { InscricaoSituacao } from 'src/app/enums/inscricao-situacao'\nimport { MatSelect } from '@angular/material/select'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\ninterface EdicaoAlunoRelatorioListar {\n id: number\n cpfAluno: string\n nome: string\n selecionado?: boolean\n}\n\n@Component({\n selector: 'app-edicao-aluno-relatorio-listar',\n templateUrl: './edicao-aluno-relatorio-listar.component.html',\n styleUrls: ['./edicao-aluno-relatorio-listar.component.css'],\n})\nexport class EdicaoAlunoRelatorioListarComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n totalElements: number = 0\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n cacheSearch: string = 'edicao-aluno-relatorio-listar.search'\n filtroSituacaoCache: string = 'edicao-aluno-relatorio-listar.filtro-situacao.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n\n colunasGrid: string[] = ['seletor', 'cpfAluno', 'nome', 'status']\n dataSource: MatTableDataSource = new MatTableDataSource()\n\n cursoEdicaoRelatorio = CursoEdicaoRelatorioDisponivelParaEmissao\n relatorioFC = new FormControl()\n\n todosSelecionados: boolean = false\n algunsSelecionados: boolean = false\n\n filtroSituacaoSelecionado: string = ''\n situacoes = InscricaoSituacao\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' }, \n { label: 'Lista de presença', route: '', icon: 'content_copy' }, \n\n ] \n constructor(\n private edicaoAlunoService: EdicaoAlunoService,\n private cursoService: CursoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private localStorageService: LocalStorageService,\n private edicaoAlunoRelatoriosService: EdicaoAlunoRelatoriosService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Emissão de documentos`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/relatorios`, \n icon: 'printer' ,\n }\n })\n this.cursoService.getCurso(this.cursoId).subscribe(obj => {\n this.cursoNome = obj.nome\n })\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.localStorageService.get(this.filtroSituacaoCache) ?? ''\n this.reloadTable()\n }, 0)\n //\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.edicaoAlunoService\n .listar(\n this.cursoId,\n this.edicao,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.localStorageService.get(this.filtroSituacaoCache)\n )\n .subscribe(page => {\n this.dataSource.data = page.content as EdicaoAlunoRelatorioListar[]\n this.totalElements = page.totalElements\n this.todosSelecionados = false\n this.algunsSelecionados = false\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.reloadTable()\n }\n\n toggleTodos(selecionado: boolean) {\n let tmp = this.dataSource.data\n\n for (let aluno of tmp) aluno.selecionado = selecionado\n\n this.dataSource.data = tmp\n\n if (selecionado) {\n this.todosSelecionados = true\n this.algunsSelecionados = false\n } else {\n this.todosSelecionados = false\n this.algunsSelecionados = false\n }\n }\n\n updateSelecionados() {\n const alunos = this.dataSource.data\n let count = 0\n\n for (let aluno of alunos) if (aluno.selecionado) count++\n\n if (count == 0) {\n this.todosSelecionados = false\n this.algunsSelecionados = false\n } else if (count == alunos.length) {\n this.todosSelecionados = true\n this.algunsSelecionados = false\n } else {\n this.todosSelecionados = true\n this.algunsSelecionados = true\n }\n }\n\n emitirRelatorios() {\n let selecionados: number[] = []\n\n for (let aluno of this.dataSource.data) if (aluno.selecionado) selecionados.push(aluno.id)\n\n if (selecionados.length == 0) return\n\n switch (this.relatorioFC.value) {\n case 'FICHA_INSCRICAO':\n this.edicaoAlunoRelatoriosService.getFichasDeInscricao(this.cursoId, this.edicao, selecionados)\n break\n case 'ATESTADO_MATRICULA':\n this.edicaoAlunoRelatoriosService.getAtestadoMatricula(this.cursoId, this.edicao, selecionados)\n break\n case 'ATESTADO_CONCLUSAO':\n this.edicaoAlunoRelatoriosService.getAtestadoDeConclusaoDoCurso(this.cursoId, this.edicao, selecionados)\n break\n case 'HISTORICO_ESCOLAR':\n this.edicaoAlunoRelatoriosService.getHistoricoEscolar(this.cursoId, this.edicao, selecionados)\n break\n // case 'CERTIFICADO':\n // this.edicaoAlunoRelatoriosService.getCertificado(this.cursoId, this.edicao, selecionados)\n // break\n case 'ESCOLHA_MODULO_CANDIDATO':\n this.edicaoAlunoRelatoriosService.getRelacaoEscolhaModuloAluno(this.cursoId, this.edicao, selecionados)\n break\n default:\n this.unespCoreMessageService.showMessageWarning('Não implementado')\n }\n }\n}\n","\n\n
\n \n Tipo Documento\n \n \n \n {{ documento.nomeDocumento }}\n \n \n \n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CPF{{ row.cpfAluno }}Nome{{ row.nomeAluno }}Situação{{ row.situacao }}Data/Hora envio{{row.dataHoraEnvio | date: 'dd/MM/yyyy HH:mm'}}Documento{{row.nomeDocumento}}\n \n -\n
Não há dados a serem exibidos
\n\n\n \n \n \n\n","import { CursoEdicaoDocumentoInscricaoService } from 'src/app/services/curso-edicao-documento-inscricao.service';\nimport { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreAuthService } from '@unesp/core'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { EdicaoAlunoDocumento } from 'src/app/models/edicao-aluno-documento'\nimport { ArquivoViewerDialogComponent } from 'src/app/modules/comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { MatDialog } from '@angular/material/dialog'\nimport { InscricaoSituacao } from 'src/app/enums/inscricao-situacao'\nimport { CursoEdicaoDocumentoInscricao } from 'src/app/models/curso-edicao-documento-inscricao'\nimport { MatSelect } from '@angular/material/select';\nimport { UnespBreadcrumbItem } from '@unesp/shared';\n@Component({\n selector: 'app-edicao-aluno-documento-listar',\n templateUrl: './edicao-aluno-documento-listar.component.html',\n styleUrls: ['./edicao-aluno-documento-listar.component.css'],\n})\nexport class EdicaoAlunoDocumentoListarComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n @ViewChild('filtroDocumento') filtroDocumento!: MatSelect\n\n colunasGrid: string[] = [\n 'cpfAluno',\n 'nomeAluno',\n 'situacao',\n 'dataHoraEnvio',\n 'documento',\n 'action'\n\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Documentos dos alunos', route: '/unidade/cursos-edicoes', icon: 'picture_as_pdf' },\n ]\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'edicao-aluno-documento.search'\n filtroSituacaoCache: string = 'edicao-aluno-relatorio-listar.filtro-situacao.search'\n filtroDocumentoCache: string = 'edicao-aluno-relatorio-listar.filtro-documento.search'\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n situacoes = InscricaoSituacao\n filtroSituacaoSelecionado: string = ''\n filtroDocumentoSelecionado: string = ''\n documentosCursoEdicao: CursoEdicaoDocumentoInscricao[] = []\n\n constructor(\n private edicaoAlunoService: EdicaoAlunoService,\n private cursoService: CursoService,\n private route: ActivatedRoute,\n private dialog: MatDialog,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService,\n private downloadService: ArquivoDownloadService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n })\n this.cursoService.getCurso(this.cursoId).subscribe(obj => {\n this.cursoNome = obj.nome\n })\n }\n\n ngAfterViewInit() {\n this.edicaoAlunoService.getDocumentos(this.cursoId, this.edicao).subscribe(obj => this.documentosCursoEdicao = obj)\n this.breadcrumbs[2] = {\n label: `Documentos dos alunos`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos-documentos`, \n icon: 'picture_as_pdf' ,\n }\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.localStorageService.get(this.filtroSituacaoCache) ?? ''\n this.filtroDocumento.value = this.localStorageService.get(this.filtroDocumentoCache) ?? ''\n this.reloadTable()\n }, 0)\n //\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable(): void {\n this.edicaoAlunoService\n .listarDocumentos(\n this.cursoId,\n this.edicao,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.localStorageService.get(this.filtroSituacaoCache),\n this.localStorageService.get(this.filtroDocumentoCache) ?? ''\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n visualizar(id: number, arquivo: string, titulo: string) {\n this.downloadService.arquivoObjectURLPorPath(`edicao-aluno/${id}/download`, arquivo).subscribe(url =>\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: { tituloDoArquivo: titulo, urlDoArquivo: url },\n width: '80%',\n height: '90%',\n })\n )\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.localStorageService.set(this.filtroDocumentoCache, this.filtroDocumento?.value)\n this.reloadTable()\n }\n}\n","\n\n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#{{ row.id }}Unidade{{ row.campus }}Nome{{ row.nome }}Edição{{ row.edicao }}Coordenador{{ row.nomeCoordenador }}Data inicial{{ row.dataInicialCurso | date : 'dd/MM/yyyy' }}Data final{{ row.dataFinalCurso | date : 'dd/MM/yyyy' }}Situação{{ row.situacao }}\n
\n \n \n \n \n \n \n
\n
Não há dados a serem exibidos
\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { CursoEdicao } from 'src/app/models/curso-edicao'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { MatSelect } from '@angular/material/select'\nimport { CursoEdicaoSituacaoPermiteAvaliacao } from '../../../../enums/curso-edicao-situacao'\nimport { MatDialog } from '@angular/material/dialog'\nimport { CursoEdicaoSituacaoComponent } from '../../curso-edicao/curso-edicao-situacao/curso-edicao-situacao.component'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-curso-edicao-avaliacao-listar',\n templateUrl: './curso-edicao-avaliacao-listar.component.html',\n styleUrls: ['./curso-edicao-avaliacao-listar.component.css'],\n})\nexport class CursoEdicaoAvaliacaoListarComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'id',\n 'campus',\n 'nome',\n 'edicao',\n 'nomeCoordenador',\n 'dataInicialCurso',\n 'dataFinalCurso',\n 'situacao',\n 'action',\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n \n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Avaliações', route: '/unidade/curso-edicao-avaliacoes', icon: 'addchart' },\n ] \n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n filtroSituacaoSelecionado: string = ''\n cacheSearch: string = 'curso-edicao-avaliacao-listar.search'\n filtroSituacaoCache: string = 'curso-edicao-avaliacao-listar.filtro-situacao.search'\n cursoId!: number\n\n situacoes = CursoEdicaoSituacaoPermiteAvaliacao\n\n constructor(\n private cursoEdicaoService: CursoEdicaoService,\n private route: ActivatedRoute,\n private localStorageService: LocalStorageService,\n private router: Router,\n private dialog: MatDialog,\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId'] ?? 0\n })\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.localStorageService.get(this.filtroSituacaoCache) ?? ''\n this.reloadTable()\n }, 0)\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.cursoEdicaoService\n .listarParaAvaliacao(\n this.cursoId,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.localStorageService.get(this.filtroSituacaoCache)\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.reloadTable()\n }\n\n avaliacaoParcialDiscentes(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/avaliacao-parcial-discente/${cursoId}/${edicao}`])\n }\n\n avaliacaoFinalDiscentes(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/avaliacao-final-discente/${cursoId}/${edicao}`])\n }\n\n situacao(cursoEdicao: CursoEdicao) {\n this.dialog.open(CursoEdicaoSituacaoComponent, {\n data: cursoEdicao,\n panelClass: 'my-dialog-resizer',\n })\n }\n}\n","
\n \n \n
\n
\n
\n CCPG\n
\n
\n \n Número do parecer da CCPG\n \n \n \n Número do despacho da SG\n \n \n \n Data CCPG\n \n close\n \n \n \n \n \n
\n \n Observações\n \n \n
\n
\n
\n PROPG\n
\n
\n \n Número informação AT/PROPG\n \n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core'\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'\nimport { Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { RelatorioDadosComplementares } from 'src/app/models/relatorio-dados-complementares'\nimport { RelatorioCoordenadorService } from 'src/app/services/relatorio-coordenador.service'\nimport { ArquivoDownloadService } from '../../../../services/arquivo-download.service'\nimport { DataService } from 'src/app/services/data.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { date2DatePicker } from 'src/app/utils/utils'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\n\n@Component({\n selector: 'app-dados-complementares-relatorio-editar',\n templateUrl: './dados-complementares-relatorio-editar.component.html',\n styleUrls: ['./dados-complementares-relatorio-editar.component.css'],\n})\nexport class DadosComplementaresRelatorioEditarComponent implements OnChanges {\n @Input() data?: RelatorioDadosComplementares = undefined\n isReadOnly: boolean = true\n isCepg: boolean = false\n\n parecerDespachoPattern: string = '^([0-9]{1,6})/([0-9]{4})$'\n informacaoAreaTecnicaPropgPattern: string = '^([0-9]{1,6})/([0-9]{4})$'\n\n form: FormGroup\n dadosUsuarioLogado?: UsuarioLogin\n\n constructor(\n private relatorioCoordenadorService: RelatorioCoordenadorService,\n private unespCoreMessageService: UnespCoreMessageService,\n private fb: FormBuilder,\n private router: Router,\n private unespCoreAuthService: UnespCoreAuthService,\n private arquivoDownloadService: ArquivoDownloadService,\n private dataService: DataService,\n private localStorageService: LocalStorageService,\n private userLoginService: UserLoginService,\n ) {\n this.isCepg = this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG'])\n this.form = this.fb.group({\n id: new FormControl(''),\n cursoId: new FormControl(''),\n edicao: new FormControl(''),\n tipo: new FormControl(''),\n numeroParecerCcpg: new FormControl('', Validators.pattern(this.parecerDespachoPattern)),\n numeroDespachoSg: new FormControl('', Validators.pattern(this.parecerDespachoPattern)),\n dataCCPG: new FormControl(new Date()),\n observacaoPropg: new FormControl(''),\n informacaoAreaTecnicaPropg: new FormControl('', Validators.pattern(this.informacaoAreaTecnicaPropgPattern)),\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['data']) {\n if (this.data) {\n this.form.controls['id'].setValue(this.data.id?.toString())\n this.form.controls['cursoId'].setValue(this.data.cursoId.toString())\n this.form.controls['edicao'].setValue(this.data.edicao.toString())\n this.form.controls['tipo'].setValue(this.data.tipo.toString())\n if (this.data.tipo.toString() === 'P') {\n this.form.controls['observacaoPropg'].setValidators(Validators.required)\n this.form.controls['observacaoPropg'].updateValueAndValidity()\n }\n this.form.controls['numeroParecerCcpg'].setValue(this.data.numeroParecerCcpg)\n this.form.controls['numeroDespachoSg'].setValue(this.data.numeroDespachoSg)\n this.form.controls['dataCCPG'].setValue(date2DatePicker(this.data.dataCCPG))\n this.form.controls['observacaoPropg'].setValue(this.data.observacaoPropg)\n this.form.controls['informacaoAreaTecnicaPropg'].setValue(this.data.informacaoAreaTecnicaPropg)\n }\n }\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n gravar(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n let formulario = (this.form.value)\n if (this.data) {\n if (formulario.id) {\n this.relatorioCoordenadorService.atualizarDadosComplementares(formulario.id, formulario).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Dados complementares atualizados com sucesso`)\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n })\n } else {\n this.relatorioCoordenadorService.salvarDadosComplementares(formulario).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Dados complementares atualizados com sucesso`)\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n })\n }\n }\n }\n\n gerarDocumento(): void {\n this.arquivoDownloadService.pdfDadosComplementaresRelatorioCoordenador(this.data!.cursoId, this.data!.edicao, 'P')\n }\n\n clearDate(name: string): void {\n this.form.get(name)?.setValue(null)\n }\n\n save(name: string) {\n let value = this.form.get(name)?.getRawValue()\n if (name.startsWith('data')) {\n value = this.dataService.dateToStringBr(value)\n // Quanto alterar qualquer data, aplica a validação em todas as datas\n for (const formName in this.form.controls) {\n if (formName.startsWith('data')) {\n this.form.get(formName)?.updateValueAndValidity()\n }\n }\n }\n this.localStorageService.set(name, value)\n }\n\n gerarDocumentoDadosComplementares() {\n const usuarioLogado = this.getDadosUsuarioLogado()\n let cursoId = this.form.controls['cursoId'].value\n let edicao = this.form.controls['edicao'].value\n let tipo = this.form.controls['tipo'].value\n this.relatorioCoordenadorService.getDocumentosDadosComplementares(cursoId, edicao, tipo, usuarioLogado!.cpf)\n }\n\n private getDadosUsuarioLogado(): UsuarioLogin | undefined {\n this.userLoginService.user$.subscribe(user => {\n if (user) {\n this.dadosUsuarioLogado = user\n }\n })\n\n return this.dadosUsuarioLogado\n }\n\n\n protected readonly undefined = undefined\n}\n","\n\n \n \n \n
\n
\n
\n 1. Dados do curso\n
\n
\n \n Nome do curso\n \n \n \n Número da edição\n \n \n
\n \n Unidade\n \n \n
\n \n Coordenador\n \n \n \n Vice-Coordenador\n \n \n
\n
\n \n Período inicial de oferecimento do curso\n \n \n \n Período final de oferecimento do curso\n \n \n \n Carga horária total do curso\n \n \n
\n
\n
\n
\n 2. Dados de alunos\n
\n
\n \n N. de alunos inscritos para seleção\n \n \n \n N. de alunos matriculados no curso (pós-seleção)\n \n \n
\n
\n \n N. de alunos frequentes no curso\n \n \n \n N. de alunos aprovados no curso\n \n \n \n N. de alunos reprovados no curso\n \n \n
\n
\n
\n
\n 3. Confirmação das atividades programadas\n
\n \n Confirmação das atividades programadas\n \n \n Sim\n Não\n \n \n
\n
\n
\n 4. Avaliação do curso pelo coordenador\n
\n \n Pontos postivos\n \n \n \n Dificuldades encontradas até o momento\n \n \n \n Descreva as medidas propostas para a solução das dificuldades\n \n \n \n O desenvolvimento do curso até o momento permite prever sua conclusão de form adequada com relação\n conteúdo programático?\n \n \n
\n
\n
\n 5. Anexo\n
\n
\n \n
\n
\n
\n
\n 6. Observações\n
\n \n Observações\n \n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n\n \n
\n \n \n \n
\n
\n
\n","import { Component, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { CursoEdicaoDetalhes } from 'src/app/models/curso-edicao-detalhes'\nimport { RelatorioCoordenador } from 'src/app/models/relatorio-coordenador'\nimport {\n ArquivoSelecionado,\n ArquivoStatus,\n ArquivoUploadComponent,\n arquivoUploadValidator,\n} from 'src/app/modules/comum/arquivo-upload/arquivo-upload.component'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { RelatorioCoordenadorService } from 'src/app/services/relatorio-coordenador.service'\nimport { RelatorioDadosComplementares } from '../../../../models/relatorio-dados-complementares'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-relatorio-parcial-coordenador-editar',\n templateUrl: './relatorio-parcial-coordenador-editar.component.html',\n styleUrls: ['./relatorio-parcial-coordenador-editar.component.css'],\n})\nexport class RelatorioParcialCoordenadorEditarComponent {\n cursoId!: number\n edicao!: number\n id?: number\n cursoEdicaoDetalhes?: CursoEdicaoDetalhes\n isReadOnly: boolean = true\n isPropg: boolean = false\n isCepg: boolean = false\n podeGerarDocumento: boolean = false\n\n relatorioDadosComplementares?: RelatorioDadosComplementares = undefined\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Relatórios', route: '/unidade/curso-edicao-relatorios', icon: 'app_registration' },\n { label: 'Relatório Parcial', route: '', icon: 'edit' },\n ] \n form = new FormGroup({\n cursoId: new FormControl('', Validators.required),\n edicao: new FormControl('', Validators.required),\n tipoAvaliacao: new FormControl('', Validators.required),\n numeroAlunosInscritos: new FormControl('', Validators.required),\n numeroAlunosMatriculados: new FormControl('', Validators.required),\n numeroAlunosFrequentes: new FormControl('', Validators.required),\n numeroAlunosAprovados: new FormControl('', Validators.required),\n numeroAlunosReprovados: new FormControl('', Validators.required),\n execucaoAtividadeProgramada: new FormControl('', Validators.required),\n avaliacao1: new FormControl('', Validators.required),\n avaliacao2: new FormControl('', Validators.required),\n avaliacao3: new FormControl('', Validators.required),\n avaliacao4: new FormControl('', Validators.required),\n observacaoCoordenador: new FormControl(''),\n })\n\n @ViewChild('arquivoDocumento1Upload') arquivoDocumento1Upload: ArquivoUploadComponent | undefined\n arquivoDocumento1FC: FormControl\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private relatorioCoordenadorService: RelatorioCoordenadorService,\n private cursoEdicaoService: CursoEdicaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private unespCoreAuthService: UnespCoreAuthService,\n private arquivoDownloadService: ArquivoDownloadService\n ) {\n this.arquivoDocumento1FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.isPropg = this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n this.isCepg = this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG'])\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Relatório Parcial`,\n route: `/unidade/relatorio-parcial-coordenador/${this.cursoId}/${this.edicao}`,\n icon: 'edit',\n }\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoDetalhes = obj\n this.isReadOnly = this.checkIsReadOnly()\n })\n this.relatorioCoordenadorService.getByCursoIdAndEdicaoAndTipo(this.cursoId, this.edicao, 'P').subscribe(obj => {\n this.makeRelatorioDadosComplementares(obj)\n this.id = obj.id\n this.form.controls['cursoId'].setValue(this.cursoId.toString())\n this.form.controls['edicao'].setValue(this.edicao.toString())\n this.form.controls['tipoAvaliacao'].setValue(obj.tipoAvaliacao ?? 'P')\n this.form.controls['numeroAlunosInscritos'].setValue(\n obj.numeroAlunosInscritos != null ? obj.numeroAlunosInscritos.toString() : ''\n )\n this.form.controls['numeroAlunosMatriculados'].setValue(\n obj.numeroAlunosMatriculados != null ? obj.numeroAlunosMatriculados.toString() : ''\n )\n this.form.controls['numeroAlunosFrequentes'].setValue(\n obj.numeroAlunosFrequentes != null ? obj.numeroAlunosFrequentes.toString() : ''\n )\n this.form.controls['numeroAlunosAprovados'].setValue(\n obj.numeroAlunosAprovados != null ? obj.numeroAlunosAprovados.toString() : ''\n )\n this.form.controls['numeroAlunosReprovados'].setValue(\n obj.numeroAlunosReprovados != null ? obj.numeroAlunosReprovados.toString() : ''\n )\n this.form.controls['execucaoAtividadeProgramada'].setValue(obj.execucaoAtividadeProgramada)\n this.form.controls['avaliacao1'].setValue(obj.avaliacao1)\n this.form.controls['avaliacao2'].setValue(obj.avaliacao2)\n this.form.controls['avaliacao3'].setValue(obj.avaliacao3)\n this.form.controls['avaliacao4'].setValue(obj.avaliacao4)\n this.form.controls['observacaoCoordenador'].setValue(obj.observacaoCoordenador)\n this.arquivoDocumento1FC.value.setNameAndSize(obj.documento1, 0)\n this.arquivoDocumento1FC.setValue(this.arquivoDocumento1FC.value)\n this.verificaPodeGerarDocumento()\n })\n })\n }\n\n private makeRelatorioDadosComplementares(obj: RelatorioCoordenador): void {\n this.relatorioDadosComplementares = {\n id: obj.id,\n cursoId: this.cursoId,\n edicao: this.edicao,\n tipo: 'P',\n numeroParecerCcpg: obj.numeroParecerCcpg,\n numeroDespachoSg: obj.numeroDespachoSg,\n dataCCPG: obj.dataCCPG,\n observacaoPropg: obj.observacaoPropg,\n informacaoAreaTecnicaPropg: obj.informacaoAreaTecnicaPropg\n }\n }\n\n private checkIsReadOnly(): boolean {\n if (this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])) {\n if (\n this.cursoEdicaoDetalhes?.situacao === 'Em andamento' ||\n this.cursoEdicaoDetalhes?.situacao === 'Relatório final'\n ) {\n let hoje = this.getDateAsNumber(new Date())\n let inicio = this.getDateAsNumber(new Date(this.cursoEdicaoDetalhes?.dataInicialCurso))\n let fim = this.getDateAsNumber(new Date(this.cursoEdicaoDetalhes?.dataFinalCurso))\n if (inicio <= hoje && hoje <= fim) {\n return false\n }\n }\n }\n this.form.disable()\n return true\n }\n\n private getDateAsNumber(v1: Date): number {\n let v1y = v1.getFullYear().toString().length === 1 ? '0' + v1.getFullYear() : v1.getFullYear().toString()\n let v1m = v1.getMonth().toString().length === 1 ? '0' + v1.getMonth() : v1.getMonth().toString()\n let v1d = v1.getDate().toString().length === 1 ? '0' + v1.getDate() : v1.getDate().toString()\n return Number(v1y + '' + v1m + '' + v1d)\n }\n\n private verificaPodeGerarDocumento() {\n this.podeGerarDocumento =\n !this.verificarStringVazia(this.form.controls['numeroAlunosInscritos'].value) &&\n !this.verificarStringVazia(this.form.controls['numeroAlunosMatriculados'].value) &&\n !this.verificarStringVazia(this.form.controls['numeroAlunosFrequentes'].value) &&\n !this.verificarStringVazia(this.form.controls['numeroAlunosAprovados'].value) &&\n !this.verificarStringVazia(this.form.controls['numeroAlunosReprovados'].value) &&\n !this.verificarStringVazia(this.form.controls['execucaoAtividadeProgramada'].value) &&\n !this.verificarStringVazia(this.form.controls['avaliacao1'].value) &&\n !this.verificarStringVazia(this.form.controls['avaliacao2'].value) &&\n !this.verificarStringVazia(this.form.controls['avaliacao3'].value) &&\n !this.verificarStringVazia(this.form.controls['avaliacao4'].value)\n }\n\n verificarStringVazia(valor: string | null | undefined): boolean {\n return valor === null || valor === undefined || valor.trim() === ''\n }\n\n applyTouchedToInvalidFields(): void {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n gravar(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n\n if (this.id) {\n this.relatorioCoordenadorService.atualizar(this.id, formulario).subscribe(res => {\n this.unespCoreMessageService.showMessageSuccess(`Relatório atualizado com sucesso`)\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n this.arquivoUpload()\n })\n } else {\n this.relatorioCoordenadorService.gravar(formulario).subscribe(res => {\n this.unespCoreMessageService.showMessageSuccess(`Relatório cadastrado com sucesso`)\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n this.id = res.id\n this.arquivoUpload()\n })\n }\n }\n\n private arquivoUpload(): void {\n this.arquivoDocumento1Upload!.uploadPath = `relatorio-coordenador/${this.id}/upload/arquivoDocumento1`\n if (this.arquivoDocumento1FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento1Upload?.upload()\n }\n }\n\n gerarDocumento(): void {\n this.arquivoDownloadService.pdfRelatorioCoordenador(this.cursoId, this.edicao, 'P')\n }\n\n protected readonly undefined = undefined\n}\n","export enum RelatorioFinalSituacao {\n ELABORACAO = 'Em Elaboração',\n ENCAMINHADO = 'Encaminhado',\n DILIGENCIA_PROPEG = 'Diligência pela PROPEG',\n DILIGENCIA_CEPG = 'Diligência pela CEPG',\n DILIGENCIA_PROPEG_CEPG = 'Diligência pela PROPEG e CEPG',\n ANALISE_PROPG = 'Em análise da PROPG',\n ANALISE_CCPG = 'Em análise da CCPG',\n CONCLUIDO = 'Concluído',\n}\n\nexport function getRelatorioFinalSituacaoValueByKey(value: string) {\n return Object.entries(RelatorioFinalSituacao).find(([key]) => key === value)?.[1]\n}\n\nexport function getRelatorioFinalSituacaoKeyByValue(\n enumObject: { [key: string]: string },\n value: string\n): string | undefined {\n return Object.keys(enumObject).find(key => enumObject[key] === value)\n}\n","import { CursoEdicaoDetalhes } from './curso-edicao-detalhes'\n\nexport class RelatorioDetalhes {\n idRelatorio: number\n situacao: string | undefined\n isAprovadoCEPG: boolean\n isAprovadoPROPEG: boolean\n cursoEdicaoDetalhes: CursoEdicaoDetalhes | undefined\n\n constructor(\n idRelatorio: number,\n situacao: string | undefined,\n isAprovadoCEPG: boolean,\n isAprovadoPROPEG: boolean,\n cursoEdicaoDetalhes: CursoEdicaoDetalhes | undefined\n ) {\n this.idRelatorio = idRelatorio\n this.situacao = situacao\n this.isAprovadoCEPG = isAprovadoCEPG\n this.isAprovadoPROPEG = isAprovadoPROPEG\n this.cursoEdicaoDetalhes = cursoEdicaoDetalhes\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { identity, Observable } from 'rxjs'\nimport { RelatorioFinalCepg } from '../models/relatorio-final-cepg'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RelatorioFinalCEPGService extends UnespCoreGenericService {\n readonly ROUTE = 'relatorio-final-cepg'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n getRelatorioFinalCEPG(cursoEdicaoId: number): Observable {\n return this.findById(this.ROUTE, cursoEdicaoId)\n }\n\n gravar(form: RelatorioFinalCepg, encaminhar: boolean): Observable {\n return this.create(`${this.ROUTE}/${encaminhar}`, form).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, form: RelatorioFinalCepg, encaminhar: boolean): Observable {\n return this.update(`${this.ROUTE}/${id}/${encaminhar}`, form).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","
\n \n \n
\n
\n
\n
\n {{ grupo.value.grupo }}\n
\n \n
\n
\n {{ pergunta.value.ordemPergunta }} - {{ pergunta.value.pergunta }}\n
\n \n
\n \n Sim\n Não\n \n
\n \n
\n \n Muito bom\n Bom\n Regular\n Fraco\n \n
\n
\n \n
\n \n Resposta\n \n \n \n
\n \n
\n \n Quais?\n \n \n
\n
\n
\n \n
\n
\n \n
\n \n \n \n
","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, Pipe, PipeTransform, SimpleChanges, TemplateRef, ViewChild } from '@angular/core'\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { RelatorioFinalCEPGService } from '../../../services/relatorio-final-cepg.service'\nimport { getDateAsNumber, permiteApenasNumeros } from '../../../utils/utils'\nimport { RelatorioFinalCepg } from '../../../models/relatorio-final-cepg'\nimport { RelatorioDetalhes } from '../../../models/relatorio-detalhes'\nimport { RelatorioFinalSituacao } from '../../../enums/relatorio-final-situacao'\nimport { DataService } from '../../../services/data.service'\nimport { Observable, catchError, map, of } from 'rxjs'\n\n@Component({\n selector: 'app-relatorio-final-cepg-editar',\n templateUrl: './relatorio-final-cepg-editar.component.html',\n styleUrls: ['./relatorio-final-cepg-editar.component.css'],\n})\nexport class RelatorioFinalCepgEditarComponent implements OnInit, OnChanges {\n @ViewChild('dialogGravar') dialogGravar!: TemplateRef\n\n @Input() idCursoEdicao?: number\n @Input() relatorioDetalhes?: RelatorioDetalhes | undefined\n @Output() reload = new EventEmitter()\n\n id?: number\n isReadOnly: boolean = true\n\n perfilAcesso: string = ''\n\n form: FormGroup\n\n gruposPerguntasFormArray: FormArray\n\n constructor(\n private unespCoreMessageService: UnespCoreMessageService,\n private unespCoreAuthService: UnespCoreAuthService,\n private fb: FormBuilder,\n private relatorioFinalCEPGService: RelatorioFinalCEPGService,\n private dataService: DataService,\n ) {\n this.form = this.fb.group({\n id: [''],\n cursoEdicaoId: ['', Validators.required],\n parecerFinalComissao: [''],\n comentarioDiligencia: [''],\n dataParecer: [''],\n gruposPerguntas: this.fb.array([\n this.fb.group({\n perguntas: this.fb.array([]),\n }),\n ]),\n })\n this.gruposPerguntasFormArray = this.form.get('gruposPerguntas') as FormArray\n }\n\n ngOnInit(): void {\n if (this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG'])|| this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])) {\n this.perfilAcesso = 'CEPG'\n } else if (this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])) {\n this.perfilAcesso = 'COORDENADOR'\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['relatorioDetalhes'] && this.relatorioDetalhes && this.relatorioDetalhes.cursoEdicaoDetalhes) {\n this.relatorioFinalCEPGService\n .getRelatorioFinalCEPG(this.relatorioDetalhes.cursoEdicaoDetalhes.id)\n .subscribe(obj => {\n this.carregaForm(obj)\n })\n }\n }\n\n private carregaForm(obj: RelatorioFinalCepg) {\n this.form.reset()\n if (this.gruposPerguntasFormArray.length > 0) {\n this.gruposPerguntasFormArray.removeAt(0)\n }\n this.id = obj.id\n this.form.controls['id'].setValue(obj.id?.toString())\n this.form.controls['cursoEdicaoId'].setValue(obj.cursoEdicaoId.toString())\n this.form.controls['parecerFinalComissao'].setValue(obj.parecerFinalComissao)\n this.form.controls['comentarioDiligencia'].setValue(obj.comentarioDiligencia)\n this.form.controls['dataParecer'].setValue(this.dataService.stringUsToStringBr(obj.dataParecer?.toString()))\n obj.gruposPerguntas.forEach(grupoPergunta => {\n const grupoPerguntaFormGroup = this.fb.group({\n perguntas: this.fb.array([]),\n grupo: grupoPergunta.grupo,\n })\n const perguntasFormArray = grupoPerguntaFormGroup.get('perguntas') as FormArray\n grupoPergunta.perguntas.sort((a, b) => a.ordemPergunta - b.ordemPergunta)\n grupoPergunta.perguntas.forEach((pergunta, index) => {\n const perguntaFormGroup = this.fb.group({\n id: pergunta.id,\n relatorioFinalCEPGId: pergunta.relatorioFinalCEPGId,\n idPergunta: pergunta.idPergunta,\n pergunta: pergunta.pergunta,\n permiteComentario: pergunta.permiteComentario,\n ordemPergunta: pergunta.ordemPergunta,\n tipoRelatorio: pergunta.tipoRelatorio,\n tipoResposta: pergunta.tipoResposta,\n isRespostaObrigatoria: pergunta.isRespostaObrigatoria,\n respostaObrigatoriaSeOrdemPergunta: pergunta.respostaObrigatoriaSeOrdemPergunta,\n respostaObrigatoriaSeRespostaOrdemPergunta: pergunta.respostaObrigatoriaSeRespostaOrdemPergunta,\n grupoPergunta: pergunta.grupoPergunta,\n ordemGrupoPergunta: pergunta.ordemGrupoPergunta,\n resposta: [\n pergunta.resposta,\n [Validators.required,\n (control: AbstractControl) => {\n if (control.get('isRespostaObrigatoria')) {\n return { validation: true }\n } else return null\n },\n ],\n ],\n comentario: pergunta.comentario,\n })\n perguntasFormArray.push(perguntaFormGroup)\n })\n this.gruposPerguntasFormArray.push(grupoPerguntaFormGroup)\n })\n this.verificaOutrosCamposObrigatorios()\n this.isReadOnly = this.checkIsReadOnly()\n }\n\n private checkIsReadOnly(): boolean {\n if ((\n this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG']) || this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])) &&\n this.relatorioDetalhes?.cursoEdicaoDetalhes?.situacao === 'Relatório final' &&\n (this.relatorioDetalhes?.situacao === RelatorioFinalSituacao.ENCAMINHADO ||\n this.relatorioDetalhes?.situacao === RelatorioFinalSituacao.DILIGENCIA_PROPEG) &&\n !this.relatorioDetalhes.isAprovadoCEPG\n ) {\n const hoje = getDateAsNumber(new Date())\n const fim = getDateAsNumber(new Date(this.relatorioDetalhes?.cursoEdicaoDetalhes?.dataFinalCurso))\n if (hoje >= fim) {\n return false\n }\n }\n this.form.disable()\n this.disableControls(this.gruposPerguntasFormArray)\n return true\n }\n\n disableControls(control: AbstractControl) {\n if (control instanceof FormGroup) {\n for (const controlName in control.controls) {\n const nestedControl = control.get(controlName)\n if (nestedControl) {\n this.disableControls(nestedControl)\n }\n }\n } else if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n this.disableControls(nestedControl)\n })\n } else {\n control.disable()\n }\n }\n\n onParecerChange() {\n if (this.form.get('parecerFinalComissao')?.value === 'Diligência') {\n this.form.get('comentarioDiligencia')?.setValidators(Validators.required)\n } else {\n this.form.get('comentarioDiligencia')?.clearValidators()\n this.form.get('comentarioDiligencia')?.setValue('')\n }\n this.form.get('comentarioDiligencia')?.updateValueAndValidity()\n }\n\n removeValidatorFromControl(control: FormControl): void {\n control.clearValidators()\n control.updateValueAndValidity()\n }\n\n removeValidators(formGroup: FormGroup): void {\n Object.keys(formGroup.controls).forEach(key => {\n const control = formGroup.get(key);\n if (control instanceof FormGroup) {\n this.removeValidators(control)\n } else if (control instanceof FormArray) {\n control.controls.forEach((arrayControl: AbstractControl) => {\n if (arrayControl instanceof FormGroup) {\n this.removeValidators(arrayControl)\n }\n })\n } else if (control instanceof FormControl) {\n this.removeValidatorFromControl(control)\n }\n })\n }\n\n verificaOutrosCamposObrigatorios() {\n if(this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG']) &&\n this.relatorioDetalhes?.cursoEdicaoDetalhes?.situacao === 'Relatório final'){\n this.removeValidators(this.form)\n this.isReadOnly=false\n } else {\n for (let i = 0; i < this.gruposPerguntasFormArray.length; i++) {\n const perguntasFormArray = this.gruposPerguntasFormArray.at(i).get('perguntas') as FormArray\n for (let j = 0; j < perguntasFormArray.length; j++) {\n if (perguntasFormArray.at(j).get('respostaObrigatoriaSeOrdemPergunta')?.value) {\n //achar a pergunta com a ordem específica\n let perguntaRepostaCondicional = this.getPerguntaByOrdem(\n i,\n perguntasFormArray.at(j).get('respostaObrigatoriaSeOrdemPergunta')?.value\n )\n if (\n perguntaRepostaCondicional?.get('resposta')?.value ===\n perguntasFormArray.at(j).get('respostaObrigatoriaSeRespostaOrdemPergunta')?.value\n ) {\n perguntasFormArray.at(j).get('resposta')?.setValidators([Validators.required])\n perguntasFormArray.at(j).get('resposta')?.updateValueAndValidity()\n perguntasFormArray.at(j).get('resposta')?.enable()\n } else {\n perguntasFormArray.at(j).get('resposta')?.clearValidators()\n perguntasFormArray.at(j).get('resposta')?.updateValueAndValidity()\n perguntasFormArray.at(j).get('resposta')?.setValue('')\n perguntasFormArray.at(j).get('resposta')?.disable()\n }\n }\n }\n }\n }\n \n }\n\n getPerguntaByOrdem(grupoIndex: number, ordem?: number): FormGroup | null {\n const perguntasFormArray = this.gruposPerguntasFormArray.at(grupoIndex).get('perguntas') as FormArray\n for (let j = 0; j < perguntasFormArray.length; j++) {\n if (perguntasFormArray.at(j).get('ordemPergunta')?.value === ordem) {\n return perguntasFormArray.at(j) as FormGroup\n }\n }\n return null\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n for (let i = 0; i < this.gruposPerguntasFormArray.length; i++) {\n const perguntasFormArray = this.gruposPerguntasFormArray.at(i).get('perguntas') as FormArray\n for (let j = 0; j < perguntasFormArray.length; j++) {\n const controlsGroup = perguntasFormArray.at(j) as FormGroup\n for (let controlName in controlsGroup.controls) {\n if (perguntasFormArray.at(j).get(controlName)?.invalid) {\n perguntasFormArray.at(j).get(controlName)?.markAsTouched()\n }\n }\n }\n }\n }\n\n preSave(): Observable {\n let formulario = (this.form.value)\n formulario.dataParecer = this.dataService.dateToStringUs(new Date())\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return of(false)\n }\n\n // Prepara o Observable para a operação de atualização ou gravação\n let operacao$: Observable\n if (this.id) {\n operacao$ = this.relatorioFinalCEPGService.atualizar(this.id, formulario, true)\n } else {\n operacao$ = this.relatorioFinalCEPGService.gravar(formulario, true)\n }\n\n // Retorna o Observable mapeado para true em caso de sucesso, ou captura o erro e retorna false\n return operacao$.pipe(\n map(data => {\n this.id = data.id // Seta o ID, caso seja feito o POST e precise fazer o PUT na sequencia\n return true\n }),\n catchError(error => {\n return of(false)\n })\n )\n }\n\n protected readonly permiteApenasNumeros = permiteApenasNumeros\n\n reloadTable(value: boolean) {\n if (value) {\n this.reload.emit(true)\n }\n }\n}\n\n@Pipe({\n name: 'getPerguntasFormArray',\n})\nexport class GetPerguntasFormArrayPipe implements PipeTransform {\n transform(grupoIndex: number, gruposPerguntasFormArray: FormArray): FormArray {\n const grupo = gruposPerguntasFormArray.at(grupoIndex) as FormGroup\n return grupo.get('perguntas') as FormArray\n }\n}\n","\n\n
\n

\n Situação: {{ relatorioSituacao }}\n \n ({{ dataEncaminhado | date : 'dd/MM/yyyy' }} )\n

\n
\n\n \n \n \n \n \n
\n
\n\n \n

{{status}}

\n
\n\n
\n 1. Dados do curso\n
\n
\n \n Nome do curso\n \n \n \n Número da edição\n \n \n
\n \n Unidade\n \n \n
\n \n Coordenador\n \n \n \n Vice-Coordenador\n \n \n
\n
\n \n Período inicial de oferecimento do curso\n \n \n \n Período final de oferecimento do curso\n \n \n \n Carga horária total do curso\n \n \n
\n
\n \n Data aprovação departamento\n \n close\n \n \n \n \n \n \n
\n
\n \n Data aprovação congregação\n close\n \n \n \n \n \n \n
\n
\n
\n
\n 2. Dados de alunos\n
\n
\n \n N. de alunos inscritos para seleção\n \n \n \n N. de alunos matriculados no curso (pós-seleção)\n \n \n
\n
\n \n N. de alunos frequentes no curso\n \n \n \n N. de alunos aprovados no curso\n \n \n \n N. de alunos reprovados no curso\n \n \n
\n
\n
\n
\n 3. Confirmação das atividades programadas\n
\n \n Confirmação das atividades programadas\n \n \n Sim\n Não\n \n \n \n Descreva as alterações realizadas incluindo as datas de aprovação pela congregação ou órgão\n equivalente e encaminhamento para à PROPG\n \n \n \n
\n
\n
\n 4. Avaliação do curso pelo coordenador\n
\n \n Pontos críticos e/ou dificuldades encontradas\n \n \n \n Pontos positivos\n \n \n
\n
\n
\n 5. Anexo\n
\n
\n \n
\n
\n \n
\n @if (!novoModelo) {\n
\n \n
\n }\n
\n \n
\n
\n
\n
\n 6. Observações\n
\n \n Observações\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n @if (isAvaliacaoPropeg) {\n \n
\n \n
\n \n }\n \n
\n \n
\n \n \n \n \n
\n
\n
\n
\n\n \n \n \n check_circle_outline\n Aprovar Relatório\n \n \n\n\n

Salvar

\n
\n

Deseja apenas salvar o relatório ou salvar e encaminhar para análise da PROPEG e CEPG?

\n
\n
\n
\n \n \n
\n
\n
\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { CursoEdicaoDetalhes } from 'src/app/models/curso-edicao-detalhes'\nimport { RelatorioCoordenador } from 'src/app/models/relatorio-coordenador'\nimport {\n ArquivoSelecionado,\n ArquivoStatus,\n ArquivoUploadComponent,\n arquivoUploadValidator,\n} from 'src/app/modules/comum/arquivo-upload/arquivo-upload.component'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { RelatorioCoordenadorService } from 'src/app/services/relatorio-coordenador.service'\nimport { RelatorioFinalSituacao } from '../../../../enums/relatorio-final-situacao'\nimport { RelatorioDetalhes } from '../../../../models/relatorio-detalhes'\nimport { date2DatePicker, getDateAsNumber } from '../../../../utils/utils'\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { RelatorioDadosComplementares } from 'src/app/models/relatorio-dados-complementares'\nimport { MatDialog } from '@angular/material/dialog'\nimport { CursoEdicaoSituacaoAlunos } from 'src/app/models/curso-edicao-situacao-alunos'\n\n@Component({\n selector: 'app-relatorio-final-coordenador-editar',\n templateUrl: './relatorio-final-coordenador-editar.component.html',\n styleUrls: ['./relatorio-final-coordenador-editar.component.css'],\n})\nexport class RelatorioFinalCoordenadorEditarComponent implements OnInit {\n @ViewChild('dialogGravar') dialogGravar!: TemplateRef\n\n cursoId!: number\n edicao!: number\n id?: number\n cursoEdicaoDetalhes?: CursoEdicaoDetalhes\n cursoEdicaoSituacaoAlunos?: CursoEdicaoSituacaoAlunos\n isReadOnly: boolean = true\n isHabilitadoAprovarPROPG: boolean = false\n isPropg: boolean = false\n relatorioSituacao?: string\n relatorioDetalhes?: RelatorioDetalhes\n dataEncaminhado?: Date\n perfilAcesso: string = ''\n status: string = ''\n totalInscritos: number = 0\n totalMatriculados: number = 0\n totalFrequentaram: number = 0\n novoModelo: boolean = false\n\n isAvaliacaoPropeg: boolean = false\n\n relatorioDadosComplementares?: RelatorioDadosComplementares = undefined\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Relatórios', route: '/unidade/curso-edicao-relatorios', icon: 'app_registration' },\n { label: 'Relatório Final', route: '', icon: 'edit' },\n ] \n\n form = new FormGroup({\n cursoId: new FormControl('', Validators.required),\n edicao: new FormControl('', Validators.required),\n tipoAvaliacao: new FormControl('', Validators.required),\n numeroAlunosInscritos: new FormControl('', Validators.required),\n numeroAlunosMatriculados: new FormControl('', Validators.required),\n numeroAlunosFrequentes: new FormControl('', Validators.required),\n numeroAlunosAprovados: new FormControl('', Validators.required),\n numeroAlunosReprovados: new FormControl('', Validators.required),\n execucaoAtividadeProgramada: new FormControl('', Validators.required),\n avaliacao1: new FormControl('', Validators.required),\n avaliacao2: new FormControl('', Validators.required),\n avaliacao3: new FormControl('', Validators.required),\n observacaoCoordenador: new FormControl(''),\n dataAprovacaoUnidade: new FormControl(new Date(), Validators.required),\n dataAprovacaoCongregacao: new FormControl(new Date(), Validators.required),\n })\n\n @ViewChild('arquivoDocumento1Upload') arquivoDocumento1Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento2Upload') arquivoDocumento2Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento3Upload') arquivoDocumento3Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento4Upload') arquivoDocumento4Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento5Upload') arquivoDocumento5Upload: ArquivoUploadComponent | undefined\n @ViewChild('arquivoDocumento6Upload') arquivoDocumento6Upload: ArquivoUploadComponent | undefined\n arquivoDocumento1FC: FormControl\n arquivoDocumento2FC: FormControl\n arquivoDocumento3FC: FormControl\n arquivoDocumento4FC: FormControl\n arquivoDocumento5FC: FormControl\n arquivoDocumento6FC: FormControl\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private relatorioCoordenadorService: RelatorioCoordenadorService,\n private cursoEdicaoService: CursoEdicaoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private unespCoreAuthService: UnespCoreAuthService,\n private arquivoDownloadService: ArquivoDownloadService,\n private dialog: MatDialog\n ) {\n this.arquivoDocumento1FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento2FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento3FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento4FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento5FC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true)],\n updateOn: 'submit',\n }) as FormControl\n this.arquivoDocumento6FC = new FormControl(new ArquivoSelecionado()) as FormControl\n }\n\n ngOnInit() {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.getDetalhes()\n this.breadcrumbs[2] = {\n label: `Relatório Final`,\n route: `/unidade/relatorio-final-coordenador/${this.cursoId}/${this.edicao}`,\n icon: 'edit',\n }\n })\n this.perfilAcesso = this.unespCoreAuthService.hasPermissionBasedRoles(['PROPEG'])\n ? 'PROPEG'\n : this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG'])\n ? 'CEPG'\n : this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n ? 'COORDENADOR'\n : ''\n }\n\n private getDetalhes() {\n // Detalhes do curso\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoDetalhes = obj\n this.isAvaliacaoPropeg = this.cursoEdicaoDetalhes.avaliacaoPropeg\n // Dados do relatorio do coordenador\n this.relatorioCoordenadorService.getByCursoIdAndEdicaoAndTipo(this.cursoId, this.edicao, 'F').subscribe(obj => {\n this.makeRelatorioDadosComplementares(obj)\n this.carregarForm(obj, obj.situacao)\n // Situacao dos alunos\n this.cursoEdicaoService.getSituacaoAlunos(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoSituacaoAlunos = obj\n this.validarSituacaoAlunos()\n })\n })\n })\n }\n\n private validarSituacaoAlunos(): void {\n this.totalInscritos = this.cursoEdicaoSituacaoAlunos!.totalPreInscritos\n + this.cursoEdicaoSituacaoAlunos!.totalInscritos\n + this.cursoEdicaoSituacaoAlunos!.totalMatriculados\n + this.cursoEdicaoSituacaoAlunos!.totalFormados\n + this.cursoEdicaoSituacaoAlunos!.totalReprovados\n + this.cursoEdicaoSituacaoAlunos!.totalDesligados\n this.totalMatriculados = this.totalInscritos\n - this.cursoEdicaoSituacaoAlunos!.totalPreInscritos\n - this.cursoEdicaoSituacaoAlunos!.totalInscritos\n - this.cursoEdicaoSituacaoAlunos!.totalDesligados\n this.totalFrequentaram = this.cursoEdicaoSituacaoAlunos!.totalFormados\n + this.cursoEdicaoSituacaoAlunos!.totalReprovados\n\n this.novoModelo = this.cursoEdicaoDetalhes!.modeloCertificado.toString() == 'ASSINATURA_PROREITOR'\n if (!this.id && this.novoModelo) {\n // Defini os valores\n this.form.controls.numeroAlunosInscritos.setValue(this.totalInscritos.toString())\n this.form.controls.numeroAlunosMatriculados.setValue(this.totalMatriculados.toString())\n this.form.controls.numeroAlunosFrequentes.setValue(this.totalFrequentaram.toString())\n this.form.controls.numeroAlunosAprovados.setValue(this.cursoEdicaoSituacaoAlunos!.totalFormados.toString())\n this.form.controls.numeroAlunosReprovados.setValue(this.cursoEdicaoSituacaoAlunos!.totalReprovados.toString())\n\n if (this.cursoEdicaoSituacaoAlunos!.totalPreInscritos > 0\n || this.cursoEdicaoSituacaoAlunos!.totalInscritos > 0\n || this.cursoEdicaoSituacaoAlunos!.totalMatriculados > 0) {\n this.form.disable()\n this.status = 'O preenchimento do relatório não está liberado devido a pendências na situação dos alunos.'\n }\n }\n }\n\n private makeRelatorioDadosComplementares(obj: RelatorioCoordenador): void {\n this.relatorioDadosComplementares = {\n id: obj.id,\n cursoId: this.cursoId,\n edicao: this.edicao,\n tipo: 'F',\n numeroParecerCcpg: obj.numeroParecerCcpg,\n numeroDespachoSg: obj.numeroDespachoSg,\n dataCCPG: obj.dataCCPG,\n observacaoPropg: obj.observacaoPropg,\n informacaoAreaTecnicaPropg: obj.informacaoAreaTecnicaPropg\n }\n }\n\n carregarForm(obj: RelatorioCoordenador, situacao: string) {\n this.id = obj.id\n this.form.controls['cursoId'].setValue(this.cursoId.toString())\n this.form.controls['edicao'].setValue(this.edicao.toString())\n this.form.controls['tipoAvaliacao'].setValue(obj.tipoAvaliacao != null ? obj.tipoAvaliacao : 'F')\n this.relatorioSituacao = situacao ?? undefined\n this.dataEncaminhado = obj.dataEncaminhado\n this.isReadOnly = this.checkIsReadOnly()\n this.isHabilitadoAprovarPROPG =\n situacao === RelatorioFinalSituacao.ANALISE_PROPG && this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n this.isPropg = this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n this.form.controls['numeroAlunosInscritos'].setValue(\n obj.numeroAlunosInscritos != null ? obj.numeroAlunosInscritos.toString() : ''\n )\n this.form.controls['numeroAlunosMatriculados'].setValue(\n obj.numeroAlunosMatriculados != null ? obj.numeroAlunosMatriculados.toString() : ''\n )\n this.form.controls['numeroAlunosFrequentes'].setValue(\n obj.numeroAlunosFrequentes != null ? obj.numeroAlunosFrequentes.toString() : ''\n )\n this.form.controls['numeroAlunosAprovados'].setValue(\n obj.numeroAlunosAprovados != null ? obj.numeroAlunosAprovados.toString() : ''\n )\n this.form.controls['numeroAlunosReprovados'].setValue(\n obj.numeroAlunosReprovados != null ? obj.numeroAlunosReprovados.toString() : ''\n )\n this.form.controls['execucaoAtividadeProgramada'].setValue(obj.execucaoAtividadeProgramada)\n this.form.controls['avaliacao1'].setValue(obj.avaliacao1)\n this.form.controls['avaliacao2'].setValue(obj.avaliacao2)\n this.form.controls['avaliacao3'].setValue(obj.avaliacao3)\n this.form.controls['observacaoCoordenador'].setValue(obj.observacaoCoordenador)\n this.form.controls['dataAprovacaoUnidade'].setValue(date2DatePicker(obj.dataAprovacaoUnidade))\n this.form.controls['dataAprovacaoCongregacao'].setValue(date2DatePicker(obj.dataAprovacaoCongregacao))\n this.arquivoDocumento1FC.value.setNameAndSize(obj.documento1, 0)\n this.arquivoDocumento1FC.setValue(this.arquivoDocumento1FC.value)\n this.arquivoDocumento2FC.value.setNameAndSize(obj.documento2, 0)\n this.arquivoDocumento2FC.setValue(this.arquivoDocumento2FC.value)\n this.arquivoDocumento3FC.value.setNameAndSize(obj.documento3, 0)\n this.arquivoDocumento3FC.setValue(this.arquivoDocumento3FC.value)\n this.arquivoDocumento4FC.value.setNameAndSize(obj.documento4, 0)\n this.arquivoDocumento4FC.setValue(this.arquivoDocumento4FC.value)\n this.arquivoDocumento5FC.value.setNameAndSize(obj.documento5, 0)\n this.arquivoDocumento5FC.setValue(this.arquivoDocumento5FC.value)\n this.arquivoDocumento6FC.value.setNameAndSize(obj.documento6, 0)\n this.arquivoDocumento6FC.setValue(this.arquivoDocumento6FC.value)\n this.relatorioDetalhes = new RelatorioDetalhes(\n this.id,\n this.relatorioSituacao,\n obj.isAprovadoCEPG,\n obj.isAprovadoPROPEG,\n this.cursoEdicaoDetalhes\n )\n }\n\n private checkIsReadOnly(): boolean {\n if (\n !this.unespCoreAuthService.hasPermissionBasedRoles(['PROPEG']) &&\n !this.unespCoreAuthService.hasPermissionBasedRoles(['CEPG']) &&\n // !this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG']) &&\n this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE']) &&\n this.cursoEdicaoDetalhes?.situacao === 'Relatório final' &&\n (this.relatorioSituacao === undefined ||\n this.relatorioSituacao === RelatorioFinalSituacao.ELABORACAO ||\n this.relatorioSituacao === RelatorioFinalSituacao.DILIGENCIA_CEPG ||\n this.relatorioSituacao === RelatorioFinalSituacao.DILIGENCIA_PROPEG ||\n this.relatorioSituacao === RelatorioFinalSituacao.DILIGENCIA_PROPEG_CEPG)\n ) {\n const hoje = getDateAsNumber(new Date())\n const fim = getDateAsNumber(new Date(this.cursoEdicaoDetalhes?.dataFinalCurso))\n if (hoje >= fim) {\n return false\n }\n }\n this.form.disable()\n this.disableUploadArquivos()\n return true\n }\n\n private disableUploadArquivos() {\n this.arquivoDocumento1Upload!.disabled = true\n this.arquivoDocumento2Upload!.disabled = true\n this.arquivoDocumento3Upload!.disabled = true\n this.arquivoDocumento4Upload!.disabled = true\n this.arquivoDocumento5Upload!.disabled = true\n this.arquivoDocumento6Upload!.disabled = true\n }\n\n applyTouchedToInvalidFields(): void {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n if (this.arquivoDocumento1FC.invalid) {\n this.arquivoDocumento1FC.markAsTouched()\n }\n if (this.arquivoDocumento2FC.invalid) {\n this.arquivoDocumento2FC.markAsTouched()\n }\n if (this.arquivoDocumento3FC.invalid) {\n this.arquivoDocumento3FC.markAsTouched()\n }\n if (this.arquivoDocumento4FC.invalid) {\n this.arquivoDocumento4FC.markAsTouched()\n }\n if (this.arquivoDocumento5FC.invalid) {\n this.arquivoDocumento5FC.markAsTouched()\n }\n }\n\n gravar(): void {\n let formulario = (this.form.value)\n this.openGravarDialog(formulario)\n }\n\n openGravarDialog(formulario: RelatorioCoordenador) {\n const dialogRef = this.dialog.open(this.dialogGravar)\n dialogRef.afterClosed().subscribe(result => {\n if (result === 'apenasSalvar') {\n this.apenasSalvar(formulario)\n } else if (result === 'encaminhar') {\n this.salvarAndEncaminhar(formulario)\n }\n })\n }\n\n apenasSalvar(formulario: RelatorioCoordenador) {\n if (this.id) {\n //se tiver id, ou já está em elaboração, ou veio de diligência, então não altera status\n this.relatorioCoordenadorService.atualizar(this.id, formulario).subscribe(res => {\n this.unespCoreMessageService.showMessageSuccess(`Relatório salvo com sucesso`)\n this.arquivoUpload()\n // this.carregarForm(res, res.situacao)\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n })\n } else {\n //se não tem id, seta status para Em elaboração e grava\n formulario.situacao = RelatorioFinalSituacao.ELABORACAO\n this.relatorioCoordenadorService.gravar(formulario).subscribe(res => {\n this.unespCoreMessageService.showMessageSuccess(`Relatório salvo com sucesso`)\n this.id = res.id\n this.arquivoUpload()\n // this.carregarForm(res, res.situacao)\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n })\n }\n }\n\n salvarAndEncaminhar(formulario: RelatorioCoordenador) {\n this.applyTouchedToInvalidFields()\n if (\n !this.form.valid ||\n !this.arquivoDocumento1FC.valid ||\n !this.arquivoDocumento2FC.valid ||\n !this.arquivoDocumento3FC.valid ||\n !this.arquivoDocumento4FC.valid ||\n (!this.arquivoDocumento5FC.valid && !this.novoModelo)\n ) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n formulario.situacao = RelatorioFinalSituacao.ENCAMINHADO\n if (this.id) {\n this.relatorioCoordenadorService.atualizar(this.id, formulario).subscribe(res => {\n this.unespCoreMessageService.showMessageSuccess(`Relatório encaminhado com sucesso`)\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n this.arquivoUpload()\n })\n } else {\n this.relatorioCoordenadorService.gravar(formulario).subscribe(res => {\n this.unespCoreMessageService.showMessageSuccess(`Relatório encaminhado com sucesso`)\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n this.id = res.id\n this.arquivoUpload()\n })\n }\n }\n\n aprovarRelatorio() {\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `Deseja aprovar o relatório final e concluir o curso/edição - ${this.cursoEdicaoDetalhes?.nomeCurso}, edição ${this.cursoEdicaoDetalhes?.numeroEdicao}?`\n )\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n let formulario = (this.form.value)\n formulario.situacao = RelatorioFinalSituacao.CONCLUIDO\n this.relatorioCoordenadorService.atualizar(this.id!, formulario).subscribe(dataStatus => {\n this.unespCoreMessageService.showMessageSuccess(\n 'Relatório Final aprovado e curso/edição concluído com sucesso'\n )\n this.router.navigate(['/unidade/curso-edicao-relatorios'])\n })\n }\n })\n }\n\n private arquivoUpload(): void {\n this.arquivoDocumento1Upload!.uploadPath = `relatorio-coordenador/${this.id}/upload/arquivoDocumento1`\n if (this.arquivoDocumento1FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento1Upload?.upload()\n }\n this.arquivoDocumento2Upload!.uploadPath = `relatorio-coordenador/${this.id}/upload/arquivoDocumento2`\n if (this.arquivoDocumento2FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento2Upload?.upload()\n }\n this.arquivoDocumento3Upload!.uploadPath = `relatorio-coordenador/${this.id}/upload/arquivoDocumento3`\n if (this.arquivoDocumento3FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento3Upload?.upload()\n }\n this.arquivoDocumento4Upload!.uploadPath = `relatorio-coordenador/${this.id}/upload/arquivoDocumento4`\n if (this.arquivoDocumento4FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento4Upload?.upload()\n }\n if (!this.novoModelo) {\n this.arquivoDocumento5Upload!.uploadPath = `relatorio-coordenador/${this.id}/upload/arquivoDocumento5`\n if (this.arquivoDocumento5FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento5Upload?.upload()\n }\n }\n this.arquivoDocumento6Upload!.uploadPath = `relatorio-coordenador/${this.id}/upload/arquivoDocumento6`\n if (this.arquivoDocumento6FC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivoDocumento6Upload?.upload()\n }\n }\n\n gerarDocumento(): void {\n this.arquivoDownloadService.pdfRelatorioCoordenador(this.cursoId, this.edicao, 'F')\n }\n\n clearDate(name: string): void {\n this.form.get(name)?.setValue(null)\n }\n\n protected readonly RelatorioFinalSituacao = RelatorioFinalSituacao\n\n reload(value: boolean) {\n if (value) {\n this.getDetalhes()\n }\n }\n}\n","\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
PerguntaResposta
{{ row.descricaoQuestao }}{{ row.descricaoResposta }}\n {{ row.descricaoQuestao }}\n
\n {{ row.comentario }}\n
\n\n \n
\n \n
\n
\n
\n","import { Component, Inject } from '@angular/core'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { AvaliacaoDiscente } from 'src/app/models/avaliacao-discente'\nimport { AvaliacaoDiscenteService } from 'src/app/services/avaliacao-discente.service'\n\n@Component({\n selector: 'app-avaliacao-parcial-discente-visualizar',\n templateUrl: './avaliacao-parcial-discente-visualizar.component.html',\n styleUrls: ['./avaliacao-parcial-discente-visualizar.component.css'],\n})\nexport class AvaliacaoParcialDiscenteVisualizarComponent {\n data: AvaliacaoDiscente[] = []\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Avaliações', route: '/unidade/curso-edicao-avaliacoes', icon: 'addchart' },\n { label: 'Avaliações', route: '/unidade/curso-edicao-avaliacoes', icon: 'addchart' },\n ] \n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: AvaliacaoParcialDiscenteVisualizarParametro,\n public dialogRef: MatDialogRef,\n private avaliacaoDiscenteService: AvaliacaoDiscenteService\n ) {\n this.avaliacaoDiscenteService\n .findByCursoIdAndEdicaoAndCpfAndTipo(this.params.cursoId, this.params.edicao, this.params.cpf, 'Parcial')\n .subscribe(obj => {\n this.data = obj\n for (let i = 0; i < this.data.length; i++) {\n this.formatarPergunta(i)\n this.formatarResposta(i)\n }\n })\n }\n\n private formatarPergunta(i: number): void {\n if (this.data[i].numeroQuestao === '1') {\n this.data[i].descricaoQuestao = '1. As disciplinas estão sendo oferecidas como programado?'\n } else if (this.data[i].numeroQuestao === '2') {\n this.data[i].descricaoQuestao = '2. O conteúdo das disciplinas é adequado?'\n } else if (this.data[i].numeroQuestao === '3') {\n this.data[i].descricaoQuestao = '3. A disciplina de Metodologia do Trabalho Científico foi oferecida?'\n } else if (this.data[i].numeroQuestao === '4') {\n this.data[i].descricaoQuestao = '4. A sua orientação para monografia foi definida?'\n } else if (this.data[i].numeroQuestao === '5') {\n this.data[i].descricaoQuestao = '5. O tema da monografia foi definido?'\n } else if (this.data[i].numeroQuestao === '6') {\n this.data[i].descricaoQuestao = '6. O tema da monografia é adequado à temático do curso?'\n } else if (this.data[i].numeroQuestao === '7') {\n this.data[i].descricaoQuestao =\n '7. Atribua uma nota para o curso (considerando oferecimento de disciplina, participação docente, tema monografia, etc)'\n } else if (this.data[i].numeroQuestao === '8') {\n this.data[i].descricaoQuestao = '8. Se necessário comentar pontos espedíficos:'\n }\n }\n\n private formatarResposta(i: number): void {\n if (Number(this.data[i].numeroQuestao) < 7) {\n this.data[i].descricaoResposta = this.data[i].numeroResposta === 1 ? 'Sim' : 'Não'\n } else if (Number(this.data[i].numeroQuestao) === 7) {\n if (this.data[i].numeroResposta === 1) {\n this.data[i].descricaoResposta = 'Muito Bom'\n } else if (this.data[i].numeroResposta === 2) {\n this.data[i].descricaoResposta = 'Bom'\n } else if (this.data[i].numeroResposta === 3) {\n this.data[i].descricaoResposta = 'Regular'\n } else if (this.data[i].numeroResposta === 4) {\n this.data[i].descricaoResposta = 'Fraco'\n } else {\n this.data[i].descricaoResposta = 'Indefinido'\n }\n }\n }\n}\n\nexport class AvaliacaoParcialDiscenteVisualizarParametro {\n cursoId: number = 0\n edicao: number = 0\n cpf: string = ''\n}\n","\n\n \n
\n
\n 1. Dados do curso\n
\n
\n \n Nome do curso\n \n \n \n Número da edição\n \n \n
\n \n Unidade\n \n \n
\n \n Coordenador\n \n \n \n Vice-Coordenador\n \n \n
\n
\n \n Período inicial de oferecimento do curso\n \n \n \n Período final de oferecimento do curso\n \n \n \n Carga horária total do curso\n \n \n
\n
\n
\n \n \n
\n
\n Perguntas\n
    \n
  • 1. As disciplinas estão sendo oferecidas como programado?
  • \n
  • 2. O conteúdo das disciplinas é adequado?
  • \n
  • 3. A disciplina de Metodologia do Trabalho Científico foi oferecida?
  • \n
  • 4. A sua orientação para monografia foi definida?
  • \n
  • 5. O tema da monografia foi definido?
  • \n
  • 6. O tema da monografia é adequado à temático do curso?
  • \n
  • \n 7. Atribua uma nota para o curso (considerando oferecimento de disciplina, participação docente, tema\n monografia, etc)\n
  • \n
\n
\n
\n Respostas\n

Não há dados a serem exibidos

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Número da perguntaRespostaQuantidade
{{ row.numeroQuestao }}{{ row.resposta }}{{ row.quantidade }}
\n
\n
\n
\n
\n \n
\n
\n Alunos\n

Não há dados a serem exibidos

\n \n \n \n \n \n \n \n
RespostasAluno {{ (pageIndex * pageSize) + i + 1 }}
\n \n
\n
\n
\n \n
\n
\n Alunos\n
\n
\n \n search\n Pesquisar\n \n \n
\n
\n

Não há dados a serem exibidos

\n \n \n \n \n \n \n \n
Nome{{ row }}
\n \n
\n
\n
\n \n
\n
\n Alunos\n
\n
\n \n search\n Pesquisar\n \n \n
\n
\n

Não há dados a serem exibidos

\n \n \n \n \n \n \n \n \n \n \n \n
Nome{{ row }}
Não há dados a serem exibidos
\n \n
\n
\n
\n
\n
\n
\n
\n\n \n \n \n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'\nimport { ActivatedRoute, RouterModule } from '@angular/router'\nimport { AvalicaoDiscenteResumo } from 'src/app/models/avaliacao-discente-resumo'\nimport { CursoEdicaoDetalhes } from 'src/app/models/curso-edicao-detalhes'\nimport { AvaliacaoDiscenteService } from 'src/app/services/avaliacao-discente.service'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { AvaliacaoParcialDiscenteVisualizarComponent } from '../avaliacao-parcial-discente-visualizar/avaliacao-parcial-discente-visualizar.component'\nimport { MatDialog } from '@angular/material/dialog'\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table'\nimport { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'\nimport { tap } from 'rxjs'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { CommonModule } from '@angular/common'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatTabsModule } from '@angular/material/tabs'\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout'\nimport { UnespBreadcrumbItem, UnespBreadcrumbModule } from '@unesp/shared'\n\n@Component({\n selector: 'app-avaliacao-parcial-discente-listar',\n templateUrl: './avaliacao-parcial-discente-listar.component.html',\n standalone: true,\n imports: [\n MatCardModule,\n MatButtonModule,\n MatTabsModule,\n MatIconModule,\n MatFormFieldModule,\n MatTableModule,\n MatPaginatorModule,\n MatInputModule,\n CommonModule,\n FlexLayoutModule,\n RouterModule,\n UnespBreadcrumbModule\n ],\n styleUrls: ['./avaliacao-parcial-discente-listar.component.css'],\n})\nexport class AvaliacaoParcialDiscenteListarComponent implements OnInit {\n cursoId!: number\n edicao!: number\n cursoEdicaoDetalhes?: CursoEdicaoDetalhes\n data: AvalicaoDiscenteResumo[] = []\n cpfs: string[] = []\n alunosComResposta: string[] = []\n alunosSemResposta: string[] = []\n dataSourceDetalhamento: MatTableDataSource = new MatTableDataSource()\n dataSourceAlunosComResposta: MatTableDataSource = new MatTableDataSource()\n dataSourceAlunosSemResposta: MatTableDataSource = new MatTableDataSource()\n @ViewChild('pesquisaAlunoComResposta') pesquisaAlunoComResposta!: ElementRef\n @ViewChild('pesquisaAlunoSemResposta') pesquisaAlunoSemResposta!: ElementRef\n @ViewChild(MatPaginator, { static: false }) paginator!: MatPaginator\n @ViewChild(MatPaginator, { static: false }) paginatorAlunoComResposta!: MatPaginator\n @ViewChild(MatPaginator, { static: false }) paginatorAlunoSemResposta!: MatPaginator\n paginatedData: any[] = []\n paginatedDataAlunoComResposta: any[] = []\n paginatedDataAlunoSemResposta: any[] = []\n\n pageSize: number = 10\n pageIndex: number = 0\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Avaliações', route: '/unidade/curso-edicao-avaliacoes', icon: 'addchart' },\n { label: 'Avaliação Parcial', route: '', icon: 'edit' },\n ] \n\n constructor(\n private route: ActivatedRoute,\n private avaliacaoDiscenteService: AvaliacaoDiscenteService,\n private cursoEdicaoService: CursoEdicaoService,\n private dialog: MatDialog,\n\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Avaliação Parcial`,\n route: `/unidade/avaliacao-parcial-discente/${this.cursoId}/${this.edicao}`,\n icon: 'edit',\n }\n })\n }\n\n ngOnInit() {\n this.dataSourceDetalhamento.paginator = this.paginator\n this.dataSourceAlunosComResposta.paginator = this.paginatorAlunoComResposta\n this.dataSourceAlunosSemResposta.paginator = this.paginatorAlunoSemResposta\n \n this.reloadTable()\n\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n this.paginatorAlunoComResposta?.page.pipe(tap(() => this.reloadTable())).subscribe()\n this.paginatorAlunoSemResposta?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n reloadTable() {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoDetalhes = obj\n })\n this.avaliacaoDiscenteService.resumoParcial(this.cursoId, this.edicao).subscribe(obj => {\n this.data = obj\n })\n this.avaliacaoDiscenteService.cpfResposta(this.cursoId, this.edicao, 'Parcial').subscribe(obj => {\n this.cpfs = obj\n this.paginateData(this.cpfs)\n })\n this.avaliacaoDiscenteService.alunosComRepospotas(this.cursoId, this.edicao, 'Parcial').subscribe(obj => {\n this.alunosComResposta = obj\n this.paginateDataAlunoComResposta(this.alunosComResposta)\n })\n this.avaliacaoDiscenteService.alunosSemRepospotas(this.cursoId, this.edicao, 'Parcial').subscribe(obj => {\n this.alunosSemResposta = obj\n this.paginateDataAlunoSemResposta(this.alunosSemResposta)\n })\n })\n }\n\n pesquisarAlunoComResposta() {\n const value = this.pesquisaAlunoComResposta.nativeElement.value ?? ''\n let filtered = this.alunosComResposta.filter(\n i =>\n i.toLowerCase().includes(value.toLowerCase())\n )\n this.dataSourceAlunosComResposta = new MatTableDataSource(filtered)\n this.dataSourceAlunosComResposta.paginator = this.paginatorAlunoComResposta\n this.paginatorAlunoComResposta.firstPage()\n }\n\n pesquisarAlunoSemResposta() {\n const value = this.pesquisaAlunoSemResposta.nativeElement.value ?? ''\n let filtered = this.alunosSemResposta.filter(\n i =>\n i.toLowerCase().includes(value.toLowerCase())\n )\n this.dataSourceAlunosSemResposta = new MatTableDataSource(filtered)\n this.dataSourceAlunosSemResposta.paginator = this.paginatorAlunoSemResposta\n this.paginatorAlunoSemResposta.firstPage()\n }\n\n detalhes(cpf: string): void {\n this.dialog.open(AvaliacaoParcialDiscenteVisualizarComponent, {\n data: { cursoId: this.cursoId, edicao: this.edicao, cpf },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n paginateData(data: any[]) {\n const startIndex = this.pageIndex * this.pageSize\n const endIndex = startIndex + this.pageSize\n this.paginatedData = data.slice(startIndex, endIndex)\n this.dataSourceDetalhamento.data = this.paginatedData\n }\n\n paginateDataAlunoComResposta(data: any[]) {\n const startIndex = this.pageIndex * this.pageSize\n const endIndex = startIndex + this.pageSize\n this.paginatedDataAlunoComResposta = data.slice(startIndex, endIndex)\n this.dataSourceAlunosComResposta.data = this.paginatedDataAlunoComResposta\n }\n paginateDataAlunoSemResposta(data: any[]) {\n const startIndex = this.pageIndex * this.pageSize\n const endIndex = startIndex + this.pageSize\n this.paginatedDataAlunoSemResposta = data.slice(startIndex, endIndex)\n this.dataSourceAlunosSemResposta.data = this.paginatedDataAlunoSemResposta\n }\n\n onPageChange(event: any, data: any[]) {\n this.pageIndex = event.pageIndex\n this.pageSize = event.pageSize\n this.paginateData(data)\n }\n\n onPageChangeComResposta(event: any, data: any[]) {\n this.pageIndex = event.pageIndex\n this.pageSize = event.pageSize\n this.paginateDataAlunoComResposta(data)\n }\n\n onPageChangeSemResposta(event: any, data: any[]) {\n this.pageIndex = event.pageIndex\n this.pageSize = event.pageSize \n this.paginateDataAlunoSemResposta(data)\n }\n}\n","\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
PerguntaRespostaComentário
{{ row.descricaoQuestao }}{{ row.descricaoResposta }}{{ row.comentario }}
\n\n \n
\n \n
\n
\n
\n","import { Component, Inject } from '@angular/core'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { AvaliacaoDiscente } from 'src/app/models/avaliacao-discente'\nimport { AvaliacaoDiscenteService } from 'src/app/services/avaliacao-discente.service'\n\n@Component({\n selector: 'app-avaliacao-final-discente-visualizar',\n templateUrl: './avaliacao-final-discente-visualizar.component.html',\n styleUrls: ['./avaliacao-final-discente-visualizar.component.css'],\n})\nexport class AvaliacaoFinalDiscenteVisualizarComponent {\n data: AvaliacaoDiscente[] = []\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Avaliações', route: '/unidade/curso-edicao-avaliacoes', icon: 'addchart' },\n // { label: 'Avaliações', route: '/unidade/curso-edicao-avaliacoes', icon: 'addchart' },\n ] \n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: AvaliacaoFinalDiscenteVisualizarParametro,\n public dialogRef: MatDialogRef,\n private avaliacaoDiscenteService: AvaliacaoDiscenteService\n ) {\n this.avaliacaoDiscenteService\n .findByCursoIdAndEdicaoAndCpfAndTipo(this.params.cursoId, this.params.edicao, this.params.cpf, 'Final')\n .subscribe(obj => {\n this.data = obj\n for (let i = 0; i < this.data.length; i++) {\n this.formatarPergunta(i)\n this.formatarResposta(i)\n }\n })\n }\n\n private formatarPergunta(i: number): void {\n if (this.data[i].numeroQuestao === '1a') {\n this.data[i].descricaoQuestao = '1a. Participação efetiva do corpo docente proposto nas aulas (Docentes)'\n } else if (this.data[i].numeroQuestao === '1b') {\n this.data[i].descricaoQuestao =\n '1b. Participação efetiva do corpo docente proposto nas aulas (Palestrantes convidados) '\n } else if (this.data[i].numeroQuestao === '2') {\n this.data[i].descricaoQuestao =\n '2. As disciplinas foram devidamente ministradas e as atividades programadas foram realizadas?'\n } else if (this.data[i].numeroQuestao === '3') {\n this.data[i].descricaoQuestao = '3. De que forma seu orientador acompanhou a elaboração da monografia?'\n } else if (this.data[i].numeroQuestao === '4') {\n this.data[i].descricaoQuestao =\n '4. Os professores ministraram o conteúdo das disciplinas com clareza e objetividade?'\n } else if (this.data[i].numeroQuestao === '5') {\n this.data[i].descricaoQuestao =\n '5. Como o curso contribuiu para a sua formação profissional, agregando novos conhecimentos?'\n } else if (this.data[i].numeroQuestao === '6') {\n this.data[i].descricaoQuestao = '6. Você recomendaria o curso para outro profissional?'\n } else if (this.data[i].numeroQuestao === '7') {\n this.data[i].descricaoQuestao = '7. Atribua uma nota, de 0 a 10, para o curso.'\n }\n }\n\n private formatarResposta(i: number): void {\n if (this.data[i].numeroQuestao === '7') {\n if (this.data[i].numeroResposta === 1) {\n this.data[i].descricaoResposta = 'Muito Bom (Conceito 9 à 10)'\n } else if (this.data[i].numeroResposta === 2) {\n this.data[i].descricaoResposta = 'Bom (Conceito 7 à 8,9)'\n } else if (this.data[i].numeroResposta === 3) {\n this.data[i].descricaoResposta = 'Regular (Conceito 5 à 6,9)'\n } else if (this.data[i].numeroResposta === 4) {\n this.data[i].descricaoResposta = 'Fraco (Conceito 0 à 4,9)'\n } else {\n this.data[i].descricaoResposta = 'Indefinido'\n }\n } else {\n if (this.data[i].numeroResposta === 1) {\n this.data[i].descricaoResposta = 'Muito Bom'\n } else if (this.data[i].numeroResposta === 2) {\n this.data[i].descricaoResposta = 'Bom'\n } else if (this.data[i].numeroResposta === 3) {\n this.data[i].descricaoResposta = 'Regular'\n } else if (this.data[i].numeroResposta === 4) {\n this.data[i].descricaoResposta = 'Fraco'\n } else {\n this.data[i].descricaoResposta = 'Indefinido'\n }\n }\n }\n}\n\nexport class AvaliacaoFinalDiscenteVisualizarParametro {\n cursoId: number = 0\n edicao: number = 0\n cpf: string = ''\n}\n","\n\n \n
\n
\n 1. Dados do curso\n
\n
\n \n Nome do curso\n \n \n \n Número da edição\n \n \n
\n \n Unidade\n \n \n
\n \n Coordenador\n \n \n \n Vice-Coordenador\n \n \n
\n
\n \n Período inicial de oferecimento do curso\n \n \n \n Período final de oferecimento do curso\n \n \n \n Carga horária total do curso\n \n \n
\n
\n
\n \n \n
\n
\n Perguntas\n
    \n
  • 1a. Participação efetiva do corpo docente proposto nas aulas? (Docentes)
  • \n
  • 1b. Participação efetiva do corpo docente proposto nas aulas? (Palestrantes Convidados)
  • \n
  • 2. As disciplinas foram devidamente ministradas e as atividades programadas foram realizadas?
  • \n
  • 3. De que forma seu orientador acompanhou a elaboração da monografia?
  • \n
  • 4. Os professores ministraram o conteúdo das disciplinas com clareza e objetividade?
  • \n
  • 5. Como o curso contribuiu para a sua formação profissional, agregando novos conhecimentos?
  • \n
  • 6. Você recomendaria o curso para outro profissional?
  • \n
  • 7. Atribua uma nota para o curso
  • \n
\n
\n
\n Respostas\n

Não há dados a serem exibidos

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Número da perguntaRespostaQuantidade
{{ row.numeroQuestao }}{{ row.resposta }}{{ row.quantidade }}
\n
\n
\n
\n
\n \n
\n
\n Alunos\n

Não há dados a serem exibidos

\n \n \n \n \n \n \n \n \n
RespostasAluno {{ (pageIndex * pageSize) + i + 1 }}
\n \n
\n
\n
\n \n
\n
\n Alunos\n
\n
\n \n search\n Pesquisar\n \n \n
\n
\n

Não há dados a serem exibidos

\n \n \n \n \n \n \n \n
Nome{{ row }}
\n \n
\n
\n
\n\n \n
\n
\n Alunos\n
\n
\n \n search\n Pesquisar\n \n \n
\n
\n

Não há dados a serem exibidos

\n \n \n \n \n \n \n \n \n \n \n \n
Nome{{ row }}
Não há dados a serem exibidos
\n \n
\n
\n
\n
\n
\n
\n
\n\n \n \n \n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'\nimport { ActivatedRoute, RouterModule } from '@angular/router'\nimport { AvalicaoDiscenteResumo } from 'src/app/models/avaliacao-discente-resumo'\nimport { CursoEdicaoDetalhes } from 'src/app/models/curso-edicao-detalhes'\nimport { AvaliacaoDiscenteService } from 'src/app/services/avaliacao-discente.service'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { AvaliacaoFinalDiscenteVisualizarComponent } from '../avaliacao-final-discente-visualizar/avaliacao-final-discente-visualizar.component'\nimport { MatDialog } from '@angular/material/dialog'\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table'\nimport { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { CommonModule } from '@angular/common'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatTabsModule } from '@angular/material/tabs'\nimport { tap } from 'rxjs'\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout'\nimport { UnespBreadcrumbItem, UnespBreadcrumbModule } from '@unesp/shared'\n\n@Component({\n selector: 'app-avaliacao-final-discente-listar',\n templateUrl: './avaliacao-final-discente-listar.component.html',\n standalone: true,\n imports: [\n MatCardModule,\n MatButtonModule,\n MatTabsModule,\n MatIconModule,\n MatFormFieldModule,\n MatTableModule,\n MatPaginatorModule,\n MatInputModule,\n CommonModule,\n FlexLayoutModule,\n RouterModule, \n UnespBreadcrumbModule\n ],\n styleUrls: ['./avaliacao-final-discente-listar.component.css'],\n})\nexport class AvaliacaoFinalDiscenteListarComponent implements OnInit {\n\n cursoId!: number\n edicao!: number\n cursoEdicaoDetalhes?: CursoEdicaoDetalhes\n data: AvalicaoDiscenteResumo[] = []\n cpfs: string[] = []\n alunosComResposta: string[] = []\n alunosSemResposta: string[] = []\n dataSourceDetalhamento: MatTableDataSource = new MatTableDataSource()\n dataSourceAlunosComResposta: MatTableDataSource = new MatTableDataSource()\n dataSourceAlunosSemResposta: MatTableDataSource = new MatTableDataSource()\n @ViewChild('pesquisaAlunoComResposta') pesquisaAlunoComResposta!: ElementRef\n @ViewChild('pesquisaAlunoSemResposta') pesquisaAlunoSemResposta!: ElementRef\n @ViewChild(MatPaginator, { static: false }) paginator!: MatPaginator\n @ViewChild(MatPaginator, { static: false }) paginatorAlunoComResposta!: MatPaginator\n @ViewChild(MatPaginator, { static: false }) paginatorAlunoSemResposta!: MatPaginator\n paginatedData: any[] = []\n paginatedDataAlunoComResposta: any[] = []\n paginatedDataAlunoSemResposta: any[] = []\n\n pageSize: number = 10\n pageIndex: number = 0\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Avaliações', route: '/unidade/curso-edicao-avaliacoes', icon: 'addchart' },\n { label: 'Avaliações', route: '', icon: 'edit' },\n ] \n constructor(\n private route: ActivatedRoute,\n private avaliacaoDiscenteService: AvaliacaoDiscenteService,\n private cursoEdicaoService: CursoEdicaoService,\n private dialog: MatDialog,\n\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Avaliação Final`,\n route: `/unidade/avaliacao-final-discente/${this.cursoId}/${this.edicao}`,\n icon: 'edit',\n }\n })\n }\n\n ngOnInit() {\n this.dataSourceDetalhamento.paginator = this.paginator\n this.dataSourceAlunosComResposta.paginator = this.paginatorAlunoComResposta\n this.dataSourceAlunosSemResposta.paginator = this.paginatorAlunoSemResposta\n\n this.reloadTable()\n\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n this.paginatorAlunoComResposta?.page.pipe(tap(() => this.reloadTable())).subscribe()\n this.paginatorAlunoSemResposta?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n reloadTable() {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoDetalhes = obj\n })\n this.avaliacaoDiscenteService.resumoFinal(this.cursoId, this.edicao).subscribe(obj => {\n this.data = obj\n })\n this.avaliacaoDiscenteService.cpfResposta(this.cursoId, this.edicao, 'Final').subscribe(obj => {\n this.cpfs = obj\n this.paginateData(this.cpfs, this.dataSourceDetalhamento)\n })\n this.avaliacaoDiscenteService.alunosComRepospotas(this.cursoId, this.edicao, 'Final').subscribe(obj => {\n this.alunosComResposta = obj\n this.paginateDataAlunoComResposta(this.alunosComResposta, this.dataSourceAlunosComResposta)\n })\n this.avaliacaoDiscenteService.alunosSemRepospotas(this.cursoId, this.edicao, 'Final').subscribe(obj => {\n this.alunosSemResposta = obj\n this.paginateDataAlunoSemResposta(this.alunosSemResposta, this.dataSourceAlunosSemResposta)\n })\n })\n }\n\n pesquisarAlunoComResposta() {\n const value = this.pesquisaAlunoComResposta.nativeElement.value ?? ''\n let filtered = this.alunosComResposta.filter(\n i =>\n i.toLowerCase().includes(value.toLowerCase())\n )\n this.dataSourceAlunosComResposta = new MatTableDataSource(filtered)\n this.dataSourceAlunosComResposta.paginator = this.paginatorAlunoComResposta\n this.paginatorAlunoComResposta.firstPage()\n }\n\n pesquisarAlunoSemResposta() {\n const value = this.pesquisaAlunoSemResposta.nativeElement.value ?? ''\n let filtered = this.alunosSemResposta.filter(\n i =>\n i.toLowerCase().includes(value.toLowerCase())\n )\n this.dataSourceAlunosSemResposta = new MatTableDataSource(filtered)\n this.dataSourceAlunosSemResposta.paginator = this.paginatorAlunoSemResposta\n this.paginatorAlunoSemResposta.firstPage()\n }\n\n detalhes(cpf: string): void {\n this.dialog.open(AvaliacaoFinalDiscenteVisualizarComponent, {\n data: { cursoId: this.cursoId, edicao: this.edicao, cpf },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n paginateData(data: any[], dataSource: MatTableDataSource) {\n const startIndex = this.pageIndex * this.pageSize\n const endIndex = startIndex + this.pageSize\n this.paginatedData = data.slice(startIndex, endIndex)\n this.dataSourceDetalhamento.data = this.paginatedData\n }\n\n paginateDataAlunoComResposta(data: any[], dataSource: MatTableDataSource) {\n const startIndex = this.pageIndex * this.pageSize\n const endIndex = startIndex + this.pageSize\n this.paginatedDataAlunoComResposta = data.slice(startIndex, endIndex)\n this.dataSourceAlunosComResposta.data = this.paginatedDataAlunoComResposta\n }\n paginateDataAlunoSemResposta(data: any[], dataSource: MatTableDataSource) {\n const startIndex = this.pageIndex * this.pageSize\n const endIndex = startIndex + this.pageSize\n this.paginatedDataAlunoSemResposta = data.slice(startIndex, endIndex)\n this.dataSourceAlunosSemResposta.data = this.paginatedDataAlunoSemResposta\n }\n\n onPageChange(event: any, data: any[], dataSource: MatTableDataSource) {\n this.pageIndex = event.pageIndex\n this.pageSize = event.pageSize\n this.paginateData(data, dataSource)\n }\n\n onPageChangeComResposta(event: any, data: any[], dataSource: MatTableDataSource) {\n this.pageIndex = event.pageIndex\n this.pageSize = event.pageSize\n this.paginateDataAlunoComResposta(data, dataSource)\n }\n\n onPageChangeSemResposta(event: any, data: any[], dataSource: MatTableDataSource) {\n this.pageIndex = event.pageIndex\n this.pageSize = event.pageSize \n this.paginateDataAlunoSemResposta(data, dataSource)\n }\n}\n","\n\n
\n
\n \n Disciplina\n \n \n {{ disciplina.nomeDisciplina }}\n \n \n \n \n Data\n \n \n \n \n
\n \n
\n
\n
\n\n \n \n \n\n","import { Component } from '@angular/core'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { EdicaoDisciplina } from 'src/app/models/edicao-disciplina'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { EdicaoAlunoRelatoriosService } from 'src/app/services/edicao-aluno-relatorios.service'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-lista-presenca-gerar',\n templateUrl: './lista-presenca-gerar.component.html',\n styleUrls: ['./lista-presenca-gerar.component.css'],\n})\nexport class ListaPresencaGerarComponent {\n cursoId!: number\n edicao!: number\n cursoNome!: string\n disciplinas: EdicaoDisciplina[] = []\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Lista de presença', route: '', icon: 'list' },\n ]\n \n form = new FormGroup({\n disciplinaId: new FormControl('', Validators.required),\n data: new FormControl(new Date(), Validators.required),\n })\n\n constructor(\n private edicaoAlunoRelatoriosService: EdicaoAlunoRelatoriosService,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private cursoService: CursoService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Lista de presença`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/lista-presenca`, \n icon: 'list' ,\n }\n this.cursoService.getCurso(this.cursoId).subscribe(obj => {\n this.cursoNome = obj.nome\n })\n this.edicaoDisciplinaService.all(this.cursoId, this.edicao).subscribe(obj => {\n this.disciplinas = obj\n })\n })\n }\n\n applyTouchedToInvalidFields(): void {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n gerar(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n let disciplinaId: number = this.form.get('disciplinaId')?.getRawValue()\n let data: Date = this.form.get('data')?.getRawValue()\n this.edicaoAlunoRelatoriosService.getListaDePresencaDoCurso(this.cursoId, this.edicao, disciplinaId, data)\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { Observable, identity } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { AlunoCertificado } from '../models/aluno-certificado'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CertificadoService extends UnespCoreGenericService {\n readonly ROUTE = 'certificado'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n gravar(data: AlunoCertificado[]): Observable {\n return this.create(`${this.ROUTE}`, data).pipe(identity, this.errorHandlerService.catchError())\n }\n\n previa(cursoId: number, edicao: number, alunoEdicaoId: number): void {\n this.client\n .get(`${this.ENDPOINT}/${this.ROUTE}/${cursoId}/${edicao}/${alunoEdicaoId}`, this.requestPdfOptions())\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res =>\n this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_${alunoEdicaoId}_certificado_previa.pdf`)\n )\n }\n\n registrar(cursoId: number, edicao: number, alunoEdicaoId: number): Observable {\n return this.client\n .put(`${this.ENDPOINT}/${this.ROUTE}/${cursoId}/${edicao}/${alunoEdicaoId}`, [])\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n excluir(cursoId: number, edicao: number, alunoEdicaoId: number): Observable {\n return this.client\n .delete(`${this.ENDPOINT}/${this.ROUTE}/${cursoId}/${edicao}/${alunoEdicaoId}`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n imprimir(cursoId: number, edicao: number, alunoEdicaoId: number): void {\n this.client\n .get(`${this.ENDPOINT}/${this.ROUTE}/${cursoId}/${edicao}/${alunoEdicaoId}/pdf`, this.requestPdfOptions())\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_${alunoEdicaoId}_certificado.pdf`))\n }\n\n private requestPdfOptions(): any {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'application/pdf')\n return { headers: headers, responseType: 'blob' as 'json', observe: 'response' }\n }\n\n private dowloadArquivoDaResposta(res: any, nomeDoArquivo: string) {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = nomeDoArquivo\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n }\n}\n","\n\n\n

De acordo com a resolução que rege este curso/edição, os alunos estão autorizados a realizar a emissão do certificado digital.

\n

De acordo com a resolução que rege este curso/edição, a emissão dos certificados deve ser feita única e exclusivamente de forma impressa.

\n
\n
\n\n

Informações:

\n
    \n
  • Nesta tela são apresentados apenas os alunos com situação Formado;
  • \n
  • Digite o Número de registro para cada aluno e clique no botão Gravar Número de registro;
  • \n
  • Clique no botão Prévia para conferir os dados que serão impressos no certificado;
  • \n
  • Caso esteja tudo certo clique no botão Registrar de cada aluno;
  • \n
  • Ao registrar os dados não poderão mais ser alterados e o certificado estará disponível para o discente fazer a emissão;
  • \n
  • Ao registrar os dados não poderão mais ser alterados;
  • \n
  • Os botões Prévia e Registrar só estão disponíveis para alunos com TCE aprovada.
  • \n
\n
\n

Para aplicar a numeração de forma automática (sequencial):

\n
    \n
  • Digite o Número de registro no primeiro aluno da lista;
  • \n
  • Em seguida efetue um duplo-clique sobre o mesmo.
  • \n
\n
\n
\n\n\n search\n Pesquisar\n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CPF{{ row.cpf }}Aluno{{ row.nomeAluno }}Situação{{ row.status }}Número de registro\n
\n \n
\n
Data de registro\n {{ row.dataRegistro | date : 'dd/MM/yyyy' }}\n -\n Data de emissão\n {{ row.dataEmissao | date : 'dd/MM/yyyy' }}\n -\n Hash\n {{ row.hashQrcode }}\n -\n \n
\n \n previewPrévia\n \n \n verifiedRegistrar\n \n \n \n deleteExcluir\n \n
\n
\n Nenhum registro disponível\n
\n\n\n \n \n
\n 0\"\n [disabled]=\"todosJaForamRegistrados\">\n save Gravar Número de registro\n \n
\n \n
\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { AlunoCertificado } from 'src/app/models/aluno-certificado'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { CertificadoService } from 'src/app/services/certificado.service'\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { MatPaginator } from '@angular/material/paginator'\n\n@Component({\n selector: 'app-certificado-registrar',\n templateUrl: './certificado-registrar.component.html',\n styleUrls: ['./certificado-registrar.component.css'],\n})\nexport class CertificadoRegistrarComponent implements OnInit {\n isReadOnly: boolean = true\n isPROPG: boolean = false\n todosJaForamRegistrados: boolean = false\n isCertificadoDigital: boolean = false\n\n colunasGrid: string[] = [\n 'cpf',\n 'nomeAluno',\n 'status',\n 'numeroRegistro',\n 'dataRegistro',\n 'dataEmissao',\n 'hashQrcode',\n 'action',\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Certificados', route: '', icon: 'military_tech' },\n ]\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild('pesquisa') pesquisa!: ElementRef\n alunosCertificados: AlunoCertificado[] = []\n alunosCertificadosOriginais: AlunoCertificado[] = []\n totalElements: number = 0\n\n cursoId!: number\n edicao!: number\n cursoNome!: string\n\n constructor(\n private edicaoAlunoService: EdicaoAlunoService,\n private cursoEdicaoService: CursoEdicaoService,\n private certificadoService: CertificadoService,\n private dialog: MatDialog,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private unespCoreAuthService: UnespCoreAuthService\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Certificados`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/certificado-registrar`, \n icon: 'military_tech' ,\n }\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoNome = obj.nomeCurso\n this.isCertificadoDigital = obj.modeloCertificado.toString() === \"ASSINATURA_PROREITOR\"\n })\n })\n }\n\n ngOnInit(): void {\n this.getData()\n this.checkIsReadOnly()\n this.checkIsPROPG()\n }\n\n private getData(): void {\n this.edicaoAlunoService.listarCerfificados(this.cursoId, this.edicao).subscribe((data: AlunoCertificado[]) => {\n this.alunosCertificados = data.map(d => ({ ...d }))\n this.alunosCertificadosOriginais = data.map(d => ({ ...d }))\n this.dataSource = new MatTableDataSource(this.alunosCertificados)\n this.totalElements = this.alunosCertificados.length\n this.dataSource.paginator = this.paginator\n let qtde: number = 0\n this.alunosCertificados.forEach(d => {\n if (!d.registrado) {\n qtde++\n }\n })\n if (qtde === 0) {\n this.todosJaForamRegistrados = true\n }\n if (this.pesquisa?.nativeElement.value) {\n this.pesquisar()\n }\n })\n }\n\n pesquisar() {\n let filtered = this.alunosCertificados.filter(a => \n a.nomeAluno.toLowerCase().includes(this.pesquisa?.nativeElement.value.toLowerCase()) ||\n a.cpf.toLowerCase().includes(this.pesquisa?.nativeElement.value.toLowerCase()) ||\n a.numeroRegistro?.toString().toLowerCase().includes(this.pesquisa?.nativeElement.value.toLowerCase())\n )\n this.dataSource = new MatTableDataSource(filtered)\n this.totalElements = filtered.length\n this.dataSource.paginator = this.paginator\n }\n\n private checkIsReadOnly(): void {\n this.isReadOnly =\n !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE']) &&\n !this.unespCoreAuthService.hasPermissionBasedRoles(['STPG']) &&\n !this.unespCoreAuthService.hasPermissionBasedRoles(['EQUIPE-APOIO'])\n }\n\n private checkIsPROPG(): void {\n this.isPROPG = this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n }\n\n gravarNumeroRegistro(): void {\n // Filtra os dados alterados\n const dadosAlterados = this.alunosCertificados.filter((certificado, index) => {\n const original = this.alunosCertificadosOriginais[index]\n // Comparar os campos que podem ser alterados\n return (\n certificado.numeroRegistro !== original.numeroRegistro\n )\n })\n if (dadosAlterados.length === 0) {\n this.unespCoreMessageService.showMessageInfo('Nenhuma alteração foi feita')\n return\n }\n\n this.certificadoService.gravar(dadosAlterados).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Número de registro registrado com sucesso`)\n this.getData()\n })\n }\n\n aplicarSequencia(event: any, index: number) {\n let numeroRegistro = Number(event.target.value)\n if (numeroRegistro > 0) {\n for (let i = index; i < this.dataSource.data.length; i++) {\n this.dataSource.data[i].numeroRegistro = numeroRegistro\n numeroRegistro += 1\n }\n }\n }\n\n previa(data: AlunoCertificado): void {\n this.certificadoService.previa(this.cursoId, this.edicao, data.id)\n }\n\n registrar(data: AlunoCertificado): void {\n const msg = this.isCertificadoDigital\n ? `Registrar e liberar o certificado para ${data.nomeAluno}?`\n : `Registrar o certificado para ${data.nomeAluno}?`\n const confirmDialog = new UnespConfirmDialogModel('Atenção', msg)\n this.dialog\n .open(UnespConfirmDialogComponent, { data: confirmDialog })\n .afterClosed()\n .subscribe(res => {\n if (res) {\n this.certificadoService.registrar(this.cursoId, this.edicao, data.id).subscribe(res => {\n this.unespCoreMessageService.showMessageSuccess(`Certificado registrado com sucesso`)\n for (let i = 0; i < this.alunosCertificados.length; i++) {\n if (this.alunosCertificados[i].id == data.id) {\n this.alunosCertificados[i].registrado = true\n }\n }\n })\n }\n })\n }\n\n imprimir(data: AlunoCertificado): void {\n const msg = this.isCertificadoDigital\n ? `${data.nomeAluno} solicitou o certificado impresso?`\n : !data.dataEmissao\n ? `Deseja fazer a emissão e impressão do certificado para ${data.nomeAluno}?`\n : `Deseja fazer a impressão do certificado para ${data.nomeAluno}?`\n const confirmDialog = new UnespConfirmDialogModel('Atenção', msg)\n this.dialog\n .open(UnespConfirmDialogComponent, { data: confirmDialog })\n .afterClosed()\n .subscribe(res => {\n if (res) {\n this.certificadoService.imprimir(this.cursoId, this.edicao, data.id)\n for (let i = 0; i < this.alunosCertificados.length; i++) {\n if (this.alunosCertificados[i].id == data.id) {\n if (this.alunosCertificados[i].dataEmissao == null) {\n this.alunosCertificados[i].dataEmissao = new Date()\n }\n }\n }\n }\n })\n }\n\n excluirDialog(data: AlunoCertificado): void {\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `Confirmar exclusão do certificado de ${data.nomeAluno}?`\n )\n this.dialog\n .open(UnespConfirmDialogComponent, { data: confirmDialog })\n .afterClosed()\n .subscribe(res => {\n if (res) {\n this.excluir(data)\n for (let i = 0; i < this.alunosCertificados.length; i++) {\n if (this.alunosCertificados[i].id == data.id) {\n this.alunosCertificados[i].registrado = false\n }\n }\n }\n })\n }\n\n excluir(data: AlunoCertificado): void {\n this.certificadoService.excluir(this.cursoId, this.edicao, data.id).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Certificado excluido com sucesso`)\n this.alunosCertificados.forEach(d => {\n if (d.id === data.id) {\n d.dataEmissao = data.dataEmissao\n d.hashQrcode = data.hashQrcode\n }\n })\n this.todosJaForamRegistrados = false\n })\n }\n}\n","

{{ registro }}

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Data{{ row.data }}Usuário{{ row.usuario }}IP{{ row.ip }}Entidade{{ row.entidade }}Detalhes{{ row.detalhes }}
Não há dados a serem exibidos
\n
\n\n \n
\n \n
\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { Alteracao, HistoricoDeAlteracoes } from 'src/app/models/historico-de-alteracoes'\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n} from '@angular/material/dialog'\n\n@Component({\n selector: 'app-historico-de-alteracoes-dialog',\n templateUrl: './historico-de-alteracoes-dialog.component.html',\n styleUrls: ['./historico-de-alteracoes-dialog.component.css'],\n})\nexport class HistoricoDeAlteracoesDialogComponent implements OnInit {\n registro: string\n colunasGrid: string[] = ['data', 'usuario', 'ip', 'entidade', 'detalhes']\n dataSource: MatTableDataSource = new MatTableDataSource()\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: HistoricoDeAlteracoes\n ) {\n this.registro = data.registro\n }\n\n ngOnInit() {\n this.dataSource.data = this.data.alteracoes\n }\n\n cancelar(): void {\n this.dialogRef.close(false)\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, Observable, of } from 'rxjs'\nimport { HistoricoDeAlteracoes } from '../models/historico-de-alteracoes'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HistoricoDeAlteracoesService extends UnespCoreGenericService {\n readonly ROUTE = 'historico-de-alteracoes'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService\n ) {\n super(http, environment)\n this.client = http\n }\n\n listar(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n}\n","\n\n\n\n search\n Pesquisar\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#{{ row.id }}Unidade\n {{ row.campus }} - {{ row.sigla }}\n {{ row.sigla }}\n Curso / Edição{{ row.registro }}\n
\n \n
\n
Não há dados a serem exibidos
\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { UnespCoreAuthService } from '@unesp/core'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { HistoricoDeAlteracoes } from 'src/app/models/historico-de-alteracoes'\nimport { HistoricoDeAlteracoesService } from 'src/app/services/historico-de-alteracoes.service'\nimport { HistoricoDeAlteracoesDialogComponent } from '../historico-de-alteracoes-dialog/historico-de-alteracoes-dialog.component'\nimport { MatDialog } from '@angular/material/dialog'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-historico-de-alteracoes-listar',\n templateUrl: './historico-de-alteracoes-listar.component.html',\n styleUrls: ['./historico-de-alteracoes-listar.component.css'],\n})\nexport class HistoricoDeAlteracoesListarComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = ['id', 'unidade', 'registro', 'action']\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'historico-de-alteracoes-listar.search'\n cursoId!: number\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Histórico de alterações', route: '/unidade/historico-de-alteracoes', icon: 'history' },\n ] \n constructor(\n private historicoDeAlteracoesService: HistoricoDeAlteracoesService,\n private localStorageService: LocalStorageService,\n private unespCoreAuthService: UnespCoreAuthService,\n public dialog: MatDialog\n ) {}\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.reloadTable()\n }, 0)\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.historicoDeAlteracoesService\n .listar(this.pageParams(), this.localStorageService.get(this.cacheSearch) ?? '')\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.reloadTable()\n }\n\n detalhes(historico: HistoricoDeAlteracoes) {\n this.dialog.open(HistoricoDeAlteracoesDialogComponent, { data: historico, panelClass: 'my-dialog-resizer' })\n }\n\n isReadOnly(): boolean {\n return !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE'])\n }\n\n isComissaoAssessora(): boolean {\n return this.unespCoreAuthService.hasPermissionBasedRoles(['COMISSAO-ASSESSORA'])\n }\n\n isPropg(): boolean {\n return this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n }\n}\n","\n
\n
\n \n search\n Pesquisar\n \n \n \n Situação\n \n Todas\n \n {{ row.value }}\n \n \n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#{{ row.id }}Unidade{{ row.campus }}Nome{{ row.nome }}Edição{{ row.edicao }}Coordenador{{ row.nomeCoordenador }}Data inicial{{ row.dataInicialCurso | date : 'dd/MM/yyyy' }}Data final{{ row.dataFinalCurso | date : 'dd/MM/yyyy' }}Situação{{ row.situacao }}\n
\n \n \n \n @if(row.relatorioParcial) {\n \n }\n \n \n
\n
Não há dados a serem exibidos
\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { CursoEdicao } from 'src/app/models/curso-edicao'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { MatSelect } from '@angular/material/select'\nimport { CursoEdicaoSituacaoPermiteRelatorio } from '../../../../enums/curso-edicao-situacao'\nimport { MatDialog } from '@angular/material/dialog'\nimport { CursoEdicaoSituacaoComponent } from '../../curso-edicao/curso-edicao-situacao/curso-edicao-situacao.component'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-curso-edicao-relatorio-listar',\n templateUrl: './curso-edicao-relatorio-listar.component.html',\n styleUrls: ['./curso-edicao-relatorio-listar.component.css'],\n})\nexport class CursoEdicaoRelatorioListarComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'id',\n 'campus',\n 'nome',\n 'edicao',\n 'nomeCoordenador',\n 'dataInicialCurso',\n 'dataFinalCurso',\n 'situacao',\n 'action',\n ]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Relatórios', route: '/unidade/curso-edicao-relatorios', icon: 'app_registration' },\n ] \n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n filtroSituacaoSelecionado: string = ''\n cacheSearch: string = 'curso-edicao-relatorio-listar.search'\n filtroSituacaoCache: string = 'curso-edicao-relatorio-listar.filtro-situacao.search'\n cursoId!: number\n\n situacoes = CursoEdicaoSituacaoPermiteRelatorio\n\n constructor(\n private cursoEdicaoService: CursoEdicaoService,\n private route: ActivatedRoute,\n private localStorageService: LocalStorageService,\n private router: Router,\n private dialog: MatDialog,\n ) {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId'] ?? 0\n })\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.paginator.pageIndex = 0\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.filtroSituacao.value = this.localStorageService.get(this.filtroSituacaoCache) ?? ''\n this.reloadTable()\n }, 0)\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.cursoEdicaoService\n .listarParaRelatorio(\n this.cursoId,\n this.pageParams(),\n this.localStorageService.get(this.cacheSearch) ?? '',\n this.localStorageService.get(this.filtroSituacaoCache)\n )\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.localStorageService.set(this.filtroSituacaoCache, this.filtroSituacao?.value)\n this.reloadTable()\n }\n\n relatorioParcialCoodenador(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/relatorio-parcial-coordenador/${cursoId}/${edicao}`])\n }\n\n relatorioFinalCoodenador(cursoId: number, edicao: number) {\n this.router.navigate([`unidade/relatorio-final-coordenador/${cursoId}/${edicao}`])\n }\n\n situacao(cursoEdicao: CursoEdicao) {\n this.dialog.open(CursoEdicaoSituacaoComponent, {\n data: cursoEdicao,\n panelClass: 'my-dialog-resizer',\n })\n }\n}\n","import { Component, OnInit } from '@angular/core'\nimport { ActivatedRoute } from '@angular/router'\nimport { ArquivoViewerDialogComponent } from '../arquivo-viewer-dialog/arquivo-viewer-dialog.component'\nimport { MatDialog } from '@angular/material/dialog'\n\n@Component({\n selector: 'app-download-asset',\n templateUrl: './download-asset.component.html',\n styleUrls: ['./download-asset.component.css'],\n})\nexport class DownloadAssetComponent implements OnInit {\n filename: string = ''\n title: string = ''\n viewer: boolean = false\n\n constructor(private route: ActivatedRoute, public dialog: MatDialog) {}\n\n ngOnInit(): void {\n this.route.data.subscribe(data => {\n let { filename, title, viewer } = data\n this.filename = filename\n this.title = title\n this.viewer = viewer\n this.download()\n })\n }\n\n download(): void {\n if (this.viewer) {\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: {\n titulo: this.title,\n urlDoArquivo: `assets/docs/${this.filename}`,\n },\n width: '80%',\n height: '90%',\n })\n } else {\n let downloadLink = document.createElement('a')\n downloadLink.setAttribute('download', this.filename)\n downloadLink.href = `assets/docs/${this.filename}`\n document.body.appendChild(downloadLink)\n downloadLink.click()\n downloadLink.remove()\n }\n }\n}\n","

{{ title }}

\n\n\n","\n\n\n\n
\n
\n
\n Situação Atual\n \n Situação\n \n \n {{ row.value }}\n \n \n \n
\n
\n
\n
\n Nova Situação\n
\n
\n \n Situação\n \n \n {{ row.value }}\n \n \n \n
\n
\n \n Data da Alteração\n \n \n \n \n
\n
\n
\n
\n \n Enviar notificação da alteração para o aluno?\n \n
\n\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n CPF{{ row.cpfAluno }}Nome{{ row.nome }}Situação{{ row.status }}
\n Não há dados a serem exibidos.

\n Selecione uma situação para realizar nova busca.\n
\n \n \n \n \n \n ","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ActivatedRoute } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMessageService } from '@unesp/core'\nimport { EdicaoAlunoListar } from 'src/app/models/edicao-aluno-listar'\nimport { CursoService } from 'src/app/services/curso.service'\nimport { EdicaoAlunoService } from 'src/app/services/edicao-aluno.service'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport {\n InscricaoSituacao,\n InscricaoSituacaoParaDesligado,\n InscricaoSituacaoParaFormado,\n InscricaoSituacaoParaInscrito,\n InscricaoSituacaoParaMatriculado,\n InscricaoSituacaoParaPreInscrito,\n InscricaoSituacaoParaReprovado,\n} from 'src/app/enums/inscricao-situacao'\nimport { MatSelect } from '@angular/material/select'\nimport { EdicaoDisciplinaService } from '../../../../services/edicao-disciplina.service'\nimport { SelectionModel } from '@angular/cdk/collections'\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { EdicaoAlunoAlterarSituacaoLote } from '../../../../models/edicao-aluno-alterar-situacao-lote'\n\n@Component({\n selector: 'app-edicao-aluno-alterar-situacao',\n templateUrl: './edicao-aluno-alterar-situacao.component.html',\n styleUrls: ['./edicao-aluno-alterar-situacao.component.css'],\n})\nexport class EdicaoAlunoAlterarSituacaoComponent implements OnInit, AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = ['select', 'cpfAluno', 'nome', 'status']\n dataSource: MatTableDataSource = new MatTableDataSource()\n selection = new SelectionModel(true, [])\n totalElements: number = 0\n\n @ViewChild('filtroSituacao') filtroSituacao!: MatSelect\n filtroSituacaoSelecionado: string = ''\n cursoId!: number\n edicao!: number\n cursoNome!: string\n cursoEdicao!: number\n cursoEdicaoPossuiEnfase?: boolean\n\n data = new Date()\n novaSituacao?: any\n novaSituacaoSelecionada: string = ''\n novaSituacaoPossuiData?: boolean = false\n\n situacoes = InscricaoSituacao\n situacoesParaPreInscritos = InscricaoSituacaoParaPreInscrito\n situacoesParaInscritos = InscricaoSituacaoParaInscrito\n situacoesPrevias: string[] = []\n\n isReadOnly: boolean = true\n enviarNotificacao: boolean = true\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Alunos', route: '', icon: 'groups' },\n { label: 'Alterar Situação', route: '', icon: 'grading' },\n ]\n constructor(\n private edicaoAlunoService: EdicaoAlunoService,\n private cursoService: CursoService,\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private dialog: MatDialog,\n private unespCoreAuthService: UnespCoreAuthService\n ) { }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs[2] = {\n label: `Alunos`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos`,\n icon: 'groups',\n }\n this.breadcrumbs[3] = {\n label: `Alterar Situação`,\n route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/alunos/alterar-situacao`, \n icon: 'grading' ,\n }\n this.cursoService.getCurso(this.cursoId).subscribe(obj => {\n this.cursoNome = obj.nome\n })\n this.edicaoDisciplinaService.possuiEnfase(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoPossuiEnfase = obj\n })\n })\n this.checkIsReadOnly()\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n setTimeout(() => {\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable(): void {\n if (this.filtroSituacaoSelecionado === '') {\n this.dataSource = new MatTableDataSource()\n return\n }\n this.edicaoAlunoService\n .listar(this.cursoId, this.edicao, this.pageParams(), '', this.filtroSituacaoSelecionado)\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n this.situacoesPrevias = []\n this.dataSource.data.forEach(d => {\n this.situacoesPrevias.push(d.status)\n })\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.filtraNovasSituacoesPossiveis()\n this.reloadTable()\n }\n\n private filtraNovasSituacoesPossiveis() {\n if (this.filtroSituacaoSelecionado === InscricaoSituacao['Pre-Inscrito']) {\n this.novaSituacao = InscricaoSituacaoParaPreInscrito\n } else if (this.filtroSituacaoSelecionado === InscricaoSituacao.Inscrito) {\n this.novaSituacao = InscricaoSituacaoParaInscrito\n } else if (this.filtroSituacaoSelecionado === InscricaoSituacao.Matriculado) {\n this.novaSituacao = InscricaoSituacaoParaMatriculado\n } else if (this.filtroSituacaoSelecionado === InscricaoSituacao.Formado) {\n this.novaSituacao = InscricaoSituacaoParaFormado\n } else if (this.filtroSituacaoSelecionado === InscricaoSituacao.Reprovado) {\n this.novaSituacao = InscricaoSituacaoParaReprovado\n } else if (this.filtroSituacaoSelecionado === InscricaoSituacao.Desligado) {\n this.novaSituacao = InscricaoSituacaoParaDesligado\n }\n }\n\n onChangeNovaSituacao() {\n this.novaSituacaoPossuiData =\n this.novaSituacaoSelecionada === InscricaoSituacao.Inscrito ||\n this.novaSituacaoSelecionada === InscricaoSituacao.Matriculado ||\n this.novaSituacaoSelecionada === InscricaoSituacao.Formado ||\n this.novaSituacaoSelecionada === InscricaoSituacao.Desligado\n }\n\n gravar() {\n if (this.novaSituacaoSelecionada === undefined || this.novaSituacaoSelecionada === '') {\n this.unespCoreMessageService.showMessageError('Selecione a nova situação.')\n return\n }\n if (this.filtroSituacaoSelecionado === this.novaSituacaoSelecionada) {\n this.unespCoreMessageService.showMessageError('A nova situação é igual a situação selecionada no filtro')\n return\n }\n if (this.selection.isEmpty()) {\n this.unespCoreMessageService.showMessageError('Selecione ao menos um aluno para alterar a situação')\n return\n }\n\n const confirmDialog = new UnespConfirmDialogModel(\n 'Atenção',\n `Confirma que a alteração de situação dos alunos selecionados para ${this.novaSituacaoSelecionada}?`\n )\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n const loteAlunos: EdicaoAlunoAlterarSituacaoLote = {\n ids: this.selection.selected.map(obj => obj.id),\n situacao: this.novaSituacaoSelecionada!.toString(),\n data: this.novaSituacaoPossuiData ? this.data : undefined,\n enviarNotificacao: this.enviarNotificacao\n }\n this.edicaoAlunoService.atualizarStatusLote(loteAlunos)\n .subscribe(res => {\n this.unespCoreMessageService.showMessageInfo('Processamento executado.', undefined, 5000)\n this.reloadTable()\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = `Lista de Alteracoes Situacao Aluno.csv`\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n this.selection.clear()\n this.novaSituacaoSelecionada = ''\n })\n }\n })\n }\n\n private checkIsReadOnly(): void {\n this.isReadOnly = !this.unespCoreAuthService.hasPermissionBasedRoles(['DOCENTE', 'STPG', 'EQUIPE-APOIO'])\n }\n\n isAllSelected() {\n const numSelected = this.selection.selected.length\n const numRows = this.dataSource.data.length\n return numSelected === numRows\n }\n\n toggleAllRows() {\n if (this.isAllSelected()) {\n this.selection.clear()\n return\n }\n\n this.selection.select(...this.dataSource.data)\n }\n\n checkboxLabel(row?: EdicaoAlunoListar): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.cpfAluno + 1}`\n }\n}\n","\n\n
\n Arquivos de exemplo\n \n
\n\n
\n\n\n \n \n \n CSV Alunos\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ColunaExplicação
estrangeirotrue ou false
cpf_passaportemáximo 15 caracteres (para cpf usar os números)
nomemáximo 60 caracteres
nome_socialmáximo 60 caracteres
emailmáximo 150 caracteres
data_nascimentodd/MM/yyyy
sexoFeminino ou Masculino
estado_civilSolteiro, Casado, Divorciado, Viúvo, União Estável ou Separado
rg_numeromáximo 15 caracteres
rg_orgao_siglaSSP, ...
rg_expedicao_uf_siglaSP, PR, ...
rg_data_expedicaodd/MM/yyyy
titulo_eleitor_numeromáximo 15 caracteres
titulo_eleitor_zonamáximo 4 caracteres
titulo_eleitor_secaomáximo 4 caracteres
titulo_eleitor_data_expedicaodd/MM/yyyy
certificado_militar_numeromáximo 15 caracteres
certificado_militar_csmmáximo 3 caracteres
naturalidade_uf_siglaSP, PR, ...
naturalidade_cidademáximo 30 caracteres
nacionalidademáximo 20 caracteres
nome_maemáximo 60 caracteres
nome_paimáximo 60 caracteres
numero_lattesmáximo 30 caracteres
endereco_cepmáximo 12 caracteres
endereco_ruamáximo 60 caracteres
endereco_numeromáximo 10 caracteres
endereco_complementomáximo 60 caracteres
endereco_bairromáximo 60 caracteres
endereco_estado_siglaSP, PR, ...
endereco_cidademáximo 30 caracteres
telefone_celularmáximo 20 caracteres
telefone_residencialmáximo 20 caracteres
telefone_empresarialmáximo 20 caracteres
graduacao_nome_cursomáximo 200 caracteres
graduacao_nome_instituicaomáximo 200 caracteres
graduacao_instituicao_estrangeiratrue ou false
graduacao_paismáximo 40 caracteres
graduacao_uf_siglaSP, PR, ...
graduacao_cidademáximo 40 caracteres
graduacao_data_conclusaodd/MM/yyyy
\n
\n
\n \n \n \n CSV Notas e Faltas\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ColunaExplicação
cpfmáximo 15 caracteres (para cpf usar os números)
codigo_disciplinainformar o campo sigla da disciplina cadastrada no SISESP
notade 0 à 10.00
frenquenciade 0 à 100
conceitoAprovado, Reprovado, Indefinido ou Aproveitamento de Crédito
\n
\n
\n \n \n \n CSV TCEs\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ColunaExplicação
cpfmáximo 15 caracteres (para cpf usar os números)
nome_orientadormáximo 80 caracteres
titulo_monografiamáximo 400 caracteres
data_defesadd/MM/yyyy
hora_defesahh:mm
local_defesamáximo 80 caracteres
notade 0 à 10.00
aprovadotrue ou false
\n
\n
\n
","import { Component } from '@angular/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-manual-importacao',\n templateUrl: './manual-importacao.component.html',\n styleUrls: ['./manual-importacao.component.css'],\n})\nexport class ManualImportacaoComponent {\nreadonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Manual de Importação', route: '/unidade/manual-importacao', icon: 'addchart' }\n ] \n download(filename: string): void {\n let downloadLink = document.createElement('a')\n downloadLink.setAttribute('download', filename)\n downloadLink.href = `assets/csv/${filename}`\n document.body.appendChild(downloadLink)\n downloadLink.click()\n downloadLink.remove()\n }\n \n}\n","\n
\n \n \n {{ cursoNome }} - {{ edicao }}ª edição\n \n \n @if (!showForm) {\n
\n \n
\n }\n\n @if (showForm) {\n \n \n
\n Cadastro\n
\n \n Data\n \n \n \n \n \n Título\n \n \n \n \n
\n
\n \n \n
\n
\n
\n }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Data{{ row.data | date: 'dd/MM/yyyy' }}Título{{ row.titulo }}\n @if (row.arquivo) {\n \n }\n \n \n
Não há dados a serem exibidos
\n\n \n \n \n \n \n
","import { Component, OnInit, ViewChild } from \"@angular/core\"\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\"\nimport { MatDialog } from \"@angular/material/dialog\"\nimport { MatTableDataSource } from \"@angular/material/table\"\nimport { ActivatedRoute } from \"@angular/router\"\nimport { UnespCoreMessageService } from \"@unesp/core\"\nimport { UnespBreadcrumbItem, UnespConfirmDialogComponent, UnespConfirmDialogModel } from \"@unesp/shared\"\nimport { CursoEdicaoPublicacao, CursoEdicaoPublicacaoForm } from \"src/app/models/curso-edicao-publicacao\"\nimport { ArquivoUploadComponent, ArquivoSelecionado, arquivoUploadValidator, ArquivoStatus } from \"src/app/modules/comum/arquivo-upload/arquivo-upload.component\"\nimport { ArquivoViewerDialogComponent } from \"src/app/modules/comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component\"\nimport { ArquivoDownloadService } from \"src/app/services/arquivo-download.service\"\nimport { CursoEdicaoPublicacaoService } from \"src/app/services/curso-edicao-publicacao.service\"\nimport { CursoEdicaoService } from \"src/app/services/curso-edicao.service\"\n\n@Component({\n selector: 'app-curso-edicao-publicacao',\n templateUrl: './curso-edicao-publicacao.component.html',\n styleUrls: ['./curso-edicao-publicacao.component.css']\n})\nexport class CursoEdicaoPublicacaoComponent implements OnInit {\n\n breadcrumbs: UnespBreadcrumbItem[] = []\n\n cursoId!: number\n edicao!: number\n cursoEdicaoId!: number\n cursoNome!: string\n cursoEdicao!: number\n bloqueado: boolean = false\n isReadOnly: boolean = true\n\n showForm: boolean = false\n form = new FormGroup({\n id: new FormControl(null),\n cursoEdicaoId: new FormControl(null),\n data: new FormControl(null, Validators.required),\n titulo: new FormControl('', Validators.required),\n arquivo: new FormControl('')\n })\n\n @ViewChild('arquivo') arquivo: ArquivoUploadComponent | undefined\n arquivoFC: FormControl\n\n dataSource: MatTableDataSource = new MatTableDataSource()\n colunasGrid: string[] = ['data', 'titulo', 'action']\n\n constructor(\n private route: ActivatedRoute,\n private cursoEdicaoService: CursoEdicaoService,\n private cursoEdicaoPublicacaoService: CursoEdicaoPublicacaoService,\n private dialog: MatDialog,\n private unespCoreMessageService: UnespCoreMessageService,\n private downloadService: ArquivoDownloadService,\n ) {\n this.arquivoFC = new FormControl(new ArquivoSelecionado(), {\n validators: [arquivoUploadValidator(true), Validators.required], \n updateOn: 'submit'\n }) as FormControl\n }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.cursoId = params['cursoId']\n this.edicao = params['edicao']\n this.breadcrumbs = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Publicações', route: `/unidade/curso-edicao/${this.cursoId}/${this.edicao}/publicacoes`, icon: 'view_timeline' },\n ]\n this.cursoEdicaoService.getDetalhes(this.cursoId, this.edicao).subscribe(obj => {\n this.cursoEdicaoId = obj.id\n this.cursoNome = obj.nomeCurso\n this.bloqueado = obj.bloqueado\n this.isReadOnly = obj.isReadOnly\n this.reloadTable()\n }) \n })\n }\n\n reloadTable(): void {\n this.cursoEdicaoPublicacaoService.listarPorCursoEdicaoId(this.cursoEdicaoId).subscribe(data => {\n this.dataSource = new MatTableDataSource(data)\n })\n }\n\n incluir(): void {\n this.form.reset()\n this.form.controls['cursoEdicaoId'].setValue(this.cursoEdicaoId)\n this.form.controls['data'].setValue(new Date())\n this.arquivoFC.value.status = ArquivoStatus.VAZIO\n this.limparUploadForm()\n this.showForm = true\n }\n\n visualizar(id: number, nome: string, fileName: string) {\n this.downloadService.arquivoObjectURLPorPath(`curso-edicao-publicacao/${id}/download`, fileName).subscribe(url => {\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: { tituloDoArquivo: nome, urlDoArquivo: url },\n width: '80%',\n height: '90%',\n })\n })\n }\n\n editar(row: CursoEdicaoPublicacao): void {\n this.preparaDefaulForm(row)\n this.preparaUploadForm(row)\n this.showForm = true\n }\n\n private preparaDefaulForm(row: CursoEdicaoPublicacao): void {\n this.form.reset()\n this.form.controls['id'].setValue(row.id!)\n this.form.controls['cursoEdicaoId'].setValue(row.cursoEdicaoId)\n this.form.controls['data'].setValue(new Date(row.data + 'T00:00:00'))\n this.form.controls['titulo'].setValue(row.titulo)\n }\n\n private preparaUploadForm(row: CursoEdicaoPublicacao): void {\n if (row.arquivo) {\n this.arquivoFC.value.status = ArquivoStatus.SALVO\n this.arquivoFC.value.name = row.arquivo\n this.arquivoFC.value.uuid = row.arquivo\n this.arquivoFC.value.file = new File([], row.arquivo)\n this.arquivoFC.setValue(this.arquivoFC.value)\n } else {\n this.limparUploadForm()\n }\n }\n\n private limparUploadForm(): void {\n this.arquivoFC.value.status = ArquivoStatus.VAZIO\n this.arquivoFC.value.name = ''\n this.arquivoFC.value.uuid = ''\n this.arquivoFC.value.size = 0\n this.arquivoFC.value.file = null\n this.arquivoFC.value.removeFile()\n this.arquivoFC.setValue(this.arquivoFC.value)\n }\n\n cancelar(): void {\n this.limparUploadForm()\n this.showForm = false\n }\n\n excluir(row: CursoEdicaoPublicacao): void {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Confirma a exclusão da publicação ${row.titulo}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.cursoEdicaoPublicacaoService.excluir(row.id!).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Excluído com sucesso')\n this.reloadTable()\n },\n error: err => {\n this.unespCoreMessageService.showMessageError(err.error.message)\n },\n })\n }\n })\n }\n\n applyTouchedToInvalidFields(): void {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n gravar(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n if (this.arquivoFC.value.status === ArquivoStatus.VAZIO) {\n this.unespCoreMessageService.showMessageError('É obrigatório selecionar um anexo')\n return\n }\n\n let formulario: CursoEdicaoPublicacaoForm = {\n id: this.form.controls['id'].getRawValue()!,\n cursoEdicaoId: this.form.controls['cursoEdicaoId'].getRawValue()!,\n data: this.form.controls['data'].getRawValue()!,\n titulo: this.form.controls['titulo'].getRawValue()!\n }\n\n if (formulario.id) {\n this.cursoEdicaoPublicacaoService.atualizar(formulario.id, formulario).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Publicação #${data.id} atualizado com sucesso`)\n this.arquivoUpload(data.id!)\n this.resetForm()\n })\n } else {\n this.cursoEdicaoPublicacaoService.gravar(formulario).subscribe(data => {\n this.unespCoreMessageService.showMessageSuccess(`Publicação #${data.id} cadastrado com sucesso`)\n this.arquivoUpload(data.id!)\n this.resetForm()\n })\n }\n }\n\n private arquivoUpload(id: number): void {\n this.arquivo!.uploadPath = `curso-edicao-publicacao/${id}/upload`\n if (this.arquivoFC.value.status == ArquivoStatus.SELECIONADO) {\n this.arquivo?.upload()?.then(() => {\n this.reloadTable()\n })\n }\n } \n\n private resetForm(): void {\n this.form.reset()\n this.showForm = false\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { UnespCoreEnvironment, UnespCoreGenericService, UnespCoreMessageService } from '@unesp/core';\nimport { ErrorHandlerService } from './error-handler.service';\nimport { identity, Observable } from 'rxjs';\nimport { CursoEdicaoDocumentoInscricao } from '../models/curso-edicao-documento-inscricao';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CursoEdicaoDocumentoInscricaoService extends UnespCoreGenericService {\n readonly ROUTE = 'curso-edicao-documento-inscricao'\n client!: HttpClient\n baseUrl!: string\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n this.baseUrl = environment.baseUrlApi\n }\n\n listarTodos(cursoEdicaoId: number): Observable {\n return this.findById(`${this.ROUTE}`, cursoEdicaoId)\n }\n\n salvar(documentosForm: CursoEdicaoDocumentoInscricao): Observable {\n return this.create(this.ROUTE, documentosForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, documentosForm: CursoEdicaoDocumentoInscricao): Observable {\n return this.update(`${this.ROUTE}/${id}`, documentosForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n}\n","
\n \n \n
\n Cadastro\n
\n
\n
\n \n Nome documento\n \n \n \n \n Obrigatório\n \n \n \n
\n \n save\n \n
\n
\n
\n
\n
\n
\n\n
\n Documentos\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Nome documento {{row.nomeDocumento}} Obrigatório {{ row.isObrigatorio ? 'Sim' : 'Não' }} \n
\n \n \n
\n
Não há dados a serem exibidos
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n","import { MatTableDataSource } from '@angular/material/table'\nimport { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core'\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'\nimport { MatDialog } from '@angular/material/dialog'\nimport { UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { CursoEdicaoDocumentoInscricao } from 'src/app/models/curso-edicao-documento-inscricao'\nimport { CursoEdicaoDocumentoInscricaoService } from 'src/app/services/curso-edicao-documento-inscricao.service'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { MatSort } from '@angular/material/sort'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { tap } from 'rxjs'\n\n@Component({\n selector: 'app-curso-edicao-documento-inscricao',\n templateUrl: './curso-edicao-documento-inscricao.component.html',\n styleUrls: ['./curso-edicao-documento-inscricao.component.css']\n})\nexport class CursoEdicaoDocumentoInscricaoComponent implements OnInit, AfterViewInit {\n\n @ViewChild('formulario') formulario!: ElementRef\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n @Input() cursoEdicaoId?: number\n @Input() situacao: string = ''\n @Input() isPropg: boolean = false\n @Input() isReadOnly: boolean = true\n dataSource: MatTableDataSource = new MatTableDataSource()\n documentosIdRemover: number[] = []\n displayedColumns: string[] = [\n 'nomeDocumento',\n 'isObrigatorio',\n 'action',\n ]\n \n form = new FormGroup({\n id: new FormControl(''),\n cursoEdicaoId: new FormControl(-1),\n nomeDocumento: new FormControl(''),\n isObrigatorio: new FormControl(false)\n })\n\n constructor(\n private fb: FormBuilder,\n private dialog: MatDialog,\n private cursoEdicaoDocumentoInscricaoService: CursoEdicaoDocumentoInscricaoService,\n private unespCoreMessageService: UnespCoreMessageService\n ) { }\n\n ngOnInit(): void {\n this.reloadTable()\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe().subscribe()\n setTimeout(() => {\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n salvar(): void {\n this.form.controls['nomeDocumento'].addValidators(Validators.required)\n this.form.controls['nomeDocumento'].updateValueAndValidity()\n if(this.cursoEdicaoId){\n this.form.controls['cursoEdicaoId'].setValue(this.cursoEdicaoId)\n }\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n if(formulario.id) {\n this.cursoEdicaoDocumentoInscricaoService.atualizar(formulario.id, formulario).subscribe(() => {\n this.unespCoreMessageService.showMessageSuccess('Documento atualizado com sucesso')\n this.resetForm()\n this.reloadTable()\n })\n } else {\n this.cursoEdicaoDocumentoInscricaoService.salvar(formulario).subscribe(() => {\n this.unespCoreMessageService.showMessageSuccess('Documento adicionado com sucesso')\n this.resetForm()\n this.reloadTable()\n })\n }\n }\n\n excluir(id: number) {\n if(id) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Confirma a exclusão do documento?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.cursoEdicaoDocumentoInscricaoService.excluir(id).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Documento excluído com sucesso')\n this.resetForm()\n this.reloadTable()\n },\n error: err => {\n this.unespCoreMessageService.showMessageError('Este documento já possui dados relacionados!')\n }\n })\n }\n })\n }\n }\n\n atualizar(data: CursoEdicaoDocumentoInscricao) {\n if(data) {\n this.form.controls['id'].setValue(data.id.toString())\n this.form.controls['cursoEdicaoId'].setValue(data.cursoEdicaoId)\n this.form.controls['nomeDocumento'].setValue(data.nomeDocumento)\n this.form.controls['isObrigatorio'].setValue(data.isObrigatorio)\n }\n }\n\n private reloadTable() {\n if(this.cursoEdicaoId) {\n this.cursoEdicaoDocumentoInscricaoService.listarTodos(this.cursoEdicaoId).subscribe(documentos => {\n this.dataSource.data = documentos as CursoEdicaoDocumentoInscricao[]\n })\n }\n }\n\n private resetForm(): void {\n this.form.controls['nomeDocumento'].clearValidators()\n this.form.controls['nomeDocumento'].updateValueAndValidity()\n this.form.controls['id'].setValue('')\n this.form.controls['cursoEdicaoId'].setValue(-1)\n this.form.controls['nomeDocumento'].setValue('')\n this.form.controls['isObrigatorio'].setValue(false)\n }\n\n setFocus() {\n this.formulario.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n}\n","export enum TipoCampo {\n TEXTO = 'Texto',\n DATA = 'Data',\n LISTA_COM_RESPOSTA_UNICA = 'Lista com resposta única',\n LISTA_COM_RESPOSTA_MULTIPLA = 'Lista com resposta múltipla',\n SIM_NAO = 'Sim ou Não',\n ACEITE = 'Aceite'\n}\n\nexport function hasOpcoes(tipo: string|null): boolean {\n return tipo === 'LISTA_COM_RESPOSTA_UNICA' \n || tipo === 'LISTA_COM_RESPOSTA_MULTIPLA'\n}","\n \n
\n @switch (form.tipoCampo.toString()) {\n @case ('TEXTO') {\n \n {{form.nome}}\n \n \n }\n @case ('DATA') {\n \n {{form.nome}}\n \n \n }\n @case ('SIM_NAO') {\n \n {{form.nome}}\n \n \n Sim\n Não\n \n \n }\n @case ('LISTA_COM_RESPOSTA_UNICA') {\n \n {{form.nome}}\n \n \n \n {{ opcao }}\n \n \n \n }\n @case ('LISTA_COM_RESPOSTA_MULTIPLA') {\n \n {{form.nome}}\n \n \n {{ opcao }}\n \n \n \n }\n @case ('ACEITE') {\n \n {{form.nome}}\n \n }\n @default {\n \n }\n }\n
\n
\n
\n\n \n \n \n\n","import { Component, Inject } from '@angular/core'\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'\nimport { CursoEdicaoFormularioComplementar } from 'src/app/models/curso-edicao-formulario-complementar'\n\n@Component({\n selector: 'app-fc-preview',\n templateUrl: './fc-preview.component.html',\n styleUrls: ['./fc-preview.component.css'],\n})\nexport class FcPreviewComponent {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public params: CursoEdicaoFormularioComplementar[],\n public dialogRef: MatDialogRef,\n ) {\n }\n\n cancelar(): void {\n this.dialogRef.close()\n }\n\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { identity, Observable } from 'rxjs'\nimport { CursoEdicaoFormularioComplementar } from '../models/curso-edicao-formulario-complementar'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CursoEdicaoFormularioComplementarService extends UnespCoreGenericService {\n\n readonly ROUTE = 'curso-edicao-formulario-complementar'\n client!: HttpClient\n baseUrl!: string\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n this.baseUrl = environment.baseUrlApi\n }\n\n listar(cursoEdicaoId: number): Observable {\n return this.findById(`${this.ROUTE}`, cursoEdicaoId)\n }\n\n salvar(documentosForm: CursoEdicaoFormularioComplementar): Observable {\n return this.create(this.ROUTE, documentosForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, documentosForm: CursoEdicaoFormularioComplementar): Observable {\n return this.update(`${this.ROUTE}/${id}`, documentosForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n atualizarOrdem(data: CursoEdicaoFormularioComplementar[]) {\n return this.update(`${this.ROUTE}/atualizar-ordem`, data)\n }\n}\n","
\n \n \n
\n
\n Cadastro\n
\n
\n \n Tipo de campo\n \n \n \n {{ tipoCampo.value }}\n \n \n \n \n Nome do campo\n \n \n
\n @if (campoComOpcoes) {\n
\n
Digite cada opção de resposta em uma nova linha no campo abaixo
\n \n Opções\n \n \n
\n }\n
\n \n Obrigatório\n \n \n \n Ativo\n \n \n
\n \n save\n \n
\n
\n \n undo\n \n
\n
\n
\n
\n\n
\n Campos\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Ordenação\n @if (!isReadOnly) {swap_vert} {{row.ordem}}\n Nome {{row.nome}} Obrigatório {{ row.obrigatorio ? 'Sim' : 'Não' }} Ativo {{ row.ativo ? 'Sim' : 'Não' }} \n
\n \n \n
\n
Não há dados a serem exibidos
\n
\n @if (dataSource.data.length) {\n
\n \n
\n }\n
\n
\n
\n
","import { MatTableDataSource } from '@angular/material/table'\nimport { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { MatDialog } from '@angular/material/dialog'\nimport { UnespConfirmDialogComponent, UnespConfirmDialogModel } from '@unesp/shared'\nimport { CursoEdicaoFormularioComplementar } from 'src/app/models/curso-edicao-formulario-complementar'\nimport { CursoEdicaoFormularioComplementarService } from 'src/app/services/curso-edicao-formulario-complementar.service'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { hasOpcoes, TipoCampo } from 'src/app/enums/tipo-campo'\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'\nimport { FcPreviewComponent } from './preview/fc-preview.component'\n\n@Component({\n selector: 'app-curso-edicao-formulario-complementar',\n templateUrl: './curso-edicao-formulario-complementar.component.html',\n styleUrls: ['./curso-edicao-formulario-complementar.component.css']\n})\nexport class CursoEdicaoFormularioComplementarComponent implements OnInit {\n\n @ViewChild('formulario') formulario!: ElementRef\n @Input() cursoEdicaoId?: number\n @Input() isReadOnly: boolean = true\n\n dataSource: MatTableDataSource = new MatTableDataSource()\n displayedColumns: string[] = ['ordem','nome','obrigatorio','ativo','action']\n\n form = new FormGroup({\n id: new FormControl(''),\n cursoEdicaoId: new FormControl(),\n tipoCampo: new FormControl(null, Validators.required),\n nome: new FormControl('', Validators.required),\n descricao: new FormControl(''),\n opcoes: new FormControl(''),\n ordem: new FormControl(1, Validators.required),\n obrigatorio: new FormControl(true, Validators.required),\n ativo: new FormControl(true, Validators.required),\n })\n\n tiposCampo = TipoCampo\n campoComOpcoes: boolean = false\n\n constructor(\n private dialog: MatDialog,\n private cursoEdicaoFormularioComplementarService: CursoEdicaoFormularioComplementarService,\n private unespCoreMessageService: UnespCoreMessageService\n ) { }\n\n ngOnInit(): void {\n this.form.controls.cursoEdicaoId.setValue(this.cursoEdicaoId)\n this.reloadTable()\n }\n\n salvar(): void {\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n\n let formulario = (this.form.value)\n if (formulario.id) {\n this.cursoEdicaoFormularioComplementarService.atualizar(formulario.id, formulario).subscribe(() => {\n this.unespCoreMessageService.showMessageSuccess('Campo atualizado com sucesso')\n this.resetForm()\n this.reloadTable()\n })\n } else {\n formulario.ordem = this.dataSource.data.length + 1\n if (!this.campoComOpcoes) {\n formulario.opcoes = ''\n }\n this.cursoEdicaoFormularioComplementarService.salvar(formulario).subscribe(() => {\n this.unespCoreMessageService.showMessageSuccess('Campo adicionado com sucesso')\n this.resetForm()\n this.reloadTable()\n })\n }\n }\n\n excluir(data: CursoEdicaoFormularioComplementar) {\n if (data) {\n const confirmDialog = new UnespConfirmDialogModel('Atenção', `Confirma a exclusão do campo ${data.nome}?`)\n const dialogRef = this.dialog.open(UnespConfirmDialogComponent, {\n data: confirmDialog,\n })\n dialogRef.afterClosed().subscribe(res => {\n if (res) {\n this.cursoEdicaoFormularioComplementarService.excluir(data.id!).subscribe({\n next: () => {\n this.unespCoreMessageService.showMessageSuccess('Campo excluído com sucesso')\n this.resetForm()\n this.reloadTable()\n },\n error: err => {\n this.unespCoreMessageService.showMessageError(err.error.message)\n }\n })\n }\n })\n }\n }\n\n editar(data: CursoEdicaoFormularioComplementar) {\n if (data) {\n this.form.controls['id'].setValue(data.id!.toString())\n this.form.controls['cursoEdicaoId'].setValue(data.cursoEdicaoId)\n this.form.controls['tipoCampo'].setValue(data.tipoCampo)\n this.form.controls['nome'].setValue(data.nome)\n this.form.controls['descricao'].setValue(data.descricao)\n this.form.controls['opcoes'].setValue(data.opcoes)\n this.form.controls['ordem'].setValue(data.ordem)\n this.form.controls['obrigatorio'].setValue(data.obrigatorio)\n this.form.controls['ativo'].setValue(data.ativo)\n\n this.definirTipoCampo()\n }\n }\n\n private reloadTable() {\n if (this.cursoEdicaoId) {\n this.cursoEdicaoFormularioComplementarService.listar(this.cursoEdicaoId).subscribe(documentos => {\n this.dataSource.data = documentos as CursoEdicaoFormularioComplementar[]\n })\n }\n }\n\n resetForm(): void {\n this.form.controls['tipoCampo'].clearValidators()\n this.form.controls['tipoCampo'].updateValueAndValidity()\n this.form.controls['nome'].clearValidators()\n this.form.controls['nome'].updateValueAndValidity()\n this.form.controls['opcoes'].clearValidators()\n this.form.controls['opcoes'].updateValueAndValidity()\n\n this.form.controls['id'].setValue('')\n this.form.controls['cursoEdicaoId'].setValue(this.cursoEdicaoId)\n this.form.controls['tipoCampo'].setValue(null)\n this.form.controls['nome'].setValue('')\n this.form.controls['descricao'].setValue('')\n this.form.controls['opcoes'].setValue('')\n this.form.controls['ordem'].setValue(1)\n this.form.controls['obrigatorio'].setValue(true)\n this.form.controls['ativo'].setValue(true)\n\n this.campoComOpcoes = false\n }\n\n setFocus() {\n this.formulario.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }\n\n definirTipoCampo(): void {\n this.campoComOpcoes = hasOpcoes(this.form.controls.tipoCampo.value)\n if (this.campoComOpcoes) {\n this.form.controls['opcoes'].addValidators(Validators.required)\n } else {\n this.form.controls['opcoes'].setValue('')\n this.form.controls['opcoes'].clearValidators()\n }\n this.form.controls['opcoes'].updateValueAndValidity()\n }\n\n drop(event: CdkDragDrop) {\n if (!this.isReadOnly) {\n const data = this.dataSource.data\n moveItemInArray(data, event.previousIndex, event.currentIndex)\n data.forEach((item, index) => {\n item.ordem = index + 1\n })\n this.dataSource.data = data\n this.atualizarOrdemNoBackend(data)\n }\n }\n\n private atualizarOrdemNoBackend(data: CursoEdicaoFormularioComplementar[]) {\n this.cursoEdicaoFormularioComplementarService.atualizarOrdem(data).subscribe()\n }\n\n preview() {\n this.dialog.open(FcPreviewComponent, {data: this.dataSource.data})\n }\n\n}\n","import { NgModule } from '@angular/core'\nimport { RouterModule, Routes } from '@angular/router'\nimport { UnespCoreAuthGuardService } from '@unesp/core'\nimport { environment } from 'src/environments/environment'\n\nimport { CursoListarComponent } from './curso/curso-listar/curso-listar.component'\nimport { CursoEditarComponent } from './curso/curso-editar/curso-editar.component'\nimport { CursoEdicaoListarComponent } from './curso-edicao/curso-edicao-listar/curso-edicao-listar.component'\nimport { CursoEdicaoEditarComponent } from './curso-edicao/curso-edicao-editar/curso-edicao-editar.component'\nimport { EdicaoDisciplinaListarComponent } from './edicao-disciplina/edicao-disciplina-listar/edicao-disciplina-listar.component'\nimport { EdicaoDisciplinaEditarComponent } from './edicao-disciplina/edicao-disciplina-editar/edicao-disciplina-editar.component'\nimport { EdicaoDocenteCadastroComponent } from './edicao-docente/edicao-docente-cadastro.component'\nimport { DocenteExternoEditarComponent } from './docente-externo/docente-externo-editar/docente-externo-editar.component'\nimport { DocenteExternoListarComponent } from './docente-externo/docente-externo-listar/docente-externo-listar.component'\nimport { DocenteDisciplinaCadastroComponent } from './docente-disciplina/docente-disciplina-cadastro.component'\nimport { EdicaoAlunoEditarComponent } from './edicao-aluno/edicao-aluno-editar/edicao-aluno-editar.component'\nimport { EdicaoAlunoListarComponent } from './edicao-aluno/edicao-aluno-listar/edicao-aluno-listar.component'\nimport { EdicaoAlunoListagemGeralComponent } from './edicao-aluno/edicao-aluno-listagem-geral/edicao-aluno-listagem-geral.component'\nimport { NotaFaltaListarEditarComponent } from './nota-falta/nota-falta-listar-editar/nota-falta-listar-editar.component'\nimport { EdicaoAlunoRelatorioListarComponent } from './edicao-aluno-relatorio/edicao-aluno-relatorio-listar/edicao-aluno-relatorio-listar.component'\nimport { EdicaoAlunoDocumentoListarComponent } from './edicao-aluno-documento/edicao-aluno-documento-listar/edicao-aluno-documento-listar.component'\nimport { CursoEdicaoAvaliacaoListarComponent } from './curso-edicao-avaliacao/curso-edicao-avaliacao-listar/curso-edicao-avaliacao-listar.component'\nimport { RelatorioParcialCoordenadorEditarComponent } from './curso-edicao-relatorio/relatorio-parcial-coordenador-editar/relatorio-parcial-coordenador-editar.component'\nimport { RelatorioFinalCoordenadorEditarComponent } from './curso-edicao-relatorio/relatorio-final-coordenador-editar/relatorio-final-coordenador-editar.component'\nimport { AvaliacaoParcialDiscenteListarComponent } from './curso-edicao-avaliacao/avaliacao-parcial-discente-listar/avaliacao-parcial-discente-listar.component'\nimport { AvaliacaoFinalDiscenteListarComponent } from './curso-edicao-avaliacao/avaliacao-final-discente-listar/avaliacao-final-discente-listar.component'\nimport { ListaPresencaGerarComponent } from './lista-presenca/lista-presenca-gerar/lista-presenca-gerar.component'\nimport { CertificadoRegistrarComponent } from './certificado/certificado-registrar/certificado-registrar.component'\nimport { HistoricoDeAlteracoesListarComponent } from './historico-de-alteracoes/historico-de-alteracoes-listar/historico-de-alteracoes-listar.component'\nimport { CursoEdicaoRelatorioListarComponent } from './curso-edicao-relatorio/curso-edicao-relatorio-listar/curso-edicao-relatorio-listar.component'\nimport { DownloadAssetComponent } from '../comum/download/download-asset.component'\nimport { EdicaoAlunoAlterarSituacaoComponent } from './edicao-aluno/edicao-aluno-alterar-situacao/edicao-aluno-alterar-situacao.component'\nimport { ManualImportacaoComponent } from './curso-edicao-importar/manual-importacao/manual-importacao.component'\nimport { CursoEdicaoPublicacaoComponent } from './curso-edicao/curso-edicao-publicacao/curso-edicao-publicacao.component'\nimport { CursoEdicaoInscricaoComponent } from './curso-edicao/curso-edicao-inscricao/curso-edicao-inscricao.component'\n\nconst routes: Routes = [\n // CURSO\n {\n path: 'cursos',\n component: CursoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n {\n path: 'curso/cadastro',\n component: CursoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.DOCENTE.name}`],\n },\n },\n {\n path: 'curso/cadastro/:id',\n component: CursoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // CURSO-EDICAO\n {\n path: 'cursos-edicoes',\n component: CursoEdicaoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n {\n path: 'cursos-edicoes/:cursoId',\n component: CursoEdicaoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n {\n path: 'curso-edicao/:cursoId/cadastro',\n component: CursoEdicaoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.DOCENTE.name}`]\n },\n },\n {\n path: 'curso-edicao/:cursoId/cadastro/:id',\n component: CursoEdicaoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles['CEPG'].name}`,\n ],\n },\n },\n // EDICAO-DISCIPLINA\n {\n path: 'curso-edicao/:cursoId/:edicao/disciplinas',\n component: EdicaoDisciplinaListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n {\n path: 'curso-edicao/:cursoId/:edicao/disciplinas/cadastro',\n component: EdicaoDisciplinaEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.DOCENTE.name}`, `${environment.roles['EQUIPE-APOIO'].name}`],\n },\n },\n {\n path: 'curso-edicao/:cursoId/:edicao/disciplinas/cadastro/:id',\n component: EdicaoDisciplinaEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n // ALUNOS LISTAGEM GERAL\n {\n path: 'alunos',\n component: EdicaoAlunoListagemGeralComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // DOCENTE-EXTERNO\n {\n path: 'docentes-externos',\n component: DocenteExternoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n {\n path: 'docente-externo/cadastro',\n component: DocenteExternoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [`${environment.roles.DOCENTE.name}`, `${environment.roles['EQUIPE-APOIO'].name}`],\n },\n },\n {\n path: 'docente-externo/cadastro/:id',\n component: DocenteExternoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // DOCENTES\n {\n path: 'curso-edicao/:cursoId/:edicao/docentes',\n component: EdicaoDocenteCadastroComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n // DOCENTE-DISCIPLINA\n {\n path: 'curso-edicao/:cursoId/:edicao/docente-disciplina',\n component: DocenteDisciplinaCadastroComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n\n // ALUNO-EDICAO\n {\n path: 'curso-edicao/:cursoId/:edicao/alunos',\n component: EdicaoAlunoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n {\n path: 'curso-edicao/:cursoId/:edicao/aluno/cadastro',\n component: EdicaoAlunoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n {\n path: 'curso-edicao/:cursoId/:edicao/aluno/cadastro/:id',\n component: EdicaoAlunoEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.DISCENTE.name}`,\n ],\n },\n },\n {\n path: 'curso-edicao/:cursoId/:edicao/alunos/alterar-situacao',\n component: EdicaoAlunoAlterarSituacaoComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // DOCUMENTOS E FORMULÁRIO PARA INSCRIÇÃO\n {\n path: 'curso-edicao/:cursoEdicaoId/inscricao',\n component: CursoEdicaoInscricaoComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // CERTIFICADO-REGISTRAR\n {\n path: 'curso-edicao/:cursoId/:edicao/certificado-registrar',\n component: CertificadoRegistrarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // RELATORIO-ALUNO-EDICAO\n {\n path: 'curso-edicao/:cursoId/:edicao/relatorios',\n component: EdicaoAlunoRelatorioListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // ALUNO-EDICAO DOCUMENTOS\n {\n path: 'curso-edicao/:cursoId/:edicao/alunos-documentos',\n component: EdicaoAlunoDocumentoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // NOTA-FALTA\n {\n path: 'nota-falta/:cursoId/:edicao/:disciplinaId',\n component: NotaFaltaListarEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // CURSO-EDICAO-RELATORIOS\n {\n path: 'curso-edicao-relatorios',\n component: CursoEdicaoRelatorioListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.PROPEG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n // RELATORIO-PARCIAL-COORDENADOR\n {\n path: 'relatorio-parcial-coordenador/:cursoId/:edicao',\n component: RelatorioParcialCoordenadorEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.PROPEG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n // RELATORIO-FINAL-COORDENADOR\n {\n path: 'relatorio-final-coordenador/:cursoId/:edicao',\n component: RelatorioFinalCoordenadorEditarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.PROPEG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n // CURSO-EDICAO-AVALIACAO\n {\n path: 'curso-edicao-avaliacoes',\n component: CursoEdicaoAvaliacaoListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n // AVALIACAO-PARCIAL-DISCENTE\n {\n path: 'avaliacao-parcial-discente/:cursoId/:edicao',\n component: AvaliacaoParcialDiscenteListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n // AVALIACAO-FINAL-DISCENTE\n {\n path: 'avaliacao-final-discente/:cursoId/:edicao',\n component: AvaliacaoFinalDiscenteListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n `${environment.roles.CEPG.name}`,\n ],\n },\n },\n // LISTA-PRESENÇA\n {\n path: 'curso-edicao/:cursoId/:edicao/lista-presenca',\n component: ListaPresencaGerarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['DOCENTE-DISCIPLINA'].name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // HISTORICO-DE-ALTERACOES\n {\n path: 'historico-de-alteracoes',\n component: HistoricoDeAlteracoesListarComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // MANUAL\n {\n path: 'manual',\n component: DownloadAssetComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n filename: 'sisesp-manual.pdf',\n title: 'Manual do Sistema de Especialização ',\n viewer: true,\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // Manual de importacao\n {\n path: 'manual-importacao',\n component: ManualImportacaoComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles.PROPG.name}`,\n ],\n },\n },\n // PUBLICACOES\n {\n path: 'curso-edicao/:cursoId/:edicao/publicacoes',\n component: CursoEdicaoPublicacaoComponent,\n canActivate: [UnespCoreAuthGuardService],\n data: {\n allowedRoles: [\n `${environment.roles.DOCENTE.name}`,\n `${environment.roles.STPG.name}`,\n `${environment.roles['EQUIPE-APOIO'].name}`,\n `${environment.roles.PROPG.name}`\n ],\n },\n },\n]\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class UnidadeRoutingModule {}\n","import { Component, OnInit } from '@angular/core'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreAuthService } from '@unesp/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { CursoEdicaoService } from 'src/app/services/curso-edicao.service'\n\n@Component({\n selector: 'app-curso-edicao-inscricao',\n templateUrl: './curso-edicao-inscricao.component.html',\n styleUrls: ['./curso-edicao-inscricao.component.css'],\n})\nexport class CursoEdicaoInscricaoComponent implements OnInit {\n\n breadcrumbs: UnespBreadcrumbItem[] = []\n \n cursoEdicaoId?: number\n edicao?: number\n cursoNome: String = ''\n bloqueado: boolean = false\n isReadOnly: boolean = true\n isPropg: boolean = false\n situacao: string = ''\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private unespCoreAuthService: UnespCoreAuthService,\n private cursoEdicaoService: CursoEdicaoService,\n ) {\n }\n\n ngOnInit(): void {\n this.checkIsPropg()\n this.route.params.subscribe(params => {\n this.cursoEdicaoId = params['cursoEdicaoId']\n this.breadcrumbs = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Cursos/Edições', route: '/unidade/cursos-edicoes', icon: 'content_copy' },\n { label: 'Documentos e formulários necessários para a inscrição', route: `/unidade/curso-edicao/${this.cursoEdicaoId}/inscricao`, icon: 'attach_file' },\n ]\n this.cursoEdicaoService.getDetalhesById(this.cursoEdicaoId!).subscribe(obj => {\n this.edicao = obj.numeroEdicao\n this.cursoNome = obj.nomeCurso\n this.bloqueado = obj.bloqueado\n this.isReadOnly = obj.isReadOnly\n }) \n })\n }\n\n private checkIsPropg(): void {\n this.isPropg = this.unespCoreAuthService.hasPermissionBasedRoles(['PROPG'])\n }\n\n voltar() {\n this.router.navigate(['/unidade/cursos-edicoes'])\n }\n \n}","\n
\n \n \n {{ cursoNome }} - {{ edicao }}ª edição\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatChipsModule } from '@angular/material/chips'\nimport { MatExpansionModule } from '@angular/material/expansion'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatSelectModule } from '@angular/material/select'\nimport { MatTabsModule } from '@angular/material/tabs'\nimport { MatNativeDateModule } from '@angular/material/core'\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle'\nimport { MatDatepickerModule } from '@angular/material/datepicker'\nimport { MatCheckboxModule } from '@angular/material/checkbox'\nimport { MatPaginatorModule } from '@angular/material/paginator'\nimport { MatSortModule } from '@angular/material/sort'\nimport { MatRadioModule } from '@angular/material/radio'\nimport { MatMenuModule } from '@angular/material/menu'\nimport { MatDividerModule } from '@angular/material/divider'\nimport { RouterModule } from '@angular/router'\nimport { UnespCoreMessageModule } from '@unesp/core'\nimport { UnespBreadcrumbModule, UnespTableModule } from '@unesp/shared'\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask'\n\nimport { UnidadeRoutingModule } from './unidade-routing.module'\n\nimport { MultiplicacaoPipe } from 'src/app/pipes/multiplicacao.pipe'\nimport { TotalProexPipe } from 'src/app/pipes/total-proex.pipe'\nimport { TotalReceitaPipe } from 'src/app/pipes/total-receita.pipe'\nimport { TotalDespesaPipe } from 'src/app/pipes/total-despesa.pipe'\nimport { BalancoPipe } from 'src/app/pipes/balanco.pipe'\nimport { CursoListarComponent } from './curso/curso-listar/curso-listar.component'\nimport { CursoEditarComponent } from './curso/curso-editar/curso-editar.component'\nimport { CursoEdicaoListarComponent } from './curso-edicao/curso-edicao-listar/curso-edicao-listar.component'\nimport { CursoEdicaoEditarComponent } from './curso-edicao/curso-edicao-editar/curso-edicao-editar.component'\nimport { EdicaoDisciplinaListarComponent } from './edicao-disciplina/edicao-disciplina-listar/edicao-disciplina-listar.component'\nimport { EdicaoDisciplinaEditarComponent } from './edicao-disciplina/edicao-disciplina-editar/edicao-disciplina-editar.component'\nimport { EdicaoDisciplinaSelecionarComponent } from './edicao-disciplina/edicao-disciplina-selecionar/edicao-disciplina-selecionar.component'\nimport { InputDocenteComponent } from './docente/input-docente/input-docente.component'\nimport { SearchSelectDocenteComponent } from './docente/search-select-docente/search-select-docente.component'\nimport { EdicaoDocenteCadastroComponent } from './edicao-docente/edicao-docente-cadastro.component'\nimport { EnfaseModuloListarEditarComponent } from './enfase-modulo/enfase-modulo-listar-editar/enfase-modulo-listar-editar.component'\nimport { DocenteExternoListarComponent } from './docente-externo/docente-externo-listar/docente-externo-listar.component'\nimport { DocenteExternoEditarComponent } from './docente-externo/docente-externo-editar/docente-externo-editar.component'\nimport { DocenteDisciplinaCadastroComponent } from './docente-disciplina/docente-disciplina-cadastro.component'\nimport { EdicaoAlunoEditarComponent } from './edicao-aluno/edicao-aluno-editar/edicao-aluno-editar.component'\nimport {\n ConfirmaAlterarStatusAlunoDialogComponent,\n EdicaoAlunoListarComponent,\n} from './edicao-aluno/edicao-aluno-listar/edicao-aluno-listar.component'\nimport { EdicaoAlunoMonografiaEditarComponent } from './edicao-aluno-monografia/edicao-aluno-monografia-editar/edicao-aluno-monografia-editar.component'\nimport { EdicaoAlunoListagemGeralComponent } from './edicao-aluno/edicao-aluno-listagem-geral/edicao-aluno-listagem-geral.component'\nimport { EdicaoAlunoDocumentoListarComponent } from './edicao-aluno-documento/edicao-aluno-documento-listar/edicao-aluno-documento-listar.component'\nimport { NotaFaltaListarEditarComponent } from './nota-falta/nota-falta-listar-editar/nota-falta-listar-editar.component'\nimport { CertificadoRegistrarComponent } from './certificado/certificado-registrar/certificado-registrar.component'\nimport { EdicaoAlunoRelatorioListarComponent } from './edicao-aluno-relatorio/edicao-aluno-relatorio-listar/edicao-aluno-relatorio-listar.component'\nimport { ParecerResolucao412011EditarComponent } from '../cepg/parecer/parecer-resolucao412011-editar/parecer-resolucao412011-editar.component'\nimport { ParecerResolucao902019EditarComponent } from '../cepg/parecer/parecer-resolucao902019-editar/parecer-resolucao902019-editar.component'\nimport { CursoEdicaoAvaliacaoListarComponent } from './curso-edicao-avaliacao/curso-edicao-avaliacao-listar/curso-edicao-avaliacao-listar.component'\nimport { CursoEdicaoRelatorioListarComponent } from './curso-edicao-relatorio/curso-edicao-relatorio-listar/curso-edicao-relatorio-listar.component'\nimport { RelatorioParcialCoordenadorEditarComponent } from './curso-edicao-relatorio/relatorio-parcial-coordenador-editar/relatorio-parcial-coordenador-editar.component'\nimport { RelatorioFinalCoordenadorEditarComponent } from './curso-edicao-relatorio/relatorio-final-coordenador-editar/relatorio-final-coordenador-editar.component'\nimport { AvaliacaoParcialDiscenteVisualizarComponent } from './curso-edicao-avaliacao/avaliacao-parcial-discente-visualizar/avaliacao-parcial-discente-visualizar.component'\nimport { AvaliacaoFinalDiscenteVisualizarComponent } from './curso-edicao-avaliacao/avaliacao-final-discente-visualizar/avaliacao-final-discente-visualizar.component'\nimport { ListaPresencaGerarComponent } from './lista-presenca/lista-presenca-gerar/lista-presenca-gerar.component'\nimport { HistoricoDeAlteracoesListarComponent } from './historico-de-alteracoes/historico-de-alteracoes-listar/historico-de-alteracoes-listar.component'\nimport { HistoricoDeAlteracoesDialogComponent } from './historico-de-alteracoes/historico-de-alteracoes-dialog/historico-de-alteracoes-dialog.component'\nimport { ArquivoUploadModule } from '../comum/arquivo-upload/arquivo-upload.module'\nimport { EdicaoAlunoEnfaseComponent } from './edicao-aluno-enfase/edicao-aluno-enfase.component'\nimport { DadosComplementaresPropostaEditarComponent } from './curso-edicao/dados-complementares-proposta-editar/dados-complementares-proposta-editar.component'\nimport { DadosComplementaresRelatorioEditarComponent } from './curso-edicao-relatorio/dados-complementares-relatorio-editar/dados-complementares-relatorio-editar.component'\nimport {\n GetPerguntasFormArrayPipe,\n RelatorioFinalCepgEditarComponent,\n} from '../cepg/relatorio-final-cepg-editar/relatorio-final-cepg-editar.component'\nimport { PropegModule } from '../propeg/propeg.module'\nimport { MatTableModule } from '@angular/material/table'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { EdicaoAlunoAlterarSituacaoComponent } from './edicao-aluno/edicao-aluno-alterar-situacao/edicao-aluno-alterar-situacao.component'\nimport { CursoEdicaoImportarUploadComponent } from './curso-edicao-importar/curso-edicao-importar-upload/curso-edicao-importar-upload.component'\nimport { CursoEdicaoImportarDialogComponent } from './curso-edicao-importar/curso-edicao-importar-dialog/curso-edicao-importar-dialog.component'\nimport { AnaliseHistoricoListarComponent } from '../comum/analise-historico/analise-historico-listar/analise-historico-listar.component'\nimport { CursoEdicaoDocumentoInscricaoComponent } from './curso-edicao/curso-edicao-inscricao/curso-edicao-documento-inscricao/curso-edicao-documento-inscricao.component'\nimport { SelecionarProcessoSigadComponent } from './selecionar-processo-sigad/selecionar-processo-sigad.component'\nimport { ManualImportacaoComponent } from './curso-edicao-importar/manual-importacao/manual-importacao.component'\nimport { CursoEdicaoFormularioComplementarComponent } from './curso-edicao/curso-edicao-inscricao/curso-edicao-formulario-complementar/curso-edicao-formulario-complementar.component'\nimport { DragDropModule } from '@angular/cdk/drag-drop'\nimport { FcPreviewComponent } from './curso-edicao/curso-edicao-inscricao/curso-edicao-formulario-complementar/preview/fc-preview.component'\nimport { CursoEdicaoPublicacaoComponent } from './curso-edicao/curso-edicao-publicacao/curso-edicao-publicacao.component'\nimport { CursoEdicaoInscricaoComponent } from './curso-edicao/curso-edicao-inscricao/curso-edicao-inscricao.component'\nimport { CabecalhoComponent } from \"../comum/cabecalho/cabecalho.component\";\n\n@NgModule({\n declarations: [\n MultiplicacaoPipe,\n TotalProexPipe,\n TotalReceitaPipe,\n TotalDespesaPipe,\n BalancoPipe,\n CursoListarComponent,\n CursoEditarComponent,\n CursoEdicaoListarComponent,\n CursoEdicaoEditarComponent,\n EdicaoDisciplinaListarComponent,\n EdicaoDisciplinaEditarComponent,\n EdicaoDisciplinaSelecionarComponent,\n EdicaoDocenteCadastroComponent,\n InputDocenteComponent,\n SearchSelectDocenteComponent,\n EnfaseModuloListarEditarComponent,\n DocenteExternoListarComponent,\n DocenteExternoEditarComponent,\n DocenteDisciplinaCadastroComponent,\n EdicaoAlunoListarComponent,\n EdicaoAlunoEditarComponent,\n EdicaoAlunoListagemGeralComponent,\n EdicaoAlunoMonografiaEditarComponent,\n EdicaoAlunoRelatorioListarComponent,\n EdicaoAlunoDocumentoListarComponent,\n NotaFaltaListarEditarComponent,\n CertificadoRegistrarComponent,\n ParecerResolucao412011EditarComponent,\n ParecerResolucao902019EditarComponent,\n CursoEdicaoAvaliacaoListarComponent,\n CursoEdicaoRelatorioListarComponent,\n RelatorioParcialCoordenadorEditarComponent,\n RelatorioFinalCoordenadorEditarComponent,\n AvaliacaoParcialDiscenteVisualizarComponent,\n AvaliacaoFinalDiscenteVisualizarComponent,\n ListaPresencaGerarComponent,\n HistoricoDeAlteracoesListarComponent,\n HistoricoDeAlteracoesDialogComponent,\n EdicaoAlunoEnfaseComponent,\n DadosComplementaresPropostaEditarComponent,\n DadosComplementaresRelatorioEditarComponent,\n RelatorioFinalCepgEditarComponent,\n GetPerguntasFormArrayPipe,\n ConfirmaAlterarStatusAlunoDialogComponent,\n EdicaoAlunoAlterarSituacaoComponent,\n CursoEdicaoImportarUploadComponent,\n CursoEdicaoImportarDialogComponent,\n SelecionarProcessoSigadComponent,\n CursoEdicaoDocumentoInscricaoComponent,\n CursoEdicaoFormularioComplementarComponent,\n ManualImportacaoComponent,\n FcPreviewComponent,\n CursoEdicaoPublicacaoComponent,\n CursoEdicaoInscricaoComponent\n ],\n imports: [\n CommonModule,\n UnidadeRoutingModule,\n RouterModule,\n MatCardModule,\n MatButtonModule,\n UnespCoreMessageModule,\n UnespTableModule,\n MatIconModule,\n MatSelectModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatAutocompleteModule,\n MatChipsModule,\n MatExpansionModule,\n MatTabsModule,\n MatSlideToggleModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatPaginatorModule,\n MatSortModule,\n MatRadioModule,\n MatMenuModule,\n MatDividerModule,\n NgxMaskDirective,\n NgxMaskPipe,\n FlexLayoutModule,\n ArquivoUploadModule,\n PropegModule,\n MatDialogModule,\n DragDropModule,\n AnaliseHistoricoListarComponent,\n CabecalhoComponent,\n UnespBreadcrumbModule,\n ],\n providers: [provideNgxMask()],\n})\nexport class UnidadeModule {}\n","import { MatPaginatorIntl } from '@angular/material/paginator'\n\nconst RangeLabel = (page: number, pageSize: number, length: number) => {\n if (length == 0 || pageSize == 0) {\n return `0 de ${length}`\n }\n\n length = Math.max(length, 0)\n\n const startIndex = page * pageSize\n\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize\n\n return `${startIndex + 1} - ${endIndex} de ${length}`\n}\n\nexport function PtBrMatPaginatorIntl() {\n const paginatorIntl = new MatPaginatorIntl()\n\n paginatorIntl.itemsPerPageLabel = 'Itens por página:'\n paginatorIntl.nextPageLabel = 'Página seguinte'\n paginatorIntl.previousPageLabel = 'Página anterior'\n paginatorIntl.firstPageLabel = 'Primeira página'\n paginatorIntl.lastPageLabel = 'Primeira página'\n paginatorIntl.getRangeLabel = RangeLabel\n\n return paginatorIntl\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService, UnespCoreMessage, UnespCoreMessageService, UnespCoreMessageType, UnespCorePageModel } from '@unesp/core'\nimport { Observable, catchError, identity, of } from 'rxjs'\nimport { AlunoDisciplina } from '../models/aluno-disciplina'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlunoDisciplinaService extends UnespCoreGenericService {\n readonly ROUTE = 'aluno-disciplina'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService,\n private messageService: UnespCoreMessageService\n ) {\n super(http, environment)\n this.client = http\n }\n\n listar(cursoId: number, edicao: number, disciplinaId: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/${disciplinaId}`)\n }\n\n listarPorDocenteDisciplina(cursoId: number, edicao: number, disciplinaId: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/docente/${cursoId}/${edicao}/${disciplinaId}`)\n }\n\n\n listarDisciplinaPorAluno(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n\n }\n\n gravar(\n cursoId: number,\n edicao: number,\n disciplinaId: number,\n data: AlunoDisciplina[]\n ): Observable {\n data.forEach(d => {\n d.nota = d.nota.toString().replace(',', '.')\n })\n return this.create(`${this.ROUTE}/${cursoId}/${edicao}/${disciplinaId}`, data).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { AnaliseHistorico } from '../models/analise-historico'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AnaliseHistoricoService extends UnespCoreGenericService {\n readonly ROUTE = 'analise-historico'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n listar(pagination: any, cursoEdicaoId: number, tipo: string, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/${cursoEdicaoId}/${tipo}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n verificaInclusaoHabilitada(cursoEdicaoId: number, tipo: string, perfilAcesso: string): Observable {\n return this.get(`${this.ROUTE}/${cursoEdicaoId}/${tipo}/${perfilAcesso}/inclusao-habilitada`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n gravar(formulario: AnaliseHistorico, cursoEdicaoId: number, tipo: string): Observable {\n return this.create(`${this.ROUTE}/${cursoEdicaoId}/${tipo}`, formulario)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { Observable, catchError, identity, of } from 'rxjs'\nimport { AreaConhecimento } from '../models/area-conhecimento'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AreaConhecimentoService extends UnespCoreGenericService {\n readonly ROUTE = 'capes-area-conhecimento'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n all(): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/all`)\n }\n\n listar(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(this.ROUTE, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getAreaConhecimento(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n gravar(areaConhecimento: AreaConhecimento): Observable {\n return this.create(this.ROUTE, areaConhecimento).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, areaConhecimento: AreaConhecimento): Observable {\n return this.update(`${this.ROUTE}/${id}`, areaConhecimento).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { Injectable } from '@angular/core'\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\nimport { identity, map, Observable, startWith, takeLast } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { environment } from '../../environments/environment'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ArquivoDownloadService {\n private baseUrl: string\n\n constructor(private http: HttpClient, private errorHandlerService: ErrorHandlerService) {\n this.baseUrl = environment.baseUrlApi\n }\n\n private download(response: any): void {\n let contentDisposition = response.headers.get('Content-Disposition')\n let filename = contentDisposition.split(';')[1].split('=')[1].trim().replace(/\\\"/g, '')\n let binaryData = []\n binaryData.push(response.body)\n let downloadLink = document.createElement('a')\n downloadLink.setAttribute('download', filename)\n downloadLink.href = window.URL.createObjectURL(new Blob(binaryData, { type: response.type }))\n document.body.appendChild(downloadLink)\n downloadLink.click()\n downloadLink.remove()\n }\n\n private request(url: string): Observable {\n return this.http\n .get(url, { responseType: 'blob' as 'json', observe: 'response' })\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n arquivoDownload(path: string, name: string): void {\n let url = `${this.baseUrl}/${path}/${name}`\n this.request(url).subscribe((response: any) => this.download(response))\n }\n\n private arquivoObjectURL(url: string): Observable {\n return this.request(url).pipe(\n map(response => {\n let binaryData = []\n binaryData.push(response.body)\n return window.URL.createObjectURL(new Blob(binaryData, { type: 'application/pdf' }))\n }),\n startWith(''),\n takeLast(1)\n )\n }\n\n arquivoObjectURLPorPath(path: string, name: string): Observable {\n return this.arquivoObjectURL(`${this.baseUrl}/${path}/${name}`)\n }\n\n pdfAnaliseFinanceira(cursoId: number, edicao: number): Observable {\n let headerOptions = new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/pdf',\n })\n let requestOptions = { headers: headerOptions, responseType: 'blob' as 'blob' }\n return this.http\n .get(`${this.baseUrl}/analise-financeira/${cursoId}/${edicao}/pdf`, requestOptions)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n pdfResultadoDaAnalisePROPEG(cursoEdicaoId: number, tipo: string) {\n let headerOptions = new HttpHeaders({\n Accept: 'application/pdf',\n })\n let requestOptions = { headers: headerOptions, observe: 'response' as 'body', responseType: 'blob' as 'json' }\n\n this.http\n .get(`${this.baseUrl}/analise-financeira/${cursoEdicaoId}/${tipo}/resultado`, requestOptions)\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe((response: any) => this.download(response))\n }\n\n pdfResultadoDaAnaliseCEPG(id: number): void {\n let headerOptions = new HttpHeaders({ Accept: 'application/pdf' })\n let requestOptions = { headers: headerOptions, observe: 'response' as 'body', responseType: 'blob' as 'json' }\n this.http\n .get(`${this.baseUrl}/relatorio-final-cepg/${id}/resultado`, requestOptions)\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe((response: any) => this.download(response))\n }\n\n pdfRelatorioCoordenador(cursoId: number, edicao: number, tipo: string): void {\n let headerOptions = new HttpHeaders({ Accept: 'application/pdf' })\n let requestOptions = { headers: headerOptions, observe: 'response' as 'body', responseType: 'blob' as 'json' }\n this.http\n .get(`${this.baseUrl}/relatorio-coordenador/${cursoId}/${edicao}/${tipo}/pdf`, requestOptions)\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe((response: any) => this.download(response))\n }\n\n pdfDadosComplementaresRelatorioCoordenador(cursoId: number, edicao: number, tipo: string): void {\n let headerOptions = new HttpHeaders({ Accept: 'application/pdf' })\n let requestOptions = { headers: headerOptions, observe: 'response' as 'body', responseType: 'blob' as 'json' }\n this.http\n .get(\n `${this.baseUrl}/relatorio-coordenador/dados-complementares/${cursoId}/${edicao}/${tipo}/pdf`,\n requestOptions\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe((response: any) => this.download(response))\n }\n\n pdfParecerResolucao902019ByCursoEdicaoId(cursoEdicaoId: number): void {\n let headerOptions = new HttpHeaders({ Accept: 'application/pdf' })\n let requestOptions = { headers: headerOptions, observe: 'response' as 'body', responseType: 'blob' as 'json' }\n this.http\n .get(`${this.baseUrl}/curso-edicao-parecer-resolucao-902019/${cursoEdicaoId}/pdf`, requestOptions)\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe((response: any) => this.download(response))\n }\n\n pdfParecerResolucao902019(cursoId: number, edicao: number): void {\n let headerOptions = new HttpHeaders({ Accept: 'application/pdf' })\n let requestOptions = { headers: headerOptions, observe: 'response' as 'body', responseType: 'blob' as 'json' }\n this.http\n .get(`${this.baseUrl}/curso-edicao-parecer-resolucao-902019/${cursoId}/${edicao}/pdf`, requestOptions)\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe((response: any) => this.download(response))\n }\n\n pdfParecerResolucao412011(cursoId: number, edicao: number): void {\n let headerOptions = new HttpHeaders({ Accept: 'application/pdf' })\n let requestOptions = { headers: headerOptions, observe: 'response' as 'body', responseType: 'blob' as 'json' }\n this.http\n .get(`${this.baseUrl}/curso-edicao-parecer-resolucao-412011/${cursoId}/${edicao}/pdf`, requestOptions)\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe((response: any) => this.download(response))\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService, UnespCorePageModel } from '@unesp/core'\nimport { Observable, identity } from 'rxjs'\nimport { AvaliacaoDiscente } from '../models/avaliacao-discente'\nimport { AvalicaoDiscenteResumo } from '../models/avaliacao-discente-resumo'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { AvaliacaoDiscenteForm } from '../models/avaliacao-discente-form'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AvaliacaoDiscenteService extends UnespCoreGenericService {\n readonly ROUTE = 'avaliacao-discente'\n client!: HttpClient\n private baseUrl: string\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n this.baseUrl = environment.baseUrlApi\n }\n\n getAvaliacaoDiscente(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n findByCursoIdAndEdicaoAndCpfAndTipo(\n cursoId: number,\n edicao: number,\n cpf: string,\n tipo: string\n ): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/${cpf}/${tipo}`)\n }\n\n resumoParcial(cursoId: number, edicao: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/resumo-parcial`)\n }\n\n resumoFinal(cursoId: number, edicao: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/resumo-final`)\n }\n\n cpfResposta(cursoId: number, edicao: number, tipo: string): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/${tipo}/cpf-resposta`)\n }\n\n alunosComRepospotas(cursoId: number, edicao: number, tipo: string): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/${tipo}/aluno-com-resposta`)\n }\n\n alunosSemRepospotas(cursoId: number, edicao: number, tipo: string): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/${tipo}/aluno-sem-resposta`)\n }\n\n permiteAvaliacaoParcial(cursoId: number, edicao: number, id: number): Observable {\n return this.client\n .get(this.baseUrl + '/' + this.ROUTE + '/' + cursoId + '/' + edicao + '/' + id + '/permite-avaliacao-parcial', {\n responseType: 'text',\n })\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n permiteAvaliacaoFinal(cursoId: number, edicao: number, id: number): Observable {\n return this.client\n .get(this.baseUrl + '/' + this.ROUTE + '/' + cursoId + '/' + edicao + '/' + id + '/permite-avaliacao-final', {\n responseType: 'text',\n })\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n gravar(data: AvaliacaoDiscenteForm[]): Observable {\n return this.create(this.ROUTE, data).pipe(identity, this.errorHandlerService.catchError())\n }\n\n getAvaliacaoByCursoIdAndEdicaoAndAlunoAndTipo(\n cursoId: number,\n edicao: number,\n id: number,\n tipo: string\n ): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/${id}/${tipo}/porId`)\n }\n}\n","import { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CidadeService {\n estados: string[] = [\n 'AC',\n 'AL',\n 'AP',\n 'AM',\n 'BA',\n 'CE',\n 'DF',\n 'ES',\n 'GO',\n 'MA',\n 'MT',\n 'MS',\n 'MG',\n 'PA',\n 'PB',\n 'PR',\n 'PE',\n 'PI',\n 'RJ',\n 'RN',\n 'RS',\n 'RO',\n 'RR',\n 'SC',\n 'SP',\n 'SE',\n 'TO',\n ]\n\n cidades: any = [\n [\n 'AC',\n [\n 'Acrelândia',\n 'Assis Brasil',\n 'Brasiléia',\n 'Bujari',\n 'Capixaba',\n 'Cruzeiro do Sul',\n 'Epitaciolândia',\n 'Feijó',\n 'Jordão',\n 'Mâncio Lima',\n 'Manoel Urbano',\n 'Marechal Thaumaturgo',\n 'Plácido de Castro',\n 'Porto Acre',\n 'Porto Walter',\n 'Rio Branco',\n 'Rodrigues Alves',\n 'Santa Rosa do Purus',\n 'Senador Guiomard',\n 'Sena Madureira',\n 'Tarauacá',\n 'Xapuri',\n ],\n ],\n [\n 'AL',\n [\n 'Água Branca',\n 'Anadia',\n 'Arapiraca',\n 'Atalaia',\n 'Barra de Santo Antônio',\n 'Barra de São Miguel',\n 'Batalha',\n 'Belém',\n 'Belo Monte',\n 'Boca da Mata',\n 'Branquinha',\n 'Cacimbinhas',\n 'Cajueiro',\n 'Campestre',\n 'Campo Alegre',\n 'Campo Grande',\n 'Canapi',\n 'Capela',\n 'Carneiros',\n 'Chã Preta',\n 'Coité do Nóia',\n 'Colônia Leopoldina',\n 'Coqueiro Seco',\n 'Coruripe',\n 'Craíbas',\n 'Delmiro Gouveia',\n 'Dois Riachos',\n 'Estrela de Alagoas',\n 'Feira Grande',\n 'Feliz Deserto',\n 'Flexeiras',\n 'Girau do Ponciano',\n 'Ibateguara',\n 'Igaci',\n 'Igreja Nova',\n 'Inhapi',\n 'Jacaré dos Homens',\n 'Jacuípe',\n 'Japaratinga',\n 'Jaramataia',\n 'Jequiá da Praia',\n 'Joaquim Gomes',\n 'Jundiá',\n 'Junqueiro',\n 'Lagoa da Canoa',\n 'Limoeiro de Anadia',\n 'Maceió',\n 'Major Isidoro',\n 'Maragogi',\n 'Maravilha',\n 'Marechal Deodoro',\n 'Maribondo',\n 'Mar Vermelho',\n 'Mata Grande',\n 'Matriz de Camaragibe',\n 'Messias',\n 'Minador do Negrão',\n 'Monteirópolis',\n 'Murici',\n 'Novo Lino',\n 'Olho d`Água das Flores',\n 'Olho d`Água do Casado',\n 'Olho d`Água Grande',\n 'Olivença',\n 'Ouro Branco',\n 'Palestina',\n 'Palmeira dos Índios',\n 'Pão de Açúcar',\n 'Pariconha',\n 'Paripueira',\n 'Passo de Camaragibe',\n 'Paulo Jacinto',\n 'Penedo',\n 'Piaçabuçu',\n 'Pilar',\n 'Pindoba',\n 'Piranhas',\n 'Poço das Trincheiras',\n 'Porto Calvo',\n 'Porto de Pedras',\n 'Porto Real do Colégio',\n 'Quebrangulo',\n 'Rio Largo',\n 'Roteiro',\n 'Santa Luzia do Norte',\n 'Santana do Ipanema',\n 'Santana do Mundaú',\n 'São Brás',\n 'São José da Laje',\n 'São José da Tapera',\n 'São Luís do Quitunde',\n 'São Miguel dos Campos',\n 'São Miguel dos Milagres',\n 'São Sebastião',\n 'Satuba',\n 'Senador Rui Palmeira',\n 'Tanque d`Arca',\n 'Taquarana',\n 'Teotônio Vilela',\n 'Traipu',\n 'União dos Palmares',\n 'Viçosa',\n ],\n ],\n [\n 'AP',\n [\n 'Amapá',\n 'Calçoene',\n 'Cutias',\n 'Ferreira Gomes',\n 'Itaubal',\n 'Laranjal do Jari',\n 'Macapá',\n 'Mazagão',\n 'Oiapoque',\n 'Pedra Branca do Amaparí',\n 'Porto Grande',\n 'Pracuúba',\n 'Santana',\n 'Serra do Navio',\n 'Tartarugalzinho',\n 'Vitória do Jari',\n ],\n ],\n [\n 'AM',\n [\n 'Alvarães',\n 'Amaturá',\n 'Anamã',\n 'Anori',\n 'Apuí',\n 'Atalaia do Norte',\n 'Autazes',\n 'Barcelos',\n 'Barreirinha',\n 'Benjamin Constant',\n 'Beruri',\n 'Boa Vista do Ramos',\n 'Boca do Acre',\n 'Borba',\n 'Caapiranga',\n 'Canutama',\n 'Carauari',\n 'Careiro',\n 'Careiro da Várzea',\n 'Coari',\n 'Codajás',\n 'Eirunepé',\n 'Envira',\n 'Fonte Boa',\n 'Guajará',\n 'Humaitá',\n 'Ipixuna',\n 'Iranduba',\n 'Itacoatiara',\n 'Itamarati',\n 'Itapiranga',\n 'Japurá',\n 'Juruá',\n 'Jutaí',\n 'Lábrea',\n 'Manacapuru',\n 'Manaquiri',\n 'Manaus',\n 'Manicoré',\n 'Maraã',\n 'Maués',\n 'Nhamundá',\n 'Nova Olinda do Norte',\n 'Novo Airão',\n 'Novo Aripuanã',\n 'Parintins',\n 'Pauini',\n 'Presidente Figueiredo',\n 'Rio Preto da Eva',\n 'Santa Isabel do Rio Negro',\n 'Santo Antônio do Içá',\n 'São Gabriel da Cachoeira',\n 'São Paulo de Olivença',\n 'São Sebastião do Uatumã',\n 'Silves',\n 'Tabatinga',\n 'Tapauá',\n 'Tefé',\n 'Tonantins',\n 'Uarini',\n 'Urucará',\n 'Urucurituba',\n ],\n ],\n [\n 'BA',\n [\n 'Abaíra',\n 'Abaré',\n 'Acajutiba',\n 'Adustina',\n 'Água Fria',\n 'Aiquara',\n 'Alagoinhas',\n 'Alcobaça',\n 'Almadina',\n 'Amargosa',\n 'Amélia Rodrigues',\n 'América Dourada',\n 'Anagé',\n 'Andaraí',\n 'Andorinha',\n 'Angical',\n 'Anguera',\n 'Antas',\n 'Antônio Cardoso',\n 'Antônio Gonçalves',\n 'Aporá',\n 'Apuarema',\n 'Araças',\n 'Aracatu',\n 'Araci',\n 'Aramari',\n 'Arataca',\n 'Aratuípe',\n 'Aurelino Leal',\n 'Baianópolis',\n 'Baixa Grande',\n 'Banzaê',\n 'Barra',\n 'Barra da Estiva',\n 'Barra do Choça',\n 'Barra do Mendes',\n 'Barra do Rocha',\n 'Barreiras',\n 'Barro Alto',\n 'Barrocas',\n 'Barro Preto',\n 'Belmonte',\n 'Belo Campo',\n 'Biritinga',\n 'Boa Nova',\n 'Boa Vista do Tupim',\n 'Bom Jesus da Lapa',\n 'Bom Jesus da Serra',\n 'Boninal',\n 'Bonito',\n 'Boquira',\n 'Botuporã',\n 'Brejões',\n 'Brejolândia',\n 'Brotas de Macaúbas',\n 'Brumado',\n 'Buerarema',\n 'Buritirama',\n 'Caatiba',\n 'Cabaceiras do Paraguaçu',\n 'Cachoeira',\n 'Caculé',\n 'Caém',\n 'Caetanos',\n 'Caetité',\n 'Cafarnaum',\n 'Cairu',\n 'Caldeirão Grande',\n 'Camacan',\n 'Camaçari',\n 'Camamu',\n 'Campo Alegre de Lourdes',\n 'Campo Formoso',\n 'Canápolis',\n 'Canarana',\n 'Canavieiras',\n 'Candeal',\n 'Candeias',\n 'Candiba',\n 'Cândido Sales',\n 'Cansanção',\n 'Canudos',\n 'Capela do Alto Alegre',\n 'Capim Grosso',\n 'Caraíbas',\n 'Caravelas',\n 'Cardeal da Silva',\n 'Carinhanha',\n 'Casa Nova',\n 'Castro Alves',\n 'Catolândia',\n 'Catu',\n 'Caturama',\n 'Central',\n 'Chorrochó',\n 'Cícero Dantas',\n 'Cipó',\n 'Coaraci',\n 'Cocos',\n 'Conceição da Feira',\n 'Conceição do Almeida',\n 'Conceição do Coité',\n 'Conceição do Jacuípe',\n 'Conde',\n 'Condeúba',\n 'Contendas do Sincorá',\n 'Coração de Maria',\n 'Cordeiros',\n 'Coribe',\n 'Coronel João Sá',\n 'Correntina',\n 'Cotegipe',\n 'Cravolândia',\n 'Crisópolis',\n 'Cristópolis',\n 'Cruz das Almas',\n 'Curaçá',\n 'Dário Meira',\n 'Dias d`Ávila',\n 'Dom Basílio',\n 'Dom Macedo Costa',\n 'Elísio Medrado',\n 'Encruzilhada',\n 'Entre Rios',\n 'Érico Cardoso',\n 'Esplanada',\n 'Euclides da Cunha',\n 'Eunápolis',\n 'Fátima',\n 'Feira da Mata',\n 'Feira de Santana',\n 'Filadélfia',\n 'Firmino Alves',\n 'Floresta Azul',\n 'Formosa do Rio Preto',\n 'Gandu',\n 'Gavião',\n 'Gentio do Ouro',\n 'Glória',\n 'Gongogi',\n 'Governador Mangabeira',\n 'Guajeru',\n 'Guanambi',\n 'Guaratinga',\n 'Heliópolis',\n 'Iaçu',\n 'Ibiassucê',\n 'Ibicaraí',\n 'Ibicoara',\n 'Ibicuí',\n 'Ibipeba',\n 'Ibipitanga',\n 'Ibiquera',\n 'Ibirapitanga',\n 'Ibirapuã',\n 'Ibirataia',\n 'Ibitiara',\n 'Ibititá',\n 'Ibotirama',\n 'Ichu',\n 'Igaporã',\n 'Igrapiúna',\n 'Iguaí',\n 'Ilhéus',\n 'Inhambupe',\n 'Ipecaetá',\n 'Ipiaú',\n 'Ipirá',\n 'Ipupiara',\n 'Irajuba',\n 'Iramaia',\n 'Iraquara',\n 'Irará',\n 'Irecê',\n 'Itabela',\n 'Itaberaba',\n 'Itabuna',\n 'Itacaré',\n 'Itaeté',\n 'Itagi',\n 'Itagibá',\n 'Itagimirim',\n 'Itaguaçu da Bahia',\n 'Itaju do Colônia',\n 'Itajuípe',\n 'Itamaraju',\n 'Itamari',\n 'Itambé',\n 'Itanagra',\n 'Itanhém',\n 'Itaparica',\n 'Itapé',\n 'Itapebi',\n 'Itapetinga',\n 'Itapicuru',\n 'Itapitanga',\n 'Itaquara',\n 'Itarantim',\n 'Itatim',\n 'Itiruçu',\n 'Itiúba',\n 'Itororó',\n 'Ituaçu',\n 'Ituberá',\n 'Iuiú',\n 'Jaborandi',\n 'Jacaraci',\n 'Jacobina',\n 'Jaguaquara',\n 'Jaguarari',\n 'Jaguaripe',\n 'Jandaíra',\n 'Jequié',\n 'Jeremoabo',\n 'Jiquiriçá',\n 'Jitaúna',\n 'João Dourado',\n 'Juazeiro',\n 'Jucuruçu',\n 'Jussara',\n 'Jussari',\n 'Jussiape',\n 'Lafaiete Coutinho',\n 'Lagoa Real',\n 'Laje',\n 'Lajedão',\n 'Lajedinho',\n 'Lajedo do Tabocal',\n 'Lamarão',\n 'Lapão',\n 'Lauro de Freitas',\n 'Lençóis',\n 'Licínio de Almeida',\n 'Livramento de Nossa Senhora',\n 'Luís Eduardo Magalhães',\n 'Macajuba',\n 'Macarani',\n 'Macaúbas',\n 'Macururé',\n 'Madre de Deus',\n 'Maetinga',\n 'Maiquinique',\n 'Mairi',\n 'Malhada',\n 'Malhada de Pedras',\n 'Manoel Vitorino',\n 'Mansidão',\n 'Maracás',\n 'Maragogipe',\n 'Maraú',\n 'Marcionílio Souza',\n 'Mascote',\n 'Mata de São João',\n 'Matina',\n 'Medeiros Neto',\n 'Miguel Calmon',\n 'Milagres',\n 'Mirangaba',\n 'Mirante',\n 'Monte Santo',\n 'Morpará',\n 'Morro do Chapéu',\n 'Mortugaba',\n 'Mucugê',\n 'Mucuri',\n 'Mulungu do Morro',\n 'Mundo Novo',\n 'Muniz Ferreira',\n 'Muquém de São Francisco',\n 'Muritiba',\n 'Mutuípe',\n 'Nazaré',\n 'Nilo Peçanha',\n 'Nordestina',\n 'Nova Canaã',\n 'Nova Fátima',\n 'Nova Ibiá',\n 'Nova Itarana',\n 'Nova Redenção',\n 'Nova Soure',\n 'Nova Viçosa',\n 'Novo Horizonte',\n 'Novo Triunfo',\n 'Olindina',\n 'Oliveira dos Brejinhos',\n 'Ouriçangas',\n 'Ourolândia',\n 'Palmas de Monte Alto',\n 'Palmeiras',\n 'Paramirim',\n 'Paratinga',\n 'Paripiranga',\n 'Pau Brasil',\n 'Paulo Afonso',\n 'Pé de Serra',\n 'Pedrão',\n 'Pedro Alexandre',\n 'Piatã',\n 'Pilão Arcado',\n 'Pindaí',\n 'Pindobaçu',\n 'Pintadas',\n 'Piraí do Norte',\n 'Piripá',\n 'Piritiba',\n 'Planaltino',\n 'Planalto',\n 'Poções',\n 'Pojuca',\n 'Ponto Novo',\n 'Porto Seguro',\n 'Potiraguá',\n 'Prado',\n 'Presidente Dutra',\n 'Presidente Jânio Quadros',\n 'Presidente Tancredo Neves',\n 'Queimadas',\n 'Quijingue',\n 'Quixabeira',\n 'Rafael Jambeiro',\n 'Remanso',\n 'Retirolândia',\n 'Riachão das Neves',\n 'Riachão do Jacuípe',\n 'Riacho de Santana',\n 'Ribeira do Amparo',\n 'Ribeira do Pombal',\n 'Ribeirão do Largo',\n 'Rio de Contas',\n 'Rio do Antônio',\n 'Rio do Pires',\n 'Rio Real',\n 'Rodelas',\n 'Ruy Barbosa',\n 'Salinas da Margarida',\n 'Salvador',\n 'Santa Bárbara',\n 'Santa Brígida',\n 'Santa Cruz Cabrália',\n 'Santa Cruz da Vitória',\n 'Santa Inês',\n 'Santaluz',\n 'Santa Luzia',\n 'Santa Maria da Vitória',\n 'Santana',\n 'Santanópolis',\n 'Santa Rita de Cássia',\n 'Santa Teresinha',\n 'Santo Amaro',\n 'Santo Antônio de Jesus',\n 'Santo Estêvão',\n 'São Desidério',\n 'São Domingos',\n 'São Felipe',\n 'São Félix',\n 'São Félix do Coribe',\n 'São Francisco do Conde',\n 'São Gabriel',\n 'São Gonçalo dos Campos',\n 'São José da Vitória',\n 'São José do Jacuípe',\n 'São Miguel das Matas',\n 'São Sebastião do Passé',\n 'Sapeaçu',\n 'Sátiro Dias',\n 'Saubara',\n 'Saúde',\n 'Seabra',\n 'Sebastião Laranjeiras',\n 'Senhor do Bonfim',\n 'Sento Sé',\n 'Serra do Ramalho',\n 'Serra Dourada',\n 'Serra Preta',\n 'Serrinha',\n 'Serrolândia',\n 'Simões Filho',\n 'Sítio do Mato',\n 'Sítio do Quinto',\n 'Sobradinho',\n 'Souto Soares',\n 'Tabocas do Brejo Velho',\n 'Tanhaçu',\n 'Tanque Novo',\n 'Tanquinho',\n 'Taperoá',\n 'Tapiramutá',\n 'Teixeira de Freitas',\n 'Teodoro Sampaio',\n 'Teofilândia',\n 'Teolândia',\n 'Terra Nova',\n 'Tremedal',\n 'Tucano',\n 'Uauá',\n 'Ubaíra',\n 'Ubaitaba',\n 'Ubatã',\n 'Uibaí',\n 'Umburanas',\n 'Una',\n 'Urandi',\n 'Uruçuca',\n 'Utinga',\n 'Valença',\n 'Valente',\n 'Várzea da Roça',\n 'Várzea do Poço',\n 'Várzea Nova',\n 'Varzedo',\n 'Vera Cruz',\n 'Vereda',\n 'Vitória da Conquista',\n 'Wagner',\n 'Wanderley',\n 'Wenceslau Guimarães',\n 'Xique-Xique',\n ],\n ],\n [\n 'CE',\n [\n 'Abaiara',\n 'Acarapé',\n 'Acaraú',\n 'Acopiara',\n 'Aiuaba',\n 'Alcântaras',\n 'Altaneira',\n 'Alto Santo',\n 'Amontada',\n 'Antonina do Norte',\n 'Apuiarés',\n 'Aquiraz',\n 'Aracati',\n 'Aracoiaba',\n 'Ararendá',\n 'Araripe',\n 'Aratuba',\n 'Arneiroz',\n 'Assaré',\n 'Aurora',\n 'Baixio',\n 'Banabuiú',\n 'Barbalha',\n 'Barreira',\n 'Barro',\n 'Barroquinha',\n 'Baturité',\n 'Beberibe',\n 'Bela Cruz',\n 'Boa Viagem',\n 'Brejo Santo',\n 'Camocim',\n 'Campos Sales',\n 'Canindé',\n 'Capistrano',\n 'Caridade',\n 'Cariré',\n 'Caririaçu',\n 'Cariús',\n 'Carnaubal',\n 'Cascavel',\n 'Catarina',\n 'Catunda',\n 'Caucaia',\n 'Cedro',\n 'Chaval',\n 'Choró',\n 'Chorozinho',\n 'Coreaú',\n 'Crateús',\n 'Crato',\n 'Croatá',\n 'Cruz',\n 'Deputado Irapuan Pinheiro',\n 'Ererê',\n 'Eusébio',\n 'Farias Brito',\n 'Forquilha',\n 'Fortaleza',\n 'Fortim',\n 'Frecheirinha',\n 'General Sampaio',\n 'Graça',\n 'Granja',\n 'Granjeiro',\n 'Groaíras',\n 'Guaiúba',\n 'Guaraciaba do Norte',\n 'Guaramiranga',\n 'Hidrolândia',\n 'Horizonte',\n 'Ibaretama',\n 'Ibiapina',\n 'Ibicuitinga',\n 'Icapuí',\n 'Icó',\n 'Iguatu',\n 'Independência',\n 'Ipaporanga',\n 'Ipaumirim',\n 'Ipu',\n 'Ipueiras',\n 'Iracema',\n 'Irauçuba',\n 'Itaiçaba',\n 'Itaitinga',\n 'Itapagé',\n 'Itapipoca',\n 'Itapiúna',\n 'Itarema',\n 'Itatira',\n 'Jaguaretama',\n 'Jaguaribara',\n 'Jaguaribe',\n 'Jaguaruana',\n 'Jardim',\n 'Jati',\n 'Jijoca de Jericoacoara',\n 'Juazeiro do Norte',\n 'Jucás',\n 'Lavras da Mangabeira',\n 'Limoeiro do Norte',\n 'Madalena',\n 'Maracanaú',\n 'Maranguape',\n 'Marco',\n 'Martinópole',\n 'Massapê',\n 'Mauriti',\n 'Meruoca',\n 'Milagres',\n 'Milhã',\n 'Miraíma',\n 'Missão Velha',\n 'Mombaça',\n 'Monsenhor Tabosa',\n 'Morada Nova',\n 'Moraújo',\n 'Morrinhos',\n 'Mucambo',\n 'Mulungu',\n 'Nova Olinda',\n 'Nova Russas',\n 'Novo Oriente',\n 'Ocara',\n 'Orós',\n 'Pacajus',\n 'Pacatuba',\n 'Pacoti',\n 'Pacujá',\n 'Palhano',\n 'Palmácia',\n 'Paracuru',\n 'Paraipaba',\n 'Parambu',\n 'Paramoti',\n 'Pedra Branca',\n 'Penaforte',\n 'Pentecoste',\n 'Pereiro',\n 'Pindoretama',\n 'Piquet Carneiro',\n 'Pires Ferreira',\n 'Poranga',\n 'Porteiras',\n 'Potengi',\n 'Potiretama',\n 'Quiterianópolis',\n 'Quixadá',\n 'Quixelô',\n 'Quixeramobim',\n 'Quixeré',\n 'Redenção',\n 'Reriutaba',\n 'Russas',\n 'Saboeiro',\n 'Salitre',\n 'Santana do Acaraú',\n 'Santana do Cariri',\n 'Santa Quitéria',\n 'São Benedito',\n 'São Gonçalo do Amarante',\n 'São João do Jaguaribe',\n 'São Luís do Curu',\n 'Senador Pompeu',\n 'Senador Sá',\n 'Sobral',\n 'Solonópole',\n 'Tabuleiro do Norte',\n 'Tamboril',\n 'Tarrafas',\n 'Tauá',\n 'Tejuçuoca',\n 'Tianguá',\n 'Trairi',\n 'Tururu',\n 'Ubajara',\n 'Umari',\n 'Umirim',\n 'Uruburetama',\n 'Uruoca',\n 'Varjota',\n 'Várzea Alegre',\n 'Viçosa do Ceará',\n ],\n ],\n ['DF', ['Brasília']],\n [\n 'ES',\n [\n 'Afonso Cláudio',\n 'Água Doce do Norte',\n 'Águia Branca',\n 'Alegre',\n 'Alfredo Chaves',\n 'Alto Rio Novo',\n 'Anchieta',\n 'Apiacá',\n 'Aracruz',\n 'Atilio Vivacqua',\n 'Baixo Guandu',\n 'Barra de São Francisco',\n 'Boa Esperança',\n 'Bom Jesus do Norte',\n 'Brejetuba',\n 'Cachoeiro de Itapemirim',\n 'Cariacica',\n 'Castelo',\n 'Colatina',\n 'Conceição da Barra',\n 'Conceição do Castelo',\n 'Divino de São Lourenço',\n 'Domingos Martins',\n 'Dores do Rio Preto',\n 'Ecoporanga',\n 'Fundão',\n 'Governador Lindenberg',\n 'Guaçuí',\n 'Guarapari',\n 'Ibatiba',\n 'Ibiraçu',\n 'Ibitirama',\n 'Iconha',\n 'Irupi',\n 'Itaguaçu',\n 'Itapemirim',\n 'Itarana',\n 'Iúna',\n 'Jaguaré',\n 'Jerônimo Monteiro',\n 'João Neiva',\n 'Laranja da Terra',\n 'Linhares',\n 'Mantenópolis',\n 'Marataízes',\n 'Marechal Floriano',\n 'Marilândia',\n 'Mimoso do Sul',\n 'Montanha',\n 'Mucurici',\n 'Muniz Freire',\n 'Muqui',\n 'Nova Venécia',\n 'Pancas',\n 'Pedro Canário',\n 'Pinheiros',\n 'Piúma',\n 'Ponto Belo',\n 'Presidente Kennedy',\n 'Rio Bananal',\n 'Rio Novo do Sul',\n 'Santa Leopoldina',\n 'Santa Maria de Jetibá',\n 'Santa Teresa',\n 'São Domingos do Norte',\n 'São Gabriel da Palha',\n 'São José do Calçado',\n 'São Mateus',\n 'São Roque do Canaã',\n 'Serra',\n 'Sooretama',\n 'Vargem Alta',\n 'Venda Nova do Imigrante',\n 'Viana',\n 'Vila Pavão',\n 'Vila Valério',\n 'VILA VELHA',\n 'Vitória',\n ],\n ],\n [\n 'GO',\n [\n 'Abadia de Goiás',\n 'Abadiânia',\n 'Acreúna',\n 'Adelândia',\n 'Água Fria de Goiás',\n 'Água Limpa',\n 'Águas Lindas de Goiás',\n 'Alexânia',\n 'Aloândia',\n 'Alto Horizonte',\n 'Alto Paraíso de Goiás',\n 'Alvorada do Norte',\n 'Amaralina',\n 'Americano do Brasil',\n 'Amorinópolis',\n 'Anápolis',\n 'Anhanguera',\n 'Anicuns',\n 'Aparecida de Goiânia',\n 'Aparecida do Rio Doce',\n 'Aporé',\n 'Araçu',\n 'Aragarças',\n 'Aragoiânia',\n 'Araguapaz',\n 'Arenópolis',\n 'Aruanã',\n 'Aurilândia',\n 'Avelinópolis',\n 'Baliza',\n 'Barro Alto',\n 'Bela Vista de Goiás',\n 'Bom Jardim de Goiás',\n 'Bom Jesus de Goiás',\n 'Bonfinópolis',\n 'Bonópolis',\n 'Brazabrantes',\n 'Britânia',\n 'Buriti Alegre',\n 'Buriti de Goiás',\n 'Buritinópolis',\n 'Cabeceiras',\n 'Cachoeira Alta',\n 'Cachoeira de Goiás',\n 'Cachoeira Dourada',\n 'Caçu',\n 'Caiapônia',\n 'Caldas Novas',\n 'Caldazinha',\n 'Campestre de Goiás',\n 'Campinaçu',\n 'Campinorte',\n 'Campo Alegre de Goiás',\n 'Campo Limpo de Goiás',\n 'Campos Belos',\n 'Campos Verdes',\n 'Carmo do Rio Verde',\n 'Castelândia',\n 'Catalão',\n 'Caturaí',\n 'Cavalcante',\n 'Ceres',\n 'Cezarina',\n 'Chapadão do Céu',\n 'Cidade Ocidental',\n 'Cocalzinho de Goiás',\n 'Colinas do Sul',\n 'Córrego do Ouro',\n 'Corumbá de Goiás',\n 'Corumbaíba',\n 'Cristalina',\n 'Cristianópolis',\n 'Crixás',\n 'Cromínia',\n 'Cumari',\n 'Damianópolis',\n 'Damolândia',\n 'Davinópolis',\n 'Diorama',\n 'Divinópolis de Goiás',\n 'Doverlândia',\n 'Edealina',\n 'Edéia',\n 'Estrela do Norte',\n 'Faina',\n 'Fazenda Nova',\n 'Firminópolis',\n 'Flores de Goiás',\n 'Formosa',\n 'Formoso',\n 'Gameleira de Goiás',\n 'Goianápolis',\n 'Goiandira',\n 'Goianésia',\n 'Goiânia',\n 'Goianira',\n 'Goiás',\n 'Goiatuba',\n 'Gouvelândia',\n 'Guapó',\n 'Guaraíta',\n 'Guarani de Goiás',\n 'Guarinos',\n 'Heitoraí',\n 'Hidrolândia',\n 'Hidrolina',\n 'Iaciara',\n 'Inaciolândia',\n 'Indiara',\n 'Inhumas',\n 'Ipameri',\n 'Ipiranga de Goiás',\n 'Iporá',\n 'Israelândia',\n 'Itaberaí',\n 'Itaguari',\n 'Itaguaru',\n 'Itajá',\n 'Itapaci',\n 'Itapirapuã',\n 'Itapuranga',\n 'Itarumã',\n 'Itauçu',\n 'Itumbiara',\n 'Ivolândia',\n 'Jandaia',\n 'Jaraguá',\n 'Jataí',\n 'Jaupaci',\n 'Jesúpolis',\n 'Joviânia',\n 'Jussara',\n 'Lagoa Santa',\n 'Leopoldo de Bulhões',\n 'Luziânia',\n 'Mairipotaba',\n 'Mambaí',\n 'Mara Rosa',\n 'Marzagão',\n 'Matrinchã',\n 'Maurilândia',\n 'Mimoso de Goiás',\n 'Minaçu',\n 'Mineiros',\n 'Moiporá',\n 'Monte Alegre de Goiás',\n 'Montes Claros de Goiás',\n 'Montividiu',\n 'Montividiu do Norte',\n 'Morrinhos',\n 'Morro Agudo de Goiás',\n 'Mossâmedes',\n 'Mozarlândia',\n 'Mundo Novo',\n 'Mutunópolis',\n 'Nazário',\n 'Nerópolis',\n 'Niquelândia',\n 'Nova América',\n 'Nova Aurora',\n 'Nova Crixás',\n 'Nova Glória',\n 'Nova Iguaçu de Goiás',\n 'Nova Roma',\n 'Nova Veneza',\n 'Novo Brasil',\n 'Novo Gama',\n 'Novo Planalto',\n 'Orizona',\n 'Ouro Verde de Goiás',\n 'Ouvidor',\n 'Padre Bernardo',\n 'Palestina de Goiás',\n 'Palmeiras de Goiás',\n 'Palmelo',\n 'Palminópolis',\n 'Panamá',\n 'Paranaiguara',\n 'Paraúna',\n 'Perolândia',\n 'Petrolina de Goiás',\n 'Pilar de Goiás',\n 'Piracanjuba',\n 'Piranhas',\n 'Pirenópolis',\n 'Pires do Rio',\n 'Planaltina',\n 'Pontalina',\n 'Porangatu',\n 'Porteirão',\n 'Portelândia',\n 'Posse',\n 'Professor Jamil',\n 'Quirinópolis',\n 'Rialma',\n 'Rianápolis',\n 'Rio Quente',\n 'Rio Verde',\n 'Rubiataba',\n 'Sanclerlândia',\n 'Santa Bárbara de Goiás',\n 'Santa Cruz de Goiás',\n 'Santa Fé de Goiás',\n 'Santa Helena de Goiás',\n 'Santa Isabel',\n 'Santa Rita do Araguaia',\n 'Santa Rita do Novo Destino',\n 'Santa Rosa de Goiás',\n 'Santa Tereza de Goiás',\n 'Santa Terezinha de Goiás',\n 'Santo Antônio da Barra',\n 'Santo Antônio de Goiás',\n 'Santo Antônio do Descoberto',\n 'São Domingos',\n 'São Francisco de Goiás',\n 'São João d`Aliança',\n 'São João da Paraúna',\n 'São Luís de Montes Belos',\n 'São Luíz do Norte',\n 'São Miguel do Araguaia',\n 'São Miguel do Passa Quatro',\n 'São Patrício',\n 'São Simão',\n 'Senador Canedo',\n 'Serranópolis',\n 'Silvânia',\n 'Simolândia',\n 'Sítio d`Abadia',\n 'Taquaral de Goiás',\n 'Teresina de Goiás',\n 'Terezópolis de Goiás',\n 'Três Ranchos',\n 'Trindade',\n 'Trombas',\n 'Turvânia',\n 'Turvelândia',\n 'Uirapuru',\n 'Uruaçu',\n 'Uruana',\n 'Urutaí',\n 'Valparaíso de Goiás',\n 'Varjão',\n 'Vianópolis',\n 'Vicentinópolis',\n 'Vila Boa',\n 'Vila Propício',\n ],\n ],\n [\n 'MA',\n [\n 'Açailândia',\n 'Afonso Cunha',\n 'Água Doce do Maranhão',\n 'Alcântara',\n 'Aldeias Altas',\n 'Altamira do Maranhão',\n 'Alto Alegre do Maranhão',\n 'Alto Alegre do Pindaré',\n 'Alto Parnaíba',\n 'Amapá do Maranhão',\n 'Amarante do Maranhão',\n 'Anajatuba',\n 'Anapurus',\n 'Apicum-Açu',\n 'Araguanã',\n 'Araioses',\n 'Arame',\n 'Arari',\n 'Axixá',\n 'Bacabal',\n 'Bacabeira',\n 'Bacuri',\n 'Bacurituba',\n 'Balsas',\n 'Barão de Grajaú',\n 'Barra do Corda',\n 'Barreirinhas',\n 'Belágua',\n 'Bela Vista do Maranhão',\n 'Benedito Leite',\n 'Bequimão',\n 'Bernardo do Mearim',\n 'Boa Vista do Gurupi',\n 'Bom Jardim',\n 'Bom Jesus das Selvas',\n 'Bom Lugar',\n 'Brejo',\n 'Brejo de Areia',\n 'Buriti',\n 'Buriti Bravo',\n 'Buriticupu',\n 'Buritirana',\n 'Cachoeira Grande',\n 'Cajapió',\n 'Cajari',\n 'Campestre do Maranhão',\n 'Cândido Mendes',\n 'Cantanhede',\n 'Capinzal do Norte',\n 'Carolina',\n 'Carutapera',\n 'Caxias',\n 'Cedral',\n 'Central do Maranhão',\n 'Centro do Guilherme',\n 'Centro Novo do Maranhão',\n 'Chapadinha',\n 'Cidelândia',\n 'Codó',\n 'Coelho Neto',\n 'Colinas',\n 'Conceição do Lago-Açu',\n 'Coroatá',\n 'Cururupu',\n 'Davinópolis',\n 'Dom Pedro',\n 'Duque Bacelar',\n 'Esperantinópolis',\n 'Estreito',\n 'Feira Nova do Maranhão',\n 'Fernando Falcão',\n 'Formosa da Serra Negra',\n 'Fortaleza dos Nogueiras',\n 'Fortuna',\n 'Godofredo Viana',\n 'Gonçalves Dias',\n 'Governador Archer',\n 'Governador Edison Lobão',\n 'Governador Eugênio Barros',\n 'Governador Luiz Rocha',\n 'Governador Newton Bello',\n 'Governador Nunes Freire',\n 'Graça Aranha',\n 'Grajaú',\n 'Guimarães',\n 'Humberto de Campos',\n 'Icatu',\n 'Igarapé do Meio',\n 'Igarapé Grande',\n 'Imperatriz',\n 'Itaipava do Grajaú',\n 'Itapecuru Mirim',\n 'Itinga do Maranhão',\n 'Jatobá',\n 'Jenipapo dos Vieiras',\n 'João Lisboa',\n 'Joselândia',\n 'Junco do Maranhão',\n 'Lagoa do Mato',\n 'Lagoa Grande do Maranhão',\n 'Lago da Pedra',\n 'Lago do Junco',\n 'Lago dos Rodrigues',\n 'Lago Verde',\n 'Lajeado Novo',\n 'Lima Campos',\n 'Loreto',\n 'Luís Domingues',\n 'Magalhães de Almeida',\n 'Maracaçumé',\n 'Marajá do Sena',\n 'Maranhãozinho',\n 'Mata Roma',\n 'Matinha',\n 'Matões',\n 'Matões do Norte',\n 'Milagres do Maranhão',\n 'Mirador',\n 'Miranda do Norte',\n 'Mirinzal',\n 'Monção',\n 'Montes Altos',\n 'Morros',\n 'Nina Rodrigues',\n 'Nova Colinas',\n 'Nova Iorque',\n 'Nova Olinda do Maranhão',\n 'Olho d`Água das Cunhãs',\n 'Olinda Nova do Maranhão',\n 'Paço do Lumiar',\n 'Palmeirândia',\n 'Paraibano',\n 'Parnarama',\n 'Passagem Franca',\n 'Pastos Bons',\n 'Paulino Neves',\n 'Paulo Ramos',\n 'Pedreiras',\n 'Pedro do Rosário',\n 'Penalva',\n 'Peri Mirim',\n 'Peritoró',\n 'Pindaré-Mirim',\n 'Pinheiro',\n 'Pio XII',\n 'Pirapemas',\n 'Poção de Pedras',\n 'Porto Franco',\n 'Porto Rico do Maranhão',\n 'Presidente Dutra',\n 'Presidente Juscelino',\n 'Presidente Médici',\n 'Presidente Sarney',\n 'Presidente Vargas',\n 'Primeira Cruz',\n 'Raposa',\n 'Riachão',\n 'Ribamar Fiquene',\n 'Rosário',\n 'Sambaíba',\n 'Santa Filomena do Maranhão',\n 'Santa Helena',\n 'Santa Inês',\n 'Santa Luzia',\n 'Santa Luzia do Paruá',\n 'Santana do Maranhão',\n 'Santa Quitéria do Maranhão',\n 'Santa Rita',\n 'Santo Amaro do Maranhão',\n 'Santo Antônio dos Lopes',\n 'São Benedito do Rio Preto',\n 'São Bento',\n 'São Bernardo',\n 'São Domingos do Azeitão',\n 'São Domingos do Maranhão',\n 'São Félix de Balsas',\n 'São Francisco do Brejão',\n 'São Francisco do Maranhão',\n 'São João Batista',\n 'São João do Carú',\n 'São João do Paraíso',\n 'São João do Soter',\n 'São João dos Patos',\n 'São José de Ribamar',\n 'São José dos Basílios',\n 'São Luís',\n 'São Luís Gonzaga do Maranhão',\n 'São Mateus do Maranhão',\n 'São Pedro da Água Branca',\n 'São Pedro dos Crentes',\n 'São Raimundo das Mangabeiras',\n 'São Raimundo do Doca Bezerra',\n 'São Roberto',\n 'São Vicente Ferrer',\n 'Satubinha',\n 'Senador Alexandre Costa',\n 'Senador La Rocque',\n 'Serrano do Maranhão',\n 'Sítio Novo',\n 'Sucupira do Norte',\n 'Sucupira do Riachão',\n 'Tasso Fragoso',\n 'Timbiras',\n 'Timon',\n 'Trizidela do Vale',\n 'Tufilândia',\n 'Tuntum',\n 'Turiaçu',\n 'Turilândia',\n 'Tutóia',\n 'Urbano Santos',\n 'Vargem Grande',\n 'Viana',\n 'Vila Nova dos Martírios',\n 'Vitória do Mearim',\n 'Vitorino Freire',\n 'Zé Doca',\n ],\n ],\n [\n 'MT',\n [\n 'Acorizal',\n 'Água Boa',\n 'Alta Floresta',\n 'Alto Araguaia',\n 'Alto Boa Vista',\n 'Alto Garças',\n 'Alto Paraguai',\n 'Alto Taquari',\n 'Apiacás',\n 'Araguaiana',\n 'Araguainha',\n 'Araputanga',\n 'Arenápolis',\n 'Aripuanã',\n 'Barão de Melgaço',\n 'Barra do Bugres',\n 'Barra do Garças',\n 'Bom Jesus do Araguaia',\n 'Brasnorte',\n 'Cáceres',\n 'Campinápolis',\n 'Campo Novo do Parecis',\n 'Campos de Júlio',\n 'Campo Verde',\n 'Canabrava do Norte',\n 'Canarana',\n 'Carlinda',\n 'Castanheira',\n 'Chapada dos Guimarães',\n 'Cláudia',\n 'Cocalinho',\n 'Colíder',\n 'Colniza',\n 'Comodoro',\n 'Confresa',\n 'Conquista DOeste',\n 'Cotriguaçu',\n 'Cuiabá',\n 'Curvelândia',\n 'Denise',\n 'Diamantino',\n 'Dom Aquino',\n 'Feliz Natal',\n 'Figueirópolis D`Oeste',\n 'Gaúcha do Norte',\n 'General Carneiro',\n 'Glória D`Oeste',\n 'Guarantã do Norte',\n 'Guiratinga',\n 'Indiavaí',\n 'Ipiranga do Norte',\n 'Itanhanga',\n 'Itaúba',\n 'Itiquira',\n 'Jaciara',\n 'Jangada',\n 'Jauru',\n 'Juara',\n 'Juína',\n 'Juruena',\n 'Juscimeira',\n 'Lambari D`Oeste',\n 'Lucas do Rio Verde',\n 'Luciára',\n 'Marcelândia',\n 'Matupá',\n 'Mirassol d`Oeste',\n 'Nobres',\n 'Nortelândia',\n 'Nossa Senhora do Livramento',\n 'Nova Bandeirantes',\n 'Nova Brasilândia',\n 'Nova Canaã do Norte',\n 'Nova Guarita',\n 'Nova Lacerda',\n 'Nova Marilândia',\n 'Nova Maringá',\n 'Nova Monte verde',\n 'Nova Mutum',\n 'Nova Nazaré',\n 'Nova Olímpia',\n 'Nova Santa Helena',\n 'Nova Ubiratã',\n 'Nova Xavantina',\n 'Novo Horizonte do Norte',\n 'Novo Mundo',\n 'Novo Santo Antônio',\n 'Novo São Joaquim',\n 'Paranaíta',\n 'Paranatinga',\n 'Pedra Preta',\n 'Peixoto de Azevedo',\n 'Planalto da Serra',\n 'Poconé',\n 'Pontal do Araguaia',\n 'Ponte Branca',\n 'Pontes e Lacerda',\n 'Porto Alegre do Norte',\n 'Porto dos Gaúchos',\n 'Porto Esperidião',\n 'Porto Estrela',\n 'Poxoréo',\n 'Primavera do Leste',\n 'Querência',\n 'Reserva do Cabaçal',\n 'Ribeirão Cascalheira',\n 'Ribeirãozinho',\n 'Rio Branco',\n 'Rondolândia',\n 'Rondonópolis',\n 'Rosário Oeste',\n 'Salto do Céu',\n 'Santa Carmem',\n 'Santa Cruz do Xingu',\n 'Santa Rita do Trivelato',\n 'Santa Terezinha',\n 'Santo Afonso',\n 'Santo Antônio do Leste',\n 'Santo Antônio do Leverger',\n 'São Félix do Araguaia',\n 'São José do Povo',\n 'São José do Rio Claro',\n 'São José dos Quatro Marcos',\n 'São José do Xingu',\n 'São Pedro da Cipa',\n 'Sapezal',\n 'Serra Nova Dourada',\n 'Sinop',\n 'Sorriso',\n 'Tabaporã',\n 'Tangará da Serra',\n 'Tapurah',\n 'Terra Nova do Norte',\n 'Tesouro',\n 'Torixoréu',\n 'União do Sul',\n 'Vale de São Domingos',\n 'Várzea Grande',\n 'Vera',\n 'Vila Bela da Santíssima Trindade',\n 'Vila Rica',\n ],\n ],\n [\n 'MS',\n [\n 'Água Clara',\n 'Alcinópolis',\n 'Amambaí',\n 'Anastácio',\n 'Anaurilândia',\n 'Angélica',\n 'Antônio João',\n 'Aparecida do Taboado',\n 'Aquidauana',\n 'Aral Moreira',\n 'Bandeirantes',\n 'Bataguassu',\n 'Bataiporã',\n 'Bela Vista',\n 'Bodoquena',\n 'Bonito',\n 'Brasilândia',\n 'Caarapó',\n 'Camapuã',\n 'Campo Grande',\n 'Caracol',\n 'Cassilândia',\n 'Chapadão do Sul',\n 'Corguinho',\n 'Coronel Sapucaia',\n 'Corumbá',\n 'Costa Rica',\n 'Coxim',\n 'Deodápolis',\n 'Dois Irmãos do Buriti',\n 'Douradina',\n 'Dourados',\n 'Eldorado',\n 'Fátima do Sul',\n 'Figueirão',\n 'Glória de Dourados',\n 'Guia Lopes da Laguna',\n 'Iguatemi',\n 'Inocência',\n 'Itaporã',\n 'Itaquiraí',\n 'Ivinhema',\n 'Japorã',\n 'Jaraguari',\n 'Jardim',\n 'Jateí',\n 'Juti',\n 'Ladário',\n 'Laguna Carapã',\n 'Maracaju',\n 'Miranda',\n 'Mundo Novo',\n 'Naviraí',\n 'Nioaque',\n 'Nova Alvorada do Sul',\n 'Nova Andradina',\n 'Novo Horizonte do Sul',\n 'Paranaíba',\n 'Paranhos',\n 'Pedro Gomes',\n 'Ponta Porã',\n 'Porto Murtinho',\n 'Ribas do Rio Pardo',\n 'Rio Brilhante',\n 'Rio Negro',\n 'Rio Verde de Mato Grosso',\n 'Rochedo',\n 'Santa Rita do Pardo',\n 'São Gabriel do Oeste',\n 'Selvíria',\n 'Sete Quedas',\n 'Sidrolândia',\n 'Sonora',\n 'Tacuru',\n 'Taquarussu',\n 'Terenos',\n 'Três Lagoas',\n 'Vicentina',\n ],\n ],\n [\n 'MG',\n [\n 'Abadia dos Dourados',\n 'Abaeté',\n 'Abre Campo',\n 'Acaiaca',\n 'Açucena',\n 'Água Boa',\n 'Água Comprida',\n 'Aguanil',\n 'Águas Formosas',\n 'Águas Vermelhas',\n 'Aimorés',\n 'Aiuruoca',\n 'Alagoa',\n 'Albertina',\n 'Além Paraíba',\n 'Alfenas',\n 'Alfredo Vasconcelos',\n 'Almenara',\n 'Alpercata',\n 'Alpinópolis',\n 'Alterosa',\n 'Alto Caparaó',\n 'Alto Jequitibá',\n 'Alto Rio Doce',\n 'Alvarenga',\n 'Alvinópolis',\n 'Alvorada de Minas',\n 'Amparo do Serra',\n 'Andradas',\n 'Andrelândia',\n 'Angelândia',\n 'Antônio Carlos',\n 'Antônio Dias',\n 'Antônio Prado de Minas',\n 'Araçaí',\n 'Aracitaba',\n 'Araçuaí',\n 'Araguari',\n 'Arantina',\n 'Araponga',\n 'Araporã',\n 'Arapuá',\n 'Araújos',\n 'Araxá',\n 'Arceburgo',\n 'Arcos',\n 'Areado',\n 'Argirita',\n 'Aricanduva',\n 'Arinos',\n 'Astolfo Dutra',\n 'Ataléia',\n 'Augusto de Lima',\n 'Baependi',\n 'Baldim',\n 'Bambuí',\n 'Bandeira',\n 'Bandeira do Sul',\n 'Barão de Cocais',\n 'Barão de Monte Alto',\n 'Barbacena',\n 'Barra Longa',\n 'Barroso',\n 'Bela Vista de Minas',\n 'Belmiro Braga',\n 'Belo Horizonte',\n 'Belo Oriente',\n 'Belo Vale',\n 'Berilo',\n 'Berizal',\n 'Bertópolis',\n 'Betim',\n 'Bias Fortes',\n 'Bicas',\n 'Biquinhas',\n 'Boa Esperança',\n 'Bocaina de Minas',\n 'Bocaiúva',\n 'Bom Despacho',\n 'Bom Jardim de Minas',\n 'Bom Jesus da Penha',\n 'Bom Jesus do Amparo',\n 'Bom Jesus do Galho',\n 'Bom Repouso',\n 'Bom Sucesso',\n 'Bonfim',\n 'Bonfinópolis de Minas',\n 'Bonito de Minas',\n 'Borda da Mata',\n 'Botelhos',\n 'Botumirim',\n 'Brasilândia de Minas',\n 'Brasília de Minas',\n 'Brasópolis',\n 'Brás Pires',\n 'Braúnas',\n 'Brumadinho',\n 'Bueno Brandão',\n 'Buenópolis',\n 'Bugre',\n 'Buritis',\n 'Buritizeiro',\n 'Cabeceira Grande',\n 'Cabo Verde',\n 'Cachoeira da Prata',\n 'Cachoeira de Minas',\n 'Cachoeira de Pajeú',\n 'Cachoeira Dourada',\n 'Caetanópolis',\n 'Caeté',\n 'Caiana',\n 'Cajuri',\n 'Caldas',\n 'Camacho',\n 'Camanducaia',\n 'Cambuí',\n 'Cambuquira',\n 'Campanário',\n 'Campanha',\n 'Campestre',\n 'Campina Verde',\n 'Campo Azul',\n 'Campo Belo',\n 'Campo do Meio',\n 'Campo Florido',\n 'Campos Altos',\n 'Campos Gerais',\n 'Canaã',\n 'Canápolis',\n 'Cana Verde',\n 'Candeias',\n 'Cantagalo',\n 'Caparaó',\n 'Capela Nova',\n 'Capelinha',\n 'Capetinga',\n 'Capim Branco',\n 'Capinópolis',\n 'Capitão Andrade',\n 'Capitão Enéas',\n 'Capitólio',\n 'Caputira',\n 'Caraí',\n 'Caranaíba',\n 'Carandaí',\n 'Carangola',\n 'Caratinga',\n 'Carbonita',\n 'Careaçu',\n 'Carlos Chagas',\n 'Carmésia',\n 'Carmo da Cachoeira',\n 'Carmo da Mata',\n 'Carmo de Minas',\n 'Carmo do Cajuru',\n 'Carmo do Paranaíba',\n 'Carmo do Rio Claro',\n 'Carmópolis de Minas',\n 'Carneirinho',\n 'Carrancas',\n 'Carvalhópolis',\n 'Carvalhos',\n 'Casa Grande',\n 'Cascalho Rico',\n 'Cássia',\n 'Cataguases',\n 'Catas Altas',\n 'Catas Altas da Noruega',\n 'Catuji',\n 'Catuti',\n 'Caxambu',\n 'Cedro do Abaeté',\n 'Central de Minas',\n 'Centralina',\n 'Chácara',\n 'Chalé',\n 'Chapada do Norte',\n 'Chapada Gaúcha',\n 'Chiador',\n 'Cipotânea',\n 'Claraval',\n 'Claro dos Poções',\n 'Cláudio',\n 'Coimbra',\n 'Coluna',\n 'Comendador Gomes',\n 'Comercinho',\n 'Conceição da Aparecida',\n 'Conceição da Barra de Minas',\n 'Conceição das Alagoas',\n 'Conceição das Pedras',\n 'Conceição de Ipanema',\n 'Conceição do Mato Dentro',\n 'Conceição do Pará',\n 'Conceição do Rio Verde',\n 'Conceição dos Ouros',\n 'Cônego Marinho',\n 'Confins',\n 'Congonhal',\n 'Congonhas',\n 'Congonhas do Norte',\n 'Conquista',\n 'Conselheiro Lafaiete',\n 'Conselheiro Pena',\n 'Consolação',\n 'Contagem',\n 'Coqueiral',\n 'Coração de Jesus',\n 'Cordisburgo',\n 'Cordislândia',\n 'Corinto',\n 'Coroaci',\n 'Coromandel',\n 'Coronel Fabriciano',\n 'Coronel Murta',\n 'Coronel Pacheco',\n 'Coronel Xavier Chaves',\n 'Córrego Danta',\n 'Córrego do Bom Jesus',\n 'Córrego Fundo',\n 'Córrego Novo',\n 'Couto de Magalhães de Minas',\n 'Crisólita',\n 'Cristais',\n 'Cristália',\n 'Cristiano Otoni',\n 'Cristina',\n 'Crucilândia',\n 'Cruzeiro da Fortaleza',\n 'Cruzília',\n 'Cuparaque',\n 'Curral de Dentro',\n 'Curvelo',\n 'Datas',\n 'Delfim Moreira',\n 'Delfinópolis',\n 'Delta',\n 'Descoberto',\n 'Desterro de Entre Rios',\n 'Desterro do Melo',\n 'Diamantina',\n 'Diogo de Vasconcelos',\n 'Dionísio',\n 'Divinésia',\n 'Divino',\n 'Divino das Laranjeiras',\n 'Divinolândia de Minas',\n 'Divinópolis',\n 'Divisa Alegre',\n 'Divisa Nova',\n 'Divisópolis',\n 'Dom Bosco',\n 'Dom Cavati',\n 'Dom Joaquim',\n 'Dom Silvério',\n 'Dom Viçoso',\n 'Dona Euzébia',\n 'Dores de Campos',\n 'Dores de Guanhães',\n 'Dores do Indaiá',\n 'Dores do Turvo',\n 'Doresópolis',\n 'Douradoquara',\n 'Durandé',\n 'Elói Mendes',\n 'Engenheiro Caldas',\n 'Engenheiro Navarro',\n 'Entre Folhas',\n 'Entre Rios de Minas',\n 'Ervália',\n 'Esmeraldas',\n 'Espera Feliz',\n 'Espinosa',\n 'Espírito Santo do Dourado',\n 'Estiva',\n 'Estrela Dalva',\n 'Estrela do Indaiá',\n 'Estrela do Sul',\n 'Eugenópolis',\n 'Ewbank da Câmara',\n 'Extrema',\n 'Fama',\n 'Faria Lemos',\n 'Felício dos Santos',\n 'Felisburgo',\n 'Felixlândia',\n 'Fernandes Tourinho',\n 'Ferros',\n 'Fervedouro',\n 'Florestal',\n 'Formiga',\n 'Formoso',\n 'Fortaleza de Minas',\n 'Fortuna de Minas',\n 'Francisco Badaró',\n 'Francisco Dumont',\n 'Franciscópolis',\n 'Francisco Sá',\n 'Frei Gaspar',\n 'Frei Inocêncio',\n 'Frei Lagonegro',\n 'Fronteira',\n 'Fronteira dos Vales',\n 'Fruta de Leite',\n 'Frutal',\n 'Funilândia',\n 'Galiléia',\n 'Gameleiras',\n 'Glaucilândia',\n 'Goiabeira',\n 'Goianá',\n 'Gonçalves',\n 'Gonzaga',\n 'Gouveia',\n 'Governador Valadares',\n 'Grão Mogol',\n 'Grupiara',\n 'Guanhães',\n 'Guapé',\n 'Guaraciaba',\n 'Guaraciama',\n 'Guaranésia',\n 'Guarani',\n 'Guarará',\n 'Guarda-Mor',\n 'Guaxupé',\n 'Guidoval',\n 'Guimarânia',\n 'Guiricema',\n 'Gurinhatã',\n 'Heliodora',\n 'Iapu',\n 'Ibertioga',\n 'Ibiá',\n 'Ibiaí',\n 'Ibiracatu',\n 'Ibiraci',\n 'Ibirité',\n 'Ibitiúra de Minas',\n 'Ibituruna',\n 'Icaraí de Minas',\n 'Igarapé',\n 'Igaratinga',\n 'Iguatama',\n 'Ijaci',\n 'Ilicínea',\n 'Imbé de Minas',\n 'Inconfidentes',\n 'Indaiabira',\n 'Indianópolis',\n 'Ingaí',\n 'Inhapim',\n 'Inhaúma',\n 'Inimutaba',\n 'Ipaba',\n 'Ipanema',\n 'Ipatinga',\n 'Ipiaçu',\n 'Ipuiúna',\n 'Iraí de Minas',\n 'Itabira',\n 'Itabirinha de Mantena',\n 'Itabirito',\n 'Itacambira',\n 'Itacarambi',\n 'Itaguara',\n 'Itaipé',\n 'Itajubá',\n 'Itamarandiba',\n 'Itamarati de Minas',\n 'Itambacuri',\n 'Itambé do Mato Dentro',\n 'Itamogi',\n 'Itamonte',\n 'Itanhandu',\n 'Itanhomi',\n 'Itaobim',\n 'Itapagipe',\n 'Itapecerica',\n 'Itapeva',\n 'Itatiaiuçu',\n 'Itaú de Minas',\n 'Itaúna',\n 'Itaverava',\n 'Itinga',\n 'Itueta',\n 'Ituiutaba',\n 'Itumirim',\n 'Iturama',\n 'Itutinga',\n 'Jaboticatubas',\n 'Jacinto',\n 'Jacuí',\n 'Jacutinga',\n 'Jaguaraçu',\n 'Jaíba',\n 'Jampruca',\n 'Janaúba',\n 'Januária',\n 'Japaraíba',\n 'Japonvar',\n 'Jeceaba',\n 'Jenipapo de Minas',\n 'Jequeri',\n 'Jequitaí',\n 'Jequitibá',\n 'Jequitinhonha',\n 'Jesuânia',\n 'Joaíma',\n 'Joanésia',\n 'João Monlevade',\n 'João Pinheiro',\n 'Joaquim Felício',\n 'Jordânia',\n 'José Gonçalves de Minas',\n 'Josenópolis',\n 'José Raydan',\n 'Juatuba',\n 'Juiz de Fora',\n 'Juramento',\n 'Juruaia',\n 'Juvenília',\n 'Ladainha',\n 'Lagamar',\n 'Lagoa da Prata',\n 'Lagoa dos Patos',\n 'Lagoa Dourada',\n 'Lagoa Formosa',\n 'Lagoa Grande',\n 'Lagoa Santa',\n 'Lajinha',\n 'Lambari',\n 'Lamim',\n 'Laranjal',\n 'Lassance',\n 'Lavras',\n 'Leandro Ferreira',\n 'Leme do Prado',\n 'Leopoldina',\n 'Liberdade',\n 'Lima Duarte',\n 'Limeira do Oeste',\n 'Lontra',\n 'Luisburgo',\n 'Luislândia',\n 'Luminárias',\n 'Luz',\n 'Machacalis',\n 'Machado',\n 'Madre de Deus de Minas',\n 'Malacacheta',\n 'Mamonas',\n 'Manga',\n 'Manhuaçu',\n 'Manhumirim',\n 'Mantena',\n 'Maravilhas',\n 'Mar de Espanha',\n 'Maria da Fé',\n 'Mariana',\n 'Marilac',\n 'Mário Campos',\n 'Maripá de Minas',\n 'Marliéria',\n 'Marmelópolis',\n 'Martinho Campos',\n 'Martins Soares',\n 'Mata Verde',\n 'Materlândia',\n 'Mateus Leme',\n 'Mathias Lobato',\n 'Matias Barbosa',\n 'Matias Cardoso',\n 'Matipó',\n 'Mato Verde',\n 'Matozinhos',\n 'Matutina',\n 'Medeiros',\n 'Medina',\n 'Mendes Pimentel',\n 'Mercês',\n 'Mesquita',\n 'Minas Novas',\n 'Minduri',\n 'Mirabela',\n 'Miradouro',\n 'Miraí',\n 'Miravânia',\n 'Moeda',\n 'Moema',\n 'Monjolos',\n 'Monsenhor Paulo',\n 'Montalvânia',\n 'Monte Alegre de Minas',\n 'Monte Azul',\n 'Monte Belo',\n 'Monte Carmelo',\n 'Monte Formoso',\n 'Monte Santo de Minas',\n 'Montes Claros',\n 'Monte Sião',\n 'Montezuma',\n 'Morada Nova de Minas',\n 'Morro da Garça',\n 'Morro do Pilar',\n 'Munhoz',\n 'Muriaé',\n 'Mutum',\n 'Muzambinho',\n 'Nacip Raydan',\n 'Nanuque',\n 'Naque',\n 'Natalândia',\n 'Natércia',\n 'Nazareno',\n 'Nepomuceno',\n 'Ninheira',\n 'Nova Belém',\n 'Nova Era',\n 'Nova Lima',\n 'Nova Módica',\n 'Nova Ponte',\n 'Nova Porteirinha',\n 'Nova Resende',\n 'Nova Serrana',\n 'Nova União',\n 'Novo Cruzeiro',\n 'Novo Oriente de Minas',\n 'Novorizonte',\n 'Olaria',\n 'Olhos-D`Água',\n 'Olímpio Noronha',\n 'Oliveira',\n 'Oliveira Fortes',\n 'Onça de Pitangui',\n 'Oratórios',\n 'Orizânia',\n 'Ouro Branco',\n 'Ouro Fino',\n 'Ouro Preto',\n 'Ouro Verde de Minas',\n 'Padre Carvalho',\n 'Padre Paraíso',\n 'Paineiras',\n 'Pains',\n 'Pai Pedro',\n 'Paiva',\n 'Palma',\n 'Palmópolis',\n 'Papagaios',\n 'Paracatu',\n 'Pará de Minas',\n 'Paraguaçu',\n 'Paraisópolis',\n 'Paraopeba',\n 'Passabém',\n 'Passa Quatro',\n 'Passa Tempo',\n 'Passa Vinte',\n 'Passos',\n 'Patis',\n 'Patos de Minas',\n 'Patrocínio',\n 'Patrocínio do Muriaé',\n 'Paula Cândido',\n 'Paulistas',\n 'Pavão',\n 'Peçanha',\n 'Pedra Azul',\n 'Pedra Bonita',\n 'Pedra do Anta',\n 'Pedra do Indaiá',\n 'Pedra Dourada',\n 'Pedralva',\n 'Pedras de Maria da Cruz',\n 'Pedrinópolis',\n 'Pedro Leopoldo',\n 'Pedro Teixeira',\n 'Pequeri',\n 'Pequi',\n 'Perdigão',\n 'Perdizes',\n 'Perdões',\n 'Periquito',\n 'Pescador',\n 'Piau',\n 'Piedade de Caratinga',\n 'Piedade de Ponte Nova',\n 'Piedade do Rio Grande',\n 'Piedade dos Gerais',\n 'Pimenta',\n 'Pingo D`Água',\n 'Pintópolis',\n 'Piracema',\n 'Pirajuba',\n 'Piranga',\n 'Piranguçu',\n 'Piranguinho',\n 'Pirapetinga',\n 'Pirapora',\n 'Piraúba',\n 'Pitangui',\n 'Piumhi',\n 'Planura',\n 'Poço Fundo',\n 'Poços de Caldas',\n 'Pocrane',\n 'Pompéu',\n 'Ponte Nova',\n 'Ponto Chique',\n 'Ponto dos Volantes',\n 'Porteirinha',\n 'Porto Firme',\n 'Poté',\n 'Pouso Alegre',\n 'Pouso Alto',\n 'Prados',\n 'Prata',\n 'Pratápolis',\n 'Pratinha',\n 'Presidente Bernardes',\n 'Presidente Juscelino',\n 'Presidente Kubitschek',\n 'Presidente Olegário',\n 'Prudente de Morais',\n 'Quartel Geral',\n 'Queluzita',\n 'Raposos',\n 'Raul Soares',\n 'Recreio',\n 'Reduto',\n 'Resende Costa',\n 'Resplendor',\n 'Ressaquinha',\n 'Riachinho',\n 'Riacho dos Machados',\n 'Ribeirão das Neves',\n 'Ribeirão Vermelho',\n 'Rio Acima',\n 'Rio Casca',\n 'Rio Doce',\n 'Rio do Prado',\n 'Rio Espera',\n 'Rio Manso',\n 'Rio Novo',\n 'Rio Paranaíba',\n 'Rio Pardo de Minas',\n 'Rio Piracicaba',\n 'Rio Pomba',\n 'Rio Preto',\n 'Rio Vermelho',\n 'Ritápolis',\n 'Rochedo de Minas',\n 'Rodeiro',\n 'Romaria',\n 'Rosário da Limeira',\n 'Rubelita',\n 'Rubim',\n 'Sabará',\n 'Sabinópolis',\n 'Sacramento',\n 'Salinas',\n 'Salto da Divisa',\n 'Santa Bárbara',\n 'Santa Bárbara do Leste',\n 'Santa Bárbara do Monte Verde',\n 'Santa Bárbara do Tugúrio',\n 'Santa Cruz de Minas',\n 'Santa Cruz de Salinas',\n 'Santa Cruz do Escalvado',\n 'Santa Efigênia de Minas',\n 'Santa Fé de Minas',\n 'Santa Helena de Minas',\n 'Santa Juliana',\n 'Santa Luzia',\n 'Santa Margarida',\n 'Santa Maria de Itabira',\n 'Santa Maria do Salto',\n 'Santa Maria do Suaçuí',\n 'Santana da Vargem',\n 'Santana de Cataguases',\n 'Santana de Pirapama',\n 'Santana do Deserto',\n 'Santana do Garambéu',\n 'Santana do Jacaré',\n 'Santana do Manhuaçu',\n 'Santana do Paraíso',\n 'Santana do Riacho',\n 'Santana dos Montes',\n 'Santa Rita de Caldas',\n 'Santa Rita de Ibitipoca',\n 'Santa Rita de Jacutinga',\n 'Santa Rita de Minas',\n 'Santa Rita do Itueto',\n 'Santa Rita do Sapucaí',\n 'Santa Rosa da Serra',\n 'Santa Vitória',\n 'Santo Antônio do Amparo',\n 'Santo Antônio do Aventureiro',\n 'Santo Antônio do Grama',\n 'Santo Antônio do Itambé',\n 'Santo Antônio do Jacinto',\n 'Santo Antônio do Monte',\n 'Santo Antônio do Retiro',\n 'Santo Antônio do Rio Abaixo',\n 'Santo Hipólito',\n 'Santos Dumont',\n 'São Bento Abade',\n 'São Brás do Suaçuí',\n 'São Domingos das Dores',\n 'São Domingos do Prata',\n 'São Félix de Minas',\n 'São Francisco',\n 'São Francisco de Paula',\n 'São Francisco de Sales',\n 'São Francisco do Glória',\n 'São Geraldo',\n 'São Geraldo da Piedade',\n 'São Geraldo do Baixio',\n 'São Gonçalo do Abaeté',\n 'São Gonçalo do Pará',\n 'São Gonçalo do Rio Abaixo',\n 'São Gonçalo do Rio Preto',\n 'São Gonçalo do Sapucaí',\n 'São Gotardo',\n 'São João Batista do Glória',\n 'São João da Lagoa',\n 'São João da Mata',\n 'São João da Ponte',\n 'São João das Missões',\n 'São João del Rei',\n 'São João do Manhuaçu',\n 'São João do Manteninha',\n 'São João do Oriente',\n 'São João do Pacuí',\n 'São João do Paraíso',\n 'São João Evangelista',\n 'São João Nepomuceno',\n 'São Joaquim de Bicas',\n 'São José da Barra',\n 'São José da Lapa',\n 'São José da Safira',\n 'São José da Varginha',\n 'São José do Alegre',\n 'São José do Divino',\n 'São José do Goiabal',\n 'São José do Jacuri',\n 'São José do Mantimento',\n 'São Lourenço',\n 'São Miguel do Anta',\n 'São Pedro da União',\n 'São Pedro dos Ferros',\n 'São Pedro do Suaçuí',\n 'São Romão',\n 'São Roque de Minas',\n 'São Sebastião da Bela Vista',\n 'São Sebastião da Vargem Alegre',\n 'São Sebastião do Anta',\n 'São Sebastião do Maranhão',\n 'São Sebastião do Oeste',\n 'São Sebastião do Paraíso',\n 'São Sebastião do Rio Preto',\n 'São Sebastião do Rio Verde',\n 'São Thomé das Letras',\n 'São Tiago',\n 'São Tomás de Aquino',\n 'São Vicente de Minas',\n 'Sapucaí-Mirim',\n 'Sardoá',\n 'Sarzedo',\n 'Sem-Peixe',\n 'Senador Amaral',\n 'Senador Cortes',\n 'Senador Firmino',\n 'Senador José Bento',\n 'Senador Modestino Gonçalves',\n 'Senhora de Oliveira',\n 'Senhora do Porto',\n 'Senhora dos Remédios',\n 'Sericita',\n 'Seritinga',\n 'Serra Azul de Minas',\n 'Serra da Saudade',\n 'Serra dos Aimorés',\n 'Serra do Salitre',\n 'Serrania',\n 'Serranópolis de Minas',\n 'Serranos',\n 'Serro',\n 'Sete Lagoas',\n 'Setubinha',\n 'Silveirânia',\n 'Silvianópolis',\n 'Simão Pereira',\n 'Simonésia',\n 'Sobrália',\n 'Soledade de Minas',\n 'Tabuleiro',\n 'Taiobeiras',\n 'Taparuba',\n 'Tapira',\n 'Tapiraí',\n 'Taquaraçu de Minas',\n 'Tarumirim',\n 'Teixeiras',\n 'Teófilo Otoni',\n 'Timóteo',\n 'Tiradentes',\n 'Tiros',\n 'Tocantins',\n 'Tocos do Moji',\n 'Toledo',\n 'Tombos',\n 'Três Corações',\n 'Três Marias',\n 'Três Pontas',\n 'Tumiritinga',\n 'Tupaciguara',\n 'Turmalina',\n 'Turvolândia',\n 'Ubá',\n 'Ubaí',\n 'Ubaporanga',\n 'Uberaba',\n 'Uberlândia',\n 'Umburatiba',\n 'Unaí',\n 'União de Minas',\n 'Uruana de Minas',\n 'Urucânia',\n 'Urucuia',\n 'Vargem Alegre',\n 'Vargem Bonita',\n 'Vargem Grande do Rio Pardo',\n 'Varginha',\n 'Varjão de Minas',\n 'Várzea da Palma',\n 'Varzelândia',\n 'Vazante',\n 'Verdelândia',\n 'Veredinha',\n 'Veríssimo',\n 'Vermelho Novo',\n 'Vespasiano',\n 'Viçosa',\n 'Vieiras',\n 'Virgem da Lapa',\n 'Virgínia',\n 'Virginópolis',\n 'Virgolândia',\n 'Visconde do Rio Branco',\n 'Volta Grande',\n 'Wenceslau Braz',\n ],\n ],\n [\n 'PA',\n [\n 'Abaetetuba',\n 'Abel Figueiredo',\n 'Acará',\n 'Afuá',\n 'Água Azul do Norte',\n 'Alenquer',\n 'Almeirim',\n 'Altamira',\n 'Anajás',\n 'Ananindeua',\n 'Anapu',\n 'Augusto Corrêa',\n 'Aurora do Pará',\n 'Aveiro',\n 'Bagre',\n 'Baião',\n 'Bannach',\n 'Barcarena',\n 'Belém',\n 'Belterra',\n 'Benevides',\n 'Bom Jesus do Tocantins',\n 'Bonito',\n 'Bragança',\n 'Brasil Novo',\n 'Brejo Grande do Araguaia',\n 'Breu Branco',\n 'Breves',\n 'Bujaru',\n 'Cachoeira do Arari',\n 'Cachoeira do Piriá',\n 'Cametá',\n 'Canaã dos Carajás',\n 'Capanema',\n 'Capitão Poço',\n 'Castanhal',\n 'Chaves',\n 'Colares',\n 'Conceição do Araguaia',\n 'Concórdia do Pará',\n 'Cumaru do Norte',\n 'Curionópolis',\n 'Curralinho',\n 'Curuá',\n 'Curuçá',\n 'Dom Eliseu',\n 'Eldorado dos Carajás',\n 'Faro',\n 'Floresta do Araguaia',\n 'Garrafão do Norte',\n 'Goianésia do Pará',\n 'Gurupá',\n 'Igarapé-Açu',\n 'Igarapé-Miri',\n 'Inhangapi',\n 'Ipixuna do Pará',\n 'Irituia',\n 'Itaituba',\n 'Itupiranga',\n 'Jacareacanga',\n 'Jacundá',\n 'Juruti',\n 'Limoeiro do Ajuru',\n 'Mãe do Rio',\n 'Magalhães Barata',\n 'Marabá',\n 'Maracanã',\n 'Marapanim',\n 'Marituba',\n 'Medicilândia',\n 'Melgaço',\n 'Mocajuba',\n 'Moju',\n 'Monte Alegre',\n 'Muaná',\n 'Nova Esperança do Piriá',\n 'Nova Ipixuna',\n 'Nova Timboteua',\n 'Novo Progresso',\n 'Novo Repartimento',\n 'Óbidos',\n 'Oeiras do Pará',\n 'Oriximiná',\n 'Ourém',\n 'Ourilândia do Norte',\n 'Pacajá',\n 'Palestina do Pará',\n 'Paragominas',\n 'Parauapebas',\n 'Pau D`Arco',\n 'Peixe-Boi',\n 'Piçarra',\n 'Placas',\n 'Ponta de Pedras',\n 'Portel',\n 'Porto de Moz',\n 'Prainha',\n 'Primavera',\n 'Quatipuru',\n 'Redenção',\n 'Rio Maria',\n 'Rondon do Pará',\n 'Rurópolis',\n 'Salinópolis',\n 'Salvaterra',\n 'Santa Bárbara do Pará',\n 'Santa Cruz do Arari',\n 'Santa Isabel do Pará',\n 'Santa Luzia do Pará',\n 'Santa Maria das Barreiras',\n 'Santa Maria do Pará',\n 'Santana do Araguaia',\n 'Santarém',\n 'Santarém Novo',\n 'Santo Antônio do Tauá',\n 'São Caetano de Odivelas',\n 'São Domingos do Araguaia',\n 'São Domingos do Capim',\n 'São Félix do Xingu',\n 'São Francisco do Pará',\n 'São Geraldo do Araguaia',\n 'São João da Ponta',\n 'São João de Pirabas',\n 'São João do Araguaia',\n 'São Miguel do Guamá',\n 'São Sebastião da Boa Vista',\n 'Sapucaia',\n 'Senador José Porfírio',\n 'Soure',\n 'Tailândia',\n 'Terra Alta',\n 'Terra Santa',\n 'Tomé-Açu',\n 'Tracuateua',\n 'Trairão',\n 'Tucumã',\n 'Tucuruí',\n 'Ulianópolis',\n 'Uruará',\n 'Vigia',\n 'Viseu',\n 'Vitória do Xingu',\n 'Xinguara',\n ],\n ],\n [\n 'PB',\n [\n 'Água Branca',\n 'Aguiar',\n 'Alagoa Grande',\n 'Alagoa Nova',\n 'Alagoinha',\n 'Alcantil',\n 'Algodão de Jandaíra',\n 'Alhandra',\n 'Amparo',\n 'Aparecida',\n 'Araçagi',\n 'Arara',\n 'Araruna',\n 'Areia',\n 'Areia de Baraúnas',\n 'Areial',\n 'Aroeiras',\n 'Assunção',\n 'Baía da Traição',\n 'Bananeiras',\n 'Baraúna',\n 'Barra de Santana',\n 'Barra de Santa Rosa',\n 'Barra de São Miguel',\n 'Bayeux',\n 'Belém',\n 'Belém do Brejo do Cruz',\n 'Bernardino Batista',\n 'Boa Ventura',\n 'Boa Vista',\n 'Bom Jesus',\n 'Bom Sucesso',\n 'Bonito de Santa Fé',\n 'Boqueirão',\n 'Borborema',\n 'Brejo do Cruz',\n 'Brejo dos Santos',\n 'Caaporã',\n 'Cabaceiras',\n 'Cabedelo',\n 'Cachoeira dos Índios',\n 'Cacimba de Areia',\n 'Cacimba de Dentro',\n 'Cacimbas',\n 'Caiçara',\n 'Cajazeiras',\n 'Cajazeirinhas',\n 'Caldas Brandão',\n 'Camalaú',\n 'Campina Grande',\n 'Campo de Santana',\n 'Capim',\n 'Caraúbas',\n 'Carrapateira',\n 'Casserengue',\n 'Catingueira',\n 'Catolé do Rocha',\n 'Caturité',\n 'Conceição',\n 'Condado',\n 'Conde',\n 'Congo',\n 'Coremas',\n 'Coxixola',\n 'Cruz do Espírito Santo',\n 'Cubati',\n 'Cuité',\n 'Cuité de Mamanguape',\n 'Cuitegi',\n 'Curral de Cima',\n 'Curral Velho',\n 'Damião',\n 'Desterro',\n 'Diamante',\n 'Dona Inês',\n 'Duas Estradas',\n 'Emas',\n 'Esperança',\n 'Fagundes',\n 'Frei Martinho',\n 'Gado Bravo',\n 'Guarabira',\n 'Gurinhém',\n 'Gurjão',\n 'Ibiara',\n 'Igaracy',\n 'Imaculada',\n 'Ingá',\n 'Itabaiana',\n 'Itaporanga',\n 'Itapororoca',\n 'Itatuba',\n 'Jacaraú',\n 'Jericó',\n 'João Pessoa',\n 'Juarez Távora',\n 'Juazeirinho',\n 'Junco do Seridó',\n 'Juripiranga',\n 'Juru',\n 'Lagoa',\n 'Lagoa de Dentro',\n 'Lagoa Seca',\n 'Lastro',\n 'Livramento',\n 'Logradouro',\n 'Lucena',\n 'Mãe d`Água',\n 'Malta',\n 'Mamanguape',\n 'Manaíra',\n 'Marcação',\n 'Mari',\n 'Marizópolis',\n 'Massaranduba',\n 'Mataraca',\n 'Matinhas',\n 'Mato Grosso',\n 'Maturéia',\n 'Mogeiro',\n 'Montadas',\n 'Monte Horebe',\n 'Monteiro',\n 'Mulungu',\n 'Natuba',\n 'Nazarezinho',\n 'Nova Floresta',\n 'Nova Olinda',\n 'Nova Palmeira',\n 'Olho d`Água',\n 'Olivedos',\n 'Ouro Velho',\n 'Parari',\n 'Passagem',\n 'Patos',\n 'Paulista',\n 'Pedra Branca',\n 'Pedra Lavrada',\n 'Pedras de Fogo',\n 'Pedro Régis',\n 'Piancó',\n 'Picuí',\n 'Pilar',\n 'Pilões',\n 'Pilõezinhos',\n 'Pirpirituba',\n 'Pitimbu',\n 'Pocinhos',\n 'Poço Dantas',\n 'Poço de José de Moura',\n 'Pombal',\n 'Prata',\n 'Princesa Isabel',\n 'Puxinanã',\n 'Queimadas',\n 'Quixabá',\n 'Remígio',\n 'Riachão',\n 'Riachão do Bacamarte',\n 'Riachão do Poço',\n 'Riacho de Santo Antônio',\n 'Riacho dos Cavalos',\n 'Rio Tinto',\n 'Salgadinho',\n 'Salgado de São Félix',\n 'Santa Cecília',\n 'Santa Cruz',\n 'Santa Helena',\n 'Santa Inês',\n 'Santa Luzia',\n 'Santana de Mangueira',\n 'Santana dos Garrotes',\n 'Santarém',\n 'Santa Rita',\n 'Santa Teresinha',\n 'Santo André',\n 'São Bentinho',\n 'São Bento',\n 'São Domingos de Pombal',\n 'São Domingos do Cariri',\n 'São Francisco',\n 'São João do Cariri',\n 'São João do Rio do Peixe',\n 'São João do Tigre',\n 'São José da Lagoa Tapada',\n 'São José de Caiana',\n 'São José de Espinharas',\n 'São José de Piranhas',\n 'São José de Princesa',\n 'São José do Bonfim',\n 'São José do Brejo do Cruz',\n 'São José do Sabugi',\n 'São José dos Cordeiros',\n 'São José dos Ramos',\n 'São Mamede',\n 'São Miguel de Taipu',\n 'São Sebastião de Lagoa de Roça',\n 'São Sebastião do Umbuzeiro',\n 'Sapé',\n 'Seridó',\n 'Serra Branca',\n 'Serra da Raiz',\n 'Serra Grande',\n 'Serra Redonda',\n 'Serraria',\n 'Sertãozinho',\n 'Sobrado',\n 'Solânea',\n 'Soledade',\n 'Sossêgo',\n 'Sousa',\n 'Sumé',\n 'Taperoá',\n 'Tavares',\n 'Teixeira',\n 'Tenório',\n 'Triunfo',\n 'Uiraúna',\n 'Umbuzeiro',\n 'Várzea',\n 'Vieirópolis',\n 'Vista Serrana',\n 'Zabelê',\n ],\n ],\n [\n 'PR',\n [\n 'Abatiá',\n 'Adrianópolis',\n 'Agudos do Sul',\n 'Almirante Tamandaré',\n 'Altamira do Paraná',\n 'Altônia',\n 'Alto Paraná',\n 'Alto Piquiri',\n 'Alvorada do Sul',\n 'Amaporã',\n 'Ampére',\n 'Anahy',\n 'Andirá',\n 'Ângulo',\n 'Antonina',\n 'Antônio Olinto',\n 'Apucarana',\n 'Arapongas',\n 'Arapoti',\n 'Arapuã',\n 'Araruna',\n 'Araucária',\n 'Ariranha do Ivaí',\n 'Assaí',\n 'Assis Chateaubriand',\n 'Astorga',\n 'Atalaia',\n 'Balsa Nova',\n 'Bandeirantes',\n 'Barbosa Ferraz',\n 'Barracão',\n 'Barra do Jacaré',\n 'Bela Vista da Caroba',\n 'Bela Vista do Paraíso',\n 'Bituruna',\n 'Boa Esperança',\n 'Boa Esperança do Iguaçu',\n 'Boa Ventura de São Roque',\n 'Boa Vista da Aparecida',\n 'Bocaiúva do Sul',\n 'Bom Jesus do Sul',\n 'Bom Sucesso',\n 'Bom Sucesso do Sul',\n 'Borrazópolis',\n 'Braganey',\n 'Brasilândia do Sul',\n 'Cafeara',\n 'Cafelândia',\n 'Cafezal do Sul',\n 'Califórnia',\n 'Cambará',\n 'Cambé',\n 'Cambira',\n 'Campina da Lagoa',\n 'Campina do Simão',\n 'Campina Grande do Sul',\n 'Campo Bonito',\n 'Campo do Tenente',\n 'Campo Largo',\n 'Campo Magro',\n 'Campo Mourão',\n 'Cândido de Abreu',\n 'Candói',\n 'Cantagalo',\n 'Capanema',\n 'Capitão Leônidas Marques',\n 'Carambeí',\n 'Carlópolis',\n 'Cascavel',\n 'Castro',\n 'Catanduvas',\n 'Centenário do Sul',\n 'Cerro Azul',\n 'Céu Azul',\n 'Chopinzinho',\n 'Cianorte',\n 'Cidade Gaúcha',\n 'Clevelândia',\n 'Colombo',\n 'Colorado',\n 'Congonhinhas',\n 'Conselheiro Mairinck',\n 'Contenda',\n 'Corbélia',\n 'Cornélio Procópio',\n 'Coronel Domingos Soares',\n 'Coronel Vivida',\n 'Corumbataí do Sul',\n 'Cruzeiro do Iguaçu',\n 'Cruzeiro do Oeste',\n 'Cruzeiro do Sul',\n 'Cruz Machado',\n 'Cruzmaltina',\n 'Curitiba',\n 'Curiúva',\n 'Diamante D`Oeste',\n 'Diamante do Norte',\n 'Diamante do Sul',\n 'Dois Vizinhos',\n 'Douradina',\n 'Doutor Camargo',\n 'Doutor Ulysses',\n 'Enéas Marques',\n 'Engenheiro Beltrão',\n 'Entre Rios do Oeste',\n 'Esperança Nova',\n 'Espigão Alto do Iguaçu',\n 'Farol',\n 'Faxinal',\n 'Fazenda Rio Grande',\n 'Fênix',\n 'Fernandes Pinheiro',\n 'Figueira',\n 'Floraí',\n 'Flor da Serra do Sul',\n 'Floresta',\n 'Florestópolis',\n 'Flórida',\n 'Formosa do Oeste',\n 'Foz do Iguaçu',\n 'Foz do Jordão',\n 'Francisco Alves',\n 'Francisco Beltrão',\n 'General Carneiro',\n 'Godoy Moreira',\n 'Goioerê',\n 'Goioxim',\n 'Grandes Rios',\n 'Guaíra',\n 'Guairaçá',\n 'Guamiranga',\n 'Guapirama',\n 'Guaporema',\n 'Guaraci',\n 'Guaraniaçu',\n 'Guarapuava',\n 'Guaraqueçaba',\n 'Guaratuba',\n 'Honório Serpa',\n 'Ibaiti',\n 'Ibema',\n 'Ibiporã',\n 'Icaraíma',\n 'Iguaraçu',\n 'Iguatu',\n 'Imbaú',\n 'Imbituva',\n 'Inácio Martins',\n 'Inajá',\n 'Indianópolis',\n 'Ipiranga',\n 'Iporã',\n 'Iracema do Oeste',\n 'Irati',\n 'Iretama',\n 'Itaguajé',\n 'Itaipulândia',\n 'Itambaracá',\n 'Itambé',\n 'Itapejara d`Oeste',\n 'Itaperuçu',\n 'Itaúna do Sul',\n 'Ivaí',\n 'Ivaiporã',\n 'Ivaté',\n 'Ivatuba',\n 'Jaboti',\n 'Jacarezinho',\n 'Jaguapitã',\n 'Jaguariaíva',\n 'Jandaia do Sul',\n 'Janiópolis',\n 'Japira',\n 'Japurá',\n 'Jardim Alegre',\n 'Jardim Olinda',\n 'Jataizinho',\n 'Jesuítas',\n 'Joaquim Távora',\n 'Jundiaí do Sul',\n 'Juranda',\n 'Jussara',\n 'Kaloré',\n 'Lapa',\n 'Laranjal',\n 'Laranjeiras do Sul',\n 'Leópolis',\n 'Lidianópolis',\n 'Lindoeste',\n 'Loanda',\n 'Lobato',\n 'Londrina',\n 'Luiziana',\n 'Lunardelli',\n 'Lupionópolis',\n 'Mallet',\n 'Mamborê',\n 'Mandaguaçu',\n 'Mandaguari',\n 'Mandirituba',\n 'Manfrinópolis',\n 'Mangueirinha',\n 'Manoel Ribas',\n 'Marechal Cândido Rondon',\n 'Maria Helena',\n 'Marialva',\n 'Marilândia do Sul',\n 'Marilena',\n 'Mariluz',\n 'Maringá',\n 'Mariópolis',\n 'Maripá',\n 'Marmeleiro',\n 'Marquinho',\n 'Marumbi',\n 'Matelândia',\n 'Matinhos',\n 'Mato Rico',\n 'Mauá da Serra',\n 'Medianeira',\n 'Mercedes',\n 'Mirador',\n 'Miraselva',\n 'Missal',\n 'Moreira Sales',\n 'Morretes',\n 'Munhoz de Melo',\n 'Nossa Senhora das Graças',\n 'Nova Aliança do Ivaí',\n 'Nova América da Colina',\n 'Nova Aurora',\n 'Nova Cantu',\n 'Nova Esperança',\n 'Nova Esperança do Sudoeste',\n 'Nova Fátima',\n 'Nova Laranjeiras',\n 'Nova Londrina',\n 'Nova Olímpia',\n 'Nova Prata do Iguaçu',\n 'Nova Santa Bárbara',\n 'Nova Santa Rosa',\n 'Nova Tebas',\n 'Novo Itacolomi',\n 'Ortigueira',\n 'Ourizona',\n 'Ouro Verde do Oeste',\n 'Paiçandu',\n 'Palmas',\n 'Palmeira',\n 'Palmital',\n 'Palotina',\n 'Paraíso do Norte',\n 'Paranacity',\n 'Paranaguá',\n 'Paranapoema',\n 'Paranavaí',\n 'Pato Bragado',\n 'Pato Branco',\n 'Paula Freitas',\n 'Paulo Frontin',\n 'Peabiru',\n 'Perobal',\n 'Pérola',\n 'Pérola d`Oeste',\n 'Piên',\n 'Pinhais',\n 'Pinhalão',\n 'Pinhal de São Bento',\n 'Pinhão',\n 'Piraí do Sul',\n 'Piraquara',\n 'Pitanga',\n 'Pitangueiras',\n 'Planaltina do Paraná',\n 'Planalto',\n 'Ponta Grossa',\n 'Pontal do Paraná',\n 'Porecatu',\n 'Porto Amazonas',\n 'Porto Barreiro',\n 'Porto Rico',\n 'Porto Vitória',\n 'Prado Ferreira',\n 'Pranchita',\n 'Presidente Castelo Branco',\n 'Primeiro de Maio',\n 'Prudentópolis',\n 'Quarto Centenário',\n 'Quatiguá',\n 'Quatro Barras',\n 'Quatro Pontes',\n 'Quedas do Iguaçu',\n 'Querência do Norte',\n 'Quinta do Sol',\n 'Quitandinha',\n 'Ramilândia',\n 'Rancho Alegre',\n 'Rancho Alegre D`Oeste',\n 'Realeza',\n 'Rebouças',\n 'Renascença',\n 'Reserva',\n 'Reserva do Iguaçu',\n 'Ribeirão Claro',\n 'Ribeirão do Pinhal',\n 'Rio Azul',\n 'Rio Bom',\n 'Rio Bonito do Iguaçu',\n 'Rio Branco do Ivaí',\n 'Rio Branco do Sul',\n 'Rio Negro',\n 'Rolândia',\n 'Roncador',\n 'Rondon',\n 'Rosário do Ivaí',\n 'Sabáudia',\n 'Salgado Filho',\n 'Salto do Itararé',\n 'Salto do Lontra',\n 'Santa Amélia',\n 'Santa Cecília do Pavão',\n 'Santa Cruz de Monte Castelo',\n 'Santa Fé',\n 'Santa Helena',\n 'Santa Inês',\n 'Santa Isabel do Ivaí',\n 'Santa Izabel do Oeste',\n 'Santa Lúcia',\n 'Santa Maria do Oeste',\n 'Santa Mariana',\n 'Santa Mônica',\n 'Santana do Itararé',\n 'Santa Tereza do Oeste',\n 'Santa Terezinha de Itaipu',\n 'Santo Antônio da Platina',\n 'Santo Antônio do Caiuá',\n 'Santo Antônio do Paraíso',\n 'Santo Antônio do Sudoeste',\n 'Santo Inácio',\n 'São Carlos do Ivaí',\n 'São Jerônimo da Serra',\n 'São João',\n 'São João do Caiuá',\n 'São João do Ivaí',\n 'São João do Triunfo',\n 'São Jorge d`Oeste',\n 'São Jorge do Ivaí',\n 'São Jorge do Patrocínio',\n 'São José da Boa Vista',\n 'São José das Palmeiras',\n 'São José dos Pinhais',\n 'São Manoel do Paraná',\n 'São Mateus do Sul',\n 'São Miguel do Iguaçu',\n 'São Pedro do Iguaçu',\n 'São Pedro do Ivaí',\n 'São Pedro do Paraná',\n 'São Sebastião da Amoreira',\n 'São Tomé',\n 'Sapopema',\n 'Sarandi',\n 'Saudade do Iguaçu',\n 'Sengés',\n 'Serranópolis do Iguaçu',\n 'Sertaneja',\n 'Sertanópolis',\n 'Siqueira Campos',\n 'Sulina',\n 'Tamarana',\n 'Tamboara',\n 'Tapejara',\n 'Tapira',\n 'Teixeira Soares',\n 'Telêmaco Borba',\n 'Terra Boa',\n 'Terra Rica',\n 'Terra Roxa',\n 'Tibagi',\n 'Tijucas do Sul',\n 'Toledo',\n 'Tomazina',\n 'Três Barras do Paraná',\n 'Tunas do Paraná',\n 'Tuneiras do Oeste',\n 'Tupãssi',\n 'Turvo',\n 'Ubiratã',\n 'Umuarama',\n 'União da Vitória',\n 'Uniflor',\n 'Uraí',\n 'Ventania',\n 'Vera Cruz do Oeste',\n 'Verê',\n 'Vila Alta',\n 'Virmond',\n 'Vitorino',\n 'Wenceslau Braz',\n 'Xambrê',\n ],\n ],\n [\n 'PE',\n [\n 'Abreu e Lima',\n 'Afogados da Ingazeira',\n 'Afrânio',\n 'Agrestina',\n 'Água Preta',\n 'Águas Belas',\n 'Alagoinha',\n 'Aliança',\n 'Altinho',\n 'Amaraji',\n 'Angelim',\n 'Araçoiaba',\n 'Araripina',\n 'Arcoverde',\n 'Barra de Guabiraba',\n 'Barreiros',\n 'Belém de Maria',\n 'Belém de São Francisco',\n 'Belo Jardim',\n 'Betânia',\n 'Bezerros',\n 'Bodocó',\n 'Bom Conselho',\n 'Bom Jardim',\n 'Bonito',\n 'Brejão',\n 'Brejinho',\n 'Brejo da Madre de Deus',\n 'Buenos Aires',\n 'Buíque',\n 'Cabo de Santo Agostinho',\n 'Cabrobó',\n 'Cachoeirinha',\n 'Caetés',\n 'Calçado',\n 'Calumbi',\n 'Camaragibe',\n 'Camocim de São Félix',\n 'Camutanga',\n 'Canhotinho',\n 'Capoeiras',\n 'Carnaíba',\n 'Carnaubeira da Penha',\n 'Carpina',\n 'Caruaru',\n 'Casinhas',\n 'Catende',\n 'Cedro',\n 'Chã de Alegria',\n 'Chã Grande',\n 'Condado',\n 'Correntes',\n 'Cortês',\n 'Cumaru',\n 'Cupira',\n 'Custódia',\n 'Dormentes',\n 'Escada',\n 'Exu',\n 'Feira Nova',\n 'Fernando de Noronha',\n 'Ferreiros',\n 'Flores',\n 'Floresta',\n 'Frei Miguelinho',\n 'Gameleira',\n 'Garanhuns',\n 'Glória do Goitá',\n 'Goiana',\n 'Granito',\n 'Gravatá',\n 'Iati',\n 'Ibimirim',\n 'Ibirajuba',\n 'Igarassu',\n 'Iguaraci',\n 'Inajá',\n 'Ingazeira',\n 'Ipojuca',\n 'Ipubi',\n 'Itacuruba',\n 'Itaíba',\n 'Itamaracá',\n 'Itambé',\n 'Itapetim',\n 'Itapissuma',\n 'Itaquitinga',\n 'Jaboatão dos Guararapes',\n 'Jaqueira',\n 'Jataúba',\n 'Jatobá',\n 'João Alfredo',\n 'Joaquim Nabuco',\n 'Jucati',\n 'Jupi',\n 'Jurema',\n 'Lagoa do Carro',\n 'Lagoa do Itaenga',\n 'Lagoa do Ouro',\n 'Lagoa dos Gatos',\n 'Lagoa Grande',\n 'Lajedo',\n 'Limoeiro',\n 'Macaparana',\n 'Machados',\n 'Manari',\n 'Maraial',\n 'Mirandiba',\n 'Moreilândia',\n 'Moreno',\n 'Nazaré da Mata',\n 'Olinda',\n 'Orobó',\n 'Orocó',\n 'Ouricuri',\n 'Palmares',\n 'Palmeirina',\n 'Panelas',\n 'Paranatama',\n 'Parnamirim',\n 'Passira',\n 'Paudalho',\n 'Paulista',\n 'Pedra',\n 'Pesqueira',\n 'Petrolândia',\n 'Petrolina',\n 'Poção',\n 'Pombos',\n 'Primavera',\n 'Quipapá',\n 'Quixaba',\n 'Recife',\n 'Riacho das Almas',\n 'Ribeirão',\n 'Rio Formoso',\n 'Sairé',\n 'Salgadinho',\n 'Salgueiro',\n 'Saloá',\n 'Sanharó',\n 'Santa Cruz',\n 'Santa Cruz da Baixa Verde',\n 'Santa Cruz do Capibaribe',\n 'Santa Filomena',\n 'Santa Maria da Boa Vista',\n 'Santa Maria do Cambucá',\n 'Santa Terezinha',\n 'São Benedito do Sul',\n 'São Bento do Una',\n 'São Caitano',\n 'São João',\n 'São Joaquim do Monte',\n 'São José da Coroa Grande',\n 'São José do Belmonte',\n 'São José do Egito',\n 'São Lourenço da Mata',\n 'São Vicente Ferrer',\n 'Serra Talhada',\n 'Serrita',\n 'Sertânia',\n 'Sirinhaém',\n 'Solidão',\n 'Surubim',\n 'Tabira',\n 'Tacaimbó',\n 'Tacaratu',\n 'Tamandaré',\n 'Taquaritinga do Norte',\n 'Terezinha',\n 'Terra Nova',\n 'Timbaúba',\n 'Toritama',\n 'Tracunhaém',\n 'Trindade',\n 'Triunfo',\n 'Tupanatinga',\n 'Tuparetama',\n 'Venturosa',\n 'Verdejante',\n 'Vertente do Lério',\n 'Vertentes',\n 'Vicência',\n 'Vitória de Santo Antão',\n 'Xexéu',\n ],\n ],\n [\n 'PI',\n [\n 'Acauã',\n 'Agricolândia',\n 'Água Branca',\n 'Alagoinha do Piauí',\n 'Alegrete do Piauí',\n 'Alto Longá',\n 'Altos',\n 'Alvorada do Gurguéia',\n 'Amarante',\n 'Angical do Piauí',\n 'Anísio de Abreu',\n 'Antônio Almeida',\n 'Aroazes',\n 'Aroeiras do Itaim',\n 'Arraial',\n 'Assunção do Piauí',\n 'Avelino Lopes',\n 'Baixa Grande do Ribeiro',\n 'Barra D`Alcântara',\n 'Barras',\n 'Barreiras do Piauí',\n 'Barro Duro',\n 'Batalha',\n 'Bela Vista do Piauí',\n 'Belém do Piauí',\n 'Beneditinos',\n 'Bertolínia',\n 'Betânia do Piauí',\n 'Boa Hora',\n 'Bocaina',\n 'Bom Jesus',\n 'Bom Princípio do Piauí',\n 'Bonfim do Piauí',\n 'Boqueirão do Piauí',\n 'Brasileira',\n 'Brejo do Piauí',\n 'Buriti dos Lopes',\n 'Buriti dos Montes',\n 'Cabeceiras do Piauí',\n 'Cajazeiras do Piauí',\n 'Cajueiro da Praia',\n 'Caldeirão Grande do Piauí',\n 'Campinas do Piauí',\n 'Campo Alegre do Fidalgo',\n 'Campo Grande do Piauí',\n 'Campo Largo do Piauí',\n 'Campo Maior',\n 'Canavieira',\n 'Canto do Buriti',\n 'Capitão de Campos',\n 'Capitão Gervásio Oliveira',\n 'Caracol',\n 'Caraúbas do Piauí',\n 'Caridade do Piauí',\n 'Castelo do Piauí',\n 'Caxingó',\n 'Cocal',\n 'Cocal de Telha',\n 'Cocal dos Alves',\n 'Coivaras',\n 'Colônia do Gurguéia',\n 'Colônia do Piauí',\n 'Conceição do Canindé',\n 'Coronel José Dias',\n 'Corrente',\n 'Cristalândia do Piauí',\n 'Cristino Castro',\n 'Curimatá',\n 'Currais',\n 'Curralinhos',\n 'Curral Novo do Piauí',\n 'Demerval Lobão',\n 'Dirceu Arcoverde',\n 'Dom Expedito Lopes',\n 'Domingos Mourão',\n 'Dom Inocêncio',\n 'Elesbão Veloso',\n 'Eliseu Martins',\n 'Esperantina',\n 'Fartura do Piauí',\n 'Flores do Piauí',\n 'Floresta do Piauí',\n 'Floriano',\n 'Francinópolis',\n 'Francisco Ayres',\n 'Francisco Macedo',\n 'Francisco Santos',\n 'Fronteiras',\n 'Geminiano',\n 'Gilbués',\n 'Guadalupe',\n 'Guaribas',\n 'Hugo Napoleão',\n 'Ilha Grande',\n 'Inhuma',\n 'Ipiranga do Piauí',\n 'Isaías Coelho',\n 'Itainópolis',\n 'Itaueira',\n 'Jacobina do Piauí',\n 'Jaicós',\n 'Jardim do Mulato',\n 'Jatobá do Piauí',\n 'Jerumenha',\n 'João Costa',\n 'Joaquim Pires',\n 'Joca Marques',\n 'José de Freitas',\n 'Juazeiro do Piauí',\n 'Júlio Borges',\n 'Jurema',\n 'Lagoa Alegre',\n 'Lagoa de São Francisco',\n 'Lagoa do Barro do Piauí',\n 'Lagoa do Piauí',\n 'Lagoa do Sítio',\n 'Lagoinha do Piauí',\n 'Landri Sales',\n 'Luís Correia',\n 'Luzilândia',\n 'Madeiro',\n 'Manoel Emídio',\n 'Marcolândia',\n 'Marcos Parente',\n 'Massapê do Piauí',\n 'Matias Olímpio',\n 'Miguel Alves',\n 'Miguel Leão',\n 'Milton Brandão',\n 'Monsenhor Gil',\n 'Monsenhor Hipólito',\n 'Monte Alegre do Piauí',\n 'Morro Cabeça no Tempo',\n 'Morro do Chapéu do Piauí',\n 'Murici dos Portelas',\n 'Nazaré do Piauí',\n 'Nossa Senhora de Nazaré',\n 'Nossa Senhora dos Remédios',\n 'Nova Santa Rita',\n 'Novo Oriente do Piauí',\n 'Novo Santo Antônio',\n 'Oeiras',\n 'Olho D`Água do Piauí',\n 'Padre Marcos',\n 'Paes Landim',\n 'Pajeú do Piauí',\n 'Palmeira do Piauí',\n 'Palmeirais',\n 'Paquetá',\n 'Parnaguá',\n 'Parnaíba',\n 'Passagem Franca do Piauí',\n 'Patos do Piauí',\n \"Pau D'Arco do Piaui\",\n 'Paulistana',\n 'Pavussu',\n 'Pedro II',\n 'Pedro Laurentino',\n 'Picos',\n 'Pimenteiras',\n 'Pio IX',\n 'Piracuruca',\n 'Piripiri',\n 'Porto',\n 'Porto Alegre do Piauí',\n 'Prata do Piauí',\n 'Queimada Nova',\n 'Redenção do Gurguéia',\n 'Regeneração',\n 'Riacho Frio',\n 'Ribeira do Piauí',\n 'Ribeiro Gonçalves',\n 'Rio Grande do Piauí',\n 'Santa Cruz do Piauí',\n 'Santa Cruz dos Milagres',\n 'Santa Filomena',\n 'Santa Luz',\n 'Santana do Piauí',\n 'Santa Rosa do Piauí',\n 'Santo Antônio de Lisboa',\n 'Santo Antônio dos Milagres',\n 'Santo Inácio do Piauí',\n 'São Braz do Piauí',\n 'São Félix do Piauí',\n 'São Francisco de Assis do Piauí',\n 'São Francisco do Piauí',\n 'São Gonçalo do Gurguéia',\n 'São Gonçalo do Piauí',\n 'São João da Canabrava',\n 'São João da Fronteira',\n 'São João da Serra',\n 'São João da Varjota',\n 'São João do Arraial',\n 'São João do Piauí',\n 'São José do Divino',\n 'São José do Peixe',\n 'São José do Piauí',\n 'São Julião',\n 'São Lourenço do Piauí',\n 'São Luis do Piauí',\n 'São Miguel da Baixa Grande',\n 'São Miguel do Fidalgo',\n 'São Miguel do Tapuio',\n 'São Pedro do Piauí',\n 'São Raimundo Nonato',\n 'Sebastião Barros',\n 'Sebastião Leal',\n 'Sigefredo Pacheco',\n 'Simões',\n 'Simplício Mendes',\n 'Socorro do Piauí',\n 'Sussuapara',\n 'Tamboril do Piauí',\n 'Tanque do Piauí',\n 'Teresina',\n 'União',\n 'Uruçuí',\n 'Valença do Piauí',\n 'Várzea Branca',\n 'Várzea Grande',\n 'Vera Mendes',\n 'Vila Nova do Piauí',\n 'Wall Ferraz',\n ],\n ],\n [\n 'RJ',\n [\n 'Angra dos Reis',\n 'Aperibé',\n 'Araruama',\n 'Areal',\n 'Armação dos Búzios',\n 'Arraial do Cabo',\n 'Barra do Piraí',\n 'Barra Mansa',\n 'Belford Roxo',\n 'Bom Jardim',\n 'Bom Jesus do Itabapoana',\n 'Cabo Frio',\n 'Cachoeiras de Macacu',\n 'Cambuci',\n 'Campos dos Goytacazes',\n 'Cantagalo',\n 'Carapebus',\n 'Cardoso Moreira',\n 'Carmo',\n 'Casimiro de Abreu',\n 'Comendador Levy Gasparian',\n 'Conceição de Macabu',\n 'Cordeiro',\n 'Duas Barras',\n 'Duque de Caxias',\n 'Engenheiro Paulo de Frontin',\n 'Guapimirim',\n 'Iguaba Grande',\n 'Itaboraí',\n 'Itaguaí',\n 'Italva',\n 'Itaocara',\n 'Itaperuna',\n 'Itatiaia',\n 'Japeri',\n 'Laje do Muriaé',\n 'Macaé',\n 'Macuco',\n 'Magé',\n 'Mangaratiba',\n 'Maricá',\n 'Mendes',\n 'Mesquita',\n 'Miguel Pereira',\n 'Miracema',\n 'Natividade',\n 'Nilópolis',\n 'Niterói',\n 'Nova Friburgo',\n 'Nova Iguaçu',\n 'Paracambi',\n 'Paraíba do Sul',\n 'Parati',\n 'Paty do Alferes',\n 'Petrópolis',\n 'Pinheiral',\n 'Piraí',\n 'Porciúncula',\n 'Porto Real',\n 'Quatis',\n 'Queimados',\n 'Quissamã',\n 'Resende',\n 'Rio Bonito',\n 'Rio Claro',\n 'Rio das Flores',\n 'Rio das Ostras',\n 'Rio de Janeiro',\n 'Santa Maria Madalena',\n 'Santo Antônio de Pádua',\n 'São Fidélis',\n 'São Francisco de Itabapoana',\n 'São Gonçalo',\n 'São João da Barra',\n 'São João de Meriti',\n 'São José de Ubá',\n 'São José do Vale do Rio Preto',\n 'São Pedro da Aldeia',\n 'São Sebastião do Alto',\n 'Sapucaia',\n 'Saquarema',\n 'Seropédica',\n 'Silva Jardim',\n 'Sumidouro',\n 'Tanguá',\n 'Teresópolis',\n 'Trajano de Morais',\n 'Três Rios',\n 'Valença',\n 'Varre-Sai',\n 'Vassouras',\n 'Volta Redonda',\n ],\n ],\n [\n 'RN',\n [\n 'Acari',\n 'Açu',\n 'Afonso Bezerra',\n 'Água Nova',\n 'Alexandria',\n 'Almino Afonso',\n 'Alto do Rodrigues',\n 'Angicos',\n 'Antônio Martins',\n 'Apodi',\n 'Areia Branca',\n 'Arês',\n 'Augusto Severo',\n 'Baía Formosa',\n 'Baraúna',\n 'Barcelona',\n 'Bento Fernandes',\n 'Bodó',\n 'Bom Jesus',\n 'Brejinho',\n 'Caiçara do Norte',\n 'Caiçara do Rio do Vento',\n 'Caicó',\n 'Campo Redondo',\n 'Canguaretama',\n 'Caraúbas',\n 'Carnaúba dos Dantas',\n 'Carnaubais',\n 'Ceará-Mirim',\n 'Cerro Corá',\n 'Coronel Ezequiel',\n 'Coronel João Pessoa',\n 'Cruzeta',\n 'Currais Novos',\n 'Doutor Severiano',\n 'Encanto',\n 'Equador',\n 'Espírito Santo',\n 'Extremoz',\n 'Felipe Guerra',\n 'Fernando Pedroza',\n 'Florânia',\n 'Francisco Dantas',\n 'Frutuoso Gomes',\n 'Galinhos',\n 'Goianinha',\n 'Governador Dix-Sept Rosado',\n 'Grossos',\n 'Guamaré',\n 'Ielmo Marinho',\n 'Ipanguaçu',\n 'Ipueira',\n 'Itajá',\n 'Itaú',\n 'Jaçanã',\n 'Jandaíra',\n 'Janduís',\n 'Januário Cicco',\n 'Japi',\n 'Jardim de Angicos',\n 'Jardim de Piranhas',\n 'Jardim do Seridó',\n 'João Câmara',\n 'João Dias',\n 'José da Penha',\n 'Jucurutu',\n 'Jundiá',\n 'Lagoa d`Anta',\n 'Lagoa de Pedras',\n 'Lagoa de Velhos',\n 'Lagoa Nova',\n 'Lagoa Salgada',\n 'Lajes',\n 'Lajes Pintadas',\n 'Lucrécia',\n 'Luís Gomes',\n 'Macaíba',\n 'Macau',\n 'Major Sales',\n 'Marcelino Vieira',\n 'Martins',\n 'Maxaranguape',\n 'Messias Targino',\n 'Montanhas',\n 'Monte Alegre',\n 'Monte das Gameleiras',\n 'Mossoró',\n 'Natal',\n 'Nísia Floresta',\n 'Nova Cruz',\n 'Olho-d`Água do Borges',\n 'Ouro Branco',\n 'Paraná',\n 'Paraú',\n 'Parazinho',\n 'Parelhas',\n 'Parnamirim',\n 'Passa e Fica',\n 'Passagem',\n 'Patu',\n 'Pau dos Ferros',\n 'Pedra Grande',\n 'Pedra Preta',\n 'Pedro Avelino',\n 'Pedro Velho',\n 'Pendências',\n 'Pilões',\n 'Poço Branco',\n 'Portalegre',\n 'Porto do Mangue',\n 'Presidente Juscelino',\n 'Pureza',\n 'Rafael Fernandes',\n 'Rafael Godeiro',\n 'Riacho da Cruz',\n 'Riacho de Santana',\n 'Riachuelo',\n 'Rio do Fogo',\n 'Rodolfo Fernandes',\n 'Ruy Barbosa',\n 'Santa Cruz',\n 'Santa Maria',\n 'Santana do Matos',\n 'Santana do Seridó',\n 'Santo Antônio',\n 'São Bento do Norte',\n 'São Bento do Trairí',\n 'São Fernando',\n 'São Francisco do Oeste',\n 'São Gonçalo do Amarante',\n 'São João do Sabugi',\n 'São José de Mipibu',\n 'São José do Campestre',\n 'São José do Seridó',\n 'São Miguel',\n 'São Miguel de Touros',\n 'São Paulo do Potengi',\n 'São Pedro',\n 'São Rafael',\n 'São Tomé',\n 'São Vicente',\n 'Senador Elói de Souza',\n 'Senador Georgino Avelino',\n 'Serra de São Bento',\n 'Serra do Mel',\n 'Serra Negra do Norte',\n 'Serrinha',\n 'Serrinha dos Pintos',\n 'Severiano Melo',\n 'Sítio Novo',\n 'Taboleiro Grande',\n 'Taipu',\n 'Tangará',\n 'Tenente Ananias',\n 'Tenente Laurentino Cruz',\n 'Tibau',\n 'Tibau do Sul',\n 'Timbaúba dos Batistas',\n 'Touros',\n 'Triunfo Potiguar',\n 'Umarizal',\n 'Upanema',\n 'Várzea',\n 'Venha-Ver',\n 'Vera Cruz',\n 'Viçosa',\n 'Vila Flor',\n ],\n ],\n [\n 'RS',\n [\n 'Aceguá',\n 'Água Santa',\n 'Agudo',\n 'Ajuricaba',\n 'Alecrim',\n 'Alegrete',\n 'Alegria',\n 'Almirante Tamandaré do Sul',\n 'Alpestre',\n 'Alto Alegre',\n 'Alto Feliz',\n 'Alvorada',\n 'Amaral Ferrador',\n 'Ametista do Sul',\n 'André da Rocha',\n 'Anta Gorda',\n 'Antônio Prado',\n 'Arambaré',\n 'Araricá',\n 'Aratiba',\n 'Arroio do Meio',\n 'Arroio do Padre',\n 'Arroio do Sal',\n 'Arroio dos Ratos',\n 'Arroio do Tigre',\n 'Arroio Grande',\n 'Arvorezinha',\n 'Augusto Pestana',\n 'Áurea',\n 'Bagé',\n 'Balneário Pinhal',\n 'Barão',\n 'Barão de Cotegipe',\n 'Barão do Triunfo',\n 'Barracão',\n 'Barra do Guarita',\n 'Barra do Quaraí',\n 'Barra do Ribeiro',\n 'Barra do Rio Azul',\n 'Barra Funda',\n 'Barros Cassal',\n 'Benjamin Constant do Sul',\n 'Bento Gonçalves',\n 'Boa Vista das Missões',\n 'Boa Vista do Buricá',\n 'Boa Vista do Cadeado',\n 'Boa Vista do Incra',\n 'Boa Vista do Sul',\n 'Bom Jesus',\n 'Bom Princípio',\n 'Bom Progresso',\n 'Bom Retiro do Sul',\n 'Boqueirão do Leão',\n 'Bossoroca',\n 'Bozano',\n 'Braga',\n 'Brochier',\n 'Butiá',\n 'Caçapava do Sul',\n 'Cacequi',\n 'Cachoeira do Sul',\n 'Cachoeirinha',\n 'Cacique Doble',\n 'Caibaté',\n 'Caiçara',\n 'Camaquã',\n 'Camargo',\n 'Cambará do Sul',\n 'Campestre da Serra',\n 'Campina das Missões',\n 'Campinas do Sul',\n 'Campo Bom',\n 'Campo Novo',\n 'Campos Borges',\n 'Candelária',\n 'Cândido Godói',\n 'Candiota',\n 'Canela',\n 'Canguçu',\n 'Canoas',\n 'Canudos do Vale',\n 'Capão Bonito do Sul',\n 'Capão da Canoa',\n 'Capão do Cipó',\n 'Capão do Leão',\n 'Capela de Santana',\n 'Capitão',\n 'Capivari do Sul',\n 'Caraá',\n 'Carazinho',\n 'Carlos Barbosa',\n 'Carlos Gomes',\n 'Casca',\n 'Caseiros',\n 'Catuípe',\n 'Caxias do Sul',\n 'Centenário',\n 'Cerrito',\n 'Cerro Branco',\n 'Cerro Grande',\n 'Cerro Grande do Sul',\n 'Cerro Largo',\n 'Chapada',\n 'Charqueadas',\n 'Charrua',\n 'Chiapeta',\n 'Chuí',\n 'Chuvisca',\n 'Cidreira',\n 'Ciríaco',\n 'Colinas',\n 'Colorado',\n 'Condor',\n 'Constantina',\n 'Coqueiro Baixo',\n 'Coqueiros do Sul',\n 'Coronel Barros',\n 'Coronel Bicaco',\n 'Coronel Pilar',\n 'Cotiporã',\n 'Coxilha',\n 'Crissiumal',\n 'Cristal',\n 'Cristal do Sul',\n 'Cruz Alta',\n 'Cruzaltense',\n 'Cruzeiro do Sul',\n 'David Canabarro',\n 'Derrubadas',\n 'Dezesseis de Novembro',\n 'Dilermando de Aguiar',\n 'Dois Irmãos',\n 'Dois Irmãos das Missões',\n 'Dois Lajeados',\n 'Dom Feliciano',\n 'Dom Pedrito',\n 'Dom Pedro de Alcântara',\n 'Dona Francisca',\n 'Doutor Maurício Cardoso',\n 'Doutor Ricardo',\n 'Eldorado do Sul',\n 'Encantado',\n 'Encruzilhada do Sul',\n 'Engenho Velho',\n 'Entre-Ijuís',\n 'Entre Rios do Sul',\n 'Erebango',\n 'Erechim',\n 'Ernestina',\n 'Erval Grande',\n 'Erval Seco',\n 'Esmeralda',\n 'Esperança do Sul',\n 'Espumoso',\n 'Estação',\n 'Estância Velha',\n 'Esteio',\n 'Estrela',\n 'Estrela Velha',\n 'Eugênio de Castro',\n 'Fagundes Varela',\n 'Farroupilha',\n 'Faxinal do Soturno',\n 'Faxinalzinho',\n 'Fazenda Vilanova',\n 'Feliz',\n 'Flores da Cunha',\n 'Floriano Peixoto',\n 'Fontoura Xavier',\n 'Formigueiro',\n 'Forquetinha',\n 'Fortaleza dos Valos',\n 'Frederico Westphalen',\n 'Garibaldi',\n 'Garruchos',\n 'Gaurama',\n 'General Câmara',\n 'Gentil',\n 'Getúlio Vargas',\n 'Giruá',\n 'Glorinha',\n 'Gramado',\n 'Gramado dos Loureiros',\n 'Gramado Xavier',\n 'Gravataí',\n 'Guabiju',\n 'Guaíba',\n 'Guaporé',\n 'Guarani das Missões',\n 'Harmonia',\n 'Herval',\n 'Herveiras',\n 'Horizontina',\n 'Hulha Negra',\n 'Humaitá',\n 'Ibarama',\n 'Ibiaçá',\n 'Ibiraiaras',\n 'Ibirapuitã',\n 'Ibirubá',\n 'Igrejinha',\n 'Ijuí',\n 'Ilópolis',\n 'Imbé',\n 'Imigrante',\n 'Independência',\n 'Inhacorá',\n 'Ipê',\n 'Ipiranga do Sul',\n 'Iraí',\n 'Itaara',\n 'Itacurubi',\n 'Itapuca',\n 'Itaqui',\n 'Itati',\n 'Itatiba do Sul',\n 'Ivorá',\n 'Ivoti',\n 'Jaboticaba',\n 'Jacuizinho',\n 'Jacutinga',\n 'Jaguarão',\n 'Jaguari',\n 'Jaquirana',\n 'Jari',\n 'Jóia',\n 'Júlio de Castilhos',\n 'Lagoa Bonita do Sul',\n 'Lagoa dos Três Cantos',\n 'Lagoão',\n 'Lagoa Vermelha',\n 'Lajeado',\n 'Lajeado do Bugre',\n 'Lavras do Sul',\n 'Liberato Salzano',\n 'Lindolfo Collor',\n 'Linha Nova',\n 'Maçambara',\n 'Machadinho',\n 'Mampituba',\n 'Manoel Viana',\n 'Maquiné',\n 'Maratá',\n 'Marau',\n 'Marcelino Ramos',\n 'Mariana Pimentel',\n 'Mariano Moro',\n 'Marques de Souza',\n 'Mata',\n 'Mato Castelhano',\n 'Mato Leitão',\n 'Mato Queimado',\n 'Maximiliano de Almeida',\n 'Minas do Leão',\n 'Miraguaí',\n 'Montauri',\n 'Monte Alegre dos Campos',\n 'Monte Belo do Sul',\n 'Montenegro',\n 'Mormaço',\n 'Morrinhos do Sul',\n 'Morro Redondo',\n 'Morro Reuter',\n 'Mostardas',\n 'Muçum',\n 'Muitos Capões',\n 'Muliterno',\n 'Não-Me-Toque',\n 'Nicolau Vergueiro',\n 'Nonoai',\n 'Nova Alvorada',\n 'Nova Araçá',\n 'Nova Bassano',\n 'Nova Boa Vista',\n 'Nova Bréscia',\n 'Nova Candelária',\n 'Nova Esperança do Sul',\n 'Nova Hartz',\n 'Nova Pádua',\n 'Nova Palma',\n 'Nova Petrópolis',\n 'Nova Prata',\n 'Nova Ramada',\n 'Nova Roma do Sul',\n 'Nova Santa Rita',\n 'Novo Barreiro',\n 'Novo Cabrais',\n 'Novo Hamburgo',\n 'Novo Machado',\n 'Novo Tiradentes',\n 'Novo Xingu',\n 'Osório',\n 'Paim Filho',\n 'Palmares do Sul',\n 'Palmeira das Missões',\n 'Palmitinho',\n 'Panambi',\n 'Pantano Grande',\n 'Paraí',\n 'Paraíso do Sul',\n 'Pareci Novo',\n 'Parobé',\n 'Passa Sete',\n 'Passo do Sobrado',\n 'Passo Fundo',\n 'Paulo Bento',\n 'Paverama',\n 'Pedras Altas',\n 'Pedro Osório',\n 'Pejuçara',\n 'Pelotas',\n 'Picada Café',\n 'Pinhal',\n 'Pinhal da Serra',\n 'Pinhal Grande',\n 'Pinheirinho do Vale',\n 'Pinheiro Machado',\n 'Pirapó',\n 'Piratini',\n 'Planalto',\n 'Poço das Antas',\n 'Pontão',\n 'Ponte Preta',\n 'Portão',\n 'Porto Alegre',\n 'Porto Lucena',\n 'Porto Mauá',\n 'Porto Vera Cruz',\n 'Porto Xavier',\n 'Pouso Novo',\n 'Presidente Lucena',\n 'Progresso',\n 'Protásio Alves',\n 'Putinga',\n 'Quaraí',\n 'Quatro Irmãos',\n 'Quevedos',\n 'Quinze de Novembro',\n 'Redentora',\n 'Relvado',\n 'Restinga Seca',\n 'Rio dos Índios',\n 'Rio Grande',\n 'Rio Pardo',\n 'Riozinho',\n 'Roca Sales',\n 'Rodeio Bonito',\n 'Rolador',\n 'Rolante',\n 'Ronda Alta',\n 'Rondinha',\n 'Roque Gonzales',\n 'Rosário do Sul',\n 'Sagrada Família',\n 'Saldanha Marinho',\n 'Salto do Jacuí',\n 'Salvador das Missões',\n 'Salvador do Sul',\n 'Sananduva',\n 'Santa Bárbara do Sul',\n 'Santa Cecília do Sul',\n 'Santa Clara do Sul',\n 'Santa Cruz do Sul',\n 'Santa Margarida do Sul',\n 'Santa Maria',\n 'Santa Maria do Herval',\n 'Santana da Boa Vista',\n 'Santana do Livramento',\n 'Santa Rosa',\n 'Santa Tereza',\n 'Santa Vitória do Palmar',\n 'Santiago',\n 'Santo Ângelo',\n 'Santo Antônio da Patrulha',\n 'Santo Antônio das Missões',\n 'Santo Antônio do Palma',\n 'Santo Antônio do Planalto',\n 'Santo Augusto',\n 'Santo Cristo',\n 'Santo Expedito do Sul',\n 'São Borja',\n 'São Domingos do Sul',\n 'São Francisco de Assis',\n 'São Francisco de Paula',\n 'São Gabriel',\n 'São Jerônimo',\n 'São João da Urtiga',\n 'São João do Polêsine',\n 'São Jorge',\n 'São José das Missões',\n 'São José do Herval',\n 'São José do Hortêncio',\n 'São José do Inhacorá',\n 'São José do Norte',\n 'São José do Ouro',\n 'São José dos Ausentes',\n 'São José do Sul',\n 'São Leopoldo',\n 'São Lourenço do Sul',\n 'São Luiz Gonzaga',\n 'São Marcos',\n 'São Martinho',\n 'São Martinho da Serra',\n 'São Miguel das Missões',\n 'São Nicolau',\n 'São Paulo das Missões',\n 'São Pedro da Serra',\n 'São Pedro das Missões',\n 'São Pedro do Butiá',\n 'São Pedro do Sul',\n 'São Sebastião do Caí',\n 'São Sepé',\n 'São Valentim',\n 'São Valentim do Sul',\n 'São Valério do Sul',\n 'São Vendelino',\n 'São Vicente do Sul',\n 'Sapiranga',\n 'Sapucaia do Sul',\n 'Sarandi',\n 'Seberi',\n 'Sede Nova',\n 'Segredo',\n 'Selbach',\n 'Senador Salgado Filho',\n 'Sentinela do Sul',\n 'Serafina Corrêa',\n 'Sério',\n 'Sertão',\n 'Sertão Santana',\n 'Sete de Setembro',\n 'Severiano de Almeida',\n 'Silveira Martins',\n 'Sinimbu',\n 'Sobradinho',\n 'Soledade',\n 'Tabaí',\n 'Tapejara',\n 'Tapera',\n 'Tapes',\n 'Taquara',\n 'Taquari',\n 'Taquaruçu do Sul',\n 'Tavares',\n 'Tenente Portela',\n 'Terra de Areia',\n 'Teutônia',\n 'Tio Hugo',\n 'Tiradentes do Sul',\n 'Toropi',\n 'Torres',\n 'Tramandaí',\n 'Travesseiro',\n 'Três Arroios',\n 'Três Cachoeiras',\n 'Três Coroas',\n 'Três de Maio',\n 'Três Forquilhas',\n 'Três Palmeiras',\n 'Três Passos',\n 'Trindade do Sul',\n 'Triunfo',\n 'Tucunduva',\n 'Tunas',\n 'Tupanci do Sul',\n 'Tupanciretã',\n 'Tupandi',\n 'Tuparendi',\n 'Turuçu',\n 'Ubiretama',\n 'União da Serra',\n 'Unistalda',\n 'Uruguaiana',\n 'Vacaria',\n 'Vale do Sol',\n 'Vale Real',\n 'Vale Verde',\n 'Vanini',\n 'Venâncio Aires',\n 'Vera Cruz',\n 'Veranópolis',\n 'Vespasiano Correa',\n 'Viadutos',\n 'Viamão',\n 'Vicente Dutra',\n 'Victor Graeff',\n 'Vila Flores',\n 'Vila Lângaro',\n 'Vila Maria',\n 'Vila Nova do Sul',\n 'Vista Alegre',\n 'Vista Alegre do Prata',\n 'Vista Gaúcha',\n 'Vitória das Missões',\n 'Westfália',\n 'Xangri-lá',\n ],\n ],\n [\n 'RO',\n [\n 'Alta Floresta D`Oeste',\n 'Alto Alegre dos Parecis',\n 'Alto Paraíso',\n 'Alvorada D`Oeste',\n 'Ariquemes',\n 'Buritis',\n 'Cabixi',\n 'Cacaulândia',\n 'Cacoal',\n 'Campo Novo de Rondônia',\n 'Candeias do Jamari',\n 'Castanheiras',\n 'Cerejeiras',\n 'Chupinguaia',\n 'Colorado do Oeste',\n 'Corumbiara',\n 'Costa Marques',\n 'Cujubim',\n 'Espigão D`Oeste',\n 'Governador Jorge Teixeira',\n 'Guajará-Mirim',\n 'Itapuã do Oeste',\n 'Jaru',\n 'Ji-Paraná',\n 'Machadinho D`Oeste',\n 'Ministro Andreazza',\n 'Mirante da Serra',\n 'Monte Negro',\n 'Nova Brasilândia D`Oeste',\n 'Nova Mamoré',\n 'Nova União',\n 'Novo Horizonte do Oeste',\n 'Ouro Preto do Oeste',\n 'Parecis',\n 'Pimenta Bueno',\n 'Pimenteiras do Oeste',\n 'Porto Velho',\n 'Presidente Médici',\n 'Primavera de Rondônia',\n 'Rio Crespo',\n 'Rolim de Moura',\n 'Santa Luzia D`Oeste',\n 'São Felipe D`Oeste',\n 'São Francisco do Guaporé',\n 'São Miguel do Guaporé',\n 'Seringueiras',\n 'Teixeirópolis',\n 'Theobroma',\n 'Urupá',\n 'Vale do Anari',\n 'Vale do Paraíso',\n 'Vilhena',\n ],\n ],\n [\n 'RR',\n [\n 'Alto Alegre',\n 'Amajari',\n 'Boa Vista',\n 'Bonfim',\n 'Cantá',\n 'Caracaraí',\n 'Caroebe',\n 'Iracema',\n 'Mucajaí',\n 'Normandia',\n 'Pacaraima',\n 'Rorainópolis',\n 'São João da Baliza',\n 'São Luiz',\n 'Uiramutã',\n ],\n ],\n [\n 'SC',\n [\n 'Abdon Batista',\n 'Abelardo Luz',\n 'Agrolândia',\n 'Agronômica',\n 'Água Doce',\n 'Águas de Chapecó',\n 'Águas Frias',\n 'Águas Mornas',\n 'Alfredo Wagner',\n 'Alto Bela Vista',\n 'Anchieta',\n 'Angelina',\n 'Anita Garibaldi',\n 'Anitápolis',\n 'Antônio Carlos',\n 'Apiúna',\n 'Arabutã',\n 'Araquari',\n 'Araranguá',\n 'Armazém',\n 'Arroio Trinta',\n 'Arvoredo',\n 'Ascurra',\n 'Atalanta',\n 'Aurora',\n 'Balneário Arroio do Silva',\n 'Balneário Barra do Sul',\n 'Balneário Camboriú',\n 'Balneário Gaivota',\n 'Bandeirante',\n 'Barra Bonita',\n 'Barra Velha',\n 'Bela Vista do Toldo',\n 'Belmonte',\n 'Benedito Novo',\n 'Biguaçu',\n 'Blumenau',\n 'Bocaina do Sul',\n 'Bombinhas',\n 'Bom Jardim da Serra',\n 'Bom Jesus',\n 'Bom Jesus do Oeste',\n 'Bom Retiro',\n 'Botuverá',\n 'Braço do Norte',\n 'Braço do Trombudo',\n 'Brunópolis',\n 'Brusque',\n 'Caçador',\n 'Caibi',\n 'Calmon',\n 'Camboriú',\n 'Campo Alegre',\n 'Campo Belo do Sul',\n 'Campo Erê',\n 'Campos Novos',\n 'Canelinha',\n 'Canoinhas',\n 'Capão Alto',\n 'Capinzal',\n 'Capivari de Baixo',\n 'Catanduvas',\n 'Caxambu do Sul',\n 'Celso Ramos',\n 'Cerro Negro',\n 'Chapadão do Lageado',\n 'Chapecó',\n 'Cocal do Sul',\n 'Concórdia',\n 'Cordilheira Alta',\n 'Coronel Freitas',\n 'Coronel Martins',\n 'Correia Pinto',\n 'Corupá',\n 'Criciúma',\n 'Cunha Porã',\n 'Cunhataí',\n 'Curitibanos',\n 'Descanso',\n 'Dionísio Cerqueira',\n 'Dona Emma',\n 'Doutor Pedrinho',\n 'Entre Rios',\n 'Ermo',\n 'Erval Velho',\n 'Faxinal dos Guedes',\n 'Flor do Sertão',\n 'Florianópolis',\n 'Formosa do Sul',\n 'Forquilhinha',\n 'Fraiburgo',\n 'Frei Rogério',\n 'Galvão',\n 'Garopaba',\n 'Garuva',\n 'Gaspar',\n 'Governador Celso Ramos',\n 'Grão Pará',\n 'Gravatal',\n 'Guabiruba',\n 'Guaraciaba',\n 'Guaramirim',\n 'Guarujá do Sul',\n 'Guatambú',\n 'Herval d`Oeste',\n 'Ibiam',\n 'Ibicaré',\n 'Ibirama',\n 'Içara',\n 'Ilhota',\n 'Imaruí',\n 'Imbituba',\n 'Imbuia',\n 'Indaial',\n 'Iomerê',\n 'Ipira',\n 'Iporã do Oeste',\n 'Ipuaçu',\n 'Ipumirim',\n 'Iraceminha',\n 'Irani',\n 'Irati',\n 'Irineópolis',\n 'Itá',\n 'Itaiópolis',\n 'Itajaí',\n 'Itapema',\n 'Itapiranga',\n 'Itapoá',\n 'Ituporanga',\n 'Jaborá',\n 'Jacinto Machado',\n 'Jaguaruna',\n 'Jaraguá do Sul',\n 'Jardinópolis',\n 'Joaçaba',\n 'Joinville',\n 'José Boiteux',\n 'Jupiá',\n 'Lacerdópolis',\n 'Lages',\n 'Laguna',\n 'Lajeado Grande',\n 'Laurentino',\n 'Lauro Muller',\n 'Lebon Régis',\n 'Leoberto Leal',\n 'Lindóia do Sul',\n 'Lontras',\n 'Luiz Alves',\n 'Luzerna',\n 'Macieira',\n 'Mafra',\n 'Major Gercino',\n 'Major Vieira',\n 'Maracajá',\n 'Maravilha',\n 'Marema',\n 'Massaranduba',\n 'Matos Costa',\n 'Meleiro',\n 'Mirim Doce',\n 'Modelo',\n 'Mondaí',\n 'Monte Carlo',\n 'Monte Castelo',\n 'Morro da Fumaça',\n 'Morro Grande',\n 'Navegantes',\n 'Nova Erechim',\n 'Nova Itaberaba',\n 'Nova Trento',\n 'Nova Veneza',\n 'Novo Horizonte',\n 'Orleans',\n 'Otacílio Costa',\n 'Ouro',\n 'Ouro Verde',\n 'Paial',\n 'Painel',\n 'Palhoça',\n 'Palma Sola',\n 'Palmeira',\n 'Palmitos',\n 'Papanduva',\n 'Paraíso',\n 'Passo de Torres',\n 'Passos Maia',\n 'Paulo Lopes',\n 'Pedras Grandes',\n 'Penha',\n 'Peritiba',\n 'Petrolândia',\n 'Piçarras',\n 'Pinhalzinho',\n 'Pinheiro Preto',\n 'Piratuba',\n 'Planalto Alegre',\n 'Pomerode',\n 'Ponte Alta',\n 'Ponte Alta do Norte',\n 'Ponte Serrada',\n 'Porto Belo',\n 'Porto União',\n 'Pouso Redondo',\n 'Praia Grande',\n 'Presidente Castelo Branco',\n 'Presidente Getúlio',\n 'Presidente Nereu',\n 'Princesa',\n 'Quilombo',\n 'Rancho Queimado',\n 'Rio das Antas',\n 'Rio do Campo',\n 'Rio do Oeste',\n 'Rio dos Cedros',\n 'Rio do Sul',\n 'Rio Fortuna',\n 'Rio Negrinho',\n 'Rio Rufino',\n 'Riqueza',\n 'Rodeio',\n 'Romelândia',\n 'Salete',\n 'Saltinho',\n 'Salto Veloso',\n 'Sangão',\n 'Santa Cecília',\n 'Santa Helena',\n 'Santa Rosa de Lima',\n 'Santa Rosa do Sul',\n 'Santa Terezinha',\n 'Santa Terezinha do Progresso',\n 'Santiago do Sul',\n 'Santo Amaro da Imperatriz',\n 'São Bento do Sul',\n 'São Bernardino',\n 'São Bonifácio',\n 'São Carlos',\n 'São Cristovão do Sul',\n 'São Domingos',\n 'São Francisco do Sul',\n 'São João Batista',\n 'São João do Itaperiú',\n 'São João do Oeste',\n 'São João do Sul',\n 'São Joaquim',\n 'São José',\n 'São José do Cedro',\n 'São José do Cerrito',\n 'São Lourenço do Oeste',\n 'São Ludgero',\n 'São Martinho',\n 'São Miguel da Boa Vista',\n 'São Miguel do Oeste',\n 'São Pedro de Alcântara',\n 'Saudades',\n 'Schroeder',\n 'Seara',\n 'Serra Alta',\n 'Siderópolis',\n 'Sombrio',\n 'Sul Brasil',\n 'Taió',\n 'Tangará',\n 'Tigrinhos',\n 'Tijucas',\n 'Timbé do Sul',\n 'Timbó',\n 'Timbó Grande',\n 'Três Barras',\n 'Treviso',\n 'Treze de Maio',\n 'Treze Tílias',\n 'Trombudo Central',\n 'Tubarão',\n 'Tunápolis',\n 'Turvo',\n 'União do Oeste',\n 'Urubici',\n 'Urupema',\n 'Urussanga',\n 'Vargeão',\n 'Vargem',\n 'Vargem Bonita',\n 'Vidal Ramos',\n 'Videira',\n 'Vitor Meireles',\n 'Witmarsum',\n 'Xanxerê',\n 'Xavantina',\n 'Xaxim',\n 'Zortéa',\n ],\n ],\n [\n 'SP',\n [\n 'Adamantina',\n 'Adolfo',\n 'Aguaí',\n 'Águas da Prata',\n 'Águas de Lindóia',\n 'Águas de Santa Bárbara',\n 'Águas de São Pedro',\n 'Agudos',\n 'Alambari',\n 'Alfredo Marcondes',\n 'Altair',\n 'Altinópolis',\n 'Alto Alegre',\n 'Alumínio',\n 'Álvares Florence',\n 'Álvares Machado',\n 'Álvaro de Carvalho',\n 'Alvinlândia',\n 'Americana',\n 'Américo Brasiliense',\n 'Américo de Campos',\n 'Amparo',\n 'Analândia',\n 'Andradina',\n 'Angatuba',\n 'Anhembi',\n 'Anhumas',\n 'Aparecida',\n 'Aparecida d`Oeste',\n 'Apiaí',\n 'Araçariguama',\n 'Araçatuba',\n 'Araçoiaba da Serra',\n 'Aramina',\n 'Arandu',\n 'Arapeí',\n 'Araraquara',\n 'Araras',\n 'Arco-Íris',\n 'Arealva',\n 'Areias',\n 'Areiópolis',\n 'Ariranha',\n 'Artur Nogueira',\n 'Arujá',\n 'Aspásia',\n 'Assis',\n 'Atibaia',\n 'Auriflama',\n 'Avaí',\n 'Avanhandava',\n 'Avaré',\n 'Bady Bassitt',\n 'Balbinos',\n 'Bálsamo',\n 'Bananal',\n 'Barão de Antonina',\n 'Barbosa',\n 'Bariri',\n 'Barra Bonita',\n 'Barra do Chapéu',\n 'Barra do Turvo',\n 'Barretos',\n 'Barrinha',\n 'Barueri',\n 'Bastos',\n 'Batatais',\n 'Bauru',\n 'Bebedouro',\n 'Bento de Abreu',\n 'Bernardino de Campos',\n 'Bertioga',\n 'Bilac',\n 'Birigui',\n 'Biritiba-Mirim',\n 'Boa Esperança do Sul',\n 'Bocaina',\n 'Bofete',\n 'Boituva',\n 'Bom Jesus dos Perdões',\n 'Bom Sucesso de Itararé',\n 'Borá',\n 'Boracéia',\n 'Borborema',\n 'Borebi',\n 'Botucatu',\n 'Bragança Paulista',\n 'Braúna',\n 'Brejo Alegre',\n 'Brodósqui',\n 'Brotas',\n 'Buri',\n 'Buritama',\n 'Buritizal',\n 'Cabrália Paulista',\n 'Cabreúva',\n 'Caçapava',\n 'Cachoeira Paulista',\n 'Caconde',\n 'Cafelândia',\n 'Caiabu',\n 'Caieiras',\n 'Caiuá',\n 'Cajamar',\n 'Cajati',\n 'Cajobi',\n 'Cajuru',\n 'Campina do Monte Alegre',\n 'Campinas',\n 'Campo Limpo Paulista',\n 'Campos do Jordão',\n 'Campos Novos Paulista',\n 'Cananéia',\n 'Canas',\n 'Cândido Mota',\n 'Cândido Rodrigues',\n 'Canitar',\n 'Capão Bonito',\n 'Capela do Alto',\n 'Capivari',\n 'Caraguatatuba',\n 'Carapicuíba',\n 'Cardoso',\n 'Casa Branca',\n 'Cássia dos Coqueiros',\n 'Castilho',\n 'Catanduva',\n 'Catiguá',\n 'Cedral',\n 'Cerqueira César',\n 'Cerquilho',\n 'Cesário Lange',\n 'Charqueada',\n 'Chavantes',\n 'Clementina',\n 'Colina',\n 'Colômbia',\n 'Conchal',\n 'Conchas',\n 'Cordeirópolis',\n 'Coroados',\n 'Coronel Macedo',\n 'Corumbataí',\n 'Cosmópolis',\n 'Cosmorama',\n 'Cotia',\n 'Cravinhos',\n 'Cristais Paulista',\n 'Cruzália',\n 'Cruzeiro',\n 'Cubatão',\n 'Cunha',\n 'Descalvado',\n 'Diadema',\n 'Dirce Reis',\n 'Divinolândia',\n 'Dobrada',\n 'Dois Córregos',\n 'Dolcinópolis',\n 'Dourado',\n 'Dracena',\n 'Duartina',\n 'Dumont',\n 'Echaporã',\n 'Eldorado',\n 'Elias Fausto',\n 'Elisiário',\n 'Embaúba',\n 'Embu',\n 'Embu-Guaçu',\n 'Emilianópolis',\n 'Engenheiro Coelho',\n 'Espírito Santo do Pinhal',\n 'Espírito Santo do Turvo',\n 'Estiva Gerbi',\n 'Estrela d`Oeste',\n 'Estrela do Norte',\n 'Euclides da Cunha Paulista',\n 'Fartura',\n 'Fernandópolis',\n 'Fernando Prestes',\n 'Fernão',\n 'Ferraz de Vasconcelos',\n 'Flora Rica',\n 'Floreal',\n 'Flórida Paulista',\n 'Florínia',\n 'Franca',\n 'Francisco Morato',\n 'Franco da Rocha',\n 'Gabriel Monteiro',\n 'Gália',\n 'Garça',\n 'Gastão Vidigal',\n 'Gavião Peixoto',\n 'General Salgado',\n 'Getulina',\n 'Glicério',\n 'Guaiçara',\n 'Guaimbê',\n 'Guaíra',\n 'Guapiaçu',\n 'Guapiara',\n 'Guará',\n 'Guaraçaí',\n 'Guaraci',\n 'Guarani d`Oeste',\n 'Guarantã',\n 'Guararapes',\n 'Guararema',\n 'Guaratinguetá',\n 'Guareí',\n 'Guariba',\n 'Guarujá',\n 'Guarulhos',\n 'Guatapará',\n 'Guzolândia',\n 'Herculândia',\n 'Holambra',\n 'Hortolândia',\n 'Iacanga',\n 'Iacri',\n 'Iaras',\n 'Ibaté',\n 'Ibirá',\n 'Ibirarema',\n 'Ibitinga',\n 'Ibiúna',\n 'Icém',\n 'Iepê',\n 'Igaraçu do Tietê',\n 'Igarapava',\n 'Igaratá',\n 'Iguape',\n 'Ilhabela',\n 'Ilha Comprida',\n 'Ilha Solteira',\n 'Indaiatuba',\n 'Indiana',\n 'Indiaporã',\n 'Inúbia Paulista',\n 'Ipauçu',\n 'Iperó',\n 'Ipeúna',\n 'Ipiguá',\n 'Iporanga',\n 'Ipuã',\n 'Iracemápolis',\n 'Irapuã',\n 'Irapuru',\n 'Itaberá',\n 'Itaí',\n 'Itajobi',\n 'Itaju',\n 'Itanhaém',\n 'Itaóca',\n 'Itapecerica da Serra',\n 'Itapetininga',\n 'Itapeva',\n 'Itapevi',\n 'Itapira',\n 'Itapirapuã Paulista',\n 'Itápolis',\n 'Itaporanga',\n 'Itapuí',\n 'Itapura',\n 'Itaquaquecetuba',\n 'Itararé',\n 'Itariri',\n 'Itatiba',\n 'Itatinga',\n 'Itirapina',\n 'Itirapuã',\n 'Itobi',\n 'Itu',\n 'Itupeva',\n 'Ituverava',\n 'Jaborandi',\n 'Jaboticabal',\n 'Jacareí',\n 'Jaci',\n 'Jacupiranga',\n 'Jaguariúna',\n 'Jales',\n 'Jambeiro',\n 'Jandira',\n 'Jardinópolis',\n 'Jarinu',\n 'Jaú',\n 'Jeriquara',\n 'Joanópolis',\n 'João Ramalho',\n 'José Bonifácio',\n 'Júlio Mesquita',\n 'Jumirim',\n 'Jundiaí',\n 'Junqueirópolis',\n 'Juquiá',\n 'Juquitiba',\n 'Lagoinha',\n 'Laranjal Paulista',\n 'Lavínia',\n 'Lavrinhas',\n 'Leme',\n 'Lençóis Paulista',\n 'Limeira',\n 'Lindóia',\n 'Lins',\n 'Lorena',\n 'Lourdes',\n 'Louveira',\n 'Lucélia',\n 'Lucianópolis',\n 'Luís Antônio',\n 'Luiziânia',\n 'Lupércio',\n 'Lutécia',\n 'Macatuba',\n 'Macaubal',\n 'Macedônia',\n 'Magda',\n 'Mairinque',\n 'Mairiporã',\n 'Manduri',\n 'Marabá Paulista',\n 'Maracaí',\n 'Marapoama',\n 'Mariápolis',\n 'Marília',\n 'Marinópolis',\n 'Martinópolis',\n 'Matão',\n 'Mauá',\n 'Mendonça',\n 'Meridiano',\n 'Mesópolis',\n 'Miguelópolis',\n 'Mineiros do Tietê',\n 'Miracatu',\n 'Mira Estrela',\n 'Mirandópolis',\n 'Mirante do Paranapanema',\n 'Mirassol',\n 'Mirassolândia',\n 'Mococa',\n 'Mogi das Cruzes',\n 'Mogi Guaçu',\n 'Mogi Mirim',\n 'Mombuca',\n 'Monções',\n 'Mongaguá',\n 'Monte Alegre do Sul',\n 'Monte Alto',\n 'Monte Aprazível',\n 'Monte Azul Paulista',\n 'Monte Castelo',\n 'Monteiro Lobato',\n 'Monte Mor',\n 'Morro Agudo',\n 'Morungaba',\n 'Motuca',\n 'Murutinga do Sul',\n 'Nantes',\n 'Narandiba',\n 'Natividade da Serra',\n 'Nazaré Paulista',\n 'Neves Paulista',\n 'Nhandeara',\n 'Nipoã',\n 'Nova Aliança',\n 'Nova Campina',\n 'Nova Canaã Paulista',\n 'Nova Castilho',\n 'Nova Europa',\n 'Nova Granada',\n 'Nova Guataporanga',\n 'Nova Independência',\n 'Novais',\n 'Nova Luzitânia',\n 'Nova Odessa',\n 'Novo Horizonte',\n 'Nuporanga',\n 'Ocauçu',\n 'Óleo',\n 'Olímpia',\n 'Onda Verde',\n 'Oriente',\n 'Orindiúva',\n 'Orlândia',\n 'Osasco',\n 'Oscar Bressane',\n 'Osvaldo Cruz',\n 'Ourinhos',\n 'Ouroeste',\n 'Ouro Verde',\n 'Pacaembu',\n 'Palestina',\n 'Palmares Paulista',\n 'Palmeira d`Oeste',\n 'Palmital',\n 'Panorama',\n 'Paraguaçu Paulista',\n 'Paraibuna',\n 'Paraíso',\n 'Paranapanema',\n 'Paranapuã',\n 'Parapuã',\n 'Pardinho',\n 'Pariquera-Açu',\n 'Parisi',\n 'Patrocínio Paulista',\n 'Paulicéia',\n 'Paulínia',\n 'Paulistânia',\n 'Paulo de Faria',\n 'Pederneiras',\n 'Pedra Bela',\n 'Pedranópolis',\n 'Pedregulho',\n 'Pedreira',\n 'Pedrinhas Paulista',\n 'Pedro de Toledo',\n 'Penápolis',\n 'Pereira Barreto',\n 'Pereiras',\n 'Peruíbe',\n 'Piacatu',\n 'Piedade',\n 'Pilar do Sul',\n 'Pindamonhangaba',\n 'Pindorama',\n 'Pinhalzinho',\n 'Piquerobi',\n 'Piquete',\n 'Piracaia',\n 'Piracicaba',\n 'Piraju',\n 'Pirajuí',\n 'Pirangi',\n 'Pirapora do Bom Jesus',\n 'Pirapozinho',\n 'Pirassununga',\n 'Piratininga',\n 'Pitangueiras',\n 'Planalto',\n 'Platina',\n 'Poá',\n 'Poloni',\n 'Pompéia',\n 'Pongaí',\n 'Pontal',\n 'Pontalinda',\n 'Pontes Gestal',\n 'Populina',\n 'Porangaba',\n 'Porto Feliz',\n 'Porto Ferreira',\n 'Potim',\n 'Potirendaba',\n 'Pracinha',\n 'Pradópolis',\n 'Praia Grande',\n 'Pratânia',\n 'Presidente Alves',\n 'Presidente Bernardes',\n 'Presidente Epitácio',\n 'Presidente Prudente',\n 'Presidente Venceslau',\n 'Promissão',\n 'Quadra',\n 'Quatá',\n 'Queiroz',\n 'Queluz',\n 'Quintana',\n 'Rafard',\n 'Rancharia',\n 'Redenção da Serra',\n 'Regente Feijó',\n 'Reginópolis',\n 'Registro',\n 'Restinga',\n 'Ribeira',\n 'Ribeirão Bonito',\n 'Ribeirão Branco',\n 'Ribeirão Corrente',\n 'Ribeirão dos Índios',\n 'Ribeirão do Sul',\n 'Ribeirão Grande',\n 'Ribeirão Pires',\n 'Ribeirão Preto',\n 'Rifaina',\n 'Rincão',\n 'Rinópolis',\n 'Rio Claro',\n 'Rio das Pedras',\n 'Rio Grande da Serra',\n 'Riolândia',\n 'Riversul',\n 'Rosana',\n 'Roseira',\n 'Rubiácea',\n 'Rubinéia',\n 'Sabino',\n 'Sagres',\n 'Sales',\n 'Sales Oliveira',\n 'Salesópolis',\n 'Salmourão',\n 'Saltinho',\n 'Salto',\n 'Salto de Pirapora',\n 'Salto Grande',\n 'Sandovalina',\n 'Santa Adélia',\n 'Santa Albertina',\n 'Santa Bárbara d`Oeste',\n 'Santa Branca',\n 'Santa Clara d`Oeste',\n 'Santa Cruz da Conceição',\n 'Santa Cruz da Esperança',\n 'Santa Cruz das Palmeiras',\n 'Santa Cruz do Rio Pardo',\n 'Santa Ernestina',\n 'Santa Fé do Sul',\n 'Santa Gertrudes',\n 'Santa Isabel',\n 'Santa Lúcia',\n 'Santa Maria da Serra',\n 'Santa Mercedes',\n 'Santana da Ponte Pensa',\n 'Santana de Parnaíba',\n 'Santa Rita d`Oeste',\n 'Santa Rita do Passa Quatro',\n 'Santa Rosa de Viterbo',\n 'Santa Salete',\n 'Santo Anastácio',\n 'Santo André',\n 'Santo Antônio da Alegria',\n 'Santo Antônio de Posse',\n 'Santo Antônio do Aracanguá',\n 'Santo Antônio do Jardim',\n 'Santo Antônio do Pinhal',\n 'Santo Expedito',\n 'Santópolis do Aguapeí',\n 'Santos',\n 'São Bento do Sapucaí',\n 'São Bernardo do Campo',\n 'São Caetano do Sul',\n 'São Carlos',\n 'São Francisco',\n 'São João da Boa Vista',\n 'São João das Duas Pontes',\n 'São João de Iracema',\n 'São João do Pau d`Alho',\n 'São Joaquim da Barra',\n 'São José da Bela Vista',\n 'São José do Barreiro',\n 'São José do Rio Pardo',\n 'São José do Rio Preto',\n 'São José dos Campos',\n 'São Lourenço da Serra',\n 'São Luís do Paraitinga',\n 'São Manuel',\n 'São Miguel Arcanjo',\n 'São Paulo',\n 'São Pedro',\n 'São Pedro do Turvo',\n 'São Roque',\n 'São Sebastião',\n 'São Sebastião da Grama',\n 'São Simão',\n 'São Vicente',\n 'Sarapuí',\n 'Sarutaiá',\n 'Sebastianópolis do Sul',\n 'Serra Azul',\n 'Serrana',\n 'Serra Negra',\n 'Sertãozinho',\n 'Sete Barras',\n 'Severínia',\n 'Silveiras',\n 'Socorro',\n 'Sorocaba',\n 'Sud Mennucci',\n 'Sumaré',\n 'Suzanápolis',\n 'Suzano',\n 'Tabapuã',\n 'Tabatinga',\n 'Taboão da Serra',\n 'Taciba',\n 'Taguaí',\n 'Taiaçu',\n 'Taiúva',\n 'Tambaú',\n 'Tanabi',\n 'Tapiraí',\n 'Tapiratiba',\n 'Taquaral',\n 'Taquaritinga',\n 'Taquarituba',\n 'Taquarivaí',\n 'Tarabai',\n 'Tarumã',\n 'Tatuí',\n 'Taubaté',\n 'Tejupá',\n 'Teodoro Sampaio',\n 'Terra Roxa',\n 'Tietê',\n 'Timburi',\n 'Torre de Pedra',\n 'Torrinha',\n 'Trabiju',\n 'Tremembé',\n 'Três Fronteiras',\n 'Tuiuti',\n 'Tupã',\n 'Tupi Paulista',\n 'Turiúba',\n 'Turmalina',\n 'Ubarana',\n 'Ubatuba',\n 'Ubirajara',\n 'Uchoa',\n 'União Paulista',\n 'Urânia',\n 'Uru',\n 'Urupês',\n 'Valentim Gentil',\n 'Valinhos',\n 'Valparaíso',\n 'Vargem',\n 'Vargem Grande do Sul',\n 'Vargem Grande Paulista',\n 'Várzea Paulista',\n 'Vera Cruz',\n 'Vinhedo',\n 'Viradouro',\n 'Vista Alegre do Alto',\n 'Vitória Brasil',\n 'Votorantim',\n 'Votuporanga',\n 'Zacarias',\n ],\n ],\n [\n 'SE',\n [\n 'Amparo de São Francisco',\n 'Aquidabã',\n 'Aracaju',\n 'Arauá',\n 'Areia Branca',\n 'Barra dos Coqueiros',\n 'Boquim',\n 'Brejo Grande',\n 'Campo do Brito',\n 'Canhoba',\n 'Canindé de São Francisco',\n 'Capela',\n 'Carira',\n 'Carmópolis',\n 'Cedro de São João',\n 'Cristinápolis',\n 'Cumbe',\n 'Divina Pastora',\n 'Estância',\n 'Feira Nova',\n 'Frei Paulo',\n 'Gararu',\n 'General Maynard',\n 'Gracho Cardoso',\n 'Ilha das Flores',\n 'Indiaroba',\n 'Itabaiana',\n 'Itabaianinha',\n 'Itabi',\n 'Itaporanga d`Ajuda',\n 'Japaratuba',\n 'Japoatã',\n 'Lagarto',\n 'Laranjeiras',\n 'Macambira',\n 'Malhada dos Bois',\n 'Malhador',\n 'Maruim',\n 'Moita Bonita',\n 'Monte Alegre de Sergipe',\n 'Muribeca',\n 'Neópolis',\n 'Nossa Senhora Aparecida',\n 'Nossa Senhora da Glória',\n 'Nossa Senhora das Dores',\n 'Nossa Senhora de Lourdes',\n 'Nossa Senhora do Socorro',\n 'Pacatuba',\n 'Pedra Mole',\n 'Pedrinhas',\n 'Pinhão',\n 'Pirambu',\n 'Poço Redondo',\n 'Poço Verde',\n 'Porto da Folha',\n 'Propriá',\n 'Riachão do Dantas',\n 'Riachuelo',\n 'Ribeirópolis',\n 'Rosário do Catete',\n 'Salgado',\n 'Santa Luzia do Itanhy',\n 'Santana do São Francisco',\n 'Santa Rosa de Lima',\n 'Santo Amaro das Brotas',\n 'São Cristóvão',\n 'São Domingos',\n 'São Francisco',\n 'São Miguel do Aleixo',\n 'Simão Dias',\n 'Siriri',\n 'Telha',\n 'Tobias Barreto',\n 'Tomar do Geru',\n 'Umbaúba',\n ],\n ],\n [\n 'TO',\n [\n 'Abreulândia',\n 'Aguiarnópolis',\n 'Aliança do Tocantins',\n 'Almas',\n 'Alvorada',\n 'Ananás',\n 'Angico',\n 'Aparecida do Rio Negro',\n 'Aragominas',\n 'Araguacema',\n 'Araguaçu',\n 'Araguaína',\n 'Araguanã',\n 'Araguatins',\n 'Arapoema',\n 'Arraias',\n 'Augustinópolis',\n 'Aurora do Tocantins',\n 'Axixá do Tocantins',\n 'Babaçulândia',\n 'Bandeirantes do Tocantins',\n 'Barra do Ouro',\n 'Barrolândia',\n 'Bernardo Sayão',\n 'Bom Jesus do Tocantins',\n 'Brasilândia do Tocantins',\n 'Brejinho de Nazaré',\n 'Buriti do Tocantins',\n 'Cachoeirinha',\n 'Campos Lindos',\n 'Cariri do Tocantins',\n 'Carmolândia',\n 'Carrasco Bonito',\n 'Caseara',\n 'Centenário',\n 'Chapada da Natividade',\n 'Chapada de Areia',\n 'Colinas do Tocantins',\n 'Colméia',\n 'Combinado',\n 'Conceição do Tocantins',\n 'Couto de Magalhães',\n 'Cristalândia',\n 'Crixás do Tocantins',\n 'Darcinópolis',\n 'Dianópolis',\n 'Divinópolis do Tocantins',\n 'Dois Irmãos do Tocantins',\n 'Dueré',\n 'Esperantina',\n 'Fátima',\n 'Figueirópolis',\n 'Filadélfia',\n 'Formoso do Araguaia',\n 'Fortaleza do Tabocão',\n 'Goianorte',\n 'Goiatins',\n 'Guaraí',\n 'Gurupi',\n 'Ipueiras',\n 'Itacajá',\n 'Itaguatins',\n 'Itapiratins',\n 'Itaporã do Tocantins',\n 'Jaú do Tocantins',\n 'Juarina',\n 'Lagoa da Confusão',\n 'Lagoa do Tocantins',\n 'Lajeado',\n 'Lavandeira',\n 'Lizarda',\n 'Luzinópolis',\n 'Marianópolis do Tocantins',\n 'Mateiros',\n 'Maurilândia do Tocantins',\n 'Miracema do Tocantins',\n 'Miranorte',\n 'Monte do Carmo',\n 'Monte Santo do Tocantins',\n 'Muricilândia',\n 'Natividade',\n 'Nazaré',\n 'Nova Olinda',\n 'Nova Rosalândia',\n 'Novo Acordo',\n 'Novo Alegre',\n 'Novo Jardim',\n 'Oliveira de Fátima',\n 'Palmas',\n 'Palmeirante',\n 'Palmeiras do Tocantins',\n 'Palmeirópolis',\n 'Paraíso do Tocantins',\n 'Paranã',\n 'Pau D`Arco',\n 'Pedro Afonso',\n 'Peixe',\n 'Pequizeiro',\n 'Pindorama do Tocantins',\n 'Piraquê',\n 'Pium',\n 'Ponte Alta do Bom Jesus',\n 'Ponte Alta do Tocantins',\n 'Porto Alegre do Tocantins',\n 'Porto Nacional',\n 'Praia Norte',\n 'Presidente Kennedy',\n 'Pugmil',\n 'Recursolândia',\n 'Riachinho',\n 'Rio da Conceição',\n 'Rio dos Bois',\n 'Rio Sono',\n 'Sampaio',\n 'Sandolândia',\n 'Santa Fé do Araguaia',\n 'Santa Maria do Tocantins',\n 'Santa Rita do Tocantins',\n 'Santa Rosa do Tocantins',\n 'Santa Tereza do Tocantins',\n 'Santa Terezinha do Tocantins',\n 'São Bento do Tocantins',\n 'São Félix do Tocantins',\n 'São Miguel do Tocantins',\n 'São Salvador do Tocantins',\n 'São Sebastião do Tocantins',\n 'São Valério da Natividade',\n 'Silvanópolis',\n 'Sítio Novo do Tocantins',\n 'Sucupira',\n 'Taguatinga',\n 'Taipas do Tocantins',\n 'Talismã',\n 'Tocantínia',\n 'Tocantinópolis',\n 'Tupirama',\n 'Tupiratins',\n 'Wanderlândia',\n 'Xambioá',\n ],\n ],\n ]\n\n get(estado: string) {\n const index = this.estados.indexOf(estado)\n if (index != -1) {\n return this.cidades[index][1]\n } else {\n return []\n }\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { CursoEdicaoInscricao } from '../models/curso-edicao-inscricao'\nimport { CursoEdicaoPublico } from '../models/curso-edicao-public'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CursoEdicaoInscricaoService extends UnespCoreGenericService {\n readonly ROUTE = 'publico/curso-edicao-inscricao'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n listarInscricoesAbertas(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(this.ROUTE + '/inscricoes-abertas', params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarInscricoesFuturas(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(this.ROUTE + '/inscricoes-futuras', params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarInscricoesEmAndamento(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(this.ROUTE + '/inscricoes-em-andamento', params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n getProposta(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { identity, Observable } from 'rxjs'\nimport { CursoEdicaoPublicacao, CursoEdicaoPublicacaoForm } from '../models/curso-edicao-publicacao'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CursoEdicaoPublicacaoService extends UnespCoreGenericService {\n\n readonly ROUTE_PUBLIC = 'publico/curso-edicao-publicacao'\n readonly ROUTE = 'curso-edicao-publicacao'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n listarPorCursoEdicaoId(cursoEdicaoId: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE_PUBLIC}/${cursoEdicaoId}`)\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n gravar(CursoEdicaoPublicacao: CursoEdicaoPublicacaoForm): Observable {\n return this.create(this.ROUTE, CursoEdicaoPublicacao).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, CursoEdicaoPublicacao: CursoEdicaoPublicacaoForm): Observable {\n return this.update(`${this.ROUTE}/${id}`, CursoEdicaoPublicacao).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","export class DeleteIds {\n constructor(ids: string[]) {\n this.ids = ids\n }\n\n ids: string[]\n}\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { CursoEdicao } from '../models/curso-edicao'\nimport { CursoEdicaoForm } from '../models/curso-edicao-form'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { CursoEdicaoAnaliseFinanceira } from '../models/curso-edicao-analise-financeira'\nimport { CursoEdicaoDetalhes } from '../models/curso-edicao-detalhes'\nimport { CursoEdicaoSituacao } from '../models/curso-edicao-situacao'\nimport { CursoEdicaoDadosComplementares } from '../models/curso-edicao-dados-complementares'\nimport { CursoEdicaoDocumentoComplementar } from '../models/curso-edicao-documento-complementar'\nimport { DeleteIds } from '../models/delete-ids'\nimport { CursoEdicaoForAluno } from '../models/curso-edicao-for-aluno'\nimport { CursoEdicaoSituacaoAlunos } from '../models/curso-edicao-situacao-alunos'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CursoEdicaoService extends UnespCoreGenericService {\n readonly ROUTE = 'curso-edicao'\n readonly PUBLIC_ROUTE_INSCRICAO = 'publico/curso-edicao-inscricao'\n\n client!: HttpClient\n baseUrl!: string\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n this.baseUrl = environment.baseUrlApi\n }\n\n listar(\n cursoId: number,\n pagination: any,\n pesquisa?: string,\n situacao?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n .append('cursoId', cursoId)\n .append('situacao', situacao ? situacao : '')\n return this.fetchPagination(this.ROUTE, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarParaAvaliacao(\n cursoId: number,\n pagination: any,\n pesquisa?: string,\n situacao?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n .append('cursoId', cursoId)\n .append('situacao', situacao ? situacao : '')\n return this.fetchPagination(`${this.ROUTE}/avaliacoes`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarParaRelatorio(\n cursoId: number,\n pagination: any,\n pesquisa?: string,\n situacao?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n .append('cursoId', cursoId)\n .append('situacao', situacao ? situacao : '')\n return this.fetchPagination(`${this.ROUTE}/relatorios`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getUltimaEdicao(cursoId: number): Observable {\n return this.findById(`${this.ROUTE}/ultima-edicao`, cursoId)\n }\n\n getCursoEdicao(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n getCursoEdicaoPublico(id: number): Observable {\n return this.findById(this.PUBLIC_ROUTE_INSCRICAO+'/form', id)\n }\n\n getDetalhes(cursoId: number, edicao: number): Observable {\n return this.findById(`${this.ROUTE}/detalhes/${cursoId}`, edicao)\n }\n\n getDetalhesById(id: number): Observable {\n return this.findById(`${this.ROUTE}/detalhes`, id)\n }\n\n getDetalhesPorDocenteDisciplina(cursoId: number, edicao: number): Observable {\n return this.findById(`${this.ROUTE}/detalhes/docente/${cursoId}`, edicao)\n }\n\n gravar(cursoEdicaoForm: CursoEdicaoForm): Observable {\n return this.create(this.ROUTE, cursoEdicaoForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, cursoEdicaoForm: CursoEdicaoForm): Observable {\n return this.update(`${this.ROUTE}/${id}`, cursoEdicaoForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n listarParaAnaliseFinanceira(\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/analise-financeira`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n getParaAnaliseFinanceira(id: number): Observable {\n return this.findById(`${this.ROUTE}/analise-financeira`, id)\n }\n\n getDocumentosComplementares(id: number): Observable {\n return this.findById(`${this.ROUTE}/documento-complementar`, id)\n }\n\n excluirDocumentosComplementares(ids: number[]): Observable {\n let deleteIds = new DeleteIds(ids.map(id => String(id)))\n return this.client.delete(`${this.baseUrl}/${this.ROUTE}/documento-complementar/excluir`, {\n body: deleteIds,\n }) as Observable\n }\n\n bloquear(id: number, bloquear: boolean): Observable {\n return this.update(`${this.ROUTE}/${id}/bloquear`, bloquear).pipe(identity, this.errorHandlerService.catchError())\n }\n\n encaminhar(id: number): Observable {\n return this.update(`${this.ROUTE}/${id}/encaminhar`, true).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizarSituacao(id: number, situacao: string): Observable {\n return this.update(`${this.ROUTE}/${id}/situacao`, { id, situacao }).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n\n atualizarDadosComplementares(\n id: number,\n form: CursoEdicaoDadosComplementares\n ): Observable {\n return this.update(`${this.ROUTE}/${id}/dados-complementares`, form).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n\n gerarArquivoCsv(pesquisa: string, situacao: string, cursoId: number) {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'text/csv')\n this.client\n .get(`${this.baseUrl}/${this.ROUTE}/gerar-csv`, {\n headers: headers,\n responseType: 'blob' as 'json',\n observe: 'response',\n params: new HttpParams().set('pesquisa', pesquisa).set('situacao', situacao).set('cursoId', cursoId),\n })\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = `Lista de Cursos Edicao.csv`\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n })\n }\n\n listarPorAluno(\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa || '')\n return this.fetchPagination(this.ROUTE + '/porAluno', params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n getDocumentosDadosComplementares(cursoId: number, cpfUsuario: string): void{\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/documento-dados-complementares/${cursoId}`,\n cpfUsuario,\n this.requestPdfOptions(),\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `dados_complementares_proposta`))\n }\n\n\n private requestPdfOptions(): any {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'application/pdf')\n return { headers: headers, responseType: 'blob' as 'json', observe: 'response' }\n }\n\n private dowloadArquivoDaResposta(res: any, nomeDoArquivo: string) {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = nomeDoArquivo\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n }\n\n getSituacaoAlunos(cursoId: number, edicao: number): Observable {\n return this.get(`${this.ROUTE}/${cursoId}/${edicao}/situacao-alunos`)\n }\n\n token(id: number): Observable {\n return this.client.get(`${this.baseUrl}/${this.ROUTE}/${id}/token`, { responseType: 'text' })\n }\n\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { Curso } from '../models/curso'\nimport { CursoForm } from '../models/curso-form'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CursoService extends UnespCoreGenericService {\n readonly ROUTE = 'curso'\n readonly PUBLIC_ROUTE = 'publico/' + this.ROUTE\n client!: HttpClient\n private baseUrl: string\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n this.baseUrl = environment.baseUrlApi\n }\n\n listar(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(this.ROUTE, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getCurso(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n getNomePublico(id: number): Observable {\n return this.client\n .get(this.baseUrl + '/' + this.PUBLIC_ROUTE + '/' + id, { responseType: 'text' })\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n gravar(cursoForm: CursoForm): Observable {\n return this.create(this.ROUTE, cursoForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, cursoForm: CursoForm): Observable {\n return this.update(`${this.ROUTE}/${id}`, cursoForm).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DataService {\n constructor() {}\n\n stringBrToStringUs(data: string): string {\n if (data == null || data == '' || data == undefined) {\n return ''\n }\n if (!data.includes('/') && data.includes('-')) {\n return data\n }\n const dataSplit = data.split('/')\n return dataSplit[2] + '-' + dataSplit[1] + '-' + dataSplit[0]\n }\n\n stringUsToStringBr(data: string): string {\n if (data == null || data == '' || data == undefined) {\n return ''\n }\n if (!data.includes('-') && data.includes('/')) {\n return data\n }\n const dataSplit = data.split('-')\n return dataSplit[2] + '/' + dataSplit[1] + '/' + dataSplit[0]\n }\n\n dateToStringBr(data: Date): string {\n if (data == null || data == undefined) {\n return ''\n }\n let year = data.getFullYear()\n let mounth = (data.getMonth() + 1).toString()\n let day = data.getDate().toString()\n day = day.toString().length === 1 ? '0' + day : day\n mounth = mounth.toString().length === 1 ? '0' + mounth : mounth\n return day + '/' + mounth + '/' + year\n }\n\n dateIsValid(dateStr: string): boolean {\n const regex = /^\\d{2}\\/\\d{2}\\/\\d{4}$/\n if (dateStr.match(regex) === null) {\n return false\n }\n if (dateStr === '11/11/1111') {\n return false\n }\n const [day, month, year] = dateStr.split('/')\n const isoFormattedStr = `${year}-${month}-${day}`\n const date = new Date(isoFormattedStr)\n const timestamp = date.getTime()\n if (typeof timestamp !== 'number' || Number.isNaN(timestamp)) {\n return false\n }\n return date.toISOString().startsWith(isoFormattedStr)\n }\n\n dateToStringUs(date: Date): string {\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n\n return `${year}-${month}-${day}`\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { DocenteDisciplina } from '../models/docente-disciplina'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocenteDisciplinaService extends UnespCoreGenericService {\n readonly ROUTE = 'docente-disciplina'\n readonly PUBLIC_ROUTE = 'publico/' + this.ROUTE\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n listar(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarPorDocenteDisciplina(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/docente/disciplinas/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarPublico(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.PUBLIC_ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getDocenteDisciplina(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n gravar(docenteDisciplina: DocenteDisciplina): Observable {\n return this.create(this.ROUTE, docenteDisciplina).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { identity, Observable } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { DadosCertificadoConferencia } from '../models/dados-certificado-conferencia'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EdicaoAlunoRelatoriosService extends UnespCoreGenericService {\n readonly ROUTE = 'edicao-aluno-relatorio'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n private requestPdfOptions(): any {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'application/pdf')\n return { headers: headers, responseType: 'blob' as 'json', observe: 'response' }\n }\n\n // private requestZipOptions(): any {\n // let headers = new HttpHeaders()\n // headers = headers.set('Accept', 'application/zip')\n // return { headers: headers, responseType: 'blob' as 'json', observe: 'response' }\n // }\n\n private dowloadArquivoDaResposta(res: any, nomeDoArquivo: string) {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = nomeDoArquivo+'.pdf'\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n }\n\n getFichasDeInscricao(cursoId: number, edicao: number, alunos: number[]): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/ficha-de-inscricao/${cursoId}/${edicao}`,\n alunos,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_fichas_de_inscricao`))\n }\n\n getAtestadoMatricula(cursoId: number, edicao: number, alunos: number[]): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/atestado-de-matricula/${cursoId}/${edicao}`,\n alunos,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_atestado_de_matricula`))\n }\n\n getAtestadoDeConclusaoDoCurso(cursoId: number, edicao: number, alunos: number[]): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/atestado-de-conclusao-do-curso/${cursoId}/${edicao}`,\n alunos,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError('Os alunos selecionados não possuem monografia cadastrada.'))\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_atestado_de_conclusao_do_curso`))\n }\n\n getHistoricoEscolar(cursoId: number, edicao: number, alunos: number[]): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/historico-escolar/${cursoId}/${edicao}`,\n alunos,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_historico_escolar`))\n }\n\n getListaDePresencaDoCurso(cursoId: number, edicao: number, disciplinaId: number, data: Date): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/lista-de-presenca/${cursoId}/${edicao}`,\n { disciplinaId, data },\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_${disciplinaId}_lista_de_presenca`))\n }\n\n getListaDePresencaDoCursoPorDocenteDisciplina(cursoId: number, edicao: number, disciplinaId: number, data: Date): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/docente/lista-de-presenca/${cursoId}/${edicao}`,\n { disciplinaId, data },\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_${disciplinaId}_lista_de_presenca`))\n }\n\n // getCertificado(cursoId: number, edicao: number, alunos: number[]): void {\n // this.client\n // .post(`${this.ENDPOINT}/${this.ROUTE}/certificado/${cursoId}/${edicao}`, alunos, this.requestZipOptions())\n // .pipe(identity, this.errorHandlerService.catchError())\n // .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_certificado`))\n // }\n\n getDocumentosDisponiveisAluno(cursoEdicaoId: number): Observable {\n return this.get(`${this.ROUTE}/documentos-disponiveis/${cursoEdicaoId}`).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n\n getAtestadoDeMatriculaAluno(cursoEdicaoId: number): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/atestado-matricula-aluno/${cursoEdicaoId}`,\n null,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoEdicaoId}_atestado_de_matricula`))\n }\n\n getAtestadoDeConclusaoAluno(cursoEdicaoId: number): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/atestado-conclusao-aluno/${cursoEdicaoId}`,\n null,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoEdicaoId}_atestado_de_conclusao`))\n }\n\n getHistoricoEscolarAluno(cursoEdicaoId: number): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/historico-escolar-aluno/${cursoEdicaoId}`,\n null,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoEdicaoId}_historico-escolar`))\n }\n\n getCertificadoAluno(cursoEdicaoId: number): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/certificado-aluno/${cursoEdicaoId}`,\n null,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoEdicaoId}_certificado`))\n }\n\n getCertificadoAlunoConferencia(cursoEdicaoId: number): Observable {\n return this.findById(`${this.ROUTE}/certificado-aluno/conferencia`, cursoEdicaoId)\n }\n\n notificarDivergencia(cursoEdicaoId: number) {\n return this.client.put(`${this.ENDPOINT}/${this.ROUTE}/certificado-aluno/conferencia/${cursoEdicaoId}`, [])\n }\n\n getRelacaoEscolhaModuloAluno(cursoId: number, edicao: number, alunos: number[]): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/aluno-edicao-enfase-preferencia/${cursoId}/${edicao}`,\n alunos,\n this.requestPdfOptions()\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `${cursoId}_${edicao}_aluno-edicao-enfase-preferencia`))\n }\n}\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { EdicaoAlunoForm } from '../models/edicao-aluno-form'\nimport { EdicaoAlunoListar } from '../models/edicao-aluno-listar'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { EdicaoAluno } from '../models/edicao-aluno'\nimport { EdicaoAlunoDocumento } from '../models/edicao-aluno-documento'\nimport { EdicaoAlunoStatus } from '../models/edicao-aluno-status'\nimport { EdicaoAlunoInscricoesListar } from '../models/edicao-aluno-inscricoes-listar'\nimport { AlunoCertificado } from '../models/aluno-certificado'\nimport { EdicaoAlunoDocumentoEdicao } from '../models/edicao-aluno-documento-edicao'\nimport { EdicaoAlunoFormularioComplementar } from '../models/edicao-aluno-formulario-complementar'\nimport { EdicaoAlunoListagemGeral } from '../models/edicao-aluno-listagem-geral'\nimport { EdicaoAlunoAlterarSituacaoLote } from '../models/edicao-aluno-alterar-situacao-lote'\nimport { CursoEdicaoDocumentoInscricao } from '../models/curso-edicao-documento-inscricao'\nimport { AlunoEdicaoEnfasePreferencia } from '../models/aluno-edicao-enfase-preferencia'\nimport { CheckCentralAcessos } from '../modules/unidade/central-acessos/central-acessos-editar.component'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EdicaoAlunoService extends UnespCoreGenericService {\n \n readonly ROUTE = 'edicao-aluno'\n readonly PUBLIC_ROUTE = 'publico/' + this.ROUTE\n client!: HttpClient\n baseUrl!: string\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n this.baseUrl = environment.baseUrlApi\n }\n\n listar(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string,\n situacao?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n .append('situacao', situacao ? situacao : '')\n return this.fetchPagination(`${this.ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarPorDocenteDisciplina(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string,\n situacao?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n .append('situacao', situacao ? situacao : '')\n return this.fetchPagination(`${this.ROUTE}/docente/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listagemGeral(\n pagination: any,\n pesquisa?: string,\n situacao?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n .append('situacao', situacao ? situacao : '')\n return this.fetchPagination(`${this.ROUTE}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getEdicaoAluno(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n getEdicaoAlunoPublico(id: number): Observable {\n return this.findById(this.PUBLIC_ROUTE, id)\n }\n\n getAlunoPreExistente(cpf: string): Observable {\n return this.get(`${this.ROUTE}/aluno-existente/${cpf}`).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n\n getByCursoIdEdicaoCpf(cursoId: number, edicao: number, cpf: string): Observable {\n return this.findById(`${this.ROUTE}/${cursoId}/${edicao}`, cpf)\n }\n\n isPermitidoSalvarAluno(cursoId: number, edicao: number): Observable {\n return this.get(`${this.ROUTE}/permitido-salvar-aluno/${cursoId}/${edicao}`)\n }\n \n getCursoEdicaoInfo(id: number): Observable {\n return this.findById(`${this.ROUTE}/curso-edicao-info`, id)\n }\n\n getDocumentos(cursoId: number, edicao: number): Observable {\n return this.get(`${this.ROUTE}/documentos/${cursoId}/${edicao}`)\n }\n\n getDocumentosAlunos(alunoEdicaoId: number): Observable {\n return this.get(`${this.ROUTE}/documentos/${alunoEdicaoId}`)\n }\n\n getFormularioComplementarAlunos(cursoId: number, edicao: number, alunoEdicaoId: number): Observable {\n return this.get(`${this.ROUTE}/formulario-complementar/${cursoId}/${edicao}/${alunoEdicaoId}`)\n }\n\n gravar(edicaoAlunoForm: EdicaoAlunoForm): Observable {\n return this.create(this.ROUTE, edicaoAlunoForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n gravarInscricao(edicaoAlunoForm: EdicaoAlunoForm): Observable {\n return this.create(this.PUBLIC_ROUTE, edicaoAlunoForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, edicaoAlunoForm: EdicaoAlunoForm): Observable {\n return this.update(`${this.ROUTE}/${id}/false`, edicaoAlunoForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizarFichaCandidato(id: number, edicaoAlunoForm: EdicaoAlunoForm, notificar: boolean): Observable {\n return this.update(`${this.ROUTE}/${id}/${notificar}`, edicaoAlunoForm).pipe(identity, this.errorHandlerService.catchError())\n }\n\n concluirInscricao(id: number) {\n return this.client.put(`${this.baseUrl}/${this.ROUTE}/${id}/concluir-inscricao`, {})\n }\n\n atualizarFormularioComplementar(id: number, form: any) {\n return this.update(`${this.ROUTE}/formulario-complementar/${id}`, form).pipe(identity, this.errorHandlerService.catchError())\n }\n\n listarDocumentos(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string,\n situacao?: string,\n documento?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n .append('pesquisa', pesquisa ? pesquisa : '')\n .append('situacao', situacao ? situacao : '')\n .append('documento', documento ? documento : '')\n return this.fetchPagination(`${this.ROUTE}/${cursoId}/${edicao}/documentos`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarCerfificados(cursoId: number, edicao: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/${cursoId}/${edicao}/certificados`)\n }\n\n atualizarStatus(id: number, status: string, data: Date | undefined, enviarNotificacao: boolean): Observable {\n return this.update(`${this.ROUTE}/${id}/status`, { id, status, data, enviarNotificacao}).pipe(\n identity,\n this.errorHandlerService.catchError()\n )\n }\n\n atualizarStatusLote(alunosLote: EdicaoAlunoAlterarSituacaoLote): Observable {\n const body = { ids: alunosLote.ids, situacao: alunosLote.situacao, data: alunosLote.data, enviarNotificacao: alunosLote.enviarNotificacao }\n\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'text/csv')\n\n return this.client\n .put(`${this.ENDPOINT}/${this.ROUTE}/status/lote`, body, { \n headers: headers,\n responseType: 'blob' as 'json',\n observe: 'response' })\n .pipe(identity, this.errorHandlerService.catchError())\n }\n\n listarIncricoesCandidato(cpf: string, pagination: any): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n })\n return this.fetchPagination(`${this.ROUTE}/inscricoes/${cpf}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n centralDeAcessos(cursoId: number, edicao: number): void {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'text/csv')\n this.client\n .get(`${this.baseUrl}/${this.ROUTE}/${cursoId}/${edicao}/central-acessos`, {\n headers: headers,\n responseType: 'blob' as 'json',\n observe: 'response',\n })\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = `CentralAcessos-${cursoId}-${edicao}.csv`\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n })\n }\n\n gerarArquivoCsv(cursoId: number, edicao: number, pesquisa: string, situacao: string, path: string = '') {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'text/csv')\n this.client\n .get(`${this.baseUrl}/${this.ROUTE}/${path}gerar-csv`, {\n headers: headers,\n responseType: 'blob' as 'json',\n observe: 'response',\n params: new HttpParams()\n .set('pesquisa', pesquisa)\n .set('situacao', situacao)\n .set('cursoId', cursoId)\n .set('edicao', edicao),\n })\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = `Alunos-${cursoId}-${edicao}.csv`\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n })\n }\n\n getPreferenciaEnfaseByAlunoEdicao(alunoEdicaoId: number): Observable {\n return this.findById(this.ROUTE+'/aluno-edicao-enfase-preferencia', alunoEdicaoId)\n }\n\n checkCentralDeAcessos(idAlunoEdicao: number): Observable {\n return this.findById(`${this.ROUTE}/${idAlunoEdicao}`, 'central-acessos')\n }\n\n updateCentralDeAcessos(idAlunoEdicao: number): Observable {\n return this.client.put(`${this.baseUrl}/${this.ROUTE}/${idAlunoEdicao}/central-acessos`, '', { responseType: 'text' })\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { EdicaoDisciplina } from '../models/edicao-disciplina'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { EdicaoDisciplinaListar } from '../models/edicao-disciplina-listar'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EdicaoDisciplinaService extends UnespCoreGenericService {\n readonly ROUTE = 'edicao-disciplina'\n readonly PUBLIC_ROUTE = 'publico/' + this.ROUTE\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n all(cursoId: number, edicao: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/all/${cursoId}/${edicao}`)\n }\n\n listar(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarDisciplinasPorDocenteDisciplina(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/docente/disciplinas/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarPublico(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.PUBLIC_ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getEdicaoDisciplina(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n getEdicaoDisciplinaPorDocente(id: number): Observable {\n return this.findById(`${this.ROUTE}/docente/notas-faltas`, id)\n }\n\n gravar(edicaoDisciplina: EdicaoDisciplina): Observable {\n return this.create(this.ROUTE, edicaoDisciplina).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, edicaoDisciplina: EdicaoDisciplina): Observable {\n return this.update(`${this.ROUTE}/${id}`, edicaoDisciplina).pipe(identity, this.errorHandlerService.catchError())\n }\n\n possuiEnfase(cursoId: number, edicao: number): Observable {\n return this.findById(`${this.ROUTE}/possui-enfase/${cursoId}`, edicao)\n }\n\n possuiEnfasePublico(cursoId: number, edicao: number): Observable {\n return this.findById(`${this.PUBLIC_ROUTE}/possui-enfase/${cursoId}`, edicao)\n }\n\n possuiEnfasePublicoByIdCursoEdicao(idCursoEdicao: number): Observable {\n return this.get(`${this.PUBLIC_ROUTE}/possui-enfase/${idCursoEdicao}`)\n }\n\n listarPorDocenteDisciplina(cursoId: number, edicao: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/docente/lista-de-presenca/${cursoId}/${edicao}`)\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { UnespCoreEnvironment, UnespCoreGenericService } from '@unesp/core'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { identity } from 'rxjs'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EdicaoDocenteRelatoriosService extends UnespCoreGenericService {\n readonly ROUTE = 'edicao-docente-relatorio'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n private requestPdfOptions(): any {\n let headers = new HttpHeaders()\n headers = headers.set('Accept', 'application/pdf')\n return { headers: headers, responseType: 'blob' as 'json', observe: 'response' }\n }\n\n private dowloadArquivoDaResposta(res: any, nomeDoArquivo: string) {\n let url = window.URL.createObjectURL(res.body)\n let downloadLink = document.createElement('a')\n downloadLink.href = url\n downloadLink.download = nomeDoArquivo\n downloadLink.click()\n window.URL.revokeObjectURL(url)\n downloadLink.remove()\n }\n\n getAtestadoDisciplinasPorDocente(cursoId: number, edicao: number, cpfDocente: string, nomeDocente: string): void {\n this.client\n .post(\n `${this.ENDPOINT}/${this.ROUTE}/atestado-disciplinas-docente/${cursoId}/${edicao}`,\n cpfDocente,\n this.requestPdfOptions(),\n\n )\n .pipe(identity, this.errorHandlerService.catchError())\n .subscribe(res => this.dowloadArquivoDaResposta(res, `atestado_de_disciplinas_${nomeDocente}`))\n }\n\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { catchError, identity, Observable, of } from 'rxjs'\nimport { EdicaoDocente } from '../models/edicao-docente'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EdicaoDocenteService extends UnespCoreGenericService {\n readonly ROUTE = 'edicao-docente'\n readonly PUBLIC_ROUTE = 'publico/' + this.ROUTE\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n all(cursoId: number, edicao: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/all/${cursoId}/${edicao}`)\n }\n\n listar(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n listarPublico(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.PUBLIC_ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getEdicaoDocente(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n gravar(edicaoDocente: EdicaoDocente): Observable {\n return this.create(this.ROUTE, edicaoDocente).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, edicaoDocente: EdicaoDocente): Observable {\n return this.update(`${this.ROUTE}/${id}`, edicaoDocente).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { Observable, catchError, identity, of } from 'rxjs'\nimport { EnfaseModulo } from '../models/enfase-modulo'\nimport { EnfaseModuloForm } from '../models/enfase-modulo-form'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnfaseModuloService extends UnespCoreGenericService {\n readonly ROUTE = 'enfase-modulo'\n readonly PUBLIC_ROUTE = 'publico/enfase-modulo'\n\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n all(cursoId: number, edicao: number): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/all/${cursoId}/${edicao}`)\n }\n\n getModulosPorCursoEdicao(cursoEdicaoId: number): Observable {\n return this.fetchWithoutPagination(`${this.PUBLIC_ROUTE}/curso-edicao/${cursoEdicaoId}`)\n }\n\n getModulosPorAlunoEdicao(alunoEdicaoId: number): Observable {\n return this.fetchWithoutPagination(`${this.PUBLIC_ROUTE}/aluno-edicao/${alunoEdicaoId}`)\n }\n\n listar(\n cursoId: number,\n edicao: number,\n pagination: any,\n pesquisa?: string\n ): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(`${this.ROUTE}/${cursoId}/${edicao}`, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getEnfaseModulo(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n gravar(edicaoDisciplina: EnfaseModuloForm): Observable {\n return this.create(this.ROUTE, edicaoDisciplina).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, edicaoDisciplina: EnfaseModuloForm): Observable {\n return this.update(`${this.ROUTE}/${id}`, edicaoDisciplina).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { Injectable } from '@angular/core'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { EMPTY, catchError as catchErrorRxJS, Observable, OperatorFunction } from 'rxjs'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ErrorHandlerService {\n constructor(private unespCoreMessageService: UnespCoreMessageService) {}\n\n catchError(msg404?: string): OperatorFunction {\n return catchErrorRxJS>(err => {\n if (err.status == 404) {\n this.unespCoreMessageService.showMessageError(msg404 ?? 'O recurso solicitado não está disponível')\n } else {\n if (err.error instanceof Blob) {\n new Response(err.error).text().then(data => {\n const content = data ? JSON.parse(data) : { message: `Erro: ${err.status}` }\n this.unespCoreMessageService.showMessageError(content.message)\n })\n } else {\n err.error.message\n ? this.unespCoreMessageService.showMessageError(err.error.message)\n : this.unespCoreMessageService.showMessageError(err.message)\n }\n }\n return EMPTY\n })\n }\n}\n","import { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExportarCSVService {\n constructor() {}\n exportar(content: string, fileName: string) {\n let binaryData = []\n binaryData.push(content)\n let downloadLink = document.createElement('a')\n downloadLink.setAttribute('download', fileName + `.csv`)\n downloadLink.href = window.URL.createObjectURL(new Blob(binaryData, { type: 'attachment/csv;charset=utf-8;' }))\n document.body.appendChild(downloadLink)\n downloadLink.click()\n downloadLink.remove()\n }\n}\n","import { Injectable } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { identity, Observable } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { IdentificadoresDocente } from '../models/identificadores-docente'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LattesService {\n constructor(private http: HttpClient, private errorHandlerService: ErrorHandlerService) {}\n\n consultaLattes(cpf: string): Observable {\n return this.http\n .get(`https://unesp.br/portaldocentes/api/docentes/identificadores/${cpf}`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService {\n private storage: Storage\n private prefix: string = 'sisesp_'\n\n constructor() {\n this.storage = window.localStorage\n }\n\n set(key: string, value: any): boolean {\n if (this.storage) {\n this.storage.setItem(this.prefix + key, JSON.stringify(value))\n return true\n }\n return false\n }\n\n get(key: string): any {\n if (this.storage) {\n const data = this.storage.getItem(this.prefix + key)\n if (data === 'undefined') {\n return null\n }\n return data ? JSON.parse(data) : null\n }\n return null\n }\n\n remove(key: string): boolean {\n if (this.storage) {\n this.storage.removeItem(this.prefix + key)\n return true\n }\n return false\n }\n\n removeAllByPrefix(prefix: string): boolean {\n if (this.storage) {\n for (let value in this.storage) {\n if (value?.startsWith(this.prefix + prefix)) {\n this.storage.removeItem(value)\n }\n }\n }\n return false\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { Observable, catchError, identity, of } from 'rxjs'\nimport { Modalidade } from '../models/modalidade'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalidadeService extends UnespCoreGenericService {\n readonly ROUTE = 'modalidade'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n all(): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/all`)\n }\n\n listar(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(this.ROUTE, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getModalidade(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n gravar(modalidade: Modalidade): Observable {\n return this.create(this.ROUTE, modalidade).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, modalidade: Modalidade): Observable {\n return this.update(`${this.ROUTE}/${id}`, modalidade).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { Observable, catchError, identity, of } from 'rxjs'\nimport { Resolucao } from '../models/resolucao'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ResolucaoService extends UnespCoreGenericService {\n readonly ROUTE = 'resolucao'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n all(): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/all`)\n }\n\n listar(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(this.ROUTE, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getResolucao(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n gravar(resolucao: Resolucao): Observable {\n return this.create(this.ROUTE, resolucao).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, resolucao: Resolucao): Observable {\n return this.update(`${this.ROUTE}/${id}`, resolucao).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport {\n UnespCoreEnvironment,\n UnespCoreGenericService,\n UnespCoreMessage,\n UnespCoreMessageService,\n UnespCoreMessageType,\n UnespCorePageModel,\n} from '@unesp/core'\nimport { Observable, catchError, identity, of } from 'rxjs'\nimport { TipoEspecificidade } from '../models/tipo-especificidade'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TipoEspecificidadeService extends UnespCoreGenericService {\n readonly ROUTE = 'tipo-especificidade'\n client!: HttpClient\n\n constructor(\n http: HttpClient,\n @Inject('environment') protected environment: UnespCoreEnvironment,\n private messageService: UnespCoreMessageService,\n private errorHandlerService: ErrorHandlerService\n ) {\n super(http, environment)\n this.client = http\n }\n\n all(): Observable {\n return this.fetchWithoutPagination(`${this.ROUTE}/all`)\n }\n\n listar(pagination: any, pesquisa?: string): Observable> {\n const params = new HttpParams({\n fromObject: pagination,\n }).append('pesquisa', pesquisa ? pesquisa : '')\n return this.fetchPagination(this.ROUTE, params).pipe(\n catchError(err => {\n const mensagemPersonalizada: UnespCoreMessage = {\n message: 'Falha ao carregar os dados.',\n type: UnespCoreMessageType.ERROR,\n }\n const descricaoErroHttp: UnespCoreMessage = {\n message: `ERRO: ${err.status} (${err.error}).`,\n type: UnespCoreMessageType.ERROR,\n }\n this.messageService.showMessagesGroupByType([mensagemPersonalizada, descricaoErroHttp])\n return of()\n })\n )\n }\n\n excluir(id: number): Observable {\n return this.delete(this.ROUTE, id)\n }\n\n getTipoEspecificidade(id: number): Observable {\n return this.findById(this.ROUTE, id)\n }\n\n gravar(tipoEspecificidade: TipoEspecificidade): Observable {\n return this.create(this.ROUTE, tipoEspecificidade).pipe(identity, this.errorHandlerService.catchError())\n }\n\n atualizar(id: number, tipoEspecificidade: TipoEspecificidade): Observable {\n return this.update(`${this.ROUTE}/${id}`, tipoEspecificidade).pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { ROLE_WILDCARD_PUBLIC, UnespCoreMenuItem } from '@unesp/core'\n\nexport const menu: UnespCoreMenuItem[] = [\n // PUBLICO\n {\n displayName: 'Inscrições',\n iconName: 'grading',\n roles: [ROLE_WILDCARD_PUBLIC],\n route: 'cursos',\n order: 0,\n addBottomDivider: true,\n },\n // CANDIDATO\n {\n displayName: 'Minhas inscrições',\n iconName: 'assignment',\n roles: ['CANDIDATO'],\n order: 1,\n route: 'candidato/inscricoes',\n },\n {\n displayName: 'Alterar Senha',\n iconName: 'key',\n roles: ['CANDIDATO'],\n order: 4,\n route: 'candidato/senha-alterar',\n },\n {\n displayName: 'Sair',\n iconName: 'login',\n roles: [ROLE_WILDCARD_PUBLIC],\n route: 'logout',\n order: 1002,\n addTopDivider: true,\n },\n]","import { HttpClient } from '@angular/common/http'\nimport { Injectable } from '@angular/core'\nimport { Router } from '@angular/router'\nimport {\n UnespCoreMenuNavigationService,\n UnespCoreMessageService,\n UnespCoreUserService,\n UnespCoreUsuario,\n} from '@unesp/core'\nimport { BehaviorSubject, map } from 'rxjs'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { environment } from '../../environments/environment'\nimport { menu } from '../menu/menu-candidato'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserLoginService {\n private baseUrl: string\n\n constructor(\n private unespCoreUserService: UnespCoreUserService,\n private unespCoreMenuNavigationService: UnespCoreMenuNavigationService,\n private messageService: UnespCoreMessageService,\n private http: HttpClient,\n private router: Router\n ) {\n this.baseUrl = environment.baseUrlApi\n this.unespCoreUserService.user$.subscribe(user => {\n this._userLogin$.next(user as UsuarioLogin)\n })\n }\n\n private _userLogin$ = new BehaviorSubject(null)\n\n get user$(): BehaviorSubject {\n return this._userLogin$\n }\n\n getUser(): UsuarioLogin | null {\n return this.unespCoreUserService.getUser() as UsuarioLogin\n }\n\n loginCandidato(formData: FormData, id: number | null): void {\n this.getByEmailAndSenha(formData).subscribe({\n next: usuario => {\n if (usuario) {\n localStorage.setItem('sisesp_time', '3600')\n localStorage.setItem('sisesp_tokendate', Math.round(Date.now()).toString())\n let user: UnespCoreUsuario = usuario as UnespCoreUsuario\n user.roles = user.authorities.map(s => s.replace(/^ROLE_UNESP.SISESP_/, ''))\n this.unespCoreUserService.setUser(user)\n this.messageService.showMessageSuccess('Usuário autenticado com sucesso')\n if (id != null) {\n this.router.navigate([`/candidato/inscricoes/ficha/${id}`])\n } else {\n this.router.navigate(['/candidato/inscricoes'])\n }\n } else {\n localStorage.setItem('sisesp_time', '0')\n this.messageService.showMessageError('Email e/ou senha inválido(s)')\n }\n },\n error: err => {\n localStorage.setItem('sisesp_time', '0')\n this.messageService.showMessageError(err.error.message)\n },\n complete: () => {\n setTimeout(() => {\n this.unespCoreMenuNavigationService.itensMenuSource.next(menu)\n }, 100)\n },\n })\n }\n\n private getByEmailAndSenha(form: FormData) {\n return this.http.post(`${this.baseUrl}/publico/auth/candidato`, form).pipe(\n map(user => {\n return user\n })\n )\n }\n\n senhaRecuperar(email: string) {\n return this.http.get(`${this.baseUrl}/publico/senha-recuperar/${email}`, { responseType: 'text' }).pipe(\n map(email => {\n return email\n })\n )\n }\n\n senhaRedefinir(jsonData: any) {\n return this.http.post(`${this.baseUrl}/publico/senha-redefinir`, jsonData, { responseType: 'text' }).pipe(\n map(resultado => {\n return resultado\n })\n )\n }\n\n senhaAlterar(jsonData: any) {\n return this.http.post(`${this.baseUrl}/candidato/senha-alterar`, jsonData, { responseType: 'text' }).pipe(\n map(resultado => {\n return resultado\n })\n )\n }\n}\n","import { Injectable } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { identity, Observable } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\nimport { Endereco } from '../models/endereco'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CepService {\n constructor(private http: HttpClient, private errorHandlerService: ErrorHandlerService) {}\n\n consultaCEP(cep: string): Observable {\n return this.http\n .get(`https://viacep.com.br/ws/${cep}/json/`)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { Injectable } from '@angular/core'\nimport { FormGroup, Validators } from '@angular/forms'\nimport { CepService } from './cep.service'\nimport { DataService } from './data.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ValidacaoService {\n constructor(private cepService: CepService, private dataService: DataService) {}\n\n validaCEP(form: FormGroup): FormGroup {\n const cepCompleto = form.get('enderecoCep')?.value\n if (cepCompleto) {\n const cep = cepCompleto.replace('.', '').replace('-', '')\n form.get('enderecoRua')?.disable()\n form.get('enderecoBairro')?.disable()\n form.get('enderecoCidade')?.disable()\n form.get('enderecoEstado')?.disable()\n this.cepService.consultaCEP(cep).subscribe(endereco => {\n if (endereco.erro) {\n // form.get('enderecoCep')?.setErrors({invalid: true})\n form.get('enderecoRua')?.setValue('')\n form.get('enderecoRua')?.disable()\n form.get('enderecoBairro')?.setValue('')\n form.get('enderecoBairro')?.disable()\n form.get('enderecoCidade')?.setValue('')\n form.get('enderecoCidade')?.disable()\n form.get('enderecoEstado')?.setValue('')\n form.get('enderecoEstado')?.disable()\n } else {\n if (endereco.logradouro) {\n form.get('enderecoRua')?.setValue(endereco.logradouro)\n form.get('enderecoRua')?.disable()\n } else {\n form.get('enderecoRua')?.enable()\n }\n if (endereco.bairro) {\n form.get('enderecoBairro')?.setValue(endereco.bairro)\n form.get('enderecoBairro')?.disable()\n } else {\n form.get('enderecoBairro')?.enable()\n }\n form.get('enderecoCidade')?.setValue(endereco.localidade)\n form.get('enderecoCidade')?.disable()\n form.get('enderecoEstado')?.setValue(endereco.uf)\n form.get('enderecoEstado')?.disable()\n }\n })\n } else {\n form.get('enderecoRua')?.enable()\n form.get('enderecoBairro')?.enable()\n form.get('enderecoCidade')?.enable()\n form.get('enderecoEstado')?.enable()\n }\n return form\n }\n\n validaEstrangeiro(form: FormGroup): FormGroup {\n const rgPattern = '([0-9a-zA-Z.-]{6,13})'\n const cpfPattern = '(^\\\\d{3}\\\\.\\\\d{3}\\\\.\\\\d{3}-\\\\d{2}$)'\n const selecao = form.get('estrangeiro')?.value\n form.get('pais')?.enable()\n form.get('estado')?.enable()\n form.get('cidade')?.enable()\n if (selecao === 'NAO' || selecao === 'NATURALIZADO') {\n form.get('cpf')?.enable()\n form.get('cpf')?.setValidators([Validators.required, Validators.pattern(cpfPattern)])\n form.get('cpf')?.updateValueAndValidity()\n form.get('passaporte')?.disable()\n // form.get('passaporte')?.reset()\n form.get('passaporte')?.clearValidators()\n form.get('passaporte')?.updateValueAndValidity()\n form.get('rne')?.disable()\n // form.get('rne')?.reset()\n form.get('rne')?.clearValidators()\n form.get('rne')?.updateValueAndValidity()\n form.get('rg')?.enable()\n form.get('rg')?.setValidators([Validators.required, Validators.pattern(rgPattern)])\n form.get('rg')?.updateValueAndValidity()\n form.get('uf')?.enable()\n form.get('uf')?.setValidators(Validators.required)\n form.get('uf')?.updateValueAndValidity()\n form.get('dataExpedicao')?.enable()\n form.get('dataExpedicao')?.setValidators(Validators.required)\n form.get('dataExpedicao')?.updateValueAndValidity()\n form.get('orgaoExpedicao')?.enable()\n form.get('orgaoExpedicao')?.setValidators(Validators.required)\n form.get('orgaoExpedicao')?.updateValueAndValidity()\n } else if (selecao === 'SIM') {\n form.get('cpf')?.enable()\n form.get('cpf')?.clearValidators()\n form.get('cpf')?.updateValueAndValidity()\n form.get('passaporte')?.enable()\n form.get('passaporte')?.setValidators(Validators.required)\n form.get('passaporte')?.updateValueAndValidity()\n form.get('rne')?.enable()\n form.get('rne')?.setValidators(Validators.required)\n form.get('rne')?.updateValueAndValidity()\n form.get('rg')?.disable()\n // form.get('rg')?.reset()\n form.get('rg')?.clearValidators()\n form.get('rg')?.updateValueAndValidity()\n form.get('uf')?.disable()\n // form.get('uf')?.reset()\n form.get('uf')?.clearValidators()\n form.get('uf')?.updateValueAndValidity()\n form.get('dataExpedicao')?.disable()\n // form.get('dataExpedicao')?.reset()\n form.get('dataExpedicao')?.clearValidators()\n form.get('dataExpedicao')?.updateValueAndValidity()\n form.get('orgaoExpedicao')?.disable()\n // form.get('orgaoExpedicao')?.reset()\n form.get('orgaoExpedicao')?.clearValidators()\n form.get('orgaoExpedicao')?.updateValueAndValidity()\n }\n return form\n }\n\n validaCPF(form: FormGroup): FormGroup {\n const cpf = form.get('cpf')?.value\n if (!this.isCPFValid(cpf)) {\n form.get('cpf')?.setErrors({ incorrect: true })\n }\n return form\n }\n\n isCPFValid(value: string): boolean {\n if (value === null) {\n return false\n }\n const cpf = value.replace(/[^\\d]+/g, '')\n if (cpf.length == 0) return true\n if (\n cpf.length != 11 ||\n cpf == '00000000000' ||\n cpf == '11111111111' ||\n cpf == '22222222222' ||\n cpf == '33333333333' ||\n cpf == '44444444444' ||\n cpf == '55555555555' ||\n cpf == '66666666666' ||\n cpf == '77777777777' ||\n cpf == '88888888888' ||\n cpf == '99999999999'\n )\n return false\n // Valida 1o digito\n let add = 0\n for (let i = 0; i < 9; i++) add += parseInt(cpf.charAt(i)) * (10 - i)\n let rev = 11 - (add % 11)\n if (rev == 10 || rev == 11) rev = 0\n if (rev != parseInt(cpf.charAt(9))) return false\n // Valida 2o digito\n add = 0\n for (let i = 0; i < 10; i++) add += parseInt(cpf.charAt(i)) * (11 - i)\n rev = 11 - (add % 11)\n if (rev == 10 || rev == 11) rev = 0\n if (rev != parseInt(cpf.charAt(10))) return false\n return true\n }\n}\n","import { ValidatorFn, AbstractControl } from \"@angular/forms\"\n\nexport function totalReceita(\n vagas: string | null, // Número Mí­nimo de Vagas\n meses: string | null, // Número de Meses\n value1: string | null, // Matrí­cula\n value2: string | null, // Mensalidade\n value3: string | null, // Material Didático\n value4: string | null, // Saldo remanescente de edição anterior\n value5: string | null // Outras Receitas\n): number {\n if (vagas && meses) {\n let quantidade = Number(vagas.replace(',', '.'))\n let duracao = Number(meses.replace(',', '.'))\n let v1 = value1 ? Number(value1.replace(',', '.')) * quantidade : 0\n let v2 = value2 ? Number(value2.replace(',', '.')) * quantidade * duracao : 0\n let v3 = value3 ? Number(value3.replace(',', '.')) * quantidade : 0\n let v4 = value4 ? Number(value4.replace(',', '.')) : 0\n let v5 = value5 ? Number(value5.replace(',', '.')) : 0\n return Number(v1 + v2 + v3 + v4 + v5)\n }\n return 0\n}\n\nexport function totalProex(\n vagas: string | null, // Número Mí­nimo de Vagas\n meses: string | null, // Número de Meses\n value1: string | null, // Matrí­cula\n value2: string | null, // Mensalidade\n value3: string | null, // Material Didático\n value4: string | null // Outras Receitas\n): number {\n if (vagas && meses) {\n let quantidade = Number(vagas.replace(',', '.'))\n let duracao = Number(meses.replace(',', '.'))\n let v1 = value1 ? Number(value1.replace(',', '.')) * quantidade : 0\n let v2 = value2 ? Number(value2.replace(',', '.')) * quantidade * duracao : 0\n let v3 = value3 ? Number(value3.replace(',', '.')) * quantidade : 0\n let v4 = value4 ? Number(value4.replace(',', '.')) : 0\n return Number(v1 + v2 + v3 + v4) * 0.05\n } else {\n return 0\n }\n}\n\nexport function totalDespesa(\n value1: string | null,\n value2: string | null,\n value3: string | null,\n value4: string | null,\n value5: string | null,\n value6: string | null,\n value7: string | null,\n value8: string | null,\n value9: string | null,\n value10: string | null,\n value11: string | null,\n value12: string | null,\n value13: string | null,\n value14: string | null,\n value15: string | null\n): number {\n let v1 = value1 ? Number(value1.replace(',', '.')) : 0\n let v2 = value2 ? Number(value2.replace(',', '.')) : 0\n let v3 = value3 ? Number(value3.replace(',', '.')) : 0\n let v4 = value4 ? Number(value4.replace(',', '.')) : 0\n let v5 = value5 ? Number(value5.replace(',', '.')) : 0\n let v6 = value6 ? Number(value6.replace(',', '.')) : 0\n let v7 = value7 ? Number(value7.replace(',', '.')) : 0\n let v8 = value8 ? Number(value8.replace(',', '.')) : 0\n let v9 = value9 ? Number(value9.replace(',', '.')) : 0\n let v10 = value10 ? Number(value10.replace(',', '.')) : 0\n let v11 = value11 ? Number(value11.replace(',', '.')) : 0\n let v12 = value12 ? Number(value12.replace(',', '.')) : 0\n let v13 = value13 ? Number(value13.replace(',', '.')) : 0\n let v14 = value14 ? Number(value14.replace(',', '.')) : 0\n let v15 = value15 ? Number(value15.replace(',', '.')) : 0\n return Number(v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15)\n}\n\nexport function date2DatePicker(data: Date | string | null): Date | null {\n const tzOffset: number = 10800000\n if (data == null) {\n return null\n }\n return new Date(Date.parse(data.toString()) + tzOffset)\n}\n\nexport function permiteApenasNumeros(event: { keyCode: number; preventDefault: () => void }) {\n let inp = String.fromCharCode(event.keyCode)\n if (/[0-9]/.test(inp)) {\n return true\n } else {\n event.preventDefault()\n return false\n }\n}\n\nexport function permiteApenasAlfanumericoComPontoHifen(event: { keyCode: number; preventDefault: () => void }) {\n let inp = String.fromCharCode(event.keyCode)\n if (/[a-zA-Z0-9\\.\\-]/.test(inp)) {\n return true\n } else {\n event.preventDefault()\n return false\n }\n}\n\nexport function getDateAsNumber(v1: Date): number {\n const v1y = v1.getFullYear().toString().length === 1 ? '0' + v1.getFullYear() : v1.getFullYear().toString()\n const v1m = v1.getMonth().toString().length === 1 ? '0' + v1.getMonth() : v1.getMonth().toString()\n const v1d = v1.getDate().toString().length === 1 ? '0' + v1.getDate() : v1.getDate().toString()\n return Number(v1y + '' + v1m + '' + v1d)\n}\n\nexport function validaDataNascimentoValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const inputDate = new Date(control.value)\n const currentDate = new Date()\n\n const limiteMaximoIdade = 110\n const limiteMinimoIdade = 15\n\n const limiteMaximoIdadeData = new Date(\n currentDate.getFullYear() - limiteMaximoIdade,\n currentDate.getMonth(),\n currentDate.getDate()\n )\n const limiteMinimoIdadeData = new Date(\n currentDate.getFullYear() - limiteMinimoIdade,\n currentDate.getMonth(),\n currentDate.getDate()\n )\n\n return inputDate < limiteMaximoIdadeData || inputDate > limiteMinimoIdadeData ? { dateOutOfRange: true } : null\n }\n}\n\nexport function dataValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const inputValue = control.value\n if (!inputValue) {\n return null // Se o campo estiver vazio, não valida\n }\n // Regex para validar o formato DD/MM/YYYY\n const datePattern = /^(0[1-9]|[12][0-9]|3[01])\\/(0[1-9]|1[0-2])\\/\\d{4}$/\n if (!datePattern.test(inputValue)) {\n return { invalidFormat: true } // Retorna erro se não estiver no formato esperado\n }\n // Converte a string para uma data usando o formato pt-BR (DD/MM/YYYY)\n const [day, month, year] = inputValue.split('/')\n const parsedDate = new Date(`${year}-${month}-${day}`)\n // Verifica se a data é válida\n if (isNaN(parsedDate.getTime())) {\n return { invalidDate: true } // Retorna erro se a data for inválida\n }\n return null // Retorna null se a data for válida\n }\n}\n\nexport function checkboxObrigatorioValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const inputValue = control.value\n if (!inputValue) {\n return { required: true }\n }\n return null\n }\n}\n","import { AbstractControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms'\n\nfunction getDateAsNumber(v1: Date): number {\n let v1y = v1.getFullYear().toString().length === 1 ? '0' + v1.getFullYear() : v1.getFullYear().toString()\n let v1m = v1.getMonth().toString().length === 1 ? '0' + v1.getMonth() : v1.getMonth().toString()\n let v1d = v1.getDate().toString().length === 1 ? '0' + v1.getDate() : v1.getDate().toString()\n return Number(v1y + '' + v1m + '' + v1d)\n}\n\nfunction gte(v1: Date, v2: Date): ValidationErrors | null {\n let data1 = getDateAsNumber(v1)\n let data2 = getDateAsNumber(v2)\n if (data2 < data1) {\n return { valid: false }\n }\n return null\n}\n\nfunction gle(v1: Date, v2: Date): ValidationErrors | null {\n let data1 = getDateAsNumber(v1)\n let data2 = getDateAsNumber(v2)\n if (data2 > data1) {\n return { valid: false }\n }\n return null\n}\n\nfunction between(v1: Date, v2: Date, v3: Date): ValidationErrors | null {\n let data1 = getDateAsNumber(v1)\n let data2 = getDateAsNumber(v2)\n let data3 = getDateAsNumber(v3)\n if (data3 < data1 || data3 > data2) {\n return { valid: false }\n }\n return null\n}\n\nexport function dateGte(form: FormGroup, name: string): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (form.controls[name].getRawValue() != null && control.value != null) {\n return gte(form.controls[name].getRawValue(), control.value)\n }\n return null\n }\n}\n\nexport function dateLte(form: FormGroup, name: string): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (form.controls[name].getRawValue() != null && control.value != null) {\n return gle(form.controls[name].getRawValue(), control.value)\n }\n return null\n }\n}\n\nexport function dateBetween(form: FormGroup, name1: string, name2: string): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (\n form.controls[name1].getRawValue() != null &&\n form.controls[name2].getRawValue() != null &&\n control.value != null\n ) {\n return between(form.controls[name1].getRawValue(), form.controls[name2].getRawValue(), control.value)\n } else if (form.controls[name1].getRawValue() != null && control.value != null) {\n return gte(form.controls[name1].getRawValue(), control.value)\n } else if (form.controls[name2].getRawValue() != null && control.value != null) {\n return gle(form.controls[name2].getRawValue(), control.value)\n }\n return null\n }\n}\n\nexport function isTimeValid(): ValidatorFn {\n const regExp: RegExp = /\\b([01][0-9]|2[0-3]):([0-5][0-9])\\b/gm\n return (control: AbstractControl): ValidationErrors | null => {\n const match = regExp.test(control.value)\n return !match ? { valid: false } : null\n }\n}\n\nexport function isNotaValid(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n let valor: number = control.value.toString().replace(',', '.')\n if (valor < 0 || valor > 10) {\n return { valid: false }\n }\n return null\n }\n}\n\nexport function validaUrl(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (control.value && !isValidUrl(control.value)) {\n return { invalidUrl: true }\n }\n return null\n }\n}\n\nexport function isValidUrl(url: string): boolean {\n const pattern: RegExp = /^((https?):\\/\\/)?[a-zA-Z0-9]+([-.][a-zA-Z0-9]+)+\\.[a-zA-Z]{2,}/\n return pattern.test(url)\n}\n","export const environment = {\n tag: 'PROD',\n localStoragePrefix: 'sisesp',\n production: true,\n clientId: 'unesp.sisesp',\n name: 'PROPG - Pró-reitoria de Pós-graduação',\n baseUrlApi: 'https://app.unesp.br/sisesp-api',\n baseUrlRedirect: 'https://app.unesp.br/sisesp/auth/',\n oauthAuthorize: 'https://auth.unesp.br/oauth/authorize',\n centralRolePrefix: 'ROLE_UNESP.SISESP_',\n refreshTokenExpirationInSeconds: 3600,\n refreshTokenExpirationActivityNotificationsTime: [1800, 600, 300, 180, 120],\n refreshTokenExpirationLastWarningTime: 61,\n roles: {\n DISCENTE: {\n name: 'ROLE_UNESP.SISESP_DISCENTE',\n desc: 'DISCENTE',\n },\n DOCENTE: {\n name: 'ROLE_UNESP.SISESP_DOCENTE',\n desc: 'DOCENTE',\n },\n STPG: {\n name: 'ROLE_UNESP.SISESP_STPG',\n desc: 'STPG',\n },\n PROPG: {\n name: 'ROLE_UNESP.SISESP_PROPG',\n desc: 'PROPG',\n },\n PROPEG: {\n name: 'ROLE_UNESP.SISESP_PROPEG',\n desc: 'PROPEG',\n },\n CEPG: {\n name: 'ROLE_UNESP.SISESP_CEPG',\n desc: 'CEPG',\n },\n CANDIDATO: {\n name: 'ROLE_UNESP.SISESP_CANDIDATO',\n desc: 'Candidato',\n },\n 'EQUIPE-APOIO': {\n name: 'ROLE_UNESP.SISESP_EQUIPE-APOIO',\n desc: 'Equipe de apoio',\n },\n 'DOCENTE-DISCIPLINA': {\n name: 'ROLE_UNESP.SISESP_DOCENTE-DISCIPLINA',\n desc: 'Docente de disciplina',\n },\n },\n servicedesk: 'https://servicedesk.unesp.br/portfolio/runesp/sisesp',\n centralAcessos: 'https://sistemas.unesp.br/central/',\n recaptcha: {\n siteKey: '6Lc1slImAAAAAK0UrRu_fsyWIP2HH7KdN-4gFGAu',\n },\n}\n","import { ROLE_WILDCARD_PUBLIC, UnespCoreMenuItem } from '@unesp/core'\n\nexport const getMenu = (logged: boolean, perfis: string[]): UnespCoreMenuItem[] => {\n const menu: UnespCoreMenuItem[] = [\n // PUBLICO\n {\n displayName: 'Inscrições',\n iconName: 'grading',\n roles: [ROLE_WILDCARD_PUBLIC],\n route: 'cursos',\n order: 0,\n addBottomDivider: true,\n },\n {\n displayName: 'Autenticidade do documento',\n iconName: 'qr_code_scanner',\n roles: [ROLE_WILDCARD_PUBLIC],\n route: 'autenticidade-documento',\n order: 1,\n addBottomDivider: true,\n hidden: perfis.includes('CANDIDATO')\n },\n // CANDIDATO\n {\n displayName: 'Minhas inscrições',\n iconName: 'assignment',\n roles: ['CANDIDATO'],\n order: 1,\n route: 'candidato/inscricoes',\n },\n {\n displayName: 'Alterar Senha',\n iconName: 'key',\n roles: ['CANDIDATO'],\n order: 4,\n route: 'candidato/senha-alterar',\n },\n // DISCENTE\n {\n displayName: 'Meus Cursos',\n iconName: 'content_copy',\n roles: ['DISCENTE'],\n order: 2,\n route: 'discente/curso-edicao',\n },\n {\n displayName: 'Avaliações',\n iconName: 'addchart',\n roles: ['DISCENTE'],\n order: 3,\n route: 'discente/avaliacao',\n },\n // PROPEG\n {\n displayName: 'Análise previsão orçamentária',\n iconName: 'request_quote',\n roles: ['PROPEG'],\n order: 10,\n route: 'propeg/analise-previsao-orcamentaria',\n },\n // PROPG\n {\n displayName: 'Cadastros',\n iconName: 'menu',\n roles: ['PROPG'],\n order: 20,\n addBottomDivider: true,\n children: [\n {\n displayName: 'Áreas de conhecimento',\n iconName: 'lightbulb',\n roles: ['PROPG'],\n order: 1,\n route: '/propg/capes-areas-conhecimento',\n },\n {\n displayName: 'Modalidades',\n iconName: 'bookmarks',\n roles: ['PROPG'],\n order: 3,\n route: '/propg/modalidades',\n },\n {\n displayName: 'Resoluções',\n iconName: 'gavel',\n roles: ['PROPG'],\n order: 4,\n route: '/propg/resolucoes',\n },\n {\n displayName: 'Tipos especificidade',\n iconName: 'article',\n roles: ['PROPG'],\n order: 5,\n route: '/propg/tipos-especificidades',\n },\n {\n displayName: 'Usuários externos',\n iconName: 'manage_accounts',\n roles: ['PROPG'],\n order: 98,\n route: '/propg/usuarios-externos',\n },\n {\n displayName: 'Perfis',\n iconName: 'person_pin',\n roles: ['PROPG'],\n order: 99,\n route: '/propg/perfil',\n },\n {\n displayName: 'LOGs',\n iconName: 'manage_search',\n roles: ['PROPG'],\n order: 100,\n route: '/propg/logs',\n },\n ],\n },\n // DOCENTE-DISCIPLINA\n {\n displayName: 'Minhas disciplinas',\n iconName: 'school',\n roles: ['DOCENTE-DISCIPLINA'],\n order: 90,\n route: 'docente/cursos-edicoes',\n addBottomDivider: true\n },\n // UNIDADE\n {\n displayName: 'Cursos',\n iconName: 'assignment',\n roles: ['STPG', 'DOCENTE', 'PROPG'],\n order: 101,\n route: 'unidade/cursos',\n },\n {\n displayName: 'Cursos/Edições',\n iconName: 'content_copy',\n roles: ['STPG', 'DOCENTE', 'EQUIPE-APOIO', 'CEPG', 'PROPG'],\n order: 102,\n route: 'unidade/cursos-edicoes',\n },\n {\n displayName: 'Alunos',\n iconName: 'groups',\n roles: ['STPG', 'DOCENTE', 'EQUIPE-APOIO', 'PROPG'],\n order: 103,\n route: 'unidade/alunos',\n },\n {\n displayName: 'Docentes externos',\n iconName: 'people',\n roles: ['STPG', 'DOCENTE', 'EQUIPE-APOIO', 'PROPG'],\n order: 104,\n route: 'unidade/docentes-externos',\n },\n {\n displayName: 'Avaliações (Parcial/Final)',\n iconName: 'addchart',\n roles: ['STPG', 'DOCENTE', 'EQUIPE-APOIO', 'CEPG', 'PROPG'],\n order: 105,\n route: 'unidade/curso-edicao-avaliacoes',\n },\n {\n displayName: 'Relatórios (Parcial/Final)',\n iconName: 'app_registration',\n roles: ['STPG', 'DOCENTE', 'EQUIPE-APOIO', 'CEPG', 'PROPG', 'PROPEG'],\n order: 106,\n route: 'unidade/curso-edicao-relatorios',\n },\n {\n displayName: 'Histórico de alterações',\n iconName: 'history',\n roles: ['STPG', 'DOCENTE', 'EQUIPE-APOIO', 'PROPG'],\n order: 107,\n route: 'unidade/historico-de-alteracoes',\n },\n // MANUAL\n {\n displayName: 'Manual',\n iconName: 'picture_as_pdf',\n roles: ['DOCENTE', 'STPG', 'EQUIPE-APOIO', 'PROPG'],\n order: 998,\n route: 'unidade/manual',\n },\n // COMUN\n {\n displayName: 'Ajuda/Suporte',\n iconName: 'contact_support',\n roles: ['DOCENTE', 'STPG', 'PROPG', 'PROPEG', 'CEPG', 'EQUIPE-APOIO'],\n route: 'ajuda/suporte',\n order: 999,\n },\n {\n displayName: 'Versões do sistema',\n iconName: 'info',\n roles: ['DOCENTE', 'STPG', 'PROPG', 'PROPEG', 'CEPG', 'EQUIPE-APOIO'],\n route: 'changelog',\n order: 1000,\n },\n {\n displayName: 'Voltar ao portal',\n iconName: 'home',\n roles: [ROLE_WILDCARD_PUBLIC],\n route: 'central-acessos-home',\n order: 1001,\n hidden: perfis.includes('CANDIDATO')\n },\n {\n displayName: 'Login',\n iconName: 'login',\n roles: [ROLE_WILDCARD_PUBLIC],\n route: '',\n order: 1002,\n addTopDivider: true,\n hidden: !logged\n },\n {\n displayName: 'Sair',\n iconName: 'login',\n roles: [ROLE_WILDCARD_PUBLIC],\n route: 'logout',\n order: 1002,\n addTopDivider: true,\n hidden: logged\n },\n ]\n\n return menu\n .filter(item => !item.hidden)\n .filter(item => item.roles.some(role => {\n return perfis.includes(role) || role == '**'\n }))\n}","
\n \n \n Bem vindo(a)\n Efetue login para acessar o sistema\n \n \n
\n \n ou\n \n
\n
\n
\n
\n\n
\n \n
\n \n \n Olá, {{ userLogin?.nomeUsuario }} \n Utilize o menu para acessar as funcionalidades\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Perfil:{{ perfil }}
Unidade:\n {{ userLogin?.campus }} - {{ userLogin?.sigla }}\n
Lotação:{{ userLogin?.nomeLotacaoOficial }}
\n
\n
\n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core'\nimport { Router } from '@angular/router'\nimport { UnespCoreAuthService, UnespCoreMenuNavigationService } from '@unesp/core'\nimport { Observable, Subscription } from 'rxjs'\nimport { getMenu } from 'src/app/menu/menu-completo'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css'],\n})\nexport class HomeComponent implements OnInit, OnDestroy {\n private userSubscription!: Subscription\n userLogin?: UsuarioLogin | null\n perfil: string = ''\n recarregarMenu: number = 0\n\n constructor(\n private userLoginService: UserLoginService,\n private unespCoreMenuNavigationService: UnespCoreMenuNavigationService,\n private unespCoreAuthService: UnespCoreAuthService,\n private router: Router,\n ) {}\n\n ngOnInit(): void {\n this.userSubscription = this.userLoginService.user$.subscribe(user => {\n this.userLogin = user\n this.getPerfil()\n if (user) {\n this.recarregarMenu = 0\n }\n this.recarregarMenu += 1\n if (this.recarregarMenu === 1) {\n setTimeout(() => {\n this.unespCoreMenuNavigationService.itensMenuSource.next(\n getMenu(this.userLoginService.getUser() === null, this.userLoginService.getUser()?.roles ?? [])\n )\n }, 100)\n }\n })\n }\n\n private getPerfil(): void {\n if (this.userLogin) {\n this.userLogin.roles.forEach(role => {\n if (role !== '**' && role !== '!!') {\n this.perfil += role + ', '\n }\n })\n if (this.perfil.length > 0) {\n this.perfil = this.perfil.slice(0, -2)\n }\n }\n }\n\n get userLogin$(): Observable {\n return this.userLoginService.user$\n }\n\n ngOnDestroy() {\n if (this.userSubscription) {\n this.userSubscription.unsubscribe()\n }\n }\n\n login(): void {\n window.location.href = this.unespCoreAuthService.getLoginUrl()\n }\n\n loginCandidato(): void {\n this.router.navigate([`candidato/entrar`])\n }\n}\n","import { Component, OnInit } from '@angular/core'\nimport { environment } from 'src/environments/environment'\n\n@Component({\n selector: 'app-central-acessos-home',\n template: '',\n})\nexport class CentralAcessosHomeComponent implements OnInit {\n url: string = ''\n\n constructor() {\n this.url = environment.centralAcessos\n }\n\n ngOnInit(): void {\n window.open(this.url, '_self')\n }\n}\n","import { Component, Input, OnInit } from '@angular/core'\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { environment } from 'src/environments/environment'\n\n@Component({\n selector: 'app-ajuda-suporte',\n templateUrl: './ajuda-suporte.component.html',\n styleUrls: ['./ajuda-suporte.component.css'],\n})\nexport class AjudaSuporteComponent implements OnInit {\n @Input() trustedUrl!: SafeUrl\n iframeHeight: number = 200\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Ajuda/Suporte', route: '/ajuda/suporte', icon: 'contact_support' },\n ] \n\n constructor(private sanitizer: DomSanitizer) {\n this.trustedUrl = this.sanitizer.bypassSecurityTrustResourceUrl(environment.servicedesk)\n }\n\n ngOnInit(): void {\n this.iframeHeight = window.innerHeight - 180\n }\n}\n","\n\n

Your browser does not support iframes.

\n\n","\n\n
\n
\n \n \n Área do candidato\n \n Prezado(a) candidato(a), informe seu e-mail e senha para ter acesso a(s) sua(s) inscrição(ões).\n \n \n \n
\n \n Email\n \n \n \n Senha\n \n \n \n Esqueceu sua senha?\n
\n
\n
\n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { Router } from '@angular/router'\nimport { UnespCoreMenuNavigationService, UnespCoreMessageService } from '@unesp/core'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\nimport { ReCaptchaV3Service } from 'ng-recaptcha-2'\nimport { Subscription } from 'rxjs'\nimport { getMenu } from 'src/app/menu/menu-completo'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-auth',\n templateUrl: './auth.component.html',\n styleUrls: ['./auth.component.css'],\n})\nexport class AuthComponent implements OnInit, OnDestroy {\n user?: UsuarioLogin\n private userSubscription!: Subscription\n recarregarMenu: number = 0\n\n form = new FormGroup({\n email: new FormControl('', Validators.required),\n senha: new FormControl('', Validators.required),\n })\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Área do candidato', route: '/candidato/entrar', icon: 'lock' },\n ]\n\n constructor(\n private userLoginService: UserLoginService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private recaptchaV3Service: ReCaptchaV3Service,\n private unespCoreMenuNavigationService: UnespCoreMenuNavigationService,\n ) {\n }\n\n ngOnInit(): void {\n this.userLoginService.user$.subscribe(user => {\n if (user) {\n this.recarregarMenu = 0\n }\n this.recarregarMenu += 1\n if (this.recarregarMenu === 1) {\n setTimeout(() => {\n this.unespCoreMenuNavigationService.itensMenuSource.next(\n getMenu(this.userLoginService.getUser() === null, this.userLoginService.getUser()?.roles ?? [])\n )\n }, 500)\n }\n if (user) {\n this.router.navigate(['/'])\n }\n })\n }\n\n ngOnDestroy() {\n if (this.userSubscription) {\n this.userSubscription.unsubscribe()\n }\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n login(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('Verifique se preencheu todos os campos do formulário corretamente')\n return\n }\n if (this.form.get('email')?.value && this.form.get('senha')?.value) {\n let formData: FormData = new FormData()\n formData.append('email', this.form.get('email')?.getRawValue())\n formData.append('senha', this.form.get('senha')?.getRawValue())\n this.recaptchaV3Service.execute('loginCandidato').subscribe((token: string) => {\n this.userLoginService.loginCandidato(formData, null)\n })\n }\n }\n\n recuperarSenha(): void {\n this.router.navigate(['/candidato/senha-recuperar'])\n }\n}\n","\n search\n Pesquisar\n \n\n\n \n Unidade\n {{ row.campus }}\n \n \n Curso\n {{ row.nomeCurso }}\n \n \n Edição\n {{ row.numeroEdicao }}\n \n \n Início Inscrições\n \n {{ row.dataInicialInscricao | date : 'dd/MM/yyyy' }}\n \n \n \n Término Inscrições\n \n {{ row.dataFinalInscricao | date : 'dd/MM/yyyy' }}\n \n \n \n Início Curso\n {{ row.dataInicialCurso | date : 'dd/MM/yyyy' }}\n \n \n Término Curso\n {{ row.dataFinalCurso | date : 'dd/MM/yyyy' }}\n \n \n Número de Vagas\n {{ row.numeroMaximoVagas }}\n \n \n \n \n
\n \n \n \n \n \n \n \n folder_shared\n Vinculo disciplina e docente\n \n \n @for (publicacao of row.publicacoes; track $index) {\n \n }\n \n picture_as_pdf\n Edital do processo seletivo\n \n \n picture_as_pdf\n Projeto pedagógico do curso\n \n \n picture_as_pdf\n Cronograma de atividades\n \n \n picture_as_pdf\n Outros editais/normas\n \n \n
\n \n
\n \n \n \n Não há dados a serem exibidos\n \n\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { CursoEdicaoInscricao } from 'src/app/models/curso-edicao-inscricao'\nimport { CursoEdicaoInscricaoService } from 'src/app/services/curso-edicao-inscricao.service '\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { EdicaoDisciplinaListarComponent } from '../disciplina-listar/disciplina-listar.component'\nimport { EdicaoDocenteDisciplinaListarComponent } from '../docente-disciplina-listar/docente-disciplina-listar.component'\nimport { EdicaoDocenteListarComponent } from '../docente-listar/docente-listar.component'\nimport { PropostaListarComponent } from '../proposta-listar/proposta-listar.component'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\nimport { ArquivoViewerDialogComponent } from 'src/app/modules/comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component'\n\n@Component({\n selector: 'app-futuras',\n templateUrl: './inscricoes-futuras.component.html',\n styleUrls: ['./inscricoes-futuras.component.css'],\n})\nexport class InscricoesFuturasComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'campus',\n 'nomeCurso',\n 'numeroEdicao',\n 'dataInicialInscricao',\n 'dataFinalInscricao',\n 'dataInicialCurso',\n 'dataFinalCurso',\n 'numeroMaximoVagas',\n 'action',\n ]\n\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'inscricoes-futuras.search'\n\n constructor(\n private cursoEdicaoInscricaoService: CursoEdicaoInscricaoService,\n private dialog: MatDialog,\n private localStorageService: LocalStorageService,\n private downloadService: ArquivoDownloadService,\n ) {}\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.reloadTable()\n }, 0)\n //\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.cursoEdicaoInscricaoService\n .listarInscricoesFuturas(this.pageParams(), this.localStorageService.get(this.cacheSearch) ?? '')\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n proposta(id: number, cursoId: number, edicao: number) {\n this.dialog.open(PropostaListarComponent, {\n data: { id: id, cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n docente(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDocenteListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n disciplina(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDisciplinaListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n disciplinaDocente(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDocenteDisciplinaListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.reloadTable()\n }\n\n abrirUrlCurso(urlCurso: string) {\n window.open('//' + urlCurso, '_blank')\n }\n\n visualizarArquivo(id: number, nome: string) {\n this.downloadService.arquivoObjectURLPorPath(`publico/curso-edicao-publicacao/${id}`, 'download').subscribe(url => {\n this._abrirArquivoViewer(nome, url)\n })\n }\n\n visualizarAnexos(cursoId: number, anexo: string, nome: string) {\n this.downloadService.arquivoObjectURLPorPath(\n `publico/curso-edicao-inscricao/${cursoId}/download`,\n anexo\n ).subscribe(url => {\n this._abrirArquivoViewer(nome, url)\n })\n }\n\n private _abrirArquivoViewer(title: string, url: string): void {\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: { tituloDoArquivo: title, urlDoArquivo: url },\n width: '80%',\n height: '90%',\n })\n }\n}\n","\n search\n Pesquisar\n \n\n\n \n Unidade\n {{ row.campus }}\n \n \n Curso\n {{ row.nomeCurso }}\n \n \n Edição\n {{ row.numeroEdicao }}\n \n \n Início Inscrições\n \n {{ row.dataInicialInscricao | date : 'dd/MM/yyyy' }}\n \n \n \n Término Inscrições\n \n {{ row.dataFinalInscricao | date : 'dd/MM/yyyy' }}\n \n \n \n Início Curso\n {{ row.dataInicialCurso | date : 'dd/MM/yyyy' }}\n \n \n Término Curso\n {{ row.dataFinalCurso | date : 'dd/MM/yyyy' }}\n \n \n Número de Vagas\n {{ row.numeroMaximoVagas }}\n \n \n \n \n
\n \n \n \n \n \n \n \n folder_shared\n Vinculo disciplina e docente\n \n \n @for (publicacao of row.publicacoes; track $index) {\n \n }\n \n picture_as_pdf\n Edital do processo seletivo\n \n \n picture_as_pdf\n Projeto pedagógico do curso\n \n \n picture_as_pdf\n Cronograma de atividades\n \n \n picture_as_pdf\n Outros editais/normas\n \n \n
\n \n
\n \n \n \n Não há dados a serem exibidos\n \n\n\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core'\nimport { CursoEdicaoInscricao } from 'src/app/models/curso-edicao-inscricao'\nimport { CursoEdicaoInscricaoService } from 'src/app/services/curso-edicao-inscricao.service '\nimport { LocalStorageService } from 'src/app/services/local-storage.service'\nimport { EdicaoDisciplinaListarComponent } from '../disciplina-listar/disciplina-listar.component'\nimport { EdicaoDocenteDisciplinaListarComponent } from '../docente-disciplina-listar/docente-disciplina-listar.component'\nimport { EdicaoDocenteListarComponent } from '../docente-listar/docente-listar.component'\nimport { PropostaListarComponent } from '../proposta-listar/proposta-listar.component'\nimport { fromEvent, debounceTime, filter, distinctUntilChanged, tap } from 'rxjs'\nimport { MatPaginator } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource } from '@angular/material/table'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ArquivoViewerDialogComponent } from 'src/app/modules/comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\n\n@Component({\n selector: 'app-andamento',\n templateUrl: './inscricoes-andamento.component.html',\n styleUrls: ['./inscricoes-andamento.component.css'],\n})\nexport class InscricoesAndamentoComponent implements AfterViewInit {\n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n\n colunasGrid: string[] = [\n 'campus',\n 'nomeCurso',\n 'numeroEdicao',\n 'dataInicialInscricao',\n 'dataFinalInscricao',\n 'dataInicialCurso',\n 'dataFinalCurso',\n 'numeroMaximoVagas',\n 'action',\n ]\n\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n\n @ViewChild('pesquisa') pesquisa!: ElementRef\n cacheSearch: string = 'inscricoes-encerradas.search'\n\n constructor(\n private cursoEdicaoInscricaoService: CursoEdicaoInscricaoService,\n private dialog: MatDialog,\n private localStorageService: LocalStorageService,\n private downloadService: ArquivoDownloadService,\n ) {}\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n //\n fromEvent(this.pesquisa.nativeElement, 'keyup')\n .pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n )\n .subscribe()\n //\n setTimeout(() => {\n this.pesquisa.nativeElement.value = this.localStorageService.get(this.cacheSearch) ?? ''\n this.reloadTable()\n }, 0)\n //\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.cursoEdicaoInscricaoService\n .listarInscricoesEmAndamento(this.pageParams(), this.localStorageService.get(this.cacheSearch) ?? '')\n .subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n proposta(id: number, cursoId: number, edicao: number) {\n this.dialog.open(PropostaListarComponent, {\n data: { id: id, cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n docente(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDocenteListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n disciplina(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDisciplinaListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n disciplinaDocente(cursoId: number, edicao: number) {\n this.dialog.open(EdicaoDocenteDisciplinaListarComponent, {\n data: { cursoId: cursoId, edicao: edicao },\n panelClass: 'my-dialog-resizer',\n })\n }\n\n pesquisar() {\n this.localStorageService.set(this.cacheSearch, this.pesquisa?.nativeElement.value)\n this.reloadTable()\n }\n\n abrirUrlCurso(urlCurso: string) {\n window.open('//' + urlCurso, '_blank')\n }\n\n visualizarArquivo(id: number, nome: string) {\n this.downloadService.arquivoObjectURLPorPath(`publico/curso-edicao-publicacao/${id}`, 'download').subscribe(url => {\n this._abrirArquivoViewer(nome, url)\n })\n }\n\n visualizarAnexos(cursoId: number, anexo: string, nome: string) {\n this.downloadService.arquivoObjectURLPorPath(\n `publico/curso-edicao-inscricao/${cursoId}/download`,\n anexo\n ).subscribe(url => {\n this._abrirArquivoViewer(nome, url)\n })\n }\n\n private _abrirArquivoViewer(title: string, url: string): void {\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: { tituloDoArquivo: title, urlDoArquivo: url },\n width: '80%',\n height: '90%',\n })\n }\n}\n","\n\n
\n
\n \n
\n
\n\n \n \n \n \n \n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\n\n@Component({\n selector: 'app-curso-edicao-inscricao-listar',\n templateUrl: './curso-edicao-inscricao-listar.component.html',\n styleUrls: ['./curso-edicao-inscricao-listar.component.css'],\n})\nexport class CursoEdicaoInscricaoListarComponent implements OnInit {\n userLogin?: UsuarioLogin | null\n cacheSearch: string = 'curso-edicao-inscricao-listar.search'\n proximosShow: boolean = false\n encerradasShow: boolean = false\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Inscrições', route: '/cursos', icon: 'grading' },\n ] \n constructor(private userLoginService: UserLoginService) {}\n\n ngOnInit(): void {\n this.userLoginService.user$.subscribe(user => {\n this.userLogin = user\n })\n }\n\n tabChange(index: number) {\n if (index === 1) {\n this.proximosShow = true\n } else if (index === 2) {\n this.encerradasShow = true\n }\n }\n}\n","\n
\n
\n \n \n Recuperação de senha\n \n Prezado(a) candidato(a), para recuperar sua senha informe seu Email e siga as orientações que receberá em seu Email.\n \n \n \n
\n \n Email\n \n \n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UsuarioLogin } from 'src/app/models/usuario-login'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\nimport { ReCaptchaV3Service } from 'ng-recaptcha-2'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-senha-recuperar',\n templateUrl: './senha-recuperar.component.html',\n styleUrls: ['./senha-recuperar.component.css'],\n})\nexport class SenhaRecuperarComponent {\n user?: UsuarioLogin\n\n form = new FormGroup({\n email: new FormControl('', Validators.required),\n })\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Recuperação de senha', route: '/candidato/senha-recuperar', icon: 'key' },\n ]\n constructor(\n private userLoginService: UserLoginService,\n private unespCoreMessageService: UnespCoreMessageService,\n private router: Router,\n private recaptchaV3Service: ReCaptchaV3Service\n ) {\n this.userLoginService.user$.subscribe(user => {\n if (user) {\n this.router.navigate(['/'])\n }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n enviar() {\n this.applyTouchedToInvalidFields()\n\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('O formulário não foi preenchido corretamente')\n return\n }\n\n if (this.form.get('email')?.value) {\n let email = this.form.get('email')?.value ?? ''\n this.recaptchaV3Service.execute('recuperarSenha').subscribe((token: string) => {\n this.userLoginService.senhaRecuperar(email).subscribe((email: string) => {\n if (email != '') {\n this.unespCoreMessageService.showMessageSuccess(\n 'Atenção',\n `Siga as orientações enviadas para o e-mail ${email}`\n )\n this.router.navigate(['candidato/entrar'])\n } else {\n this.unespCoreMessageService.showMessageError('email não encontrado')\n }\n this.form.reset()\n })\n })\n }\n }\n}\n","import { Component, OnInit } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { UserLoginService } from 'src/app/services/usuario-login.service'\nimport { ReCaptchaV3Service } from 'ng-recaptcha-2'\nimport { UnespBreadcrumbItem } from '@unesp/shared/lib/interfaces/unesp-breadcrumb-item'\n\n@Component({\n selector: 'app-senha-redefinir',\n templateUrl: './senha-redefinir.component.html',\n styleUrls: ['./senha-redefinir.component.css'],\n})\nexport class SenhaRedefinirComponent implements OnInit {\n codigo: string = ''\n senhaPattern: string = '^(?=.*[A-Z])(?=.*[a-z])(?=.*\\\\d).{8,}$'\n\n form = new FormGroup({\n novaSenha: new FormControl('', [Validators.required, Validators.pattern(this.senhaPattern)]),\n novaSenhaConfirmacao: new FormControl('', [Validators.required, Validators.pattern(this.senhaPattern)]),\n })\n\n breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Redefinir Senha', route: '', icon: 'key' },\n ]\n\n constructor(\n private userLoginService: UserLoginService,\n private unespCoreMessageService: UnespCoreMessageService,\n private route: ActivatedRoute,\n private router: Router,\n private recaptchaV3Service: ReCaptchaV3Service\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.codigo = params['codigo']\n this.breadcrumbs[1] = { label: 'Redefinir Senha', route: `/candidato/senha-redefinir/${this.codigo}`, icon: 'key' }\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n alterar() {\n this.applyTouchedToInvalidFields()\n\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('O formulário não foi preenchido corretamente')\n return\n }\n\n let novaSenha = this.form.get('novaSenha')?.value ?? ''\n let novaSenhaConfirmacao = this.form.get('novaSenhaConfirmacao')?.value ?? ''\n if (novaSenha !== novaSenhaConfirmacao) {\n this.unespCoreMessageService.showMessageError('A Nova Senha e a Confirmação não são iguais')\n } else {\n let jsonData = {\n codigo: this.codigo,\n senha: this.form.get('novaSenha')?.value,\n }\n this.recaptchaV3Service.execute('recuperarSenha').subscribe((token: string) => {\n this.userLoginService.senhaRedefinir(jsonData).subscribe(resultado => {\n if (resultado == 'updated') {\n this.unespCoreMessageService.showMessageSuccess('Sua senha foi alterado com sucesso')\n this.form.reset()\n this.router.navigate(['candidato/entrar'])\n } else if (resultado == 'not-found') {\n this.unespCoreMessageService.showMessageError('Código de usuário inválido')\n this.router.navigate(['/'])\n } else {\n this.unespCoreMessageService.showMessageError(\n 'Atenção',\n 'Não foi possível alterar, verifique os valores e tente novamente'\n )\n }\n })\n })\n }\n }\n}\n","\n
\n
\n \n \n Redefinir Senha\n \n \n
\n \n Nova Senha\n \n \n \n Confirmação\n \n \n
\n * Sua senha deve conter, pelo menos: 1 Letra maiúscula, 1 Letra minúscula, 1 Número e 8 Caracteres.\n
\n
\n \n
\n
\n
\n
\n
\n","import { Inject, Injectable } from '@angular/core'\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\nimport { UnespCoreEnvironment } from '@unesp/core'\nimport { identity, Observable } from 'rxjs'\nimport { ErrorHandlerService } from './error-handler.service'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentoService {\n private baseUrl: string\n\n constructor(\n private http: HttpClient,\n private errorHandlerService: ErrorHandlerService,\n @Inject('environment') env: UnespCoreEnvironment\n ) {\n this.baseUrl = env.baseUrlApi\n }\n\n verificar(codigo: string): Observable {\n let headerOptions = new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/pdf',\n })\n let requestOptions = { headers: headerOptions, responseType: 'blob' as 'blob' }\n return this.http\n .get(`${this.baseUrl}/publico/documento/${codigo}`, requestOptions)\n .pipe(identity, this.errorHandlerService.catchError())\n }\n}\n","import { Component, OnInit } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { MatDialog } from '@angular/material/dialog'\nimport { ReCaptchaV3Service } from 'ng-recaptcha-2'\nimport { ActivatedRoute } from '@angular/router'\nimport { ArquivoViewerDialogComponent } from '../../comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component'\nimport { DocumentoService } from '../../../services/documento.service'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-documento-validador',\n templateUrl: './documento-validador.component.html',\n styleUrls: ['./documento-validador.component.css'],\n})\nexport class DocumentoValidadorComponent implements OnInit {\n form = new FormGroup({\n codigo: new FormControl('', Validators.required),\n })\n\n readonly breadcrumbs: UnespBreadcrumbItem[] = [\n { label: 'Home', route: '/', icon: 'home' },\n { label: 'Autenticidade do documento', route: '/autenticidade-documento', icon: 'qr_code_scanner' },\n ]\n\n constructor(\n private unespCoreMessageService: UnespCoreMessageService,\n private documentoService: DocumentoService,\n private dialog: MatDialog,\n private recaptchaV3Service: ReCaptchaV3Service,\n private route: ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.form.controls.codigo.setValue(params['codigo'])\n })\n }\n\n applyTouchedToInvalidFields() {\n for (const name in this.form.controls) {\n if (this.form.get(name)?.invalid) {\n this.form.get(name)?.markAsTouched()\n }\n }\n }\n\n verificar(): void {\n this.applyTouchedToInvalidFields()\n if (!this.form.valid) {\n this.unespCoreMessageService.showMessageError('O formulário não foi preenchido corretamente')\n return\n }\n let code = this.form.controls['codigo'].getRawValue()\n if (code) {\n this.recaptchaV3Service.execute('importantAction').subscribe((token: string) => {\n this.documentoService.verificar(code!.toUpperCase()).subscribe(data => {\n let blob = new Blob([data], {\n type: 'application/pdf',\n })\n if (blob.size === 0) {\n this.unespCoreMessageService.showMessageError('Código verificador inválido')\n } else {\n let url = window.URL.createObjectURL(blob)\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: {\n tituloDoArquivo: `Documento`,\n urlDoArquivo: url,\n },\n width: '80%',\n height: '90%',\n })\n }\n })\n })\n }\n }\n}\n","\n\n
\n
\n \n \n Verificador de autenticidade do documento\n \n \n
\n \n Código verificador\n \n \n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core'\nimport { UnespCoreAuthService } from '@unesp/core'\n\n@Component({\n selector: 'app-logout',\n template: '',\n})\nexport class LogoutComponent {\n \n constructor(private unespCoreAuthService: UnespCoreAuthService) {\n this.unespCoreAuthService.logout('Usuário desconectado com sucesso')\n }\n \n}\n","
\n \n search\n Pesquisar\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Disciplina{{ row.nomeDisciplina }}Sigla{{ row.sigla }}Módulo{{ row.tipoModulo }}Ano{{ row.anoDisciplina ?? '-' }}Semestre\n @if (row.semestreDisciplina == 0) {\n 1 e 2\n } @else {\n {{ row.semestreDisciplina ?? '-' }}\n }\n Carga horária{{ row.cargaHoraria }}\n
\n
\n
Não há dados a serem exibidos
\n \n
","import { CommonModule } from '@angular/common'\nimport { Component, ElementRef, Input, ViewChild, AfterViewInit, OnInit } from '@angular/core'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'\nimport { MatSort } from '@angular/material/sort'\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { EdicaoDisciplinaListar } from 'src/app/models/edicao-disciplina-listar'\nimport { EdicaoDisciplinaService } from 'src/app/services/edicao-disciplina.service'\nimport { MatSortModule } from '@angular/material/sort'\nimport { CursoEdicaoPublico } from 'src/app/models/curso-edicao-public'\nimport { UnespBreadcrumbItem } from '@unesp/shared'\n\n@Component({\n selector: 'app-lista-disciplina-inframe',\n standalone: true,\n imports: [\n MatIconModule,\n MatFormFieldModule,\n MatTableModule,\n MatPaginatorModule,\n MatInputModule,\n CommonModule,\n MatSortModule\n ],\n templateUrl: './lista-disciplina-inframe.component.html',\n styleUrl: './lista-disciplina-inframe.component.css'\n})\nexport class ListaDisciplinaInframeComponent implements AfterViewInit, OnInit {\n \n @ViewChild(MatPaginator, { static: true }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @Input() cursoEdicao!: CursoEdicaoPublico\n\n colunasGrid?: string[]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n cursoEdicaoPossuiEnfase: boolean = false\n \n\n constructor(\n private edicaoDisciplinaService: EdicaoDisciplinaService,\n ) {\n }\n\n ngOnInit(): void {\n this.carregaColunasGrid()\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n fromEvent(this.pesquisa.nativeElement, 'keyup').pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n ).subscribe()\n setTimeout(() => {\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n carregaColunasGrid() {\n this.edicaoDisciplinaService.possuiEnfasePublicoByIdCursoEdicao(this.cursoEdicao.id).subscribe(obj => {\n this.cursoEdicaoPossuiEnfase = obj\n if (obj) {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'tipoModulo', 'anoDisciplina', 'semestreDisciplina', 'cargaHoraria', 'action']\n } else {\n this.colunasGrid = ['nomeDisciplina', 'sigla', 'anoDisciplina', 'semestreDisciplina', 'cargaHoraria', 'action']\n }\n })\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n reloadTable() {\n this.edicaoDisciplinaService.listarPublico(this.cursoEdicao.idCurso, this.cursoEdicao.numeroEdicao, this.pageParams(), this.pesquisa?.nativeElement.value).subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n })\n }\n\n private pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n pesquisar() {\n this.reloadTable()\n }\n\n}\n","
\n \n search\n Pesquisar\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Disciplina{{ row.nomeDisciplina }}Titulação{{ row.titulacao }}Nome{{ row.nomeResponsavel }}
Não há dados a serem exibidos
\n \n
\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'\nimport { MatSort, MatSortModule } from '@angular/material/sort'\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { CursoEdicaoPublico } from 'src/app/models/curso-edicao-public'\nimport { DocenteDisciplina } from 'src/app/models/docente-disciplina'\nimport { DocenteDisciplinaService } from 'src/app/services/docente-disciplina.service'\n\n@Component({\n selector: 'app-lista-docente-disciplina-inframe',\n standalone: true,\n imports: [\n MatIconModule,\n MatFormFieldModule,\n MatTableModule,\n MatPaginatorModule,\n MatInputModule,\n CommonModule,\n MatSortModule\n ],\n templateUrl: './lista-docente-disciplina-inframe.component.html',\n styleUrl: './lista-docente-disciplina-inframe.component.css'\n})\nexport class ListaDocenteDisciplinaInframeComponent implements AfterViewInit {\n\n @ViewChild(MatPaginator, { static: false }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @Input() cursoEdicao!: CursoEdicaoPublico\n \n colunasGrid?: string[]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n temTitulacao: boolean = false\n \n constructor(\n private docenteDiscplinaService: DocenteDisciplinaService,\n ) {\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n \n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n fromEvent(this.pesquisa.nativeElement, 'keyup').pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n ).subscribe()\n setTimeout(() => {\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n private carregaColunasGrid() {\n if (this.temTitulacao) {\n this.colunasGrid = ['nomeDisciplina','titulacao', 'nomeResponsavel']\n } else {\n this.colunasGrid = ['nomeDisciplina','nomeResponsavel']\n }\n }\n\n pesquisar() {\n this.reloadTable()\n }\n\n reloadTable() {\n this.docenteDiscplinaService.listarPublico(this.cursoEdicao.idCurso, this.cursoEdicao.numeroEdicao, this.pageParams(), this.pesquisa?.nativeElement.value ?? '').subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n this.temTitulacao = this.filtrarPorTitulacao(data.content)\n this.carregaColunasGrid()\n })\n }\n\n private filtrarPorTitulacao(docentes: DocenteDisciplina[]): boolean {\n return docentes.some(docente => docente.titulacao && docente.titulacao.trim() !== '')\n }\n\n pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n\n}\n","
\n \n @for (publicacao of publicacoes; track $index) {\n @if (publicacao.arquivo) {\n \n }\n }\n \n \n \n \n
{{publicacao.data | date: 'dd/MM/yyyy'}} - {{publicacao.titulo}}
Edital
Projeto pedagógico
Cronograma de atividades
Outros editais/normas
\n
","import { CommonModule } from '@angular/common'\nimport { Component, Input, OnInit } from '@angular/core'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatDialog } from '@angular/material/dialog'\nimport { MatIconModule } from '@angular/material/icon'\nimport { ArquivoDownloadService } from 'src/app/services/arquivo-download.service'\nimport { ArquivoViewerDialogComponent } from '../../../comum/arquivo-viewer-dialog/arquivo-viewer-dialog.component'\nimport { MatButtonModule } from '@angular/material/button'\nimport { CursoEdicaoPublico } from 'src/app/models/curso-edicao-public'\nimport { CursoEdicaoPublicacaoService } from 'src/app/services/curso-edicao-publicacao.service'\nimport { CursoEdicaoPublicacao } from 'src/app/models/curso-edicao-publicacao'\n\n@Component({\n selector: 'app-lista-documentos',\n standalone: true,\n imports: [\n MatIconModule,\n MatCardModule,\n CommonModule,\n MatButtonModule],\n templateUrl: './lista-documentos.component.html',\n styleUrl: './lista-documentos.component.css'\n})\n\nexport class ListaDocumentosComponent implements OnInit {\n\n @Input() cursoEdicao!: CursoEdicaoPublico\n publicacoes: CursoEdicaoPublicacao[] = []\n\n constructor(\n private cursoEdicaoPublicacaoService: CursoEdicaoPublicacaoService,\n private downloadService: ArquivoDownloadService,\n private dialog: MatDialog\n ) {\n }\n\n ngOnInit(): void {\n this.cursoEdicaoPublicacaoService.listarPorCursoEdicaoId(this.cursoEdicao.id).subscribe(data => {\n this.publicacoes = data\n })\n }\n\n visualizarAnexos(cursoId: number, anexo: string, nome: string) {\n this.downloadService.arquivoObjectURLPorPath(`publico/curso-edicao-inscricao/${cursoId}/download`, anexo).subscribe(url => {\n this._abrirArquivoViewer(nome, url)\n })\n }\n\n visualizarArquivo(id: number, nome: string) {\n this.downloadService.arquivoObjectURLPorPath(`publico/curso-edicao-publicacao/${id}`, 'download').subscribe(url => {\n this._abrirArquivoViewer(nome, url)\n })\n }\n\n private _abrirArquivoViewer(title: string, url: string): void {\n this.dialog.open(ArquivoViewerDialogComponent, {\n data: { tituloDoArquivo: title, urlDoArquivo: url },\n width: '80%',\n height: '90%',\n })\n }\n}\n","
\n \n search\n Pesquisar\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Titulação{{ row.titulacao }}Nome{{ row.nome }}
Não há dados a serem exibidos
\n \n
\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { EdicaoDocente } from 'src/app/models/edicao-docente'\nimport { EdicaoDocenteService } from 'src/app/services/edicao-docente.service'\nimport { LattesService } from 'src/app/services/lattes.service'\nimport { MatInputModule } from '@angular/material/input'\nimport { CommonModule } from '@angular/common'\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, tap } from 'rxjs'\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table'\nimport { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'\nimport { MatSort, MatSortModule } from '@angular/material/sort'\nimport { CursoEdicaoPublico } from 'src/app/models/curso-edicao-public'\n\n@Component({\n selector: 'app-lista-docente-inframe',\n standalone: true,\n imports: [\n MatIconModule,\n MatFormFieldModule,\n MatTableModule,\n MatPaginatorModule,\n MatInputModule,\n CommonModule,\n MatSortModule\n ],\n templateUrl: './lista-docente-inframe.component.html',\n styleUrl: './lista-docente-inframe.component.css'\n})\nexport class ListaDocenteInframeComponent implements AfterViewInit {\n \n @ViewChild(MatPaginator, { static: false }) paginator!: MatPaginator\n @ViewChild(MatSort) sort!: MatSort\n @ViewChild('pesquisa') pesquisa!: ElementRef\n @Input() cursoEdicao!: CursoEdicaoPublico\n\n colunasGrid?: string[]\n dataSource: MatTableDataSource = new MatTableDataSource()\n totalElements: number = 0\n temTitulacao: boolean = false\n\n constructor(\n private edicaoDocenteService: EdicaoDocenteService,\n private unespCoreMessageService: UnespCoreMessageService,\n private lattesService: LattesService\n ) {\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort\n this.paginator?.page.pipe(tap(() => this.pesquisar())).subscribe()\n fromEvent(this.pesquisa.nativeElement, 'keyup').pipe(\n debounceTime(150),\n filter((e: KeyboardEvent) => e.key === 'Enter'),\n distinctUntilChanged(),\n tap(() => {\n this.pesquisar()\n })\n ).subscribe()\n setTimeout(() => {\n this.reloadTable()\n }, 0)\n this.paginator?.page.pipe(tap(() => this.reloadTable())).subscribe()\n }\n\n private carregaColunasGrid() {\n if (this.temTitulacao) {\n this.colunasGrid = ['titulacao', 'nome']\n } else {\n this.colunasGrid = ['nome']\n }\n }\n\n abrirLattes(docente: EdicaoDocente): void {\n if (docente.lattes) {\n window.open('http://lattes.cnpq.br/' + docente.lattes, '_blank')\n return\n }\n this.lattesService.consultaLattes(docente.cpfDocente.replaceAll('.', '').replaceAll('-', '')).subscribe({\n next: identificadoresDocente => {\n if (identificadoresDocente.lattes) {\n window.open('http://lattes.cnpq.br/' + identificadoresDocente.lattes, '_blank')\n } else {\n this.unespCoreMessageService.showMessageError('Lattes não encontrado')\n }\n },\n error: () => {\n this.unespCoreMessageService.showMessageError('Lattes não encontrado')\n },\n })\n }\n\n pesquisar() {\n this.reloadTable()\n }\n\n reloadTable() {\n this.edicaoDocenteService.listarPublico(this.cursoEdicao.idCurso, this.cursoEdicao.numeroEdicao, this.pageParams(), this.pesquisa?.nativeElement.value).subscribe(data => {\n this.dataSource = new MatTableDataSource(data.content)\n this.dataSource.sort = this.sort\n this.totalElements = data['totalElements']\n this.temTitulacao = this.filtrarPorTitulacao(data.content)\n this.carregaColunasGrid()\n })\n }\n\n private filtrarPorTitulacao(docentes: EdicaoDocente[]): boolean {\n return docentes.some(docente => docente.titulacao && docente.titulacao.trim() !== '')\n }\n\n pageParams(): any {\n let params: Partial = {\n pageIndex: this.paginator.pageIndex,\n pageSize: this.paginator.pageSize,\n }\n if (this.sort && this.sort.direction) {\n params['orderBy'] ??= this.sort.active\n params['sortDirection'] ??= this.sort.direction?.toUpperCase()\n }\n return params\n }\n\n sortData(sort: any) {\n this.reloadTable()\n }\n}\n","
\n
\n

{{ cursoEdicao.curso }}

\n

Edição: {{ cursoEdicao.numeroEdicao }}

\n

Modalidade: {{ cursoEdicao.modalidade }}

\n

Período de Inscrição: de {{ cursoEdicao.dataInicialInscricao | date : 'dd/MM/yyyy' }} à {{ cursoEdicao.dataFinalInscricao | date : 'dd/MM/yyyy' }}

\n

Período do Curso: de {{ cursoEdicao.dataInicialCurso | date : 'dd/MM/yyyy' }} à {{ cursoEdicao.dataFinalCurso | date : 'dd/MM/yyyy' }}

\n

Número de Vagas: {{ cursoEdicao.numeroMaximoVagas }}

\n

Duração: {{ cursoEdicao.numeroMeses }} meses

\n

Carga Horária: {{ cursoEdicao.cargaHoraria }} horas

\n

Público Alvo: {{ cursoEdicao.publicoAlvo }}

\n
\n

Unidade: {{ cursoEdicao.unidade }}

\n

Departamento: {{ cursoEdicao.departamentoResponsavel }}

\n

Coordenador: {{ cursoEdicao.nomeCoordenador }}

\n

Vice-Coordenador: {{ cursoEdicao.nomeViceCoordenador }}

\n
\n \n \n
\n
\n
\n \n \n \n \n \n my_library_books\n Disciplinas\n \n \n \n \n \n people\n Docentes\n \n \n \n \n \n assignment\n Discipinas x Docentes\n \n \n \n \n \n picture_as_pdf\n Documentos\n \n \n \n \n \n \n
\n
","import { NgModule } from '@angular/core'\nimport { RouterModule, Routes } from '@angular/router'\nimport { UnespCoreAccessDeniedComponent, UnespCoreHomeComponent, UnespCorePageNotFoundComponent } from '@unesp/core'\n\nimport { HomeComponent } from './modules/comum/home/home.component'\nimport { CentralAcessosHomeComponent } from './modules/comum/central-acessos-home/central-acessos-home.component'\nimport { AjudaSuporteComponent } from './modules/comum/suporte/ajuda-suporte.component'\nimport { AuthComponent } from './modules/publico/auth/auth.component'\nimport { CursoEdicaoInscricaoListarComponent } from './modules/publico/curso-edicao-inscricao-listar/curso-edicao-inscricao-listar.component'\nimport { SenhaRecuperarComponent } from './modules/publico/senha-recuperar/senha-recuperar.component'\nimport { SenhaRedefinirComponent } from './modules/publico/senha-redefinir/senha-redefinir.component'\nimport { DocumentoValidadorComponent } from './modules/publico/documento-validator/documento-validador.component'\nimport { LogoutComponent } from './modules/comum/logout/logout.component'\nimport { CursoEdicaoInscricaoDetalhesComponent } from './modules/publico/curso-edicao-inscricao-detalhes/curso-edicao-inscricao-detalhes.component'\n\nconst routes: Routes = [\n {\n path: '',\n component: HomeComponent,\n },\n {\n path: 'unidade',\n loadChildren: () => import('./modules/unidade/unidade.module').then(m => m.UnidadeModule),\n },\n {\n path: 'propg',\n loadChildren: () => import('./modules/propg/propg.module').then(m => m.PropgModule),\n },\n {\n path: 'propeg',\n loadChildren: () => import('./modules/propeg/propeg.module').then(m => m.PropegModule),\n },\n {\n path: 'publico',\n loadChildren: () => import('./modules/publico/publico.module').then(m => m.PublicoModule),\n },\n {\n path: 'candidato',\n loadChildren: () => import('./modules/candidato/candidato.module').then(m => m.CandidatoModule),\n },\n {\n path: 'discente',\n loadChildren: () => import('./modules/discente/discente.module').then(m => m.DiscenteModule),\n },\n {\n path: 'docente',\n loadChildren: () => import('./modules/docente/docente.module').then(m => m.DocenteModule),\n },\n {\n path: 'access-denied',\n component: UnespCoreAccessDeniedComponent,\n },\n {\n path: 'auth',\n component: UnespCoreHomeComponent,\n },\n {\n path: 'logout',\n component: LogoutComponent,\n },\n {\n path: 'candidato/entrar',\n pathMatch: 'full',\n component: AuthComponent,\n },\n {\n path: 'candidato/senha-recuperar',\n pathMatch: 'full',\n component: SenhaRecuperarComponent,\n },\n {\n path: 'candidato/senha-redefinir/:codigo',\n pathMatch: 'full',\n component: SenhaRedefinirComponent,\n },\n {\n path: 'autenticidade-documento',\n component: DocumentoValidadorComponent,\n },\n {\n path: 'autenticidade-documento/:codigo',\n component: DocumentoValidadorComponent,\n },\n {\n path: 'cursos',\n component: CursoEdicaoInscricaoListarComponent,\n },\n {\n path: 'curso/:idCursoEdicao',\n component: CursoEdicaoInscricaoDetalhesComponent,\n },\n {\n path: 'page-not-found',\n component: UnespCorePageNotFoundComponent,\n },\n {\n path: 'ajuda/suporte',\n component: AjudaSuporteComponent,\n },\n {\n path: 'central-acessos-home',\n component: CentralAcessosHomeComponent,\n },\n {\n path: 'changelog',\n loadComponent: () => import('./modules/comum/changelog/changelog.component').then(m => m.ChangeLogComponent),\n },\n {\n path: '**',\n redirectTo: '/page-not-found',\n },\n]\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { AfterViewInit, Component, Inject, OnInit, Optional } from '@angular/core'\nimport { CursoEdicaoInscricaoService } from 'src/app/services/curso-edicao-inscricao.service '\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatTabsModule } from '@angular/material/tabs'\nimport { CommonModule } from '@angular/common'\nimport { ListaDisciplinaInframeComponent } from \"./lista-disciplina-inframe/lista-disciplina-inframe.component\"\nimport { ListaDocenteDisciplinaInframeComponent } from \"./lista-docente-disciplina-inframe/lista-docente-disciplina-inframe.component\"\nimport { ListaDocumentosComponent } from \"./lista-documentos-inframe/lista-documentos.component\"\nimport { ListaDocenteInframeComponent } from \"./lista-docente-inframe/lista-docente-inframe.component\"\nimport { ParametrosCursoIdEdicao } from '../curso-edicao-inscricao-listar/inscricoes-abertas/inscricoes-abertas.component'\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog'\nimport { MatCardModule } from '@angular/material/card'\nimport { UnespCoreMenuNavigationService } from '@unesp/core'\nimport { CursoEdicaoPublico } from 'src/app/models/curso-edicao-public'\n\n@Component({\n selector: 'app-curso-edicao-inscricao-detalhes',\n standalone: true,\n imports: [\n MatCardModule,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n CommonModule,\n ListaDisciplinaInframeComponent,\n ListaDocenteDisciplinaInframeComponent,\n ListaDocumentosComponent,\n ListaDocenteInframeComponent\n ],\n templateUrl: './curso-edicao-inscricao-detalhes.component.html',\n styleUrl: './curso-edicao-inscricao-detalhes.component.css'\n})\nexport class CursoEdicaoInscricaoDetalhesComponent implements OnInit, AfterViewInit {\n \n idCursoEdicao!: number\n carregou: boolean = false\n cursoEdicao?: CursoEdicaoPublico\n\n constructor(\n @Optional() @Inject(MAT_DIALOG_DATA) public params: ParametrosCursoIdEdicao,\n private cursoEdicaoInscricaoService: CursoEdicaoInscricaoService,\n private route: ActivatedRoute,\n private router: Router,\n private unespCoreMenuNavigationService: UnespCoreMenuNavigationService,\n ) {\n }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.idCursoEdicao = params['idCursoEdicao']\n this.cursoEdicaoInscricaoService.getProposta(this.idCursoEdicao).subscribe({\n next: (data) => {\n this.cursoEdicao = data\n this.carregou = true\n },\n error: err => {\n this.router.navigate(['/page-not-found'])\n },\n })\n })\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.unespCoreMenuNavigationService.openNav()\n this.unespCoreMenuNavigationService.closeNav()\n }, 100)\n }\n\n inscricao() {\n if (this.cursoEdicao?.linkInscricaoExterna !== null && this.cursoEdicao?.linkInscricaoExterna !== '') {\n if (!this.cursoEdicao?.linkInscricaoExterna.toLowerCase().startsWith('http')) {\n this.cursoEdicao!.linkInscricaoExterna = '//' + this.cursoEdicao?.linkInscricaoExterna\n }\n window.open(this.cursoEdicao?.linkInscricaoExterna, '_blank')\n } else {\n this.router.navigate([`publico/cursos/${this.cursoEdicao.id}/aluno-inscricao`])\n }\n }\n\n webSite() {\n if (!this.cursoEdicao?.linkWebSite.toLowerCase().startsWith('http')) {\n this.cursoEdicao!.linkWebSite = '//' + this.cursoEdicao?.linkWebSite\n }\n window.open(this.cursoEdicao?.linkWebSite, '_blank')\n }\n}","import { Component, OnInit, ViewEncapsulation } from '@angular/core'\nimport { environment } from '../environments/environment'\nimport { SwUpdate } from '@angular/service-worker'\nimport { Data, RouterOutlet } from '@angular/router'\nimport { routeAnimations } from '@unesp/core'\nimport packageJson from '../../package.json'\nimport { datadogRum } from '@datadog/browser-rum'\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n animations: [routeAnimations],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AppComponent implements OnInit {\n version: string = packageJson.version\n env = environment\n fullTitle = `Sistema de Especialização (Lato Sensu) v${this.version}`\n shortTitle = `SISESP v${this.version}`\n footerText = 'PROPG - Pró-reitoria de Pós-graduação'\n logoCustom = 'assets/img/logo.svg'\n\n constructor(private swUpdate: SwUpdate) {}\n\n ngOnInit(): void {\n if (this.swUpdate.isEnabled) {\n this.swUpdate.versionUpdates.subscribe(async event => {\n switch (event.type) {\n case 'VERSION_DETECTED':\n console.log(`Downloading new app version: ${event.version.hash}`)\n break\n case 'VERSION_READY':\n console.log(`Current app version: ${event.currentVersion.hash}`)\n console.log(`New app version ready for use: ${event.latestVersion.hash}`)\n await this.swUpdate.activateUpdate()\n alert('O sistema foi atualizado!')\n location.reload()\n break\n case 'VERSION_INSTALLATION_FAILED':\n console.error(`Failed to install app version '${event.version.hash}': ${event.error}`)\n break\n }\n })\n }\n if (this.env.production == false) {\n this.footerText = this.env.name\n }\n if (this.env.production) {\n datadogRum.init({\n applicationId: '615ffc25-1ce3-4709-a025-d4a4ab51cd06',\n clientToken: 'pub53be23be4179d754d8f52fbdd7e46641',\n site: 'datadoghq.com',\n service: 'sisesp',\n env: this.env.tag,\n version: this.version,\n allowedTracingUrls: [\"https://app.unesp.br\",\"https://sistemas.unesp.br\"],\n sessionSampleRate: 100,\n sessionReplaySampleRate: 20,\n trackUserInteractions: true,\n trackResources: true,\n trackLongTasks: true,\n defaultPrivacyLevel: 'mask-user-input',\n })\n }\n }\n\n prepareRoute(outlet: RouterOutlet): Data {\n return outlet && outlet.activatedRouteData\n }\n}\n","
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n PROPG | \n CTINF |\n GTDSI\n
\n
\n
\n
\n
\n","import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse, HttpHeaders } from '@angular/common/http'\nimport { Injectable } from '@angular/core'\nimport { UnespCoreMessageService } from '@unesp/core'\nimport { Observable, throwError, map } from 'rxjs'\nimport { catchError } from 'rxjs/operators'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RequestInterceptorService implements HttpInterceptor {\n constructor(private unespCoreMessageService: UnespCoreMessageService) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (\n request.url.startsWith('https://viacep.com.br/ws') ||\n request.url.startsWith('https://unesp.br/portaldocentes/api')\n ) {\n return next.handle(request.clone({ headers: new HttpHeaders(), withCredentials: false }))\n }\n return next.handle(request).pipe(\n map(res => {\n if (res instanceof HttpResponse) {\n if (request.url.includes('/auth/logout')) {\n this.clearLocalStorage()\n }\n if (res.status === 205 && request.url.includes('auth')) {\n this.unespCoreMessageService.showMessageInfo(\n 'Ajustamos alguns dados de acesso. Tente logar novamente.',\n undefined,\n 5000\n )\n }\n }\n return res\n }),\n catchError(err => {\n return throwError(() => err)\n })\n )\n }\n\n clearLocalStorage() {\n for (let i = localStorage.length - 1; i >= 0; i--) {\n const key = localStorage.key(i)\n if (key && key.startsWith('sisesp')) {\n localStorage.removeItem(key)\n }\n }\n }\n\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http'\nimport { NgModule } from '@angular/core'\nimport { RequestInterceptorService } from './request-interceptor.service'\n\n@NgModule({\n declarations: [],\n imports: [],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: RequestInterceptorService,\n multi: true,\n },\n ],\n})\nexport class RequestInterceptorModule {}\n","import { NgModule } from '@angular/core'\nimport { RequestInterceptorModule } from './request-interceptor/request-interceptor.module'\n\n@NgModule({\n declarations: [],\n imports: [RequestInterceptorModule],\n exports: [RequestInterceptorModule],\n})\nexport class InterceptorsModule {}\n","import { CommonModule, registerLocaleData } from '@angular/common'\nimport localePt from '@angular/common/locales/pt'\nimport { DEFAULT_CURRENCY_CODE, LOCALE_ID, NgModule } from '@angular/core'\nimport { BrowserModule } from '@angular/platform-browser'\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations'\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout'\nimport { MatPaginatorIntl } from '@angular/material/paginator'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatIconModule } from '@angular/material/icon'\nimport { ServiceWorkerModule } from '@angular/service-worker'\nimport { UnespCoreHomeModule, UnespCoreModule, UnespCoreUserService } from '@unesp/core'\n\nimport { environment } from 'src/environments/environment'\nimport { PtBrMatPaginatorIntl } from './pt-br-paginator-intl'\nimport { AppRoutingModule } from './app-routing.module'\nimport { AppComponent } from './app.component'\nimport { InterceptorsModule } from './interceptors/interceptors.module'\n\nimport { HomeComponent } from './modules/comum/home/home.component'\nimport { AjudaSuporteComponent } from './modules/comum/suporte/ajuda-suporte.component'\nimport { CentralAcessosHomeComponent } from './modules/comum/central-acessos-home/central-acessos-home.component'\nimport { UnidadeModule } from './modules/unidade/unidade.module'\nimport { PropgModule } from './modules/propg/propg.module'\nimport { PropegModule } from './modules/propeg/propeg.module'\nimport { CandidatoModule } from './modules/candidato/candidato.module'\nimport { DownloadAssetComponent } from './modules/comum/download/download-asset.component'\nimport { RECAPTCHA_V3_SITE_KEY, RecaptchaV3Module } from 'ng-recaptcha-2'\nimport { MatTableModule } from '@angular/material/table'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { DocenteModule } from './modules/docente/docente.module'\nimport { getMenu } from './menu/menu-completo'\nimport { CabecalhoComponent } from './modules/comum/cabecalho/cabecalho.component'\nimport { UnespBreadcrumbModule } from '@unesp/shared'\n\nregisterLocaleData(localePt, 'pt')\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n AjudaSuporteComponent,\n CentralAcessosHomeComponent,\n DownloadAssetComponent,\n ],\n imports: [\n CommonModule,\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n UnespCoreModule,\n UnespCoreHomeModule,\n InterceptorsModule,\n ServiceWorkerModule.register('ngsw-worker.js', {\n enabled: environment.production,\n registrationStrategy: 'registerWhenStable:30000',\n }),\n FlexLayoutModule,\n MatCardModule,\n MatButtonModule,\n MatIconModule,\n MatDialogModule,\n MatTableModule,\n UnidadeModule,\n DocenteModule,\n PropgModule,\n PropegModule,\n CandidatoModule,\n RecaptchaV3Module, \n UnespBreadcrumbModule\n ],\n providers: [\n { provide: 'environment', useValue: environment },\n //{ provide: 'menu', useValue: menu },\n {\n provide: 'menu',\n deps: [UnespCoreUserService],\n useFactory: (unespCoreUserService: UnespCoreUserService) => {\n return getMenu(unespCoreUserService.getUser() === null, unespCoreUserService.getUser()?.roles ?? [])\n }\n },\n { provide: LOCALE_ID, useValue: 'pt-BR' },\n { provide: DEFAULT_CURRENCY_CODE, useValue: 'BRL' },\n { provide: MatPaginatorIntl, useValue: PtBrMatPaginatorIntl() },\n { provide: RECAPTCHA_V3_SITE_KEY, useValue: environment.recaptcha.siteKey },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { enableProdMode } from '@angular/core'\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic'\n\nimport { AppModule } from './app/app.module'\nimport { environment } from './environments/environment'\n\nif (environment.production) {\n enableProdMode()\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err))\n"],"x_google_ignoreList":[]}