{"version":3,"file":"js/reducers.xxxxxxxxxxxxxxxxxxxx.js","mappings":"mOAKA,MACEA,EAAeC,IACb,IACE,OAAOC,KAAKC,MAAMF,EACpB,CAAE,MAAOG,GACP,OAAO,IACT,GAsEFC,EAAa,CACX,CAACC,EAAAA,EAAQC,aArEUC,GACZC,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,KAmElB,CAACL,EAAAA,EAAQO,sBAhEiBC,CAACN,EAAOO,EAAQC,KAC1C,GAAID,EAAOE,MACT,OAAOR,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChBO,YAAa,CAAEP,KAAM,OAIzB,MACEQ,aAAcC,EACdC,cAAeC,EACfC,aAAcC,EACdC,cAAeC,EACfC,eAAgBC,EAChBC,aAAcC,EAAO,GACrBC,iBAAkBC,EAClBC,wBAAyBC,EACzBC,WAAYC,EACZC,YAAaC,EACbC,UAAWC,EAAQ,OACnBC,EAAM,cACNC,GAAgB,EAChBC,4BAA6BC,EAAc,GAC3CC,4BAA6BC,EAAU,GACvCC,uCAAwCC,EAAqB,GAAE,KAC/DC,EAAO,CAAC,GACNjC,EAEJ,OAAOP,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChBS,GAAI,CAAET,KAAMS,GACZE,MAAO,CAAEX,KAAMW,GACfE,KAAM,CAAEb,KAAMa,GACdE,YAAa,CAAEf,KAAMe,GACrBE,OAAQ,CAAEjB,KAAMiB,GAChBE,KAAM,CAAEnB,KAAMmB,GACdY,cAAe,CAAE/B,KAAM+B,GACvBN,UAAW,CAAEzB,KAAMyB,GACnBE,WAAY,CAAE3B,KAAM2B,GACpBE,SAAU,CAAE7B,KAAM6B,GAClBC,OAAQ,CAAE9B,KAAM8B,GAChBG,YAAa,CAAEjC,KAAMiC,GACrBE,QAAS,CAAEnC,KAAMmC,GACjBE,mBAAoB,CAAErC,KAAMqC,GAC5BE,YAAa,CAAEvC,KAAMX,EAAYgC,IACjCmB,kBAAmB,CAAExC,KAAMX,EAAYkC,IACvCe,KAAM,CAAEtC,KAAMsC,MAiBhB,CAAC3C,EAAAA,EAAQ8C,qBAdS5C,GACXC,IAAOD,EAAO,CACnB6C,UAAW,CAAE1C,MAAM,KAarB,CAACL,EAAAA,EAAQgD,YAVS9C,GACXC,IAAOD,EAAO,CACnBgB,KAAM,CAAEb,UAAM4C,GACdL,YAAa,CAAEvC,UAAM4C,MAUZ,SAAS,EAAC/C,EAAQ,CAAEI,QAAQ,EAAOF,SAAS,EAAOQ,YAAa,EAAGsC,IAAK,IAAMzC,GAC3F,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,oDCvFA,MACEmD,EAAgB,CACdjD,SAAS,EACTE,QAAQ,EACRgD,QAAQ,EACRC,SAAU,GACVC,SAAU,GACVC,eAAgB,GAChB7C,YAAa,EACbsC,IAAK,GACLQ,eAAgB,CAAC,EACjBC,WAAW,EACXC,UAAW,IA2Jb7D,EAAa,CACX,CAACC,EAAAA,EAAQ6D,oBArGgB3D,GAClBC,IAAOD,EAAO,CACnBoD,OAAQ,CAAEjD,MAAM,KAoGlB,CAACL,EAAAA,EAAQ8D,6BAjGuBC,CAAC7D,EAAOO,EAAQC,KAChD,GAAID,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,IAAOD,EAAO,CACnBoD,OAAQ,CAAEjD,MAAM,GAChBO,YAAa,CAAEP,KAAM2D,IAEzB,CACA,MAAM,GAAElD,EAAE,SAAEmD,EAAQ,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,MAAEC,GAAU5D,EACrEkD,EAAYS,EAAYvD,EAAKZ,EAAM0D,UAErC,OAAOzD,IAAOD,EAAO,CACnBoD,OAAQ,CAAEjD,MAAM,GAChBuD,UAAW,CAAEvD,KAAMuD,GACnBhD,YAAa,CAAEP,KAAM,GACrBqD,eAAgB,CACd,CAAC5C,GAAK,CAAET,KAAM,CAAES,KAAImD,WAAUC,UAASI,MAAOH,EAAaA,EAAWI,UAAUJ,EAAWK,OAAS,GAAKF,EAAOF,cAkFpH,CAACpE,EAAAA,EAAQyE,uBA9EkBC,CAACxE,EAAOO,EAAQC,IACpCP,IAAOD,EAAO,CACnBsD,SAAU,CAAEmB,MAAO,CAAEjE,EAAKI,OA6E5B,CAACd,EAAAA,EAAQ4E,gCA1E0BC,CAAC3E,EAAOO,EAAQC,KACnD,MAAMoE,EAAQ5E,EAAMqD,SAASwB,QAAQrE,EAAKI,IAC1C,GAAIL,EAAOE,MACT,OAAOR,IAAOD,EAAO,CACnBsD,SAAU,CAAEwB,QAAS,CAAE,CAAEF,EAAO,KAChClE,YAAa,CAAEP,KAAM,OAIzB,MAAM,GAAES,GAAOJ,EAEf,OAAOP,IAAOD,EAAO,CACnBwD,eAAgB,CACduB,OAAQ,CAAEnE,IAEZF,YAAa,CAAEP,KAAM,GACrBmD,SAAU,CAAEwB,QAAS,CAAE,CAAEF,EAAO,QA2DlC,CAAC9E,EAAAA,EAAQkF,4BAxDsBC,CAACjF,EAAOO,EAAQC,IACxCP,IAAOD,EAAO,CACnBuD,eAAgB,CAAEkB,MAAO,CAAEjE,EAAKI,OAuDlC,CAACd,EAAAA,EAAQoF,qCApD8BC,CAACnF,EAAOO,EAAQC,KACvD,MAAMoE,EAAQ5E,EAAMqD,SAASwB,QAAQrE,EAAKI,IAC1C,GAAIL,EAAOE,MACT,OAAOR,IAAOD,EAAO,CACnBuD,eAAgB,CAAEuB,QAAS,CAAE,CAAEF,EAAO,KACtClE,YAAa,CAAEP,KAAM,OAIzB,MAAM,GAAES,GAAOJ,EAEf,OAAOP,IAAOD,EAAO,CACnBuD,eAAgB,CAAEuB,QAAS,CAAE,CAAEF,EAAO,KACtClE,YAAa,CAAEP,KAAM,GACrBuD,UAAW,CAAEvD,KAAMS,MAuCrB,CAACd,EAAAA,EAAQsF,uBApCkBC,CAACrF,EAAOO,EAAQC,IACpCP,IAAOD,EAAO,CACnBqD,SAAU,CAAEoB,MAAO,CAAEjE,EAAKI,OAmC5B,CAACd,EAAAA,EAAQwF,gCAhC0BC,CAACvF,EAAOO,EAAQC,KACnD,MAAMoE,EAAQ5E,EAAMqD,SAASwB,QAAQrE,EAAKI,IAE1C,GAAIL,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,IAAOD,EAAO,CACnBqD,SAAU,CAAEyB,QAAS,CAAE,CAAEF,EAAO,KAChClE,YAAa,CAAEP,KAAM2D,IAEzB,CAEA,MAAM,GAAElD,EAAE,SAAEmD,EAAQ,QAAEC,GAAYxD,EAElC,OAAOP,IAAOD,EAAO,CACnBqD,SAAU,CAAEyB,QAAS,CAAE,CAACF,EAAO,KAC/BlE,YAAa,CAAEP,KAAM,GACrBqD,eAAgB,CACd,CAAC5C,GAAK,CACJmD,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,QAcvB,CAAClE,EAAAA,EAAQ0F,qBA3IiBxF,GACnBC,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,KA0InB,CAACL,EAAAA,EAAQ2F,8BAvIwBC,CAAC1F,EAAOO,EAAQC,KACjD,GAAID,EAAOE,MACT,OAAOR,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChBO,YAAa,CAAEP,KAAM,OAGzB,MAAQwF,QAASnC,EAAgBoC,eAAgBlC,EAAWmC,WAAYpC,GAAY,GAAUjD,EAC5FsF,EAAU,CAAEtC,eAAgB,CAAC,GAC7BR,EAAM+C,IAAKvC,EAAiBwC,IAC1BC,IAAQH,EAAQtC,eAvCI0C,EAAClG,EAAOgG,KAChC,MAAM,GAAEpF,EAAE,MAAEwD,EAAO+B,UAAWC,EAAaC,SAAUC,EAAU,MAAEpC,GAAU8B,EACzEjC,EAAW,GAAGqC,IACdpC,EAAU,GAAGsC,IAAajC,UAAU,GAGtC,OAFarE,EAAMwD,eAAe5C,GAS3B,CACL,CAACA,GAAK,CACJA,GAAI,CAAET,KAAMS,GACZmD,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjBI,MAAO,CAAEjE,KAAMiE,GACfF,MAAO,CAAE/D,KAAM+D,KAZV,CACL,CAACtD,GAAK,CAAET,KAAM,CACZS,KAAImD,WAAUC,UAASI,QAAOF,YA8BAgC,CAAwBlG,EAAOgG,IACxDA,EAAOpF,KAWlB,OARAqF,IAAQH,EAAS,CACf5F,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChB6C,IAAK,CAAE7C,KAAM6C,GACbU,UAAW,CAAEvD,KAAMuD,GACnBD,UAAW,CAAEtD,KAAMsD,GACnB/C,YAAa,CAAEP,KAAM,KAEhBF,IAAOD,EAAO8F,KAmHV,SAAS,EAAC9F,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,CC5LA,OAAeuG,EAAAA,EAAAA,IAAgB,CAC7BC,QAAO,EACPhD,eAAcA,I,qCCDhB,MA0BE3D,EAAa,CACX,CAACC,EAAAA,GAAQ2G,oBA1BQC,CAAC1G,EAAOO,EAAQC,KACjC,MAAM,SAAEmG,GAAanG,EAErB,OAAOP,IAAOD,EAAO,CACnB2G,SAAU,CAAExG,KAAMwG,MAuBpB,CAAC7G,EAAAA,GAAQ8G,wBApBmBC,CAAC7G,EAAOO,EAAQC,KAC5C,GAAID,EAAOE,MACT,OAAOT,EAGT,MAAM,UAAE8G,GAActG,GACpB,WAAEuG,EAAU,aAAEC,GAAiBC,IAAQH,EAAW,CAACI,EAAKC,KACtD,MAAQC,qBAAsBC,EAAkBC,qBAAsBtG,GAASmG,EAG/E,OAFAD,EAAIH,WAAWM,GAAoBrG,EACnCkG,EAAIF,aAAeK,EACZH,GACN,CAAEH,WAAY,CAAC,EAAGC,aAAc,KACnCL,EAAW3G,EAAM2G,UAAYK,EAC/B,OAAO/G,IAAOD,EAAO,CACnBuH,KAAM,CAAEpH,KAAM4G,GACdJ,SAAU,CAAExG,KAAMwG,OAQT,SAAS,EAAC3G,EAAQ,CAAE2G,SAAU,GAAIY,KAAM,CAAC,GAAKhH,GAC3D,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,gCClCA,MAAMwH,EAAwB,cAG5BC,EAAgB,CACdC,UAAW,GACXC,UAAW,GACXC,KAAM,GACNC,OAAQ,GACR7H,MAAO,GACP8H,IAAK,GACLC,QAAS,GACTC,MAAO,GACPlH,MAAO,IAETmH,EAAkBC,IAChB,IAAKA,EACH,OAAOT,EAET,MAAM,UAAEC,EAAS,cAAES,EAAa,UAAER,EAAS,cAAES,EAAa,KAAER,EAAI,QAAEG,EAAO,OAAEF,EAAM,MAAE7H,EAAO8H,IAAKO,EAASL,MAAO9G,EAAW,MAAEJ,GAAUoH,EACtI,MAAO,CACLI,aAAcZ,GAAaS,EAC3BI,aAAcZ,GAAaS,EAC3BR,OACAC,SACA7H,QACAqI,UACAN,UACAjH,QACAI,gBAGJsH,EAAeC,IACb,IAAKA,EACH,MAAO,CAAC,EAEV,MAAQ9G,WAAYC,EAAWC,YAAaC,EAAYC,UAAWC,EAAQ,OAAEC,EAAQyG,aAActG,EAAauG,sBAAuBC,GAAyBH,EAEhK,OAAOxC,IAAQgC,EAAeQ,GAAO,CACnC7G,YACAE,aACAE,WACAC,SACAG,cACAwG,0BAGJC,EAAiBJ,IACf,IAAKA,EACH,MAAO,CAAC,EAEV,MAAM,QAAEK,GAAYL,EAEpB,OAAOxC,IAAQuC,EAAYC,GAAO,CAAEK,QAASA,IAAW,KAE1DC,EAAmBN,IACjB,IAAKA,EACH,MAAO,CAAC,EAEV,MAAM,MAAEO,GAAUP,EAElB,OAAOxC,IAAQuC,EAAYC,GAAO,CAAEO,MAAOA,GAAS,MAoPtDnJ,EAAa,CACX,CAACC,EAAAA,GAAQ8G,wBAnPmBC,CAAC7G,EAAOO,EAAQC,KAC5C,GAAID,EAAOE,MACT,OAAOT,EAGT,IAAIiJ,EAAuB,GAE3B,MAAM,UAAEnC,GAActG,EACpBuG,EAAaE,IAAQH,EAAW,CAACI,EAAKC,KACpC,MAEIC,qBAAsBC,EACtBC,qBAAsBtG,EACtBkI,qBAAsBC,EACtBC,qBAAsBC,EACtBC,4BAA6BC,EAAmB,GAChDC,kBAAmBC,EACnBC,WAAYC,EAAY,GACxBC,cAAeC,EAAO,GAAE,QACxBC,EACAC,aAAcC,EAAc,GAC5BC,eAAgBC,EAAgB,GAChCC,2BAA4BC,EAC5BC,QAASC,EAAQ,GACjBC,iBAAkBC,EAClBC,iBAAkBC,EAClBC,UAAWC,GACTzD,GAEFe,QAAS2C,EAAkBpD,EAAa,kBACxCqD,EAAiB,UACjBC,EACAC,gBAAiBC,EAAiBxD,EAClCyD,kBAAmBC,EAAmB1D,EACtC8C,iBAAkBa,EAAqB,QACvCC,EACAC,YAAaC,EAAa,KAC1BC,qBAAsBC,EAAsB,KAC5CC,aAAcC,EAAW,SACzBC,EAAQ,QACRC,EAAO,UACPC,EAAS,SACTC,EACAC,iBAAkBC,EAAe,IACjCC,EAAM,IACJ7C,EAGJ8C,EAAc3B,GAAsBY,EAEpC9J,EAAsB,cAAf6H,EAA6B,OADV,SAAfA,EAAwB,OAAS,OAE5CiD,EAAYT,EACZU,EAAyBC,IAASzB,EAAiBpD,GACnD8E,EAAwBD,IAASrB,EAAgBxD,GACjD+E,EAA4BvE,EAAekD,GAC3CsB,EAA0BxE,EAAegD,GACzCyB,EAA2BzE,EAAe4C,GAC1C8B,GAAwBN,GAA0BC,IAASI,EAA0BD,GACrFG,GAA0BP,GAA0BC,IAASI,EAA0BF,GACvFK,GAAyBN,GAAyBD,IAASG,EAAyBD,GACpFnC,GAAUC,EAAMwC,OAAO,EAEnBC,sBAAuBC,EAAe,WACtCC,wBAAyBC,EAAgB,MAEnB,WAAjBF,GACL,CAAC,qBAAsB,8BAA+B,qCACnDG,SAASD,IAEbhG,IAAI,EACHkG,cAAeC,EAAe,EAC9BC,eAAe,GACfC,oBAAqBC,EAAa,GAClCjM,iBAAkBmB,EAAc,OAEzB,CACL+K,MAAOJ,EACPC,eACAI,KAAMF,EACN9K,iBAGNiL,GAAkCrD,EAAMwC,OAAO,EAE3CC,sBAAuBC,EAAe,WACtCC,wBAAyBC,EAAgB,MAEnB,WAAjBF,GACL,CAAC,8BAA+B,qCAC7BG,SAASD,IAEbhG,IAAI,EACHkG,cAAeC,EAAe,EAC9BC,eAAe,GACfC,oBAAqBC,EAAa,GAClCjM,iBAAkBmB,EAAc,OAEzB,CACL+K,MAAOJ,EACPC,eACAI,KAAMF,EACN9K,iBAGNkH,GAAiB7D,IAAK8D,EAAO+D,IAC3B,MAEIC,kBAAmBP,EACnBQ,yBAA0BC,EAAa,GACvCC,2BAA4BC,EAAU,GACtCC,iBAAkBC,EAAiB,CAAC,EACpCC,cAAeC,GAAa,GAC1BT,GAEFU,UAAWC,EAAW,GACtBC,aAAcC,EAAc,MAC1BN,EAKN,OAHIE,GAAepF,IACjBA,EAAuBqE,GAElB,CACLA,eACAe,aACAN,aACAE,UACAM,WACAE,YAAaA,EAAcjG,EAAYiG,GAAe,QA2G5D,OAtGEvH,EAAIG,GADO,SAAT/F,EACsB,CACtBN,OACAM,OACA6K,cACAD,MACAvC,YACAF,mBACAR,qBAAsBmB,GAAgCnB,GAAwB,GAC9EM,mBACArB,QAASwE,EACThC,kBACAE,WACAO,iBAAkBqB,EAClBvB,eAAgBwB,EAChB5B,gBAAiB6B,EACjBC,uBACAC,yBACAC,wBACAxB,QAAS7C,EAAY6C,GACrBE,WAAYA,EAAa/C,EAAY+C,GAAc,KACnDmD,qBAAsBrD,EAAU7C,EAAY6C,GAAW,KACvDI,oBAAqBA,EAAsB1C,EAAgB0C,GAAuB,KAClFI,QAAS9F,IAAK8F,EAAU8C,GAAoB9F,EAAc8F,IAC1D/C,SAAU7F,IAAK6F,EAAW9C,GAAqBN,EAAYM,IAC3DsD,YACAH,gBAAiBzD,EAAYyD,GAC7B5B,WACAsD,mCACA/D,iBACAE,UACAE,cACAE,gBACA0E,YAAa5N,IAASwG,GAEN,SAATlG,EACe,CACtBN,OACAM,OACA6K,cACA1C,mBACAR,uBACAiD,MACAxB,kBACAE,WACAjB,YACAJ,mBACArB,QAASwE,EACTvB,iBAAkBqB,EAClBvB,eAAgBwB,EAChB5B,gBAAiB6B,EACjBC,uBACAC,yBACAC,wBACAxB,QAAS7C,EAAY6C,GACrBE,WAAYA,EAAa/C,EAAY+C,GAAc,KACnDmD,qBAAsBrD,EAAU7C,EAAY6C,GAAW,KACvDI,oBAAqBA,EAAsB1C,EAAgB0C,GAAuB,KAClFK,UAAW/F,IAAK+F,EAAY+C,GAAsB9F,EAAgB8F,IAClE9C,SAAUhG,IAAKgG,EAAW+C,GAAqB/F,EAAgB+F,IAC/D7C,gBAAiBzD,EAAYyD,GAC7B8C,UAAW,CACTC,iBAAkBlE,EAClBmE,cAAelE,GAEjBV,WACAsD,mCACA/D,iBACAE,UACAE,cACAE,gBACA0E,YAAa5N,IAASwG,GAGA,CACtBxG,OACAM,OACA6K,cACAD,MACAxB,kBACAE,WACAjB,YACAF,mBACAR,uBACAM,mBACArB,QAASwE,EACTvB,iBAAkBqB,EAClBvB,eAAgBwB,EAChB5B,gBAAiB6B,EACjBC,uBACAC,yBACAC,wBACAhB,QAAS9F,IAAK8F,EAAU8C,GAAoB9F,EAAc8F,IAC1D/C,SAAU,GACVvB,WACAsD,mCACA/D,iBACAE,UACAE,cACAE,gBACA0E,YAAa5N,IAASwG,GAGnBN,GACN,CAAC,GAEN,OAAOjH,IAAOD,EAAO,CACnBuH,KAAM,CAAEpH,KAAM4G,OAQL,SAAS,EAAC/G,EAAQ,CAAE2G,SAAU,GAAIY,KAAM,CAAC,GAAKhH,GAC3D,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,2CC5TA,MACEkP,EAAa,CACX,kBAAmB,iBACnBC,WAAY,gBACZC,0BAA2B,aAC3BC,uBAAwB,aACxBC,0BAA2B,aAC3BC,sBAAuB,sBACvBC,UAAW,YACXC,QAAS,UACTC,mBAAoB,oBACpBC,YAAa,aACbC,4BAA6B,4BAC7BC,wBAAyB,wBACzBC,2BAA4B,gBAC5BC,eAAgB,YAChBC,eAAgB,gBAChBC,eAAgB,gBAChBC,YAAa,aACbC,eAAgB,gBAChBC,WAAY,YACZC,oBAAqB,oBACrBC,gBAAiB,aACjBC,aAAc,MACdC,wBAAyB,kBACzBC,SAAU,WACVC,iBAAkB,iBAClBC,sBAAuB,sBACvBC,UAAW,YACXC,cAAe,YACfC,cAAe,eACfC,SAAU,UACVC,eAAgB,gBAChBC,uBAAwB,uBACxBC,oBAAqB,qBACrBC,MAAO,QACPC,yBAA0B,kBAC1BC,KAAM,WACNC,mBAAoB,mBACpBC,gBAAiB,gBACjBC,yBAA0B,wBAC1BC,uBAAwB,eACxBC,eAAgB,gBAChBC,gBAAiB,iBACjBC,mBAAoB,mBACpBC,mBAAoB,YACpBC,mBAAoB,eACpBC,aAAc,UAEhBC,EAAkBA,CAACC,EAAOnM,KACxB,MAAQoM,WAAYC,EAASC,YAAaC,EAAYjL,qBAAsBC,GAAqB4K,EAG3FK,EAAqBD,EAAWvF,OAAQyF,GACrCA,GAAwB,aAAhBA,EAAKnR,QAGhBoR,EAAQvL,IAAQqL,EAAoB,CAACG,EAASjS,KAClD,MAAMkS,EAAOzP,IAAKzC,EAAM,UAAW,IACjCmS,EAA0C,aAA7B1P,IAAKzC,EAAM,SAAU,IASpC,OAPIkS,IAASC,KAC2B,IAAlCD,EAAK7N,QAAQ,kBAAwD,IAA9B6N,EAAK7N,QAAQ,cAAwD,IAAlC6N,EAAK7N,QAAQ,gBACzF4N,EAAQG,UAAYT,EAEpBM,EAAQvD,EAAWwD,IAASA,GAAQP,GAGjCM,GACN,CACDI,eAAgB,GAChB1D,WAAY,GACZ2D,cAAe,GACfC,UAAW,GACXC,oBAAqB,GACrBxD,UAAW,GACXC,QAAS,GACTwD,kBAAmB,GACnBC,WAAY,GACZC,0BAA2B,GAC3BC,sBAAuB,GACvBC,cAAe,GACfC,cAAe,GACfC,cAAe,GACfC,WAAY,GACZC,cAAe,GACfC,UAAW,GACXC,WAAY,GACZC,kBAAmB,GACnB1H,IAAK,GACLuE,SAAU,GACVoD,eAAgB,GAChBC,aAAc,GACdC,oBAAqB,GACrBnD,UAAW,GACXoD,aAAc,GACdC,QAAS,GACTC,gBAAiB,GACjBC,cAAe,GACfC,qBAAsB,GACtBC,mBAAoB,GACpBlD,MAAO,GACPlF,gBAAiB,GACjBqI,iBAAkB,GAClBC,cAAe,GACfC,sBAAuB,GACvBC,cAAe,GACfC,eAAgB,GAChBC,iBAAkB,GAClBC,UAAW,GACXC,aAAc,GACdC,OAAQ,GACRlC,UAAW,KAGR9M,EAAQuB,GAGXJ,IAAQuL,EAAO,CAACC,EAASF,EAAMwC,KACzBxC,IACFE,EAAQsC,GAAOxC,GAEVE,GACN3M,EAAQuB,IAPXvB,EAAQuB,GAAoBmL,GA+BhC3S,EAAa,CACX,CAACC,EAAAA,EAAQkV,qBAtBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBD,EAAgBC,EAAOnM,KAElB7F,IAAOD,EAAOiH,IAAQnB,EAAS,CAAC2M,EAAS2C,EAAIL,KAClDtC,EAAQsC,GAAO,CAAE5U,KAAMiV,GAChB3C,GACN,CAAC,KAUJ,CAAC3S,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,EAAgBxR,IAAQR,EAAMQ,EAAK4G,yBAO7C,SAAS,EAACpH,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,gCC9JA,MACER,EAAeC,IACb,IACE,OAAOC,KAAKC,MAAMF,EACpB,CAAE,MAAOG,GACP,OAAO,IACT,GAuCFC,EAAa,CACX,CAAC0V,EAAAA,EAAcP,qBAtCUC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAQkV,OAAQM,GAAchV,EAC5B0U,EAASM,EAAUC,KAAK,CAACC,EAAGC,IACZnW,EAAYkW,EAAEnU,kBAClB/B,EAAYmW,EAAEpU,kBACD,GAAK,GAE9BqU,EAAQ3O,IAAQiO,EAAQ,CAAChO,EAAK+K,KAC5B,MAAQ4D,aAAcC,EAAa5D,WAAYC,EAAS/K,qBAAsBC,GAAqB4K,EAEnG,MAAoB,eAAhB6D,GAGkBC,IAAM9D,EAAMG,aAAe,GAAK4D,GAC5B,wBAAfA,EAAGC,UAOV/O,EAAIG,GACNH,EAAIG,GAAkB6O,KAAK/D,GAE3BjL,EAAIG,GAAoB,CAAE8K,GAErBjL,GATIA,GAUV,CAAC,GAEN,OAAOjH,IAAOD,EAAOiH,IAAQ2O,EAAO,CAAC9P,EAASqQ,EAAOpB,KACnDjP,EAAQiP,GAAO,CAAE5U,KAAMgW,GAChBrQ,GACN,CAAC,MAMO,SAAS,EAAC9F,EAAQ,CAAEI,QAAQ,EAAOM,YAAa,EAAGsC,IAAK,IAAMzC,GAC3E,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,wQChCA,MACEoW,GAAmBjN,GACE,SAAfA,EACK,OAEU,QAAfA,EACK,OAEU,cAAfA,EACK,OAEF,GAETkN,GAAoBA,CAAClP,EAASmP,KAC5B,MAAQC,YAAaC,EAAUpP,qBAAsBC,EAAkB8C,2BAA4BlB,EAAsBG,qBAAsBqN,GAAgBtP,GAC3JG,qBAAsBtG,EAAMkI,qBAAsBC,GAAehC,GACnE,IAAE+E,EAAM,GAAE,QAAEhE,GAAYuO,EAE1B,OAAKH,EAOE,CACL,CAACjP,GAAmB,CAClBmP,SAAU,CAAErW,KAAMqW,GAClBtK,IAAK,CAAE/L,KAAM+L,GACblL,KAAM,CAAEb,KAAMa,GACdM,KAAM,CAAEnB,KAAMiW,GAAgBjN,IAC9BF,qBAAsB,CAAE9I,KAAM8I,GAC9Bf,QAAS,CAAE/H,KAAM+H,KAbZ,CACL,CAACb,GAAmB,CAAElH,KAAM,CAC1BqW,WAAUtK,MAAKjD,uBAAsBf,UAASlH,OAAMM,KAAM8U,GAAgBjN,OAoDlFuN,GAAmBA,CAAC1W,EAAOO,EAAQC,EAAMmW,KACvC,MAAM,SAAEC,EAAW,CAAC,GAAMD,GAAe,CAAC,GACxC,OAAEvV,EAAS,cAAiBwV,EAE9B,OAAIrW,EAAOE,OAAoB,eAAXW,EACXpB,EAEFC,IAAOD,EAAO,CACnB6W,aAAc,CAAE1W,MAAM,MAG1B2W,GAAgCA,CAAC9W,EAAOO,IAClCA,EAAOE,MACFT,EAEFC,IAAOD,EAAO,CACnB6W,aAAc,CAAE1W,MAAM,KAG1BN,GAAa,CACX,CAACC,EAAAA,GAAQiX,eAzDY/W,GACdC,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChB0W,aAAc,CAAE1W,MAAM,KAsDxB,CAACL,EAAAA,GAAQ8G,wBAnDmBC,CAAC7G,EAAOO,EAAQC,KAC5C,GAAID,EAAOE,MACT,OAAOR,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChBO,YAAa,CAAEP,KAAM,OAGzB,MAAM,UAAE2G,GAActG,EACpBsF,EAAU,CAAC,EACX9C,EAAM+C,IAAKe,EAAYK,IACrBlB,IAAQH,EAASuQ,GAAkBlP,IAAWnH,EAAMmH,EAAQC,wBACrDD,EAAQC,uBAUnB,OAPAnB,IAAQH,EAAS,CACf5F,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChB0W,aAAc,CAAE1W,MAAM,GACtB6C,IAAK,CAAE7C,KAAM6C,GACbtC,YAAa,CAAEP,KAAM,KAEhBF,IAAOD,EAAO8F,IA8BrB,CAAChG,EAAAA,GAAQkX,sBA5BiBC,CAACjX,EAAOO,EAAQC,IACtCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOqW,GAAkB7V,IAAQR,EAAMQ,EAAK4G,wBAyB1D,CAAC8P,EAAAA,GAAaC,uBAAwBT,GACtC,CAACU,EAAAA,GAAYD,uBAAwBT,GACrC,CAACW,EAAAA,GAAYF,uBAAwBT,GACrC,CAACY,EAAAA,GAAqBH,uBAAwBT,GAC9C,CAACa,EAAAA,GAAiBC,0BAA2BV,GAC7C,CAACW,EAAAA,GAAuBC,uBAAwBhB,GAChD,CAACiB,EAAAA,GAAuBD,uBAAwBhB,GAChD,CAACkB,GAAAA,GAAgBF,uBAAwBhB,GACzC,CAACmB,GAAAA,GAAqBC,0BAA2BhB,GACjD,CAACiB,GAAAA,GAAoBL,uBAAwBhB,GAC7C,CAACsB,GAAAA,GAAmBN,uBAAwBhB,GAC5C,CAACuB,GAAAA,GAAgBP,uBAAwBhB,GACzC,CAACwB,GAAAA,GAAgCR,uBAAwBhB,GACzD,CAACyB,GAAAA,GAAeT,uBAAwBhB,GACxC,CAAC0B,GAAAA,GAAoBV,uBAAwBhB,GAC7C,CAAC2B,GAAAA,GAAoBX,uBAAwBhB,GAC7C,CAAC4B,GAAAA,GAAkBZ,uBAAwBhB,GAC3C,CAAC6B,GAAAA,GAAqBb,uBAAwBhB,GAC9C,CAAC8B,GAAAA,IAA0B9B,GAC3B,CAAC+B,GAAAA,IAAgC/B,GACjC,CAACgC,GAAAA,IAA8BhC,GAC/B,CAACiC,GAAAA,IAAmCjC,IAGzB,SAAS,GAAC1W,EAAQ,CAAEE,SAAS,EAAOE,QAAQ,EAAOyW,cAAc,EAAOnW,YAAa,EAAGsC,IAAK,IAAMzC,GAChH,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrCoW,EAAc1T,IAAK1C,EAAQ,sBAAuB,CAAC,GACnD2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,EAAMmW,GAAe3W,CACzD,CCrJA,QAAeuG,EAAAA,EAAAA,IAAgB,CAC7BO,UAAS,EACTtG,KAAI,EACJgS,MAAK,EACL0C,OAAM,EACN9T,OAAMA,K,SCNR,MA4CEvB,GAAa,CACX,CAACC,EAAAA,GAAQ8Y,oBAbeC,CAAC7Y,EAAOO,EAAQC,KACxC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,UAAE8Y,EAAS,MAAEC,GAAUvY,EAC3BsF,EAAU,CAAC,EAKb,OAHAqP,IAAS4D,EAAQC,IACf/S,IAAQH,EA7BKmT,EAACD,EAAMF,EAAWxC,KACjC,MAAQ4C,cAAeC,EAAU,KAAEnY,EAAI,SAAEoY,EAAUC,UAAWC,EAAKC,QAAS/X,GAAmBwX,EAC7FtW,EAZWjD,KACb,IAAKA,EACH,OAAO,EAET,IACE,OAAOC,KAAKC,MAAMF,EACpB,CAAE,MAAOG,GACP,OAAO,CACT,GAIgBJ,CAAYgC,GAE5B,OAAK8U,EAOE,CACL,CAAC6C,GAAa,CACZA,WAAY,CAAEhZ,KAAMgZ,GACpBnY,KAAM,CAAEb,KAAMa,GACdoY,SAAU,CAAEjZ,KAAMiZ,GAClBE,IAAK,CAAEnZ,KAAMmZ,GACb5W,YAAa,CAAEvC,KAAMuC,KAZhB,CACL,CAACyW,GAAa,CAAEhZ,KAAM,CACpBgZ,aAAYnY,OAAMoY,WAAUE,MAAK5W,cAAaoW,gBAsBjCG,CAAeD,EAAMF,IAAa9Y,EAAMgZ,EAAKE,mBAEzDjZ,IAAOD,EAAO8F,KAMV,SAAS,GAAC9F,EAAQ,CAAEE,SAAS,EAAOE,QAAQ,EAAOM,YAAa,EAAGsC,IAAK,IAAMzC,GAC3F,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCxDA,MAyBEH,GAAa,CACX,CAACC,EAAAA,GAAQ8Y,oBAzBQY,CAACxZ,EAAOO,EAAQC,KACjC,MAAM,UAAEiZ,GAAcjZ,EAEhBkZ,EAAsB,GAiB5B,OAfID,GAAaA,EAAUnV,OAAS,GAClCmV,EAAUE,QAASC,IACjBF,EAAoBxD,KAAK,CACvBtV,GAAIgZ,EAASC,wBACb7Y,KAAM4Y,EAAS5Q,MACfsQ,IAAKM,EAASN,IACdQ,WAAW,EACXC,kBAAkB,EAClBC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,MAKfja,IAAOD,EAAO,CACnBma,IAAK,CAAEha,KAAMuZ,GAAuB,QAO3B,SAAS,GAAC1Z,EAAQ,CAAEma,IAAK,IAAM5Z,GAC5C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SClCA,MACER,GAAeC,IACb,IACE,OAAOC,KAAKC,MAAMF,EACpB,CAAE,MAAOG,GAEP,OAAO,IAAIF,MAAO0a,SACpB,GAiCFva,GAAa,CACX,CAACC,EAAAA,GAAQua,WAhCOC,CAACta,EAAOO,EAAQC,KAChC,MAAM,GAAEI,GAAOJ,EAEf,OAAOP,IAAOD,EAAO,CACnB,CAACY,GAAK,CAAET,KAAM,CAAED,SAAS,EAAME,QAAQ,EAAO4C,IAAK,GAAItC,YAAa,OA6BtE,CAACZ,EAAAA,GAAQ8Y,oBA1BeC,CAAC7Y,EAAOO,EAAQC,KACxC,MAAQsY,UAAWlY,GAAOJ,EAE1B,GAAID,EAAOE,MACT,OAAOR,IAAOD,EAAO,CACnB,CAACY,GAAK,CAAET,KAAM,CAAED,SAAS,EAAOE,QAAQ,EAAO4C,IAAK,GAAItC,YAAa,QAIzE,MAAQqY,MAAOwB,GAAa/Z,EAC1BuY,EAAQwB,EAAS9E,KAAK,CAACC,EAAGC,IACVnW,GAAYkW,EAAE8E,eAClBhb,GAAYmW,EAAE6E,gBAEA,EAAI,GAE9BxX,EAAM+C,IAAKgT,EAAQC,GACVA,EAAKE,eAGhB,OAAOjZ,IAAOD,EAAO,CACnB,CAACY,GAAK,CAAET,KAAM,CAAED,SAAS,EAAOE,QAAQ,EAAM4C,MAAKtC,YAAa,QAQvD,SAAS,GAACV,EAAQ,CAAEE,SAAS,EAAOE,QAAQ,EAAOM,YAAa,EAAGsC,IAAK,IAAMzC,GAC3F,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,CCnDA,QAAeuG,EAAAA,EAAAA,IAAgB,CAC7B/F,KAAI,GACJiZ,UAAS,GACTrY,OAAMA,K,iCCHR,MACE+B,GAAgB,CACdsX,YAAYC,EAAAA,GAAAA,OAEdza,GAASA,CAACD,EAAO2a,IACRC,IAAa5a,EAAO2a,GAGhB,SAAS,GAAC3a,EAAQmD,GAAe5C,GAC9C,MAAMC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GAE3C,OAAQA,EAAOe,OAERxB,GAAAA,EAAQ+a,oBACJ5a,GAAOD,EAAO,CACnBya,WAAY,CAAEta,MAAM2a,EAAAA,GAAAA,IAAiBta,EAAOA,EAAKia,WAAa,OAIzDza,CAEb,C,yBCxBA,MAAMmD,GAAgB,CACpB4X,MAAO,CAAC,EACRC,QAAS,CAAC,GAGG,SAAS,GAAChb,EAAQmD,GAAe5C,GAC9C,MAAM,MAAEwa,EAAK,QAAEC,GAAY/X,IAAK1C,EAAQ,eAAgB,CAAC,GAEzD,OAAQA,EAAOe,OACRxB,GAAAA,EAAQmb,mBACJ,IACFjb,EACH+a,QACAC,WAIKhb,CAEb,CChBA,QAAeuG,EAAAA,EAAAA,IAAgB,CAC7BkU,WAAU,GACVS,KAAI,KACJC,QAAOA,K,SCDT,MACEnJ,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,IACxB,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,8BAAZyV,GAAuD,2BAAZA,GAAoD,8BAAZA,IAG9F,GAAoB,eAAhBH,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACE,QAAE0D,EAAS/M,qBAAsBC,EAAY7B,qBAAsBtG,EAAMsM,aAAcrE,GAAyBsJ,EAChHgJ,EAA8B,SAAfpS,EAAwB,OAAS,OAElD,OAAKmN,EAUE,CACL,CAACpE,GAAa,CACZ+D,QAAS,CAAE9V,KAAM8V,GACjBsF,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,KAdzB,CACL,CAACiJ,GAAa,CAAE/R,KAAM,CACpB8V,UACAsF,eACAva,OACAiI,yBAYR,CACA,MAAO,CACL,CAACiJ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCpEA,MAYEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,eADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACIrJ,qBAAsBC,EAAY7B,qBAAsBtG,EAAMwa,wBAAyBtT,EAASqC,iBAAkB4B,GAAgBoG,GAClIkJ,iBAAkBC,EAAcpO,aAAcrE,EAAsBjB,MAAO9G,EAAW,IAAEgL,GAAQqG,GAChGoJ,kBAAmBC,EAAiBC,cAAeC,EAAcC,iBAAkBC,EAAgBC,aAAcC,GAAgB3J,GACjI7K,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAE,MAAE7H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,QAAEN,EAAU,IAAOG,GACpIiU,MAAOC,EAAkBC,kBAAmBC,EAAuBC,gBAAiBC,EAAWC,wBAAyBpR,GAAYkH,EACtIgJ,EAA8B,SAAfpS,EAAwB,OAAS,OAChDuT,EAAS3W,IAAKyW,EAAYG,GA9BrBC,EAACD,EAAOtR,KACjB,MACI1J,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,IAAOua,GACpIjV,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAE,MAAE7H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,QAAEN,EAAU,GAAE,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAOyb,GAC3K,YAAEE,EAAaC,qBAAsBC,EAAcC,cAAeC,EAAG,KAAEC,EAAI,IAAEhR,GAAQyQ,EACrFQ,EAAU,GAAGJ,KACXpb,WAAYyb,EAAmB,GAAIvb,YAAawb,EAAoB,GAAItb,UAAWub,EAAkB,GAAIrb,OAAQsb,EAAgB,GAAI7U,aAAc8U,EAAqB,IAAOnS,EAGnL,MAAO,CAAEzJ,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAMC,SAAQ7H,QAAOqI,UAASN,UAASjH,QAAOI,cAAa2b,cAAaM,UAASF,MAAKC,OAAMhR,MAAKuR,aAF3K7b,IAAcwb,GAAoBtb,IAAeub,GAAqBrb,IAAasb,GAAmBrb,IAAWsb,GAAiBnb,IAAgBob,IAwBtJZ,CAASD,EAAOtR,IAG3B,OAAKiL,EA2BE,CACL,CAACpE,GAAa,CACZqJ,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,GAC9B/H,YAAa,CAAEf,KAAMe,GACrBwa,aAAc,CAAEvb,KAAMub,GACtBpT,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMH,GACfqI,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAM4H,GACjBmE,IAAK,CAAE/L,KAAM+L,GACbkQ,iBAAkB,CAAEjc,KAAMic,GAC1BE,sBAAuB,CAAEnc,KAAMmc,GAC/BI,OAAQ,CAAEvc,KAAMuc,GAChBd,gBAAiB,CAAEzb,KAAMyb,GACzBE,aAAc,CAAE3b,KAAM2b,GACtBE,eAAgB,CAAE7b,KAAM6b,GACxBE,YAAa,CAAE/b,KAAM+b,KAhDhB,CACL,CAAChK,GAAa,CAAE/R,KAAM,CACpBob,eACAva,OACAmL,cACAuP,eACAzS,uBACA/H,cACAoH,eACAC,eACAX,OACAC,SACA7H,QACAqI,UACAN,UACAmE,MACAkQ,mBACAE,wBACAI,SACAd,kBACAE,eACAE,iBACAE,gBA6BR,CACA,MAAO,CACL,CAAChK,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SC1HA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,IACxB,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,IAG1C,GAAoB,eAAhBH,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACIrJ,qBAAsBC,EAAY7B,qBAAsBtG,EAAMsM,aAAcrE,GAAyBsJ,GACrGmL,eAAgBpc,EAAMqc,sBAAuBxR,GAAgBoG,EAC/DgJ,EAA8B,SAAfpS,EAAwB,OAAS,OAElD,OAAKmN,EAWE,CACL,CAACpE,GAAa,CACZqJ,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdM,KAAM,CAAEnB,KAAMmB,GACd6K,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,KAhBzB,CACL,CAACiJ,GAAa,CAAE/R,KAAM,CACpBob,eACAva,OACAM,OACA6K,cACAlD,yBAaR,CACA,MAAO,CACL,CAACiJ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCvEA,MAYEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,YADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACIrJ,qBAAsBC,EAAY7B,qBAAsBtG,EAAMwa,wBAAyBtT,EAASqC,iBAAkB4B,GAAgBoG,GAClIjF,aAAcrE,EAAsBjB,MAAO9G,EAAa0c,kBAAmBC,EAAI,IAAE3R,GAAQqG,GACzF7K,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAE,MAAE7H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,QAAEN,EAAU,IAAOG,GACpIiU,MAAOC,EAAkBC,kBAAmBC,EAAuBwB,qBAAsBtB,EAAWC,wBAAyBpR,GAAYkH,EAC3IgJ,EAA8B,SAAfpS,EAAwB,OAAS,OAChDuT,EAAS3W,IAAKyW,EAAYG,GA7BrBC,EAACD,EAAOtR,EAAS0S,KAC1B,MACIpc,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,IAAOua,GACpIjV,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAE,MAAE7H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,QAAEN,EAAU,GAAE,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAOyb,GAC3K,YAAEE,EAAaC,qBAAsBC,EAAcC,cAAeC,EAAG,KAAEC,EAAI,IAAEhR,GAAQyQ,EACrFQ,EAAU,GAAGJ,KACXpb,WAAYyb,EAAmB,GAAIvb,YAAawb,EAAoB,GAAItb,UAAWub,EAAkB,GAAIrb,OAAQsb,EAAgB,GAAI7U,aAAc8U,EAAqB,IAAOnS,GAAW,CAAC,EAG/L,MAAO,CAAEzJ,YAAWE,aAAYE,WAAUI,cAAakG,eAAcC,eAAcX,OAAMC,SAAQ7H,QAAOqI,UAASN,UAASjH,QAAOI,cAAa2b,cAAaM,UAASF,MAAKC,OAAMhR,MAAKuR,aAFtJ,OAAZpS,GAAkC,IAAd0S,GAAqBnc,IAAcwb,GAAoBtb,IAAeub,GAAqBrb,IAAasb,GAAmBrb,IAAWsb,GAAiBnb,IAAgBob,EAEXQ,QAAQ,IAqB7LpB,CAASD,EAAOtR,EAASmR,EAAUlY,SAG9C,OAAKgS,EAOE,CACL,CAACpE,GAAa,CACZqJ,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,GAC9B/H,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMH,GACfqI,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAM4H,GACjB8V,KAAM,CAAE1d,KAAM0d,GACd3R,IAAK,CAAE/L,KAAM+L,GACbkQ,iBAAkB,CAAEjc,KAAMic,GAC1BE,sBAAuB,CAAEnc,KAAMmc,GAC/BI,OAAQ,CAAEvc,KAAMuc,KAxBX,CACL,CAACxK,GAAa,CAAE/R,KAAM,CACpBob,eAAcva,OAAMmL,cAAalD,uBAAsB/H,cAAaoH,eAAcC,eAAcX,OAAMC,SAAQ7H,QAAOqI,UAASN,UAAS8V,OAAM3R,MAAKkQ,mBAAkBE,wBAAuBI,WAyBnM,CACA,MAAO,CACL,CAACxK,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCjGA,MAgMEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAa5D,WAAYC,EAASiJ,WAAYC,GAAcpJ,EAChFqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,IAExCvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC0d,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,iBAAZyV,GAA0C,4BAAZA,GAAqD,4BAAZA,GAAqD,mBAAZA,GAA4C,6BAAZA,GAAsD,uBAAZA,IAEnM1D,EAAO0L,GAAavK,GAAawK,EACjCC,EAAgBpI,IAAMuF,EAAa9a,IACjC,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,YAAZyV,GAAqC,cAAZA,GAAuC,eAAZA,IAG/D,MAAoB,eAAhBH,EACK,CAAC,EAGNvD,EAxNuB6L,EAACjM,EAASI,EAAM+D,KAC3C,MACE,QAAEL,EACAoI,YAAalV,EAAa,GAAE,WAC5BmV,EAAa,GAAE,QACfpW,EACA8C,gBAAiBC,EAAiB,KAClCqC,aAAciR,EACdC,sBAAuBvV,EAAuBsJ,EAAKjF,aACnDmR,sBAAuBC,EAAuB,GAC9CC,gBAAiBC,GAAiB,EAClCC,0BAA2BC,GAA0B,EACrDC,qBAAsBC,EAAqB,GAC3CC,SAAUhR,EAAU,GACpB1D,iBAAkB4B,EAAc,GAChC3C,kBAAmBC,EAAmB,GACtCzB,MAAO9G,EAAc,GACrB4J,kBAAmBkE,EAAmB,GACtCjE,UAAWkE,EAAgB,IACzBsD,EAEJvR,EAAOiC,IAAKsP,EAAM,cAAe,OAAStP,IAAKsP,EAAM,0BAA2B,MAIhFjR,EAAO6H,EAFsB,cAAfA,EAA6B,OADjB,SAAfA,EAAwB,OAAS,OAElB,mBAAZ8M,EAA+B,OAAS,OAEtDiJ,EAAahX,GAAWqK,GAAQ,CAAC,EACjC4M,EAAKlU,GAAkBiU,GAAc,CAAC,GACpCxX,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAI7H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,MAASmX,GACjJxX,UAAW2X,EAAsB,GAAI1X,UAAW2X,EAAsB,GAAI1X,KAAM2X,EAAc,GAAI1X,OAAQ2X,EAAgB,GAAIxf,MAAOyf,EAAe,GAAI3X,IAAK4X,EAAiB,GAAE,eAAEC,EAAiB,MAASR,EAEhN,OAAK7I,EAmCE,CACL,CAACnE,GAAU,CACT7Q,KAAM,CAAEnB,KAAMmB,GACdN,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrB1C,iBAAkB,CAAEtJ,KAAMsJ,GAC1B8U,sBAAuB,CAAEpe,KAAMoe,GAC/BtV,qBAAsB,CAAE9I,KAAM8I,GAC9ByV,qBAAsB,CAAEve,KAAMue,GAC9BE,eAAgB,CAAEze,KAAMye,GACxBE,wBAAyB,CAAE3e,KAAM2e,GACjCE,mBAAoB,CAAE7e,KAAM6e,GAC5B/Q,QAAS,CAAE9N,KAAM8N,GACjBqQ,WAAY,CAAEne,KAAMme,GACpBtP,iBAAkB,CAAE7O,KAAM6O,GAC1BC,cAAe,CAAE9O,KAAM8O,GACvB3G,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAM4H,GACjBsX,oBAAqB,CAAElf,KAAMkf,GAC7BC,oBAAqB,CAAEnf,KAAMmf,GAC7BC,YAAa,CAAEpf,KAAMof,GACrBC,cAAe,CAAErf,KAAMqf,GACvBC,aAAc,CAAEtf,KAAMsf,GACtBC,eAAgB,CAAEvf,KAAMuf,GACxBC,eAAgB,CAAExf,KAAMwf,GACxBze,YAAa,CAAEf,KAAMe,KAhEhB,CACL,CAACiR,GAAU,CAAEhS,KAAM,CACjBmB,OACAN,OACAmL,cACA1C,mBACA8U,wBACAtV,uBACAyV,uBACAE,iBACAE,0BACAE,qBACA/Q,UACAqQ,aACAtP,mBACAC,gBACA3G,eACAC,eACAX,OACAC,SACA7H,MAAOof,EACP/W,UACAN,UACAsX,sBACAC,sBACAC,cACAC,gBACAC,eACAC,iBACAC,iBACAze,kBA2JGkd,CAA2BjM,EAASI,EAAM+D,GAE/C6H,EAvHoByB,EAACzN,EAASI,EAAM+D,KACxC,MACIhP,qBAAsBtG,EACtBkI,qBAAsBC,EACtBqS,wBAAyBtT,EAAU,CAAC,EACpCoF,aAAciR,EACdC,sBAAuBvV,EAAuBsJ,EAAKjF,aACnDmR,sBAAuBC,EAAuB,GAC9CC,gBAAiBC,GAAiB,EAClCC,0BAA2BC,GAA0B,EACrDC,qBAAsBC,EAAqB,GAC3CC,SAAUhR,EAAU,GACpB1D,iBAAkB4B,EAAc,GAChC3C,kBAAmBC,EAAmB,GACtCzB,MAAO9G,EAAc,IACnBqR,EAEJjR,EAAsB,SAAf6H,EAAwB,OADL,SAAfA,EAAwB,OAAS,OAE5C+V,EAAahX,EACbiX,EAAKjX,GACHR,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAI7H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,MAASmX,GACjJxX,UAAW2X,EAAsB,GAAI1X,UAAW2X,EAAsB,GAAI1X,KAAM2X,EAAc,GAAI1X,OAAQ2X,EAAgB,GAAIxf,MAAOyf,EAAe,GAAI3X,IAAK4X,EAAiB,GAAE,eAAEC,EAAiB,MAASR,EAEhN,OAAK7I,EAmCE,CACL,CAACnE,GAAU,CACT7Q,KAAM,CAAEnB,KAAMmB,GACdN,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrB1C,iBAAkB,CAAEtJ,KAAMsJ,GAC1B8U,sBAAuB,CAAEpe,KAAMoe,GAC/BtV,qBAAsB,CAAE9I,KAAM8I,GAC9ByV,qBAAsB,CAAEve,KAAMue,GAC9BE,eAAgB,CAAEze,KAAMye,GACxBE,wBAAyB,CAAE3e,KAAM2e,GACjCE,mBAAoB,CAAE7e,KAAM6e,GAC5B/Q,QAAS,CAAE9N,KAAM8N,GACjBqQ,WAAY,CAAEne,KAAM,IACpB6O,iBAAkB,CAAE7O,KAAM,GAC1B8O,cAAe,CAAE9O,KAAM,GACvBmI,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAM4H,GACjBsX,oBAAqB,CAAElf,KAAMkf,GAC7BC,oBAAqB,CAAEnf,KAAMmf,GAC7BC,YAAa,CAAEpf,KAAMof,GACrBC,cAAe,CAAErf,KAAMqf,GACvBC,aAAc,CAAEtf,KAAMsf,GACtBC,eAAgB,CAAEvf,KAAMuf,GACxBC,eAAgB,CAAExf,KAAMwf,KA/DnB,CACL,CAACxN,GAAU,CAAEhS,KAAM,CACjBmB,OACAN,OACAmL,cACA1C,mBACA8U,wBACAtV,uBACAyV,uBACAE,iBACAE,0BACAE,qBACA/Q,UACAqQ,WAAY,GACZtP,iBAAkB,EAClBC,cAAe,EACf3G,eACAC,eACAX,OACAC,SACA7H,MAAOof,EACP/W,UACAN,UACAsX,sBACAC,sBACAC,cACAC,gBACAC,eACAC,iBACAC,iBACAze,kBAkEG0e,CAAwBzN,EAASgM,EAAe7H,GAElD,CACL,CAACnE,GAAU,CAAEhS,KAAM,QAqBvB0f,GAA+BA,CAAC7f,EAAOO,KACrC,GAAIA,EAAOE,MACT,OAAOT,EAIT,MAAM8f,EAAa7c,IAAK1C,EAAQ,qBAAsB,IACpDuF,EAAU,CAAC,EAsBb,OApBAqP,IAAS2K,EAAaC,IACpB,MAAQC,gBAAiBC,EAAe/N,WAAYC,EAAS+N,gBAAiBC,EAAeC,gBAAiBC,EAAgB,CAAC,GAAMN,EACjIM,EAAcC,OAChBxa,EAAQqM,GAAW,CAAEhS,KAAM8f,IAIP,mBAAlBE,IACFra,EAAQwN,cAAgB,CACtBnT,KAAM,CACJ8f,gBACAM,cAAeR,EAAKS,gBACpBlT,aAAcyS,EAAKU,wBACnBzR,iBAAkBqR,EAAcvV,kBAChC4V,SAAUL,EAActV,UACxB4V,UAAWN,EAAcO,gBAK1B3gB,IAAOD,EAAO8F,IAEvBjG,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAlDgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAyCrB,CAAChG,EAAAA,EAAQuV,oBAvCeC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,cAoCxD,CAACpS,EAAAA,EAAQ+gB,iBAAkBhB,GAC3B,CAAC/f,EAAAA,EAAQghB,0BAA2BjB,IAGzB,SAAS,GAAC7f,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SChSA,MACEyH,GAAgB,CACda,aAAc,GACdC,aAAc,GACdX,KAAM,GACNC,OAAQ,GACR7H,MAAO,GACP+gB,UAAW,GACXhZ,QAAS,GACTM,QAAS,GACT2Y,IAAK,EACLC,IAAK,EACLC,iBAAiB,GAEnBC,GAAcjZ,IACL,CACLI,aAAcJ,EAAQR,UACtBa,aAAcL,EAAQP,UACtBC,KAAMM,EAAQN,KACdC,OAAQK,EAAQL,OAChB7H,MAAOkI,EAAQlI,MACf+H,QAASG,EAAQH,QACjBM,QAASH,EAAQJ,IACjBkZ,IAAK9Y,EAAQ8Y,IACbC,IAAK/Y,EAAQ+Y,IACbC,gBAAiBhZ,EAAQkZ,oBAG7BC,GAAiBnZ,IACR,CACLI,aAAc,CAAEnI,KAAM+H,EAAQR,WAC9Ba,aAAc,CAAEpI,KAAM+H,EAAQP,WAC9BC,KAAM,CAAEzH,KAAM+H,EAAQN,MACtBC,OAAQ,CAAE1H,KAAM+H,EAAQL,QACxB7H,MAAO,CAAEG,KAAM+H,EAAQlI,OACvB+H,QAAS,CAAE5H,KAAM+H,EAAQH,SACzBM,QAAS,CAAElI,KAAM+H,EAAQG,SACzB2Y,IAAK,CAAE7gB,KAAM+H,EAAQ8Y,KACrBC,IAAK,CAAE9gB,KAAM+H,EAAQ+Y,KACrBC,gBAAiB,CAAE/gB,KAAM+H,EAAQkZ,qBA0GrCpP,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAa5D,WAAYC,EAASiJ,WAAYC,GAAcpJ,EAChFqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,IAExCvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC8gB,EAAavL,IAAMuF,EAAa9a,IAC9B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,iBAAZyV,GAA0C,4BAAZA,IAEvCiI,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,4BAAZyV,GAAqD,mBAAZA,GAA4C,6BAAZA,GAAsD,uBAAZA,IAE5H1D,EAAO0L,GAAavK,GAAawK,EACjCC,EAAgBpI,IAAMuF,EAAa9a,IACjC,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,YAAZyV,GAAqC,cAAZA,GAAuC,eAAZA,IAG/D,MAAoB,eAAhBH,EACK,CAAC,EAGNvD,EApIuB6L,EAACjM,EAASI,EAAM+D,KAC3C,MACE,QACEpO,EAAUT,GACVuD,gBAAiBuW,EAAW9Z,GAC5ByD,kBAAmBsW,EAAW/Z,IAC5B8K,EACJkP,EAAWvZ,GAAWqK,GAAQ9K,GAC9BkF,EAAuBL,IAASmV,EAAUF,GAC1C3U,EAAyBN,IAASmV,EAAUD,GAC5C3U,EAAwBP,IAASiV,EAAUC,GAE7C,OAAKlL,EAYE,CACL,CAACnE,GAAU,CACTuP,UAAWL,GAAcG,GACzBG,QAASN,GAAcE,GACvBK,SAAUP,GAAcI,GACxB9U,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,KAAMyM,GAChCC,sBAAuB,CAAE1M,KAAM0M,KAlB1B,CACL,CAACsF,GAAU,CAAEhS,KAAM,CACjBuhB,UAAWP,GAAWK,GACtBG,QAASR,GAAWI,GACpBK,SAAUT,GAAWM,GACrB9U,uBACAC,yBACAC,4BAiHGuR,CAA2BjM,EAASI,EAAM+D,GAE/CgL,EAlEiBO,EAAC1P,EAASI,EAAM+D,KACrC,MAEIpL,kBAAmBsW,EAAW/Z,GAC9BuD,gBAAiBuW,EAAW9Z,GAC5BS,QAASuZ,EAAWha,IAClB8K,EACJ5F,EAAuBL,IAASmV,EAAUF,GAC1C3U,EAAyBN,IAASmV,EAAUD,GAC5C3U,EAAwBP,IAASiV,EAAUC,GAE7C,OAAKlL,EAYE,CACL,CAACnE,GAAU,CACTuP,UAAWL,GAAcG,GACzBG,QAASN,GAAcE,GACvBK,SAAUP,GAAcI,GACxB9U,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,KAAMyM,GAChCC,sBAAuB,CAAE1M,KAAM0M,KAlB1B,CACL,CAACsF,GAAU,CAAEhS,KAAM,CACjBuhB,UAAWP,GAAWK,GACtBG,QAASR,GAAWI,GACpBK,SAAUT,GAAWM,GACrB9U,uBACAC,yBACAC,4BAgDGgV,CAAqB1P,EAASmP,EAAYhL,GAE/C6H,EAvGoByB,EAACzN,EAASI,EAAM+D,KACxC,MAEIkF,wBAAyBiG,EAAWha,GACpCuD,gBAAiBuW,EAAW9Z,GAC5ByD,kBAAmBsW,EAAW/Z,IAC5B8K,EACJ5F,EAAuBL,IAASmV,EAAUF,GAC1C3U,EAAyBN,IAASmV,EAAUD,GAC5C3U,EAAwBP,IAASiV,EAAUC,GAE7C,OAAKlL,EAYE,CACL,CAACnE,GAAU,CACTuP,UAAWL,GAAcG,GACzBG,QAASN,GAAcE,GACvBK,SAAUP,GAAcI,GACxB9U,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,KAAMyM,GAChCC,sBAAuB,CAAE1M,KAAM0M,KAlB1B,CACL,CAACsF,GAAU,CAAEhS,KAAM,CACjBuhB,UAAWP,GAAWK,GACtBG,QAASR,GAAWI,GACpBK,SAAUT,GAAWM,GACrB9U,uBACAC,yBACAC,4BAqFG+S,CAAwBzN,EAASgM,EAAe7H,GAElD,CACL,CAACnE,GAAU,CAAEhS,KAAM,QAqBvBN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCzNA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,iBADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACE,QAAE0D,EAAS6L,aAAcC,EAAW,sBAAExD,EAAqB,KAAEjd,EAAI,WAAE0gB,GAAezP,EACpF,OAAK+D,EAWE,CACL,CAACpE,GAAa,CACZ+D,QAAS,CAAE9V,KAAM8V,GACjB8L,YAAa,CAAE5hB,KAAM4hB,GACrBxD,sBAAuB,CAAEpe,KAAMoe,GAC/Bjd,KAAM,CAAEnB,KAAMmB,GACd0gB,WAAY,CAAE7hB,KAAM6hB,KAhBf,CACL,CAAC9P,GAAa,CAAE/R,KAAM,CACpB8V,UACA8L,cACAxD,wBACAjd,OACA0gB,eAaR,CACA,MAAO,CACL,CAAC9P,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCrEA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,IAExCiI,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,iBAAZyV,GAA0C,4BAAZA,GAAqD,4BAAZA,GAAqD,mBAAZA,GAA4C,6BAAZA,GAAsD,uBAAZA,IAEnM1D,EAAO0L,GAAaC,EAEtB,GAAoB,eAAhBpI,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACE,QAAElH,EAAU,CAAC,GAAMkH,GACjB5Q,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,IAAOiJ,GACpI3D,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAE,MAAE7H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,QAAEN,EAAU,GAAE,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAOmK,EAE7K,OAAKiL,EAOE,CACL,CAACpE,GAAa,CACZtQ,UAAW,CAAEzB,KAAMyB,GACnBE,WAAY,CAAE3B,KAAM2B,GACpBE,SAAU,CAAE7B,KAAM6B,GAClBC,OAAQ,CAAE9B,KAAM8B,GAChBG,YAAa,CAAEjC,KAAMiC,GACrBtB,MAAO,CAAEX,KAAMW,GACfI,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMH,GACfqI,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAM4H,KArBZ,CACL,CAACmK,GAAa,CAAE/R,KAAM,CACpByB,YAAWE,aAAYE,WAAUC,SAAQG,cAAatB,QAAOI,cAAaoH,eAAcC,eAAcX,OAAMC,SAAQ7H,QAAOqI,UAASN,YAsB5I,CACA,MAAO,CACL,CAACmK,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SClFA,MACEwI,GAAeC,IACb,IAAKA,EACH,OAAO,KAET,MACI9G,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,MAAE4G,EAAQ,IAAOP,GAChJf,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,MAAE5H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAOuH,EAElJ,MAAO,CAAE7G,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,QAAOqI,UAASvH,QAAOI,cAAa8H,UAEvIgJ,GAAmBC,IACjB,MAAQ4D,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,GAA4C,mBAAZA,IAExEvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC0d,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,mBAAZyV,GAA4C,6BAAZA,GAAsD,uBAAZA,IAEnF1D,EAAO0L,GAAavK,GAAawK,EAEnC,GAAoB,eAAhBpI,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MAEIlH,QAAS4W,EAAiB,KAC1B3W,YAAaC,EAAa,KAC1BC,qBAAsBC,EAAsB,MAC1C8G,EACJ2P,EAAQ,CACND,eAAgBzZ,GAAYyZ,GAC5BvT,qBAAsBlG,GAAYyZ,GAClC1W,WAAY/C,GAAY+C,GACxBE,oBAAqBjD,GAAYiD,IAGrC,MAAO,CACL,CAACyG,GAAa,CAAE/R,KAAM+hB,GAE1B,CACA,MAAO,CACL,CAAChQ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,EAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,EAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCjFA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC7I,EAAQvL,IAAQqU,EAAY,CAAC7I,EAASjS,KAEpB,eADAyC,IAAKzC,EAAM,UAAW,KAEpCiS,EAAQyD,KAAK1V,GAERiS,GACN,IAEL,GAAoB,eAAhBqD,EACF,MAAO,CAAC,EAGV,GAAItD,EAAMlO,OAAS,EAAG,CACpB,MAAMuZ,EAAO9X,IAAKyM,EAAQD,IACxB,MAAQ4P,SAAUnhB,EAAI,OAAE6G,EAAS,GAAE,KAAED,EAAO,GAAI0F,aAAciR,GAA0BhM,EACxF,MAAO,CAAEvR,OAAMud,wBAAuB1W,SAAQD,UAGhD,OAAK0O,EAOE,CACL,CAACpE,GAAa,CACZ2L,KAAM,CAAE1d,KAAM0d,KART,CACL,CAAC3L,GAAa,CAAE/R,KAAM,CACpB0d,SASR,CACA,MAAO,CACL,CAAC3L,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCpEA,MACEgS,GAAmBC,IACjB,MAAQ4D,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,GAA4C,mBAAZA,IAExEvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC0d,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,mBAAZyV,GAA4C,6BAAZA,GAAsD,uBAAZA,IAEnF1D,EAAO0L,GAAavK,GAAawK,EAEnC,GAAoB,eAAhBpI,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACE,UAAEzG,GAAcyG,EAChB6P,EAAqBrc,IAAK+F,EAAY+C,IACpC,MACIlN,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,MAAE4G,EAAQ,IAAO6F,GAChJnH,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,MAAE5H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAE,oBAAEmhB,EAAsB,MAASxT,EAE9K,MAAO,CAAEjN,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,QAAOqI,UAASvH,QAAOI,cAAa8H,QAAOqZ,yBAGhJ,MAAO,CACL,CAACnQ,GAAa,CAAE/R,KAAMiiB,GAE1B,CACA,MAAO,CACL,CAAClQ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,EAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,EAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCtEA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,oBADHyC,IAAKzC,EAAM,UAAW,KAGxC8hB,EAAYvM,IAAMuF,EAAa9a,GAEV,gBADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAGV,MACE,QACEyM,EAAU,GAAE,WACZjE,EAAa,GAAE,KACfgC,GAAO,EACPhT,aAAcrE,EAAuB,IACnCsJ,GAAQ,CAAC,GAEXiQ,cAAeC,EAAgB,GAC/BnC,KAAMoC,EAAY,KAClBpV,aAAcqV,EAA4B,IACxCL,GAAa,CAAC,EAEpB,OAAI/P,GAAQ+P,EACLhM,EAYE,CACL,CAACpE,GAAa,CACZqQ,QAAS,CAAEpiB,KAAMoiB,GACjBjE,WAAY,CAAEne,KAAMme,GACpBgC,KAAM,CAAEngB,KAAMmgB,GACdmC,cAAe,CAAEtiB,KAAMsiB,GACvBC,UAAW,CAAEviB,KAAMuiB,GACnBzZ,qBAAsB,CAAE9I,KAAM8I,GAAwB0Z,KAlBjD,CACL,CAACzQ,GAAa,CAAE/R,KAAM,CACpBoiB,UACAjE,aACAgC,OACAmC,gBACAC,YACAzZ,qBAAsBA,GAAwB0Z,KAe/C,CACL,CAACzQ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCvFA,MAEEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtCuH,EAAa7M,IAAMuF,EAAa9a,GAEX,iBADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAGV,GAAI8M,EAAY,CACd,MAAQC,cAAeC,EAAe,CAAC,EAAGC,SAAUC,EAAU,CAAC,EAAGC,kBAAmBxa,EAAO,CAAC,EAAGP,QAAS2C,EAAkB,CAAC,EAAG7C,MAAO9G,EAAc,GAAE,OAAE2G,EAAS,GAAIqb,YAAarF,EAAO,IAAO+E,GAC9L,OAAEO,EAAS,GAAIC,aAAcC,EAAc,GAAMT,GAC/Clb,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAI5H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,MAAS8C,GAEpIlJ,WAAYC,EAAY,GACxBC,YAAaC,EAAa,GAC1BC,UAAWC,EAAW,GACtB0G,aAActG,EAAc,GAC5BsF,UAAW4b,EAAmB,GAC9B3b,UAAW4b,EAAmB,GAC9B3b,KAAM4b,EAAW,GACjB3b,OAAQ4b,EAAa,GACrBzjB,MAAO0jB,EAAY,GACnB5b,IAAK6b,EAAc,GACnB5b,QAAS6b,EAAc,KACvB5b,MAAO6b,EAAkB,GACzB/iB,MAAOgjB,EAAY,GACnBC,WAAYC,EAAY,GACxBC,WAAYC,EAAY,GAAE,OAC1BjiB,EAAS,GACTkiB,SAAUC,EAAM,GAChBC,aAAcC,GAAc,EAC5BC,qBAAsBC,EAAqB,GAC3CC,QAASC,EACTC,uBAAwBC,GAAsB,GAC5Cnc,EACJoc,EAAmB,CACjBjjB,YACAE,aACAE,WACAI,cACAkG,aAAcgb,EACd/a,aAAcgb,EACd3b,KAAM4b,EACN3b,OAAQ4b,EACRzjB,MAAO0jB,EACPrb,QAASsb,EACT5b,QAAS6b,EACT1iB,YAAa2iB,EACb/iB,MAAOgjB,EACPE,YACAU,SACAxY,IAAKgY,EACLjiB,SACAmiB,MACAE,cACAE,qBACAI,uBAGJ9B,EAAagC,SAAWhC,EAAagC,UAAY,CAAC,EAClD,MACEC,IAAYlH,EACZmH,EAAahC,EAAQiC,qBAAuB,KAC5CC,EAAkBlC,EAAQmC,4BAA8B,KACxDzJ,EAAesH,EAAQoC,iBAAmB,KAC1CC,EAAavC,EAAawC,cAAgB,GAC1CC,EAAmBzC,EAAa0C,oBAAsB,WACtDC,EAAY3C,EAAa4C,YAAc,GACvCC,EAAW7C,EAAa6C,UAAY,KACpCC,EAAM9C,EAAa+C,0BAA4B,KAC/CC,EAAchD,EAAaiD,mBAAqB,KAChDC,EAAkBlD,EAAamD,oBAAsB,GACrDC,EAA8BpD,EAAaqD,iCAAmC,EAC9EC,EAAuBtD,EAAauD,0BAA4B,EAChEC,EAAsBxD,EAAayD,kBAAoB,KACvDC,GAAe1D,EAAa2D,iBAAmB,KAC/CC,GAAqB5D,EAAa6D,4BAA8B,KAChEC,GAAkB9D,EAAa+D,gBAAkB,KACjDC,GAAoBhE,EAAagC,SAASiC,SAAW,GACrDC,GAAoBlE,EAAagC,SAASmC,SAAW,GACrDC,GAAoBpE,EAAagC,SAASqC,SAAW,GACrDC,GAAoBtE,EAAagC,SAASuC,SAAW,GACrDC,GAAoBxE,EAAagC,SAASyC,SAAW,GACrDC,GAA0B1E,EAAagC,SAAS2C,SAAW,GAE7D,OAAKnR,EAyCE,CACL,CAACpE,GAAa,CACZ2S,iBAAkB,CAAE1kB,KAAM0kB,GAC1Bhd,OAAQ,CAAE1H,KAAM0H,GAChB3G,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACd5H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAM4H,GACjBob,OAAQ,CAAEhjB,KAAMgjB,GAChB4B,QAAS,CAAE5kB,KAAM4kB,GACjBlH,KAAM,CAAE1d,KAAM0d,GACdmH,WAAY,CAAE7kB,KAAM6kB,GACpBE,gBAAiB,CAAE/kB,KAAM+kB,GACzBxJ,aAAc,CAAEvb,KAAMub,GACtB2J,WAAY,CAAEllB,KAAMklB,GACpBE,iBAAkB,CAAEplB,KAAMolB,GAC1BE,UAAW,CAAEtlB,KAAMslB,GACnBpC,YAAa,CAAEljB,KAAMkjB,GACrBsC,SAAU,CAAExlB,KAAMwlB,GAClBC,IAAK,CAAEzlB,KAAMylB,GACbE,YAAa,CAAE3lB,KAAM2lB,GACrBE,gBAAiB,CAAE7lB,KAAM6lB,GACzBE,4BAA6B,CAAE/lB,KAAM+lB,GACrCE,qBAAsB,CAAEjmB,KAAMimB,GAC9BE,oBAAqB,CAAEnmB,KAAMmmB,GAC7BE,aAAc,CAAErmB,KAAMqmB,IACtBE,mBAAoB,CAAEvmB,KAAMumB,IAC5BE,gBAAiB,CAAEzmB,KAAMymB,IACzBE,kBAAmB,CAAE3mB,KAAM2mB,IAC3BE,kBAAmB,CAAE7mB,KAAM6mB,IAC3BE,kBAAmB,CAAE/mB,KAAM+mB,IAC3BE,kBAAmB,CAAEjnB,KAAMinB,IAC3BE,kBAAmB,CAAEnnB,KAAMmnB,IAC3BE,wBAAyB,CAAErnB,KAAMqnB,MA5E5B,CACL,CAACtV,GAAa,CAAE/R,KAAM,CACpB0kB,mBACA3jB,cACAoH,eACAC,eACAX,OACAC,SACA7H,MAAOof,EACP/W,UACAN,UACAob,SACA4B,UACAlH,OACAmH,aACAE,kBACAxJ,eACA2H,cACAgC,aACAE,mBACAE,YACAE,WACAC,MACAE,cACAE,kBACAE,8BACAE,uBACAE,sBACAE,gBACAE,sBACAE,mBACAE,qBACAE,qBACAE,qBACAE,qBACAE,qBACAE,6BA2CR,CACA,MAAO,CACL,CAACtV,GAAa,CAAE/R,KAAM,QAuB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SC/MA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,qBADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACIjF,aAAciR,EAAuBmJ,mBAAoBC,EAAkBC,cAAeC,GAAiBtV,EAE7GvR,EAAOiC,IAAKsP,EAAM,cAAe,OAAStP,IAAKsP,EAAM,0BAA2B,MAElF,OAAK+D,EAUE,CACL,CAACpE,GAAa,CACZlR,KAAM,CAAEb,KAAMa,GACdud,sBAAuB,CAAEpe,KAAMoe,GAC/BoJ,iBAAkB,CAAExnB,KAAMwnB,GAC1BE,aAAc,CAAE1nB,KAAM0nB,KAdjB,CACL,CAAC3V,GAAa,CAAE/R,KAAM,CACpBa,OACAud,wBACAoJ,mBACAE,iBAYR,CACA,MAAO,CACL,CAAC3V,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCtEA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,2BADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACIrJ,qBAAsBC,EAAY7B,qBAAsBtG,EAAMsM,aAActN,EAAO8nB,uBAAwB7e,GAAyBsJ,EACtIgJ,EAA8B,SAAfpS,EAAwB,OAAS,OAElD,OAAKmN,EAUE,CACL,CAACpE,GAAa,CACZqJ,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdhB,MAAO,CAAEG,KAAMH,GACfiJ,qBAAsB,CAAE9I,KAAM8I,KAdzB,CACL,CAACiJ,GAAa,CAAE/R,KAAM,CACpBob,eACAva,OACAhB,QACAiJ,yBAYR,CACA,MAAO,CACL,CAACiJ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCrEA,MAQEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,cADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACIrJ,qBAAsBC,EAAY7B,qBAAsBtG,EAAMwa,wBAAyBtT,EAAS6f,gCAAiC9c,EAAiB,CAAC,EAAGV,iBAAkB4B,GAAgBoG,GACxLjF,aAAcrE,EAAsBjB,MAAO9G,EAAW,IAAEgL,EAAG,SAAE4Y,GAAavS,GAC1E7K,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAE,MAAE7H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,QAAEN,EAAU,IAAOG,GACpIR,UAAW2X,EAAsB,GAAI1X,UAAW2X,EAAsB,GAAI1X,KAAM2X,EAAc,GAAI1X,OAAQ2X,EAAgB,GAAIxf,MAAOyf,EAAe,GAAI3X,IAAK4X,EAAiB,GAAI3X,QAAS4X,EAAiB,IAAO1U,GACnN8b,QAASD,EAAmBG,QAASD,EAAmBG,QAASD,EAAmBG,QAASD,EAAmBG,QAASD,EAAmBG,QAASD,GAA4B1C,GACjLrI,wBAAyBuL,GAAezV,GACxC0V,YAAaC,EAAa,KAAI,QAAEC,EAAU,GAAIC,eAAgBC,EAAgB,GAAIC,gBAAiBC,EAAiB,IAAOhW,GAC3HiW,qBAAsBC,EAAqB,KAAMC,wBAAyBC,EAAuB,KAAMC,gCAAiCC,EAA+B,IAAOtW,GAC9KuW,8BAA+BC,EAA6B,KAAMC,sCAAuCC,EAAqC,IAAO1W,GACrJ2W,kBAAmBC,EAAkB,GAAIC,kBAAmBC,EAAkB,IAAO9W,GACrF+W,qBAAsBC,EAAqB,GAAIC,sBAAuBC,EAAsB,GAAIC,0BAA2BC,EAA0B,IAAOpX,GAC5JqX,uBAAwBC,EAAuB,KAAOC,eAAgBC,EAAgB,GAAIC,qBAAsBC,EAAqB,KAAMC,gBAAiBC,EAAiB,IAAO5X,GACpL6X,sBAAuBC,EAAsB,KAAMC,oBAAqBC,EAAoB,GAAIC,mBAAoBC,EAAoB,GAAIC,iBAAkBC,GAAkB,IAAOpY,GACvLqY,wBAAyBC,GAAwB,KAAMC,wBAAyBC,GAAuB,KAAMC,2BAA4BC,GAA0B,MAAS1Y,GAC5K2Y,6BAA8BC,GAA2BC,4BAA6BC,GAA2B,IAAO9Y,GACxH+Y,0BAA2BC,GAAyB,KAAMC,mBAAoBC,GAAmB,KAAMC,oBAAqBC,GAAoB,GAAIC,2BAA4BC,GAA2B,IAAOtZ,EACpNlH,GApCQA,KACZ,MACI1J,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,IAAOiJ,GACpI3D,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAE,MAAE7H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,QAAEN,EAAU,GAAE,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAOmK,EAE7K,MAAO,CAAEzJ,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAMC,SAAQ7H,QAAOqI,UAASN,UAASjH,QAAOI,gBA+B3H4qB,CAAW9D,GACrBzM,GAA8B,SAAfpS,EAAwB,OAAS,OAElD,OAAKmN,EAgEE,CACL,CAACpE,GAAa,CACZqJ,aAAc,CAAEpb,KAAMob,IACtBva,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,GAC9B/H,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMH,GACfqI,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAM4H,GACjBsX,oBAAqB,CAAElf,KAAMkf,GAC7BC,oBAAqB,CAAEnf,KAAMmf,GAC7BC,YAAa,CAAEpf,KAAMof,GACrBC,cAAe,CAAErf,KAAMqf,GACvBC,aAAc,CAAEtf,KAAMsf,GACtBC,eAAgB,CAAEvf,KAAMuf,GACxBC,eAAgB,CAAExf,KAAMwf,GACxBtU,QAAS,CAAElL,KAAMkL,IACjBa,IAAK,CAAE/L,KAAM+L,GACb4a,kBAAmB,CAAE3mB,KAAM2mB,GAC3BE,kBAAmB,CAAE7mB,KAAM6mB,GAC3BE,kBAAmB,CAAE/mB,KAAM+mB,GAC3BE,kBAAmB,CAAEjnB,KAAMinB,GAC3BE,kBAAmB,CAAEnnB,KAAMmnB,GAC3BE,wBAAyB,CAAErnB,KAAMqnB,GACjCU,WAAY,CAAE/nB,KAAM+nB,GACpBC,QAAS,CAAEhoB,KAAMgoB,GACjBE,cAAe,CAAEloB,KAAMkoB,GACvBE,eAAgB,CAAEpoB,KAAMooB,GACxBE,mBAAoB,CAAEtoB,KAAMsoB,GAC5BE,qBAAsB,CAAExoB,KAAMwoB,GAC9BE,6BAA8B,CAAE1oB,KAAM0oB,GACtCE,2BAA4B,CAAE5oB,KAAM4oB,GACpCE,mCAAoC,CAAE9oB,KAAM8oB,GAC5CE,gBAAiB,CAAEhpB,KAAMgpB,GACzBE,gBAAiB,CAAElpB,KAAMkpB,GACzBE,mBAAoB,CAAEppB,KAAMopB,GAC5BE,oBAAqB,CAAEtpB,KAAMspB,GAC7BE,wBAAyB,CAAExpB,KAAMwpB,GACjCE,qBAAsB,CAAE1pB,KAAM0pB,GAC9BE,cAAe,CAAE5pB,KAAM4pB,GACvBE,mBAAoB,CAAE9pB,KAAM8pB,GAC5BE,eAAgB,CAAEhqB,KAAMgqB,GACxBE,oBAAqB,CAAElqB,KAAMkqB,GAC7BE,kBAAmB,CAAEpqB,KAAMoqB,GAC3BE,kBAAmB,CAAEtqB,KAAMsqB,GAC3BE,gBAAiB,CAAExqB,KAAMwqB,IACzBE,sBAAuB,CAAE1qB,KAAM0qB,IAC/BE,qBAAsB,CAAE5qB,KAAM4qB,IAC9BE,wBAAyB,CAAE9qB,KAAM8qB,IACjCE,0BAA2B,CAAEhrB,KAAMgrB,IACnCE,yBAA0B,CAAElrB,KAAMkrB,IAClCE,uBAAwB,CAAEprB,KAAMorB,IAChCE,iBAAkB,CAAEtrB,KAAMsrB,IAC1BE,kBAAmB,CAAExrB,KAAMwrB,IAC3BE,yBAA0B,CAAE1rB,KAAM0rB,MA1H7B,CACL,CAAC3Z,GAAa,CAAE/R,KAAM,CACpBob,gBACAva,OACAmL,cACAlD,uBACA/H,cACAoH,eACAC,eACAX,OACAC,SACA7H,QACAqI,UACAN,UACAsX,sBACAC,sBACAC,cACAC,gBACAC,eACAC,iBACAC,iBACAtU,WACAa,MACA4a,oBACAE,oBACAE,oBACAE,oBACAE,oBACAE,0BACAU,aACAC,UACAE,gBACAE,iBACAE,qBACAE,uBACAE,+BACAE,6BACAE,qCACAE,kBACAE,kBACAE,qBACAE,sBACAE,0BACAE,uBACAE,gBACAE,qBACAE,iBACAE,sBACAE,oBACAE,oBACAE,mBACAE,yBACAE,wBACAE,2BACAE,6BACAE,4BACAE,0BACAE,oBACAE,qBACAE,8BAkER,CACA,MAAO,CACL,CAAC3Z,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,yBCvMA,MACEkP,GAAa,CACX,kBAAmB,iBACnBC,WAAY,gBACZC,0BAA2B,aAC3BC,uBAAwB,aACxBC,0BAA2B,aAC3BC,sBAAuB,sBACvBC,UAAW,YACXC,QAAS,UACTC,mBAAoB,oBACpBC,YAAa,aACbC,4BAA6B,4BAC7BC,wBAAyB,wBACzBC,2BAA4B,gBAC5BC,eAAgB,YAChBC,eAAgB,gBAChBC,eAAgB,gBAChBC,YAAa,aACbC,eAAgB,gBAChBC,WAAY,YACZC,oBAAqB,oBACrBC,gBAAiB,aACjBC,aAAc,MACdC,wBAAyB,kBACzBC,SAAU,WACVC,iBAAkB,iBAClBC,sBAAuB,sBACvBC,UAAW,YACXC,cAAe,YACfC,cAAe,eACfC,SAAU,UACVC,eAAgB,gBAChBC,uBAAwB,uBACxBC,oBAAqB,qBACrBC,MAAO,QACPC,yBAA0B,kBAC1BC,KAAM,WACNC,mBAAoB,mBACpBC,gBAAiB,gBACjBC,yBAA0B,kBAC1BC,uBAAwB,eACxBC,eAAgB,gBAChBC,gBAAiB,iBACjBC,mBAAoB,mBACpBC,mBAAoB,YACpBC,mBAAoB,eACpBC,aAAc,UAGhBC,GAAkBA,CAACC,EAAOqE,KACxB,MAAM,WAAEpE,EAAYE,YAAaC,GAAeJ,EAC9CO,EAAQvL,IAAQoL,EAAY,CAACI,EAASjS,KACpC,MAAMkS,EAAOzP,IAAKzC,EAAM,UAAW,IACjCmS,EAA0C,aAA7B1P,IAAKzC,EAAM,SAAU,IA6BpC,OA3BIkS,IAASC,KAC2B,IAAlCD,EAAK7N,QAAQ,kBAAwD,IAA9B6N,EAAK7N,QAAQ,cAAwD,IAAlC6N,EAAK7N,QAAQ,gBACzF4N,EAAQG,UAAYpS,EACF,eAATkS,GACJD,EAAQiB,YACXjB,EAAQiB,UAAY,IAEtBjB,EAAQiB,UAAUwC,KAAK1V,IACL,6BAATkS,GACJD,EAAQxG,kBACXwG,EAAQxG,gBAAkB,IAE5BwG,EAAQxG,gBAAgBiK,KAAK1V,IACX,+BAATkS,GACJD,EAAQY,gBACXZ,EAAQY,cAAgB,IAE1BZ,EAAQY,cAAc6C,KAAK1V,IACT,uBAATkS,GACJD,EAAQmC,YACXnC,EAAQmC,UAAY,IAEtBnC,EAAQmC,UAAUsB,KAAK1V,IAEvBiS,EAAQvD,GAAWwD,IAASA,GAAQlS,GAGjCiS,GACN,CACDI,eAAgB,KAChB1D,WAAY,KACZ2D,cAAe,KACfC,UAAW,KACXC,oBAAqB,KACrBxD,UAAW,KACXC,QAAS,KACTwD,kBAAmB,KACnBC,WAAY,KACZC,0BAA2B,KAC3BC,sBAAuB,KACvBC,cAAe,KACfC,cAAe,KACfC,cAAe,KACfC,WAAY,KACZC,cAAe,KACfC,UAAW,KACXC,WAAY,KACZC,kBAAmB,KACnB1H,IAAK,KACLuE,SAAU,KACVoD,eAAgB,KAChBC,aAAc,KACdC,oBAAqB,KACrBnD,UAAW,KACXoD,aAAc,KACdC,QAAS,KACTC,gBAAiB,KACjBC,cAAe,KACfC,qBAAsB,KACtBC,mBAAoB,KACpBlD,MAAO,KACPlF,gBAAiB,KACjBqI,iBAAkB,KAClBC,cAAe,KACfwX,gBAAiB,KACjBC,kBAAmB,KACnBvX,cAAe,KACfC,eAAgB,KAChBC,iBAAkB,KAClBC,UAAW,KACXC,aAAc,KACdC,OAAQ,KACRlC,UAAW,OAGf,OAAK0D,EAKE,CACL,CAACpE,GAAa,CACZW,eAAgB,CAAE1S,KAAMqS,EAAMK,gBAC9B1D,WAAY,CAAEhP,KAAMqS,EAAMrD,YAC1B2D,cAAe,CAAE3S,KAAMqS,EAAMM,eAC7BC,UAAW,CAAE5S,KAAMqS,EAAMO,WACzBC,oBAAqB,CAAE7S,KAAMqS,EAAMQ,qBACnCxD,UAAW,CAAErP,KAAMqS,EAAMhD,WACzBC,QAAS,CAAEtP,KAAMqS,EAAM/C,SACvBwD,kBAAmB,CAAE9S,KAAMqS,EAAMS,mBACjCC,WAAY,CAAE/S,KAAMqS,EAAMU,YAC1BC,0BAA2B,CAAEhT,KAAMqS,EAAMW,2BACzCC,sBAAuB,CAAEjT,KAAMqS,EAAMY,uBACrCC,cAAe,CAAElT,KAAMqS,EAAMa,eAC7BC,cAAe,CAAEnT,KAAMqS,EAAMc,eAC7BC,cAAe,CAAEpT,KAAMqS,EAAMe,eAC7BC,WAAY,CAAErT,KAAMqS,EAAMgB,YAC1BC,cAAe,CAAEtT,KAAMqS,EAAMiB,eAC7BC,UAAW,CAAEvT,KAAMqS,EAAMkB,WACzBC,WAAY,CAAExT,KAAMqS,EAAMmB,YAC1BC,kBAAmB,CAAEzT,KAAMqS,EAAMoB,mBACjC1H,IAAK,CAAE/L,KAAMqS,EAAMtG,KACnBuE,SAAU,CAAEtQ,KAAMqS,EAAM/B,UACxBoD,eAAgB,CAAE1T,KAAMqS,EAAMqB,gBAC9BC,aAAc,CAAE3T,KAAMqS,EAAMsB,cAC5BC,oBAAqB,CAAE5T,KAAMqS,EAAMuB,qBACnCnD,UAAW,CAAEzQ,KAAMqS,EAAM5B,WACzBoD,aAAc,CAAE7T,KAAMqS,EAAMwB,cAC5BC,QAAS,CAAE9T,KAAMqS,EAAMyB,SACvBC,gBAAiB,CAAE/T,KAAMqS,EAAM0B,iBAC/BC,cAAe,CAAEhU,KAAMqS,EAAM2B,eAC7BC,qBAAsB,CAAEjU,KAAMqS,EAAM4B,sBACpCC,mBAAoB,CAAElU,KAAMqS,EAAM6B,oBAClClD,MAAO,CAAEhR,KAAMqS,EAAMrB,OACrBlF,gBAAiB,CAAE9L,KAAMqS,EAAMvG,iBAC/BqI,iBAAkB,CAAEnU,KAAMqS,EAAM8B,kBAChCC,cAAe,CAAEpU,KAAMqS,EAAM+B,eAC7BwX,gBAAiB,CAAE5rB,KAAMqS,EAAMuZ,iBAC/BC,kBAAmB,CAAE7rB,KAAMqS,EAAMwZ,mBACjCvX,cAAe,CAAEtU,KAAMqS,EAAMiC,eAC7BC,eAAgB,CAAEvU,KAAMqS,EAAMkC,gBAC9BC,iBAAkB,CAAExU,KAAMqS,EAAMmC,kBAChCC,UAAW,CAAEzU,KAAMqS,EAAMoC,WACzBC,aAAc,CAAE1U,KAAMqS,EAAMqC,cAC5BC,OAAQ,CAAE3U,KAAMqS,EAAMsC,QACtBlC,UAAW,CAAEzS,KAAMqS,EAAMI,aAjDpB,CACL,CAACV,GAAa,CAAE/R,KAAMqS,KAwE5B3S,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBArBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAOb,OALAqP,IAASD,EAASjD,KAEhBga,EAAAA,GAAAA,IAAmCha,EAAMmJ,WAAYnJ,EAAMC,YAC3DjM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,oCCvNA,MACEwI,GAAeC,IACb,IAAKA,EACH,OAAO,KAET,MACI9G,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,MAAE4G,EAAQ,IAAOP,GAChJf,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,MAAE5H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAOuH,EAElJ,MAAO,CAAE7G,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,QAAOqI,UAASvH,QAAOI,cAAa8H,UAEvIgJ,GAAmBC,IACjB,MAAQ4D,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC6Q,EAAmBC,KAAQ7Q,EAAa9a,GAEnB,6BADHyC,IAAKzC,EAAM,UAAW,KAGxC4rB,EAAcnlB,IAAQilB,EAAkB,CAACzZ,EAAS4Z,KAChD5Z,EAAQ4Z,EAAG/e,cAAgB+e,EAAGrgB,iBACvByG,GACN,CAAC,GACJF,EAAO2Z,EAAiB5nB,OAAS,EAAI4nB,EAAiB,GAAK,KAE7D,GAAoB,eAAhBpW,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MAEI+Z,QAASC,GAAS,EAClBjf,aAAciR,EACdC,sBAAuBgO,EAASja,EAAKjF,aACrCmf,kCAAmCC,EAAiC,GACpEC,oCAAqCC,EAA8B,GACnEC,iCAAkCC,EAAgC,CAAC,EACnEC,6BAA8BC,EAA6B,IACzDza,GAEF0a,uBAAwBC,EAA+B,GACvDC,0BAA2BC,EAAkC,MAC3DN,EAmCJtsB,EAAO,CACL+rB,SACAtjB,qBApCqB,CACrBokB,YAAa9O,IAA0BiO,EACvCne,YAAY,EACZf,aAAckf,EACdze,WAAY2e,EACZze,QAAS2e,EACTre,SAAU2e,EACVze,YAAajG,GAAY4kB,GACzBnhB,gBAAiBzD,GAAY4jB,EAAYI,KA6BzC9N,qBA3BqB3Y,IAAKinB,EAA6BM,IACvD,MAEIzf,kBAAmBP,EACnBQ,yBAA0BC,EAC1Bwf,0BAA2Btf,EAC3BC,iBAAkBC,EAAiB,CAAC,GAClCmf,GAEFhf,UAAWC,EAAW,GACtBC,aAAcC,EAAc,MAC1BN,EAEN,MAAO,CACLkf,aAAa,EACbhf,YAAY,EACZf,eACAS,aACAE,UACAM,WACAE,YAAajG,GAAYiG,GACzBxC,gBAAiBzD,GAAY4jB,EAAY9e,QAS/C,MAAO,CACL,CAAC4E,GAAa,CAAE/R,KAAMK,GAE1B,CACA,MAAO,CACL,CAAC0R,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,EAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,EAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCzHA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,aADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACIrJ,qBAAsBC,EAAY7B,qBAAsBtG,EAAMsM,aAActN,EAAO8nB,uBAAwB7e,GAAyBsJ,EACtIgJ,EAA8B,SAAfpS,EAAwB,OAAS,OAElD,OAAKmN,EAUE,CACL,CAACpE,GAAa,CACZqJ,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdhB,MAAO,CAAEG,KAAMH,GACfiJ,qBAAsB,CAAE9I,KAAM8I,KAdzB,CACL,CAACiJ,GAAa,CAAE/R,KAAM,CACpBob,eACAva,OACAhB,QACAiJ,yBAYR,CACA,MAAO,CACL,CAACiJ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCpEA,MACEgS,GAAmBC,IACjB,MAAQ4D,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,GAA4C,mBAAZA,IAExEvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC0d,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,mBAAZyV,GAA4C,6BAAZA,GAAsD,uBAAZA,IAEnF1D,EAAO0L,GAAavK,GAAawK,EAEnC,GAAoB,eAAhBpI,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACE,SAAE3G,GAAa2G,EACfib,EAAoBznB,IAAK6F,EAAW9C,IAClC,MACInH,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,IAAO0G,GACpIpB,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,MAAE5H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAE,oBAAEmhB,EAAsB,MAASvZ,EAE9K,MAAO,CAAElH,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,QAAOqI,UAASvH,QAAOI,cAAamhB,yBAGzI,MAAO,CACL,CAACnQ,GAAa,CAAE/R,KAAMqtB,GAE1B,CACA,MAAO,CACL,CAACtb,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,EAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,EAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCrEA,MACEgS,GAAmBC,IACjB,MAAQ4D,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,GAA4C,mBAAZA,IAExEvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC0d,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,mBAAZyV,GAA4C,6BAAZA,GAAsD,uBAAZA,IAEnF1D,EAAO0L,GAAavK,GAAawK,EAEnC,GAAoB,eAAhBpI,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACE,QAAE1G,GAAY0G,EACdkb,EAAmB1nB,IAAK8F,EAAU8C,IAChC,MACIhN,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,QAAE0G,GAAU,GAAU6F,GACrJjH,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,MAAE5H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAE,oBAAEmhB,EAAsB,IAAO1T,EAE5K,MAAO,CAAE/M,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,QAAOqI,UAASvH,QAAOI,cAAa4H,UAASuZ,yBAGlJ,MAAO,CACL,CAACnQ,GAAa,CAAE/R,KAAMstB,GAE1B,CACA,MAAO,CACL,CAACvb,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,EAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,EAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCtEA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,mBADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAGV,GAAIvD,EAAM,CACR,MAEImb,sBAAuBC,EACvBrgB,aAAcrE,GACZsJ,EAEN,OAAK+D,EAQE,CACL,CAACpE,GAAa,CACZyb,YAAa,CAAExtB,KAAMwtB,GACrB1kB,qBAAsB,CAAE9I,KAAM8I,KAVzB,CACL,CAACiJ,GAAa,CAAE/R,KAAM,CACpBwtB,cACA1kB,yBAUR,CACA,MAAO,CACL,CAACiJ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCnEA,MACEgS,GAAmBC,IACjB,MAAQ4D,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,GAA4C,mBAAZA,IAExEvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC0d,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,mBAAZyV,GAA4C,6BAAZA,GAAsD,uBAAZA,IAEnF1D,EAAO0L,GAAavK,GAAawK,EAEnC,GAAoB,eAAhBpI,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACE,SAAExG,GAAawG,EACfqb,EAAoB7nB,IAAKgG,EAAW+C,IAClC,MACInN,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,MAAE4G,EAAQ,IAAO8F,GAChJpH,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,MAAE5H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAE,oBAAEmhB,GAAsB,GAAUvT,EAE/K,MAAO,CAAElN,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,QAAOqI,UAASvH,QAAOI,cAAa8H,QAAOqZ,yBAGhJ,MAAO,CACL,CAACnQ,GAAa,CAAE/R,KAAMytB,GAE1B,CACA,MAAO,CACL,CAAC1b,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,EAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,EAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCrEA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,wBADHyC,IAAKzC,EAAM,UAAW,KAS1C,GAAI+R,EAAM,CACR,MAEIjL,qBAAsBumB,EACtB3kB,qBAAsBqS,EACtBjO,aAAcrE,EACd6kB,WAAYC,GAAY,EACxBniB,SAAUoiB,EACVniB,QAASoiB,EAAW,QACpB/lB,EACAgmB,qBAAsBC,EACtBC,oBAAqBC,EACrBvtB,MAAOwtB,EACPC,kBAAmBC,EACnBC,uBAAwBC,EACxBC,2BAA4BC,EAC5BC,yBAA0BC,EAC1BC,aAAcC,EACdC,oBAAqBC,EACrBC,4BAA6BC,EAC7BC,qCAAsCC,EACtCC,mBAAoBC,EACpBC,2BAA4BC,EAC5BC,sBAAuBC,EACvBC,4BAA6BC,EAC7BC,wBAAyBC,EACzBC,8BAA+BC,EAC/BC,0BAA2BC,EAC3BC,yBAA0BC,EAC1BC,qBAAsBC,EACtBC,wBAAyBC,EACzBC,iCAAkCC,EAClCC,uBAAwBC,EACxBC,8BAA+BC,EAC/BC,4BAA6BC,EAC7BC,eAAgBC,EAChBC,uBAAwBC,EACxBC,qBAAsBC,EACtBC,8BAA+BC,EAC/BC,4BAA6BC,EAC7BC,yBAA0BC,EAC1BC,uBAAwBC,EACxBC,4BAA6BC,EAC7BC,kCAAmCC,EACnCC,gCAAiCC,EACjCC,wBAAyBC,EACzBC,sBAAuBC,GACrBngB,GACFjR,KAAMqxB,EAAoBjrB,UAAW2X,EAAsB,GAAI1X,UAAW2X,EAAsB,GAAI1X,KAAM2X,EAAc,GAAI1X,OAAQ2X,EAAgB,GAAIxf,MAAOyf,GAAe,GAAI3X,IAAK4X,GAAiB,IAAOxX,GAAW,CAAC,EAC7N0qB,GAAqBzE,EAAyB,CAC5C7lB,aAAc6lB,EAAuBzmB,UACrCa,aAAc4lB,EAAuBxmB,UACrCC,KAAMumB,EAAuBvmB,KAC7B5H,MAAOmuB,EAAuBnuB,MAC9BqI,QAAS8lB,EAAuBrmB,KAC9B,CAAEQ,aAAc,GAAIC,aAAc,GAAIX,KAAM,GAAI5H,MAAO,GAAIqI,QAAS,IACxEwqB,GAAoBxE,EAAwB,CAC1C/lB,aAAc+lB,EAAsB3mB,UACpCa,aAAc8lB,EAAsB1mB,UACpCC,KAAMymB,EAAsBzmB,KAC5B5H,MAAOquB,EAAsBruB,MAC7BqI,QAASgmB,EAAsBvmB,KAC7B,CAAEQ,aAAc,GAAIC,aAAc,GAAIX,KAAM,GAAI5H,MAAO,GAAIqI,QAAS,IACxEuD,GAAW7F,IAAKioB,GAAgB,GAAK8E,IACnC,MACInxB,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,IAAO0wB,GACpIprB,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,MAAE5H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAO4xB,GAC9IC,gBAAiBC,GAAiB,EAAOC,eAAgBC,GAAgB,GAAUJ,EAEvF,MAAO,CAAElxB,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,QAAOqI,UAASvH,QAAOI,cAAa8xB,iBAAgBE,mBAEvJrnB,GAAU9F,IAAKkoB,GAAe,GAAK6E,IACjC,MACInxB,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,QAAE0G,GAAU,GAAUgqB,GACrJprB,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,MAAE5H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAIiyB,eAAgBC,GAAgB,EAAOC,eAAgBC,GAAsB,GAAUR,GACpO,MAAE9pB,EAAQ,GAAIuqB,oBAAqBC,EAAqB,GAAIC,eAAgBC,EAAgB,KAAMC,YAAaC,EAAa,GAAIC,eAAgBC,GAAgB,GAAUhB,GACxKC,gBAAiBC,GAAiB,EAAOe,gBAAiBC,GAAiB,EAAOf,eAAgBC,GAAgB,GAAUJ,EAEhI,MAAO,CACLlxB,YACAE,aACAE,WACAC,SACAG,cACAkG,eACAC,eACAX,OACA5H,QACAqI,UACAvH,QACAI,cACA4H,UACAE,QACAwqB,qBACAE,gBACAE,aACAE,gBACAd,iBACAgB,iBACAd,gBACAE,gBACAE,yBAIN,OAAKhd,EA4DE,CACL,CAACpE,GAAa,CACZ4D,YAAa,CAAE3V,KAAM2V,GACrBiY,UAAW,CAAE5tB,KAAM4tB,GACnBF,aAAc,CAAE1tB,KAAM0tB,GACtBtS,aAAc,CAAEpb,KAAMob,GACtBtS,qBAAsB,CAAE9I,KAAM8I,GAC9B4C,QAAS,CAAE1L,KAAM0L,IACjBD,SAAU,CAAEzL,KAAMyL,IAClBgnB,mBAAoB,CAAEzyB,KAAMyyB,IAC5BC,kBAAmB,CAAE1yB,KAAM0yB,IAC3BF,mBAAoB,CAAExyB,KAAMwyB,GAC5BtT,oBAAqB,CAAElf,KAAMkf,GAC7BC,oBAAqB,CAAEnf,KAAMmf,GAC7BC,YAAa,CAAEpf,KAAMof,GACrBC,cAAe,CAAErf,KAAMqf,GACvBC,aAAc,CAAEtf,KAAMsf,IACtBC,eAAgB,CAAEvf,KAAMuf,IACxB4O,cAAe,CAAEnuB,KAAMmuB,GACvBE,iBAAkB,CAAEruB,KAAMquB,GAC1BE,oBAAqB,CAAEvuB,KAAMuuB,GAC7BE,yBAA0B,CAAEzuB,KAAMyuB,GAClCE,uBAAwB,CAAE3uB,KAAM2uB,GAChCE,YAAa,CAAE7uB,KAAM6uB,GACrBE,iBAAkB,CAAE/uB,KAAM+uB,GAC1BE,yBAA0B,CAAEjvB,KAAMivB,GAClCE,iCAAkC,CAAEnvB,KAAMmvB,GAC1CE,kBAAmB,CAAErvB,KAAMqvB,GAC3BE,yBAA0B,CAAEvvB,KAAMuvB,GAClCE,mBAAoB,CAAEzvB,KAAMyvB,GAC5BE,0BAA2B,CAAE3vB,KAAM2vB,GACnCE,sBAAuB,CAAE7vB,KAAM6vB,GAC/BE,2BAA4B,CAAE/vB,KAAM+vB,GACpCE,wBAAyB,CAAEjwB,KAAMiwB,GACjCE,uBAAwB,CAAEnwB,KAAMmwB,GAChCE,oBAAqB,CAAErwB,KAAMqwB,GAC7BE,sBAAuB,CAAEvwB,KAAMuwB,GAC/BE,+BAAgC,CAAEzwB,KAAMywB,GACxCE,qBAAsB,CAAE3wB,KAAM2wB,GAC9BE,2BAA4B,CAAE7wB,KAAM6wB,GACpCE,0BAA2B,CAAE/wB,KAAM+wB,GACnCE,cAAe,CAAEjxB,KAAMixB,GACvBE,qBAAsB,CAAEnxB,KAAMmxB,GAC9BE,mBAAoB,CAAErxB,KAAMqxB,GAC5BE,4BAA6B,CAAEvxB,KAAMuxB,GACrCE,0BAA2B,CAAEzxB,KAAMyxB,GACnCE,uBAAwB,CAAE3xB,KAAM2xB,GAChCE,qBAAsB,CAAE7xB,KAAM6xB,GAC9BE,0BAA2B,CAAE/xB,KAAM+xB,GACnCE,+BAAgC,CAAEjyB,KAAMiyB,GACxCE,6BAA8B,CAAEnyB,KAAMmyB,GACtCE,sBAAuB,CAAEryB,KAAMqyB,GAC/BE,oBAAqB,CAAEvyB,KAAMuyB,KA/GxB,CACL,CAACxgB,GAAa,CAAE/R,KAAM,CACpB2V,cACA+X,eACAtS,eACAtS,uBACA8kB,YACAliB,WACAD,YACAgnB,sBACAC,qBACAF,qBACAtT,sBACAC,sBACAC,cACAC,gBACAC,gBACAC,kBACA4O,gBACAE,mBACAE,sBACAE,2BACAE,yBACAE,cAEAE,mBACAE,2BACAE,mCACAE,oBACAE,2BAEAE,qBACAE,4BACAE,wBACAE,6BACAE,0BACAE,yBACAE,sBACAE,wBACAE,iCACAE,uBACAE,6BACAE,4BACAE,gBACAE,uBACAE,qBAEAE,8BACAE,4BACAE,yBACAE,uBACAE,4BACAE,iCACAE,+BACAE,wBACAE,wBA2DR,CACA,MAAO,CACL,CAACxgB,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SC7QA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,UADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAGV,GAAIvD,EAAM,CACR,MAEI0hB,oBAAsB9nB,EACtBmB,aAAcrE,GACZsJ,EAEN,OAAK+D,EAQE,CACL,CAACpE,GAAa,CACZ/F,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,KAVzB,CACL,CAACiJ,GAAa,CAAE/R,KAAM,CACpBgM,cACAlD,yBAUR,CACA,MAAO,CACL,CAACiJ,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCpEA,MAEEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC6Y,EAAcne,IAAMuF,EAAa/I,IAC/B,MAAM0D,EAAUhT,IAAKsP,EAAM,UAAW,IACtC,OAA4C,IAArC0D,EAAQpR,QAAQ,kBAAsD,IAA5BoR,EAAQpR,QAAQ,SAEnEsvB,EAAUpe,IAAMuF,EAAa/I,IAC3B,MAAM0D,EAAUhT,IAAKsP,EAAM,UAAW,IACtC,OAAwC,IAAjC0D,EAAQpR,QAAQ,cAAkD,IAA5BoR,EAAQpR,QAAQ,SAE/DuvB,EAAcre,IAAMuF,EAAa/I,IAC/B,MAAM0D,EAAUhT,IAAKsP,EAAM,UAAW,IACtC,OAA4C,IAArC0D,EAAQpR,QAAQ,kBAAsD,IAA5BoR,EAAQpR,QAAQ,SAEnEwvB,EAAgBte,IAAMuF,EAAa/I,IACjC,MAAM0D,EAAUhT,IAAKsP,EAAM,UAAW,IACtC,OAA4C,IAArC0D,EAAQpR,QAAQ,kBAAsD,IAA5BoR,EAAQpR,QAAQ,SAEnEyvB,EAAYve,IAAMuF,EAAa/I,IAC7B,MAAM0D,EAAUhT,IAAKsP,EAAM,UAAW,IACtC,OAAwC,IAAjC0D,EAAQpR,QAAQ,cAAkD,IAA5BoR,EAAQpR,QAAQ,SAE/D0vB,EAAgBxe,IAAMuF,EAAa/I,IACjC,MAAM0D,EAAUhT,IAAKsP,EAAM,UAAW,IACtC,OAA4C,IAArC0D,EAAQpR,QAAQ,kBAAsD,IAA5BoR,EAAQpR,QAAQ,SAEnE2vB,EAAWN,GAAeC,GAAWC,GAAeC,GAAiBC,GAAaC,EAClFE,EAAOD,EAAWA,EAASC,KAAO,KAEpC,IAAI7hB,EAAY,GAehB,GAdIshB,EACFthB,EAAY,SACHuhB,EACTvhB,EAAY,SACHwhB,EACTxhB,EAAY,SACHyhB,EACTzhB,EAAY,WACH0hB,EACT1hB,EAAY,WACH2hB,IACT3hB,EAAY,YAGM,eAAhBkD,EACF,MAAO,CAAC,EAGV,GAAI2e,EAAM,CACR,MAAM,GACJ7zB,EAAK,GACL,kBAAmBiS,GAAiB,EAAK,cACzCC,GAAgB,EAChBvD,sBAAuByD,GAAsB,EAAK,UAClDxD,GAAY,EAAK,QACjBC,GAAU,EACVC,mBAAoBuD,GAAoB,EACxCtD,YAAauD,GAAa,EAC1BpD,2BAA4BuD,GAAgB,EAC5CpD,eAAgBsD,GAAgB,EAChCrD,YAAasD,GAAa,EAC1BlD,gBAAiBqD,GAAa,EAC9BtD,oBAAqBuD,GAAoB,EACzCrD,aAAcrE,GAAM,EACpByE,sBAAuBoD,GAAsB,EAAK,UAClDnD,GAAY,EACZI,eAAgBmD,GAAgB,EAChCjD,oBAAqBmD,GAAqB,EAC1CjD,yBAA0BsjB,GAAU,EACpChjB,eAAgB+C,GAAgB,EAChC9C,gBAAiB+C,GAAiB,EAClC7C,mBAAoB+C,GAAY,GAC9B6f,EAEJ,OAAKne,EA6BE,CACL,CAACpE,GAAa,CACZU,UAAW,CAAEzS,KAAMyS,GACnBhS,GAAI,CAAET,KAAMS,GACZiS,eAAgB,CAAE1S,KAAM0S,GACxBC,cAAe,CAAE3S,KAAM2S,GACvBE,oBAAqB,CAAE7S,KAAM6S,GAC7BxD,UAAW,CAAErP,KAAMqP,GACnBC,QAAS,CAAEtP,KAAMsP,GACjBwD,kBAAmB,CAAE9S,KAAM8S,GAC3BC,WAAY,CAAE/S,KAAM+S,GACpBG,cAAe,CAAElT,KAAMkT,GACvBE,cAAe,CAAEpT,KAAMoT,GACvBC,WAAY,CAAErT,KAAMqT,GACpBG,WAAY,CAAExT,KAAMwT,GACpBC,kBAAmB,CAAEzT,KAAMyT,GAC3B1H,IAAK,CAAE/L,KAAM+L,GACb6H,oBAAqB,CAAE5T,KAAM4T,GAC7BnD,UAAW,CAAEzQ,KAAMyQ,GACnBuD,cAAe,CAAEhU,KAAMgU,GACvBE,mBAAoB,CAAElU,KAAMkU,GAC5BqgB,QAAS,CAAEv0B,KAAMu0B,GACjBjgB,cAAe,CAAEtU,KAAMsU,GACvBC,eAAgB,CAAEvU,KAAMuU,GACxBE,UAAW,CAAEzU,KAAMyU,KApDd,CACL,CAAC1C,GAAa,CAAE/R,KAAM,CACpByS,YACAhS,KACAiS,iBACAC,gBACAE,sBACAxD,YACAC,UACAwD,oBACAC,aACAG,gBACAE,gBACAC,aACAG,aACAC,oBACA1H,MACA6H,sBACAnD,YACAuD,gBACAE,qBACAqgB,UACAjgB,gBACAC,iBACAE,cA+BR,CAEA,MAAO,CACL,CAAC1C,GAAa,CAAE/R,KAAM,QAuB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCvKA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtCsZ,EAAaxI,KAAQ7Q,EAAa9a,GACK,6BAA9ByC,IAAKzC,EAAM,UAAW,KAE/Bo0B,EAAyBD,GAAcA,EAAWrwB,OAAS,EAAIqwB,EAAW,GAAK,KAC/E1W,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,IAExCvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC0d,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,mBAAZyV,GAA4C,6BAAZA,GAAsD,uBAAZA,IAEnF4e,EAA2B5W,GAAavK,GAAawK,EAEvD,GAAoB,eAAhBpI,GAAgD,aAAhBA,EAClC,MAAO,CAAC,EAGV,IAAIlU,EAAY,GACdE,EAAa,GACbE,EAAW,GACXC,EAAS,GACTG,EAAc,GACdtB,EAAQ,GACRI,EAAc,GACdoH,EAAe,GACfC,EAAe,GACfX,EAAO,GACPC,EAAS,GACT7H,EAAQ,GACRqI,EAAU,GACVysB,GAAQ,EACRC,GAAU,EAEZ,GAAIH,EAAwB,CAC1B,MAAMvI,EAAKuI,EAAuB5oB,kBAAoB,CAAC,EACvDpK,EAAYyqB,EAAG1qB,YAAc,GAC7BG,EAAauqB,EAAGxqB,aAAe,GAC/BG,EAAWqqB,EAAGtqB,WAAa,GAC3BE,EAASoqB,EAAGpqB,QAAU,GACtBG,EAAciqB,EAAG3jB,cAAgB,GACjC5H,EAAQurB,EAAGvrB,OAAS,GACpBI,EAAcmrB,EAAG2I,cAAgB,GACjC1sB,EAAe+jB,EAAG3kB,WAAa,GAC/Ba,EAAe8jB,EAAG1kB,WAAa,GAC/BC,EAAOykB,EAAGzkB,MAAQ,GAClBC,EAASwkB,EAAGxkB,QAAU,GACtB7H,EAAQqsB,EAAGrsB,OAAS,GACpBqI,EAAUgkB,EAAGvkB,KAAO,GACpBgtB,GAAQ,CACV,MAAO,GAAID,EAA0B,CACnC,MAAMxI,EAAKwI,EAAyB7oB,kBAAoB,CAAC,EACzDpK,EAAYyqB,EAAG1qB,YAAc,GAC7BG,EAAauqB,EAAGxqB,aAAe,GAC/BG,EAAWqqB,EAAGtqB,WAAa,GAC3BE,EAASoqB,EAAGpqB,QAAU,GACtBG,EAAciqB,EAAG3jB,cAAgB,GACjC5H,EAAQurB,EAAGvrB,OAAS,GACpBI,EAAcmrB,EAAG2I,cAAgB,GACjC1sB,EAAe+jB,EAAG3kB,WAAa,GAC/Ba,EAAe8jB,EAAG1kB,WAAa,GAC/BC,EAAOykB,EAAGzkB,MAAQ,GAClBC,EAASwkB,EAAGxkB,QAAU,GACtB7H,EAAQqsB,EAAGrsB,OAAS,GACpBqI,EAAUgkB,EAAGvkB,KAAO,GACpBitB,GAAU,CACZ,CAEA,MAAM7tB,EAAMD,IAAQ0tB,EAAY,CAACliB,EAASC,KACxC,MACEpF,EAAeoF,EAAKpF,aACpB+e,EAAK3Z,EAAK1G,kBAAoB,CAAC,EAC/BipB,EAAS,CAAC,EAmBZ,OAjBAA,EAAOrzB,UAAYyqB,EAAG1qB,YAAc,GACpCszB,EAAOnzB,WAAauqB,EAAGxqB,aAAe,GACtCozB,EAAOjzB,SAAWqqB,EAAGtqB,WAAa,GAClCkzB,EAAOhzB,OAASoqB,EAAGpqB,QAAU,GAC7BgzB,EAAO7yB,YAAciqB,EAAG3jB,cAAgB,GACxCusB,EAAOn0B,MAAQurB,EAAGvrB,OAAS,GAC3Bm0B,EAAO/zB,YAAcmrB,EAAG2I,cAAgB,GACxCC,EAAO3sB,aAAe+jB,EAAG3kB,WAAa,GACtCutB,EAAO1sB,aAAe8jB,EAAG1kB,WAAa,GACtCstB,EAAOrtB,KAAOykB,EAAGzkB,MAAQ,GACzBqtB,EAAOptB,OAASwkB,EAAGxkB,QAAU,GAC7BotB,EAAOj1B,MAAQqsB,EAAGrsB,OAAS,GAC3Bi1B,EAAO5sB,QAAUgkB,EAAGvkB,KAAO,GAC3BmtB,EAAOH,OAAQ,EACfG,EAAOF,SAAU,EAEjBtiB,EAAQnF,GAAgB2nB,EACjBxiB,GACN,CAAC,GAEJ,OAAK6D,EAOE,CACL,CAACpE,GAAa,CACZhL,IAAK,CAAE/G,KAAM+G,GACb4tB,MAAO,CAAE30B,KAAM20B,GACfC,QAAS,CAAE50B,KAAM40B,GACjBnzB,UAAW,CAAEzB,KAAMyB,GACnBE,WAAY,CAAE3B,KAAM2B,GACpBE,SAAU,CAAE7B,KAAM6B,GAClBC,OAAQ,CAAE9B,KAAM8B,GAChBG,YAAa,CAAEjC,KAAMiC,GACrBtB,MAAO,CAAEX,KAAMW,GACfI,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMH,GACfqI,QAAS,CAAElI,KAAMkI,KAvBZ,CACL,CAAC6J,GAAa,CAAE/R,KAAM,CACpB+G,MAAK4tB,QAAOC,UAASnzB,YAAWE,aAAYE,WAAUC,SAAQG,cAAatB,QAAOI,cAAaoH,eAAcC,eAAcX,OAAMC,SAAQ7H,QAAOqI,cA4CxJxI,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,gDC/IA,MACER,GAAeC,IACb,IACE,OAAIA,IAAqC,IAA1BA,EAAQoF,QAAQ,KACtBnF,KAAKC,MAAM,GAAGF,oBAEhBC,KAAKC,MAAMF,EACpB,CAAE,MAAOG,GACP,OAAO,IACT,GAEFs1B,GAAa,CACX3kB,cAAc,EACdV,yBAAyB,EACzBW,yBAAyB,EACzBQ,gBAAgB,EAChBvB,SAAS,EACTmB,WAAW,EACXzB,YAAY,EACZ4D,WAAW,EACXtB,wBAAwB,EACxBP,qBAAqB,GAEvBc,GAAkBA,CAACC,EAAOqE,KACxB,MAAM,WAAEpE,EAAY2D,aAAczU,EAAQG,iBAAkB4zB,EAAe1zB,wBAAyB2zB,EAAgBhuB,qBAAsBC,EAAkB+T,WAAYC,GAAcpJ,EACpLvP,EAAclD,GAAY21B,GAC1BE,EAAc71B,GAAY41B,GAC1B9Z,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAa9a,IAC7B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,MAAmB,kBAAZyV,GAA2C,mBAAZA,IAExCvC,EAAYqC,IAAMuF,EAAa9a,GAEV,eADHyC,IAAKzC,EAAM,UAAW,KAGxC0d,EAAUnI,IAAMuF,EAAa9a,IAC3B,MAAMyV,EAAUhT,IAAKzC,EAAM,UAAW,IACtC,OAAO00B,GAAWjf,KAEpB1D,EAAO0L,GAAavK,GAAawK,GAAW,CAAC,GAC3CoX,yBAA0BC,EAAM,MAAShjB,EAC3CijB,EAAyBD,EAAM/1B,GAAY+1B,GAAO,KAEpD,MAAe,eAAXn0B,GAAyD,wBAA9B6B,IAAKsP,EAAM,UAAW,IAC5C,CAAC,EAEL+D,EAOE,CACL,CAACpE,GAAa,CACZ9Q,OAAQ,CAAEjB,KAAMiB,GAChBsB,YAAa,CAAEvC,KAAMuC,GACrB2yB,YAAa,CAAEl1B,KAAMk1B,GACrBhuB,iBAAkB,CAAElH,KAAMkH,GAC1BmuB,uBAAwB,CAAEr1B,KAAMq1B,KAZ3B,CACL,CAACtjB,GAAa,CAAE/R,KAAM,CACpBiB,SAAQsB,cAAa2yB,cAAahuB,mBAAkBmuB,6BAwD5DC,GAAgBA,CAACz1B,EAAOO,EAAQC,EAAMmW,KACpC,MAAM,SAAEC,EAAW,CAAC,GAAMD,GAAe,CAAC,GACxC,OAAEvV,EAAS,cAAiBwV,EAE9B,OAAIrW,EAAOE,OAAoB,eAAXW,EACXpB,EAEFC,IAAOD,EAAO,CACnB6W,aAAc,CAAE1W,MAAM,MAG1BN,GAAa,CACX,CAACC,EAAAA,EAAQ41B,YAtDS11B,GACXC,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChB0W,aAAc,CAAE1W,MAAM,KAmDxB,CAACL,EAAAA,EAAQkV,qBAhDgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOR,IAAOD,EAAO,CACnBE,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChBO,YAAa,CAAEP,KAAmC,OAA7BI,EAAOo1B,QAAQ7xB,UAAqB,KAAO,OAGpE,MAAQoR,OAAQM,GAAchV,EAC5B0U,EAASM,EAAUC,KAAK,CAACC,EAAGC,IACZnW,GAAYkW,EAAEnU,kBAClB/B,GAAYmW,EAAEpU,kBACD,GAAK,GAE9BuE,EAAU,CAAC,EACX9C,EAAM+C,IAAKmP,EAASjD,IAClBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,cAC/CD,EAAMC,aAUjB,OAPAjM,IAAQH,EAAS,CACf5F,QAAS,CAAEC,MAAM,GACjBC,OAAQ,CAAED,MAAM,GAChB0W,aAAc,CAAE1W,MAAM,GACtB6C,IAAK,CAAE7C,KAAM6C,GACbtC,YAAa,CAAEP,KAAM,KAEhBF,IAAOD,EAAO8F,IAsBrB,CAAChG,EAAAA,EAAQuV,oBApBeC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,cAiBxD,CAACqF,EAAAA,GAAiBG,uBAAwB+d,GAC1C,CAACve,EAAAA,GAAaC,uBAAwBse,GACtC,CAACre,EAAAA,GAAYD,uBAAwBse,GACrC,CAACpe,EAAAA,GAAYF,uBAAwBse,GACrC,CAACne,EAAAA,GAAqBH,uBAAwBse,GAC9C,CAACG,GAAAA,GAAYze,uBAAwBse,GACrC,CAACI,GAAAA,GAAmB1e,uBAAwBse,GAC5C,CAAC7d,GAAAA,GAAgBF,uBAAwB+d,GACzC,CAACxd,GAAAA,GAAgBP,uBAAwB+d,GACzC,CAACpd,GAAAA,GAAoBX,uBAAwB+d,GAC7C,CAACnd,GAAAA,GAAkBZ,uBAAwB+d,GAC3C,CAACK,GAAAA,GAAgBpe,uBAAwB+d,GACzC,CAAChe,EAAAA,GAAuBC,uBAAwB+d,GAChD,CAAC9d,EAAAA,GAAuBD,uBAAwB+d,GAChD,CAACvd,GAAAA,GAAgCR,uBAAwB+d,GACzD,CAACtd,GAAAA,GAAeT,uBAAwB+d,GACxC,CAACrd,GAAAA,GAAoBV,uBAAwB+d,GAC7C,CAACjd,GAAAA,GAAwBd,uBAAwB+d,GACjD,CAAChd,GAAAA,GAA8Bf,uBAAwB+d,GACvD,CAACld,GAAAA,GAAqBb,uBAAwB+d,IAGnC,SAAS,GAACz1B,EAAQ,CAAEE,SAAS,EAAOE,QAAQ,EAAOyW,cAAc,EAAOnW,YAAa,EAAGsC,IAAK,IAAMzC,GAChH,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrCoW,EAAc1T,IAAK1C,EAAQ,sBAAuB,CAAC,GACnD2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,EAAMmW,GAAe3W,CACzD,C,SC1KA,MACEgS,GAAkBA,CAACC,EAAOqE,KACxB,MAAQT,aAAcC,EAAW,WAAE5D,EAAYkJ,WAAYC,GAAcpJ,EACvEqJ,EAAaD,EAAUjJ,aAAeiJ,EACtC9I,EAAOwD,IAAMuF,EAAa9a,GAEL,mBADHyC,IAAKzC,EAAM,UAAW,KAI1C,GAAoB,eAAhBsV,EACF,MAAO,CAAC,EAEV,GAAIvD,EAAM,CACR,MACE,QAAE0D,EAAS8f,eAAgBC,EAAa,sBAAEzX,EAAqB,KAAEjd,EAAI,WAAE0gB,GAAezP,EACxF,OAAK+D,EAaE,CACL,CAACpE,GAAa,CACZ+D,QAAS,CAAE9V,KAAM8V,GACjB+f,cAAe,CAAE71B,KAAM61B,GACvBzX,sBAAuB,CAAEpe,KAAMoe,GAC/Bjd,KAAM,CAAEnB,KAAMmB,GACd0gB,WAAY,CAAE7hB,KAAM6hB,KAlBf,CACL,CAAC9P,GAAa,CACZ/R,KAAM,CACJ8V,UACA+f,gBACAzX,wBACAjd,OACA0gB,eAcV,CACA,MAAO,CACL,CAAC9P,GAAa,CAAE/R,KAAM,QAqB1BN,GAAa,CACX,CAACC,EAAAA,EAAQkV,qBAnBgBC,CAACjV,EAAOO,EAAQC,KACzC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjBsF,EAAU,CAAC,EAKb,OAHAqP,IAASD,EAASjD,IAChBhM,IAAQH,EAASkM,GAAgBC,IAASjS,EAAMiS,EAAMC,gBAEjDjS,IAAOD,EAAO8F,IAUrB,CAAChG,EAAAA,EAAQuV,oBAReC,CAACtV,EAAOO,EAAQC,IACpCD,EAAOE,MACFT,EAEFC,IAAOD,EAAOgS,GAAgBxR,IAAQR,EAAMQ,EAAK0R,eAO7C,SAAS,GAAClS,EAAQ,CAAC,EAAGO,GACnC,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,CC/CA,QAAeuG,EAAAA,EAAAA,IAAgB,CAC7B4I,WAAU,GACV2D,cAAa,GACbC,UAAS,GACTtD,QAAO,GACPmH,SAAQ,GACRqf,kBAAiB,GACjBlU,YAAW,GACX1W,QAAO,GACP6qB,SAAQ,GACRxiB,UAAS,GACT5H,UAAS,GACT6H,WAAU,GACVzH,IAAG,GACH2H,eAAc,GACdC,aAAY,GACZlD,UAAS,GACT4B,MAAK,GACL5I,cAAa,GACbqK,QAAO,GACPrI,SAAQ,GACRC,QAAO,GACPsI,cAAa,GACbpI,SAAQ,GACRsI,mBAAkB,GAClBlD,MAAK,GACLsjB,KAAI,GACJxoB,gBAAe,GACf7K,OAAM,GACN40B,cAAaA,K,iCCrDR,MAAMG,GAAa,uBAGxBC,GAAwB,CACtBC,eAAe,EACfC,iBAAiB,EACjB11B,GAAI,GACJF,YAAa,EACb61B,WAAW,GAEbpzB,GAAgB8C,IAAQuwB,GAAAA,GAAeC,WAAWN,GAAYC,IAAwB,CAAEE,iBAAiB,IACzGr2B,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GA2CT72B,GAAa,CACX,CAACC,GAAAA,GAAQ82B,OAVIC,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAS7C,CAACt2B,GAAAA,GAAQi3B,gBA3CmB/2B,GACrBC,GAAOD,EAAO,CACnBq2B,cAAe,CAAEl2B,MAAM,GACvBO,YAAa,CAAEP,KAAM,KAyCvB,CAACL,GAAAA,GAAQk3B,gBAtCah3B,GACfC,GAAOD,EAAO,CACnBq2B,cAAe,CAAEl2B,MAAM,GACvBm2B,gBAAiB,CAAEn2B,MAAM,GACzBO,YAAa,CAAEP,KAAM,KAmCvB,CAACL,GAAAA,GAAQm3B,yBAhCoBC,CAACl3B,EAAOO,EAAQC,KAC7C,GAAID,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBs2B,gBAAiB,CAAEn2B,MAAM,GACzBO,YAAa,CAAEP,KAAM2D,IAEzB,CACA,OAAO7D,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMK,EAAKI,IACjBy1B,cAAe,CAAEl2B,MAAM,GACvBm2B,gBAAiB,CAAEn2B,MAAM,GACzBO,YAAa,CAAEP,KAAM,MAqBvB,CAACL,GAAAA,GAAQq3B,kBAlBOC,KAChBZ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAiB7C,CAACiB,EAAAA,EAAgBC,8BAXuBC,CAACv3B,EAAOO,EAAQC,IACjDP,GAAOD,EAAO,CACnBu2B,UAAW,CAAEp2B,KAAMK,EAAKg3B,8BAYf,SAAS,GAACx3B,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCxEO,MAAMm2B,GAAa,4BAGxBC,GAAwB,CACtBqB,YAAY,EACZC,OAAQ,GACRzzB,WAAY,GACZF,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAEfyC,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IACtDn2B,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GA2BTG,GAAeA,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAE/Cv2B,GAAa,CACX,CAAC0Y,GAAAA,GAAqBqe,OAAQC,GAE9B,CAAC/2B,EAAAA,GAAQ+3B,SAhCMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,GAAQn3B,EAEvD,OAAOP,GAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBF,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,MAyBf,CAAC73B,EAAAA,GAAQi4B,OAAQlB,GAEjB,CAACQ,EAAAA,EAAgBzzB,6BAxBCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,GAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAgBJ,SAAS,GAACH,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,eClEO,MAAMm2B,GAAa,yBAEpBC,GAAwB,CAC5BqB,YAAY,EACZQ,YAAa,iBACbC,2BAA2B,EAC3BC,UAAW,KACXC,UAAW,KACXC,mBAAoB,KACpBC,uBAAwB,KACxBC,wBAAwB,EACxBC,iBAAiB,EACjBC,UAAW,KACXC,QAAQ,EACRlrB,WAAY,GACZmrB,kBAAmB,KACnBC,oBAAqB,CAAC,EACtBC,mBAAoB,KACpBC,mBAAoB,CAAC,EACrBC,wBAAyB,GACzBC,4BAA6B,GAC7BC,kBAAmB,KACnBvB,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,GAGTyC,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IAEtDn2B,GAAUy2B,IACdF,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAGHyC,GAA+BA,CAACC,EAAgBC,KACpD,MAAMC,EAAcF,EAIpB,cAFOE,EAAYD,GAEZC,GAGT,QAAgBt5B,EAAQmD,GAAe5C,KACrC,OAAQA,EAAOe,MACb,KAAKxB,GAAAA,GAAQy5B,gBACX,OAAOt5B,GAAO,IACTD,EACHi4B,YAAa13B,EAAOi5B,eAGxB,KAAK15B,GAAAA,GAAQ25B,uBACX,OAAOx5B,GAAO,IACTD,EACHu4B,wBAAwB,IAG5B,KAAKz4B,GAAAA,GAAQ45B,4BACX,OAAOz5B,GAAO,IACTD,EACHo4B,UAAW73B,EAAO63B,UAClBG,wBAAwB,EACxBI,kBAAmBp4B,EAAOo4B,oBAG9B,KAAK74B,GAAAA,GAAQ65B,8BACX,OAAO15B,GAAO,IACTD,EACHk4B,0BAA2B33B,EAAO23B,4BAGtC,KAAKp4B,GAAAA,GAAQ85B,YACX,OAAO35B,GAAO,IACTD,EACHm4B,UAAW53B,EAAO43B,YAGtB,KAAKr4B,GAAAA,GAAQ+5B,YACX,OAAIt5B,EAAO4G,QAAQvG,KAAOZ,EAAM44B,oBAAoBh4B,GAC3CX,GAAO,IACTD,EACH44B,oBAAqBr4B,EAAO4G,QAC5BkxB,mBAAoB93B,EAAO4G,QAAQ8B,qBACnCqvB,uBAAwB,aAGrBr4B,GAAO,IACTm2B,GACHqB,YAAY,EACZmB,oBAAqBr4B,EAAO4G,QAC5BkxB,mBAAoB93B,EAAO4G,QAAQ8B,qBACnCqvB,uBAAwB,WACxBS,wBAAyBx4B,EAAO4G,QAAQvG,KAI5C,KAAKd,GAAAA,GAAQg6B,yBACX,OAAO75B,GAAO,IACTD,EACHq4B,mBAAoB93B,EAAOw5B,mBAG/B,KAAKj6B,GAAAA,GAAQk6B,KACX,OAAO/5B,GAAO,IACTm2B,GACHqB,YAAY,IAGhB,KAAK33B,GAAAA,GAAQm6B,sBACX,OAAOh6B,GAAO,IACTD,EACHq4B,mBAAoB93B,EAAO83B,oBAAsBr4B,EAAMq4B,mBACvDC,uBAAwB/3B,EAAO25B,mBAGnC,KAAKp6B,GAAAA,GAAQq6B,yBACX,OAAOl6B,GAAO,IACTD,EACH64B,mBAAoBt4B,EAAO65B,cAG/B,KAAKt6B,GAAAA,GAAQu6B,YACX,OAAOp6B,GAAO,IACTD,EACH84B,mBAAoBK,GAA6Bn5B,EAAM84B,mBAAoBv4B,EAAO84B,aAGtF,KAAKv5B,GAAAA,GAAQw6B,UACX,OAAOr6B,GAAO,IACTD,EACH84B,mBAAoB,IACf94B,EAAM84B,mBACT,CAACv4B,EAAO84B,WAAY94B,EAAOg6B,qBAIjC,KAAKz6B,GAAAA,GAAQ06B,iBACX,OAAOv6B,GAAO,IACTD,EACHw4B,gBAAiBj4B,EAAOk6B,eAG5B,KAAK36B,GAAAA,GAAQ46B,eACX,OAAOz6B,GAAO,IACTD,EACHy4B,UAAWl4B,EAAOk4B,UAClBjrB,WAAYjN,EAAOiN,WACnBkrB,OAAQn4B,EAAOm4B,SAGnB,KAAK54B,GAAAA,GAAQ66B,uBACX,OAAO16B,GAAO,IACTD,EACHi5B,kBAAmB14B,EAAO04B,oBAG9B,KAAKn5B,GAAAA,GAAQ86B,IACX,OAAO36B,GAAO,IACTD,EACH66B,OAAQt6B,EAAOs6B,SAGnB,KAAK/6B,GAAAA,GAAQ4X,sBACX,OAAKnX,EAAOE,MAMLT,EALEC,GAAO,IACTm2B,GACH2C,wBAAyB/4B,EAAM+4B,0BAKrC,KAAKj5B,GAAAA,GAAQg7B,iCACX,OAAO76B,GAAO,IACTD,EACHg5B,4BAA6Bz4B,EAAOw6B,oBAGxC,KAAKj7B,GAAAA,GAAQ+3B,QACX,OAAO53B,GAAO,IACTD,EACH03B,OAAQn3B,EAAOo1B,QAAQn1B,KAAKk3B,OAC5BwB,UAAW34B,EAAOo1B,QAAQn1B,KAAK04B,UAC/Bn1B,SAAUxD,EAAOo1B,QAAQn1B,KAAKuD,SAC9BC,QAASzD,EAAOo1B,QAAQn1B,KAAKwD,QAC7B2zB,IAAKp3B,EAAOo1B,QAAQn1B,KAAKm3B,IACzBzzB,MAAO3D,EAAOo1B,QAAQn1B,KAAK0D,MAC3BE,MAAO7D,EAAOo1B,QAAQn1B,KAAK4D,QAG/B,KAAKmU,GAAAA,GAAqBqe,MACxB,OAAO32B,GAAOm2B,IAEhB,QACE,OAAOp2B,EAEZ,W,uECjMM,MAAMm2B,GAAa,uBAGxB6E,GAAmB,CACjBC,SAAU,WACVC,QAAS,WAEX9E,GAAwB,CACtBqB,YAAY,EACZ0D,QAAQ,EACRriB,UAAW,GACXyC,aAAc,GACdva,KAAM,GACNmL,YAAa,GACblD,qBAAsB,GACtB/H,YAAa,GACboH,aAAc,GACdC,aAAc,GACdX,KAAM,GACNC,OAAQ,GACR7H,MAAO,GACP+H,QAAS,GACTM,QAAS,GACT+yB,mBAAmB,EACnBC,YAAY,EACZC,gBAAgB,EAChBC,kBAAkB,EAClBC,yBAAyB,EACzBzW,QAAS,KACTlH,KAAM,GACN4d,OAAQ,KACRvvB,IAAK,GACLmc,cAAe,GACf3L,OAAQ,CAAC,EACTN,iBAAkB,GAClBE,sBAAuB,GACvBof,YAAa,GACbC,cAAe,GACfC,cAAe,GACfC,cAAe,GACfC,YAAa,GACbpE,OAAQ,GACRzzB,WAAY,GACZF,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbmE,SAAU,GACVC,eAAgB,CAAC,EACjBC,wBAAwB,EACxBC,uBAAuB,EACvBC,mBAAmB,EACnBz7B,YAAa,EACb07B,WAAY,CAAC,EACbC,YAAa,GACbC,eAAgB,GAChBC,cAAe,GACfC,UAAU,EACV3X,iBAAkB,CAAC,EACnB4X,QAAS,KACTC,KAAM,CAAC,EACPC,cAAU55B,EACV4iB,SAAU,KACViX,cAAe,KACfC,MAAO,KACPC,QAAS,KACTC,IAAK,CAAC,EACNC,IAAI,EACJC,aAAa,EACbC,eAAgB,KAChBC,gBAAiB,IAGnBh6B,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IACtDn2B,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAcT0G,GAAeA,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,OAAE26B,GAAS,EAAK,kBAAEC,EAAiB,eAAEE,EAAc,WAAED,EAAU,iBAAEE,EAAgB,wBAAEC,EAAuB,OAAEC,EAAM,IAAEvvB,EAAG,cAAEmc,EAAa,iBAAEjM,EAAgB,QAAE2I,EAAO,KAAElH,EAAI,OAAEnB,EAAM,YAAEugB,GAAgBz8B,GACrM,UAAEsY,EAAS,aAAEyC,EAAY,KAAEva,EAAI,YAAEmL,EAAW,qBAAElD,EAAoB,YAAE/H,GAAgBV,GACpF,aAAE8H,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,QAAErX,EAAO,QAAEM,GAAY7H,EAErF,OAAOP,GAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBg7B,OAAQ,CAAEh7B,KAAMg7B,GAChBC,kBAAmB,CAAEj7B,KAAMi7B,GAC3BE,eAAgB,CAAEn7B,KAAMm7B,GACxBD,WAAY,CAAEl7B,KAAMk7B,GACpBE,iBAAkB,CAAEp7B,KAAMo7B,GAC1BziB,UAAW,CAAE3Y,KAAM2Y,GACnByC,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,GAC9B/H,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMif,GACfrX,QAAS,CAAE5H,KAAM4H,GACjBM,QAAS,CAAElI,KAAMkI,GACjBmzB,wBAAyB,CAAEr7B,KAAMq7B,GACjCC,OAAQ,CAAEt7B,KAAMs7B,GAChBvvB,IAAK,CAAE/L,KAAM+L,EAAMmxB,KAAMnxB,GAAO,IAChC+wB,YAAa,CAAE98B,KAAM88B,GACrB5U,cAAe,CAAEloB,KAAMkoB,GAAiB,KACxCjM,iBAAkB,CAAEjc,KAAMic,GAAoB,IAC9CE,sBAAuB,CAAEnc,KAAM,IAC/B4kB,QAAS,CAAE5kB,KAAM4kB,GACjBlH,KAAM,CAAE1d,KAAM0d,GAAQ,IACtBnB,OAAQ,CAAEvc,KAAMuc,GAChBgf,YAAa,CAAEv7B,KAAM,IACrBw7B,cAAe,CAAEx7B,KAAM,IACvBy7B,cAAe,CAAEz7B,KAAM,IACvB07B,cAAe,CAAE17B,KAAM,IACvBO,YAAa,CAAEP,KAAM,MAubzB02B,GAAeA,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAE/Cv2B,GAAa,CACX,CAAC0Y,GAAAA,GAAqBqe,OAAQC,GAC9B,CAAC/2B,GAAAA,GAAQ82B,OAAQC,GACjB,CAAC/2B,GAAAA,GAAQk6B,MAjfGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,aAAEyC,EAAY,KAAEva,EAAI,qBAAEiI,GAAyBzI,EAEhE,OAAOP,GAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpB2Y,UAAW,CAAE3Y,KAAM2Y,GACnByC,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9BvI,YAAa,CAAEP,KAAM,MAyevB,CAACL,GAAAA,GAAQi4B,OAAQqF,GACjB,CAACt9B,GAAAA,GAAQy9B,WA7bOC,CAACx9B,EAAOO,EAAQC,KAChC,MAAM,OAAE26B,GAAS,EAAK,kBAAEC,EAAiB,eAAEE,EAAc,WAAED,GAAa,EAAK,iBAAEE,EAAgB,wBAAEC,EAAuB,OAAEC,GAAS,EAAK,IAAEvvB,EAAG,cAAEmc,EAAa,iBAAEjM,EAAgB,QAAE2I,EAAO,KAAElH,EAAI,OAAEnB,GAAWlc,GACxM,UAAEsY,EAAS,aAAEyC,EAAY,KAAEva,EAAI,YAAEmL,EAAW,qBAAElD,EAAoB,YAAE/H,GAAgBV,GACpF,aAAE8H,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,QAAErX,EAAO,QAAEM,GAAY7H,GACnF,iBAAEqkB,EAAgB,QAAE4X,EAAO,KAAEC,EAAI,SAAEC,EAAQ,SAAEhX,EAAQ,cAAEiX,EAAa,MAAEC,EAAK,QAAEC,GAAYt8B,GACzF,GAAEw8B,EAAE,eAAEE,EAAc,gBAAEC,EAAe,SAAEX,GAAah8B,EAEtD,OAAOP,GAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBg7B,OAAQ,CAAEh7B,KAAMg7B,GAChBC,kBAAmB,CAAEj7B,KAAMi7B,GAC3BE,eAAgB,CAAEn7B,KAAMm7B,GACxBD,WAAY,CAAEl7B,KAAMk7B,GACpBE,iBAAkB,CAAEp7B,KAAMo7B,GAC1BziB,UAAW,CAAE3Y,KAAM2Y,GACnByC,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,GAC9B/H,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMif,GACfrX,QAAS,CAAE5H,KAAM4H,GACjBM,QAAS,CAAElI,KAAMkI,GACjBmzB,wBAAyB,CAAEr7B,KAAMq7B,GACjCC,OAAQ,CAAEt7B,KAAMs7B,GAChBvvB,IAAK,CAAE/L,KAAM+L,EAAMmxB,KAAMnxB,GAAO,IAChCmc,cAAe,CAAEloB,KAAMkoB,GAAiB,KACxCjM,iBAAkB,CAAEjc,KAAMic,GAAoB,IAC9CE,sBAAuB,CAAEnc,KAAM,IAC/B4kB,QAAS,CAAE5kB,KAAM4kB,GACjBlH,KAAM,CAAE1d,KAAM0d,GAAQ,IACtBnB,OAAQ,CAAEvc,KAAMuc,GAChBgf,YAAa,CAAEv7B,KAAM,IACrBw7B,cAAe,CAAEx7B,KAAM,IACvBy7B,cAAe,CAAEz7B,KAAM,IACvB07B,cAAe,CAAE17B,KAAM,IACvBq8B,SAAU,CAAEr8B,KAAMq8B,GAClB3X,iBAAkB,CAAE1kB,KAAM0kB,GAC1B4X,QAAS,CAAEt8B,KAAMs8B,GACjBC,KAAM,CAAEv8B,KAAMu8B,GACdC,SAAU,CAAEx8B,KAAMw8B,GAClBhX,SAAU,CAAExlB,KAAMwlB,GAClBiX,cAAe,CAAEz8B,KAAMy8B,GACvBC,MAAO,CAAE18B,KAAM08B,GACfC,QAAS,CAAE38B,KAAM28B,GACjBE,GAAI,CAAE78B,KAAM68B,GACZE,eAAgB,CAAE/8B,KAAM+8B,GACxBC,gBAAiB,CAAEh9B,KAAMg9B,GACzBz8B,YAAa,CAAEP,KAAM,MA0YvB,CAACL,GAAAA,GAAQ29B,qBAvYwBC,CAAC19B,EAAOO,EAAQC,KACjD,MAAM,UAAEsY,EAAWxX,KAAMia,EAAY,KAAEva,EAAI,YAAEmL,EAAW,qBAAElD,EAAoB,YAAE/H,EAAW,OAAEwb,GAAWlc,GACtG,aAAE8H,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,QAAErX,EAAO,QAAEM,GAAY7H,EAErF,OAAOP,GAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBg7B,OAAQ,CAAEh7B,MAAM,GAChBi7B,kBAAmB,CAAEj7B,MAAM,GAC3Bm7B,eAAgB,CAAEn7B,MAAM,GACxBk7B,WAAY,CAAEl7B,MAAM,GACpBo7B,iBAAkB,CAAEp7B,MAAM,GAC1B2Y,UAAW,CAAE3Y,KAAM2Y,GACnByC,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,GAC9B/H,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMif,GACfrX,QAAS,CAAE5H,KAAM4H,GACjBM,QAAS,CAAElI,KAAMkI,GACjBmzB,wBAAyB,CAAEr7B,MAAM,GACjCs7B,OAAQ,CAAEt7B,KAAM,MAChB+L,IAAK,CAAE/L,KAAM,IACbkoB,cAAe,CAAEloB,KAAM,IACvBic,iBAAkB,CAAEjc,KAAM,IAC1Bmc,sBAAuB,CAAEnc,KAAM,IAC/B4kB,QAAS,CAAE5kB,KAAM,MACjB0d,KAAM,CAAE1d,KAAM,IACduc,OAAQ,CAAEvc,KAAMuc,GAChBgf,YAAa,CAAEv7B,KAAM,IACrBw7B,cAAe,CAAEx7B,KAAM,IACvBy7B,cAAe,CAAEz7B,KAAM,IACvB07B,cAAe,CAAE17B,KAAM,IACvBO,YAAa,CAAEP,KAAM,MAmWvB,CAACL,GAAAA,GAAQ69B,YAAaP,GACtB,CAACt9B,GAAAA,GAAQ89B,KAjWEC,CAAC79B,EAAOO,EAAQC,EAAO,CAAC,KACnC,MAAM,IAAE0L,EAAM,IAAO1L,EACrB,OAAOP,GAAOD,EAAO,CACnBkM,IAAK,CAAE/L,KAAMk9B,KAAMnxB,OA+VrB,CAACpM,GAAAA,GAAQg+B,cArVUC,CAAC/9B,EAAOO,EAAQC,KACnC,MAAM,YAAEy8B,GAAgBz8B,EACxB,OAAOP,GAAOD,EAAO,CACnBi9B,YAAa,CAAE98B,KAAM88B,GACrB/wB,IAAK,CAAE/L,KAAM,OAkVf,CAACL,GAAAA,GAAQk+B,SA7VKC,CAACj+B,EAAOO,EAAQC,KAC9B,MAAM,OAAEi7B,GAAWj7B,EAEnB,OAAOP,GAAOD,EAAO,CACnBy7B,OAAQ,CAAEt7B,KAAMs7B,MA0VlB,CAAC37B,GAAAA,GAAQo+B,mBAhVeC,CAACn+B,EAAOO,EAAQC,KACxC,MAAM,iBAAEqkB,GAAqBrkB,EAE7B,OAAOP,GAAOD,EAAO,CACnB6kB,iBAAkB,CAAE1kB,KAAM0kB,MA6U5B,CAAC/kB,GAAAA,GAAQs+B,UA1UMC,CAACr+B,EAAOO,EAAQC,KAC/B,MAAM,QAAEi8B,GAAYj8B,EAEpB,OAAOP,GAAOD,EAAO,CACnBy8B,QAAS,CAAEt8B,KAAMs8B,MAuUnB,CAAC38B,GAAAA,GAAQw+B,MApUGC,CAACv+B,EAAOO,EAAQC,KAC5B,MAAM,KAAEk8B,GAASl8B,EAEjB,OAAOP,GAAOD,EAAO,CACnB08B,KAAM,CAAEv8B,KAAMu8B,MAiUhB,CAAC58B,GAAAA,GAAQ0+B,UA9TOC,CAACz+B,EAAOO,EAAQC,KAChC,MAAM,SAAEmlB,GAAanlB,EACrB,OAAOP,GAAOD,EAAO,CACnB2lB,SAAU,CAAExlB,KAAMwlB,MA4TpB,CAAC7lB,GAAAA,GAAQ4+B,gBAzTYC,CAAC3+B,EAAOO,EAAQC,KACrC,MAAM,cAAEo8B,GAAkBp8B,EAC1B,OAAOP,GAAOD,EAAO,CACnB48B,cAAe,CAAEz8B,KAAMy8B,MAuTzB,CAAC98B,GAAAA,GAAQ8+B,QApTIC,CAAC7+B,EAAOO,EAAQC,KAC7B,MAAM,MAAEq8B,GAAUr8B,EAClB,OAAOP,GAAOD,EAAO,CACnB68B,MAAO,CAAE18B,KAAM08B,MAkTjB,CAAC/8B,GAAAA,GAAQi9B,KA/SC+B,CAAC9+B,EAAOO,EAAQC,KAC1B,MAAM,GAAEw8B,GAAOx8B,EACf,OAAOP,GAAOD,EAAO,CACnBg9B,GAAI,CAAE78B,KAAM68B,MA6Sd,CAACl9B,GAAAA,GAAQi/B,SA1SMC,CAACh/B,EAAOO,EAAQC,KAC/B,MAAM,QAAEs8B,GAAYt8B,EACpB,OAAOP,GAAOD,EAAO,CACnB88B,QAAS,CAAE38B,KAAM28B,MAwSnB,CAACh9B,GAAAA,GAAQm/B,iBArSaC,CAACl/B,EAAOO,EAAQC,KACtC,MAAM,eAAE08B,GAAmB18B,EAC3B,OAAOP,GAAOD,EAAO,CACnBk9B,eAAgB,CAAE/8B,KAAM+8B,MAmS1B,CAACp9B,GAAAA,GAAQq/B,UAhSMC,CAACp/B,EAAOO,EAAQC,KAC/B,MAAM,gBAAE28B,GAAoB38B,EAC5B,OAAOP,GAAOD,EAAO,CACnBm9B,gBAAiB,CAAEh9B,KAAMg9B,MA8R3B,CAACr9B,GAAAA,GAAQu/B,MApRGC,CAACt/B,EAAOO,EAAQC,KAC5B,MAAM,KAAEqd,GAASrd,EAEjB,OAAOP,GAAOD,EAAO,CACnB6d,KAAM,CAAE1d,KAAM0d,MAiRhB,CAAC/d,GAAAA,GAAQy/B,UA9QMC,CAACx/B,EAAOO,EAAQC,KAC/B,MAAM,QAAEukB,GAAYvkB,EAEpB,OAAOP,GAAOD,EAAO,CACnB+kB,QAAS,CAAE5kB,KAAM4kB,MA2QnB,CAACjlB,GAAAA,GAAQ2/B,WA7RYC,CAAC1/B,EAAOO,EAAQC,KACrC,MAAM,cAAE6nB,GAAkB7nB,EAE1B,OAAOP,GAAOD,EAAO,CACnBqoB,cAAe,CAAEloB,KAAMkoB,MA0RzB,CAACvoB,GAAAA,GAAQ6/B,SAzQeC,CAAC5/B,EAAOO,EAAQC,KACxC,MAAM,iBAAE4b,EAAgB,sBAAEE,GAA0B9b,EAEpD,OAAOP,GAAOD,EAAO,CACnBoc,iBAAkB,CAAEjc,KAAMic,GAC1BE,sBAAuB,CAAEnc,KAAMmc,MAqQjC,CAACxc,GAAAA,GAAQ+/B,0BAlQqBC,CAAC9/B,EAAOO,EAAQC,KAC9C,GAAID,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBm8B,kBAAmB,CAAEh8B,MAAM,GAC3BO,YAAa,CAAEP,KAAM2D,IAEzB,CAEA,OAAO7D,GAAOD,EAAO,CACnBm8B,kBAAmB,CAAEh8B,MAAM,GAC3BO,YAAa,CAAEP,KAAM,GACrBi8B,WAAY,CAAEj8B,KAAMK,MAuPtB,CAACV,GAAAA,GAAQigC,kBAnPaC,CAAChgC,EAAOO,EAAQC,IAE/BP,GAAOD,EAAO,CACnBq8B,YAAa,CAAEl8B,KAAMK,GACrB87B,eAAgB,CAAEn8B,KAAM,IACxBo8B,cAAe,CAAEp8B,KAAM,MA+OzB,CAACL,GAAAA,GAAQmgC,qBA3OgBC,CAAClgC,EAAOO,EAAQC,IAClCP,GAAOD,EAAO,CACnBs8B,eAAgB,CAAEn8B,KAAMK,GACxB+7B,cAAe,CAAEp8B,KAAM,MAyOzB,CAACL,GAAAA,GAAQqgC,oBArOeC,CAACpgC,EAAOO,EAAQC,IACjCP,GAAOD,EAAO,CACnBu8B,cAAe,CAAEp8B,KAAMK,KAoOzB,CAACV,GAAAA,GAAQugC,QAhOKC,CAACtgC,EAAOO,EAAQC,KAC9B,MAAM,OAAEkc,GAAWlc,EAEnB,OAAOP,GAAOD,EAAO,CACnB0c,OAAQ,CAAEvc,KAAMuc,MA6NlB,CAAC5c,GAAAA,GAAQygC,YA1NQC,CAACxgC,EAAOO,EAAQC,KACjC,MAAM,OAAEkc,GAAWlc,EAEnB,OAAOP,GAAOD,EAAO,CACnB0c,OAAQ,CAAEvc,KAAMuc,MAuNlB,CAAC5c,GAAAA,GAAQ2gC,SApNMC,CAAC1gC,EAAOO,EAAQC,KAC/B,MAAM,cAAEq7B,GAAkBr7B,EAE1B,OAAOP,GAAOD,EAAO,CACnB67B,cAAe,CAAE17B,KAAM07B,MAiNzB,CAAC/7B,GAAAA,GAAQ6gC,cApMUC,CAAC5gC,EAAOO,EAAQC,KACnC,MAAM,gBAAEqgC,GAAoBrgC,EAE5B,OAAOP,GAAOD,EAAO,CACnB6gC,gBAAiB,CAAE1gC,KAAM0gC,MAiM3B,CAAC/gC,GAAAA,GAAQghC,gBA/MYC,CAAC/gC,EAAOO,EAAQC,KACrC,MAAM,YAAEk7B,EAAW,cAAEC,EAAa,cAAEC,EAAa,YAAEE,GAAgBt7B,EAEnE,OAAOP,GAAOD,EAAO,CACnB07B,YAAa,CAAEv7B,KAAMu7B,GACrBC,cAAe,CAAEx7B,KAAMw7B,GACvBC,cAAe,CAAEz7B,KAAMy7B,GACvBE,YAAa,CAAE37B,KAAM27B,MAyMvB,CAACh8B,GAAAA,GAAQkhC,sBA/JkBhhC,GACpBC,GAAOD,EAAO,CACnBi8B,uBAAwB,CAAE97B,MAAM,GAChCO,YAAa,CAAEP,KAAM,KA6JvB,CAACL,GAAAA,GAAQmhC,+BA1JyBC,CAAClhC,EAAOO,EAAQC,KAClD,GAAID,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBi8B,uBAAwB,CAAE97B,MAAM,GAChCO,YAAa,CAAEP,KAAM2D,IAEzB,CAEA,MAAMi4B,EAAWh2B,IAAKvF,EAAKu7B,SAAWoF,IACpC,MAAQC,WAAYC,EAAWC,eAAgB1F,EAAe2F,eAAgB5F,EAAe6F,QAASC,EAAc,KAAEC,EAAMC,UAAU,UAAEC,EAAS,QAAEC,IAAcV,EAGjK,MAAO,CACLE,YACA3F,YAAaV,GAAiByG,IAAmB,QACjD7F,gBACAD,gBACA+F,OACAI,QARUF,GAAaC,GAAW,KAWtC,OAAO5hC,GAAOD,EAAO,CACnBi8B,uBAAwB,CAAE97B,MAAM,GAChCO,YAAa,CAAEP,KAAM,GACrB47B,SAAU,CAAE57B,KAAM47B,MAkIpB,CAACj8B,GAAAA,GAAQiiC,sBA/HY/hC,GACdC,GAAOD,EAAO,CACnBk8B,sBAAuB,CAAE/7B,MAAM,GAC/BO,YAAa,CAAEP,KAAM,KA6HvB,CAACL,GAAAA,GAAQkiC,+BA1HmBC,CAACjiC,EAAOO,EAAQC,KAC5C,GAAID,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBk8B,sBAAuB,CAAE/7B,MAAM,GAC/BO,YAAa,CAAEP,KAAM2D,IAEzB,CAEA,OAAO7D,GAAOD,EAAO,CACnBk8B,sBAAuB,CAAE/7B,MAAM,GAC/BO,YAAa,CAAEP,KAAM,GACrB67B,eAAgB,CAAE77B,KAAMK,EAAK0hC,cA+G/B,CAACpiC,GAAAA,GAAQqiC,cAnMgBniC,GAClBA,EAmMP,CAACF,GAAAA,GAAQ+3B,SAjMMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,GAAQn3B,EAEvD,OAAOP,GAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBF,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,MA0Lf,CAAC73B,GAAAA,GAAQsiC,UAvLOhL,KAChBZ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAsL7C,CAACiB,EAAAA,EAAgBzzB,6BApLCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,GAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,OA0Kf,CAACoV,EAAAA,EAAcP,qBApGOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,GAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChChnB,EAAaD,EAAUjJ,aAAeiJ,EACtCmnB,EAAmBzsB,IAAMuF,EAAarJ,GAEjB,YADHhP,IAAKgP,EAAO,UAAW,KAI3C,IAAKuwB,EACH,OAAOxiC,EAGT,MACIkJ,qBAAsBC,EAAY7B,qBAAsBtG,EAAMwa,wBAAyBtT,EAASqC,iBAAkB4B,GAAgBq2B,GAClIl1B,aAAcrE,EAAsBjB,MAAO9G,EAAa0c,kBAAmBC,EAAI,IAAE3R,GAAQs2B,GACzF96B,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAI7H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,IAAOG,GAC/IiU,MAAOC,EAAkBC,kBAAmBC,EAAuBwB,qBAAsBtB,EAAWC,wBAAyBpR,GAAYm3B,EAC3IjnB,EAA8B,SAAfpS,EAAwB,OAAS,OAChDuT,EAAS3W,IAAKyW,EAAYG,GAxCnBC,EAACD,EAAOtR,KACjB,MACI1J,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,IAAOua,GACpIjV,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAE,MAAE7H,EAAQ,GAAI8H,IAAKO,EAAU,GAAE,QAAEN,EAAU,GAAE,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAOyb,GAC3K,YAAEE,EAAa4lB,iCAAkCC,GAAwB,EAAO5lB,qBAAsBC,EAAcC,cAAe2lB,EAAM,KAAEzlB,EAAI,IAAEhR,GAAQyQ,EACzJM,EAAM0lB,EAASA,EAAOC,QAAQ,KAAM,KAAO,GAC3CzlB,EAAU,GAAGJ,KACXpb,WAAYyb,EAAmB,GAAIvb,YAAawb,EAAoB,GAAItb,UAAWub,EAAkB,GAAIrb,OAAQsb,EAAgB,GAAI7U,aAAc8U,EAAqB,IAAOnS,EAGnL,MAAO,CAAEzJ,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAMC,SAAQ7H,QAAOqI,UAASN,UAASjH,QAAOI,cAAa2b,cAAa6lB,wBAAuBvlB,UAASF,MAAKC,OAAMhR,MAAKuR,aAFlM7b,IAAcwb,GAAoBtb,IAAeub,GAAqBrb,IAAasb,GAAmBrb,IAAWsb,GAAiBnb,IAAgBob,EAE8DQ,QAAQ,IA+B9NpB,CAASD,EAAOtR,IAG3B,OAAOpL,GAAOD,EAAO,CACnBub,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdmL,YAAa,CAAEhM,KAAMgM,GACrBlD,qBAAsB,CAAE9I,KAAM8I,GAC9B/H,YAAa,CAAEf,KAAMe,GACrBoH,aAAc,CAAEnI,KAAMmI,GACtBC,aAAc,CAAEpI,KAAMoI,GACtBX,KAAM,CAAEzH,KAAMyH,GACdC,OAAQ,CAAE1H,KAAM0H,GAChB7H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAM4H,GACjB8V,KAAM,CAAE1d,KAAM0d,GACd3R,IAAK,CAAE/L,KAAM+L,GACbkQ,iBAAkB,CAAEjc,KAAMic,GAC1BE,sBAAuB,CAAEnc,KAAMmc,GAC/BI,OAAQ,CAAEvc,KAAMuc,OAsDP,SAAS,GAAC1c,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,SCtnBO,MAAMm2B,GAAc,kCAGzBC,GAAwB,CACtByM,mBAAoB,KACpBniC,YAAa,GAEfyC,GAAgB8C,IAAQuwB,GAAAA,GAAeC,WAAWN,GAAYC,IAAwB,CAAEyM,mBAAoB,OAqB5GhjC,GAAa,CACX,CAACC,EAAAA,GAAQ82B,OALIC,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAI7C,CAACt2B,EAAAA,GAAQgjC,oBAjBaC,CAAC/iC,EAAOO,EAAQC,KACtC,MAAM,mBAAEqiC,GAAuBriC,EAC/B,MAPOP,EAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAIAz2B,CAAOD,EAAO,CACnB6iC,mBAAoB,CAAE1iC,KAAM0iC,GAC5BniC,YAAa,CAAEP,KAAM,MAcvB,CAACL,EAAAA,GAAQq3B,kBAXOC,KAChBZ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,MAYlC,SAAS,GAACp2B,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,qHCjBO,MAAMm2B,GAAa,uBAGxBC,GAAwB,CACtB4M,aAAa,EACbphC,UAAW,GACXE,WAAY,GACZE,SAAU,GACVC,OAAQ,GACRG,YAAa,GACb6gC,OAAQ,GACR36B,aAAc,GACdC,aAAc,GACdX,KAAM,GACNC,OAAQ,GACR7H,MAAO,GACPqI,QAAS,GACTN,QAAS,GACTjH,MAAO,GACPI,YAAa,IAEfiC,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IACtDn2B,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAETwM,GAA0BA,CAACljC,EAAOO,EAAQC,KACxC,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,GAAWzB,EACpD,OAAOP,GAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,KAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,KAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,KAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,KAAMp7B,OAG1BkhC,GAA6BA,CAACnjC,EAAOO,EAAQC,KAC3C,MAAM,MAAEM,EAAK,YAAEI,GAAgBV,EAC/B,OAAOP,GAAOD,EAAO,CACnBc,MAAO,CAAEX,KAAMk9B,KAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,KAAMn8B,OAY/BkiC,GAA0BA,CAACpjC,EAAOO,EAAQC,KACxC,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,EAAM,MAAEnB,EAAK,YAAEI,GAAgBV,EAExE,OAAOP,GAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,KAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,KAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,KAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,KAAMp7B,IACtBnB,MAAO,CAAEX,KAAMk9B,KAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,KAAMn8B,OAG/BmiC,GAAiBA,CAACrjC,EAAOO,EAAQC,KAC/B,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,EAAM,YAAEG,EAAW,OAAE6gC,EAAM,aAAE36B,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,QAAE/W,EAAO,MAAEvH,EAAK,YAAEI,EAAW,YAAE8hC,GAAgBxiC,EAE/K,OAAOP,GAAOD,EAAO,CACnBgjC,YAAa,CAAE7iC,KAAM6iC,GACrBphC,UAAW,CAAEzB,KAAMk9B,KAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,KAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,KAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,KAAMp7B,IACtBG,YAAa,CAAEjC,KAAMk9B,KAAMj7B,IAC3B6gC,OAAQ,CAAE9iC,KAAMk9B,KAAM4F,IACtB36B,aAAc,CAAEnI,KAAMk9B,KAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,KAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,KAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,KAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMk9B,KAAMh1B,IACvBN,QAAS,CAAE5H,KAAM,MACjBW,MAAO,CAAEX,KAAMk9B,KAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,KAAMn8B,OAG/BoiC,GAAeA,CAACtjC,EAAOO,EAAQC,KAC7B,MAAM,MAAEM,GAAUN,EAElB,OAAOP,GAAOD,EAAO,CACnBc,MAAO,CAAEX,KAAMW,MAGnByiC,GAAmBA,CAACvjC,EAAOO,EAAQC,KACjC,MAAM,UAAEoB,GAAcpB,EAEtB,OAAOP,GAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMyB,MAGvB4hC,GAAkBA,CAACxjC,EAAOO,EAAQC,KAChC,MAAM,SAAEwB,GAAaxB,EAErB,OAAOP,GAAOD,EAAO,CACnBgC,SAAU,CAAE7B,KAAM6B,MAUtByhC,GAAeA,CAACzjC,EAAOO,EAAQC,KAC7B,MAAM,YAAEU,GAAgBV,EAExB,OAAOP,GAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMe,MAUzBwiC,GAAoBA,CAAC1jC,EAAOO,EAAQC,KAClC,MAAM,QAAE6K,GAAY7K,EAEpB,IAAK6K,EACH,OAAOrL,EAGT,MACE,UAAE4B,EAAS,WAAEE,EAAU,SAAEE,EAAQ,YAAEI,EAAW,OAAE6gC,EAAM,OAAEhhC,EAAM,MAAEnB,EAAK,YAAEI,GAAgBmK,GACvF,aAAE/C,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,QAAErX,EAAO,QAAEM,GAAYgD,EAGrF,OAAOpL,GAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,KAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,KAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,KAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,KAAMp7B,IACtBG,YAAa,CAAEjC,KAAMk9B,KAAMj7B,IAC3B6gC,OAAQ,CAAE9iC,KAAMk9B,KAAM4F,IACtBniC,MAAO,CAAEX,KAAMk9B,KAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,KAAMn8B,IAC3BoH,aAAc,CAAEnI,KAAMk9B,KAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,KAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,KAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,KAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMk9B,KAAMh1B,IACvBN,QAAS,CAAE5H,KAAM4H,MAGrB47B,GAAsBA,CAAC3jC,EAAOO,EAAQC,KACpC,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,EAAM,MAAEnB,EAAK,YAAEI,GAAgBV,EAExE,OAAOP,GAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMyB,GACnBE,WAAY,CAAE3B,KAAM2B,GACpBE,SAAU,CAAE7B,KAAM6B,GAClBC,OAAQ,CAAE9B,KAAM8B,GAChBnB,MAAO,CAAEX,KAAMW,GACfI,YAAa,CAAEf,KAAMe,MAmFzB0iC,GAAmBA,CAAC5jC,EAAOO,EAAQC,KACjC,MAAMqjC,EAAY,CAAC,EAOnB,OANAC,OAAOC,QAAQvjC,GAAMmZ,QAASqqB,IAC5B,MAAOjvB,EAAKoB,GAAS6tB,EACjBC,KAAKjkC,EAAO+U,KACd8uB,EAAU9uB,GAAO,CAAE5U,KAAMgW,MAGtBlW,GAAOD,EAAO6jC,IAEvBzG,GAAeA,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,UAAEoB,EAAY,GAAE,WAAEE,EAAa,GAAE,SAAEE,EAAW,GAAE,OAAEC,EAAS,GAAE,MAAEnB,EAAQ,IAAON,EAEpF,QAAK0jC,EAAAA,GAAAA,OAAgBtiC,EACZ3B,GAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMyB,GACnBE,WAAY,CAAE3B,KAAM2B,GACpBE,SAAU,CAAE7B,KAAM6B,GAClBC,OAAQ,CAAE9B,KAAM8B,GAChBnB,MAAO,CAAEX,KAAMW,KAGZd,GAET62B,GAAeA,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAE/Cv2B,GAAa,CACX,CAACC,GAAAA,GAAQ82B,OAAQC,GACjB,CAAC/2B,GAAAA,GAAQk6B,MAAOoD,GAChB,CAACt9B,GAAAA,GAAQqkC,aAAcjB,GACvB,CAACpjC,GAAAA,GAAQi3B,gBAAiBoM,GAC1B,CAACrjC,GAAAA,GAAQskC,cAAehB,GACxB,CAACtjC,GAAAA,GAAQukC,QAASX,GAClB,CAAC5jC,GAAAA,GAAQq3B,kBAvCOC,KAChBZ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAuC7C,CAAC/e,EAAAA,GAAYitB,qBAAsBjB,GACnC,CAAChsB,EAAAA,GAAYktB,cAAelB,GAE5B,CAACnsB,EAAAA,GAAaotB,qBAAsBjB,GACpC,CAACnsB,EAAAA,GAAaqtB,cAAelB,GAE7B,CAACzrB,GAAAA,GAAgBusB,aAAcjB,GAC/B,CAACtrB,GAAAA,GAAgBmf,gBAAiBoM,GAClC,CAACvrB,GAAAA,GAAgBwsB,cAAehB,GAChC,CAACxrB,GAAAA,GAAgBysB,QAASX,GAE1B,CAACc,GAAAA,GAAiBF,qBAAsBjB,GACxC,CAACmB,GAAAA,GAAiBD,cAAelB,GACjC,CAACmB,GAAAA,GAAiBC,oBAAqBpB,GAEvC,CAACxrB,GAAAA,GAAqBmiB,MAAOnD,GAE7B,CAAC6N,EAAAA,GAAsB1K,MAAOnD,GAC9B,CAAC6N,EAAAA,GAAsBJ,qBAAsBjB,GAC7C,CAACqB,EAAAA,GAAsBH,cAAelB,GACtC,CAACqB,EAAAA,GAAsBD,oBAAqBpB,GAE5C,CAACtrB,GAAAA,GAAoB4sB,cAAerB,GACpC,CAACvrB,GAAAA,GAAoB6sB,mBAAoBrB,GACzC,CAACxrB,GAAAA,GAAoB8sB,kBAAmBrB,GACxC,CAACzrB,GAAAA,GAAoB+sB,oBA7MHC,CAAC/kC,EAAOO,EAAQC,KAClC,MAAM,WAAEsB,GAAetB,EAEvB,OAAOP,GAAOD,EAAO,CACnB8B,WAAY,CAAE3B,KAAM2B,MA0MtB,CAACiW,GAAAA,GAAoBitB,cAAevB,GACpC,CAAC1rB,GAAAA,GAAoBktB,eAjMPC,CAACllC,EAAOO,EAAQC,KAC9B,MAAM,OAAEyB,GAAWzB,EAEnB,OAAOP,GAAOD,EAAO,CACnBiC,OAAQ,CAAE9B,KAAM8B,MA8LlB,CAAC8V,GAAAA,GAAoBotB,MAAOxB,GAC5B,CAAC5rB,GAAAA,GAAoBiiB,MAAOoD,GAC5B,CAACrlB,GAAAA,GAAoBqtB,YAAaxB,GAElC,CAACyB,GAAAA,GAAkBC,0BAA2BjC,GAC9C,CAACgC,GAAAA,GAAkBE,mBAAoBlC,GACvC,CAACgC,GAAAA,GAAkBG,yBAA0BnC,GAE7C,CAACrrB,GAAAA,GAAmB4sB,mBAAoBrB,GACxC,CAACvrB,GAAAA,GAAmB6sB,kBAAmBrB,GACvC,CAACxrB,GAAAA,GAAmB2sB,cAAerB,GACnC,CAACtrB,GAAAA,GAAmBgtB,cAAevB,GACnC,CAACzrB,GAAAA,GAAmBmtB,MAAOxB,GAC3B,CAAC3rB,GAAAA,GAAmBotB,YAAaxB,GAEjC,CAAC6B,GAAAA,GAAuBlB,cAAelB,GAEvC,CAACprB,GAAAA,GAAgBksB,aAAcjB,GAC/B,CAACjrB,GAAAA,GAAgB8e,gBAAiBoM,GAClC,CAAClrB,GAAAA,GAAgBmsB,cAAehB,GAChC,CAACnrB,GAAAA,GAAgBosB,QAASX,GAE1B,CAACrrB,GAAAA,GAAoBqtB,cAtSGC,CAAC3lC,EAAOO,EAAQC,KACxC,MAAM,UAAEoB,EAAS,SAAEI,EAAQ,MAAElB,EAAK,YAAEI,GAAgBV,EACpD,OAAOP,GAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,KAAMz7B,IACzBI,SAAU,CAAE7B,KAAMk9B,KAAMr7B,IACxBlB,MAAO,CAAEX,KAAMk9B,KAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,KAAMn8B,OAiS7B,CAACmX,GAAAA,GAAoBosB,oBAAqBpB,GAC1C,CAAChrB,GAAAA,GAAoBksB,cAAelB,GAEpC,CAAC/qB,GAAAA,GAAkB6rB,aAAcjB,GACjC,CAAC5qB,GAAAA,GAAkBye,gBAAiBoM,GACpC,CAAC7qB,GAAAA,GAAkB8rB,cAAehB,GAClC,CAAC9qB,GAAAA,GAAkB+rB,QAASX,GAE5B,CAAC7N,GAAAA,GAAmByO,qBAAsBjB,GAC1C,CAACxN,GAAAA,GAAmB0O,cAAelB,GACnC,CAACxN,GAAAA,GAAmB4O,oBAAqBpB,GAEzC,CAACuC,GAAAA,GAAwBrB,cAAelB,GAExC,CAACvN,GAAAA,GAAgBkE,MAAOoD,GACxB,CAACtH,GAAAA,GAAgBiB,gBAAiBoM,GAClC,CAACrN,GAAAA,GAAgBsO,cAAehB,GAChC,CAACtN,GAAAA,GAAgBqO,aAAcjB,GAC/B,CAACpN,GAAAA,GAAgBuO,QAASX,GAE1B,CAACmC,GAAAA,GAAiBvB,qBAAsBjB,GACxC,CAACwC,GAAAA,GAAiBtB,cAAelB,GACjC,CAACwC,GAAAA,GAAiBpB,oBAAqBpB,GAEvC,CAAChM,EAAAA,EAAgBh3B,sBAhMMylC,CAAC9lC,EAAOO,EAAQC,KACvC,GAAID,EAAOE,MACT,OAAOT,EAET,GAAIA,EAAM4B,UACR,OAAO5B,EAET,MAEIW,aAAcC,EACdC,cAAeC,EACfG,cAAe+G,EACfrG,WAAYC,EACZC,YAAaC,EACbC,UAAWC,EAAQ,OACnBC,GACEzB,EAEN,OAAOP,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMS,GACZgB,UAAW,CAAEzB,KAAMk9B,KAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,KAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,KAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,KAAMp7B,IACtBnB,MAAO,CAAEX,KAAMk9B,KAAMv8B,IACrBI,YAAa,CAAEf,KAAM6H,MAwKvB,CAACuN,EAAAA,EAAcP,qBApKOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,GAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,GAGL,OAFH9iC,IAAK8iC,EAAG,UAAW,OAKvC,IAAK9zB,EACH,OAAOjS,EAGT,MACE,QAAEqL,EAAU,CAAC,GAAM4G,GACjBtQ,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAI4jC,QAAS/C,EAAS,IAAO53B,GAC1J3D,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAI7H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,MAASsD,GACnJ,MAAEvK,EAAQ,GAAIkH,MAAO9G,EAAc,GAAI+kC,aAAcjD,GAAc,GAAU33B,EAE/E,OAAOpL,GAAOD,EAAO,CACnBgjC,YAAa,CAAE7iC,KAAM6iC,GACrBphC,UAAW,CAAEzB,KAAMk9B,KAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,KAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,KAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,KAAMp7B,IACtBG,YAAa,CAAEjC,KAAMiC,GACrB6gC,OAAQ,CAAE9iC,KAAM8iC,GAChB36B,aAAc,CAAEnI,KAAMk9B,KAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,KAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,KAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,KAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMk9B,KAAMh1B,IACvBN,QAAS,CAAE5H,KAAM4H,GACjBjH,MAAO,CAAEX,KAAMk9B,KAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,KAAMn8B,QA2HlB,SAAS,GAAClB,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,iDC/YA,MAAMmD,GAAgB,CAAC,EAER,SAAS,GAACnD,EAAQmD,GAAe5C,GAC9C,MAAM,QAAEya,GAAY/X,IAAK1C,EAAQ,eAAgB,CAAC,GAElD,OAAQA,EAAOe,OACRxB,GAAAA,EAAQmb,mBACJD,EAGAhb,CAEb,C,gMCHO,MAAMm2B,GAAa,qBAGxBC,GAAwB,CACtB8P,SAAU,GACVC,eAAgB,GAEhBxY,YAAa,GACbyY,gBAAiB,GACjBC,WAAW,EACXC,QAAQ,GAEVnjC,GAAgB8C,IAAQuwB,GAAAA,GAAeC,WAAWN,GAAYC,KAC9Dn2B,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAGT6P,GAAkBA,CAACvmC,EAAOO,EAAQC,KAChC,MAAM,SAAE0lC,GAAa1lC,EACrB,OAAOP,GAAOD,EAAO,CACnBkmC,SAAU,CAAE/lC,KAAM+lC,GAClBG,UAAW,CAAElmC,MAAM,GACnBmmC,OAAQ,CAAEnmC,MAAM,MAIpBqmC,GAA0BA,CAACxmC,EAAOO,EAAQC,KACxC,MAAM,eAAE2lC,EAAc,SAAED,GAAa1lC,EAErC,OAAOP,GAAOD,EAAO,CACnBkmC,SAAU,CAAE/lC,KAAM+lC,GAClBC,eAAgB,CAAEhmC,KAAMgmC,GACxBE,UAAW,CAAElmC,MAAM,GACnBmmC,OAAQ,CAAEnmC,MAAM,MAIpBsmC,GAAmBA,CAACzmC,EAAOO,EAAQC,KAEjC,MAAM,YAAEmtB,EAAW,gBAAEyY,GAAoB5lC,EAEzC,OAAOP,GAAOD,EAAO,CACnB2tB,YAAa,CAAExtB,KAAMwtB,GACrByY,gBAAiB,CAAEjmC,KAAMimC,GACzBC,UAAW,CAAElmC,MAAM,GACnBmmC,OAAQ,CAAEnmC,MAAM,MAiDpBumC,GAAYA,CAAC1mC,EAAOO,EAAQC,KAC1B,MAAM,QAAEk0B,GAAYl0B,EAEpB,OAAOP,GAAOD,EAAO,CACnBqmC,UAAW,CAAElmC,KAAMu0B,MAoCvBmC,GAAeA,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAG/Cv2B,GAAa,CACX,CAACC,GAAAA,GAAQ82B,OAAQC,GAEjB,CAAC/2B,GAAAA,GAAQukC,QA1EYsC,CAAC3mC,EAAOO,EAAQC,KACrC,MAAM,kBAAEy1B,EAAoB,CAAC,GAAMz1B,GACjC,UAAEkhB,EAAY,CAAC,GAAMuU,GACnBxoB,MAAOkgB,EAAc,IAAOjM,EAEhC,OAAOzhB,GAAOD,EAAO,CACnB2tB,YAAa,CAAExtB,KAAMwtB,GACrByY,gBAAiB,CAAEjmC,KAAMwtB,EAAciZ,GAAAA,GAA0BjZ,IAAgB,SAAW,IAC5F0Y,UAAW,CAAElmC,MAAOwtB,GACpB2Y,OAAQ,CAAEnmC,MAAM,MAkElB,CAACL,GAAAA,GAAQ+mC,WA9DeC,CAAC9mC,EAAOO,EAAQC,KACxC,MAAM,OAAEqH,EAAQ7H,MAAOof,GAAc5e,EAErC,MAAkB,OAAd4e,EACKpf,EAGFC,GAAOD,EAAO,CACnB2tB,YAAa,CAAExtB,KAAM0H,GACrBu+B,gBAAiB,CAAEjmC,KAAMymC,GAAAA,GAA0B/+B,IAAW,aAsDhE,CAAC/H,GAAAA,GAAQinC,iBAAkBL,GAC3B,CAAC5mC,GAAAA,GAAQknC,YAAaP,GACtB,CAAC3mC,GAAAA,GAAQmnC,WAAYV,GACrB,CAACzmC,GAAAA,GAAQonC,kBAAmBV,GAC5B,CAAC1mC,GAAAA,GAAQqnC,YAAaT,GACtB,CAAC5mC,GAAAA,GAAQsnC,YAAaV,GACtB,CAAC5mC,GAAAA,GAAQq3B,kBAAmBN,GAE5B,CAACve,GAAAA,GAAkB+rB,QAvGDX,CAAC1jC,EAAOO,EAAQC,KAClC,MAAM,GAAEI,EAAE,SAAEgW,EAAQ,kBAAEqf,EAAoB,CAAEvU,UAAW,CAAC,IAAQlhB,GAC5DkhB,WAAa7Z,OAAQ8lB,IAAkBsI,GACvC1X,sBAAuB2nB,GAAatvB,EAExC,OAKO3W,GAAOD,EALTY,EAKgB,CACnBslC,SAAU,CAAE/lC,KAAM+lC,GAClBvY,YAAa,CAAExtB,KAAMwtB,GACrByY,gBAAiB,CAAEjmC,KAAMymC,GAAAA,GAA0BjZ,IAAgB,UACnE0Y,UAAW,CAAElmC,MAAM,GACnBmmC,OAAQ,CAAEnmC,MAAM,IATK,CACnBmmC,OAAQ,CAAEnmC,MAAM,MAiGpB,CAACmY,GAAAA,GAAkB0uB,YAAaP,GAChC,CAACnuB,GAAAA,GAAkB2uB,WAAYV,GAC/B,CAACjuB,GAAAA,GAAkB4uB,kBAAmBV,GACtC,CAACluB,GAAAA,GAAkB+uB,kBAAmBZ,GAEtC,CAAClxB,EAAAA,EAAcP,qBAvDOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,GAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,GAGL,mBAFH9iC,IAAK8iC,EAAG,UAAW,KAKvC,IAAK9zB,EACH,OAAOmkB,GAGT,MACI1I,sBAAuBC,GAAgB1b,EAE3C,OAAOhS,GAAOD,EAAO,CACnB2tB,YAAa,CAAExtB,KAAMwtB,GACrByY,gBAAiB,CAAEjmC,KAAMymC,GAAAA,GAA0BjZ,IAAgB,UACnE0Y,UAAW,CAAElmC,MAAM,OA8BV,SAAS,GAACH,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,6DCrKO,MAAMm2B,GAAa,oBAGxBC,GAAwB,CACtB3B,KAAM,MAERtxB,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IAsCtDS,GAAeA,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAE/Cv2B,GAAa,CACX,CAACC,GAAAA,GAAQ82B,OAAQC,GACjB,CAAC/2B,GAAAA,GAAQk6B,MAAOnD,GAChB,CAAC/2B,GAAAA,GAAQq3B,kBAAmBN,GAE5B,CAACpf,EAAAA,GAAuBuiB,MAAOnD,GAE/B,CAACjf,GAAAA,GAAgBoiB,MAAOnD,GAExB,CAAC9e,GAAAA,GAAoBiiB,MAAOnD,GAE5B,CAAC5e,GAAAA,GAAgB+hB,MAAOnD,GAExB,CAACxe,GAAAA,GAAoB2hB,MAAOnD,GAC5B,CAACve,GAAAA,GAAkB0hB,MAAOnD,GAE1B,CAACf,GAAAA,GAAgBkE,MAAOnD,GAExB,CAACthB,EAAAA,EAAcP,qBA3DOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,GAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAO9L,GAAAA,GAAeC,WAAWN,GAAYC,IAG/C,MAAQhb,WAAYC,GAAcinB,EAChCgF,EAAWvxB,IAAMsF,EAAYpJ,IAC3B,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,OACEgE,EAAQpR,QAAQ,iBAAmB,GACnCoR,EAAQpR,QAAQ,aAAe,GAC/BoR,EAAQpR,QAAQ,iBAAmB,GACnCoR,EAAQpR,QAAQ,sBAAwB,IAM9C,IAAKyiC,EACH,OAAO9Q,GAAAA,GAAeC,WAAWN,GAAYC,IAG/C,MAAMM,EAAW,CACfjC,KAAM6S,EAAS7S,MAMjB,OAFA8S,EAAAA,GAAAA,IAAWD,GACX9Q,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,IA2BI,SAAS,GAAC12B,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,2DChFO,MAAMm2B,GAAa,wBAGxBC,GAAwB,CACtBoR,MAAO,GACPC,aAAc,GACdC,UAAW,KACXC,SAAU,GACVC,aAAc,GACdC,gBAAiB,IAEnB1kC,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IAqDtDv2B,GAAa,CACX,CAACioC,GAAAA,GAAYlR,OALAC,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAI7C,CAAC7gB,EAAAA,EAAcP,qBAjDOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,GAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,GAIF,QAFH9iC,IAAK8iC,EAAG,cAAe,OAAS9iC,IAAK8iC,EAAG,0BAA2B,QAK1F,IAAK9zB,EACH,OAAOjS,EAGT,MACE,MACEwnC,EAAQ,GACRO,cAAeN,EAAe,GAC9BO,WAAYN,EAAY,KAAI,SAC5BC,EAAW,GACXM,cAAeL,EAAe,GAC9BM,iBAAkBL,EAAkB,IAClC51B,EAEN,MAtCOhS,EAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAmCAz2B,CAAOD,EAAO,CACnBwnC,MAAO,CAAErnC,KAAMqnC,GACfC,aAAc,CAAEtnC,KAAMsnC,GACtBC,UAAW,CAAEvnC,KAAMunC,GACnBC,SAAU,CAAExnC,KAAMk9B,KAAMsK,IACxBC,aAAc,CAAEznC,KAAMynC,GACtBC,gBAAiB,CAAE1nC,KAAM0nC,OAchB,SAAS,GAAC7nC,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,CAPAmD,GAAcglC,UAAYhlC,GAAcilC,K,qFCxEjC,MAAMjS,GAAa,qBAGxBC,GAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXogB,UAAW,GACX90B,MAAO,GACPF,MAAO,GACPwzB,OAAQ,GACRzzB,WAAY,GACZF,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAGfyC,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IACtDn2B,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAoET72B,GAAa,CACX,CAAC0Y,GAAAA,GAAqBqe,OALTC,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAK7C,CAACt2B,GAAAA,GAAQukC,QAvDSX,CAAC1jC,EAAOO,EAAQC,KAClC,MAAM,UAAEsY,GAActY,EAEtB,OAAOP,GAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,MAoDrB,CAAChZ,GAAAA,GAAQsiC,UAjDOhL,KAChBZ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAgD7C,CAACt2B,GAAAA,GAAQ+3B,SA9CMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,UACJ04B,EAAS,MACT90B,EAAK,MACLF,EAAK,OACLwzB,EAAM,WACNzzB,EAAU,SACVF,EAAQ,QACRC,EAAO,IACP2zB,GACEn3B,EAEJ,OAAOP,GAAOD,EAAO,CACnBk5B,UAAW,CAAE/4B,KAAM+4B,GACnB90B,MAAO,CAAEjE,KAAMiE,GACfF,MAAO,CAAE/D,KAAM+D,GACfwzB,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBF,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,MA2Bf,CAAC73B,GAAAA,GAAQk6B,MAxBIoD,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,UAAEsY,GAActY,EAEtB,OAAOP,GAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBpY,YAAa,CAAEP,KAAM,MAoBvB,CAACL,GAAAA,GAAQi4B,OAjBY/3B,GACdC,GAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,KAgBvB,CAACk3B,EAAAA,EAAgBzzB,6BA3ECo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,GAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAmEJ,SAAS,GAACH,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,4BChHO,MAAMm2B,GAAa,8BAEpBC,GAAwB,CAC5BiS,YAAa,EACbC,MAAO,GACPC,WAAY,IAGRplC,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IAO5D,QAAgBp2B,EAAQmD,GAAe5C,KACrC,MAAM,QAAEo1B,EAAU,CAAC,EAAC,KAAEr0B,GAASf,GACzB,MAAE+nC,EAAK,YAAED,EAAW,WAAEE,GAAe5S,EAC3C,OAAQr0B,GACN,KAAKxB,GAAAA,EAAQ0oC,iBACX,OAVU9R,EAUI,IACT12B,EACHqoC,cACAC,QACAC,cAbN/R,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,EAeL,KAAK52B,GAAAA,EAAQ2oC,mBAEX,OADAjS,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,IAE/C,QACE,OAAOp2B,EAtBG02B,KAwBf,W,gBClCM,MAAMP,GAAa,qCAEpBC,GAAwB,CAC5BsS,UAAW,GACXC,SAAS,EACTC,QAAS,GACTC,YAAa,GACb3oC,SAAS,EACT4oC,+BAAgC,MAG5B3lC,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IAEtDn2B,GAAUy2B,IACdF,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAGT,QAAgB12B,EAAQmD,GAAe5C,KACrC,OAAQA,EAAOe,MACb,KAAKxB,GAAAA,GAAQipC,sBACX,OAAO9oC,GAAO,IACTD,EACH0oC,UAAWnoC,EAAOo1B,QAAQ+S,UAC1BI,+BAAgC,KAChC5oC,SAAS,IAGb,KAAKJ,GAAAA,GAAQkpC,+BACX,OAAO/oC,GAAO,IACTD,EACH2oC,QAASpoC,EAAOo1B,QAAQgT,QACxBC,QAASroC,EAAOo1B,QAAQiT,QACxBC,YAAatoC,EAAOo1B,QAAQkT,YAC5B3oC,SAAS,IAGb,KAAKJ,GAAAA,GAAQmpC,oBACX,OAAOhpC,GAAO,IACTD,EACH8oC,+BAAgCvoC,EAAOo1B,QAAQn1B,KAAKsoC,iCAGxD,KAAKhpC,GAAAA,GAAQ82B,MAEX,OADAJ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,IAC/C,QACE,OAAOp2B,EAEZ,W,6DC7CM,MAAMm2B,GAAa,6BAGxBC,GAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,EACbyoC,YAAa,KACbC,UAAW,KACXpT,cAAe,KACfqT,eAAe,EACf/nC,KAAM,GACNN,KAAM,GACNiI,qBAAsB,IAGxB9F,GAAgBqzB,GAAAA,GAAeC,WAAWN,GAAYC,IACtDn2B,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAgFT72B,GAAa,CACX,CAAC0Y,GAAAA,GAAqBqe,OALTC,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAK7C,CAACt2B,GAAAA,GAAQwpC,gBAnEYC,CAACvpC,EAAOO,EAAQC,KACrC,MAAM,UAAEsY,EAAS,KAAE9X,EAAI,qBAAEiI,EAAoB,KAAE3H,GAASd,EAExD,OAAOP,GAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnB9X,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9B3H,KAAM,CAAEnB,KAAMmB,MA6DhB,CAACxB,GAAAA,GAAQsiC,UA1DOhL,KAChBZ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAyD7C,CAACt2B,GAAAA,GAAQ+3B,SA/BMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,GAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAqBjB,CAACtE,GAAAA,GAAQk6B,MAxDGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UACJsY,EAAS,aACTowB,EAAY,KACZloC,EAAI,qBACJiI,EAAoB,KACpB3H,EAAI,cACJ+nC,EAAa,YACbF,EAAW,UACXC,GACE5oC,EAEJ,OAAOP,GAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtBloC,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9B3H,KAAM,CAAEnB,KAAMmB,GACd+nC,cAAe,CAAElpC,KAAMkpC,GACvB3oC,YAAa,CAAEP,KAAM,GACrBgpC,YAAa,CAAEhpC,KAAMgpC,GACrBC,UAAW,CAAEjpC,KAAMipC,MAoCrB,CAACtpC,GAAAA,GAAQi4B,OAnBIqF,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,cAAEw1B,GAAkBx1B,EAC1B,OAAOP,GAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,GACrB61B,cAAe,CAAE71B,KAAM61B,MAgBzB,CAACqB,EAAAA,EAAgBzzB,6BAvFCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,GAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA+EJ,SAAS,GAACH,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,kDC/EA,IAAeuG,EAAAA,EAAAA,IAAgB,CAC7BijC,QAAO,GACPr6B,WAAU,GACV4D,UAAS,GACT02B,aAAY,KACZh6B,QAAO,GACPozB,mBAAkB,GAClB6G,IAAG,KACH9yB,SAAQ,KACRqf,kBAAiB,KACjB5qB,QAAO,GACPs+B,KAAI,KACJC,SAAQ,KACRC,cAAa,KACb7uB,QAAO,GACP8uB,SAAQ,KACRp2B,UAAS,KACT5H,UAAS,KACT6H,WAAU,KACVo2B,SAAQ,KACRC,QAAO,KACPvnC,KAAI,KACJyJ,IAAG,KACH+9B,YAAW,KACXC,yBAAwB,KACxBC,SAAQ,KACRr2B,aAAY,KACZG,QAAO,KACPrI,SAAQ,KACRC,QAAO,KACPu+B,MAAK,GACLr+B,SAAQ,KACRkG,MAAK,KACLo4B,KAAI,KACJ5V,KAAI,GACJ6V,aAAY,KACZC,SAAQ,KACRt+B,gBAAe,KACfu+B,SAAQ,GACRC,WAAU,KACV1e,gBAAe,KACfxX,cAAa,KACbyX,kBAAiB,KACjB0e,WAAU,KACVC,MAAK,GACLt2B,mBAAkB,KAClBu2B,YAAW,GACXC,sBAAqB,GACrB9oB,YAAW,KACX5O,0BAAyB,KACzB6iB,cAAa,GACblhB,OAAM,KACNg2B,mBAAkB,KAClBC,YAAW,KACXC,gCAA+BA,GAAAA,I,qBC3GjC,MAAM,sBAAEC,IAA0BC,GAAAA,EAC5B/nC,GAAgB,CACpB4X,MAAO,CAAC,EACRC,QAAS,CAAC,EACVmwB,mBAAoB,CAAC,EACrBxqB,UAAW,CAAC,EACZyqB,aAAc,CAAC,GAGXC,GAAYtwB,IAEhB,MAAMuwB,EAAqB,CACzB,eAAgB,SAChB,WAAY,SACZ,eAAgB,SAChB,kBAAmB,WACnB,cAAe,YAGjB,OAAOvwB,EAAMwwB,OAAO,CAACC,EAAY/W,KAC/B,MAAMgX,EAAcR,GAAsBxW,EAAM,gBAC1CiX,EAAQJ,EAAmBG,GASjC,OAPIC,EACFF,EAAWE,GAASjX,EAGpB+W,EAAWP,GAAsBxW,EAAM,YAAcA,EAGhD+W,GACN,CAAC,IAGAG,GAAkCR,GAC/BA,EAAmBI,OAAO,CAACK,EAAW31B,KAC3C,MAAMlB,EAAM9R,IAAKgT,EAAS,kCAAmC,IAC7D,GAAI21B,EAAU72B,GAAM,CAClB,MAAMxC,EAAOq5B,EAAU72B,GACrB82B,EAAmB5oC,IAAKsP,EAAM,mCAAoC,WAClEu5B,EAAe7oC,IAAKgT,EAAS,mCAAoC,WAEnE21B,EAAU72B,GAAO,CACf,CAAC82B,GAAmBt5B,EACpB,CAACu5B,GAAe71B,EAEpB,MACE21B,EAAU72B,GAAOkB,EAEnB,OAAO21B,GACN,CAAC,GAGS,SAAS,GAAC5rC,EAAQmD,GAAe5C,GAC9C,MAAM,SACJwrC,EAAQ,QACR/wB,EAAO,mBACPmwB,EAAkB,UAClBxqB,EAAS,aACTyqB,GACEnoC,IAAK1C,EAAQ,eAAgB,CAAC,GAElC,OAAQA,EAAOe,OACRxB,GAAAA,EAAQksC,wBACJ,IACFhsC,EACH+a,MAAOswB,GAASU,GAChB/wB,UACAmwB,mBAAoBQ,GAA+BR,GACnDxqB,YACAyqB,gBAIKprC,CAEb,C,SC7EA,MAAMmD,GAAgB,CAAC,EAER,SAAS,GAACnD,EAAQmD,GAAe5C,GAC9C,OAAQA,EAAOe,OACRxB,GAAAA,EAAQksC,wBACJ,IACFhsC,KACAiD,IAAK1C,EAAQ,wBAAyB,CAAC,IAIrCP,CAEb,CCMA,QAXoBuG,EAAAA,EAAAA,IAAgB,CAClCijC,QAAO,EACP1iC,UAAS,GACTiS,MAAK,GACLkzB,eAAc,GACd/2B,OAAM,GACNg3B,aAAY,GACZ/wB,QAAO,GACPgxB,qBAAoBA,I,sJCZf,MAAMhW,EAAa,sBAGxBiW,EAAW,CAAE,SAAU,gBACvBC,EAAiB,IAAI3sC,KAAK,KAAM,EAAG,GAAI,EAAG,EAAG,EAAG,GAAG0a,UAMnDjX,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAJlB,CACtBmW,WAAY,CAAC,EACblB,aAAc,CAAC,GAE4DiB,EALxD,OAMrBpsC,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAKI,SAAS,EAAC12B,EAAQmD,EAAe5C,GAC9C,OAAQA,EAAOe,MAEb,KAAKxB,EAAAA,EAAQmb,mBACX,OAAK1a,EAAOE,MAMLT,EALEC,EAAOD,EAAO,CACnBssC,WAAY,CAAEnsC,KAAMI,EAAOo1B,QAAQn1B,KAAKmgB,WACxCyqB,aAAc,CAAEjrC,KAAMI,EAAOo1B,QAAQn1B,KAAK4qC,gBAKhD,KAAKtrC,EAAAA,EAAQysC,wBAAyB,CACpC,MAAMC,EAAI,CACRF,WAAY,CAAC,GAGf,OAAK/rC,EAAOE,MAOLT,GANLmV,IAAS5U,EAAOo1B,QAAQn1B,KAAM,CAAC2V,EAAOs2B,KACpCD,EAAEF,WAAWG,GAAa,CAAEtsC,KAAMusC,IAAMv2B,EAAOi2B,MAG1CnsC,EAAOD,EAAOwsC,GAGzB,CAEA,KAAK1sC,EAAAA,EAAQ6sC,2BAA4B,CACvC,MAAMH,EAAI,CACRpB,aAAc,CAAC,GAGjB,OAAK7qC,EAAOE,MAcLT,UAbEO,EAAOo1B,QAAQn1B,KAAKY,cACpBb,EAAOo1B,QAAQn1B,KAAKosC,aAE3Bz3B,IAAS5U,EAAOo1B,QAAQn1B,KAAM,CAAC2V,EAAOs2B,KACpCD,EAAEpB,aAAaqB,GAAa,CAAEtsC,KAAMusC,IAAMv2B,EAAOi2B,MAG9CpsC,EAAMorC,eACTprC,EAAMorC,aAAe,CAAC,GAGjBnrC,EAAOD,EAAOwsC,GAGzB,CAEA,QACE,OAAOxsC,EAEb,CAtDAmD,EAAcioC,aAAejoC,EAAcioC,cAAgB,CAAC,E,6ECnBrD,MAAMjV,EAAa,4BAEpBC,EAAwB,CAC5BqB,YAAY,EACZnX,KAAM,CAAC,EACP2X,YAAa,iBACb4U,oBAAqB,GACrBC,gBAAiB,KACjB3U,UAAW,KACXC,UAAW,KACXC,mBAAoB,KACpBC,uBAAwB,KACxBC,wBAAwB,EACxBC,iBAAiB,EACjBC,UAAW,KACXC,QAAQ,EACRmC,QAAQ,EACRkS,iBAAiB,EACjBv/B,WAAY,GACZmrB,kBAAmB,KACnBC,oBAAqB,CAAC,EACtBC,mBAAoB,KACpBC,mBAAoB,CAAC,EACrBC,wBAAyB,GACzBrB,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,EACbuN,QAAS,IAGL9K,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GAEtDn2B,EAAUy2B,IACdF,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAGHyC,EAA+BA,CAACC,EAAgBC,KACpD,MAAMC,EAAcF,EAIpB,cAFOE,EAAYD,GAEZC,GAGT,KAAgBt5B,EAAQmD,EAAe5C,KACrC,OAAQA,EAAOe,MACb,KAAKxB,EAAAA,GAAQktC,UACX,OAAO/sC,EAAO,IACTD,EACHsgB,KAAM/f,EAAO+f,OAEjB,KAAKxgB,EAAAA,GAAQy5B,gBACX,OAAOt5B,EAAO,IACTD,EACHi4B,YAAa13B,EAAOi5B,eAGxB,KAAK15B,EAAAA,GAAQmtC,0BACX,OAAOhtC,EAAO,IACTD,EACH6sC,oBAAqBtsC,EAAOssC,sBAGhC,KAAK/sC,EAAAA,GAAQ25B,uBACX,OAAOx5B,EAAO,IACTD,EACHu4B,wBAAwB,IAG5B,KAAKz4B,EAAAA,GAAQ45B,4BACX,OAAOz5B,EAAO,IACTD,EACHo4B,UAAW73B,EAAO63B,UAClBG,wBAAwB,EACxBI,kBAAmBp4B,EAAOo4B,oBAG9B,KAAK74B,EAAAA,GAAQotC,gCACX,OAAOjtC,EAAO,IACTD,EACHmtC,uBAAwB5sC,EAAO4sC,yBAGnC,KAAKrtC,EAAAA,GAAQstC,sBACX,OAAOntC,EAAO,IACTD,EACHqtC,gBAAiB9sC,EAAO8sC,kBAG5B,KAAKvtC,EAAAA,GAAQwtC,kBACX,OAAOrtC,EAAO,IACTD,EACH8sC,gBAAiBvsC,EAAOusC,kBAG5B,KAAKhtC,EAAAA,GAAQ85B,YACX,OAAO35B,EAAO,IACTD,EACHm4B,UAAW53B,EAAO43B,YAGtB,KAAKr4B,EAAAA,GAAQ+5B,YACX,OAAIt5B,EAAO4G,QAAQvG,KAAOZ,EAAM44B,oBAAoBh4B,GAC3CX,EAAO,IACTD,EACH44B,oBAAqBr4B,EAAO4G,QAC5BkxB,mBAAoB93B,EAAO4G,QAAQ8B,qBACnC8jC,gBAAiBxsC,EAAO4G,QAAQ4lC,kBAG7B9sC,EAAO,IACTm2B,EACHqB,YAAY,EACZmB,oBAAqBr4B,EAAO4G,QAC5BkxB,mBAAoB93B,EAAO4G,QAAQ8B,qBACnC8jC,gBAAiBxsC,EAAO4G,QAAQ4lC,gBAChChU,wBAAyBx4B,EAAO4G,QAAQvG,GACxCisC,oBAAoB7sC,EAAM6sC,sBAI9B,KAAK/sC,EAAAA,GAAQg6B,yBACX,OAAO75B,EAAO,IACTD,EACHq4B,mBAAoB93B,EAAOC,KAAKu5B,iBAChC9rB,QAAS1N,EAAOC,KAAKyN,QAErB6qB,mBAAoB,CAAC,IAGzB,KAAKh5B,EAAAA,GAAQk6B,KACX,OAAO/5B,EAAO,IACTD,EACHy3B,YAAY,IAGhB,KAAK33B,EAAAA,GAAQm6B,sBACX,OAAOh6B,EAAO,IACTD,EACHq4B,mBAAoB93B,EAAO83B,oBAAsBr4B,EAAMq4B,mBACvDC,uBAAwB/3B,EAAO25B,mBAGnC,KAAKp6B,EAAAA,GAAQq6B,yBACX,OAAOl6B,EAAO,IACTD,EACH64B,mBAAoBt4B,EAAO65B,cAG/B,KAAKt6B,EAAAA,GAAQytC,kCACX,OAAOttC,EAAO,IACTD,EACHiO,QAAS1N,EAAO0N,UAGpB,KAAKnO,EAAAA,GAAQu6B,YACX,OAAOp6B,EAAO,IACTD,EACH84B,mBAAoBK,EAA6Bn5B,EAAM84B,mBAAoBv4B,EAAO84B,aAGtF,KAAKv5B,EAAAA,GAAQw6B,UACX,OAAOr6B,EAAO,IACTD,EACH84B,mBAAoB,IACf94B,EAAM84B,mBACT,CAACv4B,EAAO84B,WAAY94B,EAAOg6B,qBAIjC,KAAKz6B,EAAAA,GAAQ06B,iBACX,OAAOv6B,EAAO,IACTD,EACHw4B,gBAAiBj4B,EAAOk6B,eAG5B,KAAK36B,EAAAA,GAAQ0tC,YACX,OAAOvtC,EAAO,IACTD,EACH04B,OAAQn4B,EAAOm4B,SAGnB,KAAK54B,EAAAA,GAAQ46B,eACX,OAAOz6B,EAAO,IACTD,EACHy4B,UAAWl4B,EAAOk4B,UAClBjrB,WAAYjN,EAAOiN,WACnBkrB,OAAQn4B,EAAOm4B,SAGnB,KAAK54B,EAAAA,GAAQ2tC,YACX,OAAOxtC,EAAO,IACTD,EACH66B,OAAQt6B,EAAOs6B,SAGnB,KAAK/6B,EAAAA,GAAQ4X,sBACX,OAAKnX,EAAOE,MAMLT,EALEC,EAAO,IACTm2B,EACH2C,wBAAyB/4B,EAAM+4B,0BAKrC,KAAKj5B,EAAAA,GAAQ+3B,QACX,OAAO53B,EAAO,IACTD,EACH03B,OAAQn3B,EAAOo1B,QAAQn1B,KAAKk3B,OAC5BwB,UAAW34B,EAAOo1B,QAAQn1B,KAAK04B,UAC/Bn1B,SAAUxD,EAAOo1B,QAAQn1B,KAAKuD,SAC9BC,QAASzD,EAAOo1B,QAAQn1B,KAAKwD,QAC7B2zB,IAAKp3B,EAAOo1B,QAAQn1B,KAAKm3B,IACzBzzB,MAAO3D,EAAOo1B,QAAQn1B,KAAK0D,MAC3BE,MAAO7D,EAAOo1B,QAAQn1B,KAAK4D,QAG/B,KAAKmU,EAAAA,GAAqBqe,MACxB,OAAO32B,EAAOm2B,GAEhB,QACE,OAAOp2B,EAEZ,Y,uKCpOM,MAAMm2B,EAAa,mBAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,EACb2oC,eAAe,EACf/nC,KAAM,GACNN,KAAM,GACNiI,qBAAsB,IAGxB9F,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA4DT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAI7C,CAACt2B,EAAAA,GAAQsiC,UA9COhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IA6C7C,CAACt2B,EAAAA,GAAQ+3B,SAtBMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAYjB,CAACtE,EAAAA,GAAQk6B,MA5CGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UACJsY,EAAS,aACTowB,EAAY,KACZloC,EAAI,qBACJiI,EAAoB,KACpB3H,EAAI,cACJ+nC,GACE7oC,EAEJ,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtBloC,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9B3H,KAAM,CAAEnB,KAAMmB,GACd+nC,cAAe,CAAElpC,KAAMkpC,GACvB5R,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,MA2BvB,CAACk3B,EAAAA,EAAgBzzB,6BA/DCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAuDJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,uKCrGO,MAAMm2B,EAAa,gCAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,EACb2oC,eAAe,EACf/nC,KAAM,GACNN,KAAM,GACNiI,qBAAsB,IAGxB9F,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA8DT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAI7C,CAACt2B,EAAAA,GAAQsiC,UAhDOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IA+C7C,CAACt2B,EAAAA,GAAQ+3B,SAtBMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAYjB,CAACtE,EAAAA,GAAQk6B,MA9CGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UACJsY,EAAS,aACTowB,EAAY,KACZloC,EAAI,qBACJiI,EAAoB,KACpB3H,EAAI,cACJ+nC,EAAa,cACbqE,GACEltC,EAEJ,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnB40B,cAAe,CAAEvtC,KAAMutC,GACvBxE,aAAc,CAAE/oC,KAAM+oC,GACtBloC,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9B3H,KAAM,CAAEnB,KAAMmB,GACd+nC,cAAe,CAAElpC,KAAMkpC,GACvB5R,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,MA2BvB,CAACk3B,EAAAA,EAAgBzzB,6BAjECo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAyDJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,uRChGO,MAAMm2B,EAAa,mBAGxBC,EAAwB,CACtBuX,mBAAoB,GACpBC,sBAAuB,GACvBC,kBAAmB,KACnBC,eAAgB,KAChBC,iBAAiB,EACjBhpB,QAAS,KACT0iB,aAAc,KACdvmC,YAAa,GACbR,YAAa,EACbstC,SAAS,EACTC,gBAAgB,GAElB9qC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAsBTwX,EAA0BA,CAACluC,EAAOO,EAAQC,KACxC,MAAM,mBAAEmtC,EAAkB,sBAAEC,GAA0BptC,EACtD,OAAOP,EAAOD,EAAO,CACnB2tC,mBAAoB,CAAExtC,KAAMwtC,GAC5BC,sBAAuB,CAAEztC,KAAMk9B,IAAMuQ,OAGzCO,EAA2BA,CAACnuC,EAAOO,EAAQC,KACzC,MAAM,kBAAEqtC,GAAsBrtC,EAC9B,OAAOP,EAAOD,EAAO,CACnB6tC,kBAAmB,CAAE1tC,KAAM0tC,MAG/BO,EAAwBA,CAACpuC,EAAOO,EAAQC,KACtC,MAAM,eAAEstC,GAAmBttC,EAC3B,OAAOP,EAAOD,EAAO,CACnB8tC,eAAgB,CAAE3tC,KAAM2tC,MAG5BtO,EAAiBA,CAACx/B,EAAOO,EAAQC,KAC/B,MAAM,QAAEukB,GAAYvkB,EACpB,OAAOP,EAAOD,EAAO,CACnB+kB,QAAS,CAAE5kB,KAAM4kB,MAGrBspB,EAAsBA,CAACruC,EAAOO,EAAQC,KACpC,MAAM,aAAEinC,GAAiBjnC,EACzB,OAAOP,EAAOD,EAAO,CACnBynC,aAAc,CAAEtnC,KAAMsnC,MAG1B6G,EAAqBA,CAACtuC,EAAOO,EAAQC,KACnC,MAAM,kBAAEqtC,EAAiB,mBAAEF,EAAkB,sBAAEC,EAAqB,eAAEE,EAAc,QAAE/oB,EAAO,aAAE0iB,GAAiBjnC,EAEhH,OAAOP,EAAOD,EAAO,CACnB6tC,kBAAmB,CAAE1tC,KAAM0tC,GAC3BF,mBAAoB,CAAExtC,KAAMwtC,GAC5BC,sBAAuB,CAAEztC,KAAMytC,GAC/BE,eAAgB,CAAE3tC,KAAM2tC,GACxB/oB,QAAS,CAAE5kB,KAAM4kB,GACjB0iB,aAAc,CAAEtnC,KAAMsnC,MA2F1B5nC,EAAa,CACX,CAACC,EAAAA,GAAQ82B,OALIC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAI7C,CAACt2B,EAAAA,GAAQq3B,kBAVOC,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAU7C,CAACoO,EAAAA,GAAiB+J,aAAcJ,EAChC,CAAC3J,EAAAA,GAAiBgK,cAAeN,EACjC,CAAC1J,EAAAA,GAAiBiK,YAAaL,EAC/B,CAAC5J,EAAAA,GAAiBjF,UAAWC,EAC7B,CAACgF,EAAAA,GAAiBkK,eAAgBL,EAClC,CAAC7J,EAAAA,GAAiBmK,gBAAiBL,EACnC,CAAC9J,EAAAA,GAAiBzM,OAnFLqF,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,YAAEU,EAAW,cAAEmoC,GAAgB,EAAK,GAAEzoC,EAAK,IAAOJ,EAExD,OAAOP,EAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMe,GACrB6sC,gBAAiB,CAAE5tC,OAAQS,GAAMyoC,IAAiB,MAgFpD,CAAC/xB,EAAAA,GAAqBs3B,iBAAkBT,EACxC,CAAC72B,EAAAA,GAAqBu3B,kBAAmBX,EACzC,CAAC52B,EAAAA,GAAqBw3B,gBAAiBV,EACvC,CAAC92B,EAAAA,GAAqBy3B,cAAevP,EACrC,CAACloB,EAAAA,GAAqB03B,mBAAoBX,EAC1C,CAAC/2B,EAAAA,GAAqB23B,oBAAqBX,EAC3C,CAACh3B,EAAAA,GAAqB43B,WA1GGC,CAACnvC,EAAOO,EAAQC,KACzC,MAAM,eAAEstC,EAAc,QAAE/oB,EAAO,aAAE0iB,GAAiBjnC,EAElD,OAAOP,EAAOD,EAAO,CACnB8tC,eAAgB,CAAE3tC,KAAM2tC,GACxB/oB,QAAS,CAAE5kB,KAAM4kB,GACjB0iB,aAAc,CAAEtnC,KAAMsnC,GACtBuG,QAAS,CAAE7tC,MAAM,MAoGnB,CAACmX,EAAAA,GAAqB83B,UAjGPC,CAACrvC,EAAOO,EAAQC,IACxBP,EAAOD,EAAO,CACnBguC,QAAS,CAAE7tC,KAAMK,KAiGnB,CAACoX,EAAAA,GAAgBysB,QA5KCX,CAAC1jC,EAAOO,EAAQC,KAClC,MAAM,GAAEI,EAAE,UAAE0uC,GAAc9uC,EAE1B,IAAKI,EACH,OAAI0uC,GACF9Y,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAExCp2B,EAGT,MACE,QAAEqL,GAAY7K,GACd,YAAEU,GAAgBmK,GAAW,CAAC,EAEhC,OAAOpL,EAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMe,GACrB6sC,gBAAiB,CAAE5tC,MAAM,MA6J3B,CAACoV,EAAAA,EAAcP,qBAtFOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCiN,EAAkBx5B,IAAMsF,EAAYpJ,GAEf,4BADHhP,IAAKgP,EAAO,UAAW,KAGzCu9B,EAAgBz5B,IAAMsF,EAAYpJ,IAChC,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,MAAmB,kBAAZgE,GAA2C,mBAAZA,IAExCg4B,EAAiB5yB,EAAUo0B,KAAK,EAAGx5B,UAAU,MAAkBA,EAAQ9I,SAAS,sBAChF8Q,EAAYsxB,GAAmBtsC,IAAKusC,EAAe,WAAY,MAEjE,IAAKvxB,EACH,OAAOje,EAGT,MACE8F,EAAU,CAAC,GACT+c,cAAeC,EAAe,CAAC,EAAG9a,MAAO9G,EAAc,IAAO+c,GAE9DyxB,YAAa7B,EAAoB,KACjC8B,YAAahC,EAAqB,KAClCiC,eAAgBhC,EAAwB,GACxCiC,gBAAiB9qB,EAAU,KAC3BgjB,cAAeN,EAAe,KAC9BqI,gBAAiBhC,EAAiB,EAClCiC,iBAAkBhC,GAAkB,GAClCjrB,EAaN,OAXA7c,IAAQH,EAAS,CACf5E,YAAa,CAAEf,KAAMe,GACrB6jB,QAAS,CAAE5kB,KAAM4kB,GACjB8oB,kBAAmB,CAAE1tC,KAAM0tC,GAC3BF,mBAAoB,CAAExtC,KAAMwtC,GAC5BC,sBAAuB,CAAEztC,KAAMytC,GAC/BnG,aAAc,CAAEtnC,KAAMsnC,GACtBqG,eAAgB,CAAE3tC,KAAM6vC,IAAWlC,GAAkBA,EAAiB,GACtEC,gBAAiB,CAAE5tC,KAAM4tC,GACzBE,eAAgB,CAAE9tC,KAAM8tC,KAEnBhuC,EAAOD,EAAO8F,KAsCV,SAAS,EAAC9F,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,g0BC9JO,MAAMm2B,GAAa,wBAGxBC,GAAwB,CACtBh1B,OAAQ,aACRR,GAAI,GACJqvC,sBAAsB,EACtBC,kBAAmB,GACnB5uC,KAAM,GACN6uC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVC,oBAAoB,EACpBtvC,KAAM,GACNuvC,UAAW,GACXpkC,YAAa,GACbmS,WAAY,GACZpd,YAAa,GACb0d,eAAgB,KAChB3V,qBAAsB,GACtBunC,yBAA0B,GAC1BjyB,sBAAuB,GACvBkyB,0BAA2B,GAC3B/xB,qBAAsB,GACtBgyB,yBAA0B,CAAC,EAC3B5xB,wBAAyB,KACzBE,mBAAoB,GACpB/Q,QAAS,GACTe,iBAAkB,GAClBC,cAAe,GACf0hC,oBAAqB,KACrBv0B,iBAAkB,GAClBw0B,oBAAqB,KACrBC,gBAAgB,EAChBC,kBAAkB,EAClBC,gBAAgB,EAChBC,kBAAkB,EAClBC,iBAAkB,KAClBC,sBAAuB,KACvBC,iBAAkB,KAClBC,mBAAoB,KACpBC,eAAgB,KAChBC,oBAAoB,EACpB7lC,oBAAqB,KACrB/K,YAAa,EACbkO,aAAa,EACb2iC,gBAAiB,GACjBC,iBAAkB,KAClBC,eAAgB,KAChBC,qBAAsB,IAExBvuC,GAAgB8C,IAAQuwB,GAAAA,GAAeC,WAAWN,GAAYC,IAAwB,CAAE0a,kBAAkB,IAC1Ga,GAAgBx7B,IACd,MAAMy7B,EAAQ77B,IAAM87B,GAAAA,GAAWC,GACtBA,EAAO37B,QAAUA,GAE1B,OAAOy7B,EAAQA,EAAMG,MAAQ,IAE/B9xC,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAETsb,GAA8BA,CAAChyC,EAAOO,EAAQC,KAC5C,MAAM,qBAAEyI,GAAyBzI,EAC/BgwC,EAA2BmB,GAAa1oC,GAE1C,OAAOhJ,GAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCjyB,sBAAuB,CAAEpe,KAAM8I,GAC/BwnC,0BAA2B,CAAEtwC,KAAMqwC,GACnC5xB,eAAgB,CAAEze,MAAM,MAkK5BgjC,GAA6BA,CAACnjC,EAAOO,EAAQC,KAC3C,MAAM,YAAEU,GAAgBV,EACxB,OAAOP,GAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMk9B,IAAMn8B,OAe/B+wC,GAA6BA,CAACjyC,EAAOO,EAAQC,KAC3C,MAAM,YAAE2L,GAAgB3L,EACxB,OAAOP,GAAOD,EAAO,CACnBmM,YAAa,CAAEhM,KAAMk9B,IAAMlxB,OAG/B+lC,GAAgCA,CAAClyC,EAAOO,EAAQC,KAC9C,MAAM,oBAAE2xC,GAAwB3xC,EAChC,OAAOP,GAAOD,EAAO,CACnBmM,YAAa,CAAEhM,KAAMk9B,IAAM8U,OAG/BzO,GAAoBA,CAAC1jC,EAAOO,EAAQC,KAClC,MAAM,GAAEI,EAAE,kBAAEsvC,EAAoB,GAAE,MAAEkC,EAAK,aAAEC,GAAiB7xC,GACxDI,GAAI0xC,EAAK,OAAElxC,GAAWpB,EAE1B,IAAKY,EACH,OAAI0xC,IAAUD,EACG,eAAXjxC,GAA4BgxC,GAGhC5b,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAHpCp2B,EAKJC,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAM,IACZ+vC,kBAAmB,CAAE/vC,KAAM,MAI/B,MACE,SAAEyW,GAAapW,GACf,KAAEc,EAAI,KAAEN,EAAI,UAAEuvC,EAAS,WAAEjyB,EAAU,YAAEnS,EAAW,YAAEjL,EAAW,sBAAEqd,EAAwB,GAAE,qBAAEtV,EAAoB,qBAAEyV,EAAuB,GAAE,mBAAEM,EAAqB,GAAE,QAAE/Q,EAAU,GAAE,iBAAEe,EAAgB,cAAEC,GAAkB2H,EACvN65B,EAA4B7vC,EAAK+wC,GAAapzB,GAAyB,GACvEiyB,EAA2B5vC,EAAK+wC,GAAa1oC,GAAwB,GACrEynC,EAA2B9vC,EAAKqG,IAAQyX,EAAsB,CAACjM,EAAS8/B,KACtE9/B,EAAQ8/B,GAAuBZ,GAAaY,GACrC9/B,GACN,CAAC,GAAK,GAEX,OAAOxS,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMS,GACZsvC,kBAAmB,CAAE/vC,KAAM+vC,GAC3B9uC,OAAQ,CAAEjB,KAAM,cAChBmB,KAAM,CAAEnB,KAAMmB,GACdN,KAAM,CAAEb,KAAMa,GACduvC,UAAW,CAAEpwC,KAAMowC,GACnBjyB,WAAY,CAAEne,KAAMme,GACpBnS,YAAa,CAAEhM,KAAMk9B,IAAMlxB,IAC3BjL,YAAa,CAAEf,KAAMk9B,IAAMn8B,IAC3Bqd,sBAAuB,CAAEpe,KAAMoe,GAC/BkyB,0BAA2B,CAAEtwC,KAAMswC,GACnCxnC,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClC9xB,qBAAsB,CAAEve,KAAMue,GAC9B8zB,wBAAyB,CAAEryC,KAAMuwC,GACjC9xB,eAAgB,CAAEze,KAAMoe,IAA0BtV,GAClD+V,mBAAoB,CAAE7e,KAAM6e,GAC5B/Q,QAAS,CAAE9N,KAAM8N,GAMjBe,iBAAkB,CAAE7O,KAA2B,IAArB6O,EAAyB,GAAK,GAAGA,KAC3DC,cAAe,CAAE9O,KAAwB,KAAlB8O,EAAuB,GAAK,IAAIA,QAG3DwjC,GAAsBA,CAACzyC,EAAOO,EAAQC,KACpC,MAAM,KAAEQ,EAAI,UAAEuvC,EAAY,IAAO/vC,EACjC,OAAOP,GAAOD,EAAO,CACnBgB,KAAM,CAAEb,KAAMk9B,IAAMr8B,IACpBuvC,UAAW,CAAEpwC,KAAMowC,MAGvBmC,GAA4BA,CAAC1yC,EAAOO,EAAQC,KAC1C,MAAM,WAAE8d,GAAe9d,EAEvB,OAAOP,GAAOD,EAAO,CACnBse,WAAY,CACVne,KAAM4F,IAAKuY,EAAaq0B,GACfA,EAAYtV,IAAMsV,GAAa,QAK9CC,GAAsBA,CAAC5yC,EAAOO,EAAQC,KACpC,MAAM,KAAEc,EAAI,QAAE8uC,GAAU,GAAU5vC,GAC9Bc,KAAMuxC,GAAa7yC,EAEvB,OACSC,GAAOD,EADZsB,IAASuxC,EACU,CACnBvxC,KAAM,CAAEnB,KAAMmB,GACd8uC,QAAS,CAAEjwC,KAAMiwC,GACjBG,UAAW,CAAEpwC,KAAM,KAGF,CACnBmB,KAAM,CAAEnB,KAAMmB,GACd8uC,QAAS,CAAEjwC,KAAMiwC,MAGrB0C,GAAuBA,CAAC9yC,EAAOO,EAAQC,KACrC,MAAM,qBAAEyI,EAAuBjJ,EAAMiJ,qBAAoB,KAAEjI,EAAOhB,EAAMgB,KAAI,KAAEM,EAAOtB,EAAMsB,KAAI,eAAEsd,EAAiB5e,EAAM4e,eAAc,aAAEiP,EAAe,MAASrtB,EAC9JgwC,EAA2BvnC,EAAuB0oC,GAAa1oC,GAAwB,GAEzF,OAAOhJ,GAAOD,EAAO,CACnBsB,KAAM,CAAEnB,KAAMmB,GACd2H,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCjyB,sBAAuB,CAAEpe,KAAM8I,GAC/BwnC,0BAA2B,CAAEtwC,KAAMqwC,GACnC5xB,eAAgB,CAAEze,KAAMye,GACxB5d,KAAM,CAAEb,KAAM0tB,EAAewP,IAAMxP,GAAgBwP,IAAMr8B,OAG7D+xC,GAA6BA,CAAC/yC,EAAOO,EAAQC,KAC3C,MACE,YACEwiC,GAAc,EAAK,MACnBh6B,EAAQ,GAAE,UACVpH,EAAY,GAAE,WACdE,EAAa,GAAE,SACfE,EAAW,GAAE,OACbC,EAAS,GAAE,YACXG,EAAc,GAAE,aAChBkG,EAAe,GAAE,aACjBC,EAAe,GAAE,KACjBX,EAAO,GACP5H,MAAOof,EAAY,GAAE,QACrB/W,EAAU,GAAE,QACZN,EAAU,KAAI,MACdjH,EAAQ,GAAE,YACVI,EAAc,IACZV,GAAQ,CAAC,EAEf,GAAkC,OAA9BR,EAAMyL,oBAA8B,CACtC,MAAMJ,EAAU,CACd23B,cACAphC,UAAWy7B,IAAMz7B,GACjBE,WAAYu7B,IAAMv7B,GAClBE,SAAUq7B,IAAMr7B,GAChBC,SACAG,YAAai7B,IAAMj7B,GACnBkG,aAAc+0B,IAAM/0B,GACpBC,aAAc80B,IAAM90B,GACpBX,KAAMy1B,IAAMz1B,GACZ5H,MAAOof,EACP/W,UACAN,QAASs1B,IAAMt1B,GACfjH,MAAOu8B,IAAMv8B,GACbI,cACA8H,MAAOq0B,IAAMr0B,IAGf,OAAO/I,GAAOD,EAAO,CACnByL,oBAAqB,CAAEtL,KAAMkL,IAEjC,CAEA,MAAMvF,EAAU,CACdk9B,YAAa,CAAE7iC,KAAM6iC,GACrBphC,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAM8B,GAChBG,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BkG,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpB5H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBjH,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMe,GACrB8H,MAAO,CAAE7I,KAAMk9B,IAAMr0B,KAEvB,OAAO/I,GAAOD,EAAO,CACnByL,oBAAqB3F,KAqFzBs3B,GAAeA,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,cAAE6oC,GAAgB,EAAK,GAAEzoC,EAAK,GAAE,kBAAEsvC,EAAoB,GAAE,KAAE5uC,EAAO,GAAE,qBAAE2H,EAAoB,KAAEjI,EAAI,SAAEqvC,GAAW,EAAK,mBAAEC,GAAqB,EAAK,QAAEF,GAAU,EAAK,MAAED,GAAQ,EAAK,YAAEvhC,GAAc,GAAUpO,EACvMwyC,EAAc,SAAT1xC,EAAkB,GAAMA,GAAQtB,EAAMsB,KAC3C2xC,EAA8B,SAAzBhqC,EAAkC,GAAMA,GAAwBjJ,EAAMiJ,qBAC3EiqC,EAASvB,GAAasB,GAC5B,GAAI5J,EAAe,CACjB,MAAM3S,EAAWzwB,IAAQ,CAAC,EAAGmwB,GAAuB,CAClDh1B,OAAQ,aACRR,KACAsvC,oBACA5uC,KAAM0xC,EACNz0B,sBAAuB00B,EACvBxC,0BAA2ByC,EAC3BjqC,qBAAsBgqC,EACtBzC,yBAA0B0C,EAC1Bt0B,gBAAgB,EAChB5d,KAAMA,GAAQhB,EAAMgB,KACpBqvC,WACAC,qBACAF,UACAD,QACAvhC,gBAGF,OADA4nB,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,CACT,CACA,OAAOz2B,GAAOD,EAAO,CACnBoB,OAAQ,CAAEjB,KAAM,cAChBS,GAAI,CAAET,KAAMS,GAAM,IAClBsvC,kBAAmB,CAAE/vC,KAAM,IAC3BmB,KAAM,CAAEnB,KAAM6yC,GACd3C,SAAU,CAAElwC,KAAMkwC,GAClBC,mBAAoB,CAAEnwC,KAAMmwC,GAC5BF,QAAS,CAAEjwC,KAAMiwC,GACjBD,MAAO,CAAEhwC,KAAMgwC,GACf5xB,sBAAuB,CAAEpe,KAAM8yC,GAC/BxC,0BAA2B,CAAEtwC,KAAM+yC,GACnCjqC,qBAAsB,CAAE9I,KAAM8yC,GAC9BzC,yBAA0B,CAAErwC,KAAM+yC,MAC/B3yC,EAAOe,OAAS+W,EAAAA,GAAoB2hB,MAAQ,CAAEpb,eAAgB,CAAEze,MAAM,IACzEa,KAAM,CAAEb,KAAMa,GAAQhB,EAAMgB,MAC5B4N,YAAa,CAAEzO,KAAMyO,MAGzBukC,GAA0BA,CAACnzC,EAAOO,EAAQC,KACxC,MAAM,UAAEsY,EAAS,qBAAE7P,EAAoB,KAAE3H,EAAI,KAAEN,GAASR,EACtDoO,EAAuB,gBAAT5N,EACdkyC,EAASvB,GAAa1oC,GACxB,OAAOhJ,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAM2Y,GACZ1X,OAAQ,CAAEjB,KAAM,cAChB8I,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAM+yC,GAClC30B,sBAAuB,CAAEpe,KAAM8I,GAC/BwnC,0BAA2B,CAAEtwC,KAAM+yC,GACnC5xC,KAAM,CAAEnB,KAAMmB,GACdsN,YAAa,CAAEzO,KAAMyO,MA6BzBwkC,GAAgBA,CAACpzC,EAAOO,EAAQC,KAC9B,MAAM,OAAEY,GAAWZ,EAEnB,OAAOP,GAAOD,EAAO,CACnBoB,OAAQ,CAAEjB,KAAMiB,GAAU,iBAG9BiyC,GAAyBrzC,GAChBC,GAAOD,EAAO,CACnBoB,OAAQ,CAAEjB,KAAM,cA+RpBmzC,GAA6BA,CAACtzC,EAAOO,EAAQC,IACvCD,EAAOE,MACFT,EAEFC,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMK,EAAK4G,wBAGrByvB,GAAeA,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAyF/Cv2B,GAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,GACjB,CAAC/2B,EAAAA,GAAQi3B,gBAAiBoM,GAC1B,CAACrjC,EAAAA,GAAQskC,cAAejB,GACxB,CAACrjC,EAAAA,GAAQ6/B,SAjvBeC,CAAC5/B,EAAOO,EAAQC,KACxC,MAAM,iBAAE4b,GAAqB5b,EAC7B,OAAOP,GAAOD,EAAO,CACnBoc,iBAAkB,CAAEjc,KAAMic,MA+uB5B,CAACtc,EAAAA,GAAQukC,QAASX,GAClB,CAAC5jC,EAAAA,GAAQyzC,UAAWd,GACpB,CAAC3yC,EAAAA,GAAQ0zC,gBAAiBf,GAC1B,CAAC3yC,EAAAA,GAAQ2zC,UAAWb,GACpB,CAAC9yC,EAAAA,GAAQ4zC,gBAAiBd,GAC1B,CAAC9yC,EAAAA,GAAQ4X,uBAAwB47B,GACjC,CAACxzC,EAAAA,GAAQ6zC,aAtWcC,CAAC5zC,EAAOO,EAAQC,KACvC,MAAM,YAAEmtB,GAAgBntB,EAExB,OAAOP,GAAOD,EAAO,CACnBuxC,gBAAiB,CAAEpxC,KAAMwtB,MAmW3B,CAAC7tB,EAAAA,GAAQ+zC,gBAhWgBC,CAAC9zC,EAAOO,EAAQC,KACzC,MAAM,YAAEmtB,GAAgBntB,EAExB,OAAOP,GAAOD,EAAO,CACnBuxC,gBAAiB,CAAEpxC,KAAMwtB,MA6V3B,CAAC7tB,EAAAA,GAAQi0C,SAAU/B,GACnB,CAAClyC,EAAAA,GAAQk0C,eAAgBhC,GACzB,CAAClyC,EAAAA,GAAQqnC,YAhjBW8M,CAACj0C,EAAOO,EAAQC,KACpC,MAAM,SAAEoW,EAAW,MAASpW,EAE5B,IAAKoW,EACH,OAAO3W,GAAOD,EAAO,CACnBoB,OAAQ,CAAEjB,KAAM,gBAIpB,MAAM,qBAAE8I,EAAoB,KAAE3H,EAAI,QAAE8uC,GAAU,GAAUx5B,EAExD,OAAO3W,GAAOD,EAAO,CACnBoB,OAAQ,CAAEjB,KAAM,cAChBoe,sBAAuB,CAAEpe,KAAM8I,GAC/BwnC,0BAA2B,CAAEtwC,KAAMwxC,GAAa1oC,IAChDA,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMwxC,GAAa1oC,IAC/C2V,eAAgB,CAAEze,MAAM,GACxBmB,KAAM,CAAEnB,KAAMmB,GACd8uC,QAAS,CAAEjwC,KAAMiwC,GACjBkB,mBAAoB,CAAEnxC,MAAM,MA6hB9B,CAACL,EAAAA,GAAQsnC,YAAa4K,GACtB,CAAClyC,EAAAA,GAAQo0C,qBAhZeC,CAACn0C,EAAOO,EAAQC,KACxC,MAAM,iBAAEywC,GAAqBzwC,EAC7B,OAAOP,GAAOD,EAAO,CACnBixC,iBAAkB,CAAE9wC,KAAM8wC,GAC1BK,mBAAoB,CAAEnxC,MAAM,GAC5BgxC,iBAAkB,CAAEhxC,KAAM,MAC1BixC,mBAAoB,CAAEjxC,KAAM,MAC5B+wC,sBAAuB,CAAE/wC,KAAM,MAC/BkxC,eAAgB,CAAElxC,KAAM,SAyY1B,CAACL,EAAAA,GAAQs0C,iBA5XoBC,CAACr0C,EAAOO,EAAQC,KAC7C,MAAM,sBAAE0wC,GAA0B1wC,EAClC,OAAOP,GAAOD,EAAO,CACnBkxC,sBAAuB,CAAE/wC,KAAM+wC,GAC/BI,mBAAoB,CAAEnxC,MAAM,MAyX9B,CAACL,EAAAA,GAAQw0C,YAvYeC,CAACv0C,EAAOO,EAAQC,KACxC,MAAM,iBAAE2wC,GAAqB3wC,EAC7B,OAAOP,GAAOD,EAAO,CACnBmxC,iBAAkB,CAAEhxC,KAAMgxC,GAC1BG,mBAAoB,CAAEnxC,MAAM,GAC5BixC,mBAAoB,CAAEjxC,KAAM,MAC5B+wC,sBAAuB,CAAE/wC,KAAM,MAC/BkxC,eAAgB,CAAElxC,KAAM,SAiY1B,CAACL,EAAAA,GAAQ00C,cAvXaC,CAACz0C,EAAOO,EAAQC,KACtC,MAAM,eAAE6wC,GAAmB7wC,EAC3B,OAAOP,GAAOD,EAAO,CACnBqxC,eAAgB,CAAElxC,KAAMkxC,GACxBC,mBAAoB,CAAEnxC,MAAM,GAC5B+wC,sBAAuB,CAAE/wC,KAAM,SAmXjC,CAACL,EAAAA,GAAQ40C,eA1bYC,CAAC30C,EAAOO,EAAQC,KACrC,MAAM,KAAEQ,EAAI,YAAE4zC,EAAW,qBAAE3rC,GAAyBzI,EACpD,OAAOP,GAAOD,EAAO,CACnBgB,KAAM,CAAEb,KAAMa,GACdM,KAAM,CAAEnB,KAAMy0C,GACd3rC,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMwxC,GAAa1oC,OAqbjD,CAACnJ,EAAAA,GAAQk6B,MAAOoD,GAChB,CAACt9B,EAAAA,GAAQq3B,kBAzkBOC,KAChBZ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAykB7C,CAAC/e,EAAAA,GAAYw9B,SAAUnC,GACvB,CAACr7B,EAAAA,GAAYy9B,UAAW7C,GACxB,CAAC56B,EAAAA,GAAYk8B,UAAWd,GACxB,CAACp7B,EAAAA,GAAY09B,UAAWhC,GACxB,CAACiC,GAAAA,GAAgBpuC,wBApHWC,CAAC7G,EAAOO,EAAQC,KAC5C,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,UAAE8G,GAActG,EAChB2G,EAAUL,EAAUmuC,KAAMC,GACvBA,EAAE9tC,uBAAyBpH,EAAMY,IAG1C,OAAOX,GAAOD,EAAO,IACfmH,EAAU,CAAEgpC,MAAO,CAAEhwC,KAAMgH,GAASguC,SAAa,CAAC,EACtDz0C,YAAa,CAAEP,KAAM,MA2GvB,CAAC+W,EAAAA,GAAa29B,SAAUnC,GACxB,CAACx7B,EAAAA,GAAa49B,UAAW7C,GACzB,CAAC/6B,EAAAA,GAAaq8B,UAAWd,GACzB,CAACv7B,EAAAA,GAAak+B,YAhlBGC,CAACr1C,EAAOO,EAAQC,KACjC,MAAM,iBAAEwO,EAAgB,cAAEC,GAAkBzO,EAC5C,OAAOP,GAAOD,EAAO,CACnBgP,iBAAkB,CAAE7O,KAAM6O,GAC1BC,cAAe,CAAE9O,KAAM8O,MA6kBzB,CAACiI,EAAAA,GAAao+B,yBA1kBaC,CAACv1C,EAAOO,EAAQC,KAC3C,MAAM,oBAAEmwC,GAAwBnwC,EAChC,OAAOP,GAAOD,EAAO,CACnB2wC,oBAAqB,CAAExwC,KAAMwwC,MAwkB/B,CAACz5B,EAAAA,GAAa69B,UAAWhC,GAEzB,CAACyC,EAAAA,GAAoBC,YAthBMC,CAAC11C,EAAOO,EAAQC,KAC3C,MAAM,oBAAEowC,GAAwBpwC,EAEhC,OASOP,GAAOD,EATT4wC,EASgB,CACnBA,oBAAqB,CAAEzwC,KAAMywC,IATR,CACnBA,oBAAqB,CAAEzwC,KAAMywC,GAC7BhyB,eAAgB,CAAEze,MAAM,GACxB8I,qBAAsB,CAAE9I,KAAMH,EAAMue,uBACpCO,wBAAyB,CAAE3e,MAAM,GACjCue,qBAAsB,CAAEve,KAAM,OA8gBlC,CAACq1C,EAAAA,GAAoBjC,UAAWd,GAChC,CAAC+C,EAAAA,GAAoB/B,UAAWb,GAChC,CAAC4C,EAAAA,GAAoBzB,SAAU/B,GAE/B,CAAC2D,EAAAA,GAA0B9b,aAn8BK+b,CAAC51C,EAAOO,KACxC,MAAQ4G,SAAS,qBAAE8B,IAA2B1I,EAC5CkwC,EAA4BkB,GAAa1oC,GAE3C,OAAOhJ,GAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMswC,GAClClyB,sBAAuB,CAAEpe,KAAM8I,GAC/BwnC,0BAA2B,CAAEtwC,KAAMswC,MA67BrC,CAAC54B,EAAAA,GAAqBmiB,MAAOnD,GAC7B,CAAChf,EAAAA,GAAqB07B,UAAWd,GACjC,CAAC56B,EAAAA,GAAqB47B,UAAWb,GACjC,CAAC/6B,EAAAA,GAAqBk8B,SAp5BS8B,CAAC71C,EAAOO,EAAQC,KAC/C,MAAM,qBAAEyI,GAAyBzI,EAC/BgwC,EAA2BmB,GAAa1oC,GAE1C,OAAOhJ,GAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCjyB,sBAAuB,CAAEpe,KAAM8I,GAC/BwnC,0BAA2B,CAAEtwC,KAAMqwC,GACnC5xB,eAAgB,CAAEze,MAAM,GACxB0wC,eAAgB,CAAE1wC,MAAM,GACxBO,YAAa,CAAEP,KAAM,MA04BvB,CAAC0X,EAAAA,GAAqBi+B,iBAtMC91C,GAChBC,GAAOD,EAAO,CACnB6wC,eAAgB,CAAE1wC,MAAM,GACxB2wC,iBAAkB,CAAE3wC,MAAM,GAC1BO,YAAa,CAAEP,KAAM,KAmMvB,CAAC0X,EAAAA,GAAqBC,0BAhMQi+B,CAAC/1C,EAAOO,EAAQC,KAC9C,GAAID,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnB8wC,iBAAkB,CAAE3wC,MAAM,GAC1BO,YAAa,CAAEP,KAAM2D,IAEzB,CACA,OAAO7D,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMK,EAAKI,IACjBiwC,eAAgB,CAAE1wC,MAAM,GACxB2wC,iBAAkB,CAAE3wC,MAAM,GAC1BO,YAAa,CAAEP,KAAM,MAsLvB,CAACukC,EAAAA,GAAsBsR,WA3iBAC,CAACj2C,EAAOO,EAAQC,KACvC,MAAM,oBAAE2xC,GAAwB3xC,EAEhC,OAAOP,GAAOD,EAAO,CACnBmM,YAAa,CAAEhM,KAAMk9B,IAAM8U,OAwiB7B,CAACzN,EAAAA,GAAsBoQ,UAAW7C,GAClC,CAACvN,EAAAA,GAAsBvC,cArLUniC,GAC1BC,GAAOD,EAAO,CACnB+wC,eAAgB,CAAE5wC,MAAM,GACxBO,YAAa,CAAEP,KAAM,KAmLvB,CAACukC,EAAAA,GAAsB7M,SAAUub,GACjC,CAAC1O,EAAAA,GAAsBwR,iBAjLAl2C,GAChBC,GAAOD,EAAO,CACnB+wC,eAAgB,CAAE5wC,MAAM,GACxB6wC,iBAAkB,CAAE7wC,MAAM,GAC1BO,YAAa,CAAEP,KAAM,KA8KvB,CAACukC,EAAAA,GAAsBltB,0BA3KO2+B,CAACn2C,EAAOO,KACtC,GAAIA,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBgxC,iBAAkB,CAAE7wC,MAAM,GAC1BO,YAAa,CAAEP,KAAM2D,IAEzB,CACA,OAAO7D,GAAOD,EAAO,CACnBkwC,kBAAmB,CAAE/vC,KAAM,aAC3B4wC,eAAgB,CAAE5wC,MAAM,GACxB6wC,iBAAkB,CAAE7wC,MAAM,GAC1BO,YAAa,CAAEP,KAAM,MAgKvB,CAACukC,EAAAA,GAAsB1K,MAtdMoc,CAACp2C,EAAOO,EAAQC,KAC7C,MAAM,GAAEI,EAAE,KAAEI,EAAI,KAAEM,EAAI,qBAAE2H,GAAyBzI,EAC/CgwC,EAA2BmB,GAAa1oC,GAE1C,OADAutB,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYlwB,IAAQ,CAAC,EAAGmwB,GAAuB,CAC9Ep1B,OACAM,OACA2H,uBACAunC,2BACAjyB,sBAAuBtV,EACvBwnC,0BAA2BD,EAC3B5xB,gBAAgB,EAChBsxB,kBAAmB,aACnBtvC,GAAIZ,EAAMY,IAAMA,EAChBQ,OAAQ,iBA0cV,CAACqW,EAAAA,GAAuBuiB,MAAOoD,GAE/B,CAACiZ,EAAAA,GAAwB/M,gBAAiB6J,GAC1C,CAACkD,EAAAA,GAAwBrc,MAAOmZ,GAChC,CAACkD,EAAAA,GAAwBxe,SAAUwb,GAEnC,CAACiD,EAAAA,GAAwBhN,gBAAiB6J,GAC1C,CAACmD,EAAAA,GAAwBtc,MAAOmZ,GAChC,CAACmD,EAAAA,GAAwBze,SAAUwb,GAEnC,CAAC17B,EAAAA,GAAuB2xB,gBAAiB6J,GACzC,CAACx7B,EAAAA,GAAuBqiB,MAAOmZ,GAC/B,CAACx7B,EAAAA,GAAuBkgB,SAAUwb,GAElC,CAACz7B,EAAAA,GAAgBmf,gBAAiBoM,GAClC,CAACvrB,EAAAA,GAAgBwsB,cAAejB,GAChC,CAACvrB,EAAAA,GAAgB2+B,gBA9kBMC,CAACx2C,EAAOO,EAAQC,KACvC,MAAM,YAAE2L,EAAW,qBAAElD,EAAoB,yBAAEunC,EAAwB,KAAExvC,EAAI,KAAEM,GAASd,EAEpF,OAAOP,GAAOD,EAAO,CACnBmM,YAAa,CAAEhM,KAAMk9B,IAAMlxB,IAC3BlD,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCxvC,KAAM,CAAEb,KAAMa,GACdM,KAAM,CAAEnB,KAAMmB,MAukBhB,CAACsW,EAAAA,GAAgBk9B,UAAW7C,GAC5B,CAACr6B,EAAAA,GAAgBysB,QAASX,GAC1B,CAAC9rB,EAAAA,GAAgB27B,UAAWd,GAC5B,CAAC76B,EAAAA,GAAgB67B,UAAWb,GAC5B,CAACh7B,EAAAA,GAAgB6+B,UAAW3D,GAC5B,CAACl7B,EAAAA,GAAgBF,uBAAwB47B,GACzC,CAAC17B,EAAAA,GAAgBm8B,SAAU/B,GAC3B,CAACp6B,EAAAA,GAAgBoiB,MAAOoD,GAExB,CAACoH,EAAAA,GAAiBuQ,UAAWhC,GAC7B,CAACvO,EAAAA,GAAiBkS,gBAAiB3D,GACnC,CAACvO,EAAAA,GAAiBrC,cAAekR,GAEjC,CAACsD,EAAAA,GAAerN,gBAAiB6J,GACjC,CAACwD,EAAAA,GAAe3c,MAAOmZ,GACvB,CAACwD,EAAAA,GAAe9e,SAAUwb,GAE1B,CAACt7B,EAAAA,GAAoBssB,QArKGuS,CAAC52C,EAAOO,EAAQC,KACxC,MAAM,GAAEI,EAAE,SAAEgW,EAAW,CAAC,GAAMpW,GAC5B,KAAEc,EAAO,GAAE,KACTN,EAAO,GAAE,UACTuvC,EAAY,GAAE,WACdjyB,EAAa,GAAE,YACfnS,EAAc,GAAE,qBAChBlD,EAAuB,GAAE,qBACzByV,EAAuB,GAAE,mBACzBM,EAAqB,GAAE,QACvB/Q,EAAU,GAAE,iBACZe,EAAmB,EAAC,cACpBC,EAAgB,IACd2H,EACJ45B,EAA2BvnC,EAAuB0oC,GAAa1oC,GAAwB,GACvFynC,EAA2BzpC,IAAQyX,EAAsB,CAACjM,EAAS8/B,KACjE9/B,EAAQ8/B,GAAuBZ,GAAaY,GACrC9/B,GACN,CAAC,GAEN,OAAOxS,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMS,GACZQ,OAAQ,CAAEjB,KAAM,cAChBmB,KAAM,CAAEnB,KAAMmB,GACdN,KAAM,CAAEb,KAAMa,GACduvC,UAAW,CAAEpwC,KAAMowC,GACnBjyB,WAAY,CAAEne,KAAMme,GACpBnS,YAAa,CAAEhM,KAAMk9B,IAAMlxB,IAC3BlD,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClC9xB,qBAAsB,CAAEve,KAAMue,GAC9B8zB,wBAAyB,CAAEryC,KAAMuwC,GACjC9xB,eAAgB,CAAEze,MAAM,GACxB6e,mBAAoB,CAAE7e,KAAM6e,GAC5B/Q,QAAS,CAAE9N,KAAM8N,GAIjBe,iBAAkB,CAAE7O,KAA2B,IAArB6O,EAAyB,GAAK,GAAGA,KAC3DC,cAAe,CAAE9O,KAAwB,KAAlB8O,EAAuB,GAAK,IAAIA,QA+HzD,CAAC8I,EAAAA,GAAoBw7B,UAAWd,GAChC,CAAC16B,EAAAA,GAAoB07B,UAjHKoD,CAAC72C,EAAOO,EAAQC,KAC1C,MAAM,KAAEc,GAASd,EAEjB,OAAOP,GAAOD,EAAO,CACnBsB,KAAM,CAAEnB,KAAMmB,MA8GhB,CAACyW,EAAAA,GAAoB++B,oBA1GQC,CAAC/2C,EAAOO,EAAQC,KAC7C,MAAM,KAAEQ,EAAI,KAAEM,EAAI,aAAEia,GAAiB/a,EAErC,OAAOP,GAAOD,EAAO,CACnBgB,KAAM,CAAEb,KAAMk9B,IAAMr8B,IACpBM,KAAM,CAAEnB,KAAMmB,GAAQia,MAsGxB,CAACxD,EAAAA,GAAoBL,uBAAwB47B,GAC7C,CAACv7B,EAAAA,GAAoBiiB,MA/HHgd,CAACh3C,EAAOO,EAAQC,KAClC,MAAM,GAAEI,EAAK,IAAOJ,EAClBk2B,EAAWzwB,IAAQ,CAAC,EAAGmwB,GAAuB,CAC5Cx1B,KACAQ,OAAQ,eAIZ,OADAo1B,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAyHP,CAAC2O,EAAAA,GAAkByP,UAAW7C,GAC9B,CAAC5M,EAAAA,GAAkB4R,gBAAiBhF,GACpC,CAAC5M,EAAAA,GAAkBmO,gBAAiBf,GACpC,CAACpN,EAAAA,GAAkBlD,cAAekR,GAElC,CAACr7B,EAAAA,GAAmBk/B,cAv/BUC,CAACn3C,EAAOO,EAAQC,KAC9C,MAAM,sBAAE42C,EAAqB,sBAAE74B,GAA0B/d,EACvDiwC,EAA4B2G,EAAwBzF,GAAapzB,GAAyB,GAG5F,OAAOte,GAAOD,EAAO,CACnBue,sBAAuB,CAAEpe,KAHhBi3C,EAAwB74B,EAAwB,IAIzDkyB,0BAA2B,CAAEtwC,KAAMswC,MAi/BrC,CAACz4B,EAAAA,GAAmBq/B,SA9+BMC,CAACt3C,EAAOO,EAAQC,KAC1C,MAAM,sBAAE+d,GAA0B/d,EAChCiwC,EAA4BkB,GAAapzB,GAE3C,OAAOte,GAAOD,EAAO,CACnBue,sBAAuB,CAAEpe,KAAMoe,GAC/BkyB,0BAA2B,CAAEtwC,KAAMswC,MAy+BrC,CAACz4B,EAAAA,GAAmBu/B,YAt+BAC,CAACx3C,EAAOO,EAAQC,KACpC,MAAM,UAAEi3C,GAAcj3C,EAChBgsB,EAASirB,EAAYz3C,EAAMue,sBAAwB,GACnDm5B,EAAcD,EAAY9F,GAAanlB,GAAU,GAEvD,OAAOvsB,GAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAMqsB,GAC9BgkB,yBAA0B,CAAErwC,KAAMu3C,MAg+BpC,CAAC1/B,EAAAA,GAAmB2/B,cA79BWC,CAAC53C,EAAOO,EAAQC,KAC/C,MAAM,sBAAE+d,EAAwB,GAAE,qBAAEtV,EAAuB,IAAOzI,EAChEoN,EAAM2Q,GAAyBtV,EAC/B4uC,EAAUjqC,EAAM+jC,GAAa/jC,GAAO,GAEtC,OAAO3N,GAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAMyN,GAC9B4iC,yBAA0B,CAAErwC,KAAM03C,GAClCt5B,sBAAuB,CAAEpe,KAAMyN,GAC/B6iC,0BAA2B,CAAEtwC,KAAM03C,MAu9BrC,CAACC,EAAAA,GAAiBhD,UAAW5C,GAC7B,CAAC4F,EAAAA,GAAiB9B,WAAY9D,GAC9B,CAAC4F,EAAAA,GAAiB3V,cAAeiR,GACjC,CAAC0E,EAAAA,GAAiBC,YA16BIC,CAACh4C,EAAOO,EAAQC,KACtC,MAAM,eAAEoe,GAAmBpe,EAE3B,OACSP,GAAOD,EADZ4e,EACmB,CACnB3V,qBAAsB,CAAE9I,KAAMH,EAAMue,uBACpCiyB,yBAA0B,CAAErwC,KAAMH,EAAMywC,2BACxC/xB,qBAAsB,CAAEve,KAAM,IAC9BuwC,yBAA0B,CAAEvwC,KAAM,CAAC,GACnCye,eAAgB,CAAEze,KAAMye,IAGP,CACnB3V,qBAAsB,CAAE9I,KAAM,IAC9BqwC,yBAA0B,CAAErwC,KAAM,IAClCue,qBAAsB,CAAEve,KAAM,CAACH,EAAMue,wBACrCmyB,yBAA0B,CAAEvwC,KAAM,CAAE,CAACH,EAAMue,uBAAwBve,EAAMywC,4BACzE7xB,eAAgB,CAAEze,KAAMye,MA05B1B,CAACk5B,EAAAA,GAAiB/D,SA18BiBkE,CAACj4C,EAAOO,EAAQC,KACnD,MAAM,qBAAEyI,GAAyBzI,EAC/BgwC,EAA2BmB,GAAa1oC,GAE1C,OAAOhJ,GAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,MAq8BpC,CAACsH,EAAAA,GAAiBI,WAAYpF,GAE9B,CAACrN,EAAAA,GAAuB6D,gBAAiB6J,GACzC,CAAC1N,EAAAA,GAAuBzL,MAAOmZ,GAC/B,CAAC1N,EAAAA,GAAuB5N,SAAUwb,GAElC,CAAC8E,EAAAA,GAAsBne,MAAOmZ,GAE9B,CAACiF,EAAAA,GAAqBpe,MAAOmZ,GAE7B,CAACkF,EAAAA,GAA0B/O,gBAAiB6J,GAC5C,CAACkF,EAAAA,GAA0Bre,MAAOmZ,GAClC,CAACkF,EAAAA,GAA0BxgB,SAAUwb,GAErC,CAACp7B,EAAAA,GAAgB8e,gBAAiBoM,GAClC,CAAClrB,EAAAA,GAAgBmsB,cAAejB,GAChC,CAAClrB,EAAAA,GAAgB68B,UAAW7C,GAC5B,CAACh6B,EAAAA,GAAgBs7B,UAAWd,GAC5B,CAACx6B,EAAAA,GAAgBosB,QAASX,GAC1B,CAACzrB,EAAAA,GAAgBw7B,UAAWb,GAC5B,CAAC36B,EAAAA,GAAgBw+B,UAAW3D,GAC5B,CAAC76B,EAAAA,GAAgBP,uBAAwB47B,GACzC,CAACr7B,EAAAA,GAAgB87B,SAAU/B,GAC3B,CAAC/5B,EAAAA,GAAgB+hB,MAAOoD,GAExB,CAACkb,EAAAA,GAAiBnW,cAAeiR,GAEjC,CAACmF,EAAAA,GAAkBve,MAAOmZ,GAC1B,CAACoF,EAAAA,GAAkB1gB,SAAUwb,GAE7B,CAACl7B,EAAAA,GAAe6hB,MAAOoD,GAEvB,CAAChlB,EAAAA,GAAoBkxB,gBAAiB6J,GACtC,CAAC/6B,EAAAA,GAAoB4hB,MAAOmZ,GAC5B,CAAC/6B,EAAAA,GAAoByf,SAAUwb,GAE/B,CAACh7B,EAAAA,GAAoBqtB,cA54BGC,CAAC3lC,EAAOO,EAAQC,KACxC,MAAM,YAAEU,GAAgBV,EACxB,OAAOP,GAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMk9B,IAAMn8B,OA04B7B,CAACmX,EAAAA,GAAoBk7B,UAAWd,GAChC,CAACp6B,EAAAA,GAAoBo7B,UAAWb,GAChC,CAACv6B,EAAAA,GAAoBo+B,UAAW3D,GAChC,CAACz6B,EAAAA,GAAoBgsB,QAASX,GAC9B,CAACrrB,EAAAA,GAAoBX,uBAAwB47B,GAC7C,CAACj7B,EAAAA,GAAoB07B,SAAU/B,GAE/B,CAAC35B,EAAAA,GAAoB2hB,MAAOoD,GAE5B,CAACob,EAAAA,GAAYzE,SAAU/B,GACvB,CAACwG,EAAAA,GAAYjF,UAAWd,GAExB,CAACn6B,EAAAA,GAAkBye,gBAAiBoM,GACpC,CAAC7qB,EAAAA,GAAkBmgC,aAActV,GACjC,CAAC7qB,EAAAA,GAAkB+rB,QAASX,GAC5B,CAACprB,EAAAA,GAAkB09B,WAAYlD,GAC/B,CAACx6B,EAAAA,GAAkBi7B,UAAWd,GAC9B,CAACn6B,EAAAA,GAAkBZ,uBAAwB47B,GAC3C,CAACh7B,EAAAA,GAAkBy7B,SAAU/B,GAC7B,CAAC15B,EAAAA,GAAkBuf,SAAUub,GAC7B,CAAC96B,EAAAA,GAAkB0hB,MAAOoD,GAE1B,CAACvH,EAAAA,GAAmB4gB,UAAWxE,GAC/B,CAACpc,EAAAA,GAAmBif,UAAW7C,GAC/B,CAACpc,EAAAA,GAAmBsM,cAAeiR,GAEnC,CAACxN,GAAAA,GAAwB0D,gBAAiB6J,GAC1C,CAACvN,GAAAA,GAAwB5L,MAAOmZ,GAChC,CAACvN,GAAAA,GAAwB/N,SAAUwb,GAEnC,CAACqF,GAAAA,GAAwBpP,gBAAiB6J,GAC1C,CAACuF,GAAAA,GAAwB1e,MAAOmZ,GAChC,CAACuF,GAAAA,GAAwB7gB,SAAUwb,GAEnC,CAAC56B,GAAAA,GAA8BuhB,MAAOmZ,GACtC,CAAC16B,GAAAA,GAA8Bof,SAAUwb,GAEzC,CAAC36B,GAAAA,GAA4BshB,MAAOmZ,GACpC,CAACz6B,GAAAA,GAA4Bmf,SAAUwb,GAEvC,CAAC16B,GAAAA,GAAiCqhB,MAAOmZ,GACzC,CAACx6B,GAAAA,GAAiCkf,SAAUwb,GAE5C,CAAC76B,GAAAA,GAAwBwhB,MAAOmZ,GAChC,CAAC36B,GAAAA,GAAwBqf,SAAUwb,GAEnC,CAACvd,GAAAA,GAAgBiB,gBAAiBoM,GAClC,CAACrN,GAAAA,GAAgB2iB,aAActV,GAC/B,CAACrN,GAAAA,GAAgBuO,QAASX,GAC1B,CAAC5N,GAAAA,GAAgBkgB,WAAYlD,GAC7B,CAAChd,GAAAA,GAAgByd,UAAWd,GAC5B,CAAC3c,GAAAA,GAAgB2d,UAAWb,GAC5B,CAAC9c,GAAAA,GAAgBpe,uBAAwB47B,GACzC,CAACxd,GAAAA,GAAgBie,SAAU/B,GAC3B,CAAClc,GAAAA,GAAgBkE,MAAOoD,GACxB,CAACtH,GAAAA,GAAgB+B,SAAUub,GAE3B,CAACvN,EAAAA,GAAiBiP,UAAW7C,GAC7B,CAACpM,EAAAA,GAAiBmQ,WA9tBK2C,CAAC34C,EAAOO,EAAQC,KACvC,MAAM,oBAAE2xC,EAAmB,aAAE52B,GAAiB/a,EAE9C,OAAOP,GAAOD,EAAO,CACnBmM,YAAa,CAAEhM,KAAMk9B,IAAM8U,IAC3B7wC,KAAM,CAAEnB,KAAMob,MA0tBhB,CAACsqB,EAAAA,GAAiB0N,UAAWd,GAC7B,CAAC5M,EAAAA,GAAiB1D,cAAekR,GAEjC,CAACuF,GAAAA,GAAkBtP,gBAAiB6J,GACpC,CAACyF,GAAAA,GAAkB5e,MAAOmZ,GAC1B,CAACyF,GAAAA,GAAkB/gB,SAAUwb,GAE7B,CAACwF,GAAAA,GAA2BvP,gBAAiB6J,GAC7C,CAAC0F,GAAAA,GAA2B7e,MAAOmZ,GACnC,CAAC0F,GAAAA,GAA2BhhB,SAAUwb,GAEtC,CAACyF,GAAAA,GAAmB9e,MAAOmZ,GAC3B,CAAC2F,GAAAA,GAAmBjhB,SAAUwb,GAE9B,CAAC0F,GAAAA,GAAyB/e,MAAOmZ,GACjC,CAAC4F,GAAAA,GAAyBlhB,SAAUwb,GAEpC,CAAC/7B,EAAAA,GAAqB0hC,eAAgB3F,GACtC,CAAC/7B,EAAAA,GAAqBugB,SAAUwb,GAEhC,CAAC99B,GAAAA,EAAcP,qBAnjBOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAMi5C,GAA0BC,EAAAA,GAAAA,OAC1B,OAAEhkC,GAAW1U,EACjB8hC,GAAkBC,EAAAA,GAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MACIob,WAAYC,EACZjJ,YAAaC,EAAa,GAC1BjL,qBAAsBxG,EACtBu4C,kBAAmBC,EAAkB,GACrC/6B,YAAag7B,EAAkB,IAC7B/W,EACJrwB,EAAQ8D,IAAMsF,EAAY0qB,IAIxB,GAAmB,QAFA9iC,IAAK8iC,EAAG,cAAe,OAAS9iC,IAAK8iC,EAAG,0BAA2B,OAGpF,OAAO,EAQT,MAAM9vB,EAAUhT,IAAK8iC,EAAG,UAAW,MACnC,OAAgB,6BAAZ9vB,GAAsD,iBAAZA,GAA0C,4BAAZA,GAAqD,eAAZA,IAE3F,OADAhT,IAAK8iC,EAAG,mBAAoB,UAOlDkT,GACa,mBAAZhjC,GAA4C,kBAAZA,GAEX,OADAhT,IAAK8iC,EAAG,mBAAoB,SAOxDqK,IAAYr6B,IAAMsF,EAAY0qB,GACM,uBAA3B9iC,IAAK8iC,EAAG,UAAW,KAE5BuT,EAAavjC,IAAMsF,EAAY0qB,GACK,oBAA3B9iC,IAAK8iC,EAAG,UAAW,KAE9B,IAAK9zB,EACH,OAAOjS,EAET,MACE,QAAEiW,EACAoI,YAAak7B,EAAc,WAC3Bj7B,EAAa,GACbhR,aAAciR,EACdC,sBAAuBvV,EAAuBgJ,EAAM3E,aACpDqR,gBAAiBC,EAAiB,KAClCH,sBAAuBC,EAAuB,GAC9C86B,sBAAuB5I,EAAsB,KAC7C6I,0BAA2B36B,EAA0B,KACrDvU,iBAAkB4B,EAAc,GAChCutC,oBAAqBxJ,EAAoBlwC,EAAMkwC,kBAC/CloC,MAAO9G,EAAc,GACrB4J,kBAAmBkE,EAAmB,GACtCjE,UAAWkE,EAAgB,GAC3B6V,SAAU1I,EAAmB,IAC3BnK,EAIJ0nC,EAAiB12C,IAAKgP,EAAO,cAAe,OAAShP,IAAKgP,EAAO,0BAA2B,MAC5F2nC,EAAsB7jC,IAAM1D,EAAa2D,KAAkB/S,IAAK+S,EAAI,mBAAoB,KACxFu7B,EAAkBtuC,IAAKgP,EAAO,mBAAoB,KAC7ChP,IAAKgP,EAAO,+BAAgC,KAC5ChP,IAAK22C,EAAqB,mBAAoB,IACnDC,EAAWF,GAAkBP,EAC7BjwC,EAAaowC,GAAkBF,EAQ/B/3C,EAAO6H,GAPuB,SAAfA,EAAwB,OAAS,MACnB,QAAfA,EAAuB,OAAS,MAChB,cAAfA,EAA6B,OAAS,KAEvB,mBAAZ8M,EAA+B,OAAS,MAC7B,kBAAZA,EAA8B,OAAS,IAGxD6jC,EAAe/jC,IAAe,SAATzU,EAAkBy4C,GAAAA,GAAkBC,GAAAA,GAAiBzJ,GACjE0J,IAAUJ,EAAUtJ,EAAUp6B,QAEvCo6B,EAAYuJ,EAAeA,EAAa3jC,MAAQ,GAChDnV,EAAO84C,EAAezc,IAAMwc,EAASx1C,UAAU,EAAGw1C,EAASv1C,OAASw1C,EAAa3jC,MAAM7R,SAAWu1C,EAClGpJ,EAA4BkB,GAAapzB,GACzCiyB,EAA2BmB,GAAa1oC,GACxCynC,EAA2BzpC,IAAQyX,EAAsB,CAACjM,EAAS8/B,KACjE9/B,EAAQ8/B,GAAuBZ,GAAaY,GACrC9/B,GACN,CAAC,GAMAhH,EAAsByuC,IAASjoC,GAAOzG,sBAAwB,KAAOyG,EAAMzG,qBAIjF,GAAIytC,IACa,mBAAZhjC,GAA4C,kBAAZA,KAChCsI,EACH,OAAOve,EAET,IAAMgB,IAASi4C,IAA6B16B,EAAuB,CAEjE,MAAM47B,EAAM,IAAIC,MAAM,sBACpBC,EAAUC,KAAKC,UAAU/5C,EAAM,KAAM,GAEvC,IADAg6C,EAAAA,GAAAA,IAAYL,EAAK,CAAEM,SAAU,CAAEj6C,KAAM65C,MAChCr6C,EAAMgB,OAAShB,EAAMue,wBAA0Bve,EAAMsB,KAExD,MAAM,IAAI84C,MAAM,2CAElB,OAAOp6C,CACT,CAeA,MACE06C,EAA4C,MAApB1rC,GAAiD,IAArBA,EAA0B,GAAK,GAAGA,IACtF2rC,EAAsC,MAAjB1rC,GAA2C,KAAlBA,EAAwB,GAAK,IAAIA,IAEjF,OAAOhP,GAAOD,EAAO,CACnBoB,OAAQ,CAAEjB,KAAM,cAChBS,GAAI,CAAET,KAAMS,GACZU,KAAM,CAAEnB,KAAMmB,GACd8uC,QAAS,CAAEjwC,KAAMiwC,GACjBC,SAAU,CAAElwC,KAAMiwC,GAClBoB,iBAAkB,CAAErxC,MAAOm5C,GAAYsB,4BACvCnJ,eAAgB,CAAEtxC,KAAMm5C,GAAYuB,qBACpCnJ,qBAAsB,CAAEvxC,KAAMm5C,GAAYwB,yBAC1C3K,MAAO,CAAEhwC,OAAQm5C,GACjBt4C,KAAM,CAAEb,KAAMa,GACduvC,UAAW,CAAEpwC,KAAMowC,GACnBjyB,WAAY,CAAEne,KAAMme,GACpBnS,YAAa,CAAEhM,KAAMk9B,IAAMlxB,IAC3BjL,YAAa,CAAEf,KAAMk9B,IAAMn8B,IAC3Bqd,sBAAuB,CAAEpe,KAAMoe,GAC/BkyB,0BAA2B,CAAEtwC,KAAMswC,GACnCxnC,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClC9xB,qBAAsB,CAAEve,KAAMue,GAC9BgyB,yBAA0B,CAAEvwC,KAAMuwC,GAClC9xB,eAAgB,CAAEze,KAAMye,GACxBgyB,oBAAqB,CAAEzwC,KAAMywC,GAC7B9xB,wBAAyB,CAAE3e,KAAM2e,GACjC9P,iBAAkB,CAAE7O,KAAMu6C,GAAwB16C,EAAMgP,kBACxDC,cAAe,CAAE9O,KAAMw6C,GAAqB36C,EAAMiP,eAClDmN,iBAAkB,CAAEjc,KAAMic,GAC1B8zB,kBAAmB,CAAE/vC,KAAM+vC,GAC3BzkC,oBAAqB,CAAEtL,KAAMsL,GAC7B8lC,gBAAiB,CAAEpxC,KAAMoxC,OAqYhB,SAAS,GAACvxC,EAAQmD,GAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,sbCtvCO,MAAMm2B,EAAa,iCAGxB4kB,EAAyB,CAAE,YAAa,YAAa,OAAQ,SAAU,QAAS,MAAO,MAAO,MAAO,qBACrGtzC,EAAgB,CACda,aAAc,GACdC,aAAc,GACdX,KAAM,GACNC,OAAQ,GACR7H,MAAO,GACP+gB,UAAW,GACXhZ,QAAS,GACTM,QAAS,GACT2Y,IAAK,EACLC,IAAK,EACLC,iBAAiB,GAEnB85B,EAAwB,CACtBtzC,UAAW,GACXC,UAAW,GACXC,KAAM,GACNC,OAAQ,GACR7H,MAAO,GACP8H,IAAK,GACLkZ,IAAK,EACLC,IAAK,EACLG,mBAAmB,GAErB65B,EAAoB,CAClB3yC,aAAc,CAAEnI,KAAM,IACtBoI,aAAc,CAAEpI,KAAM,IACtByH,KAAM,CAAEzH,KAAM,IACd0H,OAAQ,CAAE1H,KAAM,IAChBH,MAAO,CAAEG,KAAM,IACf4gB,UAAW,CAAE5gB,KAAM,IACnB4H,QAAS,CAAE5H,KAAM,IACjBkI,QAAS,CAAElI,KAAM,IACjB6gB,IAAK,CAAE7gB,KAAM,GACb8gB,IAAK,CAAE9gB,KAAM,GACb+gB,gBAAiB,CAAE/gB,MAAM,IAE3Bi2B,EAAwB,CACtB1U,UAAWzb,IAAQ,CAAC,EAAGwB,GACvBka,QAAS1b,IAAQ,CAAC,EAAGwB,GACrBma,SAAU3b,IAAQ,CAAC,EAAGwB,GACtBkF,sBAAsB,EACtBC,wBAAwB,EACxBC,uBAAuB,GAEzB1J,EAAgB8C,IAAQuwB,EAAAA,GAAeC,WAAWN,EAAYC,IAE9Dub,EAAgBx7B,IACd,MAAMy7B,EAAQ77B,IAAM87B,EAAAA,GAAWC,GACtBA,EAAO37B,QAAUA,GAE1B,OAAOy7B,EAAQA,EAAMG,MAAQ,IAG/B9xC,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAGTwkB,EAAoB16C,IAClB,MAAM,aAAE8H,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,QAAErX,EAAU,KAAI,QAAEM,EAAO,IAAE2Y,EAAM,EAAC,IAAEC,EAAM,EAAC,gBAAEC,GAAkB,GAAU1gB,EACzIugB,EAAY4wB,EAAavyB,GAe3B,MAdkB,CACd9W,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtB7H,MAAO,CAAEG,KAAMk9B,IAAMje,IACrB2B,UAAW,CAAE5gB,KAAM4gB,GACnBhZ,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IAAY,MACnCM,QAAS,CAAElI,KAAMk9B,IAAMh1B,IACvB2Y,IAAK,CAAE7gB,KAAM6gB,GACbC,IAAK,CAAE9gB,KAAM8gB,GACbC,gBAAiB,CAAE/gB,KAAM+gB,KAM/Bi6B,EAAyB36C,IACvB,MAAQkH,UAAWY,EAAcX,UAAWY,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,QAAErX,EAAU,GAAID,IAAKO,EAAO,IAAE2Y,EAAM,EAAC,IAAEC,EAAM,EAAGG,kBAAmBF,GAAkB,GAAU1gB,EACrLugB,EAAY4wB,EAAavyB,GAe3B,MAdkB,CACd9W,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtB7H,MAAO,CAAEG,KAAMk9B,IAAMje,IACrB2B,UAAW,CAAE5gB,KAAM4gB,GACnBhZ,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IAAY,MACnCM,QAAS,CAAElI,KAAMk9B,IAAMh1B,IACvB2Y,IAAK,CAAE7gB,KAAM6gB,GACbC,IAAK,CAAE9gB,KAAM8gB,GACbC,gBAAiB,CAAE/gB,KAAM+gB,KAM/Bk6B,EAAmBA,CAACC,EAAUC,KAC5B,MAAMC,EAAQC,IAAMH,EAAUN,GAC5BU,EAAQD,IAAMF,EAAUP,GAE1B,OAAIzuC,IAASivC,EAAOP,KAA0B1uC,IAASmvC,EAAOT,IAGvD1uC,IAASivC,EAAOE,IAGzBC,EAAyBA,CAAC17C,EAAOO,EAAQC,KACvC,MAAM,qBAAEmM,EAAoB,uBAAEC,GAA2BpM,EACvDm7C,EAA0B37C,EAAM2M,qBAChCivC,EAA4B57C,EAAM4M,uBAClCivC,EAAgBX,EAAiB16C,GACjCs7C,EAAc,CACZl6B,SAAUi6B,EACVlvC,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,KAAMyM,IAiBpC,OAdID,IAAyBgvC,GAC3BG,EAAYn6B,QAAUk6B,EACtBC,EAAYjvC,sBAAwB,CAAE1M,MAAM,KAClCwM,GAAwBgvC,IAClCG,EAAYn6B,QAAUs5B,GAGpBruC,IAA2BgvC,GAC7BE,EAAYp6B,UAAYm6B,EACxBC,EAAYjvC,sBAAwB,CAAE1M,MAAM,KAClCyM,GAA0BgvC,IACpCE,EAAYp6B,UAAYu5B,GAGnBh7C,EAAOD,EAAO87C,IAGvBC,EAA+BA,CAAC/7C,EAAOO,EAAQC,KAC7C,MAAM,qBAAEmM,GAAyBnM,EAC/Bq7C,EAAgBX,EAAiB16C,GACjCs7C,EAAc,CACZl6B,SAAUi6B,EACVlvC,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,MAAM,GAChCuhB,UAAWm6B,GAOf,OAJIlvC,IACFmvC,EAAYn6B,QAAUk6B,GAGjB57C,EAAOD,EAAO87C,IAGvBE,EAA8BA,CAACh8C,EAAOO,EAAQC,KAC5C,MAAM,qBAAEmM,EAAoB,uBAAEC,GAA2BpM,EACvDq7C,EAAgBX,EAAiB16C,GACjCs7C,EAAc,CACZl6B,SAAUi6B,EACVlvC,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,KAAMyM,IAYpC,OATID,IACFmvC,EAAYn6B,QAAUk6B,EACtBC,EAAYjvC,sBAAwB,CAAE1M,MAAM,IAE1CyM,IACFkvC,EAAYp6B,UAAYm6B,EACxBC,EAAYjvC,sBAAwB,CAAE1M,MAAM,IAGvCF,EAAOD,EAAO87C,IA0CvBG,EAAwBA,CAACj8C,EAAOO,EAAQC,KACtC,MAAM,sBAAEqM,GAA0BrM,EAChC07C,EAA2Bl8C,EAAM6M,sBACjCgvC,EAAgBX,EAAiB16C,GACjCs7C,EAAc,CACZn6B,QAASk6B,EACThvC,sBAAuB,CAAE1M,KAAM0M,IASnC,OANIA,IAA0BqvC,EAC5BJ,EAAYp6B,UAAYm6B,GACdhvC,GAAyBqvC,IACnCJ,EAAYp6B,UAAYu5B,GAGlBh7C,EAAOD,EAAO87C,IAGxBK,EAA6BA,CAACn8C,EAAOO,EAAQC,KAC3C,MAAM,sBAAEqM,GAA0BrM,EAChCq7C,EAAgBX,EAAiB16C,GACjCs7C,EAAc,CACZn6B,QAASk6B,EACThvC,sBAAuB,CAAE1M,KAAM0M,IAMnC,OAHIA,IACFivC,EAAYp6B,UAAYm6B,GAElB57C,EAAOD,EAAO87C,IAGxBM,GAA8BA,CAACp8C,EAAOO,EAAQC,KAC5C,MAAMq7C,EAAgBX,EAAiB16C,GAIvC,OAAQP,EAAOD,EAHC,CACZ2hB,QAASk6B,KAKf/U,GAA0BA,CAAC9mC,EAAOO,EAAQC,KACxC,MAAMq7C,EAAgBX,EAAiB16C,GAKvC,OAAQP,EAAOD,EAJC,CACZ0hB,UAAWm6B,KAMjBQ,GAAyBA,CAACr8C,EAAOO,EAAQC,KACvC,MAAM,QAAEmhB,EAAO,SAAEC,EAAQ,UAAEF,EAAS,qBAAE/U,EAAoB,uBAAEC,EAAsB,sBAAEC,GAA0BrM,EAC5Gq7C,EAAgBX,EAAiBx5B,GACjCo6B,EAAc,CACZp6B,UAAWm6B,EACXl6B,QAAShV,EAAuBkvC,EAAgBX,EAAiBv5B,GACjE9U,sBAAuB,CAAE1M,KAAM0M,GAC/BF,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,KAAMyM,IAYpC,OATIA,GACFkvC,EAAYl6B,SAAWi6B,EACvBC,EAAYjvC,sBAAwB,CAAE1M,MAAM,IAE5C27C,EAAYl6B,SADH/U,EACcivC,EAAYn6B,QAEZu5B,EAAiBt5B,GAGnC3hB,EAAOD,EAAO87C,IAGvBQ,GAA+BA,CAACt8C,EAAOO,EAAQC,KAC7C,MAAM,QAAEmhB,EAAO,SAAEC,EAAQ,qBAAEjV,GAAyBnM,EAClDqK,EAAkBqwC,EAAiBt5B,GACnC3W,EAAiBiwC,EAAiBv5B,GAQpC,OAAO1hB,EAAOD,EAPE,CACZ4hB,SAAU/W,EACV8W,QAAShV,EAAuB9B,EAAkBI,EAClDyW,UAAW7W,EACX8B,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,MAAM,MAKtCujC,GAAoBA,CAAC1jC,EAAOO,EAAQC,KAClC,MACE,kBAAEy1B,EAAoB,CAAC,GAAMz1B,GAC7B,UACEkhB,EAAYja,EAAa,QACzBka,EAAUla,EAAa,SACvBma,EAAWna,EAAa,qBACxBkF,EAAoB,uBACpBC,EAAsB,sBACtBC,GACEopB,EAEN,OAAOh2B,EAAOD,EAAO,CACnB0hB,UAAWw5B,EAAiBx5B,GAC5BC,QAASu5B,EAAiBv5B,GAC1BC,SAAUs5B,EAAiBt5B,GAC3BjV,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,KAAMyM,GAChCC,sBAAuB,CAAE1M,KAAM0M,MAuCnCgqB,GAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAG/Cv2B,GAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,GAEjB,CAAC/2B,EAAAA,GAAQukC,QAASX,GAClB,CAAC5jC,EAAAA,GAAQy8C,WAAYH,GACrB,CAACt8C,EAAAA,GAAQ08C,iBAAkBJ,GAC3B,CAACt8C,EAAAA,GAAQ28C,WAAYV,EACrB,CAACj8C,EAAAA,GAAQ48C,iBAAkBX,EAC3B,CAACj8C,EAAAA,GAAQ+mC,WAAYC,GACrB,CAAChnC,EAAAA,GAAQ68C,iBAAkB7V,GAC3B,CAAChnC,EAAAA,GAAQq3B,kBAAmBN,GAE5B,CAACxf,EAAAA,GAAYklC,WAAYH,GACzB,CAAC/kC,EAAAA,GAAYolC,WAAYV,EAEzB,CAAC7kC,EAAAA,GAAaqlC,WAAYH,GAC1B,CAACllC,EAAAA,GAAaulC,WAAYV,EAE1B,CAACnkC,EAAAA,GAAgBysB,QAASX,GAE1B,CAACc,EAAAA,GAAiBoY,YAAaN,GAC/B,CAAC9X,EAAAA,GAAiB+X,WAAYH,GAC9B,CAAC5X,EAAAA,GAAiBiY,WAAYV,EAE9B,CAACrX,EAAAA,GAAsB6X,WAAYN,EACnC,CAACvX,EAAAA,GAAsB8X,iBAAkBL,EACzC,CAACzX,EAAAA,GAAsB+X,WAAYf,EACnC,CAAChX,EAAAA,GAAsBgY,iBAAkBV,EACzC,CAACtX,EAAAA,GAAsBmC,WAAYC,GACnC,CAACpC,EAAAA,GAAsBiY,iBAAkB7V,GAEzC,CAAC/uB,EAAAA,GAAoBssB,QAASX,GAE9B,CAAC2B,EAAAA,GAAkBuX,YAAaP,GAChC,CAAChX,EAAAA,GAAkBkX,WAAYN,EAC/B,CAAC5W,EAAAA,GAAkBoX,WAAYf,EAC/B,CAACrW,EAAAA,GAAkBwB,WAAYC,GAE/B,CAACgR,EAAAA,GAAiB8E,YAAaN,GAC/B,CAACxE,EAAAA,GAAiByE,WAAYH,GAC9B,CAACtE,EAAAA,GAAiB2E,WAAYV,EAE9B,CAAC9jC,EAAAA,GAAgBosB,QAASX,GAE1B,CAAC4U,EAAAA,GAAiBiE,WAAYH,GAC9B,CAAC9D,EAAAA,GAAiBkE,iBAAkBJ,GACpC,CAAC9D,EAAAA,GAAiBmE,WAAYV,EAC9B,CAACzD,EAAAA,GAAiBoE,iBAAkBX,EAEpC,CAAC1jC,EAAAA,GAAoBkkC,WAAYN,EACjC,CAAC5jC,EAAAA,GAAoBmkC,iBAAkBL,EACvC,CAAC9jC,EAAAA,GAAoBokC,WA9OSI,CAAC78C,EAAOO,EAAQC,KAC9C,MAAM,qBAAEmM,GAAyBnM,EAC/Bm7C,EAA0B37C,EAAM2M,qBAChCkvC,EAAgBX,EAAiB16C,GACjCs7C,EAAc,CACZl6B,SAAUi6B,EACVn6B,UAAWm6B,EACXlvC,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,MAAM,GAChC0M,sBAAuB,CAAE1M,MAAM,IASnC,OANIwM,IAAyBgvC,EAC3BG,EAAYn6B,QAAUk6B,GACZlvC,GAAwBgvC,IAClCG,EAAYn6B,QAAUs5B,GAGjBh7C,EAAOD,EAAO87C,IA6NrB,CAACzjC,EAAAA,GAAoBqkC,iBA1NcI,CAAC98C,EAAOO,EAAQC,KACnD,MAAM,qBAAEmM,GAAyBnM,EAC/Bq7C,EAAgBX,EAAiB16C,GACjCs7C,EAAc,CACZl6B,SAAUi6B,EACVn6B,UAAWm6B,EACXlvC,qBAAsB,CAAExM,KAAMwM,GAC9BC,uBAAwB,CAAEzM,MAAM,GAChC0M,sBAAuB,CAAE1M,MAAM,IAOnC,OAJIwM,IACFmvC,EAAYn6B,QAAUk6B,GAGjB57C,EAAOD,EAAO87C,IA6MrB,CAACxjC,EAAAA,GAAkB+rB,QAASX,GAE5B,CAAC2B,EAAAA,GAAkBuX,YAAaP,GAEhC,CAACxmB,EAAAA,GAAmB0mB,WAAYH,GAChC,CAACvmB,EAAAA,GAAmB2mB,iBAAkBJ,GACtC,CAACvmB,EAAAA,GAAmB4mB,WAAYV,EAChC,CAAClmB,EAAAA,GAAmB6mB,iBAAkBX,EAEtC,CAACjmB,EAAAA,GAAgBuO,QAASX,GAE1B,CAACmC,EAAAA,GAAiB0W,WAAYN,EAC9B,CAACpW,EAAAA,GAAiB2W,iBAAkBL,EACpC,CAACtW,EAAAA,GAAiB4W,WAAYf,EAC9B,CAAC7V,EAAAA,GAAiB6W,iBAAkBV,EACpC,CAACnW,EAAAA,GAAiBgB,WAAYC,GAC9B,CAACjB,EAAAA,GAAiB8W,iBAAkB7V,GAEpC,CAACvxB,EAAAA,EAAcP,qBA/GOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,GAGR,OAFH9iC,IAAK8iC,EAAG,UAAW,OAKpC,IAAK9zB,EACH,OAAOjS,EAET,MACIkI,QAAS0Z,EAAWna,EAAeyD,kBAAmBwW,EAAYja,EAAeuD,gBAAiB2W,EAAUla,GAAkBwK,EAElI,OAAOhS,EAAOD,EAAO,CACnB0hB,UAAWy5B,EAAsBz5B,GACjCC,QAASw5B,EAAsBx5B,GAC/BC,SAAUu5B,EAAsBv5B,GAChCjV,qBAAsB,CAAExM,KAAMi7C,EAAiBx5B,EAAUD,IACzD/U,uBAAwB,CAAEzM,KAAMi7C,EAAiBx5B,EAAUF,IAC3D7U,sBAAuB,CAAE1M,KAAMi7C,EAAiBz5B,EAASD,QAoFhD,SAAS,GAAC1hB,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,uKCrdO,MAAMm2B,EAAa,2BAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,EACbqhB,YAAa,KACbsnB,eAAe,EACf/nC,KAAM,GACNN,KAAM,GACNiI,qBAAsB,IAGxB9F,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA4ET72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAK7C,CAACt2B,EAAAA,GAAQwpC,gBA/DYC,CAACvpC,EAAOO,EAAQC,KACrC,MAAM,UAAEsY,EAAS,KAAE9X,EAAI,qBAAEiI,EAAoB,KAAE3H,GAASd,EAExD,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnB9X,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9B3H,KAAM,CAAEnB,KAAMmB,MAyDhB,CAACxB,EAAAA,GAAQsiC,UAtDOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAqD7C,CAACt2B,EAAAA,GAAQ+3B,SA/BMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAqBjB,CAACtE,EAAAA,GAAQk6B,MApDGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UACJsY,EAAS,aACTowB,EAAY,KACZloC,EAAI,qBACJiI,EAAoB,KACpB3H,EAAI,cACJ+nC,GACE7oC,EAEJ,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtBloC,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9B3H,KAAM,CAAEnB,KAAMmB,GACd+nC,cAAe,CAAElpC,KAAMkpC,GACvB3oC,YAAa,CAAEP,KAAM,MAoCvB,CAACL,EAAAA,GAAQi4B,OAnBIqF,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,YAAEuhB,GAAgBvhB,EACxB,OAAOP,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,GACrB4hB,YAAa,CAAE5hB,KAAM4hB,MAgBvB,CAACsV,EAAAA,EAAgBzzB,6BAnFCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA2EJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,2WC/GO,MAAMm2B,EAAa,oBAGxBC,EAAwB,CACtB3qB,oBAAqB,KACrBhC,iBAAkB,GAClBszC,kBAAkB,EAClBn+B,eAAgB,KAChB3V,qBAAsB,GACtBunC,yBAA0B,GAC1BwM,iBAAkB,KAClBvuC,YAAa,KACb3N,MAAO,GACPm8C,sBAAuB,GACvB/hC,KAAM,EACNgiC,YAAa,CAAC,EACdt7C,UAAW,GACXu7C,kBAAmB,KACnBC,oBAAqB,KACrBC,iBAAkB,KAClBC,YAAa,KACbC,eAAgB,KAChBC,aAAc,KACdC,UAAW,KACXC,oBAAqB,KACrBC,kBAAmB,GACnB37C,SAAU,GACVF,WAAY,GACZd,KAAM,GACN48C,cAAe,CAAC,EAChB18C,YAAa,GACb0R,UAAW,GACXirC,MAAO,EACPC,uBAAwB,GACxBC,2BAA4B,CAAC,EAC7BC,2BAA4B,EAC5BC,SAAU,KACVC,SAAU,KACVC,kBAAkB,EAClBC,4BAA4B,EAC5BC,kBAAkB,EAClBC,kBAAkB,EAClB/yC,WAAY,KACZgzC,eAAe,EACfpW,UAAW,KACXC,KAAM,KACNoW,SAAU,CAAC,EACXC,UAAW,CAAC,EACZx8C,OAAQ,GACRX,KAAM,KACNo9C,YAAa,KACbC,aAAc,KACdC,kBAAmB,KAEnBC,iBAAiB,EACjBC,cAAc,EACdC,mBAAmB,EACnBC,mBAAmB,EACnBC,uBAAuB,EACvBC,gBAAgB,EAChBC,+BAA+B,GAEjCh8C,EAAgB8C,IAAQuwB,EAAAA,GAAeC,WAAWN,EAAYC,IAC9DgpB,EAAcn4C,IAAQ4qC,EAAAA,GAAU,CAACwN,EAAOvN,KACtCuN,EAAMvN,EAAO37B,OAAS27B,EAAOC,MACtBsN,GACN,CAAC,GACJp/C,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAET4oB,EAA6BA,CAACxB,EAAwBC,IAC7CwB,IAAOzB,GAAwBroC,KAAK,CAACC,EAAGC,IACtCooC,EAA2BroC,GAAKqoC,EAA2BpoC,IAAM,EAAI,GAGhF6pC,EAA0BA,CAAC1B,EAAwB70C,EAAsB01C,EAAcQ,KACrF,MAAMxB,EAAoBxxB,IAAQ2xB,EAAyB2B,GAClDA,IAAWx2C,GACjBwM,KAAK,CAACC,EAAGC,IACHD,EAAIC,GAMb,OAHI1M,KAAqF,IAA5Dy2C,IAAS5B,EAAwB70C,IAAgC01C,GAAgBQ,IAC5GxB,EAAkBgC,QAAQ12C,GAErB00C,GAETiC,EAAcA,CAAC7qC,EAAK/U,EAAOQ,EAAMq/C,KAC/B,MACE,YACE7c,GAAc,EAAK,MACnBh6B,EAAQ,GAAE,UACVpH,EAAY,GAAE,WACdE,EAAa,GAAE,SACfE,EAAW,GAAE,OACbC,EAAS,GAAE,YACXG,EAAc,GAAE,aAChBkG,EAAe,GAAE,aACjBC,EAAe,GAAE,KACjBX,EAAO,GACP5H,MAAOof,EAAY,GAAE,QACrB/W,EAAU,GAAE,QACZN,EAAU,KAAI,MACdjH,EAAQ,GAAE,YACVI,EAAc,IACZV,GAAQ,CAAC,EAEf,GAAmB,OAAfR,EAAM+U,GAAe,CACvB,MAAM1J,EAAU,CACd23B,cACAphC,UAAWy7B,IAAMz7B,GACjBE,WAAYu7B,IAAMv7B,GAClBE,SAAUq7B,IAAMr7B,GAChBC,SACAG,YAAai7B,IAAMj7B,GACnBkG,aAAc+0B,IAAM/0B,GACpBC,aAAc80B,IAAM90B,GACpBX,KAAMy1B,IAAMz1B,GACZ5H,MAAOof,EACP/W,UACAN,QAASs1B,IAAMt1B,GACfjH,MAAOu8B,IAAMv8B,GACbI,eAMF,OAJI2+C,IACFx0C,EAAQrC,MAAQq0B,IAAMr0B,IAGjB/I,EAAOD,EAAO,CACnB,CAAC+U,GAAM,CAAE5U,KAAMkL,IAEnB,CAEA,MAAMvF,EAAU,CACdk9B,YAAa,CAAE7iC,KAAM6iC,GACrBphC,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAM8B,GAChBG,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BkG,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpB5H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBjH,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMe,IAKvB,OAHI2+C,IACF/5C,EAAQkD,MAAQ,CAAE7I,KAAMk9B,IAAMr0B,KAEzB/I,EAAOD,EAAO,CACnB,CAAC+U,GAAMjP,KAIXitC,EAA6BA,CAAC/yC,EAAOO,EAAQC,IACpCo/C,EAAY,sBAAuB5/C,EAAOQ,GAAM,GAEzD0tC,EAA0BA,CAACluC,EAAOO,EAAQC,KACxC,MAAM,iBAAEiJ,GAAqBjJ,EAC7B,OAAOP,EAAOD,EAAO,CACnByJ,iBAAkB,CAAEtJ,KAAMsJ,MAiB9Bq2C,EAAqBA,CAAC9/C,EAAOO,EAAQC,IAC5Bo/C,EAAY,cAAe5/C,EAAOQ,GAAM,GASjDu/C,EAAoBA,CAAC//C,EAAOO,EAAQC,IAC3Bo/C,EAAY,aAAc5/C,EAAOQ,GAAM,GAEhDw/C,EAAqBA,CAAChgD,EAAOO,EAAQC,KACnC,MAAM,sBAAE+d,EAAqB,WAAExQ,EAAU,QAAEE,EAAO,SAAEM,GAAa/N,EAEjE,OAAOP,EAAOD,EAAO,CACnBk9C,YAAa,CACX,CAAC3+B,GAAwB,CAAEpe,KAAM4N,IAEnCywC,SAAU,CACR,CAACjgC,GAAwB,CAAEpe,KAAM8N,IAEnCwwC,UAAW,CACT,CAAClgC,GAAwB,CAAEpe,KAAMoO,OA2UvC0xC,EAAkBA,CAACjgD,EAAOO,EAAQC,KAChC,MAAM,SAAE0/C,KAAaC,GAAY3/C,EAE3Bk2B,EAAWoN,OAAOsc,KAAKD,GAAS5U,OAAO,CAAC8U,EAAKtrC,KACjDsrC,EAAItrC,GAAO,CAAE5U,KAAMggD,EAAQprC,IACpBsrC,GACN,CAAEjY,KAAM,CAAEjoC,KAAM+/C,GAAYlgD,EAAMooC,QAErC,OAAOnoC,EAAOD,EAAO02B,IAsqBvB72B,EAAa,CACX,CAACC,EAAAA,GAAQ82B,OAtrBIC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAsrB7C,CAACre,EAAAA,GAAoBuoC,WAAYL,EACjC,CAACloC,EAAAA,GAAoB4sB,cAvqBM4b,CAACvgD,EAAOO,EAAQC,KAC3C,MAAM,MAAEM,GAAUN,EAElB,OAAOP,EAAOD,EAAO,CACnBc,MAAO,CAAEX,KAAMW,GACfsnC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SAmqBvC,CAACrwB,EAAAA,GAAoB6sB,mBA/pBU4b,CAACxgD,EAAOO,EAAQC,KAC/C,MAAM,UAAEoB,GAAcpB,EAEtB,OAAOP,EAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMyB,GACnBwmC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SA2pBvC,CAACrwB,EAAAA,GAAoB8sB,kBAvpBS4b,CAACzgD,EAAOO,EAAQC,KAC9C,MAAM,SAAEwB,GAAaxB,EAErB,OAAOP,EAAOD,EAAO,CACnBgC,SAAU,CAAE7B,KAAM6B,GAClBomC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SAmpBvC,CAACrwB,EAAAA,GAAoBitB,cA/oBY0b,CAAC1gD,EAAOO,EAAQC,KACjD,MAAM,YAAEU,GAAgBV,EAExB,OAAOP,EAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMe,GACrBknC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SA2oBvC,CAACrwB,EAAAA,GAAoBssB,QAtoBDsc,CAAC3gD,EAAOO,EAAQC,KACpC,MACE,SAAEoW,EAAW,CAAC,EAAC,KAAE+yB,EAAO,CAAC,EAAC,GAAE/oC,EAAK,IAAOJ,GACxC,KACEQ,EAAO,GAAE,KACTM,EAAO,IACLsV,GACJ,oBACEnL,EAAsB,KAAI,iBAC1BhC,EAAmB,GAAE,qBACrBR,EAAuB,GAAE,sBACzBg0C,EAAwB,GAAE,YAC1BxuC,EAAc,KAAI,eAClB8uC,EAAiB,KAAI,aACrBC,EAAe,KAAI,eACnB0B,GAAiB,EAAI,kBACrBF,GAAoB,EAAI,sBACxBC,GAAwB,EAAI,aAC5BH,GAAe,EAAI,kBACnBC,GAAoB,EAAI,8BACxBI,GAAgC,EAAI,sBACpCyB,GAAwB,EAAI,gBAC5B/B,GAAkB,EAAI,WACtBtzC,EAAa,MACXo+B,EACJ6G,EAA2BvnC,EAAuBm2C,EAAYn2C,GAAwB,IAGtF,oBAAEy0C,GAAwB19C,EAC1BsN,EAAeowC,EACfI,EAAyBxwC,EAAe,CAAEA,GAAiB,GAC3DywC,EAA6BzwC,EAAe,CAAE,CAACA,GAAe8xC,EAAY9xC,IAAkB,CAAC,EAC7FswC,EAAgBtwC,EAAe,CAAE,CAACA,GAAe,MAAS,CAAC,EAC3DqwC,EAAoB6B,EAAwB1B,EAAwB70C,EAAsBjJ,EAAM2+C,aAAcQ,GAMhH,OAJgE,IAA5DO,IAAS5B,EAAwB70C,KACnC20C,EAAc30C,IAAwB,GAGjChJ,EAAOD,EAAO,CACnByL,oBAAqB,CAAEtL,KAAMsL,GAC7BsxC,iBAAkB,CAAE58C,OAAQS,GAC5B6I,iBAAkB,CAAEtJ,KAAMsJ,GAC1BmV,eAAgB,CAAEze,KAAM,MACxB8I,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCwM,iBAAkB,CAAE78C,KAAM,MAC1BsO,YAAa,CAAEtO,KAAMsO,GACrB3N,MAAO,CAAEX,KAAM,IACf88C,sBAAuB,CAAE98C,KAAM88C,GAC/Br7C,UAAW,CAAEzB,KAAM,IACnBg9C,kBAAmB,CAAEh9C,KAAM,MAC3Bi9C,oBAAqB,CAAEj9C,KAAM,MAC7Bm9C,YAAa,CAAEn9C,KAAM,MACrBo9C,eAAgB,CAAEp9C,KAAMo9C,GACxBC,aAAc,CAAEr9C,KAAMq9C,GACtBG,kBAAmB,CAAEx9C,KAAMw9C,GAC3B37C,SAAU,CAAE7B,KAAM,IAClBa,KAAM,CAAEb,KAAMa,GACdk+C,eAAgB,CAAE/+C,KAAM++C,GACxBF,kBAAmB,CAAE7+C,KAAM6+C,GAC3BC,sBAAuB,CAAE9+C,KAAM8+C,GAC/BH,aAAc,CAAE3+C,KAAM2+C,GACtBK,8BAA+B,CAAEh/C,KAAMg/C,GACvCJ,kBAAmB,CAAE5+C,KAAM4+C,GAC3B6B,sBAAuB,CAAEzgD,KAAMygD,GAC/B/B,gBAAiB,CAAE1+C,KAAM0+C,GACzBjB,cAAe,CAAEz9C,KAAMy9C,GACvB18C,YAAa,CAAEf,KAAM,IACrByS,UAAW,CAAEzS,KAAM,IACnB29C,uBAAwB,CAAE39C,KAAM29C,GAChCE,2BAA4B,CAAE79C,KAAM29C,EAAuBx5C,QAC3Dy5C,2BAA4B,CAAE59C,KAAM49C,GACpCxyC,WAAY,CAAEpL,KAAMoL,GACpB68B,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC9mC,KAAM,CAAEnB,KAAMmB,GACdq9C,aAAc,CAAEx+C,KAAM,SA2jBxB,CAAC4X,EAAAA,GAAoBw7B,UAvjBDd,CAACzyC,EAAOO,EAAQC,KACpC,MACE,KAAEQ,GAASR,EAIXqgD,IAAe7gD,EAAMgB,MAAQA,IAAShB,EAAMgB,KAC5Cg+C,EAAoBh/C,EAAMg/C,mBAAqB6B,EAEjD,OAAO5gD,EAAOD,EAAO,CACnBgB,KAAM,CAAEb,KAAMa,GACdg+C,kBAAmB,CAAE7+C,KAAM6+C,GAC3B5W,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SA4iBvC,CAACrwB,EAAAA,GAAoB07B,UAviBDb,CAAC5yC,EAAOO,EAAQC,KACpC,MAAM,KAAEc,GAASd,EAEjB,OAAOP,EAAOD,EAAO,CACnBc,MAAO,CAAEX,KAAM,IACfa,KAAM,CAAEb,KAAM,IACd6B,SAAU,CAAE7B,KAAM,IAClBe,YAAa,CAAEf,KAAM,IACrByS,UAAW,CAAEzS,KAAM,IACnB89C,SAAU,CAAE99C,KAAM,MAClBioC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC9mC,KAAM,CAAEnB,KAAMmB,MA6hBhB,CAACyW,EAAAA,GAAoB++B,oBAxhBMgK,CAAC9gD,EAAOO,EAAQC,KAC3C,MACE,KAAEQ,EAAI,KAAEM,GAASd,EAGjBw+C,EAAoBh/C,EAAMg/C,qBAAwBh/C,EAAMgB,MAAQA,IAAShB,EAAMgB,QAAYhB,EAAMsB,MAAQA,IAAStB,EAAMsB,KAE1H,OAAOrB,EAAOD,EAAO,CACnBgB,KAAM,CAAEb,KAAMa,GACdg+C,kBAAmB,CAAE7+C,KAAM6+C,GAC3B19C,KAAM,CAAEnB,KAAMmB,MA+gBhB,CAACyW,EAAAA,GAAoBotB,MAAO8a,EAC5B,CAACloC,EAAAA,GAAoBgpC,YA5gBDC,CAAChhD,EAAOO,EAAQC,KACpC,MAAM,SAAEy9C,GAAaz9C,EAErB,OAAOP,EAAOD,EAAO,CACnBi+C,SAAU,CAAE99C,KAAM89C,GAClB7V,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SAwgBvC,CAACrwB,EAAAA,GAAoBkpC,gBAngBeC,CAAClhD,EAAOO,EAAQC,KACpD,MAAM,qBAAEyI,EAAoB,iBAAE+zC,GAAqBx8C,GACjD,iBACEu8C,EAAgB,aAChBS,EAAY,KACZx8C,EAAI,cACJ48C,EAAa,KACbt8C,GACEtB,EACJwwC,EAA2BvnC,EAAuBm2C,EAAYn2C,GAAwB,GACtF00C,EAAoB6B,EAAwBx/C,EAAM89C,uBAAwB70C,EAAsBjJ,EAAM2+C,aAAc3+C,EAAMm/C,+BAC1HgC,EAAmB5B,IAAO3B,GAM5B,OAJI30C,IACFk4C,EAAiBl4C,IAAyBu0C,GAGrCv9C,EAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCwM,iBAAkB,CAAE78C,KAAM68C,GAC1Bl8C,MAAO,CAAEX,KAAM,IACfw9C,kBAAmB,CAAEx9C,KAAMw9C,GAC3B37C,SAAU,CAAE7B,KAAM,IAClBa,KAAM,CAAEb,KAAM48C,EAAmB/7C,EAAO,IACxC48C,cAAe,CAAEz9C,KAAMghD,GACvBjgD,YAAa,CAAEf,KAAM,IACrByS,UAAW,CAAEzS,KAAM,IACnBioC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC6V,SAAU,CAAE99C,KAAM,MAClB+9C,SAAU,CAAE/9C,KAAM,MAClBmB,KAAM,CAAEnB,KAAM48C,EAAmBz7C,EAAO,IACxCq9C,aAAc,CAAEx+C,KAAM,SAoexB,CAAC4X,EAAAA,GAAoBqpC,sBA/dOC,CAACrhD,EAAOO,EAAQC,KAC5C,MAAM,cAAEo9C,EAAa,oBAAER,GAAwB58C,GAC7C,iBACEu8C,EAAgB,qBAChB9zC,EAAoB,aACpBu0C,EAAY,KACZx8C,EAAI,KACJM,GACEtB,EACJmhD,EAAmB5B,IAAO3B,GAI5B,OAFAuD,EAAiBl4C,IAAyBu0C,EAEnCv9C,EAAOD,EAAO,CACnBc,MAAO,CAAEX,KAAM,IACfg9C,kBAAmB,CAAEh9C,KAAM,MAC3Bi9C,oBAAqB,CAAEj9C,KAAMi9C,GAC7Bp7C,SAAU,CAAE7B,KAAM,IAClBa,KAAM,CAAEb,KAAM48C,EAAmB/7C,EAAO,IACxC48C,cAAe,CAAEz9C,KAAMghD,GACvBjgD,YAAa,CAAEf,KAAM,IACrByS,UAAW,CAAEzS,KAAM,IACnB89C,SAAU,CAAE99C,KAAM,MAClB+9C,SAAU,CAAE/9C,KAAM,MAClBioC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC9mC,KAAM,CAAEnB,KAAM48C,EAAmBz7C,EAAO,OAuc1C,CAACyW,EAAAA,GAAoBL,uBAncQ4pC,CAACthD,EAAOO,IAC9BN,EAAOD,EAAO,CACnBooC,KAAM,CAAEjoC,KAAMI,EAAOE,MAAQ8gD,EAAAA,GAAM1pB,QAAU,MAkc/C,CAAC9f,EAAAA,GAAoBggC,YA7bGyJ,CAACxhD,EAAOO,EAAQC,KACxC,MAAM,eAAEoe,GAAmBpe,GACzB,iBACEu8C,EAAgB,aAChBS,EAAY,KACZx8C,EAAI,8BACJm+C,EAA6B,cAC7BvB,EAAa,uBACbE,EAAsB,KACtBx8C,EAAI,aACJq9C,GACE3+C,EACJiJ,GAA0C,IAAnB2V,EAA0Bk/B,EAAuB,GAAK,GAC7EtN,EAA2BvnC,EAAuBm2C,EAAYn2C,GAAwB,GACtF00C,EAAoB6B,EAAwB1B,EAAwB70C,EAAsB01C,EAAcQ,GAG1G,OAAOl/C,EAAOD,EAAO,CACnB4e,eAAgB,CAAEze,KAAMye,GACxB3V,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCwM,iBAAkB,CAAE78C,KAAM,MAC1BW,MAAO,CAAEX,KAAM,IACfg9C,kBAAmB,CAAEh9C,KAAM,MAC3Bi9C,oBAAqB,CAAEj9C,KAAM,MAC7Bw9C,kBAAmB,CAAEx9C,KAAMw9C,GAC3B37C,SAAU,CAAE7B,KAAM,IAClBa,KAAM,CAAEb,KAAM48C,EAAmB/7C,EAAO,IACxC48C,cAAe,CAAEz9C,KAbEye,EAAiB,CAAE,CAAC3V,IAAwBu0C,GAAiBI,GAchF18C,YAAa,CAAEf,KAAM,IACrByS,UAAW,CAAEzS,KAAM,IACnB89C,SAAU,CAAE99C,KAAM,MAClB+9C,SAAU,CAAE/9C,KAAM,MAClBioC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC9mC,KAAM,CAAEnB,KAAM48C,EAAmBz7C,EAAO,IACxCq9C,aAAc,CAAEx+C,KAAM,SA2ZxB,CAAC4X,EAAAA,GAAoBg8B,SAvZS0N,CAACzhD,EAAOO,EAAQC,KAC9C,MAAM,qBAAEyI,GAAyBzI,GAC/B,aACEg9C,EAAY,cACZI,GACE59C,EACJwwC,EAA2B4O,EAAYn2C,GACvC00C,EAAoB6B,EAAwBx/C,EAAM89C,uBAAwB70C,EAAsBjJ,EAAM2+C,aAAc3+C,EAAMm/C,+BAC1HgC,EAAmB5B,IAAO3B,GAG5B,OADAuD,EAAiBl4C,IAAyBu0C,EACnCv9C,EAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCmN,kBAAmB,CAAEx9C,KAAMw9C,GAC3BC,cAAe,CAAEz9C,KAAMghD,GACvB/Y,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SAwYvC,CAACrwB,EAAAA,GAAoB2pC,qBApYMC,CAAC3hD,EAAOO,EAAQC,KAC3C,MAAM,kBAAE28C,GAAsB38C,EAE9B,OAAOP,EAAOD,EAAO,CACnBm9C,kBAAmB,CAAEh9C,KAAMg9C,GAC3B/U,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SAgYvC,CAACrwB,EAAAA,GAAoB6pC,aA3XQC,CAAC7hD,EAAOO,EAAQC,KAC7C,MAAM,oBAAE48C,GAAwB58C,GAC9B,iBACEu8C,EAAgB,qBAChB9zC,EAAoB,aACpBu0C,EAAY,KACZx8C,EAAI,cACJ48C,EAAa,uBACbE,EAAsB,KACtBx8C,EAAI,aACJq9C,GACE3+C,EACJmhD,EAAmBl6C,IAAQ62C,EAAwB,CAACrrC,EAAS7E,KACvDk0C,IAAalE,EAAchwC,KAAgC,OAAvBgwC,EAAchwC,GAElD6E,EAAQ7E,GADNA,IAAQ3E,IAGMm0C,EAGlB3qC,EAAQ7E,GAAOgwC,EAAchwC,GAExB6E,GACN,CAAC,GAKN,OAHIksC,IACFwC,EAAiBl4C,IAAyBu0C,GAErCv9C,EAAOD,EAAO,CACnBc,MAAO,CAAEX,KAAM,IACfg9C,kBAAmB,CAAEh9C,KAAM,MAC3Bi9C,oBAAqB,CAAEj9C,KAAMi9C,GAC7Bp7C,SAAU,CAAE7B,KAAM,IAClBa,KAAM,CAAEb,KAAM48C,EAAmB/7C,EAAO,IACxCE,YAAa,CAAEf,KAAM,IACrByS,UAAW,CAAEzS,KAAM,IACnBy9C,cAAe,CAAEz9C,KAAMghD,GACvBlD,SAAU,CAAE99C,KAAM,MAClB+9C,SAAU,CAAE/9C,KAAM,MAClBioC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC9mC,KAAM,CAAEnB,KAAM48C,EAAmBz7C,EAAO,OAoV1C,CAACyW,EAAAA,GAAoBgqC,eAhVAC,CAAChiD,EAAOO,EAAQC,KACrC,MAAM,YAAE88C,GAAgB98C,EAExB,OAAOP,EAAOD,EAAO,CACnBs9C,YAAa,CAAEn9C,KAAMm9C,GACrBlV,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SA4UvC,CAACrwB,EAAAA,GAAoBkqC,eArSCC,CAACliD,EAAOO,EAAQC,KACtC,MAAM,aAAEg9C,GAAiBh9C,GACvB,iBACEu8C,EAAgB,qBAChB9zC,EAAoB,oBACpBy0C,EAAmB,8BACnByB,EAA6B,KAC7B79C,GACEtB,EACJsN,EAAeowC,EACfI,EAAyBxwC,EAAe,CAAEA,GAAiB,GAC3D0wC,EAA6BF,EAAuBx5C,OACpDy5C,EAA6BzwC,EAAe,CAAE,CAACA,GAAe8xC,EAAY9xC,IAAkB,CAAC,EAC7FswC,EAAgBtwC,EAAe,CAAE,CAACA,GAAe,MAAS,CAAC,EAE7D,OAsBOrN,EAAOD,EAtBT+8C,EAsBgB,CACnBn+B,eAAgB,CAAEze,KAAM,MACxBgiD,WAAY,CAAEhiD,KAAM,MACpBg9C,kBAAmB,CAAEh9C,KAAM,MAC3Bm9C,YAAa,CAAEn9C,KAAM,MACrBq9C,aAAc,CAAEr9C,KAAMq9C,GACtBG,kBAAmB6B,EAAwB1B,EAAwB70C,EAAsBjJ,EAAM2+C,aAAcQ,GAC7GvB,cAAe,CAAEz9C,KAAMy9C,GACvBE,uBAAwB,CAAE39C,KAAM29C,GAChCE,2BAA4B,CAAE79C,KAAM69C,GACpCD,2BAA4B,CAAE59C,KAAM49C,GACpC3V,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC9mC,KAAM,CAAEnB,KAAMmB,GACdq9C,aAAc,CAAEx+C,KAAM,OAlCD,CACnBye,eAAgB,CAAEze,KAAM,MACxB8I,qBAAsB,CAAE9I,KAAM,IAC9BqwC,yBAA0B,CAAErwC,KAAM,IAClC68C,iBAAkB,CAAE78C,KAAM,MAC1BgiD,WAAY,CAAEhiD,KAAM,MACpBg9C,kBAAmB,CAAEh9C,KAAM,MAC3Bm9C,YAAa,CAAEn9C,KAAM,MACrBq9C,aAAc,CAAEr9C,KAAMq9C,GACtBG,kBAAmB,CAAEx9C,KAAMq/C,EAAwB1B,EAAwB,GAAI99C,EAAM2+C,aAAcnB,IACnGx8C,KAAM,CAAEb,KAAM,IACdg/C,8BAA+B,CAAEh/C,KAAMq9C,GACvCI,cAAe,CAAEz9C,KAAMy9C,GACvBE,uBAAwB,CAAE39C,KAAM29C,GAChCE,2BAA4B,CAAE79C,KAAM69C,GACpCD,2BAA4B,CAAE59C,KAAM49C,GACpC3V,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC9mC,KAAM,CAAEnB,KAAM,IACdw+C,aAAc,CAAEx+C,KAAM,SAoQ1B,CAAC4X,EAAAA,GAAoBqqC,aAhPFC,CAACriD,EAAOO,EAAQC,KACnC,MAAM,SAAE09C,GAAa19C,EAErB,GAAiB,gBAAb09C,EAA4B,CAC9B,MAAM,cAAEN,EAAa,uBAAEE,EAAsB,qBAAE70C,EAAoB,8BAAEk2C,EAA6B,aAAER,GAAiB3+C,EACnHsiD,EAAYr7C,IAAQ62C,EAAwB,CAACrrC,EAASgtC,KAC/C7B,EAAc6B,KACjBhtC,EAAQ8vC,QAAQrsC,KAAKupC,GACrBhtC,EAAQmrC,cAAc6B,IAAU,GAE3BhtC,GACN,CAAE8vC,QAAS,GAAI3E,cAAe,CAAC,IAKpC,OAHIe,IAAiBf,EAAc30C,KACjCq5C,EAAU1E,cAAc30C,IAAwB,GAE3ChJ,EAAOD,EAAO,CACnB29C,kBAAmB,CAAEx9C,KAAMq/C,EAAwB8C,EAAUC,QAASt5C,EAAsB01C,EAAcQ,IAC1GvB,cAAe,CAAEz9C,KAAMmiD,EAAU1E,eACjCE,uBAAwB,CAAE39C,KAAMmiD,EAAUC,SAC1CvE,2BAA4B,CAAE79C,KAAMmiD,EAAUC,QAAQ90C,OACtDywC,SAAU,CAAE/9C,KAAM+9C,GAClB9V,KAAM,CAAEjoC,KAAMK,EAAK0/C,WAEvB,CAEA,OAAOjgD,EAAOD,EAAO,CACnBk+C,SAAU,CAAE/9C,KAAM+9C,GAClB9V,KAAM,CAAEjoC,KAAMK,EAAK0/C,aAqNrB,CAACnoC,EAAAA,GAAoBiiB,MAtUPwoB,CAACxiD,EAAOO,EAAQC,KAC9B,MACE,iBACE68C,EAAmB,KAAI,UACvBI,EAAY,GAAE,oBACdC,EAAsB,GAAE,YACxBgB,EAAc,IACZl+C,EACJ8M,EAAeowC,EACfI,EAAyBxwC,EAAe,CAAEA,GAAiB,GAC3DywC,EAA6BzwC,EAAe,CAAE,CAACA,GAAe8xC,EAAY9xC,IAAkB,CAAC,EAC7FswC,EAAgBtwC,EAAe,CAAE,CAACA,GAAe,MAAS,CAAC,EAG7D,OADAkpB,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAC9EinB,mBACAG,aAAcH,EACdI,YACAC,sBACAC,kBAAmB6B,EAAwB1B,EAAwB,IAAI,GAAO,GAC9EF,gBACAE,yBACAC,6BACAC,2BAA4BF,EAAuBx5C,OACnDi6C,eAAe,EACfnW,KAAMmZ,EAAAA,GAAMkB,QACZ/D,kBA6SF,CAAC3mC,EAAAA,GAAoB2qC,MAlNPC,CAAC3iD,EAAOO,EAAQC,KAC9B,MAAM,UAAEoS,GAAcpS,EAEtB,OAAOP,EAAOD,EAAO,CACnB4S,UAAW,CAAEzS,KAAMyS,GACnBw1B,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SA8MvC,CAACrwB,EAAAA,GAAoB6qC,QA1MLC,CAAC7iD,EAAOO,EAAQC,KAChC,MAAM,MAAEq9C,EAAK,KAAE3iC,GAAS1a,EAExB,OAAOP,EAAOD,EAAO,CACnBkb,KAAM,CAAE/a,KAAM+a,GACd2iC,MAAO,CAAE19C,KAAM09C,MAsMjB,CAAC9lC,EAAAA,GAAoB+qC,WAAY7C,EACjC,CAACloC,EAAAA,GAAoBgrC,sBAnMaC,CAAChjD,EAAOO,EAAQC,KAClD,MAAM,qBAAEyI,EAAoB,8BAAEk2C,EAA6B,cAAEvB,EAAa,uBAAEE,EAAsB,aAAEa,GAAiB3+C,GACnH,iBAAEijD,GAAqBziD,EACvB2gD,EAAmB,CAAC,EACpB+B,EAA4B,GAC5BC,GAAgE,IAApDF,EAAiBp+C,QAAQoE,GAEvC,IAAIm6C,EAAkBzE,EAGtBxpC,IAAS2oC,EAAyBlwC,KACO,IAAnCq1C,EAAiBp+C,QAAQ+I,IACvBgwC,EAAchwC,KAChBs1C,EAA0BhtC,KAAKtI,GAC/BuzC,EAAiBvzC,IAAO,KAM9BuH,IAAS8tC,EAAmBr1C,IAC1Bs1C,EAA0BhtC,KAAKtI,GAC/BuzC,EAAiBvzC,IAAO,KAItBu1C,GAAcxE,IAAiBwE,KACjCC,GAAkB,GAGpB,MAAMrF,EAA6B92C,IAAQi8C,EAA2B,CAAC7D,EAAOI,KAC5EJ,EAAMI,GAAUL,EAAYK,GACrBJ,GACN,CAAC,GAEJ,OAAOp/C,EAAOD,EAAO,CACnB29C,kBAAmB,CAAEx9C,KAAMq/C,EAAwB0D,EAA2Bj6C,EAAsB01C,EAAcQ,IAClHvB,cAAe,CAAEz9C,KAAMghD,GACvBrD,uBAAwB,CAAE39C,KAAMm/C,EAA2B4D,EAA2BnF,IACtFA,2BAA4B,CAAE59C,KAAM49C,GACpCC,2BAA4B,CAAE79C,KAAM+iD,EAA0B5+C,QAC9Dq6C,aAAc,CAAEx+C,KAAMijD,MA2JxB,CAACrrC,EAAAA,GAAoBsrC,UAtJWC,CAACtjD,EAAOO,EAAQC,KAChD,MACE,uBAAEs9C,GAA2Bt9C,GAC7B,iBACEu8C,EAAgB,qBAChB9zC,EAAoB,aACpBu0C,EAAY,8BACZ2B,GACEn/C,EACJ+9C,EAA6B92C,IAAQ62C,EAAwB,CAACuB,EAAOI,KACnEJ,EAAMI,GAAUL,EAAYK,GACrBJ,GACN,CAAC,GACJzB,EAAgB32C,IAAQ62C,EAAwB,CAACrrC,EAAS7E,KACxD6E,EAAQ7E,IAAO4vC,GAAe,KACvB/qC,GACN,CAAC,GAEN,OAAKsqC,IAqB2D,IAA5D2C,IAAS5B,EAAwB70C,KACnC20C,EAAc30C,IAAwB,GAGjChJ,EAAOD,EAAO,CACnB4e,eAAgB,CAAEze,KAAM,MACxB68C,iBAAkB,CAAE78C,KAAM,MAC1Bg9C,kBAAmB,CAAEh9C,KAAM,MAC3Bi9C,oBAAqB,CAAEj9C,KAAM,MAC7Bw9C,kBAAmB,CAAEx9C,KAAMq/C,EAAwB1B,EAAwB70C,EAAsBjJ,EAAM2+C,aAAcQ,IACrHvB,cAAe,CAAEz9C,KAAMy9C,GACvBE,uBAAwB,CAAE39C,KAAMm/C,EAA2BxB,EAAwBC,IACnFA,2BAA4B,CAAE59C,KAAM49C,GACpCC,2BAA4B,CAAE79C,KAAM29C,EAAuBx5C,QAC3D8jC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrCuW,aAAc,CAAEx+C,KAAM,SAnCfF,EAAOD,EAAO,CACnB4e,eAAgB,CAAEze,KAAM,MACxB8I,qBAAsB,CAAE9I,KAAM,IAC9BqwC,yBAA0B,CAAErwC,KAAM,IAClC68C,iBAAkB,CAAE78C,KAAM,MAC1Bg9C,kBAAmB,CAAEh9C,KAAM,MAC3Bi9C,oBAAqB,CAAEj9C,KAAM,MAC7Bw9C,kBAAmB,CAAEx9C,KAAMq/C,EAAwB1B,EAAwB,IAAI,GAAO,IACtF98C,KAAM,CAAEb,KAAM,IACdy9C,cAAe,CAAEz9C,KAAMy9C,GACvBE,uBAAwB,CAAE39C,KAAMm/C,EAA2BxB,EAAwBC,IACnFA,2BAA4B,CAAE59C,KAAM49C,GACpCC,2BAA4B,CAAE79C,KAAM29C,EAAuBx5C,QAC3D8jC,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,MACrC9mC,KAAM,CAAEnB,KAAM,IACdw+C,aAAc,CAAEx+C,KAAM,SAqH1B,CAAC4X,EAAAA,GAAoBwrC,wBA7FeC,CAACxjD,EAAOO,EAAQC,KACpD,MAAM,qBAAEyI,EAAoB,8BAAEk2C,EAA6B,cAAEvB,EAAa,uBAAEE,EAAsB,aAAEa,GAAiB3+C,GACnH,mBAAEyjD,GAAuBjjD,EACzB2gD,EAAmB,CAAC,EACpB+B,EAA4B,GAC5BC,GAAkE,IAAtDM,EAAmB5+C,QAAQoE,GAEzC,IAAIm6C,EAAkBzE,EAGtBxpC,IAAS2oC,EAAyBlwC,KACS,IAArC61C,EAAmB5+C,QAAQ+I,KACxBgwC,EAAchwC,KACjBs1C,EAA0BhtC,KAAKtI,GAC/BuzC,EAAiBvzC,IAAO,MAM9BuH,IAASsuC,EAAqB71C,IAC5Bs1C,EAA0BhtC,KAAKtI,GAC/BuzC,EAAiBvzC,IAAO,KAGtBu1C,GAAcxE,IAAiBwE,KACjCC,GAAkB,GAGpB,MAAMrF,EAA6B92C,IAAQi8C,EAA2B,CAAC7D,EAAOI,KAC5EJ,EAAMI,GAAUL,EAAYK,GACrBJ,GACN,CAAC,GAEJ,OAAOp/C,EAAOD,EAAO,CACnB29C,kBAAmB,CAAEx9C,KAAMq/C,EAAwB0D,EAA2Bj6C,EAAsB01C,EAAcQ,IAClHvB,cAAe,CAAEz9C,KAAMghD,GACvBrD,uBAAwB,CAAE39C,KAAMm/C,EAA2B4D,EAA2BnF,IACtFA,2BAA4B,CAAE59C,KAAM49C,GACpCC,2BAA4B,CAAE79C,KAAM+iD,EAA0B5+C,QAC9Dq6C,aAAc,CAAEx+C,KAAMijD,MAsDxB,CAACrrC,EAAAA,GAAoB2rC,gBAlDCC,CAAC3jD,EAAOO,EAAQC,KACtC,MAAM,aAAEm+C,GAAiBn+C,GACvB,uBAAEs9C,EAAsB,qBAAE70C,EAAoB,aAAEu0C,EAAY,8BAAE2B,EAA6B,cAAEvB,GAAkB59C,EAC/GmhD,EAAmBl6C,IAAQ22C,EAAe,CAACnrC,EAAS0D,EAAOpB,KACrDA,IAAQ9L,IACVwJ,EAAQsC,GAAOoB,GAEV1D,GACNksC,EAAe,CAAE,CAAC11C,IAAwBu0C,GAAiB,CAAC,GAC/DG,EAAoB6B,EAAwB1B,EAAwB70C,EAAsB01C,EAAcQ,GAE1G,OAAOl/C,EAAOD,EAAO,CACnB29C,kBAAmB,CAAEx9C,KAAMw9C,GAC3BC,cAAe,CAAEz9C,KAAMghD,GACvBxC,aAAc,CAAEx+C,KAAMw+C,GACtBvW,KAAM,CAAEjoC,KAAMK,EAAK0/C,UAAYlgD,EAAMooC,SAoCvC,CAACrwB,EAAAA,GAAoB0qC,SAAUxC,EAE/B,CAAC5a,EAAAA,GAAkB0P,UAAWhC,EAC9B,CAAC1N,EAAAA,GAAkBqR,gBAAiB3D,EACpC,CAAC1N,EAAAA,GAAkByP,UAAW5G,EAC9B,CAAC7I,EAAAA,GAAkBue,gBAAiB1V,EACpC,CAAC7I,EAAAA,GAAkBwe,qBAAsB/D,EACzC,CAACza,EAAAA,GAAkBye,oBAAqB/D,EACxC,CAAC1a,EAAAA,GAAkB0O,SAvkCS/B,CAAChyC,EAAOO,EAAQC,KAC5C,MAAM,qBAAEyI,GAAyBzI,EAC/BgwC,EAA2B4O,EAAYn2C,GACvC2V,GAAmF,IAAlE8gC,IAAS1/C,EAAM89C,uBAAwB70C,GACxD00C,EAAoB6B,EAAwBx/C,EAAM89C,uBAAwB70C,EAAsBjJ,EAAM2+C,aAAc3+C,EAAMm/C,+BAE5H,OAAOl/C,EAAOD,EAAO,CACnB4e,eAAgB,CAAEze,KAAMye,GACxB3V,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMqwC,GAClCmN,kBAAmB,CAAEx9C,KAAMw9C,GAC3BvV,KAAM,CAAEjoC,KAAMK,EAAK0/C,aA6jCrB,CAAC7a,EAAAA,GAAkB0e,cAAejE,EAClC,CAACza,EAAAA,GAAkB2e,oBAAqBlE,EACxC,CAACza,EAAAA,GAAkB4e,kBAzjCGC,CAAClkD,EAAOO,EAAQC,KACtC,MAAM,eAAE+8C,GAAmB/8C,EAE3B,OAAOP,EAAOD,EAAO,CACnBu9C,eAAgB,CAAEp9C,KAAMo9C,MAsjC1B,CAAClY,EAAAA,GAAkB8e,aAAcpE,EACjC,CAAC1a,EAAAA,GAAkB+e,mBAAoBrE,EACvC,CAAC1a,EAAAA,GAAkBgf,cAAerE,EAClC,CAAC3a,EAAAA,GAAkBif,oBAAqBtE,EAExC,CAACzqC,EAAAA,EAAcP,qBAniCOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,EAAkBvsB,IAAMb,EAASjD,GACD,eAAvBA,EAAM4D,cAGjB,IAAKysB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCiiB,EAAMp4B,IAAQ9Q,EAAYpJ,GAEL,6BADHhP,IAAKgP,EAAO,UAAW,KAI3C,IAAKsyC,GAAsB,IAAfA,EAAIjgD,OACd,OAAOtE,EAGT,MACEwkD,EAASv9C,IAAQs9C,EAAK,CAAC9xC,EAAS4Z,KAC9B,MAEI/e,aAAciR,EACdC,sBAAuBvV,EAAuB,KAC9CwjB,kCAAmCg4B,EAAmB,KACtD93B,oCAAqC+3B,EAAgB,KACrD73B,iCAAkC83B,EAAkB,CAAC,EACrD53B,6BAA8B63B,EAAgB,GAC9CC,WAAYC,GAAY,EACxBt7C,kBAAmBC,EAAmB,GACtC+B,qBAAsBC,EAAsB,KAC5CH,YAAaC,EAAa,KAE1BoT,gBAAiBC,EAAiB,KAClCmmC,iBAAkBxH,EAAiB,KACnC/D,sBAAuBgE,EAAe,KACtCwH,mBAAoBrH,EAAoB,KACxCsH,uBAAwBhI,EAAwB,GAChDiI,eAAgBtH,EAAgB,CAAC,EAEjCuH,gBAAiBjG,GAAiB,EAClCkG,oBAAqBpG,GAAoB,EACzCqG,wBAAyBpG,GAAwB,EACjDqG,cAAexG,GAAe,EAC9ByG,oBAAqBxG,GAAoB,EACzCyG,iCAAkCrG,GAAgC,EAClEsG,wBAAyB7E,GAAwB,EACjD8E,iBAAkB7G,GAAkB,GAClCxyB,GAEFY,uBAAwB04B,EAAiB,KACzCx4B,0BAA2By4B,EAAoB,MAC7CjB,EACJlU,EAA4B2O,EAAY7gC,GACxCiyB,EAA2B4O,EAAYn2C,GAYzC,GAVAwJ,EAAQqrC,uBAAuB5nC,KAAKqI,GACpC9L,EAAQsrC,2BAA2Bx/B,GAAyBkyB,EACxDxnC,IACFwJ,EAAQsrC,2BAA2B90C,GAAwBunC,GAE7D/9B,EAAQurC,4BAA8B,EAClCp/B,IACFnM,EAAQmM,gBAAiB,GAGvBkmC,EAAW,CAoBb,GAnBAryC,EAAQhJ,iBAAmBA,EAC3BgJ,EAAQkrC,kBAAoBA,EAC5BlrC,EAAQ8qC,eAAiBA,EACzB9qC,EAAQ+qC,aAAeA,EACvB/qC,EAAQwqC,sBAAwBA,EAChCxqC,EAAQmrC,cAAgBA,EACpB30C,IACFwJ,EAAQxJ,qBAAuBA,EAC/BwJ,EAAQ+9B,yBAA2BA,GAEjCiU,IACFhyC,EAAQyqC,YAAYj0C,GAAwBw7C,GAE1CC,IACFjyC,EAAQ+rC,SAASv1C,GAAwBy7C,GAEvCiB,IACFlzC,EAAQgsC,UAAUx1C,GAAwB08C,GAExCC,EAAmB,CACrB,MACEjkD,WAAYC,EAAY,GACxBC,YAAaC,EAAa,GAC1BC,UAAWC,EAAW,GAAE,OACxBC,EAAS,GACTyG,aAActG,EAAc,GAAE,MAC9B4G,EAAQ,GAAE,MACVlI,EAAQ,GACRkH,MAAO9G,EAAc,GACrBwG,UAAWY,EAAe,GAC1BX,UAAWY,EAAe,GAAE,KAC5BX,EAAO,GAAE,OACTC,EAAS,GACT7H,MAAOof,EAAY,GACnBtX,IAAKO,EAAU,GAAE,QACjBN,EAAU,KACVk+B,aAAcjD,GAAc,GAC1B4iB,EACJnzC,EAAQhE,YAAc,CACpB7M,YAAWE,aAAYE,WAAUC,SAAQG,cAAa4G,QAAOlI,QAAOI,cAAaoH,eAAcC,eAAcX,OAAMC,SAAQ7H,MAAOof,EAAW/W,UAASN,UAASi7B,cAEnK,CAgDA,GA9CA7tB,IAASyvC,EAAgBt3B,IACvB,MAEIzf,kBAAmBg4C,EACnB/3C,yBAA0Bg4C,EAAgB,GAC1C93C,2BAA4B+3C,EAAa,GACzC73C,iBAAkBC,EAAiB,CAAC,GAClCmf,GAEFhf,UAAW03C,EAAc,GACzBx3C,aAAcy3C,EAAiB,MAC7B93C,EAWN,GATI23C,IACFrzC,EAAQyqC,YAAY2I,GAASC,GAE3BC,IACFtzC,EAAQ+rC,SAASqH,GAASE,GAExBC,IACFvzC,EAAQgsC,UAAUoH,GAASG,GAEzBC,EAAgB,CAClB,MACEtkD,WAAYC,EAAY,GACxBC,YAAaC,EAAa,GAC1BC,UAAWC,EAAW,GAAE,OACxBC,EAAS,GACTyG,aAActG,EAAc,GAAE,MAC9B4G,EAAQ,GAAE,MACVlI,EAAQ,GACRkH,MAAO9G,EAAc,GACrBwG,UAAWY,EAAe,GAC1BX,UAAWY,EAAe,GAAE,KAC5BX,EAAO,GAAE,OACTC,EAAS,GACT7H,MAAOof,EAAY,GACnBtX,IAAKO,EAAU,GAAE,QACjBN,EAAU,KACVk+B,aAAcjD,GAAc,GAC1BijB,EACJxzC,EAAQhE,YAAc,CACpB7M,YAAWE,aAAYE,WAAUC,SAAQG,cAAa4G,QAAOlI,QAAOI,cAAaoH,eAAcC,eAAcX,OAAMC,SAAQ7H,MAAOof,EAAW/W,UAASN,UAASi7B,cAEnK,IAEEv3B,EAAqB,CACvB,MACE9J,WAAYC,EAAY,GACxBC,YAAaC,EAAa,GAC1BC,UAAWC,EAAW,GAAE,OACxBC,EAAS,GACTyG,aAActG,EAAc,GAAE,MAC9B4G,EAAQ,GAAE,MACVlI,EAAQ,GACRkH,MAAO9G,EAAc,GACrBwG,UAAWY,EAAe,GAC1BX,UAAWY,EAAe,GAAE,KAC5BX,EAAO,GAAE,OACTC,EAAS,GACT7H,MAAOof,EAAY,GACnBtX,IAAKO,EAAU,GAAE,QACjBN,EAAU,KACVk+B,aAAcjD,GAAc,GAC1Bv3B,GACA7J,GAAaQ,KACfqQ,EAAQhH,oBAAsB,CAC5B7J,YAAWE,aAAYE,WAAUC,SAAQG,cAAa4G,QAAOlI,QAAOI,cAAaoH,eAAcC,eAAcX,OAAMC,SAAQ7H,MAAOof,EAAW/W,UAASN,UAASi7B,eAGrK,CACA,GAAIz3B,EAAY,CACd,MACE5J,WAAYC,EAAY,GACxBC,YAAaC,EAAa,GAC1BC,UAAWC,EAAW,GAAE,OACxBC,EAAS,GACTyG,aAActG,EAAc,GAAE,MAC9B4G,EAAQ,GAAE,MACVlI,EAAQ,GACRkH,MAAO9G,EAAc,GACrBwG,UAAWY,EAAe,GAC1BX,UAAWY,EAAe,GAAE,KAC5BX,EAAO,GAAE,OACTC,EAAS,GACT7H,MAAOof,EAAY,GACnBtX,IAAKO,EAAU,GAAE,QACjBN,EAAU,KACVk+B,aAAcjD,GAAc,GAC1Bz3B,GAEA3J,GAAaQ,KACfqQ,EAAQlH,WAAa,CACnB3J,YAAWE,aAAYE,WAAUC,SAAQG,cAAa4G,QAAOlI,QAAOI,cAAaoH,eAAcC,eAAcX,OAAMC,SAAQ7H,MAAOof,EAAW/W,UAASN,UAASi7B,eAGrK,CACAvwB,EAAQysC,eAAiBA,EACzBzsC,EAAQusC,kBAAoBA,EAC5BvsC,EAAQwsC,sBAAwBA,EAChCxsC,EAAQqsC,aAAeA,EACvBrsC,EAAQssC,kBAAoBA,GAAoC,OAAfxzC,GAA+C,OAAxBE,EACxEgH,EAAQ0sC,8BAAgCA,EACxC1sC,EAAQmuC,sBAAwBA,EAChCnuC,EAAQosC,gBAAkBA,CAC5B,CACA,OAAOpsC,GACN,CACDxJ,qBAAsB,GACtBunC,yBAA0B,GAC1BsN,uBAAwB,GACxBC,2BAA4B,CAAC,EAC7BC,2BAA4B,EAC5Bv0C,iBAAkB,GAClBgC,oBAAqB,KACrBgD,YAAa,KACblD,WAAY,KACZoyC,kBAAmB,KACnBT,YAAa,CAAC,EACdsB,SAAU,CAAC,EACXC,UAAW,CAAC,EACZxB,sBAAuB,GACvBW,cAAe,CAAC,EAChBJ,aAAc,KACdD,eAAgB,KAChB2B,gBAAgB,EAChBF,mBAAmB,EACnBC,uBAAuB,EACvBH,cAAc,EACdC,mBAAmB,EACnBI,+BAA+B,EAC/ByB,uBAAuB,EACvB/B,iBAAiB,IAOrB,IAAK2F,EAAO7G,kBAAmB,CAE7B,MAAMnxB,EAAS+3B,EAAIjgD,OAAS,EAAIigD,EAAI,GAAG/lC,sBAAwB,GACzDxd,EAAOujD,EAAIjgD,OAAS,EAAIigD,EAAI,GAAGpL,kBAAoB,GACnD73C,EAAOijD,EAAIjgD,OAAS,EAAIigD,EAAI,GAAGlmC,YAAc,GAC7CkkC,EAAUiC,EAAO1G,uBACjBoI,EAAW,GACXxO,EAAa0H,EAAY5yB,GACzB25B,EAAc,CAAC,EACfC,EAAe,GACfC,EAAc,CAAC,EACrBF,EAAY35B,GAAUkrB,EACtBwO,EAAShwC,KAAKsW,GAEd,MAAM85B,EAAiBr/C,IAAQoU,EAAW,CAAC5I,EAASR,KAElD,GAAgB,+BADAhP,IAAKgP,EAAO,UAAW,IACO,CAC5C,MAAMrE,EAAM3K,IAAKgP,EAAO,eAAgB,IACpCrE,IACF6E,EAAQ7E,IAAO,EAEnB,CACA,OAAO6E,GACN,CAAC,GAEJ,IAAIuqC,GAAmB,EAEvB7nC,IAASotC,EAAU9C,IACjB,MAAM8G,EAAanH,EAAYK,GAC/B0G,EAAY1G,GAAU8G,EAClBD,EAAe7G,GACjB2G,EAAalwC,KAAKupC,GAElB4G,EAAY5G,IAAU,EAEpBA,IAAWjzB,EACb05B,EAAShwC,KAAKupC,GAEdzC,GAAmB,IAIvBwH,EAAOzH,kBAAmB,EAC1ByH,EAAOrF,+BAAiCkH,EAAY75B,GACpDg4B,EAAOhH,cAAe,EACtBgH,EAAOxH,iBAAmBA,EAC1BwH,EAAOxjD,KAAOA,EACdwjD,EAAOljD,KAAOA,EACdkjD,EAAOpH,oBAAsBmF,EAAQj+C,OAAS,GAAK04C,EACnDwH,EAAOv7C,qBAAuBujB,EAC9Bg4B,EAAOhU,yBAA2BkH,EAClC8M,EAAOzG,2BAA6BoI,EACpC3B,EAAOxG,2BAA6BuE,EAAQj+C,OAC5CkgD,EAAOvH,sBAAwBmJ,EAC/B5B,EAAO7G,kBAAoBuI,EAC3B1B,EAAO5G,cAAgByI,CACzB,CAIA,OAFA7B,EAAO1G,uBAAyBwB,EAA2BkF,EAAO1G,uBAAwB0G,EAAOzG,4BACjGvnB,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuBouB,MA8uBrE,SAAS,EAACxkD,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,CARAmD,EAAcglC,UAAYhlC,EAAcilC,K,uKCtwCjC,MAAMjS,EAAa,wBAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,GAGfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA4DT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAK7C,CAACt2B,EAAAA,GAAQwpC,gBA/CYC,CAACvpC,EAAOO,EAAQC,KACrC,MAAM,UAAEsY,GAActY,EAEtB,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,MA4CrB,CAAChZ,EAAAA,GAAQsiC,UAzCOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAwC7C,CAACt2B,EAAAA,GAAQ+3B,SA7BMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAmBjB,CAACtE,EAAAA,GAAQk6B,MAvCGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,aAAEowB,GAAiB1oC,EAEpC,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtBxoC,YAAa,CAAEP,KAAM,MAkCvB,CAACL,EAAAA,GAAQi4B,OAjBK/3B,GACPC,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,KAgBvB,CAACk3B,EAAAA,EAAgBzzB,6BAnECo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA2DJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,0JCpGO,MAAMm2B,EAAa,6BAGxBC,EAAwB,CACtBowB,gBAAgB,EAChBC,iBAAiB,EACjBC,SAAS,GAEXvjD,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GAsBtDv2B,EAAa,CACX,CAACqX,EAAAA,GAAayvC,qBAjBUC,CAAC5mD,EAAOO,EAAQC,KACxC,MAAM,eACJgmD,EAAiBxmD,EAAMwmD,eAAc,gBACrCC,EAAkBzmD,EAAMymD,gBAAe,QACvCC,EAAU1mD,EAAM0mD,SACdlmD,EACJ,MAXOP,EAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAQAz2B,CAAOD,EAAO,CACnBwmD,eAAgB,CAAErmD,KAAMqmD,GACxBC,gBAAiB,CAAEtmD,KAAMsmD,GACzBC,QAAS,CAAEvmD,KAAMumD,MASnB,CAACnuC,EAAAA,GAAqBqe,OANTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,KAOlC,SAAS,EAACp2B,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,4WC3BO,MAAMm2B,EAAa,wBAGxBC,EAAwB,CACtBx1B,GAAI,GACJgB,UAAW,GACXE,WAAY,GACZE,SAAU,GACVC,OAAQ,GACRqG,aAAc,GACdC,aAAc,GACdX,KAAM,GACNC,OAAQ,GACR7H,MAAO,GACP+gB,UAAW,GACX1Y,QAAS,GACTN,QAAS,GACTiZ,IAAK,EACLC,IAAK,EACLC,iBAAiB,EACjBpgB,MAAO,GACPI,YAAa,GACb2b,YAAa,GACbgqC,YAAa,GACbC,WAAY,GACZpvB,OAAQ,GACRwB,UAAW,GACXj1B,WAAY,GACZD,QAAS,GACTD,SAAU,GACV4zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACP2iD,SAAU,GACVrmD,YAAa,GAEfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAMrC,OALA6b,EAAAA,GAAeG,MAAMR,EAAYO,IACjCswB,EAAAA,EAAAA,IAAa,CACXhmD,KAAM,CAAE01B,EAAS90B,UAAW80B,EAAS50B,WAAY40B,EAAS10B,UAAWilD,KAAK,KAC1EnmD,MAAO41B,EAAS51B,QAEX41B,GAETwwB,EAAcA,CAAClnD,EAAOO,EAAQC,KAC5B,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,GAAWzB,EAEpD,OAAOP,EAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,OAG1BohC,EAAiBA,CAACrjC,EAAOO,EAAQC,KAC/B,MAAM,MAAEM,EAAK,YAAEI,GAAgBV,EAC7BI,EAAKZ,EAAMc,QAAUA,EAAQ,GAAKd,EAAMY,GAE1C,OAAOX,EAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMS,GACZE,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,IAAMn8B,OAyB/BkiC,EAA0BA,CAACpjC,EAAOO,EAAQC,KACxC,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,EAAM,MAAEnB,EAAK,YAAEI,GAAgBV,EAExE,OAAOP,EAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,IACtBnB,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,IAAMn8B,OAG/BoiC,EAAeA,CAACtjC,EAAOO,EAAQC,KAC7B,MAAM,MAAEM,GAAUN,EAElB,OAAOP,EAAOD,EAAO,CACnBc,MAAO,CAAEX,KAAMW,MAGnByiC,EAAmBA,CAACvjC,EAAOO,EAAQC,KACjC,MAAM,UAAEoB,GAAcpB,EAEtB,OAAOP,EAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMyB,MAGvB4hC,EAAkBA,CAACxjC,EAAOO,EAAQC,KAChC,MAAM,SAAEwB,GAAaxB,EAErB,OAAOP,EAAOD,EAAO,CACnBgC,SAAU,CAAE7B,KAAM6B,MAUtByhC,EAAeA,CAACzjC,EAAOO,EAAQC,KAC7B,MAAM,YAAEU,GAAgBV,EAExB,OAAOP,EAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMe,MAUzB0iC,EAAmBA,CAAC5jC,EAAOO,EAAQC,KACjC,MAAMqjC,EAAY,CAAC,EAOnB,OANAC,OAAOC,QAAQvjC,GAAMmZ,QAASqqB,IAC5B,MAAOjvB,EAAKoB,GAAS6tB,EACjBC,IAAKjkC,EAAO+U,KACd8uB,EAAU9uB,GAAO,CAAE5U,KAAMgW,MAGtBlW,EAAOD,EAAO6jC,IAEvB/L,EAAiBA,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,UAAEwB,EAAS,WAAEj1B,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,MAAEzzB,EAAK,MAAEE,EAAK,MAAEtD,EAAK,SAAEimD,GAAavmD,EAEjG,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,GACftD,MAAO,CAAEX,KAAMW,GAASd,EAAMc,QAAUA,EAASu8B,IAAMv8B,GAASd,EAAMc,OACtEimD,SAAU,CAAE5mD,KAAM4mD,GAAY/mD,EAAM+mD,WAAaA,EAAWA,EAAW/mD,EAAM+mD,aAGjFI,EAAyBA,CAACnnD,EAAOO,KAC/B,MAAM,MAAEE,GAAUF,EAClB,OAAIE,EAAgBT,EACbC,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAM,IAChB+4B,UAAW,CAAE/4B,KAAM,IACnB8D,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,IACb+D,MAAO,CAAE/D,KAAM,IACfiE,MAAO,CAAEjE,KAAM,OAInBwjC,EAAsBA,CAAC3jC,EAAOO,EAAQC,KACpC,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,EAAM,MAAEnB,EAAK,YAAEI,GAAgBV,EAExE,OAAOP,EAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMyB,GACnBE,WAAY,CAAE3B,KAAM2B,GACpBE,SAAU,CAAE7B,KAAM6B,GAClBC,OAAQ,CAAE9B,KAAM8B,GAChBnB,MAAO,CAAEX,KAAMW,GACfI,YAAa,CAAEf,KAAMe,MA8EzBk8B,EAAeA,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,UAAEoB,EAAY,GAAE,WAAEE,EAAa,GAAE,SAAEE,EAAW,GAAE,OAAEC,EAAS,GAAE,MAAEnB,EAAQ,IAAON,EAEpF,QAAK0jC,EAAAA,EAAAA,OAAgBtiC,EACZ3B,EAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,IACtBnB,MAAO,CAAEX,KAAMk9B,IAAMv8B,MAGlBd,GAET62B,EAAgB72B,IACd,MAAMonD,GAAeljB,EAAAA,EAAAA,MAAoB,CACvCtjC,GAAIZ,EAAMY,GACVgB,UAAW5B,EAAM4B,UACjBE,WAAY9B,EAAM8B,WAClBE,SAAUhC,EAAMgC,SAChBC,OAAQjC,EAAMiC,OACdnB,MAAOd,EAAMc,MACbI,YAAalB,EAAMkB,aAPe,CAAC,EAWrC,OADAs1B,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuBgxB,KAElFvnD,EAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,EACjB,CAAC/2B,EAAAA,GAAQk6B,MAAOoD,EAChB,CAACt9B,EAAAA,GAAQqkC,aAAc+iB,EACvB,CAACpnD,EAAAA,GAAQi3B,gBAAiBsM,EAC1B,CAACvjC,EAAAA,GAAQskC,cAAehB,EACxB,CAACtjC,EAAAA,GAAQ+3B,SAAUC,EACnB,CAACh4B,EAAAA,GAAQq3B,kBAAmBN,EAC5B,CAAC/2B,EAAAA,GAAQ4X,uBAAwByvC,EAEjC,CAAC3R,EAAAA,GAAoBrR,aAAc+iB,EACnC,CAAC1R,EAAAA,GAAoBze,gBAxOKswB,CAACrnD,EAAOO,EAAQC,KAC1C,MAAM,MAAEM,EAAK,YAAEI,EAAW,SAAE6lD,GAAavmD,EACvCI,EAAKZ,EAAMc,QAAUA,EAAQ,GAAKd,EAAMY,GAE1C,OAAOX,EAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMS,GACZE,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,IAAMn8B,IAC3B6lD,SAAU,CAAE5mD,KAAM4mD,MAkOpB,CAACnvC,EAAAA,GAAgBusB,aAAc+iB,EAC/B,CAACtvC,EAAAA,GAAgBmf,gBAAiBsM,EAClC,CAACzrB,EAAAA,GAAgBwsB,cAAehB,EAChC,CAACxrB,EAAAA,GAAgBigB,SAAUC,EAE3B,CAAC/f,EAAAA,GAAoB4sB,cAAerB,EACpC,CAACvrB,EAAAA,GAAoB6sB,mBAAoBrB,EACzC,CAACxrB,EAAAA,GAAoB8sB,kBAAmBrB,EACxC,CAACzrB,EAAAA,GAAoB+sB,oBAtMHC,CAAC/kC,EAAOO,EAAQC,KAClC,MAAM,WAAEsB,GAAetB,EAEvB,OAAOP,EAAOD,EAAO,CACnB8B,WAAY,CAAE3B,KAAM2B,MAmMtB,CAACiW,EAAAA,GAAoBitB,cAAevB,EACpC,CAAC1rB,EAAAA,GAAoBktB,eA1LPC,CAACllC,EAAOO,EAAQC,KAC9B,MAAM,OAAEyB,GAAWzB,EAEnB,OAAOP,EAAOD,EAAO,CACnBiC,OAAQ,CAAE9B,KAAM8B,MAuLlB,CAAC8V,EAAAA,GAAoBotB,MAAOxB,EAC5B,CAAC5rB,EAAAA,GAAoBiiB,MAAOoD,EAC5B,CAACrlB,EAAAA,GAAoB8f,SAAUC,EAC/B,CAAC/f,EAAAA,GAAoBqtB,YAAaxB,EAClC,CAAC7rB,EAAAA,GAAoBL,uBAAwByvC,EAE7C,CAACnvC,EAAAA,GAAmB4sB,mBAAoBrB,EACxC,CAACvrB,EAAAA,GAAmB6sB,kBAAmBrB,EACvC,CAACxrB,EAAAA,GAAmB2sB,cAAerB,EACnC,CAACtrB,EAAAA,GAAmBgtB,cAAevB,EACnC,CAACzrB,EAAAA,GAAmB6f,SAAUC,EAC9B,CAAC9f,EAAAA,GAAmBmtB,MAAOxB,EAC3B,CAAC3rB,EAAAA,GAAmBotB,YAAaxB,EAEjC,CAAC3rB,EAAAA,GAAgBksB,aAAc+iB,EAC/B,CAACjvC,EAAAA,GAAgB8e,gBAAiBsM,EAClC,CAACprB,EAAAA,GAAgBmsB,cAAehB,EAChC,CAACnrB,EAAAA,GAAgB4f,SAAUC,EAE3B,CAACzf,EAAAA,GAAoB8rB,aAAc+iB,EACnC,CAAC7uC,EAAAA,GAAoB0e,gBAAiBsM,EACtC,CAAChrB,EAAAA,GAAoBqtB,cArRG4hB,CAACtnD,EAAOO,EAAQC,KACxC,MAAM,UAAEoB,EAAS,SAAEI,EAAQ,MAAElB,EAAK,YAAEI,GAAgBV,EAC9CI,EAAKZ,EAAMc,QAAUA,EAAQ,GAAKd,EAAMY,GAC9C,OAAOX,EAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMS,GACZgB,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBI,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBlB,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,IAAMn8B,OA8Q7B,CAACmX,EAAAA,GAAoB+rB,cAAehB,EACpC,CAAC/qB,EAAAA,GAAoBwf,SAAUC,EAE/B,CAACxf,EAAAA,GAAkB0hB,MAAOoD,EAC1B,CAAC9kB,EAAAA,GAAkBye,gBAAiBsM,EACpC,CAAC/qB,EAAAA,GAAkB8rB,cAAehB,EAClC,CAAC9qB,EAAAA,GAAkB6rB,aAAc+iB,EACjC,CAAC5uC,EAAAA,GAAkBuf,SAAUC,EAE7B,CAAChC,EAAAA,GAAgBiB,gBAAiBsM,EAClC,CAACvN,EAAAA,GAAgBsO,cAAehB,EAChC,CAACtN,EAAAA,GAAgBqO,aAAc+iB,EAC/B,CAACpxB,EAAAA,GAAgBkE,MAAOoD,EACxB,CAACtH,EAAAA,GAAgB+B,SAAUC,EAE3B,CAACT,EAAAA,EAAgBh3B,sBApKMylC,CAAC9lC,EAAOO,EAAQC,KACvC,GAAID,EAAOE,MACT,OAAOT,EAET,MAEIW,aAAcC,EACdC,cAAeC,EACfG,cAAe+G,EACfrG,WAAYC,EACZC,YAAaC,EACbC,UAAWC,EAAQ,OACnBC,GACEzB,EAEN,OAAOP,EAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMS,GACZgB,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,IACtBnB,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAM6H,MA+IvB,CAACqvB,EAAAA,EAAgBv0B,YA9FHykD,KACd/wB,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IA6F7C,CAAC7gB,EAAAA,EAAcP,qBA7IOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChChnB,EAAaD,EAAUjJ,aAAeiJ,EACtC4C,EAAYlI,IAAMuF,EAAarJ,IAC7B,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,MAAmB,kBAAZgE,GAA2C,mBAAZA,IAExCiI,EAAUnI,IAAMuF,EAAarJ,IAC3B,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,MAAmB,iBAAZgE,GAA0C,4BAAZA,GAAqD,6BAAZA,GAAsD,uBAAZA,IAE1HhE,EAAQgM,GAAaC,EAEvB,IAAKjM,EACH,OAAOjS,EAET,MACE,QAAEkI,EAAS8C,gBAAiBC,GAAmBgH,EAC/CiN,EAAajU,GAAkB/C,GAAW+J,GACxCvK,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAI7H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,MAASmX,EAGrJ,OAAOjf,EAAOD,EAAO,CACnBsI,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf2B,UAAW,CAAE5gB,KARD,IASZkI,QAAS,CAAElI,KAAMk9B,IAAMh1B,IACvBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBiZ,IAAK,CAAE7gB,KAAM,GACb8gB,IAAK,CAAE9gB,KAAM,GACb+gB,gBAAiB,CAAE/gB,MAAM,OAqGhB,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,wRCzXO,MAAMm2B,EAAa,yBAEpBwb,EAAgBx7B,IACpB,MAAMy7B,EAAQ77B,IAAM87B,EAAAA,GAAWC,GACtBA,EAAO37B,QAAUA,GAE1B,OAAOy7B,EAAQA,EAAMG,MAAQ,IAGzByV,EAAcA,EAAGtH,cAChBA,EACE,CAAE9X,KAAM,CAAEjoC,KAAM+/C,IADC,CAAC,EAKzB9pB,EAAwB,CACtB3qB,oBAAqB,KACrBgsB,YAAY,EACZr2B,OAAQ,aACR0X,UAAW,GACXyC,aAAc,GACdsS,aAAc,GACd45B,WAAY,GACZ5/C,OAAQ,GACRD,KAAM,GACN8/C,2BAA2B,EAC3BnpC,sBAAuB,GACvBkyB,0BAA2B,GAC3BkX,YAAa,GACbC,QAAS,GACTC,kBAAmB,KACnBC,mBAAmB,EACnBr0C,cAAe,KACfs0C,QAAS,KACTC,kBAAmB,KAEnBC,YAAa,GACbC,aAAc,GACdC,WAAY,GACZC,SAAU,GAEVjW,oBAAqB,GACrB1oC,iBAAkB,GAClB4+C,WAAY,EACZC,gBAAiB,GACjBC,kBAAmB,GACnB3pC,eAAgB,KAChB3V,qBAAsB,GACtBunC,yBAA0B,GAC1B/U,OAAQ,KACRvvB,IAAK,GACLgtB,UAAW,GACXxB,OAAQ,GACRzzB,WAAY,GACZF,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,EAEb8nD,cAAe,GACfpgB,KAAM,GACND,UAAW,GACXsgB,oBAAqB,GACrBC,wBAAyB,GACzBtR,sBAAuB,KACvBuR,gBAAiB,KACjBC,WAAY,KACZnR,UAAW,KACXoR,gBAAiB,KACjB5K,SAAU,KACV6K,qBAAsB,KACtBC,kBAAmB,KACnBC,qBAAsB,KACtBC,uBAAwB,KACxBpL,MAAO,EACPqL,+BAAgC,EAChCC,mBAAoB,GACpBC,uBAAwB,KACxBC,oBAAqB,KACrBC,uBAAwB,KACxBC,wBAAyB,KACzBC,+BAAgC,KAChCC,oBAAqB,KACrBC,4BAA6B,MAE/BvmD,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAoFTizB,EAAiBA,CAAC3pD,EAAOO,EAAQC,KAC/B,MAAM,QAAEonD,GAAYpnD,EAEpB,OAAOP,EAAOD,EAAO,CACnB4nD,QAAS,CAAEznD,KAAMynD,MACdJ,EAAYhnD,MAkLnBq2B,EAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAU/CwzB,EAAoBA,CAAC5pD,EAAOO,EAAQC,KAClC,MAAM,WAAE6nD,GAAe7nD,EAEvB,OAAOP,EAAOD,EAAO,CACnBqoD,WAAY,CAAEloD,KAAMkoD,MAwExBjV,EAAgBA,CAACpzC,EAAOO,EAAQC,KAC9B,MAAM,OAAEY,GAAWZ,EAEnB,OAAOP,EAAOD,EAAO,CACnBoB,OAAQ,CAAEjB,KAAMiB,GAAU,iBAwE9B2xC,EAA6BA,CAAC/yC,EAAOO,EAAQC,IArE/Bo/C,EAAC7qC,EAAK/U,EAAOQ,KACzB,MACE,YACEwiC,GAAc,EAAK,MACnBh6B,EAAQ,GAAE,UACVpH,EAAY,GAAE,WACdE,EAAa,GAAE,SACfE,EAAW,GAAE,OACbC,EAAS,GAAE,YACXG,EAAc,GAAE,aAChBkG,EAAe,GAAE,aACjBC,EAAe,GAAE,KACjBX,EAAO,GACP5H,MAAOof,EAAY,GAAE,QACrB/W,EAAU,GAAE,QACZN,EAAU,KAAI,MACdjH,EAAQ,GAAE,YACVI,EAAc,IACZV,GAAQ,CAAC,EAEf,GAAmB,OAAfR,EAAM+U,GAAe,CACvB,MAAM1J,EAAU,CACd23B,cACAphC,UAAWy7B,IAAMz7B,GACjBE,WAAYu7B,IAAMv7B,GAClBE,SAAUq7B,IAAMr7B,GAChBC,SACAG,YAAai7B,IAAMj7B,GACnBkG,aAAc+0B,IAAM/0B,GACpBC,aAAc80B,IAAM90B,GACpBX,KAAMy1B,IAAMz1B,GACZ5H,MAAOof,EACP/W,UACAN,QAASs1B,IAAMt1B,GACfjH,MAAOu8B,IAAMv8B,GACbI,eAMF,OAHEmK,EAAQrC,MAAQq0B,IAAMr0B,GAGjB/I,EAAOD,EAAO,CACnB,CAAC+U,GAAM,CAAE5U,KAAMkL,IAEnB,CAEA,MAAMvF,EAAU,CACdk9B,YAAa,CAAE7iC,KAAM6iC,GACrBphC,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAM8B,GAChBG,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BkG,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpB5H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBjH,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMe,IAKvB,OAFE4E,EAAQkD,MAAQ,CAAE7I,KAAMk9B,IAAMr0B,IAEzB/I,EAAOD,EAAO,CACnB,CAAC+U,GAAMjP,KAIF85C,CAAY,sBAAuB5/C,EAAOQ,GA+JnDX,EAAa,CACX,CAACgqD,EAAAA,GAAwB7vB,MA9kBZoD,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,sBACJ+d,EAAwB,KAAI,0BAC5BmpC,GAA4B,EAAK,OACjC7/C,EAAS,KAAI,KACbD,EAAO,KAAI,cACX6L,EAAgB,KAAI,kBACpBq0C,GAAoB,EAAK,QACzBC,GAAU,EAAK,oBACfU,EAAsB,GAAE,oBACxBY,GAAsB,EAAK,cAC3Bb,EAAgB,GAAE,uBAClBc,GAAyB,EAAK,kBAC9BtB,GAAoB,EAAK,mBACzBmB,EAAqB,GAAE,uBACvBC,GAAyB,EAAI,+BAC7BF,EAAiC,GAC/B1oD,EACEkoD,EAA2BD,EAAsB9W,EAAa8W,GAAwB,GAE5F,OAAOxoD,EAAOD,EAAO,CACnBwoD,cAAe,CAAEroD,KAAMqoD,GACvBjqC,sBAAuB,CAAEpe,KAAMoe,GAC/BmpC,0BAA2B,CAAEvnD,KAAMunD,GACnC7/C,OAAQ,CAAE1H,KAAM0H,GAChBD,KAAM,CAAEzH,KAAMyH,GACd6L,cAAe,CAAEtT,KAAMsT,GACvBq0C,kBAAmB,CAAE3nD,KAAM2nD,GAC3BC,QAAS,CAAE5nD,KAAM4nD,GACjBC,kBAAmB,CAAE7nD,KAAM6nD,GAC3B5f,KAAM,CAAEjoC,KAAMohD,EAAAA,GAAMkB,SACpB0G,mBAAoB,CAAEhpD,KAAMgpD,GAC5BC,uBAAwB,CAAEjpD,KAAMipD,GAChCC,oBAAqB,CAAElpD,KAAMkpD,GAC7BC,uBAAwB,CAAEnpD,KAAMmpD,GAChCb,oBAAqB,CAAEtoD,KAAMsoD,GAC7BC,wBAAyB,CAAEvoD,KAAMuoD,GACjCQ,+BAAgC,CAAE/oD,KAAM+oD,MA0iB1C,CAACW,EAAAA,GAAwBvJ,WA7BTL,CAACjgD,EAAOO,EAAQC,IACzBP,EAAOD,EAAO,CACnBooC,KAAM,CAAEjoC,KAAMK,EAAK0/C,YA4BrB,CAAC2J,EAAAA,GAAwBC,UAAWH,EACpC,CAACE,EAAAA,GAAwBlS,cA7hBOoS,CAAC/pD,EAAOO,EAAQC,KAChD,MAAM,qBAAEyI,EAAoB,OAAEpB,EAAS,GAAE,KAAED,EAAO,IAAOpH,EAEzD,OAAOP,EAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMwxC,EAAa1oC,IAC/CpB,OAAQ,CAAE1H,KAAM0H,GAChBD,KAAM,CAAEzH,KAAMyH,MACX4/C,EAAYhnD,MAshBjB,CAACqpD,EAAAA,GAAwBG,2BAnhBUC,CAACjqD,EAAOO,EAAQC,KACnD,MAAM,4BAAEkpD,GAAgClpD,EAExC,OAAOP,EAAOD,EAAO,CACnB0pD,4BAA6B,CAAEvpD,KAAMupD,MAClClC,EAAYhnD,MA+gBjB,CAACqpD,EAAAA,GAAwBxS,SA5gBI6S,CAAClqD,EAAOO,EAAQC,KAC7C,MAAM,sBAAE+d,EAAqB,OAAE1W,EAAS,GAAE,KAAED,EAAO,IAAOpH,EAE1D,OAAOP,EAAOD,EAAO,CACnBue,sBAAuB,CAAEpe,KAAMoe,GAC/BkyB,0BAA2B,CAAEtwC,KAAMwxC,EAAapzB,IAChD1W,OAAQ,CAAE1H,KAAM0H,GAChBD,KAAM,CAAEzH,KAAMyH,MACX4/C,EAAYhnD,MAqgBjB,CAACqpD,EAAAA,GAAwB3S,cA5iBEiT,CAACnqD,EAAOO,EAAQC,KAC3C,MAAM,sBAAE+d,EAAqB,sBAAE64B,EAAwB,MAAS52C,EAC1DiwC,EAA4BkB,EAAapzB,GAC/C,OAAOte,EAAOD,EAAO,CACnByoD,oBAAqB,CAAEtoD,KAAKoe,GAC5BmqC,wBAAyB,CAAEvoD,KAAKswC,GAChC2G,sBAAuB,CAAEj3C,KAAMi3C,GAC/B74B,sBAAuB,CAAEpe,KAAMi3C,EAAwB74B,EAAwB,IAC/EkyB,0BAA2B,CAAEtwC,KAAMi3C,EAAwB3G,EAA4B,OACpF+W,EAAYhnD,MAoiBjB,CAACqpD,EAAAA,GAAwBpW,UA5aLb,CAAC5yC,EAAOO,EAAQC,KACpC,MAAM,aAAE+a,EAAY,gBAAEotC,EAAkB,MAASnoD,EAEjD,OACSP,EAAOD,EADK,SAAjBub,EACmB,CACnBA,aAAc,CAAEpb,KAAMob,GACtB0sC,YAAa,CAAE9nD,KAAM,IACrB+nD,aAAc,CAAE/nD,KAAM,IACtBgoD,WAAY,CAAEhoD,KAAM,IACpBioD,SAAU,CAAEjoD,KAAM,IAClBwoD,gBAAiB,CAAExoD,KAAMwoD,MACtBnB,EAAYhnD,IAGE,CACnB+a,aAAc,CAAEpb,KAAMob,GACtBotC,gBAAiB,CAAExoD,KAAMwoD,MACtBnB,EAAYhnD,MA4ZjB,CAACqpD,EAAAA,GAAwBO,qBA3cPC,CAACrqD,EAAOO,EAAQC,IAC3BP,EAAOD,EAAO,CACnB4oD,WAAY,CAAEzoD,KAAMK,EAAKooD,eACtBpB,EAAYhnD,KAycjB,CAACqpD,EAAAA,GAAwBtS,YAtcR+S,CAACtqD,EAAOO,EAAQC,KACjC,MAAM,UAAEi3C,GAAcj3C,EAChB+pD,EAAc9S,EAAYz3C,EAAMue,sBAAwB,GACxDisC,EAAkB/S,EAAYz3C,EAAMywC,0BAA4B,GACtE,OAAOxwC,EAAOD,EAAO,CACnBy3C,UAAW,CAAEt3C,KAAMs3C,GACnBxuC,qBAAsB,CAAE9I,KAAMoqD,GAC9B/Z,yBAA0B,CAAErwC,KAAMqqD,MAC/BhD,EAAYhnD,MA+bjB,CAACqpD,EAAAA,GAAwBY,oBA5bFC,CAAC1qD,EAAOO,EAAQC,KACvC,MAAM,gBAAEqoD,GAAoBroD,EACtBmqD,EAAsB,CAAC,EAK7B,OAJK3qD,EAAMopD,yBACTuB,EAAoB1hD,qBAAuB,CAAE9I,KAAO0oD,EAAkB7oD,EAAMue,sBAAwB,IACpGosC,EAAoBna,yBAA2B,CAAErwC,KAAM0oD,EAAkB7oD,EAAMywC,0BAA4B,KAEtGxwC,EAAOD,EAAO,CACnB6oD,gBAAiB,CAAE1oD,KAAM0oD,MACtB8B,KACAnD,EAAYhnD,MAmbjB,CAACqpD,EAAAA,GAAwBtW,UAtdLd,CAACzyC,EAAOO,EAAQC,KACpC,MAAM,aAAEqtB,EAAY,KAAE7sB,GAASR,EAE/B,OAAOP,EAAOD,EAAO,CACnB6tB,aAAc,CAAE1tB,KAAM0tB,GAAgB7sB,MACnCwmD,EAAYhnD,MAkdjB,CAACqpD,EAAAA,GAAwB9I,YAhgBP6J,CAAC5qD,EAAOO,EAAQC,KAClC,MAAM,SAAEy9C,GAAaz9C,EAErB,OAAOP,EAAOD,EAAO,CACnBi+C,SAAU,CAAE99C,KAAM89C,MACfuJ,EAAYhnD,MA4fjB,CAACqpD,EAAAA,GAAwBgB,gBAzfJC,CAAC9qD,EAAOO,EAAQC,KACrC,MAAM,qBAAEsoD,GAAyBtoD,EAEjC,OAAOP,EAAOD,EAAO,CACnB8oD,qBAAsB,CAAE3oD,KAAM2oD,MAC3BtB,EAAYhnD,MAqfjB,CAACqpD,EAAAA,GAAwBkB,kBA1eAC,CAAChrD,EAAOO,EAAQC,KACzC,MAAM,kBAAEuoD,GAAsBvoD,EAE9B,OAAOP,EAAOD,EAAO,CACnB+oD,kBAAmB,CAAE5oD,KAAM4oD,MACxBvB,EAAYhnD,MAsejB,CAACqpD,EAAAA,GAAwBjH,QAnfZqI,CAACjrD,EAAOO,EAAQC,KAC7B,MAAM,MAAEq9C,GAAUr9C,EAElB,OAAOP,EAAOD,EAAO,CACnB69C,MAAO,CAAE19C,KAAM09C,MACZ2J,EAAYhnD,MA+ejB,CAACqpD,EAAAA,GAAwB/S,oBApeEoU,CAAClrD,EAAOO,EAAQC,KAC3C,MAAM,KAAEQ,EAAI,KAAEM,GAASd,EAEvB,OAAOP,EAAOD,EAAO,CACnB6tB,aAAc,CAAE1tB,KAAMa,GACtBua,aAAc,CAAEpb,KAAMmB,MACnBkmD,EAAYhnD,MA+djB,CAACqpD,EAAAA,GAAwBhyB,SAnXVC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,cAAElkB,EAAa,UAAEylB,GAAc14B,EAEjF,OAAOP,EAAOD,EAAO,CACnByT,cAAe,CAAEtT,KAAMsT,GACvBylB,UAAW,CAAE/4B,KAAM+4B,GACnBxB,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBF,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,MACV6vB,EAAYhnD,MAyWjB,CAACqpD,EAAAA,GAAwBnyC,uBA/XE47B,CAACtzC,EAAOO,KACnC,MAAM4qD,EAAwB,CAAC,EAK/B,OAJK5qD,EAAOE,QACV0qD,EAAsB5sC,sBAAwB,CAAEpe,KAAMH,EAAMiJ,sBAC5DkiD,EAAsB1a,0BAA4B,CAAEtwC,KAAMwxC,EAAa3xC,EAAMiJ,wBAExEhJ,EAAOD,EAAO,CACnBooC,KAAM,CAAEjoC,KAAMI,EAAOE,MAAQ8gD,EAAAA,GAAM1pB,QAAU,OAC1CszB,KAwXL,CAACtB,EAAAA,GAAwBuB,eAtYLC,CAACrrD,EAAOO,EAAQC,IAC7BP,EAAOD,EAAO,CACnBgpD,qBAAsB,CAAE7oD,KAAMK,EAAKwoD,yBAChCxB,EAAYhnD,KAoYjB,CAACqpD,EAAAA,GAAwBxlB,QAzZRinB,CAACtrD,EAAOO,EAAQC,KACjC,MAAM,UAAEsY,EAAS,KAAE9X,EAAI,aAAEua,EAAY,sBAAEgD,EAAwB,GAAE,OAAE1W,EAAS,GAAE,KAAED,EAAO,GAAE,wBAAE2hD,EAA0B,MAAS/oD,EAE9H,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnB+U,aAAc,CAAE1tB,KAAMa,GACtBua,aAAc,CAAEpb,KAAMob,GACtBgD,sBAAuB,CAAEpe,KAAMoe,GAC/BkyB,0BAA2B,CAAEtwC,KAAMwxC,EAAapzB,IAChDkqC,oBAAqB,CAAEtoD,KAAMoe,GAC7BmqC,wBAAyB,CAAEvoD,KAAMwxC,EAAapzB,IAC9C1W,OAAQ,CAAE1H,KAAM0H,GAChBD,KAAM,CAAEzH,KAAMyH,GACdwhD,uBAAwB,CAAEjpD,MAAO2Y,GACjCywC,wBAAyB,CAAGppD,KAAMopD,MAC/B/B,EAAYhnD,MA2YjB,CAACqpD,EAAAA,GAAwB0B,mBAtaHC,CAACxrD,EAAOO,EAAQC,KACtC,MAAM,uBAAEyoD,GAA2BzoD,EAC7BoN,EAAMq7C,EAAyBjpD,EAAMue,sBAAwB,GAC7Ds5B,EAAUoR,EAAyBjpD,EAAMywC,0BAA4B,GAC3E,OAAOxwC,EAAOD,EAAO,CACnBipD,uBAAwB,CAAE9oD,KAAM8oD,GAChChgD,qBAAsB,CAAE9I,KAAMyN,GAC9B4iC,yBAA0B,CAAErwC,KAAM03C,MAC/B2P,EAAYhnD,MA+ZjB,CAACqpD,EAAAA,GAAwBzkB,YAjCRxB,CAAC5jC,EAAOO,EAAQC,KACjC,MAAMqjC,EAAY,CAAC,EAOnB,OANAC,OAAOC,QAAQvjC,GAAMmZ,QAASqqB,IAC5B,MAAOjvB,EAAKoB,GAAS6tB,EACjBC,IAAKjkC,EAAO+U,KACd8uB,EAAU9uB,GAAO,CAAE5U,KAAMgW,MAGtBlW,EAAOD,EAAO6jC,IA0BrB,CAACgmB,EAAAA,GAAwB4B,+BAxCGC,CAAC1rD,EAAOO,EAAQC,IACrCP,EAAOD,EAAO,CACnBwpD,+BAAgC,CAAErpD,KAAMK,EAAKgpD,mCAC1ChC,EAAYhnD,KAsCjB,CAACqpD,EAAAA,GAAwB8B,mBA/CEC,CAAC5rD,EAAOO,EAAQC,IACpCP,EAAOD,EAAO,CACnBypD,oBAAqB,CAAEtpD,KAAMK,EAAKipD,wBAC/BjC,EAAYhnD,KA8CjB,CAACqrD,EAAAA,GAAiB7V,WA3RGlD,CAAC9yC,EAAOO,EAAQC,KACrC,MACE,iBAAEiJ,EAAgB,oBAAE0oC,GAAwB3xC,EAM9C,OAAOP,EAAOD,EALF,CACRyJ,iBAAkB,CAAEtJ,KAAMsJ,GAC1B0oC,oBAAqB,CAAEhyC,KAAMgyC,MAuRjC,CAAC0Z,EAAAA,GAAiB/W,UA5VS7C,CAACjyC,EAAOO,EAAQC,KAC3C,MAAM,oBAAE2xC,EAAmB,iBAAE1oC,GAAqBjJ,EAElD,OAAOP,EAAOD,EAAO,CACnBmyC,oBAAqB,CAAEhyC,KAAMgyC,GAC7B1oC,iBAAkB,CAAEtJ,KAAMsJ,MAwV5B,CAACoiD,EAAAA,GAAiB1pB,cAAeiR,EACjC,CAACyY,EAAAA,GAAiBC,WAAYnC,EAC9B,CAACkC,EAAAA,GAAiB9T,YAxUIC,CAACh4C,EAAOO,EAAQC,KACtC,MAAM,eAAEoe,EAAc,sBAAEL,GAA0B/d,EAElD,OACSP,EAAOD,EADZ4e,EACmB,CACnBA,eAAgB,CAAEze,KAAMye,GACxB3V,qBAAsB,CAAE9I,KAAMoe,GAC9BkyB,0BAA2B,CAAEtwC,KAAMwxC,EAAapzB,KAG/B,CACnBK,eAAgB,CAAEze,KAAMye,MA8T1B,CAACitC,EAAAA,GAAiB9X,SA3TU/B,CAAChyC,EAAOO,EAAQC,KAC5C,MAAM,qBAAEyI,GAAyBzI,EAEjC,OAAOP,EAAOD,EAAO,CACnBiJ,qBAAsB,CAAE9I,KAAM8I,MAwThC,CAAC4iD,EAAAA,GAAiBjuB,KAxSPC,CAAC79B,EAAOO,EAAQC,KAC3B,MAAM,IAAE0L,GAAQ1L,EAEhB,OAAOP,EAAOD,EAAO,CACnBkM,IAAK,CAAE/L,KAAM+L,MAqSf,CAAC2/C,EAAAA,GAAiB7tB,SAtTJC,CAACj+B,EAAOO,EAAQC,KAC9B,MAAM,OAAEi7B,GAAWj7B,EAEnB,OAMOP,EAAOD,EANTy7B,EAMgB,CACnBA,OAAQ,CAAEt7B,KAAMs7B,IANK,CACnBvvB,IAAK,CAAE/L,KAAM,IACbs7B,OAAQ,CAAEt7B,KAAMs7B,MAiTpB,CAACowB,EAAAA,GAAiBE,aAAcnC,EAChC,CAACiC,EAAAA,GAAiBG,YAAapC,EAC/B,CAACiC,EAAAA,GAAiB3T,WA3RO+T,CAACjsD,EAAOO,EAAQC,KACzC,MAAM,gBAAE8nD,EAAe,kBAAEC,EAAiB,OAAE9sB,EAAM,IAAEvvB,GAAQ1L,EAE5D,OAAOP,EAAOD,EAAO,CACnBsoD,gBAAiB,CAAEnoD,KAAMmoD,GACzBC,kBAAmB,CAAEpoD,KAAMooD,GAC3B9sB,OAAQ,CAAEt7B,KAAMs7B,GAChBvvB,IAAK,CAAE/L,KAAM+L,MAqRf,CAAC2/C,EAAAA,GAAiBxH,cAvVCrE,CAAChgD,EAAOO,EAAQC,KACnC,MAAM,gBAAE8nD,EAAe,kBAAEC,GAAsB/nD,EAE/C,OAAOP,EAAOD,EAAO,CACnBsoD,gBAAiB,CAAEnoD,KAAMmoD,GACzBC,kBAAmB,CAAEpoD,KAAMooD,MAmV7B,CAACsD,EAAAA,GAAiB9W,UAAWhC,EAC7B,CAAC8Y,EAAAA,GAAiBnV,gBAAiB3D,EAEnC,CAACuF,EAAAA,GAAiB4T,kBAAmB9Y,EAErC,CAAC/b,EAAAA,EAAgBzzB,6BA/XCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,EAAE,UAAEs4B,GAAc14B,EAC1B,OAAOP,EAAOD,EAAO,CACnBk5B,UAAW,CAAE/4B,KAAM+4B,GACnBxB,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,OAqXf,CAACoY,EAAAA,GAAqByhB,MAAOnD,EAC7B,CAACte,EAAAA,GAAqB4uB,YAAatQ,EACnC,CAACte,EAAAA,GAAqBqe,OAAQC,EAE9B,CAACthB,EAAAA,EAAcP,qBA7MOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,EAAWjU,qBAAsB0R,GAAcwpB,EACjErwB,EAAQ8D,IAAMsF,EAAY0qB,GAEL,eADH9iC,IAAK8iC,EAAG,UAAW,KAOrCtyB,IAJqBsC,IAAMsF,EAAY0qB,GAElB,mBADH9iC,IAAK8iC,EAAG,UAAW,KAKvC,IAAK9zB,EACH,OAAOjS,EAET,MAEIqe,YAAalV,EACbgjD,YAAa1E,EAAU,OACvB5/C,EAAM,KACND,EACA0F,aAAciR,EACd4D,SAAUylC,EACVr9C,iBAAkB4nC,EAClB3oC,kBAAmBC,EACnB2iD,YAAa/D,EACbv6C,yBAA0Bw6C,EAC1Bt6C,2BAA4Bu6C,EAC5B5pC,gBAAiBC,EACjBJ,sBAAuBvV,EACvBuC,qBAAsBC,EACtB4gD,QAAS5wB,EACT6wB,gBAAiBC,EAAiB,CAAC,EAAC,IACpCrgD,GACE+F,EAEJ4b,EAAe5qB,IAAKgP,EAAO,cAAe,OAAShP,IAAKgP,EAAO,0BAA2B,MAI1FsJ,GAH8B,SAAfpS,EAAwB,OAAS,MACnB,QAAfA,EAAuB,OAAS,MAChB,cAAfA,EAA6B,OAAS,KAGnDxH,WAAYsmD,EAAc,GAC1BpmD,YAAaqmD,EAAe,GAC5BnmD,UAAWomD,EAAa,GACxBlmD,OAAQmmD,EAAW,IACjBmE,EAEN,IAAIC,EAAgB,KACpB,GAAI/gD,EAAqB,CACvB,MACE9J,WAAYC,EAAY,GACxBC,YAAaC,EAAa,GAC1BC,UAAWC,EAAW,GAAE,OACxBC,EAAS,GACTyG,aAActG,EAAc,GAAE,MAC9B4G,EAAQ,GAAE,MACVlI,EAAQ,GACRkH,MAAO9G,EAAc,GACrBwG,UAAWY,EAAe,GAC1BX,UAAWY,EAAe,GAC1BX,KAAM6kD,EAAW,GACjB5kD,OAAQ6kD,EAAa,GACrB1sD,MAAOof,EAAY,GACnBtX,IAAKO,EAAU,GAAE,QACjBN,EAAU,KACVk+B,aAAcjD,GAAc,GAC1Bv3B,EAEJ+gD,EAAgB,CACd5qD,YACAE,aACAE,WACAC,SACAG,cACA4G,QACAlI,QACAI,cACAoH,eACAC,eACAX,KAAM6kD,EACN5kD,OAAQ6kD,EACR1sD,MAAOof,EACP/W,UACAN,UACAi7B,cAEJ,CAEA,OAAO/iC,EAAOD,EAAO,CACnBoB,OAAQ,CAAEjB,KAAM,cAChBsL,oBAAqB,CAAEtL,KAAMqsD,GAC7B1zC,UAAW,CAAE3Y,KAAM2Y,GACnByC,aAAc,CAAEpb,KAAMk9B,IAAM9hB,IAC5BsS,aAAc,CAAE1tB,KAAMk9B,IAAMxP,IAC5B45B,WAAY,CAAEtnD,KAAMk9B,IAAMoqB,IAC1BlpC,sBAAuB,CAAEpe,KAAMk9B,IAAM9e,IACrCkyB,0BAA2B,CAAEtwC,KAAMwxC,EAAapzB,IAChD1W,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtBD,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBggD,QAAS,CAAEznD,KAAMynD,GACjBn0C,cAAe,CAAEtT,KAAMsT,GACvB0+B,oBAAqB,CAAEhyC,KAAMk9B,IAAM8U,IACnC1oC,iBAAkB,CAAEtJ,KAAMk9B,IAAM5zB,IAChC4+C,WAAY,CAAEloD,KAAMkoD,GACpBC,gBAAiB,CAAEnoD,KAAMmoD,GACzBC,kBAAmB,CAAEpoD,KAAMooD,GAC3B3pC,eAAgB,CAAEze,KAAMye,GACxB3V,qBAAsB,CAAE9I,KAAM8I,GAC9BunC,yBAA0B,CAAErwC,KAAMwxC,EAAa1oC,IAC/CwyB,OAAQ,CAAEt7B,KAAMs7B,GAChBvvB,IAAK,CAAE/L,KAAM+L,GACb+7C,YAAa,CAAE9nD,KAAM8nD,GACrBC,aAAc,CAAE/nD,KAAM+nD,GACtBC,WAAY,CAAEhoD,KAAMgoD,GACpBC,SAAU,CAAEjoD,KAAMioD,OAoFT,SAAS,EAACpoD,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,CAPAmD,EAAcglC,UAAYhlC,EAAcilC,K,8aCptBjC,MAAMjS,EAAa,yBAGxBC,EAAwB,CACtBtqB,UAAW,GACX6gD,cAAe,GAEjBxpD,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDw2B,EAAa5sD,IACX,MAAM,UAAE8L,GAAc9L,EAEtB,OAAOiH,IAAQ6E,EAAW,CAACqK,EAAOtH,KAChC,MAAMg+C,EAAWC,SAASj+C,EAASjO,GAAGyD,UAAU,GAAI,IACpD,OAAO8R,EAAQ02C,EAAWA,EAAW12C,IACnC,GAAK,GAEXlW,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAETq2B,EAAcA,CAACC,EAAUhkD,KACvB,MAAMw7C,EAASwI,EAASC,MAAM,KAC9B,OAAO5vB,IAAM6vB,IAAS1I,EAAQx7C,GAAOi+C,SAEvCkG,EAAWA,CAACH,EAAUhkD,KACpB,MAAMw7C,EAAS0I,IAASF,EAASC,MAAM,KAAMjkD,GACvB,IAAlBw7C,EAAOlgD,QAAiBkgD,EAAO,IACjCA,EAAO4I,QAET,MAAMC,EAAaC,EAAAA,GAActkD,GAMjC,OALIqkD,EAAa7I,EAAOlgD,OACtBkgD,EAAO+I,OAAOF,EAAY,EAAGrkD,GAE7Bw7C,EAAOtuC,KAAKlN,GAEPq0B,IAAMmnB,EAAOyC,SAEtBuG,EAAaA,CAACxtD,EAAOY,EAAIoI,KACvB,MAAM,UAAE8C,GAAc9L,EACpBqtD,EAAaI,IAAW3hD,EAAY+C,IACmB,IAA9CA,EAAS7F,MAAMikD,MAAM,KAAKpoD,QAAQmE,IAE3C0kD,EAAUD,IAAW3hD,EAAY+C,GACxBA,EAASjO,KAAOA,GAG3B,GAAI8sD,IAAYL,EAAY,CAC1B,GAAIK,GAAW,GAAKL,GAAc,EAChC,OAAOptD,EAAOD,EAAO,CACnB8L,UAAW,CACT,CAAC4hD,GAAU,CACT1kD,MAAO,CAAE7I,KAAMgtD,EAASrhD,EAAU4hD,GAAS1kD,MAAOA,KAEpD,CAACqkD,GAAa,CACZrkD,MAAO,CAAE7I,KAAM4sD,EAAYjhD,EAAUuhD,GAAYrkD,MAAOA,QAKhE,GAAI0kD,GAAW,EACb,OAAOztD,EAAOD,EAAO,CACnB8L,UAAW,CACT,CAAC4hD,GAAU,CACT1kD,MAAO,CAAE7I,KAAMgtD,EAASrhD,EAAU4hD,GAAS1kD,MAAOA,QAK1D,GAAIqkD,GAAc,EAChB,OAAOptD,EAAOD,EAAO,CACnB8L,UAAW,CACT,CAACuhD,GAAa,CACZrkD,MAAO,CAAE7I,KAAM4sD,EAAYjhD,EAAUuhD,GAAYrkD,MAAOA,OAKlE,CACA,OAAOhJ,GAET2tD,EAAwB3tD,GACfwtD,EAAWxtD,EAAO,GAAI4tD,EAAAA,IAE/BC,EAA6BA,CAAC7tD,EAAOO,EAAQC,IACvCA,EAAKI,GACA4sD,EAAWxtD,EAAOQ,EAAKI,GAAIgtD,EAAAA,IAE7B5tD,EAET8tD,EAAyBA,CAAC9tD,EAAOO,EAAQC,IACnCA,EAAKI,GACA4sD,EAAWxtD,EAAOQ,EAAKI,GAAImtD,EAAAA,IAE7B/tD,EAETguD,EAAyBA,CAAChuD,EAAOO,EAAQC,IACnCA,EAAKI,GACA4sD,EAAWxtD,EAAOQ,EAAKI,GAAIqtD,EAAAA,IAE7BjuD,EAETkuD,EAAyBA,CAACluD,EAAOO,EAAQC,IACnCA,EAAKI,GACA4sD,EAAWxtD,EAAOQ,EAAKI,GAAIutD,EAAAA,IAE7BnuD,EAETouD,EAA6BA,CAACpuD,EAAOO,EAAQC,IACvCA,EAAKI,GACA4sD,EAAWxtD,EAAOQ,EAAKI,GAAIytD,EAAAA,IAE7BruD,EAETsuD,EAA0BA,CAACtuD,EAAOO,EAAQC,KACxC,MAAM,iBAAE+tD,GAAqB/tD,EAC7B,OAAK+tD,EAKEtuD,EAAOD,EAAO,CACnBuuD,iBAAkB,CAAEpuD,MAAM,KALnBF,EAAOutD,EAAWxtD,EAAO,GAAI4tD,EAAAA,IAAW,CAC7CW,iBAAkB,CAAEpuD,MAAM,MAOhCquD,EAA0BA,CAACxuD,EAAOO,EAAQC,KACxC,MAAM,iBAAEiuD,GAAqBjuD,EAC7B,OAAKiuD,EAKExuD,EAAOD,EAAO,CACnByuD,iBAAkB,CAAEtuD,MAAM,KALnBF,EAAOutD,EAAWxtD,EAAO,GAAIquD,EAAAA,IAAK,CACvCI,iBAAkB,CAAEtuD,MAAM,MAOhCuuD,EAAoB1uD,GACXwtD,EAAWxtD,EAAO,GAAI+tD,EAAAA,IAE/BY,GAAoB3uD,GACXwtD,EAAWxtD,EAAO,GAAIiuD,EAAAA,IAE/BW,GAAoB5uD,GACXwtD,EAAWxtD,EAAO,GAAImuD,EAAAA,IAE/BU,GAAwB7uD,GACfwtD,EAAWxtD,EAAO,GAAIquD,EAAAA,IAE/BS,GAAuBA,CAAC9uD,EAAOO,EAAQC,KACrC,MAAM,cAAEmsD,GAAkBnsD,EAE1B,OAAOP,EAAOD,EAAO,CACnB2sD,cAAe,CAAExsD,KAAMwsD,MAG3BoC,GAAsBA,CAAC/uD,EAAOO,EAAQC,KACpC,MAAM,UAAEsL,GAActL,EACtB,IAAIwuD,EAASpC,EAAU5sD,GAEvB,OAAOC,EAAOD,EAAO,CACnB2sD,cAAe,CAAExsD,KAAM2L,EAAUxH,QACjCwH,UAAW,CAAE3L,KAAM4F,IAAK+F,EAAY+C,IAC7BA,EAASjO,KACZiO,EAASjO,GAAK,OAAOouD,IACrBA,GAAU,GAEL/nD,IAAQ4H,EAAU,CAAC4D,EAAS0D,EAAOpB,KACxCtC,EAAQsC,GAAOk6C,IAAU94C,GAASknB,IAAMlnB,GAASA,EAC1C1D,GACN,CAAC,SAIVy8C,GAA0BA,CAAClvD,EAAOO,EAAQC,KACxC,MAAM,YAAE2uD,EAAW,gBAAEC,EAAe,YAAEC,EAAW,YAAEC,EAAW,gBAAEC,GAAoB/uD,EAEpF,IAAIgvD,EAASxvD,EAOb,OANAwvD,EAAShC,EAAWgC,EAAQL,EAAapB,EAAAA,IACzCyB,EAAShC,EAAWgC,EAAQJ,EAAiBf,EAAAA,IAC7CmB,EAAShC,EAAWgC,EAAQH,EAAalB,EAAAA,IACzCqB,EAAShC,EAAWgC,EAAQF,EAAarB,EAAAA,IACzCuB,EAAShC,EAAWgC,EAAQD,EAAiB3B,EAAAA,IAEtC4B,GAETC,GAAsBA,CAACzvD,EAAOO,EAAQC,KACpC,MAAM,aAAE+a,EAAY,OAAEmB,GAAWlc,EAEjC,GAAqB,SAAjB+a,EACF,OAAOvb,EAET,IAAIgvD,EAASpC,EAAU5sD,GAEvB,OAAOC,EAAOD,EAAO,CACnB8L,UAAW,CAAE3L,KAAM4F,IAAK2W,EAAS7N,IAC1BA,EAASjO,KACZiO,EAASjO,GAAK,OAAOouD,IACrBA,GAAU,GAEL/nD,IAAQ4H,EAAU,CAAC4D,EAAS0D,EAAOpB,KACxCtC,EAAQsC,GAAOk6C,IAAU94C,GAASknB,IAAMlnB,GAASA,EAC1C1D,GACN,CAAC,MAENk6C,cAAe,CAAExsD,KAAMuc,EAASA,EAAOpY,OAAS,MAGpDo/B,GAAoBA,CAAC1jC,EAAOO,EAAQC,KAClC,MACE,UAAEsL,GAActL,EAElB,OAAIsL,EACKijD,GAAoB/uD,EAAOO,EAAQ,CAAEuL,UAAW4jD,IAAW5jD,KAE7D7L,EAAOD,EAAO,CACnB8L,UAAW,CAAE3L,KAAM,OA0CvBwvD,GAAwBA,CAAC3vD,EAAOO,EAAQC,KACtC,MAAM,UAAEsL,EAAY,IAAO9L,GACrB,WAAE4vD,EAAU,MAAE9uD,EAAK,YAAEI,GAAgBV,EACrCqvD,EAAmBH,IAAW5jD,IAC5BhL,MAAOgvD,EAAQ5uD,YAAa6uD,GAAiBF,EAAiBD,GACtE,OAAI1uD,IAAgB6uD,GAAgBjvD,IAAUgvD,GAC5CD,EAAiBD,GAAc,IAC1BC,EAAiBD,GACpB1uD,cACAJ,SAEKb,EAAOD,EAAO,CACnB8L,UAAW,CAAE3L,KAAM0vD,MAGhB7vD,GAMT62B,GAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/Cv2B,GAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,GACjB,CAAC/2B,EAAAA,GAAQq3B,kBAVOC,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAU7C,CAAClf,EAAAA,GAAa02C,UAAWD,EACzB,CAACz2C,EAAAA,GAAa84C,iBAAkBnC,EAChC,CAAC32C,EAAAA,GAAa+4C,aAAcnC,EAC5B,CAAC52C,EAAAA,GAAag5C,YAAalC,EAC3B,CAAC92C,EAAAA,GAAai5C,aAAcjC,EAC5B,CAACh3C,EAAAA,GAAak5C,WAAYhC,EAC1B,CAACl3C,EAAAA,GAAam5C,WAAYvB,GAC1B,CAAC53C,EAAAA,GAAao5C,UAAWvB,GACzB,CAAC73C,EAAAA,GAAaq5C,cAAejC,EAC7B,CAACp3C,EAAAA,GAAas5C,QAAShC,EACvB,CAACt3C,EAAAA,GAAa62C,MAAOW,EACrB,CAACx3C,EAAAA,GAAa+2C,KAAMU,GACpB,CAACz3C,EAAAA,GAAai3C,MAAOS,GACrB,CAAC13C,EAAAA,GAAam3C,IAAKQ,GACnB,CAAC33C,EAAAA,GAAau5C,YAAad,GAE3B,CAACnrB,EAAAA,GAAiBksB,eAAgB/C,EAClC,CAACnpB,EAAAA,GAAiBmsB,sBAAuB9C,EACzC,CAACrpB,EAAAA,GAAiBosB,kBAAmB9C,EACrC,CAACtpB,EAAAA,GAAiBqsB,iBAAkB7C,EACpC,CAACxpB,EAAAA,GAAiBssB,kBAAmB5C,EACrC,CAAC1pB,EAAAA,GAAiBusB,gBAAiB3C,EACnC,CAAC5pB,EAAAA,GAAiBwsB,gBAAiBlC,GACnC,CAACtqB,EAAAA,GAAiBysB,eAAgBlC,GAClC,CAACvqB,EAAAA,GAAiB0sB,qBAAsBnC,GACxC,CAACvqB,EAAAA,GAAiB2sB,mBAAoB7C,EACtC,CAAC9pB,EAAAA,GAAiB4sB,aAAc5C,EAChC,CAAChqB,EAAAA,GAAiB6sB,qBAAsBnC,GACxC,CAAC1qB,EAAAA,GAAiB8sB,WAAY5C,EAC9B,CAAClqB,EAAAA,GAAiB+sB,UAAW5C,GAC7B,CAACnqB,EAAAA,GAAiBgtB,WAAY5C,GAC9B,CAACpqB,EAAAA,GAAiBitB,SAAU5C,GAC5B,CAACrqB,EAAAA,GAAiBisB,YAAad,GAE/B,CAAC93C,EAAAA,GAAqBmiB,MAAOnD,GAE7B,CAAC6N,EAAAA,GAAsB1K,MAAOnD,GAC9B,CAAC6N,EAAAA,GAAsBgsB,eAAgB/C,EACvC,CAACjpB,EAAAA,GAAsBisB,sBAAuB9C,EAC9C,CAACnpB,EAAAA,GAAsBksB,kBAAmB9C,EAC1C,CAACppB,EAAAA,GAAsBmsB,iBAAkB7C,EACzC,CAACtpB,EAAAA,GAAsBosB,kBAAmB5C,EAC1C,CAACxpB,EAAAA,GAAsBqsB,gBAAiB3C,EACxC,CAAC1pB,EAAAA,GAAsBssB,gBAAiBlC,GACxC,CAACpqB,EAAAA,GAAsBusB,eAAgBlC,GACvC,CAACrqB,EAAAA,GAAsBysB,mBAAoB7C,EAC3C,CAAC5pB,EAAAA,GAAsB0sB,aAAc5C,EACrC,CAAC9pB,EAAAA,GAAsB4sB,WAAY5C,EACnC,CAAChqB,EAAAA,GAAsB6sB,UAAW5C,GAClC,CAACjqB,EAAAA,GAAsB8sB,WAAY5C,GACnC,CAAClqB,EAAAA,GAAsB+sB,SAAU5C,GACjC,CAACnqB,EAAAA,GAAsB+rB,YAAad,GAEpC,CAAC53C,EAAAA,GAAoBssB,QAASX,GAE9B,CAAC2B,EAAAA,GAAkBqrB,eAAgB/C,EACnC,CAACtoB,EAAAA,GAAkBsrB,sBAAuB9C,EAC1C,CAACxoB,EAAAA,GAAkBurB,kBAAmB9C,EACtC,CAACzoB,EAAAA,GAAkBwrB,iBAAkB7C,EACrC,CAAC3oB,EAAAA,GAAkByrB,kBAAmB5C,EACtC,CAAC7oB,EAAAA,GAAkB0rB,gBAAiB3C,EACpC,CAAC/oB,EAAAA,GAAkB2rB,gBAAiBlC,GACpC,CAACzpB,EAAAA,GAAkB4rB,eAAgBlC,GACnC,CAAC1pB,EAAAA,GAAkB6rB,qBAAsBnC,GACzC,CAAC1pB,EAAAA,GAAkB8rB,mBAAoB7C,EACvC,CAACjpB,EAAAA,GAAkB+rB,aAAc5C,EACjC,CAACnpB,EAAAA,GAAkBgsB,qBAAsBnC,GACzC,CAAC7pB,EAAAA,GAAkBisB,WAAY5C,EAC/B,CAACrpB,EAAAA,GAAkBksB,UAAW5C,GAC9B,CAACtpB,EAAAA,GAAkBmsB,WAAY5C,GAC/B,CAACvpB,EAAAA,GAAkBosB,SAAU5C,GAE7B,CAAC/W,EAAAA,GAAiBzX,QAASovB,GAC3B,CAAC3X,EAAAA,GAAiB4Z,aAAcjC,GAEhC,CAAC35B,EAAAA,GAAgBuO,QAASX,GAE1B,CAACmC,EAAAA,GAAiB6qB,eAAgB/C,EAClC,CAAC9nB,EAAAA,GAAiB8qB,sBAAuB9C,EACzC,CAAChoB,EAAAA,GAAiB+qB,kBAAmB9C,EACrC,CAACjoB,EAAAA,GAAiBgrB,iBAAkB7C,EACpC,CAACnoB,EAAAA,GAAiBirB,kBAAmB5C,EACrC,CAACroB,EAAAA,GAAiBkrB,gBAAiB3C,EACnC,CAACvoB,EAAAA,GAAiBmrB,gBAAiBlC,GACnC,CAACjpB,EAAAA,GAAiBorB,eAAgBlC,GAClC,CAAClpB,EAAAA,GAAiBsrB,mBAAoB7C,EACtC,CAACzoB,EAAAA,GAAiBurB,aAAc5C,EAChC,CAAC3oB,EAAAA,GAAiByrB,WAAY5C,EAC9B,CAAC7oB,EAAAA,GAAiB0rB,UAAW5C,GAC7B,CAAC9oB,EAAAA,GAAiB2rB,WAAY5C,GAC9B,CAAC/oB,EAAAA,GAAiB4rB,SAAU5C,GAC5B,CAAChpB,EAAAA,GAAiB4qB,YAAad,GAE/B,CAACp6C,EAAAA,EAAcP,qBAjKOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,IACxB,MAAM4rB,EAAO1uD,IAAK8iC,EAAG,YAAa,MAGlC,OAAO6rB,MAAMC,QAAQF,IAASA,EAAKrtD,OAAS,IAGhD,IAAK2N,EACH,OAAOjS,EAGT,MACE,UAAE8L,EAAY,GAAIgmD,eAAgBnF,EAAgB,MAAS16C,EAC3DmQ,EAAqBrc,IAAK+F,EAAW,CAAC+C,EAAUjK,KAC9C,MACEhE,EAAK,OAAOgE,EAAQ,KAClBjD,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,MAAE4G,EAAQ,IAAO6F,GAChJnH,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAI5H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,KAAI,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAIyH,sBAAuBC,EAAuB,MAASiG,EAEjO,MAAO,CAAEjO,KAAIgB,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,MAAOof,EAAW/W,UAASN,UAASjH,QAAOI,cAAa8H,QAAOJ,0BAGxK,OAAO3I,EAAOD,EAAO,CACnB8L,UAAW,CAAE3L,KAAMiiB,GACnBuqC,cAAe,CAAExsD,KAAwB,OAAlBwsD,EAAyB7gD,EAAUxH,OAASqoD,OAgI1D,SAAS,GAAC3sD,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,oQC9YO,MAAMm2B,EAAa,0BAGxBC,EAAwB,CACtBtd,UAAW,GACXowB,aAAc,EACd3mB,QAAS,GACTjE,WAAY,GACZyzC,iBAAkB,GAClB/nD,YAAa,GACbgoD,eAAgB,GAChBC,UAAU,EACV3xC,MAAM,EACNmC,cAAe,GACfC,WAAW,EACXwvC,aAAa,EAEbx6B,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAEfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAgBT6S,EAAuBA,CAACvpC,EAAOO,EAAQC,KACrC,MAAM,UAAEsY,EAAS,WAAEnF,EAAa,IAAOnT,EAEvC,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnByJ,QAAS,CAAEpiB,KAAMwT,GAAc3T,EAAMuiB,YAGzC6U,EAAkBA,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/CkH,EAAcA,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UACJsY,EAAS,aACTowB,EAAY,WACZv1B,EAAa,GAAE,YACfu+C,GAAc,EAAK,iBACnBH,EAAmB,GAAE,YACrB/nD,EAAc,GAAE,eAChBgoD,EAAiB,IACfxxD,EACJ,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtB3mB,QAAS,CAAEpiB,KAAMwT,GACjBu+C,YAAa,CAAE/xD,KAAM+xD,GACrBH,iBAAkB,CAAE5xD,KAAM4xD,GAC1B/nD,YAAa,CAAE7J,KAAM6J,GACrBgoD,eAAgB,CAAE7xD,KAAM6xD,GACxBtxD,YAAa,CAAEP,KAAM,MAGzB23B,EAAiBA,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAGnBg5B,EAAgBp9B,GACPC,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,KAGzBgyD,EAAiBA,CAACnyD,EAAOO,EAAQC,KAC/B,MAAM,QAAE+hB,EAAO,KAAEjC,EAAI,SAAE2xC,GAAazxD,EACpC,OAAOP,EAAOD,EAAO,CACnBuiB,QAAS,CAAEpiB,KAAMoiB,GACjB0vC,SAAU,CAAE9xD,KAAM8xD,GAClB3xC,KAAM,CAAEngB,KAAMmgB,GACdmC,cAAe,CAAEtiB,KAAMmgB,EAAO,GAAKtgB,EAAMyiB,eACzCC,UAAW,CAAEviB,OAAMmgB,GAActgB,EAAM0iB,cAiB3C4gB,EAAeA,CAACtjC,EAAOO,EAAQC,KAC7B,MAAM,cAAEiiB,EAAa,KAAEnC,GAAS9f,EAChC,OAAOP,EAAOD,EAAO,CACnByiB,cAAe,CAAEtiB,KAAMsiB,GACvBC,UAAW,CAAEviB,KAAMmgB,MAoEvBzgB,EAAa,CACX,CAACC,EAAAA,GAAQwpC,gBAAiBC,EAC1B,CAACzpC,EAAAA,GAAQsiC,UAAWhL,EACpB,CAACt3B,EAAAA,GAAQsyD,aAAcD,EACvB,CAACryD,EAAAA,GAAQuyD,cA1FUC,CAACtyD,EAAOO,EAAQC,KACnC,MAAM,iBAAEuxD,EAAgB,YAAE/nD,EAAW,KAAEsW,GAAS9f,EAChD,OAAOP,EAAOD,EAAO,CACnB+xD,iBAAkB,CAAE5xD,KAAM4xD,GAC1B/nD,YAAa,CAAE7J,KAAM6J,GACrBsW,KAAM,CAAEngB,KAAMmgB,MAsFhB,CAACxgB,EAAAA,GAAQyyD,eAAgBjvB,EACzB,CAACxjC,EAAAA,GAAQ0yD,iBAvEaC,CAACzyD,EAAOO,EAAQC,KACtC,MAAM,eAAEwxD,GAAmBxxD,EAC3B,OAAOP,EAAOD,EAAO,CACnBgyD,eAAgB,CAAE7xD,KAAM6xD,MAqE1B,CAAClyD,EAAAA,GAAQ4yD,qBAAsBpvB,EAC/B,CAACxjC,EAAAA,GAAQ+3B,SAAUC,EACnB,CAACh4B,EAAAA,GAAQk6B,MAAOsD,EAChB,CAACx9B,EAAAA,GAAQi4B,OAAQqF,EAEjB,CAACzlB,EAAAA,GAAuB2xB,gBAAiBC,EACzC,CAAC5xB,EAAAA,GAAuByqB,UAAWhL,EACnC,CAACzf,EAAAA,GAAuB46C,eAAgBjvB,EACxC,CAAC3rB,EAAAA,GAAuBkgB,SAAUC,EAClC,CAACngB,EAAAA,GAAuBqiB,MAAOsD,EAC/B,CAAC3lB,EAAAA,GAAuBogB,OAAQqF,EAEhC,CAACib,EAAAA,GAA0B/O,gBAAiBC,EAC5C,CAAC8O,EAAAA,GAA0Bsa,eAlGTC,CAAC5yD,EAAOO,EAAQC,KAClC,MAAM,WAAEmT,GAAenT,EACvB,OAAOP,EAAOD,EAAO,CACnBuiB,QAAS,CAAEpiB,KAAMwT,MAgGnB,CAAC0kC,EAAAA,GAA0BjW,UAAWhL,EACtC,CAACihB,EAAAA,GAA0BxgB,SAAUC,EACrC,CAACugB,EAAAA,GAA0Bre,MAAOsD,EAClC,CAAC+a,EAAAA,GAA0BtgB,OAAQqF,EAEnC,CAAC7kB,EAAAA,GAAqBqe,OAxCTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAuC7C,CAAC7d,EAAAA,GAAqByhB,MArCE64B,CAAC7yD,EAAOO,EAAQC,KACxCg2B,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAY,IACxCC,EACH7T,QAAS/hB,EAAKmT,YAAc,GAC5Bm/C,aAActyD,EAAKsyD,cAAgB,GACnCC,oBAAqBvyD,EAAKwJ,aAAe,GACzCgpD,uBAAwBxyD,EAAKwxD,gBAAkB,MAgCjD,CAAC36C,EAAAA,GAAY+6C,aAAcD,EAC3B,CAAC96C,EAAAA,GAAYk7C,eAAgBjvB,EAE7B,CAACpsB,EAAAA,GAAak7C,aAAcD,EAC5B,CAACj7C,EAAAA,GAAaq7C,eAAgBjvB,EAE9B,CAACsC,EAAAA,GAAwB0D,gBAAiBC,EAC1C,CAAC3D,EAAAA,GAAwBxD,UAAWhL,EACpC,CAACwO,EAAAA,GAAwBwsB,aAAcD,EACvC,CAACvsB,EAAAA,GAAwB2sB,eAAgBjvB,EACzC,CAACsC,EAAAA,GAAwB/N,SAAUC,EACnC,CAAC8N,EAAAA,GAAwB5L,MAAOsD,EAChC,CAACsI,EAAAA,GAAwB7N,OAAQqF,EAEjC,CAAC7nB,EAAAA,EAAcP,qBAtGOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChC2wB,EAAkBl9C,IAAMsF,EAAYpJ,GAEf,oBADHhP,IAAKgP,EAAO,UAAW,KAGzCihD,EAAan9C,IAAMsF,EAAYpJ,GAEV,gBADHhP,IAAKgP,EAAO,UAAW,KAI3C,IAAKghD,EACH,OAAOjzD,EAET,MACE,QACEuiB,EAAU,GAAE,WACZjE,EAAa,GACb60C,gBAAiBlB,GAAW,EAAI,KAChC3xC,GAAO,GACL2yC,GAEFzwC,cAAeC,EAAgB,GAC/BnC,KAAMoC,GAAY,GAChBwwC,GAAc,CAAC,EAErB,OAAOjzD,EAAOD,EAAO,CACnBuiB,QAAS,CAAEpiB,KAAMoiB,GACjB0vC,SAAU,CAAE9xD,KAAM8xD,GAClB3zC,WAAY,CAAEne,KAAMme,GACpBgC,KAAM,CAAEngB,KAAMmgB,GACdmC,cAAe,CAAEtiB,KAAMsiB,GACvBC,UAAW,CAAEviB,KAAMuiB,MA8DrB,CAAC2U,EAAAA,EAAgBzzB,6BAhNCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAwMJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,kJCnQO,MAAMm2B,EAAa,wBAGxBC,EAAwB,CACtBtd,UAAW,GACXowB,aAAc,EACd3mB,QAAS,GACTjE,WAAY,GACZyzC,iBAAkB,GAClB/nD,YAAa,GACbgoD,eAAgB,GAChBC,UAAU,EACV3xC,MAAM,EACNmC,cAAe,GACfC,WAAW,EACXwvC,aAAa,EAEbx6B,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAEfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAyCT72B,EAAa,CACX,CAACC,EAAAA,GAAQsiC,UAxCOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAuC7C,CAACt2B,EAAAA,GAAQuyD,cAVUC,CAACtyD,EAAOO,EAAQC,KACnC,MAAM,iBAAEuxD,EAAgB,YAAE/nD,EAAW,KAAEsW,GAAS9f,EAChD,OAAOP,EAAOD,EAAO,CACnB+xD,iBAAkB,CAAE5xD,KAAM4xD,GAC1B/nD,YAAa,CAAE7J,KAAM6J,GACrBsW,KAAM,CAAEngB,KAAMmgB,MAMhB,CAACxgB,EAAAA,GAAQk6B,MAtCGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UACJsY,EAAS,aACTowB,EAAY,WACZv1B,EAAa,GAAE,YACfu+C,GAAc,EAAK,iBACnBH,EAAmB,GAAE,YACrB/nD,EAAc,GAAE,eAChBgoD,EAAiB,IACfxxD,EACJ,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtB3mB,QAAS,CAAEpiB,KAAMwT,GACjBu+C,YAAa,CAAE/xD,KAAM+xD,GACrBH,iBAAkB,CAAE5xD,KAAM4xD,GAC1B/nD,YAAa,CAAE7J,KAAM6J,GACrBgoD,eAAgB,CAAE7xD,KAAM6xD,GACxBtxD,YAAa,CAAEP,KAAM,MAqBvB,CAACL,EAAAA,GAAQi4B,OAlBK/3B,GACPC,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,MAkBZ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAC3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,wRC1EO,MAAMm2B,EAAa,mBAGxBC,EAAwB,CACtBpR,WAAY,KACZE,gBAAiB,KACjBxJ,aAAc,KACd2J,WAAY,GACZE,iBAAkB,WAClBR,QAAS,KACTlH,KAAM,GACNgH,iBAAkB,KAClBuuC,wBAAwB,EACxBC,yBAAyB,EACzBC,0BAA0B,EAC1BpyD,YAAa,GACbykB,SAAU,KACVC,IAAK,KACLE,YAAa,KACbE,gBAAiB,GACjBE,4BAA6B,EAC7BE,qBAAsB,EACtBE,oBAAqB,KACrBE,aAAc,KACdE,mBAAoB,KACpBE,gBAAiB,KACjBE,kBAAmB,GACnBE,kBAAmB,GACnBE,kBAAmB,GACnBE,kBAAmB,GACnBE,kBAAmB,GACnBE,wBAAyB,GACzB/B,UAAW,GACXpC,YAAa,EACbF,OAAQ,GACRuB,OAAQ,KACR6uC,QAAS,GACT7yD,YAAa,EACbqnD,SAAS,EACT9Z,gBAAgB,GAElB9qC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAiCT88B,EAA6BA,CAACxzD,EAAOO,EAAQC,KAC3C,MAAM,iBAAEiJ,GAAqBjJ,EAE7B,OAAOP,EAAOD,EAAO,CACnB8mB,kBAAmB,CAAE3mB,KAAMsJ,GAC3Bud,kBAAmB,CAAE7mB,KAAM,IAC3B+mB,kBAAmB,CAAE/mB,KAAM,IAC3BinB,kBAAmB,CAAEjnB,KAAM,IAC3BmnB,kBAAmB,CAAEnnB,KAAM,IAC3BszD,wBAAyB,CAAEtzD,KAAM,OA0GrCuzD,EAAmBA,CAAC1zD,EAAOO,EAAQC,KACjC,MAAM,aAAEkb,GAAiBlb,EACzB,OAAOP,EAAOD,EAAO,CACnB0b,aAAc,CAAEvb,KAAMub,MA6c1B7b,EAAa,CACX,CAACC,EAAAA,GAAQ82B,OALIC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAI7C,CAACt2B,EAAAA,GAAQq3B,kBAVOC,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAU7C,CAACkiB,EAAAA,GAAiBqb,KAtmBPC,CAAC5zD,EAAOO,EAAQC,KAC3B,MAAM,IAAEolB,GAAQplB,GACV,cAAEo8B,GAAkBp8B,EAE1B,OAAOP,EAAOD,EAAO,CACnB4lB,IAAK,CAAEzlB,UAFqB,IAARylB,GAAwBA,QAAmC,IAAlBgX,GAAkCA,MAomBjG,CAAC0b,EAAAA,GAAiBub,SA5jBKC,CAAC9zD,EAAOO,EAAQC,KACvC,GAAIA,EAAKomB,gBAAiB,CACxB,MAAM,gBAAEA,GAAoBpmB,EAC5B,OAAOP,EAAOD,EAAO,CACnB4mB,gBAAiB,CAAEzmB,KAAMymB,IAE7B,CACA,MAAM,gBAAEuW,GAAoB38B,EAC5B,OAAOP,EAAOD,EAAO,CACnB4mB,gBAAiB,CAAEzmB,KAAMg9B,MAojB3B,CAACmb,EAAAA,GAAiB3Y,SAhmBMC,CAAC5/B,EAAOO,EAAQC,KACxC,GAAIA,EAAK4b,iBAAkB,CACzB,MAAQA,iBAAkB0K,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,wBAAEE,GAA4BhnB,EACrJ,OAAOP,EAAOD,EAAO,CACnB8mB,kBAAmB,CAAE3mB,KAAM2mB,GAC3BE,kBAAmB,CAAE7mB,KAAM6mB,GAC3BE,kBAAmB,CAAE/mB,KAAM+mB,GAC3BE,kBAAmB,CAAEjnB,KAAMinB,GAC3BE,kBAAmB,CAAEnnB,KAAMmnB,GAC3BE,wBAAyB,CAAErnB,KAAMk9B,IAAM7V,KAE3C,CACA,MAAM,kBAAEV,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,wBAAEE,GAA4BhnB,EACnI,OAAOP,EAAOD,EAAO,CACnB8mB,kBAAmB,CAAE3mB,KAAM2mB,GAC3BE,kBAAmB,CAAE7mB,KAAM6mB,GAC3BE,kBAAmB,CAAE/mB,KAAM+mB,GAC3BE,kBAAmB,CAAEjnB,KAAMinB,GAC3BE,kBAAmB,CAAEnnB,KAAMmnB,GAC3BE,wBAAyB,CAAErnB,KAAMk9B,IAAM7V,OA8kBzC,CAAC8wB,EAAAA,GAAiB7B,UA9PEsd,CAAC/zD,EAAOO,EAAQC,KACpC,MAAM,QAAEukB,EAAO,YAAE7jB,EAAW,KAAE2c,EAAI,WAAEwH,EAAU,iBAAEE,EAAgB,UAAEE,GAAcjlB,EAEhF,OAAOP,EAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMe,GACrB6jB,QAAS,CAAE5kB,KAAM4kB,GACjBlH,KAAM,CAAE1d,KAAMk9B,IAAMxf,IACpBwH,WAAY,CAAEllB,KAAMk9B,IAAMhY,IAC1BE,iBAAkB,CAAEplB,KAAMolB,GAC1BE,UAAW,CAAEtlB,KAAMslB,MAsPrB,CAAC6yB,EAAAA,GAAiB0b,aAljBOC,CAACj0D,EAAOO,EAAQC,KACzC,MACE,UACEoB,EAAY,GAAE,WACdE,EAAa,GAAE,SACfE,EAAW,GAAE,OACbC,EAAS,GAAE,YACXG,EAAc,GAAE,aAChBkG,EAAe,GAAE,aACjBC,EAAe,GAAE,KACjBX,EAAO,GACP5H,MAAOof,EAAY,GAAE,QACrB/W,EAAU,GAAE,QACZN,EAAU,KAAI,MACdjH,EAAQ,GAAE,YACVI,EAAc,GAAE,IAChBkjB,EAAM,GAAE,UACRJ,EAAY,GAAE,IACd9X,EAAM,GAAE,YACRoY,GAAc,EAAK,mBACnBE,EAAqB,GAAE,oBACvBI,GAAsB,GACpBpkB,EACJ0zD,IAAcjyD,EAEhB,GAA+B,OAA3BjC,EAAM6kB,iBAA2B,CACnC,MAAMA,EAAmB,CACvBjjB,UAAWy7B,IAAMz7B,GACjBE,WAAYu7B,IAAMv7B,GAClBE,SAAUq7B,IAAMr7B,GAChBC,SACAiyD,YACA9xD,YAAai7B,IAAMj7B,GACnBkG,aAAc+0B,IAAM/0B,GACpBC,aAAc80B,IAAM90B,GACpBX,KAAMy1B,IAAMz1B,GACZ5H,MAAOof,EACP/W,UACAN,QAASs1B,IAAMt1B,GACfjH,MAAOu8B,IAAMv8B,GACbI,cACAkjB,MACAJ,UAAWqZ,IAAMrZ,GACjB9X,MACAoY,cACAE,qBACAI,uBAGF,OAAO3kB,EAAOD,EAAO,CACnBuzD,QAAS,CAAEpzD,KAAMikB,GACjBniB,OAAQ,CAAE9B,KAAM8B,GAChB4iB,iBAAkB,CAAE1kB,KAAM0kB,IAE9B,CACA,OAAO5kB,EAAOD,EAAO,CACnBuzD,QAAS,CAAEpzD,KAAMikB,GACjBniB,OAAQ,CAAE9B,KAAM8B,GAChB4iB,iBAAkB,CAChBjjB,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAM8B,GAChBiyD,UAAW,CAAE/zD,KAAM+zD,GACnB9xD,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BkG,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpB5H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBjH,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMe,GACrBkjB,IAAK,CAAEjkB,KAAMikB,GACbJ,UAAW,CAAE7jB,KAAMk9B,IAAMrZ,IACzB9X,IAAK,CAAE/L,KAAMk9B,IAAMnxB,IACnBoY,YAAa,CAAEnkB,KAAMmkB,GACrBE,mBAAoB,CAAErkB,KAAMqkB,GAC5BI,oBAAqB,CAAEzkB,KAAMykB,OAqejC,CAAC0zB,EAAAA,GAAiB6b,WApPFC,CAACp0D,EAAOO,EAAQC,KAChC,MAAM,aAAEkb,GAAiBlb,EACzB,OAAOP,EAAOD,EAAO,CACnB0b,aAAc,CAAEvb,KAAMub,MAkPxB,CAAC48B,EAAAA,GAAiB+b,WAleFC,CAACt0D,EAAOO,EAAQC,KAChC,MAAM,WAAE6kB,EAAU,iBAAEE,EAAgB,UAAEE,GAAcjlB,EACpD,OAAOP,EAAOD,EAAO,CACnBqlB,WAAY,CAAEllB,KAAMk9B,IAAMhY,IAC1BE,iBAAkB,CAAEplB,KAAMolB,GAC1BE,UAAW,CAAEtlB,KAAMslB,MA8drB,CAAC6yB,EAAAA,GAAiBic,YAAab,EAC/B,CAACpb,EAAAA,GAAiBkc,WAtdNl1B,CAACt/B,EAAOO,EAAQC,KAC5B,MAAM,KAAEqd,GAASrd,EACjB,OAAOP,EAAOD,EAAO,CACnB6d,KAAM,CACJ1d,KAAMk9B,IAAMxf,OAmdhB,CAACy6B,EAAAA,GAAiB/Y,UA/cHC,CAACx/B,EAAOO,EAAQC,KAC/B,MAAM,QAAEukB,GAAYvkB,EACpB,OAAOP,EAAOD,EAAO,CACnB+kB,QAAS,CAAE5kB,KAAM4kB,MA6cnB,CAACuzB,EAAAA,GAAiBmc,UAnPHC,CAAC10D,EAAOO,EAAQC,KAC/B,MAAM,OAAE2iB,EAAM,SAAEwC,EAAQ,IAAEC,EAAG,YAAEE,EAAW,gBAAEE,EAAe,4BAAEE,EAA2B,qBAAEE,EAAoB,oBAAEE,GAAwB9lB,GACtI,aAAEgmB,EAAY,mBAAEE,EAAkB,gBAAEE,EAAe,kBAAEE,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,kBAAEE,EAAiB,wBAAEE,GAA4BhnB,EAElL,OAAOP,EAAOD,EAAO,CACnBmjB,OAAQ,CAAEhjB,KAAMgjB,GAChBwC,SAAU,CAAExlB,KAAMwlB,GAClBC,IAAK,CAAEzlB,KAAMylB,GACbE,YAAa,CAAE3lB,KAAM2lB,GACrBE,gBAAiB,CAAE7lB,KAAM6lB,GACzBE,4BAA6B,CAAE/lB,KAAM+lB,GACrCE,qBAAsB,CAAEjmB,KAAMimB,GAC9BE,oBAAqB,CAAEnmB,KAAMmmB,GAC7BE,aAAc,CAAErmB,KAAMqmB,GACtBE,mBAAoB,CAAEvmB,KAAMumB,GAC5BE,gBAAiB,CAAEzmB,KAAMymB,GACzBE,kBAAmB,CAAE3mB,KAAM2mB,GAC3BE,kBAAmB,CAAE7mB,KAAM6mB,GAC3BE,kBAAmB,CAAE/mB,KAAM+mB,GAC3BE,kBAAmB,CAAEjnB,KAAMinB,GAC3BE,kBAAmB,CAAEnnB,KAAMmnB,GAC3BE,wBAAyB,CAAErnB,KAAMk9B,IAAM7V,OA+NzC,CAAC8wB,EAAAA,GAAiBqc,YA3cDC,CAAC50D,EAAOO,EAAQC,KACjC,MAAM,OAAE2iB,GAAW3iB,EACnB,OAAOP,EAAOD,EAAO,CACnBmjB,OAAQ,CAAEhjB,KAAMgjB,MAyclB,CAACm1B,EAAAA,GAAiBuc,SAtcCC,CAAC90D,EAAOO,EAAQC,KACnC,GAAIA,EAAKw8B,GAAI,CACX,MACEA,IAAI,gBACFhX,EAAe,4BACfE,EAA2B,qBAC3BE,EAAoB,oBACpBE,IAEA9lB,EACJ,OAAOP,EAAOD,EAAO,CACnBgmB,gBAAiB,CAAE7lB,KAAM6lB,GACzBE,4BAA6B,CAAE/lB,KAAM+lB,GACrCE,qBAAsB,CAAEjmB,KAAMimB,GAC9BE,oBAAqB,CAAEnmB,KAAMmmB,IAEjC,CACA,MAAM,gBAAEN,EAAe,4BAAEE,EAA2B,qBAAEE,EAAoB,oBAAEE,GAAwB9lB,EACpG,OAAOP,EAAOD,EAAO,CACnBgmB,gBAAiB,CAAE7lB,KAAM6lB,GACzBE,4BAA6B,CAAE/lB,KAAM+lB,GACrCE,qBAAsB,CAAEjmB,KAAMimB,GAC9BE,oBAAqB,CAAEnmB,KAAMmmB,MAib/B,CAACgyB,EAAAA,GAAiByc,aA7aIC,CAACh1D,EAAOO,EAAQC,KACtC,MAAM,YAAEslB,GAAgBtlB,EACxB,OAAOP,EAAOD,EAAO,CACnB8lB,YAAa,CAAE3lB,KAAM2lB,MA2avB,CAACwyB,EAAAA,GAAiB9Z,UAxaFC,CAACz+B,EAAOO,EAAQC,KAChC,MAAM,SAAEmlB,GAAanlB,EACrB,OAAOP,EAAOD,EAAO,CACnB2lB,SAAU,CAAExlB,KAAMwlB,MAsapB,CAAC2yB,EAAAA,GAAiB2c,SAnaJC,CAACl1D,EAAOO,EAAQC,KAC9B,MAAM,OAAEkkB,GAAWlkB,EACnB,OAAOP,EAAOD,EAAO,CACnB0kB,OAAQ,CAAEvkB,KAAMukB,MAialB,CAAC4zB,EAAAA,GAAiB6c,iBA9ZAC,CAACp1D,EAAOO,EAAQC,KAClC,MAAM,WAAEwkB,GAAexkB,EACvB,OAMOP,EAAOD,EANTglB,EAMgB,CACnBA,WAAY,CAAE7kB,MAAM,IANC,CACnB6kB,WAAY,CAAE7kB,MAAM,GACpB+kB,gBAAiB,CAAE/kB,MAAM,MA0Z7B,CAACm4C,EAAAA,GAAiB+c,mBArYKC,CAACt1D,EAAOO,EAAQC,KACvC,MAAM,gBAAE0kB,GAAoB1kB,EAC5B,OAAOP,EAAOD,EAAO,CACnBklB,gBAAiB,CAAE/kB,KAAM+kB,MAmY3B,CAACozB,EAAAA,GAAiBid,eApZIC,CAACx1D,EAAOO,EAAQC,KACtC,MAAM,YAAE6iB,GAAgB7iB,EACxB,IAAI0kB,EAAkBllB,EAAMklB,gBAM5B,OALoB,IAAhB7B,EACF6B,GAAkB,EACT7B,EAAc,IACvB6B,GAAkB,GAEbjlB,EAAOD,EAAO,CACnBqjB,YAAa,CAAEljB,KAAMkjB,GACrB2B,WAAY,CAAE7kB,KAAsB,IAAhBkjB,GAAoBrjB,EAAMglB,YAC9CE,gBAAiB,CAAE/kB,KAAM+kB,MA0Y3B,CAACozB,EAAAA,GAAiBmd,UApOAC,CAAC11D,EAAOO,EAAQC,KAClC,MAAM,WAAEwkB,EAAU,gBAAEE,EAAe,YAAE7B,GAAgB7iB,EACrD,OAAOP,EAAOD,EAAO,CACnBglB,WAAY,CAAE7kB,KAAM6kB,GACpBE,gBAAiB,CAAE/kB,KAAM+kB,GACzB7B,YAAa,CAAEljB,KAAMkjB,MAgOvB,CAACi1B,EAAAA,GAAiBqd,WA7NKC,CAAC51D,EAAOO,EAAQC,KACvC,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,YAAEI,EAAW,aAAEkG,EAAY,aAAEC,EAAY,KAAEX,EAAM5H,MAAOof,EAAS,QAAE/W,EAAO,QAAEN,EAAU,KAAI,MAAEjH,EAAK,YAAEI,EAAW,OAAEe,EAAM,IAAEmiB,EAAG,UAAEJ,EAAS,IAAE9X,EAAG,YAAEoY,EAAW,mBAAEE,GAAuBhkB,EAExN,OAAOP,EAAOD,EAAO,CACnBuzD,QAAS,CAAEpzD,KAAMikB,GACjBS,iBAAkB,CAChBjjB,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAM8B,GAChBG,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BkG,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpB5H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBjH,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMe,GACrBkjB,IAAK,CAAEjkB,KAAMikB,GACbJ,UAAW,CAAE7jB,KAAMk9B,IAAMrZ,IACzB9X,IAAK,CAAE/L,KAAMk9B,IAAMnxB,IACnBoY,YAAa,CAAEnkB,KAAMmkB,GACrBE,mBAAoB,CAAErkB,KAAMqkB,OAuMhC,CAAC8zB,EAAAA,GAAiBud,WAzWKC,CAAC91D,EAAOO,EAAQC,KACvC,MAAM,OAAEyB,EAAM,IAAEmiB,EAAG,UAAEJ,EAAS,IAAE9X,EAAG,YAAEoY,EAAW,mBAAEE,GAAuBhkB,EAEzE,OAAOP,EAAOD,EAAO,CACnBuzD,QAAS,CAAEpzD,KAAMikB,GACjBS,iBAAkB,CAChB5iB,OAAQ,CAAE9B,KAAM8B,GAChBmiB,IAAK,CAAEjkB,KAAMikB,GACbJ,UAAW,CAAE7jB,KAAMk9B,IAAMrZ,IACzB9X,IAAK,CAAE/L,KAAMk9B,IAAMnxB,IACnBoY,YAAa,CAAEnkB,KAAMmkB,GACrBE,mBAAoB,CAAErkB,KAAMqkB,GAAsB,QA+VtD,CAAC8zB,EAAAA,GAAiByd,YA3VM53B,CAACn+B,EAAOO,EAAQC,KACxC,MACE,UACEoB,EAAY,GAAE,WACdE,EAAa,GAAE,SACfE,EAAW,GAAE,YACbI,EAAc,GAAE,aAChBkG,EAAe,GAAE,aACjBC,EAAe,GAAE,KACjBX,EAAO,GACP5H,MAAOof,EAAY,GAAE,QACrB/W,EAAU,GAAE,QACZN,EAAU,KAAI,MACdjH,EAAQ,GAAE,YACVI,EAAc,IACZV,EAGN,GAA8B,OAA1BA,EAAKqkB,iBAA2B,CAClC,MAAMA,EAAmB,CACvBjjB,UAAWy7B,IAAMz7B,GACjBE,WAAYu7B,IAAMv7B,GAClBE,SAAUq7B,IAAMr7B,GAChBC,OAAQ,GACRiyD,WARU,EASV9xD,YAAai7B,IAAMj7B,GACnBkG,aAAc+0B,IAAM/0B,GACpBC,aAAc80B,IAAM90B,GACpBX,KAAMy1B,IAAMz1B,GACZ5H,MAAOof,EACP/W,UACAN,QAASs1B,IAAMt1B,GACfjH,MAAOu8B,IAAMv8B,GACbI,eAGF,OAAOjB,EAAOD,EAAO,CACnB6kB,iBAAkB,CAAE1kB,KAAM0kB,IAE9B,CACA,OAAO5kB,EAAOD,EAAO,CACnB6kB,iBAAkB,CAChBjjB,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBI,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BkG,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpB5H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMkI,GACjBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBjH,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMe,OAuSzB,CAACo3C,EAAAA,GAAiB/a,WA9RFC,CAACx9B,EAAOO,EAAQC,KAChC,MAAM,YAAEU,EAAW,WAAE8jB,EAAU,gBAAEE,EAAe,uBAAEkuC,EAAsB,wBAAEC,EAAuB,yBAAEC,GAA6B9yD,EAEhI,OAAOP,EAAOD,EAAO,CACnBglB,WAAY,CAAE7kB,KAAM6kB,GACpBE,gBAAiB,CAAE/kB,KAAM+kB,GACzBkuC,uBAAwB,CAAEjzD,KAAMizD,GAChClyD,YAAa,CAAEf,KAAMe,GACrBmyD,wBAAyB,CAAElzD,KAAMkzD,GACjCC,yBAA0B,CAAEnzD,KAAMmzD,MAsRpC,CAAChb,EAAAA,GAAiBvZ,SAtYEi3B,CAACh2D,EAAOO,EAAQC,KACpC,GAAIA,EAAKgmB,aAAc,CACrB,MAAM,aAAEA,GAAiBhmB,EACzB,OAAOP,EAAOD,EAAO,CACnBwmB,aAAc,CAAErmB,KAAMqmB,IAE1B,CACA,MAAM,QAAEsW,GAAYt8B,EACpB,OAAOP,EAAOD,EAAO,CACnBwmB,aAAc,CAAErmB,KAAM28B,MA8XxB,CAACwb,EAAAA,GAAiB2d,gBA1XQC,CAACl2D,EAAOO,EAAQC,KAC1C,GAAIA,EAAK08B,eAAgB,CACvB,MAAM,eAAEA,GAAmB18B,EAC3B,OAAOP,EAAOD,EAAO,CACnB0mB,mBAAoB,CAAEvmB,KAAM+8B,IAEhC,CACA,MAAM,mBAAExW,GAAuBlmB,EAC/B,OAAOP,EAAOD,EAAO,CACnB0mB,mBAAoB,CAAEvmB,KAAMumB,MAkX9B,CAAC4xB,EAAAA,GAAiB6d,UAtSHC,CAACp2D,EAAOO,EAAQC,IACxBP,EAAOD,EAAO,CACnB+nD,QAAS,CAAE5nD,KAAMK,KAsSnB,CAACyX,EAAAA,GAAgBosB,QA1MCX,CAAC1jC,EAAOO,EAAQC,KAClC,MAAM,GAAEI,EAAE,UAAE0uC,GAAc9uC,EAE1B,IAAKI,EACH,OAAI0uC,GACF9Y,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAExCp2B,EAGT,MACE,QAAEqL,EAAO,QAAEQ,EAAO,kBAAEoqB,GAAsBz1B,GAC1C,QAAEmhB,EAAU,CAAC,EAAC,SAAEC,EAAW,CAAC,EAAC,UAAEF,EAAY,CAAC,GAAMuU,GAAqB,CAAC,GACxE,YAAE/0B,GAAgBmK,GAAW,CAAC,EAC9BgY,EAAcxX,EAAUA,EAAQvH,OAAS,KACzCgvD,GAA4B5xC,EAAUpZ,aACtC8qD,GAA0BzxC,EAAQrZ,aAClC+qD,GAA2BzxC,EAAStZ,aAEtC,OAAOrI,EAAOD,EAAO,CACnBkB,YAAa,CAAEf,KAAMe,GACrBmiB,YAAa,CAAEljB,KAAMkjB,GACrBiwC,yBAA0B,CAAEnzD,KAAMmzD,GAClCF,uBAAwB,CAAEjzD,KAAMizD,GAChCC,wBAAyB,CAAElzD,KAAMkzD,MAkLnC,CAACp7C,EAAAA,GAAgBs8C,YAAab,EAE9B,CAAC2C,EAAAA,GAAYvhB,UAAW0e,EACxB,CAAC6C,EAAAA,GAAY5f,UAAW+c,EAExB,CAACj+C,EAAAA,EAAcP,qBAnLOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCg0B,EAAevgD,IAAMsF,EAAYpJ,GAEZ,iBADHhP,IAAKgP,EAAO,UAAW,KAGzCgM,EAAYlI,IAAMsF,EAAYpJ,IAC5B,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,MAAmB,kBAAZgE,GAA2C,mBAAZA,IAExCsgD,EAAexgD,IAAMsF,EAAYpJ,GAEZ,eADHhP,IAAKgP,EAAO,UAAW,KAGzCqC,EAAmByB,IAAMsF,EAAYpJ,GAEhB,uBADHhP,IAAKgP,EAAO,UAAW,KAGzCg8B,EAAiB5yB,EAAUo0B,KAAK,EAAGx5B,UAAU,MAAkBA,EAAQ9I,SAAS,sBAChFqpD,GAAkBv4C,GAAas4C,EAAeA,EAAa/sD,kBAAoB,GAC/EitD,EAAuBx4C,GAAYA,EAAU6G,UAAiB,GAC9D4xC,EAAsBD,GAAwBD,GAAkB,GAElE,IAAKF,IAAiBr4C,EACpB,OAAOje,EAGT,MAAM8F,EAAU,CAAC,EAIjB,GAHI4wD,IAAwB12D,EAAM8mB,oBAChChhB,EAAQghB,kBAAoB,CAAE3mB,KAAMu2D,IAElCJ,EAAc,CAChB,MAAQzzC,cAAeC,EAAe,CAAE6zC,WAAW,GAAQ5zC,SAAUC,EAAU,CAAE2zC,WAAW,GAAQ1zC,kBAAmBxa,EAAO,CAAC,EAAGT,MAAO9G,EAAc,GAAE,OAAE2G,EAAS,GAAIqb,YAAarF,EAAO,KAAMuF,aAAcC,EAAc,GAAMizC,GAEhO30D,WAAYC,EAAY,GACxBC,YAAaC,EAAa,GAC1BC,UAAWC,EAAW,GACtB0G,aAActG,EAAc,GAC5BsF,UAAW4b,EAAmB,GAC9B3b,UAAW4b,EAAmB,GAC9B3b,KAAM4b,EAAW,GACjB3b,OAAQ4b,EAAa,GACrBzjB,MAAO0jB,EAAY,GACnB5b,IAAK6b,EAAc,GACnB5b,QAAS6b,EAAc,KACvB5b,MAAO6b,EAAkB,GACzB/iB,MAAOgjB,EAAY,GACnBC,WAAYC,EAAY,GACxBC,WAAYC,EAAY,GAAE,OAC1BjiB,EAAS,GACToiB,aAAcC,GAAc,EAC5BC,qBAAsBC,EAAqB,GAC3CC,QAASC,GACPjc,EAEJiT,IAD4BpH,IACiBwtC,IAAa9+B,EAAQoC,iBAAmB,KAAOpC,EAAQoC,iBACpGwxC,IAA+B52D,EAAMuzD,WAAarvC,EAElD2yC,IAAsBh5C,EACtBkH,GAFuC,IAA1BjC,EAAa6C,WAA8C,IAAzB7C,EAAag0C,SAEpCD,EAAoBA,EAAoB,KAEhEE,GADej0C,EAAa4C,YAAc,IACXunC,MAAM,KACrCxnC,EAAYsxC,EAAgBzyD,OAAS,EAAI,GAAGyyD,EAAgB,MAAMA,EAAgB,MAAMA,EAAgB,KAAO,GAC/GlyC,EAAmB,CACjBjjB,YACAE,aACAE,WACAC,OAAQ20D,GAA6B30D,GAAe,GACpDiyD,YAAajyD,EACbG,cACAkG,aAAcgb,EACd/a,aAAcgb,EACd3b,KAAM4b,EACN3b,OAAQ4b,EACRzjB,MAAO0jB,EACPrb,QAASsb,EACT5b,QAAS6b,EACT1iB,YAAa2iB,EACb/iB,MAAOgjB,EACPE,YACA9X,IAAKgY,EACLE,IAAKpkB,EAAMuzD,SAAW,GACtBjvC,cACAE,sBAGJ1B,EAAagC,SAAWhC,EAAagC,UAAY,CAAC,EAClD7e,IAAQH,EAAS,CACf+e,iBAAkB,CAAE1kB,KAAM0kB,GAC1BH,OAAQ,CAAEvkB,KAAMukB,GAChB7c,OAAQ,CAAE1H,KAAM0H,GAChB3G,YAAa,CAAEf,KAAMe,GACrB6jB,QAAS,CAAE5kB,KAAM4kB,GACjBlH,KAAM,CAAE1d,KAAM0d,GACdmH,WAAY,CAAE7kB,KAAM2hD,IAAa9+B,EAAQiC,qBAAuB,KAAOjC,EAAQiC,qBAC/E5B,YAAa,CAAEljB,KAAMkjB,GACrB6B,gBAAiB,CAAE/kB,KAAM2hD,IAAa9+B,EAAQmC,4BAA8B,KAAOnC,EAAQmC,4BAC3FzJ,aAAc,CAAEvb,KAAMub,GACtB2J,WAAY,CAAEllB,KAAM2iB,EAAawC,cAAgB,IACjDC,iBAAkB,CAAEplB,KAAM2iB,EAAa0C,oBAAsB,YAC7DC,UAAW,CAAEtlB,KAAMslB,GACnBE,SAAU,CAAExlB,KAAM2hD,IAAah/B,EAAa6C,UAAY,KAAO7C,EAAa6C,UAC5EC,IAAK,CAAEzlB,KAAM2hD,IAAah/B,EAAa+C,0BAA4B,KAAO/C,EAAa+C,0BACvFC,YAAa,CAAE3lB,KAAM2hD,IAAah/B,EAAaiD,mBAAqB,KAAOjD,EAAaiD,mBACxFC,gBAAiB,CAAE7lB,KAAM2iB,EAAamD,oBAAsB,IAC5DC,4BAA6B,CAAE/lB,KAAM2iB,EAAaqD,iCAAmC,GACrFC,qBAAsB,CAAEjmB,KAAM2iB,EAAauD,0BAA4B,GACvEC,oBAAqB,CAAEnmB,KAAM2hD,IAAah/B,EAAayD,kBAAoB,KAAOzD,EAAayD,kBAC/FC,aAAc,CAAErmB,KAAM2hD,IAAah/B,EAAa2D,iBAAmB,KAAO3D,EAAa2D,iBACvFC,mBAAoB,CAAEvmB,KAAM2hD,IAAah/B,EAAa6D,4BAA8B,KAAO7D,EAAa6D,4BACxGC,gBAAiB,CAAEzmB,KAAM2hD,IAAah/B,EAAa+D,gBAAkB,KAAO/D,EAAa+D,gBACzFC,kBAAmB,CAAE3mB,KAAM2iB,EAAagC,SAASiC,SAAW0vC,GAC5DzvC,kBAAmB,CAAE7mB,KAAM2iB,EAAagC,SAASmC,SAAW,IAC5DC,kBAAmB,CAAE/mB,KAAM2iB,EAAagC,SAASqC,SAAW,IAC5DC,kBAAmB,CAAEjnB,KAAM2iB,EAAagC,SAASuC,SAAW,IAC5DC,kBAAmB,CAAEnnB,KAAM2iB,EAAagC,SAASyC,SAAW,IAC5DC,wBAAyB,CAAErnB,KAAM2iB,EAAagC,SAAS2C,SAAW,IAClEwmB,eAAgB,CAAE9tC,KAAM8tC,IAE5B,CACA,OAAOhuC,EAAOD,EAAO8F,KAoDV,SAAS,EAAC9F,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,iJCzsBO,MAAMm2B,EAAa,uBAGxBC,EAAwB,CACtBtd,UAAW,GACXowB,aAAc,EACd3mB,QAAS,GACTjE,WAAY,GACZyzC,iBAAkB,GAClB/nD,YAAa,GACbgoD,eAAgB,GAChBC,UAAU,EACV3xC,MAAM,EACNmC,cAAe,GACfC,WAAW,EACXwvC,aAAa,EAEbx6B,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAEfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAmCT72B,EAAa,CACX,CAACC,EAAAA,GAAQsiC,UAlCOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAiC7C,CAACt2B,EAAAA,GAAQk3D,QAVU1E,CAACtyD,EAAOO,EAAQC,KACnC,MAAM,iBAAEuxD,EAAgB,YAAE/nD,EAAW,KAAEsW,GAAS9f,EAChD,OAAOP,EAAOD,EAAO,CACnB+xD,iBAAkB,CAAE5xD,KAAM4xD,GAC1B/nD,YAAa,CAAE7J,KAAM6J,GACrBsW,KAAM,CAAEngB,KAAMmgB,MAMhB,CAACxgB,EAAAA,GAAQk6B,MAhCGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UACJsY,EAAS,aACTowB,EAAY,WACZv1B,EAAa,GAAE,YACfu+C,GAAc,EAAK,iBACnBH,EAAmB,GAAE,YACrB/nD,EAAc,GAAE,eAChBgoD,EAAiB,IACfxxD,EACJ,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtB3mB,QAAS,CAAEpiB,KAAMwT,GACjBu+C,YAAa,CAAE/xD,KAAM+xD,GACrBH,iBAAkB,CAAE5xD,KAAM4xD,GAC1B/nD,YAAa,CAAE7J,KAAM6J,GACrBgoD,eAAgB,CAAE7xD,KAAM6xD,GACxBtxD,YAAa,CAAEP,KAAM,OAiBZ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAC3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,6JC3EO,MAAMm2B,EAAa,2BAGxBC,EAAwB,CACtB11B,YAAa,EACboY,UAAW,GACX2e,YAAY,EACZw/B,SAAU,GACV9kD,QAAS,GACT8N,cAAe,GACfi3C,gBAAiB,GACjBziC,KAAM,GACN6S,SAAU,CAAC,EACXuW,MAAO,GACPsZ,qBAAqB,EACrBC,KAAM,GACNC,YAAa,IAGfl0D,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAsDT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OANTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAM7C,CAACt2B,EAAAA,GAAQw3D,oBApCgBt3D,GAClBC,EAAOD,EAAO,CACnBm3D,oBAAqB,CAAEh3D,MAAM,GAC7BO,YAAa,CAAEP,KAAM,KAkCvB,CAACL,EAAAA,GAAQy3D,6BA/BuBC,CAACx3D,EAAOO,GAAUC,WAClD,MAAMsD,EAAYb,IAAK1C,EAAQ,0BAE/B,OACSN,EAAOD,EADZ8D,EACmB,CACnBqzD,oBAAqB,CAAEh3D,MAAM,GAC7BO,YAAa,CAAEP,KAAM2D,IAIJ,CACnBqzD,oBAAqB,CAAEh3D,MAAM,GAC7BO,YAAa,CAAEP,KAAM,GACrB+2D,gBAAiB,CAAE/2D,KAAMK,EAAKirC,aAC9BoS,MAAO,CAAE19C,KAAMK,EAAKq9C,OACpBuZ,KAAM,CAAEj3D,KAAMK,EAAK42D,SAiBrB,CAACt3D,EAAAA,GAAQsiC,UAdOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAa7C,CAACt2B,EAAAA,GAAQk6B,MA1DGsD,CAACt9B,EAAOO,GACpBuY,YACAm+C,WACA9kD,UACA8N,gBACAqnB,WACA+vB,iBAEOp3D,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpB2Y,UAAW,CAAE3Y,KAAM2Y,GACnBm+C,SAAU,CAAE92D,KAAM82D,GAClB9kD,QAAS,CAAEhS,KAAMgS,GACjB8N,cAAe,CAAE9f,KAAM8f,GACvBqnB,SAAU,CAAEnnC,KAAMmnC,GAClB+vB,YAAa,CAAEl3D,KAAMk3D,MA+CZ,SAAS,EAACr3D,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,uKC5FO,MAAMm2B,EAAa,wCAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZF,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAGfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAqDT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OANTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAM7C,CAACt2B,EAAAA,GAAQsiC,UAxCOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAuC7C,CAACt2B,EAAAA,GAAQ+3B,SA5BMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAChF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAmBjB,CAACtE,EAAAA,GAAQk6B,MAtCGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,aAAEowB,GAAiB1oC,EAEpC,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtBxoC,YAAa,CAAEP,KAAM,MAiCvB,CAACL,EAAAA,GAAQi4B,OAjBK/3B,GACPC,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,KAgBvB,CAACk3B,EAAAA,EAAgBzzB,6BA3DCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAmDJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,6JC3FO,MAAMm2B,EAAa,wBAGxBC,EAAwB,CACtBqhC,eAAgB,GAChBC,mBAAoB,IAEtBv0D,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GAatDS,EAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/Cv2B,EAAa,CACX,CAACC,EAAAA,GAAQ63D,mBAZOC,CAAC53D,EAAOO,EAAQC,KAChC,MAAM,cAAEq3D,EAAa,eAAEJ,GAAmBj3D,EAC1C,MAPOP,EAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAIAz2B,CAAOD,EAAO,CACnBy3D,eAAgB,CAAEt3D,KAAMs3D,GACxBI,cAAe,CAAE13D,KAAM03D,MAUzB,CAACt/C,EAAAA,GAAqBqe,OAAQC,EAC9B,CAACte,EAAAA,GAAqByhB,MAAOnD,GAGlB,SAAS,EAAC72B,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,sKCpCO,MAAMm2B,EAAa,4BAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACX9X,KAAM,GACNiI,qBAAsB,GACtBsS,aAAc,GACdvb,MAAO,GAEP83D,qBAAsB,GACtBC,qBAAsB,GACtBC,aAAc,GACdC,cAAe,GACfC,gBAAiB,GACjB96C,iBAAkB,GAClBC,kBAAmB,GACnBC,gBAAiB,GACjBC,cAAe,GACfC,mBAAoB,GACpB26C,oBAAqB,GACrBC,oBAAqB,GACrBC,YAAa,GACbC,aAAc,GACdC,eAAgB,GAChBC,mBAAoB,GACpBC,aAAc,GAEd/gC,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,EAEb+3B,WAAW,GAGbt1B,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAuGTG,EAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/Cv2B,EAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,EACjB,CAAC/2B,EAAAA,GAAQi4B,OAhGK/3B,GAEPC,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,KA8FtB,CAACL,EAAAA,GAAQk6B,MA5GGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,aAAEyC,EAAY,KAAEva,EAAI,qBAAEiI,GAAyBzI,EAEhE,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnByC,aAAc,CAAEpb,KAAMob,GACtBva,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9BvI,YAAa,CAAEP,KAAM,MAqGvB,CAACL,EAAAA,GAAQwpC,gBA5FQgiB,CAACtrD,EAAOO,EAAQC,KACjC,MAAM,UAAEsY,EAAS,KAAE9X,EAAI,aAAEua,EAAY,qBAAEtS,GAAyBzI,GAC9D,qBAAEs3D,EAAoB,qBAAEC,EAAoB,aAAEC,EAAY,cAAEC,EAAa,gBAAEC,GAAoB13D,GAC/F,iBAAE4c,EAAgB,kBAAEC,EAAiB,gBAAEC,EAAe,cAAEC,EAAa,mBAAEC,EAAkB,oBAAE26C,EAAmB,oBAAEC,EAAmB,YAAEC,EAAW,aAAEC,EAAY,eAAEC,EAAc,mBAAEC,EAAkB,aAAEC,GAAiBj4D,EAEvN,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnB9X,KAAM,CAAEb,KAAMa,GACdua,aAAc,CAAEpb,KAAMob,GACtBtS,qBAAsB,CAAE9I,KAAM8I,GAC9B6uD,qBAAsB,CAAE33D,KAAM23D,GAC9BC,qBAAsB,CAAE53D,KAAM43D,GAC9BC,aAAc,CAAE73D,KAAM63D,GACtBC,cAAe,CAAE93D,KAAM83D,GACvBC,gBAAiB,CAAE/3D,KAAM+3D,GACzB96C,iBAAkB,CAAEjd,KAAMid,GAC1BC,kBAAmB,CAAEld,KAAMkd,GAC3BC,gBAAiB,CAAEnd,KAAMmd,GACzBC,cAAe,CAAEpd,KAAMod,GACvBC,mBAAoB,CAAErd,KAAMqd,GAC5B26C,oBAAqB,CAAEh4D,KAAMg4D,GAC7BC,oBAAqB,CAAEj4D,KAAMi4D,GAC7BC,YAAa,CAAEl4D,KAAMk4D,GACrBC,aAAc,CAAEn4D,KAAMm4D,GACtBC,eAAgB,CAAEp4D,KAAMo4D,GACxBC,mBAAoB,CAAEr4D,KAAMq4D,GAC5BC,aAAc,CAAEt4D,KAAMs4D,MAmExB,CAAC34D,EAAAA,GAAQ44D,cAhEIC,CAAC34D,EAAOO,EAAQC,KAC7B,MAAQR,MAAO44D,GAAYp4D,EAE3B,OAAOP,EAAOD,EAAO,CACnBA,MAAO,CAAEG,KAAMy4D,MA6DjB,CAAC94D,EAAAA,GAAQqiC,cA1DgBniC,GAClBA,EA0DP,CAACF,EAAAA,GAAQ+3B,SAxDMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAW5D,EAEjF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MA8CjB,CAACtE,EAAAA,GAAQsiC,UA3COhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IA0C7C,CAACt2B,EAAAA,GAAQ46B,gBAzBQm+B,CAAC74D,EAAOO,KACzB,GAAIA,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,UAAEy4B,EAAS,WAAEjrB,GAAejN,EAElC,OAAON,EAAOD,EAAO,CACnBy4B,UAAW,CAAEt4B,KAAMs4B,GACnBjrB,WAAY,CAAErN,KAAMqN,MAkBtB,CAAC6pB,EAAAA,EAAgBzzB,6BA1CCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBs4B,UAAW,CAAE/4B,KAAM,IACnB8D,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,OAiCf,CAACoY,EAAAA,GAAqBqe,OAAQC,GAGnB,SAAS,EAAC72B,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,wOCzKO,MAAMm2B,EAAa,oBAMxBhzB,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAHlB,CACtB2iC,SAAU,KAGZ74D,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAGI,SAAS,EAAC12B,EAAQmD,EAAe5C,GAC9C,OAAQA,EAAOe,MACb,KAAK+1B,EAAAA,EAAgBh3B,qBACrB,KAAKuX,EAAAA,GAAgBmhD,qBACrB,KAAKhhD,EAAAA,GAAoBghD,qBACzB,KAAK/gD,EAAAA,GAAmB+gD,qBACxB,KAAK9gD,EAAAA,GAAgB8gD,qBACrB,KAAK1gD,EAAAA,GAAoB0gD,qBACzB,KAAKzgD,EAAAA,GAAkBygD,qBACvB,KAAKjjC,EAAAA,GAAgBijC,qBACrB,KAAKj5D,EAAAA,GAAQi5D,qBAAsB,CACjC,GAAIx4D,EAAOE,MACT,OAAOT,EAET,MAAMy3D,EAAiBx0D,IAAK1C,EAAOo1B,QAAQn1B,KAAM,iCAAkC,MAC7Es4D,EAAWv4D,EAAOo1B,QAAQn1B,KAAKw4D,UACrC,OAAO/4D,EAAOD,EAAO,CACnBy3D,eAAgB,CAAEt3D,KAAMs3D,GACxBqB,SAAU,CAAE34D,KAAM24D,IAEtB,CAEA,QACE,OAAO94D,EAEb,C,sKC5CO,MAAMm2B,EAAa,uBAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAGfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA4DT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAK7C,CAACt2B,EAAAA,GAAQwpC,gBA/CYC,CAACvpC,EAAOO,EAAQC,KACrC,MAAM,UAAEsY,GAActY,EAEtB,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,MA4CrB,CAAChZ,EAAAA,GAAQsiC,UAzCOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAwC7C,CAACt2B,EAAAA,GAAQ+3B,SA7BMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAmBjB,CAACtE,EAAAA,GAAQk6B,MAvCGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,aAAEowB,GAAiB1oC,EAEpC,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtBxoC,YAAa,CAAEP,KAAM,MAkCvB,CAACL,EAAAA,GAAQi4B,OAjBK/3B,GACPC,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,KAgBvB,CAACk3B,EAAAA,EAAgBzzB,6BAnECo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA2DJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,uYCnFO,MAAMm2B,EAAa,wBAGxBC,EAAwB,CACtBzqB,YAAa,GACbstD,aAAc,EACdrtD,SAAU,IAEZzI,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAETwiC,EAAsBA,CAACl5D,EAAOO,EAAQC,KACpC,MAAM,aAAEy4D,GAAiBz4D,EAEzB,OAAOP,EAAOD,EAAO,CACnBi5D,aAAc,CAAE94D,KAAM84D,MAG1BE,EAAqBA,CAACn5D,EAAOO,EAAQC,KACnC,MAAM,SAAEoL,GAAapL,EACrB,OAAOP,EAAOD,EAAO,CACnB4L,SAAU,CAAEzL,KAAM4F,IAAK6F,EAAW9C,GACzB7B,IAAQ6B,EAAS,CAAC2J,EAAS0D,EAAOpB,KACvCtC,EAAQsC,GAAOk6C,IAAU94C,GAASknB,IAAMlnB,GAASA,EAC1C1D,GACN,CAAC,QAIV2mD,EAAuBA,CAACp5D,EAAOO,EAAQC,KACrC,MAAM,YAAEmL,GAAgBnL,EACxB,OACSP,EAAOD,EADI,cAAhB2L,GAA+C,eAAhBA,EACZ,CACnBA,YAAa,CAAExL,KAAMwL,GACrBstD,aAAc,CAAE94D,KAAM,GACtByL,SAAU,CAAEzL,KAAM,KAGD,CACnBwL,YAAa,CAAExL,KAAMwL,MAGzB+3B,EAAoBA,CAAC1jC,EAAOO,EAAQC,KAClC,MACE,SAAEoL,EAAQ,QAAEC,GAAYrL,EAE1B,IAAKoL,EACH,OAAO3L,EAAOD,EAAO,CACnB4L,SAAU,CAAEzL,KAAM,IAClBwL,YAAa,CAAExL,KAAM,MAIzB,MAAMk5D,EAAqBpyD,IAAQ4E,EAAS,CAAC4G,EAAS9D,IAChDA,EAAO7F,QACF2J,EAAU,EAEZA,EACN,GACH,IAAI9G,EAAc,GAYlB,OATIA,EAFoB,IAApBC,EAAStH,OACgB,IAAvB+0D,GAA4BA,IAAuBxtD,EAAQvH,OAC/C,YAEA,aAEgB,IAAvB+0D,EACK,eAEA,cAETp5D,EAAOD,EAAO,CACnB2L,YAAa,CAAExL,KAAMwL,GACrBC,SAAU,CAAEzL,KAAMuvD,IAAW9jD,OAGjC0tD,EAAwB,CACtB,kCAAmC,YACnC,4CAA6C,aAC7C,iEAAkE,eAClE,4DAA6D,eAwC/DC,EAAuBA,CAACv5D,EAAOO,EAAQC,KACrC,MAAM,SAAEoL,EAAW,IAAO5L,GACpB,WAAE4vD,EAAU,MAAE9uD,EAAK,YAAEI,GAAgBV,EACrCg5D,EAAkB9J,IAAW9jD,IAC3B9K,MAAOgvD,EAAQ5uD,YAAa6uD,GAAiByJ,EAAgB5J,GACrE,OAAI1uD,IAAgB6uD,GAAgBjvD,IAAUgvD,GAC5C0J,EAAgB5J,GAAc,IACzB4J,EAAgB5J,GACnB1uD,cACAJ,SAEKb,EAAOD,EAAO,CACnB4L,SAAU,CAAEzL,KAAMq5D,MAGfx5D,GAMT62B,EAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/Cv2B,EAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,EACjB,CAAC/2B,EAAAA,GAAQq3B,kBAVOC,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAU7C,CAAC/e,EAAAA,GAAYoiD,WAAYP,EACzB,CAAC7hD,EAAAA,GAAYqiD,cAAeP,EAC5B,CAAC9hD,EAAAA,GAAYsiD,aAAcP,EAC3B,CAAC/hD,EAAAA,GAAYuiD,YAAaL,EAE1B,CAAC/0B,EAAAA,GAAiBq1B,eAAgBX,EAClC,CAAC10B,EAAAA,GAAiBs1B,cAAeX,EACjC,CAAC30B,EAAAA,GAAiBu1B,oBAAqBZ,EACvC,CAAC30B,EAAAA,GAAiBw1B,aAAcZ,EAChC,CAAC50B,EAAAA,GAAiBy1B,mBAAoBb,EACtC,CAAC50B,EAAAA,GAAiBo1B,YAAaL,EAE/B,CAAC1hD,EAAAA,GAAqBmiB,MAAOnD,EAE7B,CAAC6N,EAAAA,GAAsB1K,MAAOnD,EAC9B,CAAC6N,EAAAA,GAAsBm1B,eAAgBX,EACvC,CAACx0B,EAAAA,GAAsBo1B,cAAeX,EACtC,CAACz0B,EAAAA,GAAsBs1B,aAAcZ,EACrC,CAAC10B,EAAAA,GAAsBk1B,YAAaL,EAEpC,CAACxhD,EAAAA,GAAoBssB,QAASX,EAE9B,CAAC2B,EAAAA,GAAkBw0B,eAAgBX,EACnC,CAAC7zB,EAAAA,GAAkBy0B,cAAeX,EAClC,CAAC9zB,EAAAA,GAAkB00B,oBAAqBZ,EACxC,CAAC9zB,EAAAA,GAAkB20B,aAAcZ,EACjC,CAAC/zB,EAAAA,GAAkB40B,mBAAoBb,EAEvC,CAAC9gD,EAAAA,GAAkB+rB,QAASX,EAE5B,CAAC7N,EAAAA,GAAmBgkC,eAAgBX,EACpC,CAACrjC,EAAAA,GAAmBikC,cAAeX,EACnC,CAACtjC,EAAAA,GAAmBkkC,oBAAqBZ,EACzC,CAACtjC,EAAAA,GAAmBmkC,aAAcZ,EAClC,CAACvjC,EAAAA,GAAmBokC,mBAAoBb,EACxC,CAACvjC,EAAAA,GAAmB+jC,YAAaL,EAEjC,CAACzjC,EAAAA,GAAgBuO,QAASX,EAE1B,CAACmC,EAAAA,GAAiBg0B,eAAgBX,EAClC,CAACrzB,EAAAA,GAAiBi0B,cAAeX,EACjC,CAACtzB,EAAAA,GAAiBm0B,aAAcZ,EAChC,CAACvzB,EAAAA,GAAiB+zB,YAAaL,EAE/B,CAAChkD,EAAAA,EAAcP,qBA/GOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,GAGR,OAFH9iC,IAAK8iC,EAAG,WAAY,OAKrC,IAAK9zB,EACH,OAAOjS,EAGT,MACE,SAAE4L,EAAW,GAAE,aAAEF,EAAcwuD,cAAejB,EAAe,MAAShnD,EACtEub,EAAoBznB,IAAK6F,EAAW9C,IAClC,MACInH,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,MAAE4G,EAAQ,IAAOF,GAChJpB,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAI5H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,KAAI,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAIyH,sBAAuBC,EAAuB,MAASE,EAEjO,MAAO,CAAElH,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,MAAOof,EAAW/W,UAASN,UAASjH,QAAOI,cAAa8H,QAAOJ,0BAGpK,OAAO3I,EAAOD,EAAO,CACnB4L,SAAU,CAAEzL,KAAMqtB,GAClByrC,aAAc,CAAE94D,KAAuB,OAAjB84D,EAAwBrtD,EAAStH,OAAS20D,GAChEttD,YAAa,CAAExL,KAAMm5D,EAAsB5tD,IAAiB,QA+EnD,SAAS,EAAC1L,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,saC3MO,MAAMm2B,EAAa,uBAGxBC,EAAwB,CACtB+jC,UAAW,KACX92C,YAAa,EACbxX,QAAS,IAEX1I,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAET0jC,EAAyBA,CAACp6D,EAAOO,EAAQC,KACvC,MAAM,QAAEqL,GAAYrL,EACpB,OAAOP,EAAOD,EAAO,CACnB6L,QAAS,CAAE1L,KAAM0L,MAGrButD,EAAuBA,CAACp5D,EAAOO,EAAQC,KACrC,MAAM,YAAEmL,GAAgBnL,EACxB,GAAoB,cAAhBmL,EAA6B,CAC/B,MAAME,EAAU9F,IAAK/F,EAAM6L,QAAU8C,GAC5B1I,IAAQ,CAAC,EAAG0I,EAAQ,CAAE7F,SAAS,KAExC,OAAO7I,EAAOD,EAAO,CACnB6L,QAAS,CAAE1L,KAAM0L,IAErB,CACA,GAAoB,gBAAhBF,EAA+B,CACjC,MAAME,EAAU9F,IAAK/F,EAAM6L,QAAU8C,GAC5B1I,IAAQ,CAAC,EAAG0I,EAAQ,CAAE7F,SAAS,KAExC,OAAO7I,EAAOD,EAAO,CACnB6L,QAAS,CAAE1L,KAAM0L,IAErB,CACA,OAAO7L,GAETq6D,EAAqBA,CAACr6D,EAAOO,EAAQC,KACnC,MAAM,YAAE6iB,GAAgB7iB,EAExB,OAAOP,EAAOD,EAAO,CACnBqjB,YAAa,CAAEljB,KAAMkjB,MAGzBi3C,EAAoBA,CAACt6D,EAAOO,EAAQC,KAClC,MAAM,QAAEqL,GAAYrL,EACpB,OAAOP,EAAOD,EAAO,CACnBqjB,YAAa,CAAEljB,KAAM0L,EAAQvH,QAC7BuH,QAAS,CAAE1L,KAAM4F,IAAK8F,EAAU8C,GACvB1H,IAAQ0H,EAAQ,CAAC8D,EAAS0D,EAAOpB,KACtCtC,EAAQsC,GAAOk6C,IAAU94C,GAASknB,IAAMlnB,GAASA,EAC1C1D,GACN,CAAC,QAIVg9C,EAAsBA,CAACzvD,EAAOO,EAAQC,KACpC,MAAM,aAAE+a,EAAY,OAAEmB,GAAWlc,EAEjC,MAAqB,SAAjB+a,GAA4C,SAAjBA,EACtBvb,EAEFC,EAAOD,EAAO,CACnB6L,QAAS,CAAE1L,KAAM4F,IAAK2W,EAAS/N,GACtB1H,IAAQ0H,EAAQ,CAAC8D,EAAS0D,EAAOpB,KACtCtC,EAAQsC,GAAOk6C,IAAU94C,GAASknB,IAAMlnB,GAASA,EAC1C1D,GACN,CAAC,KAEN4Q,YAAa,CAAEljB,KAAMuc,EAASA,EAAOpY,OAAS,MAGlDo/B,EAAoBA,CAAC1jC,EAAOO,EAAQC,KAClC,MACE,QAAEqL,GAAYrL,EAEhB,IAAKqL,EACH,OAAO5L,EAAOD,EAAO,CACnB6L,QAAS,CAAE1L,KAAM,IACjBg6D,UAAW,CAAEh6D,KAAM,QAIvB,IAAIg6D,GAAY,EAIhB,OAHuB,IAAnBtuD,EAAQvH,SACV61D,GAAY,GAEPl6D,EAAOD,EAAO,CACnBm6D,UAAW,CAAEh6D,KAAMg6D,GACnBtuD,QAAS,CAAE1L,KAAMuvD,IAAW7jD,OA0ChC0uD,EAAsBA,CAACv6D,EAAOO,EAAQC,KACpC,MAAM,QAAEqL,EAAU,IAAO7L,GACnB,WAAE4vD,EAAU,MAAE9uD,EAAK,YAAEI,GAAgBV,EACrCg6D,EAAiB9K,IAAW7jD,IAC1B/K,MAAOgvD,EAAQ5uD,YAAa6uD,GAAiByK,EAAe5K,GACpE,OAAI1uD,IAAgB6uD,GAAgBjvD,IAAUgvD,GAC5C0K,EAAe5K,GAAc,IACxB4K,EAAe5K,GAClB1uD,cACAJ,SAEKb,EAAOD,EAAO,CACnB6L,QAAS,CAAE1L,KAAMq6D,MAGdx6D,GAUT62B,EAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/Cv2B,EAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,EACjB,CAAC/2B,EAAAA,GAAQq3B,kBAdOC,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAc7C,CAAC/e,EAAAA,GAAYojD,WAAYJ,EACzB,CAAChjD,EAAAA,GAAYqjD,aAAcN,EAC3B,CAAC/iD,EAAAA,GAAYsiD,aAAcP,EAC3B,CAAC/hD,EAAAA,GAAYsjD,cAAeL,EAC5B,CAACjjD,EAAAA,GAAYujD,YAAaL,EAE1B,CAAC/1B,EAAAA,GAAiBq2B,aAAcT,EAChC,CAAC51B,EAAAA,GAAiB+wB,eAAgB8E,EAClC,CAAC71B,EAAAA,GAAiBs2B,cAAeR,EACjC,CAAC91B,EAAAA,GAAiBu2B,oBAAqBT,EACvC,CAAC91B,EAAAA,GAAiBw1B,aAAcZ,EAChC,CAAC50B,EAAAA,GAAiBy1B,mBAAoBb,EACtC,CAAC50B,EAAAA,GAAiBo2B,YAAaL,EAE/B,CAAC1iD,EAAAA,GAAqBmiB,MAAOnD,EAE7B,CAAC6N,EAAAA,GAAsB1K,MA5BFghC,KACrBxkC,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAE6kC,SAAS,MA2B3F,CAACv2B,EAAAA,GAAsBm2B,aAAcT,EACrC,CAAC11B,EAAAA,GAAsB6wB,eAAgB8E,EACvC,CAAC31B,EAAAA,GAAsBo2B,cAAeR,EACtC,CAAC51B,EAAAA,GAAsBs1B,aAAcZ,EACrC,CAAC10B,EAAAA,GAAsBk2B,YAAaL,EAEpC,CAACxiD,EAAAA,GAAoBssB,QAASX,EAE9B,CAAC2B,EAAAA,GAAkBw1B,aAAcT,EACjC,CAAC/0B,EAAAA,GAAkBkwB,eAAgB8E,EACnC,CAACh1B,EAAAA,GAAkBy1B,cAAeR,EAClC,CAACj1B,EAAAA,GAAkB01B,oBAAqBT,EACxC,CAACj1B,EAAAA,GAAkB20B,aAAcZ,EACjC,CAAC/zB,EAAAA,GAAkB40B,mBAAoBb,EAEvC,CAACthB,EAAAA,GAAiBzX,QAASovB,EAC3B,CAAC3X,EAAAA,GAAiB4Z,aAAcjC,EAEhC,CAACn3C,EAAAA,GAAkB+rB,QAASX,EAE5B,CAAC7N,EAAAA,GAAmBglC,aAAcT,EAClC,CAACvkC,EAAAA,GAAmBmkC,aAAcZ,EAClC,CAACvjC,EAAAA,GAAmBokC,mBAAoBb,EACxC,CAACvjC,EAAAA,GAAmB0/B,eAAgB8E,EACpC,CAACxkC,EAAAA,GAAmBilC,cAAeR,EACnC,CAACzkC,EAAAA,GAAmBklC,oBAAqBT,EACzC,CAACzkC,EAAAA,GAAmB+kC,YAAaL,EAEjC,CAACzkC,EAAAA,GAAgBuO,QAASX,EAE1B,CAACmC,EAAAA,GAAiBg1B,aAAcT,EAChC,CAACv0B,EAAAA,GAAiB0vB,eAAgB8E,EAClC,CAACx0B,EAAAA,GAAiBi1B,cAAeR,EACjC,CAACz0B,EAAAA,GAAiBm0B,aAAcZ,EAChC,CAACvzB,EAAAA,GAAiB+0B,YAAaL,EAE/B,CAAChlD,EAAAA,EAAcP,qBA7HOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,GAGR,OAFH9iC,IAAK8iC,EAAG,UAAW,OAKpC,IAAK9zB,EACH,OAAOjS,EAGT,MACE,QAAE6L,EAAU,GAAIuX,aAAcC,EAAc,MAASpR,EACrDwb,EAAmB1nB,IAAK8F,EAAU8C,IAChC,MACIhN,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,QAAE0G,GAAU,GAAU6F,GACrJjH,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAI5H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,KAAI,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAIyH,sBAAuBC,EAAuB,MAAS+F,EAEjO,MAAO,CAAE/M,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,MAAOof,EAAW/W,UAASN,UAASjH,QAAOI,cAAa4H,UAASF,0BAEpKuxD,EAAY1sC,EAAiBnpB,OAAS,EAAgC,IAA5BmpB,EAAiBnpB,OAAe,KAE5E,OAAOrE,EAAOD,EAAO,CACnBm6D,UAAW,CAAEh6D,KAAMg6D,GACnB92C,YAAa,CAAEljB,KAAsB,OAAhBkjB,EAAuBxX,EAAQvH,OAAS+e,GAC7DxX,QAAS,CAAE1L,KAAMstB,OA4FR,SAAS,EAACztB,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,+YCvOO,MAAMm2B,EAAa,wBAGxBC,EAAwB,CACtBm4B,iBAAkB,KAClBE,iBAAkB,KAClB1iD,SAAU,IAEZ5I,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtD8kC,EAASl7D,IACP,MAAM,SAAE+L,GAAa/L,EAKrB,MAAO,OAJKiH,IAAQ8E,EAAU,CAACoK,EAAOrH,KAClC,MAAM+9C,EAAWC,SAASh+C,EAAQlO,GAAGyD,UAAU,GAAI,IACnD,OAAO8R,EAAQ02C,EAAWA,EAAW12C,GACpC,GACmB,KAE1BglD,EAAWA,CAACC,EAASpyD,MACV+M,IAAMqlD,EAAUC,KAChBA,EAAOryD,QAAoD,IAA5CqyD,EAAOryD,MAAMikD,MAAM,KAAKpoD,QAAQmE,IAG1D/I,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAETq2B,EAAcA,CAACC,EAAUhkD,KACvB,MAAMw7C,EAASwI,EAASC,MAAM,KAC9B,OAAO5vB,IAAM6vB,IAAS1I,EAAQx7C,GAAOi+C,SAEvCkG,EAAWA,CAACH,EAAUhkD,KACpB,MAAMw7C,EAASwI,EAASC,MAAM,KAI9B,GAHsB,IAAlBzI,EAAOlgD,QAAiBkgD,EAAO,IACjCA,EAAO4I,SAEsB,IAA3B5I,EAAO3/C,QAAQmE,GAAe,CAChC,MAAMqkD,EAAaC,EAAAA,GAActkD,GAC7BqkD,EAAa7I,EAAOlgD,OACtBkgD,EAAO+I,OAAOF,EAAY,EAAGrkD,GAE7Bw7C,EAAOtuC,KAAKlN,EAEhB,CACA,OAAOq0B,IAAMmnB,EAAOyC,SAEtBqU,EAAeA,CAACt7D,EAAOY,EAAIoI,KACzB,IAAKpI,EACH,OAAOZ,EAET,MAAM,SAAE+L,GAAa/L,EACnBqtD,EAAaI,IAAW1hD,EAAW+C,IACmB,IAA7CA,EAAQ9F,MAAMikD,MAAM,KAAKpoD,QAAQmE,IAE1C0kD,EAAUD,IAAW1hD,EAAW+C,GACvBA,EAAQlO,KAAOA,GAG1B,OAAI8sD,IAAYL,EAELptD,EAAOD,EADZ0tD,GAAW,GAAKL,GAAc,EACX,CACnBthD,SAAU,CACR,CAAC2hD,GAAU,CACT1kD,MAAO,CAAE7I,KAAMgtD,EAASphD,EAAS2hD,GAAS1kD,MAAOA,KAEnD,CAACqkD,GAAa,CACZrkD,MAAO,CAAE7I,KAAM4sD,EAAYhhD,EAASshD,GAAYrkD,MAAOA,OAK3D0kD,GAAW,EACQ,CACnB3hD,SAAU,CACR,CAAC2hD,GAAU,CACT1kD,MAAO,CAAE7I,KAAMgtD,EAASphD,EAAS2hD,GAAS1kD,MAAOA,OAKpC,CACnB+C,SAAU,CACR,CAACshD,GAAa,CACZrkD,MAAO,CAAE7I,KAAM4sD,EAAYhhD,EAASshD,GAAYrkD,MAAOA,QAKxDhJ,GAGTu7D,EAAgBA,CAACv7D,GAAS4B,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,MAAOof,EAAW/W,UAASN,UAAU,KAAMjH,QAAOI,eAAe8H,KACjL,MAAM,SAAE+C,GAAa/L,EACnBw7D,EAAa,CACX56D,GAAIs6D,EAAMl7D,GACV4B,UAAWy7B,IAAMz7B,GACjBE,WAAYu7B,IAAMv7B,GAClBE,SAAUq7B,IAAMr7B,GAChBC,OAAQo7B,IAAMp7B,GACdG,YAAai7B,IAAMj7B,GACnBkG,aAAc+0B,IAAM/0B,GACpBC,aAAc80B,IAAM90B,GACpBX,KAAMy1B,IAAMz1B,GACZ5H,MAAOof,EACP/W,QAASg1B,IAAMh1B,GACfN,QAASs1B,IAAMt1B,GACfjH,MAAOu8B,IAAMv8B,GACbI,YAAam8B,IAAMn8B,GACnB8H,SAEFqkD,EAAaI,IAAW1hD,EAAW+C,GAC1BA,EAAQ9F,QAAUA,GAI7B,OACS/I,GADW,IAAhBotD,EACYrtD,EAIFC,EAAOD,EAAO,CAC1B+L,SAAU,CACR,CAACshD,GAAa,CACZrkD,MAAO,CAAE7I,KAAM4sD,EAAYhhD,EAASshD,GAAYrkD,MAAOA,QAPtC,CACnB+C,SAAU,CAAEtH,MAAO,CAAE+2D,OAe3B7N,EAAuBA,CAAC3tD,EAAOO,EAAQC,IAC9B+6D,EAAcv7D,EAAOQ,EAAMotD,EAAAA,IAEpCC,EAA6BA,CAAC7tD,EAAOO,EAAQC,IACpC86D,EAAat7D,EAAOQ,EAAKI,GAAIgtD,EAAAA,IAEtCE,EAAyBA,CAAC9tD,EAAOO,EAAQC,IAChC86D,EAAat7D,EAAOQ,EAAKI,GAAImtD,EAAAA,IAEtCC,EAAyBA,CAAChuD,EAAOO,EAAQC,IAChC86D,EAAat7D,EAAOQ,EAAKI,GAAIqtD,EAAAA,IAEtCC,EAAyBA,CAACluD,EAAOO,EAAQC,IAChC86D,EAAat7D,EAAOQ,EAAKI,GAAIutD,EAAAA,IAEtCC,EAA6BA,CAACpuD,EAAOO,EAAQC,IACpC86D,EAAat7D,EAAOQ,EAAKI,GAAIytD,EAAAA,IAEtCC,EAA0BA,CAACtuD,EAAOO,EAAQC,KACxC,MAAM,iBAAE+tD,GAAqB/tD,EAC7B,OAAI+tD,EACKtuD,EAAOD,EAAO,CACnBuuD,iBAAkB,CAAEpuD,KAAMouD,KAG1BvuD,EAAMuuD,iBACDtuD,EAAOq7D,EAAat7D,EAAO,OAAQ4tD,EAAAA,IAAW,CACnDW,iBAAkB,CAAEpuD,KAAMouD,KAGvBvuD,GAETwuD,EAA0BA,CAACxuD,EAAOO,EAAQC,KACxC,MAAM,iBAAEiuD,GAAqBjuD,EAC7B,OAAIiuD,EACKxuD,EAAOD,EAAO,CACnByuD,iBAAkB,CAAEtuD,KAAMsuD,KAG1BzuD,EAAMyuD,iBACDxuD,EAAOq7D,EAAat7D,EAAO,OAAQquD,EAAAA,IAAK,CAC7CI,iBAAkB,CAAEtuD,KAAMsuD,KAGvBzuD,GAET0uD,EAAmBA,CAAC1uD,EAAOO,EAAQC,IAC1B+6D,EAAcv7D,EAAOQ,EAAMutD,EAAAA,IAEpCY,EAAmBA,CAAC3uD,EAAOO,EAAQC,IAC1B+6D,EAAcv7D,EAAOQ,EAAMytD,EAAAA,IAEpCW,GAAmBA,CAAC5uD,EAAOO,EAAQC,IAC1B+6D,EAAcv7D,EAAOQ,EAAM2tD,EAAAA,IAEpCU,GAAuBA,CAAC7uD,EAAOO,EAAQC,IAC9B+6D,EAAcv7D,EAAOQ,EAAM6tD,EAAAA,IAEpCoN,GAA2BA,CAACz7D,EAAOO,EAAQC,KACzC,MAAM,SAAEuL,EAAQ,iBAAE0iD,EAAgB,iBAAEF,GAAqB/tD,EAEzD,OAAOP,EAAOD,EAAO,CACnByuD,iBAAkB,CAAEtuD,KAAMsuD,GAC1BF,iBAAkB,CAAEpuD,KAAMouD,GAC1BxiD,SAAU,CAAE5L,KAAM4F,IAAKgG,EAAW2vD,IACD,IAA3BA,EAAI96D,GAAGiE,QAAQ,UACjB62D,EAAI96D,GAAKs6D,EAAMl7D,IAEV07D,QAKbh4B,GAAoBA,CAAC1jC,EAAOO,EAAQC,KAClC,MACE,UAAEsL,EAAS,SAAEC,GAAavL,EAE5B,IAAKuL,EACH,OAAO9L,EAAOD,EAAO,CACnB+L,SAAU,CAAE5L,KAAM,IAClBouD,iBAAkB,CAAEpuD,KAAM,MAC1BsuD,iBAAkB,CAAEtuD,KAAM,QAI9B,MACEw7D,EAAeR,EAASpvD,EAAUgiD,EAAAA,KAASoN,EAASrvD,EAAWiiD,EAAAA,IAC/D6N,EAAeT,EAASpvD,EAAUkiD,EAAAA,KAAQkN,EAASrvD,EAAWmiD,EAAAA,IAC9DQ,EAAmBkN,EAAeR,EAASpvD,EAAUsiD,EAAAA,KAAO8M,EAASrvD,EAAWuiD,EAAAA,IAAM,KACtFE,EAAmBqN,EAAeT,EAASpvD,EAAU6hD,EAAAA,KAAauN,EAASrvD,EAAW8hD,EAAAA,IAAY,KAEpG,OAAO3tD,EAAOD,EAAO,CACnBuuD,iBAAkB,CAAEpuD,KAAMouD,GAC1BE,iBAAkB,CAAEtuD,KAAMsuD,GAC1B1iD,SAAU,CAAE5L,KAAMuvD,IAAW3jD,OA8CjC8vD,GAAuBA,CAAC77D,EAAOO,EAAQC,KACrC,MAAM,SAAEuL,EAAW,IAAO/L,GACpB,WAAE4vD,EAAU,MAAE9uD,EAAK,YAAEI,GAAgBV,EACrCs7D,EAAkBpM,IAAW3jD,IAC3BjL,MAAOgvD,EAAQ5uD,YAAa6uD,GAAiB+L,EAAgBlM,GACrE,OAAI1uD,IAAgB6uD,GAAgBjvD,IAAUgvD,GAC5CgM,EAAgBlM,GAAc,IACzBkM,EAAgBlM,GACnB1uD,cACAJ,SAEKb,EAAOD,EAAO,CACnB+L,SAAU,CAAE5L,KAAM27D,MAGf97D,GAMT62B,GAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/Cv2B,GAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,GACjB,CAAC/2B,EAAAA,GAAQq3B,kBAVOC,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAU7C,CAAClf,EAAAA,GAAa02C,UAAWD,EACzB,CAACz2C,EAAAA,GAAa84C,iBAAkBnC,EAChC,CAAC32C,EAAAA,GAAa+4C,aAAcnC,EAC5B,CAAC52C,EAAAA,GAAag5C,YAAalC,EAC3B,CAAC92C,EAAAA,GAAai5C,aAAcjC,EAC5B,CAACh3C,EAAAA,GAAak5C,WAAYhC,EAC1B,CAACl3C,EAAAA,GAAaq5C,cAAejC,EAC7B,CAACp3C,EAAAA,GAAas5C,QAAShC,EACvB,CAACt3C,EAAAA,GAAa62C,MAAOW,EACrB,CAACx3C,EAAAA,GAAa+2C,KAAMU,EACpB,CAACz3C,EAAAA,GAAai3C,MAAOS,GACrB,CAAC13C,EAAAA,GAAam3C,IAAKQ,GACnB,CAAC33C,EAAAA,GAAa6kD,YAAaF,GAE3B,CAACr3B,EAAAA,GAAiBksB,eAAgB/C,EAClC,CAACnpB,EAAAA,GAAiBmsB,sBAAuB9C,EACzC,CAACrpB,EAAAA,GAAiBosB,kBAAmB9C,EACrC,CAACtpB,EAAAA,GAAiBqsB,iBAAkB7C,EACpC,CAACxpB,EAAAA,GAAiBssB,kBAAmB5C,EACrC,CAAC1pB,EAAAA,GAAiBusB,gBAAiB3C,EACnC,CAAC5pB,EAAAA,GAAiB2sB,mBAAoB7C,EACtC,CAAC9pB,EAAAA,GAAiB4sB,aAAc5C,EAChC,CAAChqB,EAAAA,GAAiB6sB,qBAAsBoK,GACxC,CAACj3B,EAAAA,GAAiB8sB,WAAY5C,EAC9B,CAAClqB,EAAAA,GAAiB+sB,UAAW5C,EAC7B,CAACnqB,EAAAA,GAAiBgtB,WAAY5C,GAC9B,CAACpqB,EAAAA,GAAiBitB,SAAU5C,GAC5B,CAACrqB,EAAAA,GAAiBu3B,YAAaF,GAE/B,CAAChkD,EAAAA,GAAqBmiB,MAAOnD,GAE7B,CAAC6N,EAAAA,GAAsB1K,MAAOnD,GAC9B,CAAC6N,EAAAA,GAAsBgsB,eAAgB/C,EACvC,CAACjpB,EAAAA,GAAsBisB,sBAAuB9C,EAC9C,CAACnpB,EAAAA,GAAsBksB,kBAAmB9C,EAC1C,CAACppB,EAAAA,GAAsBmsB,iBAAkB7C,EACzC,CAACtpB,EAAAA,GAAsBosB,kBAAmB5C,EAC1C,CAACxpB,EAAAA,GAAsBqsB,gBAAiB3C,EACxC,CAAC1pB,EAAAA,GAAsBysB,mBAAoB7C,EAC3C,CAAC5pB,EAAAA,GAAsB0sB,aAAc5C,EACrC,CAAC9pB,EAAAA,GAAsB4sB,WAAY5C,EACnC,CAAChqB,EAAAA,GAAsB6sB,UAAW5C,EAClC,CAACjqB,EAAAA,GAAsB8sB,WAAY5C,GACnC,CAAClqB,EAAAA,GAAsB+sB,SAAU5C,GACjC,CAACnqB,EAAAA,GAAsBq3B,YAAaF,GAEpC,CAAC9jD,EAAAA,GAAoBssB,QAASX,GAE9B,CAAC2B,EAAAA,GAAkBqrB,eAAgB/C,EACnC,CAACtoB,EAAAA,GAAkBsrB,sBAAuB9C,EAC1C,CAACxoB,EAAAA,GAAkBurB,kBAAmB9C,EACtC,CAACzoB,EAAAA,GAAkBwrB,iBAAkB7C,EACrC,CAAC3oB,EAAAA,GAAkByrB,kBAAmB5C,EACtC,CAAC7oB,EAAAA,GAAkB0rB,gBAAiB3C,EACpC,CAAC/oB,EAAAA,GAAkB8rB,mBAAoB7C,EACvC,CAACjpB,EAAAA,GAAkB+rB,aAAc5C,EACjC,CAACnpB,EAAAA,GAAkBgsB,qBAAsBoK,GACzC,CAACp2B,EAAAA,GAAkBisB,WAAY5C,EAC/B,CAACrpB,EAAAA,GAAkBksB,UAAW5C,EAC9B,CAACtpB,EAAAA,GAAkBmsB,WAAY5C,GAC/B,CAACvpB,EAAAA,GAAkBosB,SAAU5C,GAE7B,CAAC/4B,EAAAA,GAAgBuO,QAASX,GAE1B,CAACmC,EAAAA,GAAiB6qB,eAAgB/C,EAClC,CAAC9nB,EAAAA,GAAiB8qB,sBAAuB9C,EACzC,CAAChoB,EAAAA,GAAiB+qB,kBAAmB9C,EACrC,CAACjoB,EAAAA,GAAiBgrB,iBAAkB7C,EACpC,CAACnoB,EAAAA,GAAiBirB,kBAAmB5C,EACrC,CAACroB,EAAAA,GAAiBkrB,gBAAiB3C,EACnC,CAACvoB,EAAAA,GAAiBsrB,mBAAoB7C,EACtC,CAACzoB,EAAAA,GAAiBurB,aAAc5C,EAChC,CAAC3oB,EAAAA,GAAiByrB,WAAY5C,EAC9B,CAAC7oB,EAAAA,GAAiB0rB,UAAW5C,EAC7B,CAAC9oB,EAAAA,GAAiB2rB,WAAY5C,GAC9B,CAAC/oB,EAAAA,GAAiB4rB,SAAU5C,GAC5B,CAAChpB,EAAAA,GAAiBk2B,YAAaF,GAE/B,CAACtmD,EAAAA,EAAcP,qBAtJOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,GAGR,OAFH9iC,IAAK8iC,EAAG,WAAY,OAKrC,IAAK9zB,EACH,OAAOjS,EAGT,MACE,SAAE+L,EAAQ,UAAED,GAAcmG,EAC1B2b,EAAoB7nB,IAAKgG,EAAU,CAAC+C,EAASlK,KAC3C,MACEhE,EAAK,OAAOgE,KACVjD,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,GAAE,MAAE4G,EAAQ,IAAO8F,GAChJpH,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAI5H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,QAAEN,EAAU,KAAI,MAAEjH,EAAQ,GAAIkH,MAAO9G,EAAc,GAAIyH,sBAAuBC,EAAuB,MAASkG,EAEjO,MAAO,CAAElO,KAAIgB,YAAWE,aAAYE,WAAUC,SAAQG,cAAakG,eAAcC,eAAcX,OAAM5H,MAAOof,EAAW/W,UAASN,UAASjH,QAAOI,cAAa8H,QAAOJ,0BAEtK+yD,EAAeR,EAASpvD,EAAUgiD,EAAAA,KAASoN,EAASrvD,EAAWiiD,EAAAA,IAC/D6N,EAAeT,EAASpvD,EAAUkiD,EAAAA,KAAQkN,EAASrvD,EAAWmiD,EAAAA,IAC9DQ,EAAmBkN,EAAeR,EAASpvD,EAAUsiD,EAAAA,KAAO8M,EAASrvD,EAAWuiD,EAAAA,IAAM,KACtFE,EAAmBqN,EAAeT,EAASpvD,EAAU6hD,EAAAA,KAAauN,EAASrvD,EAAW8hD,EAAAA,IAAY,KAEpG,OAAO3tD,EAAOD,EAAO,CACnB+L,SAAU,CAAE5L,KAAMytB,GAClB6gC,iBAAkB,CAAEtuD,KAAMsuD,GAC1BF,iBAAkB,CAAEpuD,KAAMouD,OAiHjB,SAAS,GAACvuD,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,uKCpZO,MAAMm2B,EAAa,kCAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRwB,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,EACbs7D,YAAa,KACb16D,KAAM,GACNN,KAAM,IAGRmC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAoET72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAK7C,CAACt2B,EAAAA,GAAQwpC,gBArDYC,CAACvpC,EAAOO,EAAQC,KACrC,MAAM,UAAEsY,EAAS,KAAE9X,EAAI,iBAAEi7D,EAAgB,KAAE36D,GAASd,EAEpD,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBmjD,iBAAkB,CAAE97D,KAAM87D,GAC1Bj7D,KAAM,CAAEb,KAAMa,GACdM,KAAM,CAAEnB,KAAMmB,MA+ChB,CAACxB,EAAAA,GAAQsiC,UA5COhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IA2C7C,CAACt2B,EAAAA,GAAQ+3B,SA/BMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbukC,UAAW,CAAE/7D,KAAM+D,GACnBE,MAAO,CAAEjE,KAAMiE,MAqBjB,CAACtE,EAAAA,GAAQk6B,MA1CGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,aAAEowB,EAAY,iBAAE+yB,GAAqBz7D,EAEtD,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtB+yB,iBAAkB,CAAE97D,KAAM87D,GAC1Bv7D,YAAa,CAAEP,KAAM,MAoCvB,CAACL,EAAAA,GAAQi4B,OAnBIqF,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,YAAEw7D,GAAgBx7D,EACxB,OAAOP,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,GACrB67D,YAAa,CAAE77D,KAAM67D,MAgBvB,CAAC3kC,EAAAA,EAAgBzzB,6BA3ECo0B,CAACh4B,EAAOO,EAAQC,EAAMy7D,KACxC,GAAI17D,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,EAAE,UAAEs4B,GAAc14B,EAC1B,OAAOP,EAAOD,EAAO,CACnBi8D,iBAAkB,CAAE97D,KAAM87D,GAC1B/iC,UAAW,CAAE/4B,KAAM+4B,GACnBxB,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAiEJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,sqBChEO,MAAMm2B,GAAa,qBAGxBC,GAAwB,CACtB+lC,aAAa,EACbC,eAAe,EACfC,aAAa,EACbC,eAAe,EACf17D,GAAI,GACJqtC,gBAAgB,EAChBsuB,eAAgB,GAChBC,WAAY,EACZ77C,UAAW,EACX87C,SAAU,EACV/7D,YAAa,EACbg8D,mBAAoB,GACpBp6B,gBAAiB,KACjBq6B,wBAAwB,GAE1Bx5D,GAAgB8C,IAAQuwB,GAAAA,GAAeC,WAAWN,GAAYC,IAAwB,CAAEgmC,eAAe,EAAOE,eAAe,IAC7Hr8D,GAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,GAAAA,GAAeG,MAAMR,GAAYO,GAC1BA,GAEToB,GAAiBA,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,eAAEo8D,EAAc,WAAEJ,EAAa,EAAC,UAAE77C,EAAY,GAAMngB,EAE1D,OAAOP,GAAOD,EAAO,CACnBm8D,YAAa,CAAEh8D,MAAOy8D,GACtBl8D,YAAa,CAAEP,KAAM,GACrBq8D,WAAY,CAAEr8D,KAAMq8D,GACpB77C,UAAW,CAAExgB,KAAMwgB,MAGvBk8C,GAAsB78D,GACbC,GAAOD,EAAO,CACnBm8D,YAAa,CAAEh8D,MAAM,GACrBi8D,cAAe,CAAEj8D,MAAM,GACvBO,YAAa,CAAEP,KAAM,KAGzBmzC,GAA6BA,CAACtzC,EAAOO,EAAQC,KAC3C,GAAID,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBo8D,cAAe,CAAEj8D,MAAM,GACvBO,YAAa,CAAEP,KAAM2D,GACrB44D,mBAAoB,CAAEv8D,KAAM8C,IAAK1C,EAAQ,gBAAiB,MAE9D,CACA,OAAON,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMK,EAAKI,IACjBu7D,YAAa,CAAEh8D,MAAM,GACrBi8D,cAAe,CAAEj8D,MAAM,GACvBO,YAAa,CAAEP,KAAM,MAwGzB28D,GAAsB98D,GACbC,GAAOD,EAAO,CACnBq8D,YAAa,CAAEl8D,MAAM,GACrBm8D,cAAe,CAAEn8D,MAAM,GACvBO,YAAa,CAAEP,KAAM,KAUzB48D,GAA6BA,CAAC/8D,EAAOO,KACnC,GAAIA,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBs8D,cAAe,CAAEn8D,MAAM,GACvBO,YAAa,CAAEP,KAAM2D,GACrB44D,mBAAoB,CAAEv8D,KAAM8C,IAAK1C,EAAQ,gBAAiB,MAE9D,CACA,OAAON,GAAOD,EAAO,CACnBs8D,cAAe,CAAEn8D,MAAM,GACvBO,YAAa,CAAEP,KAAM,GACrBu8D,mBAAoB,CAAEv8D,KAAM,OA8BhCi3B,GAAkBA,KAChBZ,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAuB/Cv2B,GAAa,CACX,CAACC,EAAAA,GAAQ82B,OALIC,KACbL,GAAAA,GAAeM,MAAMX,IACdK,GAAAA,GAAeC,WAAWN,GAAYC,KAI7C,CAACt2B,EAAAA,GAAQk6B,MAAO5C,GAChB,CAACt3B,EAAAA,GAAQ+3B,SAAUC,GACnB,CAACh4B,EAAAA,GAAQk9D,cAAeH,GACxB,CAAC/8D,EAAAA,GAAQ4X,uBAAwB47B,GACjC,CAACxzC,EAAAA,GAAQq3B,kBAAmBC,GAE5B,CAAC/f,EAAAA,GAAY4lD,cAAeH,GAC5B,CAACzlD,EAAAA,GAAYF,uBAAwB4lD,GAErC,CAAC7lD,EAAAA,GAAa+lD,cAAeH,GAC7B,CAAC5lD,EAAAA,GAAaC,uBAAwB4lD,GAEtC,CAACtlD,EAAAA,GAAuBuiB,MAAO5C,GAC/B,CAAC3f,EAAAA,GAAuBogB,SAAUC,GAClC,CAACrgB,EAAAA,GAAuBulD,cAAeH,GACvC,CAACplD,EAAAA,GAAuBC,uBAAwB47B,GAEhD,CAACqC,EAAAA,GAA0B3b,MAAO5C,GAClC,CAACue,EAAAA,GAA0B9d,SAAUC,GACrC,CAAC6d,EAAAA,GAA0BqnB,cAAeH,GAC1C,CAAClnB,EAAAA,GAA0Bj+B,uBAAwB47B,GAEnD,CAAC4pB,EAAAA,GAAcljC,MAAO5C,GACtB,CAAC8lC,EAAAA,GAAcrlC,SAAUC,GACzB,CAAColC,EAAAA,GAAcF,cAAeH,GAC9B,CAACK,EAAAA,GAAcxlD,uBAAwB47B,GAEvC,CAACgD,EAAAA,GAAwBve,OAAQX,GACjC,CAACkf,EAAAA,GAAwBze,SAAUC,GACnC,CAACwe,EAAAA,GAAwB0mB,cAAeH,GACxC,CAACvmB,EAAAA,GAAwB5+B,uBAAwB47B,GAEjD,CAAC6pB,EAAAA,GAAkCnjC,MAAO5C,GAC1C,CAAC+lC,EAAAA,GAAkCtlC,SAAUC,GAC7C,CAACqlC,EAAAA,GAAkCH,cAAeH,GAClD,CAACM,EAAAA,GAAkCzlD,uBAAwB47B,GAE3D,CAAC8pB,EAAAA,GAA8BpjC,MAAO5C,GACtC,CAACgmC,EAAAA,GAA8BvlC,SAAUC,GACzC,CAACslC,EAAAA,GAA8BJ,cAAeH,GAC9C,CAACO,EAAAA,GAA8B1lD,uBAAwB47B,GAEvD,CAAC6E,EAAAA,GAAsBne,MAAO5C,GAE9B,CAACif,EAAAA,GAAwBte,OAAQX,GACjC,CAACif,EAAAA,GAAwBxe,SAAUC,GACnC,CAACue,EAAAA,GAAwB2mB,cAAeH,GACxC,CAACxmB,EAAAA,GAAwB3+B,uBAAwB47B,GAEjD,CAAC37B,EAAAA,GAAuBogB,OAAQX,GAChC,CAACzf,EAAAA,GAAuBkgB,SAAUC,GAClC,CAACngB,EAAAA,GAAuBqlD,cAAeH,GACvC,CAACllD,EAAAA,GAAuBD,uBAAwB47B,GAEhD,CAACp7B,EAAAA,GAAgC8kD,cAAeH,GAChD,CAAC3kD,EAAAA,GAAgCR,uBAAwB47B,GAEzD,CAAC17B,EAAAA,GAAgBoiB,MAAO5C,GACxB,CAACxf,EAAAA,GAAgBigB,SAAUC,GAC3B,CAAClgB,EAAAA,GAAgBolD,cAAeH,GAChC,CAACjlD,EAAAA,GAAgBF,uBAAwB47B,GAEzC,CAAC9O,EAAAA,GAAiBy4B,cAAeH,GACjC,CAACt4B,EAAAA,GAAiBrtB,uBAAwB4lD,GAE1C,CAACr4B,EAAAA,GAAsB7M,SAAUC,GACjC,CAAC4M,EAAAA,GAAsBs4B,cAAeH,GACtC,CAACn4B,EAAAA,GAAsBhtB,uBAAwB47B,GAE/C,CAACqD,EAAAA,GAAe5e,OAAQX,GACxB,CAACuf,EAAAA,GAAe9e,SAAUC,GAC1B,CAAC6e,EAAAA,GAAeqmB,cAAeH,GAC/B,CAAClmB,EAAAA,GAAej/B,uBAAwB47B,GAExC,CAACv7B,EAAAA,GAAoBiiB,MAAO5C,GAC5B,CAACrf,EAAAA,GAAoB8f,SAAUC,GAC/B,CAAC/f,EAAAA,GAAoBilD,cAAeH,GACpC,CAAC9kD,EAAAA,GAAoBL,uBAAwB47B,GAC7C,CAACv7B,EAAAA,GAAoBof,kBAAmBC,GACxC,CAACrf,EAAAA,GAAoBslD,oBArGHr9D,IAClB,IAAIs9D,GAAWC,EAAAA,GAAAA,IAAmB,sBAUlC,OATID,IACFA,EAAW,IACNA,EACH58D,YAAa,EACbg8D,mBAAoB,IAEtBlmC,GAAAA,GAAegnC,WAAW,qBAAsBF,IAG3Cr9D,GAAOD,EAAO,CACnBU,YAAa,CAAEP,KAAM,MA2FvB,CAACklC,EAAAA,GAAkB43B,cAAeH,GAClC,CAACz3B,EAAAA,GAAkBluB,uBAAwB4lD,GAE3C,CAACU,EAAAA,GAA0B1lC,OAAQX,GACnC,CAACqmC,EAAAA,GAA0B5lC,SAAUC,GACrC,CAAC2lC,EAAAA,GAA0BT,cAAeH,GAC1C,CAACY,EAAAA,GAA0B/lD,uBAAwB47B,GAEnD,CAACwE,EAAAA,GAAiBmlB,cAAeH,GACjC,CAAChlB,EAAAA,GAAiB3gC,uBAAwB4lD,GAE1C,CAACt3B,EAAAA,GAAuB1N,OAAQX,GAChC,CAACqO,EAAAA,GAAuB5N,SAAUC,GAClC,CAAC2N,EAAAA,GAAuBu3B,cAAeH,GACvC,CAACp3B,EAAAA,GAAuB/tB,uBAAwB47B,GAEhD,CAAC+E,EAAAA,GAA0BtgB,OAAQX,GACnC,CAACihB,EAAAA,GAA0BxgB,SAAUC,GACrC,CAACugB,EAAAA,GAA0B2kB,cAAeH,GAC1C,CAACxkB,EAAAA,GAA0B3gC,uBAAwB47B,GAEnD,CAACr7B,EAAAA,GAAgB+hB,MAAO5C,GACxB,CAACnf,EAAAA,GAAgB4f,SAAUC,GAC3B,CAAC7f,EAAAA,GAAgB+kD,cAAeH,GAChC,CAAC5kD,EAAAA,GAAgBP,uBAAwB47B,GAEzC,CAACiF,EAAAA,GAAkBxgB,OAAQX,GAC3B,CAACmhB,EAAAA,GAAkB1gB,SAAUC,GAC7B,CAACygB,EAAAA,GAAkBykB,cAAeH,GAClC,CAACtkB,EAAAA,GAAkB7gC,uBAAwB47B,GAE3C,CAACgF,EAAAA,GAAiB2kB,cAAeH,GACjC,CAACxkB,EAAAA,GAAiBnhC,uBAAwB4lD,GAE1C,CAAC5kD,EAAAA,GAAe6hB,MAAO5C,GACvB,CAACjf,EAAAA,GAAe0f,SAAUC,GAC1B,CAAC3f,EAAAA,GAAe6kD,cAAeH,GAC/B,CAAC1kD,EAAAA,GAAeT,uBAAwB47B,GAExC,CAACl7B,EAAAA,GAAoB2f,OAAQX,GAC7B,CAAChf,EAAAA,GAAoByf,SAAUC,GAC/B,CAAC1f,EAAAA,GAAoB4kD,cAAeH,GACpC,CAACzkD,EAAAA,GAAoBV,uBAAwB47B,GAE7C,CAACj7B,EAAAA,GAAoB2hB,MAAO5C,GAC5B,CAAC/e,EAAAA,GAAoBwf,SAAUC,GAC/B,CAACzf,EAAAA,GAAoB2kD,cAAeH,GACpC,CAACxkD,EAAAA,GAAoBX,uBAAwB47B,GAE7C,CAACh7B,EAAAA,GAAkB0hB,MAAO5C,GAC1B,CAAC9e,EAAAA,GAAkBuf,SAAUC,GAC7B,CAACxf,EAAAA,GAAkB0kD,cAAeH,GAClC,CAACvkD,EAAAA,GAAkBZ,uBAAwB47B,GAE3C,CAACzd,EAAAA,GAAmBonC,cAAeH,GACnC,CAACjnC,EAAAA,GAAmB1e,uBAAwB4lD,GAE5C,CAACn3B,EAAAA,GAAwB7N,OAAQX,GACjC,CAACwO,EAAAA,GAAwB/N,SAAUC,GACnC,CAAC8N,EAAAA,GAAwBo3B,cAAeH,GACxC,CAACj3B,EAAAA,GAAwBluB,uBAAwB47B,GAEjD,CAACoF,EAAAA,GAAwB3gB,OAAQX,GACjC,CAACshB,EAAAA,GAAwB7gB,SAAUC,GACnC,CAAC4gB,EAAAA,GAAwBskB,cAAeH,GACxC,CAACnkB,EAAAA,GAAwBhhC,uBAAwB47B,GAEjD,CAAC96B,EAAAA,GAAwBwhB,MAAO5C,GAChC,CAAC5e,EAAAA,GAAwBqf,SAAUC,GACnC,CAACtf,EAAAA,GAAwBwkD,cAAeH,GACxC,CAACrkD,EAAAA,GAAwBd,uBAAwB47B,GAEjD,CAAC76B,EAAAA,GAA8BuhB,MAAO5C,GACtC,CAAC3e,EAAAA,GAA8Bof,SAAUC,GACzC,CAACrf,EAAAA,GAA8BukD,cAAeH,GAC9C,CAACpkD,EAAAA,GAA8Bf,uBAAwB47B,GAEvD,CAAC56B,EAAAA,GAA4BshB,MAAO5C,GACpC,CAAC1e,EAAAA,GAA4Bmf,SAAUC,GACvC,CAACpf,EAAAA,GAA4BskD,cAAeH,GAC5C,CAACnkD,EAAAA,GAA4BhB,uBAAwB47B,GAErD,CAAC36B,EAAAA,GAAiCqhB,MAAO5C,GACzC,CAACze,EAAAA,GAAiCkf,SAAUC,GAC5C,CAACnf,EAAAA,GAAiCqkD,cAAeH,GACjD,CAAClkD,EAAAA,GAAiCjB,uBAAwB47B,GAE1D,CAACxd,EAAAA,GAAgBiC,OAAQX,GACzB,CAACtB,EAAAA,GAAgB+B,SAAUC,GAC3B,CAAChC,EAAAA,GAAgBknC,cAAeH,GAChC,CAAC/mC,EAAAA,GAAgBpe,uBAAwB47B,GAEzC,CAACzN,EAAAA,GAAiBo3B,cAAeH,GACjC,CAACj3B,EAAAA,GAAiB1uB,uBAAwB4lD,GAE1C,CAACnkB,EAAAA,GAAkB7gB,OAAQX,GAC3B,CAACwhB,EAAAA,GAAkB/gB,SAAUC,GAC7B,CAAC8gB,EAAAA,GAAkBokB,cAAeH,GAClC,CAACjkB,EAAAA,GAAkBlhC,uBAAwB47B,GAE3C,CAACoqB,EAAAA,GAAuB3lC,OAAQX,GAChC,CAACsmC,EAAAA,GAAuB7lC,SAAUC,GAClC,CAAC4lC,EAAAA,GAAuBV,cAAeH,GACvC,CAACa,EAAAA,GAAuBhmD,uBAAwB47B,GAEhD,CAACuF,EAAAA,GAA2B9gB,OAAQX,GACpC,CAACyhB,EAAAA,GAA2BhhB,SAAUC,GACtC,CAAC+gB,EAAAA,GAA2BmkB,cAAeH,GAC3C,CAAChkB,EAAAA,GAA2BnhC,uBAAwB47B,GAEpD,CAACqqB,GAAAA,GAAyB5lC,OAAQX,GAClC,CAACumC,GAAAA,GAAyB9lC,SAAUC,GACpC,CAAC6lC,GAAAA,GAAyBX,cAAeH,GACzC,CAACc,GAAAA,GAAyBjmD,uBAAwB47B,GAElD,CAACwF,EAAAA,GAAmB/gB,OAAQX,GAC5B,CAAC0hB,EAAAA,GAAmBjhB,SAAUC,GAC9B,CAACghB,EAAAA,GAAmBkkB,cAAeH,GACnC,CAAC/jB,EAAAA,GAAmBphC,uBAAwB47B,GAE5C,CAACsqB,GAAAA,GAAiB7lC,OAAQX,GAC1B,CAACwmC,GAAAA,GAAiB/lC,SAAUC,GAC5B,CAAC8lC,GAAAA,GAAiBZ,cAAeH,GACjC,CAACe,GAAAA,GAAiBlmD,uBAAwB47B,GAE1C,CAACh8B,EAAAA,GAAqBugB,SApWKgmC,CAAC79D,EAAOO,EAAQC,KAC3C,MAAM,2BACJs9D,EAA0B,YAC1BC,EAAW,WACXC,EAAU,kBACVC,EAAiB,YACjBC,EAAW,oBACXC,EAAmB,YACnBC,EAAW,WACXC,EAAU,kBACVC,EAAiB,4BACjBC,EAA2B,cAC3BC,EAAa,sBACbC,EAAqB,YACrBC,EAAW,gCACXC,EAA+B,eAC/BC,EAAc,WACdpC,EAAa,EAAC,UACd77C,EAAY,EAAC,WACbk+C,GACEr+D,EAEJ,OAAIq+D,EACK7+D,EAGFC,GAAOD,EAAO,CACnBm8D,YAAa,CACXh8D,KAAOw+D,GACFb,GACAC,GACAG,GACAG,GACAK,GACAF,GACAP,GACAK,GACAC,GACAK,GACAT,GACAC,GACAK,GACAT,GAEP3B,YAAa,CACXl8D,OAAQw+D,GACFb,GACAG,GACAF,GACAG,GACAG,GACAC,GACAC,GACAG,GACAF,GACAI,GACAT,GACAC,GACAK,GACAT,IAERt9D,YAAa,CAAEP,KAAM,GACrBq8D,WAAY,CAAEr8D,KAAMq8D,GACpB77C,UAAW,CAAExgB,KAAMwgB,MAsSrB,CAACrJ,EAAAA,GAAqB0lD,cAvYUh9D,GACzBC,GAAOD,EAAO,CACnBm8D,YAAa,CAAEh8D,MAAM,GACrBi8D,cAAe,CAAEj8D,MAAM,GACvBO,YAAa,CAAEP,KAAM,KAoYvB,CAACmX,EAAAA,GAAqBwnD,yBA/XkBC,CAAC/+D,EAAOO,EAAQC,KACxD,MAAMsD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBu8D,eAAgB,CAAEp8D,KAAMK,EAAKI,IAC7Bu7D,YAAa,CAAEh8D,MAAM,GACrBi8D,cAAe,CAAEj8D,MAAM,GACvBs8D,SAAU,CAAEt8D,KAAM2D,GAClBpD,YAAa,CAAEP,KAAM,MAyXvB,CAACmX,EAAAA,GAAqBI,uBAtXiBsnD,CAACh/D,EAAOO,EAAQC,KACvD,GAAID,EAAOE,MAAO,CAChB,MAAMqD,EAAYb,IAAK1C,EAAQ,oBAAqB,GACpD,OAAON,GAAOD,EAAO,CACnBo8D,cAAe,CAAEj8D,MAAM,GACvBO,YAAa,CAAEP,KAAM2D,IAEzB,CACA,OAAO7D,GAAOD,EAAO,CACnBu8D,eAAgB,CAAEp8D,KAAMK,EAAKI,IAC7Bu7D,YAAa,CAAEh8D,MAAM,GACrBi8D,cAAe,CAAEj8D,MAAM,GACvBO,YAAa,CAAEP,KAAM,MA2WvB,CAACmX,EAAAA,GAAqB2lD,cAAeH,GACrC,CAACxlD,EAAAA,GAAqBH,uBAAwB4lD,GAE9C,CAACxnD,EAAAA,EAAcP,qBA3QOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,GAAAA,IAAmBrtB,GACvC,IAAKotB,EACH,OAAOtiC,EAGT,MACEkS,WAAYtR,EACZq+D,eAAgBC,GACd58B,EAEE68B,EAAWD,GAAeE,WAAa,GAE7C,OAAKx+D,EAIEX,GAAOD,EAAO,CACnBY,GAAI,CAAET,KAAMS,GACZqtC,eAAgB,CAAE9tC,KAAmB,iBAAbg/D,GAA4C,QAAbA,GACvD78B,gBAAiB,CAAEniC,KAAMmiC,KANlBtiC,GA0PT,CAACuV,EAAAA,EAAc8pD,2BAlSQ1C,CAAC38D,EAAOO,IACxBN,GAAOD,EAAO,CACnB28D,uBAAwB,CACtBx8D,KAAMI,EAAOo1B,YAkSf2pC,GAAcA,CAACt/D,EAAOO,KAC1B,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,GAG7B,SAAS,GAACA,EAAQmD,GAAe5C,GAC9C,MAAMg/D,EAAOD,GAAYt/D,EAAOO,GAGhC,OAAyBi/D,OAArBD,EAAK7+D,aAA6C6+D,EAAK7C,mBAClD,IAAK6C,EAAM7C,mBAAoB,IAEjC6C,CACT,C,qcCjfO,MAAMppC,EAAa,oBAGxBspC,EAAoB,CAClB,CAAC3/D,EAAAA,GAAQi3B,gBAAiB2oC,EAAAA,GAAK3oC,eAC/B,CAACj3B,EAAAA,GAAQqkC,aAAcu7B,EAAAA,GAAKv7B,YAC5B,CAACrkC,EAAAA,GAAQukC,QAASq7B,EAAAA,GAAKr7B,OACvB,CAACvkC,EAAAA,GAAQyzC,UAAWmsB,EAAAA,GAAKnsB,SACzB,CAACzzC,EAAAA,GAAQ2zC,UAAWisB,EAAAA,GAAKjsB,SACzB,CAAC3zC,EAAAA,GAAQqiC,cAAeu9B,EAAAA,GAAKv9B,aAC7B,CAACriC,EAAAA,GAAQi0C,SAAU2rB,EAAAA,GAAK3rB,QACxB,CAACj0C,EAAAA,GAAQ6/D,YAAaD,EAAAA,GAAKC,WAC3B,CAAC7/D,EAAAA,GAAQy8C,WAAYmjB,EAAAA,GAAKnjB,UAC1B,CAACz8C,EAAAA,GAAQ+3B,SAAU6nC,EAAAA,GAAK7nC,QACxB,CAAC/3B,EAAAA,GAAQ28C,WAAYijB,EAAAA,GAAKjjB,UAC1B,CAAC38C,EAAAA,GAAQ+mC,WAAY64B,EAAAA,GAAK74B,UAC1B,CAAC/mC,EAAAA,GAAQinC,iBAAkB24B,EAAAA,GAAK34B,gBAChC,CAACjnC,EAAAA,GAAQ8/D,YAAaF,EAAAA,GAAKE,WAC3B,CAAC9/D,EAAAA,GAAQ+/D,gBAAiBH,EAAAA,GAAKG,eAC/B,CAAC//D,EAAAA,GAAQggE,mBAAoBJ,EAAAA,GAAKI,kBAClC,CAAChgE,EAAAA,GAAQigE,cAAeL,EAAAA,GAAKK,aAC7B,CAACjgE,EAAAA,GAAQkgE,mBAAoBN,EAAAA,GAAKM,kBAClC,CAAClgE,EAAAA,GAAQmgE,WAAYP,EAAAA,GAAKO,UAC1B,CAACngE,EAAAA,GAAQogE,aAAcR,EAAAA,GAAKQ,YAC5B,CAACpgE,EAAAA,GAAQqgE,WAAYT,EAAAA,GAAKS,UAC1B,CAACrgE,EAAAA,GAAQsgE,aAAcV,EAAAA,GAAKU,YAC5B,CAACtgE,EAAAA,GAAQugE,gBAAiBX,EAAAA,GAAKW,eAC/B,CAACvgE,EAAAA,GAAQsnC,YAAas4B,EAAAA,GAAKt4B,WAC3B,CAACtnC,EAAAA,GAAQqnC,YAAau4B,EAAAA,GAAKv4B,WAC3B,CAACrnC,EAAAA,GAAQwgE,aAAcZ,EAAAA,GAAKY,YAC5B,CAACxgE,EAAAA,GAAQygE,eAAgBb,EAAAA,GAAKa,cAC9B,CAACzgE,EAAAA,GAAQ0gE,UAAWd,EAAAA,GAAKc,SACzB,CAAC1gE,EAAAA,GAAQ2gE,SAAUf,EAAAA,GAAKe,QACxB,CAAC3gE,EAAAA,GAAQ4gE,WAAYhB,EAAAA,GAAKgB,UAC1B,CAAC5gE,EAAAA,GAAQo0C,qBAAsBwrB,EAAAA,GAAKxrB,oBACpC,CAACp0C,EAAAA,GAAQs0C,iBAAkBsrB,EAAAA,GAAKtrB,gBAChC,CAACt0C,EAAAA,GAAQw0C,YAAaorB,EAAAA,GAAKprB,WAC3B,CAACx0C,EAAAA,GAAQ00C,cAAekrB,EAAAA,GAAKlrB,aAE7B,CAAC58B,EAAAA,GAAgBmf,gBAAiB4pC,EAAAA,GAAa5pC,eAC/C,CAACnf,EAAAA,GAAgBusB,aAAcw8B,EAAAA,GAAax8B,YAC5C,CAACvsB,EAAAA,GAAgBk9B,UAAW6rB,EAAAA,GAAa7rB,SACzC,CAACl9B,EAAAA,GAAgBgpD,WAAYD,EAAAA,GAAaC,UAC1C,CAAChpD,EAAAA,GAAgBysB,QAASs8B,EAAAA,GAAat8B,OACvC,CAACzsB,EAAAA,GAAgB27B,UAAWotB,EAAAA,GAAaptB,SACzC,CAAC37B,EAAAA,GAAgB67B,UAAWktB,EAAAA,GAAaltB,SACzC,CAAC77B,EAAAA,GAAgBuqB,cAAew+B,EAAAA,GAAax+B,aAC7C,CAACvqB,EAAAA,GAAgBm8B,SAAU4sB,EAAAA,GAAa5sB,QACxC,CAACn8B,EAAAA,GAAgB+nD,YAAagB,EAAAA,GAAahB,WAC3C,CAAC/nD,EAAAA,GAAgBigB,SAAU8oC,EAAAA,GAAa9oC,QACxC,CAACjgB,EAAAA,GAAgBmgB,OAAQ4oC,EAAAA,GAAa5oC,MAEtC,CAAChgB,EAAAA,GAAoBiiB,MAAO6mC,EAAAA,GAAiB7mC,KAC7C,CAACjiB,EAAAA,GAAoB+oD,eAAgBD,EAAAA,GAAiBC,cACtD,CAAC/oD,EAAAA,GAAoBgpD,UAAWF,EAAAA,GAAiBE,SACjD,CAAChpD,EAAAA,GAAoB4nD,YAAakB,EAAAA,GAAiBlB,WAEnD,CAAClC,EAAAA,GAA0BzjC,MAAOgnC,EAAAA,GAAuBhnC,KACzD,CAACyjC,EAAAA,GAA0BqD,eAAgBE,EAAAA,GAAuBF,cAClE,CAACrD,EAAAA,GAA0BsD,UAAWC,EAAAA,GAAuBD,SAC7D,CAACtD,EAAAA,GAA0BkC,YAAaqB,EAAAA,GAAuBrB,WAE/D,CAAC1nD,EAAAA,GAAgB8e,gBAAiBkqC,EAAAA,GAAalqC,eAC/C,CAAC9e,EAAAA,GAAgBksB,aAAc88B,EAAAA,GAAa98B,YAC5C,CAAClsB,EAAAA,GAAgBipD,UAAWD,EAAAA,GAAaC,SACzC,CAACjpD,EAAAA,GAAgBkpD,cAAeF,EAAAA,GAAaE,aAC7C,CAAClpD,EAAAA,GAAgBosB,QAAS48B,EAAAA,GAAa58B,OACvC,CAACpsB,EAAAA,GAAgBs7B,UAAW0tB,EAAAA,GAAa1tB,SACzC,CAACt7B,EAAAA,GAAgBw7B,UAAWwtB,EAAAA,GAAaxtB,SACzC,CAACx7B,EAAAA,GAAgBs8C,YAAa0M,EAAAA,GAAa1M,WAC3C,CAACt8C,EAAAA,GAAgB87B,SAAUktB,EAAAA,GAAaltB,QACxC,CAAC97B,EAAAA,GAAgB0nD,YAAasB,EAAAA,GAAatB,WAC3C,CAAC1nD,EAAAA,GAAgBmpD,YAAaH,EAAAA,GAAaG,WAC3C,CAACnpD,EAAAA,GAAgB4f,SAAUopC,EAAAA,GAAappC,QAExC,CAACxf,EAAAA,GAAoB0e,gBAAiBsqC,EAAAA,GAAiB37B,aACvD,CAACrtB,EAAAA,GAAoB8rB,aAAck9B,EAAAA,GAAiB37B,aACpD,CAACrtB,EAAAA,GAAoBqtB,cAAe27B,EAAAA,GAAiB37B,aACrD,CAACrtB,EAAAA,GAAoBk7B,UAAW8tB,EAAAA,GAAiB9tB,SACjD,CAACl7B,EAAAA,GAAoBo7B,UAAW4tB,EAAAA,GAAiB5tB,SACjD,CAACp7B,EAAAA,GAAoB07B,SAAUstB,EAAAA,GAAiBttB,QAChD,CAAC17B,EAAAA,GAAoBkkC,WAAY8kB,EAAAA,GAAiB9kB,UAClD,CAAClkC,EAAAA,GAAoBwf,SAAUwpC,EAAAA,GAAiBxpC,QAChD,CAACxf,EAAAA,GAAoBwuB,WAAYw6B,EAAAA,GAAiBx6B,UAClD,CAACxuB,EAAAA,GAAoBipD,OAAQD,EAAAA,GAAiBC,MAE9C,CAAChpD,EAAAA,GAAkB6rB,aAAco9B,EAAAA,GAAep9B,YAChD,CAAC7rB,EAAAA,GAAkBye,gBAAiBwqC,EAAAA,GAAexqC,eACnD,CAACze,EAAAA,GAAkB+rB,QAASk9B,EAAAA,GAAel9B,OAC3C,CAAC/rB,EAAAA,GAAkBi7B,UAAWguB,EAAAA,GAAehuB,SAC7C,CAACj7B,EAAAA,GAAkB6pB,cAAeo/B,EAAAA,GAAep/B,aACjD,CAAC7pB,EAAAA,GAAkBy7B,SAAUwtB,EAAAA,GAAextB,QAC5C,CAACz7B,EAAAA,GAAkBqnD,YAAa4B,EAAAA,GAAe5B,WAC/C,CAACrnD,EAAAA,GAAkBikC,WAAYglB,EAAAA,GAAehlB,UAC9C,CAACjkC,EAAAA,GAAkBuf,SAAU0pC,EAAAA,GAAe1pC,QAC5C,CAACvf,EAAAA,GAAkBmkC,WAAY8kB,EAAAA,GAAe9kB,UAC9C,CAACnkC,EAAAA,GAAkBuuB,WAAY06B,EAAAA,GAAe16B,UAE9C,CAAC/Q,EAAAA,GAAgBiB,gBAAiByqC,EAAAA,GAAazqC,eAC/C,CAACjB,EAAAA,GAAgBqO,aAAcq9B,EAAAA,GAAar9B,YAC5C,CAACrO,EAAAA,GAAgBuO,QAASm9B,EAAAA,GAAan9B,OACvC,CAACvO,EAAAA,GAAgByd,UAAWiuB,EAAAA,GAAajuB,SACzC,CAACzd,EAAAA,GAAgB2d,UAAW+tB,EAAAA,GAAa/tB,SACzC,CAAC3d,EAAAA,GAAgBqM,cAAeq/B,EAAAA,GAAar/B,aAC7C,CAACrM,EAAAA,GAAgBie,SAAUytB,EAAAA,GAAaztB,QACxC,CAACje,EAAAA,GAAgB+B,SAAU2pC,EAAAA,GAAa3pC,QACxC,CAAC/B,EAAAA,GAAgB6pC,YAAa6B,EAAAA,GAAa7B,WAE3C,CAACtoD,EAAAA,GAAYw9B,SAAU4sB,EAAAA,GAAS5sB,QAChC,CAACx9B,EAAAA,GAAYy9B,UAAW2sB,EAAAA,GAAS3sB,SACjC,CAACz9B,EAAAA,GAAYk8B,UAAWkuB,EAAAA,GAASluB,SACjC,CAACl8B,EAAAA,GAAYqjD,aAAc+G,EAAAA,GAASC,QACpC,CAACrqD,EAAAA,GAAYitB,qBAAsBm9B,EAAAA,GAASn9B,oBAC5C,CAACjtB,EAAAA,GAAYsqD,cAAeF,EAAAA,GAASE,aACrC,CAACtqD,EAAAA,GAAY+6C,aAAcqP,EAAAA,GAASrP,YACpC,CAAC/6C,EAAAA,GAAYk7C,eAAgBkP,EAAAA,GAASlP,cACtC,CAACl7C,EAAAA,GAAYklC,WAAYklB,EAAAA,GAASllB,UAClC,CAACllC,EAAAA,GAAYojD,WAAYgH,EAAAA,GAAShH,UAClC,CAACpjD,EAAAA,GAAYoiD,WAAYgI,EAAAA,GAAShI,UAClC,CAACpiD,EAAAA,GAAYolC,WAAYglB,EAAAA,GAAShlB,UAClC,CAACplC,EAAAA,GAAYktB,cAAek9B,EAAAA,GAASl9B,aACrC,CAACltB,EAAAA,GAAYwvB,WAAY46B,EAAAA,GAAS56B,UAClC,CAACxvB,EAAAA,GAAYuqD,yBAA0BH,EAAAA,GAASG,wBAChD,CAACvqD,EAAAA,GAAYwqD,qBAAsBJ,EAAAA,GAASI,oBAC5C,CAACxqD,EAAAA,GAAYsjD,cAAe8G,EAAAA,GAASK,SACrC,CAACzqD,EAAAA,GAAYqiD,cAAe+H,EAAAA,GAASM,SACrC,CAAC1qD,EAAAA,GAAYsiD,aAAc8H,EAAAA,GAASO,QACpC,CAAC3qD,EAAAA,GAAYiqD,OAAQG,EAAAA,GAASH,MAC9B,CAACjqD,EAAAA,GAAY4qD,YAAaR,EAAAA,GAASQ,WAEnC,CAAC/qD,EAAAA,GAAa02C,UAAWsU,EAAAA,GAAUtU,SACnC,CAAC12C,EAAAA,GAAa29B,SAAUqtB,EAAAA,GAAUrtB,QAClC,CAAC39B,EAAAA,GAAa49B,UAAWotB,EAAAA,GAAUptB,SACnC,CAAC59B,EAAAA,GAAaq8B,UAAW2uB,EAAAA,GAAU3uB,SACnC,CAACr8B,EAAAA,GAAa84C,iBAAkBkS,EAAAA,GAAUlS,gBAC1C,CAAC94C,EAAAA,GAAa+4C,aAAciS,EAAAA,GAAUjS,YACtC,CAAC/4C,EAAAA,GAAaotB,qBAAsB49B,EAAAA,GAAU59B,oBAC9C,CAACptB,EAAAA,GAAag5C,YAAagS,EAAAA,GAAUhS,WACrC,CAACh5C,EAAAA,GAAai5C,aAAc+R,EAAAA,GAAU/R,YACtC,CAACj5C,EAAAA,GAAak5C,WAAY8R,EAAAA,GAAU9R,UACpC,CAACl5C,EAAAA,GAAak+B,YAAa8sB,EAAAA,GAAU9sB,WACrC,CAACl+B,EAAAA,GAAao+B,yBAA0B4sB,EAAAA,GAAU5sB,wBAClD,CAACp+B,EAAAA,GAAayqD,cAAeO,EAAAA,GAAUP,aACvC,CAACzqD,EAAAA,GAAam5C,WAAY6R,EAAAA,GAAU7R,UACpC,CAACn5C,EAAAA,GAAao5C,UAAW4R,EAAAA,GAAU5R,SACnC,CAACp5C,EAAAA,GAAak7C,aAAc8P,EAAAA,GAAU9P,YACtC,CAACl7C,EAAAA,GAAaq7C,eAAgB2P,EAAAA,GAAU3P,cACxC,CAACr7C,EAAAA,GAAaq5C,cAAe2R,EAAAA,GAAU3R,aACvC,CAACr5C,EAAAA,GAAas5C,QAAS0R,EAAAA,GAAU1R,OACjC,CAACt5C,EAAAA,GAAaqlC,WAAY2lB,EAAAA,GAAU3lB,UACpC,CAACrlC,EAAAA,GAAaulC,WAAYylB,EAAAA,GAAUzlB,UACpC,CAACvlC,EAAAA,GAAa62C,MAAOmU,EAAAA,GAAUnU,KAC/B,CAAC72C,EAAAA,GAAaqtB,cAAe29B,EAAAA,GAAU39B,aACvC,CAACrtB,EAAAA,GAAa2vB,WAAYq7B,EAAAA,GAAUr7B,UACpC,CAAC3vB,EAAAA,GAAa0qD,yBAA0BM,EAAAA,GAAUN,wBAClD,CAAC1qD,EAAAA,GAAa2qD,qBAAsBK,EAAAA,GAAUL,oBAC9C,CAAC3qD,EAAAA,GAAa+2C,KAAMiU,EAAAA,GAAUjU,IAC9B,CAAC/2C,EAAAA,GAAaoqD,OAAQY,EAAAA,GAAUC,eAChC,CAACjrD,EAAAA,GAAa+qD,YAAaC,EAAAA,GAAUD,WACrC,CAAC/qD,EAAAA,GAAai3C,MAAO+T,EAAAA,GAAU/T,KAC/B,CAACj3C,EAAAA,GAAam3C,IAAK6T,EAAAA,GAAU7T,GAE7B,CAAC7pB,EAAAA,GAAiBuQ,UAAWqtB,EAAAA,GAAcrtB,SAC3C,CAACvQ,EAAAA,GAAiBgK,cAAe4zB,EAAAA,GAAc5zB,aAC/C,CAAChK,EAAAA,GAAiB+J,aAAc6zB,EAAAA,GAAc7zB,YAC9C,CAAC/J,EAAAA,GAAiBF,qBAAsB89B,EAAAA,GAAc99B,oBACtD,CAACE,EAAAA,GAAiBksB,eAAgB0R,EAAAA,GAAc1R,cAChD,CAAClsB,EAAAA,GAAiBmsB,sBAAuByR,EAAAA,GAAczR,qBACvD,CAACnsB,EAAAA,GAAiBosB,kBAAmBwR,EAAAA,GAAcxR,iBACnD,CAACpsB,EAAAA,GAAiBqsB,iBAAkBuR,EAAAA,GAAcvR,gBAClD,CAACrsB,EAAAA,GAAiBssB,kBAAmBsR,EAAAA,GAActR,iBACnD,CAACtsB,EAAAA,GAAiBusB,gBAAiBqR,EAAAA,GAAcrR,eACjD,CAACvsB,EAAAA,GAAiBysB,eAAgBmR,EAAAA,GAAcnR,cAChD,CAACzsB,EAAAA,GAAiB2sB,mBAAoBiR,EAAAA,GAAcjR,kBACpD,CAAC3sB,EAAAA,GAAiB4sB,aAAcgR,EAAAA,GAAchR,YAC9C,CAAC5sB,EAAAA,GAAiB8sB,WAAY8Q,EAAAA,GAAc9Q,UAC5C,CAAC9sB,EAAAA,GAAiB+sB,UAAW6Q,EAAAA,GAAc7Q,SAC3C,CAAC/sB,EAAAA,GAAiBgtB,WAAY4Q,EAAAA,GAAc5Q,UAC5C,CAAChtB,EAAAA,GAAiBitB,SAAU2Q,EAAAA,GAAc3Q,QAC1C,CAACjtB,EAAAA,GAAiBrC,cAAeigC,EAAAA,GAAcjgC,aAC/C,CAACqC,EAAAA,GAAiBiK,YAAa2zB,EAAAA,GAAc3zB,WAC7C,CAACjK,EAAAA,GAAiBjF,UAAW6iC,EAAAA,GAAc7iC,SAC3C,CAACiF,EAAAA,GAAiBkK,eAAgB0zB,EAAAA,GAAc1zB,cAChD,CAAClK,EAAAA,GAAiBq2B,aAAcuH,EAAAA,GAAcvH,YAC9C,CAACr2B,EAAAA,GAAiBs1B,cAAesI,EAAAA,GAActI,aAC/C,CAACt1B,EAAAA,GAAiBw1B,aAAcoI,EAAAA,GAAcpI,YAC9C,CAACx1B,EAAAA,GAAiBs2B,cAAesH,EAAAA,GAActH,aAC/C,CAACt2B,EAAAA,GAAiB+X,WAAY6lB,EAAAA,GAAc7lB,UAC5C,CAAC/X,EAAAA,GAAiBiY,WAAY2lB,EAAAA,GAAc3lB,UAC5C,CAACjY,EAAAA,GAAiBD,cAAe69B,EAAAA,GAAc79B,aAC/C,CAACC,EAAAA,GAAiBqC,WAAYu7B,EAAAA,GAAcv7B,UAC5C,CAACrC,EAAAA,GAAiBi8B,SAAU2B,EAAAA,GAAc3B,QAC1C,CAACj8B,EAAAA,GAAiB88B,OAAQc,EAAAA,GAAcd,MACxC,CAAC98B,EAAAA,GAAiB69B,gBAAiBD,EAAAA,GAAcC,eACjD,CAAC79B,EAAAA,GAAiB89B,gBAAiBF,EAAAA,GAAcE,eAEjD,CAACj9B,EAAAA,GAAkB0P,UAAWwtB,EAAAA,GAAextB,SAC7C,CAAC1P,EAAAA,GAAkByP,UAAWytB,EAAAA,GAAeztB,SAC7C,CAACzP,EAAAA,GAAkBC,0BAA2Bi9B,EAAAA,GAAej9B,yBAC7D,CAACD,EAAAA,GAAkBye,oBAAqBye,EAAAA,GAAeze,mBACvD,CAACze,EAAAA,GAAkBqrB,eAAgB6R,EAAAA,GAAe7R,cAClD,CAACrrB,EAAAA,GAAkBsrB,sBAAuB4R,EAAAA,GAAe5R,qBACzD,CAACtrB,EAAAA,GAAkBurB,kBAAmB2R,EAAAA,GAAe3R,iBACrD,CAACvrB,EAAAA,GAAkBwrB,iBAAkB0R,EAAAA,GAAe1R,gBACpD,CAACxrB,EAAAA,GAAkByrB,kBAAmByR,EAAAA,GAAezR,iBACrD,CAACzrB,EAAAA,GAAkB0rB,gBAAiBwR,EAAAA,GAAexR,eACnD,CAAC1rB,EAAAA,GAAkB4rB,eAAgBsR,EAAAA,GAAetR,cAClD,CAAC5rB,EAAAA,GAAkB8rB,mBAAoBoR,EAAAA,GAAepR,kBACtD,CAAC9rB,EAAAA,GAAkB+rB,aAAcmR,EAAAA,GAAenR,YAChD,CAAC/rB,EAAAA,GAAkBisB,WAAYiR,EAAAA,GAAejR,UAC9C,CAACjsB,EAAAA,GAAkBksB,UAAWgR,EAAAA,GAAehR,SAC7C,CAAClsB,EAAAA,GAAkBmsB,WAAY+Q,EAAAA,GAAe/Q,UAC9C,CAACnsB,EAAAA,GAAkBosB,SAAU8Q,EAAAA,GAAe9Q,QAC5C,CAACpsB,EAAAA,GAAkBlD,cAAeogC,EAAAA,GAAepgC,aACjD,CAACkD,EAAAA,GAAkB0O,SAAUwuB,EAAAA,GAAexuB,QAC5C,CAAC1O,EAAAA,GAAkBw1B,aAAc0H,EAAAA,GAAe1H,YAChD,CAACx1B,EAAAA,GAAkBy0B,cAAeyI,EAAAA,GAAezI,aACjD,CAACz0B,EAAAA,GAAkB20B,aAAcuI,EAAAA,GAAevI,YAChD,CAAC30B,EAAAA,GAAkBy1B,cAAeyH,EAAAA,GAAezH,aACjD,CAACz1B,EAAAA,GAAkBkX,WAAYgmB,EAAAA,GAAehmB,UAC9C,CAAClX,EAAAA,GAAkBE,mBAAoBg9B,EAAAA,GAAehmB,UACtD,CAAClX,EAAAA,GAAkBoX,WAAY8lB,EAAAA,GAAe9lB,UAC9C,CAACpX,EAAAA,GAAkBE,mBAAoBg9B,EAAAA,GAAeh9B,kBACtD,CAACF,EAAAA,GAAkBwB,WAAY07B,EAAAA,GAAe17B,UAC9C,CAACxB,EAAAA,GAAkBi8B,OAAQiB,EAAAA,GAAejB,MAC1C,CAACj8B,EAAAA,GAAkB8e,aAAcoe,EAAAA,GAAepe,YAChD,CAAC9e,EAAAA,GAAkBtN,OAAQwqC,EAAAA,GAAexqC,MAC1C,CAACsN,EAAAA,GAAkBgf,cAAeke,EAAAA,GAAele,aAEjD,CAACvM,EAAAA,GAAiBhD,UAAW0tB,EAAAA,GAAc1tB,SAC3C,CAACgD,EAAAA,GAAiB3V,cAAeqgC,EAAAA,GAAcrgC,aAC/C,CAAC2V,EAAAA,GAAiB/D,SAAUyuB,EAAAA,GAAczuB,QAC1C,CAAC+D,EAAAA,GAAiBla,KAAM4kC,EAAAA,GAAc5kC,IACtC,CAACka,EAAAA,GAAiB9Z,SAAUwkC,EAAAA,GAAcxkC,QAC1C,CAAC8Z,EAAAA,GAAiB2qB,YAAaD,EAAAA,GAAcC,WAC7C,CAAC3qB,EAAAA,GAAiByE,WAAYimB,EAAAA,GAAcjmB,UAC5C,CAACzE,EAAAA,GAAiBiU,aAAcyW,EAAAA,GAAczW,YAC9C,CAACjU,EAAAA,GAAiBzX,QAASmiC,EAAAA,GAAcniC,OACzC,CAACyX,EAAAA,GAAiB2E,WAAY+lB,EAAAA,GAAc/lB,UAC5C,CAAC3E,EAAAA,GAAiBjR,WAAY27B,EAAAA,GAAc37B,UAC5C,CAACiR,EAAAA,GAAiB2oB,SAAU+B,EAAAA,GAAc/B,QAC1C,CAAC3oB,EAAAA,GAAiB/f,OAAQyqC,EAAAA,GAAczqC,MACxC,CAAC+f,EAAAA,GAAiBva,WAAYilC,EAAAA,GAAcjlC,UAC5C,CAACua,EAAAA,GAAiBuM,cAAeme,EAAAA,GAAcne,aAE/C,CAAC/L,EAAAA,GAAiBqb,KAAM+O,EAAAA,GAAc/O,IACtC,CAACrb,EAAAA,GAAiB3Y,SAAU+iC,EAAAA,GAAc/iC,QAC1C,CAAC2Y,EAAAA,GAAiBub,SAAU6O,EAAAA,GAAc7O,QAC1C,CAACvb,EAAAA,GAAiBqqB,iBAAkBD,EAAAA,GAAcC,gBAClD,CAACrqB,EAAAA,GAAiB0b,aAAc0O,EAAAA,GAAc1O,YAC9C,CAAC1b,EAAAA,GAAiBic,YAAamO,EAAAA,GAAcnO,WAC7C,CAACjc,EAAAA,GAAiBnW,cAAeugC,EAAAA,GAAcvgC,aAC/C,CAACmW,EAAAA,GAAiB/Y,UAAWmjC,EAAAA,GAAcnjC,SAC3C,CAAC+Y,EAAAA,GAAiBkc,WAAYkO,EAAAA,GAAclO,UAC5C,CAAClc,EAAAA,GAAiByc,aAAc2N,EAAAA,GAAc3N,YAC9C,CAACzc,EAAAA,GAAiBuc,SAAU6N,EAAAA,GAAc7N,QAC1C,CAACvc,EAAAA,GAAiB9Z,UAAWkkC,EAAAA,GAAclkC,SAC3C,CAAC8Z,EAAAA,GAAiB2c,SAAUyN,EAAAA,GAAczN,QAC1C,CAAC3c,EAAAA,GAAiB6c,iBAAkBuN,EAAAA,GAAcvN,gBAClD,CAAC7c,EAAAA,GAAiB+c,mBAAoBqN,EAAAA,GAAcrN,kBACpD,CAAC/c,EAAAA,GAAiBiE,WAAYmmB,EAAAA,GAAcnmB,UAC5C,CAACjE,EAAAA,GAAiBsqB,QAASF,EAAAA,GAAcE,OACzC,CAACtqB,EAAAA,GAAiBmE,WAAYimB,EAAAA,GAAcjmB,UAC5C,CAACnE,EAAAA,GAAiBzR,WAAY67B,EAAAA,GAAc77B,UAC5C,CAACyR,EAAAA,GAAiBud,WAAY6M,EAAAA,GAAc7M,UAC5C,CAACvd,EAAAA,GAAiBgpB,OAAQoB,EAAAA,GAAcpB,MACxC,CAAChpB,EAAAA,GAAiB/a,WAAYmlC,EAAAA,GAAcnlC,UAC5C,CAAC+a,EAAAA,GAAiBvZ,SAAU2jC,EAAAA,GAAc3jC,QAC1C,CAACuZ,EAAAA,GAAiB2d,gBAAiByM,EAAAA,GAAczM,eAEjD,CAACvxB,EAAAA,GAAsBoQ,UAAW+tB,EAAAA,GAAmB/tB,SACrD,CAACpQ,EAAAA,GAAsBJ,qBAAsBu+B,EAAAA,GAAmBv+B,oBAChE,CAACI,EAAAA,GAAsBgsB,eAAgBmS,EAAAA,GAAmBnS,cAC1D,CAAChsB,EAAAA,GAAsBisB,sBAAuBkS,EAAAA,GAAmBlS,qBACjE,CAACjsB,EAAAA,GAAsBksB,kBAAmBiS,EAAAA,GAAmBjS,iBAC7D,CAAClsB,EAAAA,GAAsBmsB,iBAAkBgS,EAAAA,GAAmBhS,gBAC5D,CAACnsB,EAAAA,GAAsBosB,kBAAmB+R,EAAAA,GAAmB/R,iBAC7D,CAACpsB,EAAAA,GAAsBqsB,gBAAiB8R,EAAAA,GAAmB9R,eAC3D,CAACrsB,EAAAA,GAAsBssB,gBAAiB6R,EAAAA,GAAmB7R,eAC3D,CAACtsB,EAAAA,GAAsBusB,eAAgB4R,EAAAA,GAAmB5R,cAC1D,CAACvsB,EAAAA,GAAsBysB,mBAAoB0R,EAAAA,GAAmB1R,kBAC9D,CAACzsB,EAAAA,GAAsB0sB,aAAcyR,EAAAA,GAAmBzR,YACxD,CAAC1sB,EAAAA,GAAsB4sB,WAAYuR,EAAAA,GAAmBvR,UACtD,CAAC5sB,EAAAA,GAAsB6sB,UAAWsR,EAAAA,GAAmBtR,SACrD,CAAC7sB,EAAAA,GAAsB8sB,WAAYqR,EAAAA,GAAmBrR,UACtD,CAAC9sB,EAAAA,GAAsB+sB,SAAUoR,EAAAA,GAAmBpR,QACpD,CAAC/sB,EAAAA,GAAsBvC,cAAe0gC,EAAAA,GAAmB1gC,aACzD,CAACuC,EAAAA,GAAsBm2B,aAAcgI,EAAAA,GAAmBhI,YACxD,CAACn2B,EAAAA,GAAsB6wB,eAAgBsN,EAAAA,GAAmBtN,cAC1D,CAAC7wB,EAAAA,GAAsBo2B,cAAe+H,EAAAA,GAAmB/H,aACzD,CAACp2B,EAAAA,GAAsBm1B,eAAgBgJ,EAAAA,GAAmBhJ,cAC1D,CAACn1B,EAAAA,GAAsBo1B,cAAe+I,EAAAA,GAAmB/I,aACzD,CAACp1B,EAAAA,GAAsBs1B,aAAc6I,EAAAA,GAAmB7I,YACxD,CAACt1B,EAAAA,GAAsB6X,WAAYsmB,EAAAA,GAAmBtmB,UACtD,CAAC7X,EAAAA,GAAsB7M,SAAUgrC,EAAAA,GAAmBhrC,QACpD,CAAC6M,EAAAA,GAAsB+X,WAAYomB,EAAAA,GAAmBpmB,UACtD,CAAC/X,EAAAA,GAAsBH,cAAes+B,EAAAA,GAAmBt+B,aACzD,CAACG,EAAAA,GAAsBmC,WAAYg8B,EAAAA,GAAmBh8B,UACtD,CAACnC,EAAAA,GAAsBo+B,eAAgBD,EAAAA,GAAmBC,cAC1D,CAACp+B,EAAAA,GAAsB+7B,SAAUoC,EAAAA,GAAmBpC,QAEpD,CAAC5qC,EAAAA,GAAmBif,UAAWjf,EAAAA,GAAmBif,SAClD,CAACjf,EAAAA,GAAmByO,qBAAsBy+B,EAAAA,GAAgBz+B,oBAC1D,CAACzO,EAAAA,GAAmBsM,cAAe4gC,EAAAA,GAAgB5gC,aACnD,CAACtM,EAAAA,GAAmBglC,aAAckI,EAAAA,GAAgBlI,YAClD,CAAChlC,EAAAA,GAAmB0/B,eAAgBwN,EAAAA,GAAgBxN,cACpD,CAAC1/B,EAAAA,GAAmBilC,cAAeiI,EAAAA,GAAgBjI,aACnD,CAACjlC,EAAAA,GAAmBgkC,eAAgBkJ,EAAAA,GAAgBlJ,cACpD,CAAChkC,EAAAA,GAAmBikC,cAAeiJ,EAAAA,GAAgBjJ,aACnD,CAACjkC,EAAAA,GAAmBmkC,aAAc+I,EAAAA,GAAgB/I,YAClD,CAACnkC,EAAAA,GAAmB0mB,WAAYwmB,EAAAA,GAAgBxmB,UAChD,CAAC1mB,EAAAA,GAAmB4mB,WAAYsmB,EAAAA,GAAgBtmB,UAChD,CAAC5mB,EAAAA,GAAmB0O,cAAew+B,EAAAA,GAAgBx+B,aACnD,CAAC1O,EAAAA,GAAmBgR,WAAYk8B,EAAAA,GAAgBl8B,UAChD,CAAChR,EAAAA,GAAmB4qC,SAAUsC,EAAAA,GAAgBtC,QAC9C,CAAC5qC,EAAAA,GAAmByrC,OAAQyB,EAAAA,GAAgBzB,MAC5C,CAACzrC,EAAAA,GAAmBkC,OAAQgrC,EAAAA,GAAgBhrC,MAE5C,CAAC8N,EAAAA,GAAiBm9B,aAAcC,EAAAA,GAAcD,YAC9C,CAACn9B,EAAAA,GAAiBq9B,iBAAkBD,EAAAA,GAAcC,gBAClD,CAACr9B,EAAAA,GAAiBq7B,UAAW+B,EAAAA,GAAc/B,SAC3C,CAACr7B,EAAAA,GAAiBs7B,cAAe8B,EAAAA,GAAc9B,aAC/C,CAACt7B,EAAAA,GAAiBiP,UAAWmuB,EAAAA,GAAcnuB,SAC3C,CAACjP,EAAAA,GAAiB0N,UAAW0vB,EAAAA,GAAc1vB,SAC3C,CAAC1N,EAAAA,GAAiBvB,qBAAsB2+B,EAAAA,GAAc3+B,oBACtD,CAACuB,EAAAA,GAAiB6qB,eAAgBuS,EAAAA,GAAcvS,cAChD,CAAC7qB,EAAAA,GAAiB8qB,sBAAuBsS,EAAAA,GAActS,qBACvD,CAAC9qB,EAAAA,GAAiB+qB,kBAAmBqS,EAAAA,GAAcrS,iBACnD,CAAC/qB,EAAAA,GAAiBgrB,iBAAkBoS,EAAAA,GAAcpS,gBAClD,CAAChrB,EAAAA,GAAiBirB,kBAAmBmS,EAAAA,GAAcnS,iBACnD,CAACjrB,EAAAA,GAAiBkrB,gBAAiBkS,EAAAA,GAAclS,eACjD,CAAClrB,EAAAA,GAAiBorB,eAAgBgS,EAAAA,GAAchS,cAChD,CAACprB,EAAAA,GAAiBsrB,mBAAoB8R,EAAAA,GAAc9R,kBACpD,CAACtrB,EAAAA,GAAiBurB,aAAc6R,EAAAA,GAAc7R,YAC9C,CAACvrB,EAAAA,GAAiByrB,WAAY2R,EAAAA,GAAc3R,UAC5C,CAACzrB,EAAAA,GAAiB0rB,UAAW0R,EAAAA,GAAc1R,SAC3C,CAAC1rB,EAAAA,GAAiB2rB,WAAYyR,EAAAA,GAAczR,UAC5C,CAAC3rB,EAAAA,GAAiB4rB,SAAUwR,EAAAA,GAAcxR,QAC1C,CAAC5rB,EAAAA,GAAiB1D,cAAe8gC,EAAAA,GAAc9gC,aAC/C,CAAC0D,EAAAA,GAAiBg1B,aAAcoI,EAAAA,GAAcpI,YAC9C,CAACh1B,EAAAA,GAAiBi0B,cAAemJ,EAAAA,GAAcnJ,aAC/C,CAACj0B,EAAAA,GAAiBm0B,aAAciJ,EAAAA,GAAcjJ,YAC9C,CAACn0B,EAAAA,GAAiBi1B,cAAemI,EAAAA,GAAcnI,aAC/C,CAACj1B,EAAAA,GAAiB0W,WAAY0mB,EAAAA,GAAc1mB,UAC5C,CAAC1W,EAAAA,GAAiB4W,WAAYwmB,EAAAA,GAAcxmB,UAC5C,CAAC5W,EAAAA,GAAiBtB,cAAe0+B,EAAAA,GAAc1+B,aAC/C,CAACsB,EAAAA,GAAiBgB,WAAYo8B,EAAAA,GAAcp8B,UAC5C,CAAChB,EAAAA,GAAiB46B,SAAUwC,EAAAA,GAAcxC,QAC1C,CAAC56B,EAAAA,GAAiBy7B,OAAQ2B,EAAAA,GAAc3B,MACxC,CAACz7B,EAAAA,GAAiB9N,OAAQkrC,EAAAA,GAAclrC,MAExC,CAACzgB,EAAAA,GAAqBs3B,iBAAkBu0B,EAAAA,GAAkBv0B,gBAC1D,CAACt3B,EAAAA,GAAqBu3B,kBAAmBs0B,EAAAA,GAAkBt0B,iBAC3D,CAACv3B,EAAAA,GAAqB8rD,kBAAmBD,EAAAA,GAAkBC,iBAC3D,CAAC9rD,EAAAA,GAAqBw3B,gBAAiBq0B,EAAAA,GAAkBr0B,eACzD,CAACx3B,EAAAA,GAAqBy3B,cAAeo0B,EAAAA,GAAkBp0B,aACvD,CAACz3B,EAAAA,GAAqB03B,mBAAoBm0B,EAAAA,GAAkBn0B,kBAC5D,CAAC13B,EAAAA,GAAqB43B,WAAYi0B,EAAAA,GAAkBj0B,UACpD,CAAC53B,EAAAA,GAAqB+rD,oBAAqBF,EAAAA,GAAkBE,mBAC7D,CAAC/rD,EAAAA,GAAqB0hC,eAAgBmqB,EAAAA,GAAkBnqB,cACxD,CAAC1hC,EAAAA,GAAqBugB,SAAUsrC,EAAAA,GAAkBtrC,QAClD,CAACvgB,EAAAA,GAAqBgsD,cAAeH,EAAAA,GAAkBG,aACvD,CAAChsD,EAAAA,GAAqBisD,cAAeJ,EAAAA,GAAkBI,aACvD,CAACjsD,EAAAA,GAAqBksD,aAAcL,EAAAA,GAAkBK,YACtD,CAAClsD,EAAAA,GAAqBmsD,4BAA6BN,EAAAA,GAAkBM,2BACrE,CAACnsD,EAAAA,GAAqBosD,gBAAiBP,EAAAA,GAAkBO,eACzD,CAACpsD,EAAAA,GAAqBgqD,OAAQ6B,EAAAA,GAAkB7B,MAChD,CAAChqD,EAAAA,GAAqBygB,OAAQorC,EAAAA,GAAkBprC,MAEhD,CAACygB,EAAAA,GAAYxe,MAAO2pC,EAAAA,GAAS3pC,KAC7B,CAACwe,EAAAA,GAAYjF,UAAWowB,EAAAA,GAASC,QACjC,CAACprB,EAAAA,GAAYzE,SAAU4vB,EAAAA,GAAS5vB,QAChC,CAACyE,EAAAA,GAAYqrB,UAAWF,EAAAA,GAASG,mBAEnCC,EAAe,CAEb,CAACjkE,EAAAA,GAAQi3B,gBAAiB,GAC1B,CAACj3B,EAAAA,GAAQqkC,aAAc,EACvB,CAACrkC,EAAAA,GAAQukC,QAAS,EAClB,CAACvkC,EAAAA,GAAQyzC,UAAW,EACpB,CAACzzC,EAAAA,GAAQ2zC,UAAW,EACpB,CAAC3zC,EAAAA,GAAQqiC,cAAe,GACxB,CAACriC,EAAAA,GAAQi0C,SAAU,EACnB,CAACj0C,EAAAA,GAAQ6/D,YAAa,GACtB,CAAC7/D,EAAAA,GAAQy8C,WAAY,EACrB,CAACz8C,EAAAA,GAAQ+3B,SAAU,GACnB,CAAC/3B,EAAAA,GAAQ28C,WAAY,EACrB,CAAC38C,EAAAA,GAAQ+mC,WAAY,EACrB,CAAC/mC,EAAAA,GAAQinC,iBAAkB,GAC3B,CAACjnC,EAAAA,GAAQ8/D,YAAa,GACtB,CAAC9/D,EAAAA,GAAQ+/D,gBAAiB,GAC1B,CAAC//D,EAAAA,GAAQggE,mBAAoB,GAC7B,CAAChgE,EAAAA,GAAQigE,cAAe,GACxB,CAACjgE,EAAAA,GAAQkgE,mBAAoB,GAC7B,CAAClgE,EAAAA,GAAQqgE,WAAY,GACrB,CAACrgE,EAAAA,GAAQmgE,WAAY,GACrB,CAACngE,EAAAA,GAAQogE,aAAc,GACvB,CAACpgE,EAAAA,GAAQsgE,aAAc,GACvB,CAACtgE,EAAAA,GAAQugE,gBAAiB,GAC1B,CAACvgE,EAAAA,GAAQsnC,YAAa,GACtB,CAACtnC,EAAAA,GAAQqnC,YAAa,GACtB,CAACrnC,EAAAA,GAAQwgE,aAAc,GACvB,CAACxgE,EAAAA,GAAQygE,eAAgB,GACzB,CAACzgE,EAAAA,GAAQ0gE,UAAW,GACpB,CAAC1gE,EAAAA,GAAQ2gE,SAAU,GACnB,CAAC3gE,EAAAA,GAAQ4gE,WAAY,GACrB,CAAC5gE,EAAAA,GAAQkkE,WAAY,GAKrB,CAAC/rD,EAAAA,GAAgB8e,gBAAiB,IAClC,CAAC9e,EAAAA,GAAgBksB,aAAc,IAC/B,CAAClsB,EAAAA,GAAgBipD,UAAW,IAC5B,CAACjpD,EAAAA,GAAgBkpD,cAAe,IAChC,CAAClpD,EAAAA,GAAgBosB,QAAS,IAC1B,CAACpsB,EAAAA,GAAgBs7B,UAAW,IAC5B,CAACt7B,EAAAA,GAAgBw7B,UAAW,IAC5B,CAACx7B,EAAAA,GAAgBs8C,YAAa,IAC9B,CAACt8C,EAAAA,GAAgB87B,SAAU,IAC3B,CAAC97B,EAAAA,GAAgB0nD,YAAa,IAC9B,CAAC1nD,EAAAA,GAAgBmpD,YAAa,IAC9B,CAACnpD,EAAAA,GAAgB4f,SAAU,IAG3B,CAACxf,EAAAA,GAAoB0e,gBAAiB,IACtC,CAAC1e,EAAAA,GAAoB8rB,aAAc,IACnC,CAAC9rB,EAAAA,GAAoBqtB,cAAe,IACpC,CAACrtB,EAAAA,GAAoBk7B,UAAW,IAChC,CAACl7B,EAAAA,GAAoBo7B,UAAW,IAChC,CAACp7B,EAAAA,GAAoB07B,SAAU,IAC/B,CAAC17B,EAAAA,GAAoBkkC,WAAY,IACjC,CAAClkC,EAAAA,GAAoBwf,SAAU,IAC/B,CAACxf,EAAAA,GAAoBwuB,WAAY,IACjC,CAACxuB,EAAAA,GAAoBipD,OAAQ,IAG7B,CAAChpD,EAAAA,GAAkBye,gBAAiB,IACpC,CAACze,EAAAA,GAAkB6rB,aAAc,IACjC,CAAC7rB,EAAAA,GAAkB+rB,QAAS,IAC5B,CAAC/rB,EAAAA,GAAkBi7B,UAAW,IAC9B,CAACj7B,EAAAA,GAAkB6pB,cAAe,IAClC,CAAC7pB,EAAAA,GAAkBy7B,SAAU,IAC7B,CAACz7B,EAAAA,GAAkBqnD,YAAa,IAChC,CAACrnD,EAAAA,GAAkBikC,WAAY,IAC/B,CAACjkC,EAAAA,GAAkBuf,SAAU,IAC7B,CAACvf,EAAAA,GAAkBmkC,WAAY,IAC/B,CAACnkC,EAAAA,GAAkBuuB,WAAY,IAG/B,CAAC/Q,EAAAA,GAAgBiB,gBAAiB,IAClC,CAACjB,EAAAA,GAAgBqO,aAAc,IAC/B,CAACrO,EAAAA,GAAgBuO,QAAS,IAC1B,CAACvO,EAAAA,GAAgByd,UAAW,IAC5B,CAACzd,EAAAA,GAAgB2d,UAAW,IAC5B,CAAC3d,EAAAA,GAAgBqM,cAAe,IAChC,CAACrM,EAAAA,GAAgBie,SAAU,IAC3B,CAACje,EAAAA,GAAgB+B,SAAU,IAC3B,CAAC/B,EAAAA,GAAgB6pC,YAAa,IAG9B,CAAC5nD,EAAAA,GAAoBiiB,MAAO,KAC5B,CAACjiB,EAAAA,GAAoB+oD,eAAgB,KACrC,CAAC/oD,EAAAA,GAAoB4nD,YAAa,KAOlC,CAAC9nD,EAAAA,GAAqB07B,UAAW,KACjC,CAAC17B,EAAAA,GAAqB47B,UAAW,IACjC,CAAC57B,EAAAA,GAAqBk8B,SAAU,KAGhC,CAACn8B,EAAAA,GAAgBmf,gBAAiB,KAClC,CAACnf,EAAAA,GAAgBusB,aAAc,KAC/B,CAACvsB,EAAAA,GAAgBk9B,UAAW,KAC5B,CAACl9B,EAAAA,GAAgBgpD,WAAY,KAC7B,CAAChpD,EAAAA,GAAgBysB,QAAS,KAC1B,CAACzsB,EAAAA,GAAgB27B,UAAW,KAC5B,CAAC37B,EAAAA,GAAgB67B,UAAW,KAC5B,CAAC77B,EAAAA,GAAgBuqB,cAAe,KAChC,CAACvqB,EAAAA,GAAgBm8B,SAAU,KAC3B,CAACn8B,EAAAA,GAAgB+nD,YAAa,KAC9B,CAAC/nD,EAAAA,GAAgBigB,SAAU,KAC3B,CAACjgB,EAAAA,GAAgBmgB,OAAQ,KAGzB,CAACygB,EAAAA,GAAYxe,MAAO,KACpB,CAACwe,EAAAA,GAAYjF,UAAW,KACxB,CAACiF,EAAAA,GAAYzE,SAAU,KACvB,CAACyE,EAAAA,GAAYqrB,UAAW,KAGxB,CAAC9rD,EAAAA,GAAoBiiB,MAAO,KAC5B,CAACjiB,EAAAA,GAAoB+oD,eAAgB,KACrC,CAAC/oD,EAAAA,GAAoB4nD,YAAa,KAGlC,CAAClC,EAAAA,GAA0BzjC,MAAO,KAClC,CAACyjC,EAAAA,GAA0BqD,eAAgB,KAC3C,CAACrD,EAAAA,GAA0BkC,YAAa,KAGxC,CAACtoD,EAAAA,GAAYw9B,SAAU,KACvB,CAACx9B,EAAAA,GAAYy9B,UAAW,KACxB,CAACz9B,EAAAA,GAAYk8B,UAAW,KACxB,CAACl8B,EAAAA,GAAYqjD,aAAc,KAC3B,CAACrjD,EAAAA,GAAYitB,qBAAsB,KACnC,CAACjtB,EAAAA,GAAYsqD,cAAe,KAC5B,CAACtqD,EAAAA,GAAY+6C,aAAc,KAC3B,CAAC/6C,EAAAA,GAAYk7C,eAAgB,KAC7B,CAACl7C,EAAAA,GAAYklC,WAAY,KACzB,CAACllC,EAAAA,GAAYojD,WAAY,KACzB,CAACpjD,EAAAA,GAAYoiD,WAAY,KACzB,CAACpiD,EAAAA,GAAYolC,WAAY,KACzB,CAACplC,EAAAA,GAAYktB,cAAe,KAC5B,CAACltB,EAAAA,GAAYwvB,WAAY,KACzB,CAACxvB,EAAAA,GAAYuqD,yBAA0B,KACvC,CAACvqD,EAAAA,GAAYwqD,qBAAsB,KACnC,CAACxqD,EAAAA,GAAYsjD,cAAe,KAC5B,CAACtjD,EAAAA,GAAYqiD,cAAe,KAC5B,CAACriD,EAAAA,GAAYsiD,aAAc,KAC3B,CAACtiD,EAAAA,GAAYiqD,OAAQ,KACrB,CAACjqD,EAAAA,GAAY4qD,YAAa,IAG1B,CAAC/qD,EAAAA,GAAa02C,UAAW,KACzB,CAAC12C,EAAAA,GAAa29B,SAAU,KACxB,CAAC39B,EAAAA,GAAa49B,UAAW,KACzB,CAAC59B,EAAAA,GAAaq8B,UAAW,KACzB,CAACr8B,EAAAA,GAAa84C,iBAAkB,KAChC,CAAC94C,EAAAA,GAAa+4C,aAAc,KAC5B,CAAC/4C,EAAAA,GAAaotB,qBAAsB,KACpC,CAACptB,EAAAA,GAAag5C,YAAa,KAC3B,CAACh5C,EAAAA,GAAai5C,aAAc,KAC5B,CAACj5C,EAAAA,GAAak5C,WAAY,KAC1B,CAACl5C,EAAAA,GAAak+B,YAAa,KAC3B,CAACl+B,EAAAA,GAAao+B,yBAA0B,KACxC,CAACp+B,EAAAA,GAAayqD,cAAe,KAC7B,CAACzqD,EAAAA,GAAam5C,WAAY,KAC1B,CAACn5C,EAAAA,GAAao5C,UAAW,KACzB,CAACp5C,EAAAA,GAAak7C,aAAc,KAC5B,CAACl7C,EAAAA,GAAaq7C,eAAgB,KAC9B,CAACr7C,EAAAA,GAAaq5C,cAAe,KAC7B,CAACr5C,EAAAA,GAAas5C,QAAS,KACvB,CAACt5C,EAAAA,GAAaqlC,WAAY,KAC1B,CAACrlC,EAAAA,GAAaulC,WAAY,KAC1B,CAACvlC,EAAAA,GAAa62C,MAAO,KACrB,CAAC72C,EAAAA,GAAaqtB,cAAe,KAC7B,CAACrtB,EAAAA,GAAa2vB,WAAY,KAC1B,CAAC3vB,EAAAA,GAAa0qD,yBAA0B,KACxC,CAAC1qD,EAAAA,GAAa2qD,qBAAsB,KACpC,CAAC3qD,EAAAA,GAAa+2C,KAAM,KACpB,CAAC/2C,EAAAA,GAAaoqD,OAAQ,KACtB,CAACpqD,EAAAA,GAAa+qD,YAAa,KAC3B,CAAC/qD,EAAAA,GAAai3C,MAAO,KACrB,CAACj3C,EAAAA,GAAam3C,IAAK,KAGnB,CAAC/V,EAAAA,GAAiBqb,KAAM,KACxB,CAACrb,EAAAA,GAAiB3Y,SAAU,KAC5B,CAAC2Y,EAAAA,GAAiBub,SAAU,KAC5B,CAACvb,EAAAA,GAAiBqqB,iBAAkB,KACpC,CAACrqB,EAAAA,GAAiB0b,aAAc,KAChC,CAAC1b,EAAAA,GAAiB+b,WAAY,KAC9B,CAAC/b,EAAAA,GAAiBic,YAAa,KAC/B,CAACjc,EAAAA,GAAiBnW,cAAe,KACjC,CAACmW,EAAAA,GAAiB/Y,UAAW,KAC7B,CAAC+Y,EAAAA,GAAiBkc,WAAY,KAC9B,CAAClc,EAAAA,GAAiByc,aAAc,KAChC,CAACzc,EAAAA,GAAiBuc,SAAU,KAC5B,CAACvc,EAAAA,GAAiB9Z,UAAW,KAC7B,CAAC8Z,EAAAA,GAAiB2c,SAAU,KAC5B,CAAC3c,EAAAA,GAAiB6c,iBAAkB,KACpC,CAAC7c,EAAAA,GAAiB+c,mBAAoB,KACtC,CAAC/c,EAAAA,GAAiBiE,WAAY,KAC9B,CAACjE,EAAAA,GAAiBsqB,QAAS,KAC3B,CAACtqB,EAAAA,GAAiBmE,WAAY,KAC9B,CAACnE,EAAAA,GAAiBzR,WAAY,KAC9B,CAACyR,EAAAA,GAAiBud,WAAY,KAC9B,CAACvd,EAAAA,GAAiBgpB,OAAQ,KAC1B,CAAChpB,EAAAA,GAAiB/a,WAAY,KAC9B,CAAC+a,EAAAA,GAAiBvZ,SAAU,KAC5B,CAACuZ,EAAAA,GAAiB2d,gBAAiB,KAInC,CAACpwB,EAAAA,GAAiBiP,UAAW,KAC7B,CAACjP,EAAAA,GAAiB0N,UAAW,KAC7B,CAAC1N,EAAAA,GAAiBvB,qBAAsB,KACxC,CAACuB,EAAAA,GAAiB6qB,eAAgB,KAClC,CAAC7qB,EAAAA,GAAiB8qB,sBAAuB,KACzC,CAAC9qB,EAAAA,GAAiB+qB,kBAAmB,KACrC,CAAC/qB,EAAAA,GAAiBgrB,iBAAkB,KACpC,CAAChrB,EAAAA,GAAiBirB,kBAAmB,KACrC,CAACjrB,EAAAA,GAAiBkrB,gBAAiB,KACnC,CAAClrB,EAAAA,GAAiBorB,eAAgB,KAClC,CAACprB,EAAAA,GAAiBsrB,mBAAoB,KACtC,CAACtrB,EAAAA,GAAiBurB,aAAc,KAChC,CAACvrB,EAAAA,GAAiByrB,WAAY,KAC9B,CAACzrB,EAAAA,GAAiB0rB,UAAW,KAC7B,CAAC1rB,EAAAA,GAAiB2rB,WAAY,KAC9B,CAAC3rB,EAAAA,GAAiB4rB,SAAU,KAC5B,CAAC5rB,EAAAA,GAAiB1D,cAAe,KACjC,CAAC0D,EAAAA,GAAiBg1B,aAAc,KAChC,CAACh1B,EAAAA,GAAiBi0B,cAAe,KACjC,CAACj0B,EAAAA,GAAiBm0B,aAAc,KAChC,CAACn0B,EAAAA,GAAiBi1B,cAAe,KACjC,CAACj1B,EAAAA,GAAiB0W,WAAY,KAC9B,CAAC1W,EAAAA,GAAiB4W,WAAY,KAC9B,CAAC5W,EAAAA,GAAiBgB,WAAY,KAC9B,CAAChB,EAAAA,GAAiBtB,cAAe,KACjC,CAACsB,EAAAA,GAAiB46B,SAAU,KAC5B,CAAC56B,EAAAA,GAAiBy7B,OAAQ,KAC1B,CAACz7B,EAAAA,GAAiB9N,OAAQ,KAG1B,CAACsN,EAAAA,GAAkB0P,UAAW,KAC9B,CAAC1P,EAAAA,GAAkByP,UAAW,KAC9B,CAACzP,EAAAA,GAAkBC,0BAA2B,KAC9C,CAACD,EAAAA,GAAkBye,oBAAqB,KACxC,CAACze,EAAAA,GAAkBqrB,eAAgB,KACnC,CAACrrB,EAAAA,GAAkBsrB,sBAAuB,KAC1C,CAACtrB,EAAAA,GAAkBurB,kBAAmB,KACtC,CAACvrB,EAAAA,GAAkBwrB,iBAAkB,KACrC,CAACxrB,EAAAA,GAAkByrB,kBAAmB,KACtC,CAACzrB,EAAAA,GAAkB0rB,gBAAiB,KACpC,CAAC1rB,EAAAA,GAAkB4rB,eAAgB,KACnC,CAAC5rB,EAAAA,GAAkB8rB,mBAAoB,KACvC,CAAC9rB,EAAAA,GAAkB+rB,aAAc,KACjC,CAAC/rB,EAAAA,GAAkBisB,WAAY,KAC/B,CAACjsB,EAAAA,GAAkBksB,UAAW,KAC9B,CAAClsB,EAAAA,GAAkBmsB,WAAY,KAC/B,CAACnsB,EAAAA,GAAkBlD,cAAe,KAClC,CAACkD,EAAAA,GAAkB0O,SAAU,KAC7B,CAAC1O,EAAAA,GAAkBosB,SAAU,KAC7B,CAACpsB,EAAAA,GAAkBw1B,aAAc,KACjC,CAACx1B,EAAAA,GAAkBy0B,cAAe,KAClC,CAACz0B,EAAAA,GAAkB20B,aAAc,KACjC,CAAC30B,EAAAA,GAAkBy1B,cAAe,KAClC,CAACz1B,EAAAA,GAAkBkX,WAAY,KAC/B,CAAClX,EAAAA,GAAkBE,mBAAoB,KACvC,CAACF,EAAAA,GAAkBoX,WAAY,KAC/B,CAACpX,EAAAA,GAAkBwB,WAAY,KAC/B,CAACxB,EAAAA,GAAkBo7B,SAAU,KAC7B,CAACp7B,EAAAA,GAAkBi8B,OAAQ,KAC3B,CAACj8B,EAAAA,GAAkB8e,aAAc,KACjC,CAAC9e,EAAAA,GAAkBtN,OAAQ,KAC3B,CAACsN,EAAAA,GAAkBgf,cAAe,KAIlC,CAACxuB,EAAAA,GAAmBif,UAAW,KAC/B,CAACjf,EAAAA,GAAmByO,qBAAsB,KAC1C,CAACzO,EAAAA,GAAmBsM,cAAe,KACnC,CAACtM,EAAAA,GAAmBglC,aAAc,KAClC,CAAChlC,EAAAA,GAAmB0/B,eAAgB,KACpC,CAAC1/B,EAAAA,GAAmBilC,cAAe,KACnC,CAACjlC,EAAAA,GAAmBgkC,eAAgB,KACpC,CAAChkC,EAAAA,GAAmBikC,cAAe,KACnC,CAACjkC,EAAAA,GAAmBmkC,aAAc,KAClC,CAACnkC,EAAAA,GAAmB0mB,WAAY,KAChC,CAAC1mB,EAAAA,GAAmB4mB,WAAY,KAChC,CAAC5mB,EAAAA,GAAmB0O,cAAe,KACnC,CAAC1O,EAAAA,GAAmBgR,WAAY,KAChC,CAAChR,EAAAA,GAAmB4qC,SAAU,KAC9B,CAAC5qC,EAAAA,GAAmByrC,OAAQ,KAC5B,CAACzrC,EAAAA,GAAmBkC,OAAQ,KAG5B,CAAC+f,EAAAA,GAAiBhD,UAAW,KAC7B,CAACgD,EAAAA,GAAiB3V,cAAe,KACjC,CAAC2V,EAAAA,GAAiB/D,SAAU,KAC5B,CAAC+D,EAAAA,GAAiBla,KAAM,KACxB,CAACka,EAAAA,GAAiB9Z,SAAU,KAC5B,CAAC8Z,EAAAA,GAAiB2qB,YAAa,KAC/B,CAAC3qB,EAAAA,GAAiByE,WAAY,KAC9B,CAACzE,EAAAA,GAAiBiU,aAAc,KAChC,CAACjU,EAAAA,GAAiBzX,QAAS,KAC3B,CAACyX,EAAAA,GAAiB2E,WAAY,KAC9B,CAAC3E,EAAAA,GAAiBjR,WAAY,KAC9B,CAACiR,EAAAA,GAAiB2oB,SAAU,KAC5B,CAAC3oB,EAAAA,GAAiB/f,OAAQ,KAC1B,CAAC+f,EAAAA,GAAiBva,WAAY,KAC9B,CAACua,EAAAA,GAAiBuM,cAAe,KAGjC,CAAC7f,EAAAA,GAAiBuQ,UAAW,KAC7B,CAACvQ,EAAAA,GAAiBsQ,UAAW,KAC7B,CAACtQ,EAAAA,GAAiBgK,cAAe,KACjC,CAAChK,EAAAA,GAAiB+J,aAAc,KAChC,CAAC/J,EAAAA,GAAiBF,qBAAsB,KACxC,CAACE,EAAAA,GAAiBksB,eAAgB,KAClC,CAAClsB,EAAAA,GAAiBmsB,sBAAuB,KACzC,CAACnsB,EAAAA,GAAiBosB,kBAAmB,KACrC,CAACpsB,EAAAA,GAAiBqsB,iBAAkB,KACpC,CAACrsB,EAAAA,GAAiBssB,kBAAmB,KACrC,CAACtsB,EAAAA,GAAiBusB,gBAAiB,KACnC,CAACvsB,EAAAA,GAAiBysB,eAAgB,KAClC,CAACzsB,EAAAA,GAAiB2sB,mBAAoB,KACtC,CAAC3sB,EAAAA,GAAiB4sB,aAAc,KAChC,CAAC5sB,EAAAA,GAAiB8sB,WAAY,KAC9B,CAAC9sB,EAAAA,GAAiB+sB,UAAW,KAC7B,CAAC/sB,EAAAA,GAAiBgtB,WAAY,KAC9B,CAAChtB,EAAAA,GAAiBitB,SAAU,KAC5B,CAACjtB,EAAAA,GAAiBrC,cAAe,KACjC,CAACqC,EAAAA,GAAiBiK,YAAa,KAC/B,CAACjK,EAAAA,GAAiBjF,UAAW,KAC7B,CAACiF,EAAAA,GAAiBkK,eAAgB,KAClC,CAAClK,EAAAA,GAAiBq2B,aAAc,KAChC,CAACr2B,EAAAA,GAAiBs1B,cAAe,KACjC,CAACt1B,EAAAA,GAAiBw1B,aAAc,KAChC,CAACx1B,EAAAA,GAAiBs2B,cAAe,KACjC,CAACt2B,EAAAA,GAAiB+X,WAAY,KAC9B,CAAC/X,EAAAA,GAAiBiY,WAAY,KAC9B,CAACjY,EAAAA,GAAiBqC,WAAY,KAC9B,CAACrC,EAAAA,GAAiBD,cAAe,KACjC,CAACC,EAAAA,GAAiBi8B,SAAU,KAC5B,CAACj8B,EAAAA,GAAiBy/B,YAAa,KAC/B,CAACz/B,EAAAA,GAAiB88B,OAAQ,KAC1B,CAAC98B,EAAAA,GAAiB69B,gBAAiB,KACnC,CAAC79B,EAAAA,GAAiB89B,gBAAiB,KAInC,CAAChrD,EAAAA,GAAqBs3B,iBAAkB,MACxC,CAACt3B,EAAAA,GAAqBu3B,kBAAmB,MACzC,CAACv3B,EAAAA,GAAqB8rD,kBAAmB,MACzC,CAAC9rD,EAAAA,GAAqBw3B,gBAAiB,MACvC,CAACx3B,EAAAA,GAAqBy3B,cAAe,MACrC,CAACz3B,EAAAA,GAAqB03B,mBAAoB,MAC1C,CAAC13B,EAAAA,GAAqB43B,WAAY,MAClC,CAAC53B,EAAAA,GAAqB8qB,UAAW,MACjC,CAAC9qB,EAAAA,GAAqB+rD,oBAAqB,MAC3C,CAAC/rD,EAAAA,GAAqB0hC,eAAgB,MACtC,CAAC1hC,EAAAA,GAAqBugB,SAAU,MAChC,CAACvgB,EAAAA,GAAqBgsD,cAAe,MACrC,CAAChsD,EAAAA,GAAqBksD,aAAc,MACpC,CAAClsD,EAAAA,GAAqBisD,cAAe,MACrC,CAACjsD,EAAAA,GAAqBqgD,mBAAoB,MAC1C,CAACrgD,EAAAA,GAAqBosD,gBAAiB,MACvC,CAACpsD,EAAAA,GAAqBmsD,4BAA6B,MACnD,CAACnsD,EAAAA,GAAqBgqD,OAAQ,MAC9B,CAAChqD,EAAAA,GAAqBygB,OAAQ,OAEhC3B,EAAwB,CACtB8tC,gBAAiB,GACjBC,aAAc,GACdC,qBAAsB,EACtBC,YAAY,EACZC,eAAe,EACfC,4BAA4B,EAE5BC,gBAAgB,EAChBC,yBAAyB,EACzB7H,gBAAgB,EAChB8H,wBAAwB,EACxBC,gBAAgB,EAChBC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EAEjBC,oBAAoB,EACpBC,iBAAkB,IAEpB9hE,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAETwuC,EAAcA,CAACllE,EAAOO,KACpB,MAAM4kE,EAAcpB,EAAaxjE,EAAOe,OAAS,EAC/C8jE,EAAaC,SAASC,SACxB,IAAIC,EAAc9F,EAAkBl/D,EAAOe,MAC3C,IAAKikE,EACH,OAAOvlE,EAGT,GAAIO,EAAOe,OAAS+jC,EAAAA,GAAkBgf,aAAc,CAClD,MAAMmhB,EAAYJ,EAAWK,YAAY,KACzCF,EAAc,GAAGA,KAAeH,EAAW/gE,UAAUmhE,EAAY,IACnE,CAEA,OAAOvlE,EAAOD,EAAO,CACnB0lE,gBAAiB,CAAEvlE,KAAM,IACzB+jE,gBAAiB,CAAE/jE,KAAMI,EAAOe,MAChC6iE,aAAc,CAAEhkE,KAAMolE,GACtBnB,qBAAsB,CAAEjkE,KAAMglE,MAGlCtuC,EAAeA,CAAC72B,EAAOO,EAAQC,KAC7Bg2B,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuB51B,KAElFmlE,EAA6BA,CAAC3lE,EAAOO,IAC/BA,EAAOE,MACFT,EAEFC,EAAOD,EAAO,CACnBmkE,aAAc,CAAEhkE,KAAM,IACtB+jE,gBAAiB,CAAE/jE,KAAM,IACzBikE,qBAAsB,CAAEjkE,KAAM,KAGlCylE,EAA8BA,CAAC5lE,EAAOO,EAAQC,KAC5C,MAAM,WAAEq+D,GAAa,EAAK,OAAEz9D,EAAS,cAAiBZ,GAAQ,CAAC,EAE/D,OAAIq+D,GAAyB,aAAXz9D,EACTy1B,EAAa72B,EAAOO,EAAQC,GAE9B0kE,EAAYllE,EAAOO,EAAQC,IAiBpCqlE,EAAwBA,CAAC7lE,EAAOO,EAAQC,KACtC,MAAM,eACJgkE,GAAiB,EAAK,wBACtBC,GAA0B,EAAK,eAC/B7H,GAAiB,EAAK,uBACtB8H,GAAyB,EAAK,eAC9BC,GAAiB,EAAK,eACtBC,GAAiB,EAAK,gBACtBC,GAAkB,EAAK,iBACvBC,GAAmB,EAAK,gBACxBC,GAAkB,GAChBvkE,EACJ,OAAOP,EAAOD,EAAO,CACnBwkE,eAAgB,CAAErkE,KAAMqkE,GACxBC,wBAAyB,CAAEtkE,KAAMskE,GACjC7H,eAAgB,CAAEz8D,KAAMy8D,GACxB8H,uBAAwB,CAAEvkE,KAAMukE,GAChCC,eAAgB,CAAExkE,KAAMwkE,GACxBC,eAAgB,CAAEzkE,KAAMykE,GACxBC,gBAAiB,CAAE1kE,KAAM0kE,GACzBC,iBAAkB,CAAE3kE,KAAM2kE,GAC1BC,gBAAiB,CAAE5kE,KAAM4kE,MAG7Be,EAAkBA,CAAC9lE,EAAOO,EAAQC,IACzBolE,EAA4BC,EAAsB7lE,EAAOO,EAAQC,GAAOD,EAAQC,GAEzFulE,EAAqB/lE,GACZC,EAAOD,EAAO,CACnBwkE,eAAgB,CAAErkE,MAAM,GACxBskE,wBAAyB,CAAEtkE,MAAM,GACjCy8D,eAAgB,CAAEz8D,MAAM,GACxBukE,uBAAwB,CAAEvkE,MAAM,GAChCwkE,eAAgB,CAAExkE,MAAM,GACxBykE,eAAgB,CAAEzkE,MAAM,GACxB0kE,gBAAiB,CAAE1kE,MAAM,GACzB2kE,iBAAkB,CAAE3kE,MAAM,GAC1B4kE,gBAAiB,CAAE5kE,MAAM,KAqH7B6lE,EAAqBA,CAAChmE,EAAOO,EAAQC,IAC5BP,EAAOD,EAAO,CACnBqpC,cAAe,CAAElpC,KAAMK,EAAK6oC,gBAAiB,GAC7C47B,iBAAkB,CAAE9kE,KAAMK,EAAKykE,kBAAoB,SAsDvD7tC,EAAkBA,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/C6vC,EAAeA,CAACjmE,EAAOO,EAAQC,IACtBP,EAAOD,EAAO,CACnB0lE,gBAAiB,CAAEvlE,KAAMK,EAAK0lE,QAGlCxiC,GAAoBA,CAAC1jC,EAAOO,EAAQC,IAC3B0kE,EAAYjlE,EAAOD,EAAO,CAC/B0lE,gBAAiB,CAAEvlE,KAAM,MACvBI,EAAQC,GAkBd2lE,GAAanmE,GACJA,EAETH,GAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,EACjB,CAAC/2B,EAAAA,GAAQukC,QArBqB+hC,CAACpmE,EAAOO,EAAQC,IACvC0kE,EAAYjlE,EAAOD,EAAO,CAC/B0lE,gBAAiB,CAAEvlE,KAAM,IACzB8kE,iBAAkB,CAAE9kE,KAAM,MACxBI,EAAQC,GAkBZ,CAACV,EAAAA,GAAQyzC,UA7PWd,CAACzyC,EAAOO,EAAQC,KACpC,MAAM,iBAAE69C,GAAmB,GAAU79C,EACrC,OAAO0kE,EAAYjlE,EAAOD,EAAO,CAC/Bq+C,iBAAkB,CAAEl+C,KAAMk+C,KACxB99C,IA0PJ,CAACT,EAAAA,GAAQumE,OAAQJ,EACjB,CAACnmE,EAAAA,GAAQq3B,kBAAmBC,EAC5B,CAACt3B,EAAAA,GAAQqiC,cAAe2jC,EACxB,CAAChmE,EAAAA,GAAQsnC,YAAa0+B,EACtB,CAAChmE,EAAAA,GAAQ2gE,SAAUqF,EACnB,CAAChmE,EAAAA,GAAQ+3B,SAAUguC,EACnB,CAAC/lE,EAAAA,GAAQk6B,MA7QgBssC,CAACtmE,EAAOO,EAAQC,KACzC,MAAM,cAAE+lE,GAAgB,GAAU/lE,EAClC,OAAO0kE,EAAYjlE,EAAOD,EAAO,CAC/BumE,cAAe,CAAEpmE,KAAMomE,GACvBl9B,cAAe,CAAElpC,KAAMK,EAAK6oC,gBAAiB,GAC7Cm9B,QAAS,CAAErmE,KAAMK,EAAKgmE,UAAW,GACjCvB,iBAAkB,CAAE9kE,KAAM,MACxBI,IAuQJ,CAACT,EAAAA,GAAQ4X,uBAAwBiuD,EAEjC,CAACjhC,EAAAA,GAAsB3M,OA1BF0uC,CAACzmE,EAAOO,EAAQC,IAC9B0kE,EAAYjlE,EAAOD,EAAO,CAC/BilE,iBAAkB,CAAE9kE,KAAMK,EAAKykE,kBAAoB,MACjD1kE,EAAQC,GAwBZ,CAACkkC,EAAAA,GAAsBvC,cAAe2jC,EACtC,CAACphC,EAAAA,GAAsBusB,eAAgB8U,EACvC,CAACrhC,EAAAA,GAAsBisB,sBAAuBoV,EAC9C,CAACrhC,EAAAA,GAAsBo2B,cAAeiL,EACtC,CAACrhC,EAAAA,GAAsBo1B,cAAeiM,EAEtC,CAACtuD,EAAAA,GAAuBuiB,MA7EGh6B,GACpBC,EAAOD,EAAO,CACnBqpC,cAAe,CAAElpC,MAAM,GACvB8kE,iBAAkB,CAAE9kE,KAAM,UA4E5B,CAACyX,EAAAA,GAAgBysB,QAASX,GAC1B,CAAC9rB,EAAAA,GAAgByuD,OAAQJ,EACzB,CAACruD,EAAAA,GAAgBoiB,MAAOgsC,EACxB,CAACpuD,EAAAA,GAAgBF,uBAAwBiuD,EAEzC,CAACnhC,EAAAA,GAAiBpC,UAAW+jC,GAC7B,CAAC3hC,EAAAA,GAAiBrC,cAAe2jC,EACjC,CAACthC,EAAAA,GAAiBysB,eAAgB8U,EAClC,CAACvhC,EAAAA,GAAiBmsB,sBAAuBoV,EACzC,CAACvhC,EAAAA,GAAiBs2B,cAAeiL,EACjC,CAACvhC,EAAAA,GAAiBs1B,cAAeiM,EACjC,CAACvhC,EAAAA,GAAiB88B,OAAQ6E,GAC1B,CAAC3hC,EAAAA,GAAiB88B,OAAQ6E,GAE1B,CAACtuD,EAAAA,GAAqBmiB,MAvFGh6B,GAClBC,EAAOD,EAAO,CACnBqpC,cAAe,CAAElpC,MAAM,GACvB8kE,iBAAkB,CAAE9kE,KAAM,SAsF5B,CAAC4X,EAAAA,GAAoBiiB,MA1HC0sC,CAAC1mE,EAAOO,EAAQC,IAC/B0kE,EAAYjlE,EAAOD,EAAO,CAC/BqpC,cAAe,CAAElpC,KAAMK,EAAK6oC,gBAAiB,GAC7C47B,iBAAkB,CAAE9kE,KAAM,aACxBI,GAuHJ,CAACwX,EAAAA,GAAoBof,kBAAmBC,EACxC,CAACrf,EAAAA,GAAoB4uD,eAAgBhB,EAErC,CAACtgC,EAAAA,GAAkBjD,UAAW+jC,GAC9B,CAAC9gC,EAAAA,GAAkBi8B,OAAQ6E,GAG3B,CAAC1I,EAAAA,GAA0BzjC,MA9IA4sC,CAAC5mE,EAAOO,EAAQC,IACpC0kE,EAAYjlE,EAAOD,EAAO,CAC/BqpC,cAAe,CAAElpC,KAAMK,EAAK6oC,gBAAiB,GAC7C47B,iBAAkB,CAAE9kE,KAAM,SACxBI,GA2IJ,CAACk9D,EAAAA,GAA0BtmC,kBAAmBC,EAC9C,CAACqmC,EAAAA,GAA0BkJ,eAAgBhB,EAE3C,CAAC7tB,EAAAA,GAAiB1V,UAAW+jC,GAC7B,CAACruB,EAAAA,GAAiBwpB,OAAQ6E,GAE1B,CAACluD,EAAAA,GAAgBosB,QAASX,GAC1B,CAACzrB,EAAAA,GAAgBouD,OAAQJ,EACzB,CAAChuD,EAAAA,GAAgB+hB,MAAOgsC,EACxB,CAAC/tD,EAAAA,GAAgBP,uBAAwBiuD,EAEzC,CAACrtB,EAAAA,GAAiBlW,UAAW+jC,GAC7B,CAAC7tB,EAAAA,GAAiBgpB,OAAQ6E,GAE1B,CAAChuD,EAAAA,GAAe6hB,MA1Gah6B,GACtBC,EAAOD,EAAO,CACnBqpC,cAAe,CAAElpC,MAAM,GACvB8kE,iBAAkB,CAAE9kE,KAAM,QAyG5B,CAACiY,EAAAA,GAAoB4hB,MAtGGh6B,GACjBC,EAAOD,EAAO,CACnBqpC,cAAe,CAAElpC,MAAM,GACvB8kE,iBAAkB,CAAE9kE,KAAM,QAqG5B,CAACkY,EAAAA,GAAoBgsB,QAASX,GAC9B,CAACrrB,EAAAA,GAAoB+pB,UAAW+jC,GAChC,CAAC9tD,EAAAA,GAAoB2hB,MAjJGh6B,GACjBC,EAAOD,EAAO,CACnBilE,iBAAkB,CAAE9kE,KAAM,QAgJ5B,CAACkY,EAAAA,GAAoBguD,OAAQJ,EAC7B,CAAC5tD,EAAAA,GAAoBipD,OAAQ6E,GAC7B,CAAC9tD,EAAAA,GAAoBX,uBAAwBiuD,EAE7C,CAACrtD,EAAAA,GAAkB0hB,MA5IGh6B,GACfC,EAAOD,EAAO,CACnBilE,iBAAkB,CAAE9kE,KAAM,QA2I5B,CAACmY,EAAAA,GAAkBuuD,mBAAoBhB,EACvC,CAACvtD,EAAAA,GAAkB+tD,OAAQJ,EAC3B,CAAC3tD,EAAAA,GAAkBZ,uBAAwBiuD,EAE3C,CAAC9vC,EAAAA,GAAmBuM,UAAW+jC,GAC/B,CAACtwC,EAAAA,GAAmBsM,cAAe2jC,EACnC,CAACjwC,EAAAA,GAAmBilC,cAAeiL,EACnC,CAAClwC,EAAAA,GAAmBikC,cAAeiM,EACnC,CAAClwC,EAAAA,GAAmByrC,OAAQ6E,GAE5B,CAACrwC,EAAAA,GAAgBkE,MAlJE8sC,CAAC9mE,EAAOO,EAAQC,IAC5BP,EAAOD,EAAO,CACnBqpC,cAAe,CAAElpC,KAAMK,EAAK6oC,gBAAiB,GAC7C47B,iBAAkB,CAAE9kE,KAAM,SAgJ5B,CAAC21B,EAAAA,GAAgBuwC,OAAQJ,EACzB,CAACnwC,EAAAA,GAAgBpe,uBAAwBiuD,EAEzC,CAAC9/B,EAAAA,GAAiBzD,UAAW+jC,GAC7B,CAACtgC,EAAAA,GAAiB1D,cAAe2jC,EACjC,CAACjgC,EAAAA,GAAiBorB,eAAgB8U,EAClC,CAAClgC,EAAAA,GAAiB8qB,sBAAuBoV,EACzC,CAAClgC,EAAAA,GAAiBi1B,cAAeiL,EACjC,CAAClgC,EAAAA,GAAiBi0B,cAAeiM,EACjC,CAAClgC,EAAAA,GAAiBy7B,OAAQ6E,GAE1B,CAAC7uD,EAAAA,GAAqB8qB,UAAW+jC,GACjC,CAAC7uD,EAAAA,GAAqB0hC,eAAgB4sB,EACtC,CAACtuD,EAAAA,GAAqByvD,kBAAmBnB,EACzC,CAACtuD,EAAAA,GAAqBgqD,OAAQ6E,GAE9B,CAAC5wD,EAAAA,EAAcP,qBA/SOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAItiC,EAAMokE,qBAAuB,GAAKpkE,EAAMokE,qBAAuB,IAC1DpkE,EAEFC,EAAOD,EAAO,CACnBkkE,gBAAiB,CAAE/jE,KAAM,IACzBikE,qBAAsB,CAAEjkE,KAAM,GAC9BgkE,aAAc,CAAEhkE,KAAM,MAI1B,MAAQib,WAAYC,GAAcinB,EAChCrwB,EAAQ8D,IAAMsF,EAAY0qB,GAGG,OAFH9iC,IAAK8iC,EAAG,mBAAoB,OAKxD,IAAK9zB,EACH,OAAOjS,EAET,MACE,QAAEiW,EAAS+wD,iBAAkBC,EAAK,GAAIC,cAAeC,EAAU,GAAIC,uBAAwBC,EAAkB,GAAMp1D,EAE/GiyD,EAA6C,IAA3B+C,EAAGpiE,QAAQ,YAAoBoiE,EAAG5iE,UAAU,GAAK4iE,EAEnE9C,EAAegD,EACnB/C,EAAuBiD,EAEzB,OACSpnE,EAAOD,EADA,mBAAZiW,EACmB,CACnBiuD,gBAAiB,CAAE/jE,KAAM+jE,GAAmBhtD,EAAAA,GAAa+qD,YACzDkC,aAAc,CAAEhkE,KAAMgkE,GAAgBjC,EAAAA,GAAUD,YAChDmC,qBAAsB,CAAEjkE,KAAMikE,GAAwB,MACtDa,iBAAkB,CAAE9kE,KAAM,KAGd,kBAAZ8V,EACmB,CACnBiuD,gBAAiB,CAAE/jE,KAAM+jE,GAAmB7sD,EAAAA,GAAY4qD,YACxDkC,aAAc,CAAEhkE,KAAMgkE,GAAgB1C,EAAAA,GAASQ,YAC/CmC,qBAAsB,CAAEjkE,KAAMikE,GAAwB,KACtDa,iBAAkB,CAAE9kE,KAAM,KAGd,eAAZ8V,EACmB,CACnBiuD,gBAAiB,CAAE/jE,KAAM+jE,GAAmBpsB,EAAAA,GAAiB/f,OAC7DosC,aAAc,CAAEhkE,KAAMgkE,GAAgB3B,EAAAA,GAAczqC,OACpDqsC,qBAAsB,CAAEjkE,KAAMikE,GAAwB,MACtDa,iBAAkB,CAAE9kE,KAAM,QAGd,iBAAZ8V,EACmB,CACnBiuD,gBAAiB,CAAE/jE,KAAM+jE,GAAmB5rB,EAAAA,GAAiB/a,WAC7D4mC,aAAc,CAAEhkE,KAAMgkE,GAAgBzB,EAAAA,GAAcnlC,WACpD6mC,qBAAsB,CAAEjkE,KAAMikE,GAAwB,MACtDa,iBAAkB,CAAE9kE,KAAM,QAGd,4BAAZ8V,EACmB,CACnBiuD,gBAAiB,CAAE/jE,KAAM+jE,GAAmB1/B,EAAAA,GAAiBzM,OAC7DosC,aAAc,CAAEhkE,KAAMgkE,GAAgB/B,EAAAA,GAAcrqC,OACpDqsC,qBAAsB,CAAEjkE,KAAMikE,GAAwB,MACtDa,iBAAkB,CAAE9kE,KAAM,OAGd,6BAAZ8V,EACmB,CACnBiuD,gBAAiB,CAAE/jE,KAAM+jE,GAAmB7+B,EAAAA,GAAkBtN,OAC9DosC,aAAc,CAAEhkE,KAAMgkE,GAAgB5B,EAAAA,GAAexqC,OACrDqsC,qBAAsB,CAAEjkE,KAAMikE,GAAwB,MACtDa,iBAAkB,CAAE9kE,KAAM,SAGd,uBAAZ8V,EACmB,CACnBiuD,gBAAiB,CAAE/jE,KAAM+jE,GAAmBr+B,EAAAA,GAAiB9N,OAC7DosC,aAAc,CAAEhkE,KAAMgkE,GAAgBlB,EAAAA,GAAclrC,OACpDqsC,qBAAsB,CAAEjkE,KAAMikE,GAAwB,MACtDa,iBAAkB,CAAE9kE,KAAM,QAGd,mBAAZ8V,EACmB,CACnBiuD,gBAAiB,CAAE/jE,KAAM+jE,GAAmBruC,EAAAA,GAAmBkC,OAC/DosC,aAAc,CAAEhkE,KAAMgkE,GAAgBpB,EAAAA,GAAgBhrC,OACtDqsC,qBAAsB,CAAEjkE,KAAMikE,GAAwB,MACtDa,iBAAkB,CAAE9kE,KAAM,OAGT,CACnB+jE,gBAAiB,CAAE/jE,KAAM,IACzBgkE,aAAc,CAAEhkE,KAAM,IACtBikE,qBAAsB,CAAEjkE,KAAM,GAC9B8kE,iBAAkB,CAAE9kE,KAAM,OAwM5B,CAACk3B,EAAAA,EAAgBv0B,YA7GF9C,GACRC,EAAOD,EAAO,CACnB0lE,gBAAiB,CAAEvlE,KAAM,MA6G3B,CAACq4C,EAAAA,GAAYxe,MAhLiBh6B,GACvBC,EAAOD,EAAO,CACnBilE,iBAAkB,CAAE9kE,KAAM,UAiLjB,SAAS,GAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrCoW,EAAc1T,IAAK1C,EAAQ,sBAAuB,CAAC,GACnD2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,EAAMmW,GAAeuuD,EAAYllE,EAAOO,EAC5E,C,oOCxrCO,MAAM41B,EAAa,4BAGxBC,EAAwB,CACtBuxB,YAAa,GACb9/B,aAAc,GACds3C,SAAU,GACVx3C,iBAAkB,GAClBo2C,YAAa,KACbC,WAAY,KACZG,oBAAqB,KACrBC,YAAa,KACbkJ,WAAY,KACZC,sBAAuB,KACvBtJ,kBAAmB,KACnBC,YAAa,KACbI,kBAAmB,KACnBC,4BAA6B,KAC7BG,YAAa,KACbL,WAAY,KACZM,gCAAiC,KACjCb,2BAA4B,KAC5BU,cAAe,KACfI,eAAgB,KAChB4I,mCAAoC,KACpC/I,sBAAuB,KACvBgJ,YAAY,EACZC,cAAe,KACfC,iBAAkB,KAClBC,2BAA4B,KAE5B1uC,UAAW,GACX90B,MAAO,GACPF,MAAO,GACPwzB,OAAQ,GACRzzB,WAAY,GACZF,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,EACbmnE,QAAQ,GAEV1kE,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAEToxC,EAAqBA,CAAC9nE,EAAOO,EAAQC,KACnC,MAAM,YAAEmnD,GAAgBnnD,EAExB,OAAOP,EAAOD,EAAO,CACnB2nD,YAAa,CAAExnD,KAAMwnD,MAGzBogB,EAA0BA,CAAC/nE,EAAOO,EAAQC,KACxC,MAAM,iBAAEmnB,EAAgB,aAAEE,GAAiBrnB,EAC3C,OAAOP,EAAOD,EAAO,CACnB2nB,iBAAkB,CAAExnB,KAAMwnB,GAC1BE,aAAc,CAAE1nB,KAAM0nB,MAqB1BmgD,EAAoBA,CAAChoE,EAAOO,EAAQC,KAClC,MAAM,WAAEw9D,GAAex9D,EACvB,OAAOP,EAAOD,EAAO,CACnBg+D,WAAY,CAAE79D,KAAM69D,MAgBxBiK,EAA+BA,CAACjoE,EAAOO,EAAQC,KAC7C,MAAM,sBAAE+mE,GAA0B/mE,EAClC,OAAOP,EAAOD,EAAO,CACnBunE,sBAAuB,CAAEpnE,KAAMonE,MAGnCW,EAA2BA,CAACloE,EAAOO,EAAQC,KACzC,MAAM,kBAAEy9D,GAAsBz9D,EAC9B,OAAOP,EAAOD,EAAO,CACnBi+D,kBAAmB,CAAE99D,KAAM89D,MA2C/BkK,EAAqBA,CAACnoE,EAAOO,EAAQC,KACnC,MAAM,YAAEk+D,GAAgBl+D,EACxB,OAAOP,EAAOD,EAAO,CACnB0+D,YAAa,CAAEv+D,KAAMu+D,MAmLzB7nC,EAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAa/Cv2B,EAAa,CACX,CAACC,EAAAA,GAAQujE,oBAAqB0E,EAC9B,CAACjoE,EAAAA,GAAQsoE,gBAAiBL,EAC1B,CAACjoE,EAAAA,GAAQwjE,cArRU+E,CAACroE,EAAOO,EAAQC,KACnC,MAAM,YAAEu9D,GAAgBv9D,EACxB,OAAOP,EAAOD,EAAO,CACnB+9D,YAAa,CAAE59D,KAAM49D,MAmRvB,CAACj+D,EAAAA,GAAQwoE,aAAcN,EACvB,CAACloE,EAAAA,GAAQyoE,sBA3QkBC,CAACxoE,EAAOO,EAAQC,KAC3C,MAAM,oBAAE29D,GAAwB39D,EAChC,OAAOP,EAAOD,EAAO,CACnBm+D,oBAAqB,CAAEh+D,KAAMg+D,MAyQ/B,CAACr+D,EAAAA,GAAQ2oE,cAtQUC,CAAC1oE,EAAOO,EAAQC,KACnC,MAAM,YAAE49D,EAAW,WAAEkJ,GAAe9mE,EACpC,OAAOP,EAAOD,EAAO,CACnBo+D,YAAa,CAAEj+D,KAAMi+D,GACrBkJ,WAAY,CAAEnnE,KAAMmnE,MAmQtB,CAACxnE,EAAAA,GAAQyjE,cApPUoF,CAAC3oE,EAAOO,EAAQC,KACnC,MAAM,YAAE09D,GAAgB19D,EACxB,OAAOP,EAAOD,EAAO,CACnBk+D,YAAa,CAAE/9D,KAAM+9D,MAkPvB,CAACp+D,EAAAA,GAAQ0jE,aA/OSoF,CAAC5oE,EAAOO,EAAQC,KAClC,MAAM,WAAE69D,GAAe79D,EACvB,OAAOP,EAAOD,EAAO,CACnBq+D,WAAY,CAAEl+D,KAAMk+D,MA6OtB,CAACv+D,EAAAA,GAAQ4jE,gBA1OYmF,CAAC7oE,EAAOO,EAAQC,KACrC,MAAM,cAAEg+D,GAAkBh+D,EAC1B,OAAOP,EAAOD,EAAO,CACnBw+D,cAAe,CAAEr+D,KAAMq+D,MAwOzB,CAAC1+D,EAAAA,GAAQ2jE,4BA/NsBqF,CAAC9oE,EAAOO,EAAQC,KAC/C,MAAM,kBAAE89D,EAAiB,iBAAEqJ,EAAgB,4BAAEpJ,EAA2B,2BAAEqJ,GAA+BpnE,EACzG,OAAOP,EAAOD,EAAO,CACnBs+D,kBAAmB,CAAEn+D,KAAMm+D,GAC3BqJ,iBAAkB,CAAExnE,KAAMwnE,GAC1BpJ,4BAA6B,CAAEp+D,KAAMo+D,GACrCqJ,2BAA4B,CAAEznE,KAAMynE,MA0NtC,CAAC9nE,EAAAA,GAAQipE,iBAvNaC,CAAChpE,EAAOO,EAAQC,KACtC,MAAM,eAAEo+D,EAAc,cAAE8I,GAAkBlnE,EAC1C,OAAOP,EAAOD,EAAO,CACnB4+D,eAAgB,CAAEz+D,KAAMy+D,GACxB8I,cAAe,CAAEvnE,KAAMunE,MAoNzB,CAAC5nE,EAAAA,GAAQmpE,0CAvOiCC,CAAClpE,EAAOO,EAAQC,KAC1D,MAAM,mCAAEgnE,GAAuChnE,EAC/C,OAAOP,EAAOD,EAAO,CACnBwnE,mCAAoC,CAAErnE,KAAMqnE,MAqO9C,CAAC1nE,EAAAA,GAAQgjC,oBArSiBqmC,CAACnpE,EAAOO,EAAQC,KAC1C,MAAM,2BAAEs9D,GAA+Bt9D,EACvC,OAAOP,EAAOD,EAAO,CACnB89D,2BAA4B,CAAE39D,KAAM29D,MAmStC,CAACh+D,EAAAA,GAAQspE,kCA5SsBC,CAACrpE,EAAOO,EAAQC,KAC/C,MAAM,gCAAEm+D,GAAoCn+D,EAC5C,OAAOP,EAAOD,EAAO,CACnB2+D,gCAAiC,CAAEx+D,KAAMw+D,MA0S3C,CAAC7+D,EAAAA,GAAQ+3B,SAvMMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,UACJ04B,EAAS,MACT90B,EAAK,MACLF,EAAK,OACLwzB,EAAM,WACNzzB,EAAU,SACVF,EAAQ,QACRC,EAAO,IACP2zB,EAAG,gCACHgnC,GAAkC,EAAK,2BACvCb,GAA6B,EAAK,YAClCC,GAAc,EAAK,oBACnBI,GAAsB,EAAK,YAC3BC,GAAc,EAAK,WACnBkJ,GAAa,EAAK,WAClBtJ,GAAa,EAAK,YAClBE,GAAc,EAAI,WAClBG,GAAa,EAAK,cAClBG,GAAgB,EAAK,kBACrBP,GAAoB,EAAK,sBACzBsJ,GAAwB,EAAK,mCAC7BC,GAAqC,EAAK,kBAC1ClJ,GAAoB,EAAK,4BACzBC,GAA8B,EAAK,iBACnCoJ,GAAmB,EAAK,2BACxBC,GAA6B,EAAK,eAClChJ,GAAiB,EAAK,cACtB8I,GAAgB,EAAK,YACrBhJ,GAAc,EAAK,sBACnBD,GAAwB,EAAK,YAC7B9W,EAAc,IACZnnD,EACJ,OAAOP,EAAOD,EAAO,CACnB2nD,YAAa,CAAExnD,KAAMwnD,GACrBgX,gCAAiC,CAAEx+D,KAAMw+D,GACzCb,2BAA4B,CAAE39D,KAAM29D,GACpCC,YAAa,CAAE59D,KAAM49D,GACrBI,oBAAqB,CAAEh+D,KAAMg+D,GAC7BC,YAAa,CAAEj+D,KAAMi+D,GACrBkJ,WAAY,CAAEnnE,KAAMmnE,GACpBtJ,WAAY,CAAE79D,KAAM69D,GACpBuJ,sBAAuB,CAAEpnE,KAAMonE,GAC/BtJ,kBAAmB,CAAE99D,KAAM89D,GAC3BC,YAAa,CAAE/9D,KAAM+9D,GACrBG,WAAY,CAAEl+D,KAAMk+D,GACpBG,cAAe,CAAEr+D,KAAMq+D,GACvBgJ,mCAAoC,CAAErnE,KAAMqnE,GAC5C5I,eAAgB,CAAEz+D,KAAMy+D,GACxBF,YAAa,CAAEv+D,KAAMu+D,GACrBD,sBAAuB,CAAEt+D,KAAMs+D,GAC/BiJ,cAAe,CAAEvnE,KAAMunE,GACvBpJ,kBAAmB,CAAEn+D,KAAMm+D,GAC3BqJ,iBAAkB,CAAExnE,KAAMwnE,GAC1BpJ,4BAA6B,CAAEp+D,KAAMo+D,GACrCqJ,2BAA4B,CAAEznE,KAAMynE,GACpC1uC,UAAW,CAAE/4B,KAAM+4B,GACnB90B,MAAO,CAAEjE,KAAMiE,GACfF,MAAO,CAAE/D,KAAM+D,GACfwzB,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBF,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,MAyIf,CAAC73B,EAAAA,GAAQ82B,OAAQC,EACjB,CAAC/2B,EAAAA,GAAQi4B,OAAQlB,EACjB,CAACQ,EAAAA,EAAgBzzB,6BAxICo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,OA+Hf,CAACk3B,EAAAA,EAAgBC,8BAzBuBC,CAACv3B,EAAOO,EAAQC,IACjDP,EAAOD,EAAO,CACnBynE,WAAY,CAAEtnE,MAAOK,EAAKg3B,6BAyB5B,CAACtgB,EAAAA,GAAayqD,cAAemG,EAC7B,CAAC5wD,EAAAA,GAAa0qD,yBAA0BqG,EACxC,CAAC/wD,EAAAA,GAAa2qD,qBAAsBqG,EACpC,CAAChxD,EAAAA,GAAaoyD,2BAA4BtB,EAC1C,CAAC9wD,EAAAA,GAAaqyD,cAAepB,EAE7B,CAAC9wD,EAAAA,GAAYsqD,cAAemG,EAC5B,CAACzwD,EAAAA,GAAYuqD,yBAA0BqG,EACvC,CAAC5wD,EAAAA,GAAYwqD,qBAAsBqG,EACnC,CAAC7wD,EAAAA,GAAYiyD,2BAA4BtB,EACzC,CAAC3wD,EAAAA,GAAYkyD,cAAepB,EAE5B,CAACroE,EAAAA,GAAQ0pE,sBAjOYC,CAACzpE,EAAOO,EAAQC,KACrC,MAAM,sBAAEi+D,GAA0Bj+D,EAClC,OAAOP,EAAOD,EAAO,CACnBy+D,sBAAuB,CAAEt+D,KAAMs+D,MAgOjC,CAAClmD,EAAAA,GAAqBqe,OAAQC,EAC9B,CAACte,EAAAA,GAAqByhB,MAAOnD,EAE7B,CAACte,EAAAA,GAAqBb,uBAlDK47B,CAACtzC,EAAOO,IAC/BA,EAAOE,MACFT,EAEF62B,IAgDP,CAACthB,EAAAA,EAAcP,qBAjJOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAGT,IAAIiS,EAAQ,KACRitD,EAAgB,KAEpB,MAAM,OAAEhqD,GAAW1U,EAiBnB,IAhBoBuV,IAAMb,EAAS6wB,IAC/B,GAAuB,eAAnBA,EAAElwB,aAA+B,CACnC,MAAQuF,WAAYC,EAAW4jD,eAAgByK,GAAsB3jC,EAC/D4jC,EAAY5zD,IAAMsF,EAAYuuD,IAClC,MAAM3zD,EAAUhT,IAAK2mE,EAAI,UAAW,IACpC,MAAmB,kBAAZ3zD,GAA2C,mBAAZA,IAExC,GAAI0zD,EAGF,OAFA13D,EAAQ03D,EACRzK,EAAgBwK,GACT,CAEX,CACA,OAAO,MAGcz3D,EACvB,OAAOjS,EAGT,MAEI6pE,oCAAqClL,EAAkC,KACvEmL,+BAAgChM,EAA6B,KAC7DiM,aAAchM,EAAc,KAC5BiM,sBAAuB7L,EAAsB,KAC7C8L,aAAc7L,EAAc,KAC5B8L,YAAa5C,EAAa,KAC1B6C,wBAAyB5C,EAAwB,KACjD6C,oBAAqBnM,EAAoB,KACzCoM,aAAc1iB,EAAc,GAC5B2iB,iCAAkC9C,EAAqC,KACvE+C,aAAcrM,EAAc,KAC5BsM,YAAanM,EAAa,KAC1BoM,YAAazM,EAAa,KAC1B0M,oBAAqBpM,EAAoB,KACzCqM,mBAAoBhD,EAAmB,KACvCiD,gCAAiCrM,EAA8B,KAC/DsM,+BAAgCjD,EAA6B,KAC7DkD,aAAcpM,EAAc,KAC5BqM,wBAAyBtM,EAAwB,KACjDuM,gBAAiBpM,EAAiB,KAClCqM,eAAgBvD,EAAgB,KAChC9/C,cAAeC,EAAe,GAC9BH,mBAAoBC,EAAmB,GACvCujD,eAAgB1M,EAAgB,MAC9BvsD,GAEFmtD,UAAWD,EAAW,IACpBD,EAEN,OAAOj/D,EAAOD,EAAO,CACnB2+D,gCAAiC,CAAEx+D,KAAMw+D,GACzCb,2BAA4B,CAAE39D,KAAM29D,GACpCC,YAAa,CAAE59D,KAAM49D,GACrBI,oBAAqB,CAAEh+D,KAAMg+D,GAC7BC,YAAa,CAAEj+D,KAAMi+D,GACrBkJ,WAAY,CAAEnnE,KAAMmnE,GACpBC,sBAAuB,CAAEpnE,KAAMonE,GAC/BtJ,kBAAmB,CAAE99D,KAAM89D,GAC3BuJ,mCAAoC,CAAErnE,KAAMqnE,GAC5C5I,eAAgB,CAAEz+D,KAAMy+D,GACxBjX,YAAa,CAAExnD,KAAMwnD,GACrBuW,YAAa,CAAE/9D,KAAM+9D,GACrBG,WAAY,CAAEl+D,KAAMk+D,GACpBL,WAAY,CAAE79D,KAAM69D,GACpBU,YAAa,CAAEv+D,KAAMu+D,GACrBD,sBAAuB,CAAEt+D,KAAMs+D,GAC/BH,kBAAmB,CAAEn+D,KAAMm+D,GAC3BqJ,iBAAkB,CAAExnE,KAAMwnE,GAC1BpJ,4BAA6B,CAAEp+D,KAAMo+D,GACrCqJ,2BAA4B,CAAEznE,KAAMynE,GACpCF,cAAe,CAAEvnE,KAAMunE,GACvB7/C,aAAc,CAAE1nB,KAAM0nB,GACtBs3C,SAAU,CAAEh/D,KAAMg/D,GAClBx3C,iBAAkB,CAAExnB,KAAMwnB,GAC1B62C,cAAe,CAAEr+D,KAAMq+D,GACvBqJ,OAAQ,CAAE1nE,OAAOgrE,EAAAA,EAAAA,WA8DR,SAAS,EAACnrE,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,ifCzXO,MAAMm2B,EAAa,wBAIpBi1C,EAAmB,CACvB,CAAC,eAAoB,OAAO,EAAO,UACnC,CAAC,WAAoB,OAAO,EAAO,UACnC,CAAC,eAAoB,OAAO,EAAO,UACnC,CAAC,eAAoB,OAAO,EAAO,YACnC,CAAC,WAAoB,OAAO,EAAO,YACnC,CAAC,eAAoB,OAAO,EAAO,YACnC,CAAC,oBAAqB,OAAO,EAAO,UACpC,CAAC,oBAAqB,OAAO,EAAO,WAGhCC,EAAmB74D,IACvB,MAAMo/B,EAAQ77B,IAAMq1D,EAAkB,EAAEE,EAAUC,EAAUC,KACnDz1D,IAAMvD,EAAQD,IACnB,MAAM0D,EAAUhT,IAAKsP,EAAM,UAAW,IACtC,OAAsC,IAA/B0D,EAAQpR,QAAQymE,KAAoD,IAA/Br1D,EAAQpR,QAAQ0mE,KAAsBC,KAGtF,OAAO55B,EAAQA,EAAM,GAAK,IAI1Bxb,EAAwB,CACtBvjB,eAAgB,KAChB44D,qBAAqB,EACrBC,0BAA0B,EAC1Bl8D,UAAW,KACXm8D,gBAAgB,EAChBC,qBAAqB,EACrBC,uBAAwB,KACxBC,sBAAsB,EACtBC,wBAAwB,EACxB/4D,oBAAqB,KACrBvD,QAAS,KACTu8D,cAAc,EACdC,mBAAmB,EACnBh5D,kBAAmB,KACnBi5D,wBAAwB,EACxBC,6BAA6B,EAC7BtpC,oBAAoB,EACpB3vB,WAAY,KACZk5D,iBAAiB,EACjBC,sBAAsB,EACtB74D,WAAY,KACZ84D,iBAAiB,EACjBC,sBAAsB,EACtBl5D,cAAe,KACfm5D,oBAAoB,EACpBC,yBAAyB,EACzBl5D,cAAe,KACfm5D,oBAAoB,EACpBC,yBAAyB,EACzBh5D,WAAY,KACZi5D,iBAAiB,EACjBC,sBAAsB,EACtBj5D,kBAAmB,KACnBk5D,wBAAwB,EACxBC,6BAA6B,EAC7B/a,eAAgB,GAChB9lD,IAAK,KACL8gE,UAAU,EACVC,eAAe,EACfz3C,uBAAwB,GACxB/kB,SAAU,KACVy8D,eAAe,EACfC,oBAAoB,EACpBjjC,0BAA0B,EAC1Bn2B,oBAAqB,KACrBq5D,0BAA0B,EAC1BC,+BAA+B,EAC/Bz8D,UAAW,KACX08D,gBAAgB,EAChBC,qBAAqB,EACrBt5D,SAAS,EACTC,gBAAiB,KACjBC,cAAe,KACfq5D,oBAAoB,EACpBC,yBAAyB,EACzBp5D,mBAAoB,KACpBq5D,yBAAyB,EACzBC,8BAA8B,EAC9B/6D,UAAW,GACXg7D,gBAAiB,GACjBl5C,QAAS,KACTm5C,cAAc,EACdC,mBAAmB,EACnBv5D,cAAe,KACfk2B,WAAY,KACZ1e,gBAAiB,KACjBC,kBAAmB,KACnBvX,cAAe,KACfs5D,oBAAoB,EACpBC,yBAAyB,EACzBt5D,eAAgB,KAChBu5D,qBAAqB,EACrBC,0BAA0B,EAC1Bt5D,UAAW,KACXu5D,gBAAgB,EAChBC,qBAAqB,EACrB1tE,YAAa,EACbk0B,uBAAwB,KACxBgqC,eAAgB,KAChB8I,cAAe,KACfh+B,IAAK,KACL2kC,YAAa,KACbC,aAAc,KACdC,sBAAuB,KACvBC,mBAAoB,KACpBC,iBAAkB,KAGlBC,sBAAuB,KACvBC,mBAAoB,KACpBC,yBAA0B,MAE5BzrE,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAqCTm4C,EAAoBA,CAAC7uE,EAAOO,EAAQC,KAClC,MAAM,WAAE0S,GAAe1S,EACvB,OAAOP,EAAOD,EAAO,CACnBkT,WAAY,CAAE/S,KAAM+S,MAexB47D,EAA2BA,CAAC9uE,EAAOO,EAAQC,KACzC,MAAM,kBAAEoT,GAAsBpT,EAC9B,OAAOP,EAAOD,EAAO,CACnB4T,kBAAmB,CAAEzT,KAAMyT,MAG/BiqB,EAAaA,CAAC79B,EAAOO,EAAQC,KAC3B,MAAM,IAAE0L,GAAQ1L,EAChB,OAAOP,EAAOD,EAAO,CACnBkM,IAAK,CAAE/L,KAAM+L,MAGjB6iE,EAAkBA,CAAC/uE,EAAOO,EAAQC,KAChC,MAAM,SAAEiQ,EAAQ,uBAAE+kB,GAA2Bh1B,EAC7C,OAAOP,EAAOD,EAAO,CACnByQ,SAAU,CAAEtQ,KAAMsQ,GAClB+kB,uBAAwB,CAAEr1B,KAAMq1B,MAqCpCw5C,EAAgCA,CAAChvE,EAAOO,EAAQC,KAC9C,MAAM,uBAAEg1B,GAA2Bh1B,EACnC,OAAOP,EAAOD,EAAO,CACnBw1B,uBAAwB,CAAEr1B,KAAMq1B,MAGpCy5C,EAAwBA,CAACjvE,EAAOO,EAAQC,KACtC,MACE,UAAEoS,EAAS,kBAAEK,EAAiB,QAAExD,EAAO,WAAEyD,EAAU,cAAEK,EAAa,WAAEI,EAAU,kBAAEC,EAAiB,eAAEo+C,EAAc,YAAEhoD,GAAgBxJ,GACnI,IAAE0L,EAAG,uBAAEspB,EAAsB,SAAE/kB,EAAQ,cAAE0D,EAAa,mBAAEE,EAAkB,QAAEqgB,GAAYl0B,GACxF,uBAAEo0B,EAAsB,cAAEngB,EAAa,UAAEG,GAAcpU,EACzD,OAAOP,EAAOD,EAAO,CACnB4S,UAAW,CAAEzS,KAAMyS,GACnBg7D,gBAAiB,CAAEztE,KAAMyS,GACzBnD,QAAS,CAAEtP,KAAMsP,GACjBwD,kBAAmB,CAAE9S,KAAM8S,GAC3BC,WAAY,CAAE/S,KAAM+S,GACpBK,cAAe,CAAEpT,KAAMoT,GACvBI,WAAY,CAAExT,KAAMwT,GACpBC,kBAAmB,CAAEzT,KAAMyT,GAC3B5J,YAAa,CAAE7J,KAAM6J,GACrBkC,IAAK,CAAE/L,KAAM+L,GACb8lD,eAAgB,CAAE7xD,KAAM6xD,GACxBx8B,uBAAwB,CAAEr1B,KAAMq1B,GAChC/kB,SAAU,CAAEtQ,KAAMsQ,GAClB0D,cAAe,CAAEhU,KAAMgU,GACvBE,mBAAoB,CAAElU,KAAMkU,GAC5BqgB,QAAS,CAAEv0B,KAAMu0B,GACjBE,uBAAwB,CAAEz0B,KAAMy0B,GAChCngB,cAAe,CAAEtU,KAAMsU,GACvBG,UAAW,CAAEzU,KAAMyU,MASvBs6D,GAAuBA,CAAClvE,EAAOO,EAAQC,KACrC,MAAM,cAAEiU,GAAkBjU,EAC1B,OAAOP,EAAOD,EAAO,CACnByU,cAAe,CAAEtU,KAAMsU,MA4B3Bw/B,GAAsBA,CAACj0C,EAAOO,EAAQC,KACpC,MAAMk2B,EAAWzwB,IAAQ,CAAC,EAAGjG,EAAOQ,GAQpC,OAPIk2B,EAASoT,iBACJpT,EAASoT,SAEdpT,EAAS9f,iBACJ8f,EAAS9f,SAElB4f,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAkTTU,GAAkBA,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IA+B/Cv2B,GAAa,CACX,CAACC,EAAAA,GAAQ82B,OALIC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAI7C,CAACt2B,EAAAA,GAAQk6B,MA/BIoD,CAACp9B,EAAOO,EAAQC,KAC7B,MAAMk2B,EAAWzwB,IAAQ,CAAC,EAAGjG,EAAOQ,EAAK2uE,cAEzC,OADA34C,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA6BP,CAAC52B,EAAAA,GAAQsvE,WAxfiBjG,CAACnpE,EAAOO,EAAQC,KAC1C,MAAM,mBAAEqiC,GAAuBriC,EAC/B,OAAOP,EAAOD,EAAO,CACnB6iC,mBAAoB,CAAE1iC,KAAM0iC,MAsf9B,CAAC/iC,EAAAA,GAAQ22C,UAtUWsd,CAAC/zD,EAAOO,EAAQC,KACpC,MAAM,qBAAEyI,EAAoB,KAAE3H,EAAOtB,EAAMsB,MAASd,EAEpD,MAA6B,OAAzByI,GAA0C,SAAT3H,EAC5BtB,EAEFC,EAAOD,EAAO,CACnBmU,cAAe,CAAEhU,KAAM,SAgUzB,CAACL,EAAAA,GAAQ2zC,UAjhBWb,CAAC5yC,EAAOO,EAAQC,KACpC,MAAM,KAAEc,GAASd,GACbc,KAAMuxC,GAAa7yC,EAEvB,OAAIsB,IAASuxC,EACJ5yC,EAAOD,EAAO,CACnBmU,cAAe,CAAEhU,KAAe,SAATmB,EAAkBtB,EAAMmU,cAAgB,MAC/DE,mBAAoB,CAAElU,KAAM,QAGnB,SAATmB,EACKrB,EAAOD,EAAO,CACnBmU,cAAe,CAAEhU,KAAM,QAGpBH,GAmgBP,CAACF,EAAAA,GAAQi0C,SAvVmB/B,CAAChyC,EAAOO,EAAQC,KAC5C,MAAM,SAAE+pC,EAAW,MAAS/pC,EAE5B,GAAI+pC,EAAU,CACZ,MAAM7T,EAAWzwB,IAAQ,CAAC,EAAGjG,EAAOuqC,GAEpC,OADA/T,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,CACT,CACA,OAAI12B,EAAMmU,eAA+C,OAA9B3T,EAAKyI,qBACvBhJ,EAAOD,EAAO,CACnBmU,cAAe,CAAEhU,MAAM,KAGpBH,GA2UP,CAACF,EAAAA,GAAQinC,iBAAkBkoC,EAC3B,CAACnvE,EAAAA,GAAQ8/D,YAngBMyP,CAACrvE,EAAOO,EAAQC,KAC/B,MAAM,QAAEiP,GAAYjP,EACpB,OAAOP,EAAOD,EAAO,CACnByP,QAAS,CAAEtP,KAAMsP,MAigBnB,CAAC3P,EAAAA,GAAQ+/D,gBAxfgByP,CAACtvE,EAAOO,EAAQC,KACzC,MAAM,kBAAEyS,GAAsBzS,EAC9B,OAAOP,EAAOD,EAAO,CACnBiT,kBAAmB,CAAE9S,KAAM8S,MAsf7B,CAACnT,EAAAA,GAAQyvE,iBA7eYC,CAACxvE,EAAOO,EAAQC,KACrC,MAAM,cAAE+S,GAAkB/S,EAC1B,OAAOP,EAAOD,EAAO,CACnBuT,cAAe,CAAEpT,KAAMoT,MA2ezB,CAACzT,EAAAA,GAAQigE,cAxeSnN,CAAC5yD,EAAOO,EAAQC,KAClC,MAAM,WAAEmT,GAAenT,EACvB,OAAOP,EAAOD,EAAO,CACnB2T,WAAY,CAAExT,KAAMwT,MAsetB,CAAC7T,EAAAA,GAAQkgE,mBAAoB8O,EAC7B,CAAChvE,EAAAA,GAAQmgE,WAAYpiC,EACrB,CAAC/9B,EAAAA,GAAQogE,aAAc2O,EACvB,CAAC/uE,EAAAA,GAAQqgE,WAAY4O,EACrB,CAACjvE,EAAAA,GAAQ2vE,gBAAiBV,EAC1B,CAACjvE,EAAAA,GAAQsgE,aArdIsP,CAAC1vE,EAAOO,EAAQC,KAC7B,MAAM,cAAE2T,GAAkB3T,EAC1B,OAAOP,EAAOD,EAAO,CACnBmU,cAAe,CAAEhU,KAAMgU,MAmdzB,CAACrU,EAAAA,GAAQ6vE,gBAhdMC,CAAC5vE,EAAOO,EAAQC,KAC/B,MAAM,cAAE2T,GAAkB3T,EAC1B,OAAOP,EAAOD,EAAO,CACnBmU,cAAe,CAAEhU,KAAMgU,MA8czB,CAACrU,EAAAA,GAAQugE,gBA3ciBwP,CAAC7vE,EAAOO,EAAQC,KAC1C,MAAM,mBAAE6T,GAAuB7T,EAC/B,OAAOP,EAAOD,EAAO,CACnBqU,mBAAoB,CAAElU,KAAMkU,MAyc9B,CAACvU,EAAAA,GAAQqnC,YAAa8M,GACtB,CAACn0C,EAAAA,GAAQsnC,YAvcM0oC,CAAC9vE,EAAOO,EAAQC,KAC/B,MAAM,QAAEk0B,GAAYl0B,EACpB,OAAOP,EAAOD,EAAO,CACnB00B,QAAS,CAAEv0B,KAAMu0B,MAqcnB,CAAC50B,EAAAA,GAAQygE,eAAgB2O,GACzB,CAACpvE,EAAAA,GAAQ0gE,UA5YQuP,CAAC/vE,EAAOO,EAAQC,KACjC,MAAM,UAAEoU,GAAcpU,EACtB,OAAOP,EAAOD,EAAO,CACnB4U,UAAW,CAAEzU,KAAMyU,MA0YrB,CAAC9U,EAAAA,GAAQkkE,WA1XUgM,CAAChwE,EAAOO,EAAQC,KACnC,MAAM,uBAAEo0B,GAA2Bp0B,EACnC,OAAOP,EAAOD,EAAO,CACnB40B,uBAAwB,CAAEz0B,KAAMy0B,MAwXlC,CAAC90B,EAAAA,GAAQ+3B,SAjVSo4C,CAACjwE,EAAOO,EAAQC,KAClC,MAAM,SAAE+pC,GAAa/pC,GACnB,kBACEyS,EAAiB,WACjBC,EAAU,cACVK,EAAa,WACbI,EAAU,kBACVC,EAAiB,IACjB1H,EAAG,yBACHg+B,EAAwB,cACxB/1B,EAAa,mBACbE,EAAkB,QAClBqgB,EAAO,cACPjgB,EAAa,UACbG,GACE21B,EAEN,OAAOtqC,EAAOD,EAAO,CACnBiT,kBAAmB,CAAE9S,KAAM8S,GAC3BC,WAAY,CAAE/S,KAAM+S,GACpBK,cAAe,CAAEpT,KAAMoT,GACvBI,WAAY,CAAExT,KAAMwT,GACpBC,kBAAmB,CAAEzT,KAAMyT,GAC3B1H,IAAK,CAAE/L,KAAM+L,GACbg+B,yBAA0B,CAAE/pC,KAAM+pC,GAClC/1B,cAAe,CAAEhU,KAAMgU,GACvBE,mBAAoB,CAAElU,KAAMkU,GAC5BqgB,QAAS,CAAEv0B,KAAMu0B,GACjBjgB,cAAe,CAAEtU,KAAMsU,GACvBG,UAAW,CAAEzU,KAAMyU,MAqTrB,CAAC9U,EAAAA,GAAQq3B,kBAAmBC,GAE5B,CAAC3f,EAAAA,GAAuBsgB,OApDDm4C,CAAClwE,EAAOO,EAAQC,KACvC,MAAM,uBAAEqrE,EAAsB,qBAAEC,EAAoB,uBAAEC,GAA2BvrE,EAEjF,OAAOP,EAAOD,EAAO,CACnB6rE,uBAAwB,CAAE1rE,KAAM0rE,GAChCC,qBAAsB,CAAE3rE,KAAM2rE,GAC9BC,uBAAwB,CAAE5rE,KAAM4rE,MAgDlC,CAACp2B,EAAAA,GAA0Bnb,kBA7CJ21C,CAACnwE,EAAOO,IACxBN,EAAOD,EAAO,CACnB4U,UAAW,CAAEzU,KAAMI,EAAOk6B,gBA6C5B,CAAC1iB,EAAAA,GAAoB2qC,MAAOzO,GAC5B,CAACl8B,EAAAA,GAAoBof,kBAAmBC,GAExC,CAACpf,EAAAA,GAAmBuoD,eAAgB2O,GACpC,CAACl3D,EAAAA,GAAmBioD,WAAYpiC,EAChC,CAAC7lB,EAAAA,GAAmBotB,YAjdHxB,CAAC5jC,EAAOO,EAAQC,KACjC,MAAMqjC,EAAY,CAAC,EAOnB,OANAC,OAAOC,QAAQvjC,GAAMmZ,QAASqqB,IAC5B,MAAOjvB,EAAKoB,GAAS6tB,EACjBC,IAAKjkC,EAAO+U,KACd8uB,EAAU9uB,GAAO,CAAE5U,KAAMgW,MAGtBlW,EAAOD,EAAO6jC,IA2crB,CAAC4B,EAAAA,GAAuBsB,iBAAkBkoC,EAC1C,CAACxpC,EAAAA,GAAuBu6B,mBAAoB8O,EAC5C,CAACrpC,EAAAA,GAAuBy6B,aAAc2O,EACtC,CAACl3D,EAAAA,GAAuB46C,eApDFE,CAACzyD,EAAOO,EAAQC,KACtC,MAAM,eAAEwxD,GAAmBxxD,EAC3B,OAAOP,EAAOD,EAAO,CACnBgyD,eAAgB,CAAE7xD,KAAM6xD,MAmD1B,CAAC/5C,EAAAA,GAAgBslB,WApUK6yC,KACtB,MAAM15C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAElqB,KAAK,IAE3D,OADAsqB,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAkUP,CAAC6hB,EAAAA,GAAkBve,MAhUKq2C,KACxB,MAAM35C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAE8T,0BAA0B,IAEhF,OADA1T,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA8TP,CAAC6hB,EAAAA,GAAkB+3B,UAtZEC,CAACvwE,EAAOO,EAAQC,KACrC,MAAM,yBAAE0pC,GAA6B1pC,EACrC,OAAOP,EAAOD,EAAO,CACnBkqC,yBAA0B,CAAE/pC,KAAM+pC,MAqZpC,CAAC7xB,EAAAA,GAAoB2hB,MA9Taw2C,KAClC,MAAM95C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAEliB,iBAAiB,IAEvE,OADAsiB,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA4TP,CAACpe,EAAAA,GAAkB0hB,MA1TKy2C,KACxB,MAAM/5C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAEjiB,eAAe,IAErE,OADAqiB,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAyTP,CAACkP,EAAAA,GAAwBmB,iBAAkBkoC,EAE3C,CAACn5C,EAAAA,GAAgBkE,MApSK02C,KACtB,MAAMh6C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAExhB,WAAW,IAEjE,OADA4hB,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAmSP,CAACkiB,EAAAA,GAAkB5e,MAtaI22C,CAAC3wE,EAAOO,EAAQC,KACvC,MAAM,UAAEoU,EAAS,oBAAE5B,GAAwBxS,EAC3C,OAAOP,EAAOD,EAAO,CACnB4U,UAAW,CAAEzU,KAAMyU,GACnB5B,oBAAqB,CAAE7S,KAAM6S,MAoa/B,CAACwF,EAAAA,GAAwBwhB,MA7TI42C,KAC7B,MAAMl6C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAEqU,YAAY,IAElE,OADAjU,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA4TP,CAACje,EAAAA,GAA8BuhB,MA1TG62C,KAClC,MAAMn6C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAErK,iBAAiB,IAEvE,OADAyK,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAyTP,CAAChe,EAAAA,GAA4BshB,MAvTG82C,KAChC,MAAMp6C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAE7hB,eAAe,IAErE,OADAiiB,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAsTP,CAAC/d,EAAAA,GAAiCqhB,MApTE+2C,KACpC,MAAMr6C,EAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAEpK,mBAAmB,IAEzE,OADAwK,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAmTP,CAACgO,EAAAA,GAAsBo+B,eAlcAkO,CAAChxE,EAAOO,EAAQC,KACvC,MAAM,GAAE6rB,GAAO7rB,EACf,OAAOP,EAAOD,EAAO,CACnB40B,uBAAwB,CAAEz0B,KAAMksB,MAiclC,CAACmY,EAAAA,GAAiBysC,UAAWjC,EAE7B,CAAC12B,EAAAA,GAAiB24B,UAAWjC,EAE7B,CAAC93D,EAAAA,GAAa+5D,UAAWjC,EACzB,CAAC33D,EAAAA,GAAY45D,UAAWjC,EACxB,CAAC13D,EAAAA,GAAqB25D,UAAWjC,EAEjC,CAACz5D,EAAAA,EAAcP,qBArTOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,EAAWjJ,YAAaC,EAAa,IAAOiwB,EAC9DrkB,EAAYlI,IAAMsF,EAAYpJ,IAC5B,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,MAAmB,kBAAZgE,GAA2C,mBAAZA,KAItCqf,yBAA0BE,GAA2BvX,GAAa,CAAEqX,yBAA0B,IAChGziB,EAAiBkD,IAAM1D,EAAaE,GACG,oBAA9BtP,IAAKsP,EAAM,UAAW,KAE/B/C,EAAYuG,IAAM1D,EAAaE,GACQ,cAA9BtP,IAAKsP,EAAM,UAAW,KAE/BS,EAAsB+C,IAAM1D,EAAaE,GACF,0BAA9BtP,IAAKsP,EAAM,UAAW,KAE/B9C,EAAUsG,IAAM1D,EAAaE,GACU,YAA9BtP,IAAKsP,EAAM,UAAW,KAE/BU,EAAoB8C,IAAM1D,EAAaE,GACA,uBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BW,EAAa6C,IAAM1D,EAAaE,GACO,gBAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bc,EAAgB0C,IAAM1D,EAAaE,GACI,+BAA9BtP,IAAKsP,EAAM,UAAW,KAE/BgB,EAAgBwC,IAAM1D,EAAaE,GACI,mBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BiB,EAAauC,IAAM1D,EAAaE,GACO,gBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BoB,EAAaoC,IAAM1D,EAAaE,GACO,oBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BqB,EAAoBmC,IAAM1D,EAAaE,GACA,wBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BrG,EAAM6J,IAAM1D,EAAaE,GACc,iBAA9BtP,IAAKsP,EAAM,UAAW,KAE/B0B,EAAU8B,IAAM1D,EAAaE,GACU,aAA9BtP,IAAKsP,EAAM,UAAW,KAE/B2B,EAAkB6B,IAAM1D,EAAaE,GACE,4BAA9BtP,IAAKsP,EAAM,UAAW,KAE/B4B,EAAgB4B,IAAM1D,EAAaE,GACI,mBAA9BtP,IAAKsP,EAAM,UAAW,KAE/B8B,EAAqB0B,IAAM1D,EAAaE,GACD,wBAA9BtP,IAAKsP,EAAM,UAAW,KAK/B2+D,EAHWn7D,IAAM1D,EAAaE,GACS,aAA9BtP,IAAKsP,EAAM,UAAW,KAEH,WAAa,WACzCmiB,EAAU3e,IAAM1D,EAAaE,GACU,6BAA9BtP,IAAKsP,EAAM,UAAW,KAE/BqiB,EAAyB7e,IAAM1D,EAAaE,GACL,6BAA9BtP,IAAKsP,EAAM,UAAW,KAM/B9B,GAJOsF,IAAM1D,EAAaE,GACa,SAA9BtP,IAAKsP,EAAM,UAAW,KAAgD,6BAA9BtP,IAAKsP,EAAM,UAAW,KAEnD,OAAS,KACJ2+D,EACzBz8D,EAAgBsB,IAAM1D,EAAaE,GACI,mBAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bk4B,EAAa10B,IAAM1D,EAAaE,GACO,mBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BgC,EAAgBwB,IAAM1D,EAAaE,GACI,oBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BwZ,EAAkBhW,IAAM1D,EAAaE,GACE,6BAA9BtP,IAAKsP,EAAM,UAAW,KAE/ByZ,EAAoBjW,IAAM1D,EAAaE,GACA,6BAA9BtP,IAAKsP,EAAM,UAAW,KAAoE,mBAA9BtP,IAAKsP,EAAM,UAAW,KAE3FmC,EAAiBqB,IAAM1D,EAAaE,GACG,oBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BqC,EAAYmB,IAAM1D,EAAaE,GACQ,uBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BwB,EAAsBgC,IAAM1D,EAAaE,GACF,0BAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bm8D,EAAwB34D,IAAM1D,EAAaE,GACJ,6BAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bo8D,EAAqB54D,IAAM1D,EAAaE,GACD,yBAA9BtP,IAAKsP,EAAM,UAAW,KAE/BqsD,EAAiB7oD,IAAM1D,EAAaE,GACG,iBAA9BtP,IAAKsP,EAAM,UAAW,KAE/B87D,EAAct4D,IAAM1D,EAAaE,GACM,kBAA9BtP,IAAKsP,EAAM,UAAW,KAE/B+7D,EAAev4D,IAAM1D,EAAaE,GACK,mBAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bg8D,EAAwBx4D,IAAM1D,EAAaE,GACJ,8BAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bk8D,EAAmB14D,IAAM1D,EAAaE,GACC,uBAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bi8D,EAAqBz4D,IAAM1D,EAAaE,GACD,0BAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bu4B,GAAqB/0B,IAAM1D,EAAaE,GACD,yBAA9BtP,IAAKsP,EAAM,UAAW,KAE/Bm1D,GAAiB3xD,IAAM1D,EAAaE,GAElB,iBADAtP,IAAKsP,EAAM,UAAW,KAEb,KAAhBA,EAAK4+D,QAIhBznC,GAAM3zB,IAAM1D,EAAaE,GACc,4BAA9BtP,IAAKsP,EAAM,UAAW,KAE/BK,GAAYy4D,EAAgBh5D,GAKxB++D,GAAmBjlD,IAAQ9Z,EAAaE,GAA2C,aAAzBtP,IAAKsP,EAAM,WACrEq7D,GAAkBvC,EAAgB+F,IAClCxC,GAA2B74D,IAAMq7D,GAAmB7+D,GACnB,yBAA9BtP,IAAKsP,EAAM,UAAW,KAGzBmkB,GAAWzwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAClDvjB,iBAAkBA,EAClBrD,YAAaA,EACbwD,sBAAuBA,EACvBvD,UAAWA,EACXwD,oBAAqBA,EACrBC,aAAcA,EACdG,gBAAiBA,EACjBE,gBAAiBA,EACjBC,aAAcA,EACdG,aAAcA,EACdC,oBAAqBA,EACrB1H,MAAOA,EACPspB,yBACA/kB,WACAsD,sBAAuBA,EACvBE,UAAWA,EACXE,gBAAiBA,EACjBD,kBAAmBA,EACnBG,qBAAsBA,EACtBqgB,UAAWA,EACXjgB,gBAAiBA,EACjBg2B,aAAcA,EACdl2B,gBAAiBA,EACjBwX,kBAAmBA,EACnBC,oBAAqBA,EACrBtX,iBAAkBA,EAClBE,YAAaA,EACbhC,aACAg7D,mBACAh5C,yBAA0BA,EAC1B85C,wBAAyBA,EACzBC,qBAAsBA,EACtBC,2BAA4BA,GAC5BhQ,iBAAkBA,EAClB8I,gBAAiBA,GACjB58B,qBAAsBA,GACtBpB,MAAOA,GACP2kC,cAAeA,EACfC,eAAgBA,EAChBC,wBAAyBA,EACzBE,mBAAoBA,EACpBD,qBAAsBA,IAGxB,OADAh4C,EAAAA,GAAeG,MAAMR,EAAYO,IAC1BA,KAiHI,SAAS,GAAC12B,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,GAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,wVCzuBO,MAAMm2B,EAAa,+BAGxBC,EAAwB,CACtB90B,KAAM,KACN+vE,YAAY,EACZC,cAAc,EACdC,aAAa,EACb3vE,UAAW,GACXE,WAAY,GACZE,SAAU,GACVC,OAAQ,GACRG,YAAa,GACbkG,aAAc,GACdC,aAAc,GACdX,KAAM,GACNC,OAAQ,GACR7H,MAAO,GACP+gB,UAAW,GACX1Y,QAAS,GACTN,QAAS,GACTiZ,IAAK,GACLC,IAAK,GACLC,iBAAiB,EACjBpgB,MAAO,GACPI,YAAa,IAEfiC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GAOtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA4DTs6C,EAAyBA,CAAChxE,EAAOO,EAAQC,KACvC,MAAM,UAAEoB,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,EAAS,GAAE,YAAEG,EAAc,GAAE,aAAEkG,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,UAAE2B,EAAS,QAAE1Y,EAAO,IAAE2Y,EAAG,IAAEC,EAAG,gBAAEC,EAAe,MAAEpgB,EAAK,YAAEI,GAAgBV,EAE1M,OAAOP,EAAOD,EAAO,CACnBsB,KAAM,CAAEnB,KAAM,MACdkxE,WAAY,CAAElxE,MAAM,GACpByB,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,IACtBG,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BkG,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf2B,UAAW,CAAE5gB,KAAM4gB,GACnB1Y,QAAS,CAAElI,KAAMk9B,IAAMh1B,IACvBN,QAAS,CAAE5H,KAAM,MACjB6gB,IAAK,CAAE7gB,KAAM6gB,GACbC,IAAK,CAAE9gB,KAAM8gB,GACbC,gBAAiB,CAAE/gB,KAAM+gB,GACzBpgB,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,IAAMn8B,OAG/BswE,EAAgBA,CAACxxE,EAAOO,EAAQC,KAC9B,MAAM,KAAEc,EAAI,UAAEM,EAAS,WAAEE,EAAU,SAAEE,EAAQ,OAAEC,EAAS,GAAE,YAAEG,EAAc,GAAE,aAAEkG,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,UAAE2B,EAAS,QAAE1Y,EAAO,IAAE2Y,EAAG,IAAEC,EAAG,gBAAEC,EAAe,MAAEpgB,EAAK,YAAEI,GAAgBV,EAEhN,OACSP,EAAOD,EADH,gBAATsB,EACmB,CACnBA,KAAM,CAAEnB,KAAMmB,IAGG,CACnBA,KAAM,CAAEnB,KAAMmB,GACd+vE,WAAY,CAAElxE,MAAM,GACpByB,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,IACtBG,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BkG,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf2B,UAAW,CAAE5gB,KAAM4gB,GACnB1Y,QAAS,CAAElI,KAAMk9B,IAAMh1B,IACvBN,QAAS,CAAE5H,KAAM,MACjB6gB,IAAK,CAAE7gB,KAAM6gB,GACbC,IAAK,CAAE9gB,KAAM8gB,GACbC,gBAAiB,CAAE/gB,KAAM+gB,GACzBpgB,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,IAAMn8B,OAG/B+yC,EAAsBA,CAACj0C,EAAOO,EAAQC,KACpC,MAAM,QAAEk0B,EAAU,KAAI,aAAEy6C,EAAe,MAAS3uE,EAC9CixE,EAAa/8C,KAAYy6C,GAAeA,EAAaz6C,QAEvD,OAAI+8C,GAA6B,gBAAfzxE,EAAMsB,KACfrB,EAAOD,EAAO,CACnBsB,KAAM,CAAEnB,KAAM,iBAGbsxE,GAA6B,gBAAfzxE,EAAMsB,KAKlBtB,EAJEC,EAAOD,EAAO,CACnBsB,KAAM,CAAEnB,KAAMH,EAAMqxE,WAAa,KAAO,mBA4M9Cx6C,EAAeA,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAE/Cv2B,EAAa,CACX,CAACC,EAAAA,GAAQ82B,OAAQC,EACjB,CAAC/2B,EAAAA,GAAQukC,QAhMSX,CAAC1jC,EAAOO,EAAQC,KAClC,GAAmB,iBAAfR,EAAMsB,KACR,OAAOtB,EAGT,MAAM,GAAEY,EAAE,UAAE0uC,GAAc9uC,EAE1B,IAAKI,EACH,OAAI0uC,EACKrvC,EAAOD,EAAO,CACnBsI,aAAc,CAAEnI,KAAM,IACtBoI,aAAc,CAAEpI,KAAM,IACtByH,KAAM,CAAEzH,KAAM,IACd0H,OAAQ,CAAE1H,KAAM,IAChBH,MAAO,CAAEG,KAAM,IACfkI,QAAS,CAAElI,KAAM,IACjB4H,QAAS,CAAE5H,KAAM,IACjB6gB,IAAK,CAAE7gB,KAAM,GACb8gB,IAAK,CAAE9gB,KAAM,GACb+gB,gBAAiB,CAAE/gB,MAAM,KAGtBH,EAGT,MACE,SAAE4W,GAAapW,GACf,aAAE8H,EAAY,aAAEC,EAAY,KAAEX,EAAI,OAAEC,EAAQ7H,MAAOof,EAAS,QAAErX,EAAO,QAAEM,GAAYuO,EAErF,OAAO3W,EAAOD,EAAO,CACnBsI,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMk9B,IAAMh1B,IACvBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBiZ,IAAK,CAAE7gB,KAAM,GACb8gB,IAAK,CAAE9gB,KAAM,GACb+gB,gBAAiB,CAAE/gB,MAAM,MA0J3B,CAACL,EAAAA,GAAQsnC,YAjVM0oC,CAAC9vE,EAAOO,EAAQC,KAC/B,MAAM,oBAAEkxE,EAAmB,SAAE5nC,GAAatpC,EAC1C,OAAIR,EAAMsB,OAASowE,EACV1xE,EAGAC,EAAOD,EADY,gBAAxB0xE,EACmB,CACnBJ,aAAc,CAAEnxE,MAAM,GACtBoxE,YAAa,CAAEpxE,MAAM,GACrBmB,KAAM,CAAEnB,KAAM,gBAGU,iBAAxBuxE,EACmB,CACnBJ,aAAc,CAAEnxE,MAAM,GACtBoxE,YAAa,CAAEpxE,MAAM,GACrBmB,KAAM,CAAEnB,KAAM,gBACdyB,UAAW,CAAEzB,KAAM2pC,EAASloC,WAC5BE,WAAY,CAAE3B,KAAM2pC,EAAShoC,YAC7BE,SAAU,CAAE7B,KAAM2pC,EAAS9nC,UAC3BC,OAAQ,CAAE9B,KAAM2pC,EAAS7nC,QACzBG,YAAa,CAAEjC,KAAM,IACrBmI,aAAc,CAAEnI,KAAM2pC,EAASxhC,cAC/BC,aAAc,CAAEpI,KAAM2pC,EAASvhC,cAC/BX,KAAM,CAAEzH,KAAM2pC,EAASliC,MACvBC,OAAQ,CAAE1H,KAAM2pC,EAASjiC,QACzB7H,MAAO,CAAEG,KAAM2pC,EAAS9pC,OACxB+gB,UAAW,CAAE5gB,KAAM2pC,EAAS/oB,WAC5B1Y,QAAS,CAAElI,KAAM2pC,EAASzhC,SAC1BN,QAAS,CAAE5H,KAAM,MACjB6gB,IAAK,CAAE7gB,KAAM2pC,EAAS9oB,KACtBC,IAAK,CAAE9gB,KAAM2pC,EAAS7oB,KACtBC,gBAAiB,CAAE/gB,KAAM2pC,EAAS5oB,iBAClCpgB,MAAO,CAAEX,KAAM2pC,EAAShpC,OACxBI,YAAa,CAAEf,KAAM2pC,EAAS5oC,cAGb,CACnBowE,aAAc,CAAEnxE,MAAM,GACtBoxE,YAAa,CAAEpxE,MAAM,GACrBmB,KAAM,CAAEnB,KAAMuxE,MA0ShB,CAAC5xE,EAAAA,GAAQqnC,YAAa8M,EACtB,CAACn0C,EAAAA,GAAQ6xE,SAAUH,EACnB,CAAC1xE,EAAAA,GAAQ2gE,SAAUuQ,EACnB,CAAClxE,EAAAA,GAAQ+3B,SAlNSo4C,CAACjwE,EAAOO,EAAQC,KAClC,MAAM,SAAE+pC,GAAa/pC,GACnB,QAAEk0B,GAAY6V,EAEhB,OACStqC,EAAOD,EADZ00B,EACmB,CACnBpzB,KAAM,CAAEnB,KAAM,gBAGG,CACnBmB,KAAM,CAAEnB,KAAMH,EAAMqxE,WAAa,KAAO,mBAyM1C,CAACvxE,EAAAA,GAAQk6B,MA9BIoD,CAACp9B,EAAOO,EAAQC,KAC7B,MAAM,cAAE+lE,GAAgB,GAAU/lE,EAElC,OAAI+lE,EACKtyB,EAAoBj0C,EAAOO,EAAQC,GAGrCR,GAwBP,CAACF,EAAAA,GAAQq3B,kBAjBOC,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAiB7C,CAACoO,EAAAA,GAAiBi8B,SAAUuQ,EAC5B,CAACxsC,EAAAA,GAAiBotC,eAAgBZ,EAElC,CAACtsC,EAAAA,GAAsB1K,MAAOnD,EAC9B,CAAC6N,EAAAA,GAAsBo+B,eAlTQ+O,CAAC7xE,EAAOO,EAAQC,KAC/C,MAAM,oBAAEkxE,EAAmB,aAAEJ,EAAY,YAAEC,GAAgB/wE,EAC3D,OACSP,EAAOD,EADY,gBAAxB0xE,EACmB,CACnBJ,aAAc,CAAEnxE,MAAM,GACtBoxE,YAAa,CAAEpxE,MAAM,GACrBmB,KAAM,CAAEnB,KAAM,gBAGG,CACnBmxE,aAAc,CAAEnxE,KAAMmxE,GACtBC,YAAa,CAAEpxE,KAAMoxE,GACrBjwE,KAAM,CAAEnB,KAAMuxE,MAuShB,CAAChtC,EAAAA,GAAsB+7B,SAAUuQ,EACjC,CAACtsC,EAAAA,GAAsBktC,eAAgBJ,EAEvC,CAAC15B,EAAAA,GAAiB2oB,SAAUuQ,EAC5B,CAACl5B,EAAAA,GAAiB85B,eAAgBZ,EAElC,CAACn7C,EAAAA,GAAmB4qC,SAAUuQ,EAC9B,CAACn7C,EAAAA,GAAmB+7C,eAAgBJ,EAEpC,CAAC3rC,EAAAA,GAAiB46B,SAAUuQ,EAC5B,CAACnrC,EAAAA,GAAiB+rC,eAAgBZ,EAElC,CAAC35D,EAAAA,GAAYy6D,eAAgBd,EAC7B,CAAC95D,EAAAA,GAAa4rC,WAAYkuB,EAE1B,CAACn5D,EAAAA,GAAqBmiB,MAAOnD,EAE7B,CAAC9e,EAAAA,GAAoB2qC,MAAOzO,EAC5B,CAACl8B,EAAAA,GAAoBg6D,YAAa99B,EAElC,CAAC37B,EAAAA,GAAkB0hB,MAjDDg4C,CAAChyE,EAAOO,EAAQC,IAC3BP,EAAOD,EAAO,CACnBsB,KAAM,CAAEnB,KAAMK,EAAKyxE,QAAU,gBAiD/B,CAACn8C,EAAAA,GAAgBuO,QAzLI6tC,CAAClyE,EAAOO,EAAQC,KACrC,MACE,gBAAEyL,GAAoBzL,GACtB,UACEoB,EAAY,GAAE,WACdE,EAAa,GAAE,SACfE,EAAW,GAAE,OACbC,EAAS,GAAE,YACXG,EAAc,GAAE,MAChBtB,EAAQ,GAAE,YACVI,EAAc,GAAE,aAChBoH,EAAe,GAAE,aACjBC,EAAe,GAAE,KACjBX,EAAO,GAAE,OACTC,EAAS,GACT7H,MAAOof,EAAY,GAAE,QACrBrX,EAAU,GAAE,QACZM,EAAU,IACR4D,GAAmB,CAAC,EAE1B,OAAOhM,EAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,IACtBG,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BtB,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,IAAMn8B,IAC3BoH,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf/W,QAAS,CAAElI,KAAMk9B,IAAMh1B,IACvBN,QAAS,CAAE5H,KAAMk9B,IAAMt1B,IACvBiZ,IAAK,CAAE7gB,KAAM,GACb8gB,IAAK,CAAE9gB,KAAM,GACb+gB,gBAAiB,CAAE/gB,MAAM,MAsJ3B,CAACk3B,EAAAA,EAAgBh3B,sBAlJMylC,CAAC9lC,EAAOO,EAAQC,KACvC,GAAID,EAAOE,OAAwB,iBAAfT,EAAMsB,KACxB,OAAOtB,EAGT,MAEIa,cAAeC,EACfG,cAAe+G,EACfrG,WAAYC,EACZC,YAAaC,EACbC,UAAWC,EAAQ,OACnBC,GACEzB,EAEN,OAAOP,EAAOD,EAAO,CACnB4B,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,IACtBnB,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAM6H,MA+HvB,CAACuN,EAAAA,EAAcP,qBA5HOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCrkB,EAAYlI,IAAMsF,EAAYpJ,IAC5B,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,MAAmB,kBAAZgE,GAA2C,mBAAZA,IAExCiI,EAAUnI,IAAMsF,EAAYpJ,IAC1B,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,MAAmB,6BAAZgE,GAAsD,uBAAZA,GAAgD,mBAAZA,GAA4C,eAAZA,IAEvHhE,EAAQgM,GAAaC,EAEvB,IAAKjM,EACH,OAAOjS,EAGT,MAAMuS,EAAOwD,IAAMsF,EAAY0qB,GAER,6BADH9iC,IAAK8iC,EAAG,UAAW,KAGrC9vB,EAAU1D,GAAQA,EAAKvG,iBAAmBuG,EAAKvG,iBAAmBiG,EAAMjG,kBAAoB,CAAC,GAG3FrK,WAAYC,EAAY,GAAIC,YAAaC,EAAa,GAAIC,UAAWC,EAAW,GAAE,OAAEC,EAAS,GAAIyG,aAActG,EAAc,IAAO6T,GACpIvO,UAAWY,EAAe,GAAIX,UAAWY,EAAe,GAAE,KAAEX,EAAO,GAAE,OAAEC,EAAS,GAAI7H,MAAOof,EAAY,GAAItX,IAAKO,EAAU,GAAE,MAAEvH,EAAQ,GAAIkH,MAAO9G,EAAc,IAAO+U,EACxK8K,EAAY3B,EA1SAjJ,KACd,MAAMy7B,EAAQ77B,IAAM87B,EAAAA,GAAWC,GACtBA,EAAO37B,QAAUA,GAE1B,OAAOy7B,EAAQA,EAAMG,MAAQ,IAsSHJ,CAAavyB,GAAa,GAGpD,OAAOnf,EAAOD,EAAO,CACnBsB,KAAM,CAAEnB,KAHEoS,EAGY,cAAgB,MACtC3Q,UAAW,CAAEzB,KAAMk9B,IAAMz7B,IACzBE,WAAY,CAAE3B,KAAMk9B,IAAMv7B,IAC1BE,SAAU,CAAE7B,KAAMk9B,IAAMr7B,IACxBC,OAAQ,CAAE9B,KAAMk9B,IAAMp7B,IACtBG,YAAa,CAAEjC,KAAMk9B,IAAMj7B,IAC3BtB,MAAO,CAAEX,KAAMk9B,IAAMv8B,IACrBI,YAAa,CAAEf,KAAMk9B,IAAMn8B,IAC3BoH,aAAc,CAAEnI,KAAMk9B,IAAM/0B,IAC5BC,aAAc,CAAEpI,KAAMk9B,IAAM90B,IAC5BX,KAAM,CAAEzH,KAAMk9B,IAAMz1B,IACpBC,OAAQ,CAAE1H,KAAMk9B,IAAMx1B,IACtB7H,MAAO,CAAEG,KAAMif,GACf2B,UAAW,CAAE5gB,KAAM4gB,GACnB1Y,QAAS,CAAElI,KAAMk9B,IAAMh1B,IACvBN,QAAS,CAAE5H,KAAM,MACjB6gB,IAAK,CAAE7gB,KAAM,GACb8gB,IAAK,CAAE9gB,KAAM,GACb+gB,gBAAiB,CAAE/gB,MAAM,OAsEhB,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,yNCpbO,MAAMm2B,EAAa,6BAGxBC,EAAwB,CACtBqB,YAAY,EACZ06C,iBAAkB,KAClBC,qBAAqB,EAErBt5D,UAAW,GACXxL,aAAc,KACd+kE,YAAa,KACbC,eAAgB,KAEhB56C,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAEfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAyGT72B,EAAa,CACX,CAACC,EAAAA,GAAQyyE,gBAzFYC,CAACxyE,EAAOO,EAAQC,KACrC,MAAM,YAAE6xE,EAAc,MAAS7xE,EAE/B,OAAOP,EAAOD,EAAO,CACnBqyE,YAAa,CAAElyE,KAAMkyE,MAsFvB,CAACvyE,EAAAA,GAAQ2yE,iBAlFaC,CAAC1yE,EAAOO,EAAQC,KACtC,MAAM,eAAE8xE,EAAiB,MAAS9xE,EAElC,OAAOP,EAAOD,EAAO,CACnBsyE,eAAgB,CAAEnyE,KAAMmyE,MA+E1B,CAACxyE,EAAAA,GAAQsiC,UA5EQpiC,IACjBw2B,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAEtd,UAAW9Y,EAAM8Y,cA2EnG,CAAChZ,EAAAA,GAAQ+3B,SAvDMC,CAAC93B,EAAOO,EAAQC,KAC/B,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,OAAE03B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAyCjB,CAACtE,EAAAA,GAAQk6B,MA1EGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,iBACJ2xE,EAAgB,oBAChBC,EAAmB,UACnBt5D,EAAS,aACTxL,GACE9M,EACJ,OAAOP,EAAOD,EAAO,CACnBmyE,iBAAkB,CAAEhyE,KAAMgyE,GAC1BC,oBAAqB,CAAEjyE,KAAMiyE,GAC7Bt5D,UAAW,CAAE3Y,KAAM2Y,GACnB2e,WAAY,CAAEt3B,MAAOgyE,GACrB7kE,aAAc,CAAEnN,KAAMmN,GACtB+kE,YAAa,CAAElyE,KAAM,MACrBmyE,eAAgB,CAAEnyE,KAAM,MACxBO,YAAa,CAAEP,KAAM,MA6DvB,CAACoV,EAAAA,EAAcP,qBAxCOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCqwC,EAAqB58D,IAAMsF,EAAYpJ,GAElB,oBADHhP,IAAKgP,EAAO,UAAW,KAI3C,IAAK0gE,EACH,OAAO3yE,EAET,MACE,aACEsN,EAAY,QACZ2I,EAAO,eACPq8D,GACEK,EAEN,OAAO1yE,EAAOD,EAAO,CACnBsN,aAAc,CAAEnN,KAAMmN,GACtB+kE,YAAa,CAAElyE,KAAkB,oBAAZ8V,GACrBq8D,eAAgB,CAAEnyE,KAAMmyE,MAY1B,CAACj7C,EAAAA,EAAgBzzB,6BAhHCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAwGJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,+MCtJO,MAAMm2B,EAAa,0BAGxBC,EAAwB,CACtBqB,YAAY,EACZ06C,iBAAkB,KAElBr5D,UAAW,GACXxL,aAAc,KACdglE,eAAgB,KAEhB56C,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAEfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAgGT72B,EAAa,CACX,CAACC,EAAAA,GAAQ2yE,iBAhFaC,CAAC1yE,EAAOO,EAAQC,KACtC,MAAM,eAAE8xE,EAAiB,MAAS9xE,EAElC,OAAOP,EAAOD,EAAO,CACnBsyE,eAAgB,CAAEnyE,KAAMmyE,MA6E1B,CAACxyE,EAAAA,GAAQsiC,UA1EQpiC,IACjBw2B,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAEtd,UAAW9Y,EAAM8Y,cAyEnG,CAAChZ,EAAAA,GAAQ+3B,SAxDMC,CAAC93B,EAAOO,EAAQC,KAC/B,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,OAAE03B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MA0CjB,CAACtE,EAAAA,GAAQk6B,MAxEGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,iBACJ2xE,EAAgB,UAChBr5D,EAAS,aACTxL,GACE9M,EACJ,OAAOP,EAAOD,EAAO,CACnBmyE,iBAAkB,CAAEhyE,KAAMgyE,GAC1Br5D,UAAW,CAAE3Y,KAAM2Y,GACnB2e,WAAY,CAAEt3B,MAAOgyE,GACrB7kE,aAAc,CAAEnN,KAAMmN,GACtBglE,eAAgB,CAAEnyE,KAAM,MACxBO,YAAa,CAAEP,KAAM,MA8DvB,CAACoV,EAAAA,EAAcP,qBAzCOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,EAAkBvsB,IAAMb,EAASjD,GACD,eAAvBA,EAAM4D,cAGjB,IAAKysB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCswC,EAAkB78D,IAAMsF,EAAYpJ,GAEf,mBADHhP,IAAKgP,EAAO,UAAW,KAI3C,IAAK2gE,EACH,OAAO5yE,EAET,MACE,aACEsN,EAAY,QACZ2I,EAAO,eACPq8D,GACEM,EAEN,OAAO3yE,EAAOD,EAAO,CACnBsN,aAAc,CAAEnN,KAAMmN,GACtB2I,QAAS,CAAE9V,KAAkB,mBAAZ8V,GACjBq8D,eAAgB,CAAEnyE,KAAMmyE,MAW1B,CAACj7C,EAAAA,EAAgBzzB,6BAtGCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA8FJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,yNCxIO,MAAMm2B,EAAa,+BAGxBC,EAAwB,CACtBqB,YAAY,EACZ06C,iBAAkB,KAElBr5D,UAAW,GACXxL,aAAc,KACdglE,eAAgB,KAEhB56C,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAEfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA8FT72B,EAAa,CACX,CAACC,EAAAA,GAAQ2yE,iBA9EaC,CAAC1yE,EAAOO,EAAQC,KACtC,MAAM,eAAE8xE,EAAiB,MAAS9xE,EAElC,OAAOP,EAAOD,EAAO,CACnBsyE,eAAgB,CAAEnyE,KAAMmyE,MA2E1B,CAACxyE,EAAAA,GAAQsiC,UAxEQpiC,IACjBw2B,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAEtd,UAAW9Y,EAAM8Y,cAuEnG,CAAChZ,EAAAA,GAAQ+3B,SAtDMC,CAAC93B,EAAOO,EAAQC,KAC/B,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,OAAE03B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAwCjB,CAACtE,EAAAA,GAAQk6B,MAtEGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,iBACJ2xE,EAAgB,UAChBr5D,EAAS,aACTxL,GACE9M,EACJ,OAAOP,EAAOD,EAAO,CACnBmyE,iBAAkB,CAAEhyE,KAAMgyE,GAC1Br5D,UAAW,CAAE3Y,KAAM2Y,GACnB2e,WAAY,CAAEt3B,MAAOgyE,GACrB7kE,aAAc,CAAEnN,KAAMmN,GACtBglE,eAAgB,CAAEnyE,KAAM,MACxBO,YAAa,CAAEP,KAAM,MA4DvB,CAACoV,EAAAA,EAAcP,qBAvCOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChCuwC,EAAuB98D,IAAMsF,EAAYpJ,GAEpB,6BADHhP,IAAKgP,EAAO,UAAW,KAI3C,IAAK4gE,EACH,OAAO7yE,EAET,MACE,aACEsN,EAAY,QACZ2I,EAAO,eACPq8D,GACEO,EAEN,OAAO5yE,EAAOD,EAAO,CACnBsN,aAAc,CAAEnN,KAAMmN,GACtBwlE,YAAa,CAAE3yE,KAAkB,6BAAZ8V,GACrBq8D,eAAgB,CAAEnyE,KAAMmyE,MAW1B,CAACj7C,EAAAA,EAAgBzzB,6BApGCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA4FJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,yNCvIO,MAAMm2B,EAAa,iCAGxBC,EAAwB,CACtBqB,YAAY,EACZ06C,iBAAkB,KAClBY,cAAc,EACdC,WAAW,EAEXl6D,UAAW,GACXxL,aAAc,KACd+kE,YAAa,KACbC,eAAgB,KAEhB56C,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLC,aAAa,EACbl3B,YAAa,GAEfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GA2GT72B,EAAa,CACX,CAACC,EAAAA,GAAQyyE,gBA3FYC,CAACxyE,EAAOO,EAAQC,KACrC,MAAM,YAAE6xE,EAAc,MAAS7xE,EAE/B,OAAOP,EAAOD,EAAO,CACnBqyE,YAAa,CAAElyE,KAAMkyE,MAwFvB,CAACvyE,EAAAA,GAAQ2yE,iBApFaC,CAAC1yE,EAAOO,EAAQC,KACtC,MAAM,eAAE8xE,EAAiB,MAAS9xE,EAElC,OAAOP,EAAOD,EAAO,CACnBsyE,eAAgB,CAAEnyE,KAAMmyE,MAiF1B,CAACxyE,EAAAA,GAAQsiC,UA9EQpiC,IACjBw2B,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYlwB,IAAQ,CAAC,EAAGmwB,EAAuB,CAAEtd,UAAW9Y,EAAM8Y,cA6EnG,CAAChZ,EAAAA,GAAQ+3B,SAvDMC,CAAC93B,EAAOO,EAAQC,KAC/B,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,OAAE03B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAyCjB,CAACtE,EAAAA,GAAQk6B,MA5EGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,iBACJ2xE,EAAgB,UAChBa,EAAS,UACTl6D,EAAS,aACTxL,EAAY,aACZylE,GACEvyE,EACJ,OAAOP,EAAOD,EAAO,CACnBmyE,iBAAkB,CAAEhyE,KAAMgyE,GAC1Br5D,UAAW,CAAE3Y,KAAM2Y,GACnBk6D,UAAW,CAAE7yE,KAAM6yE,GACnBv7C,WAAY,CAAEt3B,MAAOgyE,GACrB7kE,aAAc,CAAEnN,KAAMmN,GACtBylE,aAAc,CAAE5yE,KAAM4yE,GACtBV,YAAa,CAAElyE,KAAM,MACrBmyE,eAAgB,CAAEnyE,KAAM,MACxBO,YAAa,CAAEP,KAAM,MA6DvB,CAACoV,EAAAA,EAAcP,qBAxCOqtB,CAACriC,EAAOO,EAAQC,KACtC,GAAID,EAAOE,MACT,OAAOT,EAET,MAAM,OAAEkV,GAAW1U,EACjB8hC,GAAkBC,EAAAA,EAAAA,IAAmBrtB,GAEvC,IAAKotB,EACH,OAAOtiC,EAGT,MAAQob,WAAYC,GAAcinB,EAChC2wC,EAAyBl9D,IAAMsF,EAAYpJ,IACzC,MAAMgE,EAAUhT,IAAKgP,EAAO,UAAW,IACvC,MAAmB,6BAAZgE,GAAsD,mBAAZA,IAGrD,IAAKg9D,EACH,OAAOjzE,EAET,MACE,aACEsN,EAAY,QACZ2I,EAAO,eACPq8D,GACEW,EAEN,OAAOhzE,EAAOD,EAAO,CACnBsN,aAAc,CAAEnN,KAAMmN,GACtB+kE,YAAa,CAAElyE,KAAkB,6BAAZ8V,GACrBq8D,eAAgB,CAAEnyE,KAAMmyE,MAY1B,CAACj7C,EAAAA,EAAgBzzB,6BAlHCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA0GJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,+KC1JO,MAAMm2B,EAAa,0BAyBxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXowB,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,EACbgqC,WAAY,KACZrB,eAAe,EACf/nC,KAAM,GACNN,KAAM,GACNiI,qBAAsB,IAGxB9F,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAwGT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OAfTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAc7C,CAAClf,EAAAA,GAAag8D,eAVKC,CAACnzE,EAAOO,EAAQC,KACnC,MAAQ4yE,UAAWC,EAAUC,UAAWC,GAAa/yE,EACrD,OAAOP,EAAOD,EAAO,CACnBqzE,SAAU,CAAElzE,KAAMkzE,GAClBG,mBAAoB,CAAErzE,KAAMozE,GAC5BE,aAAc,CAAEtzE,KAAMK,MAOxB,CAACV,EAAAA,GAAQwpC,gBA5FYC,CAACvpC,EAAOO,EAAQC,KACrC,MAAM,UAAEsY,EAAS,KAAE9X,EAAI,qBAAEiI,EAAoB,KAAE3H,GAASd,EAExD,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnB9X,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9B3H,KAAM,CAAEnB,KAAMmB,MAsFhB,CAACxB,EAAAA,GAAQsiC,UAnFOhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAkF7C,CAACt2B,EAAAA,GAAQ+3B,SA5DMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAkDjB,CAACtE,EAAAA,GAAQk6B,MAjFGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UACJsY,EAAS,aACTowB,EAAY,KACZloC,EAAI,qBACJiI,EAAoB,KACpB3H,EAAI,cACJ+nC,GACE7oC,EAEJ,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBowB,aAAc,CAAE/oC,KAAM+oC,GACtBloC,KAAM,CAAEb,KAAMa,GACdiI,qBAAsB,CAAE9I,KAAM8I,GAC9B3H,KAAM,CAAEnB,KAAMmB,GACd+nC,cAAe,CAAElpC,KAAMkpC,GACvB3oC,YAAa,CAAEP,KAAM,MAiEvB,CAACL,EAAAA,GAAQi4B,OAhDIqF,CAACp9B,EAAOO,KACrB,MAAM,qBACJ0I,EAAoB,eACpByqE,EAAc,KACdx4D,EAAI,UACJnQ,EAAS,UACT4oE,GACEpzE,EAAOo1B,QAAQi+C,QACbC,EAxHiB34D,KACzB,MAAM44D,EAAS54D,EAAKqwB,OAAO,CAACwoC,EAAYC,KACtC,MAAMC,EAAUD,EAAWE,SAAStxC,QAAQ,YAAa,IAczD,OAbKmxC,EAAWE,KACdF,EAAWE,GAAW,CACpBjzE,KAAM,GACNmzE,OAAQ,EACRC,oBAAqB,IAGrBJ,EAAWE,SAASG,SAAS,aAC/BN,EAAWE,GAASG,oBAAsBJ,EAAWG,QAErDJ,EAAWE,GAASjzE,KAAOizE,EAC3BF,EAAWE,GAASE,OAASH,EAAWG,QAEnCJ,GACN,CAAC,GAEJ,OAAOjwC,OAAO0gB,OAAOsvB,IAqGEQ,CAAkBp5D,GACjCq5D,EAAYV,EAAa5+B,KAAMu/B,GAA8B,oBAAbA,EAAIxzE,MACpDyzE,EAAaF,GAAWJ,OACxBX,EAAqBe,GAAWH,oBAEtC,OAAOn0E,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpBO,YAAa,CAAEP,KAAM,GACrB8I,qBAAsB,CAAE9I,KAAM8I,GAC9ByqE,eAAgB,CAAEvzE,KAAMuzE,GACxB1kE,iBAAkB,CAAE7O,KAAMwzE,GAC1B1kE,cAAe,CAAE9O,KAAM4K,GACvB0pE,WAAY,CAAEt0E,KAAMs0E,GACpBjB,mBAAoB,CAAErzE,KAAMqzE,GAC5Bt4D,KAAM,CAAE/a,KAAM0zE,GACda,OAAQ,CAAEv0E,KAAM,CAAEw0E,SAAUhB,EAAWjzD,SAAU3V,OA2BnD,CAACssB,EAAAA,EAAgBzzB,6BAhHCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAwGJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,sKC9KO,MAAMm2B,EAAa,2BAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACXoF,QAAS,GACTwZ,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,GAGfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAkDT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAI7C,CAACt2B,EAAAA,GAAQ80E,yBApCmBC,KAC5Br+C,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAmC7C,CAACt2B,EAAAA,GAAQ+3B,SArBMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAWjB,CAACtE,EAAAA,GAAQk6B,MAlCGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,UAAEk6D,GAAcxyE,GAC3B,QAAE0d,GAAY1d,EAEpB,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBpY,YAAa,CAAEP,KAAM,GACrB6yE,UAAY,CAAE7yE,KAAM6yE,GACpBv7C,WAAY,CAAEt3B,MAAM,GACpB+d,QAAS,CAAE/d,KAAM+d,MA2BnB,CAACmZ,EAAAA,EAAgBzzB,6BAtDCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA8CJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,sKCxFO,MAAMm2B,EAAa,kCAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACX7P,qBAAsB,GACtBigC,aAAc,EACdxR,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,GAGfyC,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAwDT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAQ7C,CAACt2B,EAAAA,GAAQsiC,UA9COhL,KAChBZ,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IA6C7C,CAACt2B,EAAAA,GAAQ+3B,SAhCMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAsBjB,CAACtE,EAAAA,GAAQk6B,MA5CGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,aAAEowB,EAAY,qBAAEjgC,GAAyBzI,EAE1D,OAAOP,EAAOD,EAAO,CACnBy3B,WAAY,CAAEt3B,MAAM,GACpB2Y,UAAW,CAAE3Y,KAAM2Y,GACnB7P,qBAAsB,CAAE9I,KAAM8I,GAC9BigC,aAAc,CAAE/oC,KAAM+oC,GACtBxoC,YAAa,CAAEP,KAAM,MAuCvB,CAACk3B,EAAAA,EAAgBzzB,6BAjECo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QAyDJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C,uKCpGO,MAAMm2B,EAAa,sBAGxBC,EAAwB,CACtBqB,YAAY,EACZ3e,UAAW,GACX4uD,cAAe,KACfhwC,OAAQ,GACRzzB,WAAY,GACZi1B,UAAW,GACXn1B,SAAU,GACVC,QAAS,GACT2zB,IAAK,GACLzzB,MAAO,GACPE,MAAO,GACPwzB,aAAa,EACbl3B,YAAa,EACbsyE,WAAW,GAGb7vE,EAAgBqzB,EAAAA,GAAeC,WAAWN,EAAYC,GACtDn2B,EAASA,CAACD,EAAO2a,KACf,MAAM+b,EAAW9b,IAAa5a,EAAO2a,GAErC,OADA6b,EAAAA,GAAeG,MAAMR,EAAYO,GAC1BA,GAkDT72B,EAAa,CACX,CAAC0Y,EAAAA,GAAqBqe,OALTC,KACbL,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAI7C,CAACt2B,EAAAA,GAAQ80E,yBApCmBC,KAC5Br+C,EAAAA,GAAeM,MAAMX,GACdK,EAAAA,GAAeC,WAAWN,EAAYC,IAmC7C,CAACt2B,EAAAA,GAAQ+3B,SArBMC,CAAC93B,EAAOO,EAAQC,KAC/B,MAAM,OAAEk3B,EAAM,WAAEzzB,EAAU,SAAEF,EAAQ,QAAEC,EAAO,IAAE2zB,EAAG,UAAEuB,EAAS,MAAEh1B,EAAK,MAAEE,GAAU5D,EAEhF,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMu3B,GAChBzzB,WAAY,CAAE9D,KAAM8D,GACpBi1B,UAAW,CAAE/4B,KAAM+4B,GACnBn1B,SAAU,CAAE5D,KAAM4D,GAClBC,QAAS,CAAE7D,KAAM6D,GACjB2zB,IAAK,CAAEx3B,KAAMw3B,GACbzzB,MAAO,CAAE/D,KAAM+D,GACfE,MAAO,CAAEjE,KAAMiE,MAWjB,CAACtE,EAAAA,GAAQk6B,MAlCGsD,CAACt9B,EAAOO,EAAQC,KAC5B,MAAM,UAAEsY,EAAS,UAAEk6D,GAAcxyE,GAC3B,cAAEknE,GAAkBlnE,EAE1B,OAAOP,EAAOD,EAAO,CACnB8Y,UAAW,CAAE3Y,KAAM2Y,GACnBpY,YAAa,CAAEP,KAAM,GACrB6yE,UAAY,CAAE7yE,KAAM6yE,GACpBv7C,WAAY,CAAEt3B,MAAM,GACpBunE,cAAe,CAAEvnE,KAAMunE,MA2BzB,CAACrwC,EAAAA,EAAgBzzB,6BAtDCo0B,CAACh4B,EAAOO,EAAQC,KAClC,GAAID,EAAOE,QAAUT,EAAMy3B,WACzB,OAAOz3B,EAGT,MAAM,GAAEY,GAAOJ,EACf,OAAOP,EAAOD,EAAO,CACnB03B,OAAQ,CAAEv3B,KAAMS,GAChBqD,WAAY,CAAE9D,KAAM,IACpB4D,SAAU,CAAE5D,KAAM,IAClB6D,QAAS,CAAE7D,KAAM,IACjBw3B,IAAK,CAAEx3B,KAAM,QA8CJ,SAAS,EAACH,EAAQmD,EAAe5C,GAC9C,MACEC,EAAOyC,IAAK1C,EAAQ,eAAgB,CAAC,GACrC2C,EAAOrD,EAAWU,EAAOe,MAE3B,OAAO4B,EAAOA,EAAKlD,EAAOO,EAAQC,GAAQR,CAC5C,C","sources":["webpack://zenbusiness.com/./src/client/reducers/account/details.js","webpack://zenbusiness.com/./src/client/reducers/account/paymentMethods.js","webpack://zenbusiness.com/./src/client/reducers/account/index.js","webpack://zenbusiness.com/./src/client/reducers/companies/companies.js","webpack://zenbusiness.com/./src/client/reducers/companies/data.js","webpack://zenbusiness.com/./src/client/reducers/companies/items.js","webpack://zenbusiness.com/./src/client/reducers/companies/orders.js","webpack://zenbusiness.com/./src/client/reducers/companies/status.js","webpack://zenbusiness.com/./src/client/reducers/companies/index.js","webpack://zenbusiness.com/./src/client/reducers/files/data.js","webpack://zenbusiness.com/./src/client/reducers/files/documents.js","webpack://zenbusiness.com/./src/client/reducers/files/status.js","webpack://zenbusiness.com/./src/client/reducers/files/index.js","webpack://zenbusiness.com/./src/client/reducers/initialization/entryPoint.js","webpack://zenbusiness.com/./src/client/reducers/initialization/pricing.js","webpack://zenbusiness.com/./src/client/reducers/initialization/index.js","webpack://zenbusiness.com/./src/client/reducers/orders/accounting.js","webpack://zenbusiness.com/./src/client/reducers/orders/accountingOld.js","webpack://zenbusiness.com/./src/client/reducers/orders/amendment.js","webpack://zenbusiness.com/./src/client/reducers/orders/banking.js","webpack://zenbusiness.com/./src/client/reducers/orders/business.js","webpack://zenbusiness.com/./src/client/reducers/orders/businessAddresses.js","webpack://zenbusiness.com/./src/client/reducers/orders/businessKit.js","webpack://zenbusiness.com/./src/client/reducers/orders/contact.js","webpack://zenbusiness.com/./src/client/reducers/orders/contacts.js","webpack://zenbusiness.com/./src/client/reducers/orders/dbaEntity.js","webpack://zenbusiness.com/./src/client/reducers/orders/directors.js","webpack://zenbusiness.com/./src/client/reducers/orders/domainName.js","webpack://zenbusiness.com/./src/client/reducers/orders/ein.js","webpack://zenbusiness.com/./src/client/reducers/orders/futureFileDate.js","webpack://zenbusiness.com/./src/client/reducers/orders/goodStanding.js","webpack://zenbusiness.com/./src/client/reducers/orders/insurance.js","webpack://zenbusiness.com/./src/client/reducers/orders/items.js","webpack://zenbusiness.com/./src/client/reducers/orders/jurisdictions.js","webpack://zenbusiness.com/./src/client/reducers/orders/logoKit.js","webpack://zenbusiness.com/./src/client/reducers/orders/managers.js","webpack://zenbusiness.com/./src/client/reducers/orders/members.js","webpack://zenbusiness.com/./src/client/reducers/orders/nyPublication.js","webpack://zenbusiness.com/./src/client/reducers/orders/officers.js","webpack://zenbusiness.com/./src/client/reducers/orders/operatingAgreement.js","webpack://zenbusiness.com/./src/client/reducers/orders/other.js","webpack://zenbusiness.com/./src/client/reducers/orders/plan.js","webpack://zenbusiness.com/./src/client/reducers/orders/registeredAgent.js","webpack://zenbusiness.com/./src/client/reducers/orders/status.js","webpack://zenbusiness.com/./src/client/reducers/orders/vanityProduct.js","webpack://zenbusiness.com/./src/client/reducers/orders/index.js","webpack://zenbusiness.com/./src/client/reducers/registration/account.js","webpack://zenbusiness.com/./src/client/reducers/registration/accounting.js","webpack://zenbusiness.com/./src/client/reducers/registration/amendment.js","webpack://zenbusiness.com/./src/client/reducers/registration/banking.js","webpack://zenbusiness.com/./src/client/reducers/registration/bankOfAmericaOffer.js","webpack://zenbusiness.com/./src/client/reducers/registration/contact.js","webpack://zenbusiness.com/./src/client/reducers/registration/coupons.js","webpack://zenbusiness.com/./src/client/reducers/registration/nypub.js","webpack://zenbusiness.com/./src/client/reducers/registration/plan.js","webpack://zenbusiness.com/./src/client/reducers/registration/remagine.js","webpack://zenbusiness.com/./src/client/reducers/registration/wfgir.js","webpack://zenbusiness.com/./src/client/reducers/registration/progressBar.js","webpack://zenbusiness.com/./src/client/reducers/registration/businessNameGenerator.js","webpack://zenbusiness.com/./src/client/reducers/registration/vanityProduct.js","webpack://zenbusiness.com/./src/client/reducers/registration/index.js","webpack://zenbusiness.com/./src/client/reducers/pricing/index.js","webpack://zenbusiness.com/./src/client/reducers/productEnabledStatus/index.js","webpack://zenbusiness.com/./src/client/reducers/index.js","webpack://zenbusiness.com/./src/client/reducers/initialization/fees.js","webpack://zenbusiness.com/./src/client/reducers/registration/annualReport.js","webpack://zenbusiness.com/./src/client/reducers/registration/beneficialOwnershipFiling.js","webpack://zenbusiness.com/./src/client/reducers/registration/beneficialOwnershipModification.js","webpack://zenbusiness.com/./src/client/reducers/registration/blr.js","webpack://zenbusiness.com/./src/client/reducers/registration/business.js","webpack://zenbusiness.com/./src/client/reducers/registration/businessAddresses.js","webpack://zenbusiness.com/./src/client/reducers/registration/businessKit.js","webpack://zenbusiness.com/./src/client/reducers/registration/cora.js","webpack://zenbusiness.com/./src/client/reducers/registration/corpDocs.js","webpack://zenbusiness.com/./src/client/reducers/registration/corpStockFlow.js","webpack://zenbusiness.com/./src/client/reducers/registration/customer.js","webpack://zenbusiness.com/./src/client/reducers/registration/dbaEntity.js","webpack://zenbusiness.com/./src/client/reducers/registration/directors.js","webpack://zenbusiness.com/./src/client/reducers/registration/domainName.js","webpack://zenbusiness.com/./src/client/reducers/registration/domainV2.js","webpack://zenbusiness.com/./src/client/reducers/registration/ein.js","webpack://zenbusiness.com/./src/client/reducers/registration/emailV2.js","webpack://zenbusiness.com/./src/client/reducers/registration/ettfRenewal.js","webpack://zenbusiness.com/./src/client/reducers/registration/expenseTrackerNTaxFiling.js","webpack://zenbusiness.com/./src/client/reducers/registration/feedback.js","webpack://zenbusiness.com/./src/client/reducers/registration/goodStanding.js","webpack://zenbusiness.com/./src/client/reducers/registration/lead.js","webpack://zenbusiness.com/./src/client/reducers/registration/logoKit.js","webpack://zenbusiness.com/./src/client/reducers/registration/managers.js","webpack://zenbusiness.com/./src/client/reducers/registration/members.js","webpack://zenbusiness.com/./src/client/reducers/registration/officers.js","webpack://zenbusiness.com/./src/client/reducers/registration/operatingAgreement.js","webpack://zenbusiness.com/./src/client/reducers/registration/order.js","webpack://zenbusiness.com/./src/client/reducers/registration/page.js","webpack://zenbusiness.com/./src/client/reducers/registration/postpurchase.js","webpack://zenbusiness.com/./src/client/reducers/registration/purchase.js","webpack://zenbusiness.com/./src/client/reducers/registration/registeredAgent.js","webpack://zenbusiness.com/./src/client/reducers/registration/smbEcommAddon.js","webpack://zenbusiness.com/./src/client/reducers/registration/smbWebsite.js","webpack://zenbusiness.com/./src/client/reducers/registration/smbWebsiteEcomm.js","webpack://zenbusiness.com/./src/client/reducers/registration/smbWebsiteOrEcomm.js","webpack://zenbusiness.com/./src/client/reducers/registration/stockSetup.js","webpack://zenbusiness.com/./src/client/reducers/registration/taxServices.js","webpack://zenbusiness.com/./src/client/reducers/registration/zbBankingPreferred.js","webpack://zenbusiness.com/./src/client/reducers/registration/zbmPro.js"],"sourcesContent":["import _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/account';\n\nconst\n  convertDate = (dateStr) => {\n    try {\n      return Date.parse(dateStr);\n    } catch (e) {\n      return null;\n    }\n  },\n  processGetAccount = (state) => {\n    return update(state, {\n      loading: { $set: true },\n      loaded: { $set: false }\n    });\n  },\n  processGetAccountComplete = (state, action, data) => {\n    if (action.error) {\n      return update(state, {\n        loading: { $set: false },\n        loaded: { $set: false },\n        actionError: { $set: 3000 }\n      });\n    }\n\n    const {\n      account_uuid: id,\n      account_email: email,\n      account_name: name,\n      account_phone: phoneNumber,\n      account_status: status,\n      account_type: type = '',\n      created_datetime: createdDateStr,\n      status_updated_datetime: statusUpdatedDateStr,\n      first_name: firstName,\n      middle_name: middleName,\n      last_name: lastName,\n      suffix,\n      international = false,\n      self_declared_business_name: companyName = '',\n      self_declared_business_type: jobType = '',\n      self_declared_business_type_other_text: jobTypeDescription = '',\n      lead = {}\n    } = data;\n\n    return update(state, {\n      loading: { $set: false },\n      loaded: { $set: true },\n      id: { $set: id },\n      email: { $set: email },\n      name: { $set: name },\n      phoneNumber: { $set: phoneNumber },\n      status: { $set: status },\n      type: { $set: type },\n      international: { $set: international },\n      firstName: { $set: firstName },\n      middleName: { $set: middleName },\n      lastName: { $set: lastName },\n      suffix: { $set: suffix },\n      companyName: { $set: companyName },\n      jobType: { $set: jobType },\n      jobTypeDescription: { $set: jobTypeDescription },\n      createdDate: { $set: convertDate(createdDateStr) },\n      statusUpdatedDate: { $set: convertDate(statusUpdatedDateStr) },\n      lead: { $set: lead }\n    });\n  },\n  processAcceptTOS = (state) => {\n    return update(state, {\n      tosAccept: { $set: true }\n    });\n  },\n  resetAccountData = (state) => {\n    return update(state, {\n      name: { $set: undefined },\n      createdDate: { $set: undefined }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_ACCOUNT]: processGetAccount,\n    [ACTIONS.GET_ACCOUNT_COMPLETE]: processGetAccountComplete,\n    [ACTIONS.ACCEPT_TOS_COMPLETE]: processAcceptTOS,\n    [ACTIONS.SET_LOGOUT]: resetAccountData\n  };\n\nexport default function (state = { loaded: false, loading: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/account';\n\nconst\n  INITIAL_STATE = {\n    loading: false,\n    loaded: false,\n    adding: false,\n    updating: [],\n    deleting: [],\n    settingDefault: [],\n    actionError: 0,\n    ids: [],\n    paymentMethods: {},\n    isRecurly: false,\n    defaultId: ''\n  },\n  getPaymentMethodUpdates = (state, method) => {\n    const { id, last4, exp_month: expMonthVal, exp_year: expYearVal, brand } = method,\n      expMonth = `${expMonthVal}`,\n      expYear = `${expYearVal}`.substring(2),\n      hasKey = !!state.paymentMethods[id];\n\n    if (!hasKey) {\n      return {\n        [id]: { $set: {\n          id, expMonth, expYear, last4, brand\n        } }\n      };\n    }\n    return {\n      [id]: {\n        id: { $set: id },\n        expMonth: { $set: expMonth },\n        expYear: { $set: expYear },\n        last4: { $set: last4 },\n        brand: { $set: brand }\n      }\n    };\n  },\n  processGetPaymentMethods = (state) => {\n    return update(state, {\n      loading: { $set: true }\n    });\n  },\n  processGetPaymentMethodsComplete = (state, action, data) => {\n    if (action.error) {\n      return update(state, {\n        loading: { $set: false },\n        loaded: { $set: false },\n        actionError: { $set: 3000 }\n      });\n    }\n    const { sources: paymentMethods, default_source: defaultId, is_recurly: isRecurly = false } = data,\n      updates = { paymentMethods: {} },\n      ids = _map(paymentMethods, (method) => {\n        _assign(updates.paymentMethods, getPaymentMethodUpdates(state, method, defaultId));\n        return method.id;\n      });\n\n    _assign(updates, {\n      loading: { $set: false },\n      loaded: { $set: true },\n      ids: { $set: ids },\n      defaultId: { $set: defaultId },\n      isRecurly: { $set: isRecurly },\n      actionError: { $set: 0 }\n    });\n    return update(state, updates);\n  },\n  processAddPaymentMethod = (state) => {\n    return update(state, {\n      adding: { $set: true }\n    });\n  },\n  processAddPaymentMethodComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        adding: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    const { id, expMonth, expYear, cardNumber, brand, isDefault, last4 } = data,\n      defaultId = isDefault ? id : state.defaultId;\n\n    return update(state, {\n      adding: { $set: false },\n      defaultId: { $set: defaultId },\n      actionError: { $set: 0 },\n      paymentMethods: {\n        [id]: { $set: { id, expMonth, expYear, last4: cardNumber ? cardNumber.substring(cardNumber.length - 4) : last4, brand } }\n      }\n    });\n  },\n  processDeletePaymentMethod = (state, action, data) => {\n    return update(state, {\n      deleting: { $push: [ data.id ] }\n    });\n  },\n  processDeletePaymentMethodComplete = (state, action, data) => {\n    const index = state.updating.indexOf(data.id);\n    if (action.error) {\n      return update(state, {\n        deleting: { $splice: [ [ index, 1 ] ] },\n        actionError: { $set: 500 }\n      });\n    }\n\n    const { id } = data;\n\n    return update(state, {\n      paymentMethods: {\n        $unset: [ id ]\n      },\n      actionError: { $set: 0 },\n      deleting: { $splice: [ [ index, 1 ] ] }\n    });\n  },\n  processSetDefaultPaymentMethod = (state, action, data) => {\n    return update(state, {\n      settingDefault: { $push: [ data.id ] }\n    });\n  },\n  processSetDefaultPaymentMethodComplete = (state, action, data) => {\n    const index = state.updating.indexOf(data.id);\n    if (action.error) {\n      return update(state, {\n        settingDefault: { $splice: [ [ index, 1 ] ] },\n        actionError: { $set: 500 }\n      });\n    }\n\n    const { id } = data;\n\n    return update(state, {\n      settingDefault: { $splice: [ [ index, 1 ] ] },\n      actionError: { $set: 0 },\n      defaultId: { $set: id }\n    });\n  },\n  processUpdatePaymentMethod = (state, action, data) => {\n    return update(state, {\n      updating: { $push: [ data.id ] }\n    });\n  },\n  processUpdatePaymentMethodComplete = (state, action, data) => {\n    const index = state.updating.indexOf(data.id);\n\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        updating: { $splice: [ [ index, 1 ] ] },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    const { id, expMonth, expYear } = data;\n\n    return update(state, {\n      updating: { $splice: [ [index, 1 ]] },\n      actionError: { $set: 0 },\n      paymentMethods: {\n        [id]: {\n          expMonth: { $set: expMonth },\n          expYear: { $set: expYear }\n        }\n      }\n    });\n  },\n  processMap = {\n    [ACTIONS.ADD_PAYMENT_METHOD]: processAddPaymentMethod,\n    [ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPaymentMethodComplete,\n    [ACTIONS.DELETE_PAYMENT_METHOD]: processDeletePaymentMethod,\n    [ACTIONS.DELETE_PAYMENT_METHOD_COMPLETE]: processDeletePaymentMethodComplete,\n    [ACTIONS.SET_PAYMENT_METHOD_DEFAULT]: processSetDefaultPaymentMethod,\n    [ACTIONS.SET_PAYMENT_METHOD_DEFAULT_COMPLETE]: processSetDefaultPaymentMethodComplete,\n    [ACTIONS.UPDATE_PAYMENT_METHOD]: processUpdatePaymentMethod,\n    [ACTIONS.UPDATE_PAYMENT_METHOD_COMPLETE]: processUpdatePaymentMethodComplete,\n    [ACTIONS.GET_PAYMENT_METHODS]: processGetPaymentMethods,\n    [ACTIONS.GET_PAYMENT_METHODS_COMPLETE]: processGetPaymentMethodsComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport details from './details';\nimport paymentMethods from './paymentMethods';\n\nexport default combineReducers({\n  details,\n  paymentMethods\n});\n","import _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst\n  processSetActive = (state, action, data) => {\n    const { activeId } = data;\n\n    return update(state, {\n      activeId: { $set: activeId }\n    });\n  },\n  processGetCompaniesComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n\n    const { companies } = data,\n      { companyMap, lastActiveId } = _reduce(companies, (map, company) => {\n        const { business_entity_uuid: businessEntityId, business_entity_name: name } = company;\n        map.companyMap[businessEntityId] = name;\n        map.lastActiveId = businessEntityId;\n        return map;\n      }, { companyMap: {}, lastActiveId: '' }),\n      activeId = state.activeId || lastActiveId;\n    return update(state, {\n      list: { $set: companyMap },\n      activeId: { $set: activeId }\n    });\n  },\n  processMap = {\n    [ACTIONS.SET_ACTIVE_COMPANY]: processSetActive,\n    [ACTIONS.GET_COMPANIES_COMPLETE]: processGetCompaniesComplete\n  };\n\nexport default function (state = { activeId: '', list: {} }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport _isEqual from 'lodash/isEqual';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst SIMULATED_ENTITY_NAME = 'My Business';\n\nconst\n  EMPTY_ADDRESS = {\n    address_1: '',\n    address_2: '',\n    city: '',\n    county: '',\n    state: '',\n    zip: '',\n    country: '',\n    phone: '',\n    email: ''\n  },\n  convertAddress = (address) => {\n    if (!address) {\n      return EMPTY_ADDRESS;\n    }\n    const { address_1, address_line1, address_2, address_line2, city, country, county, state, zip: zipCode, phone: phoneNumber, email } = address;\n    return {\n      addressLine1: address_1 ?? address_line1, // eslint-disable-line camelcase\n      addressLine2: address_2 ?? address_line2, // eslint-disable-line camelcase\n      city,\n      county,\n      state,\n      zipCode,\n      country,\n      email,\n      phoneNumber\n    };\n  },\n  convertUser = (user) => {\n    if (!user) {\n      return {};\n    }\n    const { first_name: firstName, middle_name: middleName, last_name: lastName, suffix, company_name: companyName, outstanding_judgments: outstandingJudgments } = user;\n\n    return _assign(convertAddress(user), {\n      firstName,\n      middleName,\n      lastName,\n      suffix,\n      companyName,\n      outstandingJudgments\n    });\n  },\n  convertMember = (user) => {\n    if (!user) {\n      return {};\n    }\n    const { manager } = user;\n\n    return _assign(convertUser(user), { manager: manager || false });\n  },\n  convertCorpUser = (user) => {\n    if (!user) {\n      return {};\n    }\n    const { title } = user;\n\n    return _assign(convertUser(user), { title: title || '' });\n  },\n  processGetCompaniesComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n\n    let domesticJurisdiction = '';\n\n    const { companies } = data,\n      companyMap = _reduce(companies, (map, company) => {\n        const\n          {\n            business_entity_uuid: businessEntityId,\n            business_entity_name: name,\n            business_entity_type: entityType,\n            business_entity_data: entityData,\n            business_entity_website_url: staticWebsiteUrl = '',\n            business_industry: businessIndustry,\n            naics_code: naicsCode = '',\n            jurisdictions: jurs = [],\n            domains,\n            domain_names: domainNames = [],\n            domain_privacy: domainPrivacy = [],\n            domestic_jurisdiction_code: domesticJurisdictionInEntity,\n            credits: creds = [],\n            business_purpose: topBusinessPurpose,\n            formation_status: formationStatus,\n            formed_by: formedBy\n          } = company,\n          {\n            address: physicalAddress = EMPTY_ADDRESS,\n            authorized_shares,\n            par_value,\n            mailing_address: mailingAddress = EMPTY_ADDRESS,\n            principal_address: principalAddress = EMPTY_ADDRESS,\n            business_purpose: nestedBusinessPurpose,\n            contact,\n            sop_contact: sopContact = null,\n            authorized_signatory: authorizedSignatory = null,\n            manager_type: managerType,\n            managers,\n            members,\n            directors,\n            officers,\n            registered_agent: registeredAgent,\n            ein = ''\n          } = entityData,\n          // business_purpose moved to the top-level entity in the current API; fall back to the\n          // nested business_entity_data for older payloads.\n          description = topBusinessPurpose || nestedBusinessPurpose,\n          formType = entityType === 'corp' ? 'CORP' : 'LLCX',\n          type = entityType === 'sole_prop' ? 'SOLE' : formType,\n          structure = managerType,\n          isPhysicalAddressEmpty = _isEqual(physicalAddress, EMPTY_ADDRESS),\n          isMailingAddressEmpty = _isEqual(mailingAddress, EMPTY_ADDRESS),\n          convertedPrincipalAddress = convertAddress(principalAddress),\n          convertedMailingAddress = convertAddress(mailingAddress),\n          convertedPhysicalAddress = convertAddress(physicalAddress),\n          usePhysicalAsMailing = !isPhysicalAddressEmpty && _isEqual(convertedPhysicalAddress, convertedMailingAddress),\n          usePhysicalAsPrincipal = !isPhysicalAddressEmpty && _isEqual(convertedPhysicalAddress, convertedPrincipalAddress),\n          useMailingAsPrincipal = !isMailingAddressEmpty && _isEqual(convertedMailingAddress, convertedPrincipalAddress),\n          credits = creds.filter((\n            {\n              credit_balance_status: creditStatus = 'inactive',\n              service_product_name_id: creditService = ''\n            }) => {\n            return creditStatus === 'active' &&\n              ['worry_free_service', 'worry_free_service_advanced', 'worry_free_service_advanced_addon']\n                .includes(creditService);\n          })\n            .map(({\n              total_credits: totalCredits = 0,\n              jurisdiction = '',\n              credit_balance_uuid: creditUUID = '',\n              created_datetime: createdDate = ''\n            }) => {\n              return {\n                count: totalCredits,\n                jurisdiction,\n                uuid: creditUUID,\n                createdDate\n              };\n            }),\n          worryFreeServiceAdvancedCredits = creds.filter((\n            {\n              credit_balance_status: creditStatus = 'inactive',\n              service_product_name_id: creditService = ''\n            }) => {\n            return creditStatus === 'active' &&\n              ['worry_free_service_advanced', 'worry_free_service_advanced_addon']\n                .includes(creditService);\n          })\n            .map(({\n              total_credits: totalCredits = 0,\n              jurisdiction = '',\n              credit_balance_uuid: creditUUID = '',\n              created_datetime: createdDate = ''\n            }) => {\n              return {\n                count: totalCredits,\n                jurisdiction,\n                uuid: creditUUID,\n                createdDate\n              };\n            }),\n          jurisdictions =  _map(jurs, (jur) => {\n            const\n              {\n                jurisdiction_code: jurisdiction,\n                jurisdiction_filing_date: filingDate = '',\n                jurisdiction_filing_number: stateId = '',\n                extra_state_info: extraStateInfo = {},\n                domestic_flag: isDomestic = false\n              } = jur,\n              {\n                state_pin: statePIN = '',\n                elective_ceo: electiveCEO = null\n              } = extraStateInfo;\n\n            if (isDomestic || !domesticJurisdiction) {\n              domesticJurisdiction = jurisdiction;\n            }\n            return {\n              jurisdiction,\n              isDomestic,\n              filingDate,\n              stateId,\n              statePIN,\n              electiveCEO: electiveCEO ? convertUser(electiveCEO) : null\n            };\n          });\n\n        if (type === 'LLCX') {\n          map[businessEntityId] = {\n            name,\n            type,\n            description,\n            ein,\n            naicsCode,\n            businessIndustry,\n            domesticJurisdiction: domesticJurisdictionInEntity || domesticJurisdiction || '',\n            staticWebsiteUrl,\n            address: convertedPhysicalAddress,\n            formationStatus,\n            formedBy,\n            principalAddress: convertedPrincipalAddress,\n            mailingAddress: convertedMailingAddress,\n            physicalAddress: convertedPhysicalAddress,\n            usePhysicalAsMailing,\n            usePhysicalAsPrincipal,\n            useMailingAsPrincipal,\n            contact: convertUser(contact),\n            sopContact: sopContact ? convertUser(sopContact) : null,\n            officialStateContact: contact ? convertUser(contact) : null,\n            authorizedSignatory: authorizedSignatory ? convertCorpUser(authorizedSignatory) : null,\n            members: _map(members, (member) => { return convertMember(member); }),\n            managers: _map(managers, (manager) => { return convertUser(manager); }),\n            structure,\n            registeredAgent: convertUser(registeredAgent),\n            credits,\n            worryFreeServiceAdvancedCredits,\n            jurisdictions,\n            domains,\n            domainNames,\n            domainPrivacy,\n            isSimulated: name === SIMULATED_ENTITY_NAME\n          };\n        } else if (type === 'CORP') {\n          map[businessEntityId] = {\n            name,\n            type,\n            description,\n            businessIndustry,\n            domesticJurisdiction,\n            ein,\n            formationStatus,\n            formedBy,\n            naicsCode,\n            staticWebsiteUrl,\n            address: convertedPhysicalAddress,\n            principalAddress: convertedPrincipalAddress,\n            mailingAddress: convertedMailingAddress,\n            physicalAddress: convertedPhysicalAddress,\n            usePhysicalAsMailing,\n            usePhysicalAsPrincipal,\n            useMailingAsPrincipal,\n            contact: convertUser(contact),\n            sopContact: sopContact ? convertUser(sopContact) : null,\n            officialStateContact: contact ? convertUser(contact) : null,\n            authorizedSignatory: authorizedSignatory ? convertCorpUser(authorizedSignatory) : null,\n            directors: _map(directors, (director) => { return convertCorpUser(director); }),\n            officers: _map(officers, (officer) => { return convertCorpUser(officer); }),\n            registeredAgent: convertUser(registeredAgent),\n            stockInfo: {\n              authorizedShares: authorized_shares,\n              valuePerShare: par_value\n            },\n            credits,\n            worryFreeServiceAdvancedCredits,\n            jurisdictions,\n            domains,\n            domainNames,\n            domainPrivacy,\n            isSimulated: name === SIMULATED_ENTITY_NAME\n          };\n        } else {\n          map[businessEntityId] = {\n            name,\n            type,\n            description,\n            ein,\n            formationStatus,\n            formedBy,\n            naicsCode,\n            businessIndustry,\n            domesticJurisdiction,\n            staticWebsiteUrl,\n            address: convertedPhysicalAddress,\n            principalAddress: convertedPrincipalAddress,\n            mailingAddress: convertedMailingAddress,\n            physicalAddress: convertedPhysicalAddress,\n            usePhysicalAsMailing,\n            usePhysicalAsPrincipal,\n            useMailingAsPrincipal,\n            members: _map(members, (member) => { return convertMember(member, managerType); }),\n            managers: [],\n            credits,\n            worryFreeServiceAdvancedCredits,\n            jurisdictions,\n            domains,\n            domainNames,\n            domainPrivacy,\n            isSimulated: name === SIMULATED_ENTITY_NAME\n          };\n        }\n        return map;\n      }, {});\n\n    return update(state, {\n      list: { $set: companyMap }\n    });\n  },\n\n  processMap = {\n    [ACTIONS.GET_COMPANIES_COMPLETE]: processGetCompaniesComplete\n  };\n\nexport default function (state = { activeId: '', list: {} }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  serviceMap = {\n    '1800_accountant': 'accountant1800',\n    accounting: 'accountingOld',\n    accounting_grow_and_scale: 'accounting',\n    accounting_quick_start: 'accounting',\n    accounting_up_and_running: 'accounting',\n    annual_report_service: 'annualReportService',\n    anonymity: 'anonymity',\n    banking: 'banking',\n    banking_resolution: 'bankingResolution',\n    basic_email: 'basicEmail',\n    beneficial_ownership_filing: 'beneficialOwnershipFiling',\n    business_license_report: 'businessLicenseReport',\n    change_of_registered_agent: 'changeOfAgent',\n    corp_amendment: 'amendment',\n    corp_formation: 'corpFormation',\n    corporate_docs: 'corporateDocs',\n    cpa_consult: 'cpaConsult',\n    dba_compliance: 'dbaCompliance',\n    dba_entity: 'dbaEntity',\n    domain_name_privacy: 'domainNamePrivacy',\n    domain_name_reg: 'domainName',\n    ein_creation: 'ein',\n    entity_name_reservation: 'nameReservation',\n    expedite: 'expedite',\n    future_file_date: 'futureFileDate',\n    initial_cpa_screening: 'initialCPAScreening',\n    insurance: 'insurance',\n    llc_amendment: 'amendment',\n    llc_formation: 'llcFormation',\n    logo_kit: 'logoKit',\n    ny_publication: 'nyPublication',\n    ongoing_bof_compliance: 'ongoingBofCompliance',\n    operating_agreement: 'operatingAgreement',\n    other: 'other',\n    registered_agent_service: 'registeredAgent',\n    rush: 'expedite',\n    s_corp_designation: 'sCorpDesignation',\n    smb_ecomm_addon: 'smbEcommAddon',\n    smb_website_ecomm_bundle: 'smbWebsiteEcommBundle',\n    standard_good_standing: 'goodStanding',\n    static_website: 'staticWebsite',\n    tax_preparation: 'taxPreparation',\n    wfg_initial_report: 'wfgInitialReport',\n    worry_free_service: 'worryFree',\n    zb_money_essential: 'zbmEssential',\n    zb_money_pro: 'zbmPro'\n  },\n  getOrderUpdates = (order, updates) => {\n    const { order_uuid: orderId, order_items: orderItems, business_entity_uuid: businessEntityId } = order;\n\n    // Remove cancelled order items - without it accounts are prevented from re-ordering canceled orders\n    const nonCancelledOrders = orderItems.filter((item) => {\n      return item && item.status !== 'canceled';\n    });\n\n    const items = _reduce(nonCancelledOrders, (collect, data) => {\n      const serv = _get(data, 'service', ''),\n        isCanceled = _get(data, 'status', '') === 'canceled';\n\n      if (serv && !isCanceled) {\n        if (serv.indexOf('starter_plan') !== -1 || serv.indexOf('pro_plan') !== -1 || serv.indexOf('premium_plan') !== -1) {\n          collect.planLevel = orderId;\n        } else {\n          collect[serviceMap[serv] || serv] = orderId;\n        }\n      }\n      return collect;\n    }, {\n      accountant1800: '',\n      accounting: '',\n      accountingOld: '',\n      amendment: '',\n      annualReportService: '',\n      anonymity: '',\n      banking: '',\n      bankingResolution: '',\n      basicEmail: '',\n      beneficialOwnershipFiling: '',\n      businessLicenseReport: '',\n      changeOfAgent: '',\n      corpFormation: '',\n      corporateDocs: '',\n      cpaConsult: '',\n      dbaCompliance: '',\n      dbaEntity: '',\n      domainName: '',\n      domainNamePrivacy: '',\n      ein: '',\n      expedite: '',\n      futureFileDate: '',\n      goodStanding: '',\n      initialCPAScreening: '',\n      insurance: '',\n      llcFormation: '',\n      logoKit: '',\n      nameReservation: '',\n      nyPublication: '',\n      ongoingBofCompliance: '',\n      operatingAgreement: '',\n      other: '',\n      registeredAgent: '',\n      sCorpDesignation: '',\n      smbEcommAddon: '',\n      smbWebsiteEcommBundle: '',\n      staticWebsite: '',\n      taxPreparation: '',\n      wfgInitialReport: '',\n      worryFree: '',\n      zbmEssential: '',\n      zbmPro: '',\n      planLevel: ''\n    });\n\n    if (!updates[businessEntityId]) {\n      updates[businessEntityId] = items;\n    } else {\n      _reduce(items, (collect, item, key) => {\n        if (item) {\n          collect[key] = item;\n        }\n        return collect;\n      }, updates[businessEntityId]);\n    }\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      getOrderUpdates(order, updates);\n    });\n    return update(state, _reduce(updates, (collect, up, key) => {\n      collect[key] = { $set: up };\n      return collect;\n    }, {}));\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.business_entity_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\n\nconst\n  convertDate = (dateStr) => {\n    try {\n      return Date.parse(dateStr);\n    } catch (e) {\n      return null;\n    }\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders: orderList } = data,\n      orders = orderList.sort((a, b) => {\n        const aDate = convertDate(a.created_datetime),\n          bDate = convertDate(b.created_datetime);\n        return aDate < bDate ? 1 : -1;\n      }),\n      idMap = _reduce(orders, (map, order) => {\n        const { order_status: orderStatus, order_uuid: orderId, business_entity_uuid: businessEntityId } = order;\n\n        if (orderStatus === 'incomplete') {\n          // Here, we need to determine if the order is an operating agreement.\n          // API-934: guard against slim payloads where order_items may be absent\n          const isOpAgree = !!_find(order.order_items || [], (oi) => {\n            return oi.service === 'operating_agreement';\n          });\n          if (!isOpAgree) {\n            return map;\n          }\n        }\n\n        if (map[businessEntityId]) {\n          map[businessEntityId].push(orderId);\n        } else {\n          map[businessEntityId] = [ orderId ];\n        }\n        return map;\n      }, {});\n\n    return update(state, _reduce(idMap, (updates, value, key) => {\n      updates[key] = { $set: value };\n      return updates;\n    }, {}));\n  },\n  processMap = {\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete\n  };\n\nexport default function (state = { loaded: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_INITIALCPASCREENING_ACTIONS } from '../../constants/register_initialcpascreening';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_SMB_ECOMM_ADDON_ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport { ACTIONS as REG_SMB_WEBSITE_OR_ECOMM_ACTIONS } from '../../constants/register_smb_website_or_ecomm';\n\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\n\nconst\n  getBusinessType = (entityType) => {\n    if (entityType === 'corp') {\n      return 'CORP';\n    }\n    if (entityType === 'llc') {\n      return 'LLCX';\n    }\n    if (entityType === 'sole_prop') {\n      return 'SOLE';\n    }\n    return '';\n  },\n  getCompanyUpdates = (company, hasKey) => {\n    const { active_flag: isActive, business_entity_uuid: businessEntityId, domestic_jurisdiction_code: domesticJurisdiction, business_entity_data: companyData } = company,\n      { business_entity_name: name, business_entity_type: entityType } = company,\n      { ein = '', address } = companyData;\n\n    if (!hasKey) {\n      return {\n        [businessEntityId]: { $set: {\n          isActive, ein, domesticJurisdiction, address, name, type: getBusinessType(entityType)\n        } }\n      };\n    }\n    return {\n      [businessEntityId]: {\n        isActive: { $set: isActive },\n        ein: { $set: ein },\n        name: { $set: name },\n        type: { $set: getBusinessType(entityType) },\n        domesticJurisdiction: { $set: domesticJurisdiction },\n        address: { $set: address }\n      }\n    };\n  },\n  processGetCompanies = (state) => {\n    return update(state, {\n      loading: { $set: true },\n      loaded: { $set: false },\n      needsRefresh: { $set: false }\n    });\n  },\n  processGetCompaniesComplete = (state, action, data) => {\n    if (action.error) {\n      return update(state, {\n        loading: { $set: false },\n        loaded: { $set: false },\n        actionError: { $set: 3000 }\n      });\n    }\n    const { companies } = data,\n      updates = {},\n      ids = _map(companies, (company) => {\n        _assign(updates, getCompanyUpdates(company, !!state[company.business_entity_uuid]));\n        return company.business_entity_uuid;\n      });\n\n    _assign(updates, {\n      loading: { $set: false },\n      loaded: { $set: true },\n      needsRefresh: { $set: false },\n      ids: { $set: ids },\n      actionError: { $set: 0 }\n    });\n    return update(state, updates);\n  },\n  processGetCompanyComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getCompanyUpdates(data, !!state[data.business_entity_uuid]));\n  },\n  refreshCompanies = (state, action, data, reducerData) => {\n    const { business = {} } = reducerData || {},\n      { status = 'incomplete' } = business;\n\n    if (action.error || status === 'incomplete') {\n      return state;\n    }\n    return update(state, {\n      needsRefresh: { $set: true }\n    });\n  },\n  refreshCompaniesNoStatusCheck = (state, action) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, {\n      needsRefresh: { $set: true }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_COMPANIES]: processGetCompanies,\n    [ACTIONS.GET_COMPANIES_COMPLETE]: processGetCompaniesComplete,\n    [ACTIONS.GET_COMPANY_COMPLETE]: processGetCompanyComplete,\n    [CORP_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshCompanies,\n    [EIN_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshCompanies,\n    [LLC_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshCompanies,\n    [POSTPURCHASE_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshCompanies,\n    [BUSINESS_ACTIONS.UPDATE_BUSINESS_COMPLETE]: refreshCompaniesNoStatusCheck,\n    [REG_ACCOUNTING_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_BASICEMAIL_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_BUSINESS_ACTIONS.CREATE_BUSINESS_COMPLETE]: refreshCompaniesNoStatusCheck,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_DBA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_INITIALCPASCREENING_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_GS_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_LOGOKIT_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REGISTRATION_ACTIONS.CREATE_ORDER_COMPLETE]: refreshCompanies,\n    [REG_SMB_WEBSITE_ACTIONS]: refreshCompanies,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS]: refreshCompanies,\n    [REG_SMB_ECOMM_ADDON_ACTIONS]: refreshCompanies,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS]: refreshCompanies\n  };\n\nexport default function (state = { loading: false, loaded: false, needsRefresh: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    reducerData = _get(action, 'payload.reducerData', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data, reducerData) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport companies from './companies';\nimport data from './data';\nimport items from './items';\nimport orders from './orders';\nimport status from './status';\n\nexport default combineReducers({\n  companies,\n  data,\n  items,\n  orders,\n  status\n});\n","import _assign from 'lodash/assign';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst\n  convertDate = (dateStr) => {\n    if (!dateStr) {\n      return 0;\n    }\n    try {\n      return Date.parse(dateStr);\n    } catch (e) {\n      return 0;\n    }\n  },\n  getFileUpdates = (file, companyId, hasKey) => {\n    const { document_uuid: documentId, name, category, meta_data: url, created: createdDateStr } = file,\n      createdDate = convertDate(createdDateStr);\n\n    if (!hasKey) {\n      return {\n        [documentId]: { $set: {\n          documentId, name, category, url, createdDate, companyId\n        } }\n      };\n    }\n    return {\n      [documentId]: {\n        documentId: { $set: documentId },\n        name: { $set: name },\n        category: { $set: category },\n        url: { $set: url },\n        createdDate: { $set: createdDate }\n      }\n    };\n  },\n  processGetFilesComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { companyId, files } = data,\n      updates = {};\n\n    _forEach(files, (file) => {\n      _assign(updates, getFileUpdates(file, companyId, !!state[file.document_uuid]));\n    });\n    return update(state, updates);\n  },\n  processMap = {\n    [ACTIONS.GET_FILES_COMPLETE]: processGetFilesComplete\n  };\n\nexport default function (state = { loading: false, loaded: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst\n  processDocuments = (state, action, data) => {\n    const { documents } = data;\n\n    const normalizedDocuments = [];\n\n    if (documents && documents.length > 0) {\n      documents.forEach((document) => {\n        normalizedDocuments.push({\n          id: document.corporate_document_uuid,\n          name: document.title,\n          url: document.url,\n          isOpAgree: false,\n          isOpAgreeGeneric: false,\n          isCorpBylaws: false,\n          isVirtualGuide: false,\n          isCorporateDoc: true\n        });\n      });\n    }\n\n    return update(state, {\n      all: { $set: normalizedDocuments || [] }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_FILES_COMPLETE]: processDocuments\n  };\n\nexport default function (state = { all: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/companies';\n\nconst\n  convertDate = (dateStr) => {\n    try {\n      return Date.parse(dateStr);\n    } catch (e) {\n      // DJL - Testing return getFunDate();\n      return new Date().getTime();\n    }\n  },\n  processGetFiles = (state, action, data) => {\n    const { id } = data;\n\n    return update(state, {\n      [id]: { $set: { loading: true, loaded: false, ids: [], actionError: 0 } }\n    });\n  },\n  processGetFilesComplete = (state, action, data) => {\n    const { companyId: id } = data;\n\n    if (action.error) {\n      return update(state, {\n        [id]: { $set: { loading: false, loaded: false, ids: [], actionError: 3000 } }\n      });\n    }\n\n    const { files: fileList } = data,\n      files = fileList.sort((a, b) => {\n        const aDate = convertDate(a.uploaded_date),\n          bDate = convertDate(b.uploaded_date);\n\n        return aDate < bDate ? -1 : 1;\n      }),\n      ids = _map(files, (file) => {\n        return file.document_uuid;\n      });\n\n    return update(state, {\n      [id]: { $set: { loading: false, loaded: true, ids, actionError: 0 } }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_FILES]: processGetFiles,\n    [ACTIONS.GET_FILES_COMPLETE]: processGetFilesComplete\n  };\n\nexport default function (state = { loading: false, loaded: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport data from './data';\nimport documents from './documents';\nimport status from './status';\n\nexport default combineReducers({\n  data,\n  documents,\n  status\n});\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/initialization';\nimport { getAppEntryPoint, setAppEntryPoint } from '../../utils/AppEntryPoint';\n\nconst\n  INITIAL_STATE = {\n    entryPoint: getAppEntryPoint()\n  },\n  update = (state, info) => {\n    return updateHelper(state, info);\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const data = _get(action, 'payload.data', {});\n\n  switch (action.type) {\n\n    case ACTIONS.SET_APP_ENTRY_POINT: {\n      return update(state, {\n        entryPoint: { $set: setAppEntryPoint(data ? data.entryPoint : '') }\n      });\n    }\n    default:\n      return state;\n  }\n}\n","import _get from 'lodash/get';\nimport { ACTIONS } from '../../constants/initialization';\n\nconst INITIAL_STATE = {\n  plans: {},\n  coupons: {}\n};\n\nexport default function (state = INITIAL_STATE, action) {\n  const { plans, coupons } = _get(action, 'payload.data', {});\n\n  switch (action.type) {\n    case ACTIONS.SET_INITIALIZATION: {\n      return {\n        ...state,\n        plans,\n        coupons\n      };\n    }\n    default:\n      return state;\n  }\n}\n","import { combineReducers } from 'redux';\n\nimport entryPoint from './entryPoint';\nimport fees from './fees';\nimport pricing from './pricing';\n\nexport default combineReducers({\n  entryPoint,\n  fees,\n  pricing\n});\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'accounting_grow_and_scale' || service === 'accounting_quick_start' || service === 'accounting_up_and_running';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { service, business_entity_type: entityType, business_entity_name: name, jurisdiction: domesticJurisdiction } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            service,\n            businessType,\n            name,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          service: { $set: service },\n          businessType: { $set: businessType },\n          name: { $set: name },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOwner = (owner, contact) => {\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = owner,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = owner,\n      { citizenship, ownership_percentage: percentFloat, date_of_birth: dob, role, ein } = owner,\n      percent = `${percentFloat}`,\n      { first_name: contactFirstName = '', middle_name: contactMiddleName = '', last_name: contactLastName = '', suffix: contactSuffix = '', company_name: contactCompanyName = '' } = contact,\n      accountOwner = firstName === contactFirstName && middleName === contactMiddleName && lastName === contactLastName && suffix === contactSuffix && companyName === contactCompanyName;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, county, state, zipCode, country, email, phoneNumber, citizenship, percent, dob, role, ein, accountOwner };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'accounting';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, business_entity_address: address, business_purpose: description } = item,\n        { corporation_type: taxedAsSCorp, jurisdiction: domesticJurisdiction, phone: phoneNumber, ein } = item,\n        { has_bank_accounts: hasBankAccounts, bank_accounts: bankAccounts, has_credit_cards: hasCreditCards, credit_cards: creditCards } = item,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '' } = address,\n        { naics: businessActivity, naics_description: businessActivityOther, company_members: ownerList, business_entity_contact: contact } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX',\n        owners = _map(ownerList, (owner) => {\n          return getOwner(owner, contact);\n        });\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            description,\n            taxedAsSCorp,\n            domesticJurisdiction,\n            phoneNumber,\n            addressLine1,\n            addressLine2,\n            city,\n            county,\n            state,\n            zipCode,\n            country,\n            ein,\n            businessActivity,\n            businessActivityOther,\n            owners,\n            hasBankAccounts,\n            bankAccounts,\n            hasCreditCards,\n            creditCards\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction },\n          phoneNumber: { $set: phoneNumber },\n          taxedAsSCorp: { $set: taxedAsSCorp },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          county: { $set: county },\n          state: { $set: state },\n          zipCode: { $set: zipCode },\n          country: { $set: country },\n          ein: { $set: ein },\n          businessActivity: { $set: businessActivity },\n          businessActivityOther: { $set: businessActivityOther },\n          owners: { $set: owners },\n          hasBankAccounts: { $set: hasBankAccounts },\n          bankAccounts: { $set: bankAccounts },\n          hasCreditCards: { $set: hasCreditCards },\n          creditCards: { $set: creditCards }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_amendment' || service === 'corp_amendment';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, jurisdiction: domesticJurisdiction } = item,\n        { amendment_type: type, amendment_description: description } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            type,\n            description,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          type: { $set: type },\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOwner = (owner, contact, numOwners) => {\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = owner,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = owner,\n      { citizenship, ownership_percentage: percentFloat, date_of_birth: dob, role, ein } = owner,\n      percent = `${percentFloat}`,\n      { first_name: contactFirstName = '', middle_name: contactMiddleName = '', last_name: contactLastName = '', suffix: contactSuffix = '', company_name: contactCompanyName = '' } = contact || {},\n      accountOwner = (contact === null && numOwners === 1) || (firstName === contactFirstName && middleName === contactMiddleName && lastName === contactLastName && suffix === contactSuffix && companyName === contactCompanyName);\n\n    return { firstName, middleName, lastName, companyName, addressLine1, addressLine2, city, county, state, zipCode, country, email, phoneNumber, citizenship, percent, dob, role, ein, accountOwner, access: true };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'banking';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, business_entity_address: address, business_purpose: description } = item,\n        { jurisdiction: domesticJurisdiction, phone: phoneNumber, business_dba_name: dbas, ein } = item,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '' } = address,\n        { naics: businessActivity, naics_description: businessActivityOther, bank_account_members: ownerList, business_entity_contact: contact } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX',\n        owners = _map(ownerList, (owner) => {\n          return getOwner(owner, contact, ownerList.length);\n        });\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType, name, description, domesticJurisdiction, phoneNumber, addressLine1, addressLine2, city, county, state, zipCode, country, dbas, ein, businessActivity, businessActivityOther, owners\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction },\n          phoneNumber: { $set: phoneNumber },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          county: { $set: county },\n          state: { $set: state },\n          zipCode: { $set: zipCode },\n          country: { $set: country },\n          dbas: { $set: dbas },\n          ein: { $set: ein },\n          businessActivity: { $set: businessActivity },\n          businessActivityOther: { $set: businessActivityOther },\n          owners: { $set: owners }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getFormationProductUpdates = (orderId, item, hasKey) => {\n    const\n      { service,\n        entity_type: entityType = '',\n        alternates = [],\n        address,\n        mailing_address: mailingAddress = null,\n        jurisdiction: requestedJurisdiction,\n        domestic_jurisdiction: domesticJurisdiction = item.jurisdiction,\n        foreign_jurisdictions: foreignJurisdictions = [],\n        domestic_entity: domesticEntity = true,\n        has_foriegn_jurisdictions: hasForeignJurisdictions = false,\n        domestic_filing_date: domesticFilingDate = '',\n        state_id: stateId = '',\n        business_purpose: description = '',\n        business_industry: businessIndustry = '',\n        phone: phoneNumber = '',\n        authorized_shares: authorizedShares = '',\n        par_value: valuePerShare = ''\n      } = item,\n      // API-934: slim order_data nests entity_name under create_data\n      name = _get(item, 'entity_name', null) || _get(item, 'create_data.entity_name', null),\n      formType = entityType === 'corp' ? 'CORP' : 'LLCX',\n      productType = entityType === 'sole_prop' ? 'SOLE' : formType,\n      serviceType = service === 'corp_formation' ? 'CORP' : 'LLCX',\n      type = entityType ? productType : serviceType,\n      addressTop = address || item || {},\n      ma = mailingAddress || addressTop || {},\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = 'US' } = addressTop,\n      { address_1: mailingAddressLine1 = '', address_2: mailingAddressLine2 = '', city: mailingCity = '', county: mailingCounty = '', state: mailingState = '', zip: mailingZipCode = '', mailingCountry = 'US' } = ma;\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          type,\n          name,\n          description,\n          businessIndustry,\n          requestedJurisdiction,\n          domesticJurisdiction,\n          foreignJurisdictions,\n          domesticEntity,\n          hasForeignJurisdictions,\n          domesticFilingDate,\n          stateId,\n          alternates,\n          authorizedShares,\n          valuePerShare,\n          addressLine1,\n          addressLine2,\n          city,\n          county,\n          state: addrState,\n          zipCode,\n          country,\n          mailingAddressLine1,\n          mailingAddressLine2,\n          mailingCity,\n          mailingCounty,\n          mailingState,\n          mailingZipCode,\n          mailingCountry,\n          phoneNumber\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        type: { $set: type },\n        name: { $set: name },\n        description: { $set: description },\n        businessIndustry: { $set: businessIndustry },\n        requestedJurisdiction: { $set: requestedJurisdiction },\n        domesticJurisdiction: { $set: domesticJurisdiction },\n        foreignJurisdictions: { $set: foreignJurisdictions },\n        domesticEntity: { $set: domesticEntity },\n        hasForeignJurisdictions: { $set: hasForeignJurisdictions },\n        domesticFilingDate: { $set: domesticFilingDate },\n        stateId: { $set: stateId },\n        alternates: { $set: alternates },\n        authorizedShares: { $set: authorizedShares },\n        valuePerShare: { $set: valuePerShare },\n        addressLine1: { $set: addressLine1 },\n        addressLine2: { $set: addressLine2 },\n        city: { $set: city },\n        county: { $set: county },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: country },\n        mailingAddressLine1: { $set: mailingAddressLine1 },\n        mailingAddressLine2: { $set: mailingAddressLine2 },\n        mailingCity: { $set: mailingCity },\n        mailingCounty: { $set: mailingCounty },\n        mailingState: { $set: mailingState },\n        mailingZipCode: { $set: mailingZipCode },\n        mailingCountry: { $set: mailingCountry },\n        phoneNumber: { $set: phoneNumber }\n      }\n    };\n  },\n  getEntityProductUpdates = (orderId, item, hasKey) => {\n    const\n      { business_entity_name: name,\n        business_entity_type: entityType,\n        business_entity_address: address = {},\n        jurisdiction: requestedJurisdiction,\n        domestic_jurisdiction: domesticJurisdiction = item.jurisdiction,\n        foreign_jurisdictions: foreignJurisdictions = [],\n        domestic_entity: domesticEntity = true,\n        has_foriegn_jurisdictions: hasForeignJurisdictions = false,\n        domestic_filing_date: domesticFilingDate = '',\n        state_id: stateId = '',\n        business_purpose: description = '',\n        business_industry: businessIndustry = '',\n        phone: phoneNumber = ''\n      } = item,\n      formType = entityType === 'CORP' ? 'CORP' : 'LLCX',\n      type = entityType === 'SOLE' ? 'SOLE' : formType,\n      addressTop = address,\n      ma = address,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = 'US' } = addressTop,\n      { address_1: mailingAddressLine1 = '', address_2: mailingAddressLine2 = '', city: mailingCity = '', county: mailingCounty = '', state: mailingState = '', zip: mailingZipCode = '', mailingCountry = 'US' } = ma;\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          type,\n          name,\n          description,\n          businessIndustry,\n          requestedJurisdiction,\n          domesticJurisdiction,\n          foreignJurisdictions,\n          domesticEntity,\n          hasForeignJurisdictions,\n          domesticFilingDate,\n          stateId,\n          alternates: [],\n          authorizedShares: 0,\n          valuePerShare: 0,\n          addressLine1,\n          addressLine2,\n          city,\n          county,\n          state: addrState,\n          zipCode,\n          country,\n          mailingAddressLine1,\n          mailingAddressLine2,\n          mailingCity,\n          mailingCounty,\n          mailingState,\n          mailingZipCode,\n          mailingCountry,\n          phoneNumber\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        type: { $set: type },\n        name: { $set: name },\n        description: { $set: description },\n        businessIndustry: { $set: businessIndustry },\n        requestedJurisdiction: { $set: requestedJurisdiction },\n        domesticJurisdiction: { $set: domesticJurisdiction },\n        foreignJurisdictions: { $set: foreignJurisdictions },\n        domesticEntity: { $set: domesticEntity },\n        hasForeignJurisdictions: { $set: hasForeignJurisdictions },\n        domesticFilingDate: { $set: domesticFilingDate },\n        stateId: { $set: stateId },\n        alternates: { $set: [] },\n        authorizedShares: { $set: 0 },\n        valuePerShare: { $set: 0 },\n        addressLine1: { $set: addressLine1 },\n        addressLine2: { $set: addressLine2 },\n        city: { $set: city },\n        county: { $set: county },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: country },\n        mailingAddressLine1: { $set: mailingAddressLine1 },\n        mailingAddressLine2: { $set: mailingAddressLine2 },\n        mailingCity: { $set: mailingCity },\n        mailingCounty: { $set: mailingCounty },\n        mailingState: { $set: mailingState },\n        mailingZipCode: { $set: mailingZipCode },\n        mailingCountry: { $set: mailingCountry }\n      }\n    };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid: orderId, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ein_creation' || service === 'business_license_report' || service === 'entity_name_reservation' || service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product,\n      entityProduct = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'banking' || service === 'insurance' || service === 'accounting';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (item) {\n      return getFormationProductUpdates(orderId, item, hasKey);\n    }\n    if (entityProduct) {\n      return getEntityProductUpdates(orderId, entityProduct, hasKey);\n    }\n    return {\n      [orderId]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processGetOrderTasksComplete = (state, action) => {\n    if (action.error) {\n      return state;\n    }\n    // getOrderTasks (actions/orders) dispatches the raw task array under `payload.orderTasks`,\n    // not nested under `payload.data.order_tasks`, so read it from the action directly.\n    const orderTasks = _get(action, 'payload.orderTasks', []),\n      updates = {};\n\n    _forEach(orderTasks, (task) => {\n      const { order_task_uuid: orderTaskUuid, order_uuid: orderId, order_task_type: orderTaskType, order_task_data: orderTaskData = {} } = task;\n      if (orderTaskData.skip) {\n        updates[orderId] = { $set: orderTaskUuid };\n      }\n      // Retain the formation task's share data here so the stock pages can read it back on re-entry.\n      // `corpFormation` is a RESERVED, non-orderId key — consumers read this slice by explicit key.\n      if (orderTaskType === 'corp_formation') {\n        updates.corpFormation = {\n          $set: {\n            orderTaskUuid,\n            orderItemUuid: task.order_item_uuid,\n            jurisdiction: task.order_task_jurisdiction,\n            authorizedShares: orderTaskData.authorized_shares,\n            parValue: orderTaskData.par_value,\n            stateFees: orderTaskData.state_fees\n          }\n        };\n      }\n    });\n    return update(state, updates);\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete,\n    [ACTIONS.GET_ORDER_TASKS]: processGetOrderTasksComplete,\n    [ACTIONS.GET_ORDER_TASKS_COMPLETE]: processGetOrderTasksComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _isEqual from 'lodash/isEqual';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  EMPTY_ADDRESS = {\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    stateName: '',\n    country: '',\n    zipCode: '',\n    lat: 0,\n    lng: 0,\n    addressIsGoogle: false\n  },\n  getAddress = (address) => {\n    return {\n      addressLine1: address.address_1,\n      addressLine2: address.address_2,\n      city: address.city,\n      county: address.county,\n      state: address.state,\n      country: address.country,\n      zipCode: address.zip,\n      lat: address.lat,\n      lng: address.lng,\n      addressIsGoogle: address.address_is_google\n    };\n  },\n  getAddressSet = (address) => {\n    return {\n      addressLine1: { $set: address.address_1 },\n      addressLine2: { $set: address.address_2 },\n      city: { $set: address.city },\n      county: { $set: address.county },\n      state: { $set: address.state },\n      country: { $set: address.country },\n      zipCode: { $set: address.zipCode },\n      lat: { $set: address.lat },\n      lng: { $set: address.lng },\n      addressIsGoogle: { $set: address.address_is_google }\n    };\n  },\n  getFormationProductUpdates = (orderId, item, hasKey) => {\n    const\n      {\n        address = EMPTY_ADDRESS,\n        mailing_address: mailAddr = EMPTY_ADDRESS,\n        principal_address: prinAddr = EMPTY_ADDRESS\n      } = item,\n      physAddr = address || item || EMPTY_ADDRESS,\n      usePhysicalAsMailing = _isEqual(physAddr, mailAddr),\n      usePhysicalAsPrincipal = _isEqual(physAddr, prinAddr),\n      useMailingAsPrincipal = _isEqual(mailAddr, prinAddr);\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          principal: getAddress(prinAddr),\n          mailing: getAddress(mailAddr),\n          physical: getAddress(physAddr),\n          usePhysicalAsMailing,\n          usePhysicalAsPrincipal,\n          useMailingAsPrincipal\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        principal: getAddressSet(prinAddr),\n        mailing: getAddressSet(mailAddr),\n        physical: getAddressSet(physAddr),\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal },\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      }\n    };\n  },\n  getEntityProductUpdates = (orderId, item, hasKey) => {\n    const\n      {\n        business_entity_address: physAddr = EMPTY_ADDRESS,\n        mailing_address: mailAddr = EMPTY_ADDRESS,\n        principal_address: prinAddr = EMPTY_ADDRESS\n      } = item,\n      usePhysicalAsMailing = _isEqual(physAddr, mailAddr),\n      usePhysicalAsPrincipal = _isEqual(physAddr, prinAddr),\n      useMailingAsPrincipal = _isEqual(mailAddr, prinAddr);\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          principal: getAddress(prinAddr),\n          mailing: getAddress(mailAddr),\n          physical: getAddress(physAddr),\n          usePhysicalAsMailing,\n          usePhysicalAsPrincipal,\n          useMailingAsPrincipal\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        principal: getAddressSet(prinAddr),\n        mailing: getAddressSet(mailAddr),\n        physical: getAddressSet(physAddr),\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal },\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      }\n    };\n  },\n  getEINProductUpdates = (orderId, item, hasKey) => {\n    const\n      {\n        principal_address: prinAddr = EMPTY_ADDRESS,\n        mailing_address: mailAddr = EMPTY_ADDRESS,\n        address: physAddr = EMPTY_ADDRESS\n      } = item,\n      usePhysicalAsMailing = _isEqual(physAddr, mailAddr),\n      usePhysicalAsPrincipal = _isEqual(physAddr, prinAddr),\n      useMailingAsPrincipal = _isEqual(mailAddr, prinAddr);\n\n    if (!hasKey) {\n      return {\n        [orderId]: { $set: {\n          principal: getAddress(prinAddr),\n          mailing: getAddress(mailAddr),\n          physical: getAddress(physAddr),\n          usePhysicalAsMailing,\n          usePhysicalAsPrincipal,\n          useMailingAsPrincipal\n        } }\n      };\n    }\n    return {\n      [orderId]: {\n        principal: getAddressSet(prinAddr),\n        mailing: getAddressSet(mailAddr),\n        physical: getAddressSet(physAddr),\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal },\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      }\n    };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid: orderId, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      einProduct = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ein_creation' || service === 'business_license_report';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'entity_name_reservation' || service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product,\n      entityProduct = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'banking' || service === 'insurance' || service === 'accounting';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (item) {\n      return getFormationProductUpdates(orderId, item, hasKey);\n    }\n    if (einProduct) {\n      return getEINProductUpdates(orderId, einProduct, hasKey);\n    }\n    if (entityProduct) {\n      return getEntityProductUpdates(orderId, entityProduct, hasKey);\n    }\n    return {\n      [orderId]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'business_kit';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { service, business_kit: businessKit, requestedJurisdiction, type, standalone } = item;\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            service,\n            businessKit,\n            requestedJurisdiction,\n            type,\n            standalone\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          service: { $set: service },\n          businessKit: { $set: businessKit },\n          requestedJurisdiction: { $set: requestedJurisdiction },\n          type: { $set: type },\n          standalone: { $set: standalone }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ein_creation' || service === 'business_license_report' || service === 'entity_name_reservation' || service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { contact = {} } = item,\n        { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = contact,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = contact;\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            firstName, middleName, lastName, suffix, companyName, email, phoneNumber, addressLine1, addressLine2, city, county, state, zipCode, country\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          firstName: { $set: firstName },\n          middleName: { $set: middleName },\n          lastName: { $set: lastName },\n          suffix: { $set: suffix },\n          companyName: { $set: companyName },\n          email: { $set: email },\n          phoneNumber: { $set: phoneNumber },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          county: { $set: county },\n          state: { $set: state },\n          zipCode: { $set: zipCode },\n          country: { $set: country }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  convertUser = (user) => {\n    if (!user) {\n      return null;\n    }\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = user,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '' } = user;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, title };\n  },\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        {\n          contact: primaryContact = null,\n          sop_contact: sopContact = null,\n          authorized_signatory: authorizedSignatory = null\n        } = item,\n        users = {\n          primaryContact: convertUser(primaryContact),\n          officialStateContact: convertUser(primaryContact),\n          sopContact: convertUser(sopContact),\n          authorizedSignatory: convertUser(authorizedSignatory)\n        };\n\n      return {\n        [order_uuid]: { $set: users }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      items = _reduce(orderArray, (collect, data) => {\n        const service = _get(data, 'service', '');\n        if (service === 'dba_entity') {\n          collect.push(data);\n        }\n        return collect;\n      }, []);\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (items.length > 0) {\n      const dbas = _map(items, (item) => {\n        const { dba_name: name, county = '', city = '', jurisdiction: requestedJurisdiction } = item;\n        return { name, requestedJurisdiction, county, city };\n      });\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            dbas\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          dbas: { $set: dbas }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { directors } = item,\n        convertedDirectors = _map(directors, (director) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = director,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', outstandingJudgment = null } = director;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, title, outstandingJudgment };\n        });\n\n      return {\n        [order_uuid]: { $set: convertedDirectors }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'domain_name_reg';\n      }),\n      emailItem = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'basic_email';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    const\n      {\n        primary = '',\n        alternates = [],\n        skip = false,\n        jurisdiction: domesticJurisdiction = ''\n      } = item || {},\n      {\n        email_address: emailUserName = '',\n        skip: emailSkip = null,\n        jurisdiction: emailDomesticJurisdiction = ''\n      } = emailItem || {};\n\n    if (item || emailItem) {\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            primary,\n            alternates,\n            skip,\n            emailUserName,\n            emailSkip,\n            domesticJurisdiction: domesticJurisdiction || emailDomesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          primary: { $set: primary },\n          alternates: { $set: alternates },\n          skip: { $set: skip },\n          emailUserName: { $set: emailUserName },\n          emailSkip: { $set: emailSkip },\n          domesticJurisdiction: { $set: domesticJurisdiction || emailDomesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  /* eslint-disable max-statements */\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      productEIN = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ein_creation';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (productEIN) {\n      const { business_data: businessData = {}, tax_info: taxInfo = {}, responsible_party: user = {}, address: physicalAddress = {}, phone: phoneNumber = '', county = '', trade_names: dbas = '' } = productEIN,\n        { reason = '', member_count: memberCount = 0 } = productEIN,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US' } = physicalAddress,\n        {\n          first_name: firstName = '',\n          middle_name: middleName = '',\n          last_name: lastName = '',\n          company_name: companyName = '',\n          address_1: userAddressLine1 = '',\n          address_2: userAddressLine2 = '',\n          city: userCity = '',\n          county: userCounty = '',\n          state: userState = '',\n          zip: userZipCode = '',\n          country: userCountry = 'US',\n          phone: userPhoneNumber = '',\n          email: userEmail = '',\n          legal_name: legalName = '',\n          ein_number: einNumber = '',\n          suffix = '',\n          ssn_itin: ssn = '',\n          previous_ein: previousEin = false,\n          alternate_last_names: alternateLastNames = [],\n          has_ssn: hasSSN,\n          collect_data_from_user: collectDataFromUser = false\n        } = user,\n        responsibleParty = {\n          firstName,\n          middleName,\n          lastName,\n          companyName,\n          addressLine1: userAddressLine1,\n          addressLine2: userAddressLine2,\n          city: userCity,\n          county: userCounty,\n          state: userState,\n          zipCode: userZipCode,\n          country: userCountry,\n          phoneNumber: userPhoneNumber,\n          email: userEmail,\n          legalName,\n          hasSSN,\n          ein: einNumber,\n          suffix,\n          ssn,\n          previousEin,\n          alternateLastNames,\n          collectDataFromUser\n        };\n\n      businessData.activity = businessData.activity || {};\n      const\n        hasDBAs = !!dbas,\n        llcMarried = taxInfo.members_are_married || null,\n        llcSingleMember = taxInfo.taxed_as_single_member_llc || null,\n        taxedAsSCorp = taxInfo.taxed_as_s_corp || null,\n        corpCareOf = businessData.corp_care_of || '',\n        corpClosingMonth = businessData.corp_closing_month || 'December',\n        startDate = businessData.start_date || '',\n        gambling = businessData.gambling || null,\n        atf = businessData.alcohol_tobacco_firearms || null,\n        employeesW2 = businessData.employees_with_w2 || null,\n        w2WagesPaidDate = businessData.w2_wages_paid_date || '',\n        w2AgriculturalEmployeeCount = businessData.w2_agricultural_employees_count || 0,\n        w2OtherEmployeeCount = businessData.w2_other_employees_count || 0,\n        w2WagesLessThan1000 = businessData.w2_wages_lt_1000 || null,\n        motorVehicle = businessData.highway_vehicle || null,\n        motorVehicleWeight = businessData.highway_vehicle_over_55000 || null,\n        businessForm720 = businessData.files_form_720 || null,\n        businessActivity1 = businessData.activity.level_1 || '',\n        businessActivity2 = businessData.activity.level_2 || '',\n        businessActivity3 = businessData.activity.level_3 || '',\n        businessActivity4 = businessData.activity.level_4 || '',\n        businessActivity5 = businessData.activity.level_5 || '',\n        businessActivitySpecify = businessData.activity.specify || '';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            responsibleParty,\n            phoneNumber,\n            addressLine1,\n            addressLine2,\n            city,\n            county,\n            state: addrState,\n            zipCode,\n            country,\n            reason,\n            hasDBAs,\n            dbas,\n            llcMarried,\n            llcSingleMember,\n            taxedAsSCorp,\n            memberCount,\n            corpCareOf,\n            corpClosingMonth,\n            startDate,\n            gambling,\n            atf,\n            employeesW2,\n            w2WagesPaidDate,\n            w2AgriculturalEmployeeCount,\n            w2OtherEmployeeCount,\n            w2WagesLessThan1000,\n            motorVehicle,\n            motorVehicleWeight,\n            businessForm720,\n            businessActivity1,\n            businessActivity2,\n            businessActivity3,\n            businessActivity4,\n            businessActivity5,\n            businessActivitySpecify\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          responsibleParty: { $set: responsibleParty },\n          county: { $set: county },\n          phoneNumber: { $set: phoneNumber },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          state: { $set: addrState },\n          zipCode: { $set: zipCode },\n          country: { $set: country },\n          reason: { $set: reason },\n          hasDBAs: { $set: hasDBAs },\n          dbas: { $set: dbas },\n          llcMarried: { $set: llcMarried },\n          llcSingleMember: { $set: llcSingleMember },\n          taxedAsSCorp: { $set: taxedAsSCorp },\n          corpCareOf: { $set: corpCareOf },\n          corpClosingMonth: { $set: corpClosingMonth },\n          startDate: { $set: startDate },\n          memberCount: { $set: memberCount },\n          gambling: { $set: gambling },\n          atf: { $set: atf },\n          employeesW2: { $set: employeesW2 },\n          w2WagesPaidDate: { $set: w2WagesPaidDate },\n          w2AgriculturalEmployeeCount: { $set: w2AgriculturalEmployeeCount },\n          w2OtherEmployeeCount: { $set: w2OtherEmployeeCount },\n          w2WagesLessThan1000: { $set: w2WagesLessThan1000 },\n          motorVehicle: { $set: motorVehicle },\n          motorVehicleWeight: { $set: motorVehicleWeight },\n          businessForm720: { $set: businessForm720  },\n          businessActivity1: { $set: businessActivity1 },\n          businessActivity2: { $set: businessActivity2 },\n          businessActivity3: { $set: businessActivity3 },\n          businessActivity4: { $set: businessActivity4 },\n          businessActivity5: { $set: businessActivity5 },\n          businessActivitySpecify: { $set: businessActivitySpecify }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  /* eslint-enable max-statements */\n\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'future_file_date';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { jurisdiction: requestedJurisdiction, future_filing_date: futureFilingDate, filing_action: filingAction } = item,\n        // API-934: slim order_data nests entity_name under create_data\n        name = _get(item, 'entity_name', null) || _get(item, 'create_data.entity_name', null);\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            name,\n            requestedJurisdiction,\n            futureFilingDate,\n            filingAction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          name: { $set: name },\n          requestedJurisdiction: { $set: requestedJurisdiction },\n          futureFilingDate: { $set: futureFilingDate },\n          filingAction: { $set: filingAction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'standard_good_standing';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, jurisdiction: state, formation_jurisdiction: domesticJurisdiction } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            state,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          state: { $set: state },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getContact = (contact) => {\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = contact,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = contact;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, county, state, zipCode, country, email, phoneNumber };\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'insurance';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, business_entity_address: address, business_entity_mailing_address: mailingAddress = {}, business_purpose: description } = item,\n        { jurisdiction: domesticJurisdiction, phone: phoneNumber, ein, activity } = item,\n        { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '' } = address,\n        { address_1: mailingAddressLine1 = '', address_2: mailingAddressLine2 = '', city: mailingCity = '', county: mailingCounty = '', state: mailingState = '', zip: mailingZipCode = '', country: mailingCountry = '' } = mailingAddress,\n        { level_1: businessActivity1, level_2: businessActivity2, level_3: businessActivity3, level_4: businessActivity4, level_5: businessActivity5, specify: businessActivitySpecify } = activity,\n        { business_entity_contact: insContact } = item,\n        { has_website: hasWebsite = null, website = '', business_years: businessYears = '', business_income: businessIncome = '' } = item,\n        { has_insurance_claims: hasInsuranceClaims = null, has_workers_comp_claims: hasWorkersCompClaims = null, workers_comp_claims_description: workersCompClaimsDescription = '' } = item,\n        { has_property_liability_claims: hasPropertyLiabilityClaims = null, property_liability_claims_description: propertyLiabilityClaimsDescription = '' } = item,\n        { policy_start_type: policyStartType = '', policy_start_date: policyStartDate = '' } = item,\n        { liability_limit_type: liabilityLimitType = '', claim_liability_limit: claimLiabilityLimit = '', aggregate_liability_limit: aggregateLiabilityLimit = '' } = item,\n        { has_equipment_coverage: hasEquipmentCoverage = null,  equipment_type: equipmentType = '', has_equipment_mobile: hasEquipmentMobile = null, equipment_value: equipmentValue = '' } = item,\n        { has_property_coverage: hasPropertyCoverage = null, building_year_built: buildingYearBuilt = '', building_materials: buildingMaterials = '', building_stories: buildingStories = '' } = item,\n        { has_building_sprinklers: hasBuildingSprinklers = null, has_building_fire_alarm: hasBuildingFireAlarm = null, has_building_burgler_alarm: hasBuildingBurglerAlarm = null } = item,\n        { has_building_other_addresses: hasBuildingOtherAddresses, building_other_address_list: buildingOtherAddressList = [] } = item,\n        { has_workers_comp_coverage: hasWorkersCompCoverage = null, has_other_coverage: hasOtherCoverage = null, other_coverage_list: otherCoverageList = [], other_coverage_description: otherCoverageDescription = '' } = item,\n        contact = getContact(insContact),\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            description,\n            domesticJurisdiction,\n            phoneNumber,\n            addressLine1,\n            addressLine2,\n            city,\n            county,\n            state,\n            zipCode,\n            country,\n            mailingAddressLine1,\n            mailingAddressLine2,\n            mailingCity,\n            mailingCounty,\n            mailingState,\n            mailingZipCode,\n            mailingCountry,\n            contact,\n            ein,\n            businessActivity1,\n            businessActivity2,\n            businessActivity3,\n            businessActivity4,\n            businessActivity5,\n            businessActivitySpecify,\n            hasWebsite,\n            website,\n            businessYears,\n            businessIncome,\n            hasInsuranceClaims,\n            hasWorkersCompClaims,\n            workersCompClaimsDescription,\n            hasPropertyLiabilityClaims,\n            propertyLiabilityClaimsDescription,\n            policyStartType,\n            policyStartDate,\n            liabilityLimitType,\n            claimLiabilityLimit,\n            aggregateLiabilityLimit,\n            hasEquipmentCoverage,\n            equipmentType,\n            hasEquipmentMobile,\n            equipmentValue,\n            hasPropertyCoverage,\n            buildingYearBuilt,\n            buildingMaterials,\n            buildingStories,\n            hasBuildingSprinklers,\n            hasBuildingFireAlarm,\n            hasBuildingBurglerAlarm,\n            hasBuildingOtherAddresses,\n            buildingOtherAddressList,\n            hasWorkersCompCoverage,\n            hasOtherCoverage,\n            otherCoverageList,\n            otherCoverageDescription\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction },\n          phoneNumber: { $set: phoneNumber },\n          addressLine1: { $set: addressLine1 },\n          addressLine2: { $set: addressLine2 },\n          city: { $set: city },\n          county: { $set: county },\n          state: { $set: state },\n          zipCode: { $set: zipCode },\n          country: { $set: country },\n          mailingAddressLine1: { $set: mailingAddressLine1 },\n          mailingAddressLine2: { $set: mailingAddressLine2 },\n          mailingCity: { $set: mailingCity },\n          mailingCounty: { $set: mailingCounty },\n          mailingState: { $set: mailingState },\n          mailingZipCode: { $set: mailingZipCode },\n          mailingCountry: { $set: mailingCountry },\n          contact: { $set: contact },\n          ein: { $set: ein },\n          businessActivity1: { $set: businessActivity1 },\n          businessActivity2: { $set: businessActivity2 },\n          businessActivity3: { $set: businessActivity3 },\n          businessActivity4: { $set: businessActivity4 },\n          businessActivity5: { $set: businessActivity5 },\n          businessActivitySpecify: { $set: businessActivitySpecify },\n          hasWebsite: { $set: hasWebsite },\n          website: { $set: website },\n          businessYears: { $set: businessYears },\n          businessIncome: { $set: businessIncome },\n          hasInsuranceClaims: { $set: hasInsuranceClaims },\n          hasWorkersCompClaims: { $set: hasWorkersCompClaims },\n          workersCompClaimsDescription: { $set: workersCompClaimsDescription },\n          hasPropertyLiabilityClaims: { $set: hasPropertyLiabilityClaims },\n          propertyLiabilityClaimsDescription: { $set: propertyLiabilityClaimsDescription },\n          policyStartType: { $set: policyStartType },\n          policyStartDate: { $set: policyStartDate },\n          liabilityLimitType: { $set: liabilityLimitType },\n          claimLiabilityLimit: { $set: claimLiabilityLimit },\n          aggregateLiabilityLimit: { $set: aggregateLiabilityLimit },\n          hasEquipmentCoverage: { $set: hasEquipmentCoverage },\n          equipmentType: { $set: equipmentType },\n          hasEquipmentMobile: { $set: hasEquipmentMobile },\n          equipmentValue: { $set: equipmentValue },\n          hasPropertyCoverage: { $set: hasPropertyCoverage },\n          buildingYearBuilt: { $set: buildingYearBuilt },\n          buildingMaterials: { $set: buildingMaterials },\n          buildingStories: { $set: buildingStories },\n          hasBuildingSprinklers: { $set: hasBuildingSprinklers },\n          hasBuildingFireAlarm: { $set: hasBuildingFireAlarm },\n          hasBuildingBurglerAlarm: { $set: hasBuildingBurglerAlarm },\n          hasBuildingOtherAddresses: { $set: hasBuildingOtherAddresses },\n          buildingOtherAddressList: { $set: buildingOtherAddressList },\n          hasWorkersCompCoverage: { $set: hasWorkersCompCoverage },\n          hasOtherCoverage: { $set: hasOtherCoverage },\n          otherCoverageList: { $set: otherCoverageList },\n          otherCoverageDescription: { $set: otherCoverageDescription }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\nimport { setOrderDataSentDuringRegistration } from '../../utils/OrderDataTrackService';\n\nconst\n  serviceMap = {\n    '1800_accountant': 'accountant1800',\n    accounting: 'accountingOld',\n    accounting_grow_and_scale: 'accounting',\n    accounting_quick_start: 'accounting',\n    accounting_up_and_running: 'accounting',\n    annual_report_service: 'annualReportService',\n    anonymity: 'anonymity',\n    banking: 'banking',\n    banking_resolution: 'bankingResolution',\n    basic_email: 'basicEmail',\n    beneficial_ownership_filing: 'beneficialOwnershipFiling',\n    business_license_report: 'businessLicenseReport',\n    change_of_registered_agent: 'changeOfAgent',\n    corp_amendment: 'amendment',\n    corp_formation: 'corpFormation',\n    corporate_docs: 'corporateDocs',\n    cpa_consult: 'cpaConsult',\n    dba_compliance: 'dbaCompliance',\n    dba_entity: 'dbaEntity',\n    domain_name_privacy: 'domainNamePrivacy',\n    domain_name_reg: 'domainName',\n    ein_creation: 'ein',\n    entity_name_reservation: 'nameReservation',\n    expedite: 'expedite',\n    future_file_date: 'futureFileDate',\n    initial_cpa_screening: 'initialCPAScreening',\n    insurance: 'insurance',\n    llc_amendment: 'amendment',\n    llc_formation: 'llcFormation',\n    logo_kit: 'logoKit',\n    ny_publication: 'nyPublication',\n    ongoing_bof_compliance: 'ongoingBofCompliance',\n    operating_agreement: 'operatingAgreement',\n    other: 'other',\n    registered_agent_service: 'registeredAgent',\n    rush: 'expedite',\n    s_corp_designation: 'sCorpDesignation',\n    smb_ecomm_addon: 'smbEcommAddon',\n    smb_website_ecomm_bundle: 'smbWebsiteEcomm',\n    standard_good_standing: 'goodStanding',\n    static_website: 'staticWebsite',\n    tax_preparation: 'taxPreparation',\n    wfg_initial_report: 'wfgInitialReport',\n    worry_free_service: 'worryFree',\n    zb_money_essential: 'zbmEssential',\n    zb_money_pro: 'zbmPro'\n  },\n\n  getOrderUpdates = (order, hasKey) => {\n    const { order_uuid, order_items: orderItems } = order,\n      items = _reduce(orderItems, (collect, data) => {\n        const serv = _get(data, 'service', ''),\n          isCanceled = _get(data, 'status', '') === 'canceled';\n\n        if (serv && !isCanceled) {\n          if (serv.indexOf('starter_plan') !== -1 || serv.indexOf('pro_plan') !== -1 || serv.indexOf('premium_plan') !== -1) {\n            collect.planLevel = data;\n          } else if (serv === 'dba_entity') {\n            if (!collect.dbaEntity) {\n              collect.dbaEntity = [];\n            }\n            collect.dbaEntity.push(data);\n          } else if (serv === 'registered_agent_service') {\n            if (!collect.registeredAgent) {\n              collect.registeredAgent = [];\n            }\n            collect.registeredAgent.push(data);\n          } else if (serv === 'change_of_registered_agent') {\n            if (!collect.changeOfAgent) {\n              collect.changeOfAgent = [];\n            }\n            collect.changeOfAgent.push(data);\n          } else if (serv === 'worry_free_service') {\n            if (!collect.worryFree) {\n              collect.worryFree = [];\n            }\n            collect.worryFree.push(data);\n          } else {\n            collect[serviceMap[serv] || serv] = data;\n          }\n        }\n        return collect;\n      }, {\n        accountant1800: null,\n        accounting: null,\n        accountingOld: null,\n        amendment: null,\n        annualReportService: null,\n        anonymity: null,\n        banking: null,\n        bankingResolution: null,\n        basicEmail: null,\n        beneficialOwnershipFiling: null,\n        businessLicenseReport: null,\n        changeOfAgent: null,\n        corpFormation: null,\n        corporateDocs: null,\n        cpaConsult: null,\n        dbaCompliance: null,\n        dbaEntity: null,\n        domainName: null,\n        domainNamePrivacy: null,\n        ein: null,\n        expedite: null,\n        futureFileDate: null,\n        goodStanding: null,\n        initialCPAScreening: null,\n        insurance: null,\n        llcFormation: null,\n        logoKit: null,\n        nameReservation: null,\n        nyPublication: null,\n        ongoingBofCompliance: null,\n        operatingAgreement: null,\n        other: null,\n        registeredAgent: null,\n        sCorpDesignation: null,\n        smbEcommAddon: null,\n        smbWebsiteEcomm: null,\n        smbWebsiteOrEcomm: null,\n        staticWebsite: null,\n        taxPreparation: null,\n        wfgInitialReport: null,\n        worryFree: null,\n        zbmEssential: null,\n        zbmPro: null,\n        planLevel: null\n      });\n\n    if (!hasKey) {\n      return {\n        [order_uuid]: { $set: items }\n      };\n    }\n    return {\n      [order_uuid]: {\n        accountant1800: { $set: items.accountant1800 },\n        accounting: { $set: items.accounting },\n        accountingOld: { $set: items.accountingOld },\n        amendment: { $set: items.amendment },\n        annualReportService: { $set: items.annualReportService },\n        anonymity: { $set: items.anonymity },\n        banking: { $set: items.banking },\n        bankingResolution: { $set: items.bankingResolution },\n        basicEmail: { $set: items.basicEmail },\n        beneficialOwnershipFiling: { $set: items.beneficialOwnershipFiling },\n        businessLicenseReport: { $set: items.businessLicenseReport },\n        changeOfAgent: { $set: items.changeOfAgent },\n        corpFormation: { $set: items.corpFormation },\n        corporateDocs: { $set: items.corporateDocs },\n        cpaConsult: { $set: items.cpaConsult },\n        dbaCompliance: { $set: items.dbaCompliance },\n        dbaEntity: { $set: items.dbaEntity },\n        domainName: { $set: items.domainName },\n        domainNamePrivacy: { $set: items.domainNamePrivacy },\n        ein: { $set: items.ein },\n        expedite: { $set: items.expedite },\n        futureFileDate: { $set: items.futureFileDate },\n        goodStanding: { $set: items.goodStanding },\n        initialCPAScreening: { $set: items.initialCPAScreening },\n        insurance: { $set: items.insurance },\n        llcFormation: { $set: items.llcFormation },\n        logoKit: { $set: items.logoKit },\n        nameReservation: { $set: items.nameReservation },\n        nyPublication: { $set: items.nyPublication },\n        ongoingBofCompliance: { $set: items.ongoingBofCompliance },\n        operatingAgreement: { $set: items.operatingAgreement },\n        other: { $set: items.other },\n        registeredAgent: { $set: items.registeredAgent },\n        sCorpDesignation: { $set: items.sCorpDesignation },\n        smbEcommAddon: { $set: items.smbEcommAddon },\n        smbWebsiteEcomm: { $set: items.smbWebsiteEcomm },\n        smbWebsiteOrEcomm: { $set: items.smbWebsiteOrEcomm },\n        staticWebsite: { $set: items.staticWebsite },\n        taxPreparation: { $set: items.taxPreparation },\n        wfgInitialReport: { $set: items.wfgInitialReport },\n        worryFree: { $set: items.worryFree },\n        zbmEssential: { $set: items.zbmEssential },\n        zbmPro: { $set: items.zbmPro },\n        planLevel: { $set: items.planLevel }\n      }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      // keep in memory which services were sent during registration\n      setOrderDataSentDuringRegistration(order.order_data, order.order_uuid);\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _filter from 'lodash/filter';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  convertUser = (user) => {\n    if (!user) {\n      return null;\n    }\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = user,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '' } = user;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, title };\n  },\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      registeredAgents = _filter(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'registered_agent_service';\n      }),\n      raAddresses = _reduce(registeredAgents, (collect, ra) => {\n        collect[ra.jurisdiction] = ra.registered_agent;\n        return collect;\n      }, {}),\n      item = registeredAgents.length > 0 ? registeredAgents[0] : null;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        {\n          is_cora: isCoRA = false,\n          jurisdiction: requestedJurisdiction,\n          domestic_jurisdiction: domJur = item.jurisdiction,\n          domestic_jurisdiction_filing_date: domesticJurisdictionFilingDate = '',\n          domestic_jurisdiction_filing_number: domesticJurisdictionStateId = '',\n          domestic_jurisdiction_state_info: domesticJurisdictionStateInfo = {},\n          foreign_jurisdiction_objects: foriegnJurisdictionObjects = []\n        } = item,\n        {\n          jurisdiction_state_pin: domesticJurisdictionStatePIN = '',\n          jurisdiction_elective_ceo: domesticJurisdictionElectiveCEO = null\n        } = domesticJurisdictionStateInfo,\n        domesticJurisdiction = {\n          isRequested: requestedJurisdiction === domJur,\n          isDomestic: true,\n          jurisdiction: domJur,\n          filingDate: domesticJurisdictionFilingDate,\n          stateId: domesticJurisdictionStateId,\n          statePIN: domesticJurisdictionStatePIN,\n          electiveCEO: convertUser(domesticJurisdictionElectiveCEO),\n          registeredAgent: convertUser(raAddresses[domJur])\n        },\n        foreignJurisdictions = _map(foriegnJurisdictionObjects, (fjo) => {\n          const\n            {\n              jurisdiction_code: jurisdiction,\n              jurisdiction_filing_date: filingDate,\n              jurisdicion_filing_number: stateId,\n              extra_state_info: extraStateInfo = {}\n            } = fjo,\n            {\n              state_pin: statePIN = '',\n              elective_ceo: electiveCEO = null\n            } = extraStateInfo;\n\n          return {\n            isRequested: true,\n            isDomestic: false,\n            jurisdiction,\n            filingDate,\n            stateId,\n            statePIN,\n            electiveCEO: convertUser(electiveCEO),\n            registeredAgent: convertUser(raAddresses[jurisdiction])\n          };\n        }),\n        data = {\n          isCoRA,\n          domesticJurisdiction,\n          foreignJurisdictions\n        };\n\n      return {\n        [order_uuid]: { $set: data }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'logo_kit';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { business_entity_type: entityType, business_entity_name: name, jurisdiction: state, formation_jurisdiction: domesticJurisdiction } = item,\n        businessType = entityType === 'CORP' ? 'CORP' : 'LLCX';\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            businessType,\n            name,\n            state,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          businessType: { $set: businessType },\n          name: { $set: name },\n          state: { $set: state },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { managers } = item,\n        convertedManagers = _map(managers, (manager) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = manager,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', outstandingJudgment = null } = manager;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, outstandingJudgment };\n        });\n\n      return {\n        [order_uuid]: { $set: convertedManagers }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { members } = item,\n        convertedMembers = _map(members, (member) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', manager = false } = member,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', outstandingJudgment = '' } = member;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, manager, outstandingJudgment };\n        });\n\n      return {\n        [order_uuid]: { $set: convertedMembers }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (item) {\n      const\n        {\n          ny_publication_county: nyPubCounty,\n          jurisdiction: domesticJurisdiction\n        } = item;\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            nyPubCounty,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          nyPubCounty: { $set: nyPubCounty },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation' || service === 'ny_publication';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      item = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { officers } = item,\n        convertedOfficers = _map(officers, (officer) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = officer,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', outstandingJudgment = false } = officer;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, title, outstandingJudgment };\n        });\n\n      return {\n        [order_uuid]: { $set: convertedOfficers }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'operating_agreement';\n      });\n\n    /* Allow incomplete orders here\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    */\n    if (item) {\n      const\n        {\n          business_entity_name: businessName,\n          business_entity_type: businessType,\n          jurisdiction: domesticJurisdiction,\n          is_generic: isGeneric = false,\n          managers: initManagers,\n          members: initMembers,\n          address,\n          llc_business_address: initLLCBusinessAddress,\n          llc_mailing_address: initLLCMailingAddress,\n          email: businessEmail,\n          preemptive_rights: preemptiveRights,\n          right_of_first_refusal: rightOfFirstRefusal,\n          financial_report_frequency: financialReportFrequency,\n          internal_financial_audit: internalFinancialAudit,\n          tax_advances: taxAdvances,\n          day_to_day_majority: dayToDayMajority,\n          meeting_of_members_majority: meetingOfMembersMajority,\n          pass_action_without_meeting_majority: passActionWithoutMeetingMajority,\n          amendment_majority: amendmentMajority,\n          terminate_company_majority: terminateCompanyMajority,\n          amend_oa_or_formation: amendOAorFormation,\n          issue_additional_membership: issueAdditionalMembership,\n          appoint_remove_auditors: appointRemoveAuditors,\n          amend_related_party_agreement: amendRelatedPartyAgreement,\n          enter_equity_transactions: enterEquityTransactions,\n          enter_asset_transactions: enterAssetTransactions,\n          establish_subsidiary: establishSubsidiary,\n          offering_and_securities: offeringAndSecurities,\n          fundamental_business_transaction: fundamentalBusinessTransaction,\n          liquidate_or_terminate: liquidateOrTerminate,\n          cancel_liquidate_or_terminate: cancelLiquidateOrTerminate,\n          reinstate_after_termination: reinstateAfterTermination,\n          change_manager: changeManager,\n          members_remove_manager: membersRemoveManager,\n          fill_manager_vacancy: fillManagerVacancy,\n          capital_contribution_approval: capitalContributionApproval,\n          capital_contribution_amount: capitalContributionAmount,\n          make_investment_approval: makeInvestmentApproval,\n          make_investment_amount: makeInvestmentAmount,\n          incur_indebtedness_approval: incurIndebtednessApproval,\n          incur_indebtedness_onetime_amount: incurIndebtednessOneTimeAmount,\n          incur_indebtedness_total_amount: incurIndebtednessTotalAmount,\n          settle_lawsuit_approval: settleLawsuitApproval,\n          settle_lawsuit_amount: settleLawsuitAmount\n        } = item,\n        { type: mailingAddressType, address_1: mailingAddressLine1 = '', address_2: mailingAddressLine2 = '', city: mailingCity = '', county: mailingCounty = '', state: mailingState = '', zip: mailingZipCode = '' } = address || {},\n        llcBusinessAddress = initLLCBusinessAddress ? {\n          addressLine1: initLLCBusinessAddress.address_1,\n          addressLine2: initLLCBusinessAddress.address_2,\n          city: initLLCBusinessAddress.city,\n          state: initLLCBusinessAddress.state,\n          zipCode: initLLCBusinessAddress.zip\n        } : { addressLine1: '', addressLine2: '', city: '', state: '', zipCode: '' },\n        llcMailingAddress = initLLCMailingAddress ? {\n          addressLine1: initLLCMailingAddress.address_1,\n          addressLine2: initLLCMailingAddress.address_2,\n          city: initLLCMailingAddress.city,\n          state: initLLCMailingAddress.state,\n          zipCode: initLLCMailingAddress.zip\n        } : { addressLine1: '', addressLine2: '', city: '', state: '', zipCode: '' },\n        managers = _map(initManagers || [], (m) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = m,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '' } = m,\n            { partnership_rep: partnershipRep = false, manager_notice: managerNotice = false } = m;\n\n          return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state, zipCode, email, phoneNumber, partnershipRep, managerNotice };\n        }),\n        members = _map(initMembers || [], (m) => {\n          const\n            { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', manager = false } = m,\n            { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state = '', zip: zipCode = '', email = '', phone: phoneNumber = '', email_disabled: emailDisabled = false, phone_disabled: phoneNumberDisabled = false } = m,\n            { title = '', membership_interest: membershipInterest = '', marital_status: maritalStatus = null, spouse_name: spouseName = '', primary_member: primaryMember = false } = m,\n            { partnership_rep: partnershipRep = false, official_notice: officialNotice = false, manager_notice: managerNotice = false } = m;\n\n          return {\n            firstName,\n            middleName,\n            lastName,\n            suffix,\n            companyName,\n            addressLine1,\n            addressLine2,\n            city,\n            state,\n            zipCode,\n            email,\n            phoneNumber,\n            manager,\n            title,\n            membershipInterest,\n            maritalStatus,\n            spouseName,\n            primaryMember,\n            partnershipRep,\n            officialNotice,\n            managerNotice,\n            emailDisabled,\n            phoneNumberDisabled\n          };\n        });\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            orderStatus,\n            businessName,\n            businessType,\n            domesticJurisdiction,\n            isGeneric,\n            members,\n            managers,\n            llcBusinessAddress,\n            llcMailingAddress,\n            mailingAddressType,\n            mailingAddressLine1,\n            mailingAddressLine2,\n            mailingCity,\n            mailingCounty,\n            mailingState,\n            mailingZipCode,\n            businessEmail,\n            preemptiveRights,\n            rightOfFirstRefusal,\n            financialReportFrequency,\n            internalFinancialAudit,\n            taxAdvances,\n\n            dayToDayMajority,\n            meetingOfMembersMajority,\n            passActionWithoutMeetingMajority,\n            amendmentMajority,\n            terminateCompanyMajority,\n\n            amendOAorFormation,\n            issueAdditionalMembership,\n            appointRemoveAuditors,\n            amendRelatedPartyAgreement,\n            enterEquityTransactions,\n            enterAssetTransactions,\n            establishSubsidiary,\n            offeringAndSecurities,\n            fundamentalBusinessTransaction,\n            liquidateOrTerminate,\n            cancelLiquidateOrTerminate,\n            reinstateAfterTermination,\n            changeManager,\n            membersRemoveManager,\n            fillManagerVacancy,\n\n            capitalContributionApproval,\n            capitalContributionAmount,\n            makeInvestmentApproval,\n            makeInvestmentAmount,\n            incurIndebtednessApproval,\n            incurIndebtednessOneTimeAmount,\n            incurIndebtednessTotalAmount,\n            settleLawsuitApproval,\n            settleLawsuitAmount\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          orderStatus: { $set: orderStatus },\n          isGeneric: { $set: isGeneric },\n          businessName: { $set: businessName },\n          businessType: { $set: businessType },\n          domesticJurisdiction: { $set: domesticJurisdiction },\n          members: { $set: members },\n          managers: { $set: managers },\n          llcBusinessAddress: { $set: llcBusinessAddress },\n          llcMailingAddress: { $set: llcMailingAddress },\n          mailingAddressType: { $set: mailingAddressType },\n          mailingAddressLine1: { $set: mailingAddressLine1 },\n          mailingAddressLine2: { $set: mailingAddressLine2 },\n          mailingCity: { $set: mailingCity },\n          mailingCounty: { $set: mailingCounty },\n          mailingState: { $set: mailingState },\n          mailingZipCode: { $set: mailingZipCode },\n          businessEmail: { $set: businessEmail },\n          preemptiveRights: { $set: preemptiveRights },\n          rightOfFirstRefusal: { $set: rightOfFirstRefusal },\n          financialReportFrequency: { $set: financialReportFrequency },\n          internalFinancialAudit: { $set: internalFinancialAudit },\n          taxAdvances: { $set: taxAdvances },\n          dayToDayMajority: { $set: dayToDayMajority },\n          meetingOfMembersMajority: { $set: meetingOfMembersMajority },\n          passActionWithoutMeetingMajority: { $set: passActionWithoutMeetingMajority },\n          amendmentMajority: { $set: amendmentMajority },\n          terminateCompanyMajority: { $set: terminateCompanyMajority },\n          amendOAorFormation: { $set: amendOAorFormation },\n          issueAdditionalMembership: { $set: issueAdditionalMembership },\n          appointRemoveAuditors: { $set: appointRemoveAuditors },\n          amendRelatedPartyAgreement: { $set: amendRelatedPartyAgreement },\n          enterEquityTransactions: { $set: enterEquityTransactions },\n          enterAssetTransactions: { $set: enterAssetTransactions },\n          establishSubsidiary: { $set: establishSubsidiary },\n          offeringAndSecurities: { $set: offeringAndSecurities },\n          fundamentalBusinessTransaction: { $set: fundamentalBusinessTransaction },\n          liquidateOrTerminate: { $set: liquidateOrTerminate },\n          cancelLiquidateOrTerminate: { $set: cancelLiquidateOrTerminate },\n          reinstateAfterTermination: { $set: reinstateAfterTermination },\n          changeManager: { $set: changeManager },\n          membersRemoveManager: { $set: membersRemoveManager },\n          fillManagerVacancy: { $set: fillManagerVacancy },\n          capitalContributionApproval: { $set: capitalContributionApproval },\n          capitalContributionAmount: { $set: capitalContributionAmount },\n          makeInvestmentApproval: { $set: makeInvestmentApproval },\n          makeInvestmentAmount: { $set: makeInvestmentAmount },\n          incurIndebtednessApproval: { $set: incurIndebtednessApproval },\n          incurIndebtednessOneTimeAmount: { $set: incurIndebtednessOneTimeAmount },\n          incurIndebtednessTotalAmount: { $set: incurIndebtednessTotalAmount },\n          settleLawsuitApproval: { $set: settleLawsuitApproval },\n          settleLawsuitAmount: { $set: settleLawsuitAmount }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'other';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (item) {\n      const\n        {\n          service_description : description,\n          jurisdiction: domesticJurisdiction\n        } = item;\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            description,\n            domesticJurisdiction\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          description: { $set: description },\n          domesticJurisdiction: { $set: domesticJurisdiction }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  /* eslint-disable max-statements */\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      starterPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('starter_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      proPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('pro_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      premiumPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('premium_plan') !== -1 && service.indexOf('ra_') === -1;\n      }),\n      raStarterPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('starter_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      raProPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('pro_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      raPremiumPlan = _find(orderArray, (item) => {\n        const service = _get(item, 'service', '');\n        return service.indexOf('premium_plan') !== -1 && service.indexOf('ra_') !== -1;\n      }),\n      planItem = starterPlan || proPlan || premiumPlan || raStarterPlan || raProPlan || raPremiumPlan,\n      plan = planItem ? planItem.plan : null;\n\n    let planLevel = '';\n    if (starterPlan) {\n      planLevel = 'level1';\n    } else if (proPlan) {\n      planLevel = 'level2';\n    } else if (premiumPlan) {\n      planLevel = 'level3';\n    } else if (raStarterPlan) {\n      planLevel = 'raLevel1';\n    } else if (raProPlan) {\n      planLevel = 'raLevel2';\n    } else if (raPremiumPlan) {\n      planLevel = 'raLevel3';\n    }\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n\n    if (plan) {\n      const {\n        id = '',\n        '1800_accountant': accountant1800 = false,\n        accountingOld = false,\n        annual_report_service: annualReportService = false,\n        anonymity = false,\n        banking = false,\n        banking_resolution: bankingResolution = false,\n        basic_email: basicEmail = false,\n        change_of_registered_agent: changeOfAgent = false,\n        corporate_docs: corporateDocs = false,\n        cpa_consult: cpaConsult = false,\n        domain_name_reg: domainName = false,\n        domain_name_privacy: domainNamePrivacy = false,\n        ein_creation: ein = false,\n        initial_cpa_screening: initialCPAScreening = false,\n        insurance = false,\n        ny_publication: nyPublication = false,\n        operating_agreement: operatingAgreement = false,\n        registered_agent_service: privacy = false,\n        static_website: staticWebsite = false,\n        tax_preparation: taxPreparation = false,\n        worry_free_service: worryFree = false\n      } = plan;\n\n      if (!hasKey) {\n        return {\n          [order_uuid]: { $set: {\n            planLevel,\n            id,\n            accountant1800,\n            accountingOld,\n            annualReportService,\n            anonymity,\n            banking,\n            bankingResolution,\n            basicEmail,\n            changeOfAgent,\n            corporateDocs,\n            cpaConsult,\n            domainName,\n            domainNamePrivacy,\n            ein,\n            initialCPAScreening,\n            insurance,\n            nyPublication,\n            operatingAgreement,\n            privacy,\n            staticWebsite,\n            taxPreparation,\n            worryFree\n          } }\n        };\n      }\n      return {\n        [order_uuid]: {\n          planLevel: { $set: planLevel },\n          id: { $set: id },\n          accountant1800: { $set: accountant1800 },\n          accountingOld: { $set: accountingOld },\n          annualReportService: { $set: annualReportService },\n          anonymity: { $set: anonymity },\n          banking: { $set: banking },\n          bankingResolution: { $set: bankingResolution },\n          basicEmail: { $set: basicEmail },\n          changeOfAgent: { $set: changeOfAgent },\n          corporateDocs: { $set: corporateDocs },\n          cpaConsult: { $set: cpaConsult },\n          domainName: { $set: domainName },\n          domainNamePrivacy: { $set: domainNamePrivacy },\n          ein: { $set: ein },\n          initialCPAScreening: { $set: initialCPAScreening },\n          insurance: { $set: insurance },\n          nyPublication: { $set: nyPublication },\n          operatingAgreement: { $set: operatingAgreement },\n          privacy: { $set: privacy },\n          staticWebsite: { $set: staticWebsite },\n          taxPreparation: { $set: taxPreparation },\n          worryFree: { $set: worryFree }\n        }\n      };\n    }\n\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  /* eslint-enable max-statements */\n\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _filter from 'lodash/filter';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _reduce from 'lodash/reduce';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\n/* eslint-disable max-statements */\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      raServices = _filter(orderArray, (data) => {\n        return _get(data, 'service', '') === 'registered_agent_service';\n      }),\n      registeredAgentService = raServices && raServices.length > 0 ? raServices[0] : null,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'ny_publication' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      registeredAgentFormation = formation || dbaEntity || product;\n\n    if (orderStatus === 'incomplete' || orderStatus === 'canceled') {\n      return {};\n    }\n\n    let firstName = '',\n      middleName = '',\n      lastName = '',\n      suffix = '',\n      companyName = '',\n      email = '',\n      phoneNumber = '',\n      addressLine1 = '',\n      addressLine2 = '',\n      city = '',\n      county = '',\n      state = '',\n      zipCode = '',\n      isZen = false,\n      isOther = false;\n\n    if (registeredAgentService) {\n      const ra = registeredAgentService.registered_agent || {};\n      firstName = ra.first_name || '';\n      middleName = ra.middle_name || '';\n      lastName = ra.last_name || '';\n      suffix = ra.suffix || '';\n      companyName = ra.company_name || '';\n      email = ra.email || '';\n      phoneNumber = ra.phone_number || '';\n      addressLine1 = ra.address_1 || '';\n      addressLine2 = ra.address_2 || '';\n      city = ra.city || '';\n      county = ra.county || '';\n      state = ra.state || '';\n      zipCode = ra.zip || '';\n      isZen = true;\n    } else if (registeredAgentFormation) {\n      const ra = registeredAgentFormation.registered_agent || {};\n      firstName = ra.first_name || '';\n      middleName = ra.middle_name || '';\n      lastName = ra.last_name || '';\n      suffix = ra.suffix || '';\n      companyName = ra.company_name || '';\n      email = ra.email || '';\n      phoneNumber = ra.phone_number || '';\n      addressLine1 = ra.address_1 || '';\n      addressLine2 = ra.address_2 || '';\n      city = ra.city || '';\n      county = ra.county || '';\n      state = ra.state || '';\n      zipCode = ra.zip || '';\n      isOther = true;\n    }\n\n    const map = _reduce(raServices, (collect, serv) => {\n      const\n        jurisdiction = serv.jurisdiction,\n        ra = serv.registered_agent || {},\n        regAgt = {};\n\n      regAgt.firstName = ra.first_name || '';\n      regAgt.middleName = ra.middle_name || '';\n      regAgt.lastName = ra.last_name || '';\n      regAgt.suffix = ra.suffix || '';\n      regAgt.companyName = ra.company_name || '';\n      regAgt.email = ra.email || '';\n      regAgt.phoneNumber = ra.phone_number || '';\n      regAgt.addressLine1 = ra.address_1 || '';\n      regAgt.addressLine2 = ra.address_2 || '';\n      regAgt.city = ra.city || '';\n      regAgt.county = ra.county || '';\n      regAgt.state = ra.state || '';\n      regAgt.zipCode = ra.zip || '';\n      regAgt.isZen = true;\n      regAgt.isOther = false;\n\n      collect[jurisdiction] = regAgt;\n      return collect;\n    }, {});\n\n    if (!hasKey) {\n      return {\n        [order_uuid]: { $set: {\n          map, isZen, isOther, firstName, middleName, lastName, suffix, companyName, email, phoneNumber, addressLine1, addressLine2, city, county, state, zipCode\n        } }\n      };\n    }\n    return {\n      [order_uuid]: {\n        map: { $set: map },\n        isZen: { $set: isZen },\n        isOther: { $set: isOther },\n        firstName: { $set: firstName },\n        middleName: { $set: middleName },\n        lastName: { $set: lastName },\n        suffix: { $set: suffix },\n        companyName: { $set: companyName },\n        email: { $set: email },\n        phoneNumber: { $set: phoneNumber },\n        addressLine1: { $set: addressLine1 },\n        addressLine2: { $set: addressLine2 },\n        city: { $set: city },\n        county: { $set: county },\n        state: { $set: state },\n        zipCode: { $set: zipCode }\n      }\n    };\n  },\n  /* eslint-enable max-statements */\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _map from 'lodash/map';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_INITIALCPASCREENING_ACTIONS } from '../../constants/register_initialcpascreening';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\n\nconst\n  convertDate = (dateStr) => {\n    try {\n      if (dateStr && dateStr.indexOf('T') === -1) {\n        return Date.parse(`${dateStr}T17:00:00-05:00`);\n      }\n      return Date.parse(dateStr);\n    } catch (e) {\n      return null;\n    }\n  },\n  itemOrders = {\n    ein_creation: true,\n    business_license_report: true,\n    entity_name_reservation: true,\n    ny_publication: true,\n    banking: true,\n    insurance: true,\n    accounting: true,\n    amendment: true,\n    standard_good_standing: true,\n    operating_agreement: true\n  },\n  getOrderUpdates = (order, hasKey) => {\n    const { order_uuid, order_status: status, created_datetime: createDateStr, status_updated_datetime: updatedTimeStr, business_entity_uuid: businessEntityId, order_data: orderData } = order,\n      createdDate = convertDate(createDateStr),\n      updatedDate = convertDate(updatedTimeStr),\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      dbaEntity = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'dba_entity';\n      }),\n      product = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return itemOrders[service];\n      }),\n      item = formation || dbaEntity || product || {},\n      { estimated_formation_date: efd = null } = item,\n      estimatedFormationDate = efd ? convertDate(efd) : null;\n\n    if (status === 'incomplete' && _get(item, 'service', '') !== 'operating_agreement') {\n      return {};\n    }\n    if (!hasKey) {\n      return {\n        [order_uuid]: { $set: {\n          status, createdDate, updatedDate, businessEntityId, estimatedFormationDate\n        } }\n      };\n    }\n    return {\n      [order_uuid]: {\n        status: { $set: status },\n        createdDate: { $set: createdDate },\n        updatedDate: { $set: updatedDate },\n        businessEntityId: { $set: businessEntityId },\n        estimatedFormationDate: { $set: estimatedFormationDate }\n      }\n    };\n  },\n  processGetOrders = (state) => {\n    return update(state, {\n      loading: { $set: true },\n      loaded: { $set: false },\n      needsRefresh: { $set: false }\n    });\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return update(state, {\n        loading: { $set: false },\n        loaded: { $set: false },\n        actionError: { $set: action.payload.errorCode === 3001 ? 3001 : 3000 }\n      });\n    }\n    const { orders: orderList } = data,\n      orders = orderList.sort((a, b) => {\n        const aDate = convertDate(a.created_datetime),\n          bDate = convertDate(b.created_datetime);\n        return aDate < bDate ? 1 : -1;\n      }),\n      updates = {},\n      ids = _map(orders, (order) => {\n        _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n        return order.order_uuid;\n      });\n\n    _assign(updates, {\n      loading: { $set: false },\n      loaded: { $set: true },\n      needsRefresh: { $set: false },\n      ids: { $set: ids },\n      actionError: { $set: 0 }\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  refreshOrders = (state, action, data, reducerData) => {\n    const { business = {} } = reducerData || {},\n      { status = 'incomplete' } = business;\n\n    if (action.error || status === 'incomplete') {\n      return state;\n    }\n    return update(state, {\n      needsRefresh: { $set: true }\n    });\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS]: processGetOrders,\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete,\n    [BUSINESS_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [CORP_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [EIN_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [LLC_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [POSTPURCHASE_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [WFG_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [COMP_NYPUB_ACTIONS.UPDATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_WFG_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_ACCOUNTING_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_BASICEMAIL_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_INITIALCPASCREENING_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_GS_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_LOGOKIT_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_SMB_WEBSITE_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders,\n    [REGISTRATION_ACTIONS.CREATE_ORDER_COMPLETE]: refreshOrders\n  };\n\nexport default function (state = { loading: false, loaded: false, needsRefresh: false, actionError: 0, ids: [] }, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    reducerData = _get(action, 'payload.reducerData', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data, reducerData) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport update from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/orders';\n\nconst\n  getOrderUpdates = (order, hasKey) => {\n    const { order_status: orderStatus, order_uuid, order_data: orderData } = order,\n      orderArray = orderData.order_items || orderData,\n      item = _find(orderArray, (data) => {\n        const service = _get(data, 'service', '');\n        return service === 'vanity_product';\n      });\n\n    if (orderStatus === 'incomplete') {\n      return {};\n    }\n    if (item) {\n      const\n        { service, vanity_product: vanityProduct, requestedJurisdiction, type, standalone } = item;\n      if (!hasKey) {\n        return {\n          [order_uuid]: {\n            $set: {\n              service,\n              vanityProduct,\n              requestedJurisdiction,\n              type,\n              standalone\n            }\n          }\n        };\n      }\n      return {\n        [order_uuid]: {\n          service: { $set: service },\n          vanityProduct: { $set: vanityProduct },\n          requestedJurisdiction: { $set: requestedJurisdiction },\n          type: { $set: type },\n          standalone: { $set: standalone }\n        }\n      };\n    }\n    return {\n      [order_uuid]: { $set: null }\n    };\n  },\n  processGetOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      updates = {};\n\n    _forEach(orders, (order) => {\n      _assign(updates, getOrderUpdates(order, !!state[order.order_uuid]));\n    });\n    return update(state, updates);\n  },\n  processGetOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, getOrderUpdates(data, !!state[data.order_uuid]));\n  },\n  processMap = {\n    [ACTIONS.GET_ORDERS_COMPLETE]: processGetOrdersComplete,\n    [ACTIONS.GET_ORDER_COMPLETE]: processGetOrderComplete\n  };\n\nexport default function (state = {}, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport accounting from './accounting';\nimport accountingOld from './accountingOld';\nimport amendment from './amendment';\nimport banking from './banking';\nimport business from './business';\nimport businessAddresses from './businessAddresses';\nimport businessKit from './businessKit';\nimport contact from './contact';\nimport contacts from './contacts';\nimport dbaEntity from './dbaEntity';\nimport directors from './directors';\nimport domainName from './domainName';\nimport ein from './ein';\nimport futureFileDate from './futureFileDate';\nimport goodStanding from './goodStanding';\nimport insurance from './insurance';\nimport items from './items';\nimport jurisdictions from './jurisdictions';\nimport logoKit from './logoKit';\nimport managers from './managers';\nimport members from './members';\nimport nyPublication from './nyPublication';\nimport officers from './officers';\nimport operatingAgreement from './operatingAgreement';\nimport other from './other';\nimport plan from './plan';\nimport registeredAgent from './registeredAgent';\nimport status from './status';\nimport vanityProduct from './vanityProduct';\n\nexport default combineReducers({\n  accounting,\n  accountingOld,\n  amendment,\n  banking,\n  business,\n  businessAddresses,\n  businessKit,\n  contact,\n  contacts,\n  dbaEntity,\n  directors,\n  domainName,\n  ein,\n  futureFileDate,\n  goodStanding,\n  insurance,\n  items,\n  jurisdictions,\n  logoKit,\n  managers,\n  members,\n  nyPublication,\n  officers,\n  operatingAgreement,\n  other,\n  plan,\n  registeredAgent,\n  status,\n  vanityProduct\n});\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/register_account';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\n\nexport const storageKey = 'registration/account';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    createAccount: false,\n    creatingAccount: false,\n    id: '',\n    actionError: 0,\n    hasZBMPro: false\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT), { creatingAccount: false }),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAccountOwnerContact = (state) => {\n    return update(state, {\n      createAccount: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateAccount = (state) => {\n    return update(state, {\n      createAccount: { $set: false },\n      creatingAccount: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateAccountComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        creatingAccount: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      id: { $set: data.id },\n      createAccount: { $set: false },\n      creatingAccount: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processAccountHasZBMoneyProSubscription = (state, action, data) => {\n    return update(state, {\n      hasZBMPro: { $set: data.hasZBMoneyProSubscription }\n    });\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [ACTIONS.CREATE_ACCOUNT]: processCreateAccount,\n    [ACTIONS.CREATE_ACCOUNT_COMPLETE]: processCreateAccountComplete,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_HAS_ZB_MONEY_PRO]: processAccountHasZBMoneyProSubscription\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/postpurchase';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc }\n    });\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.START]: resetAllData,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { ACTIONS } from '../../constants/amendment';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\n\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/amendment';\n\nconst INITIAL_STATE_DEFAULT = {\n  inProgress: false,\n  activeRoute: 'select-company',\n  didSelectOnlyAnnualReport: false,\n  didAddWFC: null,\n  fieldInfo: null,\n  filingJurisdiction: null,\n  filingJurisdictionType: null,\n  isFetchingJurisdiction: false,\n  isPurchasingWFG: false,\n  useCredit: null,\n  hasWFG: false,\n  creditUUID: '',\n  jurisdictionRules: null,\n  originalCompanyInfo: {},\n  defaultTaxPreparer: null,\n  updatedCompanyInfo: {},\n  orderCompleteBusinessId: '',\n  upcomingAnnualReportDueDate: '',\n  changingOwnership: null,\n  cardId: '',\n  cardNumber: '',\n  cardToken: '',\n  expMonth: '',\n  expYear: '',\n  cvc: '',\n  brand: '',\n  last4: '',\n  cardCreated: false,\n  actionError: 0\n};\n\nconst INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\nconst update = (newState) => {\n  reducerStorage.store(storageKey, newState);\n  return newState;\n};\n\nconst removeFieldFromUpdatedFields = (currentUpdates, fieldName) => {\n  const updatedInfo = currentUpdates;\n\n  delete updatedInfo[fieldName];\n\n  return updatedInfo;\n};\n\nexport default (state = INITIAL_STATE, action) => {\n  switch (action.type) {\n    case ACTIONS.ADVANCE_IN_FLOW:\n      return update({\n        ...state,\n        activeRoute: action.newRouteName\n      });\n\n    case ACTIONS.FETCH_JURISDICTION_REQ:\n      return update({\n        ...state,\n        isFetchingJurisdiction: true\n      });\n\n    case ACTIONS.FETCH_JURISDICTION_COMPLETE:\n      return update({\n        ...state,\n        fieldInfo: action.fieldInfo,\n        isFetchingJurisdiction: false,\n        jurisdictionRules: action.jurisdictionRules\n      });\n\n    case ACTIONS.SET_SELECT_ONLY_ANNUAL_REPORT:\n      return update({\n        ...state,\n        didSelectOnlyAnnualReport: action.didSelectOnlyAnnualReport\n      });\n\n    case ACTIONS.SET_ADD_WFC:\n      return update({\n        ...state,\n        didAddWFC: action.didAddWFC\n      });\n\n    case ACTIONS.SET_COMPANY: {\n      if (action.company.id === state.originalCompanyInfo.id) {\n        return update({\n          ...state,\n          originalCompanyInfo: action.company,\n          filingJurisdiction: action.company.domesticJurisdiction,\n          filingJurisdictionType: 'domestic'\n        });\n      }\n      return update({\n        ...INITIAL_STATE_DEFAULT,\n        inProgress: true,\n        originalCompanyInfo: action.company,\n        filingJurisdiction: action.company.domesticJurisdiction,\n        filingJurisdictionType: 'domestic',\n        orderCompleteBusinessId: action.company.id\n      });\n    }\n\n    case ACTIONS.SET_FOREIGN_JURISDICTION:\n      return update({\n        ...state,\n        filingJurisdiction: action.jurisdictionCode\n      });\n\n    case ACTIONS.INIT:\n      return update({\n        ...INITIAL_STATE_DEFAULT,\n        inProgress: true\n      });\n\n    case ACTIONS.SET_JURISDICTION_TYPE:\n      return update({\n        ...state,\n        filingJurisdiction: action.filingJurisdiction || state.filingJurisdiction,\n        filingJurisdictionType: action.jurisdictionType\n      });\n\n    case ACTIONS.SET_DEFAULT_TAX_PREPARER:\n      return update({\n        ...state,\n        defaultTaxPreparer: action.taxPreparer\n      });\n\n    case ACTIONS.RESET_FIELD:\n      return update({\n        ...state,\n        updatedCompanyInfo: removeFieldFromUpdatedFields(state.updatedCompanyInfo, action.fieldName)\n      });\n\n    case ACTIONS.SET_FIELD:\n      return update({\n        ...state,\n        updatedCompanyInfo: {\n          ...state.updatedCompanyInfo,\n          [action.fieldName]: action.updatedFieldValue\n        }\n      });\n\n    case ACTIONS.SET_PURCHASE_WFG:\n      return update({\n        ...state,\n        isPurchasingWFG: action.isPurchasing\n      });\n\n    case ACTIONS.SET_USE_CREDIT:\n      return update({\n        ...state,\n        useCredit: action.useCredit,\n        creditUUID: action.creditUUID,\n        hasWFG: action.hasWFG\n      });\n\n    case ACTIONS.SET_CHANGING_OWNERSHIP:\n      return update({\n        ...state,\n        changingOwnership: action.changingOwnership\n      });\n\n    case ACTIONS.ARS:\n      return update({\n        ...state,\n        hasARS: action.hasARS\n      });\n\n    case ACTIONS.CREATE_ORDER_COMPLETE:\n      if (!action.error) {\n        return update({\n          ...INITIAL_STATE_DEFAULT,\n          orderCompleteBusinessId: state.orderCompleteBusinessId\n        });\n      }\n      return state;\n\n    case ACTIONS.FETCH_COMPLIANCE_EVENTS_COMPLETE:\n      return update({\n        ...state,\n        upcomingAnnualReportDueDate: action.upcomingEventDate\n      });\n\n    case ACTIONS.PAYMENT:\n      return update({\n        ...state,\n        cardId: action.payload.data.cardId,\n        cardToken: action.payload.data.cardToken,\n        expMonth: action.payload.data.expMonth,\n        expYear: action.payload.data.expYear,\n        cvc: action.payload.data.cvc,\n        brand: action.payload.data.brand,\n        last4: action.payload.data.last4\n      });\n\n    case REGISTRATION_ACTIONS.RESET:\n      return update(INITIAL_STATE_DEFAULT);\n\n    default:\n      return state;\n  }\n};\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_banking';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/banking';\n\nconst\n  ACCOUNT_TYPE_MAP = {\n    checking: 'checking',\n    savings: 'savings'\n  },\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    inPlan: false,\n    companyId: '',\n    businessType: '',\n    name: '',\n    description: '',\n    domesticJurisdiction: '',\n    phoneNumber: '',\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    country: '',\n    zipCode: '',\n    createdAccounting: false,\n    createdEIN: false,\n    hasExistingEIN: false,\n    createdFormation: false,\n    matchedBusinessActivity: false,\n    hasDBAs: null,\n    dbas: '',\n    hasEIN: null,\n    ein: '',\n    businessYears: '',\n    owners: {},\n    businessActivity: '',\n    businessActivityOther: '',\n    accountType: '',\n    routingNumber: '',\n    accountNumber: '',\n    fundingAmount: '',\n    publicToken: '',\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    accounts: [],\n    plaidLinkToken: {},\n    gettingFundingAccounts: false,\n    gettingPlaidLinkToken: false,\n    gettingActivities: false,\n    actionError: 0,\n    naicsCodes: {},\n    naicsSector: '',\n    naicsSubsector: '',\n    naicsIndustry: '',\n    moreInfo: false,\n    responsibleParty: {},\n    hasITIN: null,\n    itin: {},\n    itinInfo: undefined,\n    gambling: null,\n    drugsFirearms: null,\n    hasW2: null,\n    vehicle: null,\n    W_2: {},\n    W2: false,\n    purchaseEIN: false,\n    taxableVehicle: null,\n    required720Form: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processInit = (state, action, data) => {\n    const { companyId, businessType, name, domesticJurisdiction } = data;\n\n    return update(state, {\n      inProgress: { $set: false },\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      actionError: { $set: 0 }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { inPlan = false, createdAccounting, hasExistingEIN, createdEIN, createdFormation, matchedBusinessActivity, hasEIN, ein, businessYears, businessActivity, hasDBAs, dbas, owners, purchaseEIN } = data,\n      { companyId, businessType, name, description, domesticJurisdiction, phoneNumber } = data,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      inPlan: { $set: inPlan },\n      createdAccounting: { $set: createdAccounting },\n      hasExistingEIN: { $set: hasExistingEIN },\n      createdEIN: { $set: createdEIN },\n      createdFormation: { $set: createdFormation },\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      description: { $set: description },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      phoneNumber: { $set: phoneNumber },\n      addressLine1: { $set: addressLine1 },\n      addressLine2: { $set: addressLine2 },\n      city: { $set: city },\n      county: { $set: county },\n      state: { $set: addrState },\n      country: { $set: country },\n      zipCode: { $set: zipCode },\n      matchedBusinessActivity: { $set: matchedBusinessActivity },\n      hasEIN: { $set: hasEIN },\n      ein: { $set: ein ? _trim(ein) : '' },\n      purchaseEIN: { $set: purchaseEIN },\n      businessYears: { $set: businessYears || '0' },\n      businessActivity: { $set: businessActivity || '' },\n      businessActivityOther: { $set: '' },\n      hasDBAs: { $set: hasDBAs },\n      dbas: { $set: dbas || '' },\n      owners: { $set: owners },\n      accountType: { $set: '' },\n      routingNumber: { $set: '' },\n      accountNumber: { $set: '' },\n      fundingAmount: { $set: '' },\n      actionError: { $set: 0 }\n    });\n  },\n  processStartEIN = (state, action, data) => {\n    const { inPlan = false, createdAccounting, hasExistingEIN, createdEIN = false, createdFormation, matchedBusinessActivity, hasEIN = false, ein, businessYears, businessActivity, hasDBAs, dbas, owners } = data,\n      { companyId, businessType, name, description, domesticJurisdiction, phoneNumber } = data,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = data,\n      { responsibleParty, hasITIN, itin, itinInfo, gambling, drugsFirearms, hasW2, vehicle } = data,\n      { W2, taxableVehicle, required720Form, moreInfo } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      inPlan: { $set: inPlan },\n      createdAccounting: { $set: createdAccounting },\n      hasExistingEIN: { $set: hasExistingEIN },\n      createdEIN: { $set: createdEIN },\n      createdFormation: { $set: createdFormation },\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      description: { $set: description },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      phoneNumber: { $set: phoneNumber },\n      addressLine1: { $set: addressLine1 },\n      addressLine2: { $set: addressLine2 },\n      city: { $set: city },\n      county: { $set: county },\n      state: { $set: addrState },\n      country: { $set: country },\n      zipCode: { $set: zipCode },\n      matchedBusinessActivity: { $set: matchedBusinessActivity },\n      hasEIN: { $set: hasEIN },\n      ein: { $set: ein ? _trim(ein) : '' },\n      businessYears: { $set: businessYears || '0' },\n      businessActivity: { $set: businessActivity || '' },\n      businessActivityOther: { $set: '' },\n      hasDBAs: { $set: hasDBAs },\n      dbas: { $set: dbas || '' },\n      owners: { $set: owners },\n      accountType: { $set: '' },\n      routingNumber: { $set: '' },\n      accountNumber: { $set: '' },\n      fundingAmount: { $set: '' },\n      moreInfo: { $set: moreInfo },\n      responsibleParty: { $set: responsibleParty },\n      hasITIN: { $set: hasITIN },\n      itin: { $set: itin },\n      itinInfo: { $set: itinInfo },\n      gambling: { $set: gambling },\n      drugsFirearms: { $set: drugsFirearms },\n      hasW2: { $set: hasW2 },\n      vehicle: { $set: vehicle },\n      W2: { $set: W2 },\n      taxableVehicle: { $set: taxableVehicle },\n      required720Form: { $set: required720Form },\n      actionError: { $set: 0 }\n    });\n  },\n  processStartFromCompleteBusiness = (state, action, data) => {\n    const { companyId, type: businessType, name, description, domesticJurisdiction, phoneNumber, owners } = data,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      inPlan: { $set: false },\n      createdAccounting: { $set: false },\n      hasExistingEIN: { $set: false },\n      createdEIN: { $set: false },\n      createdFormation: { $set: false },\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      description: { $set: description },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      phoneNumber: { $set: phoneNumber },\n      addressLine1: { $set: addressLine1 },\n      addressLine2: { $set: addressLine2 },\n      city: { $set: city },\n      county: { $set: county },\n      state: { $set: addrState },\n      country: { $set: country },\n      zipCode: { $set: zipCode },\n      matchedBusinessActivity: { $set: false },\n      hasEIN: { $set: null },\n      ein: { $set: '' },\n      businessYears: { $set: '' },\n      businessActivity: { $set: '' },\n      businessActivityOther: { $set: '' },\n      hasDBAs: { $set: null },\n      dbas: { $set: '' },\n      owners: { $set: owners },\n      accountType: { $set: '' },\n      routingNumber: { $set: '' },\n      accountNumber: { $set: '' },\n      fundingAmount: { $set: '' },\n      actionError: { $set: 0 }\n    });\n  },\n  processEIN = (state, action, data = {}) => {\n    const { ein = '' } = data;\n    return update(state, {\n      ein: { $set: _trim(ein) }\n    });\n  },\n  processHasEIN = (state, action, data) => {\n    const { hasEIN } = data;\n\n    return update(state, {\n      hasEIN: { $set: hasEIN }\n    });\n  },\n  processPurchaseEIN = (state, action, data) => {\n    const { purchaseEIN } = data;\n    return update(state, {\n      purchaseEIN: { $set: purchaseEIN },\n      ein: { $set: '' }\n    });\n  },\n  processResponsibleParty = (state, action, data) => {\n    const { responsibleParty } = data;\n\n    return update(state, {\n      responsibleParty: { $set: responsibleParty }\n    });\n  },\n  processHasITIN = (state, action, data) => {\n    const { hasITIN } = data;\n\n    return update(state, {\n      hasITIN: { $set: hasITIN }\n    });\n  },\n  processITIN = (state, action, data) => {\n    const { itin } = data;\n\n    return update(state, {\n      itin: { $set: itin }\n    });\n  },\n  processGambling = (state, action, data) => {\n    const { gambling } = data;\n    return update(state, {\n      gambling: { $set: gambling }\n    });\n  },\n  processDrugsFirearms = (state, action, data) => {\n    const { drugsFirearms } = data;\n    return update(state, {\n      drugsFirearms: { $set: drugsFirearms }\n    });\n  },\n  processHasW2 = (state, action, data) => {\n    const { hasW2 } = data;\n    return update(state, {\n      hasW2: { $set: hasW2 }\n    });\n  },\n  processW2 = (state, action, data) => {\n    const { W2 } = data;\n    return update(state, {\n      W2: { $set: W2 }\n    });\n  },\n  processVehicle = (state, action, data) => {\n    const { vehicle } = data;\n    return update(state, {\n      vehicle: { $set: vehicle }\n    });\n  },\n  processTaxableVehicle = (state, action, data) => {\n    const { taxableVehicle } = data;\n    return update(state, {\n      taxableVehicle: { $set: taxableVehicle }\n    });\n  },\n  processForm720 = (state, action, data) => {\n    const { required720Form } = data;\n    return update(state, {\n      required720Form: { $set: required720Form }\n    });\n  },\n  processBusinessYears = (state, action, data) => {\n    const { businessYears } = data;\n\n    return update(state, {\n      businessYears: { $set: businessYears }\n    });\n  },\n  processDBAs = (state, action, data) => {\n    const { dbas } = data;\n\n    return update(state, {\n      dbas: { $set: dbas }\n    });\n  },\n  processHasDBAs = (state, action, data) => {\n    const { hasDBAs } = data;\n\n    return update(state, {\n      hasDBAs: { $set: hasDBAs }\n    });\n  },\n  processBusinessActivity = (state, action, data) => {\n    const { businessActivity, businessActivityOther } = data;\n\n    return update(state, {\n      businessActivity: { $set: businessActivity },\n      businessActivityOther: { $set: businessActivityOther }\n    });\n  },\n  proccessGetNaicsCodesComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingActivities: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      gettingActivities: { $set: false },\n      actionError: { $set: 0 },\n      naicsCodes: { $set: data }\n    });\n  },\n\n  processSetNaicsSector = (state, action, data) => {\n\n    return update(state, {\n      naicsSector: { $set: data },\n      naicsSubsector: { $set: '' },\n      naicsIndustry: { $set: '' }\n    });\n  },\n\n  processSetNaicsSubsector = (state, action, data) => {\n    return update(state, {\n      naicsSubsector: { $set: data },\n      naicsIndustry: { $set: '' }\n    });\n  },\n\n  processSetNaicsIndustry = (state, action, data) => {\n    return update(state, {\n      naicsIndustry: { $set: data }\n    });\n  },\n\n  processOwners = (state, action, data) => {\n    const { owners } = data;\n\n    return update(state, {\n      owners: { $set: owners }\n    });\n  },\n  processOwnerInfo = (state, action, data) => {\n    const { owners } = data;\n\n    return update(state, {\n      owners: { $set: owners }\n    });\n  },\n  processFunding = (state, action, data) => {\n    const { fundingAmount } = data;\n\n    return update(state, {\n      fundingAmount: { $set: fundingAmount }\n    });\n  },\n  processChooseAccount = (state, action, data) => {\n    const { accountType, routingNumber, accountNumber, publicToken } = data;\n\n    return update(state, {\n      accountType: { $set: accountType },\n      routingNumber: { $set: routingNumber },\n      accountNumber: { $set: accountNumber },\n      publicToken: { $set: publicToken }\n    });\n  },\n  processAccountInfo = (state, action, data) => {\n    const { accountFullName } = data;\n\n    return update(state, {\n      accountFullName: { $set: accountFullName }\n    });\n  },\n  processDataConfirmation = (state) => {\n    return state;\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processGetFundingAccounts = (state) => {\n    return update(state, {\n      gettingFundingAccounts: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processGetFundingAccountsComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingFundingAccounts: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    const accounts = _map(data.accounts, (act) => {\n      const { account_id: accountId, account_number: accountNumber, routing_number: routingNumber, subtype: accountTypeRaw, mask, balances: { available, current } } = act,\n        balance = available || current || 0;\n\n      return {\n        accountId,\n        accountType: ACCOUNT_TYPE_MAP[accountTypeRaw] || 'other',\n        accountNumber,\n        routingNumber,\n        mask,\n        balance\n      };\n    });\n    return update(state, {\n      gettingFundingAccounts: { $set: false },\n      actionError: { $set: 0 },\n      accounts: { $set: accounts }\n    });\n  },\n  processGetPlaidLink = (state) => {\n    return update(state, {\n      gettingPlaidLinkToken: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processGetPlaidLinkComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        gettingPlaidLinkToken: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      gettingPlaidLinkToken: { $set: false },\n      actionError: { $set: 0 },\n      plaidLinkToken: { $set: data.linkToken }\n    });\n  },\n  getOwner = (owner, contact) => {\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = owner,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state = '', zip: zipCode = '', country = '', email = '', phone: phoneNumber = '' } = owner,\n      { citizenship, resident_citizen_age_acknowledge: residentCitizenAgeAck = false, ownership_percentage: percentFloat, date_of_birth: dobRaw, role, ein } = owner,\n      dob = dobRaw ? dobRaw.replace(/-/g, '/') : '',\n      percent = `${percentFloat}`,\n      { first_name: contactFirstName = '', middle_name: contactMiddleName = '', last_name: contactLastName = '', suffix: contactSuffix = '', company_name: contactCompanyName = '' } = contact,\n      accountOwner = firstName === contactFirstName && middleName === contactMiddleName && lastName === contactLastName && suffix === contactSuffix && companyName === contactCompanyName;\n\n    return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, county, state, zipCode, country, email, phoneNumber, citizenship, residentCitizenAgeAck, percent, dob, role, ein, accountOwner, access: true };\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      orderArray = orderData.order_items || orderData,\n      formationBanking = _find(orderArray, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'banking';\n      });\n\n    if (!formationBanking) {\n      return state;\n    }\n\n    const\n      { business_entity_type: entityType, business_entity_name: name, business_entity_address: address, business_purpose: description } = formationBanking,\n      { jurisdiction: domesticJurisdiction, phone: phoneNumber, business_dba_name: dbas, ein } = formationBanking,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = '' } = address,\n      { naics: businessActivity, naics_description: businessActivityOther, bank_account_members: ownerList, business_entity_contact: contact } = formationBanking,\n      businessType = entityType === 'CORP' ? 'CORP' : 'LLCX',\n      owners = _map(ownerList, (owner) => {\n        return getOwner(owner, contact);\n      });\n\n    return update(state, {\n      businessType: { $set: businessType },\n      name: { $set: name },\n      description: { $set: description },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      phoneNumber: { $set: phoneNumber },\n      addressLine1: { $set: addressLine1 },\n      addressLine2: { $set: addressLine2 },\n      city: { $set: city },\n      county: { $set: county },\n      state: { $set: addrState },\n      zipCode: { $set: zipCode },\n      country: { $set: country },\n      dbas: { $set: dbas },\n      ein: { $set: ein },\n      businessActivity: { $set: businessActivity },\n      businessActivityOther: { $set: businessActivityOther },\n      owners: { $set: owners }\n    });\n  },\n  /* eslint-enable max-statements */\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n    [ACTIONS.START_EIN]: processStartEIN,\n    [ACTIONS.START_FROM_COMP_BUS]: processStartFromCompleteBusiness,\n    [ACTIONS.START_PLAN]: processStart,\n    [ACTIONS.EIN]: processEIN,\n    [ACTIONS.PURCHASE_EIN]: processPurchaseEIN,\n    [ACTIONS.HAS_EIN]: processHasEIN,\n    [ACTIONS.RESPONSIBLE_PARTY]: processResponsibleParty,\n    [ACTIONS.HAS_ITIN]: processHasITIN,\n    [ACTIONS.ITIN]: processITIN,\n    [ACTIONS.GAMBLING]: processGambling,\n    [ACTIONS.DRUGS_FIREARMS]: processDrugsFirearms,\n    [ACTIONS.HAS_W2]: processHasW2,\n    [ACTIONS.W_2]: processW2,\n    [ACTIONS.VEHICLE]: processVehicle,\n    [ACTIONS.TAXABLE_VEHICLE]: processTaxableVehicle,\n    [ACTIONS.FORM_720]: processForm720,\n    [ACTIONS.DBAS]: processDBAs,\n    [ACTIONS.HAS_DBAS]: processHasDBAs,\n    [ACTIONS.BUS_YEARS]: processBusinessYears,\n    [ACTIONS.BUS_ACT]: processBusinessActivity,\n    [ACTIONS.GET_NAICS_CODES_COMPLETE]: proccessGetNaicsCodesComplete,\n    [ACTIONS.SET_NAICS_SECTOR]: processSetNaicsSector,\n    [ACTIONS.SET_NAICS_SUBSECTOR]: processSetNaicsSubsector,\n    [ACTIONS.SET_NAICS_INDUSTRY]: processSetNaicsIndustry,\n    [ACTIONS.OWNERS]: processOwners,\n    [ACTIONS.OWNER_INFO]: processOwnerInfo,\n    [ACTIONS.FUNDING]: processFunding,\n    [ACTIONS.ACCOUNT_INFO]: processAccountInfo,\n    [ACTIONS.CHOOSE_ACCOUNT]: processChooseAccount,\n    [ACTIONS.GET_FUNDING_ACCOUNTS]: processGetFundingAccounts,\n    [ACTIONS.GET_FUNDING_ACCOUNTS_COMPLETE]: processGetFundingAccountsComplete,\n    [ACTIONS.GET_PLAID_LINK_TOKEN]: processGetPlaidLink,\n    [ACTIONS.GET_PLAID_LINK_TOKEN_COMPLETE]: processGetPlaidLinkComplete,\n    [ACTIONS.DATA_CONFIRM]: processDataConfirmation,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment,\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/purchase_post_addons';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey =  'registration/bankOfAmericaOffer';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    bankOfAmericaOffer: null,\n    actionError: 0\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT), { bankOfAmericaOffer: null }),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  setBankOfAmericaOffer = (state, action, data) => {\n    const { bankOfAmericaOffer } = data;\n    return update(state, {\n      bankOfAmericaOffer: { $set: bankOfAmericaOffer },\n      actionError: { $set: 0 }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_BOA_OFFER]: setBankOfAmericaOffer,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport _has from 'lodash/has';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_DOMAINNAME_ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { isLoggedIn } from '../../utils/AuthService';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/contact';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    isPrincipal: true,\n    firstName: '',\n    middleName: '',\n    lastName: '',\n    suffix: '',\n    companyName: '',\n    careOf: '',\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    zipCode: '',\n    country: '',\n    email: '',\n    phoneNumber: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAccountOwnerName = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix } = data;\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) }\n    });\n  },\n  processAccountOwnerContact = (state, action, data) => {\n    const { email, phoneNumber } = data;\n    return update(state, {\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processAccountOwnerInfo = (state, action, data) => {\n    const { firstName, lastName, email, phoneNumber } = data;\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      lastName: { $set: _trim(lastName) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processAccountOwnerData = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, email, phoneNumber } = data;\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processContact = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, companyName, careOf, addressLine1, addressLine2, city, county, state: addrState, zipCode, email, phoneNumber, isPrincipal } = data;\n\n    return update(state, {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      careOf: { $set: _trim(careOf) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: 'US' },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processEmail = (state, action, data) => {\n    const { email } = data;\n\n    return update(state, {\n      email: { $set: email }\n    });\n  },\n  processFirstName = (state, action, data) => {\n    const { firstName } = data;\n\n    return update(state, {\n      firstName: { $set: firstName }\n    });\n  },\n  processLastName = (state, action, data) => {\n    const { lastName } = data;\n\n    return update(state, {\n      lastName: { $set: lastName }\n    });\n  },\n  processMiddleName = (state, action, data) => {\n    const { middleName } = data;\n\n    return update(state, {\n      middleName: { $set: middleName }\n    });\n  },\n  processPhone = (state, action, data) => {\n    const { phoneNumber } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber }\n    });\n  },\n  processSuffix = (state, action, data) => {\n    const { suffix } = data;\n\n    return update(state, {\n      suffix: { $set: suffix }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const { contact } = data;\n\n    if (!contact) {\n      return state;\n    }\n\n    const\n      { firstName, middleName, lastName, companyName, careOf, suffix, email, phoneNumber } = contact,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = contact;\n\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      careOf: { $set: _trim(careOf) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: country }\n    });\n  },\n  processRemagineCart = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, email, phoneNumber } = data;\n\n    return update(state, {\n      firstName: { $set: firstName },\n      middleName: { $set: middleName },\n      lastName: { $set: lastName },\n      suffix: { $set: suffix },\n      email: { $set: email },\n      phoneNumber: { $set: phoneNumber }\n    });\n  },\n  processAccountComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    if (state.firstName) {\n      return state;\n    }\n    const\n      {\n        account_uuid: id,\n        account_email: email,\n        account_phone: phone,\n        first_name: firstName,\n        middle_name: middleName,\n        last_name: lastName,\n        suffix\n      } = data;\n\n    return update(state, {\n      id: { $set: id },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phone }\n    });\n  },\n\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const contact = _get(o, 'contact', null);\n\n        return contact !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { contact = {} } = order,\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', care_of: careOf = '' } = contact,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = 'US' } = contact,\n      { email = '', phone: phoneNumber = '', is_principal: isPrincipal = false } = contact;\n\n    return update(state, {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: companyName },\n      careOf: { $set: careOf },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: country },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processResetData = (state, action, data) => {\n    const updateObj = {};\n    Object.entries(data).forEach((entry) => {\n      const [key, value] = entry;\n      if (_has(state, key)) {\n        updateObj[key] = { $set: value };\n      }\n    });\n    return update(state, updateObj);\n  },\n  processStart = (state, action, data) => {\n    const { firstName = '', middleName = '', lastName = '', suffix = '', email = '' } = data;\n\n    if (!isLoggedIn() && firstName) {\n      return update(state, {\n        firstName: { $set: firstName },\n        middleName: { $set: middleName },\n        lastName: { $set: lastName },\n        suffix: { $set: suffix },\n        email: { $set: email }\n      });\n    }\n    return state;\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [LLC_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [CORP_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [CORP_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [REG_BLR_ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_BLR_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_BLR_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [COMP_BLR_ACTIONS.PRIM_CONTACT]: processContact,\n    [COMP_BLR_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [COMP_BUSINESS_ACTIONS.PRIM_CONTACT]: processContact,\n    [COMP_BUSINESS_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n\n    [REG_CORA_PF_ACTIONS.ACCOWN_EMAIL]: processEmail,\n    [REG_CORA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processFirstName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_LAST_NAME]: processLastName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_MIDDLE_NAME]: processMiddleName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_PHONE]: processPhone,\n    [REG_CORA_PF_ACTIONS.ACCOWN_SUFFIX]: processSuffix,\n    [REG_CORA_PF_ACTIONS.CART]: processRemagineCart,\n    [REG_CORA_PF_ACTIONS.INIT]: processStart,\n    [REG_CORA_PF_ACTIONS.RESET_DATA]: processResetData,\n\n    [COMP_CORA_ACTIONS.CHOOSE_OFF_STATE_CONTACT]: processContact,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT]: processContact,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT_MODAL]: processContact,\n\n    [REG_DBA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processFirstName,\n    [REG_DBA_PF_ACTIONS.ACCOWN_LAST_NAME]: processLastName,\n    [REG_DBA_PF_ACTIONS.ACCOWN_EMAIL]: processEmail,\n    [REG_DBA_PF_ACTIONS.ACCOWN_PHONE]: processPhone,\n    [REG_DBA_PF_ACTIONS.CART]: processRemagineCart,\n    [REG_DBA_PF_ACTIONS.RESET_DATA]: processResetData,\n\n    [REG_DOMAINNAME_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [REG_EIN_ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_EIN_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: processAccountOwnerInfo,\n    [REG_NAMERES_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n    [REG_NAMERES_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [REG_NYPUB_ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_NYPUB_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_NYPUB_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [COMP_NYPUB_ACTIONS.PRIM_CONTACT]: processContact,\n    [COMP_NYPUB_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n\n    [REG_ONLINETOOLS_ACTIONS.PRIM_CONTACT]: processContact,\n\n    [REG_WFG_ACTIONS.INIT]: processStart,\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_WFG_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_WFG_ACTIONS.ACCOWN_NAME]: processAccountOwnerName,\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.CHOOSE_PRIM_CONTACT]: processContact,\n    [COMP_WFG_ACTIONS.PRIM_CONTACT]: processContact,\n    [COMP_WFG_ACTIONS.PRIM_CONTACT_MODAL]: processContact,\n\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_COMPLETE]: processAccountComplete,\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport { ACTIONS } from '../../constants/initialization';\n\nconst INITIAL_STATE = {};\n\nexport default function (state = INITIAL_STATE, action) {\n  const { coupons } = _get(action, 'payload.data', {});\n\n  switch (action.type) {\n    case ACTIONS.SET_INITIALIZATION: {\n      return coupons;\n    }\n    default:\n      return state;\n  }\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { NY_PUB_COUNTY_REVERSE_MAP } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/nypub';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    pubState: '',\n    pubStateCounty: '',\n    // Existing NY:\n    nyPubCounty: '',\n    nyPubCountyCode: '',\n    useAlbany: false,\n    locked: false\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT)),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n\n  processPubState = (state, action, data) => {\n    const { pubState } = data;\n    return update(state, {\n      pubState: { $set: pubState },\n      useAlbany: { $set: false },\n      locked: { $set: false }\n    });\n  },\n\n  processPubCountyGeneric = (state, action, data) => {\n    const { pubStateCounty, pubState } = data;\n\n    return update(state, {\n      pubState: { $set: pubState },\n      pubStateCounty: { $set: pubStateCounty },\n      useAlbany: { $set: false },\n      locked: { $set: false }\n    });\n  },\n\n  processPubCounty = (state, action, data) => {\n    // GA and NY before RA: pubState, nyPubCountyCode\n    const { nyPubCounty, nyPubCountyCode } = data;\n\n    return update(state, {\n      nyPubCounty: { $set: nyPubCounty },\n      nyPubCountyCode: { $set: nyPubCountyCode },\n      useAlbany: { $set: false },\n      locked: { $set: false }\n    });\n  },\n\n  processBusinessId = (state, action, data) => {\n    const { id, business, businessAddresses = { principal: {} } } = data,\n      { principal: { county: nyPubCounty } } = businessAddresses,\n      { requestedJurisdiction: pubState } = business;\n\n    if (!id) {\n      return update(state, {\n        locked: { $set: false }\n      });\n    }\n    return update(state, {\n      pubState: { $set: pubState },\n      nyPubCounty: { $set: nyPubCounty },\n      nyPubCountyCode: { $set: NY_PUB_COUNTY_REVERSE_MAP[nyPubCounty] || 'albany' },\n      useAlbany: { $set: false },\n      locked: { $set: true }\n    });\n  },\n\n  processRegBusinessId = (state, action, data) => {\n    const { businessAddresses = {} } = data,\n      { principal = {} } = businessAddresses,\n      { count: nyPubCounty = '' } = principal;\n\n    return update(state, {\n      nyPubCounty: { $set: nyPubCounty },\n      nyPubCountyCode: { $set: nyPubCounty ? NY_PUB_COUNTY_REVERSE_MAP[nyPubCounty] || 'albany' : '' },\n      useAlbany: { $set: !nyPubCounty },\n      locked: { $set: true }\n    });\n  },\n\n  processPrincipalAddress = (state, action, data) => {\n    const { county, state: addrState } = data;\n\n    if (addrState !== 'NY') {\n      return state;\n    }\n\n    return update(state, {\n      nyPubCounty: { $set: county },\n      nyPubCountyCode: { $set: NY_PUB_COUNTY_REVERSE_MAP[county] || 'albany' }\n    });\n  },\n\n  processRA = (state, action, data) => {\n    const { privacy } = data;\n\n    return update(state, {\n      useAlbany: { $set: privacy }\n    });\n  },\n\n  // Calls to middleware\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const service = _get(o, 'service', '');\n\n        return service === 'ny_publication';\n      });\n\n    if (!order) {\n      return INITIAL_STATE_DEFAULT;\n    }\n\n    const\n      { ny_publication_county: nyPubCounty } = order;\n\n    return update(state, {\n      nyPubCounty: { $set: nyPubCounty },\n      nyPubCountyCode: { $set: NY_PUB_COUNTY_REVERSE_MAP[nyPubCounty] || 'albany' },\n      useAlbany: { $set: false }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.BUS_ID]: processRegBusinessId,\n    [ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n    [ACTIONS.PRODUCT_CONFIRM]: processRA,\n    [ACTIONS.PUB_COUNTY]: processPubCounty,\n    [ACTIONS.PUB_STATE]: processPubState,\n    [ACTIONS.PUB_STATE_COUNTY]: processPubCountyGeneric,\n    [ACTIONS.PURCH_PLAN]: processRA,\n    [ACTIONS.PURCH_PRIV]: processRA,\n    [ACTIONS.PURCHASE_SUCCESS]: resetAllData,\n\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_NYPUB_ACTIONS.PUB_COUNTY]: processPubCounty,\n    [REG_NYPUB_ACTIONS.PUB_STATE]: processPubState,\n    [REG_NYPUB_ACTIONS.PUB_STATE_COUNTY]: processPubCountyGeneric,\n    [REG_NYPUB_ACTIONS.PUB_COUNTY_MODAL]: processPubCounty,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\n\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { syncUpPlan } from '../../utils/PlanService';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/plan';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    plan: null\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      planData = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        if (\n          service.indexOf('starter_plan') >= 0 ||\n          service.indexOf('pro_plan') >= 0 ||\n          service.indexOf('premium_plan') >= 0 ||\n          service.indexOf('subscription_plan') >= 0\n        ) {\n          return true;\n        }\n        return false;\n      });\n    if (!planData) {\n      return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n    }\n\n    const newState = {\n      plan: planData.plan\n    };\n    // Check if the plans data we get from /initialize call is the same that\n    // was set and used by the initial order.\n    syncUpPlan(planData);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: resetAllData,\n\n    [REG_ACCOUNTING_ACTIONS.INIT]: resetAllData,\n\n    [REG_BLR_ACTIONS.INIT]: resetAllData,\n\n    [REG_CORA_PF_ACTIONS.INIT]: resetAllData,\n\n    [REG_EIN_ACTIONS.INIT]: resetAllData,\n\n    [REG_NAMERES_ACTIONS.INIT]: resetAllData,\n    [REG_NYPUB_ACTIONS.INIT]: resetAllData,\n\n    [REG_WFG_ACTIONS.INIT]: resetAllData,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REG_ACTIONS } from '../../constants/registration';\n\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/remagine';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    goals: '',\n    hasEmployees: '',\n    homeBased: null,\n    industry: '',\n    launchStatus: '',\n    priorExperience: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        // API-934: slim order_data nests entity_name under create_data\n        const entityName = _get(o, 'entity_name', null) || _get(o, 'create_data.entity_name', null);\n\n        return entityName !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      {\n        goals = '',\n        has_employees: hasEmployees = '',\n        home_based: homeBased = null,\n        industry = '',\n        launch_status: launchStatus = '',\n        prior_experience: priorExperience = ''\n      } = order;\n\n    return update(state, {\n      goals: { $set: goals },\n      hasEmployees: { $set: hasEmployees },\n      homeBased: { $set: homeBased },\n      industry: { $set: _trim(industry) },\n      launchStatus: { $set: launchStatus },\n      priorExperience: { $set: priorExperience }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REG_ACTIONS.RESET]: resetAllData,\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nINITIAL_STATE.startStep = INITIAL_STATE.step;\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_wfgir';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/wfgir';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    cardToken: '',\n    last4: '',\n    brand: '',\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const { companyId } = data;\n\n    return update(state, {\n      companyId: { $set: companyId }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processPayment = (state, action, data) => {\n    const {\n      cardToken,\n      last4,\n      brand,\n      cardId,\n      cardNumber,\n      expMonth,\n      expYear,\n      cvc\n    } = data;\n\n    return update(state, {\n      cardToken: { $set: cardToken },\n      last4: { $set: last4 },\n      brand: { $set: brand },\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { companyId } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      actionError: { $set: 0 }\n    });\n  },\n  processStartConfirm = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.START]: processStartConfirm,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { ACTIONS } from '../../constants/progress_bar';\n\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/setProgressBar';\n\nconst INITIAL_STATE_DEFAULT = {\n  currentStep: 0,\n  steps: [],\n  activeFlow: ''\n};\n\nconst INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\nconst update = (newState) => {\n  reducerStorage.store(storageKey, newState);\n  return newState;\n};\n\nexport default (state = INITIAL_STATE, action) => {\n  const { payload = {}, type } = action;\n  const { steps, currentStep, activeFlow } = payload;\n  switch (type) {\n    case ACTIONS.SET_PROGRESS_BAR:\n      return update({\n        ...state,\n        currentStep,\n        steps,\n        activeFlow\n      });\n\n    case ACTIONS.RESET_PROGRESS_BAR:\n      reducerStorage.clear(storageKey);\n      return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\n    default:\n      return state;\n  }\n};\n","import { ACTIONS } from '../../constants/business_name_generator';\n\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/businessNameGenerator';\n\nconst INITIAL_STATE_DEFAULT = {\n  searchKey: '',\n  matched: false,\n  matches: [],\n  suggestions: [],\n  loading: false,\n  selectedBusinessNameSuggestion: null\n};\n\nconst INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\nconst update = (newState) => {\n  reducerStorage.store(storageKey, newState);\n  return newState;\n};\n\nexport default (state = INITIAL_STATE, action) => {\n  switch (action.type) {\n    case ACTIONS.SEARCH_BUSINESS_NAMES:\n      return update({\n        ...state,\n        searchKey: action.payload.searchKey,\n        selectedBusinessNameSuggestion: null,\n        loading: true\n      });\n\n    case ACTIONS.SEARCH_BUSINESS_NAMES_COMPLETE:\n      return update({\n        ...state,\n        matched: action.payload.matched,\n        matches: action.payload.matches,\n        suggestions: action.payload.suggestions,\n        loading: false\n      });\n\n    case ACTIONS.SEL_BUS_NAME_SUGGES:\n      return update({\n        ...state,\n        selectedBusinessNameSuggestion: action.payload.data.selectedBusinessNameSuggestion\n      });\n\n    case ACTIONS.RESET:\n      reducerStorage.clear(storageKey);\n      return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n    default:\n      return state;\n  }\n};\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_vanity';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/vanityProduct';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    vanityUrlId: null,\n    vanityKey: null,\n    vanityProduct: null,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, name, domesticJurisdiction, type } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard,\n      vanityUrlId,\n      vanityKey\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      actionError: { $set: 0 },\n      vanityUrlId: { $set: vanityUrlId },\n      vanityKey: { $set: vanityKey }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { vanityProduct } = data;\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 },\n      vanityProduct: { $set: vanityProduct }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import { combineReducers } from 'redux';\n\nimport account from './account';\nimport accounting from './accounting';\nimport amendment from './amendment';\nimport annualReport from './annualReport';\nimport banking from './banking';\nimport bankOfAmericaOffer from './bankOfAmericaOffer';\nimport blr from './blr';\nimport business from './business';\nimport contact from './contact';\nimport cora from './cora';\nimport corpDocs from './corpDocs';\nimport corpStockFlow from './corpStockFlow';\nimport coupons from './coupons';\nimport customer from './customer';\nimport dbaEntity from './dbaEntity';\nimport directors from './directors';\nimport domainName from './domainName';\nimport domainV2 from './domainV2';\nimport emailV2 from './emailV2';\nimport ein from './ein';\nimport expenseTrackerNTaxFiling from './expenseTrackerNTaxFiling';\nimport feedback from './feedback';\nimport goodStanding from './goodStanding';\nimport lead from './lead';\nimport logoKit from './logoKit';\nimport managers from './managers';\nimport members from './members';\nimport nypub from './nypub';\nimport officers from './officers';\nimport order from './order';\nimport page from './page';\nimport plan from './plan';\nimport postpurchase from './postpurchase';\nimport businessAddresses from './businessAddresses';\nimport purchase from './purchase';\nimport registeredAgent from './registeredAgent';\nimport remagine from './remagine';\nimport smbWebsite from './smbWebsite';\nimport smbWebsiteEcomm from './smbWebsiteEcomm';\nimport smbEcommAddon from './smbEcommAddon';\nimport smbWebsiteOrEcomm from './smbWebsiteOrEcomm';\nimport stockSetup from './stockSetup';\nimport wfgir from './wfgir';\nimport operatingAgreement from './operatingAgreement';\nimport progressBar from './progressBar';\nimport businessNameGenerator from './businessNameGenerator';\nimport businessKit from './businessKit';\nimport beneficialOwnershipFiling from './beneficialOwnershipFiling';\nimport beneficialOwnershipModification from './beneficialOwnershipModification';\nimport vanityProduct from './vanityProduct';\nimport zbmPro from './zbmPro';\nimport ettfRenewal from './ettfRenewal';\nimport zbBankingPreferred from './zbBankingPreferred';\nimport taxServices from './taxServices';\n\nexport default combineReducers({\n  account,\n  accounting,\n  amendment,\n  annualReport,\n  banking,\n  bankOfAmericaOffer,\n  blr,\n  business,\n  businessAddresses,\n  contact,\n  cora,\n  corpDocs,\n  corpStockFlow,\n  coupons,\n  customer,\n  dbaEntity,\n  directors,\n  domainName,\n  domainV2,\n  emailV2,\n  lead,\n  ein,\n  ettfRenewal,\n  expenseTrackerNTaxFiling,\n  feedback,\n  goodStanding,\n  logoKit,\n  managers,\n  members,\n  nypub,\n  officers,\n  order,\n  page,\n  plan,\n  postpurchase,\n  purchase,\n  registeredAgent,\n  remagine,\n  smbWebsite,\n  smbWebsiteEcomm,\n  smbEcommAddon,\n  smbWebsiteOrEcomm,\n  stockSetup,\n  wfgir,\n  operatingAgreement,\n  progressBar,\n  businessNameGenerator,\n  businessKit,\n  beneficialOwnershipFiling,\n  vanityProduct,\n  zbmPro,\n  zbBankingPreferred,\n  taxServices,\n  beneficialOwnershipModification\n});\n","import _get from 'lodash/get';\nimport { ACTIONS } from '../../constants/initialization';\nimport pricingUtils from '../../utils/Pricing_v2';\n\nconst { getPlanPricingDetails } = pricingUtils;\nconst INITIAL_STATE = {\n  plans: {},\n  coupons: {},\n  standaloneServices: {},\n  stateFees: {},\n  expediteFees: {}\n};\n\nconst setPLans = (plans) => {\n  // maintaining the \"level\" key convention for the following plans, considering just keying these by their service name as well\n  const displayNameToLevel = {\n    'Starter Plan': 'level1',\n    'Pro Plan': 'level2',\n    'Premium Plan': 'level3',\n    'RA Starter Plan': 'raLevel1',\n    'RA Pro Plan': 'raLevel2'\n  };\n\n  return plans.reduce((planLevels, plan) => {\n    const displayName = getPlanPricingDetails(plan, 'display_name');\n    const level = displayNameToLevel[displayName];\n\n    if (level) {\n      planLevels[level] = plan;\n    } else {\n      // key by \"service\" val for packages\n      planLevels[getPlanPricingDetails(plan, 'service')] = plan;\n    }\n\n    return planLevels;\n  }, {});\n};\n\nconst setStandaloneServicesByService = (standaloneServices) => {\n  return standaloneServices.reduce((formatted, service) => {\n    const key = _get(service, 'related_service_pricing.service', '');\n    if (formatted[key]) {\n      const item = formatted[key],\n        existingInterval = _get(item, 'related_service_pricing.interval', 'onetime'),\n        thisInterval = _get(service, 'related_service_pricing.interval', 'onetime');\n\n      formatted[key] = {\n        [existingInterval]: item,\n        [thisInterval]: service\n      };\n    } else {\n      formatted[key] = service;\n    }\n    return formatted;\n  }, {});\n};\n\nexport default function (state = INITIAL_STATE, action) {\n  const {\n    rawPlans,\n    coupons,\n    standaloneServices,\n    stateFees,\n    expediteFees\n  } = _get(action, 'payload.data', {});\n\n  switch (action.type) {\n    case ACTIONS.INITIALIZE_PRICING_DATA: {\n      return {\n        ...state,\n        plans: setPLans(rawPlans),\n        coupons,\n        standaloneServices: setStandaloneServicesByService(standaloneServices),\n        stateFees,\n        expediteFees\n      };\n    }\n    default:\n      return state;\n  }\n}\n","import _get from 'lodash/get';\nimport { ACTIONS } from '../../constants/initialization';\n\nconst INITIAL_STATE = {};\n\nexport default function (state = INITIAL_STATE, action) {\n  switch (action.type) {\n    case ACTIONS.INITIALIZE_PRICING_DATA: {\n      return {\n        ...state,\n        ..._get(action, 'payload.data.products', {})\n      };\n    }\n    default:\n      return state;\n  }\n}\n","import { combineReducers } from 'redux';\n\nimport account from './account';\nimport companies from './companies';\nimport files from './files';\nimport initialization from './initialization';\nimport orders from './orders';\nimport registration from './registration';\nimport pricing from './pricing';\nimport productEnabledStatus  from './productEnabledStatus';\n\nconst allReducers = combineReducers({\n  account,\n  companies,\n  files,\n  initialization,\n  orders,\n  registration,\n  pricing,\n  productEnabledStatus\n});\n\nexport default allReducers;\n","import updateHelper from 'immutability-helper';\nimport _forEach from 'lodash/forEach';\nimport _omit from 'lodash/omit';\n\nimport { ACTIONS } from '../../constants/initialization';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'initialization/fees';\n\nconst\n  omitKeys = [ 'status', 'errorMessage' ],\n  invalidateDate = new Date(2018, 6, 29, 0, 0, 0, 0).getTime(),\n  invalidateInterval = 60000 * 60 * 12, // Refresh every 12 hours to pick up any pricing changes\n  INITIAL_STATE_DEFAULT = {\n    filingFees: {},\n    expediteFees: {}\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT, invalidateDate, invalidateInterval),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  };\n\nINITIAL_STATE.expediteFees = INITIAL_STATE.expediteFees || {};\n\nexport default function (state = INITIAL_STATE, action) {\n  switch (action.type) {\n\n    case ACTIONS.SET_INITIALIZATION: {\n      if (!action.error) {\n        return update(state, {\n          filingFees: { $set: action.payload.data.stateFees },\n          expediteFees: { $set: action.payload.data.expediteFees }\n        });\n      }\n      return state;\n    }\n    case ACTIONS.GET_STATE_FEES_COMPLETE: {\n      const u = {\n        filingFees: {}\n      };\n\n      if (!action.error) {\n        _forEach(action.payload.data, (value, stateCode) => {\n          u.filingFees[stateCode] = { $set: _omit(value, omitKeys) };\n        });\n\n        return update(state, u);\n      }\n      return state;\n    }\n\n    case ACTIONS.GET_EXPEDITE_FEES_COMPLETE: {\n      const u = {\n        expediteFees: {}\n      };\n\n      if (!action.error) {\n        delete action.payload.data.status;\n        delete action.payload.data.errorMessage;\n\n        _forEach(action.payload.data, (value, stateCode) => {\n          u.expediteFees[stateCode] = { $set: _omit(value, omitKeys) };\n        });\n\n        if (!state.expediteFees) {\n          state.expediteFees = {};\n        }\n\n        return update(state, u);\n      }\n      return state;\n    }\n\n    default:\n      return state;\n  }\n}\n","import { ACTIONS } from '../../constants/annual_report';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\n\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/annualReport';\n\nconst INITIAL_STATE_DEFAULT = {\n  inProgress: false,\n  skip: {},\n  activeRoute: 'select-company',\n  complianceEventUuid: '',\n  didAddAmendment: null,\n  didAddWFC: null,\n  fieldInfo: null,\n  filingJurisdiction: null,\n  filingJurisdictionType: null,\n  isFetchingJurisdiction: false,\n  isPurchasingWFG: false,\n  useCredit: null,\n  hasWFG: false,\n  hasARS: false,\n  hasPurchasedWFC: false,\n  creditUUID: '',\n  jurisdictionRules: null,\n  originalCompanyInfo: {},\n  defaultTaxPreparer: null,\n  updatedCompanyInfo: {},\n  orderCompleteBusinessId: '',\n  cardId: '',\n  cardNumber: '',\n  cardToken: '',\n  expMonth: '',\n  expYear: '',\n  cvc: '',\n  brand: '',\n  last4: '',\n  cardCreated: false,\n  actionError: 0,\n  stateId: ''\n};\n\nconst INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n\nconst update = (newState) => {\n  reducerStorage.store(storageKey, newState);\n  return newState;\n};\n\nconst removeFieldFromUpdatedFields = (currentUpdates, fieldName) => {\n  const updatedInfo = currentUpdates;\n\n  delete updatedInfo[fieldName];\n\n  return updatedInfo;\n};\n\nexport default (state = INITIAL_STATE, action) => {\n  switch (action.type) {\n    case ACTIONS.SKIP_FLOW:\n      return update({\n        ...state,\n        skip: action.skip\n      });\n    case ACTIONS.ADVANCE_IN_FLOW:\n      return update({\n        ...state,\n        activeRoute: action.newRouteName\n      });\n\n    case ACTIONS.SET_COMPLIANCE_EVENT_UUID:\n      return update({\n        ...state,\n        complianceEventUuid: action.complianceEventUuid\n      });\n\n    case ACTIONS.FETCH_JURISDICTION_REQ:\n      return update({\n        ...state,\n        isFetchingJurisdiction: true\n      });\n\n    case ACTIONS.FETCH_JURISDICTION_COMPLETE:\n      return update({\n        ...state,\n        fieldInfo: action.fieldInfo,\n        isFetchingJurisdiction: false,\n        jurisdictionRules: action.jurisdictionRules\n      });\n\n    case ACTIONS.FETCH_COMPLIANCE_EVENT_COMPLETE:\n      return update({\n        ...state,\n        complianceEventDueDate: action.complianceEventDueDate\n      });\n\n    case ACTIONS.SET_FLOW_CHANGE_FLAGS:\n      return update({\n        ...state,\n        flowChangeFlags: action.flowChangeFlags\n      });\n\n    case ACTIONS.SET_ADD_AMENDMENT:\n      return update({\n        ...state,\n        didAddAmendment: action.didAddAmendment\n      });\n\n    case ACTIONS.SET_ADD_WFC:\n      return update({\n        ...state,\n        didAddWFC: action.didAddWFC\n      });\n\n    case ACTIONS.SET_COMPANY: {\n      if (action.company.id === state.originalCompanyInfo.id) {\n        return update({\n          ...state,\n          originalCompanyInfo: action.company,\n          filingJurisdiction: action.company.domesticJurisdiction,\n          hasPurchasedWFC: action.company.hasPurchasedWFC\n        });\n      }\n      return update({\n        ...INITIAL_STATE_DEFAULT,\n        inProgress: true,\n        originalCompanyInfo: action.company,\n        filingJurisdiction: action.company.domesticJurisdiction,\n        hasPurchasedWFC: action.company.hasPurchasedWFC,\n        orderCompleteBusinessId: action.company.id,\n        complianceEventUuid:state.complianceEventUuid\n      });\n    }\n\n    case ACTIONS.SET_FOREIGN_JURISDICTION:\n      return update({\n        ...state,\n        filingJurisdiction: action.data.jurisdictionCode,\n        stateId: action.data.stateId,\n        // restart updatedCompanyInfo when jurisdiction changes\n        updatedCompanyInfo: {}\n      });\n\n    case ACTIONS.INIT:\n      return update({\n        ...state,\n        inProgress: true\n      });\n\n    case ACTIONS.SET_JURISDICTION_TYPE:\n      return update({\n        ...state,\n        filingJurisdiction: action.filingJurisdiction || state.filingJurisdiction,\n        filingJurisdictionType: action.jurisdictionType\n      });\n\n    case ACTIONS.SET_DEFAULT_TAX_PREPARER:\n      return update({\n        ...state,\n        defaultTaxPreparer: action.taxPreparer\n      });\n\n    case ACTIONS.SET_FOREIGN_JURISDICTION_STATE_ID:\n      return update({\n        ...state,\n        stateId: action.stateId\n      });\n\n    case ACTIONS.RESET_FIELD:\n      return update({\n        ...state,\n        updatedCompanyInfo: removeFieldFromUpdatedFields(state.updatedCompanyInfo, action.fieldName)\n      });\n\n    case ACTIONS.SET_FIELD:\n      return update({\n        ...state,\n        updatedCompanyInfo: {\n          ...state.updatedCompanyInfo,\n          [action.fieldName]: action.updatedFieldValue\n        }\n      });\n\n    case ACTIONS.SET_PURCHASE_WFG:\n      return update({\n        ...state,\n        isPurchasingWFG: action.isPurchasing\n      });\n\n    case ACTIONS.SET_HAS_WFG:\n      return update({\n        ...state,\n        hasWFG: action.hasWFG\n      });\n\n    case ACTIONS.SET_USE_CREDIT:\n      return update({\n        ...state,\n        useCredit: action.useCredit,\n        creditUUID: action.creditUUID,\n        hasWFG: action.hasWFG\n      });\n\n    case ACTIONS.SET_USE_ARS:\n      return update({\n        ...state,\n        hasARS: action.hasARS\n      });\n\n    case ACTIONS.CREATE_ORDER_COMPLETE:\n      if (!action.error) {\n        return update({\n          ...INITIAL_STATE_DEFAULT,\n          orderCompleteBusinessId: state.orderCompleteBusinessId\n        });\n      }\n      return state;\n\n    case ACTIONS.PAYMENT:\n      return update({\n        ...state,\n        cardId: action.payload.data.cardId,\n        cardToken: action.payload.data.cardToken,\n        expMonth: action.payload.data.expMonth,\n        expYear: action.payload.data.expYear,\n        cvc: action.payload.data.cvc,\n        brand: action.payload.data.brand,\n        last4: action.payload.data.last4\n      });\n\n    case REGISTRATION_ACTIONS.RESET:\n      return update(INITIAL_STATE_DEFAULT);\n\n    default:\n      return state;\n  }\n};\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_bof';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/boi';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_bof_modification';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/bof_modification';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard,\n      hasOngoingBof\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      hasOngoingBof: { $set: hasOngoingBof },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isInteger from 'lodash/isInteger';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/blr';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    businessIndustryId: '',\n    businessIndustryLabel: '',\n    businessOutOfHome: null,\n    employeesCount: null,\n    existingCompany: false,\n    hasDBAs: null,\n    hasEmployees: null,\n    phoneNumber: '',\n    actionError: 0,\n    skipBLR: false,\n    isSubscription: false\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processBusinessId = (state, action, data) => {\n    const { id, clearData } = data;\n\n    if (!id) {\n      if (clearData) {\n        reducerStorage.clear(storageKey);\n        return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n      }\n      return state;\n    }\n\n    const\n      { contact } = data,\n      { phoneNumber } = contact || {};\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      existingCompany: { $set: true }\n    });\n  },\n  processBusinessIndustry = (state, action, data) => {\n    const { businessIndustryId, businessIndustryLabel } = data;\n    return update(state, {\n      businessIndustryId: { $set: businessIndustryId },\n      businessIndustryLabel: { $set: _trim(businessIndustryLabel) }\n    });\n  },\n  processBusinessOutOfHome = (state, action, data) => {\n    const { businessOutOfHome } = data;\n    return update(state, {\n      businessOutOfHome: { $set: businessOutOfHome }\n    });\n  },\n  processEmployeesCount = (state, action, data) => {\n    const { employeesCount } = data;\n    return update(state, {\n      employeesCount: { $set: employeesCount }\n    });\n  },\n  processHasDBAs = (state, action, data) => {\n    const { hasDBAs } = data;\n    return update(state, {\n      hasDBAs: { $set: hasDBAs }\n    });\n  },\n  processHasEmployees = (state, action, data) => {\n    const { hasEmployees } = data;\n    return update(state, {\n      hasEmployees: { $set: hasEmployees }\n    });\n  },\n  processLicenseData = (state, action, data) => {\n    const { businessOutOfHome, businessIndustryId, businessIndustryLabel, employeesCount, hasDBAs, hasEmployees } = data;\n\n    return update(state, {\n      businessOutOfHome: { $set: businessOutOfHome },\n      businessIndustryId: { $set: businessIndustryId },\n      businessIndustryLabel: { $set: businessIndustryLabel },\n      employeesCount: { $set: employeesCount },\n      hasDBAs: { $set: hasDBAs },\n      hasEmployees: { $set: hasEmployees }\n    });\n  },\n  processPostpurchaseStart = (state, action, data) => {\n    const { employeesCount, hasDBAs, hasEmployees } = data;\n\n    return update(state, {\n      employeesCount: { $set: employeesCount },\n      hasDBAs: { $set: hasDBAs },\n      hasEmployees: { $set: hasEmployees },\n      skipBLR: { $set: false }\n    });\n  },\n  processSkipBLR = (state, action, data) => {\n    return update(state, {\n      skipBLR: { $set: data }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { phoneNumber, fromDashboard = false, id = '' } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      existingCompany: { $set: !!id || fromDashboard || false }\n    });\n  },\n\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      formationBusLic = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'business_license_report';\n      }),\n      formationFull = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      isSubscription = orderData.some(({ service = '' }) => { return service.includes('subscription_plan'); }),\n      formation = formationBusLic || _get(formationFull, 'blr_data', null);\n\n    if (!formation) {\n      return state;\n    }\n\n    const\n      updates = {},\n      { business_data: businessData = {}, phone: phoneNumber = '' } = formation,\n      {\n        out_of_home: businessOutOfHome = null,\n        industry_id: businessIndustryId = null,\n        industry_label: businessIndustryLabel = '',\n        has_trade_names: hasDBAs = null,\n        has_employees: hasEmployees = null,\n        employees_count: employeesCount = 0,\n        existing_company: existingCompany = true\n      } = businessData;\n\n    _assign(updates, {\n      phoneNumber: { $set: phoneNumber },\n      hasDBAs: { $set: hasDBAs },\n      businessOutOfHome: { $set: businessOutOfHome },\n      businessIndustryId: { $set: businessIndustryId },\n      businessIndustryLabel: { $set: businessIndustryLabel },\n      hasEmployees: { $set: hasEmployees },\n      employeesCount: { $set: _isInteger(employeesCount) ? employeesCount : 0 },\n      existingCompany: { $set: existingCompany },\n      isSubscription: { $set: isSubscription }\n    });\n    return update(state, updates);\n  },\n\n  /* eslint-enable max-statements */\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [COMP_BLR_ACTIONS.BUS_AT_HOME]: processBusinessOutOfHome,\n    [COMP_BLR_ACTIONS.BUS_INDUSTRY]: processBusinessIndustry,\n    [COMP_BLR_ACTIONS.EMPL_COUNT]: processEmployeesCount,\n    [COMP_BLR_ACTIONS.HAS_DBAS]: processHasDBAs,\n    [COMP_BLR_ACTIONS.HAS_EMPLOYEES]: processHasEmployees,\n    [COMP_BLR_ACTIONS.LIC_DATA_MODAL]: processLicenseData,\n    [COMP_BLR_ACTIONS.START]: processStart,\n\n    [POSTPURCHASE_ACTIONS.BLR_BUS_AT_HOME]: processBusinessOutOfHome,\n    [POSTPURCHASE_ACTIONS.BLR_BUS_INDUSTRY]: processBusinessIndustry,\n    [POSTPURCHASE_ACTIONS.BLR_EMPL_COUNT]: processEmployeesCount,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_DBAS]: processHasDBAs,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_EMPLOYEES]: processHasEmployees,\n    [POSTPURCHASE_ACTIONS.BLR_LIC_DATA_MODAL]: processLicenseData,\n    [POSTPURCHASE_ACTIONS.BLR_START]: processPostpurchaseStart,\n    [POSTPURCHASE_ACTIONS.BLR_SKIP]: processSkipBLR,\n\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _endsWith from 'lodash/endsWith';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isEmpty from 'lodash/isEmpty';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNT_ACTIONS } from '../../constants/register_account';\nimport { ACTIONS as REG_ANNUAL_REPORT_ACTIONS } from '../../constants/annual_report';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BUSINESSKIT_ACTIONS } from '../../constants/register_business_kit';\nimport { ACTIONS as REG_STOCK_SETUP_ACTIONS } from '../../constants/register_stock_setup';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_CD_ACTIONS } from '../../constants/register_corpdocs';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_DOMAINNAME_ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_DOMAINPRIVACY_ACTIONS } from '../../constants/register_domainprivacy';\nimport { ACTIONS as REG_DOMAIN_V2_ACTIONS } from '../../constants/register_domain_v2';\nimport { ACTIONS as REG_EMAIL_V2_ACTIONS } from '../../constants/register_email_v2';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_ETNTF_ACTIONS } from '../../constants/register_expense_tracker_n_tax_filing';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as BNG_ACTIONS } from '../../constants/business_name_generator';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REG_OPAGREEMENT_ACTIONS } from '../../constants/register_opagreement';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_SMB_ECOMM_ADDON_ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport { ACTIONS as REG_SMB_WEBSITE_OR_ECOMM_ACTIONS } from '../../constants/register_smb_website_or_ecomm';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as REG_WFGIR_ACTIONS } from '../../constants/register_wfgir';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REG_VANITY_PRODUCT_ACTIONS } from '../../constants/register_vanity';\nimport { ACTIONS as REG_ZBMPRO_ACTIONS } from '../../constants/register_zbmpro';\nimport { ACTIONS as REG_TAX_SERVICES_ACTIONS } from '../../constants/register_tax_services';\nimport { ACTIONS as COMPANY_ACTIONS } from '../../constants/companies';\nimport { DOM_JURS, CORP_INDICATORS, LLC_INDICATORS } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { reportError } from '../../utils/ReportingUtils';\nimport { isPostPurchaseEntityCheckEnabled } from '../../utils/ProductService';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/business';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    status: 'incomplete',\n    id: '',\n    isBusinessIncomplete: false,\n    businessOrderType: '',\n    type: '',\n    isDAO: false,\n    isSCorp: false,\n    hasSCorp: false,\n    hasSCorpWordUpdate: false,\n    name: '',\n    indicator: '',\n    description: '',\n    alternates: [],\n    phoneNumber: '',\n    domesticEntity: null,\n    domesticJurisdiction: '',\n    domesticJurisdictionName: '',\n    requestedJurisdiction: '',\n    requestedJurisdictionName: '',\n    foreignJurisdictions: [],\n    foreignJurisdictionNames: {},\n    hasForeignJurisdictions: null,\n    domesticFilingDate: '',\n    stateId: '',\n    authorizedShares: '',\n    valuePerShare: '',\n    hasMoreThanOneShare: null,\n    businessActivity: '',\n    hasExistingBusiness: null,\n    createBusiness: false,\n    creatingBusiness: false,\n    updateBusiness: false,\n    updatingBusiness: false,\n    scorpAllUSOwners: null,\n    scorpOutsideInvestors: null,\n    scorpOperateLoss: null,\n    scorpOperateProfit: null,\n    scorpPaySalary: null,\n    scorpPlanJurChosen: false,\n    authorizedSignatory: null,\n    actionError: 0,\n    isSimulated: false,\n    formationCounty: '',\n    daoMemberManaged: null,\n    daoRestriction: null,\n    daoSmartContractLink: ''\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT), { creatingBusiness: false }),\n  getStateName = (value) => {\n    const match = _find(DOM_JURS, (option) => {\n      return option.value === value;\n    });\n    return match ? match.label : '';\n  },\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      domesticJurisdictionName = getStateName(domesticJurisdiction);\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: domesticJurisdictionName },\n      domesticEntity: { $set: true }\n    });\n  },\n  processAnnualReportJurisdiction = (state, action) => {\n    const { company: { domesticJurisdiction } } = action,\n      requestedJurisdictionName = getStateName(domesticJurisdiction);\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: requestedJurisdictionName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName }\n    });\n  },\n  processDBAInitReqJurisdiction = (state, action, data) => {\n    const { isInitialJurSupported, requestedJurisdiction } = data,\n      requestedJurisdictionName = isInitialJurSupported ? getStateName(requestedJurisdiction) : '',\n      reqJur = isInitialJurSupported ? requestedJurisdiction : '';\n\n    return update(state, {\n      requestedJurisdiction: { $set: reqJur },\n      requestedJurisdictionName: { $set: requestedJurisdictionName }\n    });\n  },\n  processDBAReqJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction } = data,\n      requestedJurisdictionName = getStateName(requestedJurisdiction);\n\n    return update(state, {\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName }\n    });\n  },\n  processDBAHomeState = (state, action, data) => {\n    const { homeState } = data;\n    const domJur = homeState ? state.requestedJurisdiction : '';\n    const domJurName =  homeState ? getStateName(domJur) : '';\n\n    return update(state, {\n      domesticJurisdiction: { $set: domJur },\n      domesticJurisdictionName: { $set: domJurName }\n    });\n  },\n  processDBADomesticJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction = '', domesticJurisdiction = '' } = data,\n      jur = requestedJurisdiction || domesticJurisdiction,\n      jurName = jur ? getStateName(jur) : '';\n\n    return update(state, {\n      domesticJurisdiction: { $set: jur },\n      domesticJurisdictionName: { $set: jurName },\n      requestedJurisdiction: { $set: jur },\n      requestedJurisdictionName: { $set: jurName }\n    });\n  },\n  processBusDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      domesticJurisdictionName = getStateName(domesticJurisdiction);\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: domesticJurisdictionName },\n      domesticEntity: { $set: true },\n      createBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processTRUiCRADomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      domesticJurisdictionName = getStateName(domesticJurisdiction);\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName }\n    });\n  },\n  /*\n  processRequestedJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction } = data,\n      { id } = state,\n      requestedJurisdictionName = getStateName(requestedJurisdiction);\n\n    if (id) {\n      return update(state, {\n        requestedJurisdiction: { $set: requestedJurisdiction },\n        requestedJurisdictionName: { $set: requestedJurisdictionName },\n        createBusiness: { $set: true },\n        actionError: { $set: 0 }\n      });\n    }\n    return update(state, {\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName },\n      createBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  */\n  processDomesticEntity = (state, action, data) => {\n    const { domesticEntity } = data;\n\n    if (domesticEntity) {\n      return update(state, {\n        domesticJurisdiction: { $set: state.requestedJurisdiction },\n        domesticJurisdictionName: { $set: state.requestedJurisdictionName },\n        foreignJurisdictions: { $set: [] },\n        foreignJurisdictionNames: { $set: {} },\n        domesticEntity: { $set: domesticEntity }\n      });\n    }\n    return update(state, {\n      domesticJurisdiction: { $set: '' },\n      domesticJurisdictionName: { $set: '' },\n      foreignJurisdictions: { $set: [state.requestedJurisdiction] },\n      foreignJurisdictionNames: { $set: { [state.requestedJurisdiction]: state.requestedJurisdictionName } },\n      domesticEntity: { $set: domesticEntity }\n    });\n  },\n  /*\n  processHasForeignJurisdictions = (state, action, data) => {\n    const { hasForeignJurisdictions } = data;\n\n    if (!hasForeignJurisdictions) {\n      return update(state, {\n        hasForeignJurisdictions: { $set: hasForeignJurisdictions },\n        foreignJurisdictions: { $set: [] },\n        foreignJurisdictionNames: { $set: {} }\n      });\n    }\n    return update(state, {\n      hasForeignJurisdictions: { $set: hasForeignJurisdictions }\n    });\n  },\n  processForeignJurisdictions = (state, action, data) => {\n    const { foreignJurisdictions } = data,\n      foreignJurisdictionNames = _reduce(foreignJurisdictions, (collect, fj) => {\n        collect[fj] = getStateName(fj);\n        return collect;\n      }, {});\n\n    return update(state, {\n      foreignJurisdictions: { $set: foreignJurisdictions },\n      foreignJurisdictionNames: { $set: foreignJurisdictionNames }\n    });\n  },\n  processDomesticFilingDate = (state, action, data) => {\n    const { domesticFilingDate } = data;\n\n    return update(state, {\n      domesticFilingDate: { $set: domesticFilingDate }\n    });\n  },\n  processStateId = (state, action, data) => {\n    const { stateId } = data;\n\n    return update(state, {\n      stateId: { $set: stateId }\n    });\n  },\n  */\n  processAccountOwnerContact = (state, action, data) => {\n    const { phoneNumber } = data;\n    return update(state, {\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processAccountOwnerInfo = (state, action, data) => {\n    const { phoneNumber } = data;\n    return update(state, {\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processBusinessActivity = (state, action, data) => {\n    const { businessActivity } = data;\n    return update(state, {\n      businessActivity: { $set: businessActivity }\n    });\n  },\n  processBusinessDescription = (state, action, data) => {\n    const { description } = data;\n    return update(state, {\n      description: { $set: _trim(description) }\n    });\n  },\n  processDBABusinessDescription = (state, action, data) => {\n    const { businessDescription } = data;\n    return update(state, {\n      description: { $set: _trim(businessDescription) }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const { id, businessOrderType = '', reset, forceEmptyId } = data,\n      { id: oldId, status } = state;\n\n    if (!id) {\n      if (oldId && !forceEmptyId) {\n        if (status === 'incomplete' && !reset) {\n          return state;\n        }\n        reducerStorage.clear(storageKey);\n        return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n      }\n      return update(state, {\n        id: { $set: '' },\n        businessOrderType: { $set: '' }\n      });\n    }\n\n    const\n      { business } = data,\n      { type, name, indicator, alternates, description, phoneNumber, requestedJurisdiction = '', domesticJurisdiction, foreignJurisdictions = [], domesticFilingDate = '', stateId = '', authorizedShares, valuePerShare } = business,\n      requestedJurisdictionName = id ? getStateName(requestedJurisdiction) : '',\n      domesticJurisdictionName = id ? getStateName(domesticJurisdiction) : '',\n      foreignJurisdictionNames = id ? _reduce(foreignJurisdictions, (collect, foreignJurisdiction) => {\n        collect[foreignJurisdiction] = getStateName(foreignJurisdiction);\n        return collect;\n      }, {}) : [];\n\n    return update(state, {\n      id: { $set: id },\n      businessOrderType: { $set: businessOrderType },\n      status: { $set: 'incomplete' },\n      type: { $set: type },\n      name: { $set: name },\n      indicator: { $set: indicator },\n      alternates: { $set: alternates },\n      description: { $set: _trim(description) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      foreignJurisdictions: { $set: foreignJurisdictions },\n      foreignJurisdictionName: { $set: foreignJurisdictionNames },\n      domesticEntity: { $set: requestedJurisdiction === domesticJurisdiction },\n      domesticFilingDate: { $set: domesticFilingDate },\n      stateId: { $set: stateId },\n      // Not subject to the API-925 stale-'' issue (cf. processOrdersComplete): this fires when the\n      // user selects an existing company at flow entry, and every caller (the register* BusinessId\n      // containers) passes a hardcoded `business.authorizedShares: 0, valuePerShare: 0` — the value\n      // is never read from the main order or a business-entity GET. Writing '' / '$0' here is the\n      // intended fresh-start reset; a fallback-to-state would wrongly block switching companies.\n      authorizedShares: { $set: authorizedShares === 0 ? '' : `${authorizedShares}` },\n      valuePerShare: { $set: valuePerShare === '' ? '' : `$${valuePerShare}` }\n    });\n  },\n  processBusinessName = (state, action, data) => {\n    const { name, indicator = '' } = data;\n    return update(state, {\n      name: { $set: _trim(name) },\n      indicator: { $set: indicator }\n    });\n  },\n  processBusinessAlternates = (state, action, data) => {\n    const { alternates } = data;\n\n    return update(state, {\n      alternates: {\n        $set: _map(alternates, (alternate) => {\n          return alternate ? _trim(alternate) : '';\n        })\n      }\n    });\n  },\n  processBusinessType = (state, action, data) => {\n    const { type, isSCorp = false } = data,\n      { type: origType } = state;\n\n    if (type !== origType) {\n      return update(state, {\n        type: { $set: type },\n        isSCorp: { $set: isSCorp },\n        indicator: { $set: '' }\n      });\n    }\n    return update(state, {\n      type: { $set: type },\n      isSCorp: { $set: isSCorp }\n    });\n  },\n  processBusinessModal = (state, action, data) => {\n    const { domesticJurisdiction = state.domesticJurisdiction, name = state.name, type = state.type, domesticEntity = state.domesticEntity, businessName = null } = data,\n      domesticJurisdictionName = domesticJurisdiction ? getStateName(domesticJurisdiction) : '';\n\n    return update(state, {\n      type: { $set: type },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: domesticJurisdictionName },\n      domesticEntity: { $set: domesticEntity },\n      name: { $set: businessName ? _trim(businessName) : _trim(name) }\n    });\n  },\n  processAuthorizedSignatory = (state, action, data) => {\n    const\n      {\n        isPrincipal = false,\n        title = '',\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = ''\n      } = data || {};\n\n    if (state.authorizedSignatory === null) {\n      const contact = {\n        isPrincipal,\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber,\n        title: _trim(title)\n      };\n\n      return update(state, {\n        authorizedSignatory: { $set: contact }\n      });\n    }\n\n    const updates = {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: suffix },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      state: { $set: addrState },\n      zipCode: { $set: zipCode },\n      country: { $set: _trim(country) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phoneNumber },\n      title: { $set: _trim(title) }\n    };\n    return update(state, {\n      authorizedSignatory: updates\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processCorpStock = (state, action, data) => {\n    const { authorizedShares, valuePerShare } = data;\n    return update(state, {\n      authorizedShares: { $set: authorizedShares },\n      valuePerShare: { $set: valuePerShare }\n    });\n  },\n  processHasMoreThanOneShare = (state, action, data) => {\n    const { hasMoreThanOneShare } = data;\n    return update(state, {\n      hasMoreThanOneShare: { $set: hasMoreThanOneShare }\n    });\n  },\n  processPurchasePlan = (state, action, data) => {\n    const { business = null } = data;\n\n    if (!business) {\n      return update(state, {\n        status: { $set: 'incomplete' }\n      });\n    }\n\n    const { domesticJurisdiction, type, isSCorp = false } = business;\n\n    return update(state, {\n      status: { $set: 'incomplete' },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: getStateName(domesticJurisdiction) },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: getStateName(domesticJurisdiction) },\n      domesticEntity: { $set: true },\n      type: { $set: type },\n      isSCorp: { $set: isSCorp },\n      scorpPlanJurChosen: { $set: true }\n    });\n  },\n  processWFGBusinessData = (state, action, data) => {\n    const { businessDescription, businessType } = data;\n\n    return update(state, {\n      description: { $set: _trim(businessDescription) },\n      type: { $set: businessType }\n    });\n  },\n  processBLRBusinessData = (state, action, data) => {\n    const { description, domesticJurisdiction, domesticJurisdictionName, name, type } = data;\n\n    return update(state, {\n      description: { $set: _trim(description) },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      name: { $set: name },\n      type: { $set: type }\n    });\n  },\n  processBusBusinessData = (state, action, data) => {\n    const { businessDescription } = data;\n\n    return update(state, {\n      description: { $set: _trim(businessDescription) }\n    });\n  },\n  processHasExistingBusiness = (state, action, data) => {\n    const { hasExistingBusiness } = data;\n\n    if (!hasExistingBusiness) {\n      return update(state, {\n        hasExistingBusiness: { $set: hasExistingBusiness },\n        domesticEntity: { $set: true },\n        domesticJurisdiction: { $set: state.requestedJurisdiction },\n        hasForeignJurisdictions: { $set: false },\n        foreignJurisdictions: { $set: [] }\n      });\n    }\n    return update(state, {\n      hasExistingBusiness: { $set: hasExistingBusiness }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { fromDashboard = false, id = '', businessOrderType = '', type = '', domesticJurisdiction, name, hasSCorp = false, hasSCorpWordUpdate = false, isSCorp = false, isDAO = false, isSimulated = false } = data;\n    const tp = type === 'none' ? '' : (type || state.type);\n    const dj = domesticJurisdiction === 'none' ? '' : (domesticJurisdiction || state.domesticJurisdiction);\n    const djName = getStateName(dj);\n    if (fromDashboard) {\n      const newState = _assign({}, INITIAL_STATE_DEFAULT, {\n        status: 'incomplete',\n        id,\n        businessOrderType,\n        type: tp,\n        requestedJurisdiction: dj,\n        requestedJurisdictionName: djName,\n        domesticJurisdiction: dj,\n        domesticJurisdictionName: djName,\n        domesticEntity: true,\n        name: name || state.name,\n        hasSCorp,\n        hasSCorpWordUpdate,\n        isSCorp,\n        isDAO,\n        isSimulated\n      });\n      reducerStorage.store(storageKey, newState);\n      return newState;\n    }\n    return update(state, {\n      status: { $set: 'incomplete' },\n      id: { $set: id || '' },\n      businessOrderType: { $set: '' },\n      type: { $set: tp },\n      hasSCorp: { $set: hasSCorp },\n      hasSCorpWordUpdate: { $set: hasSCorpWordUpdate },\n      isSCorp: { $set: isSCorp },\n      isDAO: { $set: isDAO },\n      requestedJurisdiction: { $set: dj },\n      requestedJurisdictionName: { $set: djName },\n      domesticJurisdiction: { $set: dj },\n      domesticJurisdictionName: { $set: djName },\n      ...action.type !== REG_NAMERES_ACTIONS.INIT && { domesticEntity: { $set: true } },\n      name: { $set: name || state.name },\n      isSimulated: { $set: isSimulated }\n    });\n  },\n  processDashboardProduct = (state, action, data) => {\n    const { companyId, domesticJurisdiction, type, name } = data,\n      isSimulated = name === 'My Business',\n      djName = getStateName(domesticJurisdiction);\n    return update(state, {\n      id: { $set: companyId },\n      status: { $set: 'incomplete' },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: djName },\n      requestedJurisdiction: { $set: domesticJurisdiction },\n      requestedJurisdictionName: { $set: djName },\n      type: { $set: type },\n      isSimulated: { $set: isSimulated }\n    });\n  },\n  checkoutEditBusiness = (state, action, data) => {\n    const { name, companyType, domesticJurisdiction } = data;\n    return update(state, {\n      name: { $set: name },\n      type: { $set: companyType },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: getStateName(domesticJurisdiction) }\n    });\n  },\n  processStartBusinessComplete = (state, action, data) => {\n    const { id, name, type, domesticJurisdiction } = data,\n      domesticJurisdictionName = getStateName(domesticJurisdiction);\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, {\n      name,\n      type,\n      domesticJurisdiction,\n      domesticJurisdictionName,\n      requestedJurisdiction: domesticJurisdiction,\n      requestedJurisdictionName: domesticJurisdictionName,\n      domesticEntity: true,\n      businessOrderType: 'incomplete',\n      id: state.id || id,\n      status: 'incomplete'\n    }));\n  },\n  processStatus = (state, action, data) => {\n    const { status } = data;\n\n    return update(state, {\n      status: { $set: status || 'incomplete' }\n    });\n  },\n  processStatusComplete = (state) => {\n    return update(state, {\n      status: { $set: 'complete' }\n    });\n  },\n  processSCorpAllUSOwners = (state, action, data) => {\n    const { scorpAllUSOwners } = data;\n    return update(state, {\n      scorpAllUSOwners: { $set: scorpAllUSOwners },\n      scorpPlanJurChosen: { $set: false },\n      scorpOperateLoss: { $set: null },\n      scorpOperateProfit: { $set: null },\n      scorpOutsideInvestors: { $set: null },\n      scorpPaySalary: { $set: null }\n    });\n  },\n  processSCorpOperateLoss = (state, action, data) => {\n    const { scorpOperateLoss } = data;\n    return update(state, {\n      scorpOperateLoss: { $set: scorpOperateLoss },\n      scorpPlanJurChosen: { $set: false },\n      scorpOperateProfit: { $set: null },\n      scorpOutsideInvestors: { $set: null },\n      scorpPaySalary: { $set: null }\n    });\n  },\n  processSCorpOutsideInvestors = (state, action, data) => {\n    const { scorpOutsideInvestors } = data;\n    return update(state, {\n      scorpOutsideInvestors: { $set: scorpOutsideInvestors },\n      scorpPlanJurChosen: { $set: false }\n    });\n  },\n  processSCorpPaySalary = (state, action, data) => {\n    const { scorpPaySalary } = data;\n    return update(state, {\n      scorpPaySalary: { $set: scorpPaySalary },\n      scorpPlanJurChosen: { $set: false },\n      scorpOutsideInvestors: { $set: null }\n    });\n  },\n  processFormationCounty = (state, action, data) => {\n    const { nyPubCounty } = data;\n\n    return update(state, {\n      formationCounty: { $set: nyPubCounty }\n    });\n  },\n  processFormationCountyPF = (state, action, data) => {\n    const { nyPubCounty } = data;\n\n    return update(state, {\n      formationCounty: { $set: nyPubCounty }\n    });\n  },\n\n  // Calls to middleware\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const postPurchaseEntityCheck = isPostPurchaseEntityCheckEnabled();\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const {\n        order_data: orderData,\n        order_items: orderItems = [],\n        business_entity_uuid: id,\n        order_entity_name: orderEntityName = '',\n        entity_type: orderEntityType = ''\n      } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        // API-934: slim order_data nests entity_name under create_data\n        const entityName = _get(o, 'entity_name', null) || _get(o, 'create_data.entity_name', null);\n\n        if (entityName !== null) {\n          return true;\n        }\n\n        // DJL - for ShoppingUI orders for CoRA, find the registered_agent_service that also\n        // has a completed_action value\n        // DJL - to handle the issue for OARENG-1476, where the entity_name was removed from the order\n        // for existing businesses, also check for completed_action on ein_creation,\n        // business_license_report, and dba_entity\n        const service = _get(o, 'service', null);\n        if (service === 'registered_agent_service' || service === 'ein_creation' || service === 'business_license_report' || service === 'dba_entity') {\n          const completedAction = _get(o, 'completed_action', null);\n          if (completedAction !== null) {\n            return true;\n          }\n        }\n        // API-891: slim seed omits entity_name for brand-new corp/llc orders; match on\n        // completed_action instead when the flag is enabled\n        if (postPurchaseEntityCheck &&\n            (service === 'corp_formation' || service === 'llc_formation')) {\n          const completedAction = _get(o, 'completed_action', null);\n          if (completedAction !== null) {\n            return true;\n          }\n        }\n        return false;\n      }),\n      isSCorp = !!_find(orderData, (o) => {\n        return _get(o, 'service', '') === 's_corp_designation';\n      }),\n      daoService = _find(orderData, (o) => {\n        return _get(o, 'service', '') === 'dao_designation';\n      });\n    if (!order) {\n      return state;\n    }\n    const\n      { service,\n        entity_type: dataEntityType,\n        alternates = [],\n        jurisdiction: requestedJurisdiction,\n        domestic_jurisdiction: domesticJurisdiction = order.jurisdiction,\n        domestic_entity: domesticEntity = null,\n        foreign_jurisdictions: foreignJurisdictions = [],\n        has_existing_business: hasExistingBusiness = null,\n        has_foreign_jurisdictions: hasForeignJurisdictions = null,\n        business_purpose: description = '',\n        business_order_type: businessOrderType = state.businessOrderType,\n        phone: phoneNumber = '',\n        authorized_shares: authorizedShares = '',\n        par_value: valuePerShare = '',\n        activity: businessActivity = ''\n      } = order,\n      // API-934: slim order_data nests entity_name and formation_county under create_data;\n      // formation_county may also live on the formation entry within order_items, so as a\n      // last resort find any order_items entry that has a non-empty formation_county\n      dataEntityName = _get(order, 'entity_name', null) || _get(order, 'create_data.entity_name', null),\n      orderItemWithCounty = _find(orderItems, (oi) => { return !!_get(oi, 'formation_county', ''); }),\n      formationCounty = _get(order, 'formation_county', '')\n        || _get(order, 'create_data.formation_county', '')\n        || _get(orderItemWithCounty, 'formation_county', ''),\n      fullName = dataEntityName || orderEntityName,\n      entityType = dataEntityType || orderEntityType,\n      corpProdType = entityType === 'corp' ? 'CORP' : '',\n      llcProdType = entityType === 'llc' ? 'LLCX' : '',\n      solePropType = entityType === 'sole_prop' ? 'SOLE' : '',\n      productType = corpProdType || llcProdType || solePropType,\n      corpServiceType = service === 'corp_formation' ? 'CORP' : '',\n      llcServiceType = service === 'llc_formation' ? 'LLCX' : '',\n      serviceType = corpServiceType || llcServiceType,\n      type = entityType ? productType : serviceType,\n      indicatorObj = _find(type === 'CORP' ? CORP_INDICATORS : LLC_INDICATORS, (indicator) => {\n        return _endsWith(fullName, indicator.value);\n      }),\n      indicator = indicatorObj ? indicatorObj.value : '',\n      name = indicatorObj ? _trim(fullName.substring(0, fullName.length - indicatorObj.value.length)) : fullName,\n      requestedJurisdictionName = getStateName(requestedJurisdiction),\n      domesticJurisdictionName = getStateName(domesticJurisdiction),\n      foreignJurisdictionNames = _reduce(foreignJurisdictions, (collect, foreignJurisdiction) => {\n        collect[foreignJurisdiction] = getStateName(foreignJurisdiction);\n        return collect;\n      }, {});\n\n    // API-934: source from the matched formation entry rather than orderData[0], since\n    // slim payloads may place non-formation items (e.g. pro_plan_v36) at index 0.\n    // Treat an empty object as null — an empty {} is truthy and would otherwise flow\n    // through convertContact as a real contact during a subsequent CoRA POST.\n    const authorizedSignatory = _isEmpty(order?.authorized_signatory) ? null : order.authorized_signatory;\n    // API-891: when the flag is enabled, corp/llc formation orders matched via completed_action\n    // may have an empty jurisdiction at creation time — return state without throwing or\n    // corrupting it; the jurisdiction will be populated once the order is updated\n    if (postPurchaseEntityCheck &&\n        (service === 'corp_formation' || service === 'llc_formation') &&\n        !requestedJurisdiction) {\n      return state;\n    }\n    if ((!name && !postPurchaseEntityCheck) || !requestedJurisdiction) {\n      // This is an error situation. Report the error to sentry and return existing state\n      const err = new Error('Order missing data'),\n        dataStr = JSON.stringify(data, null, 4);\n      reportError(err, { metaData: { data: dataStr } });\n      if (!state.name || !state.requestedJurisdiction || !state.type) {\n        // If there is no state for this, throw an error to keep from moving forward\n        throw new Error('Order missing data and no existing data');\n      }\n      return state;\n    }\n\n    // API-925: the stock step now writes authorized_shares/par_value to the order-task, not the\n    // main order, but GET /orders still reads the (now-stale) order object and returns ''. Never\n    // let that empty value overwrite a non-empty value already in Redux — fall back to state.\n    //\n    // Numeric authorized_shares === 0 is deliberately folded into the same \"no authoritative\n    // value\" bucket as '' and therefore also preserves the existing Redux value. A corp always\n    // has a positive share count, so 0 here means \"the order object never received it\" (the\n    // pre-existing code already coerced 0 -> ''), not \"the customer chose zero shares\". If a real\n    // zero-share value ever becomes meaningful, write `${authorizedShares}` through unconditionally.\n    //\n    // null/undefined are bucketed with 0/'' too: the `= ''` destructuring defaults above only fire\n    // for `undefined`, so an explicit `null` from zenapi would otherwise stringify to the literal\n    // 'null'/'$null' and (being truthy) defeat the fall-back-to-state guard. `== null` catches both.\n    const\n      nextAuthorizedShares = (authorizedShares == null || authorizedShares === 0) ? '' : `${authorizedShares}`,\n      nextValuePerShare = (valuePerShare == null || valuePerShare === '') ? '' : `$${valuePerShare}`;\n\n    return update(state, {\n      status: { $set: 'incomplete' },\n      id: { $set: id },\n      type: { $set: type },\n      isSCorp: { $set: isSCorp },\n      hasSCorp: { $set: isSCorp },\n      daoMemberManaged: { $set: !daoService?.dao_smart_contract_managed },\n      daoRestriction: { $set: daoService?.dao_notice_approved },\n      daoSmartContractLink: { $set: daoService?.dao_smart_contract_link },\n      isDAO: { $set: !!daoService },\n      name: { $set: name },\n      indicator: { $set: indicator },\n      alternates: { $set: alternates },\n      description: { $set: _trim(description) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: requestedJurisdictionName },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      foreignJurisdictions: { $set: foreignJurisdictions },\n      foreignJurisdictionNames: { $set: foreignJurisdictionNames },\n      domesticEntity: { $set: domesticEntity },\n      hasExistingBusiness: { $set: hasExistingBusiness },\n      hasForeignJurisdictions: { $set: hasForeignJurisdictions },\n      authorizedShares: { $set: nextAuthorizedShares || state.authorizedShares },\n      valuePerShare: { $set: nextValuePerShare || state.valuePerShare },\n      businessActivity: { $set: businessActivity },\n      businessOrderType: { $set: businessOrderType },\n      authorizedSignatory: { $set: authorizedSignatory },\n      formationCounty: { $set: formationCounty }\n    });\n  },\n  /* eslint-enable max-statements */\n  processCreateBusiness = (state) => {\n    return update(state, {\n      createBusiness: { $set: false },\n      creatingBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateBusinessComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        creatingBusiness: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      id: { $set: data.id },\n      createBusiness: { $set: false },\n      creatingBusiness: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processBusinessDataConfirmation = (state) => {\n    return update(state, {\n      updateBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processUpdateBusiness = (state) => {\n    return update(state, {\n      updateBusiness: { $set: false },\n      updatingBusiness: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processUpdateBusinessComplete = (state, action) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        updatingBusiness: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      businessOrderType: { $set: 'completed' },\n      updateBusiness: { $set: false },\n      updatingBusiness: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateOrderComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, {\n      id: { $set: data.business_entity_uuid }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processGetCompaniesComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { companies } = data;\n    const company = companies.find((c) => {\n      return c.business_entity_uuid === state.id;\n    });\n\n    return update(state, {\n      ...(company ? { isDAO: { $set: company?.is_dao } } : {}),\n      actionError: { $set: 0 }\n    });\n  },\n\n  // CoRA PF\n  processPFCoRABusinessId = (state, action, data) => {\n    const { id, business = {} } = data,\n      { type = '',\n        name = '',\n        indicator = '',\n        alternates = [],\n        description = '',\n        domesticJurisdiction = '',\n        foreignJurisdictions = [],\n        domesticFilingDate = '',\n        stateId = '',\n        authorizedShares = 0,\n        valuePerShare = ''\n      } = business,\n      domesticJurisdictionName = domesticJurisdiction ? getStateName(domesticJurisdiction) : '',\n      foreignJurisdictionNames = _reduce(foreignJurisdictions, (collect, foreignJurisdiction) => {\n        collect[foreignJurisdiction] = getStateName(foreignJurisdiction);\n        return collect;\n      }, {});\n\n    return update(state, {\n      id: { $set: id },\n      status: { $set: 'incomplete' },\n      type: { $set: type },\n      name: { $set: name },\n      indicator: { $set: indicator },\n      alternates: { $set: alternates },\n      description: { $set: _trim(description) },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      foreignJurisdictions: { $set: foreignJurisdictions },\n      foreignJurisdictionName: { $set: foreignJurisdictionNames },\n      domesticEntity: { $set: true },\n      domesticFilingDate: { $set: domesticFilingDate },\n      stateId: { $set: stateId },\n      // Not subject to the API-925 stale-'' issue (cf. processOrdersComplete): this fires on\n      // CoRA-PF company selection, and the busId step hardcodes `business.authorizedShares: 0,\n      // valuePerShare: 0` — never read from the main order. The reset to '' is intended here.\n      authorizedShares: { $set: authorizedShares === 0 ? '' : `${authorizedShares}` },\n      valuePerShare: { $set: valuePerShare === '' ? '' : `$${valuePerShare}` }\n    });\n  },\n\n  processPFCoRAInit = (state, action, data) => {\n    const { id = '' } = data,\n      newState = _assign({}, INITIAL_STATE_DEFAULT, {\n        id,\n        status: 'incomplete'\n      });\n\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n\n  processPFCoRABusinessType = (state, action, data) => {\n    const { type } = data;\n\n    return update(state, {\n      type: { $set: type }\n    });\n  },\n\n  processPFBusinessTypeAndName = (state, action, data) => {\n    const { name, type, businessType } = data;\n\n    return update(state, {\n      name: { $set: _trim(name) },\n      type: { $set: type || businessType }\n    });\n  },\n\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [ACTIONS.ACCOWN_MODAL]: processAccountOwnerContact,\n    [ACTIONS.BUS_ACT]: processBusinessActivity,\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.BUS_NAME]: processBusinessName,\n    [ACTIONS.BUS_NAME_MODAL]: processBusinessName,\n    [ACTIONS.BUS_TYPE]: processBusinessType,\n    [ACTIONS.BUS_TYPE_MODAL]: processBusinessType,\n    [ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [ACTIONS.FORM_COUNTY]: processFormationCounty,\n    [ACTIONS.FORM_COUNTY_PF]: processFormationCountyPF,\n    [ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [ACTIONS.DOM_JUR_MODAL]: processDomesticJurisdiction,\n    [ACTIONS.PURCH_PLAN]: processPurchasePlan,\n    [ACTIONS.PURCH_PRIV]: processDomesticJurisdiction,\n    [ACTIONS.SCORP_ALL_US_OWNERS]: processSCorpAllUSOwners,\n    [ACTIONS.SCORP_INVESTORS]: processSCorpOutsideInvestors,\n    [ACTIONS.SCORP_LOSS]: processSCorpOperateLoss,\n    [ACTIONS.SCORP_SALARY]: processSCorpPaySalary,\n    [ACTIONS.EDIT_CHECKOUT]: checkoutEditBusiness,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.BUS_ALT]: processBusinessAlternates,\n    [LLC_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [LLC_ACTIONS.BUS_NAME]: processBusinessName,\n    [LLC_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n    [COMPANY_ACTIONS.GET_COMPANIES_COMPLETE]: processGetCompaniesComplete,\n\n    [CORP_ACTIONS.BUS_ALT]: processBusinessAlternates,\n    [CORP_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [CORP_ACTIONS.BUS_NAME]: processBusinessName,\n    [CORP_ACTIONS.CORP_STOCK]: processCorpStock,\n    [CORP_ACTIONS.HAS_MORE_THAN_ONE_SHARE]: processHasMoreThanOneShare,\n    [CORP_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n\n    [REG_ACCOUNT_ACTIONS.HAS_EX_BUS]: processHasExistingBusiness,\n    [REG_ACCOUNT_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_ACCOUNT_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_ACCOUNT_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n\n    [REG_ANNUAL_REPORT_ACTIONS.SET_COMPANY]: processAnnualReportJurisdiction,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [REG_BUSINESS_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_BUSINESS_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_BUSINESS_ACTIONS.DOM_JUR]: processBusDomesticJurisdiction,\n    [REG_BUSINESS_ACTIONS.CREATE_BUSINESS]: processCreateBusiness,\n    [REG_BUSINESS_ACTIONS.CREATE_BUSINESS_COMPLETE]: processCreateBusinessComplete,\n\n    [COMP_BUSINESS_ACTIONS.BUS_MODAL]: processBusBusinessData,\n    [COMP_BUSINESS_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMP_BUSINESS_ACTIONS.DATA_CONFIRM]: processBusinessDataConfirmation,\n    [COMP_BUSINESS_ACTIONS.PAYMENT]: processStatus,\n    [COMP_BUSINESS_ACTIONS.UPDATE_BUSINESS]: processUpdateBusiness,\n    [COMP_BUSINESS_ACTIONS.UPDATE_BUSINESS_COMPLETE]: processUpdateBusinessComplete,\n    [COMP_BUSINESS_ACTIONS.INIT]: processStartBusinessComplete,\n\n    [REG_ACCOUNTING_ACTIONS.INIT]: processStart,\n\n    [REG_STOCK_SETUP_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_STOCK_SETUP_ACTIONS.INIT]: processDashboardProduct,\n    [REG_STOCK_SETUP_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_BUSINESSKIT_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_BUSINESSKIT_ACTIONS.INIT]: processDashboardProduct,\n    [REG_BUSINESSKIT_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_BASICEMAIL_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_BASICEMAIL_ACTIONS.INIT]: processDashboardProduct,\n    [REG_BASICEMAIL_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_BLR_ACTIONS.ACCOWN_MODAL]: processAccountOwnerContact,\n    [REG_BLR_ACTIONS.BUS_DATA_MODAL]: processBLRBusinessData,\n    [REG_BLR_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_BLR_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_BLR_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_BLR_ACTIONS.BUS_DATA]: processBusinessModal,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_BLR_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [REG_BLR_ACTIONS.INIT]: processStart,\n\n    [COMP_BLR_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n    [COMP_BLR_ACTIONS.AUTH_SIG_MODAL]: processAuthorizedSignatory,\n    [COMP_BLR_ACTIONS.DATA_CONFIRM]: processStatusComplete,\n\n    [REG_CD_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_CD_ACTIONS.INIT]: processDashboardProduct,\n    [REG_CD_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processPFCoRABusinessId,\n    [REG_CORA_PF_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_CORA_PF_ACTIONS.BUS_TYPE]: processPFCoRABusinessType,\n    [REG_CORA_PF_ACTIONS.BUS_TYPE_NAME_CART]: processPFBusinessTypeAndName,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_CORA_PF_ACTIONS.INIT]: processPFCoRAInit,\n\n    [COMP_CORA_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMP_CORA_ACTIONS.BUS_DESC_MODAL]: processBusinessDescription,\n    [COMP_CORA_ACTIONS.BUS_NAME_MODAL]: processBusinessName,\n    [COMP_CORA_ACTIONS.DATA_CONFIRM]: processStatusComplete,\n\n    [REG_DBA_PF_ACTIONS.INIT_REQ_JUR]: processDBAInitReqJurisdiction,\n    [REG_DBA_PF_ACTIONS.REQ_JUR]: processDBAReqJurisdiction,\n    [REG_DBA_PF_ACTIONS.HOME_STATE]: processDBAHomeState,\n    [REG_DBA_PF_ACTIONS.DOMESTIC_JUR]: processDBADomesticJurisdiction,\n\n\n    [COMP_DBA_ACTIONS.BUS_DESC]: processDBABusinessDescription,\n    [COMP_DBA_ACTIONS.BUS_MODAL]: processDBABusinessDescription,\n    [COMP_DBA_ACTIONS.DATA_CONFIRM]: processStatus,\n    [COMP_DBA_ACTIONS.DOM_ENTITY]: processDomesticEntity,\n    [COMP_DBA_ACTIONS.DOM_JUR]: processTRUiCRADomesticJurisdiction,\n    [COMP_DBA_ACTIONS.REG_MODAL]: processBusinessModal,\n\n    [REG_DOMAINNAME_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_DOMAINNAME_ACTIONS.INIT]: processDashboardProduct,\n    [REG_DOMAINNAME_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_DOMAIN_V2_ACTIONS.INIT]: processDashboardProduct,\n\n    [REG_EMAIL_V2_ACTIONS.INIT]: processDashboardProduct,\n\n    [REG_DOMAINPRIVACY_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_DOMAINPRIVACY_ACTIONS.INIT]: processDashboardProduct,\n    [REG_DOMAINPRIVACY_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_EIN_ACTIONS.ACCOWN_MODAL]: processAccountOwnerContact,\n    [REG_EIN_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [REG_EIN_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_EIN_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_EIN_ACTIONS.BUS_DATA]: processBusinessModal,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_EIN_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [REG_EIN_ACTIONS.INIT]: processStart,\n\n    [COMP_EIN_ACTIONS.DATA_CONFIRM]: processStatus,\n\n    [REG_ETNTF_ACTIONS.INIT]: processDashboardProduct,\n    [REG_ETNTF_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_GS_ACTIONS.INIT]: processStart,\n\n    [REG_LOGOKIT_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_LOGOKIT_ACTIONS.INIT]: processDashboardProduct,\n    [REG_LOGOKIT_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: processAccountOwnerInfo,\n    [REG_NAMERES_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_NAMERES_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_NAMERES_ACTIONS.BUS_DATA]: processBusinessModal,\n    [REG_NAMERES_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_NAMERES_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n\n    [REG_NAMERES_ACTIONS.INIT]: processStart,\n\n    [BNG_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [BNG_ACTIONS.BUS_NAME]: processBusinessName,\n\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_NYPUB_ACTIONS.ACCOWN_DATA]: processAccountOwnerContact,\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_NYPUB_ACTIONS.BUS_MODAL]: processBusinessModal,\n    [REG_NYPUB_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_NYPUB_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [REG_NYPUB_ACTIONS.PAYMENT]: processStatus,\n    [REG_NYPUB_ACTIONS.INIT]: processStart,\n\n    [COMP_NYPUB_ACTIONS.BUS_DATA]: processBusinessDescription,\n    [COMP_NYPUB_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMP_NYPUB_ACTIONS.DATA_CONFIRM]: processStatus,\n\n    [REG_ONLINETOOLS_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_ONLINETOOLS_ACTIONS.INIT]: processDashboardProduct,\n    [REG_ONLINETOOLS_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_OPAGREEMENT_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_OPAGREEMENT_ACTIONS.INIT]: processDashboardProduct,\n    [REG_OPAGREEMENT_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.INIT]: processDashboardProduct,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_SMB_ECOMM_ADDON_ACTIONS.INIT]: processDashboardProduct,\n    [REG_SMB_ECOMM_ADDON_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.INIT]: processDashboardProduct,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_SMB_WEBSITE_ACTIONS.INIT]: processDashboardProduct,\n    [REG_SMB_WEBSITE_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: processAccountOwnerContact,\n    [REG_WFG_ACTIONS.ACCOWN_DATA]: processAccountOwnerContact,\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_WFG_ACTIONS.BUS_MODAL]: processBusinessModal,\n    [REG_WFG_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_WFG_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_WFG_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_WFG_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [REG_WFG_ACTIONS.INIT]: processStart,\n    [REG_WFG_ACTIONS.PAYMENT]: processStatus,\n\n    [COMP_WFG_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMP_WFG_ACTIONS.BUS_MODAL]: processWFGBusinessData,\n    [COMP_WFG_ACTIONS.BUS_NAME]: processBusinessName,\n    [COMP_WFG_ACTIONS.DATA_CONFIRM]: processStatusComplete,\n\n    [REG_WFGIR_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_WFGIR_ACTIONS.INIT]: processDashboardProduct,\n    [REG_WFGIR_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_VANITY_PRODUCT_ACTIONS.CHOOSE_COMPANY]: processDashboardProduct,\n    [REG_VANITY_PRODUCT_ACTIONS.INIT]: processDashboardProduct,\n    [REG_VANITY_PRODUCT_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_ZBMPRO_ACTIONS.INIT]: processDashboardProduct,\n    [REG_ZBMPRO_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [REG_TAX_SERVICES_ACTIONS.INIT]: processDashboardProduct,\n    [REG_TAX_SERVICES_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [POSTPURCHASE_ACTIONS.MARK_COMPLETE]: processStatusComplete,\n    [POSTPURCHASE_ACTIONS.PAYMENT]: processStatusComplete,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isEqual from 'lodash/isEqual';\nimport _pick from 'lodash/pick';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { DOM_JURS } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/businessAddresses';\n\nconst\n  ADDRESS_COMPARE_FIELDS = [ 'address_1', 'address_2', 'city', 'county', 'state', 'zip', 'lat', 'lng', 'address_is_google' ],\n  EMPTY_ADDRESS = {\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    stateName: '',\n    country: '',\n    zipCode: '',\n    lat: 0,\n    lng: 0,\n    addressIsGoogle: false\n  },\n  EMPTY_ADDRESS_COMPARE = {\n    address_1: '',\n    address_2: '',\n    city: '',\n    county: '',\n    state: '',\n    zip: '',\n    lat: 0,\n    lng: 0,\n    address_is_google: false\n  },\n  EMPTY_ADDRESS_SET = {\n    addressLine1: { $set: '' },\n    addressLine2: { $set: '' },\n    city: { $set: '' },\n    county: { $set: '' },\n    state: { $set: '' },\n    stateName: { $set: '' },\n    country: { $set: '' },\n    zipCode: { $set: '' },\n    lat: { $set: 0 },\n    lng: { $set: 0 },\n    addressIsGoogle: { $set: false }\n  },\n  INITIAL_STATE_DEFAULT = {\n    principal: _assign({}, EMPTY_ADDRESS),\n    mailing: _assign({}, EMPTY_ADDRESS),\n    physical: _assign({}, EMPTY_ADDRESS),\n    usePhysicalAsMailing: false,\n    usePhysicalAsPrincipal: false,\n    useMailingAsPrincipal: false\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT)),\n\n  getStateName = (value) => {\n    const match = _find(DOM_JURS, (option) => {\n      return option.value === value;\n    });\n    return match ? match.label : '';\n  },\n\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n\n  getAddressUpdate = (data) => {\n    const { addressLine1, addressLine2, city, county, state: addrState, country = 'US', zipCode, lat = 0, lng = 0, addressIsGoogle = false } = data,\n      stateName = getStateName(addrState),\n      addressUpdate = {\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        county: { $set: _trim(county) },\n        state: { $set: _trim(addrState) },\n        stateName: { $set: stateName },\n        country: { $set: _trim(country) || 'US' },\n        zipCode: { $set: _trim(zipCode) },\n        lat: { $set: lat },\n        lng: { $set: lng },\n        addressIsGoogle: { $set: addressIsGoogle }\n      };\n\n    return addressUpdate;\n  },\n\n  getOrderAddressUpdate = (data) => {\n    const { address_1: addressLine1, address_2: addressLine2, city, county, state: addrState, country = '', zip: zipCode, lat = 0, lng = 0, address_is_google: addressIsGoogle = false } = data,\n      stateName = getStateName(addrState),\n      addressUpdate = {\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        county: { $set: _trim(county) },\n        state: { $set: _trim(addrState) },\n        stateName: { $set: stateName },\n        country: { $set: _trim(country) || 'US' },\n        zipCode: { $set: _trim(zipCode) },\n        lat: { $set: lat },\n        lng: { $set: lng },\n        addressIsGoogle: { $set: addressIsGoogle }\n      };\n\n    return addressUpdate;\n  },\n\n  compareAddresses = (address1, address2) => {\n    const addr1 = _pick(address1, ADDRESS_COMPARE_FIELDS),\n      addr2 = _pick(address2, ADDRESS_COMPARE_FIELDS);\n\n    if (_isEqual(addr1, EMPTY_ADDRESS_COMPARE) || _isEqual(addr2, EMPTY_ADDRESS_COMPARE)) {\n      return false;\n    }\n    return _isEqual(addr1, addr2);\n  },\n\n  processPhysicalAddress = (state, action, data) => {\n    const { usePhysicalAsMailing, usePhysicalAsPrincipal } = data,\n      oldUsePhysicalAsMailing = state.usePhysicalAsMailing,\n      oldUsePhysicalAsPrincipal = state.usePhysicalAsPrincipal,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal }\n      };\n\n    if (usePhysicalAsMailing && !oldUsePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    } else if (!usePhysicalAsMailing && oldUsePhysicalAsMailing) {\n      stateUpdate.mailing = EMPTY_ADDRESS_SET;\n    }\n\n    if (usePhysicalAsPrincipal && !oldUsePhysicalAsPrincipal) {\n      stateUpdate.principal = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    } else if (!usePhysicalAsPrincipal && oldUsePhysicalAsPrincipal) {\n      stateUpdate.principal = EMPTY_ADDRESS_SET;\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processPhysicalAddressInFlow = (state, action, data) => {\n    const { usePhysicalAsMailing } = data,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: true },\n        principal: addressUpdate\n      };\n\n    if (usePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processPhysicalAddressModal = (state, action, data) => {\n    const { usePhysicalAsMailing, usePhysicalAsPrincipal } = data,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal }\n      };\n\n    if (usePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    }\n    if (usePhysicalAsPrincipal) {\n      stateUpdate.principal = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processNameResPhysicalAddress = (state, action, data) => {\n    const { usePhysicalAsMailing } = data,\n      oldUsePhysicalAsMailing = state.usePhysicalAsMailing,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        principal: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: true },\n        useMailingAsPrincipal: { $set: false }\n      };\n\n    if (usePhysicalAsMailing && !oldUsePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n    } else if (!usePhysicalAsMailing && oldUsePhysicalAsMailing) {\n      stateUpdate.mailing = EMPTY_ADDRESS_SET;\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processNameResPhysicalAddressModal = (state, action, data) => {\n    const { usePhysicalAsMailing } = data,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        physical: addressUpdate,\n        principal: addressUpdate,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: true },\n        useMailingAsPrincipal: { $set: false }\n      };\n\n    if (usePhysicalAsMailing) {\n      stateUpdate.mailing = addressUpdate;\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processMailingAddress = (state, action, data) => {\n    const { useMailingAsPrincipal } = data,\n      oldUseMailingAsPrincipal = state.useMailingAsPrincipal,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        mailing: addressUpdate,\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      };\n\n    if (useMailingAsPrincipal && !oldUseMailingAsPrincipal) {\n      stateUpdate.principal = addressUpdate;\n    } else if (!useMailingAsPrincipal && oldUseMailingAsPrincipal) {\n      stateUpdate.principal = EMPTY_ADDRESS_SET;\n    }\n\n    return (update(state, stateUpdate));\n  },\n\n  processMailingAddressModal = (state, action, data) => {\n    const { useMailingAsPrincipal } = data,\n      addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        mailing: addressUpdate,\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n      };\n\n    if (useMailingAsPrincipal) {\n      stateUpdate.principal = addressUpdate;\n    }\n    return (update(state, stateUpdate));\n  },\n\n  processMailingAddressInFlow = (state, action, data) => {\n    const addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        mailing: addressUpdate\n      };\n    return (update(state, stateUpdate));\n  },\n\n  processPrincipalAddress = (state, action, data) => {\n    const addressUpdate = getAddressUpdate(data),\n      stateUpdate = {\n        principal: addressUpdate\n      };\n\n    return (update(state, stateUpdate));\n  },\n\n  processAllAddressModal = (state, action, data) => {\n    const { mailing, physical, principal, usePhysicalAsMailing, usePhysicalAsPrincipal, useMailingAsPrincipal } = data,\n      addressUpdate = getAddressUpdate(principal),\n      stateUpdate = {\n        principal: addressUpdate,\n        mailing: usePhysicalAsMailing ? addressUpdate : getAddressUpdate(mailing),\n        useMailingAsPrincipal: { $set: useMailingAsPrincipal },\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal }\n      };\n\n    if (usePhysicalAsPrincipal) {\n      stateUpdate.physical = addressUpdate;\n      stateUpdate.useMailingAsPrincipal = { $set: false };\n    } else if (useMailingAsPrincipal) {\n      stateUpdate.physical = stateUpdate.mailing;\n    } else {\n      stateUpdate.physical = getAddressUpdate(physical);\n    }\n\n    return update(state, stateUpdate);\n  },\n\n  processAllAddressModalInFlow = (state, action, data) => {\n    const { mailing, physical, usePhysicalAsMailing } = data,\n      physicalAddress = getAddressUpdate(physical),\n      mailingAddress = getAddressUpdate(mailing),\n      stateUpdate = {\n        physical: physicalAddress,\n        mailing: usePhysicalAsMailing ? physicalAddress : mailingAddress,\n        principal: physicalAddress,\n        usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n        usePhysicalAsPrincipal: { $set: true }\n      };\n    return update(state, stateUpdate);\n  },\n\n  processBusinessId = (state, action, data) => {\n    const\n      { businessAddresses = {} } = data,\n      {\n        principal = EMPTY_ADDRESS,\n        mailing = EMPTY_ADDRESS,\n        physical = EMPTY_ADDRESS,\n        usePhysicalAsMailing,\n        usePhysicalAsPrincipal,\n        useMailingAsPrincipal\n      } = businessAddresses;\n\n    return update(state, {\n      principal: getAddressUpdate(principal),\n      mailing: getAddressUpdate(mailing),\n      physical: getAddressUpdate(physical),\n      usePhysicalAsMailing: { $set: usePhysicalAsMailing },\n      usePhysicalAsPrincipal: { $set: usePhysicalAsPrincipal },\n      useMailingAsPrincipal: { $set: useMailingAsPrincipal }\n    });\n  },\n\n  // Calls to middleware\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const addr = _get(o, 'address', null);\n\n        return addr !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n    const\n      { address: physical = EMPTY_ADDRESS, principal_address: principal = EMPTY_ADDRESS, mailing_address: mailing = EMPTY_ADDRESS } = order;\n\n    return update(state, {\n      principal: getOrderAddressUpdate(principal),\n      mailing: getOrderAddressUpdate(mailing),\n      physical: getOrderAddressUpdate(physical),\n      usePhysicalAsMailing: { $set: compareAddresses(physical, mailing) },\n      usePhysicalAsPrincipal: { $set: compareAddresses(physical, principal) },\n      useMailingAsPrincipal: { $set: compareAddresses(mailing, principal) }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressInFlow,\n    [ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n    [ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressInFlow,\n    [ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n    [ACTIONS.PRIN_ADDR_MODAL]: processPrincipalAddress,\n    [ACTIONS.PURCHASE_SUCCESS]: resetAllData,\n\n    [LLC_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [LLC_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n\n    [CORP_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [CORP_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_BLR_ACTIONS.ADDR_MODAL]: processAllAddressModalInFlow,\n    [COMP_BLR_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [COMP_BLR_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n\n    [COMP_BUSINESS_ACTIONS.MAIL_ADDR]: processMailingAddress,\n    [COMP_BUSINESS_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressModal,\n    [COMP_BUSINESS_ACTIONS.PHYS_ADDR]: processPhysicalAddress,\n    [COMP_BUSINESS_ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressModal,\n    [COMP_BUSINESS_ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n    [COMP_BUSINESS_ACTIONS.PRIN_ADDR_MODAL]: processPrincipalAddress,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.ADDR_MODAL]: processAllAddressModal,\n    [COMP_CORA_ACTIONS.MAIL_ADDR]: processMailingAddress,\n    [COMP_CORA_ACTIONS.PHYS_ADDR]: processPhysicalAddress,\n    [COMP_CORA_ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n\n    [COMP_DBA_ACTIONS.ADDR_MODAL]: processAllAddressModalInFlow,\n    [COMP_DBA_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [COMP_DBA_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_EIN_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [COMP_EIN_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressInFlow,\n    [COMP_EIN_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n    [COMP_EIN_ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressInFlow,\n\n    [REG_NAMERES_ACTIONS.MAIL_ADDR]: processMailingAddress,\n    [REG_NAMERES_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressModal,\n    [REG_NAMERES_ACTIONS.PHYS_ADDR]: processNameResPhysicalAddress,\n    [REG_NAMERES_ACTIONS.PHYS_ADDR_MODAL]: processNameResPhysicalAddressModal,\n\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.ADDR_MODAL]: processAllAddressModal,\n\n    [COMP_NYPUB_ACTIONS.MAIL_ADDR]: processMailingAddressInFlow,\n    [COMP_NYPUB_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressInFlow,\n    [COMP_NYPUB_ACTIONS.PHYS_ADDR]: processPhysicalAddressInFlow,\n    [COMP_NYPUB_ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressInFlow,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.MAIL_ADDR]: processMailingAddress,\n    [COMP_WFG_ACTIONS.MAIL_ADDR_MODAL]: processMailingAddressModal,\n    [COMP_WFG_ACTIONS.PHYS_ADDR]: processPhysicalAddress,\n    [COMP_WFG_ACTIONS.PHYS_ADDR_MODAL]: processPhysicalAddressModal,\n    [COMP_WFG_ACTIONS.PRIN_ADDR]: processPrincipalAddress,\n    [COMP_WFG_ACTIONS.PRIN_ADDR_MODAL]: processPrincipalAddress,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_business_kit';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/businessKit';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    businessKit: null,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, name, domesticJurisdiction, type } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { businessKit } = data;\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 },\n      businessKit: { $set: businessKit }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _clone from 'lodash/clone';\nimport _filter from 'lodash/filter';\nimport _find from 'lodash/find';\nimport _forEach from 'lodash/forEach';\nimport _get from 'lodash/get';\nimport _indexOf from 'lodash/indexOf';\nimport _isUndefined from 'lodash/isUndefined';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as REG_CORA_PF_ACTIONS, STEPS } from '../../constants/register_cora_pf';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { DOM_JURS } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/cora';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    authorizedSignatory: null,\n    businessIndustry: '',\n    busDetailsLocked: false, // Used for display - no need to persist\n    domesticEntity: null, // Used for display - no need to persist\n    domesticJurisdiction: '',\n    domesticJurisdictionName: '', // Used for display - no need to persist\n    domJurNotReqJurs: null, // Used for display - no need to persist\n    electiveCEO: null,\n    email: '', // Used for display - no need to persist (will persist off of contact reducer)\n    existingJurisdictions: [], // Used for display - no need to persist\n    fees: 0, // Used for display - no need to persist\n    filingDates: {},\n    firstName: '', // Used for display - no need to persist (will persist off of contact reducer)\n    foreignQualFiling: null, // Used for display - no need to persist\n    foreignRegistration: null, // Used for display - no need to persist\n    formationOnParam: null, // Used for display - no need to persist\n    formWithZen: null, // Used for display - no need to persist.\n    hasElectiveCEO: null, // Used for display - remove on complete\n    hasFormation: null, // Used for display - remove on complete\n    idOnParam: null, // Used for display - no need to persist\n    jurisdictionOnParam: null, // Used for display - no need to persist\n    jurisdictionOrder: [], // Used for display - remove on complete\n    lastName: '', // Used for display - no need to persist (will persist off of contact reducer)\n    middleName: '', // Used for display - no need to persist (will persist off of contact reducer)\n    name: '', // Used for display - no need to persist (will persist off of business reducer)\n    pendingStates: {}, // Used for display - rmove on complete\n    phoneNumber: '', // Used for display - no need to persist (will persist off of contact reducer)\n    planLevel: '', // Used for display - no need to persist (will persist off of purchase reducer)\n    price: 0, // Used for display - no need to persistd\n    requestedJurisdictions: [],\n    requestedJurisdictionNames: {}, // Used for display\n    requestedJurisdictionCount: 0, // Used for display\n    saveData: null, // Used for display - no need to persist\n    selfFile: null, // Used for display - no need to persist\n    skipHasFormation: false, // Used for display - no need to persist\n    skipRequestedJurisdictions: false, // Used for display - no need to persist\n    skipBusinessName: false, // Used for display - no need to persist\n    skipBusinessType: false, // Used for display - no need to persist\n    sopContact: null,\n    startFromInit: false, // Used for control\n    startStep: null, // Used for display - no need to persist\n    step: null, // Used for display - no need to persist\n    stateIds: {},\n    statePINs: {},\n    suffix: '', // Used for display - no need to persist (will persist off of contact reducer)\n    type: null, // Used for display - no need to persist (will persist off of business reducer)\n    typeOnParam: null, // Used for display - no need to persist\n    upsellDomJur: null, // Used for display - no need to persist\n    whoFilesPaperwork: null, // Used for display - no need to persist\n\n    needsPrincipals: true, // Used for data collection - no need to persist\n    needsContact: true, // Used for data collection - no need to persist\n    needsCoraContacts: true, // Used for data collection - no need to persist\n    needsBusinessData: true, // Used for data collection - no need to persist\n    needsBusinessIndustry: true, // Used for data collection - no need to persist\n    needsAddresses: true, // Used for data collection - no need to persist\n    needsDomesticJurisdictionData: true // Used for data collection - no need to persist\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT)),\n  STATE_NAMES = _reduce(DOM_JURS, (names, option) => {\n    names[option.value] = option.label;\n    return names;\n  }, {}),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  sortRequestedJurisdictions = (requestedJurisdictions, requestedJurisdictionNames) => {\n    return _clone(requestedJurisdictions).sort((a, b) => {\n      return requestedJurisdictionNames[a] < requestedJurisdictionNames[b] ? -1 : 1;\n    });\n  },\n  createJurisdictionOrder = (requestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData) => {\n    const jurisdictionOrder = _filter(requestedJurisdictions, (reqJur) => {\n      return reqJur !== domesticJurisdiction;\n    }).sort((a, b) => {\n      return a < b;\n    });\n\n    if (domesticJurisdiction && (_indexOf(requestedJurisdictions, domesticJurisdiction) !== -1 || upsellDomJur || needsDomesticJurisdictionData)) {\n      jurisdictionOrder.unshift(domesticJurisdiction);\n    }\n    return jurisdictionOrder;\n  },\n  processUser = (key, state, data, includeTitle) => {\n    const\n      {\n        isPrincipal = false,\n        title = '',\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = ''\n      } = data || {};\n\n    if (state[key] === null) {\n      const contact = {\n        isPrincipal,\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber\n      };\n      if (includeTitle) {\n        contact.title = _trim(title);\n      }\n\n      return update(state, {\n        [key]: { $set: contact }\n      });\n    }\n\n    const updates = {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: suffix },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      state: { $set: addrState },\n      zipCode: { $set: zipCode },\n      country: { $set: _trim(country) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phoneNumber }\n    };\n    if (includeTitle) {\n      updates.title = { $set: _trim(title) };\n    }\n    return update(state, {\n      [key]: updates\n    });\n  },\n\n  processAuthorizedSignatory = (state, action, data) => {\n    return processUser('authorizedSignatory', state, data, true);\n  },\n  processBusinessIndustry = (state, action, data) => {\n    const { businessIndustry } = data;\n    return update(state, {\n      businessIndustry: { $set: businessIndustry }\n    });\n  },\n  processDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      domesticJurisdictionName = STATE_NAMES[domesticJurisdiction],\n      domesticEntity = _indexOf(state.requestedJurisdictions, domesticJurisdiction) !== -1,\n      jurisdictionOrder = createJurisdictionOrder(state.requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, state.needsDomesticJurisdictionData);\n\n    return update(state, {\n      domesticEntity: { $set: domesticEntity },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      step: { $set: data.nextStep }\n    });\n  },\n  processElectiveCEO = (state, action, data) => {\n    return processUser('electiveCEO', state, data, true);\n  },\n  processHasElectiveCEO = (state, action, data) => {\n    const { hasElectiveCEO } = data;\n\n    return update(state, {\n      hasElectiveCEO: { $set: hasElectiveCEO }\n    });\n  },\n  processSOPContact = (state, action, data) => {\n    return processUser('sopContact', state, data, false);\n  },\n  processStateFiling = (state, action, data) => {\n    const { requestedJurisdiction, filingDate, stateId, statePIN } = data;\n\n    return update(state, {\n      filingDates: {\n        [requestedJurisdiction]: { $set: filingDate }\n      },\n      stateIds: {\n        [requestedJurisdiction]: { $set: stateId }\n      },\n      statePINs: {\n        [requestedJurisdiction]: { $set: statePIN }\n      }\n    });\n  },\n\n  // Calls to middleware\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = _find(orders, (order) => {\n        return order.order_status === 'incomplete';\n      });\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      ras = _filter(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'registered_agent_service';\n      });\n\n    if (!ras || ras.length === 0) {\n      return state;\n    }\n\n    const\n      values = _reduce(ras, (collect, ra) => {\n        const\n          {\n            jurisdiction: requestedJurisdiction,\n            domestic_jurisdiction: domesticJurisdiction = null,\n            domestic_jurisdiction_filing_date: domJurFilingDate = null,\n            domestic_jurisdiction_filing_number: domJurStateId = null,\n            domestic_jurisdiction_state_info: domJurStateInfo = {},\n            foreign_jurisdiction_objects: forJurObjects = [],\n            is_primary: isPrimary = false,\n            business_industry: businessIndustry = '',\n            authorized_signatory: authorizedSignatory = null,\n            sop_contact: sopContact = null,\n\n            domestic_entity: domesticEntity = null,\n            has_elective_ceo: hasElectiveCEO = null,\n            has_existing_business: hasFormation = null,\n            jurisdiction_order: jurisdictionOrder = null,\n            existing_jurisdictions: existingJurisdictions = [],\n            pending_states: pendingStates = {},\n\n            needs_addresses: needsAddresses = true,\n            needs_business_data: needsBusinessData = true,\n            needs_business_industry: needsBusinessIndustry = true,\n            needs_contact: needsContact = true,\n            needs_cora_contacts: needsCoraContacts = true,\n            needs_domestic_jurisdiction_data: needsDomesticJurisdictionData = true,\n            needs_principal_address: needsPrincipalAddress = true,\n            needs_principals: needsPrincipals = true\n          } = ra,\n          {\n            jurisdiction_state_pin: domJurStatePIN = null,\n            jurisdiction_elective_ceo: domJurElectiveCEO = null\n          } = domJurStateInfo,\n          requestedJurisdictionName = STATE_NAMES[requestedJurisdiction],\n          domesticJurisdictionName = STATE_NAMES[domesticJurisdiction];\n\n        collect.requestedJurisdictions.push(requestedJurisdiction);\n        collect.requestedJurisdictionNames[requestedJurisdiction] = requestedJurisdictionName;\n        if (domesticJurisdiction) {\n          collect.requestedJurisdictionNames[domesticJurisdiction] = domesticJurisdictionName;\n        }\n        collect.requestedJurisdictionCount += 1;\n        if (domesticEntity) {\n          collect.domesticEntity = true;\n        }\n\n        if (isPrimary) {\n          collect.businessIndustry = businessIndustry;\n          collect.jurisdictionOrder = jurisdictionOrder;\n          collect.hasElectiveCEO = hasElectiveCEO;\n          collect.hasFormation = hasFormation;\n          collect.existingJurisdictions = existingJurisdictions;\n          collect.pendingStates = pendingStates;\n          if (domesticJurisdiction) {\n            collect.domesticJurisdiction = domesticJurisdiction;\n            collect.domesticJurisdictionName = domesticJurisdictionName;\n          }\n          if (domJurFilingDate) {\n            collect.filingDates[domesticJurisdiction] = domJurFilingDate;\n          }\n          if (domJurStateId) {\n            collect.stateIds[domesticJurisdiction] = domJurStateId;\n          }\n          if (domJurStatePIN) {\n            collect.statePINs[domesticJurisdiction] = domJurStatePIN;\n          }\n          if (domJurElectiveCEO) {\n            const {\n              first_name: firstName = '',\n              middle_name: middleName = '',\n              last_name: lastName = '',\n              suffix = '',\n              company_name: companyName = '',\n              title = '',\n              email = '',\n              phone: phoneNumber = '',\n              address_1: addressLine1 = '',\n              address_2: addressLine2 = '',\n              city = '',\n              county = '',\n              state: addrState = '',\n              zip: zipCode = '',\n              country = 'US',\n              is_principal: isPrincipal = false\n            } = domJurElectiveCEO;\n            collect.electiveCEO = {\n              firstName, middleName, lastName, suffix, companyName, title, email, phoneNumber, addressLine1, addressLine2, city, county, state: addrState, zipCode, country, isPrincipal\n            };\n          }\n\n          _forEach(forJurObjects, (fjo) => {\n            const\n              {\n                jurisdiction_code: foJur,\n                jurisdiction_filing_date: fojFilingDate = '',\n                jurisdiction_filing_number: fojStateId = '',\n                extra_state_info: extraStateInfo = {}\n              } = fjo,\n              {\n                state_pin: fojStatePIN = '',\n                elective_ceo: fojElectiveCEO = null\n              } = extraStateInfo;\n\n            if (fojFilingDate) {\n              collect.filingDates[foJur] = fojFilingDate;\n            }\n            if (fojStateId) {\n              collect.stateIds[foJur] = fojStateId;\n            }\n            if (fojStatePIN) {\n              collect.statePINs[foJur] = fojStatePIN;\n            }\n            if (fojElectiveCEO) {\n              const {\n                first_name: firstName = '',\n                middle_name: middleName = '',\n                last_name: lastName = '',\n                suffix = '',\n                company_name: companyName = '',\n                title = '',\n                email = '',\n                phone: phoneNumber = '',\n                address_1: addressLine1 = '',\n                address_2: addressLine2 = '',\n                city = '',\n                county = '',\n                state: addrState = '',\n                zip: zipCode = '',\n                country = 'US',\n                is_principal: isPrincipal = false\n              } = fojElectiveCEO;\n              collect.electiveCEO = {\n                firstName, middleName, lastName, suffix, companyName, title, email, phoneNumber, addressLine1, addressLine2, city, county, state: addrState, zipCode, country, isPrincipal\n              };\n            }\n          });\n          if (authorizedSignatory) {\n            const {\n              first_name: firstName = '',\n              middle_name: middleName = '',\n              last_name: lastName = '',\n              suffix = '',\n              company_name: companyName = '',\n              title = '',\n              email = '',\n              phone: phoneNumber = '',\n              address_1: addressLine1 = '',\n              address_2: addressLine2 = '',\n              city = '',\n              county = '',\n              state: addrState = '',\n              zip: zipCode = '',\n              country = 'US',\n              is_principal: isPrincipal = false\n            } = authorizedSignatory;\n            if (firstName || companyName) {\n              collect.authorizedSignatory = {\n                firstName, middleName, lastName, suffix, companyName, title, email, phoneNumber, addressLine1, addressLine2, city, county, state: addrState, zipCode, country, isPrincipal\n              };\n            }\n          }\n          if (sopContact) {\n            const {\n              first_name: firstName = '',\n              middle_name: middleName = '',\n              last_name: lastName = '',\n              suffix = '',\n              company_name: companyName = '',\n              title = '',\n              email = '',\n              phone: phoneNumber = '',\n              address_1: addressLine1 = '',\n              address_2: addressLine2 = '',\n              city = '',\n              county = '',\n              state: addrState = '',\n              zip: zipCode = '',\n              country = 'US',\n              is_principal: isPrincipal = false\n            } = sopContact;\n\n            if (firstName || companyName) {\n              collect.sopContact = {\n                firstName, middleName, lastName, suffix, companyName, title, email, phoneNumber, addressLine1, addressLine2, city, county, state: addrState, zipCode, country, isPrincipal\n              };\n            }\n          }\n          collect.needsAddresses = needsAddresses;\n          collect.needsBusinessData = needsBusinessData;\n          collect.needsBusinessIndustry = needsBusinessIndustry;\n          collect.needsContact = needsContact;\n          collect.needsCoraContacts = needsCoraContacts || sopContact === null || authorizedSignatory === null;\n          collect.needsDomesticJurisdictionData = needsDomesticJurisdictionData;\n          collect.needsPrincipalAddress = needsPrincipalAddress;\n          collect.needsPrincipals = needsPrincipals;\n        }\n        return collect;\n      }, {\n        domesticJurisdiction: '',\n        domesticJurisdictionName: '',\n        requestedJurisdictions: [],\n        requestedJurisdictionNames: {},\n        requestedJurisdictionCount: 0,\n        businessIndustry: '',\n        authorizedSignatory: null,\n        electiveCEO: null,\n        sopContact: null,\n        jurisdictionOrder: null,\n        filingDates: {},\n        stateIds: {},\n        statePINs: {},\n        existingJurisdictions: [],\n        pendingStates: {},\n        hasFormation: null,\n        hasElectiveCEO: null,\n        needsAddresses: true,\n        needsBusinessData: true,\n        needsBusinessIndustry: true,\n        needsContact: true,\n        needsCoraContacts: true,\n        needsDomesticJurisdictionData: true,\n        needsPrincipalAddress: true,\n        needsPrincipals: true\n      });\n\n    // DJL - Here, we need to see if the jurisdiction order was filled in.\n    // If not, that means that we are coming in for the first time from a\n    // ShoppingUI order set and need to build the internal structures by hand.\n\n    if (!values.jurisdictionOrder) {\n      // Get the domestic jursidiction off of the first ra order\n      const domJur = ras.length > 0 ? ras[0].domestic_jurisdiction : '';\n      const name = ras.length > 0 ? ras[0].order_entity_name : '';\n      const type = ras.length > 0 ? ras[0].entity_type : '';\n      const reqJurs = values.requestedJurisdictions;\n      const jurOrder = [];\n      const domJurName = STATE_NAMES[domJur];\n      const reqJurNames = {};\n      const existingJurs = [];\n      const pendingJurs = {};\n      reqJurNames[domJur] = domJurName;\n      jurOrder.push(domJur); // Always need domestic jurisdiction data in this instance\n\n      const existingJurMap = _reduce(orderData, (collect, order) => {\n        const service = _get(order, 'service', '');\n        if (service === 'change_of_registered_agent') {\n          const jur = _get(order, 'jurisdiction', '');\n          if (jur) {\n            collect[jur] = true;\n          }\n        }\n        return collect;\n      }, {});\n\n      let domJurNotReqJurs = true;\n\n      _forEach(reqJurs, (reqJur) => {\n        const reqJurName = STATE_NAMES[reqJur];\n        reqJurNames[reqJur] = reqJurName;\n        if (existingJurMap[reqJur]) {\n          existingJurs.push(reqJur);\n        } else {\n          pendingJurs[reqJur] = true;\n        }\n        if (reqJur !== domJur) {\n          jurOrder.push(reqJur);\n        } else {\n          domJurNotReqJurs = false;\n        }\n      });\n\n      values.busDetailsLocked = true;\n      values.needsDomesticJurisdictionData = !pendingJurs[domJur];\n      values.hasFormation = true;\n      values.domJurNotReqJurs = domJurNotReqJurs;\n      values.name = name;\n      values.type = type;\n      values.foreignRegistration = reqJurs.length > 1 || domJurNotReqJurs;\n      values.domesticJurisdiction = domJur;\n      values.domesticJurisdictionName = domJurName;\n      values.requestedJurisdictionNames = reqJurNames;\n      values.requestedJurisdictionCount = reqJurs.length;\n      values.existingJurisdictions = existingJurs;\n      values.jurisdictionOrder = jurOrder;\n      values.pendingStates = pendingJurs;\n    }\n\n    values.requestedJurisdictions = sortRequestedJurisdictions(values.requestedJurisdictions, values.requestedJurisdictionNames);\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, values));\n  },\n  /* eslint-enable max-statements */\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n\n  // PF-specific\n  processNextStep = (state, action, data) => {\n    const { nextStep, ...therest } = data;\n\n    const newState = Object.keys(therest).reduce((acc, key) => {\n      acc[key] = { $set: therest[key] };\n      return acc;\n    }, { step: { $set: nextStep || state.step } });\n\n    return update(state, newState);\n  },\n\n  processPFAccountOwnerEmail = (state, action, data) => {\n    const { email } = data;\n\n    return update(state, {\n      email: { $set: email },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFAccountOwnerFirstName = (state, action, data) => {\n    const { firstName } = data;\n\n    return update(state, {\n      firstName: { $set: firstName },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFAccountOwnerLastName = (state, action, data) => {\n    const { lastName } = data;\n\n    return update(state, {\n      lastName: { $set: lastName },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFAccountOwnerPhoneNumber = (state, action, data) => {\n    const { phoneNumber } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  // Reset step\n  processPFBusinessId = (state, action, data) => {\n    const\n      { business = {}, cora = {}, id = '' } = data,\n      {\n        name = '',\n        type = ''\n      } = business,\n      {\n        authorizedSignatory = null,\n        businessIndustry = '',\n        domesticJurisdiction = '',\n        existingJurisdictions = [],\n        electiveCEO = null,\n        hasElectiveCEO = null,\n        hasFormation = null,\n        needsAddresses = true,\n        needsBusinessData = true,\n        needsBusinessIndustry = true,\n        needsContact = true,\n        needsCoraContacts = true,\n        needsDomesticJurisdictionData = true,\n        needsPrincipalAddress = true,\n        needsPrincipals = true,\n        sopContact = null\n      } = cora,\n      domesticJurisdictionName = domesticJurisdiction ? STATE_NAMES[domesticJurisdiction] : '';\n\n    const\n      { jurisdictionOnParam } = state,\n      jurisdiction = jurisdictionOnParam,\n      requestedJurisdictions = jurisdiction ? [ jurisdiction ] : [],\n      requestedJurisdictionNames = jurisdiction ? { [jurisdiction]: STATE_NAMES[jurisdiction] } : {},\n      pendingStates = jurisdiction ? { [jurisdiction]: null } : {},\n      jurisdictionOrder = createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, needsDomesticJurisdictionData);\n\n    if (_indexOf(requestedJurisdictions, domesticJurisdiction) !== -1) {\n      pendingStates[domesticJurisdiction] = false;\n    }\n\n    return update(state, {\n      authorizedSignatory: { $set: authorizedSignatory },\n      busDetailsLocked: { $set: !!id },\n      businessIndustry: { $set: businessIndustry },\n      domesticEntity: { $set: null },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      domJurNotReqJurs: { $set: null },\n      electiveCEO: { $set: electiveCEO },\n      email: { $set: '' },\n      existingJurisdictions: { $set: existingJurisdictions },\n      firstName: { $set: '' },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: null },\n      formWithZen: { $set: null },\n      hasElectiveCEO: { $set: hasElectiveCEO },\n      hasFormation: { $set: hasFormation },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      lastName: { $set: '' },\n      name: { $set: name },\n      needsAddresses: { $set: needsAddresses },\n      needsBusinessData: { $set: needsBusinessData },\n      needsBusinessIndustry: { $set: needsBusinessIndustry },\n      needsContact: { $set: needsContact },\n      needsDomesticJurisdictionData: { $set: needsDomesticJurisdictionData },\n      needsCoraContacts: { $set: needsCoraContacts },\n      needsPrincipalAddress: { $set: needsPrincipalAddress },\n      needsPrincipals: { $set: needsPrincipals },\n      pendingStates: { $set: pendingStates },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      requestedJurisdictions: { $set: requestedJurisdictions },\n      requestedJurisdictionCount: { $set: requestedJurisdictions.length },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      sopContact: { $set: sopContact },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: type },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  processBusinessName = (state, action, data) => {\n    const\n      { name } = data,\n      // A real edit to an already-answered name must resurface it in the order payload\n      // (see addBusinessData's `needsBusinessData` gate) even if the initial business\n      // match had already marked business data as not needed.\n      nameEdited = !!state.name && name !== state.name,\n      needsBusinessData = state.needsBusinessData || nameEdited;\n\n    return update(state, {\n      name: { $set: name },\n      needsBusinessData: { $set: needsBusinessData },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  // Reset step\n  processBusinessType = (state, action, data) => {\n    const { type } = data;\n\n    return update(state, {\n      email: { $set: '' },\n      name: { $set: '' },\n      lastName: { $set: '' },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      saveData: { $set: null },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: type }\n    });\n  },\n\n  // Cart only\n  processBusinessTypeAndName = (state, action, data) => {\n    const\n      { name, type } = data,\n      // Same re-derivation as processBusinessName — a cart-driven edit of an\n      // already-matched name/type must resurface it in the order payload too.\n      needsBusinessData = state.needsBusinessData || (!!state.name && name !== state.name) || (!!state.type && type !== state.type);\n\n    return update(state, {\n      name: { $set: name },\n      needsBusinessData: { $set: needsBusinessData },\n      type: { $set: type }\n    });\n  },\n\n  processPFCheckpoint = (state, action, data) => {\n    const { saveData } = data;\n\n    return update(state, {\n      saveData: { $set: saveData },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  // Reset step\n  processPFChooseDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction, domJurNotReqJurs } = data,\n      {\n        busDetailsLocked,\n        hasFormation,\n        name,\n        pendingStates,\n        type\n      } = state,\n      domesticJurisdictionName = domesticJurisdiction ? STATE_NAMES[domesticJurisdiction] : '',\n      jurisdictionOrder = createJurisdictionOrder(state.requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, state.needsDomesticJurisdictionData),\n      newPendingStates = _clone(pendingStates);\n\n    if (domesticJurisdiction) {\n      newPendingStates[domesticJurisdiction] = !hasFormation;\n    }\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      domJurNotReqJurs: { $set: domJurNotReqJurs },\n      email: { $set: '' },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      lastName: { $set: '' },\n      name: { $set: busDetailsLocked ? name : '' },\n      pendingStates: { $set: newPendingStates },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      step: { $set: data.nextStep || state.step },\n      saveData: { $set: null },\n      selfFile: { $set: null },\n      type: { $set: busDetailsLocked ? type : '' },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  // Reset step\n  processPFChooseHasFormation = (state, action, data) => {\n    const { pendingStates, foreignRegistration } = data,\n      {\n        busDetailsLocked,\n        domesticJurisdiction,\n        hasFormation,\n        name,\n        type\n      } = state,\n      newPendingStates = _clone(pendingStates);\n\n    newPendingStates[domesticJurisdiction] = !hasFormation;\n\n    return update(state, {\n      email: { $set: '' },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: foreignRegistration },\n      lastName: { $set: '' },\n      name: { $set: busDetailsLocked ? name : '' },\n      pendingStates: { $set: newPendingStates },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      saveData: { $set: null },\n      selfFile: { $set: null },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: busDetailsLocked ? type : '' }\n    });\n  },\n\n  processPFCreateOrderComplete = (state, action) => {\n    return update(state, {\n      step: { $set: action.error ? STEPS.PAYMENT : '' }\n    });\n  },\n\n  // Reset Step\n  processPFDomesticEntity = (state, action, data) => {\n    const { domesticEntity } = data,\n      {\n        busDetailsLocked,\n        hasFormation,\n        name,\n        needsDomesticJurisdictionData,\n        pendingStates,\n        requestedJurisdictions,\n        type,\n        upsellDomJur\n      } = state,\n      domesticJurisdiction = domesticEntity === true ? requestedJurisdictions[0] : '',\n      domesticJurisdictionName = domesticJurisdiction ? STATE_NAMES[domesticJurisdiction] : '',\n      jurisdictionOrder = createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData),\n      newPendingStates = domesticEntity ? { [domesticJurisdiction]: !hasFormation } : pendingStates;\n\n    return update(state, {\n      domesticEntity: { $set: domesticEntity },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      domJurNotReqJurs: { $set: null },\n      email: { $set: '' },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: null },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      lastName: { $set: '' },\n      name: { $set: busDetailsLocked ? name : '' },\n      pendingStates: { $set: newPendingStates },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      saveData: { $set: null },\n      selfFile: { $set: null },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: busDetailsLocked ? type : '' },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  processPFDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data,\n      {\n        hasFormation,\n        pendingStates\n      } = state,\n      domesticJurisdictionName = STATE_NAMES[domesticJurisdiction],\n      jurisdictionOrder = createJurisdictionOrder(state.requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, state.needsDomesticJurisdictionData),\n      newPendingStates = _clone(pendingStates);\n\n    newPendingStates[domesticJurisdiction] = !hasFormation;\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: domesticJurisdictionName },\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      pendingStates: { $set: newPendingStates },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFForeignQualFiling = (state, action, data) => {\n    const { foreignQualFiling } = data;\n\n    return update(state, {\n      foreignQualFiling: { $set: foreignQualFiling },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  // Reset step\n  processPFForeignRegistration = (state, action, data) => {\n    const { foreignRegistration } = data,\n      {\n        busDetailsLocked,\n        domesticJurisdiction,\n        hasFormation,\n        name,\n        pendingStates,\n        requestedJurisdictions,\n        type,\n        upsellDomJur\n      } = state,\n      newPendingStates = _reduce(requestedJurisdictions, (collect, jur) => {\n        if (_isUndefined(pendingStates[jur]) || pendingStates[jur] === null) {\n          if (jur === domesticJurisdiction) {\n            collect[jur] = false;\n          } else {\n            collect[jur] = !foreignRegistration;\n          }\n        } else {\n          collect[jur] = pendingStates[jur];\n        }\n        return collect;\n      }, {});\n\n    if (upsellDomJur) {\n      newPendingStates[domesticJurisdiction] = !hasFormation;\n    }\n    return update(state, {\n      email: { $set: '' },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: foreignRegistration },\n      lastName: { $set: '' },\n      name: { $set: busDetailsLocked ? name : '' },\n      phoneNumber: { $set: '' },\n      planLevel: { $set: '' },\n      pendingStates: { $set: newPendingStates },\n      saveData: { $set: null },\n      selfFile: { $set: null },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: busDetailsLocked ? type : '' }\n    });\n  },\n\n  processPFFormWithZen = (state, action, data) => {\n    const { formWithZen } = data;\n\n    return update(state, {\n      formWithZen: { $set: formWithZen },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  /*\n    Due to historical factors, both requestedJurisdiction and domesticJurisdiction in this call mean requestedJurisdiction.\n    However, requestedJurisdiction has priority.\n  */\n  processPFInit = (state, action, data) => {\n    const\n      {\n        formationOnParam = null,\n        idOnParam = '',\n        jurisdictionOnParam = '',\n        typeOnParam = ''\n      } = data,\n      jurisdiction = jurisdictionOnParam,\n      requestedJurisdictions = jurisdiction ? [ jurisdiction ] : [],\n      requestedJurisdictionNames = jurisdiction ? { [jurisdiction]: STATE_NAMES[jurisdiction] } : {},\n      pendingStates = jurisdiction ? { [jurisdiction]: null } : {};\n\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, {\n      formationOnParam,\n      hasFormation: formationOnParam,\n      idOnParam,\n      jurisdictionOnParam,\n      jurisdictionOrder: createJurisdictionOrder(requestedJurisdictions, '', false, false),\n      pendingStates,\n      requestedJurisdictions,\n      requestedJurisdictionNames,\n      requestedJurisdictionCount: requestedJurisdictions.length,\n      startFromInit: true,\n      step: STEPS.WELCOME,\n      typeOnParam\n    }));\n  },\n\n  // Reset step\n  processPFHasFormation = (state, action, data) => {\n    const { hasFormation } = data,\n      {\n        busDetailsLocked,\n        domesticJurisdiction,\n        jurisdictionOnParam,\n        needsDomesticJurisdictionData,\n        type\n      } = state,\n      jurisdiction = jurisdictionOnParam,\n      requestedJurisdictions = jurisdiction ? [ jurisdiction ] : [],\n      requestedJurisdictionCount = requestedJurisdictions.length,\n      requestedJurisdictionNames = jurisdiction ? { [jurisdiction]: STATE_NAMES[jurisdiction] } : {},\n      pendingStates = jurisdiction ? { [jurisdiction]: null } : {};\n\n    if (!busDetailsLocked) {\n      return update(state, {\n        domesticEntity: { $set: null },\n        domesticJurisdiction: { $set: '' },\n        domesticJurisdictionName: { $set: '' },\n        domJurNotReqJurs: { $set: null },\n        foreignReg: { $set: null },\n        foreignQualFiling: { $set: null },\n        formWithZen: { $set: null },\n        hasFormation: { $set: hasFormation },\n        jurisdictionOrder: { $set: createJurisdictionOrder(requestedJurisdictions, '', state.upsellDomJur, hasFormation) },\n        name: { $set: '' },\n        needsDomesticJurisdictionData: { $set: hasFormation }, // if business not formed yet, do not collect domestic jurisdiction. If it is, collect it.\n        pendingStates: { $set: pendingStates },\n        requestedJurisdictions: { $set: requestedJurisdictions },\n        requestedJurisdictionCount: { $set: requestedJurisdictionCount },\n        requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n        step: { $set: data.nextStep || state.step },\n        type: { $set: '' },\n        upsellDomJur: { $set: null }\n      });\n    }\n    return update(state, {\n      domesticEntity: { $set: null },\n      foreignReg: { $set: null },\n      foreignQualFiling: { $set: null },\n      formWithZen: { $set: null },\n      hasFormation: { $set: hasFormation },\n      jurisdictionOrder: createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, needsDomesticJurisdictionData),\n      pendingStates: { $set: pendingStates },\n      requestedJurisdictions: { $set: requestedJurisdictions },\n      requestedJurisdictionCount: { $set: requestedJurisdictionCount },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      step: { $set: data.nextStep || state.step },\n      type: { $set: type },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  processPFHowToFile = (state, action, data) => {\n    const { selfFile } = data;\n\n    if (selfFile === 'only-formed') {\n      const { pendingStates, requestedJurisdictions, domesticJurisdiction, needsDomesticJurisdictionData, upsellDomJur } = state,\n        newValues = _reduce(requestedJurisdictions, (collect, reqJur) => {\n          if (!pendingStates[reqJur]) {\n            collect.reqJurs.push(reqJur);\n            collect.pendingStates[reqJur] = false;\n          }\n          return collect;\n        }, { reqJurs: [], pendingStates: {} });\n\n      if (upsellDomJur && !pendingStates[domesticJurisdiction]) {\n        newValues.pendingStates[domesticJurisdiction] = false;\n      }\n      return update(state, {\n        jurisdictionOrder: { $set: createJurisdictionOrder(newValues.reqJurs, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData) },\n        pendingStates: { $set: newValues.pendingStates },\n        requestedJurisdictions: { $set: newValues.reqJurs },\n        requestedJurisdictionCount: { $set: newValues.reqJurs.count },\n        selfFile: { $set: selfFile },\n        step: { $set: data.nextStep }\n      });\n    }\n\n    return update(state, {\n      selfFile: { $set: selfFile },\n      step: { $set: data.nextStep }\n    });\n  },\n\n  processPFPlan = (state, action, data) => {\n    const { planLevel } = data;\n\n    return update(state, {\n      planLevel: { $set: planLevel },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processPFPrices = (state, action, data) => {\n    const { price, fees } = data;\n\n    return update(state, {\n      fees: { $set: fees },\n      price: { $set: price }\n    });\n  },\n\n  processPFRegisteredStatesFromCart = (state, action, data) => {\n    const { domesticJurisdiction, needsDomesticJurisdictionData, pendingStates, requestedJurisdictions, upsellDomJur } = state,\n      { registeredStates } = data,\n      newPendingStates = {},\n      newRequestedJurisdictions = [],\n      hasDomJur = registeredStates.indexOf(domesticJurisdiction) !== -1;\n\n    let newUpsellDomJur = upsellDomJur;\n\n    // Start by restoring all the unregistered states UNLESS one of them is now specified as registered\n    _forEach(requestedJurisdictions, (jur) => {\n      if (registeredStates.indexOf(jur) === -1) { // Not in registered states array\n        if (pendingStates[jur]) { // Is unregistered\n          newRequestedJurisdictions.push(jur);\n          newPendingStates[jur] = true;\n        }\n      }\n    });\n\n    // Now, process the registered states\n    _forEach(registeredStates, (jur) => {\n      newRequestedJurisdictions.push(jur);\n      newPendingStates[jur] = false;\n    });\n\n    // Next, check to see if the domestic jurisdiction is in the registered states\n    if (hasDomJur || (upsellDomJur && !hasDomJur)) {\n      newUpsellDomJur = false;\n    }\n\n    const requestedJurisdictionNames = _reduce(newRequestedJurisdictions, (names, reqJur) => {\n      names[reqJur] = STATE_NAMES[reqJur];\n      return names;\n    }, {});\n\n    return update(state, {\n      jurisdictionOrder: { $set: createJurisdictionOrder(newRequestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData) },\n      pendingStates: { $set: newPendingStates },\n      requestedJurisdictions: { $set: sortRequestedJurisdictions(newRequestedJurisdictions, requestedJurisdictionNames) },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      requestedJurisdictionCount: { $set: newRequestedJurisdictions.length },\n      upsellDomJur: { $set: newUpsellDomJur }\n    });\n  },\n\n  // Reset step\n  processPFRequestedJurisdictions = (state, action, data) => {\n    const\n      { requestedJurisdictions } = data,\n      {\n        busDetailsLocked,\n        domesticJurisdiction,\n        hasFormation,\n        needsDomesticJurisdictionData\n      } = state,\n      requestedJurisdictionNames = _reduce(requestedJurisdictions, (names, reqJur) => {\n        names[reqJur] = STATE_NAMES[reqJur];\n        return names;\n      }, {}),\n      pendingStates = _reduce(requestedJurisdictions, (collect, jur) => {\n        collect[jur] = hasFormation ? null : true;\n        return collect;\n      }, {});\n\n    if (!busDetailsLocked) {\n      return update(state, {\n        domesticEntity: { $set: null },\n        domesticJurisdiction: { $set: '' },\n        domesticJurisdictionName: { $set: '' },\n        domJurNotReqJurs: { $set: null },\n        foreignQualFiling: { $set: null },\n        foreignRegistration: { $set: null },\n        jurisdictionOrder: { $set: createJurisdictionOrder(requestedJurisdictions, '', false, false) },\n        name: { $set: '' },\n        pendingStates: { $set: pendingStates },\n        requestedJurisdictions: { $set: sortRequestedJurisdictions(requestedJurisdictions, requestedJurisdictionNames) },\n        requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n        requestedJurisdictionCount: { $set: requestedJurisdictions.length },\n        step: { $set: data.nextStep || state.step },\n        type: { $set: '' },\n        upsellDomJur: { $set: null }\n      });\n    }\n\n    // Existing domestic jurisdiction is in the requested array\n    if (_indexOf(requestedJurisdictions, domesticJurisdiction) !== -1) {\n      pendingStates[domesticJurisdiction] = false;\n    }\n\n    return update(state, {\n      domesticEntity: { $set: null },\n      domJurNotReqJurs: { $set: null },\n      foreignQualFiling: { $set: null },\n      foreignRegistration: { $set: null },\n      jurisdictionOrder: { $set: createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, state.upsellDomJur, needsDomesticJurisdictionData) },\n      pendingStates: { $set: pendingStates },\n      requestedJurisdictions: { $set: sortRequestedJurisdictions(requestedJurisdictions, requestedJurisdictionNames) },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      requestedJurisdictionCount: { $set: requestedJurisdictions.length },\n      step: { $set: data.nextStep || state.step },\n      upsellDomJur: { $set: null }\n    });\n  },\n\n  processPFUnregisteredStatesFromCart = (state, action, data) => {\n    const { domesticJurisdiction, needsDomesticJurisdictionData, pendingStates, requestedJurisdictions, upsellDomJur } = state,\n      { unregisteredStates } = data,\n      newPendingStates = {},\n      newRequestedJurisdictions = [],\n      hasDomJur = unregisteredStates.indexOf(domesticJurisdiction) !== -1;\n\n    let newUpsellDomJur = upsellDomJur;\n\n    // Start by restoring all the registered states UNLESS one of them is now specified as unregistered\n    _forEach(requestedJurisdictions, (jur) => {\n      if (unregisteredStates.indexOf(jur) === -1) { // Not in unregistered states array\n        if (!pendingStates[jur]) { // Is registered\n          newRequestedJurisdictions.push(jur);\n          newPendingStates[jur] = false;\n        }\n      }\n    });\n\n    // Now, process the registered states\n    _forEach(unregisteredStates, (jur) => {\n      newRequestedJurisdictions.push(jur);\n      newPendingStates[jur] = true;\n    });\n\n    if (hasDomJur || (upsellDomJur && !hasDomJur)) {\n      newUpsellDomJur = false;\n    }\n\n    const requestedJurisdictionNames = _reduce(newRequestedJurisdictions, (names, reqJur) => {\n      names[reqJur] = STATE_NAMES[reqJur];\n      return names;\n    }, {});\n\n    return update(state, {\n      jurisdictionOrder: { $set: createJurisdictionOrder(newRequestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData) },\n      pendingStates: { $set: newPendingStates },\n      requestedJurisdictions: { $set: sortRequestedJurisdictions(newRequestedJurisdictions, requestedJurisdictionNames) },\n      requestedJurisdictionNames: { $set: requestedJurisdictionNames },\n      requestedJurisdictionCount: { $set: newRequestedJurisdictions.length },\n      upsellDomJur: { $set: newUpsellDomJur }\n    });\n  },\n\n  processPFUpsellDomJur = (state, action, data) => {\n    const { upsellDomJur } = data,\n      { requestedJurisdictions, domesticJurisdiction, hasFormation, needsDomesticJurisdictionData, pendingStates } = state,\n      newPendingStates = _reduce(pendingStates, (collect, value, key) => {\n        if (key !== domesticJurisdiction) {\n          collect[key] = value;\n        }\n        return collect;\n      }, upsellDomJur ? { [domesticJurisdiction]: !hasFormation } : {}),\n      jurisdictionOrder = createJurisdictionOrder(requestedJurisdictions, domesticJurisdiction, upsellDomJur, needsDomesticJurisdictionData);\n\n    return update(state, {\n      jurisdictionOrder: { $set: jurisdictionOrder },\n      pendingStates: { $set: newPendingStates },\n      upsellDomJur: { $set: upsellDomJur },\n      step: { $set: data.nextStep || state.step }\n    });\n  },\n\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n\n    [REG_CORA_PF_ACTIONS.NEXT_STEP]: processNextStep,\n    [REG_CORA_PF_ACTIONS.ACCOWN_EMAIL]: processPFAccountOwnerEmail,\n    [REG_CORA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processPFAccountOwnerFirstName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_LAST_NAME]: processPFAccountOwnerLastName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_PHONE]: processPFAccountOwnerPhoneNumber,\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processPFBusinessId,\n    [REG_CORA_PF_ACTIONS.BUS_NAME]: processBusinessName,\n    [REG_CORA_PF_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REG_CORA_PF_ACTIONS.BUS_TYPE_NAME_CART]: processBusinessTypeAndName,\n    [REG_CORA_PF_ACTIONS.CART]: processNextStep,\n    [REG_CORA_PF_ACTIONS.CHECKPOINT]: processPFCheckpoint,\n    [REG_CORA_PF_ACTIONS.CHOOSE_DOM_JUR]: processPFChooseDomesticJurisdiction,\n    [REG_CORA_PF_ACTIONS.CHOOSE_HAS_FORMATION]: processPFChooseHasFormation,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processPFCreateOrderComplete,\n    [REG_CORA_PF_ACTIONS.DOM_ENTITY]: processPFDomesticEntity,\n    [REG_CORA_PF_ACTIONS.DOM_JUR]: processPFDomesticJurisdiction,\n    [REG_CORA_PF_ACTIONS.FOREIGN_QUAL_FILING]: processPFForeignQualFiling,\n    [REG_CORA_PF_ACTIONS.FOREIGN_REG]: processPFForeignRegistration,\n    [REG_CORA_PF_ACTIONS.FORM_WITH_ZEN]: processPFFormWithZen,\n    [REG_CORA_PF_ACTIONS.HAS_FORMATION]: processPFHasFormation,\n    [REG_CORA_PF_ACTIONS.HOW_TO_FILE]: processPFHowToFile,\n    [REG_CORA_PF_ACTIONS.INIT]: processPFInit,\n    [REG_CORA_PF_ACTIONS.PLAN]: processPFPlan,\n    [REG_CORA_PF_ACTIONS.PRICES]: processPFPrices,\n    [REG_CORA_PF_ACTIONS.REG_AGENT]: processNextStep,\n    [REG_CORA_PF_ACTIONS.REG_STATES_FROM_CART]: processPFRegisteredStatesFromCart,\n    [REG_CORA_PF_ACTIONS.REQ_JURS]: processPFRequestedJurisdictions,\n    [REG_CORA_PF_ACTIONS.UNREG_STATES_FROM_CART]: processPFUnregisteredStatesFromCart,\n    [REG_CORA_PF_ACTIONS.UPSELL_DOM_JUR]: processPFUpsellDomJur,\n    [REG_CORA_PF_ACTIONS.WELCOME]: processNextStep,\n\n    [COMP_CORA_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n    [COMP_CORA_ACTIONS.AUTH_SIG_MODAL]: processAuthorizedSignatory,\n    [COMP_CORA_ACTIONS.BUS_DESC]: processBusinessIndustry,\n    [COMP_CORA_ACTIONS.BUS_INFO_MODAL]: processBusinessIndustry,\n    [COMP_CORA_ACTIONS.CHOOSE_ELECTIVE_CEO]: processElectiveCEO,\n    [COMP_CORA_ACTIONS.CHOOSE_SOP_CONTACT]: processSOPContact,\n    [COMP_CORA_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [COMP_CORA_ACTIONS.ELECTIVE_CEO]: processElectiveCEO,\n    [COMP_CORA_ACTIONS.ELECTIVE_CEO_MODAL]: processElectiveCEO,\n    [COMP_CORA_ACTIONS.HAS_ELECTIVE_CEO]: processHasElectiveCEO,\n    [COMP_CORA_ACTIONS.SOP_CONTACT]: processSOPContact,\n    [COMP_CORA_ACTIONS.SOP_CONTACT_MODAL]: processSOPContact,\n    [COMP_CORA_ACTIONS.STATE_FILING]: processStateFiling,\n    [COMP_CORA_ACTIONS.STATE_FILING_MODAL]: processStateFiling,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nINITIAL_STATE.startStep = INITIAL_STATE.step;\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_corpdocs';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/corpdocs';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId } = data;\n\n    return update(state, {\n      companyId: { $set: companyId }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\n// Snapshotted slice for the order-task-derived flow-guard booleans the complete_corp flow engine\n// reads (it sees localStorage snapshots of registration.*, not the live `orders` slice).\nexport const storageKey = 'registration/corpStockFlow';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    hasVariableFee: false,\n    sharesCollected: false,\n    feePaid: false\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists so getFlowOrder snapshots pick it up\n    return newState;\n  },\n  processSetCorpStockFlow = (state, action, data) => {\n    const {\n      hasVariableFee = state.hasVariableFee,\n      sharesCollected = state.sharesCollected,\n      feePaid = state.feePaid\n    } = data;\n    return update(state, {\n      hasVariableFee: { $set: hasVariableFee },\n      sharesCollected: { $set: sharesCollected },\n      feePaid: { $set: feePaid }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [CORP_ACTIONS.SET_CORP_STOCK_FLOW]: processSetCorpStockFlow,\n    [REGISTRATION_ACTIONS.RESET]: resetAllData\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport _has from 'lodash/has';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as REG_ACCOUNT_ACTIONS } from '../../constants/register_account';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { isLoggedIn } from '../../utils/AuthService';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { identifyUser } from '../../utils/ReportingUtils';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/customer';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    id: '',\n    firstName: '',\n    middleName: '',\n    lastName: '',\n    suffix: '',\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    stateName: '',\n    zipCode: '',\n    country: '',\n    lat: 0,\n    lng: 0,\n    addressIsGoogle: false,\n    email: '',\n    phoneNumber: '',\n    citizenship: '',\n    dateOfBirth: '',\n    orderToken: '',\n    cardId: '',\n    cardToken: '',\n    cardNumber: '',\n    expYear: '',\n    expMonth: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    password: '',\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    identifyUser({\n      name: [ newState.firstName, newState.middleName, newState.lastName ].join(' '),\n      email: newState.email\n    });\n    return newState;\n  },\n  processName = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix } = data;\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) }\n    });\n  },\n  processContact = (state, action, data) => {\n    const { email, phoneNumber } = data,\n      id = state.email !== email ? '' : state.id;\n\n    return update(state, {\n      id: { $set: id },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processOwnerInformation = (state, action, data) => {\n    const { firstName, lastName, email, phoneNumber } = data;\n    const id = state.email !== email ? '' : state.id;\n    return update(state, {\n      id: { $set: id },\n      firstName: { $set: _trim(firstName) },\n      lastName: { $set: _trim(lastName) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processContactAndPassword = (state, action, data) => {\n    const { email, phoneNumber, password } = data,\n      id = state.email !== email ? '' : state.id;\n\n    return update(state, {\n      id: { $set: id },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      password: { $set: password }\n    });\n  },\n  processAccountOwnerData = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, email, phoneNumber } = data;\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processEmail = (state, action, data) => {\n    const { email } = data;\n\n    return update(state, {\n      email: { $set: email }\n    });\n  },\n  processFirstName = (state, action, data) => {\n    const { firstName } = data;\n\n    return update(state, {\n      firstName: { $set: firstName }\n    });\n  },\n  processLastName = (state, action, data) => {\n    const { lastName } = data;\n\n    return update(state, {\n      lastName: { $set: lastName }\n    });\n  },\n  processMiddleName = (state, action, data) => {\n    const { middleName } = data;\n\n    return update(state, {\n      middleName: { $set: middleName }\n    });\n  },\n  processPhone = (state, action, data) => {\n    const { phoneNumber } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber }\n    });\n  },\n  processSuffix = (state, action, data) => {\n    const { suffix } = data;\n\n    return update(state, {\n      suffix: { $set: suffix }\n    });\n  },\n  processResetData = (state, action, data) => {\n    const updateObj = {};\n    Object.entries(data).forEach((entry) => {\n      const [key, value] = entry;\n      if (_has(state, key)) {\n        updateObj[key] = { $set: value };\n      }\n    });\n    return update(state, updateObj);\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardToken, cardNumber, expMonth, expYear, cvc, brand, last4, email, password } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 },\n      email: { $set: email && state.email !== email  ? _trim(email) : state.email },\n      password: { $set: password && state.password !== password ? password : state.password  }\n    });\n  },\n  processCleanUpCardData = (state, action) => {\n    const { error } = action;\n    if (error) { return state; }\n    return update(state, {\n      cardId: { $set: '' },\n      cardToken: { $set: '' },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' },\n      brand: { $set: '' },\n      last4: { $set: '' }\n    });\n\n  },\n  processRemagineCart = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix, email, phoneNumber } = data;\n\n    return update(state, {\n      firstName: { $set: firstName },\n      middleName: { $set: middleName },\n      lastName: { $set: lastName },\n      suffix: { $set: suffix },\n      email: { $set: email },\n      phoneNumber: { $set: phoneNumber }\n    });\n  },\n  processAccountComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const\n      {\n        account_uuid: id,\n        account_email: email,\n        account_phone: phone,\n        first_name: firstName,\n        middle_name: middleName,\n        last_name: lastName,\n        suffix\n      } = data;\n\n    return update(state, {\n      id: { $set: id },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phone }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      orderArray = orderData.order_items || orderData,\n      formation = _find(orderArray, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      product = _find(orderArray, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'ein_creation' || service === 'business_license_report' || service === 'registered_agent_service' || service === 'worry_free_service';\n      }),\n      order = formation || product;\n\n    if (!order) {\n      return state;\n    }\n    const\n      { address, mailing_address: mailingAddress } = order,\n      addressTop = mailingAddress || address || order,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', country = 'US' } = addressTop,\n      stateName = '';\n\n    return update(state, {\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      stateName: { $set: stateName },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: _trim(country) },\n      lat: { $set: 0 },\n      lng: { $set: 0 },\n      addressIsGoogle: { $set: false }\n    });\n  },\n  processLogout = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processStart = (state, action, data) => {\n    const { firstName = '', middleName = '', lastName = '', suffix = '', email = '' } = data;\n\n    if (!isLoggedIn() && firstName) {\n      return update(state, {\n        firstName: { $set: _trim(firstName) },\n        middleName: { $set: _trim(middleName) },\n        lastName: { $set: _trim(lastName) },\n        suffix: { $set: _trim(suffix) },\n        email: { $set: _trim(email) }\n      });\n    }\n    return state;\n  },\n  resetAllData = (state) => {\n    const defaultData = !isLoggedIn() ? {} : {\n      id: state.id,\n      firstName: state.firstName,\n      middleName: state.middleName,\n      lastName: state.lastName,\n      suffix: state.suffix,\n      email: state.email,\n      phoneNumber: state.phoneNumber\n    };\n\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, defaultData));\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.ACCOWN_NAME]: processName,\n    [ACTIONS.ACCOWN_CONTACT]: processContact,\n    [ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.PURCHASE_SUCCESS]: resetAllData,\n    [ACTIONS.CREATE_ORDER_COMPLETE]: processCleanUpCardData,\n\n    [REG_ACCOUNT_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_ACCOUNT_ACTIONS.ACCOWN_CONTACT]: processContactAndPassword,\n\n    [REG_BLR_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_BLR_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_BLR_ACTIONS.PAYMENT]: processPayment,\n\n    [REG_CORA_PF_ACTIONS.ACCOWN_EMAIL]: processEmail,\n    [REG_CORA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processFirstName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_LAST_NAME]: processLastName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_MIDDLE_NAME]: processMiddleName,\n    [REG_CORA_PF_ACTIONS.ACCOWN_PHONE]: processPhone,\n    [REG_CORA_PF_ACTIONS.ACCOWN_SUFFIX]: processSuffix,\n    [REG_CORA_PF_ACTIONS.CART]: processRemagineCart,\n    [REG_CORA_PF_ACTIONS.INIT]: processStart,\n    [REG_CORA_PF_ACTIONS.PAYMENT]: processPayment,\n    [REG_CORA_PF_ACTIONS.RESET_DATA]: processResetData,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCleanUpCardData,\n\n    [REG_DBA_PF_ACTIONS.ACCOWN_FIRST_NAME]: processFirstName,\n    [REG_DBA_PF_ACTIONS.ACCOWN_LAST_NAME]: processLastName,\n    [REG_DBA_PF_ACTIONS.ACCOWN_EMAIL]: processEmail,\n    [REG_DBA_PF_ACTIONS.ACCOWN_PHONE]: processPhone,\n    [REG_DBA_PF_ACTIONS.PAYMENT]: processPayment,\n    [REG_DBA_PF_ACTIONS.CART]: processRemagineCart,\n    [REG_DBA_PF_ACTIONS.RESET_DATA]: processResetData,\n\n    [REG_EIN_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_EIN_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_EIN_ACTIONS.PAYMENT]: processPayment,\n\n    [REG_NAMERES_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_NAMERES_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: processOwnerInformation,\n    [REG_NAMERES_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_NAMERES_ACTIONS.PAYMENT]: processPayment,\n\n    [REG_NYPUB_ACTIONS.INIT]: processStart,\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_NYPUB_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_NYPUB_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_NYPUB_ACTIONS.PAYMENT]: processPayment,\n\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: processContact,\n    [REG_WFG_ACTIONS.ACCOWN_MODAL]: processAccountOwnerData,\n    [REG_WFG_ACTIONS.ACCOWN_NAME]: processName,\n    [REG_WFG_ACTIONS.INIT]: processStart,\n    [REG_WFG_ACTIONS.PAYMENT]: processPayment,\n\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_COMPLETE]: processAccountComplete,\n    [ACCOUNT_ACTIONS.SET_LOGOUT]: processLogout,\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport _has from 'lodash/has';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as COMPLETE_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as REGISTER_DBA_PF_ACTIONS, STEPS } from '../../constants/register_dbaentity_pf';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { DOM_JURS } from '../../constants/ui';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/dbaEntity';\n\nconst getStateName = (value) => {\n  const match = _find(DOM_JURS, (option) => {\n    return option.value === value;\n  });\n  return match ? match.label : '';\n};\n\nconst addNextStep = ({ nextStep }) => {\n  if (!nextStep) { return {}; }\n  return { step: { $set: nextStep } };\n};\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    authorizedSignatory: null,\n    inProgress: false,\n    status: 'incomplete',\n    companyId: '',\n    businessType: '',\n    businessName: '',\n    parentType: '',\n    county: '',\n    city: '',\n    skipRequestedJurisdiction: false,\n    requestedJurisdiction: '',\n    requestedJurisdictionName: '',\n    dbaEntities: [], // for add-on flow\n    dbaName: '', // for standalone flow\n    hasDBAComnpliance: null,\n    skipDBACompliance: false,\n    dbaCompliance: null,\n    skipEIN: null,\n    skipStaticWebsite: null,\n\n    spFirstName: '',\n    spMiddleName: '',\n    spLastName: '',\n    spSuffix: '',\n\n    businessDescription: '',\n    businessIndustry: '',\n    ownerCount: 0,\n    stateFilingDate: '',\n    stateFilingNumber: '',\n    domesticEntity: null,\n    domesticJurisdiction: '',\n    domesticJurisdictionName: '',\n    hasEIN: null,\n    ein: '',\n    cardToken: '',\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0,\n    // for pf flow\n    initCompanyId: '',\n    step: '',\n    startStep: '',\n    initialJurisdiction: '',\n    initialJurisdictionName: '',\n    isInitialJurSupported: null,\n    isTypeSupported: null,\n    formWithZB: null,\n    homeState: null,\n    formInHomeState: null,\n    saveData: null,\n    businessIsRegistered: null,\n    checkOtherDomJurs: null,\n    loggedInBusSelection: null,\n    registerDBAInSameState: null,\n    price: 0,\n    loggedInUserNumberOfBusinesses: 0,\n    simulatedCompanyId: '',\n    isRegisteringABusiness: null,\n    skipInititialDomJur: null,\n    useCompanyConfirmation: null,\n    isCompanyStateSupported: null,\n    companyHasForeignQualification: null,\n    confirmCompanyUsage: null,\n    confirmDomesticJurisdiction: null\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processStart = (state, action, data) => {\n    const {\n      requestedJurisdiction = null,\n      skipRequestedJurisdiction = false,\n      county = null,\n      city = null,\n      dbaCompliance = null,\n      skipDBACompliance = false,\n      skipEIN = false,\n      initialJurisdiction = '',\n      skipInititialDomJur = false,\n      initCompanyId = '',\n      useCompanyConfirmation = false,\n      skipStaticWebsite = false,\n      simulatedCompanyId = '',\n      isRegisteringABusiness = true,\n      loggedInUserNumberOfBusinesses = 0\n    } = data;\n    const initialJurisdictionName =  initialJurisdiction ? getStateName(initialJurisdiction)  : '';\n\n    return update(state, {\n      initCompanyId: { $set: initCompanyId },\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      skipRequestedJurisdiction: { $set: skipRequestedJurisdiction },\n      county: { $set: county },\n      city: { $set: city },\n      dbaCompliance: { $set: dbaCompliance },\n      skipDBACompliance: { $set: skipDBACompliance },\n      skipEIN: { $set: skipEIN },\n      skipStaticWebsite: { $set: skipStaticWebsite },\n      step: { $set: STEPS.WELCOME },\n      simulatedCompanyId: { $set: simulatedCompanyId },\n      isRegisteringABusiness: { $set: isRegisteringABusiness },\n      skipInititialDomJur: { $set: skipInititialDomJur },\n      useCompanyConfirmation: { $set: useCompanyConfirmation },\n      initialJurisdiction: { $set: initialJurisdiction },\n      initialJurisdictionName: { $set: initialJurisdictionName },\n      loggedInUserNumberOfBusinesses: { $set: loggedInUserNumberOfBusinesses }\n    });\n  },\n  processInitialJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction, isInitialJurSupported = null } = data;\n    const requestedJurisdictionName = getStateName(requestedJurisdiction);\n    return update(state, {\n      initialJurisdiction: { $set:requestedJurisdiction },\n      initialJurisdictionName: { $set:requestedJurisdictionName },\n      isInitialJurSupported: { $set: isInitialJurSupported },\n      requestedJurisdiction: { $set: isInitialJurSupported ? requestedJurisdiction : '' },\n      requestedJurisdictionName: { $set: isInitialJurSupported ? requestedJurisdictionName : '' },\n      ...addNextStep(data)\n    });\n  },\n  processPreDomesticJurisdiction  = (state, action, data) => {\n    const { domesticJurisdiction, county = '', city = '' } = data;\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: getStateName(domesticJurisdiction) },\n      county: { $set: county },\n      city: { $set: city },\n      ...addNextStep(data)\n    });\n  },\n  processPreDomesticJurConfirmation  = (state, action, data) => {\n    const { confirmDomesticJurisdiction } = data;\n\n    return update(state, {\n      confirmDomesticJurisdiction: { $set: confirmDomesticJurisdiction },\n      ...addNextStep(data)\n    });\n  },\n  processRequestedJurisdiction = (state, action, data) => {\n    const { requestedJurisdiction, county = '', city = '' } = data;\n\n    return update(state, {\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: getStateName(requestedJurisdiction) },\n      county: { $set: county },\n      city: { $set: city },\n      ...addNextStep(data)\n    });\n  },\n  processDBAName = (state, action, data) => {\n    const { dbaName } = data;\n\n    return update(state, {\n      dbaName: { $set: dbaName },\n      ...addNextStep(data)\n    });\n  },\n  processCheckpoint = (state, action, data) => {\n    const { saveData } = data;\n\n    return update(state, {\n      saveData: { $set: saveData },\n      ...addNextStep(data)\n    });\n  },\n  processBusRegistered = (state, action, data) => {\n    const { businessIsRegistered } = data;\n\n    return update(state, {\n      businessIsRegistered: { $set: businessIsRegistered },\n      ...addNextStep(data)\n    });\n  },\n  processPrice = (state, action, data) => {\n    const { price } = data;\n\n    return update(state, {\n      price: { $set: price },\n      ...addNextStep(data)\n    });\n  },\n  processCheckOtherDomJurs = (state, action, data) => {\n    const { checkOtherDomJurs } = data;\n\n    return update(state, {\n      checkOtherDomJurs: { $set: checkOtherDomJurs },\n      ...addNextStep(data)\n    });\n  },\n  processTypeAndBusinessName = (state, action, data) => {\n    const { name, type } = data;\n\n    return update(state, {\n      businessName: { $set: name },\n      businessType: { $set: type },\n      ...addNextStep(data)\n    });\n  },\n  processBusinessName = (state, action, data) => {\n    const { businessName, name } = data;\n\n    return update(state, {\n      businessName: { $set: businessName || name },\n      ...addNextStep(data)\n    });\n  },\n  processFormWithZB = (state, action, data) => {\n    return update(state, {\n      formWithZB: { $set: data.formWithZB },\n      ...addNextStep(data)\n    });\n  },\n  processHomeState = (state, action, data) => {\n    const { homeState } = data;\n    const domesticJur = homeState ? state.requestedJurisdiction : '';\n    const domesticJurName = homeState ? state.requestedJurisdictionName : '';\n    return update(state, {\n      homeState: { $set: homeState },\n      domesticJurisdiction: { $set: domesticJur },\n      domesticJurisdictionName: { $set: domesticJurName },\n      ...addNextStep(data)\n    });\n  },\n  processFormInHomeState = (state, action, data) => {\n    const { formInHomeState } = data;\n    const forExistingBusiness = {};\n    if (!state.isRegisteringABusiness) {\n      forExistingBusiness.domesticJurisdiction = { $set : formInHomeState ? state.requestedJurisdiction : '' };\n      forExistingBusiness.domesticJurisdictionName = { $set: formInHomeState ? state.requestedJurisdictionName : '' };\n    }\n    return update(state, {\n      formInHomeState: { $set: formInHomeState },\n      ...forExistingBusiness,\n      ...addNextStep(data)\n    });\n  },\n  processBusinessType = (state, action, data) => {\n    const { businessType, isTypeSupported = null } = data;\n\n    if (businessType !== 'SOLE') {\n      return update(state, {\n        businessType: { $set: businessType },\n        spFirstName: { $set: '' },\n        spMiddleName: { $set: '' },\n        spLastName: { $set: '' },\n        spSuffix: { $set: '' },\n        isTypeSupported: { $set: isTypeSupported },\n        ...addNextStep(data)\n      });\n    }\n    return update(state, {\n      businessType: { $set: businessType },\n      isTypeSupported: { $set: isTypeSupported },\n      ...addNextStep(data)\n    });\n  },\n  processDBAInSameState = (state, action, data) => {\n    const { registerDBAInSameState } = data;\n    const jur = registerDBAInSameState ? state.requestedJurisdiction : '';\n    const jurName = registerDBAInSameState ? state.requestedJurisdictionName : '';\n    return update(state, {\n      registerDBAInSameState: { $set: registerDBAInSameState },\n      domesticJurisdiction: { $set: jur },\n      domesticJurisdictionName: { $set: jurName },\n      ...addNextStep(data)\n    });\n\n  },\n  processCompanyId = (state, action, data) => {\n    const { companyId, name, businessType, requestedJurisdiction = '', county = '', city = '', isCompanyStateSupported = null } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      businessName: { $set: name },\n      businessType: { $set: businessType },\n      requestedJurisdiction: { $set: requestedJurisdiction },\n      requestedJurisdictionName: { $set: getStateName(requestedJurisdiction) },\n      initialJurisdiction: { $set: requestedJurisdiction },\n      initialJurisdictionName: { $set: getStateName(requestedJurisdiction) },\n      county: { $set: county },\n      city: { $set: city },\n      isRegisteringABusiness: { $set: !companyId },\n      isCompanyStateSupported: {  $set: isCompanyStateSupported },\n      ...addNextStep(data)\n    });\n  },\n  processBusSelection = (state, action, data) => {\n    return update(state, {\n      loggedInBusSelection: { $set: data.loggedInBusSelection },\n      ...addNextStep(data)\n    });\n  },\n  processCreateOrderComplete = (state, action) => {\n    const createCompleteSuccess = {};\n    if (!action.error) {\n      createCompleteSuccess.requestedJurisdiction = { $set: state.domesticJurisdiction };\n      createCompleteSuccess.requestedJurisdictionName = { $set: getStateName(state.domesticJurisdiction) };\n    }\n    return update(state, {\n      step: { $set: action.error ? STEPS.PAYMENT : '' },\n      ...createCompleteSuccess\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, dbaCompliance, cardToken } = data;\n\n    return update(state, {\n      dbaCompliance: { $set: dbaCompliance },\n      cardToken: { $set: cardToken },\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      ...addNextStep(data)\n    });\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id, cardToken } = data;\n    return update(state, {\n      cardToken: { $set: cardToken },\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processBusinessDescription = (state, action, data) => {\n    const { businessDescription, businessIndustry } = data;\n\n    return update(state, {\n      businessDescription: { $set: businessDescription },\n      businessIndustry: { $set: businessIndustry }\n    });\n  },\n  processOwnerCount = (state, action, data) => {\n    const { ownerCount } = data;\n\n    return update(state, {\n      ownerCount: { $set: ownerCount }\n    });\n  },\n  processStateFiling = (state, action, data) => {\n    const { stateFilingDate, stateFilingNumber } = data;\n\n    return update(state, {\n      stateFilingDate: { $set: stateFilingDate },\n      stateFilingNumber: { $set: stateFilingNumber }\n    });\n  },\n  processDomesticEntity = (state, action, data) => {\n    const { domesticEntity, requestedJurisdiction } = data;\n\n    if (domesticEntity) {\n      return update(state, {\n        domesticEntity: { $set: domesticEntity },\n        domesticJurisdiction: { $set: requestedJurisdiction },\n        requestedJurisdictionName: { $set: getStateName(requestedJurisdiction) }\n      });\n    }\n    return update(state, {\n      domesticEntity: { $set: domesticEntity }\n    });\n  },\n  processDomesticJurisdiction = (state, action, data) => {\n    const { domesticJurisdiction } = data;\n\n    return update(state, {\n      domesticJurisdiction: { $set: domesticJurisdiction }\n    });\n  },\n  processHasEIN = (state, action, data) => {\n    const { hasEIN } = data;\n\n    if (!hasEIN) {\n      return update(state, {\n        ein: { $set: '' },\n        hasEIN: { $set: hasEIN }\n      });\n    }\n    return update(state, {\n      hasEIN: { $set: hasEIN }\n    });\n  },\n  processEIN = (state, action, data) => {\n    const { ein } = data;\n\n    return update(state, {\n      ein: { $set: ein }\n    });\n  },\n  processBusinessModal = (state, action, data) => {\n    const\n      { businessIndustry, businessDescription } = data,\n      changes = {\n        businessIndustry: { $set: businessIndustry },\n        businessDescription: { $set: businessDescription }\n      };\n\n    return update(state, changes);\n  },\n  processRegistrationModal = (state, action, data) => {\n    const { stateFilingDate, stateFilingNumber, hasEIN, ein } = data;\n\n    return update(state, {\n      stateFilingDate: { $set: stateFilingDate },\n      stateFilingNumber: { $set: stateFilingNumber },\n      hasEIN: { $set: hasEIN },\n      ein: { $set: ein }\n    });\n  },\n  processStatus = (state, action, data) => {\n    const { status } = data;\n\n    return update(state, {\n      status: { $set: status || 'incomplete' }\n    });\n  },\n  processUser = (key, state, data, includeTitle) => {\n    const\n      {\n        isPrincipal = false,\n        title = '',\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = ''\n      } = data || {};\n\n    if (state[key] === null) {\n      const contact = {\n        isPrincipal,\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber\n      };\n      if (includeTitle) {\n        contact.title = _trim(title);\n      }\n\n      return update(state, {\n        [key]: { $set: contact }\n      });\n    }\n\n    const updates = {\n      isPrincipal: { $set: isPrincipal },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: suffix },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      state: { $set: addrState },\n      zipCode: { $set: zipCode },\n      country: { $set: _trim(country) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phoneNumber }\n    };\n    if (includeTitle) {\n      updates.title = { $set: _trim(title) };\n    }\n    return update(state, {\n      [key]: updates\n    });\n  },\n  processAuthorizedSignatory = (state, action, data) => {\n    return processUser('authorizedSignatory', state, data, true);\n  },\n\n    // Calls to middleware\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData, business_entity_uuid: companyId } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const service = _get(o, 'service', '');\n        return service === 'dba_entity';\n      }),\n      dbaComplianceOrder = _find(orderData, (o) => {\n        const service = _get(o, 'service', '');\n        return service === 'dba_compliance';\n      }),\n      dbaCompliance = !!dbaComplianceOrder;\n\n    if (!order) {\n      return state;\n    }\n    const\n      {\n        entity_type: entityType,\n        parent_type: parentType,\n        county,\n        city,\n        jurisdiction: requestedJurisdiction,\n        dba_name: dbaName,\n        business_purpose: businessDescription,\n        business_industry: businessIndustry,\n        owner_count: ownerCount,\n        jurisdiction_filing_date: stateFilingDate,\n        jurisdiction_filing_number: stateFilingNumber,\n        domestic_entity: domesticEntity,\n        domestic_jurisdiction: domesticJurisdiction,\n        authorized_signatory: authorizedSignatory,\n        has_ein: hasEIN,\n        sole_proprietor: soleProprietor = {},\n        ein\n      } = order,\n      // API-934: slim order_data nests entity_name under create_data\n      businessName = _get(order, 'entity_name', null) || _get(order, 'create_data.entity_name', null),\n      corpProdType = entityType === 'corp' ? 'CORP' : '',\n      llcProdType = entityType === 'llc' ? 'LLCX' : '',\n      solePropType = entityType === 'sole_prop' ? 'SOLE' : '',\n      businessType = corpProdType || llcProdType || solePropType,\n      {\n        first_name: spFirstName = '',\n        middle_name: spMiddleName = '',\n        last_name: spLastName = '',\n        suffix: spSuffix = ''\n      } = soleProprietor;\n\n    let authSignatory = null;\n    if (authorizedSignatory) {\n      const {\n        first_name: firstName = '',\n        middle_name: middleName = '',\n        last_name: lastName = '',\n        suffix = '',\n        company_name: companyName = '',\n        title = '',\n        email = '',\n        phone: phoneNumber = '',\n        address_1: addressLine1 = '',\n        address_2: addressLine2 = '',\n        city: authCity = '',\n        county: authCounty = '',\n        state: addrState = '',\n        zip: zipCode = '',\n        country = 'US',\n        is_principal: isPrincipal = false\n      } = authorizedSignatory;\n\n      authSignatory = {\n        firstName,\n        middleName,\n        lastName,\n        suffix,\n        companyName,\n        title,\n        email,\n        phoneNumber,\n        addressLine1,\n        addressLine2,\n        city: authCity,\n        county: authCounty,\n        state: addrState,\n        zipCode,\n        country,\n        isPrincipal\n      };\n    }\n\n    return update(state, {\n      status: { $set: 'incomplete' },\n      authorizedSignatory: { $set: authSignatory },\n      companyId: { $set: companyId },\n      businessType: { $set: _trim(businessType) },\n      businessName: { $set: _trim(businessName) },\n      parentType: { $set: _trim(parentType) },\n      requestedJurisdiction: { $set: _trim(requestedJurisdiction) },\n      requestedJurisdictionName: { $set: getStateName(requestedJurisdiction) },\n      county: { $set: _trim(county) },\n      city: { $set: _trim(city) },\n      dbaName: { $set: dbaName },\n      dbaCompliance: { $set: dbaCompliance },\n      businessDescription: { $set: _trim(businessDescription) },\n      businessIndustry: { $set: _trim(businessIndustry) },\n      ownerCount: { $set: ownerCount },\n      stateFilingDate: { $set: stateFilingDate },\n      stateFilingNumber: { $set: stateFilingNumber },\n      domesticEntity: { $set: domesticEntity },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      domesticJurisdictionName: { $set: getStateName(domesticJurisdiction) },\n      hasEIN: { $set: hasEIN },\n      ein: { $set: ein },\n      spFirstName: { $set: spFirstName },\n      spMiddleName: { $set: spMiddleName },\n      spLastName: { $set: spLastName },\n      spSuffix: { $set: spSuffix }\n    });\n  },\n  processNextStep = (state, action, data) => {\n    return update(state, {\n      step: { $set: data.nextStep }\n    });\n  },\n  procesBusUsageConfirmation = (state, action, data) => {\n    return update(state, {\n      confirmCompanyUsage: { $set: data.confirmCompanyUsage },\n      ...addNextStep(data)\n    });\n  },\n  processForeignQualification = (state, action, data) => {\n    return update(state, {\n      companyHasForeignQualification: { $set: data.companyHasForeignQualification },\n      ...addNextStep(data)\n    });\n  },\n  processResetData = (state, action, data) => {\n    const updateObj = {};\n    Object.entries(data).forEach((entry) => {\n      const [key, value] = entry;\n      if (_has(state, key)) {\n        updateObj[key] = { $set: value };\n      }\n    });\n    return update(state, updateObj);\n  },\n  processMap = {\n    [REGISTER_DBA_PF_ACTIONS.INIT]: processStart,\n    [REGISTER_DBA_PF_ACTIONS.NEXT_STEP]: processNextStep,\n    [REGISTER_DBA_PF_ACTIONS.DBA_NAME]: processDBAName,\n    [REGISTER_DBA_PF_ACTIONS.DOMESTIC_JUR]: processPreDomesticJurisdiction,\n    [REGISTER_DBA_PF_ACTIONS.DOMESTIC_JUR_CONFIRMATION]: processPreDomesticJurConfirmation,\n    [REGISTER_DBA_PF_ACTIONS.REQ_JUR]: processRequestedJurisdiction,\n    [REGISTER_DBA_PF_ACTIONS.INIT_REQ_JUR]: processInitialJurisdiction,\n    [REGISTER_DBA_PF_ACTIONS.BUS_TYPE]: processBusinessType,\n    [REGISTER_DBA_PF_ACTIONS.BUS_TYPE_NOT_FORMED]: processFormWithZB,\n    [REGISTER_DBA_PF_ACTIONS.HOME_STATE]: processHomeState,\n    [REGISTER_DBA_PF_ACTIONS.FORM_IN_HOME_STATE]: processFormInHomeState,\n    [REGISTER_DBA_PF_ACTIONS.BUS_NAME]: processBusinessName,\n    [REGISTER_DBA_PF_ACTIONS.CHECKPOINT]: processCheckpoint,\n    [REGISTER_DBA_PF_ACTIONS.BUS_REGISTERED]: processBusRegistered,\n    [REGISTER_DBA_PF_ACTIONS.CHECK_OTHER_JURS]: processCheckOtherDomJurs,\n    [REGISTER_DBA_PF_ACTIONS.PRICES]: processPrice,\n    [REGISTER_DBA_PF_ACTIONS.BUS_TYPE_NAME_CART]: processTypeAndBusinessName,\n    [REGISTER_DBA_PF_ACTIONS.PAYMENT]: processPayment,\n    [REGISTER_DBA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REGISTER_DBA_PF_ACTIONS.BUS_SELECTION]: processBusSelection,\n    [REGISTER_DBA_PF_ACTIONS.BUS_ID]: processCompanyId,\n    [REGISTER_DBA_PF_ACTIONS.DBA_IN_SAME_STATE]: processDBAInSameState,\n    [REGISTER_DBA_PF_ACTIONS.RESET_DATA]: processResetData,\n    [REGISTER_DBA_PF_ACTIONS.BUS_HAS_FOREIGN_QUALIFICATION]: processForeignQualification,\n    [REGISTER_DBA_PF_ACTIONS.BUS_USAGE_CONFIRM]: procesBusUsageConfirmation,\n\n    [COMPLETE_ACTIONS.BUS_MODAL]: processBusinessModal,\n    [COMPLETE_ACTIONS.BUS_DESC]: processBusinessDescription,\n    [COMPLETE_ACTIONS.DATA_CONFIRM]: processStatus,\n    [COMPLETE_ACTIONS.DBA_MODAL]: processDBAName,\n    [COMPLETE_ACTIONS.DOM_ENTITY]: processDomesticEntity,\n    [COMPLETE_ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [COMPLETE_ACTIONS.EIN]: processEIN,\n    [COMPLETE_ACTIONS.HAS_EIN]: processHasEIN,\n    [COMPLETE_ACTIONS.OWNER_COUNT]: processOwnerCount,\n    [COMPLETE_ACTIONS.OWNER_DATA]: processOwnerCount,\n    [COMPLETE_ACTIONS.REG_MODAL]: processRegistrationModal,\n    [COMPLETE_ACTIONS.STATE_FILING]: processStateFiling,\n    [COMPLETE_ACTIONS.AUTH_SIG]: processAuthorizedSignatory,\n    [COMPLETE_ACTIONS.AUTH_SIG_MODAL]: processAuthorizedSignatory,\n\n    [COMP_EIN_ACTIONS.DATA_DBA_CONFIRM]: processStatus,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment,\n\n    [REGISTRATION_ACTIONS.INIT]: resetAllData,\n    [REGISTRATION_ACTIONS.PURCH_PLAN]: resetAllData,\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nINITIAL_STATE.startStep = INITIAL_STATE.step;\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _cloneDeep from 'lodash/cloneDeep';\nimport _find from 'lodash/find';\nimport _findIndex from 'lodash/findIndex';\nimport _get from 'lodash/get';\nimport _isString from 'lodash/isString';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport _without from 'lodash/without';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport { ASST_SEC, PRES, SEC, TRSR, VP, TITLE_INDEXES } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/directors';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    directors: [],\n    directorCount: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  getNextId = (state) => {\n    const { directors } = state;\n\n    return _reduce(directors, (value, director) => {\n      const newValue = parseInt(director.id.substring(4), 10);\n      return value < newValue ? newValue : value;\n    }, -1) + 1;\n  },\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  removeTitle = (oldTitle, title) => {\n    const values = oldTitle.split(',');\n    return _trim(_without(values, title).join());\n  },\n  addTitle = (oldTitle, title) => {\n    const values = _without(oldTitle.split(','), title);\n    if (values.length === 1 && !values[0]) {\n      values.shift();\n    }\n    const titleIndex = TITLE_INDEXES[title];\n    if (titleIndex < values.length) {\n      values.splice(titleIndex, 0, title);\n    } else {\n      values.push(title);\n    }\n    return _trim(values.join());\n  },\n  fixupTitle = (state, id, title) => {\n    const { directors } = state,\n      titleIndex = _findIndex(directors, (director) => {\n        return director.title.split(',').indexOf(title) !== -1;\n      }),\n      idIndex = _findIndex(directors, (director) => {\n        return director.id === id;\n      });\n\n    if (idIndex !== titleIndex) {\n      if (idIndex >= 0 && titleIndex >= 0) {\n        return update(state, {\n          directors: {\n            [idIndex]: {\n              title: { $set: addTitle(directors[idIndex].title, title) }\n            },\n            [titleIndex]: {\n              title: { $set: removeTitle(directors[titleIndex].title, title) }\n            }\n          }\n        });\n      }\n      if (idIndex >= 0) {\n        return update(state, {\n          directors: {\n            [idIndex]: {\n              title: { $set: addTitle(directors[idIndex].title, title) }\n            }\n          }\n        });\n      }\n      if (titleIndex >= 0) {\n        return update(state, {\n          directors: {\n            [titleIndex]: {\n              title: { $set: removeTitle(directors[titleIndex].title, title) }\n            }\n          }\n        });\n      }\n    }\n    return state;\n  },\n  processAsstSecretary = (state) => {\n    return fixupTitle(state, '', ASST_SEC);\n  },\n  processChooseAsstSecretary = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, ASST_SEC);\n    }\n    return state;\n  },\n  processChoosePresident = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, PRES);\n    }\n    return state;\n  },\n  processChooseSecretary = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, SEC);\n    }\n    return state;\n  },\n  processChooseTreasurer = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, TRSR);\n    }\n    return state;\n  },\n  processChooseVicePresident = (state, action, data) => {\n    if (data.id) {\n      return fixupTitle(state, data.id, VP);\n    }\n    return state;\n  },\n  processHasAsstSecretary = (state, action, data) => {\n    const { hasAsstSecretary } = data;\n    if (!hasAsstSecretary) {\n      return update(fixupTitle(state, '', ASST_SEC), {\n        hasAsstSecretary: { $set: false }\n      });\n    }\n    return update(state, {\n      hasAsstSecretary: { $set: true }\n    });\n  },\n  processHasVicePresident = (state, action, data) => {\n    const { hasVicePresident } = data;\n    if (!hasVicePresident) {\n      return update(fixupTitle(state, '', VP), {\n        hasVicePresident: { $set: false }\n      });\n    }\n    return update(state, {\n      hasVicePresident: { $set: true }\n    });\n  },\n  processPresident = (state) => {\n    return fixupTitle(state, '', PRES);\n  },\n  processSecretary = (state) => {\n    return fixupTitle(state, '', SEC);\n  },\n  processTreasurer = (state) => {\n    return fixupTitle(state, '', TRSR);\n  },\n  processVicePresident = (state) => {\n    return fixupTitle(state, '', VP);\n  },\n  processDirectorCount = (state, action, data) => {\n    const { directorCount } = data;\n\n    return update(state, {\n      directorCount: { $set: directorCount }\n    });\n  },\n  processDirectorList = (state, action, data) => {\n    const { directors } = data;\n    let nextId = getNextId(state);\n\n    return update(state, {\n      directorCount: { $set: directors.length },\n      directors: { $set: _map(directors, (director) => {\n        if (!director.id) {\n          director.id = `dir-${nextId}`;\n          nextId += 1;\n        }\n        return _reduce(director, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) }\n    });\n  },\n  processOfficerListModal = (state, action, data) => {\n    const { presidentId, vicePresidentId, treasurerId, secretaryId, asstSecretaryId } = data;\n\n    let retVal = state;\n    retVal = fixupTitle(retVal, presidentId, PRES);\n    retVal = fixupTitle(retVal, vicePresidentId, VP);\n    retVal = fixupTitle(retVal, treasurerId, TRSR);\n    retVal = fixupTitle(retVal, secretaryId, SEC);\n    retVal = fixupTitle(retVal, asstSecretaryId, ASST_SEC);\n\n    return retVal;\n  },\n  processDBAOwnerList = (state, action, data) => {\n    const { businessType, owners } = data;\n\n    if (businessType !== 'CORP') {\n      return state;\n    }\n    let nextId = getNextId(state);\n\n    return update(state, {\n      directors: { $set: _map(owners, (director) => {\n        if (!director.id) {\n          director.id = `dir-${nextId}`;\n          nextId += 1;\n        }\n        return _reduce(director, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) },\n      directorCount: { $set: owners ? owners.length : 0 }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const\n      { directors } = data;\n\n    if (directors) {\n      return processDirectorList(state, action, { directors: _cloneDeep(directors) });\n    }\n    return update(state, {\n      directors: { $set: [] }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const dirs = _get(o, 'directors', null);\n        // GROWTH-3647 Fix 2: an empty [] passes the old `!== null` check and unconditionally\n        // wipes entered directors. Only select an order entry when it actually carries directors.\n        return Array.isArray(dirs) && dirs.length > 0;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { directors = [], director_count: directorCount = null } = order,\n      convertedDirectors = _map(directors, (director, index) => {\n        const\n          id = `dir-${index + 1}`,\n          { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = director,\n          { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US', email = '', phone: phoneNumber = '', outstanding_judgments: outstandingJudgments = null } = director;\n\n        return { id, firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country, email, phoneNumber, title, outstandingJudgments };\n      });\n\n    return update(state, {\n      directors: { $set: convertedDirectors },\n      directorCount: { $set: directorCount === null ? directors.length : directorCount }\n    });\n  },\n  processUpdateDirector = (state, action, data) => {\n    const { directors = [] } = state;\n    const { arrayIndex, email, phoneNumber } = data;\n    const updatedDirectors = _cloneDeep(directors);\n    const { email: mEmail, phoneNumber: mPhoneNumber } = updatedDirectors[arrayIndex];\n    if (phoneNumber !== mPhoneNumber || email !== mEmail ) {\n      updatedDirectors[arrayIndex] = {\n        ...updatedDirectors[arrayIndex],\n        phoneNumber,\n        email\n      };\n      return update(state, {\n        directors: { $set: updatedDirectors }\n      });\n    }\n    return state;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [CORP_ACTIONS.ASST_SEC]: processAsstSecretary,\n    [CORP_ACTIONS.CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [CORP_ACTIONS.CHOOSE_PRES]: processChoosePresident,\n    [CORP_ACTIONS.CHOOSE_SEC]: processChooseSecretary,\n    [CORP_ACTIONS.CHOOSE_TRSR]: processChooseTreasurer,\n    [CORP_ACTIONS.CHOOSE_VP]: processChooseVicePresident,\n    [CORP_ACTIONS.DIR_COUNT]: processDirectorCount,\n    [CORP_ACTIONS.DIR_LIST]: processDirectorList,\n    [CORP_ACTIONS.HAS_ASST_SEC]: processHasAsstSecretary,\n    [CORP_ACTIONS.HAS_VP]: processHasVicePresident,\n    [CORP_ACTIONS.PRES]: processPresident,\n    [CORP_ACTIONS.SEC]: processSecretary,\n    [CORP_ACTIONS.TRSR]: processTreasurer,\n    [CORP_ACTIONS.VP]: processVicePresident,\n    [CORP_ACTIONS.UPDATE_DIR]: processUpdateDirector,\n\n    [COMP_BLR_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_BLR_ACTIONS.CORP_DIR_COUNT]: processDirectorCount,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST]: processDirectorList,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST_MODAL]: processDirectorList,\n    [COMP_BLR_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_BLR_ACTIONS.CORP_OFF_LIST_MODAL]: processOfficerListModal,\n    [COMP_BLR_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_BLR_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_BLR_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_BLR_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_BLR_ACTIONS.UPDATE_DIR]: processUpdateDirector,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_COUNT]: processDirectorCount,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_LIST]: processDirectorList,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_BUSINESS_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_BUSINESS_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_BUSINESS_ACTIONS.UPDATE_DIR]: processUpdateDirector,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_CORA_ACTIONS.CORP_DIR_COUNT]: processDirectorCount,\n    [COMP_CORA_ACTIONS.CORP_DIR_LIST]: processDirectorList,\n    [COMP_CORA_ACTIONS.CORP_DIR_LIST_MODAL]: processDirectorList,\n    [COMP_CORA_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_CORA_ACTIONS.CORP_OFF_LIST_MODAL]: processOfficerListModal,\n    [COMP_CORA_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_CORA_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_CORA_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_CORA_ACTIONS.CORP_VP]: processVicePresident,\n\n    [COMP_DBA_ACTIONS.OWNERS]: processDBAOwnerList,\n    [COMP_DBA_ACTIONS.OWNER_MODAL]: processDBAOwnerList,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_WFG_ACTIONS.CORP_DIR_COUNT]: processDirectorCount,\n    [COMP_WFG_ACTIONS.CORP_DIR_LIST]: processDirectorList,\n    [COMP_WFG_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_WFG_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_WFG_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_WFG_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_WFG_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_WFG_ACTIONS.UPDATE_DIR]: processUpdateDirector,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_DOMAINPRIVACY_ACTIONS } from '../../constants/register_domainprivacy';\nimport { ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/domainName';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    companyId: '',\n    companyCount: 0,\n    primary: '',\n    alternates: [],\n    domainNameSearch: '',\n    domainNames: [],\n    emailAddresses: [],\n    verified: false,\n    skip: false,\n    emailUserName: '',\n    emailSkip: false,\n    emailInPlan: false,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, domainName = '' } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      primary: { $set: domainName || state.primary }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      domainName = '',\n      emailInPlan = false,\n      domainNameSearch = '',\n      domainNames = [],\n      emailAddresses = []\n    } = data;\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      primary: { $set: domainName },\n      emailInPlan: { $set: emailInPlan },\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      emailAddresses: { $set: emailAddresses },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processPrimary = (state, action, data) => {\n    const { primary, skip, verified } = data;\n    return update(state, {\n      primary: { $set: primary },\n      verified: { $set: verified },\n      skip: { $set: skip },\n      emailUserName: { $set: skip ? '' : state.emailUserName },\n      emailSkip: { $set: skip ? true : state.emailSkip }\n    });\n  },\n  processDomainNames = (state, action, data) => {\n    const { domainNameSearch, domainNames, skip } = data;\n    return update(state, {\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      skip: { $set: skip }\n    });\n  },\n  processDomainName = (state, action, data) => {\n    const { domainName } = data;\n    return update(state, {\n      primary: { $set: domainName }\n    });\n  },\n  processEmail = (state, action, data) => {\n    const { emailUserName, skip } = data;\n    return update(state, {\n      emailUserName: { $set: emailUserName },\n      emailSkip: { $set: skip }\n    });\n  },\n  processEmailAddresses = (state, action, data) => {\n    const { emailAddresses } = data;\n    return update(state, {\n      emailAddresses: { $set: emailAddresses }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      domainNameOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'domain_name_reg';\n      }),\n      emailOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'basic_email';\n      });\n\n    if (!domainNameOrder) {\n      return state;\n    }\n    const\n      {\n        primary = '',\n        alternates = [],\n        domain_verified: verified = true,\n        skip = false\n      } = domainNameOrder,\n      {\n        email_address: emailUserName = '',\n        skip: emailSkip = false\n      } = emailOrder || {};\n\n    return update(state, {\n      primary: { $set: primary },\n      verified: { $set: verified },\n      alternates: { $set: alternates },\n      skip: { $set: skip },\n      emailUserName: { $set: emailUserName },\n      emailSkip: { $set: emailSkip }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processRegistrationInit = (state, action, data) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, {\n      ...INITIAL_STATE_DEFAULT,\n      primary: data.domainName || '',\n      domainSearch: data.domainSearch || '',\n      selectedDomainNames: data.domainNames || [],\n      selectedEmailAddresses: data.emailAddresses || []\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.DOMAIN_NAME]: processPrimary,\n    [ACTIONS.DOMAIN_NAMES]: processDomainNames,\n    [ACTIONS.EMAIL_ADDRESS]: processEmail,\n    [ACTIONS.EMAIL_ADDRESSES]: processEmailAddresses,\n    [ACTIONS.EMAIL_ADDRESS_MODAL]: processEmail,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [REG_BASICEMAIL_ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [REG_BASICEMAIL_ACTIONS.COMPLETE]: processComplete,\n    [REG_BASICEMAIL_ACTIONS.EMAIL_ADDRESS]: processEmail,\n    [REG_BASICEMAIL_ACTIONS.PAYMENT]: processPayment,\n    [REG_BASICEMAIL_ACTIONS.INIT]: processInit,\n    [REG_BASICEMAIL_ACTIONS.START]: processStart,\n\n    [REG_DOMAINPRIVACY_ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [REG_DOMAINPRIVACY_ACTIONS.SELECT_DOMAIN]: processDomainName,\n    [REG_DOMAINPRIVACY_ACTIONS.COMPLETE]: processComplete,\n    [REG_DOMAINPRIVACY_ACTIONS.PAYMENT]: processPayment,\n    [REG_DOMAINPRIVACY_ACTIONS.INIT]: processInit,\n    [REG_DOMAINPRIVACY_ACTIONS.START]: processStart,\n\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [REGISTRATION_ACTIONS.INIT]: processRegistrationInit,\n\n    [LLC_ACTIONS.DOMAIN_NAME]: processPrimary,\n    [LLC_ACTIONS.EMAIL_ADDRESS]: processEmail,\n\n    [CORP_ACTIONS.DOMAIN_NAME]: processPrimary,\n    [CORP_ACTIONS.EMAIL_ADDRESS]: processEmail,\n\n    [REG_ONLINETOOLS_ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [REG_ONLINETOOLS_ACTIONS.COMPLETE]: processComplete,\n    [REG_ONLINETOOLS_ACTIONS.DOMAIN_NAME]: processPrimary,\n    [REG_ONLINETOOLS_ACTIONS.EMAIL_ADDRESS]: processEmail,\n    [REG_ONLINETOOLS_ACTIONS.PAYMENT]: processPayment,\n    [REG_ONLINETOOLS_ACTIONS.INIT]: processInit,\n    [REG_ONLINETOOLS_ACTIONS.START]: processStart,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/register_domain_v2';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/domainV2';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    companyId: '',\n    companyCount: 0,\n    primary: '',\n    alternates: [],\n    domainNameSearch: '',\n    domainNames: [],\n    emailAddresses: [],\n    verified: false,\n    skip: false,\n    emailUserName: '',\n    emailSkip: false,\n    emailInPlan: false,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      domainName = '',\n      emailInPlan = false,\n      domainNameSearch = '',\n      domainNames = [],\n      emailAddresses = []\n    } = data;\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      primary: { $set: domainName },\n      emailInPlan: { $set: emailInPlan },\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      emailAddresses: { $set: emailAddresses },\n      actionError: { $set: 0 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processDomainNames = (state, action, data) => {\n    const { domainNameSearch, domainNames, skip } = data;\n    return update(state, {\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      skip: { $set: skip }\n    });\n  },\n  processMap = {\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.DOMAIN_NAMES]: processDomainNames,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isUndefined from 'lodash/isUndefined';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/ein';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    llcMarried: null,\n    llcSingleMember: null,\n    taxedAsSCorp: null,\n    corpCareOf: '',\n    corpClosingMonth: 'December',\n    hasDBAs: null,\n    dbas: '',\n    responsibleParty: null,\n    mailingAddressRequired: true,\n    physicalAddressRequired: true,\n    principalAddressRequired: true,\n    phoneNumber: '',\n    gambling: null,\n    atf: null,\n    employeesW2: null,\n    w2WagesPaidDate: '',\n    w2AgriculturalEmployeeCount: 0,\n    w2OtherEmployeeCount: 0,\n    w2WagesLessThan1000: null,\n    motorVehicle: null,\n    motorVehicleWeight: null,\n    businessForm720: null,\n    businessActivity1: '',\n    businessActivity2: '',\n    businessActivity3: '',\n    businessActivity4: '',\n    businessActivity5: '',\n    businessActivitySpecify: '',\n    startDate: '',\n    memberCount: 0,\n    reason: '',\n    hasSSN: null,\n    ssnItin: '',\n    actionError: 0,\n    skipEIN: false,\n    isSubscription: false\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processATF = (state, action, data) => {\n    const { atf } = data;\n    const { drugsFirearms } = data;\n    const atfP = ((typeof atf !== 'undefined') && atf) || ((typeof drugsFirearms !== 'undefined') && drugsFirearms);\n    return update(state, {\n      atf: { $set: atfP }\n    });\n  },\n  processBusinessActivity = (state, action, data) => {\n    if (data.businessActivity) {\n      const { businessActivity: businessActivity1, businessActivity2, businessActivity3, businessActivity4, businessActivity5, businessActivitySpecify } = data;\n      return update(state, {\n        businessActivity1: { $set: businessActivity1 },\n        businessActivity2: { $set: businessActivity2 },\n        businessActivity3: { $set: businessActivity3 },\n        businessActivity4: { $set: businessActivity4 },\n        businessActivity5: { $set: businessActivity5 },\n        businessActivitySpecify: { $set: _trim(businessActivitySpecify) }\n      });\n    }\n    const { businessActivity1, businessActivity2, businessActivity3, businessActivity4, businessActivity5, businessActivitySpecify } = data;\n    return update(state, {\n      businessActivity1: { $set: businessActivity1 },\n      businessActivity2: { $set: businessActivity2 },\n      businessActivity3: { $set: businessActivity3 },\n      businessActivity4: { $set: businessActivity4 },\n      businessActivity5: { $set: businessActivity5 },\n      businessActivitySpecify: { $set: _trim(businessActivitySpecify) }\n    });\n\n  },\n  processDBABusinessActivity = (state, action, data) => {\n    const { businessIndustry } = data;\n\n    return update(state, {\n      businessActivity1: { $set: businessIndustry },\n      businessActivity2: { $set: '' },\n      businessActivity3: { $set: '' },\n      businessActivity4: { $set: '' },\n      businessActivity5: { $set: '' },\n      businessActivitySpecial: { $set: '' }\n    });\n  },\n  processBusinessForm720 = (state, action, data) => {\n    if (data.businessForm720) {\n      const { businessForm720 } = data;\n      return update(state, {\n        businessForm720: { $set: businessForm720 }\n      });\n    }\n    const { required720Form } = data;\n    return update(state, {\n      businessForm720: { $set: required720Form }\n    });\n\n  },\n  processChooseResponsible = (state, action, data) => {\n    const\n      {\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = '',\n        ssn = '',\n        legalName = '',\n        ein = '',\n        previousEin = false,\n        alternateLastNames = [],\n        collectDataFromUser = false\n      } = data,\n      hadSuffix = !!suffix;\n\n    if (state.responsibleParty === null) {\n      const responsibleParty = {\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix,\n        hadSuffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber,\n        ssn,\n        legalName: _trim(legalName),\n        ein,\n        previousEin,\n        alternateLastNames,\n        collectDataFromUser\n      };\n\n      return update(state, {\n        ssnItin: { $set: ssn }, // Maintain here for later\n        suffix: { $set: suffix },\n        responsibleParty: { $set: responsibleParty }\n      });\n    }\n    return update(state, {\n      ssnItin: { $set: ssn }, // Maintain here for later\n      suffix: { $set: suffix },\n      responsibleParty: {\n        firstName: { $set: _trim(firstName) },\n        middleName: { $set: _trim(middleName) },\n        lastName: { $set: _trim(lastName) },\n        suffix: { $set: suffix },\n        hadSuffix: { $set: hadSuffix },\n        companyName: { $set: _trim(companyName) },\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: _trim(country) },\n        email: { $set: _trim(email) },\n        phoneNumber: { $set: phoneNumber },\n        ssn: { $set: ssn },\n        legalName: { $set: _trim(legalName) },\n        ein: { $set: _trim(ein) },\n        previousEin: { $set: previousEin },\n        alternateLastNames: { $set: alternateLastNames },\n        collectDataFromUser: { $set: collectDataFromUser }\n      }\n    });\n  },\n  processCorpInfo = (state, action, data) => {\n    const { corpCareOf, corpClosingMonth, startDate } = data;\n    return update(state, {\n      corpCareOf: { $set: _trim(corpCareOf) },\n      corpClosingMonth: { $set: corpClosingMonth },\n      startDate: { $set: startDate }\n    });\n  },\n  processCorpTaxed = (state, action, data) => {\n    const { taxedAsSCorp } = data;\n    return update(state, {\n      taxedAsSCorp: { $set: taxedAsSCorp }\n    });\n  },\n  processDBAs = (state, action, data) => {\n    const { dbas } = data;\n    return update(state, {\n      dbas: {\n        $set: _trim(dbas)\n      }\n    });\n  },\n  processHasDBAs = (state, action, data) => {\n    const { hasDBAs } = data;\n    return update(state, {\n      hasDBAs: { $set: hasDBAs }\n    });\n  },\n  processEINReason = (state, action, data) => {\n    const { reason } = data;\n    return update(state, {\n      reason: { $set: reason }\n    });\n  },\n  processEmployeesW2 = (state, action, data) => {\n    if (data.W2) {\n      const {\n        W2: {\n          w2WagesPaidDate,\n          w2AgriculturalEmployeeCount,\n          w2OtherEmployeeCount,\n          w2WagesLessThan1000\n        }\n      } = data;\n      return update(state, {\n        w2WagesPaidDate: { $set: w2WagesPaidDate },\n        w2AgriculturalEmployeeCount: { $set: w2AgriculturalEmployeeCount },\n        w2OtherEmployeeCount: { $set: w2OtherEmployeeCount },\n        w2WagesLessThan1000: { $set: w2WagesLessThan1000 }\n      });\n    }\n    const { w2WagesPaidDate, w2AgriculturalEmployeeCount, w2OtherEmployeeCount, w2WagesLessThan1000 } = data;\n    return update(state, {\n      w2WagesPaidDate: { $set: w2WagesPaidDate },\n      w2AgriculturalEmployeeCount: { $set: w2AgriculturalEmployeeCount },\n      w2OtherEmployeeCount: { $set: w2OtherEmployeeCount },\n      w2WagesLessThan1000: { $set: w2WagesLessThan1000 }\n    });\n\n  },\n  processHasEmployeesW2 = (state, action, data) => {\n    const { employeesW2 } = data;\n    return update(state, {\n      employeesW2: { $set: employeesW2 }\n    });\n  },\n  processGambling = (state, action, data) => {\n    const { gambling } = data;\n    return update(state, {\n      gambling: { $set: gambling }\n    });\n  },\n  processHasSSN = (state, action, data) => {\n    const { hasSSN } = data;\n    return update(state, {\n      hasSSN: { $set: hasSSN }\n    });\n  },\n  processLLCMarried = (state, action, data) => {\n    const { llcMarried } = data;\n    if (!llcMarried) {\n      return update(state, {\n        llcMarried: { $set: false },\n        llcSingleMember: { $set: false }\n      });\n    }\n    return update(state, {\n      llcMarried: { $set: true }\n    });\n  },\n  processLLCMemberCount = (state, action, data) => {\n    const { memberCount } = data;\n    let llcSingleMember = state.llcSingleMember;\n    if (memberCount === 1) {\n      llcSingleMember = true;\n    } else if (memberCount > 2) {\n      llcSingleMember = false;\n    }\n    return update(state, {\n      memberCount: { $set: memberCount },\n      llcMarried: { $set: memberCount === 2 ? state.llcMarried : false },\n      llcSingleMember: { $set: llcSingleMember }\n    });\n  },\n  processLLCSingleMember = (state, action, data) => {\n    const { llcSingleMember } = data;\n    return update(state, {\n      llcSingleMember: { $set: llcSingleMember }\n    });\n  },\n  processMotorVehicle = (state, action, data) => {\n    if (data.motorVehicle) {\n      const { motorVehicle } = data;\n      return update(state, {\n        motorVehicle: { $set: motorVehicle }\n      });\n    }\n    const { vehicle } = data;\n    return update(state, {\n      motorVehicle: { $set: vehicle }\n    });\n\n  },\n  processMotorVehicleWeight = (state, action, data) => {\n    if (data.taxableVehicle) {\n      const { taxableVehicle } = data;\n      return update(state, {\n        motorVehicleWeight: { $set: taxableVehicle }\n      });\n    }\n    const { motorVehicleWeight } = data;\n    return update(state, {\n      motorVehicleWeight: { $set: motorVehicleWeight }\n    });\n\n  },\n  processResponsibleInfo = (state, action, data) => {\n    const { suffix, ssn, legalName, ein, previousEin, alternateLastNames } = data;\n\n    return update(state, {\n      ssnItin: { $set: ssn }, // Maintain here for later\n      responsibleParty: {\n        suffix: { $set: suffix },\n        ssn: { $set: ssn },\n        legalName: { $set: _trim(legalName) },\n        ein: { $set: _trim(ein) },\n        previousEin: { $set: previousEin },\n        alternateLastNames: { $set: alternateLastNames || [] }\n      }\n    });\n  },\n  processResponsibleParty = (state, action, data) => {\n    const\n      {\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        companyName = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        state: addrState = '',\n        zipCode = '',\n        country = 'US',\n        email = '',\n        phoneNumber = ''\n      } = data,\n      hadSuffix = false;\n\n    if (data.responsibleParty !== null) {\n      const responsibleParty = {\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix: '',\n        hadSuffix,\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode,\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber\n      };\n\n      return update(state, {\n        responsibleParty: { $set: responsibleParty }\n      });\n    }\n    return update(state, {\n      responsibleParty: {\n        firstName: { $set: _trim(firstName) },\n        middleName: { $set: _trim(middleName) },\n        lastName: { $set: _trim(lastName) },\n        companyName: { $set: _trim(companyName) },\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: _trim(country) },\n        email: { $set: _trim(email) },\n        phoneNumber: { $set: phoneNumber }\n      }\n    });\n  },\n  processSkipEIN = (state, action, data) => {\n    return update(state, {\n      skipEIN: { $set: data }\n    });\n  },\n  processStartEIN = (state, action, data) => {\n    const { phoneNumber, llcMarried, llcSingleMember, mailingAddressRequired, physicalAddressRequired, principalAddressRequired } = data;\n\n    return update(state, {\n      llcMarried: { $set: llcMarried },\n      llcSingleMember: { $set: llcSingleMember },\n      mailingAddressRequired: { $set: mailingAddressRequired },\n      phoneNumber: { $set: phoneNumber },\n      physicalAddressRequired: { $set: physicalAddressRequired },\n      principalAddressRequired: { $set: principalAddressRequired }\n    });\n  },\n  processBusinessData = (state, action, data) => {\n    const { hasDBAs, phoneNumber, dbas, corpCareOf, corpClosingMonth, startDate } = data;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      hasDBAs: { $set: hasDBAs },\n      dbas: { $set: _trim(dbas) },\n      corpCareOf: { $set: _trim(corpCareOf) },\n      corpClosingMonth: { $set: corpClosingMonth },\n      startDate: { $set: startDate }\n    });\n  },\n  processCorpData = (state, action, data) => {\n    const { taxedAsSCorp } = data;\n    return update(state, {\n      taxedAsSCorp: { $set: taxedAsSCorp }\n    });\n  },\n  processEINData = (state, action, data) => {\n    const { reason, gambling, atf, employeesW2, w2WagesPaidDate, w2AgriculturalEmployeeCount, w2OtherEmployeeCount, w2WagesLessThan1000 } = data,\n      { motorVehicle, motorVehicleWeight, businessForm720, businessActivity1, businessActivity2, businessActivity3, businessActivity4, businessActivity5, businessActivitySpecify } = data;\n\n    return update(state, {\n      reason: { $set: reason },\n      gambling: { $set: gambling },\n      atf: { $set: atf },\n      employeesW2: { $set: employeesW2 },\n      w2WagesPaidDate: { $set: w2WagesPaidDate },\n      w2AgriculturalEmployeeCount: { $set: w2AgriculturalEmployeeCount },\n      w2OtherEmployeeCount: { $set: w2OtherEmployeeCount },\n      w2WagesLessThan1000: { $set: w2WagesLessThan1000 },\n      motorVehicle: { $set: motorVehicle },\n      motorVehicleWeight: { $set: motorVehicleWeight },\n      businessForm720: { $set: businessForm720 },\n      businessActivity1: { $set: businessActivity1 },\n      businessActivity2: { $set: businessActivity2 },\n      businessActivity3: { $set: businessActivity3 },\n      businessActivity4: { $set: businessActivity4 },\n      businessActivity5: { $set: businessActivity5 },\n      businessActivitySpecify: { $set: _trim(businessActivitySpecify) }\n    });\n  },\n  processMemberData = (state, action, data) => {\n    const { llcMarried, llcSingleMember, memberCount } = data;\n    return update(state, {\n      llcMarried: { $set: llcMarried },\n      llcSingleMember: { $set: llcSingleMember },\n      memberCount: { $set: memberCount }\n    });\n  },\n  processResponsibleData = (state, action, data) => {\n    const { firstName, middleName, lastName, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country = 'US', email, phoneNumber, suffix, ssn, legalName, ein, previousEin, alternateLastNames } = data;\n\n    return update(state, {\n      ssnItin: { $set: ssn }, // Maintain here for later\n      responsibleParty: {\n        firstName: { $set: _trim(firstName) },\n        middleName: { $set: _trim(middleName) },\n        lastName: { $set: _trim(lastName) },\n        suffix: { $set: suffix },\n        companyName: { $set: _trim(companyName) },\n        addressLine1: { $set: _trim(addressLine1) },\n        addressLine2: { $set: _trim(addressLine2) },\n        city: { $set: _trim(city) },\n        state: { $set: addrState },\n        zipCode: { $set: zipCode },\n        country: { $set: _trim(country) },\n        email: { $set: _trim(email) },\n        phoneNumber: { $set: phoneNumber },\n        ssn: { $set: ssn },\n        legalName: { $set: _trim(legalName) },\n        ein: { $set: _trim(ein) },\n        previousEin: { $set: previousEin },\n        alternateLastNames: { $set: alternateLastNames }\n      }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const { id, clearData } = data;\n\n    if (!id) {\n      if (clearData) {\n        reducerStorage.clear(storageKey);\n        return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n      }\n      return state;\n    }\n\n    const\n      { contact, members, businessAddresses } = data,\n      { mailing = {}, physical = {}, principal = {} } = businessAddresses || {},\n      { phoneNumber } = contact || {},\n      memberCount = members ? members.length : null,\n      principalAddressRequired = !principal.addressLine1,\n      mailingAddressRequired = !mailing.addressLine1,\n      physicalAddressRequired = !physical.addressLine1;\n\n    return update(state, {\n      phoneNumber: { $set: phoneNumber },\n      memberCount: { $set: memberCount },\n      principalAddressRequired: { $set: principalAddressRequired },\n      mailingAddressRequired: { $set: mailingAddressRequired },\n      physicalAddressRequired: { $set: physicalAddressRequired }\n    });\n  },\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      formationEin = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'ein_creation';\n      }),\n      formation = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      formationDBA = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'dba_entity';\n      }),\n      sCorpDesignation = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 's_corp_designation';\n      }),\n      isSubscription = orderData.some(({ service = '' }) => { return service.includes('subscription_plan'); }),\n      dbaBusActivity = !formation && formationDBA ? formationDBA.business_industry : '',\n      formBusinessActivity = formation ? formation.activity || '' : '',\n      setBusinessActivity = formBusinessActivity || dbaBusActivity || '';\n\n    if (!formationEin && !formation) {\n      return state;\n    }\n\n    const updates = {};\n    if (setBusinessActivity && !state.businessActivity1) {\n      updates.businessActivity1 = { $set: setBusinessActivity };\n    }\n    if (formationEin) {\n      const { business_data: businessData = { notLoaded: true }, tax_info: taxInfo = { notLoaded: true }, responsible_party: user = {}, phone: phoneNumber = '', county = '', trade_names: dbas = null, member_count: memberCount = 0 } = formationEin,\n        {\n          first_name: firstName = '',\n          middle_name: middleName = '',\n          last_name: lastName = '',\n          company_name: companyName = '',\n          address_1: userAddressLine1 = '',\n          address_2: userAddressLine2 = '',\n          city: userCity = '',\n          county: userCounty = '',\n          state: userState = '',\n          zip: userZipCode = '',\n          country: userCountry = 'US',\n          phone: userPhoneNumber = '',\n          email: userEmail = '',\n          legal_name: legalName = '',\n          ein_number: einNumber = '',\n          suffix = '',\n          previous_ein: previousEin = false,\n          alternate_last_names: alternateLastNames = [],\n          has_ssn: hasSSN\n        } = user,\n        taxedAsSCorpByDesignation = sCorpDesignation ? true : null,\n        taxedAsSCorp = taxedAsSCorpByDesignation || (_isUndefined(taxInfo.taxed_as_s_corp) ? null : taxInfo.taxed_as_s_corp),\n        responsiblePartyInfoLoaded = !!state.ssnItin || !!einNumber, // The responsible party as a person was loaded if the SSN is set.\n        toGambling = businessData.gambling === true || businessData.gambing === false,\n        hasDBAsFromString = !!dbas,\n        hasDBAs = toGambling || hasDBAsFromString ? hasDBAsFromString : null,\n        startDateRaw = businessData.start_date || '',\n        startDatePieces = startDateRaw.split('-'),\n        startDate = startDatePieces.length > 2 ? `${startDatePieces[1]}/${startDatePieces[2]}/${startDatePieces[0]}` : '',\n        responsibleParty = {\n          firstName,\n          middleName,\n          lastName,\n          suffix: responsiblePartyInfoLoaded ? suffix || '' : '',\n          hadSuffix: !!suffix,\n          companyName,\n          addressLine1: userAddressLine1,\n          addressLine2: userAddressLine2,\n          city: userCity,\n          county: userCounty,\n          state: userState,\n          zipCode: userZipCode,\n          country: userCountry,\n          phoneNumber: userPhoneNumber,\n          email: userEmail,\n          legalName,\n          ein: einNumber,\n          ssn: state.ssnItin || '', // Use the stored state - doesn't come back from database.\n          previousEin,\n          alternateLastNames\n        };\n\n      businessData.activity = businessData.activity || {};\n      _assign(updates, {\n        responsibleParty: { $set: responsibleParty },\n        hasSSN: { $set: hasSSN },\n        county: { $set: county },\n        phoneNumber: { $set: phoneNumber },\n        hasDBAs: { $set: hasDBAs },\n        dbas: { $set: dbas },\n        llcMarried: { $set: _isUndefined(taxInfo.members_are_married) ? null : taxInfo.members_are_married },\n        memberCount: { $set: memberCount },\n        llcSingleMember: { $set: _isUndefined(taxInfo.taxed_as_single_member_llc) ? null : taxInfo.taxed_as_single_member_llc },\n        taxedAsSCorp: { $set: taxedAsSCorp },\n        corpCareOf: { $set: businessData.corp_care_of || '' },\n        corpClosingMonth: { $set: businessData.corp_closing_month || 'December' },\n        startDate: { $set: startDate },\n        gambling: { $set: _isUndefined(businessData.gambling) ? null : businessData.gambling },\n        atf: { $set: _isUndefined(businessData.alcohol_tobacco_firearms) ? null : businessData.alcohol_tobacco_firearms },\n        employeesW2: { $set: _isUndefined(businessData.employees_with_w2) ? null : businessData.employees_with_w2 },\n        w2WagesPaidDate: { $set: businessData.w2_wages_paid_date || '' },\n        w2AgriculturalEmployeeCount: { $set: businessData.w2_agricultural_employees_count || 0 },\n        w2OtherEmployeeCount: { $set: businessData.w2_other_employees_count || 0 },\n        w2WagesLessThan1000: { $set: _isUndefined(businessData.w2_wages_lt_1000) ? null : businessData.w2_wages_lt_1000 },\n        motorVehicle: { $set: _isUndefined(businessData.highway_vehicle) ? null : businessData.highway_vehicle },\n        motorVehicleWeight: { $set: _isUndefined(businessData.highway_vehicle_over_55000) ? null : businessData.highway_vehicle_over_55000 },\n        businessForm720: { $set: _isUndefined(businessData.files_form_720) ? null : businessData.files_form_720 },\n        businessActivity1: { $set: businessData.activity.level_1 || formBusinessActivity },\n        businessActivity2: { $set: businessData.activity.level_2 || '' },\n        businessActivity3: { $set: businessData.activity.level_3 || '' },\n        businessActivity4: { $set: businessData.activity.level_4 || '' },\n        businessActivity5: { $set: businessData.activity.level_5 || '' },\n        businessActivitySpecify: { $set: businessData.activity.specify || '' },\n        isSubscription: { $set: isSubscription }\n      });\n    }\n    return update(state, updates);\n  },\n  /* eslint-enable max-statements */\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [COMP_EIN_ACTIONS.ATF]: processATF,\n    [COMP_EIN_ACTIONS.BUS_720]: processBusinessForm720,\n    [COMP_EIN_ACTIONS.BUS_ACT]: processBusinessActivity,\n    [COMP_EIN_ACTIONS.BUS_DATA]: processBusinessData,\n    [COMP_EIN_ACTIONS.CHOOSE_RESP]: processChooseResponsible,\n    [COMP_EIN_ACTIONS.CORP_DATA]: processCorpData,\n    [COMP_EIN_ACTIONS.CORP_INFO]: processCorpInfo,\n    [COMP_EIN_ACTIONS.CORP_TAXED]: processCorpTaxed,\n    [COMP_EIN_ACTIONS.DBA_NAMES]: processDBAs,\n    [COMP_EIN_ACTIONS.HAS_DBAS]: processHasDBAs,\n    [COMP_EIN_ACTIONS.EIN_DATA]: processEINData,\n    [COMP_EIN_ACTIONS.EIN_REASON]: processEINReason,\n    [COMP_EIN_ACTIONS.EMPL_W2]: processEmployeesW2,\n    [COMP_EIN_ACTIONS.HAS_EMPL_W2]: processHasEmployeesW2,\n    [COMP_EIN_ACTIONS.GAMBLING]: processGambling,\n    [COMP_EIN_ACTIONS.HAS_SSN]: processHasSSN,\n    [COMP_EIN_ACTIONS.LLC_ARE_MARRIED]: processLLCMarried,\n    [COMP_EIN_ACTIONS.LLC_MARRIED_TAXED]: processLLCSingleMember,\n    [COMP_EIN_ACTIONS.LLC_MBR_COUNT]: processLLCMemberCount,\n    [COMP_EIN_ACTIONS.MBR_DATA]: processMemberData,\n    [COMP_EIN_ACTIONS.RESP_DATA]: processResponsibleData,\n    [COMP_EIN_ACTIONS.RESP_INFO]: processResponsibleInfo,\n    [COMP_EIN_ACTIONS.RESP_PARTY]: processResponsibleParty,\n    [COMP_EIN_ACTIONS.START_EIN]: processStartEIN,\n    [COMP_EIN_ACTIONS.VEHICLE]: processMotorVehicle,\n    [COMP_EIN_ACTIONS.VEHICLE_WEIGHT]: processMotorVehicleWeight,\n    [COMP_EIN_ACTIONS.SKIP_EIN]: processSkipEIN,\n\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_EIN_ACTIONS.CORP_TAXED]: processCorpTaxed,\n\n    [DBA_ACTIONS.BUS_DESC]: processDBABusinessActivity,\n    [DBA_ACTIONS.BUS_DATA]: processDBABusinessActivity,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/register_email_v2';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/emailV2';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    companyId: '',\n    companyCount: 0,\n    primary: '',\n    alternates: [],\n    domainNameSearch: '',\n    domainNames: [],\n    emailAddresses: [],\n    verified: false,\n    skip: false,\n    emailUserName: '',\n    emailSkip: false,\n    emailInPlan: false,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      domainName = '',\n      emailInPlan = false,\n      domainNameSearch = '',\n      domainNames = [],\n      emailAddresses = []\n    } = data;\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      primary: { $set: domainName },\n      emailInPlan: { $set: emailInPlan },\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      emailAddresses: { $set: emailAddresses },\n      actionError: { $set: 0 }\n    });\n  },\n  processDomainNames = (state, action, data) => {\n    const { domainNameSearch, domainNames, skip } = data;\n    return update(state, {\n      domainNameSearch: { $set: domainNameSearch },\n      domainNames: { $set: domainNames },\n      skip: { $set: skip }\n    });\n  },\n  processMap = {\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.EMAILS]: processDomainNames,\n    [ACTIONS.INIT]: processInit\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/ettf_renewal';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/ettfrenewal';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    actionError: 0,\n    companyId: '',\n    inProgress: false,\n    lastFour: '',\n    orderId: '',\n    orderTaskUuid: '',\n    planDisplayName: '',\n    plan: '',\n    planData: {},\n    price: '',\n    processingMigration: false,\n    term: '',\n    termEndDate: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processInit = (state, action, {\n    companyId,\n    lastFour,\n    orderId,\n    orderTaskUuid,\n    planData,\n    termEndDate\n  }) => {\n    return update(state, {\n      inProgress: { $set: true },\n      companyId: { $set: companyId },\n      lastFour: { $set: lastFour },\n      orderId: { $set: orderId },\n      orderTaskUuid: { $set: orderTaskUuid },\n      planData: { $set: planData },\n      termEndDate: { $set: termEndDate }\n    });\n  },\n\n  processMigrateMoneyPlan = (state) => {\n    return update(state, {\n      processingMigration: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processMigrateMoneyPlanComplete = (state, action, { data }) => {\n    const errorCode = _get(action, 'payload.data.errorCode');\n\n    if (errorCode) {\n      return update(state, {\n        processingMigration: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n\n    return update(state, {\n      processingMigration: { $set: false },\n      actionError: { $set: 0 },\n      planDisplayName: { $set: data.displayName },\n      price: { $set: data.price },\n      term: { $set: data.term }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.MIGRATE_MONEY_PLAN]: processMigrateMoneyPlan,\n    [ACTIONS.MIGRATE_MONEY_PLAN_COMPLETE]: processMigrateMoneyPlanComplete,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.INIT]: processInit\n\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_expense_tracker_n_tax_filing';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/expenseTrackerNTaxFiling';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/feedback';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    feedbackSource: '',\n    feedbackAdditional: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processFeedback = (state, action, data) => {\n    const { feedbackOther, feedbackSource } = data;\n    return update(state, {\n      feedbackSource: { $set: feedbackSource },\n      feedbackOther: { $set: feedbackOther }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.PURCHASE_FEEDBACK]: processFeedback,\n\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [REGISTRATION_ACTIONS.INIT]: resetAllData\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/goodStanding';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    name: '',\n    domesticJurisdiction: '',\n    businessType: '',\n    state: '',\n\n    businessAddressLine1: '',\n    businessAddressLine2: '',\n    businessCity: '',\n    businessState: '',\n    businessZipCode: '',\n    contactFirstName: '',\n    contactMiddleName: '',\n    contactLastName: '',\n    contactSuffix: '',\n    contactCompanyName: '',\n    contactAddressLine1: '',\n    contactAddressLine2: '',\n    contactCity: '',\n    contactState: '',\n    contactZipCode: '',\n    contactPhoneNumber: '',\n    contactEmail: '',\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0,\n\n    useCredit: false\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processInit = (state, action, data) => {\n    const { companyId, businessType, name, domesticJurisdiction } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      businessType: { $set: businessType },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      actionError: { $set: 0 }\n    });\n  },\n  processStart = (state) => {\n\n    return update(state, {\n      inProgress: { $set: true }\n    });\n  },\n  processCompanyId = (state, action, data) => {\n    const { companyId, name, businessType, domesticJurisdiction } = data,\n      { businessAddressLine1, businessAddressLine2, businessCity, businessState, businessZipCode } = data,\n      { contactFirstName, contactMiddleName, contactLastName, contactSuffix, contactCompanyName, contactAddressLine1, contactAddressLine2, contactCity, contactState, contactZipCode, contactPhoneNumber, contactEmail } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      name: { $set: name },\n      businessType: { $set: businessType },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      businessAddressLine1: { $set: businessAddressLine1 },\n      businessAddressLine2: { $set: businessAddressLine2 },\n      businessCity: { $set: businessCity },\n      businessState: { $set: businessState },\n      businessZipCode: { $set: businessZipCode },\n      contactFirstName: { $set: contactFirstName },\n      contactMiddleName: { $set: contactMiddleName },\n      contactLastName: { $set: contactLastName },\n      contactSuffix: { $set: contactSuffix },\n      contactCompanyName: { $set: contactCompanyName },\n      contactAddressLine1: { $set: contactAddressLine1 },\n      contactAddressLine2: { $set: contactAddressLine2 },\n      contactCity: { $set: contactCity },\n      contactState: { $set: contactState },\n      contactZipCode: { $set: contactZipCode },\n      contactPhoneNumber: { $set: contactPhoneNumber },\n      contactEmail: { $set: contactEmail }\n    });\n  },\n  processState = (state, action, data) => {\n    const { state: gsState } = data;\n\n    return update(state, {\n      state: { $set: gsState }\n    });\n  },\n  processDataConfirmation = (state) => {\n    return state;\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 }  = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardToken: { $set: '' },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processUseCredit = (state, action) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { useCredit, creditUUID } = action;\n\n    return update(state, {\n      useCredit: { $set: useCredit },\n      creditUUID: { $set: creditUUID }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.START]: processStart,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.CHOOSE_COMPANY]: processCompanyId,\n    [ACTIONS.CHOOSE_STATE]: processState,\n    [ACTIONS.DATA_CONFIRM]: processDataConfirmation,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.SET_USE_CREDIT]: processUseCredit,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment,\n\n\n    [REGISTRATION_ACTIONS.RESET]: resetAllData\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import updateHelper from 'immutability-helper';\nimport _get from 'lodash/get';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/lead';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    leadUUID: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  switch (action.type) {\n    case ACCOUNT_ACTIONS.GET_ACCOUNT_COMPLETE:\n    case REG_BLR_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_CORA_PF_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_DBA_PF_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_EIN_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_NAMERES_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_NYPUB_ACTIONS.CREATE_LEAD_COMPLETE:\n    case REG_WFG_ACTIONS.CREATE_LEAD_COMPLETE:\n    case ACTIONS.CREATE_LEAD_COMPLETE: {\n      if (action.error) {\n        return state;\n      }\n      const feedbackSource = _get(action.payload.data, 'lead.how_did_you_hear_about_us', null);\n      const leadUUID = action.payload.data.lead_uuid;\n      return update(state, {\n        feedbackSource: { $set: feedbackSource },\n        leadUUID: { $set: leadUUID }\n      });\n    }\n\n    default:\n      return state;\n  }\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/logoKit';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId } = data;\n\n    return update(state, {\n      companyId: { $set: companyId }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _cloneDeep from 'lodash/cloneDeep';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isString from 'lodash/isString';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/managers';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    managerType: '',\n    managerCount: 0,\n    managers: []\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processManagerCount = (state, action, data) => {\n    const { managerCount } = data;\n\n    return update(state, {\n      managerCount: { $set: managerCount }\n    });\n  },\n  processManagerList = (state, action, data) => {\n    const { managers } = data;\n    return update(state, {\n      managers: { $set: _map(managers, (manager) => {\n        return _reduce(manager, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) }\n    });\n  },\n  processManagerOption = (state, action, data) => {\n    const { managerType } = data;\n    if (managerType === 'AllOwners' || managerType === 'SomeOwners') {\n      return update(state, {\n        managerType: { $set: managerType },\n        managerCount: { $set: 0 },\n        managers: { $set: [] }\n      });\n    }\n    return update(state, {\n      managerType: { $set: managerType }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const\n      { managers, members } = data;\n\n    if (!managers) {\n      return update(state, {\n        managers: { $set: [] },\n        managerType: { $set: '' }\n      });\n    }\n\n    const memberManagerCount = _reduce(members, (collect, member) => {\n      if (member.manager) {\n        return collect + 1;\n      }\n      return collect;\n    }, 0);\n    let managerType = '';\n    if (managers.length === 0) {\n      if (memberManagerCount === 0 || memberManagerCount === members.length) {\n        managerType = 'AllOwners';\n      } else {\n        managerType = 'SomeOwners';\n      }\n    } else if (memberManagerCount !== 0) {\n      managerType = 'SomeManagers';\n    } else {\n      managerType = 'AllManagers';\n    }\n    return update(state, {\n      managerType: { $set: managerType },\n      managers: { $set: _cloneDeep(managers) }\n    });\n  },\n  reverseManagerTypeMap = {\n    'All the owners (Member managed)': 'AllOwners',\n    'Only some of the owners (Manager managed)': 'SomeOwners',\n    'Some or all of the owners and other managers (Manager managed)': 'SomeManagers',\n    'None of the owners, only other managers (Manager managed)': 'AllManagers'\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const mgrs = _get(o, 'managers', null);\n\n        return mgrs !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { managers = [], manager_type, manager_count: managerCount = null } = order,\n      convertedManagers = _map(managers, (manager) => {\n        const\n          { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = manager,\n          { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US', email = '', phone: phoneNumber = '', outstanding_judgments: outstandingJudgments = null } = manager;\n\n        return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country, email, phoneNumber, title, outstandingJudgments };\n      });\n\n    return update(state, {\n      managers: { $set: convertedManagers },\n      managerCount: { $set: managerCount === null ? managers.length : managerCount },\n      managerType: { $set: reverseManagerTypeMap[manager_type] || '' }\n    });\n  },\n  processUpdateManager = (state, action, data) => {\n    const { managers = [] } = state;\n    const { arrayIndex, email, phoneNumber } = data;\n    const updatedManagers = _cloneDeep(managers);\n    const { email: mEmail, phoneNumber: mPhoneNumber } = updatedManagers[arrayIndex];\n    if (phoneNumber !== mPhoneNumber || email !== mEmail ) {\n      updatedManagers[arrayIndex] = {\n        ...updatedManagers[arrayIndex],\n        phoneNumber,\n        email\n      };\n      return update(state, {\n        managers: { $set: updatedManagers }\n      });\n    }\n    return state;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.MGR_COUNT]: processManagerCount,\n    [LLC_ACTIONS.SET_MGR_LIST]: processManagerList,\n    [LLC_ACTIONS.SET_MGR_OPT]: processManagerOption,\n    [LLC_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [COMP_BLR_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST_MODAL]: processManagerList,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n    [COMP_BLR_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_BUSINESS_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_CORA_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_CORA_ACTIONS.LLC_MGR_LIST_MODAL]: processManagerList,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_NYPUB_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST_MODAL]: processManagerList,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n    [COMP_NYPUB_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.LLC_MGR_COUNT]: processManagerCount,\n    [COMP_WFG_ACTIONS.LLC_MGR_LIST]: processManagerList,\n    [COMP_WFG_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_WFG_ACTIONS.UPDATE_MGR]: processUpdateManager,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _cloneDeep from 'lodash/cloneDeep';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _isString from 'lodash/isString';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/members';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    onlyOwner: null,\n    memberCount: 0,\n    members: []\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processBusinessRunners = (state, action, data) => {\n    const { members } = data;\n    return update(state, {\n      members: { $set: members }\n    });\n  },\n  processManagerOption = (state, action, data) => {\n    const { managerType } = data;\n    if (managerType === 'AllOwners') {\n      const members = _map(state.members, (member) => {\n        return _assign({}, member, { manager: false });\n      });\n      return update(state, {\n        members: { $set: members }\n      });\n    }\n    if (managerType === 'AllManagers') {\n      const members = _map(state.members, (member) => {\n        return _assign({}, member, { manager: false });\n      });\n      return update(state, {\n        members: { $set: members }\n      });\n    }\n    return state;\n  },\n  processMemberCount = (state, action, data) => {\n    const { memberCount } = data;\n\n    return update(state, {\n      memberCount: { $set: memberCount }\n    });\n  },\n  processMemberList = (state, action, data) => {\n    const { members } = data;\n    return update(state, {\n      memberCount: { $set: members.length },\n      members: { $set: _map(members, (member) => {\n        return _reduce(member, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) }\n    });\n  },\n  processDBAOwnerList = (state, action, data) => {\n    const { businessType, owners } = data;\n\n    if (businessType !== 'LLCX' && businessType !== 'SOLE') {\n      return state;\n    }\n    return update(state, {\n      members: { $set: _map(owners, (member) => {\n        return _reduce(member, (collect, value, key) => {\n          collect[key] = _isString(value) ? _trim(value) : value;\n          return collect;\n        }, {});\n      }) },\n      memberCount: { $set: owners ? owners.length : 0 }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    const\n      { members } = data;\n\n    if (!members) {\n      return update(state, {\n        members: { $set: [] },\n        onlyOwner: { $set: null }\n      });\n    }\n\n    let onlyOwner = false;\n    if (members.length === 1) {\n      onlyOwner = true;\n    }\n    return update(state, {\n      onlyOwner: { $set: onlyOwner },\n      members: { $set: _cloneDeep(members) }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const mems = _get(o, 'members', null);\n\n        return mems !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { members = [], member_count: memberCount = null } = order,\n      convertedMembers = _map(members, (member) => {\n        const\n          { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', manager = false } = member,\n          { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US', email = '', phone: phoneNumber = '', outstanding_judgments: outstandingJudgments = null } = member;\n\n        return { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country, email, phoneNumber, manager, outstandingJudgments };\n      }),\n      onlyOwner = convertedMembers.length > 0 ? convertedMembers.length === 1 : null;\n\n    return update(state, {\n      onlyOwner: { $set: onlyOwner },\n      memberCount: { $set: memberCount === null ? members.length : memberCount },\n      members: { $set: convertedMembers }\n    });\n  },\n  processUpdateMember = (state, action, data) => {\n    const { members = [] } = state;\n    const { arrayIndex, email, phoneNumber } = data;\n    const updatedMembers = _cloneDeep(members);\n    const { email: mEmail, phoneNumber: mPhoneNumber } = updatedMembers[arrayIndex];\n    if (phoneNumber !== mPhoneNumber || email !== mEmail ) {\n      updatedMembers[arrayIndex] = {\n        ...updatedMembers[arrayIndex],\n        phoneNumber,\n        email\n      };\n      return update(state, {\n        members: { $set: updatedMembers }\n      });\n    }\n    return state;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processStartBusiness = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { onlyOne: false }));\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.MBR_COUNT]: processMemberCount,\n    [LLC_ACTIONS.SET_BUS_RUN]: processBusinessRunners,\n    [LLC_ACTIONS.SET_MGR_OPT]: processManagerOption,\n    [LLC_ACTIONS.SET_MBR_LIST]: processMemberList,\n    [LLC_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [COMP_BLR_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_BLR_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST_MODAL]: processMemberList,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n    [COMP_BLR_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: processStartBusiness,\n    [COMP_BUSINESS_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_BUSINESS_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_CORA_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_CORA_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_CORA_ACTIONS.LLC_MBR_LIST_MODAL]: processMemberList,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n\n    [COMP_DBA_ACTIONS.OWNERS]: processDBAOwnerList,\n    [COMP_DBA_ACTIONS.OWNER_MODAL]: processDBAOwnerList,\n\n    [REG_NYPUB_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_NYPUB_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT_MODAL]: processManagerOption,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST_MODAL]: processMemberList,\n    [COMP_NYPUB_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.LLC_BUS_RUN]: processBusinessRunners,\n    [COMP_WFG_ACTIONS.LLC_MBR_COUNT]: processMemberCount,\n    [COMP_WFG_ACTIONS.LLC_MBR_LIST]: processMemberList,\n    [COMP_WFG_ACTIONS.LLC_MGR_OPT]: processManagerOption,\n    [COMP_WFG_ACTIONS.UPDATE_MBR]: processUpdateMember,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _cloneDeep from 'lodash/cloneDeep';\nimport _find from 'lodash/find';\nimport _findIndex from 'lodash/findIndex';\nimport _get from 'lodash/get';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport _trim from 'lodash/trim';\nimport _without from 'lodash/without';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport { ASST_SEC, PRES, SEC, TRSR, VP, TITLE_INDEXES } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/officers';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    hasAsstSecretary: null,\n    hasVicePresident: null,\n    officers: []\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  genId = (state) => {\n    const { officers } = state,\n      nextNum = _reduce(officers, (value, officer) => {\n        const newValue = parseInt(officer.id.substring(4), 10);\n        return value < newValue ? newValue : value;\n      }, 0);\n    return `off-${nextNum + 1}`;\n  },\n  hasTitle = (persons, title) => {\n    return !!_find(persons, (person) => {\n      return person.title ? person.title.split(',').indexOf(title) !== -1 : false;\n    });\n  },\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  removeTitle = (oldTitle, title) => {\n    const values = oldTitle.split(',');\n    return _trim(_without(values, title).join());\n  },\n  addTitle = (oldTitle, title) => {\n    const values = oldTitle.split(',');\n    if (values.length === 1 && !values[0]) {\n      values.shift();\n    }\n    if (values.indexOf(title) === -1) {\n      const titleIndex = TITLE_INDEXES[title];\n      if (titleIndex < values.length) {\n        values.splice(titleIndex, 0, title);\n      } else {\n        values.push(title);\n      }\n    }\n    return _trim(values.join());\n  },\n  updateChoice = (state, id, title) => {\n    if (!id) {\n      return state;\n    }\n    const { officers } = state,\n      titleIndex = _findIndex(officers, (officer) => {\n        return officer.title.split(',').indexOf(title) !== -1;\n      }),\n      idIndex = _findIndex(officers, (officer) => {\n        return officer.id === id;\n      });\n\n    if (idIndex !== titleIndex) {\n      if (idIndex >= 0 && titleIndex >= 0) {\n        return update(state, {\n          officers: {\n            [idIndex]: {\n              title: { $set: addTitle(officers[idIndex].title, title) }\n            },\n            [titleIndex]: {\n              title: { $set: removeTitle(officers[titleIndex].title, title) }\n            }\n          }\n        });\n      }\n      if (idIndex >= 0) {\n        return update(state, {\n          officers: {\n            [idIndex]: {\n              title: { $set: addTitle(officers[idIndex].title, title) }\n            }\n          }\n        });\n      }\n      return update(state, {\n        officers: {\n          [titleIndex]: {\n            title: { $set: removeTitle(officers[titleIndex].title, title) }\n          }\n        }\n      });\n    }\n    return state;\n  },\n  // This function assumes that the incoming officer is a new officer\n  updateOfficer = (state, { firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country = 'US', email, phoneNumber }, title) => {\n    const { officers } = state,\n      newOfficer = {\n        id: genId(state),\n        firstName: _trim(firstName),\n        middleName: _trim(middleName),\n        lastName: _trim(lastName),\n        suffix: _trim(suffix),\n        companyName: _trim(companyName),\n        addressLine1: _trim(addressLine1),\n        addressLine2: _trim(addressLine2),\n        city: _trim(city),\n        state: addrState,\n        zipCode: _trim(zipCode),\n        country: _trim(country),\n        email: _trim(email),\n        phoneNumber: _trim(phoneNumber),\n        title\n      },\n      titleIndex = _findIndex(officers, (officer) => {\n        return officer.title === title;\n      });\n\n    // If no existing title found, then it is a new user.\n    if (titleIndex === -1) {\n      return update(state, {\n        officers: { $push: [ newOfficer ] }\n      });\n    }\n    return update(update(state, {\n      officers: {\n        [titleIndex]: {\n          title: { $set: removeTitle(officers[titleIndex].title, title) }\n        }\n      }\n    }), {\n      officers: { $push: [ newOfficer ] }\n    });\n  },\n  // This function assumes that the incoming officer is an existing officer with changed data other than the title\n\n  processAsstSecretary = (state, action, data) => {\n    return updateOfficer(state, data, ASST_SEC);\n  },\n  processChooseAsstSecretary = (state, action, data) => {\n    return updateChoice(state, data.id, ASST_SEC);\n  },\n  processChoosePresident = (state, action, data) => {\n    return updateChoice(state, data.id, PRES);\n  },\n  processChooseSecretary = (state, action, data) => {\n    return updateChoice(state, data.id, SEC);\n  },\n  processChooseTreasurer = (state, action, data) => {\n    return updateChoice(state, data.id, TRSR);\n  },\n  processChooseVicePresident = (state, action, data) => {\n    return updateChoice(state, data.id, VP);\n  },\n  processHasAsstSecretary = (state, action, data) => {\n    const { hasAsstSecretary } = data;\n    if (hasAsstSecretary) {\n      return update(state, {\n        hasAsstSecretary: { $set: hasAsstSecretary }\n      });\n    }\n    if (state.hasAsstSecretary) {\n      return update(updateChoice(state, 'none', ASST_SEC), {\n        hasAsstSecretary: { $set: hasAsstSecretary }\n      });\n    }\n    return state;\n  },\n  processHasVicePresident = (state, action, data) => {\n    const { hasVicePresident } = data;\n    if (hasVicePresident) {\n      return update(state, {\n        hasVicePresident: { $set: hasVicePresident }\n      });\n    }\n    if (state.hasVicePresident) {\n      return update(updateChoice(state, 'none', VP), {\n        hasVicePresident: { $set: hasVicePresident }\n      });\n    }\n    return state;\n  },\n  processPresident = (state, action, data) => {\n    return updateOfficer(state, data, PRES);\n  },\n  processSecretary = (state, action, data) => {\n    return updateOfficer(state, data, SEC);\n  },\n  processTreasurer = (state, action, data) => {\n    return updateOfficer(state, data, TRSR);\n  },\n  processVicePresident = (state, action, data) => {\n    return updateOfficer(state, data, VP);\n  },\n  processOfficialListModal = (state, action, data) => {\n    const { officers, hasVicePresident, hasAsstSecretary } = data;\n\n    return update(state, {\n      hasVicePresident: { $set: hasVicePresident },\n      hasAsstSecretary: { $set: hasAsstSecretary },\n      officers: { $set: _map(officers, (off) => {\n        if (off.id.indexOf('off-') !== 0) {\n          off.id = genId(state);\n        }\n        return off;\n      }) }\n    });\n  },\n\n  processBusinessId = (state, action, data) => {\n    const\n      { directors, officers } = data;\n\n    if (!officers) {\n      return update(state, {\n        officers: { $set: [] },\n        hasAsstSecretary: { $set: null },\n        hasVicePresident: { $set: null }\n      });\n    }\n\n    const\n      hasPresident = hasTitle(officers, PRES) || hasTitle(directors, PRES),\n      hasSecretary = hasTitle(officers, SEC) || hasTitle(directors, SEC),\n      hasVicePresident = hasPresident ? hasTitle(officers, VP) || hasTitle(directors, VP) : null,\n      hasAsstSecretary = hasSecretary ? hasTitle(officers, ASST_SEC) || hasTitle(directors, ASST_SEC) : null;\n\n    return update(state, {\n      hasAsstSecretary: { $set: hasAsstSecretary },\n      hasVicePresident: { $set: hasVicePresident },\n      officers: { $set: _cloneDeep(officers) }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const offs = _get(o, 'officers', null);\n\n        return offs !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n\n    const\n      { officers, directors } = order,\n      convertedOfficers = _map(officers, (officer, index) => {\n        const\n          id = `off-${index}`,\n          { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '', title = '' } = officer,\n          { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', state: addrState = '', zip: zipCode = '', country = 'US', email = '', phone: phoneNumber = '', outstanding_judgments: outstandingJudgments = null } = officer;\n\n        return { id, firstName, middleName, lastName, suffix, companyName, addressLine1, addressLine2, city, state: addrState, zipCode, country, email, phoneNumber, title, outstandingJudgments };\n      }),\n      hasPresident = hasTitle(officers, PRES) || hasTitle(directors, PRES),\n      hasSecretary = hasTitle(officers, SEC) || hasTitle(directors, SEC),\n      hasVicePresident = hasPresident ? hasTitle(officers, VP) || hasTitle(directors, VP) : null,\n      hasAsstSecretary = hasSecretary ? hasTitle(officers, ASST_SEC) || hasTitle(directors, ASST_SEC) : null;\n\n    return update(state, {\n      officers: { $set: convertedOfficers },\n      hasVicePresident: { $set: hasVicePresident },\n      hasAsstSecretary: { $set: hasAsstSecretary }\n    });\n  },\n  processUpdateOfficer = (state, action, data) => {\n    const { officers = [] } = state;\n    const { arrayIndex, email, phoneNumber } = data;\n    const updatedOfficers = _cloneDeep(officers);\n    const { email: mEmail, phoneNumber: mPhoneNumber } = updatedOfficers[arrayIndex];\n    if (phoneNumber !== mPhoneNumber || email !== mEmail ) {\n      updatedOfficers[arrayIndex] = {\n        ...updatedOfficers[arrayIndex],\n        phoneNumber,\n        email\n      };\n      return update(state, {\n        officers: { $set: updatedOfficers }\n      });\n    }\n    return state;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [CORP_ACTIONS.ASST_SEC]: processAsstSecretary,\n    [CORP_ACTIONS.CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [CORP_ACTIONS.CHOOSE_PRES]: processChoosePresident,\n    [CORP_ACTIONS.CHOOSE_SEC]: processChooseSecretary,\n    [CORP_ACTIONS.CHOOSE_TRSR]: processChooseTreasurer,\n    [CORP_ACTIONS.CHOOSE_VP]: processChooseVicePresident,\n    [CORP_ACTIONS.HAS_ASST_SEC]: processHasAsstSecretary,\n    [CORP_ACTIONS.HAS_VP]: processHasVicePresident,\n    [CORP_ACTIONS.PRES]: processPresident,\n    [CORP_ACTIONS.SEC]: processSecretary,\n    [CORP_ACTIONS.TRSR]: processTreasurer,\n    [CORP_ACTIONS.VP]: processVicePresident,\n    [CORP_ACTIONS.UPDATE_OFC]: processUpdateOfficer,\n\n    [COMP_BLR_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_BLR_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_BLR_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_BLR_ACTIONS.CORP_OFF_LIST_MODAL]: processOfficialListModal,\n    [COMP_BLR_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_BLR_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_BLR_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_BLR_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_BLR_ACTIONS.UPDATE_OFC]: processUpdateOfficer,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_BUSINESS_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_BUSINESS_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_BUSINESS_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_BUSINESS_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_BUSINESS_ACTIONS.UPDATE_OFC]: processUpdateOfficer,\n\n    [REG_CORA_PF_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_CORA_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_CORA_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_CORA_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_CORA_ACTIONS.CORP_OFF_LIST_MODAL]: processOfficialListModal,\n    [COMP_CORA_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_CORA_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_CORA_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_CORA_ACTIONS.CORP_VP]: processVicePresident,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processBusinessId,\n\n    [COMP_WFG_ACTIONS.CORP_ASST_SEC]: processAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: processChooseAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_PRES]: processChoosePresident,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_SEC]: processChooseSecretary,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_TRSR]: processChooseTreasurer,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_VP]: processChooseVicePresident,\n    [COMP_WFG_ACTIONS.CORP_HAS_ASST_SEC]: processHasAsstSecretary,\n    [COMP_WFG_ACTIONS.CORP_HAS_VP]: processHasVicePresident,\n    [COMP_WFG_ACTIONS.CORP_PRES]: processPresident,\n    [COMP_WFG_ACTIONS.CORP_SEC]: processSecretary,\n    [COMP_WFG_ACTIONS.CORP_TRSR]: processTreasurer,\n    [COMP_WFG_ACTIONS.CORP_VP]: processVicePresident,\n    [COMP_WFG_ACTIONS.UPDATE_OFC]: processUpdateOfficer,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_opagreement';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/operatingAgreement';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    opagreement: null,\n    type: '',\n    name: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data, opagreCompliance) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id, cardToken } = data;\n    return update(state, {\n      opagreCompliance: { $set: opagreCompliance },\n      cardToken: { $set: cardToken },\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, name, opagreCompliance, type } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      opagreCompliance: { $set: opagreCompliance },\n      name: { $set: name },\n      type: { $set: type }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount, opagreCompliance } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      opagreCompliance: { $set: opagreCompliance },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      typebrand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { opagreement } = data;\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 },\n      opagreement: { $set: opagreement }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport OFFICE_ADDRESS_ERROR_CODE from '../../constants/office_address';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BUSINESSKIT_ACTIONS } from '../../constants/register_business_kit';\nimport { ACTIONS as REG_CORP_TRANSPARENCY_ACT_ACTIONS } from '../../constants/register_bof';\nimport { ACTIONS as REG_BOF_MODIFICATIONS_ACTIONS } from '../../constants/register_bof_modification';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_BLR_ACTIONS } from '../../constants/register_blr';\nimport { ACTIONS as REG_CD_ACTIONS } from '../../constants/register_corpdocs';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_ENTITY_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_DOMAIN_V2_ACTIONS } from '../../constants/register_domain_v2';\nimport { ACTIONS as REG_DOMAINNAME_ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_DOMAINPRIVACY_ACTIONS } from '../../constants/register_domainprivacy';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_ETNTF_ACTIONS } from '../../constants/register_expense_tracker_n_tax_filing';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_INITIALCPASCREENING_ACTIONS } from '../../constants/register_initialcpascreening';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REG_OPAGREEMENT_ACTIONS } from '../../constants/register_opagreement';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_SMB_ECOMM_ADDON_ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport { ACTIONS as REG_SMB_WEBSITE_OR_ECOMM_ACTIONS } from '../../constants/register_smb_website_or_ecomm';\nimport { ACTIONS as REG_STOCK_SETUP_ACTIONS } from '../../constants/register_stock_setup';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as REG_WFGIR_ACTIONS } from '../../constants/register_wfgir';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as REG_ANNUAL_REPORT_ACTIONS } from '../../constants/annual_report';\nimport { ACTIONS as REG_AMENDMENT } from '../../constants/amendment';\nimport { ACTIONS as VANITY_PRODUCT_ACTIONS } from '../../constants/vanity_products';\nimport { ACTIONS as REG_VANITY_PRODUCT_ACTIONS } from '../../constants/register_vanity';\nimport { ACTIONS as REG_ZBMPRO_ACTIONS } from '../../constants/register_zbmpro';\nimport { ACTIONS as REG_ZB_BANKING_PREFERRED } from '../../constants/register_zb_banking_preferred';\nimport { ACTIONS as REG_TAX_SERVICES } from '../../constants/register_tax_services';\nimport reducerStorage, { getReducerSnapshot } from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/order';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    createOrder: false,\n    creatingOrder: false,\n    updateOrder: false,\n    updatingOrder: false,\n    id: '',\n    isSubscription: false,\n    postpurchaseId: '',\n    totalPrice: 0,\n    stateFees: 0,\n    bofError: 0, // Special for postpurchase BOF\n    actionError: 0,\n    actionErrorMessage: '',\n    incompleteOrder: null,\n    willMarkOrderCompleted: true\n  },\n  INITIAL_STATE = _assign(reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT), { creatingOrder: false, updatingOrder: false }),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processPayment = (state, action, data) => {\n    const { forceToPrivacy, totalPrice = 0, stateFees = 0 } = data;\n\n    return update(state, {\n      createOrder: { $set: !forceToPrivacy },\n      actionError: { $set: 0 },\n      totalPrice: { $set: totalPrice },\n      stateFees: { $set: stateFees }\n    });\n  },\n  processCreateOrder = (state) => {\n    return update(state, {\n      createOrder: { $set: false },\n      creatingOrder: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreateOrderComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        creatingOrder: { $set: false },\n        actionError: { $set: errorCode },\n        actionErrorMessage: { $set: _get(action, 'payload.error', '') }\n      });\n    }\n    return update(state, {\n      id: { $set: data.id },\n      createOrder: { $set: false },\n      creatingOrder: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreatePostPurchaseOrder = (state) => {\n    return update(state, {\n      createOrder: { $set: false },\n      creatingOrder: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  // In this case, we want to record the bofError but move the process forward so that\n  // the error can be reported on the congrats page.\n  processCreatePostPurchaseOrderBOFFailed = (state, action, data) => {\n    const errorCode = _get(action, 'payload.errorCode', 0);\n    return update(state, {\n      postpurchaseId: { $set: data.id },\n      createOrder: { $set: false },\n      creatingOrder: { $set: false },\n      bofError: { $set: errorCode },\n      actionError: { $set: 0 }\n    });\n  },\n  processCreatePostPurchaseOrderComplete = (state, action, data) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        creatingOrder: { $set: false },\n        actionError: { $set: errorCode }\n      });\n    }\n    return update(state, {\n      postpurchaseId: { $set: data.id },\n      createOrder: { $set: false },\n      creatingOrder: { $set: false },\n      actionError: { $set: 0 }\n    });\n  },\n  processPostpurchasePayment = (state, action, data) => {\n    const {\n      purchaseBankOfAmericaOffer,\n      purchaseBLR,\n      purchaseRA,\n      purchaseDBAEntity,\n      purchaseFFD,\n      purchaseBusinessKit,\n      purchaseBOF,\n      purchaseCD,\n      purchaseTaxAdvice,\n      purchaseTaxAdviceBizTaxPrep,\n      purchaseWFGIR,\n      purchaseVanityProduct,\n      purchaseVBA,\n      purchaseZbBankingPreferredOffer,\n      purchaseZBMPro,\n      totalPrice = 0,\n      stateFees = 0,\n      isComplete\n    } = data;\n\n    if (isComplete) {\n      return state;\n    }\n    //CAT\n    return update(state, {\n      createOrder: {\n        $set: (purchaseZbBankingPreferredOffer\n          || purchaseBankOfAmericaOffer\n          || purchaseBLR\n          || purchaseFFD\n          || purchaseCD\n          || purchaseVBA\n          || purchaseWFGIR\n          || purchaseDBAEntity\n          || purchaseTaxAdvice\n          || purchaseTaxAdviceBizTaxPrep\n          || purchaseZBMPro\n          || purchaseBusinessKit\n          || purchaseBOF\n          || purchaseVanityProduct\n          || purchaseRA)\n      },\n      updateOrder: {\n        $set: (!purchaseZbBankingPreferredOffer\n          && !purchaseBankOfAmericaOffer\n          && !purchaseDBAEntity\n          && !purchaseBLR\n          && !purchaseFFD\n          && !purchaseCD\n          && !purchaseTaxAdvice\n          && !purchaseTaxAdviceBizTaxPrep\n          && !purchaseVBA\n          && !purchaseWFGIR\n          && !purchaseZBMPro\n          && !purchaseBusinessKit\n          && !purchaseBOF\n          && !purchaseVanityProduct\n          && !purchaseRA)\n      },\n      actionError: { $set: 0 },\n      totalPrice: { $set: totalPrice },\n      stateFees: { $set: stateFees }\n    });\n  },\n\n  processUpdateOrder = (state) => {\n    return update(state, {\n      updateOrder: { $set: false },\n      updatingOrder: { $set: true },\n      actionError: { $set: 0 }\n    });\n  },\n  willMarkOrderCompleted = (state, action) => {\n    return update(state, {\n      willMarkOrderCompleted: {\n        $set: action.payload\n      }\n    });\n  },\n  processUpdateOrderComplete = (state, action) => {\n    if (action.error) {\n      const errorCode = _get(action, 'payload.errorCode', 0);\n      return update(state, {\n        updatingOrder: { $set: false },\n        actionError: { $set: errorCode },\n        actionErrorMessage: { $set: _get(action, 'payload.error', '') }\n      });\n    }\n    return update(state, {\n      updatingOrder: { $set: false },\n      actionError: { $set: 0 },\n      actionErrorMessage: { $set: '' }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const {\n      order_uuid: id,\n      order_tracking: orderTracking\n    } = incompleteOrder;\n\n    const flowType = orderTracking?.flow_type || '';\n\n    if (!id) {\n      return state;\n    }\n\n    return update(state, {\n      id: { $set: id },\n      isSubscription: { $set: flowType === 'subscription' || flowType === 'sub' },\n      incompleteOrder: { $set: incompleteOrder }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n\n  resetActionError = (state) => {\n    let snapshot = getReducerSnapshot('registration/order');\n    if (snapshot) {\n      snapshot = {\n        ...snapshot,\n        actionError: 0,\n        actionErrorMessage: ''\n      };\n      reducerStorage.storeLocal('registration/order', snapshot);\n    }\n\n    return update(state, {\n      actionError: { $set: 0 }\n    });\n  },\n\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [LLC_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [LLC_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [CORP_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [CORP_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_ACCOUNTING_ACTIONS.INIT]: processComplete,\n    [REG_ACCOUNTING_ACTIONS.PAYMENT]: processPayment,\n    [REG_ACCOUNTING_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ACCOUNTING_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_ANNUAL_REPORT_ACTIONS.INIT]: processComplete,\n    [REG_ANNUAL_REPORT_ACTIONS.PAYMENT]: processPayment,\n    [REG_ANNUAL_REPORT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ANNUAL_REPORT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_AMENDMENT.INIT]: processComplete,\n    [REG_AMENDMENT.PAYMENT]: processPayment,\n    [REG_AMENDMENT.CREATE_ORDER]: processCreateOrder,\n    [REG_AMENDMENT.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_BUSINESSKIT_ACTIONS.START]: processComplete,\n    [REG_BUSINESSKIT_ACTIONS.PAYMENT]: processPayment,\n    [REG_BUSINESSKIT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_BUSINESSKIT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_CORP_TRANSPARENCY_ACT_ACTIONS.INIT]: processComplete,\n    [REG_CORP_TRANSPARENCY_ACT_ACTIONS.PAYMENT]: processPayment,\n    [REG_CORP_TRANSPARENCY_ACT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_CORP_TRANSPARENCY_ACT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_BOF_MODIFICATIONS_ACTIONS.INIT]: processComplete,\n    [REG_BOF_MODIFICATIONS_ACTIONS.PAYMENT]: processPayment,\n    [REG_BOF_MODIFICATIONS_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_BOF_MODIFICATIONS_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_DOMAIN_V2_ACTIONS.INIT]: processComplete,\n\n    [REG_STOCK_SETUP_ACTIONS.START]: processComplete,\n    [REG_STOCK_SETUP_ACTIONS.PAYMENT]: processPayment,\n    [REG_STOCK_SETUP_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_STOCK_SETUP_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_BASICEMAIL_ACTIONS.START]: processComplete,\n    [REG_BASICEMAIL_ACTIONS.PAYMENT]: processPayment,\n    [REG_BASICEMAIL_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_BASICEMAIL_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_INITIALCPASCREENING_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_INITIALCPASCREENING_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_BLR_ACTIONS.INIT]: processComplete,\n    [REG_BLR_ACTIONS.PAYMENT]: processPayment,\n    [REG_BLR_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_BLR_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_BLR_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [COMP_BUSINESS_ACTIONS.PAYMENT]: processPayment,\n    [COMP_BUSINESS_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [COMP_BUSINESS_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_CD_ACTIONS.START]: processComplete,\n    [REG_CD_ACTIONS.PAYMENT]: processPayment,\n    [REG_CD_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_CD_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_CORA_PF_ACTIONS.INIT]: processComplete,\n    [REG_CORA_PF_ACTIONS.PAYMENT]: processPayment,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_CORA_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n    [REG_CORA_PF_ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [REG_CORA_PF_ACTIONS.RESET_ACTION_ERROR]: resetActionError,\n\n    [COMP_CORA_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_CORA_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_DBA_ENTITY_PF_ACTIONS.START]: processComplete,\n    [REG_DBA_ENTITY_PF_ACTIONS.PAYMENT]: processPayment,\n    [REG_DBA_ENTITY_PF_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_DBA_ENTITY_PF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_DBA_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_DBA_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_DOMAINNAME_ACTIONS.START]: processComplete,\n    [REG_DOMAINNAME_ACTIONS.PAYMENT]: processPayment,\n    [REG_DOMAINNAME_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_DOMAINNAME_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_DOMAINPRIVACY_ACTIONS.START]: processComplete,\n    [REG_DOMAINPRIVACY_ACTIONS.PAYMENT]: processPayment,\n    [REG_DOMAINPRIVACY_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_DOMAINPRIVACY_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_EIN_ACTIONS.INIT]: processComplete,\n    [REG_EIN_ACTIONS.PAYMENT]: processPayment,\n    [REG_EIN_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_ETNTF_ACTIONS.START]: processComplete,\n    [REG_ETNTF_ACTIONS.PAYMENT]: processPayment,\n    [REG_ETNTF_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ETNTF_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_EIN_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_EIN_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_GS_ACTIONS.INIT]: processComplete,\n    [REG_GS_ACTIONS.PAYMENT]: processPayment,\n    [REG_GS_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_GS_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_LOGOKIT_ACTIONS.START]: processComplete,\n    [REG_LOGOKIT_ACTIONS.PAYMENT]: processPayment,\n    [REG_LOGOKIT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_LOGOKIT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_NAMERES_ACTIONS.INIT]: processComplete,\n    [REG_NAMERES_ACTIONS.PAYMENT]: processPayment,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_NYPUB_ACTIONS.INIT]: processComplete,\n    [REG_NYPUB_ACTIONS.PAYMENT]: processPayment,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_NYPUB_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_NYPUB_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_ONLINETOOLS_ACTIONS.START]: processComplete,\n    [REG_ONLINETOOLS_ACTIONS.PAYMENT]: processPayment,\n    [REG_ONLINETOOLS_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ONLINETOOLS_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_OPAGREEMENT_ACTIONS.START]: processComplete,\n    [REG_OPAGREEMENT_ACTIONS.PAYMENT]: processPayment,\n    [REG_OPAGREEMENT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_OPAGREEMENT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_SMB_WEBSITE_ACTIONS.INIT]: processComplete,\n    [REG_SMB_WEBSITE_ACTIONS.PAYMENT]: processPayment,\n    [REG_SMB_WEBSITE_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_SMB_WEBSITE_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.INIT]: processComplete,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.PAYMENT]: processPayment,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_SMB_ECOMM_ADDON_ACTIONS.INIT]: processComplete,\n    [REG_SMB_ECOMM_ADDON_ACTIONS.PAYMENT]: processPayment,\n    [REG_SMB_ECOMM_ADDON_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_SMB_ECOMM_ADDON_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.INIT]: processComplete,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.PAYMENT]: processPayment,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_WFG_ACTIONS.START]: processComplete,\n    [REG_WFG_ACTIONS.PAYMENT]: processPayment,\n    [REG_WFG_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_WFG_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [COMP_WFG_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [COMP_WFG_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [REG_WFGIR_ACTIONS.START]: processComplete,\n    [REG_WFGIR_ACTIONS.PAYMENT]: processPayment,\n    [REG_WFGIR_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_WFGIR_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [VANITY_PRODUCT_ACTIONS.START]: processComplete,\n    [VANITY_PRODUCT_ACTIONS.PAYMENT]: processPayment,\n    [VANITY_PRODUCT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [VANITY_PRODUCT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_VANITY_PRODUCT_ACTIONS.START]: processComplete,\n    [REG_VANITY_PRODUCT_ACTIONS.PAYMENT]: processPayment,\n    [REG_VANITY_PRODUCT_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_VANITY_PRODUCT_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_ZB_BANKING_PREFERRED.START]: processComplete,\n    [REG_ZB_BANKING_PREFERRED.PAYMENT]: processPayment,\n    [REG_ZB_BANKING_PREFERRED.CREATE_ORDER]: processCreateOrder,\n    [REG_ZB_BANKING_PREFERRED.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_ZBMPRO_ACTIONS.START]: processComplete,\n    [REG_ZBMPRO_ACTIONS.PAYMENT]: processPayment,\n    [REG_ZBMPRO_ACTIONS.CREATE_ORDER]: processCreateOrder,\n    [REG_ZBMPRO_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [REG_TAX_SERVICES.START]: processComplete,\n    [REG_TAX_SERVICES.PAYMENT]: processPayment,\n    [REG_TAX_SERVICES.CREATE_ORDER]: processCreateOrder,\n    [REG_TAX_SERVICES.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [POSTPURCHASE_ACTIONS.PAYMENT]: processPostpurchasePayment,\n    [POSTPURCHASE_ACTIONS.CREATE_ORDER]: processCreatePostPurchaseOrder,\n    [POSTPURCHASE_ACTIONS.CREATE_ORDER_BOF_FAILED]: processCreatePostPurchaseOrderBOFFailed,\n    [POSTPURCHASE_ACTIONS.CREATE_ORDER_COMPLETE]: processCreatePostPurchaseOrderComplete,\n    [POSTPURCHASE_ACTIONS.UPDATE_ORDER]: processUpdateOrder,\n    [POSTPURCHASE_ACTIONS.UPDATE_ORDER_COMPLETE]: processUpdateOrderComplete,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n    [ORDER_ACTIONS.WILL_MARK_ORDER_COMPLETED]: willMarkOrderCompleted\n  };\n\nconst reduceOrder = (state, action) => {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n};\n\nexport default function (state = INITIAL_STATE, action) {\n  const next = reduceOrder(state, action);\n\n  // The server message belongs only to the office address block. Any other result clears it.\n  if (next.actionError !== OFFICE_ADDRESS_ERROR_CODE && next.actionErrorMessage) {\n    return { ...next, actionErrorMessage: '' };\n  }\n  return next;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nimport { ACTIONS as CORP_ACTIONS, URLS as CORP_URLS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS, URLS as LLC_URLS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS, URLS as COMP_BLR_URLS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS, URLS as COMP_BUSINESS_URLS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_CORA_ACTIONS, URLS as COMP_CORA_URLS } from '../../constants/complete_cora';\nimport { ACTIONS as COMP_DBA_ACTIONS, URLS as COMP_DBA_URLS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_EIN_ACTIONS, URLS as COMP_EIN_URLS } from '../../constants/complete_ein';\nimport { ACTIONS as COMP_NYPUB_ACTIONS, URLS as COMP_NYPUB_URLS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS, URLS as COMP_WFG_URLS } from '../../constants/complete_wfg';\nimport { ACTIONS as POSTPURCHASE_ACTIONS, URLS as POSTPURCHASE_URLS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as REG_BLR_ACTIONS, URLS as REG_BLR_URLS } from '../../constants/register_blr';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS, URLS as REG_CORA_PF_URLS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_ENTITY_PF_ACTIONS, URLS as REG_DBA_ENTITY_PF_URLS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_EIN_ACTIONS, URLS as REG_EIN_URLS } from '../../constants/register_ein';\nimport { ACTIONS as REG_GS_ACTIONS } from '../../constants/register_gs';\nimport { ACTIONS as REG_LOGOKIT_ACTIONS } from '../../constants/register_logokit';\nimport { ACTIONS as REG_NAMERES_ACTIONS, URLS as REG_NAMERES_URLS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS, URLS as REG_NYPUB_URLS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS, URLS as REG_WFG_URLS } from '../../constants/register_wfg';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as BNG_ACTIONS, URLS as BNG_URLS } from '../../constants/business_name_generator';\nimport { ACTIONS, URLS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/page';\n\nconst\n  ACTION_TO_URL_MAP = {\n    [ACTIONS.ACCOWN_CONTACT]: URLS.ACCOWN_CONTACT,\n    [ACTIONS.ACCOWN_NAME]: URLS.ACCOWN_NAME,\n    [ACTIONS.BUS_ID]: URLS.BUS_ID,\n    [ACTIONS.BUS_NAME]: URLS.BUS_NAME,\n    [ACTIONS.BUS_TYPE]: URLS.BUS_TYPE,\n    [ACTIONS.DATA_CONFIRM]: URLS.DATA_CONFIRM,\n    [ACTIONS.DOM_JUR]: URLS.DOM_JUR,\n    [ACTIONS.LOGIN_POST]: URLS.LOGIN_POST,\n    [ACTIONS.MAIL_ADDR]: URLS.MAIL_ADDR,\n    [ACTIONS.PAYMENT]: URLS.PAYMENT,\n    [ACTIONS.PHYS_ADDR]: URLS.PHYS_ADDR,\n    [ACTIONS.PRIN_ADDR]: URLS.PRIN_ADDR,\n    [ACTIONS.PRODUCT_CONFIRM]: URLS.PRODUCT_CONFIRM,\n    [ACTIONS.PURCH_BANK]: URLS.PURCH_BANK,\n    [ACTIONS.PURCH_BANK_RES]: URLS.PURCH_BANK_RES,\n    [ACTIONS.PURCH_CORP_BYLAWS]: URLS.PURCH_CORP_BYLAWS,\n    [ACTIONS.PURCH_DOMAIN]: URLS.PURCH_DOMAIN,\n    [ACTIONS.PURCH_DOMAIN_PRIV]: URLS.PURCH_DOMAIN_PRIV,\n    [ACTIONS.PURCH_EIN]: URLS.PURCH_EIN,\n    [ACTIONS.PURCH_EMAIL]: URLS.PURCH_EMAIL,\n    [ACTIONS.PURCH_EXP]: URLS.PURCH_EXP,\n    [ACTIONS.PURCH_NYPUB]: URLS.PURCH_NYPUB,\n    [ACTIONS.PURCH_OP_AGREE]: URLS.PURCH_OP_AGREE,\n    [ACTIONS.PURCH_PRIV]: URLS.PURCH_PRIV,\n    [ACTIONS.PURCH_PLAN]: URLS.PURCH_PLAN,\n    [ACTIONS.PURCH_START]: URLS.PURCH_START,\n    [ACTIONS.PURCH_WEBSITE]: URLS.PURCH_WEBSITE,\n    [ACTIONS.PURCH_WF]: URLS.PURCH_WF,\n    [ACTIONS.REG_AGT]: URLS.REG_AGT,\n    [ACTIONS.STATE_REQ]: URLS.STATE_REQ,\n    [ACTIONS.SCORP_ALL_US_OWNERS]: URLS.SCORP_ALL_US_OWNERS,\n    [ACTIONS.SCORP_INVESTORS]: URLS.SCORP_INVESTORS,\n    [ACTIONS.SCORP_LOSS]: URLS.SCORP_LOSS,\n    [ACTIONS.SCORP_SALARY]: URLS.SCORP_SALARY,\n\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: REG_BLR_URLS.ACCOWN_CONTACT,\n    [REG_BLR_ACTIONS.ACCOWN_NAME]: REG_BLR_URLS.ACCOWN_NAME,\n    [REG_BLR_ACTIONS.BUS_DESC]: REG_BLR_URLS.BUS_DESC,\n    [REG_BLR_ACTIONS.BUS_EXIST]: REG_BLR_URLS.BUS_EXIST,\n    [REG_BLR_ACTIONS.BUS_ID]: REG_BLR_URLS.BUS_ID,\n    [REG_BLR_ACTIONS.BUS_NAME]: REG_BLR_URLS.BUS_NAME,\n    [REG_BLR_ACTIONS.BUS_TYPE]: REG_BLR_URLS.BUS_TYPE,\n    [REG_BLR_ACTIONS.DATA_CONFIRM]: REG_BLR_URLS.DATA_CONFIRM,\n    [REG_BLR_ACTIONS.DOM_JUR]: REG_BLR_URLS.DOM_JUR,\n    [REG_BLR_ACTIONS.LOGIN_POST]: REG_BLR_URLS.LOGIN_POST,\n    [REG_BLR_ACTIONS.PAYMENT]: REG_BLR_URLS.PAYMENT,\n    [REG_BLR_ACTIONS.START]: REG_BLR_URLS.START,\n\n    [REG_CORA_PF_ACTIONS.INIT]: REG_CORA_PF_URLS.INIT,\n    [REG_CORA_PF_ACTIONS.QUESTIONNAIRE]: REG_CORA_PF_URLS.QUESTIONNAIRE,\n    [REG_CORA_PF_ACTIONS.CONGRATS]: REG_CORA_PF_URLS.CONGRATS,\n    [REG_CORA_PF_ACTIONS.LOGIN_POST]: REG_CORA_PF_URLS.LOGIN_POST,\n\n    [REG_DBA_ENTITY_PF_ACTIONS.INIT]: REG_DBA_ENTITY_PF_URLS.INIT,\n    [REG_DBA_ENTITY_PF_ACTIONS.QUESTIONNAIRE]: REG_DBA_ENTITY_PF_URLS.QUESTIONNAIRE,\n    [REG_DBA_ENTITY_PF_ACTIONS.CONGRATS]: REG_DBA_ENTITY_PF_URLS.CONGRATS,\n    [REG_DBA_ENTITY_PF_ACTIONS.LOGIN_POST]: REG_DBA_ENTITY_PF_URLS.LOGIN_POST,\n\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: REG_EIN_URLS.ACCOWN_CONTACT,\n    [REG_EIN_ACTIONS.ACCOWN_NAME]: REG_EIN_URLS.ACCOWN_NAME,\n    [REG_EIN_ACTIONS.BUS_ADDR]: REG_EIN_URLS.BUS_ADDR,\n    [REG_EIN_ACTIONS.BUS_ADDR_UNL]: REG_EIN_URLS.BUS_ADDR_UNL,\n    [REG_EIN_ACTIONS.BUS_ID]: REG_EIN_URLS.BUS_ID,\n    [REG_EIN_ACTIONS.BUS_NAME]: REG_EIN_URLS.BUS_NAME,\n    [REG_EIN_ACTIONS.BUS_TYPE]: REG_EIN_URLS.BUS_TYPE,\n    [REG_EIN_ACTIONS.CORP_TAXED]: REG_EIN_URLS.CORP_TAXED,\n    [REG_EIN_ACTIONS.DOM_JUR]: REG_EIN_URLS.DOM_JUR,\n    [REG_EIN_ACTIONS.LOGIN_POST]: REG_EIN_URLS.LOGIN_POST,\n    [REG_EIN_ACTIONS.NO_COMPANY]: REG_EIN_URLS.NO_COMPANY,\n    [REG_EIN_ACTIONS.PAYMENT]: REG_EIN_URLS.PAYMENT,\n\n    [REG_NAMERES_ACTIONS.ACCOWN_CONTACT]: REG_NAMERES_URLS.ACC_OWN_INFO, // Will keep them in case there is someone with this step flow on db\n    [REG_NAMERES_ACTIONS.ACCOWN_NAME]: REG_NAMERES_URLS.ACC_OWN_INFO, // Will keep them in case there is someone with this step flow on db\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: REG_NAMERES_URLS.ACC_OWN_INFO,\n    [REG_NAMERES_ACTIONS.BUS_NAME]: REG_NAMERES_URLS.BUS_NAME,\n    [REG_NAMERES_ACTIONS.BUS_TYPE]: REG_NAMERES_URLS.BUS_TYPE,\n    [REG_NAMERES_ACTIONS.DOM_JUR]: REG_NAMERES_URLS.DOM_JUR,\n    [REG_NAMERES_ACTIONS.MAIL_ADDR]: REG_NAMERES_URLS.MAIL_ADDR,\n    [REG_NAMERES_ACTIONS.PAYMENT]: REG_NAMERES_URLS.PAYMENT,\n    [REG_NAMERES_ACTIONS.PRIN_ADDR]: REG_NAMERES_URLS.PRIN_ADDR,\n    [REG_NAMERES_ACTIONS.SHARE]: REG_NAMERES_URLS.SHARE,\n\n    [REG_NYPUB_ACTIONS.ACCOWN_NAME]: REG_NYPUB_URLS.ACCOWN_NAME,\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: REG_NYPUB_URLS.ACCOWN_CONTACT,\n    [REG_NYPUB_ACTIONS.BUS_ID]: REG_NYPUB_URLS.BUS_ID,\n    [REG_NYPUB_ACTIONS.BUS_NAME]: REG_NYPUB_URLS.BUS_NAME,\n    [REG_NYPUB_ACTIONS.DATA_CONFIRM]: REG_NYPUB_URLS.DATA_CONFIRM,\n    [REG_NYPUB_ACTIONS.DOM_JUR]: REG_NYPUB_URLS.DOM_JUR,\n    [REG_NYPUB_ACTIONS.LOGIN_POST]: REG_NYPUB_URLS.LOGIN_POST,\n    [REG_NYPUB_ACTIONS.MAIL_ADDR]: REG_NYPUB_URLS.MAIL_ADDR,\n    [REG_NYPUB_ACTIONS.PAYMENT]: REG_NYPUB_URLS.PAYMENT,\n    [REG_NYPUB_ACTIONS.PHYS_ADDR]: REG_NYPUB_URLS.PHYS_ADDR,\n    [REG_NYPUB_ACTIONS.PRIN_ADDR]: REG_NYPUB_URLS.PRIN_ADDR,\n\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: REG_WFG_URLS.ACCOWN_CONTACT,\n    [REG_WFG_ACTIONS.ACCOWN_NAME]: REG_WFG_URLS.ACCOWN_NAME,\n    [REG_WFG_ACTIONS.BUS_ID]: REG_WFG_URLS.BUS_ID,\n    [REG_WFG_ACTIONS.BUS_NAME]: REG_WFG_URLS.BUS_NAME,\n    [REG_WFG_ACTIONS.BUS_TYPE]: REG_WFG_URLS.BUS_TYPE,\n    [REG_WFG_ACTIONS.DATA_CONFIRM]: REG_WFG_URLS.DATA_CONFIRM,\n    [REG_WFG_ACTIONS.DOM_JUR]: REG_WFG_URLS.DOM_JUR,\n    [REG_WFG_ACTIONS.PAYMENT]: REG_WFG_URLS.PAYMENT,\n    [REG_WFG_ACTIONS.LOGIN_POST]: REG_WFG_URLS.LOGIN_POST,\n\n    [LLC_ACTIONS.BUS_ALT]: LLC_URLS.BUS_ALT,\n    [LLC_ACTIONS.BUS_DESC]: LLC_URLS.BUS_DESC,\n    [LLC_ACTIONS.BUS_NAME]: LLC_URLS.BUS_NAME,\n    [LLC_ACTIONS.SET_BUS_RUN]: LLC_URLS.BUS_RUN,\n    [LLC_ACTIONS.CHOOSE_PRIM_CONTACT]: LLC_URLS.CHOOSE_PRIM_CONTACT,\n    [LLC_ACTIONS.DBA_ENTITIES]: LLC_URLS.DBA_ENTITIES,\n    [LLC_ACTIONS.DOMAIN_NAME]: LLC_URLS.DOMAIN_NAME,\n    [LLC_ACTIONS.EMAIL_ADDRESS]: LLC_URLS.EMAIL_ADDRESS,\n    [LLC_ACTIONS.MAIL_ADDR]: LLC_URLS.MAIL_ADDR,\n    [LLC_ACTIONS.MBR_COUNT]: LLC_URLS.MBR_COUNT,\n    [LLC_ACTIONS.MGR_COUNT]: LLC_URLS.MGR_COUNT,\n    [LLC_ACTIONS.PHYS_ADDR]: LLC_URLS.PHYS_ADDR,\n    [LLC_ACTIONS.PRIM_CONTACT]: LLC_URLS.PRIM_CONTACT,\n    [LLC_ACTIONS.PRIN_ADDR]: LLC_URLS.PRIN_ADDR,\n    [LLC_ACTIONS.PURCHASE_DBA_COMPLIANCE]: LLC_URLS.PURCHASE_DBA_COMPLIANCE,\n    [LLC_ACTIONS.PURCHASE_DBA_ENTITY]: LLC_URLS.PURCHASE_DBA_ENTITY,\n    [LLC_ACTIONS.SET_MBR_LIST]: LLC_URLS.MBR_LIST,\n    [LLC_ACTIONS.SET_MGR_LIST]: LLC_URLS.MGR_LIST,\n    [LLC_ACTIONS.SET_MGR_OPT]: LLC_URLS.MGR_OPT,\n    [LLC_ACTIONS.SHARE]: LLC_URLS.SHARE,\n    [LLC_ACTIONS.START_COMP]: LLC_URLS.START_COMP,\n\n    [CORP_ACTIONS.ASST_SEC]: CORP_URLS.ASST_SEC,\n    [CORP_ACTIONS.BUS_ALT]: CORP_URLS.BUS_ALT,\n    [CORP_ACTIONS.BUS_DESC]: CORP_URLS.BUS_DESC,\n    [CORP_ACTIONS.BUS_NAME]: CORP_URLS.BUS_NAME,\n    [CORP_ACTIONS.CHOOSE_ASST_SEC]: CORP_URLS.CHOOSE_ASST_SEC,\n    [CORP_ACTIONS.CHOOSE_PRES]: CORP_URLS.CHOOSE_PRES,\n    [CORP_ACTIONS.CHOOSE_PRIM_CONTACT]: CORP_URLS.CHOOSE_PRIM_CONTACT,\n    [CORP_ACTIONS.CHOOSE_SEC]: CORP_URLS.CHOOSE_SEC,\n    [CORP_ACTIONS.CHOOSE_TRSR]: CORP_URLS.CHOOSE_TRSR,\n    [CORP_ACTIONS.CHOOSE_VP]: CORP_URLS.CHOOSE_VP,\n    [CORP_ACTIONS.CORP_STOCK]: CORP_URLS.CORP_STOCK,\n    [CORP_ACTIONS.HAS_MORE_THAN_ONE_SHARE]: CORP_URLS.HAS_MORE_THAN_ONE_SHARE,\n    [CORP_ACTIONS.DBA_ENTITIES]: CORP_URLS.DBA_ENTITIES,\n    [CORP_ACTIONS.DIR_COUNT]: CORP_URLS.DIR_COUNT,\n    [CORP_ACTIONS.DIR_LIST]: CORP_URLS.DIR_LIST,\n    [CORP_ACTIONS.DOMAIN_NAME]: CORP_URLS.DOMAIN_NAME,\n    [CORP_ACTIONS.EMAIL_ADDRESS]: CORP_URLS.EMAIL_ADDRESS,\n    [CORP_ACTIONS.HAS_ASST_SEC]: CORP_URLS.HAS_ASST_SEC,\n    [CORP_ACTIONS.HAS_VP]: CORP_URLS.HAS_VP,\n    [CORP_ACTIONS.MAIL_ADDR]: CORP_URLS.MAIL_ADDR,\n    [CORP_ACTIONS.PHYS_ADDR]: CORP_URLS.PHYS_ADDR,\n    [CORP_ACTIONS.PRES]: CORP_URLS.PRES,\n    [CORP_ACTIONS.PRIM_CONTACT]: CORP_URLS.PRIM_CONTACT,\n    [CORP_ACTIONS.PRIN_ADDR]: CORP_URLS.PRIN_ADDR,\n    [CORP_ACTIONS.PURCHASE_DBA_COMPLIANCE]: CORP_URLS.PURCHASE_DBA_COMPLIANCE,\n    [CORP_ACTIONS.PURCHASE_DBA_ENTITY]: CORP_URLS.PURCHASE_DBA_ENTITY,\n    [CORP_ACTIONS.SEC]: CORP_URLS.SEC,\n    [CORP_ACTIONS.SHARE]: CORP_URLS.SHARE_NEW_CORP,\n    [CORP_ACTIONS.START_COMP]: CORP_URLS.START_COMP,\n    [CORP_ACTIONS.TRSR]: CORP_URLS.TRSR,\n    [CORP_ACTIONS.VP]: CORP_URLS.VP,\n\n    [COMP_BLR_ACTIONS.AUTH_SIG]: COMP_BLR_URLS.AUTH_SIG,\n    [COMP_BLR_ACTIONS.BUS_INDUSTRY]: COMP_BLR_URLS.BUS_INDUSTRY,\n    [COMP_BLR_ACTIONS.BUS_AT_HOME]: COMP_BLR_URLS.BUS_AT_HOME,\n    [COMP_BLR_ACTIONS.CHOOSE_PRIM_CONTACT]: COMP_BLR_URLS.CHOOSE_PRIM_CONTACT,\n    [COMP_BLR_ACTIONS.CORP_ASST_SEC]: COMP_BLR_URLS.CORP_ASST_SEC,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: COMP_BLR_URLS.CORP_CHOOSE_ASST_SEC,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_PRES]: COMP_BLR_URLS.CORP_CHOOSE_PRES,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_SEC]: COMP_BLR_URLS.CORP_CHOOSE_SEC,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_TRSR]: COMP_BLR_URLS.CORP_CHOOSE_TRSR,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_VP]: COMP_BLR_URLS.CORP_CHOOSE_VP,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST]: COMP_BLR_URLS.CORP_DIR_LIST,\n    [COMP_BLR_ACTIONS.CORP_HAS_ASST_SEC]: COMP_BLR_URLS.CORP_HAS_ASST_SEC,\n    [COMP_BLR_ACTIONS.CORP_HAS_VP]: COMP_BLR_URLS.CORP_HAS_VP,\n    [COMP_BLR_ACTIONS.CORP_PRES]: COMP_BLR_URLS.CORP_PRES,\n    [COMP_BLR_ACTIONS.CORP_SEC]: COMP_BLR_URLS.CORP_SEC,\n    [COMP_BLR_ACTIONS.CORP_TRSR]: COMP_BLR_URLS.CORP_TRSR,\n    [COMP_BLR_ACTIONS.CORP_VP]: COMP_BLR_URLS.CORP_VP,\n    [COMP_BLR_ACTIONS.DATA_CONFIRM]: COMP_BLR_URLS.DATA_CONFIRM,\n    [COMP_BLR_ACTIONS.EMPL_COUNT]: COMP_BLR_URLS.EMPL_COUNT,\n    [COMP_BLR_ACTIONS.HAS_DBAS]: COMP_BLR_URLS.HAS_DBAS,\n    [COMP_BLR_ACTIONS.HAS_EMPLOYEES]: COMP_BLR_URLS.HAS_EMPLOYEES,\n    [COMP_BLR_ACTIONS.LLC_BUS_RUN]: COMP_BLR_URLS.LLC_BUS_RUN,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST]: COMP_BLR_URLS.LLC_MGR_LIST,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT]: COMP_BLR_URLS.LLC_MGR_OPT,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST]: COMP_BLR_URLS.LLC_MBR_LIST,\n    [COMP_BLR_ACTIONS.MAIL_ADDR]: COMP_BLR_URLS.MAIL_ADDR,\n    [COMP_BLR_ACTIONS.PHYS_ADDR]: COMP_BLR_URLS.PHYS_ADDR,\n    [COMP_BLR_ACTIONS.PRIM_CONTACT]: COMP_BLR_URLS.PRIM_CONTACT,\n    [COMP_BLR_ACTIONS.PRIN_ADDR]: COMP_BLR_URLS.PRIN_ADDR,\n    [COMP_BLR_ACTIONS.REG_AGT]: COMP_BLR_URLS.REG_AGT,\n    [COMP_BLR_ACTIONS.SHARE]: COMP_BLR_URLS.SHARE,\n    [COMP_BLR_ACTIONS.START_BUS_DATA]: COMP_BLR_URLS.START_BUS_DATA,\n    [COMP_BLR_ACTIONS.START_BLR_DATA]: COMP_BLR_URLS.START_BLR_DATA,\n\n    [COMP_CORA_ACTIONS.AUTH_SIG]: COMP_CORA_URLS.AUTH_SIG,\n    [COMP_CORA_ACTIONS.BUS_DESC]: COMP_CORA_URLS.BUS_DESC,\n    [COMP_CORA_ACTIONS.CHOOSE_OFF_STATE_CONTACT]: COMP_CORA_URLS.CHOOSE_OFF_STATE_CONTACT,\n    [COMP_CORA_ACTIONS.CHOOSE_SOP_CONTACT]: COMP_CORA_URLS.CHOOSE_SOP_CONTACT,\n    [COMP_CORA_ACTIONS.CORP_ASST_SEC]: COMP_CORA_URLS.CORP_ASST_SEC,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_ASST_SEC]: COMP_CORA_URLS.CORP_CHOOSE_ASST_SEC,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_PRES]: COMP_CORA_URLS.CORP_CHOOSE_PRES,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_SEC]: COMP_CORA_URLS.CORP_CHOOSE_SEC,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_TRSR]: COMP_CORA_URLS.CORP_CHOOSE_TRSR,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_VP]: COMP_CORA_URLS.CORP_CHOOSE_VP,\n    [COMP_CORA_ACTIONS.CORP_DIR_LIST]: COMP_CORA_URLS.CORP_DIR_LIST,\n    [COMP_CORA_ACTIONS.CORP_HAS_ASST_SEC]: COMP_CORA_URLS.CORP_HAS_ASST_SEC,\n    [COMP_CORA_ACTIONS.CORP_HAS_VP]: COMP_CORA_URLS.CORP_HAS_VP,\n    [COMP_CORA_ACTIONS.CORP_PRES]: COMP_CORA_URLS.CORP_PRES,\n    [COMP_CORA_ACTIONS.CORP_SEC]: COMP_CORA_URLS.CORP_SEC,\n    [COMP_CORA_ACTIONS.CORP_TRSR]: COMP_CORA_URLS.CORP_TRSR,\n    [COMP_CORA_ACTIONS.CORP_VP]: COMP_CORA_URLS.CORP_VP,\n    [COMP_CORA_ACTIONS.DATA_CONFIRM]: COMP_CORA_URLS.DATA_CONFIRM,\n    [COMP_CORA_ACTIONS.DOM_JUR]: COMP_CORA_URLS.DOM_JUR,\n    [COMP_CORA_ACTIONS.LLC_BUS_RUN]: COMP_CORA_URLS.LLC_BUS_RUN,\n    [COMP_CORA_ACTIONS.LLC_MGR_LIST]: COMP_CORA_URLS.LLC_MGR_LIST,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT]: COMP_CORA_URLS.LLC_MGR_OPT,\n    [COMP_CORA_ACTIONS.LLC_MBR_LIST]: COMP_CORA_URLS.LLC_MBR_LIST,\n    [COMP_CORA_ACTIONS.MAIL_ADDR]: COMP_CORA_URLS.MAIL_ADDR,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT]: COMP_CORA_URLS.MAIL_ADDR,\n    [COMP_CORA_ACTIONS.PHYS_ADDR]: COMP_CORA_URLS.PHYS_ADDR,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT]: COMP_CORA_URLS.OFF_STATE_CONTACT,\n    [COMP_CORA_ACTIONS.PRIN_ADDR]: COMP_CORA_URLS.PRIN_ADDR,\n    [COMP_CORA_ACTIONS.SHARE]: COMP_CORA_URLS.SHARE,\n    [COMP_CORA_ACTIONS.SOP_CONTACT]: COMP_CORA_URLS.SOP_CONTACT,\n    [COMP_CORA_ACTIONS.START]: COMP_CORA_URLS.START,\n    [COMP_CORA_ACTIONS.STATE_FILING]: COMP_CORA_URLS.STATE_FILING,\n\n    [COMP_DBA_ACTIONS.BUS_DESC]: COMP_DBA_URLS.BUS_DESC,\n    [COMP_DBA_ACTIONS.DATA_CONFIRM]: COMP_DBA_URLS.DATA_CONFIRM,\n    [COMP_DBA_ACTIONS.DOM_JUR]: COMP_DBA_URLS.DOM_JUR,\n    [COMP_DBA_ACTIONS.EIN]: COMP_DBA_URLS.EIN,\n    [COMP_DBA_ACTIONS.HAS_EIN]: COMP_DBA_URLS.HAS_EIN,\n    [COMP_DBA_ACTIONS.IS_DOM_JUR]: COMP_DBA_URLS.IS_DOM_JUR,\n    [COMP_DBA_ACTIONS.MAIL_ADDR]: COMP_DBA_URLS.MAIL_ADDR,\n    [COMP_DBA_ACTIONS.OWNER_COUNT]: COMP_DBA_URLS.OWNER_COUNT,\n    [COMP_DBA_ACTIONS.OWNERS]: COMP_DBA_URLS.OWNERS,\n    [COMP_DBA_ACTIONS.PHYS_ADDR]: COMP_DBA_URLS.PHYS_ADDR,\n    [COMP_DBA_ACTIONS.PRIN_ADDR]: COMP_DBA_URLS.PRIN_ADDR,\n    [COMP_DBA_ACTIONS.REG_AGT]: COMP_DBA_URLS.REG_AGT,\n    [COMP_DBA_ACTIONS.START]: COMP_DBA_URLS.START,\n    [COMP_DBA_ACTIONS.START_EIN]: COMP_DBA_URLS.START_EIN,\n    [COMP_DBA_ACTIONS.STATE_FILING]: COMP_DBA_URLS.STATE_FILING,\n\n    [COMP_EIN_ACTIONS.ATF]: COMP_EIN_URLS.ATF,\n    [COMP_EIN_ACTIONS.BUS_ACT]: COMP_EIN_URLS.BUS_ACT,\n    [COMP_EIN_ACTIONS.BUS_720]: COMP_EIN_URLS.BUS_720,\n    [COMP_EIN_ACTIONS.BUS_QUEST_START]: COMP_EIN_URLS.BUS_QUEST_START,\n    [COMP_EIN_ACTIONS.CHOOSE_RESP]: COMP_EIN_URLS.CHOOSE_RESP,\n    [COMP_EIN_ACTIONS.CORP_TAXED]: COMP_EIN_URLS.CORP_TAXED,\n    [COMP_EIN_ACTIONS.DATA_CONFIRM]: COMP_EIN_URLS.DATA_CONFIRM,\n    [COMP_EIN_ACTIONS.HAS_DBAS]: COMP_EIN_URLS.HAS_DBAS,\n    [COMP_EIN_ACTIONS.DBA_NAMES]: COMP_EIN_URLS.DBA_NAMES,\n    [COMP_EIN_ACTIONS.HAS_EMPL_W2]: COMP_EIN_URLS.HAS_EMPL_W2,\n    [COMP_EIN_ACTIONS.EMPL_W2]: COMP_EIN_URLS.EMPL_W2,\n    [COMP_EIN_ACTIONS.GAMBLING]: COMP_EIN_URLS.GAMBLING,\n    [COMP_EIN_ACTIONS.HAS_SSN]: COMP_EIN_URLS.HAS_SSN,\n    [COMP_EIN_ACTIONS.LLC_ARE_MARRIED]: COMP_EIN_URLS.LLC_ARE_MARRIED,\n    [COMP_EIN_ACTIONS.LLC_MARRIED_TAXED]: COMP_EIN_URLS.LLC_MARRIED_TAXED,\n    [COMP_EIN_ACTIONS.MAIL_ADDR]: COMP_EIN_URLS.MAIL_ADDR,\n    [COMP_EIN_ACTIONS.NO_SSN]: COMP_EIN_URLS.NO_SSN,\n    [COMP_EIN_ACTIONS.PHYS_ADDR]: COMP_EIN_URLS.PHYS_ADDR,\n    [COMP_EIN_ACTIONS.PRIN_ADDR]: COMP_EIN_URLS.PRIN_ADDR,\n    [COMP_EIN_ACTIONS.RESP_INFO]: COMP_EIN_URLS.RESP_INFO,\n    [COMP_EIN_ACTIONS.SHARE]: COMP_EIN_URLS.SHARE,\n    [COMP_EIN_ACTIONS.START_EIN]: COMP_EIN_URLS.START_EIN,\n    [COMP_EIN_ACTIONS.VEHICLE]: COMP_EIN_URLS.VEHICLE,\n    [COMP_EIN_ACTIONS.VEHICLE_WEIGHT]: COMP_EIN_URLS.VEHICLE_WEIGHT,\n\n    [COMP_BUSINESS_ACTIONS.BUS_DESC]: COMP_BUSINESS_URLS.BUS_DESC,\n    [COMP_BUSINESS_ACTIONS.CHOOSE_PRIM_CONTACT]: COMP_BUSINESS_URLS.CHOOSE_PRIM_CONTACT,\n    [COMP_BUSINESS_ACTIONS.CORP_ASST_SEC]: COMP_BUSINESS_URLS.CORP_ASST_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_ASST_SEC]: COMP_BUSINESS_URLS.CORP_CHOOSE_ASST_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_PRES]: COMP_BUSINESS_URLS.CORP_CHOOSE_PRES,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_SEC]: COMP_BUSINESS_URLS.CORP_CHOOSE_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_TRSR]: COMP_BUSINESS_URLS.CORP_CHOOSE_TRSR,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_VP]: COMP_BUSINESS_URLS.CORP_CHOOSE_VP,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_COUNT]: COMP_BUSINESS_URLS.CORP_DIR_COUNT,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_LIST]: COMP_BUSINESS_URLS.CORP_DIR_LIST,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_ASST_SEC]: COMP_BUSINESS_URLS.CORP_HAS_ASST_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_HAS_VP]: COMP_BUSINESS_URLS.CORP_HAS_VP,\n    [COMP_BUSINESS_ACTIONS.CORP_PRES]: COMP_BUSINESS_URLS.CORP_PRES,\n    [COMP_BUSINESS_ACTIONS.CORP_SEC]: COMP_BUSINESS_URLS.CORP_SEC,\n    [COMP_BUSINESS_ACTIONS.CORP_TRSR]: COMP_BUSINESS_URLS.CORP_TRSR,\n    [COMP_BUSINESS_ACTIONS.CORP_VP]: COMP_BUSINESS_URLS.CORP_VP,\n    [COMP_BUSINESS_ACTIONS.DATA_CONFIRM]: COMP_BUSINESS_URLS.DATA_CONFIRM,\n    [COMP_BUSINESS_ACTIONS.LLC_BUS_RUN]: COMP_BUSINESS_URLS.LLC_BUS_RUN,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_COUNT]: COMP_BUSINESS_URLS.LLC_MBR_COUNT,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_LIST]: COMP_BUSINESS_URLS.LLC_MBR_LIST,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_COUNT]: COMP_BUSINESS_URLS.LLC_MGR_COUNT,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_LIST]: COMP_BUSINESS_URLS.LLC_MGR_LIST,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_OPT]: COMP_BUSINESS_URLS.LLC_MGR_OPT,\n    [COMP_BUSINESS_ACTIONS.MAIL_ADDR]: COMP_BUSINESS_URLS.MAIL_ADDR,\n    [COMP_BUSINESS_ACTIONS.PAYMENT]: COMP_BUSINESS_URLS.PAYMENT,\n    [COMP_BUSINESS_ACTIONS.PHYS_ADDR]: COMP_BUSINESS_URLS.PHYS_ADDR,\n    [COMP_BUSINESS_ACTIONS.PRIM_CONTACT]: COMP_BUSINESS_URLS.PRIM_CONTACT,\n    [COMP_BUSINESS_ACTIONS.PRIN_ADDR]: COMP_BUSINESS_URLS.PRIN_ADDR,\n    [COMP_BUSINESS_ACTIONS.PURCH_REG_AGT]: COMP_BUSINESS_URLS.PURCH_REG_AGT,\n    [COMP_BUSINESS_ACTIONS.REG_AGT]: COMP_BUSINESS_URLS.REG_AGT,\n\n    [COMP_NYPUB_ACTIONS.BUS_DESC]: COMP_NYPUB_ACTIONS.BUS_DESC,\n    [COMP_NYPUB_ACTIONS.CHOOSE_PRIM_CONTACT]: COMP_NYPUB_URLS.CHOOSE_PRIM_CONTACT,\n    [COMP_NYPUB_ACTIONS.DATA_CONFIRM]: COMP_NYPUB_URLS.DATA_CONFIRM,\n    [COMP_NYPUB_ACTIONS.LLC_BUS_RUN]: COMP_NYPUB_URLS.LLC_BUS_RUN,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_COUNT]: COMP_NYPUB_URLS.LLC_MBR_COUNT,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST]: COMP_NYPUB_URLS.LLC_MBR_LIST,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_COUNT]: COMP_NYPUB_URLS.LLC_MGR_COUNT,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST]: COMP_NYPUB_URLS.LLC_MGR_LIST,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT]: COMP_NYPUB_URLS.LLC_MGR_OPT,\n    [COMP_NYPUB_ACTIONS.MAIL_ADDR]: COMP_NYPUB_URLS.MAIL_ADDR,\n    [COMP_NYPUB_ACTIONS.PHYS_ADDR]: COMP_NYPUB_URLS.PHYS_ADDR,\n    [COMP_NYPUB_ACTIONS.PRIM_CONTACT]: COMP_NYPUB_URLS.PRIM_CONTACT,\n    [COMP_NYPUB_ACTIONS.PRIN_ADDR]: COMP_NYPUB_URLS.PRIN_ADDR,\n    [COMP_NYPUB_ACTIONS.REG_AGT]: COMP_NYPUB_URLS.REG_AGT,\n    [COMP_NYPUB_ACTIONS.SHARE]: COMP_NYPUB_URLS.SHARE,\n    [COMP_NYPUB_ACTIONS.START]: COMP_NYPUB_URLS.START,\n\n    [COMP_WFG_ACTIONS.ACCOWN_ADDR]: COMP_WFG_URLS.ACCOWN_ADDR,\n    [COMP_WFG_ACTIONS.ACCOWN_ADDR_UNL]: COMP_WFG_URLS.ACCOWN_ADDR_UNL,\n    [COMP_WFG_ACTIONS.BUS_ADDR]: COMP_WFG_URLS.BUS_ADDR,\n    [COMP_WFG_ACTIONS.BUS_ADDR_UNL]: COMP_WFG_URLS.BUS_ADDR_UNL,\n    [COMP_WFG_ACTIONS.BUS_DESC]: COMP_WFG_URLS.BUS_DESC,\n    [COMP_WFG_ACTIONS.BUS_NAME]: COMP_WFG_URLS.BUS_NAME,\n    [COMP_WFG_ACTIONS.CHOOSE_PRIM_CONTACT]: COMP_WFG_URLS.CHOOSE_PRIM_CONTACT,\n    [COMP_WFG_ACTIONS.CORP_ASST_SEC]: COMP_WFG_URLS.CORP_ASST_SEC,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: COMP_WFG_URLS.CORP_CHOOSE_ASST_SEC,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_PRES]: COMP_WFG_URLS.CORP_CHOOSE_PRES,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_SEC]: COMP_WFG_URLS.CORP_CHOOSE_SEC,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_TRSR]: COMP_WFG_URLS.CORP_CHOOSE_TRSR,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_VP]: COMP_WFG_URLS.CORP_CHOOSE_VP,\n    [COMP_WFG_ACTIONS.CORP_DIR_LIST]: COMP_WFG_URLS.CORP_DIR_LIST,\n    [COMP_WFG_ACTIONS.CORP_HAS_ASST_SEC]: COMP_WFG_URLS.CORP_HAS_ASST_SEC,\n    [COMP_WFG_ACTIONS.CORP_HAS_VP]: COMP_WFG_URLS.CORP_HAS_VP,\n    [COMP_WFG_ACTIONS.CORP_PRES]: COMP_WFG_URLS.CORP_PRES,\n    [COMP_WFG_ACTIONS.CORP_SEC]: COMP_WFG_URLS.CORP_SEC,\n    [COMP_WFG_ACTIONS.CORP_TRSR]: COMP_WFG_URLS.CORP_TRSR,\n    [COMP_WFG_ACTIONS.CORP_VP]: COMP_WFG_URLS.CORP_VP,\n    [COMP_WFG_ACTIONS.DATA_CONFIRM]: COMP_WFG_URLS.DATA_CONFIRM,\n    [COMP_WFG_ACTIONS.LLC_BUS_RUN]: COMP_WFG_URLS.LLC_BUS_RUN,\n    [COMP_WFG_ACTIONS.LLC_MGR_LIST]: COMP_WFG_URLS.LLC_MGR_LIST,\n    [COMP_WFG_ACTIONS.LLC_MGR_OPT]: COMP_WFG_URLS.LLC_MGR_OPT,\n    [COMP_WFG_ACTIONS.LLC_MBR_LIST]: COMP_WFG_URLS.LLC_MBR_LIST,\n    [COMP_WFG_ACTIONS.MAIL_ADDR]: COMP_WFG_URLS.MAIL_ADDR,\n    [COMP_WFG_ACTIONS.PHYS_ADDR]: COMP_WFG_URLS.PHYS_ADDR,\n    [COMP_WFG_ACTIONS.PRIM_CONTACT]: COMP_WFG_URLS.PRIM_CONTACT,\n    [COMP_WFG_ACTIONS.PRIN_ADDR]: COMP_WFG_URLS.PRIN_ADDR,\n    [COMP_WFG_ACTIONS.REG_AGT]: COMP_WFG_URLS.REG_AGT,\n    [COMP_WFG_ACTIONS.SHARE]: COMP_WFG_URLS.SHARE,\n    [COMP_WFG_ACTIONS.START]: COMP_WFG_URLS.START,\n\n    [POSTPURCHASE_ACTIONS.BLR_BUS_AT_HOME]: POSTPURCHASE_URLS.BLR_BUS_AT_HOME,\n    [POSTPURCHASE_ACTIONS.BLR_BUS_INDUSTRY]: POSTPURCHASE_URLS.BLR_BUS_INDUSTRY,\n    [POSTPURCHASE_ACTIONS.BLR_DATA_CONFIRM]: POSTPURCHASE_URLS.BLR_DATA_CONFIRM,\n    [POSTPURCHASE_ACTIONS.BLR_EMPL_COUNT]: POSTPURCHASE_URLS.BLR_EMPL_COUNT,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_DBAS]: POSTPURCHASE_URLS.BLR_HAS_DBAS,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_EMPLOYEES]: POSTPURCHASE_URLS.BLR_HAS_EMPLOYEES,\n    [POSTPURCHASE_ACTIONS.BLR_START]: POSTPURCHASE_URLS.BLR_START,\n    [POSTPURCHASE_ACTIONS.FUTURE_FILING_DATE]: POSTPURCHASE_URLS.FUTURE_FILING_DATE,\n    [POSTPURCHASE_ACTIONS.MARK_COMPLETE]: POSTPURCHASE_URLS.MARK_COMPLETE,\n    [POSTPURCHASE_ACTIONS.PAYMENT]: POSTPURCHASE_URLS.PAYMENT,\n    [POSTPURCHASE_ACTIONS.PURCHASE_BLR]: POSTPURCHASE_URLS.PURCHASE_BLR,\n    [POSTPURCHASE_ACTIONS.PURCHASE_FFD]: POSTPURCHASE_URLS.PURCHASE_FFD,\n    [POSTPURCHASE_ACTIONS.PURCHASE_CD]: POSTPURCHASE_URLS.PURCHASE_CD,\n    [POSTPURCHASE_ACTIONS.PURCHASE_TAX_ADVICE_BUNDLE]: POSTPURCHASE_URLS.PURCHASE_TAX_ADVICE_BUNDLE,\n    [POSTPURCHASE_ACTIONS.PURCHASE_WFGIR]: POSTPURCHASE_URLS.PURCHASE_WFGIR,\n    [POSTPURCHASE_ACTIONS.SHARE]: POSTPURCHASE_URLS.SHARE,\n    [POSTPURCHASE_ACTIONS.START]: POSTPURCHASE_URLS.START,\n\n    [BNG_ACTIONS.INIT]: BNG_URLS.INIT,\n    [BNG_ACTIONS.BUS_NAME]: BNG_URLS.RESULTS,\n    [BNG_ACTIONS.DOM_JUR]: BNG_URLS.DOM_JUR,\n    [BNG_ACTIONS.REDIRECT]: BNG_URLS.BUS_NAME_REDIRECT\n  },\n  ACTION_ORDER = {\n    // 1 - 99 - Domestic Registration\n    [ACTIONS.ACCOWN_CONTACT]: 10,\n    [ACTIONS.ACCOWN_NAME]: 3,\n    [ACTIONS.BUS_ID]: 1,\n    [ACTIONS.BUS_NAME]: 9,\n    [ACTIONS.BUS_TYPE]: 8,\n    [ACTIONS.DATA_CONFIRM]: 26,\n    [ACTIONS.DOM_JUR]: 2,\n    [ACTIONS.LOGIN_POST]: 50,\n    [ACTIONS.MAIL_ADDR]: 5,\n    [ACTIONS.PAYMENT]: 28,\n    [ACTIONS.PHYS_ADDR]: 4,\n    [ACTIONS.PRIN_ADDR]: 6,\n    [ACTIONS.PRODUCT_CONFIRM]: 27,\n    [ACTIONS.PURCH_BANK]: 15,\n    [ACTIONS.PURCH_BANK_RES]: 23,\n    [ACTIONS.PURCH_CORP_BYLAWS]: 19,\n    [ACTIONS.PURCH_DOMAIN]: 21,\n    [ACTIONS.PURCH_DOMAIN_PRIV]: 24,\n    [ACTIONS.PURCH_EXP]: 13,\n    [ACTIONS.PURCH_EIN]: 14,\n    [ACTIONS.PURCH_EMAIL]: 22,\n    [ACTIONS.PURCH_NYPUB]: 20,\n    [ACTIONS.PURCH_OP_AGREE]: 19,\n    [ACTIONS.PURCH_PRIV]: 16,\n    [ACTIONS.PURCH_PLAN]: 30,\n    [ACTIONS.PURCH_START]: 11,\n    [ACTIONS.PURCH_WEBSITE]: 25,\n    [ACTIONS.PURCH_WF]: 18,\n    [ACTIONS.REG_AGT]: 17,\n    [ACTIONS.STATE_REQ]: 29,\n    [ACTIONS.PURCH_RAS]: 12,\n\n    // 100 - 199 - Personalization Registration - leave open\n\n    // 200 - 299 - Prepurchase EIN\n    [REG_EIN_ACTIONS.ACCOWN_CONTACT]: 207,\n    [REG_EIN_ACTIONS.ACCOWN_NAME]: 206,\n    [REG_EIN_ACTIONS.BUS_ADDR]: 205,\n    [REG_EIN_ACTIONS.BUS_ADDR_UNL]: 205,\n    [REG_EIN_ACTIONS.BUS_ID]: 200,\n    [REG_EIN_ACTIONS.BUS_NAME]: 202,\n    [REG_EIN_ACTIONS.BUS_TYPE]: 201,\n    [REG_EIN_ACTIONS.CORP_TAXED]: 208,\n    [REG_EIN_ACTIONS.DOM_JUR]: 203,\n    [REG_EIN_ACTIONS.LOGIN_POST]: 210,\n    [REG_EIN_ACTIONS.NO_COMPANY]: 211,\n    [REG_EIN_ACTIONS.PAYMENT]: 209,\n\n    // 300 - 399 - Name Reservation Registration\n    [REG_NAMERES_ACTIONS.ACCOWN_CONTACT]: 306,\n    [REG_NAMERES_ACTIONS.ACCOWN_NAME]: 305,\n    [REG_NAMERES_ACTIONS.ACC_OWN_INFO]: 309,\n    [REG_NAMERES_ACTIONS.BUS_NAME]: 301,\n    [REG_NAMERES_ACTIONS.BUS_TYPE]: 302,\n    [REG_NAMERES_ACTIONS.DOM_JUR]: 300,\n    [REG_NAMERES_ACTIONS.MAIL_ADDR]: 304,\n    [REG_NAMERES_ACTIONS.PAYMENT]: 307,\n    [REG_NAMERES_ACTIONS.PRIN_ADDR]: 303,\n    [REG_NAMERES_ACTIONS.SHARE]: 308,\n\n    // 400 - 499 - NY Publication Registration\n    [REG_NYPUB_ACTIONS.ACCOWN_CONTACT]: 403,\n    [REG_NYPUB_ACTIONS.ACCOWN_NAME]: 402,\n    [REG_NYPUB_ACTIONS.BUS_ID]: 400,\n    [REG_NYPUB_ACTIONS.BUS_NAME]: 407,\n    [REG_NYPUB_ACTIONS.DATA_CONFIRM]: 408,\n    [REG_NYPUB_ACTIONS.DOM_JUR]: 401,\n    [REG_NYPUB_ACTIONS.LOGIN_POST]: 410,\n    [REG_NYPUB_ACTIONS.MAIL_ADDR]: 405,\n    [REG_NYPUB_ACTIONS.PAYMENT]: 409,\n    [REG_NYPUB_ACTIONS.PHYS_ADDR]: 406,\n    [REG_NYPUB_ACTIONS.PRIN_ADDR]: 404,\n\n    // 500 - 599 - Worry-Free Compliance Registration\n    [REG_WFG_ACTIONS.ACCOWN_CONTACT]: 502,\n    [REG_WFG_ACTIONS.ACCOWN_NAME]: 501,\n    [REG_WFG_ACTIONS.BUS_ID]: 507,\n    [REG_WFG_ACTIONS.BUS_NAME]: 503,\n    [REG_WFG_ACTIONS.BUS_TYPE]: 508,\n    [REG_WFG_ACTIONS.DATA_CONFIRM]: 504,\n    [REG_WFG_ACTIONS.DOM_JUR]: 500,\n    [REG_WFG_ACTIONS.PAYMENT]: 505,\n    [REG_WFG_ACTIONS.LOGIN_POST]: 506,\n\n    // 600 - 699 - Change of Registered Agent Registration - leave open for now\n    [REG_CORA_PF_ACTIONS.INIT]: 1300, // Init is used here so that the InProgressContainer can control access to Questionnaire\n    [REG_CORA_PF_ACTIONS.QUESTIONNAIRE]: 1301,\n    [REG_CORA_PF_ACTIONS.LOGIN_POST]: 1302,\n\n    // 700 - 799 - TRUiC Registration - no longer used, keep open for now.\n    // 800 - 899 - TRUiC RA Registration - no longer used, keep open for now.\n    // 900 - 999 - DBA Standalone Registration\n\n    // 1000 - 1099 - Register Business\n    [REG_BUSINESS_ACTIONS.BUS_NAME]: 1001,\n    [REG_BUSINESS_ACTIONS.BUS_TYPE]: 1000,\n    [REG_BUSINESS_ACTIONS.DOM_JUR]: 1002,\n\n    // 1100 - 1199 - Prepurchase BLR\n    [REG_BLR_ACTIONS.ACCOWN_CONTACT]: 1100,\n    [REG_BLR_ACTIONS.ACCOWN_NAME]: 1101,\n    [REG_BLR_ACTIONS.BUS_DESC]: 1102,\n    [REG_BLR_ACTIONS.BUS_EXIST]: 1103,\n    [REG_BLR_ACTIONS.BUS_ID]: 1104,\n    [REG_BLR_ACTIONS.BUS_NAME]: 1105,\n    [REG_BLR_ACTIONS.BUS_TYPE]: 1106,\n    [REG_BLR_ACTIONS.DATA_CONFIRM]: 1107,\n    [REG_BLR_ACTIONS.DOM_JUR]: 1108,\n    [REG_BLR_ACTIONS.LOGIN_POST]: 1109,\n    [REG_BLR_ACTIONS.PAYMENT]: 1110,\n    [REG_BLR_ACTIONS.START]: 1111,\n\n    // 1200 - 1299 - Business Name Generator\n    [BNG_ACTIONS.INIT]: 1200,\n    [BNG_ACTIONS.BUS_NAME]: 1201,\n    [BNG_ACTIONS.DOM_JUR]: 1202,\n    [BNG_ACTIONS.REDIRECT]: 1203,\n\n    // 1300 - 1399 - CoRA PF\n    [REG_CORA_PF_ACTIONS.INIT]: 1300, // Init is used here so that the InProgressContainer can control access to Questionnaire\n    [REG_CORA_PF_ACTIONS.QUESTIONNAIRE]: 1301,\n    [REG_CORA_PF_ACTIONS.LOGIN_POST]: 1302,\n\n    //1400 - 1399 - DBA Entity PF\n    [REG_DBA_ENTITY_PF_ACTIONS.INIT]: 1400, // Init is used here so that the InProgressContainer can control access to Questionnaire\n    [REG_DBA_ENTITY_PF_ACTIONS.QUESTIONNAIRE]: 1401,\n    [REG_DBA_ENTITY_PF_ACTIONS.LOGIN_POST]: 1402,\n\n    // 5000 - 5099 - Postpurchase LLC Domestic Registration\n    [LLC_ACTIONS.BUS_ALT]: 5002,\n    [LLC_ACTIONS.BUS_DESC]: 5007,\n    [LLC_ACTIONS.BUS_NAME]: 5001,\n    [LLC_ACTIONS.SET_BUS_RUN]: 5011,\n    [LLC_ACTIONS.CHOOSE_PRIM_CONTACT]: 5013,\n    [LLC_ACTIONS.DBA_ENTITIES]: 5018,\n    [LLC_ACTIONS.DOMAIN_NAME]: 5015,\n    [LLC_ACTIONS.EMAIL_ADDRESS]: 5016,\n    [LLC_ACTIONS.MAIL_ADDR]: 5003,\n    [LLC_ACTIONS.MBR_COUNT]: 5006,\n    [LLC_ACTIONS.MGR_COUNT]: 5007,\n    [LLC_ACTIONS.PHYS_ADDR]: 5004,\n    [LLC_ACTIONS.PRIM_CONTACT]: 5014,\n    [LLC_ACTIONS.PRIN_ADDR]: 5005,\n    [LLC_ACTIONS.PURCHASE_DBA_COMPLIANCE]: 5019,\n    [LLC_ACTIONS.PURCHASE_DBA_ENTITY]: 5020,\n    [LLC_ACTIONS.SET_MBR_LIST]: 5009, // 5008 is currently dead\n    [LLC_ACTIONS.SET_MGR_LIST]: 5012,\n    [LLC_ACTIONS.SET_MGR_OPT]: 5010,\n    [LLC_ACTIONS.SHARE]: 5017,\n    [LLC_ACTIONS.START_COMP]: 5000,\n\n    // 5100 - 5199 - Postpurchase Corp Domestic Registration\n    [CORP_ACTIONS.ASST_SEC]: 5122,\n    [CORP_ACTIONS.BUS_ALT]: 5102,\n    [CORP_ACTIONS.BUS_DESC]: 5108,\n    [CORP_ACTIONS.BUS_NAME]: 5101,\n    [CORP_ACTIONS.CHOOSE_ASST_SEC]: 5121,\n    [CORP_ACTIONS.CHOOSE_PRES]: 5111,\n    [CORP_ACTIONS.CHOOSE_PRIM_CONTACT]: 5123,\n    [CORP_ACTIONS.CHOOSE_SEC]: 5118,\n    [CORP_ACTIONS.CHOOSE_TRSR]: 5116,\n    [CORP_ACTIONS.CHOOSE_VP]: 5114,\n    [CORP_ACTIONS.CORP_STOCK]: 5109,\n    [CORP_ACTIONS.HAS_MORE_THAN_ONE_SHARE]: 5107,\n    [CORP_ACTIONS.DBA_ENTITIES]: 5128,\n    [CORP_ACTIONS.DIR_COUNT]: 5106,\n    [CORP_ACTIONS.DIR_LIST]: 5110,\n    [CORP_ACTIONS.DOMAIN_NAME]: 5125,\n    [CORP_ACTIONS.EMAIL_ADDRESS]: 5126,\n    [CORP_ACTIONS.HAS_ASST_SEC]: 5120,\n    [CORP_ACTIONS.HAS_VP]: 5113,\n    [CORP_ACTIONS.MAIL_ADDR]: 5103,\n    [CORP_ACTIONS.PHYS_ADDR]: 5104,\n    [CORP_ACTIONS.PRES]: 5112,\n    [CORP_ACTIONS.PRIM_CONTACT]: 5124,\n    [CORP_ACTIONS.PRIN_ADDR]: 5105,\n    [CORP_ACTIONS.PURCHASE_DBA_COMPLIANCE]: 5129,\n    [CORP_ACTIONS.PURCHASE_DBA_ENTITY]: 5130,\n    [CORP_ACTIONS.SEC]: 5119,\n    [CORP_ACTIONS.SHARE]: 5127,\n    [CORP_ACTIONS.START_COMP]: 5100,\n    [CORP_ACTIONS.TRSR]: 5117,\n    [CORP_ACTIONS.VP]: 5115,\n\n    // 5200 - 5299 - Postpurchase EIN Registration (5216 is intentionally left open)\n    [COMP_EIN_ACTIONS.ATF]: 5212,\n    [COMP_EIN_ACTIONS.BUS_ACT]: 5217,\n    [COMP_EIN_ACTIONS.BUS_720]: 5214,\n    [COMP_EIN_ACTIONS.BUS_QUEST_START]: 5210,\n    [COMP_EIN_ACTIONS.CHOOSE_RESP]: 5204,\n    [COMP_EIN_ACTIONS.CORP_INFO]: 5209,\n    [COMP_EIN_ACTIONS.CORP_TAXED]: 5203,\n    [COMP_EIN_ACTIONS.DATA_CONFIRM]: 5224,\n    [COMP_EIN_ACTIONS.HAS_DBAS]: 5228,\n    [COMP_EIN_ACTIONS.DBA_NAMES]: 5206,\n    [COMP_EIN_ACTIONS.HAS_EMPL_W2]: 5230,\n    [COMP_EIN_ACTIONS.EMPL_W2]: 5213,\n    [COMP_EIN_ACTIONS.GAMBLING]: 5211,\n    [COMP_EIN_ACTIONS.HAS_SSN]: 5226,\n    [COMP_EIN_ACTIONS.LLC_ARE_MARRIED]: 5201,\n    [COMP_EIN_ACTIONS.LLC_MARRIED_TAXED]: 5202,\n    [COMP_EIN_ACTIONS.MAIL_ADDR]: 5207,\n    [COMP_EIN_ACTIONS.NO_SSN]: 5227,\n    [COMP_EIN_ACTIONS.PHYS_ADDR]: 5208,\n    [COMP_EIN_ACTIONS.PRIN_ADDR]: 5207,\n    [COMP_EIN_ACTIONS.RESP_INFO]: 5205,\n    [COMP_EIN_ACTIONS.SHARE]: 5225,\n    [COMP_EIN_ACTIONS.START_EIN]: 5200,\n    [COMP_EIN_ACTIONS.VEHICLE]: 5214,\n    [COMP_EIN_ACTIONS.VEHICLE_WEIGHT]: 5215,\n\n    // 5300 - 5399 - Postpurchase Banking - no longer used, keep open for now.\n    // 5400 - 5499 - Postpurchase WFG registration\n    [COMP_WFG_ACTIONS.BUS_DESC]: 5407,\n    [COMP_WFG_ACTIONS.BUS_NAME]: 5406,\n    [COMP_WFG_ACTIONS.CHOOSE_PRIM_CONTACT]: 5427,\n    [COMP_WFG_ACTIONS.CORP_ASST_SEC]: 5425,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: 5424,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_PRES]: 5414,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_SEC]: 5421,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_TRSR]: 5419,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_VP]: 5417,\n    [COMP_WFG_ACTIONS.CORP_DIR_LIST]: 5413,\n    [COMP_WFG_ACTIONS.CORP_HAS_ASST_SEC]: 5421,\n    [COMP_WFG_ACTIONS.CORP_HAS_VP]: 5416,\n    [COMP_WFG_ACTIONS.CORP_PRES]: 5415,\n    [COMP_WFG_ACTIONS.CORP_SEC]: 5422,\n    [COMP_WFG_ACTIONS.CORP_TRSR]: 5420,\n    [COMP_WFG_ACTIONS.CORP_VP]: 5418,\n    [COMP_WFG_ACTIONS.DATA_CONFIRM]: 5428,\n    [COMP_WFG_ACTIONS.LLC_BUS_RUN]: 5411,\n    [COMP_WFG_ACTIONS.LLC_MGR_LIST]: 5412,\n    [COMP_WFG_ACTIONS.LLC_MGR_OPT]: 5410,\n    [COMP_WFG_ACTIONS.LLC_MBR_LIST]: 5409,\n    [COMP_WFG_ACTIONS.MAIL_ADDR]: 5401,\n    [COMP_WFG_ACTIONS.PHYS_ADDR]: 5402,\n    [COMP_WFG_ACTIONS.PRIN_ADDR]: 5403,\n    [COMP_WFG_ACTIONS.PRIM_CONTACT]: 5428,\n    [COMP_WFG_ACTIONS.REG_AGT]: 5426,\n    [COMP_WFG_ACTIONS.SHARE]: 5429,\n    [COMP_WFG_ACTIONS.START]: 5400,\n\n    // 5500 - 5599 - Postpurchase Change of Registered Agent registration\n    [COMP_CORA_ACTIONS.AUTH_SIG]: 5506,\n    [COMP_CORA_ACTIONS.BUS_DESC]: 5507,\n    [COMP_CORA_ACTIONS.CHOOSE_OFF_STATE_CONTACT]: 5527,\n    [COMP_CORA_ACTIONS.CHOOSE_SOP_CONTACT]: 5529,\n    [COMP_CORA_ACTIONS.CORP_ASST_SEC]: 5525,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_ASST_SEC]: 5524,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_PRES]: 5514,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_SEC]: 5521,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_TRSR]: 5519,\n    [COMP_CORA_ACTIONS.CORP_CHOOSE_VP]: 5517,\n    [COMP_CORA_ACTIONS.CORP_DIR_LIST]: 5513,\n    [COMP_CORA_ACTIONS.CORP_HAS_ASST_SEC]: 5521,\n    [COMP_CORA_ACTIONS.CORP_HAS_VP]: 5516,\n    [COMP_CORA_ACTIONS.CORP_PRES]: 5515,\n    [COMP_CORA_ACTIONS.CORP_SEC]: 5522,\n    [COMP_CORA_ACTIONS.CORP_TRSR]: 5520,\n    [COMP_CORA_ACTIONS.DATA_CONFIRM]: 5531,\n    [COMP_CORA_ACTIONS.DOM_JUR]: 5532,\n    [COMP_CORA_ACTIONS.CORP_VP]: 5518,\n    [COMP_CORA_ACTIONS.LLC_BUS_RUN]: 5511,\n    [COMP_CORA_ACTIONS.LLC_MGR_LIST]: 5512,\n    [COMP_CORA_ACTIONS.LLC_MGR_OPT]: 5510,\n    [COMP_CORA_ACTIONS.LLC_MBR_LIST]: 5509,\n    [COMP_CORA_ACTIONS.MAIL_ADDR]: 5501,\n    [COMP_CORA_ACTIONS.OFF_STATE_CONTACT]: 5528,\n    [COMP_CORA_ACTIONS.PHYS_ADDR]: 5502,\n    [COMP_CORA_ACTIONS.PRIN_ADDR]: 5503,\n    [COMP_CORA_ACTIONS.REG_AGT]: 5526,\n    [COMP_CORA_ACTIONS.SHARE]: 5532,\n    [COMP_CORA_ACTIONS.SOP_CONTACT]: 5530,\n    [COMP_CORA_ACTIONS.START]: 5500,\n    [COMP_CORA_ACTIONS.STATE_FILING]: 5533,\n\n    // 5600 - 5699 - Postpurchase TRUiC Registered Agent registration - No longer used, keep open for now.\n    // 5700 - 5799 - Postpurchase NY Pub registration\n    [COMP_NYPUB_ACTIONS.BUS_DESC]: 5701,\n    [COMP_NYPUB_ACTIONS.CHOOSE_PRIM_CONTACT]: 5712,\n    [COMP_NYPUB_ACTIONS.DATA_CONFIRM]: 5714,\n    [COMP_NYPUB_ACTIONS.LLC_BUS_RUN]: 5708,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_COUNT]: 5705,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST]: 5706,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_COUNT]: 5709,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST]: 5710,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_OPT]: 5707,\n    [COMP_NYPUB_ACTIONS.MAIL_ADDR]: 5703,\n    [COMP_NYPUB_ACTIONS.PHYS_ADDR]: 5704,\n    [COMP_NYPUB_ACTIONS.PRIM_CONTACT]: 5713,\n    [COMP_NYPUB_ACTIONS.PRIN_ADDR]: 5702,\n    [COMP_NYPUB_ACTIONS.REG_AGT]: 5711,\n    [COMP_NYPUB_ACTIONS.SHARE]: 5715,\n    [COMP_NYPUB_ACTIONS.START]: 5700,\n\n    // 5800 - 5899 - Postpurchase DBA Standalone registration\n    [COMP_DBA_ACTIONS.BUS_DESC]: 5801,\n    [COMP_DBA_ACTIONS.DATA_CONFIRM]: 5814,\n    [COMP_DBA_ACTIONS.DOM_JUR]: 5811,\n    [COMP_DBA_ACTIONS.EIN]: 5813,\n    [COMP_DBA_ACTIONS.HAS_EIN]: 5812,\n    [COMP_DBA_ACTIONS.IS_DOM_JUR]: 5810,\n    [COMP_DBA_ACTIONS.MAIL_ADDR]: 5804,\n    [COMP_DBA_ACTIONS.OWNER_COUNT]: 5807,\n    [COMP_DBA_ACTIONS.OWNERS]: 5808,\n    [COMP_DBA_ACTIONS.PHYS_ADDR]: 5805,\n    [COMP_DBA_ACTIONS.PRIN_ADDR]: 5802,\n    [COMP_DBA_ACTIONS.REG_AGT]: 5806,\n    [COMP_DBA_ACTIONS.START]: 5800,\n    [COMP_DBA_ACTIONS.START_EIN]: 5815,\n    [COMP_DBA_ACTIONS.STATE_FILING]: 5809,\n\n    // 5900 - 5999 - Postpurchase Registration (5216 is intentionally left open)\n    [COMP_BLR_ACTIONS.AUTH_SIG]: 5934,\n    [COMP_BLR_ACTIONS.BUS_DESC]: 5902,\n    [COMP_BLR_ACTIONS.BUS_INDUSTRY]: 5933,\n    [COMP_BLR_ACTIONS.BUS_AT_HOME]: 5903,\n    [COMP_BLR_ACTIONS.CHOOSE_PRIM_CONTACT]: 5904,\n    [COMP_BLR_ACTIONS.CORP_ASST_SEC]: 5905,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: 5906,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_PRES]: 5907,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_SEC]: 5908,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_TRSR]: 5909,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_VP]: 5910,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST]: 5911,\n    [COMP_BLR_ACTIONS.CORP_HAS_ASST_SEC]: 5912,\n    [COMP_BLR_ACTIONS.CORP_HAS_VP]: 5913,\n    [COMP_BLR_ACTIONS.CORP_PRES]: 5914,\n    [COMP_BLR_ACTIONS.CORP_SEC]: 5915,\n    [COMP_BLR_ACTIONS.CORP_TRSR]: 5916,\n    [COMP_BLR_ACTIONS.CORP_VP]: 5917,\n    [COMP_BLR_ACTIONS.DATA_CONFIRM]: 5918,\n    [COMP_BLR_ACTIONS.EMPL_COUNT]: 5920,\n    [COMP_BLR_ACTIONS.HAS_DBAS]: 5935,\n    [COMP_BLR_ACTIONS.HAS_EMPLOYEES]: 5936,\n    [COMP_BLR_ACTIONS.LLC_BUS_RUN]: 5921,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST]: 5922,\n    [COMP_BLR_ACTIONS.LLC_MGR_OPT]: 5923,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST]: 5924,\n    [COMP_BLR_ACTIONS.MAIL_ADDR]: 5925,\n    [COMP_BLR_ACTIONS.PHYS_ADDR]: 5926,\n    [COMP_BLR_ACTIONS.PRIN_ADDR]: 5927,\n    [COMP_BLR_ACTIONS.PRIM_CONTACT]: 5928,\n    [COMP_BLR_ACTIONS.REG_AGT]: 5929,\n    [COMP_BLR_ACTIONS.PRODS_SOLD]: 5930,\n    [COMP_BLR_ACTIONS.SHARE]: 5931,\n    [COMP_BLR_ACTIONS.START_BUS_DATA]: 5900,\n    [COMP_BLR_ACTIONS.START_BLR_DATA]: 5901,\n\n    // 10000 - 10099 - Postpurchase Questionnaire - leave open for now\n    // 10100 - 10199 - Postpurchase AddOns\n    [POSTPURCHASE_ACTIONS.BLR_BUS_AT_HOME]: 10112,\n    [POSTPURCHASE_ACTIONS.BLR_BUS_INDUSTRY]: 10113,\n    [POSTPURCHASE_ACTIONS.BLR_DATA_CONFIRM]: 10114,\n    [POSTPURCHASE_ACTIONS.BLR_EMPL_COUNT]: 10116,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_DBAS]: 10117,\n    [POSTPURCHASE_ACTIONS.BLR_HAS_EMPLOYEES]: 10118,\n    [POSTPURCHASE_ACTIONS.BLR_START]: 10119,\n    [POSTPURCHASE_ACTIONS.COMPLETE]: 10109,\n    [POSTPURCHASE_ACTIONS.FUTURE_FILING_DATE]: 10102,\n    [POSTPURCHASE_ACTIONS.MARK_COMPLETE]: 10107,\n    [POSTPURCHASE_ACTIONS.PAYMENT]: 10106,\n    [POSTPURCHASE_ACTIONS.PURCHASE_BLR]: 10110,\n    [POSTPURCHASE_ACTIONS.PURCHASE_CD]: 10103,\n    [POSTPURCHASE_ACTIONS.PURCHASE_FFD]: 10101,\n    [POSTPURCHASE_ACTIONS.PURCHASE_FEEDBACK]: 10105,\n    [POSTPURCHASE_ACTIONS.PURCHASE_WFGIR]: 10104,\n    [POSTPURCHASE_ACTIONS.PURCHASE_TAX_ADVICE_BUNDLE]: 10120,\n    [POSTPURCHASE_ACTIONS.SHARE]: 10108,\n    [POSTPURCHASE_ACTIONS.START]: 10100\n  },\n  INITIAL_STATE_DEFAULT = {\n    completedAction: '',\n    completedUrl: '',\n    completedActionIndex: 0,\n    isMigrated: true,\n    skipNameCheck: false,\n    skipToDomesticJurisdiction: false,\n\n    forceToPayment: false,\n    forceToDataConfirmation: false,\n    forceToPrivacy: false,\n    forceToRegisteredAgent: false,\n    forceToContact: false,\n    forceToMembers: false,\n    forceToManagers: false,\n    forceToDirectors: false,\n    forceToOfficers: false,\n\n    startFromDashboard: false,\n    registrationFlow: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processPage = (state, action) => {\n    const actionIndex = ACTION_ORDER[action.type] || 0,\n      currentUrl = location.pathname;\n    let completeUrl = ACTION_TO_URL_MAP[action.type];\n    if (!completeUrl) {\n      return state;\n    }\n\n    if (action.type === COMP_CORA_ACTIONS.STATE_FILING) {\n      const lastIndex = currentUrl.lastIndexOf('/');\n      completeUrl = `${completeUrl}/${currentUrl.substring(lastIndex + 1)}`;\n    }\n\n    return update(state, {\n      forceBusinessId: { $set: '' },\n      completedAction: { $set: action.type },\n      completedUrl: { $set: completeUrl },\n      completedActionIndex: { $set: actionIndex }\n    });\n  },\n  resetAllData = (state, action, data) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, data));\n  },\n  processPrePurchaseComplete = (state, action) => {\n    if (action.error) {\n      return state;\n    }\n    return update(state, {\n      completedUrl: { $set: '' },\n      completedAction: { $set: '' },\n      completedActionIndex: { $set: 0 }\n    });\n  },\n  processPostPurchaseComplete = (state, action, data) => {\n    const { isComplete = false, status = 'incomplete' } = data || {};\n\n    if (isComplete && status === 'complete') {\n      return resetAllData(state, action, data);\n    }\n    return processPage(state, action, data);\n  },\n  processRegistrationStart = (state, action, data) => {\n    const { skipPlansPage = false } = data;\n    return processPage(update(state, {\n      skipPlansPage: { $set: skipPlansPage },\n      fromDashboard: { $set: data.fromDashboard || false },\n      fromBNG: { $set: data.fromBNG || false },\n      registrationFlow: { $set: '' }\n    }), action);\n  },\n  processBusinessName = (state, action, data) => {\n    const { skipBusinessName = false } = data;\n    return processPage(update(state, {\n      skipBusinessName: { $set: skipBusinessName }\n    }), action);\n  },\n  processSetForceNoPage = (state, action, data) => {\n    const {\n      forceToPayment = false,\n      forceToDataConfirmation = false,\n      forceToPrivacy = false,\n      forceToRegisteredAgent = false,\n      forceToContact = false,\n      forceToMembers = false,\n      forceToManagers = false,\n      forceToDirectors = false,\n      forceToOfficers = false\n    } = data;\n    return update(state, {\n      forceToPayment: { $set: forceToPayment },\n      forceToDataConfirmation: { $set: forceToDataConfirmation },\n      forceToPrivacy: { $set: forceToPrivacy },\n      forceToRegisteredAgent: { $set: forceToRegisteredAgent },\n      forceToContact: { $set: forceToContact },\n      forceToMembers: { $set: forceToMembers },\n      forceToManagers: { $set: forceToManagers },\n      forceToDirectors: { $set: forceToDirectors },\n      forceToOfficers: { $set: forceToOfficers }\n    });\n  },\n  processSetForce = (state, action, data) => {\n    return processPostPurchaseComplete(processSetForceNoPage(state, action, data), action, data);\n  },\n  processClearForce = (state) => {\n    return update(state, {\n      forceToPayment: { $set: false },\n      forceToDataConfirmation: { $set: false },\n      forceToPrivacy: { $set: false },\n      forceToRegisteredAgent: { $set: false },\n      forceToContact: { $set: false },\n      forceToMembers: { $set: false },\n      forceToManagers: { $set: false },\n      forceToDirectors: { $set: false },\n      forceToOfficers: { $set: false }\n    });\n  },\n  /* eslint-disable max-statements */\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      if (state.completedActionIndex > 0 && state.completedActionIndex < 5000) {\n        return state;\n      }\n      return update(state, {\n        completedAction: { $set: '' },\n        completedActionIndex: { $set: 0 },\n        completedUrl: { $set: '' }\n      });\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      order = _find(orderData, (o) => {\n        const completedAction = _get(o, 'completed_action', null);\n\n        return completedAction !== null;\n      });\n\n    if (!order) {\n      return state;\n    }\n    const\n      { service, completed_action: ca = '', completed_url: compUrl = '', completed_action_index: compActionIndex = 0 } = order;\n\n    const completedAction = ca.indexOf('Action: ') === 0 ? ca.substring(8) : ca;\n\n    const completedUrl = compUrl,\n      completedActionIndex = compActionIndex;\n\n    if (service === 'corp_formation') {\n      return update(state, {\n        completedAction: { $set: completedAction || CORP_ACTIONS.START_COMP },\n        completedUrl: { $set: completedUrl || CORP_URLS.START_COMP },\n        completedActionIndex: { $set: completedActionIndex || 5100 },\n        registrationFlow: { $set: '' }\n      });\n    }\n    if (service === 'llc_formation') {\n      return update(state, {\n        completedAction: { $set: completedAction || LLC_ACTIONS.START_COMP },\n        completedUrl: { $set: completedUrl || LLC_URLS.START_COMP },\n        completedActionIndex: { $set: completedActionIndex || 5000 },\n        registrationFlow: { $set: '' }\n      });\n    }\n    if (service === 'dba_entity') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_DBA_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_DBA_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5800 },\n        registrationFlow: { $set: 'dba' }\n      });\n    }\n    if (service === 'ein_creation') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_EIN_ACTIONS.START_EIN },\n        completedUrl: { $set: completedUrl || COMP_EIN_URLS.START_EIN },\n        completedActionIndex: { $set: completedActionIndex || 5200 },\n        registrationFlow: { $set: 'ein' }\n      });\n    }\n    if (service === 'business_license_report') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_BLR_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_BLR_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5932 },\n        registrationFlow: { $set: 'bl' }\n      });\n    }\n    if (service === 'registered_agent_service') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_CORA_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_CORA_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5500 },\n        registrationFlow: { $set: 'cora' }\n      });\n    }\n    if (service === 'worry_free_service') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_WFG_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_WFG_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5400 },\n        registrationFlow: { $set: 'wfg' }\n      });\n    }\n    if (service === 'ny_publication') {\n      return update(state, {\n        completedAction: { $set: completedAction || COMP_NYPUB_ACTIONS.START },\n        completedUrl: { $set: completedUrl || COMP_NYPUB_URLS.START },\n        completedActionIndex: { $set: completedActionIndex || 5700 },\n        registrationFlow: { $set: 'ny' }\n      });\n    }\n    return update(state, {\n      completedAction: { $set: '' },\n      completedUrl: { $set: '' },\n      completedActionIndex: { $set: 0 },\n      registrationFlow: { $set: '' }\n    });\n  },\n  processRegisterDBAEntityPF = (state, action, data) => {\n    return processPage(update(state, {\n      fromDashboard: { $set: data.fromDashboard || false },\n      registrationFlow: { $set: 'dba' }\n    }), action);\n  },\n  processRegisterEIN = (state, action, data) => {\n    return update(state, {\n      fromDashboard: { $set: data.fromDashboard || false },\n      registrationFlow: { $set: data.registrationFlow || 'ein' }\n    });\n  },\n  processRegisterCoRAPF = (state, action, data) => {\n    return processPage(update(state, {\n      fromDashboard: { $set: data.fromDashboard || false },\n      registrationFlow: { $set: 'cora-pf' }\n    }), action);\n  },\n  processRegisterNameRes = (state) => {\n    return update(state, {\n      registrationFlow: { $set: 'nr' }\n    });\n  },\n  processBusinessNameGenerator = (state) => {\n    return update(state, {\n      registrationFlow: { $set: 'bng' }\n    });\n  },\n  processRegisterNYPub = (state) => {\n    return update(state, {\n      registrationFlow: { $set: 'ny' }\n    });\n  },\n  processRegisterWFG = (state, action, data) => {\n    return update(state, {\n      fromDashboard: { $set: data.fromDashboard || false },\n      registrationFlow: { $set: 'wfg' }\n    });\n  },\n  processRegisterAccounting = (state) => {\n    return update(state, {\n      fromDashboard: { $set: true },\n      registrationFlow: { $set: 'acct' }\n    });\n  },\n  processRegisterBusiness = (state) => {\n    return update(state, {\n      fromDashboard: { $set: true },\n      registrationFlow: { $set: 'bus' }\n    });\n  },\n  processRegisterGoodStanding = (state) => {\n    return update(state, {\n      fromDashboard: { $set: true },\n      registrationFlow: { $set: 'gs' }\n    });\n  },\n  processRegisterLogoKit = (state) => {\n    return update(state, {\n      fromDashboard: { $set: true },\n      registrationFlow: { $set: 'lk' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processLogin = (state, action, data) => {\n    return update(state, {\n      forceBusinessId: { $set: data.flow }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    return processPage(update(state, {\n      forceBusinessId: { $set: '' }\n    }), action, data);\n  },\n  processRegistrationBusinessId = (state, action, data) => {\n    return processPage(update(state, {\n      forceBusinessId: { $set: '' },\n      registrationFlow: { $set: '' }\n    }), action, data);\n  },\n  processBusinessStart = (state, action, data) => {\n    return processPage(update(state, {\n      registrationFlow: { $set: data.registrationFlow || '' }\n    }), action, data);\n  },\n  processLogout = (state) => {\n    return update(state, {\n      forceBusinessId: { $set: '' }\n    });\n  },\n  noProcess = (state) => {\n    return state;\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.BUS_ID]: processRegistrationBusinessId,\n    [ACTIONS.BUS_NAME]: processBusinessName,\n    [ACTIONS.LOGIN]: processLogin,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [ACTIONS.DATA_CONFIRM]: processSetForce,\n    [ACTIONS.PURCH_PRIV]: processSetForce,\n    [ACTIONS.REG_AGT]: processSetForce,\n    [ACTIONS.PAYMENT]: processSetForceNoPage,\n    [ACTIONS.INIT]: processRegistrationStart,\n    [ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_BUSINESS_ACTIONS.START]: processBusinessStart,\n    [COMP_BUSINESS_ACTIONS.DATA_CONFIRM]: processSetForce,\n    [COMP_BUSINESS_ACTIONS.CORP_DIR_LIST]: processClearForce,\n    [COMP_BUSINESS_ACTIONS.CORP_CHOOSE_ASST_SEC]: processClearForce,\n    [COMP_BUSINESS_ACTIONS.LLC_MBR_LIST]: processClearForce,\n    [COMP_BUSINESS_ACTIONS.LLC_MGR_LIST]: processClearForce,\n\n    [REG_ACCOUNTING_ACTIONS.INIT]: processRegisterAccounting,\n\n    [REG_BLR_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_BLR_ACTIONS.LOGIN]: processLogin,\n    [REG_BLR_ACTIONS.INIT]: processRegisterEIN,\n    [REG_BLR_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_BLR_ACTIONS.COMPLETE]: noProcess,\n    [COMP_BLR_ACTIONS.DATA_CONFIRM]: processSetForce,\n    [COMP_BLR_ACTIONS.CORP_DIR_LIST]: processClearForce,\n    [COMP_BLR_ACTIONS.CORP_CHOOSE_ASST_SEC]: processClearForce,\n    [COMP_BLR_ACTIONS.LLC_MBR_LIST]: processClearForce,\n    [COMP_BLR_ACTIONS.LLC_MGR_LIST]: processClearForce,\n    [COMP_BLR_ACTIONS.SHARE]: noProcess,\n    [COMP_BLR_ACTIONS.SHARE]: noProcess,\n\n    [REG_BUSINESS_ACTIONS.INIT]: processRegisterBusiness,\n\n    [REG_CORA_PF_ACTIONS.INIT]: processRegisterCoRAPF,\n    [REG_CORA_PF_ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [REG_CORA_PF_ACTIONS.FLOW_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_CORA_ACTIONS.COMPLETE]: noProcess,\n    [COMP_CORA_ACTIONS.SHARE]: noProcess,\n\n\n    [REG_DBA_ENTITY_PF_ACTIONS.INIT]: processRegisterDBAEntityPF,\n    [REG_DBA_ENTITY_PF_ACTIONS.PURCHASE_SUCCESS]: processComplete,\n    [REG_DBA_ENTITY_PF_ACTIONS.FLOW_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_DBA_ACTIONS.COMPLETE]: noProcess,\n    [COMP_DBA_ACTIONS.SHARE]: noProcess,\n\n    [REG_EIN_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_EIN_ACTIONS.LOGIN]: processLogin,\n    [REG_EIN_ACTIONS.INIT]: processRegisterEIN,\n    [REG_EIN_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_EIN_ACTIONS.COMPLETE]: noProcess,\n    [COMP_EIN_ACTIONS.SHARE]: noProcess,\n\n    [REG_GS_ACTIONS.INIT]: processRegisterGoodStanding,\n\n    [REG_LOGOKIT_ACTIONS.INIT]: processRegisterLogoKit,\n\n    [REG_NAMERES_ACTIONS.BUS_ID]: processBusinessId,\n    [REG_NAMERES_ACTIONS.COMPLETE]: noProcess,\n    [REG_NAMERES_ACTIONS.INIT]: processRegisterNameRes,\n    [REG_NAMERES_ACTIONS.LOGIN]: processLogin,\n    [REG_NAMERES_ACTIONS.SHARE]: noProcess,\n    [REG_NAMERES_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [REG_NYPUB_ACTIONS.INIT]: processRegisterNYPub,\n    [REG_NYPUB_ACTIONS.SET_PAYMENT_FORCE]: processSetForceNoPage,\n    [REG_NYPUB_ACTIONS.LOGIN]: processLogin,\n    [REG_NYPUB_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_NYPUB_ACTIONS.COMPLETE]: noProcess,\n    [COMP_NYPUB_ACTIONS.DATA_CONFIRM]: processSetForce,\n    [COMP_NYPUB_ACTIONS.LLC_MBR_LIST]: processClearForce,\n    [COMP_NYPUB_ACTIONS.LLC_MGR_LIST]: processClearForce,\n    [COMP_NYPUB_ACTIONS.SHARE]: noProcess,\n\n    [REG_WFG_ACTIONS.INIT]: processRegisterWFG,\n    [REG_WFG_ACTIONS.LOGIN]: processLogin,\n    [REG_WFG_ACTIONS.CREATE_ORDER_COMPLETE]: processPrePurchaseComplete,\n\n    [COMP_WFG_ACTIONS.COMPLETE]: noProcess,\n    [COMP_WFG_ACTIONS.DATA_CONFIRM]: processSetForce,\n    [COMP_WFG_ACTIONS.CORP_DIR_LIST]: processClearForce,\n    [COMP_WFG_ACTIONS.CORP_CHOOSE_ASST_SEC]: processClearForce,\n    [COMP_WFG_ACTIONS.LLC_MBR_LIST]: processClearForce,\n    [COMP_WFG_ACTIONS.LLC_MGR_LIST]: processClearForce,\n    [COMP_WFG_ACTIONS.SHARE]: noProcess,\n\n    [POSTPURCHASE_ACTIONS.COMPLETE]: noProcess,\n    [POSTPURCHASE_ACTIONS.MARK_COMPLETE]: processPostPurchaseComplete,\n    [POSTPURCHASE_ACTIONS.PAYMENT_COMPLETE]: processPostPurchaseComplete,\n    [POSTPURCHASE_ACTIONS.SHARE]: noProcess,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n    [ACCOUNT_ACTIONS.SET_LOGOUT]: processLogout,\n\n    [BNG_ACTIONS.INIT]: processBusinessNameGenerator\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    reducerData = _get(action, 'payload.reducerData', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data, reducerData) : processPage(state, action);\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { isPF } from '../../utils/PartnerUtils';\n\nexport const storageKey = 'registration/postpurchase';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    dbaEntities: [],\n    filingAction: '',\n    flowType: '',\n    futureFilingDate: '',\n    purchaseBLR: null,\n    purchaseRA: null,\n    purchaseBusinessKit: null,\n    purchaseBOF: null,\n    bofOngoing: null,\n    purchaseDBACompliance: null,\n    purchaseDBAEntity: null,\n    purchaseFFD: null,\n    purchaseTaxAdvice: null,\n    purchaseTaxAdviceBizTaxPrep: null,\n    purchaseVBA: null,\n    purchaseCD: null,\n    purchaseZbBankingPreferredOffer: null,\n    purchaseBankOfAmericaOffer: null,\n    purchaseWFGIR: null,\n    purchaseZBMPro: null,\n    purchaseExpenseTrackerAndTaxFiling: null,\n    purchaseVanityProduct: null,\n    showZBMPro: false,\n    zbmProMonthly: null,\n    taxAdviceMonthly: null,\n    taxAdviceBizTaxPrepMonthly: null,\n\n    cardToken: '',\n    last4: '',\n    brand: '',\n    cardId: '',\n    cardNumber: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0,\n    showCD: true\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processDBAEntities = (state, action, data) => {\n    const { dbaEntities } = data;\n\n    return update(state, {\n      dbaEntities: { $set: dbaEntities }\n    });\n  },\n  processFutureFilingDate = (state, action, data) => {\n    const { futureFilingDate, filingAction } = data;\n    return update(state, {\n      futureFilingDate: { $set: futureFilingDate },\n      filingAction: { $set: filingAction }\n    });\n  },\n  processZbBankingPreferredOffer = (state, action, data) => {\n    const { purchaseZbBankingPreferredOffer } = data;\n    return update(state, {\n      purchaseZbBankingPreferredOffer: { $set: purchaseZbBankingPreferredOffer }\n    });\n  },\n  processBankOfAmericaOffer = (state, action, data) => {\n    const { purchaseBankOfAmericaOffer } = data;\n    return update(state, {\n      purchaseBankOfAmericaOffer: { $set: purchaseBankOfAmericaOffer }\n    });\n  },\n  processPurchaseBLR = (state, action, data) => {\n    const { purchaseBLR } = data;\n    return update(state, {\n      purchaseBLR: { $set: purchaseBLR }\n    });\n  },\n  processPurchaseRA = (state, action, data) => {\n    const { purchaseRA } = data;\n    return update(state, {\n      purchaseRA: { $set: purchaseRA }\n    });\n  },\n  processPurchaseBusinessKit = (state, action, data) => {\n    const { purchaseBusinessKit } = data;\n    return update(state, {\n      purchaseBusinessKit: { $set: purchaseBusinessKit }\n    });\n  },\n  processPurchaseBOF = (state, action, data) => {\n    const { purchaseBOF, bofOngoing } = data;\n    return update(state, {\n      purchaseBOF: { $set: purchaseBOF },\n      bofOngoing: { $set: bofOngoing }\n    });\n  },\n  processPurchaseDBACompliance = (state, action, data) => {\n    const { purchaseDBACompliance } = data;\n    return update(state, {\n      purchaseDBACompliance: { $set: purchaseDBACompliance }\n    });\n  },\n  processPurchaseDBAEntity = (state, action, data) => {\n    const { purchaseDBAEntity } = data;\n    return update(state, {\n      purchaseDBAEntity: { $set: purchaseDBAEntity }\n    });\n  },\n  processPurchaseFFD = (state, action, data) => {\n    const { purchaseFFD } = data;\n    return update(state, {\n      purchaseFFD: { $set: purchaseFFD }\n    });\n  },\n  processPurchaseCD = (state, action, data) => {\n    const { purchaseCD } = data;\n    return update(state, {\n      purchaseCD: { $set: purchaseCD }\n    });\n  },\n  processPurchaseWFGIR = (state, action, data) => {\n    const { purchaseWFGIR } = data;\n    return update(state, {\n      purchaseWFGIR: { $set: purchaseWFGIR }\n    });\n  },\n  processPurchaseExpenseTrackerAndTaxFiling = (state, action, data) => {\n    const { purchaseExpenseTrackerAndTaxFiling } = data;\n    return update(state, {\n      purchaseExpenseTrackerAndTaxFiling: { $set: purchaseExpenseTrackerAndTaxFiling }\n    });\n  },\n  processPurchaseTaxAdviceBundle = (state, action, data) => {\n    const { purchaseTaxAdvice, taxAdviceMonthly, purchaseTaxAdviceBizTaxPrep, taxAdviceBizTaxPrepMonthly } = data;\n    return update(state, {\n      purchaseTaxAdvice: { $set: purchaseTaxAdvice },\n      taxAdviceMonthly: { $set: taxAdviceMonthly },\n      purchaseTaxAdviceBizTaxPrep: { $set: purchaseTaxAdviceBizTaxPrep },\n      taxAdviceBizTaxPrepMonthly: { $set: taxAdviceBizTaxPrepMonthly }\n    });\n  },\n  processPurchaseZBMPro = (state, action, data) => {\n    const { purchaseZBMPro, zbmProMonthly } = data;\n    return update(state, {\n      purchaseZBMPro: { $set: purchaseZBMPro },\n      zbmProMonthly: { $set: zbmProMonthly }\n    });\n  },\n  processPurchaseVBA = (state, action, data) => {\n    const { purchaseVBA } = data;\n    return update(state, {\n      purchaseVBA: { $set: purchaseVBA }\n    });\n  },\n  processVanityProduct = (state, action, data) => {\n    const { purchaseVanityProduct } = data;\n    return update(state, {\n      purchaseVanityProduct: { $set: purchaseVanityProduct }\n    });\n  },\n\n  processPayment = (state, action, data) => {\n    const {\n      cardToken,\n      last4,\n      brand,\n      cardId,\n      cardNumber,\n      expMonth,\n      expYear,\n      cvc,\n      purchaseZbBankingPreferredOffer = false,\n      purchaseBankOfAmericaOffer = false,\n      purchaseBLR = false,\n      purchaseBusinessKit = false,\n      purchaseBOF = false,\n      bofOngoing = false,\n      purchaseRA = false,\n      purchaseFFD = true,\n      purchaseCD = false,\n      purchaseWFGIR = false,\n      purchaseDBAEntity = false,\n      purchaseDBACompliance = false,\n      purchaseExpenseTrackerAndTaxFiling = false,\n      purchaseTaxAdvice = false,\n      purchaseTaxAdviceBizTaxPrep = false,\n      taxAdviceMonthly = false,\n      taxAdviceBizTaxPrepMonthly = false,\n      purchaseZBMPro = false,\n      zbmProMonthly = false,\n      purchaseVBA = false,\n      purchaseVanityProduct = false,\n      dbaEntities = []\n    } = data;\n    return update(state, {\n      dbaEntities: { $set: dbaEntities },\n      purchaseZbBankingPreferredOffer: { $set: purchaseZbBankingPreferredOffer },\n      purchaseBankOfAmericaOffer: { $set: purchaseBankOfAmericaOffer },\n      purchaseBLR: { $set: purchaseBLR },\n      purchaseBusinessKit: { $set: purchaseBusinessKit },\n      purchaseBOF: { $set: purchaseBOF },\n      bofOngoing: { $set: bofOngoing },\n      purchaseRA: { $set: purchaseRA },\n      purchaseDBACompliance: { $set: purchaseDBACompliance },\n      purchaseDBAEntity: { $set: purchaseDBAEntity },\n      purchaseFFD: { $set: purchaseFFD },\n      purchaseCD: { $set: purchaseCD },\n      purchaseWFGIR: { $set: purchaseWFGIR },\n      purchaseExpenseTrackerAndTaxFiling: { $set: purchaseExpenseTrackerAndTaxFiling },\n      purchaseZBMPro: { $set: purchaseZBMPro },\n      purchaseVBA: { $set: purchaseVBA },\n      purchaseVanityProduct: { $set: purchaseVanityProduct },\n      zbmProMonthly: { $set: zbmProMonthly },\n      purchaseTaxAdvice: { $set: purchaseTaxAdvice },\n      taxAdviceMonthly: { $set: taxAdviceMonthly },\n      purchaseTaxAdviceBizTaxPrep: { $set: purchaseTaxAdviceBizTaxPrep },\n      taxAdviceBizTaxPrepMonthly: { $set: taxAdviceBizTaxPrepMonthly },\n      cardToken: { $set: cardToken },\n      last4: { $set: last4 },\n      brand: { $set: brand },\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc }\n    });\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n\n    let order = null;\n    let orderTracking = null;\n\n    const { orders } = data,\n      incompleteOrder = _find(orders, (o) => {\n        if (o.order_status === 'incomplete') {\n          const { order_data: orderData, order_tracking: tempOrderTracking } = o;\n          const tempOrder = _find(orderData, (to) => {\n            const service = _get(to, 'service', '');\n            return service === 'llc_formation' || service === 'corp_formation';\n          });\n          if (tempOrder) {\n            order = tempOrder;\n            orderTracking = tempOrderTracking;\n            return true;\n          }\n        }\n        return false;\n      });\n\n    if (!incompleteOrder || !order) {\n      return state;\n    }\n\n    const\n      {\n        purchase_zb_banking_preferred_offer: purchaseZbBankingPreferredOffer = null,\n        purchase_bank_of_america_offer: purchaseBankOfAmericaOffer = null,\n        purchase_blr: purchaseBLR = null,\n        purchase_business_kit: purchaseBusinessKit = null,\n        purchase_bof: purchaseBOF = null,\n        bof_ongoing: bofOngoing = null,\n        purchase_dba_compliance: purchaseDBACompliance = null,\n        purchase_dba_entity: purchaseDBAEntity = null,\n        dba_entities: dbaEntities = [],\n        expense_tracking_with_tax_filing: purchaseExpenseTrackerAndTaxFiling = null,\n        purchase_ffd: purchaseFFD = null,\n        purchase_cd: purchaseCD = null,\n        purchase_ra: purchaseRA = null,\n        purchase_tax_advice: purchaseTaxAdvice = null,\n        tax_advice_monthly: taxAdviceMonthly = null,\n        purchase_tax_advice_biztax_prep: purchaseTaxAdviceBizTaxPrep = null,\n        tax_advice_biztax_prep_monthly: taxAdviceBizTaxPrepMonthly = null,\n        purchase_vba: purchaseVBA = null,\n        purchase_vanity_product: purchaseVanityProduct = null,\n        purchase_zbmpro: purchaseZBMPro = null,\n        zbmpro_monthly: zbmProMonthly = null,\n        filing_action: filingAction = '',\n        future_filing_date: futureFilingDate = '',\n        purchase_wfgir: purchaseWFGIR = null\n      } = order,\n      {\n        flow_type: flowType = ''\n      } = orderTracking;\n\n    return update(state, {\n      purchaseZbBankingPreferredOffer: { $set: purchaseZbBankingPreferredOffer },\n      purchaseBankOfAmericaOffer: { $set: purchaseBankOfAmericaOffer },\n      purchaseBLR: { $set: purchaseBLR },\n      purchaseBusinessKit: { $set: purchaseBusinessKit },\n      purchaseBOF: { $set: purchaseBOF },\n      bofOngoing: { $set: bofOngoing },\n      purchaseDBACompliance: { $set: purchaseDBACompliance },\n      purchaseDBAEntity: { $set: purchaseDBAEntity },\n      purchaseExpenseTrackerAndTaxFiling: { $set: purchaseExpenseTrackerAndTaxFiling },\n      purchaseZBMPro: { $set: purchaseZBMPro },\n      dbaEntities: { $set: dbaEntities },\n      purchaseFFD: { $set: purchaseFFD },\n      purchaseCD: { $set: purchaseCD },\n      purchaseRA: { $set: purchaseRA },\n      purchaseVBA: { $set: purchaseVBA },\n      purchaseVanityProduct: { $set: purchaseVanityProduct },\n      purchaseTaxAdvice: { $set: purchaseTaxAdvice },\n      taxAdviceMonthly: { $set: taxAdviceMonthly },\n      purchaseTaxAdviceBizTaxPrep: { $set: purchaseTaxAdviceBizTaxPrep },\n      taxAdviceBizTaxPrepMonthly: { $set: taxAdviceBizTaxPrepMonthly },\n      zbmProMonthly: { $set: zbmProMonthly },\n      filingAction: { $set: filingAction },\n      flowType: { $set: flowType },\n      futureFilingDate: { $set: futureFilingDate },\n      purchaseWFGIR: { $set: purchaseWFGIR },\n      showCD: { $set: !isPF() }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processCreateOrderComplete = (state, action) => {\n    if (action.error) {\n      return state;\n    }\n    return resetAllData();\n  },\n  processAccountHasZBMoneyProSubscription = (state, action, data) => {\n    return update(state, {\n      showZBMPro: { $set: !data.hasZBMoneyProSubscription }\n    });\n  },\n  processMap = {\n    [ACTIONS.FUTURE_FILING_DATE]: processFutureFilingDate,\n    [ACTIONS.FFD_DATA_MODAL]: processFutureFilingDate,\n    [ACTIONS.PURCHASE_BLR]: processPurchaseBLR,\n    [ACTIONS.PURCHASE_RA]: processPurchaseRA,\n    [ACTIONS.PURCHASE_BUSINESSKIT]: processPurchaseBusinessKit,\n    [ACTIONS.PURCHASE_BOF]: processPurchaseBOF,\n    [ACTIONS.PURCHASE_FFD]: processPurchaseFFD,\n    [ACTIONS.PURCHASE_CD]: processPurchaseCD,\n    [ACTIONS.PURCHASE_WFGIR]: processPurchaseWFGIR,\n    [ACTIONS.PURCHASE_TAX_ADVICE_BUNDLE]: processPurchaseTaxAdviceBundle,\n    [ACTIONS.PURCHASE_ZBMPRO]: processPurchaseZBMPro,\n    [ACTIONS.PURCHASE_EXPENSE_TRACKING_AND_TAX_FILING]: processPurchaseExpenseTrackerAndTaxFiling,\n    [ACTIONS.PURCHASE_BOA_OFFER]: processBankOfAmericaOffer,\n    [ACTIONS.PURCHASE_BANKING_PREFERRED_OFFER]: processZbBankingPreferredOffer,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.START]: resetAllData,\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment,\n\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_HAS_ZB_MONEY_PRO]: processAccountHasZBMoneyProSubscription,\n\n    [CORP_ACTIONS.DBA_ENTITIES]: processDBAEntities,\n    [CORP_ACTIONS.PURCHASE_DBA_COMPLIANCE]: processPurchaseDBACompliance,\n    [CORP_ACTIONS.PURCHASE_DBA_ENTITY]: processPurchaseDBAEntity,\n    [CORP_ACTIONS.PURCHASE_REGISTERED_AGENT]: processPurchaseRA,\n    [CORP_ACTIONS.PURCHASE_VBA]: processPurchaseVBA,\n\n    [LLC_ACTIONS.DBA_ENTITIES]: processDBAEntities,\n    [LLC_ACTIONS.PURCHASE_DBA_COMPLIANCE]: processPurchaseDBACompliance,\n    [LLC_ACTIONS.PURCHASE_DBA_ENTITY]: processPurchaseDBAEntity,\n    [LLC_ACTIONS.PURCHASE_REGISTERED_AGENT]: processPurchaseRA,\n    [LLC_ACTIONS.PURCHASE_VBA]: processPurchaseVBA,\n\n    [ACTIONS.VANITY_PRODUCT_OFFER]: processVanityProduct,\n\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [REGISTRATION_ACTIONS.INIT]: resetAllData,\n\n    [REGISTRATION_ACTIONS.CREATE_ORDER_COMPLETE]: processCreateOrderComplete,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _filter from 'lodash/filter';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _has from 'lodash/has';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as REG_ACCOUNTING_ACTIONS } from '../../constants/register_accounting';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_EIN_ACTIONS } from '../../constants/complete_ein';\nimport { ACTIONS as POSTPURCHASE_ACTIONS } from '../../constants/purchase_post_addons';\nimport { ACTIONS as REG_ANNUAL_REPORT_ACTIONS } from '../../constants/annual_report';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_DBA_PF_ACTIONS } from '../../constants/register_dbaentity_pf';\nimport { ACTIONS as REG_DOMAINNAME_ACTIONS } from '../../constants/register_domainname';\nimport { ACTIONS as REG_BASICEMAIL_ACTIONS } from '../../constants/register_basicemail';\nimport { ACTIONS as REG_EIN_ACTIONS } from '../../constants/register_ein';\nimport { ACTIONS as REG_ETNTF_ACTIONS } from '../../constants/register_expense_tracker_n_tax_filing';\nimport { ACTIONS as REG_NAMERES_ACTIONS } from '../../constants/register_nameres';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_ONLINETOOLS_ACTIONS } from '../../constants/register_onlinetools';\nimport { ACTIONS as REG_SMB_WEBSITE_ECOMM_ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport { ACTIONS as REG_SMB_ECOMM_ADDON_ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport { ACTIONS as REG_SMB_WEBSITE_OR_ECOMM_ACTIONS } from '../../constants/register_smb_website_or_ecomm';\nimport { ACTIONS as REG_SMB_WEBSITE_ACTIONS } from '../../constants/register_smb_website';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as REG_WFGIR_ACTIONS } from '../../constants/register_wfgir';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/purchase';\n\n// Each entry: [mustContain, raMarker ('ra_'|'_ra'), raRequired, level]\n// raRequired=true means the ra marker must be present; false means it must be absent.\nconst PLAN_LEVEL_RULES = [\n  ['starter_plan',     'ra_', false, 'level1'],\n  ['pro_plan',         'ra_', false, 'level2'],\n  ['premium_plan',     'ra_', false, 'level3'],\n  ['starter_plan',     'ra_', true,  'raLevel1'],\n  ['pro_plan',         'ra_', true,  'raLevel2'],\n  ['premium_plan',     'ra_', true,  'raLevel3'],\n  ['subscription_plan', '_ra', false, 'level1'],\n  ['subscription_plan', '_ra', true,  'level2']\n];\n\nconst derivePlanLevel = (items) => {\n  const match = _find(PLAN_LEVEL_RULES, ([contains, raMarker, raRequired]) => {\n    return _find(items, (item) => {\n      const service = _get(item, 'service', '');\n      return service.indexOf(contains) !== -1 && (service.indexOf(raMarker) !== -1) === raRequired;\n    });\n  });\n  return match ? match[3] : '';\n};\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    accountant1800: null,\n    accountant1800AddOn: false,\n    accountant1800UpsellSkip: false,\n    anonymity: null,\n    anonymityAddOn: false,\n    anonymityUpsellSkip: false,\n    accountingGrowAndScale: null,\n    accountingQuickStart: false,\n    accountingUpAndRunning: false,\n    annualReportService: null,\n    banking: null,\n    bankingAddOn: false,\n    bankingUpsellSkip: false,\n    bankingResolution: null,\n    bankingResolutionAddOn: false,\n    bankingResolutionUpsellSkip: false,\n    bankOfAmericaOffer: true,\n    basicEmail: null,\n    basicEmailAddOn: false,\n    basicEmailUpsellSkip: false,\n    cpaConsult: null,\n    cpaConsultAddOn: false,\n    cpaConsultUpsellSkip: false,\n    changeOfAgent: null,\n    changeOfAgentAddOn: false,\n    changeOfAgentUpsellSkip: false,\n    corporateDocs: null,\n    corporateDocsAddOn: false,\n    corporateDocsUpsellSkip: false,\n    domainName: null,\n    domainNameAddOn: false,\n    domainNameUpsellSkip: false,\n    domainNamePrivacy: null,\n    domainNamePrivacyAddOn: false,\n    domainNamePrivacyUpsellSkip: false,\n    emailAddresses: [],\n    ein: null,\n    einAddOn: false,\n    einUpsellSkip: false,\n    estimatedFormationDate: '',\n    expedite: null,\n    expediteAddOn: false,\n    expediteUpsellSkip: false,\n    expenseTrackerNTaxFiling: false,\n    initialCPAScreening: null,\n    initialCPAScreeningAddOn: false,\n    initialCPAScreeningUpsellSkip: false,\n    insurance: null,\n    insuranceAddOn: false,\n    insuranceUpsellSkip: false,\n    logoKit: false,\n    nameReservation: null,\n    nyPublication: null,\n    nyPublicationAddOn: false,\n    nyPublicationUpsellSkip: false,\n    operatingAgreement: null,\n    operatingAgreementAddOn: false,\n    operatingAgreementUpsellSkip: false,\n    planLevel: '',\n    activePlanLevel: '',\n    privacy: null,\n    privacyAddOn: false,\n    privacyUpsellSkip: false,\n    smbEcommAddon: null,\n    smbWebsite: null,\n    smbWebsiteEcomm: null,\n    smbWebsiteOrEcomm: null,\n    staticWebsite: null,\n    staticWebsiteAddOn: false,\n    staticWebsiteUpsellSkip: false,\n    taxPreparation: null,\n    taxPreparationAddOn: false,\n    taxPreparationUpsellSkip: false,\n    worryFree: null,\n    worryFreeAddOn: false,\n    worryFreeUpsellSkip: false,\n    actionError: 0,\n    registeredAgentService: null,\n    purchaseZBMPro: null,\n    zbmProMonthly: null,\n    blr: null,\n    zbTaxAdvice: null,\n    zbBizTaxPrep: null,\n    zbTaxAdviceBizTaxPrep: null,\n    einBizDocsOaBundle: null,\n    bizDocsBlrBundle: null,\n\n    // The following are supported bundles for remagine\n    einBusinessDocsBundle: null,\n    websiteToolsBundle: null,\n    activeWebsiteToolsBundle: null\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processBusinessType = (state, action, data) => {\n    const { type } = data,\n      { type: origType } = state;\n\n    if (type !== origType) {\n      return update(state, {\n        nyPublication: { $set: type === 'LLCX' ? state.nyPublication : null },\n        operatingAgreement: { $set: null }\n      });\n    }\n    if (type === 'CORP') {\n      return update(state, {\n        nyPublication: { $set: null }\n      });\n    }\n    return state;\n  },\n  processBanking = (state, action, data) => {\n    const { banking } = data;\n    return update(state, {\n      banking: { $set: banking }\n    });\n  },\n  processBankOfAmericaOffer = (state, action, data) => {\n    const { bankOfAmericaOffer } = data;\n    return update(state, {\n      bankOfAmericaOffer: { $set: bankOfAmericaOffer }\n    });\n  },\n  processBankingResolution = (state, action, data) => {\n    const { bankingResolution } = data;\n    return update(state, {\n      bankingResolution: { $set: bankingResolution }\n    });\n  },\n  processBasicEmail = (state, action, data) => {\n    const { basicEmail } = data;\n    return update(state, {\n      basicEmail: { $set: basicEmail }\n    });\n  },\n  processCorporateDocs = (state, action, data) => {\n    const { corporateDocs } = data;\n    return update(state, {\n      corporateDocs: { $set: corporateDocs }\n    });\n  },\n  processDomainName = (state, action, data) => {\n    const { domainName } = data;\n    return update(state, {\n      domainName: { $set: domainName }\n    });\n  },\n  processDomainNamePrivacy = (state, action, data) => {\n    const { domainNamePrivacy } = data;\n    return update(state, {\n      domainNamePrivacy: { $set: domainNamePrivacy }\n    });\n  },\n  processEIN = (state, action, data) => {\n    const { ein } = data;\n    return update(state, {\n      ein: { $set: ein }\n    });\n  },\n  processExpedite = (state, action, data) => {\n    const { expedite, estimatedFormationDate } = data;\n    return update(state, {\n      expedite: { $set: expedite },\n      estimatedFormationDate: { $set: estimatedFormationDate }\n    });\n  },\n  processNYPub = (state, action, data) => {\n    const { nyPublication } = data;\n    return update(state, {\n      nyPublication: { $set: nyPublication }\n    });\n  },\n  processNYPubPF = (state, action, data) => {\n    const { nyPublication } = data;\n    return update(state, {\n      nyPublication: { $set: nyPublication }\n    });\n  },\n  processOperatingAgreement = (state, action, data) => {\n    const { operatingAgreement } = data;\n    return update(state, {\n      operatingAgreement: { $set: operatingAgreement }\n    });\n  },\n  processPrivacy = (state, action, data) => {\n    const { privacy } = data;\n    return update(state, {\n      privacy: { $set: privacy }\n    });\n  },\n  processResetData = (state, action, data) => {\n    const updateObj = {};\n    Object.entries(data).forEach((entry) => {\n      const [key, value] = entry;\n      if (_has(state, key)) {\n        updateObj[key] = { $set: value };\n      }\n    });\n    return update(state, updateObj);\n  },\n  processEstimatedFormationDate = (state, action, data) => {\n    const { estimatedFormationDate } = data;\n    return update(state, {\n      estimatedFormationDate: { $set: estimatedFormationDate }\n    });\n  },\n  processProductConfirm = (state, action, data) => {\n    const\n      { planLevel, bankingResolution, banking, basicEmail, corporateDocs, domainName, domainNamePrivacy, emailAddresses, domainNames } = data,\n      { ein, estimatedFormationDate, expedite, nyPublication, operatingAgreement, privacy } = data,\n      { registeredAgentService, staticWebsite, worryFree } = data;\n    return update(state, {\n      planLevel: { $set: planLevel },\n      activePlanLevel: { $set: planLevel },\n      banking: { $set: banking },\n      bankingResolution: { $set: bankingResolution },\n      basicEmail: { $set: basicEmail },\n      corporateDocs: { $set: corporateDocs },\n      domainName: { $set: domainName },\n      domainNamePrivacy: { $set: domainNamePrivacy },\n      domainNames: { $set: domainNames },\n      ein: { $set: ein },\n      emailAddresses: { $set: emailAddresses },\n      estimatedFormationDate: { $set: estimatedFormationDate },\n      expedite: { $set: expedite },\n      nyPublication: { $set: nyPublication },\n      operatingAgreement: { $set: operatingAgreement },\n      privacy: { $set: privacy },\n      registeredAgentService: { $set: registeredAgentService },\n      staticWebsite: { $set: staticWebsite },\n      worryFree: { $set: worryFree }\n    });\n  },\n  processRegisteredAgent = (state, action, data) => {\n    const { ra } = data;\n    return update(state, {\n      registeredAgentService: { $set: ra }\n    });\n  },\n  processStaticWebsite = (state, action, data) => {\n    const { staticWebsite } = data;\n    return update(state, {\n      staticWebsite: { $set: staticWebsite }\n    });\n  },\n  processWorryFree = (state, action, data) => {\n    const { worryFree } = data;\n    return update(state, {\n      worryFree: { $set: worryFree }\n    });\n  },\n  processWorryFreeAndARS = (state, action, data) => {\n    const { worryFree, annualReportService } = data;\n    return update(state, {\n      worryFree: { $set: worryFree },\n      annualReportService: { $set: annualReportService }\n    });\n  },\n  processETNTFPurchase = (state, action, data) => {\n    const { expenseTrackerNTaxFiling } = data;\n    return update(state, {\n      expenseTrackerNTaxFiling: { $set: expenseTrackerNTaxFiling }\n    });\n  },\n  processRASPurchase = (state, action, data) => {\n    const { registeredAgentService } = data;\n    return update(state, {\n      registeredAgentService: { $set: registeredAgentService }\n    });\n  },\n  processPurchasePlan = (state, action, data) => {\n    const newState = _assign({}, state, data);\n    if (newState.customer) {\n      delete newState.customer;\n    }\n    if (newState.business) {\n      delete newState.business;\n    }\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processDomesticJurisdiction = (state, action, data) => {\n    const { purchase = null } = data;\n\n    if (purchase) {\n      const newState = _assign({}, state, purchase);\n      reducerStorage.store(storageKey, newState);\n      return newState;\n    }\n    if (state.nyPublication && data.domesticJurisdiction !== 'NY') {\n      return update(state, {\n        nyPublication: { $set: false }\n      });\n    }\n    return state;\n  },\n  processBusinessData = (state, action, data) => {\n    const { domesticJurisdiction, type = state.type } = data;\n\n    if (domesticJurisdiction === 'NY' && type === 'LLCX') {\n      return state;\n    }\n    return update(state, {\n      nyPublication: { $set: null }\n    });\n  },\n  processSetPayment = (state, action, data) => {\n    const { purchase } = data,\n      {\n        bankingResolution,\n        basicEmail,\n        corporateDocs,\n        domainName,\n        domainNamePrivacy,\n        ein,\n        expenseTrackerNTaxFiling,\n        nyPublication,\n        operatingAgreement,\n        privacy,\n        staticWebsite,\n        worryFree\n      } = purchase;\n\n    return update(state, {\n      bankingResolution: { $set: bankingResolution },\n      basicEmail: { $set: basicEmail },\n      corporateDocs: { $set: corporateDocs },\n      domainName: { $set: domainName },\n      domainNamePrivacy: { $set: domainNamePrivacy },\n      ein: { $set: ein },\n      expenseTrackerNTaxFiling: { $set: expenseTrackerNTaxFiling },\n      nyPublication: { $set: nyPublication },\n      operatingAgreement: { $set: operatingAgreement },\n      privacy: { $set: privacy },\n      staticWebsite: { $set: staticWebsite },\n      worryFree: { $set: worryFree }\n    });\n  },\n  processRegEINPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { ein: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegETNTFPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { expenseTrackerNTaxFiling: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegNameReservationPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { nameReservation: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegNYPubPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { nyPublication: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegSMBWebsitePurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { smbWebsite: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegSMBWebsiteEcommPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { smbWebsiteEcomm: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegSMBEcommAddonPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { smbEcommAddon: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processRegSMBWebsiteOrEcommPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { smbWebsiteOrEcomm: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n\n  processRegWFGPurchase = () => {\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, { worryFree: true });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData, order_items: orderItems = [] } = incompleteOrder,\n      formation = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      });\n\n    const\n      { estimated_formation_date: estimatedFormationDate } = formation || { estimated_formation_date: '' },\n      accountant1800 = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === '1800_accountant';\n      }),\n      anonymity = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'anonymity';\n      }),\n      annualReportService = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'annual_report_service';\n      }),\n      banking = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'banking';\n      }),\n      bankingResolution = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'banking_resolution';\n      }),\n      basicEmail = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'basic_email';\n      }),\n      changeOfAgent = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'change_of_registered_agent';\n      }),\n      corporateDocs = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'corporate_docs';\n      }),\n      cpaConsult = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'cpa_consult';\n      }),\n      domainName = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'domain_name_reg';\n      }),\n      domainNamePrivacy = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'domain_name_privacy';\n      }),\n      ein = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'ein_creation';\n      }),\n      logoKit = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'logo_kit';\n      }),\n      nameReservation = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'entity_name_reservation';\n      }),\n      nyPublication = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'ny_publication';\n      }),\n      operatingAgreement = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'operating_agreement';\n      }),\n      priority = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'expedite';\n      }),\n      priorityString = priority ? 'priority' : 'standard',\n      privacy = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'registered_agent_service';\n      }),\n      registeredAgentService = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'registered_agent_service';\n      }),\n      rush = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'rush' || _get(item, 'service', '') === 'expedite_to_rush_upgrade';\n      }),\n      rushString = rush ? 'rush' : '',\n      expedite = rushString || priorityString,\n      staticWebsite = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'static_website';\n      }),\n      smbWebsite = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'static_website';\n      }),\n      smbEcommAddon = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'smb_ecomm_addon';\n      }),\n      smbWebsiteEcomm = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'smb_website_ecomm_bundle';\n      }),\n      smbWebsiteOrEcomm = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'smb_website_ecomm_bundle' || _get(item, 'service', '') === 'static_website';\n      }),\n      taxPreparation = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'tax_preparation';\n      }),\n      worryFree = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'worry_free_service';\n      }),\n      initialCPAScreening = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'initial_cpa_screening';\n      }),\n      einBusinessDocsBundle = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'ein_business_docs_bundle';\n      }),\n      websiteToolsBundle = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'website_tools_bundle';\n      }),\n      purchaseZBMPro = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_money_pro';\n      }),\n      zbTaxAdvice = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_tax_advice';\n      }),\n      zbBizTaxPrep = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_biztax_prep';\n      }),\n      zbTaxAdviceBizTaxPrep = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_tax_advice_biztax_prep';\n      }),\n      bizDocsBlrBundle = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'bizdocs_blr_bundle';\n      }),\n      einBizDocsOaBundle = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'ein_bizdocs_oa_bundle';\n      }),\n      zbBankingPreferred = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'zb_banking_preferred';\n      }),\n      zbmProMonthly  = _find(orderItems, (item) => {\n        const service = _get(item, 'service', '');\n        if (service === 'zb_money_pro') {\n          return item.period === 12;\n        }\n        return false;\n      }),\n      blr = _find(orderItems, (item) => {\n        return _get(item, 'service', '') === 'business_license_report';\n      }),\n      planLevel = derivePlanLevel(orderItems);\n\n    // activePlanLevel and activeWebsiteToolsBundle mirror planLevel/websiteToolsBundle but exclude\n    // cancelled items. The raw fields are intentionally left on raw items to preserve UI gating\n    // behavior (flow routing, address collection steps) — do not merge these fields.\n    const activeOrderItems = _filter(orderItems, (item) => { return _get(item, 'status') !== 'canceled'; });\n    const activePlanLevel = derivePlanLevel(activeOrderItems);\n    const activeWebsiteToolsBundle = _find(activeOrderItems, (item) => {\n      return _get(item, 'service', '') === 'website_tools_bundle';\n    });\n\n    const newState = _assign({}, INITIAL_STATE_DEFAULT, {\n      accountant1800: !!accountant1800,\n      anonymity: !!anonymity,\n      annualReportService: !!annualReportService,\n      banking: !!banking,\n      bankingResolution: !!bankingResolution,\n      basicEmail: !!basicEmail,\n      changeOfAgent: !!changeOfAgent,\n      corporateDocs: !!corporateDocs,\n      cpaConsult: !!cpaConsult,\n      domainName: !!domainName,\n      domainNamePrivacy: !!domainNamePrivacy,\n      ein: !!ein,\n      estimatedFormationDate,\n      expedite,\n      initialCPAScreening: !!initialCPAScreening,\n      logoKit: !!logoKit,\n      nyPublication: !!nyPublication,\n      nameReservation: !!nameReservation,\n      operatingAgreement: !!operatingAgreement,\n      privacy: !!privacy,\n      staticWebsite: !!staticWebsite,\n      smbWebsite: !!smbWebsite,\n      smbEcommAddon: !!smbEcommAddon,\n      smbWebsiteEcomm: !!smbWebsiteEcomm,\n      smbWebsiteOrEcomm: !!smbWebsiteOrEcomm,\n      taxPreparation: !!taxPreparation,\n      worryFree: !!worryFree,\n      planLevel,\n      activePlanLevel,\n      registeredAgentService: !!registeredAgentService,\n      einBusinessDocsBundle: !!einBusinessDocsBundle,\n      websiteToolsBundle: !!websiteToolsBundle,\n      activeWebsiteToolsBundle: !!activeWebsiteToolsBundle,\n      purchaseZBMPro: !!purchaseZBMPro,\n      zbmProMonthly: !!zbmProMonthly,\n      zbBankingPreferred: !!zbBankingPreferred,\n      blr: !!blr,\n      zbTaxAdvice: !!zbTaxAdvice,\n      zbBizTaxPrep: !!zbBizTaxPrep,\n      zbTaxAdviceBizTaxPrep: !!zbTaxAdviceBizTaxPrep,\n      bizDocsBlrBundle: !!bizDocsBlrBundle,\n      einBizDocsOaBundle: !!einBizDocsOaBundle\n    });\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processStart = (state, action, data) => {\n    const newState = _assign({}, state, data.purchaseData);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processStartAccounting = (state, action, data) => {\n    const { accountingGrowAndScale, accountingQuickStart, accountingUpAndRunning } = data;\n\n    return update(state, {\n      accountingGrowAndScale: { $set: accountingGrowAndScale },\n      accountingQuickStart: { $set: accountingQuickStart },\n      accountingUpAndRunning: { $set: accountingUpAndRunning }\n    });\n  },\n  processAnnualReportWFG = (state, action) => {\n    return update(state, {\n      worryFree: { $set: action.isPurchasing }\n    });\n  },\n  processEmailAddresses = (state, action, data) => {\n    const { emailAddresses } = data;\n    return update(state, {\n      emailAddresses: { $set: emailAddresses }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.BOA_OFFER]: processBankOfAmericaOffer,\n    [ACTIONS.BUS_DATA]: processBusinessData,\n    [ACTIONS.BUS_TYPE]: processBusinessType,\n    [ACTIONS.DOM_JUR]: processDomesticJurisdiction,\n    [ACTIONS.PRODUCT_CONFIRM]: processProductConfirm,\n    [ACTIONS.PURCH_BANK]: processBanking,\n    [ACTIONS.PURCH_BANK_RES]: processBankingResolution,\n    [ACTIONS.PURCH_CORP_DOCS]: processCorporateDocs,\n    [ACTIONS.PURCH_DOMAIN]: processDomainName,\n    [ACTIONS.PURCH_DOMAIN_PRIV]: processDomainNamePrivacy,\n    [ACTIONS.PURCH_EIN]: processEIN,\n    [ACTIONS.PURCH_EMAIL]: processBasicEmail,\n    [ACTIONS.PURCH_EXP]: processExpedite,\n    [ACTIONS.PURCH_EXPEDITE]: processExpedite,\n    [ACTIONS.PURCH_NYPUB]: processNYPub,\n    [ACTIONS.PURCH_NYPUB_PF]: processNYPubPF,\n    [ACTIONS.PURCH_OP_AGREE]: processOperatingAgreement,\n    [ACTIONS.PURCH_PLAN]: processPurchasePlan,\n    [ACTIONS.PURCH_PRIV]: processPrivacy,\n    [ACTIONS.PURCH_WEBSITE]: processStaticWebsite,\n    [ACTIONS.PURCH_WF]: processWorryFree,\n    [ACTIONS.PURCH_RAS]: processRASPurchase,\n    [ACTIONS.PAYMENT]: processSetPayment,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [REG_ACCOUNTING_ACTIONS.START]: processStartAccounting,\n\n    [REG_ANNUAL_REPORT_ACTIONS.SET_PURCHASE_WFG]: processAnnualReportWFG,\n\n    [REG_CORA_PF_ACTIONS.PLAN]: processPurchasePlan,\n    [REG_CORA_PF_ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [REG_DBA_PF_ACTIONS.PURCH_WEBSITE]: processStaticWebsite,\n    [REG_DBA_PF_ACTIONS.PURCH_EIN]: processEIN,\n    [REG_DBA_PF_ACTIONS.RESET_DATA]: processResetData,\n\n    [REG_DOMAINNAME_ACTIONS.PRODUCT_CONFIRM]: processProductConfirm,\n    [REG_DOMAINNAME_ACTIONS.PURCH_DOMAIN_PRIV]: processDomainNamePrivacy,\n    [REG_DOMAINNAME_ACTIONS.PURCH_EMAIL]: processBasicEmail,\n    [REG_BASICEMAIL_ACTIONS.EMAIL_ADDRESS]: processEmailAddresses,\n\n    [REG_EIN_ACTIONS.START_EIN]: processRegEINPurchase,\n    [REG_ETNTF_ACTIONS.INIT]: processRegETNTFPurchase,\n    [REG_ETNTF_ACTIONS.PURCHASE]: processETNTFPurchase,\n\n    [REG_NAMERES_ACTIONS.INIT]: processRegNameReservationPurchase,\n    [REG_NYPUB_ACTIONS.INIT]: processRegNYPubPurchase,\n\n    [REG_ONLINETOOLS_ACTIONS.PRODUCT_CONFIRM]: processProductConfirm,\n\n    [REG_WFG_ACTIONS.INIT]: processRegWFGPurchase,\n\n    [REG_WFGIR_ACTIONS.INIT]: processWorryFreeAndARS,\n\n    [REG_SMB_WEBSITE_ACTIONS.INIT]: processRegSMBWebsitePurchase,\n\n    [REG_SMB_WEBSITE_ECOMM_ACTIONS.INIT]: processRegSMBWebsiteEcommPurchase,\n\n    [REG_SMB_ECOMM_ADDON_ACTIONS.INIT]: processRegSMBEcommAddonPurchase,\n\n    [REG_SMB_WEBSITE_OR_ECOMM_ACTIONS.INIT]: processRegSMBWebsiteOrEcommPurchase,\n\n    [COMP_BUSINESS_ACTIONS.PURCH_REG_AGT]: processRegisteredAgent,\n\n    [COMP_BLR_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n\n    [COMP_EIN_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n\n    [CORP_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n    [LLC_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n    [POSTPURCHASE_ACTIONS.EST_DATE]: processEstimatedFormationDate,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport _trim from 'lodash/trim';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS } from '../../constants/registration';\nimport { ACTIONS as COMP_BLR_ACTIONS } from '../../constants/complete_blr';\nimport { ACTIONS as COMP_BUSINESS_ACTIONS } from '../../constants/complete_business';\nimport { ACTIONS as COMP_DBA_ACTIONS } from '../../constants/complete_dbaentity';\nimport { ACTIONS as COMP_NYPUB_ACTIONS } from '../../constants/complete_nypub';\nimport { ACTIONS as COMP_WFG_ACTIONS } from '../../constants/complete_wfg';\nimport { ACTIONS as REG_BUSINESS_ACTIONS } from '../../constants/register_business';\nimport { ACTIONS as REG_CORA_PF_ACTIONS } from '../../constants/register_cora_pf';\nimport { ACTIONS as REG_NYPUB_ACTIONS } from '../../constants/register_nypub';\nimport { ACTIONS as REG_WFG_ACTIONS } from '../../constants/register_wfg';\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS as LLC_ACTIONS } from '../../constants/complete_llc';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { DOM_JURS } from '../../constants/ui';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/registeredAgent';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    type: 'RA',\n    raSelected: false,\n    forceCompany: false,\n    forcePerson: false,\n    firstName: '',\n    middleName: '',\n    lastName: '',\n    suffix: '',\n    companyName: '',\n    addressLine1: '',\n    addressLine2: '',\n    city: '',\n    county: '',\n    state: '',\n    stateName: '',\n    zipCode: '',\n    country: '',\n    lat: '',\n    lng: '',\n    addressIsGoogle: false,\n    email: '',\n    phoneNumber: ''\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  getStateName = (value) => {\n    const match = _find(DOM_JURS, (option) => {\n      return option.value === value;\n    });\n    return match ? match.label : '';\n  },\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processPrivacy = (state, action, data) => {\n    const { registeredAgentType, customer } = data;\n    if (state.type === registeredAgentType) {\n      return state;\n    }\n    if (registeredAgentType === 'ZenBusiness') {\n      return update(state, {\n        forceCompany: { $set: false },\n        forcePerson: { $set: false },\n        type: { $set: 'ZenBusiness' }\n      });\n    }\n    if (registeredAgentType === 'AccountOwner') {\n      return update(state, {\n        forceCompany: { $set: false },\n        forcePerson: { $set: false },\n        type: { $set: 'AccountOwner' },\n        firstName: { $set: customer.firstName },\n        middleName: { $set: customer.middleName },\n        lastName: { $set: customer.lastName },\n        suffix: { $set: customer.suffix },\n        companyName: { $set: '' },\n        addressLine1: { $set: customer.addressLine1 },\n        addressLine2: { $set: customer.addressLine2 },\n        city: { $set: customer.city },\n        county: { $set: customer.county },\n        state: { $set: customer.state },\n        stateName: { $set: customer.stateName },\n        zipCode: { $set: customer.zipCode },\n        country: { $set: 'US' },\n        lat: { $set: customer.lat },\n        lng: { $set: customer.lng },\n        addressIsGoogle: { $set: customer.addressIsGoogle },\n        email: { $set: customer.email },\n        phoneNumber: { $set: customer.phoneNumber }\n      });\n    }\n    return update(state, {\n      forceCompany: { $set: false },\n      forcePerson: { $set: false },\n      type: { $set: registeredAgentType }\n    });\n  },\n  processPurchaseRegisteredAgent = (state, action, data) => {\n    const { registeredAgentType, forceCompany, forcePerson } = data;\n    if (registeredAgentType === 'ZenBusiness') {\n      return update(state, {\n        forceCompany: { $set: false },\n        forcePerson: { $set: false },\n        type: { $set: 'ZenBusiness' }\n      });\n    }\n    return update(state, {\n      forceCompany: { $set: forceCompany },\n      forcePerson: { $set: forcePerson },\n      type: { $set: registeredAgentType }\n    });\n  },\n  processRegisteredAgent = (state, action, data) => {\n    const { firstName, middleName, lastName, suffix = '', companyName = '', addressLine1, addressLine2, city, county, state: addrState, stateName, zipCode, lat, lng, addressIsGoogle, email, phoneNumber } = data;\n\n    return update(state, {\n      type: { $set: 'RA' },\n      raSelected: { $set: true },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      stateName: { $set: stateName },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: 'US' },\n      lat: { $set: lat },\n      lng: { $set: lng },\n      addressIsGoogle: { $set: addressIsGoogle },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processRAData = (state, action, data) => {\n    const { type, firstName, middleName, lastName, suffix = '', companyName = '', addressLine1, addressLine2, city, county, state: addrState, stateName, zipCode, lat, lng, addressIsGoogle, email, phoneNumber } = data;\n\n    if (type === 'ZenBusiness') {\n      return update(state, {\n        type: { $set: type }\n      });\n    }\n    return update(state, {\n      type: { $set: type },\n      raSelected: { $set: true },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      stateName: { $set: stateName },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: 'US' },\n      lat: { $set: lat },\n      lng: { $set: lng },\n      addressIsGoogle: { $set: addressIsGoogle },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) }\n    });\n  },\n  processPurchasePlan = (state, action, data) => {\n    const { privacy = null, purchaseData = null } = data,\n      privacySet = privacy || (purchaseData ? purchaseData.privacy : false);\n\n    if (privacySet && state.type !== 'ZenBusiness') {\n      return update(state, {\n        type: { $set: 'ZenBusiness' }\n      });\n    }\n    if (!privacySet && state.type === 'ZenBusiness') {\n      return update(state, {\n        type: { $set: state.raSelected ? 'RA' : 'AccountOwner' }\n      });\n    }\n    return state;\n  },\n  processSetPayment = (state, action, data) => {\n    const { purchase } = data,\n      { privacy } = purchase;\n\n    if (privacy) {\n      return update(state, {\n        type: { $set: 'ZenBusiness' }\n      });\n    }\n    return update(state, {\n      type: { $set: state.raSelected ? 'RA' : 'AccountOwner' }\n    });\n  },\n  processBusinessId = (state, action, data) => {\n    if (state.type !== 'AccountOwner') {\n      return state;\n    }\n\n    const { id, clearData } = data;\n\n    if (!id) {\n      if (clearData) {\n        return update(state, {\n          addressLine1: { $set: '' },\n          addressLine2: { $set: '' },\n          city: { $set: '' },\n          county: { $set: '' },\n          state: { $set: '' },\n          zipCode: { $set: '' },\n          country: { $set: '' },\n          lat: { $set: 0 },\n          lng: { $set: 0 },\n          addressIsGoogle: { $set: false }\n        });\n      }\n      return state;\n    }\n\n    const\n      { business } = data,\n      { addressLine1, addressLine2, city, county, state: addrState, country, zipCode } = business;\n\n    return update(state, {\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: _trim(country) },\n      lat: { $set: 0 },\n      lng: { $set: 0 },\n      addressIsGoogle: { $set: false }\n    });\n  },\n\n  processWFGBusinessId = (state, action, data) => {\n    const\n      { registeredAgent } = data,\n      {\n        firstName = '',\n        middleName = '',\n        lastName = '',\n        suffix = '',\n        companyName = '',\n        email = '',\n        phoneNumber = '',\n        addressLine1 = '',\n        addressLine2 = '',\n        city = '',\n        county = '',\n        state: addrState = '',\n        country = '',\n        zipCode = ''\n      } = registeredAgent || {};\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: _trim(country) },\n      lat: { $set: 0 },\n      lng: { $set: 0 },\n      addressIsGoogle: { $set: false }\n    });\n  },\n\n  processAccountComplete = (state, action, data) => {\n    if (action.error || state.type !== 'AccountOwner') {\n      return state;\n    }\n\n    const\n      {\n        account_email: email,\n        account_phone: phone,\n        first_name: firstName,\n        middle_name: middleName,\n        last_name: lastName,\n        suffix\n      } = data;\n\n    return update(state, {\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: phone }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      formation = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'llc_formation' || service === 'corp_formation';\n      }),\n      product = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'registered_agent_service' || service === 'worry_free_service' || service === 'ny_publication' || service === 'dba_entity';\n      }),\n      order = formation || product;\n\n    if (!order) {\n      return state;\n    }\n\n    const item = _find(orderData, (o) => {\n        const service = _get(o, 'service', '');\n        return service === 'registered_agent_service';\n      }),\n      service = item && item.registered_agent ? item.registered_agent : order.registered_agent || {};\n\n    const\n      { first_name: firstName = '', middle_name: middleName = '', last_name: lastName = '', suffix = '', company_name: companyName = '' } = service,\n      { address_1: addressLine1 = '', address_2: addressLine2 = '', city = '', county = '', state: addrState = '', zip: zipCode = '', email = '', phone: phoneNumber = '' } = service,\n      stateName = addrState ? getStateName(addrState) : '',\n      isZen = !!item;\n\n    return update(state, {\n      type: { $set: isZen ? 'ZenBusiness' : 'RA' },\n      firstName: { $set: _trim(firstName) },\n      middleName: { $set: _trim(middleName) },\n      lastName: { $set: _trim(lastName) },\n      suffix: { $set: _trim(suffix) },\n      companyName: { $set: _trim(companyName) },\n      email: { $set: _trim(email) },\n      phoneNumber: { $set: _trim(phoneNumber) },\n      addressLine1: { $set: _trim(addressLine1) },\n      addressLine2: { $set: _trim(addressLine2) },\n      city: { $set: _trim(city) },\n      county: { $set: _trim(county) },\n      state: { $set: addrState },\n      stateName: { $set: stateName },\n      zipCode: { $set: _trim(zipCode) },\n      country: { $set: 'US' },\n      lat: { $set: 0 },\n      lng: { $set: 0 },\n      addressIsGoogle: { $set: false }\n    });\n  },\n  processStart = (state, action, data) => {\n    const { skipPlansPage = false } = data;\n\n    if (skipPlansPage) {\n      return processPurchasePlan(state, action, data);\n    }\n\n    return state;\n  },\n  processNYPubStart = (state, action, data) => {\n    return update(state, {\n      type: { $set: data.raType || 'AgentOwner' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [ACTIONS.RESET]: resetAllData,\n    [ACTIONS.BUS_ID]: processBusinessId,\n    [ACTIONS.PURCH_PRIV]: processPrivacy,\n    [ACTIONS.PURCH_PLAN]: processPurchasePlan,\n    [ACTIONS.RA_DATA]: processRAData,\n    [ACTIONS.REG_AGT]: processRegisteredAgent,\n    [ACTIONS.PAYMENT]: processSetPayment,\n    [ACTIONS.INIT]: processStart,\n    [ACTIONS.PURCHASE_SUCCESS]: processComplete,\n\n    [COMP_BLR_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_BLR_ACTIONS.REG_AGT_MODAL]: processRegisteredAgent,\n\n    [COMP_BUSINESS_ACTIONS.INIT]: resetAllData,\n    [COMP_BUSINESS_ACTIONS.PURCH_REG_AGT]: processPurchaseRegisteredAgent,\n    [COMP_BUSINESS_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_BUSINESS_ACTIONS.REG_AGT_MODAL]: processRAData,\n\n    [COMP_DBA_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_DBA_ACTIONS.REG_AGT_MODAL]: processRegisteredAgent,\n\n    [COMP_NYPUB_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_NYPUB_ACTIONS.REG_AGT_MODAL]: processRAData,\n\n    [COMP_WFG_ACTIONS.REG_AGT]: processRegisteredAgent,\n    [COMP_WFG_ACTIONS.REG_AGT_MODAL]: processRegisteredAgent,\n\n    [LLC_ACTIONS.SET_REG_AGENT]: processRegisteredAgent,\n    [CORP_ACTIONS.REG_AGENT]: processRegisteredAgent,\n\n    [REG_BUSINESS_ACTIONS.INIT]: resetAllData,\n\n    [REG_CORA_PF_ACTIONS.PLAN]: processPurchasePlan,\n    [REG_CORA_PF_ACTIONS.OTHER_PLAN]: processPurchasePlan,\n\n    [REG_NYPUB_ACTIONS.INIT]: processNYPubStart,\n\n    [REG_WFG_ACTIONS.BUS_ID]: processWFGBusinessId,\n\n    [ACCOUNT_ACTIONS.GET_ACCOUNT_COMPLETE]: processAccountComplete,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_smb_ecomm_addon';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/smbEcommAddon';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    alreadyPurchased: null,\n    websiteNotPurchased: false,\n\n    companyId: '',\n    jurisdiction: null,\n    chooseEcomm: null,\n    yearlyInterval: null,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n\n  processChoosePackage = (state, action, data) => {\n    const { chooseEcomm = null } = data;\n\n    return update(state, {\n      chooseEcomm: { $set: chooseEcomm }\n    });\n  },\n\n  processChooseInterval = (state, action, data) => {\n    const { yearlyInterval = null } = data;\n\n    return update(state, {\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processComplete = (state) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { companyId: state.companyId }));\n  },\n  processInit = (state, action, data) => {\n    const {\n      alreadyPurchased,\n      websiteNotPurchased,\n      companyId,\n      jurisdiction\n    } = data;\n    return update(state, {\n      alreadyPurchased: { $set: alreadyPurchased },\n      websiteNotPurchased: { $set: websiteNotPurchased },\n      companyId: { $set: companyId },\n      inProgress: { $set: !alreadyPurchased },\n      jurisdiction: { $set: jurisdiction },\n      chooseEcomm: { $set: null },\n      yearlyInterval: { $set: null },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      smbEcommAddonOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'smb_ecomm_addon';\n      });\n\n    if (!smbEcommAddonOrder) {\n      return state;\n    }\n    const\n      {\n        jurisdiction,\n        service,\n        yearlyInterval\n      } = smbEcommAddonOrder;\n\n    return update(state, {\n      jurisdiction: { $set: jurisdiction },\n      chooseEcomm: { $set: service === 'smb_ecomm_addon' },\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_PACKAGE]: processChoosePackage,\n    [ACTIONS.CHOOSE_INTERVAL]: processChooseInterval,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_smb_website';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/smbWebsite';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    alreadyPurchased: null,\n\n    companyId: '',\n    jurisdiction: null,\n    yearlyInterval: null,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n\n  processChooseInterval = (state, action, data) => {\n    const { yearlyInterval = null } = data;\n\n    return update(state, {\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processComplete = (state) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { companyId: state.companyId }));\n  },\n  processInit = (state, action, data) => {\n    const {\n      alreadyPurchased,\n      companyId,\n      jurisdiction\n    } = data;\n    return update(state, {\n      alreadyPurchased: { $set: alreadyPurchased },\n      companyId: { $set: companyId },\n      inProgress: { $set: !alreadyPurchased },\n      jurisdiction: { $set: jurisdiction },\n      yearlyInterval: { $set: null },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = _find(orders, (order) => {\n        return order.order_status === 'incomplete';\n      });\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      smbWebsiteOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'static_website';\n      });\n\n    if (!smbWebsiteOrder) {\n      return state;\n    }\n    const\n      {\n        jurisdiction,\n        service,\n        yearlyInterval\n      } = smbWebsiteOrder;\n\n    return update(state, {\n      jurisdiction: { $set: jurisdiction },\n      service: { $set: service === 'static_website' },\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_INTERVAL]: processChooseInterval,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_smb_website_ecomm';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/smbWebsiteEcomm';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    alreadyPurchased: null,\n\n    companyId: '',\n    jurisdiction: null,\n    yearlyInterval: null,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n\n  processChooseInterval = (state, action, data) => {\n    const { yearlyInterval = null } = data;\n\n    return update(state, {\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processComplete = (state) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { companyId: state.companyId }));\n  },\n  processInit = (state, action, data) => {\n    const {\n      alreadyPurchased,\n      companyId,\n      jurisdiction\n    } = data;\n    return update(state, {\n      alreadyPurchased: { $set: alreadyPurchased },\n      companyId: { $set: companyId },\n      inProgress: { $set: !alreadyPurchased },\n      jurisdiction: { $set: jurisdiction },\n      yearlyInterval: { $set: null },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      smbWebsiteEcommOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'smb_website_ecomm_bundle';\n      });\n\n    if (!smbWebsiteEcommOrder) {\n      return state;\n    }\n    const\n      {\n        jurisdiction,\n        service,\n        yearlyInterval\n      } = smbWebsiteEcommOrder;\n\n    return update(state, {\n      jurisdiction: { $set: jurisdiction },\n      kickstarter: { $set: service === 'smb_website_ecomm_bundle' },\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_INTERVAL]: processChooseInterval,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _assign from 'lodash/assign';\nimport _find from 'lodash/find';\nimport _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS as ORDER_ACTIONS } from '../../constants/orders';\nimport { ACTIONS } from '../../constants/register_smb_website_or_ecomm';\nimport reducerStorage from '../../utils/ReducerStorage';\nimport { getIncompleteOrder } from '../../utils/OrderUtils';\n\nexport const storageKey = 'registration/smbWebsiteOrEcomm';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    alreadyPurchased: null,\n    hasDemoStore: false,\n    isUpgrade: false,\n\n    companyId: '',\n    jurisdiction: null,\n    chooseEcomm: null,\n    yearlyInterval: null,\n\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    cardCreated: false,\n    actionError: 0\n  },\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState); // persists store\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n\n  processChoosePackage = (state, action, data) => {\n    const { chooseEcomm = null } = data;\n\n    return update(state, {\n      chooseEcomm: { $set: chooseEcomm }\n    });\n  },\n\n  processChooseInterval = (state, action, data) => {\n    const { yearlyInterval = null } = data;\n\n    return update(state, {\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processComplete = (state) => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, _assign({}, INITIAL_STATE_DEFAULT, { companyId: state.companyId }));\n  },\n  processInit = (state, action, data) => {\n    const {\n      alreadyPurchased,\n      isUpgrade,\n      companyId,\n      jurisdiction,\n      hasDemoStore\n    } = data;\n    return update(state, {\n      alreadyPurchased: { $set: alreadyPurchased },\n      companyId: { $set: companyId },\n      isUpgrade: { $set: isUpgrade },\n      inProgress: { $set: !alreadyPurchased },\n      jurisdiction: { $set: jurisdiction },\n      hasDemoStore: { $set: hasDemoStore },\n      chooseEcomm: { $set: null },\n      yearlyInterval: { $set: null },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processOrdersComplete = (state, action, data) => {\n    if (action.error) {\n      return state;\n    }\n    const { orders } = data,\n      incompleteOrder = getIncompleteOrder(orders);\n\n    if (!incompleteOrder) {\n      return state;\n    }\n\n    const { order_data: orderData } = incompleteOrder,\n      smbWebsiteOrEcommOrder = _find(orderData, (order) => {\n        const service = _get(order, 'service', '');\n        return service === 'smb_website_ecomm_bundle' || service === 'static_website';\n      });\n\n    if (!smbWebsiteOrEcommOrder) {\n      return state;\n    }\n    const\n      {\n        jurisdiction,\n        service,\n        yearlyInterval\n      } = smbWebsiteOrEcommOrder;\n\n    return update(state, {\n      jurisdiction: { $set: jurisdiction },\n      chooseEcomm: { $set: service === 'smb_website_ecomm_bundle' },\n      yearlyInterval: { $set: yearlyInterval }\n    });\n  },\n  processMap = {\n    [ACTIONS.CHOOSE_PACKAGE]: processChoosePackage,\n    [ACTIONS.CHOOSE_INTERVAL]: processChooseInterval,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ORDER_ACTIONS.GET_ORDERS_COMPLETE]: processOrdersComplete,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_stock_setup';\nimport { ACTIONS as CORP_ACTIONS } from '../../constants/complete_corp';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/stockSetup';\n\nconst mapFeesToAdjusted = (fees) => {\n  const mapped = fees.reduce((mappedFees, currentFee) => {\n    const feeType = currentFee.fee_type.replace('_adjusted', '');\n    if (!mappedFees[feeType]) {\n      mappedFees[feeType] = {\n        name: '',\n        amount: 0,\n        amount_fee_adjusted: 0\n      };\n    }\n    if (currentFee.fee_type.endsWith('_adjusted')) {\n      mappedFees[feeType].amount_fee_adjusted = currentFee.amount;\n    } else {\n      mappedFees[feeType].name = feeType;\n      mappedFees[feeType].amount = currentFee.amount;\n    }\n    return mappedFees;\n  }, {});\n\n  return Object.values(mapped);\n};\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    stockSetup: null,\n    fromDashboard: false,\n    type: '',\n    name: '',\n    domesticJurisdiction: ''\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processChooseCompany = (state, action, data) => {\n    const { companyId, name, domesticJurisdiction, type } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const {\n      companyId,\n      companyCount,\n      name,\n      domesticJurisdiction,\n      type,\n      fromDashboard\n    } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      companyCount: { $set: companyCount },\n      name: { $set: name },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      type: { $set: type },\n      fromDashboard: { $set: fromDashboard },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  processStart = (state, action) => {\n    const {\n      domesticJurisdiction,\n      calculatorType,\n      fees,\n      par_value,\n      share_qty\n    } = action.payload.newData;\n    const feesAdjusted = mapFeesToAdjusted(fees);\n    const stockFees = feesAdjusted.find((fee) => { return fee.name === 'state_stock_fee'; });\n    const stockTotal = stockFees?.amount;\n    const stockTotalAdjusted = stockFees?.amount_fee_adjusted;\n\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      calculatorType: { $set: calculatorType },\n      authorizedShares: { $set: share_qty },\n      valuePerShare: { $set: par_value },\n      stockTotal: { $set: stockTotal },\n      stockTotalAdjusted: { $set: stockTotalAdjusted },\n      fees: { $set: feesAdjusted },\n      fields: { $set: { shareQty: share_qty, parValue: par_value } }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  // Cache the v4 fee preview. `net_total` (amount owed now = total − prepaid_fee) is what the add-fee\n  // charges and the feeOwed gate reads, so cache it as `stockTotalAdjusted`; keep the full breakdown.\n  processSetStockFee = (state, action, data) => {\n    const { stock_fee: stockFee, net_total: netTotal } = data;\n    return update(state, {\n      stockFee: { $set: stockFee },\n      stockTotalAdjusted: { $set: netTotal },\n      feeBreakdown: { $set: data }\n    });\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [CORP_ACTIONS.SET_STOCK_FEE]: processSetStockFee,\n\n    [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_tax_services';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/taxServices';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    product: '',\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processCompleteReturnToDash = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, isUpgrade } = data;\n    const { product } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      actionError: { $set: 0 },\n      isUpgrade : { $set: isUpgrade },\n      inProgress: { $set: true },\n      product: { $set: product }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.COMPLETE_RETURN_TO_DASH]: processCompleteReturnToDash,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_zb_banking_preferred';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/zbBankingPreferred';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    domesticJurisdiction: '',\n    companyCount: 0,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processComplete = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, companyCount, domesticJurisdiction } = data;\n\n    return update(state, {\n      inProgress: { $set: true },\n      companyId: { $set: companyId },\n      domesticJurisdiction: { $set: domesticJurisdiction },\n      companyCount: { $set: companyCount },\n      actionError: { $set: 0 }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  /* Previous functionality\n  processStart = (state) => {\n    return update(state, {\n      inProgress: { $set: true },\n      actionError: { $set: 0 }\n    });\n  }, */\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n\n    // Leaving in previous functionality for future reference purposes\n    // as a guide to others implementing similar flows\n    // [ACTIONS.CHOOSE_COMPANY]: processChooseCompany,\n    [ACTIONS.COMPLETE]: processComplete,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n    // [ACTIONS.START]: processStart,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n","import _get from 'lodash/get';\nimport updateHelper from 'immutability-helper';\n\nimport { ACTIONS as ACCOUNT_ACTIONS } from '../../constants/account';\nimport { ACTIONS } from '../../constants/register_zbmpro';\nimport { ACTIONS as REGISTRATION_ACTIONS } from '../../constants/registration';\nimport reducerStorage from '../../utils/ReducerStorage';\n\nexport const storageKey = 'registration/zbmpro';\n\nconst\n  INITIAL_STATE_DEFAULT = {\n    inProgress: false,\n    companyId: '',\n    zbmProMonthly: null,\n    cardId: '',\n    cardNumber: '',\n    cardToken: '',\n    expMonth: '',\n    expYear: '',\n    cvc: '',\n    brand: '',\n    last4: '',\n    cardCreated: false,\n    actionError: 0,\n    isUpgrade: false\n  },\n\n  INITIAL_STATE = reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT),\n  update = (state, info) => {\n    const newState = updateHelper(state, info);\n    reducerStorage.store(storageKey, newState);\n    return newState;\n  },\n  processAddPayment = (state, action, data) => {\n    if (action.error || !state.inProgress) {\n      return state;\n    }\n\n    const { id } = data;\n    return update(state, {\n      cardId: { $set: id },\n      cardNumber: { $set: '' },\n      expMonth: { $set: '' },\n      expYear: { $set: '' },\n      cvc: { $set: '' }\n    });\n  },\n  processCompleteReturnToDash = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processInit = (state, action, data) => {\n    const { companyId, isUpgrade } = data;\n    const { zbmProMonthly } = data;\n\n    return update(state, {\n      companyId: { $set: companyId },\n      actionError: { $set: 0 },\n      isUpgrade : { $set: isUpgrade },\n      inProgress: { $set: true },\n      zbmProMonthly: { $set: zbmProMonthly }\n    });\n  },\n  processPayment = (state, action, data) => {\n    const { cardId, cardNumber, expMonth, expYear, cvc, cardToken, brand, last4 } = data;\n\n    return update(state, {\n      cardId: { $set: cardId },\n      cardNumber: { $set: cardNumber },\n      cardToken: { $set: cardToken },\n      expMonth: { $set: expMonth },\n      expYear: { $set: expYear },\n      cvc: { $set: cvc },\n      brand: { $set: brand },\n      last4: { $set: last4 }\n    });\n  },\n  resetAllData = () => {\n    reducerStorage.clear(storageKey);\n    return reducerStorage.initialize(storageKey, INITIAL_STATE_DEFAULT);\n  },\n  processMap = {\n    [REGISTRATION_ACTIONS.RESET]: resetAllData,\n    [ACTIONS.COMPLETE_RETURN_TO_DASH]: processCompleteReturnToDash,\n    [ACTIONS.PAYMENT]: processPayment,\n    [ACTIONS.INIT]: processInit,\n\n    [ACCOUNT_ACTIONS.ADD_PAYMENT_METHOD_COMPLETE]: processAddPayment\n  };\n\nexport default function (state = INITIAL_STATE, action) {\n  const\n    data = _get(action, 'payload.data', {}),\n    func = processMap[action.type];\n\n  return func ? func(state, action, data) : state;\n}\n"],"names":["convertDate","dateStr","Date","parse","e","processMap","ACTIONS","GET_ACCOUNT","state","update","loading","$set","loaded","GET_ACCOUNT_COMPLETE","processGetAccountComplete","action","data","error","actionError","account_uuid","id","account_email","email","account_name","name","account_phone","phoneNumber","account_status","status","account_type","type","created_datetime","createdDateStr","status_updated_datetime","statusUpdatedDateStr","first_name","firstName","middle_name","middleName","last_name","lastName","suffix","international","self_declared_business_name","companyName","self_declared_business_type","jobType","self_declared_business_type_other_text","jobTypeDescription","lead","createdDate","statusUpdatedDate","ACCEPT_TOS_COMPLETE","tosAccept","SET_LOGOUT","undefined","ids","_get","func","INITIAL_STATE","adding","updating","deleting","settingDefault","paymentMethods","isRecurly","defaultId","ADD_PAYMENT_METHOD","ADD_PAYMENT_METHOD_COMPLETE","processAddPaymentMethodComplete","errorCode","expMonth","expYear","cardNumber","brand","isDefault","last4","substring","length","DELETE_PAYMENT_METHOD","processDeletePaymentMethod","$push","DELETE_PAYMENT_METHOD_COMPLETE","processDeletePaymentMethodComplete","index","indexOf","$splice","$unset","SET_PAYMENT_METHOD_DEFAULT","processSetDefaultPaymentMethod","SET_PAYMENT_METHOD_DEFAULT_COMPLETE","processSetDefaultPaymentMethodComplete","UPDATE_PAYMENT_METHOD","processUpdatePaymentMethod","UPDATE_PAYMENT_METHOD_COMPLETE","processUpdatePaymentMethodComplete","GET_PAYMENT_METHODS","GET_PAYMENT_METHODS_COMPLETE","processGetPaymentMethodsComplete","sources","default_source","is_recurly","updates","_map","method","_assign","getPaymentMethodUpdates","exp_month","expMonthVal","exp_year","expYearVal","combineReducers","details","SET_ACTIVE_COMPANY","processSetActive","activeId","GET_COMPANIES_COMPLETE","processGetCompaniesComplete","companies","companyMap","lastActiveId","_reduce","map","company","business_entity_uuid","businessEntityId","business_entity_name","list","SIMULATED_ENTITY_NAME","EMPTY_ADDRESS","address_1","address_2","city","county","zip","country","phone","convertAddress","address","address_line1","address_line2","zipCode","addressLine1","addressLine2","convertUser","user","company_name","outstanding_judgments","outstandingJudgments","convertMember","manager","convertCorpUser","title","domesticJurisdiction","business_entity_type","entityType","business_entity_data","entityData","business_entity_website_url","staticWebsiteUrl","business_industry","businessIndustry","naics_code","naicsCode","jurisdictions","jurs","domains","domain_names","domainNames","domain_privacy","domainPrivacy","domestic_jurisdiction_code","domesticJurisdictionInEntity","credits","creds","business_purpose","topBusinessPurpose","formation_status","formationStatus","formed_by","formedBy","physicalAddress","authorized_shares","par_value","mailing_address","mailingAddress","principal_address","principalAddress","nestedBusinessPurpose","contact","sop_contact","sopContact","authorized_signatory","authorizedSignatory","manager_type","managerType","managers","members","directors","officers","registered_agent","registeredAgent","ein","description","structure","isPhysicalAddressEmpty","_isEqual","isMailingAddressEmpty","convertedPrincipalAddress","convertedMailingAddress","convertedPhysicalAddress","usePhysicalAsMailing","usePhysicalAsPrincipal","useMailingAsPrincipal","filter","credit_balance_status","creditStatus","service_product_name_id","creditService","includes","total_credits","totalCredits","jurisdiction","credit_balance_uuid","creditUUID","count","uuid","worryFreeServiceAdvancedCredits","jur","jurisdiction_code","jurisdiction_filing_date","filingDate","jurisdiction_filing_number","stateId","extra_state_info","extraStateInfo","domestic_flag","isDomestic","state_pin","statePIN","elective_ceo","electiveCEO","officialStateContact","member","isSimulated","director","officer","stockInfo","authorizedShares","valuePerShare","serviceMap","accounting","accounting_grow_and_scale","accounting_quick_start","accounting_up_and_running","annual_report_service","anonymity","banking","banking_resolution","basic_email","beneficial_ownership_filing","business_license_report","change_of_registered_agent","corp_amendment","corp_formation","corporate_docs","cpa_consult","dba_compliance","dba_entity","domain_name_privacy","domain_name_reg","ein_creation","entity_name_reservation","expedite","future_file_date","initial_cpa_screening","insurance","llc_amendment","llc_formation","logo_kit","ny_publication","ongoing_bof_compliance","operating_agreement","other","registered_agent_service","rush","s_corp_designation","smb_ecomm_addon","smb_website_ecomm_bundle","standard_good_standing","static_website","tax_preparation","wfg_initial_report","worry_free_service","zb_money_essential","zb_money_pro","getOrderUpdates","order","order_uuid","orderId","order_items","orderItems","nonCancelledOrders","item","items","collect","serv","isCanceled","planLevel","accountant1800","accountingOld","amendment","annualReportService","bankingResolution","basicEmail","beneficialOwnershipFiling","businessLicenseReport","changeOfAgent","corpFormation","corporateDocs","cpaConsult","dbaCompliance","dbaEntity","domainName","domainNamePrivacy","futureFileDate","goodStanding","initialCPAScreening","llcFormation","logoKit","nameReservation","nyPublication","ongoingBofCompliance","operatingAgreement","sCorpDesignation","smbEcommAddon","smbWebsiteEcommBundle","staticWebsite","taxPreparation","wfgInitialReport","worryFree","zbmEssential","zbmPro","key","GET_ORDERS_COMPLETE","processGetOrdersComplete","orders","_forEach","up","GET_ORDER_COMPLETE","processGetOrderComplete","ORDER_ACTIONS","orderList","sort","a","b","idMap","order_status","orderStatus","_find","oi","service","push","value","getBusinessType","getCompanyUpdates","hasKey","active_flag","isActive","companyData","refreshCompanies","reducerData","business","needsRefresh","refreshCompaniesNoStatusCheck","GET_COMPANIES","GET_COMPANY_COMPLETE","processGetCompanyComplete","CORP_ACTIONS","UPDATE_ORDER_COMPLETE","EIN_ACTIONS","LLC_ACTIONS","POSTPURCHASE_ACTIONS","BUSINESS_ACTIONS","UPDATE_BUSINESS_COMPLETE","REG_ACCOUNTING_ACTIONS","CREATE_ORDER_COMPLETE","REG_BASICEMAIL_ACTIONS","REG_BLR_ACTIONS","REG_BUSINESS_ACTIONS","CREATE_BUSINESS_COMPLETE","REG_CORA_PF_ACTIONS","REG_DBA_PF_ACTIONS","REG_EIN_ACTIONS","REG_INITIALCPASCREENING_ACTIONS","REG_GS_ACTIONS","REG_LOGOKIT_ACTIONS","REG_NAMERES_ACTIONS","REG_NYPUB_ACTIONS","REGISTRATION_ACTIONS","REG_SMB_WEBSITE_ACTIONS","REG_SMB_WEBSITE_ECOMM_ACTIONS","REG_SMB_ECOMM_ADDON_ACTIONS","REG_SMB_WEBSITE_OR_ECOMM_ACTIONS","GET_FILES_COMPLETE","processGetFilesComplete","companyId","files","file","getFileUpdates","document_uuid","documentId","category","meta_data","url","created","processDocuments","documents","normalizedDocuments","forEach","document","corporate_document_uuid","isOpAgree","isOpAgreeGeneric","isCorpBylaws","isVirtualGuide","isCorporateDoc","all","getTime","GET_FILES","processGetFiles","fileList","uploaded_date","entryPoint","getAppEntryPoint","info","updateHelper","SET_APP_ENTRY_POINT","setAppEntryPoint","plans","coupons","SET_INITIALIZATION","fees","pricing","order_data","orderData","orderArray","businessType","business_entity_address","corporation_type","taxedAsSCorp","has_bank_accounts","hasBankAccounts","bank_accounts","bankAccounts","has_credit_cards","hasCreditCards","credit_cards","creditCards","naics","businessActivity","naics_description","businessActivityOther","company_members","ownerList","business_entity_contact","owners","owner","getOwner","citizenship","ownership_percentage","percentFloat","date_of_birth","dob","role","percent","contactFirstName","contactMiddleName","contactLastName","contactSuffix","contactCompanyName","accountOwner","amendment_type","amendment_description","business_dba_name","dbas","bank_account_members","numOwners","access","formation","product","entityProduct","getFormationProductUpdates","entity_type","alternates","requestedJurisdiction","domestic_jurisdiction","foreign_jurisdictions","foreignJurisdictions","domestic_entity","domesticEntity","has_foriegn_jurisdictions","hasForeignJurisdictions","domestic_filing_date","domesticFilingDate","state_id","addressTop","ma","addrState","mailingAddressLine1","mailingAddressLine2","mailingCity","mailingCounty","mailingState","mailingZipCode","mailingCountry","getEntityProductUpdates","processGetOrderTasksComplete","orderTasks","task","order_task_uuid","orderTaskUuid","order_task_type","orderTaskType","order_task_data","orderTaskData","skip","orderItemUuid","order_item_uuid","order_task_jurisdiction","parValue","stateFees","state_fees","GET_ORDER_TASKS","GET_ORDER_TASKS_COMPLETE","stateName","lat","lng","addressIsGoogle","getAddress","address_is_google","getAddressSet","einProduct","mailAddr","prinAddr","physAddr","principal","mailing","physical","getEINProductUpdates","business_kit","businessKit","standalone","primaryContact","users","dba_name","convertedDirectors","outstandingJudgment","emailItem","primary","email_address","emailUserName","emailSkip","emailDomesticJurisdiction","productEIN","business_data","businessData","tax_info","taxInfo","responsible_party","trade_names","reason","member_count","memberCount","userAddressLine1","userAddressLine2","userCity","userCounty","userState","userZipCode","userCountry","userPhoneNumber","userEmail","legal_name","legalName","ein_number","einNumber","ssn_itin","ssn","previous_ein","previousEin","alternate_last_names","alternateLastNames","has_ssn","hasSSN","collect_data_from_user","collectDataFromUser","responsibleParty","activity","hasDBAs","llcMarried","members_are_married","llcSingleMember","taxed_as_single_member_llc","taxed_as_s_corp","corpCareOf","corp_care_of","corpClosingMonth","corp_closing_month","startDate","start_date","gambling","atf","alcohol_tobacco_firearms","employeesW2","employees_with_w2","w2WagesPaidDate","w2_wages_paid_date","w2AgriculturalEmployeeCount","w2_agricultural_employees_count","w2OtherEmployeeCount","w2_other_employees_count","w2WagesLessThan1000","w2_wages_lt_1000","motorVehicle","highway_vehicle","motorVehicleWeight","highway_vehicle_over_55000","businessForm720","files_form_720","businessActivity1","level_1","businessActivity2","level_2","businessActivity3","level_3","businessActivity4","level_4","businessActivity5","level_5","businessActivitySpecify","specify","future_filing_date","futureFilingDate","filing_action","filingAction","formation_jurisdiction","business_entity_mailing_address","insContact","has_website","hasWebsite","website","business_years","businessYears","business_income","businessIncome","has_insurance_claims","hasInsuranceClaims","has_workers_comp_claims","hasWorkersCompClaims","workers_comp_claims_description","workersCompClaimsDescription","has_property_liability_claims","hasPropertyLiabilityClaims","property_liability_claims_description","propertyLiabilityClaimsDescription","policy_start_type","policyStartType","policy_start_date","policyStartDate","liability_limit_type","liabilityLimitType","claim_liability_limit","claimLiabilityLimit","aggregate_liability_limit","aggregateLiabilityLimit","has_equipment_coverage","hasEquipmentCoverage","equipment_type","equipmentType","has_equipment_mobile","hasEquipmentMobile","equipment_value","equipmentValue","has_property_coverage","hasPropertyCoverage","building_year_built","buildingYearBuilt","building_materials","buildingMaterials","building_stories","buildingStories","has_building_sprinklers","hasBuildingSprinklers","has_building_fire_alarm","hasBuildingFireAlarm","has_building_burgler_alarm","hasBuildingBurglerAlarm","has_building_other_addresses","hasBuildingOtherAddresses","building_other_address_list","buildingOtherAddressList","has_workers_comp_coverage","hasWorkersCompCoverage","has_other_coverage","hasOtherCoverage","other_coverage_list","otherCoverageList","other_coverage_description","otherCoverageDescription","getContact","smbWebsiteEcomm","smbWebsiteOrEcomm","setOrderDataSentDuringRegistration","registeredAgents","_filter","raAddresses","ra","is_cora","isCoRA","domJur","domestic_jurisdiction_filing_date","domesticJurisdictionFilingDate","domestic_jurisdiction_filing_number","domesticJurisdictionStateId","domestic_jurisdiction_state_info","domesticJurisdictionStateInfo","foreign_jurisdiction_objects","foriegnJurisdictionObjects","jurisdiction_state_pin","domesticJurisdictionStatePIN","jurisdiction_elective_ceo","domesticJurisdictionElectiveCEO","isRequested","fjo","jurisdicion_filing_number","convertedManagers","convertedMembers","ny_publication_county","nyPubCounty","convertedOfficers","businessName","is_generic","isGeneric","initManagers","initMembers","llc_business_address","initLLCBusinessAddress","llc_mailing_address","initLLCMailingAddress","businessEmail","preemptive_rights","preemptiveRights","right_of_first_refusal","rightOfFirstRefusal","financial_report_frequency","financialReportFrequency","internal_financial_audit","internalFinancialAudit","tax_advances","taxAdvances","day_to_day_majority","dayToDayMajority","meeting_of_members_majority","meetingOfMembersMajority","pass_action_without_meeting_majority","passActionWithoutMeetingMajority","amendment_majority","amendmentMajority","terminate_company_majority","terminateCompanyMajority","amend_oa_or_formation","amendOAorFormation","issue_additional_membership","issueAdditionalMembership","appoint_remove_auditors","appointRemoveAuditors","amend_related_party_agreement","amendRelatedPartyAgreement","enter_equity_transactions","enterEquityTransactions","enter_asset_transactions","enterAssetTransactions","establish_subsidiary","establishSubsidiary","offering_and_securities","offeringAndSecurities","fundamental_business_transaction","fundamentalBusinessTransaction","liquidate_or_terminate","liquidateOrTerminate","cancel_liquidate_or_terminate","cancelLiquidateOrTerminate","reinstate_after_termination","reinstateAfterTermination","change_manager","changeManager","members_remove_manager","membersRemoveManager","fill_manager_vacancy","fillManagerVacancy","capital_contribution_approval","capitalContributionApproval","capital_contribution_amount","capitalContributionAmount","make_investment_approval","makeInvestmentApproval","make_investment_amount","makeInvestmentAmount","incur_indebtedness_approval","incurIndebtednessApproval","incur_indebtedness_onetime_amount","incurIndebtednessOneTimeAmount","incur_indebtedness_total_amount","incurIndebtednessTotalAmount","settle_lawsuit_approval","settleLawsuitApproval","settle_lawsuit_amount","settleLawsuitAmount","mailingAddressType","llcBusinessAddress","llcMailingAddress","m","partnership_rep","partnershipRep","manager_notice","managerNotice","email_disabled","emailDisabled","phone_disabled","phoneNumberDisabled","membership_interest","membershipInterest","marital_status","maritalStatus","spouse_name","spouseName","primary_member","primaryMember","official_notice","officialNotice","service_description","starterPlan","proPlan","premiumPlan","raStarterPlan","raProPlan","raPremiumPlan","planItem","plan","privacy","raServices","registeredAgentService","registeredAgentFormation","isZen","isOther","phone_number","regAgt","itemOrders","createDateStr","updatedTimeStr","updatedDate","estimated_formation_date","efd","estimatedFormationDate","refreshOrders","GET_ORDERS","payload","WFG_ACTIONS","COMP_NYPUB_ACTIONS","REG_WFG_ACTIONS","vanity_product","vanityProduct","businessAddresses","contacts","storageKey","INITIAL_STATE_DEFAULT","createAccount","creatingAccount","hasZBMPro","reducerStorage","initialize","newState","store","RESET","resetAllData","clear","ACCOWN_CONTACT","CREATE_ACCOUNT","CREATE_ACCOUNT_COMPLETE","processCreateAccountComplete","PURCHASE_SUCCESS","processComplete","ACCOUNT_ACTIONS","GET_ACCOUNT_HAS_ZB_MONEY_PRO","processAccountHasZBMoneyProSubscription","hasZBMoneyProSubscription","inProgress","cardId","cvc","cardCreated","PAYMENT","processPayment","START","processAddPayment","activeRoute","didSelectOnlyAnnualReport","didAddWFC","fieldInfo","filingJurisdiction","filingJurisdictionType","isFetchingJurisdiction","isPurchasingWFG","useCredit","hasWFG","jurisdictionRules","originalCompanyInfo","defaultTaxPreparer","updatedCompanyInfo","orderCompleteBusinessId","upcomingAnnualReportDueDate","changingOwnership","cardToken","removeFieldFromUpdatedFields","currentUpdates","fieldName","updatedInfo","ADVANCE_IN_FLOW","newRouteName","FETCH_JURISDICTION_REQ","FETCH_JURISDICTION_COMPLETE","SET_SELECT_ONLY_ANNUAL_REPORT","SET_ADD_WFC","SET_COMPANY","SET_FOREIGN_JURISDICTION","jurisdictionCode","INIT","SET_JURISDICTION_TYPE","jurisdictionType","SET_DEFAULT_TAX_PREPARER","taxPreparer","RESET_FIELD","SET_FIELD","updatedFieldValue","SET_PURCHASE_WFG","isPurchasing","SET_USE_CREDIT","SET_CHANGING_OWNERSHIP","ARS","hasARS","FETCH_COMPLIANCE_EVENTS_COMPLETE","upcomingEventDate","ACCOUNT_TYPE_MAP","checking","savings","inPlan","createdAccounting","createdEIN","hasExistingEIN","createdFormation","matchedBusinessActivity","hasEIN","accountType","routingNumber","accountNumber","fundingAmount","publicToken","accounts","plaidLinkToken","gettingFundingAccounts","gettingPlaidLinkToken","gettingActivities","naicsCodes","naicsSector","naicsSubsector","naicsIndustry","moreInfo","hasITIN","itin","itinInfo","drugsFirearms","hasW2","vehicle","W_2","W2","purchaseEIN","taxableVehicle","required720Form","processStart","_trim","processInit","START_EIN","processStartEIN","START_FROM_COMP_BUS","processStartFromCompleteBusiness","START_PLAN","EIN","processEIN","PURCHASE_EIN","processPurchaseEIN","HAS_EIN","processHasEIN","RESPONSIBLE_PARTY","processResponsibleParty","HAS_ITIN","processHasITIN","ITIN","processITIN","GAMBLING","processGambling","DRUGS_FIREARMS","processDrugsFirearms","HAS_W2","processHasW2","processW2","VEHICLE","processVehicle","TAXABLE_VEHICLE","processTaxableVehicle","FORM_720","processForm720","DBAS","processDBAs","HAS_DBAS","processHasDBAs","BUS_YEARS","processBusinessYears","BUS_ACT","processBusinessActivity","GET_NAICS_CODES_COMPLETE","proccessGetNaicsCodesComplete","SET_NAICS_SECTOR","processSetNaicsSector","SET_NAICS_SUBSECTOR","processSetNaicsSubsector","SET_NAICS_INDUSTRY","processSetNaicsIndustry","OWNERS","processOwners","OWNER_INFO","processOwnerInfo","FUNDING","processFunding","ACCOUNT_INFO","processAccountInfo","accountFullName","CHOOSE_ACCOUNT","processChooseAccount","GET_FUNDING_ACCOUNTS","GET_FUNDING_ACCOUNTS_COMPLETE","processGetFundingAccountsComplete","act","account_id","accountId","account_number","routing_number","subtype","accountTypeRaw","mask","balances","available","current","balance","GET_PLAID_LINK_TOKEN","GET_PLAID_LINK_TOKEN_COMPLETE","processGetPlaidLinkComplete","linkToken","DATA_CONFIRM","COMPLETE","processOrdersComplete","incompleteOrder","getIncompleteOrder","formationBanking","resident_citizen_age_acknowledge","residentCitizenAgeAck","dobRaw","replace","bankOfAmericaOffer","PURCHASE_BOA_OFFER","setBankOfAmericaOffer","isPrincipal","careOf","processAccountOwnerName","processAccountOwnerContact","processAccountOwnerData","processContact","processEmail","processFirstName","processLastName","processPhone","processBusinessId","processRemagineCart","processResetData","updateObj","Object","entries","entry","_has","isLoggedIn","ACCOWN_NAME","ACCOWN_MODAL","BUS_ID","CHOOSE_PRIM_CONTACT","PRIM_CONTACT","COMP_BLR_ACTIONS","PRIM_CONTACT_MODAL","COMP_BUSINESS_ACTIONS","ACCOWN_EMAIL","ACCOWN_FIRST_NAME","ACCOWN_LAST_NAME","ACCOWN_MIDDLE_NAME","processMiddleName","ACCOWN_PHONE","ACCOWN_SUFFIX","processSuffix","CART","RESET_DATA","COMP_CORA_ACTIONS","CHOOSE_OFF_STATE_CONTACT","OFF_STATE_CONTACT","OFF_STATE_CONTACT_MODAL","REG_DOMAINNAME_ACTIONS","ACC_OWN_INFO","processAccountOwnerInfo","REG_ONLINETOOLS_ACTIONS","COMP_WFG_ACTIONS","processAccountComplete","o","care_of","is_principal","pubState","pubStateCounty","nyPubCountyCode","useAlbany","locked","processPubState","processPubCountyGeneric","processPubCounty","processRA","processRegBusinessId","NY_PUB_COUNTY_REVERSE_MAP","PRIN_ADDR","processPrincipalAddress","PRODUCT_CONFIRM","PUB_COUNTY","PUB_STATE","PUB_STATE_COUNTY","PURCH_PLAN","PURCH_PRIV","PUB_COUNTY_MODAL","planData","syncUpPlan","goals","hasEmployees","homeBased","industry","launchStatus","priorExperience","REG_ACTIONS","has_employees","home_based","launch_status","prior_experience","startStep","step","currentStep","steps","activeFlow","SET_PROGRESS_BAR","RESET_PROGRESS_BAR","searchKey","matched","matches","suggestions","selectedBusinessNameSuggestion","SEARCH_BUSINESS_NAMES","SEARCH_BUSINESS_NAMES_COMPLETE","SEL_BUS_NAME_SUGGES","companyCount","vanityUrlId","vanityKey","fromDashboard","CHOOSE_COMPANY","processChooseCompany","account","annualReport","blr","cora","corpDocs","corpStockFlow","customer","domainV2","emailV2","ettfRenewal","expenseTrackerNTaxFiling","feedback","nypub","page","postpurchase","purchase","remagine","smbWebsite","stockSetup","wfgir","progressBar","businessNameGenerator","zbBankingPreferred","taxServices","beneficialOwnershipModification","getPlanPricingDetails","pricingUtils","standaloneServices","expediteFees","setPLans","displayNameToLevel","reduce","planLevels","displayName","level","setStandaloneServicesByService","formatted","existingInterval","thisInterval","rawPlans","INITIALIZE_PRICING_DATA","initialization","registration","productEnabledStatus","omitKeys","invalidateDate","filingFees","GET_STATE_FEES_COMPLETE","u","stateCode","_omit","GET_EXPEDITE_FEES_COMPLETE","errorMessage","complianceEventUuid","didAddAmendment","hasPurchasedWFC","SKIP_FLOW","SET_COMPLIANCE_EVENT_UUID","FETCH_COMPLIANCE_EVENT_COMPLETE","complianceEventDueDate","SET_FLOW_CHANGE_FLAGS","flowChangeFlags","SET_ADD_AMENDMENT","SET_FOREIGN_JURISDICTION_STATE_ID","SET_HAS_WFG","SET_USE_ARS","hasOngoingBof","businessIndustryId","businessIndustryLabel","businessOutOfHome","employeesCount","existingCompany","skipBLR","isSubscription","processBusinessIndustry","processBusinessOutOfHome","processEmployeesCount","processHasEmployees","processLicenseData","BUS_AT_HOME","BUS_INDUSTRY","EMPL_COUNT","HAS_EMPLOYEES","LIC_DATA_MODAL","BLR_BUS_AT_HOME","BLR_BUS_INDUSTRY","BLR_EMPL_COUNT","BLR_HAS_DBAS","BLR_HAS_EMPLOYEES","BLR_LIC_DATA_MODAL","BLR_START","processPostpurchaseStart","BLR_SKIP","processSkipBLR","clearData","formationBusLic","formationFull","some","out_of_home","industry_id","industry_label","has_trade_names","employees_count","existing_company","_isInteger","isBusinessIncomplete","businessOrderType","isDAO","isSCorp","hasSCorp","hasSCorpWordUpdate","indicator","domesticJurisdictionName","requestedJurisdictionName","foreignJurisdictionNames","hasMoreThanOneShare","hasExistingBusiness","createBusiness","creatingBusiness","updateBusiness","updatingBusiness","scorpAllUSOwners","scorpOutsideInvestors","scorpOperateLoss","scorpOperateProfit","scorpPaySalary","scorpPlanJurChosen","formationCounty","daoMemberManaged","daoRestriction","daoSmartContractLink","getStateName","match","DOM_JURS","option","label","processDomesticJurisdiction","processBusinessDescription","processDBABusinessDescription","businessDescription","reset","forceEmptyId","oldId","foreignJurisdiction","foreignJurisdictionName","processBusinessName","processBusinessAlternates","alternate","processBusinessType","origType","processBusinessModal","processAuthorizedSignatory","tp","dj","djName","processDashboardProduct","processStatus","processStatusComplete","processCreateOrderComplete","BUS_NAME","BUS_NAME_MODAL","BUS_TYPE","BUS_TYPE_MODAL","FORM_COUNTY","processFormationCounty","FORM_COUNTY_PF","processFormationCountyPF","DOM_JUR","DOM_JUR_MODAL","processPurchasePlan","SCORP_ALL_US_OWNERS","processSCorpAllUSOwners","SCORP_INVESTORS","processSCorpOutsideInvestors","SCORP_LOSS","processSCorpOperateLoss","SCORP_SALARY","processSCorpPaySalary","EDIT_CHECKOUT","checkoutEditBusiness","companyType","BUS_ALT","BUS_DESC","AUTH_SIG","COMPANY_ACTIONS","find","c","is_dao","CORP_STOCK","processCorpStock","HAS_MORE_THAN_ONE_SHARE","processHasMoreThanOneShare","REG_ACCOUNT_ACTIONS","HAS_EX_BUS","processHasExistingBusiness","REG_ANNUAL_REPORT_ACTIONS","processAnnualReportJurisdiction","processBusDomesticJurisdiction","CREATE_BUSINESS","processCreateBusinessComplete","BUS_MODAL","processBusBusinessData","UPDATE_BUSINESS","processUpdateBusinessComplete","processStartBusinessComplete","REG_STOCK_SETUP_ACTIONS","REG_BUSINESSKIT_ACTIONS","BUS_DATA_MODAL","processBLRBusinessData","BUS_DATA","AUTH_SIG_MODAL","REG_CD_ACTIONS","processPFCoRABusinessId","processPFCoRABusinessType","BUS_TYPE_NAME_CART","processPFBusinessTypeAndName","processPFCoRAInit","BUS_DESC_MODAL","INIT_REQ_JUR","processDBAInitReqJurisdiction","isInitialJurSupported","REQ_JUR","processDBAReqJurisdiction","HOME_STATE","processDBAHomeState","homeState","domJurName","DOMESTIC_JUR","processDBADomesticJurisdiction","jurName","COMP_DBA_ACTIONS","DOM_ENTITY","processDomesticEntity","processTRUiCRADomesticJurisdiction","REG_MODAL","REG_DOMAIN_V2_ACTIONS","REG_EMAIL_V2_ACTIONS","REG_DOMAINPRIVACY_ACTIONS","COMP_EIN_ACTIONS","REG_ETNTF_ACTIONS","BNG_ACTIONS","ACCOWN_DATA","REG_OPAGREEMENT_ACTIONS","processWFGBusinessData","REG_WFGIR_ACTIONS","REG_VANITY_PRODUCT_ACTIONS","REG_ZBMPRO_ACTIONS","REG_TAX_SERVICES_ACTIONS","MARK_COMPLETE","postPurchaseEntityCheck","isPostPurchaseEntityCheckEnabled","order_entity_name","orderEntityName","orderEntityType","daoService","dataEntityType","has_existing_business","has_foreign_jurisdictions","business_order_type","dataEntityName","orderItemWithCounty","fullName","indicatorObj","CORP_INDICATORS","LLC_INDICATORS","_endsWith","_isEmpty","err","Error","dataStr","JSON","stringify","reportError","metaData","nextAuthorizedShares","nextValuePerShare","dao_smart_contract_managed","dao_notice_approved","dao_smart_contract_link","ADDRESS_COMPARE_FIELDS","EMPTY_ADDRESS_COMPARE","EMPTY_ADDRESS_SET","getAddressUpdate","getOrderAddressUpdate","compareAddresses","address1","address2","addr1","_pick","addr2","processPhysicalAddress","oldUsePhysicalAsMailing","oldUsePhysicalAsPrincipal","addressUpdate","stateUpdate","processPhysicalAddressInFlow","processPhysicalAddressModal","processMailingAddress","oldUseMailingAsPrincipal","processMailingAddressModal","processMailingAddressInFlow","processAllAddressModal","processAllAddressModalInFlow","MAIL_ADDR","MAIL_ADDR_MODAL","PHYS_ADDR","PHYS_ADDR_MODAL","PRIN_ADDR_MODAL","ADDR_MODAL","processNameResPhysicalAddress","processNameResPhysicalAddressModal","busDetailsLocked","domJurNotReqJurs","existingJurisdictions","filingDates","foreignQualFiling","foreignRegistration","formationOnParam","formWithZen","hasElectiveCEO","hasFormation","idOnParam","jurisdictionOnParam","jurisdictionOrder","pendingStates","price","requestedJurisdictions","requestedJurisdictionNames","requestedJurisdictionCount","saveData","selfFile","skipHasFormation","skipRequestedJurisdictions","skipBusinessName","skipBusinessType","startFromInit","stateIds","statePINs","typeOnParam","upsellDomJur","whoFilesPaperwork","needsPrincipals","needsContact","needsCoraContacts","needsBusinessData","needsBusinessIndustry","needsAddresses","needsDomesticJurisdictionData","STATE_NAMES","names","sortRequestedJurisdictions","_clone","createJurisdictionOrder","reqJur","_indexOf","unshift","processUser","includeTitle","processElectiveCEO","processSOPContact","processStateFiling","processNextStep","nextStep","therest","keys","acc","NEXT_STEP","processPFAccountOwnerEmail","processPFAccountOwnerFirstName","processPFAccountOwnerLastName","processPFAccountOwnerPhoneNumber","processPFBusinessId","needsPrincipalAddress","nameEdited","processBusinessTypeAndName","CHECKPOINT","processPFCheckpoint","CHOOSE_DOM_JUR","processPFChooseDomesticJurisdiction","newPendingStates","CHOOSE_HAS_FORMATION","processPFChooseHasFormation","processPFCreateOrderComplete","STEPS","processPFDomesticEntity","processPFDomesticJurisdiction","FOREIGN_QUAL_FILING","processPFForeignQualFiling","FOREIGN_REG","processPFForeignRegistration","_isUndefined","FORM_WITH_ZEN","processPFFormWithZen","HAS_FORMATION","processPFHasFormation","foreignReg","HOW_TO_FILE","processPFHowToFile","newValues","reqJurs","processPFInit","WELCOME","PLAN","processPFPlan","PRICES","processPFPrices","REG_AGENT","REG_STATES_FROM_CART","processPFRegisteredStatesFromCart","registeredStates","newRequestedJurisdictions","hasDomJur","newUpsellDomJur","REQ_JURS","processPFRequestedJurisdictions","UNREG_STATES_FROM_CART","processPFUnregisteredStatesFromCart","unregisteredStates","UPSELL_DOM_JUR","processPFUpsellDomJur","BUS_INFO_MODAL","CHOOSE_ELECTIVE_CEO","CHOOSE_SOP_CONTACT","ELECTIVE_CEO","ELECTIVE_CEO_MODAL","HAS_ELECTIVE_CEO","processHasElectiveCEO","SOP_CONTACT","SOP_CONTACT_MODAL","STATE_FILING","STATE_FILING_MODAL","ras","values","domJurFilingDate","domJurStateId","domJurStateInfo","forJurObjects","is_primary","isPrimary","has_elective_ceo","jurisdiction_order","existing_jurisdictions","pending_states","needs_addresses","needs_business_data","needs_business_industry","needs_contact","needs_cora_contacts","needs_domestic_jurisdiction_data","needs_principal_address","needs_principals","domJurStatePIN","domJurElectiveCEO","foJur","fojFilingDate","fojStateId","fojStatePIN","fojElectiveCEO","jurOrder","reqJurNames","existingJurs","pendingJurs","existingJurMap","reqJurName","hasVariableFee","sharesCollected","feePaid","SET_CORP_STOCK_FLOW","processSetCorpStockFlow","dateOfBirth","orderToken","password","identifyUser","join","processName","processCleanUpCardData","defaultData","processContactAndPassword","processOwnerInformation","processLogout","addNextStep","parentType","skipRequestedJurisdiction","dbaEntities","dbaName","hasDBAComnpliance","skipDBACompliance","skipEIN","skipStaticWebsite","spFirstName","spMiddleName","spLastName","spSuffix","ownerCount","stateFilingDate","stateFilingNumber","initCompanyId","initialJurisdiction","initialJurisdictionName","isTypeSupported","formWithZB","formInHomeState","businessIsRegistered","checkOtherDomJurs","loggedInBusSelection","registerDBAInSameState","loggedInUserNumberOfBusinesses","simulatedCompanyId","isRegisteringABusiness","skipInititialDomJur","useCompanyConfirmation","isCompanyStateSupported","companyHasForeignQualification","confirmCompanyUsage","confirmDomesticJurisdiction","processDBAName","processOwnerCount","REGISTER_DBA_PF_ACTIONS","DBA_NAME","processPreDomesticJurisdiction","DOMESTIC_JUR_CONFIRMATION","processPreDomesticJurConfirmation","processRequestedJurisdiction","processInitialJurisdiction","BUS_TYPE_NOT_FORMED","processFormWithZB","processHomeState","domesticJur","domesticJurName","FORM_IN_HOME_STATE","processFormInHomeState","forExistingBusiness","processCheckpoint","BUS_REGISTERED","processBusRegistered","CHECK_OTHER_JURS","processCheckOtherDomJurs","processPrice","processTypeAndBusinessName","createCompleteSuccess","BUS_SELECTION","processBusSelection","processCompanyId","DBA_IN_SAME_STATE","processDBAInSameState","BUS_HAS_FOREIGN_QUALIFICATION","processForeignQualification","BUS_USAGE_CONFIRM","procesBusUsageConfirmation","COMPLETE_ACTIONS","DBA_MODAL","OWNER_COUNT","OWNER_DATA","processRegistrationModal","DATA_DBA_CONFIRM","parent_type","owner_count","has_ein","sole_proprietor","soleProprietor","authSignatory","authCity","authCounty","directorCount","getNextId","newValue","parseInt","removeTitle","oldTitle","split","_without","addTitle","shift","titleIndex","TITLE_INDEXES","splice","fixupTitle","_findIndex","idIndex","processAsstSecretary","ASST_SEC","processChooseAsstSecretary","processChoosePresident","PRES","processChooseSecretary","SEC","processChooseTreasurer","TRSR","processChooseVicePresident","VP","processHasAsstSecretary","hasAsstSecretary","processHasVicePresident","hasVicePresident","processPresident","processSecretary","processTreasurer","processVicePresident","processDirectorCount","processDirectorList","nextId","_isString","processOfficerListModal","presidentId","vicePresidentId","treasurerId","secretaryId","asstSecretaryId","retVal","processDBAOwnerList","_cloneDeep","processUpdateDirector","arrayIndex","updatedDirectors","mEmail","mPhoneNumber","CHOOSE_ASST_SEC","CHOOSE_PRES","CHOOSE_SEC","CHOOSE_TRSR","CHOOSE_VP","DIR_COUNT","DIR_LIST","HAS_ASST_SEC","HAS_VP","UPDATE_DIR","CORP_ASST_SEC","CORP_CHOOSE_ASST_SEC","CORP_CHOOSE_PRES","CORP_CHOOSE_SEC","CORP_CHOOSE_TRSR","CORP_CHOOSE_VP","CORP_DIR_COUNT","CORP_DIR_LIST","CORP_DIR_LIST_MODAL","CORP_HAS_ASST_SEC","CORP_HAS_VP","CORP_OFF_LIST_MODAL","CORP_PRES","CORP_SEC","CORP_TRSR","CORP_VP","OWNER_MODAL","dirs","Array","isArray","director_count","domainNameSearch","emailAddresses","verified","emailInPlan","processPrimary","DOMAIN_NAME","DOMAIN_NAMES","processDomainNames","EMAIL_ADDRESS","EMAIL_ADDRESSES","processEmailAddresses","EMAIL_ADDRESS_MODAL","SELECT_DOMAIN","processDomainName","processRegistrationInit","domainSearch","selectedDomainNames","selectedEmailAddresses","domainNameOrder","emailOrder","domain_verified","mailingAddressRequired","physicalAddressRequired","principalAddressRequired","ssnItin","processDBABusinessActivity","businessActivitySpecial","processCorpTaxed","ATF","processATF","BUS_720","processBusinessForm720","processBusinessData","CHOOSE_RESP","processChooseResponsible","hadSuffix","CORP_DATA","processCorpData","CORP_INFO","processCorpInfo","CORP_TAXED","DBA_NAMES","EIN_DATA","processEINData","EIN_REASON","processEINReason","EMPL_W2","processEmployeesW2","HAS_EMPL_W2","processHasEmployeesW2","HAS_SSN","processHasSSN","LLC_ARE_MARRIED","processLLCMarried","LLC_MARRIED_TAXED","processLLCSingleMember","LLC_MBR_COUNT","processLLCMemberCount","MBR_DATA","processMemberData","RESP_DATA","processResponsibleData","RESP_INFO","processResponsibleInfo","RESP_PARTY","processMotorVehicle","VEHICLE_WEIGHT","processMotorVehicleWeight","SKIP_EIN","processSkipEIN","DBA_ACTIONS","formationEin","formationDBA","dbaBusActivity","formBusinessActivity","setBusinessActivity","notLoaded","responsiblePartyInfoLoaded","hasDBAsFromString","gambing","startDatePieces","EMAILS","lastFour","planDisplayName","processingMigration","term","termEndDate","MIGRATE_MONEY_PLAN","MIGRATE_MONEY_PLAN_COMPLETE","processMigrateMoneyPlanComplete","feedbackSource","feedbackAdditional","PURCHASE_FEEDBACK","processFeedback","feedbackOther","businessAddressLine1","businessAddressLine2","businessCity","businessState","businessZipCode","contactAddressLine1","contactAddressLine2","contactCity","contactState","contactZipCode","contactPhoneNumber","contactEmail","CHOOSE_STATE","processState","gsState","processUseCredit","leadUUID","CREATE_LEAD_COMPLETE","lead_uuid","managerCount","processManagerCount","processManagerList","processManagerOption","memberManagerCount","reverseManagerTypeMap","processUpdateManager","updatedManagers","MGR_COUNT","SET_MGR_LIST","SET_MGR_OPT","UPDATE_MGR","LLC_MGR_COUNT","LLC_MGR_LIST","LLC_MGR_LIST_MODAL","LLC_MGR_OPT","LLC_MGR_OPT_MODAL","manager_count","onlyOwner","processBusinessRunners","processMemberCount","processMemberList","processUpdateMember","updatedMembers","MBR_COUNT","SET_BUS_RUN","SET_MBR_LIST","UPDATE_MBR","LLC_BUS_RUN","LLC_MBR_LIST","LLC_MBR_LIST_MODAL","processStartBusiness","onlyOne","genId","hasTitle","persons","person","updateChoice","updateOfficer","newOfficer","processOfficialListModal","off","hasPresident","hasSecretary","processUpdateOfficer","updatedOfficers","UPDATE_OFC","opagreement","opagreCompliance","typebrand","createOrder","creatingOrder","updateOrder","updatingOrder","postpurchaseId","totalPrice","bofError","actionErrorMessage","willMarkOrderCompleted","forceToPrivacy","processCreateOrder","processUpdateOrder","processUpdateOrderComplete","CREATE_ORDER","UPDATE_ORDER","REG_AMENDMENT","REG_CORP_TRANSPARENCY_ACT_ACTIONS","REG_BOF_MODIFICATIONS_ACTIONS","RESET_ACTION_ERROR","snapshot","getReducerSnapshot","storeLocal","REG_DBA_ENTITY_PF_ACTIONS","VANITY_PRODUCT_ACTIONS","REG_ZB_BANKING_PREFERRED","REG_TAX_SERVICES","processPostpurchasePayment","purchaseBankOfAmericaOffer","purchaseBLR","purchaseRA","purchaseDBAEntity","purchaseFFD","purchaseBusinessKit","purchaseBOF","purchaseCD","purchaseTaxAdvice","purchaseTaxAdviceBizTaxPrep","purchaseWFGIR","purchaseVanityProduct","purchaseVBA","purchaseZbBankingPreferredOffer","purchaseZBMPro","isComplete","CREATE_ORDER_BOF_FAILED","processCreatePostPurchaseOrderBOFFailed","processCreatePostPurchaseOrderComplete","order_tracking","orderTracking","flowType","flow_type","WILL_MARK_ORDER_COMPLETED","reduceOrder","next","OFFICE_ADDRESS_ERROR_CODE","ACTION_TO_URL_MAP","URLS","LOGIN_POST","PURCH_BANK","PURCH_BANK_RES","PURCH_CORP_BYLAWS","PURCH_DOMAIN","PURCH_DOMAIN_PRIV","PURCH_EIN","PURCH_EMAIL","PURCH_EXP","PURCH_NYPUB","PURCH_OP_AGREE","PURCH_START","PURCH_WEBSITE","PURCH_WF","REG_AGT","STATE_REQ","REG_BLR_URLS","BUS_EXIST","REG_CORA_PF_URLS","QUESTIONNAIRE","CONGRATS","REG_DBA_ENTITY_PF_URLS","REG_EIN_URLS","BUS_ADDR","BUS_ADDR_UNL","NO_COMPANY","REG_NAMERES_URLS","SHARE","REG_NYPUB_URLS","REG_WFG_URLS","LLC_URLS","BUS_RUN","DBA_ENTITIES","PURCHASE_DBA_COMPLIANCE","PURCHASE_DBA_ENTITY","MBR_LIST","MGR_LIST","MGR_OPT","START_COMP","CORP_URLS","SHARE_NEW_CORP","COMP_BLR_URLS","START_BUS_DATA","START_BLR_DATA","COMP_CORA_URLS","COMP_DBA_URLS","IS_DOM_JUR","COMP_EIN_URLS","BUS_QUEST_START","NO_SSN","COMP_BUSINESS_URLS","PURCH_REG_AGT","COMP_NYPUB_URLS","ACCOWN_ADDR","COMP_WFG_URLS","ACCOWN_ADDR_UNL","POSTPURCHASE_URLS","BLR_DATA_CONFIRM","FUTURE_FILING_DATE","PURCHASE_BLR","PURCHASE_FFD","PURCHASE_CD","PURCHASE_TAX_ADVICE_BUNDLE","PURCHASE_WFGIR","BNG_URLS","RESULTS","REDIRECT","BUS_NAME_REDIRECT","ACTION_ORDER","PURCH_RAS","PRODS_SOLD","completedAction","completedUrl","completedActionIndex","isMigrated","skipNameCheck","skipToDomesticJurisdiction","forceToPayment","forceToDataConfirmation","forceToRegisteredAgent","forceToContact","forceToMembers","forceToManagers","forceToDirectors","forceToOfficers","startFromDashboard","registrationFlow","processPage","actionIndex","currentUrl","location","pathname","completeUrl","lastIndex","lastIndexOf","forceBusinessId","processPrePurchaseComplete","processPostPurchaseComplete","processSetForceNoPage","processSetForce","processClearForce","processRegisterEIN","processLogin","flow","noProcess","processRegistrationBusinessId","LOGIN","processRegistrationStart","skipPlansPage","fromBNG","processBusinessStart","processRegisterCoRAPF","FLOW_COMPLETE","processRegisterDBAEntityPF","SET_PAYMENT_FORCE","processRegisterWFG","PAYMENT_COMPLETE","completed_action","ca","completed_url","compUrl","completed_action_index","compActionIndex","bofOngoing","purchaseDBACompliance","purchaseExpenseTrackerAndTaxFiling","showZBMPro","zbmProMonthly","taxAdviceMonthly","taxAdviceBizTaxPrepMonthly","showCD","processDBAEntities","processFutureFilingDate","processPurchaseRA","processPurchaseDBACompliance","processPurchaseDBAEntity","processPurchaseVBA","FFD_DATA_MODAL","processPurchaseBLR","PURCHASE_RA","PURCHASE_BUSINESSKIT","processPurchaseBusinessKit","PURCHASE_BOF","processPurchaseBOF","processPurchaseFFD","processPurchaseCD","processPurchaseWFGIR","processPurchaseTaxAdviceBundle","PURCHASE_ZBMPRO","processPurchaseZBMPro","PURCHASE_EXPENSE_TRACKING_AND_TAX_FILING","processPurchaseExpenseTrackerAndTaxFiling","processBankOfAmericaOffer","PURCHASE_BANKING_PREFERRED_OFFER","processZbBankingPreferredOffer","PURCHASE_REGISTERED_AGENT","PURCHASE_VBA","VANITY_PRODUCT_OFFER","processVanityProduct","tempOrderTracking","tempOrder","to","purchase_zb_banking_preferred_offer","purchase_bank_of_america_offer","purchase_blr","purchase_business_kit","purchase_bof","bof_ongoing","purchase_dba_compliance","purchase_dba_entity","dba_entities","expense_tracking_with_tax_filing","purchase_ffd","purchase_cd","purchase_ra","purchase_tax_advice","tax_advice_monthly","purchase_tax_advice_biztax_prep","tax_advice_biztax_prep_monthly","purchase_vba","purchase_vanity_product","purchase_zbmpro","zbmpro_monthly","purchase_wfgir","isPF","PLAN_LEVEL_RULES","derivePlanLevel","contains","raMarker","raRequired","accountant1800AddOn","accountant1800UpsellSkip","anonymityAddOn","anonymityUpsellSkip","accountingGrowAndScale","accountingQuickStart","accountingUpAndRunning","bankingAddOn","bankingUpsellSkip","bankingResolutionAddOn","bankingResolutionUpsellSkip","basicEmailAddOn","basicEmailUpsellSkip","cpaConsultAddOn","cpaConsultUpsellSkip","changeOfAgentAddOn","changeOfAgentUpsellSkip","corporateDocsAddOn","corporateDocsUpsellSkip","domainNameAddOn","domainNameUpsellSkip","domainNamePrivacyAddOn","domainNamePrivacyUpsellSkip","einAddOn","einUpsellSkip","expediteAddOn","expediteUpsellSkip","initialCPAScreeningAddOn","initialCPAScreeningUpsellSkip","insuranceAddOn","insuranceUpsellSkip","nyPublicationAddOn","nyPublicationUpsellSkip","operatingAgreementAddOn","operatingAgreementUpsellSkip","activePlanLevel","privacyAddOn","privacyUpsellSkip","staticWebsiteAddOn","staticWebsiteUpsellSkip","taxPreparationAddOn","taxPreparationUpsellSkip","worryFreeAddOn","worryFreeUpsellSkip","zbTaxAdvice","zbBizTaxPrep","zbTaxAdviceBizTaxPrep","einBizDocsOaBundle","bizDocsBlrBundle","einBusinessDocsBundle","websiteToolsBundle","activeWebsiteToolsBundle","processBasicEmail","processDomainNamePrivacy","processExpedite","processEstimatedFormationDate","processProductConfirm","processStaticWebsite","purchaseData","BOA_OFFER","processBanking","processBankingResolution","PURCH_CORP_DOCS","processCorporateDocs","PURCH_EXPEDITE","processNYPub","PURCH_NYPUB_PF","processNYPubPF","processOperatingAgreement","processPrivacy","processWorryFree","processRASPurchase","processSetPayment","processStartAccounting","processAnnualReportWFG","processRegEINPurchase","processRegETNTFPurchase","PURCHASE","processETNTFPurchase","processRegNameReservationPurchase","processRegNYPubPurchase","processRegWFGPurchase","processWorryFreeAndARS","processRegSMBWebsitePurchase","processRegSMBWebsiteEcommPurchase","processRegSMBEcommAddonPurchase","processRegSMBWebsiteOrEcommPurchase","processRegisteredAgent","EST_DATE","priorityString","period","activeOrderItems","raSelected","forceCompany","forcePerson","processRAData","privacySet","registeredAgentType","RA_DATA","REG_AGT_MODAL","processPurchaseRegisteredAgent","SET_REG_AGENT","OTHER_PLAN","processNYPubStart","raType","processWFGBusinessId","alreadyPurchased","websiteNotPurchased","chooseEcomm","yearlyInterval","CHOOSE_PACKAGE","processChoosePackage","CHOOSE_INTERVAL","processChooseInterval","smbEcommAddonOrder","smbWebsiteOrder","smbWebsiteEcommOrder","kickstarter","hasDemoStore","isUpgrade","smbWebsiteOrEcommOrder","SET_STOCK_FEE","processSetStockFee","stock_fee","stockFee","net_total","netTotal","stockTotalAdjusted","feeBreakdown","calculatorType","share_qty","newData","feesAdjusted","mapped","mappedFees","currentFee","feeType","fee_type","amount","amount_fee_adjusted","endsWith","mapFeesToAdjusted","stockFees","fee","stockTotal","fields","shareQty","COMPLETE_RETURN_TO_DASH","processCompleteReturnToDash"],"sourceRoot":""}