{"version":3,"file":"js/chunk-vendors-9572dbe5.4e6debdc.js","mappings":";;;;;;;;;;;;;;;;;;;;;;CAsBA,SAA2CA,EAAMC,GAE/CC,EAAOC,QAAUF,GAOlB,EATD,CASGG,GAAM,WACT,OAAgB,SAAUC,GAEhB,IAAIC,EAAmB,CAAC,EAGxB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUL,QAGnC,IAAID,EAASI,EAAiBE,GAAY,CACzCC,EAAGD,EACHE,GAAG,EACHP,QAAS,CAAC,GAUX,OANAE,EAAQG,GAAUG,KAAKT,EAAOC,QAASD,EAAQA,EAAOC,QAASI,GAG/DL,EAAOQ,GAAI,EAGJR,EAAOC,OACf,CAyDA,OArDAI,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASX,EAASY,EAAMC,GAC3CT,EAAoBU,EAAEd,EAASY,IAClCG,OAAOC,eAAehB,EAASY,EAAM,CAAEK,YAAY,EAAMC,IAAKL,GAEhE,EAGAT,EAAoBe,EAAI,SAASnB,GACX,qBAAXoB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAehB,EAASoB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAehB,EAAS,aAAc,CAAEsB,OAAO,GACvD,EAOAlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBO,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,EAAM,EAAEC,KAAK,KAAMD,IAC9I,OAAOF,CACR,EAGAtB,EAAoB0B,EAAI,SAAS/B,GAChC,IAAIc,EAASd,GAAUA,EAAO0B,WAC7B,WAAwB,OAAO1B,EAAO,UAAY,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADAK,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,CACR,EAGAT,EAAoBU,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,EAAW,EAGpH5B,EAAoB+B,EAAI,GAIjB/B,EAAoBA,EAAoBgC,EAAI,EACnD,CApFM,CAsFN,CAEJ,SAAUrC,EAAQC,EAASI,GAEjC,aAGA,IAEIiC,EAAkBjC,EAAoB,GACtCkC,EAAkBlC,EAAoB,KACtCmC,EAAwBnC,EAAoB,KAC5CoC,EAA8BpC,EAAoB,KAClDqC,EAAuBrC,EAAoB,KAC3CsC,EAAkBtC,EAAoB,KACtCuC,EAA4BvC,EAAoB,KAChDwC,EAA+BxC,EAAoB,KAEjDyC,EAAWzC,EAAoB,GACnC,GAAIyC,IAAY,CACd,IAAIC,EAAgB1C,EAAoB,KAAK0C,cAC7CR,EAAgBS,4BAA2B,SAAUC,GACnD,OAAO,IAAIF,EAAcE,EAC3B,GACF,MAAO,GAAwB,qBAAbC,UAA4B,SAAUA,SAAShB,WAAuC,qBAAnBiB,eAAgC,CACnH,IAAIC,EAAiB/C,EAAoB,KAAK+C,eAC9Cb,EAAgBS,4BAA2B,SAAUC,GACnD,OAAO,IAAIG,EAAeH,EAC5B,GACF,KAAO,CACL,IAAII,EAAmBhD,EAAoB,KAAKgD,iBAChDd,EAAgBS,4BAA2B,SAAUC,GACnD,OAAO,IAAII,EAAiBJ,EAC9B,GACF,CAEFhD,EAAQqD,MAAQf,EAAgBe,MAChCrD,EAAQsD,QAAUhB,EAAgBgB,QAClCtD,EAAQuD,YAAcjB,EAAgBiB,YACtCvD,EAAQwD,aAAelB,EAAgBkB,aACvCxD,EAAQyD,sBAAwBnB,EAAgBmB,sBAChDzD,EAAQ0D,UAAYpB,EAAgBoB,UACpC1D,EAAQ2D,gBAAkBpB,EAAsBoB,gBAChD3D,EAAQ4D,gBAAkBpB,EAA4BoB,gBACtD5D,EAAQ6D,wBAA0BxB,EAAgBwB,wBAClD7D,EAAQ8D,kBAAoBzB,EAAgByB,kBAC5C9D,EAAQ+D,oBAAsB1B,EAAgB0B,oBAC9C/D,EAAQgE,oBAAsB3B,EAAgB2B,oBAC9ChE,EAAQiE,YAAcvB,EAAgBuB,YACtCjE,EAAQkE,oBAAsB7B,EAAgB6B,oBAC9ClE,EAAQmE,oBAAsB9B,EAAgB8B,oBAC9CnE,EAAQoE,eAAiB/B,EAAgB+B,eACzCpE,EAAQqE,4BAA8BhC,EAAgBgC,4BACtDrE,EAAQsE,IAAMjC,EAAgBiC,IAC9BtE,EAAQuE,eAAiBlC,EAAgBkC,eACzCvE,EAAQwE,qBAAuBnC,EAAgBmC,qBAC/CxE,EAAQyE,uBAAyBpC,EAAgBoC,uBACjDzE,EAAQ0E,gBAAkBrC,EAAgBqC,gBAC1C1E,EAAQ2E,qBAAuBtC,EAAgBsC,qBAC/C3E,EAAQ4E,OAASvC,EAAgBuC,OACjC5E,EAAQ6E,KAAOxC,EAAgBwC,KAC/B7E,EAAQkD,eAAiBb,EAAgBa,eACzClD,EAAQ8E,IAAMzC,EAAgByC,IAC9B9E,EAAQ+E,4BAA8BtC,EAAqBsC,4BAC3D/E,EAAQgF,mBAAqBvC,EAAqBuC,mBAClDhF,EAAQiF,WAAaxC,EAAqBwC,WAC1CjF,EAAQkF,kBAAoBzC,EAAqByC,kBACjDlF,EAAQmF,WAAa1C,EAAqB0C,WAC1CnF,EAAQoF,oBAAsBzC,EAA0ByC,oBACxDpF,EAAQqF,uBAAyBzC,EAA6ByC,sBAEvD,EAED,SAAUtF,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQsF,YAActF,EAAQuF,KAAOvF,EAAQwF,mBAAqBxF,EAAQyF,mBAAqBzF,EAAQ0F,kBAAoB1F,EAAQ2F,cAAgB3F,EAAQ4F,SAAW5F,EAAQ4E,OAAS5E,EAAQ6F,kBAAoB7F,EAAQ8E,IAAM9E,EAAQkD,eAAiBlD,EAAQ2E,qBAAuB3E,EAAQ8F,WAAa9F,EAAQ+F,WAAa/F,EAAQgG,SAAWhG,EAAQiG,KAAOjG,EAAQkG,gBAAkBlG,EAAQmG,eAAiBnG,EAAQyE,uBAAyBzE,EAAQoG,aAAepG,EAAQqG,QAAUrG,EAAQsG,SAAWtG,EAAQuG,MAAQvG,EAAQwG,WAAaxG,EAAQyG,OAASzG,EAAQ0G,cAAgB1G,EAAQ2G,KAAO3G,EAAQ4G,kBAAoB5G,EAAQ6G,sBAAwB7G,EAAQ8G,uBAAyB9G,EAAQ+G,WAAa/G,EAAQ0E,gBAAkB1E,EAAQ6D,wBAA0B7D,EAAQgH,cAAgBhH,EAAQiH,OAASjH,EAAQkH,cAAgBlH,EAAQmH,gBAAkBnH,EAAQoH,YAAcpH,EAAQqH,mBAAqBrH,EAAQsH,gBAAkBtH,EAAQ6E,KAAO7E,EAAQuH,sBAAwBvH,EAAQqE,4BAA8BrE,EAAQwH,kBAAoBxH,EAAQyH,WAAazH,EAAQoE,eAAiBpE,EAAQ8D,kBAAoB9D,EAAQ0H,kBAAoB1H,EAAQkE,oBAAsBlE,EAAQgE,oBAAsBhE,EAAQ2H,qBAAuB3H,EAAQ+D,oBAAsB/D,EAAQ4H,eAAiB5H,EAAQmE,oBAAsBnE,EAAQ6H,UAAY7H,EAAQ8H,SAAW9H,EAAQ+H,eAAiB/H,EAAQgI,eAAiBhI,EAAQiI,oBAAsBjI,EAAQkI,0BAA4BlI,EAAQwE,qBAAuBxE,EAAQuE,eAAiBvE,EAAQsE,IAAMtE,EAAQmI,gBAAkBnI,EAAQoI,0BAAuBC,EAEzkD,IAAIC,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAE3QpI,EAAoB,GAEpB,IAAIsI,EAAoBtI,EAAoB,KAExCuI,EAAgBvI,EAAoB,KAEpC+H,EAAkB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAClCC,EAAuB,CAAC,KAAO,EAAG,EAAG,KAAO,EAAG,GAC/ClE,EAAsB,CACxB0E,KAAM,OACNC,OAAQ,SACRC,QAAS,WAEP1E,EAAiB,CACnB2E,MAAO,EACPC,gBAAiB,EACjBC,KAAM,GACNC,mBAAoB,GACpBC,uBAAwB,IACxBC,uBAAwB,IACxBC,SAAU,KACVC,mBAAoB,MAElB9B,EAAoB,CACtB+B,KAAM,EACNC,OAAQ,EACRC,YAAa,EACbC,UAAW,EACXC,iBAAkB,EAClBC,mBAAoB,EACpBC,wBAAyB,EACzBC,YAAa,EACbC,iBAAkB,EAClBC,iBAAkB,GAEhBnC,EAAY,CACdoC,eAAgB,EAChBC,UAAW,EACXC,WAAY,GAEVpC,EAAiB,CACnBqC,KAAM,EACNC,KAAM,EACNC,SAAU,EACVC,KAAM,EACNC,OAAQ,EACRC,OAAQ,EACRC,QAAS,EACTC,SAAU,EACVC,UAAW,EACXC,UAAW,GACXC,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,MAAO,GACPC,IAAK,GACLC,MAAO,GACPC,eAAgB,GAChBC,MAAO,GACPC,MAAO,GACPC,OAAQ,GACRC,OAAQ,GACRC,YAAa,GACbC,QAAS,GACTC,UAAW,GACXC,OAAQ,GACRC,OAAQ,IAEN7D,EAAiB,CACnB0B,UAAW,EACXoC,OAAQ,EACR/C,MAAO,EACPgD,OAAQ,EACRC,SAAU,GACVC,OAAQ,GACRC,SAAU,GACVC,OAAQ,IACRC,aAAc,IACdC,eAAgB,KAEdpE,EAAsB,CACxBiE,SAAU,EACVI,SAAU,EACVC,SAAU,EACVC,UAAW,KACXC,SAAU,KACVC,cAAe,MACfC,MAAO,MACPC,WAAY,MACZC,MAAO,OACPC,KAAM,OACNC,KAAM,OACNC,WAAY,QACZC,YAAa,QACbC,gBAAiB,QACjBC,YAAa,QACbC,KAAM,SACNC,SAAU,SACVC,eAAgB,SAChBC,kBAAmB,UAEjBrF,EAA4B,CAC9BsF,MAAO,EACPC,OAAQ,EACRC,QAAS,EACTC,MAAO,EACP9C,UAAW,GAETpD,EAAa,CACfmG,QAAS,EACTC,MAAO,EACPC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,KAAM,EACNC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,GAAI,GAEFvG,EAAW,CACb8F,QAAS,EACTU,MAAO,EACPC,OAAQ,EACRC,aAAc,EACdC,cAAe,EACfC,SAAU,EACVC,aAAc,EACdC,MAAO,EACPC,SAAU,EACVC,MAAO,EACPC,QAAS,IAEPxK,EAAiB,CACnByK,OAAQ,EACRC,SAAU,EACVC,MAAO,GAEL/K,EAAsB,CACxByE,KAAM,EACNuG,OAAQ,EACRC,OAAQ,GAEN9K,EAAM,CACR+K,WAAY,EACZC,aAAc,EACdC,WAAY,EACZC,YAAa,EACbC,cAAe,EACfC,QAAS,EACTC,mBAAoB,EACpBC,YAAa,EACbC,UAAW,EACXC,KAAM,GACNC,QAAS,GACTC,UAAW,GACXC,OAAQ,GACRC,OAAQ,GACRC,QAAS,GACTC,SAAU,GACVC,SAAU,GACVC,UAAW,GACXC,UAAW,GACXC,OAAQ,GACRC,YAAa,GACbC,KAAM,GACNC,OAAQ,GACRC,WAAY,GACZC,aAAc,GACdC,gBAAiB,GACjBC,kBAAmB,GACnBC,QAAS,GACTC,KAAM,GACNC,OAAQ,GACRC,UAAW,GACXC,QAAS,GACTC,eAAgB,GAChBC,eAAgB,GAChBC,UAAW,GACXC,WAAY,GACZC,QAAS,GACTC,qBAAsB,GACtBC,YAAa,GACbC,SAAU,GACVC,mBAAoB,GACpBC,cAAe,GACfC,SAAU,GACVC,SAAU,GACVC,eAAgB,GAChBC,iBAAkB,GAClBC,2BAA4B,GAC5BC,aAAc,GACdC,sBAAuB,GACvBC,oBAAqB,GACrBC,kBAAmB,GACnBC,eAAgB,GAChBC,gBAAiB,GACjBC,aAAc,GACdC,cAAe,GACfC,cAAe,GACfC,YAAa,GACbC,kBAAmB,GACnBC,gBAAiB,GACjBC,mBAAoB,GACpBC,iBAAkB,GAClBC,YAAa,GACbC,iBAAkB,GAClBC,eAAgB,GAChBC,eAAgB,GAChBC,aAAc,GACdC,UAAW,GACXC,eAAgB,GAChBC,mBAAoB,GACpBC,wBAAyB,GACzBC,iBAAkB,GAClBC,YAAa,GACbC,UAAW,GACXC,sBAAuB,GACvBC,oBAAqB,GACrBC,WAAY,GACZC,SAAU,GACVC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,cAAe,GACfC,iBAAkB,GAClBC,sBAAuB,GACvBC,2BAA4B,GAC5BC,kBAAmB,GACnBC,wBAAyB,GACzBC,6BAA8B,GAC9BC,wBAAyB,GACzBC,4BAA6B,GAC7BC,yBAA0B,GAC1BC,cAAe,IAEbvQ,EAAuB,CACzBwQ,QAAS,UACTC,MAAO,QACPC,WAAY,aACZC,MAAO,QACPC,eAAgB,iBAChBC,KAAM,QAEJvR,EAAoB,CACtBwR,cAAe,EACfC,mBAAoB,GAElBC,EAAYjR,EAAe0K,SAC/B,SAASpJ,EAAkB4P,GACrBC,OAAOC,UAAUF,KACnBD,EAAYC,EAEhB,CACA,SAAS7O,IACP,OAAO4O,CACT,CACA,SAAS7O,EAAKiP,GACRJ,GAAajR,EAAe2K,OAC9B2G,QAAQC,IAAI,SAAWF,EAE3B,CACA,SAASrQ,EAAKqQ,GACRJ,GAAajR,EAAe0K,UAC9B4G,QAAQC,IAAI,YAAcF,EAE9B,CACA,SAAS7O,EAAWgP,GAClBF,QAAQC,IAAI,yBAA2BC,EACzC,CACA,SAASzQ,EAAYsQ,GACnB,MAAM,IAAII,MAAMJ,EAClB,CACA,SAAS3O,EAAOgP,EAAML,GACfK,GACH3Q,EAAYsQ,EAEhB,CACA,SAASxP,EAAa8P,EAASC,GAC7B,IACE,IAAIC,EAAO,IAAIzN,EAAc7D,IAAIoR,GACjC,IAAKE,EAAKC,QAA0B,SAAhBD,EAAKC,OACvB,OAAO,CAIX,CAFE,MAAOC,GACP,OAAO,CACT,CACA,IAAIC,EAAQ,IAAI5N,EAAc7D,IAAIqR,EAAUC,GAC5C,OAAOA,EAAKC,SAAWE,EAAMF,MAC/B,CACA,SAASG,EAAiBC,GACxB,IAAKA,EACH,OAAO,EAET,OAAQA,EAAIC,UACV,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,OACH,OAAO,EACT,QACE,OAAO,EAEb,CACA,SAASjS,EAAuBgS,EAAKP,GACnC,IAAKO,EACH,OAAO,KAET,IACE,IAAIE,EAAcT,EAAU,IAAIvN,EAAc7D,IAAI2R,EAAKP,GAAW,IAAIvN,EAAc7D,IAAI2R,GACxF,GAAID,EAAiBG,GACnB,OAAOA,CAEG,CAAZ,MAAOC,GAAK,CACd,OAAO,IACT,CACA,SAAShS,EAAO4D,EAAKqO,EAAMvV,GAOzB,OANAP,OAAOC,eAAewH,EAAKqO,EAAM,CAC/BvV,MAAOA,EACPL,YAAY,EACZ6V,cAAc,EACdC,UAAU,IAELzV,CACT,CACA,SAASuF,EAAsBmQ,GAC7B,IAAIC,EACJ,OAAO,WAML,OALID,IACFC,EAASlW,OAAOY,OAAO,MACvBqV,EAAYC,GACZD,EAAc,MAETC,CACT,CACF,CACA,IAAIvP,EAAoB,WACtB,SAASA,EAAkBkO,EAAKsB,GAC9BjX,KAAKW,KAAO,oBACZX,KAAKkX,QAAUvB,EACf3V,KAAKiX,KAAOA,CACd,CAGA,OAFAxP,EAAkBzF,UAAY,IAAI+T,MAClCtO,EAAkBe,YAAcf,EACzBA,CACT,CATwB,GAUpBH,EAAwB,WAC1B,SAASA,EAAsBqO,EAAKG,GAClC9V,KAAKW,KAAO,wBACZX,KAAKkX,QAAUvB,EACf3V,KAAK8V,QAAUA,CACjB,CAGA,OAFAxO,EAAsBtF,UAAY,IAAI+T,MACtCzO,EAAsBkB,YAAclB,EAC7BA,CACT,CAT4B,GAUxBxD,EAAsB,WACxB,SAASA,EAAoB6R,GAC3B3V,KAAKW,KAAO,sBACZX,KAAKkX,QAAUvB,CACjB,CAGA,OAFA7R,EAAoB9B,UAAY,IAAI+T,MACpCjS,EAAoB0E,YAAc1E,EAC3BA,CACT,CAR0B,GAStBC,EAAsB,WACxB,SAASA,EAAoB4R,GAC3B3V,KAAKW,KAAO,sBACZX,KAAKkX,QAAUvB,CACjB,CAGA,OAFA5R,EAAoB/B,UAAY,IAAI+T,MACpChS,EAAoByE,YAAczE,EAC3BA,CACT,CAR0B,GAStBK,EAA8B,WAChC,SAASA,EAA4BuR,EAAKwB,GACxCnX,KAAKW,KAAO,8BACZX,KAAKkX,QAAUvB,EACf3V,KAAKmX,OAASA,CAChB,CAGA,OAFA/S,EAA4BpC,UAAY,IAAI+T,MAC5C3R,EAA4BoE,YAAcpE,EACnCA,CACT,CATkC,GAU9BsD,EAAuB,WACzB,SAASA,EAAqB0P,EAAOC,GACnCrX,KAAKoX,MAAQA,EACbpX,KAAKqX,IAAMA,EACXrX,KAAKkX,QAAU,iBAAmBE,EAAQ,KAAOC,EAAM,GACzD,CAIA,OAHA3P,EAAqB1F,UAAY,IAAI+T,MACrCrO,EAAqB1F,UAAUrB,KAAO,uBACtC+G,EAAqBc,YAAcd,EAC5BA,CACT,CAV2B,GAWvBN,EAAqB,WACvB,SAASA,EAAmBuO,GAC1B3V,KAAKkX,QAAUvB,CACjB,CAIA,OAHAvO,EAAmBpF,UAAY,IAAI+T,MACnC3O,EAAmBpF,UAAUrB,KAAO,qBACpCyG,EAAmBoB,YAAcpB,EAC1BA,CACT,CARyB,GASrBD,EAAc,WAChB,SAASA,EAAYwO,GACnB3V,KAAKkX,QAAUvB,CACjB,CAIA,OAHAxO,EAAYnF,UAAY,IAAI+T,MAC5B5O,EAAYnF,UAAUrB,KAAO,cAC7BwG,EAAYqB,YAAcrB,EACnBA,CACT,CARkB,GASdQ,EAAiB,WACnB,SAASA,EAAegO,GACtB3V,KAAKW,KAAO,iBACZX,KAAKkX,QAAUvB,CACjB,CAGA,OAFAhO,EAAe3F,UAAY,IAAI+T,MAC/BpO,EAAea,YAAcb,EACtBA,CACT,CARqB,GASjB2P,EAAuB,QAC3B,SAAS5S,EAAqB6S,GAC5B,MAAmB,kBAARA,GACTjS,EAAK,2DACEiS,GAEFA,EAAIC,QAAQF,EAAsB,GAC3C,CACA,SAASvQ,EAAc0Q,GACrBzQ,EAAiB,OAAVyQ,GAAoF,YAAhD,qBAAVA,EAAwB,YAAcpP,EAAQoP,UAAyCrP,IAAjBqP,EAAMC,OAAsB,sCACnI,IAAIA,EAASD,EAAMC,OACfC,EAAqB,KACzB,GAAID,EAASC,EACX,OAAOC,OAAOC,aAAaC,MAAM,KAAML,GAGzC,IADA,IAAIM,EAAS,GACJ1X,EAAI,EAAGA,EAAIqX,EAAQrX,GAAKsX,EAAoB,CACnD,IAAIK,EAAWC,KAAKC,IAAI7X,EAAIsX,EAAoBD,GAC5CS,EAAQV,EAAMW,SAAS/X,EAAG2X,GAC9BD,EAAOM,KAAKT,OAAOC,aAAaC,MAAM,KAAMK,GAC9C,CACA,OAAOJ,EAAOO,KAAK,GACrB,CACA,SAAS5S,EAAc6R,GACrBvQ,EAAsB,kBAARuQ,EAAkB,sCAGhC,IAFA,IAAIG,EAASH,EAAIG,OACbD,EAAQ,IAAIc,WAAWb,GAClBrX,EAAI,EAAGA,EAAIqX,IAAUrX,EAC5BoX,EAAMpX,GAAyB,IAApBkX,EAAIiB,WAAWnY,GAE5B,OAAOoX,CACT,CACA,SAASvQ,EAAgBuR,GACvB,YAAmBrQ,IAAfqQ,EAAIf,OACCe,EAAIf,QAEb1Q,OAA0BoB,IAAnBqQ,EAAIC,YACJD,EAAIC,WACb,CACA,SAASzR,EAAcwR,GACrB,GAAmB,IAAfA,EAAIf,QAAgBe,EAAI,aAAcF,WACxC,OAAOE,EAAI,GAEb,IACIpY,EAEAsY,EAAMC,EAHNC,EAAe,EAEfC,EAAKL,EAAIf,OAEb,IAAKrX,EAAI,EAAGA,EAAIyY,EAAIzY,IAClBsY,EAAOF,EAAIpY,GACXuY,EAAa1R,EAAgByR,GAC7BE,GAAgBD,EAElB,IAAIG,EAAM,EACNC,EAAO,IAAIT,WAAWM,GAC1B,IAAKxY,EAAI,EAAGA,EAAIyY,EAAIzY,IAClBsY,EAAOF,EAAIpY,GACLsY,aAAgBJ,aAElBI,EADkB,kBAATA,EACFjT,EAAciT,GAEd,IAAIJ,WAAWI,IAG1BC,EAAaD,EAAKD,WAClBM,EAAKC,IAAIN,EAAMI,GACfA,GAAOH,EAET,OAAOI,CACT,CACA,SAASrT,EAAStE,GAChB,OAAOuW,OAAOC,aAAaxW,GAAS,GAAK,IAAMA,GAAS,GAAK,IAAMA,GAAS,EAAI,IAAc,IAARA,EACxF,CACA,SAAS2E,EAAKkT,GACZ,OAAIA,GAAK,EACA,EAEFjB,KAAKkB,KAAKlB,KAAKjS,KAAKkT,GAC7B,CACA,SAASnT,EAASiT,EAAMI,GACtB,OAAOJ,EAAKI,IAAU,IAAM,EAC9B,CACA,SAAStT,GAAWkT,EAAMK,GACxB,OAAOL,EAAKK,IAAW,EAAIL,EAAKK,EAAS,EAC3C,CACA,SAASxT,GAAWmT,EAAMK,GACxB,OAAQL,EAAKK,IAAW,GAAKL,EAAKK,EAAS,IAAM,GAAKL,EAAKK,EAAS,IAAM,EAAIL,EAAKK,EAAS,MAAQ,CACtG,CACA,SAASnT,KACP,IAAIoT,EAAU,IAAIf,WAAW,GAC7Be,EAAQ,GAAK,EACb,IAAIC,EAAS,IAAIC,YAAYF,EAAQG,OAAQ,EAAG,GAChD,OAAqB,IAAdF,EAAO,EAChB,CACA,SAAStT,KACP,IAEE,OADA,IAAIyT,SAAS,KACN,CAGT,CAFE,MAAOrD,GACP,OAAO,CACT,CACF,CACA,SAASxP,GAAuB8S,GAC9B,IAAIC,EAAOD,EAAKC,KACZjY,EAAMgY,EAAKhY,IACXkY,EAAgBF,EAAKG,SACrBA,OAA6B1R,IAAlByR,GAAsCA,EACjDE,EAAqBJ,EAAKK,cAC1BA,OAAuC5R,IAAvB2R,GAA0CA,EAE1DE,EAAa,IACbC,EAAY,EACZC,OAAS,EACb,MAAOP,EAAM,CACX,IAAIvY,EAAQyY,EAAWF,EAAKE,SAASnY,GAAOiY,EAAK3Y,IAAIU,GACrD,QAAcyG,IAAV/G,EAAqB,CACvB,GAAI2Y,EACF,OAAO3Y,EAEJ8Y,IACHA,EAAS,IAEXA,EAAO9B,KAAKhX,EACd,CACA,KAAM6Y,EAAYD,EAAY,CAC5B3U,EAAK,4DAA8D3D,EAAM,KACzE,KACF,CACAiY,EAAOA,EAAK3Y,IAAI,SAClB,CACA,OAAOkZ,CACT,CACA,IAAIvV,GAAO,WACT,SAASA,IAAQ,CACjB,IAAIwV,EAAS,CAAC,OAAQ,EAAG,IAAK,EAAG,IAAK,EAAG,KAkFzC,OAjFAxV,EAAKyV,WAAa,SAAyBnZ,EAAGoZ,EAAGC,GAI/C,OAHAH,EAAO,GAAKlZ,EACZkZ,EAAO,GAAKE,EACZF,EAAO,GAAKG,EACLH,EAAO9B,KAAK,GACrB,EACA1T,EAAKmL,UAAY,SAAwByK,EAAIC,GAC3C,MAAO,CAACD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAIA,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAChN,EACA5V,EAAK8V,eAAiB,SAA6BxY,EAAG1B,GACpD,IAAIma,EAAKzY,EAAE,GAAK1B,EAAE,GAAK0B,EAAE,GAAK1B,EAAE,GAAKA,EAAE,GACnCoa,EAAK1Y,EAAE,GAAK1B,EAAE,GAAK0B,EAAE,GAAK1B,EAAE,GAAKA,EAAE,GACvC,MAAO,CAACma,EAAIC,EACd,EACAhW,EAAKiW,sBAAwB,SAAoC3Y,EAAG1B,GAClE,IAAIE,EAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAC3Bma,GAAMzY,EAAE,GAAK1B,EAAE,GAAK0B,EAAE,GAAK1B,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,EAC/Dka,IAAO1Y,EAAE,GAAK1B,EAAE,GAAK0B,EAAE,GAAK1B,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,EACpE,MAAO,CAACia,EAAIC,EACd,EACAhW,EAAKkW,2BAA6B,SAAyC5Z,EAAGV,GAC5E,IAAIua,EAAKnW,EAAK8V,eAAexZ,EAAGV,GAC5Bwa,EAAKpW,EAAK8V,eAAexZ,EAAE+Z,MAAM,EAAG,GAAIza,GACxC0a,EAAKtW,EAAK8V,eAAe,CAACxZ,EAAE,GAAIA,EAAE,IAAKV,GACvC2a,EAAKvW,EAAK8V,eAAe,CAACxZ,EAAE,GAAIA,EAAE,IAAKV,GAC3C,MAAO,CAACyX,KAAKC,IAAI6C,EAAG,GAAIC,EAAG,GAAIE,EAAG,GAAIC,EAAG,IAAKlD,KAAKC,IAAI6C,EAAG,GAAIC,EAAG,GAAIE,EAAG,GAAIC,EAAG,IAAKlD,KAAKmD,IAAIL,EAAG,GAAIC,EAAG,GAAIE,EAAG,GAAIC,EAAG,IAAKlD,KAAKmD,IAAIL,EAAG,GAAIC,EAAG,GAAIE,EAAG,GAAIC,EAAG,IAC7J,EACAvW,EAAKyW,iBAAmB,SAA+B7a,GACrD,IAAIE,EAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAC/B,MAAO,CAACA,EAAE,GAAKE,GAAIF,EAAE,GAAKE,GAAIF,EAAE,GAAKE,EAAGF,EAAE,GAAKE,GAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,GAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,EACnH,EACAkE,EAAK0W,iBAAmB,SAA+B9a,EAAG+a,GACxD,MAAO,CAAC/a,EAAE,GAAK+a,EAAE,GAAK/a,EAAE,GAAK+a,EAAE,GAAK/a,EAAE,GAAK+a,EAAE,GAAI/a,EAAE,GAAK+a,EAAE,GAAK/a,EAAE,GAAK+a,EAAE,GAAK/a,EAAE,GAAK+a,EAAE,GAAI/a,EAAE,GAAK+a,EAAE,GAAK/a,EAAE,GAAK+a,EAAE,GAAK/a,EAAE,GAAK+a,EAAE,GACjI,EACA3W,EAAK4W,8BAAgC,SAA4Chb,GAC/E,IAAIib,EAAY,CAACjb,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IACjCkb,EAAIlb,EAAE,GAAKib,EAAU,GAAKjb,EAAE,GAAKib,EAAU,GAC3ClB,EAAI/Z,EAAE,GAAKib,EAAU,GAAKjb,EAAE,GAAKib,EAAU,GAC3Chb,EAAID,EAAE,GAAKib,EAAU,GAAKjb,EAAE,GAAKib,EAAU,GAC3C/a,EAAIF,EAAE,GAAKib,EAAU,GAAKjb,EAAE,GAAKib,EAAU,GAC3CE,GAASD,EAAIhb,GAAK,EAClBkb,EAAS3D,KAAK4D,MAAMH,EAAIhb,IAAMgb,EAAIhb,GAAK,GAAKgb,EAAIhb,EAAID,EAAI8Z,IAAM,EAC9DuB,EAAKH,EAAQC,GAAU,EACvBG,EAAKJ,EAAQC,GAAU,EAC3B,MAAO,CAAC3D,KAAK4D,KAAKC,GAAK7D,KAAK4D,KAAKE,GACnC,EACAnX,EAAKoX,cAAgB,SAA4BC,GAC/C,IAAI/a,EAAI+a,EAAKhB,MAAM,GASnB,OARIgB,EAAK,GAAKA,EAAK,KACjB/a,EAAE,GAAK+a,EAAK,GACZ/a,EAAE,GAAK+a,EAAK,IAEVA,EAAK,GAAKA,EAAK,KACjB/a,EAAE,GAAK+a,EAAK,GACZ/a,EAAE,GAAK+a,EAAK,IAEP/a,CACT,EACA0D,EAAKsX,UAAY,SAAwBC,EAAOC,GAC9C,SAASC,EAAQX,EAAGnB,GAClB,OAAOmB,EAAInB,CACb,CACA,IAAI+B,EAAW,CAACH,EAAM,GAAIA,EAAM,GAAIC,EAAM,GAAIA,EAAM,IAAIG,KAAKF,GACzDG,EAAW,CAACL,EAAM,GAAIA,EAAM,GAAIC,EAAM,GAAIA,EAAM,IAAIG,KAAKF,GACzDI,EAAS,GAGb,OAFAN,EAAQvX,EAAKoX,cAAcG,GAC3BC,EAAQxX,EAAKoX,cAAcI,IACvBE,EAAS,KAAOH,EAAM,IAAMG,EAAS,KAAOF,EAAM,IAAME,EAAS,KAAOF,EAAM,IAAME,EAAS,KAAOH,EAAM,MAC5GM,EAAO,GAAKH,EAAS,GACrBG,EAAO,GAAKH,EAAS,IAInBE,EAAS,KAAOL,EAAM,IAAMK,EAAS,KAAOJ,EAAM,IAAMI,EAAS,KAAOJ,EAAM,IAAMI,EAAS,KAAOL,EAAM,MAC5GM,EAAO,GAAKD,EAAS,GACrBC,EAAO,GAAKD,EAAS,GAIhBC,GACT,EACO7X,CACT,CArFW,GAsFP8X,GAAmB,CAAC,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,KAAM,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,KAAM,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,MACtM,SAASrV,GAAgBsV,GACvB,IAAIC,EAAYC,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAE/E7V,EAAOyO,OAAOC,UAAUiH,IAAWA,EAAS,EAAG,4CAC/C,IAAI5D,OAAM,EACN+D,EAAW,GACf,MAAOH,GAAU,IACfA,GAAU,IACVG,EAASzE,KAAK,KAEhBU,EAAM4D,EAAS,IAAM,EACrBA,GAAU,IACVG,EAASzE,KAAKqE,GAAiB3D,IAC/BA,EAAM4D,EAAS,GAAK,EACpBA,GAAU,GACVG,EAASzE,KAAKqE,GAAiB,GAAK3D,IACpC+D,EAASzE,KAAKqE,GAAiB,GAAKC,IACpC,IAAII,EAAWD,EAASxE,KAAK,IAC7B,OAAOsE,EAAYG,EAASC,cAAgBD,CAC9C,CACA,IAAIE,GAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,EAAG,MAC/qB,SAASxX,GAAkB8R,GACzB,IAAIlX,EACAwB,EAAI0V,EAAIG,OACRK,EAAS,GACb,GAAe,MAAXR,EAAI,IAA4B,MAAXA,EAAI,GAC3B,IAAKlX,EAAI,EAAGA,EAAIwB,EAAGxB,GAAK,EACtB0X,EAAOM,KAAKT,OAAOC,aAAaN,EAAIiB,WAAWnY,IAAM,EAAIkX,EAAIiB,WAAWnY,EAAI,UAG9E,IAAKA,EAAI,EAAGA,EAAIwB,IAAKxB,EAAG,CACtB,IAAI4W,EAAOgG,GAAwB1F,EAAIiB,WAAWnY,IAClD0X,EAAOM,KAAKpB,EAAOW,OAAOC,aAAaZ,GAAQM,EAAI2F,OAAO7c,GAC5D,CAEF,OAAO0X,EAAOO,KAAK,GACrB,CACA,SAAS9S,GAAmB+R,GAC1B,OAAO4F,mBAAmBC,OAAO7F,GACnC,CACA,SAAShS,GAAmBgS,GAC1B,OAAO8F,SAASC,mBAAmB/F,GACrC,CACA,SAAShR,GAAWgC,GAClB,IAAK,IAAI5G,KAAO4G,EACd,OAAO,EAET,OAAO,CACT,CACA,SAAS/B,GAAO+U,GACd,MAAoB,mBAANA,CAChB,CACA,SAASjV,GAAMiV,GACb,MAAoB,kBAANA,CAChB,CACA,SAASlV,GAASkV,GAChB,MAAoB,kBAANA,CAChB,CACA,SAAS9U,GAAc8U,GACrB,MAAiE,YAA5C,qBAANA,EAAoB,YAAclT,EAAQkT,KAA0B,OAANA,QAA+BnT,IAAjBmT,EAAE7C,UAC/F,CACA,SAAStS,GAAQmX,GACf,OAAc,KAAPA,GAAsB,IAAPA,GAAsB,KAAPA,GAAsB,KAAPA,CACtD,CACA,SAAS3Z,KACP,IAAI4Z,EAAa,CAAC,EAKlB,OAJAA,EAAWC,QAAU,IAAIC,SAAQ,SAAUC,EAASC,GAClDJ,EAAWG,QAAUA,EACrBH,EAAWI,OAASA,CACtB,IACOJ,CACT,CACA,IAAI/Y,GAAkB,WACpB,IAAIoZ,EAAS,oEACb,OAAO,SAAyB7E,EAAM8E,GACpC,IAAIC,EAAkBlB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAErF,IAAKkB,GAAmBrV,EAAc7D,IAAIJ,gBAAiB,CACzD,IAAIuZ,EAAO,IAAIC,KAAK,CAACjF,GAAO,CAAEkF,KAAMJ,IACpC,OAAOpV,EAAc7D,IAAIJ,gBAAgBuZ,EAC3C,CAEA,IADA,IAAIvE,EAAS,QAAUqE,EAAc,WAC5Bzd,EAAI,EAAGyY,EAAKE,EAAKtB,OAAQrX,EAAIyY,EAAIzY,GAAK,EAAG,CAChD,IAAI8d,EAAe,IAAVnF,EAAK3Y,GACV+d,EAAmB,IAAdpF,EAAK3Y,EAAI,GACdge,EAAmB,IAAdrF,EAAK3Y,EAAI,GACdie,EAAKH,GAAM,EACXI,GAAW,EAALJ,IAAW,EAAIC,GAAM,EAC3BI,EAAKne,EAAI,EAAIyY,GAAW,GAALsF,IAAa,EAAIC,GAAM,EAAI,GAC9CI,EAAKpe,EAAI,EAAIyY,EAAU,GAALuF,EAAY,GAClC5E,GAAUoE,EAAOS,GAAMT,EAAOU,GAAMV,EAAOW,GAAMX,EAAOY,EAC1D,CACA,OAAOhF,CACT,CACF,CAtBsB,GAuBtB1Z,EAAQoI,qBAAuBA,EAC/BpI,EAAQmI,gBAAkBA,EAC1BnI,EAAQsE,IAAMA,EACdtE,EAAQuE,eAAiBA,EACzBvE,EAAQwE,qBAAuBA,EAC/BxE,EAAQkI,0BAA4BA,EACpClI,EAAQiI,oBAAsBA,EAC9BjI,EAAQgI,eAAiBA,EACzBhI,EAAQ+H,eAAiBA,EACzB/H,EAAQ8H,SAAWA,EACnB9H,EAAQ6H,UAAYA,EACpB7H,EAAQmE,oBAAsBA,EAC9BnE,EAAQ4H,eAAiBA,EACzB5H,EAAQ+D,oBAAsBA,EAC9B/D,EAAQ2H,qBAAuBA,EAC/B3H,EAAQgE,oBAAsBA,EAC9BhE,EAAQkE,oBAAsBA,EAC9BlE,EAAQ0H,kBAAoBA,EAC5B1H,EAAQ8D,kBAAoBA,EAC5B9D,EAAQoE,eAAiBA,EACzBpE,EAAQyH,WAAaA,EACrBzH,EAAQwH,kBAAoBA,EAC5BxH,EAAQqE,4BAA8BA,EACtCrE,EAAQuH,sBAAwBA,EAChCvH,EAAQ6E,KAAOA,GACf7E,EAAQsH,gBAAkBA,GAC1BtH,EAAQqH,mBAAqBA,EAC7BrH,EAAQoH,YAAcA,EACtBpH,EAAQmH,gBAAkBA,EAC1BnH,EAAQkH,cAAgBA,EACxBlH,EAAQiH,OAASA,EACjBjH,EAAQgH,cAAgBA,EACxBhH,EAAQ6D,wBAA0BA,GAClC7D,EAAQ0E,gBAAkBA,GAC1B1E,EAAQ+G,WAAaA,EACrB/G,EAAQ8G,uBAAyBA,GACjC9G,EAAQ6G,sBAAwBA,EAChC7G,EAAQ4G,kBAAoBA,EAC5B5G,EAAQ2G,KAAOA,EACf3G,EAAQ0G,cAAgBA,GACxB1G,EAAQyG,OAASA,GACjBzG,EAAQwG,WAAaA,GACrBxG,EAAQuG,MAAQA,GAChBvG,EAAQsG,SAAWA,GACnBtG,EAAQqG,QAAUA,GAClBrG,EAAQoG,aAAeA,EACvBpG,EAAQyE,uBAAyBA,EACjCzE,EAAQmG,eAAiBA,GACzBnG,EAAQkG,gBAAkBA,GAC1BlG,EAAQiG,KAAOA,EACfjG,EAAQgG,SAAWA,EACnBhG,EAAQ+F,WAAaA,GACrB/F,EAAQ8F,WAAaA,GACrB9F,EAAQ2E,qBAAuBA,EAC/B3E,EAAQkD,eAAiBwF,EAAkBxF,eAC3ClD,EAAQ8E,IAAM6D,EAAc7D,IAC5B9E,EAAQ6F,kBAAoBA,EAC5B7F,EAAQ4E,OAASA,EACjB5E,EAAQ4F,SAAWA,EACnB5F,EAAQ2F,cAAgBA,EACxB3F,EAAQ0F,kBAAoBA,GAC5B1F,EAAQyF,mBAAqBA,GAC7BzF,EAAQwF,mBAAqBA,GAC7BxF,EAAQuF,KAAOA,EACfvF,EAAQsF,YAAcA,CAEf,EAED,SAAUvF,EAAQC,EAASI,GAEjC,aAGA,IAAIkI,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAEvQmW,EAAcve,EAAoB,GACtC,IAAKue,EAAYC,2BAA4B,CAC3CD,EAAYC,4BAA6B,EACzC,IAAI/b,EAAWzC,EAAoB,GAC/Bye,EAA6E,YAAjD,qBAAXC,OAAyB,YAAcxW,EAAQwW,UAAiG,YAAnD,qBAAbC,SAA2B,YAAczW,EAAQyW,YACtJ,YACMJ,EAAYK,MAASnc,MAGzB8b,EAAYK,KAAO,SAAUC,GAC3B,OAAOC,OAAOC,KAAKF,EAAO,UAAUG,SAAS,SAC/C,EACD,EAPD,GAQA,YACMT,EAAYU,MAASxc,MAGzB8b,EAAYU,KAAO,SAAUC,GAC3B,OAAOJ,OAAOC,KAAKG,EAAO,UAAUF,SAAS,SAC/C,EACD,CAPD,GAQA,WACOP,IAGD,kBAAmBE,UAGvBhe,OAAOC,eAAe+d,SAAU,gBAAiB,CAC/C7d,IAAK,WACH,IAAIqe,EAAUR,SAASS,qBAAqB,UAC5C,OAAOD,EAAQA,EAAQ5H,OAAS,EAClC,EAEA1W,YAAY,EACZ6V,cAAc,IAEjB,CAhBD,GAiBA,WACO+H,GAGmC,qBAA7BY,QAAQxd,UAAUyd,SAG7BD,QAAQxd,UAAUyd,OAAS,WACrBzf,KAAK0f,YACP1f,KAAK0f,WAAWC,YAAY3f,KAEhC,EACD,CAZD,GAaA,WACE,GAAK4e,IAAUhc,IAAf,CAGA,IAAIgd,EAAMd,SAASe,cAAc,OACjC,IAAwC,IAApCD,EAAIE,UAAUC,OAAO,OAAQ,GAAjC,CAGA,IAAIC,EAA6BC,aAAaje,UAAU+d,OACxDE,aAAaje,UAAU+d,OAAS,SAAUG,GACxC,GAAIrD,UAAUnF,OAAS,EAAG,CACxB,IAAIyI,IAAUtD,UAAU,GACxB,OAAO7c,KAAKmgB,EAAQ,MAAQ,UAAUD,GAAQC,CAChD,CACA,OAAOH,EAA2BE,EACpC,CARA,CAJA,CAaD,CAhBD,GAiBA,WACMtI,OAAO5V,UAAUoe,UAGrBjgB,EAAoB,EACrB,CALD,GAMA,WACMkgB,MAAMre,UAAUoe,UAGpBjgB,EAAoB,GACrB,CALD,GAMA,WACMW,OAAOwf,QAGXngB,EAAoB,GACrB,CALD,GAMA,WACM8X,KAAKjS,OAGTiS,KAAKjS,KAAO7F,EAAoB,IACjC,CALD,GAMA,WACMsV,OAAO8K,QAGX9K,OAAO8K,MAAQpgB,EAAoB,IACpC,CALD,GAMA,WACMsV,OAAOC,YAGXD,OAAOC,UAAYvV,EAAoB,IACxC,CALD,GAMA,WACMue,EAAYhB,UAGhBgB,EAAYhB,QAAUvd,EAAoB,IAC3C,CALD,GAMA,WACMue,EAAY8B,UAGhB9B,EAAY8B,QAAUrgB,EAAoB,IAC3C,CALD,GAMA,WACMyX,OAAO6I,cAGX7I,OAAO6I,YAActgB,EAAoB,KAC1C,CALD,GAMA,WACMyX,OAAO8I,gBAGX9I,OAAO8I,cAAgBvgB,EAAoB,KAC5C,CALD,GAMA,WACMue,EAAYvd,QAGhBhB,EAAoB,IACrB,CALD,GAMA,WACMW,OAAOqZ,SAGXrZ,OAAOqZ,OAASha,EAAoB,KACrC,CALD,EAMF,CAEO,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAA4B,qBAAX8e,QAA0BA,OAAO5G,OAASA,KAAO4G,OAA2B,qBAAX,EAAAvE,GAA0B,EAAAA,EAAOrC,OAASA,KAAO,EAAAqC,EAAyB,qBAATqG,MAAwBA,KAAK1I,OAASA,KAAO0I,KAAO,CAAC,CAExM,EAED,SAAU7gB,EAAQC,EAASI,GAEjC,aAGA,IAAIkI,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAE3QzI,EAAOC,QAAU,WACf,MAA6E,YAAlD,qBAAZ6gB,QAA0B,YAAcvY,EAAQuY,WAA0BA,QAAU,KAAO,kBAC5G,CAEO,EAED,SAAU9gB,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,GACpBL,EAAOC,QAAUI,EAAoB,GAAGyX,OAAOwI,QAExC,EAED,SAAUtgB,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAC9B2gB,EAAU3gB,EAAoB,IAC9B4gB,EAAW,WACfF,EAAQA,EAAQG,EAAIH,EAAQI,EAAI9gB,EAAoB,GAApBA,CAAwB4gB,GAAW,SAAU,CAC3EX,SAAU,SAAkBc,GAC1B,SAAUJ,EAAQ9gB,KAAMkhB,EAAcH,GAAUI,QAAQD,EAAcrE,UAAUnF,OAAS,EAAImF,UAAU,QAAKzU,EAC9G,GAGK,EAED,SAAUtI,EAAQC,EAASI,GAEjC,aAGA,IAAIihB,EAASjhB,EAAoB,GAC7BkhB,EAAOlhB,EAAoB,GAC3BmhB,EAAOnhB,EAAoB,IAC3BohB,EAAWphB,EAAoB,IAC/BqhB,EAAMrhB,EAAoB,IAC1BshB,EAAY,YACZZ,EAAU,SAASA,EAAQ3C,EAAMvd,EAAM+gB,GACzC,IAQI/f,EAAKggB,EAAKC,EAAKC,EARfC,EAAY5D,EAAO2C,EAAQI,EAC3Bc,EAAY7D,EAAO2C,EAAQmB,EAC3BC,EAAY/D,EAAO2C,EAAQqB,EAC3BC,EAAWjE,EAAO2C,EAAQG,EAC1BoB,EAAUlE,EAAO2C,EAAQwB,EACzBC,EAASP,EAAYX,EAASa,EAAYb,EAAOzgB,KAAUygB,EAAOzgB,GAAQ,CAAC,IAAMygB,EAAOzgB,IAAS,CAAC,GAAG8gB,GACrG1hB,EAAUgiB,EAAYV,EAAOA,EAAK1gB,KAAU0gB,EAAK1gB,GAAQ,CAAC,GAC1D4hB,EAAWxiB,EAAQ0hB,KAAe1hB,EAAQ0hB,GAAa,CAAC,GAG5D,IAAK9f,KADDogB,IAAWL,EAAS/gB,GACZ+gB,EACVC,GAAOG,GAAaQ,QAA0Bla,IAAhBka,EAAO3gB,GACrCigB,GAAOD,EAAMW,EAASZ,GAAQ/f,GAC9BkgB,EAAMO,GAAWT,EAAMH,EAAII,EAAKR,GAAUe,GAA0B,mBAAPP,EAAoBJ,EAAI9H,SAASnZ,KAAMqhB,GAAOA,EACvGU,GAAQf,EAASe,EAAQ3gB,EAAKigB,EAAK1D,EAAO2C,EAAQ2B,GAClDziB,EAAQ4B,IAAQigB,GAAKN,EAAKvhB,EAAS4B,EAAKkgB,GACxCM,GAAYI,EAAS5gB,IAAQigB,IAAKW,EAAS5gB,GAAOigB,EAE1D,EACAR,EAAOC,KAAOA,EACdR,EAAQI,EAAI,EACZJ,EAAQmB,EAAI,EACZnB,EAAQqB,EAAI,EACZrB,EAAQG,EAAI,EACZH,EAAQwB,EAAI,GACZxB,EAAQ4B,EAAI,GACZ5B,EAAQ2B,EAAI,GACZ3B,EAAQ6B,EAAI,IACZ5iB,EAAOC,QAAU8gB,CAEV,EAED,SAAU/gB,EAAQC,EAASI,GAEjC,aAGA,IAAIihB,EAASthB,EAAOC,QAA2B,oBAAV8e,QAAyBA,OAAO5G,MAAQA,KAAO4G,OAAwB,oBAAR8B,MAAuBA,KAAK1I,MAAQA,KAAO0I,KAAOjH,SAAS,cAATA,GACpI,iBAAPiJ,MAAiBA,IAAMvB,EAE3B,EAED,SAAUthB,EAAQC,EAASI,GAEjC,aAGA,IAAIkhB,EAAOvhB,EAAOC,QAAU,CAAEsD,QAAS,SACrB,iBAAPuf,MAAiBA,IAAMvB,EAE3B,EAED,SAAUvhB,EAAQC,EAASI,GAEjC,aAGA,IAAI0iB,EAAK1iB,EAAoB,IACzB2iB,EAAa3iB,EAAoB,IACrCL,EAAOC,QAAUI,EAAoB,IAAM,SAAU2B,EAAQH,EAAKN,GAChE,OAAOwhB,EAAGE,EAAEjhB,EAAQH,EAAKmhB,EAAW,EAAGzhB,GACzC,EAAI,SAAUS,EAAQH,EAAKN,GAEzB,OADAS,EAAOH,GAAON,EACPS,CACT,CAEO,EAED,SAAUhC,EAAQC,EAASI,GAEjC,aAGA,IAAI6iB,EAAW7iB,EAAoB,IAC/B8iB,EAAiB9iB,EAAoB,IACrC+iB,EAAc/iB,EAAoB,IAClC0iB,EAAK/hB,OAAOC,eAChBhB,EAAQgjB,EAAI5iB,EAAoB,IAAMW,OAAOC,eAAiB,SAAwBoiB,EAAGnC,EAAGoC,GAI1F,GAHAJ,EAASG,GACTnC,EAAIkC,EAAYlC,GAAG,GACnBgC,EAASI,GACLH,EAAgB,IAClB,OAAOJ,EAAGM,EAAGnC,EAAGoC,EACL,CAAX,MAAO/M,GAAI,CACb,GAAI,QAAS+M,GAAc,QAASA,EAAY,MAAMC,UAAU,4BAEhE,MADI,UAAWD,IAAYD,EAAEnC,GAAKoC,EAAW/hB,OACtC8hB,CACT,CAEO,EAED,SAAUrjB,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IACnCL,EAAOC,QAAU,SAAUwjB,GACzB,IAAKD,EAASC,GAAK,MAAMF,UAAUE,EAAK,sBACxC,OAAOA,CACT,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAIkI,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAE3QzI,EAAOC,QAAU,SAAUwjB,GACzB,MAAmE,YAA7C,qBAAPA,EAAqB,YAAclb,EAAQkb,IAA2B,OAAPA,EAA4B,oBAAPA,CACrG,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,SAAWI,EAAoB,MAAQA,EAAoB,GAApBA,EAAwB,WACpE,OAIQ,GAJDW,OAAOC,eAAeZ,EAAoB,GAApBA,CAAwB,OAAQ,IAAK,CAChEc,IAAK,WACH,OAAO,CACT,IACCya,CACL,GAEO,EAED,SAAU5b,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,SAAWI,EAAoB,GAApBA,EAAwB,WACxC,OAIQ,GAJDW,OAAOC,eAAe,CAAC,EAAG,IAAK,CACpCE,IAAK,WACH,OAAO,CACT,IACCya,CACL,GAEO,EAED,SAAU5b,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAUyjB,GACzB,IACE,QAASA,GAGX,CAFE,MAAOnN,GACP,OAAO,CACT,CACF,CAEO,EAED,SAAUvW,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IAC/B2e,EAAW3e,EAAoB,GAAG2e,SAClC2E,EAAKH,EAASxE,IAAawE,EAASxE,EAASe,eACjD/f,EAAOC,QAAU,SAAUwjB,GACzB,OAAOE,EAAK3E,EAASe,cAAc0D,GAAM,CAAC,CAC5C,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IACnCL,EAAOC,QAAU,SAAUwjB,EAAIrB,GAC7B,IAAKoB,EAASC,GAAK,OAAOA,EAC1B,IAAIG,EAAIC,EACR,GAAIzB,GAAkC,mBAArBwB,EAAKH,EAAGpE,YAA4BmE,EAASK,EAAMD,EAAGnjB,KAAKgjB,IAAM,OAAOI,EACzF,GAAgC,mBAApBD,EAAKH,EAAGK,WAA2BN,EAASK,EAAMD,EAAGnjB,KAAKgjB,IAAM,OAAOI,EACnF,IAAKzB,GAAkC,mBAArBwB,EAAKH,EAAGpE,YAA4BmE,EAASK,EAAMD,EAAGnjB,KAAKgjB,IAAM,OAAOI,EAC1F,MAAMN,UAAU,0CAClB,CAEO,EAED,SAAUvjB,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAU8jB,EAAQxiB,GACjC,MAAO,CACLL,aAAuB,EAAT6iB,GACdhN,eAAyB,EAATgN,GAChB/M,WAAqB,EAAT+M,GACZxiB,MAAOA,EAEX,CAEO,EAED,SAAUvB,EAAQC,EAASI,GAEjC,aAGA,IAAIihB,EAASjhB,EAAoB,GAC7BmhB,EAAOnhB,EAAoB,IAC3B2jB,EAAM3jB,EAAoB,IAC1B4jB,EAAM5jB,EAAoB,GAApBA,CAAwB,OAC9B6jB,EAAY,WACZC,EAAYvK,SAASsK,GACrBE,GAAO,GAAKD,GAAWE,MAAMH,GACjC7jB,EAAoB,GAAGikB,cAAgB,SAAUb,GAC/C,OAAOU,EAAU1jB,KAAKgjB,EACxB,GACCzjB,EAAOC,QAAU,SAAUojB,EAAGxhB,EAAKgiB,EAAKU,GACvC,IAAIC,EAA2B,mBAAPX,EACpBW,IAAYR,EAAIH,EAAK,SAAWrC,EAAKqC,EAAK,OAAQhiB,IAClDwhB,EAAExhB,KAASgiB,IACXW,IAAYR,EAAIH,EAAKI,IAAQzC,EAAKqC,EAAKI,EAAKZ,EAAExhB,GAAO,GAAKwhB,EAAExhB,GAAOuiB,EAAI5L,KAAKV,OAAOjW,MACnFwhB,IAAM/B,EACR+B,EAAExhB,GAAOgiB,EACCU,EAGDlB,EAAExhB,GACXwhB,EAAExhB,GAAOgiB,EAETrC,EAAK6B,EAAGxhB,EAAKgiB,WALNR,EAAExhB,GACT2f,EAAK6B,EAAGxhB,EAAKgiB,IAMjB,GAAGjK,SAAS1X,UAAWgiB,GAAW,WAChC,MAAsB,mBAARhkB,MAAsBA,KAAK+jB,IAAQE,EAAU1jB,KAAKP,KAClE,GAEO,EAED,SAAUF,EAAQC,EAASI,GAEjC,aAGA,IAAI8B,EAAiB,CAAC,EAAEA,eACxBnC,EAAOC,QAAU,SAAUwjB,EAAI5hB,GAC7B,OAAOM,EAAe1B,KAAKgjB,EAAI5hB,EACjC,CAEO,EAED,SAAU7B,EAAQC,EAASI,GAEjC,aAGA,IAAIokB,EAAK,EACLC,EAAKvM,KAAKwM,SACd3kB,EAAOC,QAAU,SAAU4B,GACzB,MAAO,UAAU+iB,YAAetc,IAARzG,EAAoB,GAAKA,EAAK,QAAS4iB,EAAKC,GAAIrF,SAAS,IACnF,CAEO,EAED,SAAUrf,EAAQC,EAASI,GAEjC,aAGA,IAAIwkB,EAAYxkB,EAAoB,IACpCL,EAAOC,QAAU,SAAU2jB,EAAIkB,EAAMlN,GAEnC,GADAiN,EAAUjB,QACGtb,IAATwc,EAAoB,OAAOlB,EAC/B,OAAQhM,GACN,KAAK,EACH,OAAO,SAAUgE,GACf,OAAOgI,EAAGnjB,KAAKqkB,EAAMlJ,EACvB,EACF,KAAK,EACH,OAAO,SAAUA,EAAGnB,GAClB,OAAOmJ,EAAGnjB,KAAKqkB,EAAMlJ,EAAGnB,EAC1B,EACF,KAAK,EACH,OAAO,SAAUmB,EAAGnB,EAAG9Z,GACrB,OAAOijB,EAAGnjB,KAAKqkB,EAAMlJ,EAAGnB,EAAG9Z,EAC7B,EAEJ,OAAO,WACL,OAAOijB,EAAG5L,MAAM8M,EAAM/H,UACxB,CACF,CAEO,EAED,SAAU/c,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAUwjB,GACzB,GAAiB,mBAANA,EAAkB,MAAMF,UAAUE,EAAK,uBAClD,OAAOA,CACT,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAI0kB,EAAW1kB,EAAoB,IAC/B2kB,EAAU3kB,EAAoB,IAClCL,EAAOC,QAAU,SAAU6kB,EAAM1D,EAAc6D,GAC7C,GAAIF,EAAS3D,GAAe,MAAMmC,UAAU,UAAY0B,EAAO,0BAC/D,OAAOnN,OAAOkN,EAAQF,GACxB,CAEO,EAED,SAAU9kB,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IAC/B6kB,EAAM7kB,EAAoB,IAC1B8kB,EAAQ9kB,EAAoB,GAApBA,CAAwB,SACpCL,EAAOC,QAAU,SAAUwjB,GACzB,IAAIsB,EACJ,OAAOvB,EAASC,UAAmCnb,KAA1Byc,EAAWtB,EAAG0B,MAA0BJ,EAAsB,UAAXG,EAAIzB,GAClF,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAIgf,EAAW,CAAC,EAAEA,SAClBrf,EAAOC,QAAU,SAAUwjB,GACzB,OAAOpE,EAAS5e,KAAKgjB,GAAItI,MAAM,GAAI,EACrC,CAEO,EAED,SAAUnb,EAAQC,EAASI,GAEjC,aAGA,IAAI+kB,EAAQ/kB,EAAoB,GAApBA,CAAwB,OAChCglB,EAAMhlB,EAAoB,IAC1BilB,EAAUjlB,EAAoB,GAAGgB,OACjCkkB,EAA+B,mBAAXD,EACpBE,EAAWxlB,EAAOC,QAAU,SAAUY,GACxC,OAAOukB,EAAMvkB,KAAUukB,EAAMvkB,GAAQ0kB,GAAcD,EAAQzkB,KAAU0kB,EAAaD,EAAUD,GAAK,UAAYxkB,GAC/G,EACA2kB,EAASJ,MAAQA,CAEV,EAED,SAAUplB,EAAQC,EAASI,GAEjC,aAGA,IAAIkhB,EAAOlhB,EAAoB,GAC3BihB,EAASjhB,EAAoB,GAC7BolB,EAAS,qBACTL,EAAQ9D,EAAOmE,KAAYnE,EAAOmE,GAAU,CAAC,IAChDzlB,EAAOC,QAAU,SAAU4B,EAAKN,GAC/B,OAAO6jB,EAAMvjB,KAASujB,EAAMvjB,QAAiByG,IAAV/G,EAAsBA,EAAQ,CAAC,EACpE,GAAG,WAAY,IAAIgX,KAAK,CACtBhV,QAASge,EAAKhe,QACd9B,KAAMpB,EAAoB,IAAM,OAAS,SACzCqlB,UAAW,wCAGN,EAED,SAAU1lB,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,SAAU,CAEV,EAED,SAAUD,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAUwjB,GACzB,QAAUnb,GAANmb,EAAiB,MAAMF,UAAU,yBAA2BE,GAChE,OAAOA,CACT,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAI8kB,EAAQ9kB,EAAoB,GAApBA,CAAwB,SACpCL,EAAOC,QAAU,SAAU0lB,GACzB,IAAIC,EAAK,IACT,IACE,MAAMD,GAAKC,EAMb,CALE,MAAOrP,GACP,IAEE,OADAqP,EAAGT,IAAS,GACJ,MAAMQ,GAAKC,EACR,CAAX,MAAO3C,GAAI,CACf,CACA,OAAO,CACT,CAEO,EAED,SAAUjjB,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IACpBL,EAAOC,QAAUI,EAAoB,GAAGkgB,MAAMD,QAEvC,EAED,SAAUtgB,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAC9BwlB,EAAYxlB,EAAoB,GAApBA,EAAwB,GACxC0gB,EAAQA,EAAQG,EAAG,QAAS,CAC1BZ,SAAU,SAAkBwF,GAC1B,OAAOD,EAAU3lB,KAAM4lB,EAAI/I,UAAUnF,OAAS,EAAImF,UAAU,QAAKzU,EACnE,IAEFjI,EAAoB,GAApBA,CAAwB,WAEjB,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGA,IAAI0lB,EAAY1lB,EAAoB,IAChC2lB,EAAW3lB,EAAoB,IAC/B4lB,EAAkB5lB,EAAoB,IAC1CL,EAAOC,QAAU,SAAUimB,GACzB,OAAO,SAAUC,EAAOL,EAAIM,GAC1B,IAGI7kB,EAHA8hB,EAAI0C,EAAUI,GACdvO,EAASoO,EAAS3C,EAAEzL,QACpByO,EAAQJ,EAAgBG,EAAWxO,GAEvC,GAAIsO,GAAeJ,GAAMA,GAAI,MAAOlO,EAASyO,EAE3C,GADA9kB,EAAQ8hB,EAAEgD,KACN9kB,GAASA,EAAO,OAAO,OACtB,KAAOqW,EAASyO,EAAOA,IAC5B,IAAIH,GAAeG,KAAShD,IACtBA,EAAEgD,KAAWP,EAAI,OAAOI,GAAeG,GAAS,EAEvD,OAAQH,IAAgB,CAC3B,CACF,CAEO,EAED,SAAUlmB,EAAQC,EAASI,GAEjC,aAGA,IAAIimB,EAAUjmB,EAAoB,IAC9B2kB,EAAU3kB,EAAoB,IAClCL,EAAOC,QAAU,SAAUwjB,GACzB,OAAO6C,EAAQtB,EAAQvB,GACzB,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAI6kB,EAAM7kB,EAAoB,IAC9BL,EAAOC,QAAUe,OAAO,KAAKulB,qBAAqB,GAAKvlB,OAAS,SAAUyiB,GACxE,MAAkB,UAAXyB,EAAIzB,GAAkBA,EAAGY,MAAM,IAAMrjB,OAAOyiB,EACrD,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAImmB,EAAYnmB,EAAoB,IAChC+X,EAAMD,KAAKC,IACfpY,EAAOC,QAAU,SAAUwjB,GACzB,OAAOA,EAAK,EAAIrL,EAAIoO,EAAU/C,GAAK,kBAAoB,CACzD,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAIgZ,EAAOlB,KAAKkB,KACZoN,EAAQtO,KAAKsO,MACjBzmB,EAAOC,QAAU,SAAUwjB,GACzB,OAAOhD,MAAMgD,GAAMA,GAAM,GAAKA,EAAK,EAAIgD,EAAQpN,GAAMoK,EACvD,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAImmB,EAAYnmB,EAAoB,IAChCib,EAAMnD,KAAKmD,IACXlD,EAAMD,KAAKC,IACfpY,EAAOC,QAAU,SAAUomB,EAAOzO,GAEhC,OADAyO,EAAQG,EAAUH,GACXA,EAAQ,EAAI/K,EAAI+K,EAAQzO,EAAQ,GAAKQ,EAAIiO,EAAOzO,EACzD,CAEO,EAED,SAAU5X,EAAQC,EAASI,GAEjC,aAGA,IAAIqmB,EAAcrmB,EAAoB,GAApBA,CAAwB,eACtCsmB,EAAapG,MAAMre,eACQoG,GAA3Bqe,EAAWD,IAA2BrmB,EAAoB,GAApBA,CAAwBsmB,EAAYD,EAAa,CAAC,GAC5F1mB,EAAOC,QAAU,SAAU4B,GACzB8kB,EAAWD,GAAa7kB,IAAO,CACjC,CAEO,EAED,SAAU7B,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IACpBL,EAAOC,QAAUI,EAAoB,GAAGW,OAAOwf,MAExC,EAED,SAAUxgB,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAClC0gB,EAAQA,EAAQqB,EAAIrB,EAAQI,EAAG,SAAU,CAAEX,OAAQngB,EAAoB,KAEhE,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGA,IAAIumB,EAAUvmB,EAAoB,IAC9BwmB,EAAOxmB,EAAoB,IAC3BymB,EAAMzmB,EAAoB,IAC1B0mB,EAAW1mB,EAAoB,IAC/BimB,EAAUjmB,EAAoB,IAC9B2mB,EAAUhmB,OAAOwf,OACrBxgB,EAAOC,SAAW+mB,GAAW3mB,EAAoB,GAApBA,EAAwB,WACnD,IAAI4mB,EAAI,CAAC,EACL1E,EAAI,CAAC,EACLH,EAAI/gB,SACJ6lB,EAAI,uBAKR,OAJAD,EAAE7E,GAAK,EACP8E,EAAE7C,MAAM,IAAI8C,SAAQ,SAAUC,GAC5B7E,EAAE6E,GAAKA,CACT,IAC4B,GAArBJ,EAAQ,CAAC,EAAGC,GAAG7E,IAAWphB,OAAOqmB,KAAKL,EAAQ,CAAC,EAAGzE,IAAI/J,KAAK,KAAO0O,CAC3E,IAAK,SAAgB1E,EAAQZ,GAC3B,IAAI0F,EAAIP,EAASvE,GACb+E,EAAOxK,UAAUnF,OACjByO,EAAQ,EACRmB,EAAaX,EAAK5D,EAClBwE,EAASX,EAAI7D,EACjB,MAAOsE,EAAOlB,EAAO,CACnB,IAIIxkB,EAJAugB,EAAIkE,EAAQvJ,UAAUsJ,MACtBgB,EAAOG,EAAaZ,EAAQxE,GAAGwC,OAAO4C,EAAWpF,IAAMwE,EAAQxE,GAC/DxK,EAASyP,EAAKzP,OACd8P,EAAI,EAER,MAAO9P,EAAS8P,EACVD,EAAOhnB,KAAK2hB,EAAGvgB,EAAMwlB,EAAKK,QAAOJ,EAAEzlB,GAAOugB,EAAEvgB,GAEpD,CACA,OAAOylB,CACT,EAAIN,CAEG,EAED,SAAUhnB,EAAQC,EAASI,GAEjC,aAGA,IAAIsnB,EAAQtnB,EAAoB,IAC5BunB,EAAcvnB,EAAoB,IACtCL,EAAOC,QAAUe,OAAOqmB,MAAQ,SAAchE,GAC5C,OAAOsE,EAAMtE,EAAGuE,EAClB,CAEO,EAED,SAAU5nB,EAAQC,EAASI,GAEjC,aAGA,IAAI2jB,EAAM3jB,EAAoB,IAC1B0lB,EAAY1lB,EAAoB,IAChCwnB,EAAexnB,EAAoB,GAApBA,EAAwB,GACvCynB,EAAWznB,EAAoB,GAApBA,CAAwB,YACvCL,EAAOC,QAAU,SAAU+B,EAAQ+lB,GACjC,IAGIlmB,EAHAwhB,EAAI0C,EAAU/jB,GACdzB,EAAI,EACJoc,EAAS,GAEb,IAAK9a,KAAOwhB,EACNxhB,GAAOimB,GAAU9D,EAAIX,EAAGxhB,IAAQ8a,EAAOpE,KAAK1W,GACjD,MAAOkmB,EAAMnQ,OAASrX,EACjByjB,EAAIX,EAAGxhB,EAAMkmB,EAAMxnB,SACpBsnB,EAAalL,EAAQ9a,IAAQ8a,EAAOpE,KAAK1W,IAE7C,OAAO8a,CACV,CAEO,EAED,SAAU3c,EAAQC,EAASI,GAEjC,aAGA,IAAI2nB,EAAS3nB,EAAoB,GAApBA,CAAwB,QACjCglB,EAAMhlB,EAAoB,IAC9BL,EAAOC,QAAU,SAAU4B,GACzB,OAAOmmB,EAAOnmB,KAASmmB,EAAOnmB,GAAOwjB,EAAIxjB,GAC3C,CAEO,EAED,SAAU7B,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,gGAAgGokB,MAAM,IAEhH,EAED,SAAUrkB,EAAQC,EAASI,GAEjC,aAGAJ,EAAQgjB,EAAIjiB,OAAOinB,qBAEZ,EAED,SAAUjoB,EAAQC,EAASI,GAEjC,aAGAJ,EAAQgjB,EAAI,CAAC,EAAEsD,oBAER,EAED,SAAUvmB,EAAQC,EAASI,GAEjC,aAGA,IAAI2kB,EAAU3kB,EAAoB,IAClCL,EAAOC,QAAU,SAAUwjB,GACzB,OAAOziB,OAAOgkB,EAAQvB,GACxB,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IACpBL,EAAOC,QAAUI,EAAoB,GAAG8X,KAAKjS,IAEtC,EAED,SAAUlG,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAClC0gB,EAAQA,EAAQqB,EAAG,OAAQ,CACzBlc,KAAM,SAAckT,GAClB,OAAOjB,KAAKpC,IAAIqD,GAAKjB,KAAK+P,GAC5B,GAGK,EAED,SAAUloB,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IACpBL,EAAOC,QAAUI,EAAoB,GAAGsV,OAAO8K,KAExC,EAED,SAAUzgB,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAClC0gB,EAAQA,EAAQqB,EAAG,SAAU,CAC3B3B,MAAO,SAAe5D,GACpB,OAAOA,GAAUA,CACnB,GAGK,EAED,SAAU7c,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IACpBL,EAAOC,QAAUI,EAAoB,GAAGsV,OAAOC,SAExC,EAED,SAAU5V,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAClC0gB,EAAQA,EAAQqB,EAAG,SAAU,CAAExM,UAAWvV,EAAoB,KAEvD,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IAC/BomB,EAAQtO,KAAKsO,MACjBzmB,EAAOC,QAAU,SAAmBwjB,GAClC,OAAQD,EAASC,IAAO0E,SAAS1E,IAAOgD,EAAMhD,KAAQA,CACxD,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBL,EAAOC,QAAUI,EAAoB,GAAGud,OAEjC,EAED,SAAU5d,EAAQC,EAASI,GAEjC,aAGA,IAAI+nB,EAAU/nB,EAAoB,IAC9BgoB,EAAO,CAAC,EACZA,EAAKhoB,EAAoB,GAApBA,CAAwB,gBAAkB,IAC3CgoB,EAAO,IAAM,cACfhoB,EAAoB,GAApBA,CAAwBW,OAAOkB,UAAW,YAAY,WACpD,MAAO,WAAakmB,EAAQloB,MAAQ,GACtC,IAAG,EAGE,EAED,SAAUF,EAAQC,EAASI,GAEjC,aAGA,IAAI6kB,EAAM7kB,EAAoB,IAC1BioB,EAAMjoB,EAAoB,GAApBA,CAAwB,eAC9BkoB,EAEI,aAFErD,EAAI,WACZ,OAAOnI,SACT,CAFc,IAGVyL,EAAS,SAAgB/E,EAAI5hB,GAC/B,IACE,OAAO4hB,EAAG5hB,EACC,CAAX,MAAO0U,GAAI,CACf,EACAvW,EAAOC,QAAU,SAAUwjB,GACzB,IAAIJ,EAAGiE,EAAG/E,EACV,YAAcja,IAAPmb,EAAmB,YAAqB,OAAPA,EAAc,OAAqD,iBAApC6D,EAAIkB,EAAOnF,EAAIriB,OAAOyiB,GAAK6E,IAAoBhB,EAAIiB,EAAMrD,EAAI7B,GAAqB,WAAfd,EAAI2C,EAAI7B,KAAsC,mBAAZA,EAAEoF,OAAuB,YAAclG,CACrN,CAEO,EAED,SAAUviB,EAAQC,EAASI,GAEjC,aAGA,IAAIqoB,EAAMroB,EAAoB,GAApBA,EAAwB,GAClCA,EAAoB,GAApBA,CAAwByX,OAAQ,UAAU,SAAU6Q,GAClDzoB,KAAK0oB,GAAK9Q,OAAO6Q,GACjBzoB,KAAK2oB,GAAK,CACZ,IAAG,WACD,IAEIC,EAFAzF,EAAInjB,KAAK0oB,GACTvC,EAAQnmB,KAAK2oB,GAEjB,OAAIxC,GAAShD,EAAEzL,OAAe,CAC5BrW,WAAO+G,EACPygB,MAAM,IAERD,EAAQJ,EAAIrF,EAAGgD,GACfnmB,KAAK2oB,IAAMC,EAAMlR,OACV,CACLrW,MAAOunB,EACPC,MAAM,GAEV,GAEO,EAED,SAAU/oB,EAAQC,EAASI,GAEjC,aAGA,IAAImmB,EAAYnmB,EAAoB,IAChC2kB,EAAU3kB,EAAoB,IAClCL,EAAOC,QAAU,SAAUikB,GACzB,OAAO,SAAUY,EAAM7L,GACrB,IAGI2C,EAAGnB,EAHHpY,EAAIyV,OAAOkN,EAAQF,IACnBvkB,EAAIimB,EAAUvN,GACdzY,EAAI6B,EAAEuV,OAEV,OAAIrX,EAAI,GAAKA,GAAKC,EAAU0jB,EAAY,QAAK5b,GAC7CsT,EAAIvZ,EAAEqW,WAAWnY,GACVqb,EAAI,OAAUA,EAAI,OAAUrb,EAAI,IAAMC,IAAMia,EAAIpY,EAAEqW,WAAWnY,EAAI,IAAM,OAAUka,EAAI,MAASyJ,EAAY7hB,EAAE+a,OAAO7c,GAAKqb,EAAIsI,EAAY7hB,EAAE8Y,MAAM5a,EAAGA,EAAI,GAA2Bka,EAAI,OAAzBmB,EAAI,OAAU,IAAqB,MACzM,CACF,CAEO,EAED,SAAU5b,EAAQC,EAASI,GAEjC,aAGA,IAAI2oB,EAAU3oB,EAAoB,IAC9B0gB,EAAU1gB,EAAoB,GAC9BohB,EAAWphB,EAAoB,IAC/BmhB,EAAOnhB,EAAoB,IAC3B4oB,EAAY5oB,EAAoB,IAChC6oB,EAAc7oB,EAAoB,IAClC8oB,EAAiB9oB,EAAoB,IACrC+oB,EAAiB/oB,EAAoB,IACrCgpB,EAAWhpB,EAAoB,GAApBA,CAAwB,YACnCipB,IAAU,GAAGjC,MAAQ,QAAU,GAAGA,QAClCkC,EAAc,aACdC,EAAO,OACPC,EAAS,SACTC,EAAa,WACf,OAAOxpB,IACT,EACAF,EAAOC,QAAU,SAAU0pB,EAAM1E,EAAM2E,EAAaC,EAAMC,EAASC,EAAQC,GACzEd,EAAYU,EAAa3E,EAAM4E,GAC/B,IAwBII,EAASpoB,EAAKqoB,EAxBdC,EAAY,SAAmBC,GACjC,IAAKd,GAASc,KAAQC,EAAO,OAAOA,EAAMD,GAC1C,OAAQA,GACN,KAAKZ,EACH,OAAO,WACL,OAAO,IAAII,EAAY1pB,KAAMkqB,EAC/B,EACF,KAAKX,EACH,OAAO,WACL,OAAO,IAAIG,EAAY1pB,KAAMkqB,EAC/B,EAEJ,OAAO,WACL,OAAO,IAAIR,EAAY1pB,KAAMkqB,EAC/B,CACF,EACI9B,EAAMrD,EAAO,YACbqF,EAAaR,GAAWL,EACxBc,GAAa,EACbF,EAAQV,EAAKznB,UACbsoB,EAAUH,EAAMhB,IAAagB,EAAMd,IAAgBO,GAAWO,EAAMP,GACpEW,EAAWD,GAAWL,EAAUL,GAChCY,EAAWZ,EAAWQ,EAAwBH,EAAU,WAArBM,OAAkCniB,EACrEqiB,EAAqB,SAAR1F,GAAkBoF,EAAMO,SAAqBJ,EAoB9D,GAlBIG,IACFT,EAAoBd,EAAeuB,EAAWlqB,KAAK,IAAIkpB,IACnDO,IAAsBlpB,OAAOkB,WAAagoB,EAAkBL,OAC9DV,EAAee,EAAmB5B,GAAK,GAClCU,GAAiD,mBAA/BkB,EAAkBb,IAAyB7H,EAAK0I,EAAmBb,EAAUK,KAGpGY,GAAcE,GAAWA,EAAQ3pB,OAAS4oB,IAC5Cc,GAAa,EACbE,EAAW,WACT,OAAOD,EAAQ/pB,KAAKP,KACtB,GAEI8oB,IAAWgB,IAAYV,IAASiB,GAAeF,EAAMhB,IACzD7H,EAAK6I,EAAOhB,EAAUoB,GAExBxB,EAAUhE,GAAQwF,EAClBxB,EAAUX,GAAOoB,EACbI,EAMF,GALAG,EAAU,CACR5P,OAAQiQ,EAAaG,EAAWN,EAAUV,GAC1CpC,KAAM0C,EAASU,EAAWN,EAAUX,GACpCoB,QAASF,GAEPV,EAAQ,IAAKnoB,KAAOooB,EAChBpoB,KAAOwoB,GAAQ5I,EAAS4I,EAAOxoB,EAAKooB,EAAQpoB,SAC7Ckf,EAAQA,EAAQG,EAAIH,EAAQI,GAAKmI,GAASiB,GAAatF,EAAMgF,GAEtE,OAAOA,CACT,CAEO,EAED,SAAUjqB,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,CAAC,CAEX,EAED,SAAUD,EAAQC,EAASI,GAEjC,aAGA,IAAIuB,EAASvB,EAAoB,IAC7BwqB,EAAaxqB,EAAoB,IACjC8oB,EAAiB9oB,EAAoB,IACrC6pB,EAAoB,CAAC,EACzB7pB,EAAoB,GAApBA,CAAwB6pB,EAAmB7pB,EAAoB,GAApBA,CAAwB,aAAa,WAC9E,OAAOH,IACT,IACAF,EAAOC,QAAU,SAAU2pB,EAAa3E,EAAM4E,GAC5CD,EAAY1nB,UAAYN,EAAOsoB,EAAmB,CAAEL,KAAMgB,EAAW,EAAGhB,KACxEV,EAAeS,EAAa3E,EAAO,YACrC,CAEO,EAED,SAAUjlB,EAAQC,EAASI,GAEjC,aAGA,IAAI6iB,EAAW7iB,EAAoB,IAC/ByqB,EAAMzqB,EAAoB,IAC1BunB,EAAcvnB,EAAoB,IAClCynB,EAAWznB,EAAoB,GAApBA,CAAwB,YACnC0qB,EAAQ,WAAkB,EAC1BpJ,EAAY,YACZqJ,EAAc,WAChB,IAIIC,EAJAC,EAAS7qB,EAAoB,GAApBA,CAAwB,UACjCE,EAAIqnB,EAAYhQ,OAChBuT,EAAK,IACLC,EAAK,IAETF,EAAOG,MAAMC,QAAU,OACvBjrB,EAAoB,IAAIkrB,YAAYL,GACpCA,EAAOM,IAAM,cACbP,EAAiBC,EAAOO,cAAczM,SACtCiM,EAAeS,OACfT,EAAeU,MAAMR,EAAK,SAAWC,EAAK,oBAAsBD,EAAK,UAAYC,GACjFH,EAAeW,QACfZ,EAAcC,EAAe9J,EAC7B,MAAO5gB,WACEyqB,EAAYrJ,GAAWiG,EAAYrnB,IAC3C,OAAOyqB,GACV,EACAhrB,EAAOC,QAAUe,OAAOY,QAAU,SAAgByhB,EAAGwI,GACnD,IAAIlP,EAOJ,OANU,OAAN0G,GACF0H,EAAMpJ,GAAauB,EAASG,GAC5B1G,EAAS,IAAIoO,EACbA,EAAMpJ,GAAa,KACnBhF,EAAOmL,GAAYzE,GACd1G,EAASqO,SACM1iB,IAAfujB,EAA2BlP,EAASmO,EAAInO,EAAQkP,EACzD,CAEO,EAED,SAAU7rB,EAAQC,EAASI,GAEjC,aAGA,IAAI0iB,EAAK1iB,EAAoB,IACzB6iB,EAAW7iB,EAAoB,IAC/BumB,EAAUvmB,EAAoB,IAClCL,EAAOC,QAAUI,EAAoB,IAAMW,OAAO8qB,iBAAmB,SAA0BzI,EAAGwI,GAChG3I,EAASG,GACT,IAGInC,EAHAmG,EAAOT,EAAQiF,GACfjU,EAASyP,EAAKzP,OACdrX,EAAI,EAER,MAAOqX,EAASrX,EACdwiB,EAAGE,EAAEI,EAAGnC,EAAImG,EAAK9mB,KAAMsrB,EAAW3K,IACnC,OAAOmC,CACV,CAEO,EAED,SAAUrjB,EAAQC,EAASI,GAEjC,aAGA,IAAI2e,EAAW3e,EAAoB,GAAG2e,SACtChf,EAAOC,QAAU+e,GAAYA,EAAS+M,eAE/B,EAED,SAAU/rB,EAAQC,EAASI,GAEjC,aAGA,IAAI2rB,EAAM3rB,EAAoB,IAAI4iB,EAC9Be,EAAM3jB,EAAoB,IAC1BioB,EAAMjoB,EAAoB,GAApBA,CAAwB,eAClCL,EAAOC,QAAU,SAAUwjB,EAAIwI,EAAKC,GAC9BzI,IAAOO,EAAIP,EAAKyI,EAAOzI,EAAKA,EAAGvhB,UAAWomB,IAAM0D,EAAIvI,EAAI6E,EAAK,CAC/DvR,cAAc,EACdxV,MAAO0qB,GAEX,CAEO,EAED,SAAUjsB,EAAQC,EAASI,GAEjC,aAGA,IAAI2jB,EAAM3jB,EAAoB,IAC1B0mB,EAAW1mB,EAAoB,IAC/BynB,EAAWznB,EAAoB,GAApBA,CAAwB,YACnC8rB,EAAcnrB,OAAOkB,UACzBlC,EAAOC,QAAUe,OAAOooB,gBAAkB,SAAU/F,GAElD,OADAA,EAAI0D,EAAS1D,GACTW,EAAIX,EAAGyE,GAAkBzE,EAAEyE,GACH,mBAAjBzE,EAAE3a,aAA6B2a,aAAaA,EAAE3a,YAChD2a,EAAE3a,YAAYxG,UAEhBmhB,aAAariB,OAASmrB,EAAc,IAC7C,CAEO,EAED,SAAUnsB,EAAQC,EAASI,GAEjC,aA8CA,IA3CA,IAAI+rB,EAAa/rB,EAAoB,IACjCumB,EAAUvmB,EAAoB,IAC9BohB,EAAWphB,EAAoB,IAC/BihB,EAASjhB,EAAoB,GAC7BmhB,EAAOnhB,EAAoB,IAC3B4oB,EAAY5oB,EAAoB,IAChCgsB,EAAMhsB,EAAoB,IAC1BgpB,EAAWgD,EAAI,YACfC,EAAgBD,EAAI,eACpBE,EAActD,EAAU1I,MACxBiM,EAAe,CACjBC,aAAa,EACbC,qBAAqB,EACrBC,cAAc,EACdC,gBAAgB,EAChBC,aAAa,EACbC,eAAe,EACf3M,cAAc,EACd4M,sBAAsB,EACtBC,UAAU,EACVC,mBAAmB,EACnBC,gBAAgB,EAChBC,iBAAiB,EACjBC,mBAAmB,EACnBC,WAAW,EACXC,eAAe,EACfC,cAAc,EACdC,UAAU,EACVC,kBAAkB,EAClBC,QAAQ,EACRC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,eAAe,EACfC,kBAAkB,EAClBC,kBAAkB,EAClBC,gBAAgB,EAChBC,kBAAkB,EAClBC,eAAe,EACfC,WAAW,GAEJC,EAAc3H,EAAQ4F,GAAejsB,EAAI,EAAGA,EAAIguB,EAAY3W,OAAQrX,IAAK,CAChF,IAIIsB,EAJAojB,EAAOsJ,EAAYhuB,GACnBiuB,EAAWhC,EAAavH,GACxBwJ,EAAanN,EAAO2D,GACpBoF,EAAQoE,GAAcA,EAAWvsB,UAErC,GAAImoB,IACGA,EAAMhB,IAAW7H,EAAK6I,EAAOhB,EAAUkD,GACvClC,EAAMiC,IAAgB9K,EAAK6I,EAAOiC,EAAerH,GACtDgE,EAAUhE,GAAQsH,EACdiC,GAAU,IAAK3sB,KAAOuqB,EACnB/B,EAAMxoB,IAAM4f,EAAS4I,EAAOxoB,EAAKuqB,EAAWvqB,IAAM,EAG7D,CAEO,EAED,SAAU7B,EAAQC,EAASI,GAEjC,aAGA,IAAIquB,EAAmBruB,EAAoB,IACvCsuB,EAAOtuB,EAAoB,IAC3B4oB,EAAY5oB,EAAoB,IAChC0lB,EAAY1lB,EAAoB,IACpCL,EAAOC,QAAUI,EAAoB,GAApBA,CAAwBkgB,MAAO,SAAS,SAAUoI,EAAUyB,GAC3ElqB,KAAK0oB,GAAK7C,EAAU4C,GACpBzoB,KAAK2oB,GAAK,EACV3oB,KAAK0uB,GAAKxE,CACZ,IAAG,WACD,IAAI/G,EAAInjB,KAAK0oB,GACTwB,EAAOlqB,KAAK0uB,GACZvI,EAAQnmB,KAAK2oB,KACjB,OAAKxF,GAAKgD,GAAShD,EAAEzL,QACnB1X,KAAK0oB,QAAKtgB,EACHqmB,EAAK,IAEaA,EAAK,EAApB,QAARvE,EAA+B/D,EACvB,UAAR+D,EAAiC/G,EAAEgD,GACxB,CAACA,EAAOhD,EAAEgD,IAC3B,GAAG,UACH4C,EAAU4F,UAAY5F,EAAU1I,MAChCmO,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,UAEV,EAED,SAAU1uB,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAU8oB,EAAMxnB,GAC/B,MAAO,CACLA,MAAOA,EACPwnB,OAAQA,EAEZ,CAEO,EAED,SAAU/oB,EAAQC,EAASI,GAEjC,aAGA,IAwBIyuB,EAAUC,EAA6BC,EAAsBC,EAxB7DjG,EAAU3oB,EAAoB,IAC9BihB,EAASjhB,EAAoB,GAC7BqhB,EAAMrhB,EAAoB,IAC1B+nB,EAAU/nB,EAAoB,IAC9B0gB,EAAU1gB,EAAoB,GAC9BmjB,EAAWnjB,EAAoB,IAC/BwkB,EAAYxkB,EAAoB,IAChC6uB,EAAa7uB,EAAoB,IACjC8uB,EAAQ9uB,EAAoB,IAC5B+uB,EAAqB/uB,EAAoB,IACzCgvB,EAAOhvB,EAAoB,IAAI8Y,IAC/BmW,EAAYjvB,EAAoB,GAApBA,GACZkvB,EAA6BlvB,EAAoB,IACjDmvB,EAAUnvB,EAAoB,IAC9BovB,EAAYpvB,EAAoB,IAChCqvB,EAAiBrvB,EAAoB,IACrCsvB,EAAU,UACVpM,EAAYjC,EAAOiC,UACnBzC,EAAUQ,EAAOR,QACjB8O,EAAW9O,GAAWA,EAAQ8O,SAC9BC,EAAKD,GAAYA,EAASC,IAAM,GAChCC,EAAWxO,EAAOqO,GAClBI,EAA6B,WAApB3H,EAAQtH,GACjBkP,EAAQ,WAAkB,EAE1BC,EAAuBlB,EAA8BQ,EAA2BtM,EAChFiN,IAAe,WACjB,IACE,IAAIvS,EAAUmS,EAASjS,QAAQ,GAC3BsS,GAAexS,EAAQjV,YAAc,CAAC,GAAGrI,EAAoB,GAApBA,CAAwB,YAAc,SAAUqjB,GAC3FA,EAAKsM,EAAOA,EACd,EACA,OAAQD,GAA0C,mBAAzBK,wBAAwCzS,EAAQ0S,KAAKL,aAAkBG,GAAqC,IAAtBN,EAAGxO,QAAQ,SAAoD,IAApCoO,EAAUpO,QAAQ,YACjJ,CAAX,MAAO9K,GAAI,CACf,CARmB,GASf+Z,EAAa,SAAoB7M,GACnC,IAAI4M,EACJ,SAAO7M,EAASC,IAAkC,mBAAnB4M,EAAO5M,EAAG4M,QAAsBA,CACjE,EACIE,EAAS,SAAgB5S,EAAS6S,GACpC,IAAI7S,EAAQ8S,GAAZ,CACA9S,EAAQ8S,IAAK,EACb,IAAIC,EAAQ/S,EAAQgT,GACpBrB,GAAU,WACR,IAAI/tB,EAAQoc,EAAQiT,GAChBC,EAAmB,GAAdlT,EAAQmT,GACbvwB,EAAI,EACJwwB,EAAM,SAAaC,GACrB,IAIIrU,EAAQ0T,EAAMY,EAJdC,EAAUL,EAAKG,EAASH,GAAKG,EAASG,KACtCtT,EAAUmT,EAASnT,QACnBC,EAASkT,EAASlT,OAClBsT,EAASJ,EAASI,OAEtB,IACMF,GACGL,IACe,GAAdlT,EAAQ0T,IAASC,EAAkB3T,GACvCA,EAAQ0T,GAAK,IAEC,IAAZH,EAAkBvU,EAASpb,GACzB6vB,GAAQA,EAAOG,QACnB5U,EAASuU,EAAQ3vB,GACb6vB,IACFA,EAAOI,OACPP,GAAS,IAGTtU,IAAWqU,EAASrT,QACtBG,EAAOyF,EAAU,yBACR8M,EAAOC,EAAW3T,IAC3B0T,EAAK5vB,KAAKkc,EAAQkB,EAASC,GACtBD,EAAQlB,IACVmB,EAAOvc,EAIhB,CAHE,MAAOgV,GACH6a,IAAWH,GAAQG,EAAOI,OAC9B1T,EAAOvH,EACT,CACF,EACA,MAAOma,EAAM9Y,OAASrX,EACpBwwB,EAAIL,EAAMnwB,MACXod,EAAQgT,GAAK,GACdhT,EAAQ8S,IAAK,EACTD,IAAa7S,EAAQ0T,IAAII,EAAY9T,EAC3C,GA3CsB,CA4CxB,EACI8T,EAAc,SAAqB9T,GACrC0R,EAAK5uB,KAAK6gB,GAAQ,WAChB,IAEI3E,EAAQuU,EAASpb,EAFjBvU,EAAQoc,EAAQiT,GAChBc,EAAYC,EAAYhU,GAkB5B,GAhBI+T,IACF/U,EAAS6S,GAAQ,WACXO,EACFjP,EAAQ8Q,KAAK,qBAAsBrwB,EAAOoc,IACjCuT,EAAU5P,EAAOuQ,sBAC1BX,EAAQ,CACNvT,QAASA,EACTmU,OAAQvwB,KAEAuU,EAAUwL,EAAOxL,UAAYA,EAAQic,OAC/Cjc,EAAQic,MAAM,8BAA+BxwB,EAEjD,IACAoc,EAAQ0T,GAAKtB,GAAU4B,EAAYhU,GAAW,EAAI,GAEpDA,EAAQqU,QAAK1pB,EACTopB,GAAa/U,EAAOpG,EAAG,MAAMoG,EAAOlB,CAC1C,GACF,EACIkW,EAAc,SAAqBhU,GACrC,OAAsB,IAAfA,EAAQ0T,IAAkD,KAArC1T,EAAQqU,IAAMrU,EAAQgT,IAAI/Y,MACxD,EACI0Z,EAAoB,SAA2B3T,GACjD0R,EAAK5uB,KAAK6gB,GAAQ,WAChB,IAAI4P,EACAnB,EACFjP,EAAQ8Q,KAAK,mBAAoBjU,IACxBuT,EAAU5P,EAAO2Q,qBAC1Bf,EAAQ,CACNvT,QAASA,EACTmU,OAAQnU,EAAQiT,IAGtB,GACF,EACIsB,EAAU,SAAiB3wB,GAC7B,IAAIoc,EAAUzd,KACVyd,EAAQwU,KACZxU,EAAQwU,IAAK,EACbxU,EAAUA,EAAQyU,IAAMzU,EACxBA,EAAQiT,GAAKrvB,EACboc,EAAQmT,GAAK,EACRnT,EAAQqU,KAAIrU,EAAQqU,GAAKrU,EAAQgT,GAAGxV,SACzCoV,EAAO5S,GAAS,GAClB,EACI0U,EAAW,SAASA,EAAS9wB,GAC/B,IACI8uB,EADA1S,EAAUzd,KAEd,IAAIyd,EAAQwU,GAAZ,CACAxU,EAAQwU,IAAK,EACbxU,EAAUA,EAAQyU,IAAMzU,EACxB,IACE,GAAIA,IAAYpc,EAAO,MAAMgiB,EAAU,qCACnC8M,EAAOC,EAAW/uB,IACpB+tB,GAAU,WACR,IAAIgD,EAAU,CACZF,GAAIzU,EACJwU,IAAI,GAEN,IACE9B,EAAK5vB,KAAKc,EAAOmgB,EAAI2Q,EAAUC,EAAS,GAAI5Q,EAAIwQ,EAASI,EAAS,GAGpE,CAFE,MAAO/b,GACP2b,EAAQzxB,KAAK6xB,EAAS/b,EACxB,CACF,KAEAoH,EAAQiT,GAAKrvB,EACboc,EAAQmT,GAAK,EACbP,EAAO5S,GAAS,GAOpB,CALE,MAAOpH,GACP2b,EAAQzxB,KAAK,CACX2xB,GAAIzU,EACJwU,IAAI,GACH5b,EACL,CA3BsB,CA4BxB,EACK2Z,IACHJ,EAAW,SAAiByC,GAC1BrD,EAAWhvB,KAAM4vB,EAAUH,EAAS,MACpC9K,EAAU0N,GACVzD,EAASruB,KAAKP,MACd,IACEqyB,EAAS7Q,EAAI2Q,EAAUnyB,KAAM,GAAIwhB,EAAIwQ,EAAShyB,KAAM,GAGtD,CAFE,MAAOsyB,GACPN,EAAQzxB,KAAKP,KAAMsyB,EACrB,CACF,EACA1D,EAAW,SAAiByD,GAC1BryB,KAAKywB,GAAK,GACVzwB,KAAK8xB,QAAK1pB,EACVpI,KAAK4wB,GAAK,EACV5wB,KAAKiyB,IAAK,EACVjyB,KAAK0wB,QAAKtoB,EACVpI,KAAKmxB,GAAK,EACVnxB,KAAKuwB,IAAK,CACZ,EACA3B,EAAS5sB,UAAY7B,EAAoB,GAApBA,CAAwByvB,EAAS5tB,UAAW,CAC/DmuB,KAAM,SAAcoC,EAAaC,GAC/B,IAAI1B,EAAWf,EAAqBb,EAAmBlvB,KAAM4vB,IAO7D,OANAkB,EAASH,GAA2B,mBAAf4B,GAA4BA,EACjDzB,EAASG,KAA4B,mBAAduB,GAA4BA,EACnD1B,EAASI,OAASrB,EAASjP,EAAQsQ,YAAS9oB,EAC5CpI,KAAKywB,GAAGpY,KAAKyY,GACT9wB,KAAK8xB,IAAI9xB,KAAK8xB,GAAGzZ,KAAKyY,GACtB9wB,KAAK4wB,IAAIP,EAAOrwB,MAAM,GACnB8wB,EAASrT,OAClB,EACA,MAAS,SAAgB+U,GACvB,OAAOxyB,KAAKmwB,UAAK/nB,EAAWoqB,EAC9B,IAEF1D,EAAuB,WACrB,IAAIrR,EAAU,IAAImR,EAClB5uB,KAAKyd,QAAUA,EACfzd,KAAK2d,QAAU6D,EAAI2Q,EAAU1U,EAAS,GACtCzd,KAAK4d,OAAS4D,EAAIwQ,EAASvU,EAAS,EACtC,EACA4R,EAA2BtM,EAAIgN,EAAuB,SAA8B0C,GAClF,OAAOA,IAAM7C,GAAY6C,IAAM1D,EAAU,IAAID,EAAqB2D,GAAK5D,EAA4B4D,EACrG,GAEF5R,EAAQA,EAAQmB,EAAInB,EAAQ4B,EAAI5B,EAAQI,GAAK+O,EAAY,CAAEtS,QAASkS,IACpEzvB,EAAoB,GAApBA,CAAwByvB,EAAUH,GAClCtvB,EAAoB,GAApBA,CAAwBsvB,GACxBV,EAAU5uB,EAAoB,GAAGsvB,GACjC5O,EAAQA,EAAQqB,EAAIrB,EAAQI,GAAK+O,EAAYP,EAAS,CACpD7R,OAAQ,SAAgB1c,GACtB,IAAIsc,EAAauS,EAAqB/vB,MAClC0yB,EAAWlV,EAAWI,OAE1B,OADA8U,EAASxxB,GACFsc,EAAWC,OACpB,IAEFoD,EAAQA,EAAQqB,EAAIrB,EAAQI,GAAK6H,IAAYkH,GAAaP,EAAS,CACjE9R,QAAS,SAAiBzE,GACxB,OAAOsW,EAAe1G,GAAW9oB,OAAS+uB,EAAUa,EAAW5vB,KAAMkZ,EACvE,IAEF2H,EAAQA,EAAQqB,EAAIrB,EAAQI,IAAM+O,GAAc7vB,EAAoB,GAApBA,EAAwB,SAAUwyB,GAChF/C,EAASgD,IAAID,GAAM,SAAS7C,EAC9B,KAAKL,EAAS,CACZmD,IAAK,SAAaC,GAChB,IAAIJ,EAAIzyB,KACJwd,EAAauS,EAAqB0C,GAClC9U,EAAUH,EAAWG,QACrBC,EAASJ,EAAWI,OACpBnB,EAAS6S,GAAQ,WACnB,IAAInV,EAAS,GACTgM,EAAQ,EACR2M,EAAY,EAChB7D,EAAM4D,GAAU,GAAO,SAAUpV,GAC/B,IAAIsV,EAAS5M,IACT6M,GAAgB,EACpB7Y,EAAO9B,UAAKjQ,GACZ0qB,IACAL,EAAE9U,QAAQF,GAAS0S,MAAK,SAAU9uB,GAC5B2xB,IACJA,GAAgB,EAChB7Y,EAAO4Y,GAAU1xB,IACfyxB,GAAanV,EAAQxD,GACzB,GAAGyD,EACL,MACEkV,GAAanV,EAAQxD,EACzB,IAEA,OADIsC,EAAOpG,GAAGuH,EAAOnB,EAAOlB,GACrBiC,EAAWC,OACpB,EACAwV,KAAM,SAAcJ,GAClB,IAAIJ,EAAIzyB,KACJwd,EAAauS,EAAqB0C,GAClC7U,EAASJ,EAAWI,OACpBnB,EAAS6S,GAAQ,WACnBL,EAAM4D,GAAU,GAAO,SAAUpV,GAC/BgV,EAAE9U,QAAQF,GAAS0S,KAAK3S,EAAWG,QAASC,EAC9C,GACF,IAEA,OADInB,EAAOpG,GAAGuH,EAAOnB,EAAOlB,GACrBiC,EAAWC,OACpB,GAGK,EAED,SAAU3d,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAUwjB,EAAImG,EAAa/oB,EAAMuyB,GAChD,KAAM3P,aAAcmG,SAAmCthB,IAAnB8qB,GAAgCA,KAAkB3P,EACpF,MAAMF,UAAU1iB,EAAO,2BAEzB,OAAO4iB,CACT,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAIqhB,EAAMrhB,EAAoB,IAC1BI,EAAOJ,EAAoB,IAC3BgzB,EAAchzB,EAAoB,IAClC6iB,EAAW7iB,EAAoB,IAC/B2lB,EAAW3lB,EAAoB,IAC/BizB,EAAYjzB,EAAoB,IAChCkzB,EAAQ,CAAC,EACTC,EAAS,CAAC,EACVC,EAAWzzB,EAAOC,QAAU,SAAU8yB,EAAUnI,EAAShH,EAAIkB,EAAMuE,GACrE,IAKIzR,EAAQ+W,EAAMnmB,EAAUmU,EALxB+W,EAASrK,EAAW,WACtB,OAAO0J,CACT,EAAIO,EAAUP,GACV9P,EAAIvB,EAAIkC,EAAIkB,EAAM8F,EAAU,EAAI,GAChCvE,EAAQ,EAEZ,GAAqB,mBAAVqN,EAAsB,MAAMnQ,UAAUwP,EAAW,qBAC5D,GAAIM,EAAYK,IAAS,IAAK9b,EAASoO,EAAS+M,EAASnb,QAASA,EAASyO,EAAOA,IAEhF,GADA1J,EAASiO,EAAU3H,EAAEC,EAASyL,EAAOoE,EAAS1M,IAAQ,GAAIsI,EAAK,IAAM1L,EAAE8P,EAAS1M,IAC5E1J,IAAW4W,GAAS5W,IAAW6W,EAAQ,OAAO7W,OAC7C,IAAKnU,EAAWkrB,EAAOjzB,KAAKsyB,KAAapE,EAAOnmB,EAASqhB,QAAQd,MAEtE,GADApM,EAASlc,EAAK+H,EAAUya,EAAG0L,EAAKptB,MAAOqpB,GACnCjO,IAAW4W,GAAS5W,IAAW6W,EAAQ,OAAO7W,CAEtD,EACA8W,EAASF,MAAQA,EACjBE,EAASD,OAASA,CAEX,EAED,SAAUxzB,EAAQC,EAASI,GAEjC,aAGA,IAAI6iB,EAAW7iB,EAAoB,IACnCL,EAAOC,QAAU,SAAUuI,EAAUob,EAAIriB,EAAOqpB,GAC9C,IACE,OAAOA,EAAUhH,EAAGV,EAAS3hB,GAAO,GAAIA,EAAM,IAAMqiB,EAAGriB,EAKzD,CAJE,MAAOgV,GACP,IAAIod,EAAMnrB,EAAS,UAEnB,WADYF,IAARqrB,GAAmBzQ,EAASyQ,EAAIlzB,KAAK+H,IACnC+N,CACR,CACF,CAEO,EAED,SAAUvW,EAAQC,EAASI,GAEjC,aAGA,IAAI4oB,EAAY5oB,EAAoB,IAChCgpB,EAAWhpB,EAAoB,GAApBA,CAAwB,YACnCsmB,EAAapG,MAAMre,UACvBlC,EAAOC,QAAU,SAAUwjB,GACzB,YAAcnb,IAAPmb,IAAqBwF,EAAU1I,QAAUkD,GAAMkD,EAAW0C,KAAc5F,EACjF,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAI+nB,EAAU/nB,EAAoB,IAC9BgpB,EAAWhpB,EAAoB,GAApBA,CAAwB,YACnC4oB,EAAY5oB,EAAoB,IACpCL,EAAOC,QAAUI,EAAoB,GAAGuzB,kBAAoB,SAAUnQ,GACpE,QAAUnb,GAANmb,EAAiB,OAAOA,EAAG4F,IAAa5F,EAAG,eAAiBwF,EAAUb,EAAQ3E,GACpF,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAI6iB,EAAW7iB,EAAoB,IAC/BwkB,EAAYxkB,EAAoB,IAChCwzB,EAAUxzB,EAAoB,GAApBA,CAAwB,WACtCL,EAAOC,QAAU,SAAUojB,EAAGyQ,GAC5B,IACI1R,EADAuQ,EAAIzP,EAASG,GAAG3a,YAEpB,YAAaJ,IAANqqB,QAAiDrqB,IAA7B8Z,EAAIc,EAASyP,GAAGkB,IAAyBC,EAAIjP,EAAUzC,EACpF,CAEO,EAED,SAAUpiB,EAAQC,EAASI,GAEjC,aAGA,IAaI0zB,EAAOC,EAASC,EAbhBvS,EAAMrhB,EAAoB,IAC1B6zB,EAAS7zB,EAAoB,IAC7B8zB,EAAO9zB,EAAoB,IAC3B+zB,EAAM/zB,EAAoB,IAC1BihB,EAASjhB,EAAoB,GAC7BygB,EAAUQ,EAAOR,QACjBuT,EAAU/S,EAAOgT,aACjBC,EAAYjT,EAAOkT,eACnBC,EAAiBnT,EAAOmT,eACxBC,EAAWpT,EAAOoT,SAClBC,EAAU,EACVC,EAAQ,CAAC,EACTC,EAAqB,qBAErB9D,EAAM,WACR,IAAItM,GAAMvkB,KACV,GAAI00B,EAAMzyB,eAAesiB,GAAK,CAC5B,IAAIb,EAAKgR,EAAMnQ,UACRmQ,EAAMnQ,GACbb,GACF,CACF,EACIkR,EAAW,SAAkBC,GAC/BhE,EAAItwB,KAAKs0B,EAAM7b,KACjB,EACKmb,GAAYE,IACfF,EAAU,SAAsBzQ,GAC9B,IAAIoR,EAAO,GACPz0B,EAAI,EACR,MAAOwc,UAAUnF,OAASrX,EACxBy0B,EAAKzc,KAAKwE,UAAUxc,MAKtB,OAJCq0B,IAAQD,GAAW,WAClBT,EAAoB,mBAANtQ,EAAmBA,EAAKhK,SAASgK,GAAKoR,EACtD,EACAjB,EAAMY,GACCA,CACT,EACAJ,EAAY,SAAwB9P,UAC3BmQ,EAAMnQ,EACf,EACwC,WAApCpkB,EAAoB,GAApBA,CAAwBygB,GAC1BiT,EAAQ,SAAetP,GACrB3D,EAAQmU,SAASvT,EAAIqP,EAAKtM,EAAI,GAChC,EACSiQ,GAAYA,EAASQ,IAC9BnB,EAAQ,SAAetP,GACrBiQ,EAASQ,IAAIxT,EAAIqP,EAAKtM,EAAI,GAC5B,EACSgQ,GACTT,EAAU,IAAIS,EACdR,EAAOD,EAAQmB,MACfnB,EAAQoB,MAAMC,UAAYP,EAC1Bf,EAAQrS,EAAIuS,EAAKqB,YAAarB,EAAM,IAC3B3S,EAAOiU,kBAA0C,mBAAfD,cAA8BhU,EAAOkU,eAChFzB,EAAQ,SAAetP,GACrBnD,EAAOgU,YAAY7Q,EAAK,GAAI,IAC9B,EACAnD,EAAOiU,iBAAiB,UAAWT,GAAU,IAE7Cf,EADSc,KAAsBT,EAAI,UAC3B,SAAe3P,GACrB0P,EAAK5I,YAAY6I,EAAI,WAAWS,GAAsB,WACpDV,EAAKtU,YAAY3f,MACjB6wB,EAAItwB,KAAKgkB,EACX,CACF,EAEQ,SAAeA,GACrBgR,WAAW/T,EAAIqP,EAAKtM,EAAI,GAAI,EAC9B,GAGJzkB,EAAOC,QAAU,CACfkZ,IAAKkb,EACLqB,MAAOnB,EAGF,EAED,SAAUv0B,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAU2jB,EAAIoR,EAAMlQ,GACnC,IAAI6Q,OAAcrtB,IAATwc,EACT,OAAQkQ,EAAKpd,QACX,KAAK,EACH,OAAO+d,EAAK/R,IAAOA,EAAGnjB,KAAKqkB,GAC7B,KAAK,EACH,OAAO6Q,EAAK/R,EAAGoR,EAAK,IAAMpR,EAAGnjB,KAAKqkB,EAAMkQ,EAAK,IAC/C,KAAK,EACH,OAAOW,EAAK/R,EAAGoR,EAAK,GAAIA,EAAK,IAAMpR,EAAGnjB,KAAKqkB,EAAMkQ,EAAK,GAAIA,EAAK,IACjE,KAAK,EACH,OAAOW,EAAK/R,EAAGoR,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAAMpR,EAAGnjB,KAAKqkB,EAAMkQ,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACnF,KAAK,EACH,OAAOW,EAAK/R,EAAGoR,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAAMpR,EAAGnjB,KAAKqkB,EAAMkQ,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAEvG,OAAOpR,EAAG5L,MAAM8M,EAAMkQ,EACxB,CAEO,EAED,SAAUh1B,EAAQC,EAASI,GAEjC,aAGA,IAAIihB,EAASjhB,EAAoB,GAC7Bu1B,EAAYv1B,EAAoB,IAAI8Y,IACpC0c,EAAWvU,EAAOwU,kBAAoBxU,EAAOyU,uBAC7CjV,EAAUQ,EAAOR,QACjBlD,EAAU0D,EAAO1D,QACjBmS,EAA6C,WAApC1vB,EAAoB,GAApBA,CAAwBygB,GACrC9gB,EAAOC,QAAU,WACf,IAAI+1B,EAAMC,EAAM1F,EACZ2F,EAAQ,WACV,IAAIC,EAAQvS,EACRmM,IAAWoG,EAASrV,EAAQsQ,SAAS+E,EAAO3E,OAChD,MAAOwE,EAAM,CACXpS,EAAKoS,EAAKpS,GACVoS,EAAOA,EAAKnM,KACZ,IACEjG,GAIF,CAHE,MAAOrN,GAEP,MADIyf,EAAMzF,IAAc0F,OAAO3tB,EACzBiO,CACR,CACF,CACA0f,OAAO3tB,EACH6tB,GAAQA,EAAO5E,OACrB,EACA,GAAIxB,EACFQ,EAAS,WACPzP,EAAQmU,SAASiB,EACnB,OACK,IAAIL,GAAcvU,EAAO8U,WAAa9U,EAAO8U,UAAUC,WAOvD,GAAIzY,GAAWA,EAAQC,QAAS,CACrC,IAAIF,EAAUC,EAAQC,aAAQvV,GAC9BioB,EAAS,WACP5S,EAAQ0S,KAAK6F,EACf,CACF,MACE3F,EAAS,WACPqF,EAAUn1B,KAAK6gB,EAAQ4U,EACzB,MAfyE,CACzE,IAAIjW,GAAS,EACTqW,EAAOtX,SAASuX,eAAe,IACnC,IAAIV,EAASK,GAAOM,QAAQF,EAAM,CAAEG,eAAe,IACnDlG,EAAS,WACP+F,EAAKpd,KAAO+G,GAAUA,CACxB,CACF,CAUA,OAAO,SAAU2D,GACf,IAAIyL,EAAO,CACTzL,GAAIA,EACJiG,UAAMvhB,GAEJ2tB,IAAMA,EAAKpM,KAAOwF,GACjB2G,IACHA,EAAO3G,EACPkB,KAEF0F,EAAO5G,CACT,CACF,CAEO,EAED,SAAUrvB,EAAQC,EAASI,GAEjC,aAGA,IAAIwkB,EAAYxkB,EAAoB,IACpC,SAASq2B,EAAkB/D,GACzB,IAAI9U,EAASC,EACb5d,KAAKyd,QAAU,IAAIgV,GAAE,SAAUgE,EAAW/D,GACxC,QAAgBtqB,IAAZuV,QAAoCvV,IAAXwV,EAAsB,MAAMyF,UAAU,2BACnE1F,EAAU8Y,EACV7Y,EAAS8U,CACX,IACA1yB,KAAK2d,QAAUgH,EAAUhH,GACzB3d,KAAK4d,OAAS+G,EAAU/G,EAC1B,CACA9d,EAAOC,QAAQgjB,EAAI,SAAU0P,GAC3B,OAAO,IAAI+D,EAAkB/D,EAC/B,CAEO,EAED,SAAU3yB,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAUyjB,GACzB,IACE,MAAO,CACLnN,GAAG,EACHkF,EAAGiI,IAOP,CALE,MAAOnN,GACP,MAAO,CACLA,GAAG,EACHkF,EAAGlF,EAEP,CACF,CAEO,EAED,SAAUvW,EAAQC,EAASI,GAEjC,aAGA,IAAIihB,EAASjhB,EAAoB,GAC7B+1B,EAAY9U,EAAO8U,UACvBp2B,EAAOC,QAAUm2B,GAAaA,EAAU3G,WAAa,EAE9C,EAED,SAAUzvB,EAAQC,EAASI,GAEjC,aAGA,IAAI6iB,EAAW7iB,EAAoB,IAC/BmjB,EAAWnjB,EAAoB,IAC/B4vB,EAAuB5vB,EAAoB,IAC/CL,EAAOC,QAAU,SAAU0yB,EAAGvZ,GAE5B,GADA8J,EAASyP,GACLnP,EAASpK,IAAMA,EAAE1Q,cAAgBiqB,EAAG,OAAOvZ,EAC/C,IAAIwd,EAAoB3G,EAAqBhN,EAAE0P,GAC3C9U,EAAU+Y,EAAkB/Y,QAEhC,OADAA,EAAQzE,GACDwd,EAAkBjZ,OAC3B,CAEO,EAED,SAAU3d,EAAQC,EAASI,GAEjC,aAGA,IAAIohB,EAAWphB,EAAoB,IACnCL,EAAOC,QAAU,SAAUuiB,EAAQgJ,EAAKjH,GACtC,IAAK,IAAI1iB,KAAO2pB,EACd/J,EAASe,EAAQ3gB,EAAK2pB,EAAI3pB,GAAM0iB,GACjC,OAAO/B,CACV,CAEO,EAED,SAAUxiB,EAAQC,EAASI,GAEjC,aAGA,IAAIihB,EAASjhB,EAAoB,GAC7B0iB,EAAK1iB,EAAoB,IACzBw2B,EAAcx2B,EAAoB,IAClCwzB,EAAUxzB,EAAoB,GAApBA,CAAwB,WACtCL,EAAOC,QAAU,SAAU0lB,GACzB,IAAIgN,EAAIrR,EAAOqE,GACXkR,GAAelE,IAAMA,EAAEkB,IAAU9Q,EAAGE,EAAE0P,EAAGkB,EAAS,CACpD9c,cAAc,EACd5V,IAAK,WACH,OAAOjB,IACT,GAEJ,CAEO,EAED,SAAUF,EAAQC,EAASI,GAEjC,aAGA,IAAIgpB,EAAWhpB,EAAoB,GAApBA,CAAwB,YACnCy2B,GAAe,EACnB,IACE,IAAIC,EAAQ,CAAC,GAAG1N,KAChB0N,EAAM,UAAY,WAChBD,GAAe,CACjB,EACAvW,MAAMnB,KAAK2X,GAAO,WAChB,MAAM,CACR,GACW,CAAX,MAAOxgB,GAAI,CACbvW,EAAOC,QAAU,SAAUyjB,EAAMsT,GAC/B,IAAKA,IAAgBF,EAAc,OAAO,EAC1C,IAAIvS,GAAO,EACX,IACE,IAAI5L,EAAM,CAAC,GACPka,EAAOla,EAAI0Q,KACfwJ,EAAKhJ,KAAO,WACV,MAAO,CAAEd,KAAMxE,GAAO,EACxB,EACA5L,EAAI0Q,GAAY,WACd,OAAOwJ,CACT,EACAnP,EAAK/K,EACM,CAAX,MAAOpC,GAAI,CACb,OAAOgO,CACT,CAEO,EAED,SAAUvkB,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAC9BkhB,EAAOlhB,EAAoB,GAC3BihB,EAASjhB,EAAoB,GAC7B+uB,EAAqB/uB,EAAoB,IACzCqvB,EAAiBrvB,EAAoB,IACzC0gB,EAAQA,EAAQG,EAAIH,EAAQ6B,EAAG,UAAW,CACxC,QAAW,SAAkBqU,GAC3B,IAAItE,EAAIvD,EAAmBlvB,KAAMqhB,EAAK3D,SAAW0D,EAAO1D,SACpD4G,EAAiC,mBAAbyS,EACxB,OAAO/2B,KAAKmwB,KAAK7L,EAAa,SAAUpL,GACtC,OAAOsW,EAAeiD,EAAGsE,KAAa5G,MAAK,WACzC,OAAOjX,CACT,GACF,EAAI6d,EAAWzS,EAAa,SAAUjO,GACpC,OAAOmZ,EAAeiD,EAAGsE,KAAa5G,MAAK,WACzC,MAAM9Z,CACR,GACF,EAAI0gB,EACN,GAGK,EAED,SAAUj3B,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAC9B4vB,EAAuB5vB,EAAoB,IAC3CmvB,EAAUnvB,EAAoB,IAClC0gB,EAAQA,EAAQqB,EAAG,UAAW,CAC5B,IAAO,SAAc8U,GACnB,IAAIN,EAAoB3G,EAAqBhN,EAAE/iB,MAC3Cyc,EAAS6S,EAAQ0H,GAErB,OADCva,EAAOpG,EAAIqgB,EAAkB9Y,OAAS8Y,EAAkB/Y,SAASlB,EAAOlB,GAClEmb,EAAkBjZ,OAC3B,GAGK,EAED,SAAU3d,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,IACpBA,EAAoB,KACpBA,EAAoB,KACpBL,EAAOC,QAAUI,EAAoB,GAAGqgB,OAEjC,EAED,SAAU1gB,EAAQC,EAASI,GAEjC,aAGA,IAaI82B,EAbAC,EAAO/2B,EAAoB,GAApBA,CAAwB,GAC/BohB,EAAWphB,EAAoB,IAC/Bg3B,EAAOh3B,EAAoB,KAC3BmgB,EAASngB,EAAoB,IAC7Bi3B,EAAOj3B,EAAoB,KAC3BmjB,EAAWnjB,EAAoB,IAC/Bk3B,EAAQl3B,EAAoB,IAC5Bm3B,EAAWn3B,EAAoB,KAC/Bo3B,EAAW,UACXC,EAAUL,EAAKK,QACfC,EAAe32B,OAAO22B,aACtBC,EAAsBN,EAAKO,QAC3BC,EAAM,CAAC,EAEPxF,EAAU,SAAiBnxB,GAC7B,OAAO,WACL,OAAOA,EAAIjB,KAAM6c,UAAUnF,OAAS,EAAImF,UAAU,QAAKzU,EACzD,CACF,EACI2hB,EAAU,CACZ9oB,IAAK,SAAaU,GAChB,GAAI2hB,EAAS3hB,GAAM,CACjB,IAAIqX,EAAOwe,EAAQ71B,GACnB,OAAa,IAATqX,EAAsB0e,EAAoBJ,EAASt3B,KAAMu3B,IAAWt2B,IAAIU,GACrEqX,EAAOA,EAAKhZ,KAAK2oB,SAAMvgB,CAChC,CACF,EACA6Q,IAAK,SAAatX,EAAKN,GACrB,OAAO+1B,EAAKtL,IAAIwL,EAASt3B,KAAMu3B,GAAW51B,EAAKN,EACjD,GAEEw2B,EAAW/3B,EAAOC,QAAUI,EAAoB,IAApBA,CAAyBo3B,EAAUnF,EAASrI,EAASqN,GAAM,GAAM,GAC7FC,GAAM,WACR,OAAyE,IAAlE,IAAIQ,GAAW5e,KAAKnY,OAAOg3B,QAAUh3B,QAAQ82B,GAAM,GAAG32B,IAAI22B,EACnE,MACEX,EAAcG,EAAKW,eAAe3F,EAASmF,GAC3CjX,EAAO2W,EAAYj1B,UAAW+nB,GAC9BoN,EAAKa,MAAO,EACZd,EAAK,CAAC,SAAU,MAAO,MAAO,QAAQ,SAAUv1B,GAC9C,IAAIwoB,EAAQ0N,EAAS71B,UACjBi2B,EAAS9N,EAAMxoB,GACnB4f,EAAS4I,EAAOxoB,GAAK,SAAU+Z,EAAGnB,GAChC,GAAI+I,EAAS5H,KAAO+b,EAAa/b,GAAI,CAC9B1b,KAAKk4B,KAAIl4B,KAAKk4B,GAAK,IAAIjB,GAC5B,IAAIxa,EAASzc,KAAKk4B,GAAGv2B,GAAK+Z,EAAGnB,GAC7B,MAAc,OAAP5Y,EAAe3B,KAAOyc,CAC/B,CACA,OAAOwb,EAAO13B,KAAKP,KAAM0b,EAAGnB,EAC9B,GACF,IAGK,EAED,SAAUza,EAAQC,EAASI,GAEjC,aAGA,IAAIqhB,EAAMrhB,EAAoB,IAC1BimB,EAAUjmB,EAAoB,IAC9B0mB,EAAW1mB,EAAoB,IAC/B2lB,EAAW3lB,EAAoB,IAC/Bg4B,EAAMh4B,EAAoB,IAC9BL,EAAOC,QAAU,SAAUq4B,EAAMC,GAC/B,IAAIC,EAAiB,GAARF,EACTG,EAAoB,GAARH,EACZI,EAAkB,GAARJ,EACVK,EAAmB,GAARL,EACXM,EAAwB,GAARN,EAChBO,EAAmB,GAARP,GAAaM,EACxBh3B,EAAS22B,GAAWF,EACxB,OAAO,SAAUlS,EAAO+Q,EAAYpS,GAQlC,IAPA,IAMIjB,EAAKiV,EANLzV,EAAI0D,EAASZ,GACbtF,EAAOyF,EAAQjD,GACfJ,EAAIvB,EAAIwV,EAAYpS,EAAM,GAC1BlN,EAASoO,EAASnF,EAAKjJ,QACvByO,EAAQ,EACR1J,EAAS6b,EAAS52B,EAAOukB,EAAOvO,GAAU6gB,EAAY72B,EAAOukB,EAAO,QAAK7d,EAEtEsP,EAASyO,EAAOA,IACrB,IAAIwS,GAAYxS,KAASxF,KACvBgD,EAAMhD,EAAKwF,GACXyS,EAAM7V,EAAEY,EAAKwC,EAAOhD,GAChBiV,GACF,GAAIE,EAAQ7b,EAAO0J,GAASyS,OAAS,GAAIA,EAAK,OAAQR,GACpD,KAAK,EACH,OAAO,EACT,KAAK,EACH,OAAOzU,EACT,KAAK,EACH,OAAOwC,EACT,KAAK,EACH1J,EAAOpE,KAAKsL,QACT,GAAI8U,EAAU,OAAO,EAGjC,OAAOC,GAAiB,EAAIF,GAAWC,EAAWA,EAAWhc,CAChE,CACF,CAEO,EAED,SAAU3c,EAAQC,EAASI,GAEjC,aAGA,IAAI+uB,EAAqB/uB,EAAoB,IAC7CL,EAAOC,QAAU,SAAU84B,EAAUnhB,GACnC,OAAO,IAAKwX,EAAmB2J,GAAxB,CAAmCnhB,EAC5C,CAEO,EAED,SAAU5X,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IAC/B24B,EAAU34B,EAAoB,IAC9BwzB,EAAUxzB,EAAoB,GAApBA,CAAwB,WACtCL,EAAOC,QAAU,SAAU84B,GACzB,IAAIpG,EASJ,OARIqG,EAAQD,KACVpG,EAAIoG,EAASrwB,YACG,mBAALiqB,GAAoBA,IAAMpS,QAASyY,EAAQrG,EAAEzwB,aAAaywB,OAAIrqB,GACrEkb,EAASmP,KACXA,EAAIA,EAAEkB,GACI,OAANlB,IAAYA,OAAIrqB,UAGXA,IAANqqB,EAAkBpS,MAAQoS,CACnC,CAEO,EAED,SAAU3yB,EAAQC,EAASI,GAEjC,aAGA,IAAI6kB,EAAM7kB,EAAoB,IAC9BL,EAAOC,QAAUsgB,MAAMyY,SAAW,SAAiBC,GACjD,MAAmB,SAAZ/T,EAAI+T,EACb,CAEO,EAED,SAAUj5B,EAAQC,EAASI,GAEjC,aAGA,IAAIkI,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAEvQywB,EAAO74B,EAAoB,GAApBA,CAAwB,QAC/BmjB,EAAWnjB,EAAoB,IAC/B2jB,EAAM3jB,EAAoB,IAC1B84B,EAAU94B,EAAoB,IAAI4iB,EAClCwB,EAAK,EACLkT,EAAe32B,OAAO22B,cAAgB,WACxC,OAAO,CACT,EACIyB,GAAU/4B,EAAoB,GAApBA,EAAwB,WACpC,OAAOs3B,EAAa32B,OAAOq4B,kBAAkB,CAAC,GAChD,IACIC,EAAU,SAAiB7V,GAC7B0V,EAAQ1V,EAAIyV,EAAM,CAChB33B,MAAO,CACLhB,EAAG,OAAQkkB,EACX8U,EAAG,CAAC,IAGV,EACIC,EAAU,SAAiB/V,EAAI7hB,GACjC,IAAK4hB,EAASC,GAAK,MAAkE,WAA5C,qBAAPA,EAAqB,YAAclb,EAAQkb,IAAmBA,GAAmB,iBAANA,EAAiB,IAAM,KAAOA,EAC3I,IAAKO,EAAIP,EAAIyV,GAAO,CAClB,IAAKvB,EAAalU,GAAK,MAAO,IAC9B,IAAK7hB,EAAQ,MAAO,IACpB03B,EAAQ7V,EACV,CACA,OAAOA,EAAGyV,GAAM34B,CAClB,EACIm3B,EAAU,SAAiBjU,EAAI7hB,GACjC,IAAKoiB,EAAIP,EAAIyV,GAAO,CAClB,IAAKvB,EAAalU,GAAK,OAAO,EAC9B,IAAK7hB,EAAQ,OAAO,EACpB03B,EAAQ7V,EACV,CACA,OAAOA,EAAGyV,GAAMK,CAClB,EACIE,EAAW,SAAkBhW,GAE/B,OADI2V,GAAU/B,EAAKa,MAAQP,EAAalU,KAAQO,EAAIP,EAAIyV,IAAOI,EAAQ7V,GAChEA,CACT,EACI4T,EAAOr3B,EAAOC,QAAU,CAC1B0lB,IAAKuT,EACLhB,MAAM,EACNsB,QAASA,EACT9B,QAASA,EACT+B,SAAUA,EAGL,EAED,SAAUz5B,EAAQC,EAASI,GAEjC,aAGA,IAAIq5B,EAAcr5B,EAAoB,IAClCq3B,EAAUr3B,EAAoB,KAAKq3B,QACnCxU,EAAW7iB,EAAoB,IAC/BmjB,EAAWnjB,EAAoB,IAC/B6uB,EAAa7uB,EAAoB,IACjC8uB,EAAQ9uB,EAAoB,IAC5Bs5B,EAAoBt5B,EAAoB,IACxCu5B,EAAOv5B,EAAoB,IAC3Bm3B,EAAWn3B,EAAoB,KAC/Bw5B,EAAYF,EAAkB,GAC9BG,EAAiBH,EAAkB,GACnClV,EAAK,EACLmT,EAAsB,SAA6B9S,GACrD,OAAOA,EAAKiV,KAAOjV,EAAKiV,GAAK,IAAIC,EACnC,EACIA,EAAsB,WACxB95B,KAAK0b,EAAI,EACX,EACIqe,EAAqB,SAA4B7U,EAAOvjB,GAC1D,OAAOg4B,EAAUzU,EAAMxJ,GAAG,SAAU6H,GAClC,OAAOA,EAAG,KAAO5hB,CACnB,GACF,EACAm4B,EAAoB93B,UAAY,CAC9Bf,IAAK,SAAaU,GAChB,IAAIq4B,EAAQD,EAAmB/5B,KAAM2B,GACrC,GAAIq4B,EAAO,OAAOA,EAAM,EAC1B,EACAlW,IAAK,SAAaniB,GAChB,QAASo4B,EAAmB/5B,KAAM2B,EACpC,EACAsX,IAAK,SAAatX,EAAKN,GACrB,IAAI24B,EAAQD,EAAmB/5B,KAAM2B,GACjCq4B,EAAOA,EAAM,GAAK34B,EAAWrB,KAAK0b,EAAErD,KAAK,CAAC1W,EAAKN,GACrD,EACA,OAAU,SAAiBM,GACzB,IAAIwkB,EAAQyT,EAAe55B,KAAK0b,GAAG,SAAU6H,GAC3C,OAAOA,EAAG,KAAO5hB,CACnB,IAEA,OADKwkB,GAAOnmB,KAAK0b,EAAEue,OAAO9T,EAAO,MACvBA,CACZ,GAEFrmB,EAAOC,QAAU,CACfg4B,eAAgB,SAAwB3F,EAASrN,EAAMuT,EAAQ4B,GAC7D,IAAIzH,EAAIL,GAAQ,SAAUxN,EAAMiO,GAC9B7D,EAAWpK,EAAM6N,EAAG1N,EAAM,MAC1BH,EAAK8D,GAAK3D,EACVH,EAAK+D,GAAKpE,IACVK,EAAKiV,QAAKzxB,OACMA,GAAZyqB,GAAuB5D,EAAM4D,EAAUyF,EAAQ1T,EAAKsV,GAAQtV,EAClE,IAeA,OAdA4U,EAAY/G,EAAEzwB,UAAW,CACvB,OAAU,SAAiBL,GACzB,IAAK2hB,EAAS3hB,GAAM,OAAO,EAC3B,IAAIqX,EAAOwe,EAAQ71B,GACnB,OAAa,IAATqX,EAAsB0e,EAAoBJ,EAASt3B,KAAM+kB,IAAO,UAAUpjB,GACvEqX,GAAQ0gB,EAAK1gB,EAAMhZ,KAAK2oB,YAAc3P,EAAKhZ,KAAK2oB,GACzD,EACA7E,IAAK,SAAaniB,GAChB,IAAK2hB,EAAS3hB,GAAM,OAAO,EAC3B,IAAIqX,EAAOwe,EAAQ71B,GACnB,OAAa,IAATqX,EAAsB0e,EAAoBJ,EAASt3B,KAAM+kB,IAAOjB,IAAIniB,GACjEqX,GAAQ0gB,EAAK1gB,EAAMhZ,KAAK2oB,GACjC,IAEK8J,CACT,EACA3G,IAAK,SAAalH,EAAMjjB,EAAKN,GAC3B,IAAI2X,EAAOwe,EAAQxU,EAASrhB,IAAM,GAElC,OADa,IAATqX,EAAe0e,EAAoB9S,GAAM3L,IAAItX,EAAKN,GAAY2X,EAAK4L,EAAK+D,IAAMtnB,EAC3EujB,CACT,EACA+S,QAASD,EAGJ,EAED,SAAU53B,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IACnCL,EAAOC,QAAU,SAAUwjB,EAAI6U,GAC7B,IAAK9U,EAASC,IAAOA,EAAGmF,KAAO0P,EAAM,MAAM/U,UAAU,0BAA4B+U,EAAO,cACxF,OAAO7U,CACT,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAIihB,EAASjhB,EAAoB,GAC7B0gB,EAAU1gB,EAAoB,GAC9BohB,EAAWphB,EAAoB,IAC/Bq5B,EAAcr5B,EAAoB,IAClCg3B,EAAOh3B,EAAoB,KAC3B8uB,EAAQ9uB,EAAoB,IAC5B6uB,EAAa7uB,EAAoB,IACjCmjB,EAAWnjB,EAAoB,IAC/Bk3B,EAAQl3B,EAAoB,IAC5Bg6B,EAAch6B,EAAoB,IAClC8oB,EAAiB9oB,EAAoB,IACrCi6B,EAAoBj6B,EAAoB,KAC5CL,EAAOC,QAAU,SAAUglB,EAAMqN,EAASrI,EAASsQ,EAAQ/B,EAAQgC,GACjE,IAAI7Q,EAAOrI,EAAO2D,GACd0N,EAAIhJ,EACJyQ,EAAQ5B,EAAS,MAAQ,MACzBnO,EAAQsI,GAAKA,EAAEzwB,UACfmhB,EAAI,CAAC,EACLoX,EAAY,SAAmB9U,GACjC,IAAI/B,EAAKyG,EAAM1E,GACflE,EAAS4I,EAAO1E,EAAY,UAAPA,GAEV,OAAPA,EAFmC,SAAU/J,GAC/C,QAAO4e,IAAYhX,EAAS5H,KAAagI,EAAGnjB,KAAKP,KAAY,IAAN0b,EAAU,EAAIA,EACvE,EAEW,OAAP+J,EAAe,SAAa/J,GAC9B,OAAO4e,IAAYhX,EAAS5H,QAAKtT,EAAYsb,EAAGnjB,KAAKP,KAAY,IAAN0b,EAAU,EAAIA,EAC3E,EAAW,OAAP+J,EAAe,SAAa/J,GAE9B,OADAgI,EAAGnjB,KAAKP,KAAY,IAAN0b,EAAU,EAAIA,GACrB1b,IACT,EAAI,SAAa0b,EAAGnB,GAElB,OADAmJ,EAAGnjB,KAAKP,KAAY,IAAN0b,EAAU,EAAIA,EAAGnB,GACxBva,IACT,EACF,EACA,GAAgB,mBAALyyB,IAAqB6H,GAAWnQ,EAAMlD,UAAYoQ,GAAM,YACjE,IAAI5E,GAAI/H,UAAUf,MACpB,KAIO,CACL,IAAI6Q,EAAW,IAAI/H,EACfgI,EAAiBD,EAASN,GAAOI,EAAU,CAAC,GAAK,EAAG,IAAME,EAC1DE,EAAuBrD,GAAM,WAC/BmD,EAAS1W,IAAI,EACf,IACI6W,EAAmBR,GAAY,SAAUxH,GAC3C,IAAIF,EAAEE,EACR,IACIiI,GAAcN,GAAWjD,GAAM,WACjC,IAAIwD,EAAY,IAAIpI,EAChBtM,EAAQ,EACZ,MAAOA,IACL0U,EAAUX,GAAO/T,EAAOA,GACzB,OAAQ0U,EAAU/W,KAAK,EAC1B,IACK6W,IACHlI,EAAIL,GAAQ,SAAU9P,EAAQuQ,GAC5B7D,EAAW1M,EAAQmQ,EAAG1N,GACtB,IAAIH,EAAOwV,EAAkB,IAAI3Q,EAAQnH,EAAQmQ,GAEjD,YADgBrqB,GAAZyqB,GAAuB5D,EAAM4D,EAAUyF,EAAQ1T,EAAKsV,GAAQtV,GACzDA,CACT,IACA6N,EAAEzwB,UAAYmoB,EACdA,EAAM3hB,YAAciqB,IAElBiI,GAAwBE,KAC1BL,EAAU,UACVA,EAAU,OACVjC,GAAUiC,EAAU,SAElBK,GAAcH,IAAgBF,EAAUL,GACxCI,GAAWnQ,EAAMqL,cAAcrL,EAAMqL,KAC3C,MApCE/C,EAAI4H,EAAOtC,eAAe3F,EAASrN,EAAMuT,EAAQ4B,GACjDV,EAAY/G,EAAEzwB,UAAW+nB,GACzBoN,EAAKa,MAAO,EAuCd,OAJA/O,EAAewJ,EAAG1N,GAClB5B,EAAE4B,GAAQ0N,EACV5R,EAAQA,EAAQmB,EAAInB,EAAQ4B,EAAI5B,EAAQI,GAAKwR,GAAKhJ,GAAOtG,GACpDmX,GAASD,EAAOS,UAAUrI,EAAG1N,EAAMuT,GACjC7F,CACT,CAEO,EAED,SAAU3yB,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IAC/B46B,EAAiB56B,EAAoB,KAAK8Y,IAC9CnZ,EAAOC,QAAU,SAAU6kB,EAAMtC,EAAQmQ,GACvC,IACIzR,EADAkB,EAAII,EAAO9Z,YAKf,OAHI0Z,IAAMuQ,GAAiB,mBAALvQ,IAAoBlB,EAAIkB,EAAElgB,aAAeywB,EAAEzwB,WAAashB,EAAStC,IAAM+Z,GAC3FA,EAAenW,EAAM5D,GAEhB4D,CACT,CAEO,EAED,SAAU9kB,EAAQC,EAASI,GAEjC,aAGA,IAAImjB,EAAWnjB,EAAoB,IAC/B6iB,EAAW7iB,EAAoB,IAC/B66B,EAAQ,SAAe7X,EAAGgH,GAE5B,GADAnH,EAASG,IACJG,EAAS6G,IAAoB,OAAVA,EAAgB,MAAM9G,UAAU8G,EAAQ,4BAClE,EACArqB,EAAOC,QAAU,CACfkZ,IAAKnY,OAAOi6B,iBAAmB,aAAe,CAAC,EAAI,SAAU5S,EAAM8S,EAAOhiB,GACxE,IACEA,EAAM9Y,EAAoB,GAApBA,CAAwBuZ,SAASnZ,KAAMJ,EAAoB,KAAK4iB,EAAEjiB,OAAOkB,UAAW,aAAaiX,IAAK,GAC5GA,EAAIkP,EAAM,IACV8S,IAAU9S,aAAgB9H,MAG5B,CAFE,MAAOhK,GACP4kB,GAAQ,CACV,CACA,OAAO,SAAwB9X,EAAGgH,GAGhC,OAFA6Q,EAAM7X,EAAGgH,GACL8Q,EAAO9X,EAAE+X,UAAY/Q,EAAWlR,EAAIkK,EAAGgH,GACpChH,CACT,CACF,CAbmD,CAajD,CAAC,GAAG,QAAS/a,GACf4yB,MAAOA,EAGF,EAED,SAAUl7B,EAAQC,EAASI,GAEjC,aAGA,IAAIymB,EAAMzmB,EAAoB,IAC1B2iB,EAAa3iB,EAAoB,IACjC0lB,EAAY1lB,EAAoB,IAChC+iB,EAAc/iB,EAAoB,IAClC2jB,EAAM3jB,EAAoB,IAC1B8iB,EAAiB9iB,EAAoB,IACrCg7B,EAAOr6B,OAAOs6B,yBAClBr7B,EAAQgjB,EAAI5iB,EAAoB,IAAMg7B,EAAO,SAAkChY,EAAGnC,GAGhF,GAFAmC,EAAI0C,EAAU1C,GACdnC,EAAIkC,EAAYlC,GAAG,GACfiC,EAAgB,IAClB,OAAOkY,EAAKhY,EAAGnC,EACJ,CAAX,MAAO3K,GAAI,CACb,GAAIyN,EAAIX,EAAGnC,GAAI,OAAO8B,GAAY8D,EAAI7D,EAAExiB,KAAK4iB,EAAGnC,GAAImC,EAAEnC,GACxD,CAEO,EAED,SAAUlhB,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IAApBA,CAAyB,UAElB,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAClCL,EAAOC,QAAU,SAAUs7B,GACzBxa,EAAQA,EAAQqB,EAAGmZ,EAAY,CAC7BC,GAAI,WACF,IAAI5jB,EAASmF,UAAUnF,OACnBqP,EAAI,IAAI1G,MAAM3I,GAClB,MAAOA,IACLqP,EAAErP,GAAUmF,UAAUnF,GACvB,OAAO,IAAI1X,KAAK+mB,EACnB,GAEJ,CAEO,EAED,SAAUjnB,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,IAApBA,CAAyB,UAElB,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAC9BwkB,EAAYxkB,EAAoB,IAChCqhB,EAAMrhB,EAAoB,IAC1B8uB,EAAQ9uB,EAAoB,IAChCL,EAAOC,QAAU,SAAUs7B,GACzBxa,EAAQA,EAAQqB,EAAGmZ,EAAY,CAC7Bnc,KAAM,SAAcwC,GAClB,IACI6Z,EAASxU,EAAGllB,EAAG25B,EADfC,EAAQ5e,UAAU,GAKtB,OAHA8H,EAAU3kB,MACVu7B,OAAoBnzB,IAAVqzB,EACNF,GAAS5W,EAAU8W,QACTrzB,GAAVsZ,EAA4B,IAAI1hB,MACpC+mB,EAAI,GACAwU,GACF15B,EAAI,EACJ25B,EAAKha,EAAIia,EAAO5e,UAAU,GAAI,GAC9BoS,EAAMvN,GAAQ,GAAO,SAAUga,GAC7B3U,EAAE1O,KAAKmjB,EAAGE,EAAU75B,KACtB,KAEAotB,EAAMvN,GAAQ,EAAOqF,EAAE1O,KAAM0O,GAExB,IAAI/mB,KAAK+mB,GAClB,GAEJ,CAEO,EAED,SAAUjnB,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,KACpBL,EAAOC,QAAUI,EAAoB,GAAGyX,OAAO6I,WAExC,EAED,SAAU3gB,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAC9BqoB,EAAMroB,EAAoB,GAApBA,EAAwB,GAClC0gB,EAAQA,EAAQG,EAAG,SAAU,CAC3BP,YAAa,SAAqB1H,GAChC,OAAOyP,EAAIxoB,KAAM+Y,EACnB,GAGK,EAED,SAAUjZ,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,KACpBL,EAAOC,QAAUI,EAAoB,GAAGyX,OAAO8I,aAExC,EAED,SAAU5gB,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAC9B4lB,EAAkB5lB,EAAoB,IACtC0X,EAAeD,OAAOC,aACtB8jB,EAAiB/jB,OAAO8I,cAC5BG,EAAQA,EAAQqB,EAAIrB,EAAQI,KAAO0a,GAA2C,GAAzBA,EAAejkB,QAAc,SAAU,CAC1FgJ,cAAe,SAAuBxH,GACpC,IAGIjC,EAHA2hB,EAAM,GACNvR,EAAOxK,UAAUnF,OACjBrX,EAAI,EAER,MAAOgnB,EAAOhnB,EAAG,CAEf,GADA4W,GAAQ4F,UAAUxc,KACd0lB,EAAgB9O,EAAM,WAAcA,EAAM,MAAM2kB,WAAW3kB,EAAO,8BACtE2hB,EAAIvgB,KAAKpB,EAAO,MAAUY,EAAaZ,GAAQY,EAAyC,QAA1BZ,GAAQ,QAAY,IAAcA,EAAO,KAAQ,OACjH,CACA,OAAO2hB,EAAItgB,KAAK,GAClB,GAGK,EAED,SAAUxY,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,KACpBA,EAAoB,IACpBL,EAAOC,QAAUI,EAAoB,GAAGgB,MAEjC,EAED,SAAUrB,EAAQC,EAASI,GAEjC,aAGA,IAAIkI,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAEvQ6Y,EAASjhB,EAAoB,GAC7B2jB,EAAM3jB,EAAoB,IAC1Bw2B,EAAcx2B,EAAoB,IAClC0gB,EAAU1gB,EAAoB,GAC9BohB,EAAWphB,EAAoB,IAC/B64B,EAAO74B,EAAoB,KAAKslB,IAChCoW,EAAS17B,EAAoB,IAC7B2nB,EAAS3nB,EAAoB,IAC7B8oB,EAAiB9oB,EAAoB,IACrCglB,EAAMhlB,EAAoB,IAC1BgsB,EAAMhsB,EAAoB,IAC1B27B,EAAS37B,EAAoB,KAC7B47B,EAAY57B,EAAoB,KAChC67B,EAAW77B,EAAoB,KAC/B24B,EAAU34B,EAAoB,IAC9B6iB,EAAW7iB,EAAoB,IAC/BmjB,EAAWnjB,EAAoB,IAC/B0lB,EAAY1lB,EAAoB,IAChC+iB,EAAc/iB,EAAoB,IAClC2iB,EAAa3iB,EAAoB,IACjC87B,EAAU97B,EAAoB,IAC9B+7B,EAAU/7B,EAAoB,KAC9Bg8B,EAAQh8B,EAAoB,KAC5Bi8B,EAAMj8B,EAAoB,IAC1BsnB,EAAQtnB,EAAoB,IAC5Bg7B,EAAOgB,EAAMpZ,EACbF,EAAKuZ,EAAIrZ,EACTsZ,EAAOH,EAAQnZ,EACfuZ,EAAUlb,EAAOjgB,OACjBo7B,EAAQnb,EAAOob,KACfC,EAAaF,GAASA,EAAMG,UAC5Bjb,EAAY,YACZ5V,EAASsgB,EAAI,WACbwQ,EAAexQ,EAAI,eACnB5E,EAAS,CAAC,EAAElB,qBACZuW,EAAiB9U,EAAO,mBACxB+U,EAAa/U,EAAO,WACpBgV,EAAYhV,EAAO,cACnBmE,EAAcnrB,OAAO2gB,GACrBuO,EAA+B,mBAAXsM,EACpBS,EAAU3b,EAAO2b,QACjBC,GAAUD,IAAYA,EAAQtb,KAAesb,EAAQtb,GAAWwb,UAChEC,EAAgBvG,GAAekF,GAAO,WACxC,OAIS,GAJFI,EAAQpZ,EAAG,CAAC,EAAG,IAAK,CACzB5hB,IAAK,WACH,OAAO4hB,EAAG7iB,KAAM,IAAK,CAAEqB,MAAO,IAAKqa,CACrC,KACEA,CACN,IAAK,SAAU6H,EAAI5hB,EAAKiyB,GACtB,IAAIuJ,EAAYhC,EAAKlP,EAAatqB,GAC9Bw7B,UAAkBlR,EAAYtqB,GAClCkhB,EAAGU,EAAI5hB,EAAKiyB,GACRuJ,GAAa5Z,IAAO0I,GAAapJ,EAAGoJ,EAAatqB,EAAKw7B,EAC5D,EAAIta,EACAua,EAAO,SAAcrR,GACvB,IAAIsR,EAAMR,EAAW9Q,GAAOkQ,EAAQK,EAAQ7a,IAE5C,OADA4b,EAAI3O,GAAK3C,EACFsR,CACT,EACIC,EAAWtN,GAA2C,UAA7B3nB,EAAQi0B,EAAQh0B,UAAwB,SAAUib,GAC7E,MAAkE,WAA5C,qBAAPA,EAAqB,YAAclb,EAAQkb,GAC5D,EAAI,SAAUA,GACZ,OAAOA,aAAc+Y,CACvB,EACIiB,EAAkB,SAAwBha,EAAI5hB,EAAKiyB,GAKrD,OAJIrQ,IAAO0I,GAAasR,EAAgBT,EAAWn7B,EAAKiyB,GACxD5Q,EAASO,GACT5hB,EAAMuhB,EAAYvhB,GAAK,GACvBqhB,EAAS4Q,GACL9P,EAAI+Y,EAAYl7B,IACbiyB,EAAE5yB,YAID8iB,EAAIP,EAAI1X,IAAW0X,EAAG1X,GAAQlK,KAAM4hB,EAAG1X,GAAQlK,IAAO,GAC1DiyB,EAAIqI,EAAQrI,EAAG,CAAE5yB,WAAY8hB,EAAW,GAAG,OAJtCgB,EAAIP,EAAI1X,IAASgX,EAAGU,EAAI1X,EAAQiX,EAAW,EAAG,CAAC,IACpDS,EAAG1X,GAAQlK,IAAO,GAKbu7B,EAAc3Z,EAAI5hB,EAAKiyB,IAEzB/Q,EAAGU,EAAI5hB,EAAKiyB,EACrB,EACI4J,EAAoB,SAA0Bja,EAAIvC,GACpDgC,EAASO,GACT,IAGI5hB,EAHAwlB,EAAO6U,EAAShb,EAAI6E,EAAU7E,IAC9B3gB,EAAI,EACJC,EAAI6mB,EAAKzP,OAEb,MAAOpX,EAAID,EACTk9B,EAAgBha,EAAI5hB,EAAMwlB,EAAK9mB,KAAM2gB,EAAErf,IACxC,OAAO4hB,CACV,EACI8U,EAAU,SAAgB9U,EAAIvC,GAChC,YAAa5Y,IAAN4Y,EAAkBib,EAAQ1Y,GAAMia,EAAkBvB,EAAQ1Y,GAAKvC,EACxE,EACIyc,EAAwB,SAA8B97B,GACxD,IAAI+7B,EAAInW,EAAOhnB,KAAKP,KAAM2B,EAAMuhB,EAAYvhB,GAAK,IACjD,QAAI3B,OAASisB,GAAenI,EAAI+Y,EAAYl7B,KAASmiB,EAAIgZ,EAAWn7B,QAC7D+7B,IAAM5Z,EAAI9jB,KAAM2B,KAASmiB,EAAI+Y,EAAYl7B,IAAQmiB,EAAI9jB,KAAM6L,IAAW7L,KAAK6L,GAAQlK,KAAO+7B,EACnG,EACIC,EAA4B,SAAkCpa,EAAI5hB,GAGpE,GAFA4hB,EAAKsC,EAAUtC,GACf5hB,EAAMuhB,EAAYvhB,GAAK,GACnB4hB,IAAO0I,IAAenI,EAAI+Y,EAAYl7B,IAASmiB,EAAIgZ,EAAWn7B,GAAlE,CACA,IAAIiyB,EAAIuH,EAAK5X,EAAI5hB,GAEjB,OADIiyB,IAAK9P,EAAI+Y,EAAYl7B,IAAUmiB,EAAIP,EAAI1X,IAAW0X,EAAG1X,GAAQlK,KAAOiyB,EAAE5yB,YAAa,GAChF4yB,CAHuE,CAIhF,EACIgK,GAAuB,SAA6Bra,GACtD,IAGI5hB,EAHAkmB,EAAQwU,EAAKxW,EAAUtC,IACvB9G,EAAS,GACTpc,EAAI,EAER,MAAOwnB,EAAMnQ,OAASrX,EACfyjB,EAAI+Y,EAAYl7B,EAAMkmB,EAAMxnB,OAASsB,GAAOkK,GAAUlK,GAAOq3B,GAAMvc,EAAOpE,KAAK1W,GAEtF,OAAO8a,CACT,EACIohB,GAAyB,SAA+Bta,GAC1D,IAII5hB,EAJAm8B,EAAQva,IAAO0I,EACfpE,EAAQwU,EAAKyB,EAAQhB,EAAYjX,EAAUtC,IAC3C9G,EAAS,GACTpc,EAAI,EAER,MAAOwnB,EAAMnQ,OAASrX,GAChByjB,EAAI+Y,EAAYl7B,EAAMkmB,EAAMxnB,OAAUy9B,IAAQha,EAAImI,EAAatqB,IAAc8a,EAAOpE,KAAKwkB,EAAWl7B,IAE1G,OAAO8a,CACT,EACKuT,IACHsM,EAAU,WACR,GAAIt8B,gBAAgBs8B,EAAS,MAAMjZ,UAAU,gCAC7C,IAAI0I,EAAM5G,EAAItI,UAAUnF,OAAS,EAAImF,UAAU,QAAKzU,GAChD21B,EAAO,SAASA,EAAK18B,GACnBrB,OAASisB,GAAa8R,EAAKx9B,KAAKu8B,EAAWz7B,GAC3CyiB,EAAI9jB,KAAM6L,IAAWiY,EAAI9jB,KAAK6L,GAASkgB,KAAM/rB,KAAK6L,GAAQkgB,IAAO,GACrEmR,EAAcl9B,KAAM+rB,EAAKjJ,EAAW,EAAGzhB,GACzC,EAKA,OAJIs1B,GAAeqG,GAAQE,EAAcjR,EAAaF,EAAK,CACzDlV,cAAc,EACdoC,IAAK8kB,IAEAX,EAAKrR,EACd,EACAxK,EAAS+a,EAAQ7a,GAAY,YAAY,WACvC,OAAOzhB,KAAK0uB,EACd,IACAyN,EAAMpZ,EAAI4a,EACVvB,EAAIrZ,EAAIwa,EACRp9B,EAAoB,KAAK4iB,EAAImZ,EAAQnZ,EAAI6a,GACzCz9B,EAAoB,IAAI4iB,EAAI0a,EAC5Bt9B,EAAoB,IAAI4iB,EAAI8a,GACxBlH,IAAgBx2B,EAAoB,KACtCohB,EAAS0K,EAAa,uBAAwBwR,GAAuB,GAEvE3B,EAAO/Y,EAAI,SAAUpiB,GACnB,OAAOy8B,EAAKjR,EAAIxrB,GAClB,GAEFkgB,EAAQA,EAAQmB,EAAInB,EAAQ4B,EAAI5B,EAAQI,GAAK+O,EAAY,CAAE7uB,OAAQm7B,IACnE,IAAK,IAAI0B,GAAa,iHAAiH7Z,MAAM,KAAMqD,GAAI,EAAGwW,GAAWtmB,OAAS8P,IAC5K2E,EAAI6R,GAAWxW,OAChB,IAAK,IAAIyW,GAAmBxW,EAAM0E,EAAIjH,OAAQgC,GAAI,EAAG+W,GAAiBvmB,OAASwP,IAC9E6U,EAAUkC,GAAiB/W,OAC5BrG,EAAQA,EAAQqB,EAAIrB,EAAQI,GAAK+O,EAAY,SAAU,CACtD,IAAO,SAAcruB,GACnB,OAAOmiB,EAAI8Y,EAAgBj7B,GAAO,IAAMi7B,EAAej7B,GAAOi7B,EAAej7B,GAAO26B,EAAQ36B,EAC9F,EACAu8B,OAAQ,SAAgBb,GACtB,IAAKC,EAASD,GAAM,MAAMha,UAAUga,EAAM,qBAC1C,IAAK,IAAI17B,KAAOi7B,EACd,GAAIA,EAAej7B,KAAS07B,EAAK,OAAO17B,CAE5C,EACAw8B,UAAW,WACTnB,GAAS,CACX,EACAoB,UAAW,WACTpB,GAAS,CACX,IAEFnc,EAAQA,EAAQqB,EAAIrB,EAAQI,GAAK+O,EAAY,SAAU,CACrDtuB,OAAQ22B,EACRt3B,eAAgBw8B,EAChB3R,iBAAkB4R,EAClBpC,yBAA0BuC,EAC1BU,oBAAqBT,GACrB7V,sBAAuB8V,KAEzBtB,GAAS1b,EAAQA,EAAQqB,EAAIrB,EAAQI,IAAM+O,GAAc6L,GAAO,WAC9D,IAAI3Z,EAAIoa,IACR,MAA0B,UAAnBG,EAAW,CAACva,KAA2C,MAAxBua,EAAW,CAAE/gB,EAAGwG,KAAyC,MAAzBua,EAAW37B,OAAOohB,GAC1F,KAAK,OAAQ,CACXwa,UAAW,SAAmBnZ,GAC5B,IAEI+a,EAAUC,EAFVzJ,EAAO,CAACvR,GACRljB,EAAI,EAER,MAAOwc,UAAUnF,OAASrX,EACxBy0B,EAAKzc,KAAKwE,UAAUxc,MAEtB,GADCk+B,EAAYD,EAAWxJ,EAAK,IACxBxR,EAASgb,SAAoBl2B,IAAPmb,KAAoB+Z,EAAS/Z,GAMxD,OALKuV,EAAQwF,KAAWA,EAAW,SAAkB38B,EAAKN,GAExD,GADwB,mBAAbk9B,IAAyBl9B,EAAQk9B,EAAUh+B,KAAKP,KAAM2B,EAAKN,KACjEi8B,EAASj8B,GAAQ,OAAOA,CAC/B,GACAyzB,EAAK,GAAKwJ,EACH7B,EAAW3kB,MAAMykB,EAAOzH,EACjC,IAEFwH,EAAQ7a,GAAWkb,IAAiBx8B,EAAoB,GAApBA,CAAwBm8B,EAAQ7a,GAAYkb,EAAcL,EAAQ7a,GAAWmC,SACjHqF,EAAeqT,EAAS,UACxBrT,EAAehR,KAAM,QAAQ,GAC7BgR,EAAe7H,EAAOob,KAAM,QAAQ,EAE7B,EAED,SAAU18B,EAAQC,EAASI,GAEjC,aAGAJ,EAAQgjB,EAAI5iB,EAAoB,GAEzB,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGA,IAAIihB,EAASjhB,EAAoB,GAC7BkhB,EAAOlhB,EAAoB,GAC3B2oB,EAAU3oB,EAAoB,IAC9B27B,EAAS37B,EAAoB,KAC7BY,EAAiBZ,EAAoB,IAAI4iB,EAC7CjjB,EAAOC,QAAU,SAAUY,GACzB,IAAI27B,EAAUjb,EAAKlgB,SAAWkgB,EAAKlgB,OAAS2nB,EAAU,CAAC,EAAI1H,EAAOjgB,QAAU,CAAC,GACvD,KAAlBR,EAAKuc,OAAO,IAAevc,KAAQ27B,GAAUv7B,EAAeu7B,EAAS37B,EAAM,CAAEU,MAAOy6B,EAAO/Y,EAAEpiB,IACnG,CAEO,EAED,SAAUb,EAAQC,EAASI,GAEjC,aAGA,IAAIumB,EAAUvmB,EAAoB,IAC9BwmB,EAAOxmB,EAAoB,IAC3BymB,EAAMzmB,EAAoB,IAC9BL,EAAOC,QAAU,SAAUwjB,GACzB,IAAI9G,EAASiK,EAAQnD,GACjB+D,EAAaX,EAAK5D,EACtB,GAAIuE,EAAY,CACd,IAGI3lB,EAHA68B,EAAUlX,EAAW/D,GACrBgE,EAASX,EAAI7D,EACb1iB,EAAI,EAER,MAAOm+B,EAAQ9mB,OAASrX,EAClBknB,EAAOhnB,KAAKgjB,EAAI5hB,EAAM68B,EAAQn+B,OAAOoc,EAAOpE,KAAK1W,EAEzD,CACA,OAAO8a,CACT,CAEO,EAED,SAAU3c,EAAQC,EAASI,GAEjC,aAGA,IAAIkI,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAEvQsd,EAAY1lB,EAAoB,IAChCk8B,EAAOl8B,EAAoB,KAAK4iB,EAChC5D,EAAW,CAAC,EAAEA,SACdsf,EAAiF,WAAhD,qBAAX5f,OAAyB,YAAcxW,EAAQwW,UAAwBA,QAAU/d,OAAOu9B,oBAAsBv9B,OAAOu9B,oBAAoBxf,QAAU,GACzK6f,EAAiB,SAAwBnb,GAC3C,IACE,OAAO8Y,EAAK9Y,EAGd,CAFE,MAAOlN,GACP,OAAOooB,EAAYxjB,OACrB,CACF,EACAnb,EAAOC,QAAQgjB,EAAI,SAA6BQ,GAC9C,OAAOkb,GAAoC,mBAArBtf,EAAS5e,KAAKgjB,GAA2Bmb,EAAenb,GAAM8Y,EAAKxW,EAAUtC,GACrG,CAEO,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAIsnB,EAAQtnB,EAAoB,IAC5Bw+B,EAAax+B,EAAoB,IAAIukB,OAAO,SAAU,aAC1D3kB,EAAQgjB,EAAIjiB,OAAOu9B,qBAAuB,SAA6Blb,GACrE,OAAOsE,EAAMtE,EAAGwb,EAClB,CAEO,EAED,SAAU7+B,EAAQC,EAASI,GAEjC,aAGAA,EAAoB,KACpBL,EAAOC,QAAUI,EAAoB,GAAGW,OAAOqZ,MAExC,EAED,SAAUra,EAAQC,EAASI,GAEjC,aAGA,IAAI0gB,EAAU1gB,EAAoB,GAC9By+B,EAAUz+B,EAAoB,IAApBA,EAAyB,GACvC0gB,EAAQA,EAAQqB,EAAG,SAAU,CAC3B/H,OAAQ,SAAgBoJ,GACtB,OAAOqb,EAAQrb,EACjB,GAGK,EAED,SAAUzjB,EAAQC,EAASI,GAEjC,aAGA,IAAIumB,EAAUvmB,EAAoB,IAC9B0lB,EAAY1lB,EAAoB,IAChConB,EAASpnB,EAAoB,IAAI4iB,EACrCjjB,EAAOC,QAAU,SAAU8+B,GACzB,OAAO,SAAUtb,GACf,IAKI5hB,EALAwhB,EAAI0C,EAAUtC,GACd4D,EAAOT,EAAQvD,GACfzL,EAASyP,EAAKzP,OACdrX,EAAI,EACJoc,EAAS,GAEb,MAAO/E,EAASrX,EACVknB,EAAOhnB,KAAK4iB,EAAGxhB,EAAMwlB,EAAK9mB,OAC5Boc,EAAOpE,KAAKwmB,EAAY,CAACl9B,EAAKwhB,EAAExhB,IAAQwhB,EAAExhB,IAE7C,OAAO8a,CACV,CACF,CAEO,EAED,SAAU3c,EAAQC,EAASI,GAEjC,aAGA,IAAI2+B,GAA4B,EAChC,GAA8B,qBAAnB77B,eACT,IACE,IAAIA,eAAe,CACjBmW,MAAO,SAAe2lB,GACpBA,EAAWrT,OACb,IAEFoT,GAA4B,CACjB,CAAX,MAAOzoB,GAAI,CAGbtW,EAAQkD,eADN67B,EACuB77B,eAEA9C,EAAoB,KAAK8C,cAG7C,EAED,SAAUnD,EAAQC,EAASI,GAEjC,aAGA,IAAI6+B,EAA6B,oBAAX79B,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,GAE5Q,SAAW8N,EAAGqF,GACZ,IAAK,IAAIrb,KAAKqb,EACZrF,EAAEhW,GAAKqb,EAAErb,EAEZ,EAJD,CAIGN,EAAS,SAAUE,GACpB,IAAIC,EAAmB,CAAC,EACxB,SAASC,EAAoBC,GAC3B,GAAIF,EAAiBE,GAAW,OAAOF,EAAiBE,GAAUL,QAClE,IAAID,EAASI,EAAiBE,GAAY,CACxCC,EAAGD,EACHE,GAAG,EACHP,QAAS,CAAC,GAIZ,OAFAE,EAAQG,GAAUG,KAAKT,EAAOC,QAASD,EAAQA,EAAOC,QAASI,GAC/DL,EAAOQ,GAAI,EACJR,EAAOC,OAChB,CA4BA,OA3BAI,EAAoBK,EAAIP,EACxBE,EAAoBM,EAAIP,EACxBC,EAAoBE,EAAI,SAAUgB,GAChC,OAAOA,CACT,EACAlB,EAAoBO,EAAI,SAAUX,EAASY,EAAMC,GAC1CT,EAAoBU,EAAEd,EAASY,IAClCG,OAAOC,eAAehB,EAASY,EAAM,CACnCkW,cAAc,EACd7V,YAAY,EACZC,IAAKL,GAGX,EACAT,EAAoB0B,EAAI,SAAU/B,GAChC,IAAIc,EAASd,GAAUA,EAAO0B,WAAa,WACzC,OAAO1B,EAAO,UAChB,EAAI,WACF,OAAOA,CACT,EAEA,OADAK,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,CACT,EACAT,EAAoBU,EAAI,SAAUiB,EAAQC,GACxC,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,EACtD,EACA5B,EAAoB+B,EAAI,GACjB/B,EAAoBA,EAAoBgC,EAAI,EACrD,CAzCY,CAyCV,CAAC,SAAUrC,EAAQC,EAASI,GAG5B,IAAIkI,EAA4B,oBAAXlH,QAAuD,WAA9B69B,EAAS79B,OAAOmH,UAAyB,SAAUC,GAC/F,MAAsB,qBAARA,EAAsB,YAAcy2B,EAASz2B,EAC7D,EAAI,SAAUA,GACZ,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,SAA0B,qBAARuG,EAAsB,YAAcy2B,EAASz2B,EACxK,EACI02B,EAAW9+B,EAAoB,GAC/B6G,EAASi4B,EAASj4B,OACtB,SAASk4B,EAAcC,GACrB,MAA2B,kBAAbA,GAAiG,YAAnD,qBAAbA,EAA2B,YAAc92B,EAAQ82B,GAClG,CAgDA,SAASC,EAAKne,EAAGoe,EAAGvK,GAClB,GAAiB,oBAAN7T,EACT,MAAM,IAAIoC,UAAU,8BAEtB,OAAO3J,SAAS1X,UAAU8V,MAAMvX,KAAK0gB,EAAGoe,EAAGvK,EAC7C,CApDA/0B,EAAQu/B,aAAe,SAAUpmB,GAC/B,MAAiE,YAA5C,qBAANA,EAAoB,YAAc7Q,EAAQ6Q,KAA0B,OAANA,GAA2B,oBAANA,CACpG,EACAnZ,EAAQw/B,mBAAqB,SAAU1+B,EAAGqB,EAAGqZ,GAC3CvU,EAAOjH,EAAQu/B,aAAaz+B,IAC5BC,OAAOC,eAAeF,EAAGqB,EAAG,CAC1Bb,MAAOka,EACPzE,UAAU,EACV9V,YAAY,EACZ6V,cAAc,GAElB,EACA9W,EAAQy/B,oBAAsB,SAAUC,GACtC,OAAOA,EAASxkB,OAClB,EACAlb,EAAQ2/B,gBAAkB,SAAUC,EAAMC,EAAYtU,EAAKuU,EAAWh+B,GACpE,IAAI0W,WAAWonB,GAAM1mB,IAAI,IAAIV,WAAW+S,EAAKuU,EAAWh+B,GAAI+9B,EAC9D,EACA7/B,EAAQ+/B,uBAAyB,SAAUz+B,EAAOwnB,GAChD7hB,EAAuB,mBAAT6hB,GACd,IAAItgB,EAAM,CAAC,EAaX,OAZAzH,OAAOC,eAAewH,EAAK,QAAS,CAClClH,MAAOA,EACPL,YAAY,EACZ8V,UAAU,EACVD,cAAc,IAEhB/V,OAAOC,eAAewH,EAAK,OAAQ,CACjClH,MAAOwnB,EACP7nB,YAAY,EACZ8V,UAAU,EACVD,cAAc,IAETtO,CACT,EACAxI,EAAQggC,0BAA4B,SAAUxkB,GAC5C,OAAI9F,OAAO8K,MAAMhF,KAGbA,IAAMykB,OAGNzkB,EAAI,GAIV,EAOAxb,EAAQkgC,aAAe,SAAU9c,EAAGnC,EAAG8T,GACrC9tB,OAAaoB,IAAN+a,GACPnc,EAAOk4B,EAAcle,IACrBha,EAAOqZ,MAAMyY,QAAQhE,IACrB,IAAImD,EAAS9U,EAAEnC,GACf,QAAe5Y,IAAX6vB,EAGJ,OAAOmH,EAAKnH,EAAQ9U,EAAG2R,EACzB,EACA/0B,EAAQmgC,oBAAsB,SAAU/c,EAAGnC,EAAG8T,GAC5C9tB,OAAaoB,IAAN+a,GACPnc,EAAOk4B,EAAcle,IACrBha,EAAOqZ,MAAMyY,QAAQhE,IACrB,IACE,OAAOpX,QAAQC,QAAQ5d,EAAQkgC,aAAa9c,EAAGnC,EAAG8T,GAGpD,CAFE,MAAOqL,GACP,OAAOziB,QAAQE,OAAOuiB,EACxB,CACF,EACApgC,EAAQqgC,+BAAiC,SAAUjd,EAAGnC,EAAG8T,EAAM7T,EAAGof,GAChEr5B,OAAaoB,IAAN+a,GACPnc,EAAOk4B,EAAcle,IACrBha,EAAOqZ,MAAMyY,QAAQhE,IACrB9tB,EAAOqZ,MAAMyY,QAAQuH,IACrB,IAAIpI,OAAS,EACb,IACEA,EAAS9U,EAAEnC,EAGb,CAFE,MAAOsf,GACP,OAAO5iB,QAAQE,OAAO0iB,EACxB,CACA,QAAel4B,IAAX6vB,EACF,OAAOhX,EAAEnJ,MAAM,KAAMuoB,GAEvB,IACE,OAAO3iB,QAAQC,QAAQyhB,EAAKnH,EAAQ9U,EAAG2R,GAGzC,CAFE,MAAOze,GACP,OAAOqH,QAAQE,OAAOvH,EACxB,CACF,EACAtW,EAAQwgC,oBAAsB,SAAUpd,GACtC,OAAOA,EAAElI,OACX,EACAlb,EAAQygC,kCAAoC,SAAUC,GAEpD,GADAA,EAAgBhrB,OAAOgrB,GACnBhrB,OAAO8K,MAAMkgB,IAAkBA,EAAgB,EACjD,MAAM,IAAI7E,WAAW,iFAEvB,OAAO6E,CACT,EACA1gC,EAAQ2gC,oCAAsC,SAAUC,EAAMF,GAC5D,QAAar4B,IAATu4B,GAAsC,oBAATA,EAC/B,MAAM,IAAItd,UAAU,0DAGtB,OADAod,EAAgB1gC,EAAQygC,kCAAkCC,GACnD,CACLE,KAAMA,EACNF,cAAeA,EAEnB,CACF,EAAG,SAAU3gC,EAAQC,EAASI,GAG5B,SAASygC,EAA+BvqB,GAClCA,GAAKA,EAAE7N,cAAgBq4B,GACzBtL,YAAW,WACT,MAAMlf,CACR,GAAG,EAEP,CACA,SAASwqB,EAAe3pB,GACtBlX,KAAKW,KAAO,iBACZX,KAAKkX,QAAUA,GAAW,GAC1BlX,KAAK8gC,OAAQ,IAAI/qB,OAAQ+qB,KAC3B,CAGA,SAAS95B,EAAO3F,EAAO6V,GACrB,IAAK7V,EACH,MAAM,IAAIw/B,EAAe3pB,EAE7B,CANA2pB,EAAe7+B,UAAYlB,OAAOY,OAAOqU,MAAM/T,WAC/C6+B,EAAe7+B,UAAUwG,YAAcq4B,EAMvC/gC,EAAOC,QAAU,CACf6gC,+BAAgCA,EAChCC,eAAgBA,EAChB75B,OAAQA,EAEZ,EAAG,SAAUlH,EAAQC,EAASI,GAG5B,IAAI4gC,EAAe,WACjB,SAASnV,EAAiBtJ,EAAQ0e,GAChC,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CACrC,IAAIsqB,EAAaqW,EAAM3gC,GACvBsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EACjD2pB,EAAW9T,cAAe,EACtB,UAAW8T,IAAYA,EAAW7T,UAAW,GACjDhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAChD,CACF,CACA,OAAO,SAAUjB,EAAauX,EAAYC,GAGxC,OAFID,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GACpDC,GAAatV,EAAiBlC,EAAawX,GACxCxX,CACT,CACF,CAfmB,GAgBnB,SAASyX,EAAgB3G,EAAU9Q,GACjC,KAAM8Q,aAAoB9Q,GACxB,MAAM,IAAIrG,UAAU,oCAExB,CACA,IAAI4b,EAAW9+B,EAAoB,GAC/B8/B,EAAehB,EAASgB,aACxBC,EAAsBjB,EAASiB,oBAC/BQ,EAAsCzB,EAASyB,oCAC/CpB,EAAeL,EAASK,aACxB8B,EAAYjhC,EAAoB,GAChC6G,EAASo6B,EAAUp6B,OACnB45B,EAAiCQ,EAAUR,+BAC3CS,EAAYlhC,EAAoB,GAChCmhC,EAAeD,EAAUC,aACzBC,EAAuBF,EAAUE,qBACjCC,EAAiBH,EAAUG,eAC3BC,EAAaJ,EAAUI,WACvBC,EAAiB,WACnB,SAASA,IACP,IAAIC,EAAiB9kB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACtFlD,EAAOkD,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC5E8jB,EAAOhnB,EAAKgnB,KACZiB,EAAqBjoB,EAAK8mB,cAC1BA,OAAuCr4B,IAAvBw5B,EAAmC,EAAIA,EAC3DT,EAAgBnhC,KAAM0hC,GACtB1hC,KAAK6hC,OAAS,WACd7hC,KAAK8hC,kBAAe15B,EACpBpI,KAAK+hC,aAAU35B,EACfpI,KAAKgiC,+BAA4B55B,EACjCpI,KAAKiiC,eAAiB,GACtBjiC,KAAKkiC,2BAAwB95B,EAC7BpI,KAAKmiC,mBAAgB/5B,EACrBpI,KAAKoiC,2BAAwBh6B,EAC7BpI,KAAKqiC,0BAAuBj6B,EAC5BpI,KAAKsiC,eAAgB,EACrB,IAAIpkB,EAAOyjB,EAAezjB,KAC1B,QAAa9V,IAAT8V,EACF,MAAM,IAAI0d,WAAW,6BAEvB57B,KAAKgiC,0BAA4B,IAAIO,EAAgCviC,KAAM2hC,EAAgBhB,EAAMF,GACjGzgC,KAAKgiC,0BAA0BQ,cACjC,CA6BA,OA5BAzB,EAAaW,EAAgB,CAAC,CAC5B//B,IAAK,QACLN,MAAO,SAAeuwB,GACpB,OAA+B,IAA3B6Q,EAAiBziC,MACZ0d,QAAQE,OAAO8kB,GAA0B,WAEb,IAAjCC,EAAuB3iC,MAClB0d,QAAQE,OAAO,IAAIyF,UAAU,oDAE/Buf,EAAoB5iC,KAAM4xB,EACnC,GACC,CACDjwB,IAAK,YACLN,MAAO,WACL,IAA+B,IAA3BohC,EAAiBziC,MACnB,MAAM0iC,GAA0B,aAElC,OAAOG,EAAmC7iC,KAC5C,GACC,CACD2B,IAAK,SACLV,IAAK,WACH,IAA+B,IAA3BwhC,EAAiBziC,MACnB,MAAM0iC,GAA0B,UAElC,OAAOC,EAAuB3iC,KAChC,KAEK0hC,CACT,CAtDqB,GAmErB,SAASmB,EAAmCC,GAC1C,OAAO,IAAIC,EAA4BD,EACzC,CACA,SAASL,EAAiBvpB,GACxB,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,4BAI/C,CACA,SAASypB,EAAuBG,GAE9B,OADA97B,GAAoC,IAA7By7B,EAAiBK,GAAkB,6EACnB16B,IAAnB06B,EAAOf,OAIb,CACA,SAASa,EAAoBE,EAAQlR,GACnC,IAAIoR,EAAQF,EAAOjB,OACnB,GAAc,WAAVmB,EACF,OAAOtlB,QAAQC,aAAQvV,GAEzB,GAAc,YAAV46B,EACF,OAAOtlB,QAAQE,OAAOklB,EAAOhB,cAE/B,IAAIjQ,EAAQ,IAAIxO,UAAU,sBAC1B,QAAoCjb,IAAhC06B,EAAOT,qBACT,OAAO3kB,QAAQE,OAAOiU,GAExB7qB,EAAiB,aAAVg8B,GAAkC,aAAVA,EAAsB,sCACrD,IAAIC,GAAqB,EACX,aAAVD,IACFC,GAAqB,EACrBrR,OAASxpB,GAEX,IAAIqV,EAAU,IAAIC,SAAQ,SAAUC,EAASC,GAC3CklB,EAAOT,qBAAuB,CAC5Ba,SAAUvlB,EACVwlB,QAASvlB,EACTwlB,QAASxR,EACTyR,oBAAqBJ,EAEzB,IAIA,OAH2B,IAAvBA,GACFK,EAA4BR,EAAQjR,GAE/BpU,CACT,CACA,SAAS8lB,EAA8BT,GACrC97B,GAA0C,IAAnC27B,EAAuBG,IAC9B97B,EAAyB,aAAlB87B,EAAOjB,QACd,IAAIpkB,EAAU,IAAIC,SAAQ,SAAUC,EAASC,GAC3C,IAAI4lB,EAAe,CACjBN,SAAUvlB,EACVwlB,QAASvlB,GAEXklB,EAAOb,eAAe5pB,KAAKmrB,EAC7B,IACA,OAAO/lB,CACT,CACA,SAASgmB,EAAgCX,EAAQjR,GAC/C,IAAImR,EAAQF,EAAOjB,OACL,aAAVmB,GAIJh8B,EAAiB,aAAVg8B,GACPU,EAA6BZ,IAJ3BQ,EAA4BR,EAAQjR,EAKxC,CACA,SAASyR,EAA4BR,EAAQlR,GAC3C5qB,OAA+BoB,IAAxB06B,EAAOhB,aAA4B,qCAC1C96B,EAAyB,aAAlB87B,EAAOjB,OAAuB,0BACrC,IAAI9C,EAAa+D,EAAOd,0BACxBh7B,OAAsBoB,IAAf22B,EAA0B,oCACjC+D,EAAOjB,OAAS,WAChBiB,EAAOhB,aAAelQ,EACtB,IAAI+R,EAASb,EAAOf,aACL35B,IAAXu7B,GACFC,EAAsDD,EAAQ/R,IAEP,IAArDiS,EAAyCf,KAA6C,IAAxB/D,EAAW+E,UAC3EJ,EAA6BZ,EAEjC,CACA,SAASY,EAA6BZ,GACpC97B,EAAyB,aAAlB87B,EAAOjB,OAAuB,8BACrC76B,GAA4D,IAArD68B,EAAyCf,GAAmB,8DACnEA,EAAOjB,OAAS,UAChBiB,EAAOd,0BAA0B+B,eAEjC,IADA,IAAIC,EAAclB,EAAOhB,aAChBzhC,EAAI,EAAGA,EAAIyiC,EAAOb,eAAevqB,OAAQrX,IAAK,CACrD,IAAImjC,EAAeV,EAAOb,eAAe5hC,GACzCmjC,EAAaL,QAAQa,EACvB,CAEA,GADAlB,EAAOb,eAAiB,QACY75B,IAAhC06B,EAAOT,qBAAX,CAIA,IAAI4B,EAAenB,EAAOT,qBAE1B,GADAS,EAAOT,0BAAuBj6B,GACW,IAArC67B,EAAaZ,oBAGf,OAFAY,EAAad,QAAQa,QACrBE,EAAkDpB,GAGpD,IAAIrlB,EAAUqlB,EAAOd,0BAA0BmC,aAAaF,EAAab,SACzE3lB,EAAQ0S,MAAK,WACX8T,EAAaf,WACbgB,EAAkDpB,EACpD,IAAG,SAAUlR,GACXqS,EAAad,QAAQvR,GACrBsS,EAAkDpB,EACpD,GAfA,MAFEoB,EAAkDpB,EAkBtD,CACA,SAASsB,EAAkCtB,GACzC97B,OAAwCoB,IAAjC06B,EAAOZ,uBACdY,EAAOZ,sBAAsBgB,cAAS96B,GACtC06B,EAAOZ,2BAAwB95B,CACjC,CACA,SAASi8B,EAA2CvB,EAAQjR,GAC1D7qB,OAAwCoB,IAAjC06B,EAAOZ,uBACdY,EAAOZ,sBAAsBiB,QAAQtR,GACrCiR,EAAOZ,2BAAwB95B,EAC/BpB,EAAyB,aAAlB87B,EAAOjB,QAA2C,aAAlBiB,EAAOjB,QAC9C4B,EAAgCX,EAAQjR,EAC1C,CACA,SAASyS,EAAkCxB,GACzC97B,OAAwCoB,IAAjC06B,EAAOV,uBACdU,EAAOV,sBAAsBc,cAAS96B,GACtC06B,EAAOV,2BAAwBh6B,EAC/B,IAAI46B,EAAQF,EAAOjB,OACnB76B,EAAiB,aAAVg8B,GAAkC,aAAVA,GACjB,aAAVA,IACFF,EAAOhB,kBAAe15B,OACcA,IAAhC06B,EAAOT,uBACTS,EAAOT,qBAAqBa,WAC5BJ,EAAOT,0BAAuBj6B,IAGlC06B,EAAOjB,OAAS,SAChB,IAAI8B,EAASb,EAAOf,aACL35B,IAAXu7B,GACFY,GAAkCZ,GAEpC38B,OAAuCoB,IAAhC06B,EAAOT,qBAAoC,6CAClDr7B,OAA+BoB,IAAxB06B,EAAOhB,aAA4B,oCAC5C,CACA,SAAS0C,EAA2C1B,EAAQjR,GAC1D7qB,OAAwCoB,IAAjC06B,EAAOV,uBACdU,EAAOV,sBAAsBe,QAAQtR,GACrCiR,EAAOV,2BAAwBh6B,EAC/BpB,EAAyB,aAAlB87B,EAAOjB,QAA2C,aAAlBiB,EAAOjB,aACVz5B,IAAhC06B,EAAOT,uBACTS,EAAOT,qBAAqBc,QAAQtR,GACpCiR,EAAOT,0BAAuBj6B,GAEhCq7B,EAAgCX,EAAQjR,EAC1C,CACA,SAAS4S,EAAoC3B,GAC3C,YAA6B16B,IAAzB06B,EAAOX,oBAAgE/5B,IAAjC06B,EAAOV,qBAInD,CACA,SAASyB,EAAyCf,GAChD,YAAqC16B,IAAjC06B,EAAOZ,4BAAwE95B,IAAjC06B,EAAOV,qBAI3D,CACA,SAASsC,EAAuC5B,GAC9C97B,OAAwCoB,IAAjC06B,EAAOV,uBACdp7B,OAAgCoB,IAAzB06B,EAAOX,eACdW,EAAOV,sBAAwBU,EAAOX,cACtCW,EAAOX,mBAAgB/5B,CACzB,CACA,SAASu8B,EAA4C7B,GACnD97B,OAAwCoB,IAAjC06B,EAAOZ,sBAAqC,0CACnDl7B,EAAwC,IAAjC87B,EAAOb,eAAevqB,OAAc,mCAC3CorB,EAAOZ,sBAAwBY,EAAOb,eAAe2C,OACvD,CACA,SAASV,EAAkDpB,GACzD97B,EAAyB,YAAlB87B,EAAOjB,OAAsB,0CACPz5B,IAAzB06B,EAAOX,gBACTn7B,OAAwCoB,IAAjC06B,EAAOV,uBACdU,EAAOX,cAAcgB,QAAQL,EAAOhB,cACpCgB,EAAOX,mBAAgB/5B,GAEzB,IAAIu7B,EAASb,EAAOf,aACL35B,IAAXu7B,IACFkB,GAAiClB,EAAQb,EAAOhB,cAChD6B,EAAOmB,eAAeC,OAAM,WAAa,IAE7C,CACA,SAASC,EAAiClC,EAAQmC,GAChDj+B,EAAyB,aAAlB87B,EAAOjB,QACd76B,GAAuD,IAAhDy9B,EAAoC3B,IAC3C,IAAIa,EAASb,EAAOf,aACL35B,IAAXu7B,GAAwBsB,IAAiBnC,EAAOR,iBAC7B,IAAjB2C,EACFC,GAA+BvB,IAE/B38B,GAAwB,IAAjBi+B,GACPE,GAAiCxB,KAGrCb,EAAOR,cAAgB2C,CACzB,CA9NAnlC,EAAOC,QAAU,CACf8iC,mCAAoCA,EACpCJ,iBAAkBA,EAClBE,uBAAwBA,EACxBjB,eAAgBA,EAChBkB,oBAAqBA,EACrBwC,qCAAsCA,GACtCC,qDAAsDA,EACtDC,mCAAoCA,EACpCC,iCAAkCA,EAClCd,oCAAqCA,GAqNvC,IAAI1B,EAA8B,WAChC,SAASA,EAA4BD,GAEnC,GADA3B,EAAgBnhC,KAAM+iC,IACW,IAA7BN,EAAiBK,GACnB,MAAM,IAAIzf,UAAU,sFAEtB,IAAuC,IAAnCsf,EAAuBG,GACzB,MAAM,IAAIzf,UAAU,+EAEtBrjB,KAAKwlC,qBAAuB1C,EAC5BA,EAAOf,QAAU/hC,KACjB,IAAIgjC,EAAQF,EAAOjB,OACnB,GAAc,aAAVmB,GACkD,IAAhDyB,EAAoC3B,KAA8C,IAAzBA,EAAOR,cAClEmD,GAAoCzlC,MAEpC0lC,GAA8C1lC,MAEhD2lC,GAAqC3lC,WAChC,GAAc,aAAVgjC,EACT4C,GAA8C5lC,KAAM8iC,EAAOhB,cAC3D9hC,KAAK6lC,cAAcd,OAAM,WAAa,IACtCY,GAAqC3lC,WAChC,GAAc,WAAVgjC,EACT0C,GAA8C1lC,MAC9C8lC,GAA+C9lC,UAC1C,CACLgH,EAAiB,YAAVg8B,EAAqB,yBAC5B,IAAIgB,EAAclB,EAAOhB,aACzB8D,GAA8C5lC,KAAMgkC,GACpDhkC,KAAK6lC,cAAcd,OAAM,WAAa,IACtCgB,GAA+C/lC,KAAMgkC,GACrDhkC,KAAK8kC,eAAeC,OAAM,WAAa,GACzC,CACF,CA+EA,OA9EAhE,EAAagC,EAA6B,CAAC,CACzCphC,IAAK,QACLN,MAAO,SAAeuwB,GACpB,OAA4C,IAAxCoU,EAA8BhmC,MACzB0d,QAAQE,OAAOqoB,GAAiC,eAEvB79B,IAA9BpI,KAAKwlC,qBACA9nB,QAAQE,OAAOsoB,GAA2B,UAE5CC,EAAiCnmC,KAAM4xB,EAChD,GACC,CACDjwB,IAAK,QACLN,MAAO,WACL,IAA4C,IAAxC2kC,EAA8BhmC,MAChC,OAAO0d,QAAQE,OAAOqoB,GAAiC,UAEzD,IAAInD,EAAS9iC,KAAKwlC,qBAClB,YAAep9B,IAAX06B,EACKplB,QAAQE,OAAOsoB,GAA2B,WAEC,IAAhDzB,EAAoC3B,GAC/BplB,QAAQE,OAAO,IAAIyF,UAAU,2CAE/B+iB,EAAiCpmC,KAC1C,GACC,CACD2B,IAAK,cACLN,MAAO,WACL,IAA4C,IAAxC2kC,EAA8BhmC,MAChC,MAAMimC,GAAiC,eAEzC,IAAInD,EAAS9iC,KAAKwlC,0BACHp9B,IAAX06B,IAGJ97B,OAA0BoB,IAAnB06B,EAAOf,SACduD,EAAmCtlC,MACrC,GACC,CACD2B,IAAK,QACLN,MAAO,SAAe8W,GACpB,OAA4C,IAAxC6tB,EAA8BhmC,MACzB0d,QAAQE,OAAOqoB,GAAiC,eAEvB79B,IAA9BpI,KAAKwlC,qBACA9nB,QAAQE,OAAOsoB,GAA2B,aAE5CX,EAAiCvlC,KAAMmY,EAChD,GACC,CACDxW,IAAK,SACLV,IAAK,WACH,OAA4C,IAAxC+kC,EAA8BhmC,MACzB0d,QAAQE,OAAOqoB,GAAiC,WAElDjmC,KAAK8kC,cACd,GACC,CACDnjC,IAAK,cACLV,IAAK,WACH,IAA4C,IAAxC+kC,EAA8BhmC,MAChC,MAAMimC,GAAiC,eAEzC,QAAkC79B,IAA9BpI,KAAKwlC,qBACP,MAAMU,GAA2B,eAEnC,OAAOG,EAA0CrmC,KACnD,GACC,CACD2B,IAAK,QACLV,IAAK,WACH,OAA4C,IAAxC+kC,EAA8BhmC,MACzB0d,QAAQE,OAAOqoB,GAAiC,UAElDjmC,KAAK6lC,aACd,KAEK9C,CACT,CAlHkC,GAmHlC,SAASiD,EAA8B9sB,GACrC,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,uBAI/C,CACA,SAASitB,EAAiCxC,EAAQ/R,GAChD,IAAIkR,EAASa,EAAO6B,qBAEpB,OADAx+B,OAAkBoB,IAAX06B,GACAF,EAAoBE,EAAQlR,EACrC,CACA,SAASwU,EAAiCzC,GACxC,IAAIb,EAASa,EAAO6B,qBACpBx+B,OAAkBoB,IAAX06B,GACP,IAAIE,EAAQF,EAAOjB,OACnB,GAAc,WAAVmB,GAAgC,YAAVA,EACxB,OAAOtlB,QAAQE,OAAO,IAAIyF,UAAU,kBAAoB2f,EAAQ,8DAElEh8B,EAAiB,aAAVg8B,GAAkC,aAAVA,GAC/Bh8B,GAAuD,IAAhDy9B,EAAoC3B,IAC3C,IAAIrlB,EAAU,IAAIC,SAAQ,SAAUC,EAASC,GAC3C,IAAI0oB,EAAe,CACjBpD,SAAUvlB,EACVwlB,QAASvlB,GAEXklB,EAAOX,cAAgBmE,CACzB,IAKA,OAJ6B,IAAzBxD,EAAOR,eAAoC,aAAVU,GACnCmC,GAAiCxB,GAEnC4C,EAAqCzD,EAAOd,2BACrCvkB,CACT,CACA,SAAS4nB,EAAqD1B,GAC5D,IAAIb,EAASa,EAAO6B,qBACpBx+B,OAAkBoB,IAAX06B,GACP,IAAIE,EAAQF,EAAOjB,OACnB,OAAoD,IAAhD4C,EAAoC3B,IAA8B,WAAVE,EACnDtlB,QAAQC,UAEH,YAAVqlB,EACKtlB,QAAQE,OAAOklB,EAAOhB,eAE/B96B,EAAiB,aAAVg8B,GAAkC,aAAVA,GACxBoD,EAAiCzC,GAC1C,CACA,SAAS6C,EAAuD7C,EAAQ9R,GACnC,YAA/B8R,EAAO8C,oBACT5B,GAAiClB,EAAQ9R,GAEzC6U,GAA0C/C,EAAQ9R,GAEpD8R,EAAOmB,eAAeC,OAAM,WAAa,GAC3C,CACA,SAASnB,EAAsDD,EAAQ9R,GACnC,YAA9B8R,EAAOgD,mBACTC,GAAgCjD,EAAQ9R,GAExCgV,GAAyClD,EAAQ9R,GAEnD8R,EAAOkC,cAAcd,OAAM,WAAa,GAC1C,CACA,SAASsB,EAA0C1C,GACjD,IAAIb,EAASa,EAAO6B,qBAChBxC,EAAQF,EAAOjB,OACnB,MAAc,YAAVmB,GAAiC,aAAVA,EAClB,KAEK,WAAVA,EACK,EAEF8D,EAA8ChE,EAAOd,0BAC9D,CACA,SAASsD,EAAmC3B,GAC1C,IAAIb,EAASa,EAAO6B,qBACpBx+B,OAAkBoB,IAAX06B,GACP97B,EAAO87B,EAAOf,UAAY4B,GAC1B,IAAIoD,EAAgB,IAAI1jB,UAAU,oFAClCugB,EAAsDD,EAAQoD,GAC9DP,EAAuD7C,EAAQoD,GAC/DjE,EAAOf,aAAU35B,EACjBu7B,EAAO6B,0BAAuBp9B,CAChC,CACA,SAASm9B,EAAiC5B,EAAQxrB,GAChD,IAAI2qB,EAASa,EAAO6B,qBACpBx+B,OAAkBoB,IAAX06B,GACP,IAAI/D,EAAa+D,EAAOd,0BACpBgF,EAAYC,EAA4ClI,EAAY5mB,GACxE,GAAI2qB,IAAWa,EAAO6B,qBACpB,OAAO9nB,QAAQE,OAAOsoB,GAA2B,aAEnD,IAAIlD,EAAQF,EAAOjB,OACnB,GAAc,YAAVmB,EACF,OAAOtlB,QAAQE,OAAOklB,EAAOhB,cAE/B,IAAoD,IAAhD2C,EAAoC3B,IAA8B,WAAVE,EAC1D,OAAOtlB,QAAQE,OAAO,IAAIyF,UAAU,6DAEtC,GAAc,aAAV2f,EACF,OAAOtlB,QAAQE,OAAOklB,EAAOhB,cAE/B96B,EAAiB,aAAVg8B,GACP,IAAIvlB,EAAU8lB,EAA8BT,GAE5C,OADAoE,EAAqCnI,EAAY5mB,EAAO6uB,GACjDvpB,CACT,CACA,IAAI8kB,EAAkC,WACpC,SAASA,EAAgCO,EAAQnB,EAAgBhB,EAAMF,GAErE,GADAU,EAAgBnhC,KAAMuiC,IACW,IAA7BE,EAAiBK,GACnB,MAAM,IAAIzf,UAAU,0FAEtB,QAAyCjb,IAArC06B,EAAOd,0BACT,MAAM,IAAI3e,UAAU,mGAEtBrjB,KAAKmnC,0BAA4BrE,EACjC9iC,KAAKonC,gBAAkBzF,EACvB3hC,KAAKqnC,YAASj/B,EACdpI,KAAKsnC,qBAAkBl/B,EACvBq5B,EAAWzhC,MACXA,KAAK8jC,UAAW,EAChB,IAAIyD,EAAqB7G,EAAoCC,EAAMF,GACnEzgC,KAAKwnC,cAAgBD,EAAmB5G,KACxC3gC,KAAKynC,aAAeF,EAAmB9G,cACvC,IAAIwE,EAAeyC,GAA+C1nC,MAClEglC,EAAiClC,EAAQmC,EAC3C,CAwCA,OAvCAlE,EAAawB,EAAiC,CAAC,CAC7C5gC,IAAK,QACLN,MAAO,SAAegV,GACpB,IAAgD,IAA5CsxB,EAAkC3nC,MACpC,MAAM,IAAIqjB,UAAU,yGAEtB,IAAI2f,EAAQhjC,KAAKmnC,0BAA0BtF,OAC7B,aAAVmB,GAGJoC,GAAqCplC,KAAMqW,EAC7C,GACC,CACD1U,IAAK,eACLN,MAAO,SAAsBuwB,GAC3B,OAAOsO,EAAoBlgC,KAAKonC,gBAAiB,QAAS,CAACxV,GAC7D,GACC,CACDjwB,IAAK,eACLN,MAAO,WACLogC,EAAWzhC,KACb,GACC,CACD2B,IAAK,eACLN,MAAO,WACL,IAAIumC,EAAQ5nC,KACR6nC,EAAc5H,EAAajgC,KAAKonC,gBAAiB,QAAS,CAACpnC,OAC3D8iC,EAAS9iC,KAAKmnC,0BAClBzpB,QAAQC,QAAQkqB,GAAa1X,MAAK,WAChCnpB,EAAyB,aAAlB87B,EAAOjB,QAA2C,aAAlBiB,EAAOjB,QAC9C+F,EAAM9D,UAAW,EACjBgE,EAAoDF,EACtD,IAAG,SAAU1mC,GACX8F,EAAyB,aAAlB87B,EAAOjB,QAA2C,aAAlBiB,EAAOjB,QAC9C+F,EAAM9D,UAAW,EACjBL,EAAgCX,EAAQ5hC,EAC1C,IAAG6jC,MAAMnE,EACX,KAEK2B,CACT,CA7DsC,GA8DtC,SAASgE,EAAqCxH,GAC5CwC,EAAqBxC,EAAY,QAAS,GAC1C+I,EAAoD/I,EACtD,CACA,SAASkI,EAA4ClI,EAAY5mB,GAC/D,IAAI4vB,EAAehJ,EAAWyI,cAC9B,QAAqBp/B,IAAjB2/B,EACF,OAAO,EAET,IACE,OAAOA,EAAa5vB,EAItB,CAHE,MAAO6vB,GAEP,OADAC,GAA6ClJ,EAAYiJ,GAClD,CACT,CACF,CACA,SAASlB,EAA8C/H,GACrD,OAAOA,EAAW0I,aAAe1I,EAAWuI,eAC9C,CACA,SAASJ,EAAqCnI,EAAY5mB,EAAO6uB,GAC/D,IAAIkB,EAAc,CAAE/vB,MAAOA,GAC3B,IACEopB,EAAqBxC,EAAYmJ,EAAalB,EAIhD,CAHE,MAAOmB,GAEP,YADAF,GAA6ClJ,EAAYoJ,EAE3D,CACA,IAAIrF,EAAS/D,EAAWoI,0BACxB,IAAoD,IAAhD1C,EAAoC3B,IAAuC,aAAlBA,EAAOjB,OAAuB,CACzF,IAAIoD,EAAeyC,GAA+C3I,GAClEiG,EAAiClC,EAAQmC,EAC3C,CACA6C,EAAoD/I,EACtD,CACA,SAAS4I,EAAkCzuB,GACzC,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,kBAI/C,CACA,SAAS4uB,EAAoD/I,GAC3D,IAAI+D,EAAS/D,EAAWoI,0BACxB,IAA4B,IAAxBpI,EAAW+E,eAGsB17B,IAAjC06B,EAAOZ,sBAAX,CAGA,IAAIc,EAAQF,EAAOjB,OACnB,GAAc,WAAVmB,GAAgC,YAAVA,EAG1B,GAAc,aAAVA,GAIJ,GAAiC,IAA7BjE,EAAWsI,OAAO3vB,OAAtB,CAGA,IAAIwwB,EAAc1G,EAAezC,GACb,UAAhBmJ,EACFE,GAA4CrJ,GAE5CsJ,GAA4CtJ,EAAYmJ,EAAY/vB,MALtE,OALEurB,EAA6BZ,EAN/B,CAkBF,CACA,SAASmF,GAA6ClJ,EAAYlN,GACZ,aAAhDkN,EAAWoI,0BAA0BtF,QACvCuD,GAAqCrG,EAAYlN,EAErD,CACA,SAASuW,GAA4CrJ,GACnD,IAAI+D,EAAS/D,EAAWoI,0BACxBzC,EAAuC5B,GACvCxB,EAAavC,GACb/3B,EAAoC,IAA7B+3B,EAAWsI,OAAO3vB,OAAc,+DACvC,IAAI4wB,EAAmBpI,EAAoBnB,EAAWqI,gBAAiB,QAAS,IAChFkB,EAAiBnY,MAAK,WACpBmU,EAAkCxB,EACpC,IAAG,SAAUlR,GACX4S,EAA2C1B,EAAQlR,EACrD,IAAGmT,MAAMnE,EACX,CACA,SAASyH,GAA4CtJ,EAAY5mB,GAC/D,IAAI2qB,EAAS/D,EAAWoI,0BACxBxC,EAA4C7B,GAC5C,IAAIyF,EAAmBrI,EAAoBnB,EAAWqI,gBAAiB,QAAS,CAACjvB,EAAO4mB,IACxFwJ,EAAiBpY,MAAK,WACpBiU,EAAkCtB,GAClC,IAAIE,EAAQF,EAAOjB,OAGnB,GAFA76B,EAAiB,aAAVg8B,GAAkC,aAAVA,GAC/B1B,EAAavC,IACuC,IAAhD0F,EAAoC3B,IAA+B,aAAVE,EAAsB,CACjF,IAAIiC,EAAeyC,GAA+C3I,GAClEiG,EAAiClC,EAAQmC,EAC3C,CACA6C,EAAoD/I,EACtD,IAAG,SAAUnN,GACXyS,EAA2CvB,EAAQlR,EACrD,IAAGmT,MAAMnE,EACX,CACA,SAAS8G,GAA+C3I,GACtD,IAAIyJ,EAAc1B,EAA8C/H,GAChE,OAAOyJ,GAAe,CACxB,CACA,SAASpD,GAAqCrG,EAAYlN,GACxD,IAAIiR,EAAS/D,EAAWoI,0BACxBngC,EAAyB,aAAlB87B,EAAOjB,QACdyB,EAA4BR,EAAQjR,EACtC,CACA,SAAS6Q,GAA0B/hC,GACjC,OAAO,IAAI0iB,UAAU,4BAA8B1iB,EAAO,wCAC5D,CACA,SAASslC,GAAiCtlC,GACxC,OAAO,IAAI0iB,UAAU,yCAA2C1iB,EAAO,qDACzE,CACA,SAASulC,GAA2BvlC,GAClC,OAAO,IAAI0iB,UAAU,UAAY1iB,EAAO,oCAC1C,CACA,SAASglC,GAAqChC,GAC5CA,EAAOmB,eAAiB,IAAIpnB,SAAQ,SAAUC,EAASC,GACrD+lB,EAAO8E,uBAAyB9qB,EAChCgmB,EAAO+E,sBAAwB9qB,EAC/B+lB,EAAO8C,oBAAsB,SAC/B,GACF,CACA,SAASV,GAA+CpC,EAAQ/R,GAC9D+R,EAAOmB,eAAiBpnB,QAAQE,OAAOgU,GACvC+R,EAAO8E,4BAAyBrgC,EAChCu7B,EAAO+E,2BAAwBtgC,EAC/Bu7B,EAAO8C,oBAAsB,UAC/B,CACA,SAASX,GAA+CnC,GACtDA,EAAOmB,eAAiBpnB,QAAQC,aAAQvV,GACxCu7B,EAAO8E,4BAAyBrgC,EAChCu7B,EAAO+E,2BAAwBtgC,EAC/Bu7B,EAAO8C,oBAAsB,UAC/B,CACA,SAAS5B,GAAiClB,EAAQ/R,GAChD5qB,OAAyCoB,IAAlCu7B,EAAO8E,uBAAsC,+CACpDzhC,OAAwCoB,IAAjCu7B,EAAO+E,sBAAqC,8CACnD1hC,EAAsC,YAA/B28B,EAAO8C,oBAAmC,yCACjD9C,EAAO+E,sBAAsB9W,GAC7B+R,EAAO8E,4BAAyBrgC,EAChCu7B,EAAO+E,2BAAwBtgC,EAC/Bu7B,EAAO8C,oBAAsB,UAC/B,CACA,SAASC,GAA0C/C,EAAQ/R,GACzD5qB,OAAyCoB,IAAlCu7B,EAAO8E,uBAAsC,+CACpDzhC,OAAwCoB,IAAjCu7B,EAAO+E,sBAAqC,8CACnD1hC,EAAsC,YAA/B28B,EAAO8C,oBAAmC,6CACjD9C,EAAOmB,eAAiBpnB,QAAQE,OAAOgU,GACvC+R,EAAO8C,oBAAsB,UAC/B,CACA,SAASlC,GAAkCZ,GACzC38B,OAAyCoB,IAAlCu7B,EAAO8E,uBAAsC,+CACpDzhC,OAAwCoB,IAAjCu7B,EAAO+E,sBAAqC,8CACnD1hC,EAAsC,YAA/B28B,EAAO8C,oBAAmC,yCACjD9C,EAAO8E,4BAAuBrgC,GAC9Bu7B,EAAO8E,4BAAyBrgC,EAChCu7B,EAAO+E,2BAAwBtgC,EAC/Bu7B,EAAO8C,oBAAsB,UAC/B,CACA,SAAShB,GAAoC9B,GAC3CA,EAAOkC,cAAgB,IAAInoB,SAAQ,SAAUC,EAASC,GACpD+lB,EAAOgF,sBAAwBhrB,EAC/BgmB,EAAOiF,qBAAuBhrB,CAChC,IACA+lB,EAAOgD,mBAAqB,SAC9B,CACA,SAASf,GAA8CjC,EAAQ/R,GAC7D+R,EAAOkC,cAAgBnoB,QAAQE,OAAOgU,GACtC+R,EAAOgF,2BAAwBvgC,EAC/Bu7B,EAAOiF,0BAAuBxgC,EAC9Bu7B,EAAOgD,mBAAqB,UAC9B,CACA,SAASjB,GAA8C/B,GACrDA,EAAOkC,cAAgBnoB,QAAQC,aAAQvV,GACvCu7B,EAAOgF,2BAAwBvgC,EAC/Bu7B,EAAOiF,0BAAuBxgC,EAC9Bu7B,EAAOgD,mBAAqB,WAC9B,CACA,SAASC,GAAgCjD,EAAQ/R,GAC/C5qB,OAAwCoB,IAAjCu7B,EAAOgF,sBAAqC,8CACnD3hC,OAAuCoB,IAAhCu7B,EAAOiF,qBAAoC,6CAClDjF,EAAOiF,qBAAqBhX,GAC5B+R,EAAOgF,2BAAwBvgC,EAC/Bu7B,EAAOiF,0BAAuBxgC,EAC9Bu7B,EAAOgD,mBAAqB,UAC9B,CACA,SAASzB,GAA+BvB,GACtC38B,OAAwCoB,IAAjCu7B,EAAOgF,sBAAqC,8CACnD3hC,OAAuCoB,IAAhCu7B,EAAOiF,qBAAoC,6CAClDjF,EAAOkC,cAAgB,IAAInoB,SAAQ,SAAUC,EAASC,GACpD+lB,EAAOgF,sBAAwBhrB,EAC/BgmB,EAAOiF,qBAAuBhrB,CAChC,IACA+lB,EAAOgD,mBAAqB,SAC9B,CACA,SAASE,GAAyClD,EAAQ/R,GACxD5qB,OAAwCoB,IAAjCu7B,EAAOgF,sBAAqC,8CACnD3hC,OAAuCoB,IAAhCu7B,EAAOiF,qBAAoC,6CAClDjF,EAAOkC,cAAgBnoB,QAAQE,OAAOgU,GACtC+R,EAAOgD,mBAAqB,UAC9B,CACA,SAASxB,GAAiCxB,GACxC38B,OAAwCoB,IAAjCu7B,EAAOgF,sBAAqC,8CACnD3hC,OAAuCoB,IAAhCu7B,EAAOiF,qBAAoC,6CAClDjF,EAAOgF,2BAAsBvgC,GAC7Bu7B,EAAOgF,2BAAwBvgC,EAC/Bu7B,EAAOiF,0BAAuBxgC,EAC9Bu7B,EAAOgD,mBAAqB,WAC9B,CACF,EAAG,SAAU7mC,EAAQC,EAASI,GAG5B,IAAI8+B,EAAW9+B,EAAoB,GAC/B4/B,EAA4Bd,EAASc,0BACrCqB,EAAYjhC,EAAoB,GAChC6G,EAASo6B,EAAUp6B,OACvBjH,EAAQuhC,aAAe,SAAUuH,GAC/B7hC,EAAO,WAAY6hC,GAAa,oBAAqBA,EAAW,6GAChE7hC,EAAO6hC,EAAUxB,OAAO3vB,OAAS,EAAG,iEACpC,IAAIoxB,EAAOD,EAAUxB,OAAOzC,QAK5B,OAJAiE,EAAUvB,iBAAmBwB,EAAKnI,KAC9BkI,EAAUvB,gBAAkB,IAC9BuB,EAAUvB,gBAAkB,GAEvBwB,EAAKznC,KACd,EACAtB,EAAQwhC,qBAAuB,SAAUsH,EAAWxnC,EAAOs/B,GAGzD,GAFA35B,EAAO,WAAY6hC,GAAa,oBAAqBA,EAAW,qHAChElI,EAAOlrB,OAAOkrB,IACTZ,EAA0BY,GAC7B,MAAM,IAAI/E,WAAW,wDAEvBiN,EAAUxB,OAAOhvB,KAAK,CACpBhX,MAAOA,EACPs/B,KAAMA,IAERkI,EAAUvB,iBAAmB3G,CAC/B,EACA5gC,EAAQyhC,eAAiB,SAAUqH,GACjC7hC,EAAO,WAAY6hC,GAAa,oBAAqBA,EAAW,+GAChE7hC,EAAO6hC,EAAUxB,OAAO3vB,OAAS,EAAG,4DACpC,IAAIoxB,EAAOD,EAAUxB,OAAO,GAC5B,OAAOyB,EAAKznC,KACd,EACAtB,EAAQ0hC,WAAa,SAAUoH,GAC7B7hC,EAAO,WAAY6hC,GAAa,oBAAqBA,EAAW,2GAChEA,EAAUxB,OAAS,GACnBwB,EAAUvB,gBAAkB,CAC9B,CACF,EAAG,SAAUxnC,EAAQC,EAASI,GAG5B,IAAI4gC,EAAe,WACjB,SAASnV,EAAiBtJ,EAAQ0e,GAChC,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CACrC,IAAIsqB,EAAaqW,EAAM3gC,GACvBsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EACjD2pB,EAAW9T,cAAe,EACtB,UAAW8T,IAAYA,EAAW7T,UAAW,GACjDhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAChD,CACF,CACA,OAAO,SAAUjB,EAAauX,EAAYC,GAGxC,OAFID,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GACpDC,GAAatV,EAAiBlC,EAAawX,GACxCxX,CACT,CACF,CAfmB,GAgBnB,SAASyX,EAAgB3G,EAAU9Q,GACjC,KAAM8Q,aAAoB9Q,GACxB,MAAM,IAAIrG,UAAU,oCAExB,CACA,IAAI4b,EAAW9+B,EAAoB,GAC/Bu/B,EAAkBT,EAASS,gBAC3BI,EAAyBb,EAASa,uBAClCC,EAA4Bd,EAASc,0BACrCE,EAAehB,EAASgB,aACxBC,EAAsBjB,EAASiB,oBAC/BK,EAAsBtB,EAASsB,oBAC/BG,EAAsCzB,EAASyB,oCAC/CF,EAAoCvB,EAASuB,kCAC7CY,EAAYjhC,EAAoB,GAChCq/B,EAAsB4B,EAAU5B,oBAChCD,EAAqB6B,EAAU7B,mBAC/BD,EAAe8B,EAAU9B,aACzB+B,EAAYlhC,EAAoB,GAChC6G,EAASq6B,EAAUr6B,OACnB45B,EAAiCS,EAAUT,+BAC3CmI,EAAY5oC,EAAoB,GAChCmhC,EAAeyH,EAAUzH,aACzBC,EAAuBwH,EAAUxH,qBACjCE,EAAasH,EAAUtH,WACvBuH,EAAY7oC,EAAoB,GAChC0iC,EAAqCmG,EAAUnG,mCAC/CJ,EAAmBuG,EAAUvG,iBAC7BE,EAAyBqG,EAAUrG,uBACnCC,EAAsBoG,EAAUpG,oBAChCyC,EAAuD2D,EAAU3D,qDACjEC,EAAqC0D,EAAU1D,mCAC/CC,EAAmCyD,EAAUzD,iCAC7Cd,EAAsCuE,EAAUvE,oCAChDxhC,EAAiB,WACnB,SAASA,IACP,IAAIgmC,EAAmBpsB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACxFlD,EAAOkD,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC5E8jB,EAAOhnB,EAAKgnB,KACZF,EAAgB9mB,EAAK8mB,cACzBU,EAAgBnhC,KAAMiD,GACtBjD,KAAK6hC,OAAS,WACd7hC,KAAKkpC,aAAU9gC,EACfpI,KAAK8hC,kBAAe15B,EACpBpI,KAAKmpC,YAAa,EAClBnpC,KAAKopC,+BAA4BhhC,EACjC,IAAI8V,EAAO+qB,EAAiB/qB,KACxBmrB,EAAazxB,OAAOsG,GACxB,GAAmB,UAAfmrB,OACoBjhC,IAAlBq4B,IACFA,EAAgB,GAElBzgC,KAAKopC,0BAA4B,IAAIE,GAA6BtpC,KAAMipC,EAAkBxI,OACrF,SAAar4B,IAAT8V,EAMT,MAAM,IAAI0d,WAAW,kCALCxzB,IAAlBq4B,IACFA,EAAgB,GAElBzgC,KAAKopC,0BAA4B,IAAIG,GAAgCvpC,KAAMipC,EAAkBtI,EAAMF,EAGrG,CACF,CA2MA,OA1MAM,EAAa99B,EAAgB,CAAC,CAC5BtB,IAAK,SACLN,MAAO,SAAgBuwB,GACrB,OAA+B,IAA3B4X,EAAiBxpC,MACZ0d,QAAQE,OAAO8kB,GAA0B,YAEb,IAAjC+G,EAAuBzpC,MAClB0d,QAAQE,OAAO,IAAIyF,UAAU,qDAE/BqmB,EAAqB1pC,KAAM4xB,EACpC,GACC,CACDjwB,IAAK,YACLN,MAAO,WACL,IAAIsoC,EAAQ9sB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7Etb,EAAOooC,EAAMpoC,KACjB,IAA+B,IAA3BioC,EAAiBxpC,MACnB,MAAM0iC,GAA0B,aAElC,QAAat6B,IAAT7G,EACF,OAAOqoC,EAAmC5pC,MAG5C,GADAuB,EAAOqW,OAAOrW,GACD,SAATA,EACF,OAAOsoC,EAAgC7pC,MAEzC,MAAM,IAAI47B,WAAW,4BACvB,GACC,CACDj6B,IAAK,cACLN,MAAO,SAAqByoC,EAAOC,GACjC,IAAIjzB,EAAWgzB,EAAMhzB,SACjBkzB,EAAWF,EAAME,SACjBvsB,EAAUzd,KAAKiqC,OAAOnzB,EAAUizB,GAEpC,OADAG,GAAuEzsB,GAChEusB,CACT,GACC,CACDroC,IAAK,SACLN,MAAO,SAAgBs+B,GACrB,IAAIiI,EAAQ5nC,KACRmqC,EAAQttB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7EutB,EAAeD,EAAMC,aACrBC,EAAeF,EAAME,aACrBC,EAAgBH,EAAMG,cAC1B,IAA+B,IAA3Bd,EAAiBxpC,MACnB,OAAO0d,QAAQE,OAAO8kB,GAA0B,WAElD,IAA+B,IAA3BD,EAAiB9C,GACnB,OAAOjiB,QAAQE,OAAO,IAAIyF,UAAU,8EAKtC,GAHA+mB,EAAeG,QAAQH,GACvBC,EAAeE,QAAQF,GACvBC,EAAgBC,QAAQD,IACa,IAAjCb,EAAuBzpC,MACzB,OAAO0d,QAAQE,OAAO,IAAIyF,UAAU,8EAEtC,IAAqC,IAAjCsf,EAAuBhD,GACzB,OAAOjiB,QAAQE,OAAO,IAAIyF,UAAU,8EAEtC,IAAImnB,EAASZ,EAAmC5pC,MAC5C2jC,EAASd,EAAmClD,GAC5C8K,GAAe,EACfC,EAAehtB,QAAQC,UAC3B,OAAO,IAAID,SAAQ,SAAUC,EAASC,GACpC,SAAS+sB,IAEP,OADAD,EAAehtB,QAAQC,WACF,IAAjB8sB,EACK/sB,QAAQC,UAEVgmB,EAAOkC,cAAc1V,MAAK,WAC/B,OAAOya,GAAgCJ,GAAQra,MAAK,SAAU0a,GAC5D,IAAIxpC,EAAQwpC,EAAMxpC,MACdwnB,EAAOgiB,EAAMhiB,MACJ,IAATA,IAGJ6hB,EAAenF,EAAiC5B,EAAQtiC,GAAO0jC,OAAM,WAAa,IACpF,GACF,IAAG5U,KAAKwa,EACV,CA4BA,GA3BAG,EAAmBlD,EAAO4C,EAAO1F,gBAAgB,SAAUd,IACpC,IAAjBqG,EACFU,GAAmB,WACjB,OAAOnI,EAAoBjD,EAAMqE,EACnC,IAAG,EAAMA,GAETgH,GAAS,EAAMhH,EAEnB,IACA8G,EAAmBnL,EAAMgE,EAAOmB,gBAAgB,SAAUd,IAClC,IAAlBsG,EACFS,GAAmB,WACjB,OAAOrB,EAAqB9B,EAAO5D,EACrC,IAAG,EAAMA,GAETgH,GAAS,EAAMhH,EAEnB,IACAiH,EAAkBrD,EAAO4C,EAAO1F,gBAAgB,YACzB,IAAjBsF,EACFW,GAAmB,WACjB,OAAO1F,EAAqD1B,EAC9D,IAEAqH,GAEJ,KACkD,IAA9CvG,EAAoC9E,IAAkC,WAAhBA,EAAKkC,OAAqB,CAClF,IAAIqJ,EAAa,IAAI7nB,UAAU,gFACT,IAAlBinB,EACFS,GAAmB,WACjB,OAAOrB,EAAqB9B,EAAOsD,EACrC,IAAG,EAAMA,GAETF,GAAS,EAAME,EAEnB,CAKA,SAASC,IACP,IAAIC,EAAkBV,EACtB,OAAOA,EAAava,MAAK,WACvB,OAAOib,IAAoBV,EAAeS,SAA0B/iC,CACtE,GACF,CACA,SAAS0iC,EAAmBhI,EAAQrlB,EAAS4tB,GACrB,YAAlBvI,EAAOjB,OACTwJ,EAAOvI,EAAOhB,cAEdrkB,EAAQsnB,MAAMsG,GAAQtG,MAAMnE,EAEhC,CACA,SAASqK,EAAkBnI,EAAQrlB,EAAS4tB,GACpB,WAAlBvI,EAAOjB,OACTwJ,IAEA5tB,EAAQ0S,KAAKkb,GAAQtG,MAAMnE,EAE/B,CACA,SAASmK,EAAmBM,EAAQC,EAAiBC,GAUnD,SAASC,IACPH,IAASlb,MAAK,WACZ,OAAOsb,EAASH,EAAiBC,EACnC,IAAG,SAAUG,GACX,OAAOD,GAAS,EAAMC,EACxB,IAAG3G,MAAMnE,EACX,EAfqB,IAAjB6J,IAGJA,GAAe,EACK,aAAhB9K,EAAKkC,SAAuE,IAA9C4C,EAAoC9E,GACpEwL,IAAwBhb,KAAKqb,GAE7BA,IASJ,CACA,SAASR,EAASW,EAAS9Z,IACJ,IAAjB4Y,IAGJA,GAAe,EACK,aAAhB9K,EAAKkC,SAAuE,IAA9C4C,EAAoC9E,GACpEwL,IAAwBhb,MAAK,WAC3B,OAAOsb,EAASE,EAAS9Z,EAC3B,IAAGkT,MAAMnE,GAET6K,EAASE,EAAS9Z,GAEtB,CACA,SAAS4Z,EAASE,EAAS9Z,GACzByT,EAAmC3B,GACnCiI,GAAmCpB,GAC/BmB,EACF/tB,EAAOiU,GAEPlU,OAAQvV,EAEZ,CA/DAuiC,IAAW5F,OAAM,SAAUzS,GACzBoY,EAAehtB,QAAQC,UACvBijB,EAA+BtO,EACjC,GA6DF,GACF,GACC,CACD3wB,IAAK,MACLN,MAAO,WACL,IAA+B,IAA3BmoC,EAAiBxpC,MACnB,MAAM0iC,GAA0B,OAElC,IAAImJ,EAAWC,EAAkB9rC,MAAM,GACvC,OAAOw/B,EAAoBqM,EAC7B,GACC,CACDlqC,IAAK,SACLV,IAAK,WACH,IAA+B,IAA3BuoC,EAAiBxpC,MACnB,MAAM0iC,GAA0B,UAElC,OAAO+G,EAAuBzpC,KAChC,KAEKiD,CACT,CAvOqB,GAgPrB,SAAS4mC,EAAgC/G,GACvC,OAAO,IAAIiJ,GAAyBjJ,EACtC,CACA,SAAS8G,EAAmC9G,GAC1C,OAAO,IAAIkJ,GAA4BlJ,EACzC,CACA,SAAS0G,EAAiBtwB,GACxB,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,4BAI/C,CACA,SAAS+yB,EAA0BnJ,GAEjC,OADA97B,GAAoC,IAA7BwiC,EAAiB1G,GAAkB,2EACnCA,EAAOqG,UAChB,CACA,SAASM,EAAuB3G,GAE9B,OADA97B,GAAoC,IAA7BwiC,EAAiB1G,GAAkB,6EACnB16B,IAAnB06B,EAAOoG,OAIb,CACA,SAAS4C,EAAkBhJ,EAAQoJ,GACjCllC,GAAoC,IAA7BwiC,EAAiB1G,IACxB97B,EAAkC,mBAApBklC,GACd,IAAI1B,EAASZ,EAAmC9G,GAC5CqJ,EAAW,CACbC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,aAASnkC,EACTokC,aAASpkC,GAEX+jC,EAAS1uB,QAAU,IAAIC,SAAQ,SAAUC,GACvCwuB,EAASjJ,SAAWvlB,CACtB,IACA,IAAI8uB,EAAOC,IACXD,EAAKvD,QAAUsB,EACfiC,EAAKE,UAAYR,EACjBM,EAAKG,iBAAmBV,EACxB,IAAIW,EAAUC,IACdD,EAAQE,QAAUjK,EAClB+J,EAAQF,UAAYR,EACpB,IAAIa,EAAUC,IACdD,EAAQD,QAAUjK,EAClBkK,EAAQL,UAAYR,EACpB,IAAIe,EAAoBpsC,OAAOY,OAAOZ,OAAOkB,WAC7Cu9B,EAAmB2N,EAAmB,OAAQT,GAC9ClN,EAAmB2N,EAAmB,SAAUL,GAChD,IAAIM,EAAgB,IAAIlqC,EAAeiqC,GACnCE,EAAoBtsC,OAAOY,OAAOZ,OAAOkB,WAC7Cu9B,EAAmB6N,EAAmB,OAAQX,GAC9ClN,EAAmB6N,EAAmB,SAAUJ,GAChD,IAAIK,EAAgB,IAAIpqC,EAAemqC,GAWvC,OAVAX,EAAKa,SAAWH,EAAc/D,0BAC9BqD,EAAKc,SAAWF,EAAcjE,0BAC9BoB,EAAO1F,eAAeC,OAAM,SAAU7jC,IACH,IAA7BirC,EAASC,kBAGboB,GAAqCf,EAAKa,SAAUpsC,GACpDssC,GAAqCf,EAAKc,SAAUrsC,GACpDirC,EAASC,iBAAkB,EAC7B,IACO,CAACe,EAAeE,EACzB,CACA,SAASX,IACP,SAAS3pB,IACP,IAAIynB,EAASznB,EAAEmmB,QACXuE,EAAU1qB,EAAEuqB,SACZI,EAAU3qB,EAAEwqB,SACZpB,EAAWppB,EAAE4pB,UACjB,OAAO/B,GAAgCJ,GAAQra,MAAK,SAAU1T,GAC5DzV,EAAOs4B,EAAa7iB,IACpB,IAAIpb,EAAQob,EAAOpb,MACfwnB,EAAOpM,EAAOoM,KAWlB,GAVA7hB,EAAuB,mBAAT6hB,IACD,IAATA,IAA8C,IAA7BsjB,EAASC,mBACD,IAAvBD,EAASE,WACXsB,GAAqCF,IAEZ,IAAvBtB,EAASG,WACXqB,GAAqCD,GAEvCvB,EAASC,iBAAkB,IAEI,IAA7BD,EAASC,gBAAb,CAGA,IAAIwB,EAASvsC,EACTwsC,EAASxsC,GACc,IAAvB8qC,EAASE,WACXyB,GAAuCL,EAASG,IAEvB,IAAvBzB,EAASG,WACXwB,GAAuCJ,EAASG,EAPlD,CASF,GACF,CACA,OAAO9qB,CACT,CACA,SAAS+pB,IACP,SAAS/pB,EAAE6O,GACT,IAAIkR,EAAS/f,EAAEgqB,QACXZ,EAAWppB,EAAE4pB,UAGjB,GAFAR,EAASE,WAAY,EACrBF,EAASI,QAAU3a,GACQ,IAAvBua,EAASG,UAAoB,CAC/B,IAAIyB,EAAkBvO,EAAoB,CAAC2M,EAASI,QAASJ,EAASK,UAClEwB,EAAetE,EAAqB5G,EAAQiL,GAChD5B,EAASjJ,SAAS8K,EACpB,CACA,OAAO7B,EAAS1uB,OAClB,CACA,OAAOsF,CACT,CACA,SAASkqB,IACP,SAASlqB,EAAE6O,GACT,IAAIkR,EAAS/f,EAAEgqB,QACXZ,EAAWppB,EAAE4pB,UAGjB,GAFAR,EAASG,WAAY,EACrBH,EAASK,QAAU5a,GACQ,IAAvBua,EAASE,UAAoB,CAC/B,IAAI0B,EAAkBvO,EAAoB,CAAC2M,EAASI,QAASJ,EAASK,UAClEwB,EAAetE,EAAqB5G,EAAQiL,GAChD5B,EAASjJ,SAAS8K,EACpB,CACA,OAAO7B,EAAS1uB,OAClB,CACA,OAAOsF,CACT,CACA,SAASkrB,EAAiCnL,GACxC97B,GAAsD,IAA/CknC,GAA2BpL,EAAOoG,UACzCliC,EAAyB,aAAlB87B,EAAOjB,QAA2C,WAAlBiB,EAAOjB,QAC9C,IAAIpkB,EAAU,IAAIC,SAAQ,SAAUC,EAASC,GAC3C,IAAIuwB,EAAkB,CACpBjL,SAAUvlB,EACVwlB,QAASvlB,GAEXklB,EAAOoG,QAAQkF,kBAAkB/1B,KAAK81B,EACxC,IACA,OAAO1wB,CACT,CACA,SAAS4wB,EAA6BvL,GACpC97B,GAAyD,IAAlDsnC,GAA8BxL,EAAOoG,UAC5CliC,EAAyB,aAAlB87B,EAAOjB,QACd,IAAIpkB,EAAU,IAAIC,SAAQ,SAAUC,EAASC,GAC3C,IAAI2wB,EAAc,CAChBrL,SAAUvlB,EACVwlB,QAASvlB,GAEXklB,EAAOoG,QAAQsF,cAAcn2B,KAAKk2B,EACpC,IACA,OAAO9wB,CACT,CACA,SAASisB,EAAqB5G,EAAQlR,GAEpC,GADAkR,EAAOqG,YAAa,EACE,WAAlBrG,EAAOjB,OACT,OAAOnkB,QAAQC,aAAQvV,GAEzB,GAAsB,YAAlB06B,EAAOjB,OACT,OAAOnkB,QAAQE,OAAOklB,EAAOhB,cAE/B2M,EAAoB3L,GACpB,IAAI4L,EAAsB5L,EAAOsG,0BAA0BuF,cAAc/c,GACzE,OAAO8c,EAAoBve,MAAK,WAEhC,GACF,CACA,SAASse,EAAoB3L,GAC3B97B,EAAyB,aAAlB87B,EAAOjB,QACdiB,EAAOjB,OAAS,SAChB,IAAI2I,EAAS1H,EAAOoG,QACpB,QAAe9gC,IAAXoiC,EAAJ,CAGA,IAA8C,IAA1C8D,GAA8B9D,GAAkB,CAClD,IAAK,IAAInqC,EAAI,EAAGA,EAAImqC,EAAOgE,cAAc92B,OAAQrX,IAAK,CACpD,IAAI6iC,EAAWsH,EAAOgE,cAAcnuC,GAAG6iC,SACvCA,EAASpD,OAAuB13B,GAAW,GAC7C,CACAoiC,EAAOgE,cAAgB,EACzB,CACAI,GAAkCpE,EARlC,CAUF,CACA,SAASqE,EAAoB/L,EAAQzsB,GACnCrP,GAAoC,IAA7BwiC,EAAiB1G,GAAkB,iCAC1C97B,EAAyB,aAAlB87B,EAAOjB,OAAuB,0BACrCiB,EAAOjB,OAAS,UAChBiB,EAAOhB,aAAezrB,EACtB,IAAIm0B,EAAS1H,EAAOoG,QACpB,QAAe9gC,IAAXoiC,EAAJ,CAGA,IAA8C,IAA1C8D,GAA8B9D,GAAkB,CAClD,IAAK,IAAInqC,EAAI,EAAGA,EAAImqC,EAAOgE,cAAc92B,OAAQrX,IAAK,CACpD,IAAIkuC,EAAc/D,EAAOgE,cAAcnuC,GACvCkuC,EAAYpL,QAAQ9sB,EACtB,CACAm0B,EAAOgE,cAAgB,EACzB,KAAO,CACLxnC,EAAOknC,GAA2B1D,GAAS,2CAC3C,IAAK,IAAI7hB,EAAK,EAAGA,EAAK6hB,EAAO4D,kBAAkB12B,OAAQiR,IAAM,CAC3D,IAAIwlB,EAAkB3D,EAAO4D,kBAAkBzlB,GAC/CwlB,EAAgBhL,QAAQ9sB,EAC1B,CACAm0B,EAAO4D,kBAAoB,EAC7B,CACAU,GAAiCtE,EAAQn0B,GACzCm0B,EAAO1F,eAAeC,OAAM,WAAa,GAhBzC,CAiBF,CACA,SAASgK,EAAqCjM,EAAQ3qB,EAAO0Q,GAC3D,IAAI2hB,EAAS1H,EAAOoG,QACpBliC,EAAOwjC,EAAO4D,kBAAkB12B,OAAS,GACzC,IAAIy2B,EAAkB3D,EAAO4D,kBAAkBxJ,QAC/CuJ,EAAgBjL,SAASpD,EAAuB3nB,EAAO0Q,GACzD,CACA,SAASmmB,EAAiClM,EAAQ3qB,EAAO0Q,GACvD,IAAI2hB,EAAS1H,EAAOoG,QACpBliC,EAAOwjC,EAAOgE,cAAc92B,OAAS,GACrC,IAAI62B,EAAc/D,EAAOgE,cAAc5J,QACvC2J,EAAYrL,SAASpD,EAAuB3nB,EAAO0Q,GACrD,CACA,SAASomB,EAAqCnM,GAC5C,OAAOA,EAAOoG,QAAQkF,kBAAkB12B,MAC1C,CACA,SAASw3B,EAAiCpM,GACxC,OAAOA,EAAOoG,QAAQsF,cAAc92B,MACtC,CACA,SAASy3B,EAA4BrM,GACnC,IAAI0H,EAAS1H,EAAOoG,QACpB,YAAe9gC,IAAXoiC,IAGuC,IAAvC0D,GAA2B1D,EAIjC,CACA,SAAS4E,GAA+BtM,GACtC,IAAI0H,EAAS1H,EAAOoG,QACpB,YAAe9gC,IAAXoiC,IAG0C,IAA1C8D,GAA8B9D,EAIpC,CArQA1qC,EAAOC,QAAU,CACfkD,eAAgBA,EAChBgpC,0BAA2BA,EAC3B0B,qCAAsCA,GACtCG,uCAAwCA,GACxCN,qCAAsCA,GACtC6B,8CAA+CA,IAgQjD,IAAIrD,GAA8B,WAChC,SAASA,EAA4BlJ,GAEnC,GADA3B,EAAgBnhC,KAAMgsC,IACW,IAA7BxC,EAAiB1G,GACnB,MAAM,IAAIzf,UAAU,sFAEtB,IAAuC,IAAnComB,EAAuB3G,GACzB,MAAM,IAAIzf,UAAU,+EAEtBisB,GAAsCtvC,KAAM8iC,GAC5C9iC,KAAKwuC,cAAgB,EACvB,CA8CA,OA7CAzN,EAAaiL,EAA6B,CAAC,CACzCrqC,IAAK,SACLN,MAAO,SAAgBuwB,GACrB,OAA4C,IAAxC0c,GAA8BtuC,MACzB0d,QAAQE,OAAO2xB,GAAiC,gBAEvBnnC,IAA9BpI,KAAKwvC,qBACA9xB,QAAQE,OAAO6xB,GAAoB,WAErCC,GAAkC1vC,KAAM4xB,EACjD,GACC,CACDjwB,IAAK,OACLN,MAAO,WACL,OAA4C,IAAxCitC,GAA8BtuC,MACzB0d,QAAQE,OAAO2xB,GAAiC,cAEvBnnC,IAA9BpI,KAAKwvC,qBACA9xB,QAAQE,OAAO6xB,GAAoB,cAErC7E,GAAgC5qC,KACzC,GACC,CACD2B,IAAK,cACLN,MAAO,WACL,IAA4C,IAAxCitC,GAA8BtuC,MAChC,MAAMuvC,GAAiC,eAEzC,QAAkCnnC,IAA9BpI,KAAKwvC,qBAAT,CAGA,GAAIxvC,KAAKwuC,cAAc92B,OAAS,EAC9B,MAAM,IAAI2L,UAAU,uFAEtBuoB,GAAmC5rC,KAJnC,CAKF,GACC,CACD2B,IAAK,SACLV,IAAK,WACH,OAA4C,IAAxCqtC,GAA8BtuC,MACzB0d,QAAQE,OAAO2xB,GAAiC,WAElDvvC,KAAK8kC,cACd,KAEKkH,CACT,CA1DkC,GA2D9BD,GAA2B,WAC7B,SAASA,EAAyBjJ,GAEhC,GADA3B,EAAgBnhC,KAAM+rC,IACjBvC,EAAiB1G,GACpB,MAAM,IAAIzf,UAAU,uGAEtB,IAAyE,IAArEssB,GAA+B7M,EAAOsG,2BACxC,MAAM,IAAI/lB,UAAU,+FAEtB,GAAIomB,EAAuB3G,GACzB,MAAM,IAAIzf,UAAU,+EAEtBisB,GAAsCtvC,KAAM8iC,GAC5C9iC,KAAKouC,kBAAoB,EAC3B,CAoDA,OAnDArN,EAAagL,EAA0B,CAAC,CACtCpqC,IAAK,SACLN,MAAO,SAAgBuwB,GACrB,OAAKsc,GAA2BluC,WAGEoI,IAA9BpI,KAAKwvC,qBACA9xB,QAAQE,OAAO6xB,GAAoB,WAErCC,GAAkC1vC,KAAM4xB,GALtClU,QAAQE,OAAOgyB,GAA8B,UAMxD,GACC,CACDjuC,IAAK,OACLN,MAAO,SAAcwuC,GACnB,OAAK3B,GAA2BluC,WAGEoI,IAA9BpI,KAAKwvC,qBACA9xB,QAAQE,OAAO6xB,GAAoB,cAEvCK,YAAYC,OAAOF,GAGA,IAApBA,EAAKn3B,WACAgF,QAAQE,OAAO,IAAIyF,UAAU,uCAE/B2sB,GAA6BhwC,KAAM6vC,GALjCnyB,QAAQE,OAAO,IAAIyF,UAAU,sCAN7B3F,QAAQE,OAAOgyB,GAA8B,QAYxD,GACC,CACDjuC,IAAK,cACLN,MAAO,WACL,IAAK6sC,GAA2BluC,MAC9B,MAAM4vC,GAA8B,eAEtC,QAAkCxnC,IAA9BpI,KAAKwvC,qBAAT,CAGA,GAAIxvC,KAAKouC,kBAAkB12B,OAAS,EAClC,MAAM,IAAI2L,UAAU,uFAEtBuoB,GAAmC5rC,KAJnC,CAKF,GACC,CACD2B,IAAK,SACLV,IAAK,WACH,OAAKitC,GAA2BluC,MAGzBA,KAAK8kC,eAFHpnB,QAAQE,OAAOgyB,GAA8B,UAGxD,KAEK7D,CACT,CAnE+B,GAoE/B,SAASmC,GAA2Bh1B,GAClC,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,oBAI/C,CACA,SAASo1B,GAA8Bp1B,GACrC,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,gBAI/C,CACA,SAASo2B,GAAsC9E,EAAQ1H,GACrD0H,EAAOgF,qBAAuB1M,EAC9BA,EAAOoG,QAAUsB,EACK,aAAlB1H,EAAOjB,OACToO,GAAqCzF,GACV,WAAlB1H,EAAOjB,OAChBqO,GAA+C1F,IAE/CxjC,EAAyB,YAAlB87B,EAAOjB,OAAsB,yBACpCsO,GAA+C3F,EAAQ1H,EAAOhB,cAC9D0I,EAAO1F,eAAeC,OAAM,WAAa,IAE7C,CACA,SAAS2K,GAAkClF,EAAQ5Y,GACjD,IAAIkR,EAAS0H,EAAOgF,qBAEpB,OADAxoC,OAAkBoB,IAAX06B,GACA4G,EAAqB5G,EAAQlR,EACtC,CACA,SAASga,GAAmCpB,GAC1CxjC,OAAuCoB,IAAhCoiC,EAAOgF,sBACdxoC,EAAOwjC,EAAOgF,qBAAqBtG,UAAYsB,GACJ,aAAvCA,EAAOgF,qBAAqB3N,OAC9BiN,GAAiCtE,EAAQ,IAAInnB,UAAU,qFAEvD+sB,GAA0C5F,EAAQ,IAAInnB,UAAU,qFAElEmnB,EAAO1F,eAAeC,OAAM,WAAa,IACzCyF,EAAOgF,qBAAqBtG,aAAU9gC,EACtCoiC,EAAOgF,0BAAuBpnC,CAChC,CACA,SAAS4nC,GAA6BxF,EAAQqF,GAC5C,IAAI/M,EAAS0H,EAAOgF,qBAGpB,OAFAxoC,OAAkBoB,IAAX06B,GACPA,EAAOqG,YAAa,EACE,YAAlBrG,EAAOjB,OACFnkB,QAAQE,OAAOklB,EAAOhB,cAExBuO,GAAqCvN,EAAOsG,0BAA2ByG,EAChF,CACA,SAASjF,GAAgCJ,GACvC,IAAI1H,EAAS0H,EAAOgF,qBAGpB,OAFAxoC,OAAkBoB,IAAX06B,GACPA,EAAOqG,YAAa,EACE,WAAlBrG,EAAOjB,OACFnkB,QAAQC,QAAQmiB,OAAuB13B,GAAW,IAErC,YAAlB06B,EAAOjB,OACFnkB,QAAQE,OAAOklB,EAAOhB,eAE/B96B,EAAyB,aAAlB87B,EAAOjB,QACPiB,EAAOsG,0BAA0BkH,cAC1C,CACA,IAAI/G,GAAkC,WACpC,SAASA,EAAgCzG,EAAQmG,EAAkBtI,EAAMF,GAEvE,GADAU,EAAgBnhC,KAAMupC,IACW,IAA7BC,EAAiB1G,GACnB,MAAM,IAAIzf,UAAU,0FAEtB,QAAyCjb,IAArC06B,EAAOsG,0BACT,MAAM,IAAI/lB,UAAU,mGAEtBrjB,KAAKuwC,0BAA4BzN,EACjC9iC,KAAKwwC,kBAAoBvH,EACzBjpC,KAAKqnC,YAASj/B,EACdpI,KAAKsnC,qBAAkBl/B,EACvBq5B,EAAWzhC,MACXA,KAAK8jC,UAAW,EAChB9jC,KAAKywC,iBAAkB,EACvBzwC,KAAK0wC,YAAa,EAClB1wC,KAAK2wC,UAAW,EAChB,IAAIpJ,EAAqB7G,EAAoCC,EAAMF,GACnEzgC,KAAKwnC,cAAgBD,EAAmB5G,KACxC3gC,KAAKynC,aAAeF,EAAmB9G,cACvC,IAAI1B,EAAa/+B,KACb6nC,EAAc5H,EAAagJ,EAAkB,QAAS,CAACjpC,OAC3D0d,QAAQC,QAAQkqB,GAAa1X,MAAK,WAChC4O,EAAW+E,UAAW,EACtB98B,GAA+B,IAAxB+3B,EAAW4R,UAClB3pC,GAAiC,IAA1B+3B,EAAW2R,YAClBE,GAAgD7R,EAClD,IAAG,SAAU79B,GACX2vC,GAA6C9R,EAAY79B,EAC3D,IAAG6jC,MAAMnE,EACX,CA2EA,OA1EAG,EAAawI,EAAiC,CAAC,CAC7C5nC,IAAK,QACLN,MAAO,WACL,IAAgD,IAA5CyvC,GAAkC9wC,MACpC,MAAM+wC,GAAqC,SAE7C,IAA6B,IAAzB/wC,KAAKywC,gBACP,MAAM,IAAIptB,UAAU,8DAEtB,IAAI2f,EAAQhjC,KAAKuwC,0BAA0B1O,OAC3C,GAAc,aAAVmB,EACF,MAAM,IAAI3f,UAAU,kBAAoB2f,EAAQ,6DAElD2K,GAAqC3tC,KACvC,GACC,CACD2B,IAAK,UACLN,MAAO,SAAiB8W,GACtB,IAAgD,IAA5C24B,GAAkC9wC,MACpC,MAAM+wC,GAAqC,WAE7C,IAA6B,IAAzB/wC,KAAKywC,gBACP,MAAM,IAAIptB,UAAU,gCAEtB,IAAI2f,EAAQhjC,KAAKuwC,0BAA0B1O,OAC3C,GAAc,aAAVmB,EACF,MAAM,IAAI3f,UAAU,kBAAoB2f,EAAQ,kEAElD,OAAO8K,GAAuC9tC,KAAMmY,EACtD,GACC,CACDxW,IAAK,QACLN,MAAO,SAAegV,GACpB,IAAgD,IAA5Cy6B,GAAkC9wC,MACpC,MAAM+wC,GAAqC,SAE7C,IAAIjO,EAAS9iC,KAAKuwC,0BAClB,GAAsB,aAAlBzN,EAAOjB,OACT,MAAM,IAAIxe,UAAU,iBAAmByf,EAAOjB,OAAS,6BAEzD2L,GAAqCxtC,KAAMqW,EAC7C,GACC,CACD1U,IAAK,gBACLN,MAAO,SAAuBuwB,GAE5B,OADA6P,EAAWzhC,MACJkgC,EAAoBlgC,KAAKwwC,kBAAmB,SAAU,CAAC5e,GAChE,GACC,CACDjwB,IAAK,cACLN,MAAO,WACL,IAAIyhC,EAAS9iC,KAAKuwC,0BAClB,GAAIvwC,KAAKqnC,OAAO3vB,OAAS,EAAG,CAC1B,IAAIS,EAAQmpB,EAAathC,MAMzB,OAL6B,IAAzBA,KAAKywC,iBAAmD,IAAvBzwC,KAAKqnC,OAAO3vB,OAC/C+2B,EAAoB3L,GAEpB8N,GAAgD5wC,MAE3C0d,QAAQC,QAAQmiB,EAAuB3nB,GAAO,GACvD,CACA,IAAI64B,EAAiB3C,EAA6BvL,GAElD,OADA8N,GAAgD5wC,MACzCgxC,CACT,GACC,CACDrvC,IAAK,cACLV,IAAK,WACH,IAAgD,IAA5C6vC,GAAkC9wC,MACpC,MAAM+wC,GAAqC,eAE7C,OAAO1B,GAA8CrvC,KACvD,KAEKupC,CACT,CA3GsC,GA4GtC,SAASuH,GAAkC53B,GACzC,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,oBAI/C,CACA,SAAS03B,GAAgD7R,GACvD,IAAIkS,EAAaC,GAA8CnS,GAC/D,IAAmB,IAAfkS,EAGJ,IAA4B,IAAxBlS,EAAW4R,SAAf,CAIA3pC,GAAiC,IAA1B+3B,EAAW2R,YAClB3R,EAAW4R,UAAW,EACtB,IAAIQ,EAAcjR,EAAoBnB,EAAWyR,kBAAmB,OAAQ,CAACzR,IAC7EoS,EAAYhhB,MAAK,WAEf,GADA4O,EAAW4R,UAAW,GACQ,IAA1B5R,EAAW2R,WAEb,OADA3R,EAAW2R,YAAa,EACjBE,GAAgD7R,EAG3D,IAAG,SAAU1oB,GACXw6B,GAA6C9R,EAAY1oB,EAC3D,IAAG0uB,MAAMnE,EAbT,MAFE7B,EAAW2R,YAAa,CAiB5B,CACA,SAASQ,GAA8CnS,GACrD,IAAI+D,EAAS/D,EAAWwR,0BACxB,GAAsB,WAAlBzN,EAAOjB,QAAyC,YAAlBiB,EAAOjB,OACvC,OAAO,EAET,IAAmC,IAA/B9C,EAAW0R,gBACb,OAAO,EAET,IAA4B,IAAxB1R,EAAW+E,SACb,OAAO,EAET,IAAuC,IAAnC2F,EAAuB3G,IAAoBoM,EAAiCpM,GAAU,EACxF,OAAO,EAET,IAAI0F,EAAc6G,GAA8CtQ,GAChE,OAAIyJ,EAAc,CAIpB,CACA,SAASmF,GAAqC5O,GAC5C,IAAI+D,EAAS/D,EAAWwR,0BACxBvpC,GAAsC,IAA/B+3B,EAAW0R,iBAClBzpC,EAAyB,aAAlB87B,EAAOjB,QACd9C,EAAW0R,iBAAkB,EACI,IAA7B1R,EAAWsI,OAAO3vB,QACpB+2B,EAAoB3L,EAExB,CACA,SAASgL,GAAuC/O,EAAY5mB,GAC1D,IAAI2qB,EAAS/D,EAAWwR,0BAGxB,GAFAvpC,GAAsC,IAA/B+3B,EAAW0R,iBAClBzpC,EAAyB,aAAlB87B,EAAOjB,SACyB,IAAnC4H,EAAuB3G,IAAoBoM,EAAiCpM,GAAU,EACxFkM,EAAiClM,EAAQ3qB,GAAO,OAC3C,CACL,IAAI6uB,EAAY,EAChB,QAAiC5+B,IAA7B22B,EAAWyI,cAA6B,CAC1C,IAAIO,EAAehJ,EAAWyI,cAC9B,IACER,EAAYe,EAAa5vB,EAI3B,CAHE,MAAO6vB,GAEP,MADA6I,GAA6C9R,EAAYiJ,GACnDA,CACR,CACF,CACA,IACEzG,EAAqBxC,EAAY5mB,EAAO6uB,EAI1C,CAHE,MAAOmB,GAEP,MADA0I,GAA6C9R,EAAYoJ,GACnDA,CACR,CACF,CACAyI,GAAgD7R,EAElD,CACA,SAASyO,GAAqCzO,EAAY1oB,GACxD,IAAIysB,EAAS/D,EAAWwR,0BACxBvpC,EAAyB,aAAlB87B,EAAOjB,QACdJ,EAAW1C,GACX8P,EAAoB/L,EAAQzsB,EAC9B,CACA,SAASw6B,GAA6C9R,EAAY1oB,GACZ,aAAhD0oB,EAAWwR,0BAA0B1O,QACvC2L,GAAqCzO,EAAY1oB,EAErD,CACA,SAASg5B,GAA8CtQ,GACrD,IAAI+D,EAAS/D,EAAWwR,0BACpBvN,EAAQF,EAAOjB,OACnB,MAAc,YAAVmB,EACK,KAEK,WAAVA,EACK,EAEFjE,EAAW0I,aAAe1I,EAAWuI,eAC9C,CACA,IAAI8J,GAA4B,WAC9B,SAASA,EAA0BrS,EAAY8Q,GAC7C1O,EAAgBnhC,KAAMoxC,GACtBpxC,KAAKqxC,wCAA0CtS,EAC/C/+B,KAAKsxC,MAAQzB,CACf,CAgCA,OA/BA9O,EAAaqQ,EAA2B,CAAC,CACvCzvC,IAAK,UACLN,MAAO,SAAiBkwC,GACtB,IAA0C,IAAtCC,GAA4BxxC,MAC9B,MAAMyxC,GAA+B,WAEvC,QAAqDrpC,IAAjDpI,KAAKqxC,wCACP,MAAM,IAAIhuB,UAAU,0CAEtBquB,GAAoC1xC,KAAKqxC,wCAAyCE,EACpF,GACC,CACD5vC,IAAK,qBACLN,MAAO,SAA4BwuC,GACjC,IAA0C,IAAtC2B,GAA4BxxC,MAC9B,MAAMyxC,GAA+B,WAEvC,QAAqDrpC,IAAjDpI,KAAKqxC,wCACP,MAAM,IAAIhuB,UAAU,0CAEtB,IAAKysB,YAAYC,OAAOF,GACtB,MAAM,IAAIxsB,UAAU,gDAEtBsuB,GAA+C3xC,KAAKqxC,wCAAyCxB,EAC/F,GACC,CACDluC,IAAK,OACLV,IAAK,WACH,OAAOjB,KAAKsxC,KACd,KAEKF,CACT,CAtCgC,GAuC5B9H,GAA+B,WACjC,SAASA,EAA6BxG,EAAQ8O,EAAsBnR,GAElE,GADAU,EAAgBnhC,KAAMspC,IACW,IAA7BE,EAAiB1G,GACnB,MAAM,IAAIzf,UAAU,2GAEtB,QAAyCjb,IAArC06B,EAAOsG,0BACT,MAAM,IAAI/lB,UAAU,oHAEtBrjB,KAAKuwC,0BAA4BzN,EACjC9iC,KAAK6xC,sBAAwBD,EAC7B5xC,KAAK0wC,YAAa,EAClB1wC,KAAK2wC,UAAW,EAChBmB,GAAkD9xC,MAClDA,KAAKqnC,OAASrnC,KAAKsnC,qBAAkBl/B,EACrCq5B,EAAWzhC,MACXA,KAAKywC,iBAAkB,EACvBzwC,KAAK8jC,UAAW,EAChB9jC,KAAKynC,aAAejH,EAAkCC,GACtD,IAAIsR,EAAwBH,EAAqBG,sBACjD,QAA8B3pC,IAA1B2pC,KAC8C,IAA5Ct8B,OAAOC,UAAUq8B,IAAoCA,GAAyB,GAChF,MAAM,IAAInW,WAAW,oDAGzB57B,KAAKgyC,uBAAyBD,EAC9B/xC,KAAKiyC,kBAAoB,GACzB,IAAIlT,EAAa/+B,KACb6nC,EAAc5H,EAAa2R,EAAsB,QAAS,CAAC5xC,OAC/D0d,QAAQC,QAAQkqB,GAAa1X,MAAK,WAChC4O,EAAW+E,UAAW,EACtB98B,GAA+B,IAAxB+3B,EAAW4R,UAClB3pC,GAAiC,IAA1B+3B,EAAW2R,YAClBwB,GAA6CnT,EAC/C,IAAG,SAAU79B,GACW,aAAlB4hC,EAAOjB,QACTsQ,GAAkCpT,EAAY79B,EAElD,IAAG6jC,MAAMnE,EACX,CAuHA,OAtHAG,EAAauI,EAA8B,CAAC,CAC1C3nC,IAAK,QACLN,MAAO,WACL,IAA6C,IAAzCsuC,GAA+B3vC,MACjC,MAAMoyC,GAAwC,SAEhD,IAA6B,IAAzBpyC,KAAKywC,gBACP,MAAM,IAAIptB,UAAU,8DAEtB,IAAI2f,EAAQhjC,KAAKuwC,0BAA0B1O,OAC3C,GAAc,aAAVmB,EACF,MAAM,IAAI3f,UAAU,kBAAoB2f,EAAQ,6DAElDqP,GAAkCryC,KACpC,GACC,CACD2B,IAAK,UACLN,MAAO,SAAiB8W,GACtB,IAA6C,IAAzCw3B,GAA+B3vC,MACjC,MAAMoyC,GAAwC,WAEhD,IAA6B,IAAzBpyC,KAAKywC,gBACP,MAAM,IAAIptB,UAAU,gCAEtB,IAAI2f,EAAQhjC,KAAKuwC,0BAA0B1O,OAC3C,GAAc,aAAVmB,EACF,MAAM,IAAI3f,UAAU,kBAAoB2f,EAAQ,kEAElD,IAAK8M,YAAYC,OAAO53B,GACtB,MAAM,IAAIkL,UAAU,qFAEtBivB,GAAoCtyC,KAAMmY,EAC5C,GACC,CACDxW,IAAK,QACLN,MAAO,SAAegV,GACpB,IAA6C,IAAzCs5B,GAA+B3vC,MACjC,MAAMoyC,GAAwC,SAEhD,IAAItP,EAAS9iC,KAAKuwC,0BAClB,GAAsB,aAAlBzN,EAAOjB,OACT,MAAM,IAAIxe,UAAU,iBAAmByf,EAAOjB,OAAS,6BAEzDsQ,GAAkCnyC,KAAMqW,EAC1C,GACC,CACD1U,IAAK,gBACLN,MAAO,SAAuBuwB,GAC5B,GAAI5xB,KAAKiyC,kBAAkBv6B,OAAS,EAAG,CACrC,IAAI66B,EAAkBvyC,KAAKiyC,kBAAkB,GAC7CM,EAAgBC,YAAc,CAChC,CAEA,OADA/Q,EAAWzhC,MACJkgC,EAAoBlgC,KAAK6xC,sBAAuB,SAAU,CAACjgB,GACpE,GACC,CACDjwB,IAAK,cACLN,MAAO,WACL,IAAIyhC,EAAS9iC,KAAKuwC,0BAElB,GADAvpC,GAAkD,IAA3CooC,GAA+BtM,IAClC9iC,KAAKsnC,gBAAkB,EAAG,CAC5BtgC,EAAoD,IAA7CkoC,EAAiCpM,IACxC,IAAI9I,EAAQh6B,KAAKqnC,OAAOzC,QACxB5kC,KAAKsnC,iBAAmBtN,EAAMthB,WAC9B+5B,GAA6CzyC,MAC7C,IAAI6vC,OAAO,EACX,IACEA,EAAO,IAAIt3B,WAAWyhB,EAAMvgB,OAAQugB,EAAM0Y,WAAY1Y,EAAMthB,WAG9D,CAFE,MAAOi6B,GACP,OAAOj1B,QAAQE,OAAO+0B,EACxB,CACA,OAAOj1B,QAAQC,QAAQmiB,EAAuB+P,GAAM,GACtD,CACA,IAAIkC,EAAwB/xC,KAAKgyC,uBACjC,QAA8B5pC,IAA1B2pC,EAAqC,CACvC,IAAIt4B,OAAS,EACb,IACEA,EAAS,IAAIq2B,YAAYiC,EAG3B,CAFE,MAAOa,GACP,OAAOl1B,QAAQE,OAAOg1B,EACxB,CACA,IAAIC,EAAqB,CACvBp5B,OAAQA,EACRi5B,WAAY,EACZh6B,WAAYq5B,EACZS,YAAa,EACbM,YAAa,EACbC,KAAMx6B,WACNy6B,WAAY,WAEdhzC,KAAKiyC,kBAAkB55B,KAAKw6B,EAC9B,CACA,IAAIp1B,EAAU4wB,EAA6BvL,GAE3C,OADAoP,GAA6ClyC,MACtCyd,CACT,GACC,CACD9b,IAAK,cACLV,IAAK,WACH,IAA6C,IAAzC0uC,GAA+B3vC,MACjC,MAAMoyC,GAAwC,eAEhD,QAA0BhqC,IAAtBpI,KAAKizC,cAA8BjzC,KAAKiyC,kBAAkBv6B,OAAS,EAAG,CACxE,IAAI66B,EAAkBvyC,KAAKiyC,kBAAkB,GACzCpC,EAAO,IAAIt3B,WAAWg6B,EAAgB94B,OAAQ84B,EAAgBG,WAAaH,EAAgBC,YAAaD,EAAgB75B,WAAa65B,EAAgBC,aACzJxyC,KAAKizC,aAAe,IAAI7B,GAA0BpxC,KAAM6vC,EAC1D,CACA,OAAO7vC,KAAKizC,YACd,GACC,CACDtxC,IAAK,cACLV,IAAK,WACH,IAA6C,IAAzC0uC,GAA+B3vC,MACjC,MAAMoyC,GAAwC,eAEhD,OAAOc,GAA2ClzC,KACpD,KAEKspC,CACT,CA/JmC,GAgKnC,SAASqG,GAA+Bz2B,GACtC,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,wBAI/C,CACA,SAASs4B,GAA4Bt4B,GACnC,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,0CAI/C,CACA,SAASg5B,GAA6CnT,GACpD,IAAIkS,EAAakC,GAA2CpU,GAC5D,IAAmB,IAAfkS,EAGJ,IAA4B,IAAxBlS,EAAW4R,SAAf,CAIA3pC,GAAiC,IAA1B+3B,EAAW2R,YAClB3R,EAAW4R,UAAW,EACtB,IAAIQ,EAAcjR,EAAoBnB,EAAW8S,sBAAuB,OAAQ,CAAC9S,IACjFoS,EAAYhhB,MAAK,WACf4O,EAAW4R,UAAW,GACQ,IAA1B5R,EAAW2R,aACb3R,EAAW2R,YAAa,EACxBwB,GAA6CnT,GAEjD,IAAG,SAAU1oB,GACyC,aAAhD0oB,EAAWwR,0BAA0B1O,QACvCsQ,GAAkCpT,EAAY1oB,EAElD,IAAG0uB,MAAMnE,EAdT,MAFE7B,EAAW2R,YAAa,CAkB5B,CACA,SAASoB,GAAkD/S,GACzDqU,GAAkDrU,GAClDA,EAAWkT,kBAAoB,EACjC,CACA,SAASoB,GAAqDvQ,EAAQ+P,GACpE7rC,EAAyB,YAAlB87B,EAAOjB,OAAsB,6BACpC,IAAIhZ,GAAO,EACW,WAAlBia,EAAOjB,SACT76B,EAA0C,IAAnC6rC,EAAmBL,aAC1B3pB,GAAO,GAET,IAAIyqB,EAAaC,GAAsDV,GACjC,YAAlCA,EAAmBG,WACrBhE,EAAiClM,EAAQwQ,EAAYzqB,IAErD7hB,EAAyC,SAAlC6rC,EAAmBG,YAC1BjE,EAAqCjM,EAAQwQ,EAAYzqB,GAE7D,CACA,SAAS0qB,GAAsDV,GAC7D,IAAIL,EAAcK,EAAmBL,YACjCM,EAAcD,EAAmBC,YAGrC,OAFA9rC,EAAOwrC,GAAeK,EAAmBn6B,YACzC1R,EAAOwrC,EAAcM,IAAgB,GAC9B,IAAID,EAAmBE,KAAKF,EAAmBp5B,OAAQo5B,EAAmBH,WAAYF,EAAcM,EAC7G,CACA,SAASU,GAAgDzU,EAAYtlB,EAAQi5B,EAAYh6B,GACvFqmB,EAAWsI,OAAOhvB,KAAK,CACrBoB,OAAQA,EACRi5B,WAAYA,EACZh6B,WAAYA,IAEdqmB,EAAWuI,iBAAmB5uB,CAChC,CACA,SAAS+6B,GAA4D1U,EAAY8T,GAC/E,IAAIC,EAAcD,EAAmBC,YACjCY,EAAsBb,EAAmBL,YAAcK,EAAmBL,YAAcM,EACxFa,EAAiB17B,KAAKC,IAAI6mB,EAAWuI,gBAAiBuL,EAAmBn6B,WAAam6B,EAAmBL,aACzGoB,EAAiBf,EAAmBL,YAAcmB,EAClDE,EAAkBD,EAAiBA,EAAiBd,EACpDgB,EAA4BH,EAC5BI,GAAQ,EACRF,EAAkBH,IACpBI,EAA4BD,EAAkBhB,EAAmBL,YACjEuB,GAAQ,GAEV,IAAIrf,EAAQqK,EAAWsI,OACvB,MAAOyM,EAA4B,EAAG,CACpC,IAAIE,EAActf,EAAM,GACpBuf,EAAch8B,KAAKC,IAAI47B,EAA2BE,EAAYt7B,YAC9Dw7B,EAAYrB,EAAmBH,WAAaG,EAAmBL,YACnE9S,EAAgBmT,EAAmBp5B,OAAQy6B,EAAWF,EAAYv6B,OAAQu6B,EAAYtB,WAAYuB,GAC9FD,EAAYt7B,aAAeu7B,EAC7Bvf,EAAMkQ,SAENoP,EAAYtB,YAAcuB,EAC1BD,EAAYt7B,YAAcu7B,GAE5BlV,EAAWuI,iBAAmB2M,EAC9BE,GAAuDpV,EAAYkV,EAAapB,GAChFiB,GAA6BG,CAC/B,CAMA,OALc,IAAVF,IACF/sC,EAAsC,IAA/B+3B,EAAWuI,gBAAuB,uBACzCtgC,EAAO6rC,EAAmBL,YAAc,GACxCxrC,EAAO6rC,EAAmBL,YAAcK,EAAmBC,cAEtDiB,CACT,CACA,SAASI,GAAuDpV,EAAY4B,EAAMkS,GAChF7rC,EAA+C,IAAxC+3B,EAAWkT,kBAAkBv6B,QAAgBqnB,EAAWkT,kBAAkB,KAAOY,GACxFO,GAAkDrU,GAClD8T,EAAmBL,aAAe7R,CACpC,CACA,SAAS8R,GAA6C1T,GACpD/3B,EAAuD,aAAhD+3B,EAAWwR,0BAA0B1O,QACT,IAA/B9C,EAAWuI,kBAAwD,IAA/BvI,EAAW0R,gBACjDhC,EAAoB1P,EAAWwR,2BAE/B2B,GAA6CnT,EAEjD,CACA,SAASqU,GAAkDrU,QACzB32B,IAA5B22B,EAAWkU,eAGflU,EAAWkU,aAAa5B,6CAA0CjpC,EAClE22B,EAAWkU,aAAa3B,WAAQlpC,EAChC22B,EAAWkU,kBAAe7qC,EAC5B,CACA,SAASgsC,GAAiErV,GACxE/3B,GAAsC,IAA/B+3B,EAAW0R,iBAClB,MAAO1R,EAAWkT,kBAAkBv6B,OAAS,EAAG,CAC9C,GAAmC,IAA/BqnB,EAAWuI,gBACb,OAEF,IAAIuL,EAAqB9T,EAAWkT,kBAAkB,IAC8C,IAAhGwB,GAA4D1U,EAAY8T,KAC1EwB,GAAiDtV,GACjDsU,GAAqDtU,EAAWwR,0BAA2BsC,GAE/F,CACF,CACA,SAASxC,GAAqCtR,EAAY8Q,GACxD,IAAI/M,EAAS/D,EAAWwR,0BACpBuC,EAAc,EACdjD,EAAKrnC,cAAgB8rC,WACvBxB,EAAcjD,EAAKrnC,YAAY+rC,mBAEjC,IAAIxB,EAAOlD,EAAKrnC,YACZqqC,EAAqB,CACvBp5B,OAAQo2B,EAAKp2B,OACbi5B,WAAY7C,EAAK6C,WACjBh6B,WAAYm3B,EAAKn3B,WACjB85B,YAAa,EACbM,YAAaA,EACbC,KAAMA,EACNC,WAAY,QAEd,GAAIjU,EAAWkT,kBAAkBv6B,OAAS,EAGxC,OAFAm7B,EAAmBp5B,OAAS8mB,EAAoBsS,EAAmBp5B,QACnEslB,EAAWkT,kBAAkB55B,KAAKw6B,GAC3B5E,EAAiCnL,GAE1C,GAAsB,WAAlBA,EAAOjB,OAAqB,CAC9B,IAAI2S,EAAY,IAAI3E,EAAKrnC,YAAYqqC,EAAmBp5B,OAAQo5B,EAAmBH,WAAY,GAC/F,OAAOh1B,QAAQC,QAAQmiB,EAAuB0U,GAAW,GAC3D,CACA,GAAIzV,EAAWuI,gBAAkB,EAAG,CAClC,IAAoG,IAAhGmM,GAA4D1U,EAAY8T,GAA8B,CACxG,IAAIS,EAAaC,GAAsDV,GAEvE,OADAJ,GAA6C1T,GACtCrhB,QAAQC,QAAQmiB,EAAuBwT,GAAY,GAC5D,CACA,IAAmC,IAA/BvU,EAAW0R,gBAA0B,CACvC,IAAIp6B,EAAI,IAAIgN,UAAU,2DAEtB,OADA8uB,GAAkCpT,EAAY1oB,GACvCqH,QAAQE,OAAOvH,EACxB,CACF,CACAw8B,EAAmBp5B,OAAS8mB,EAAoBsS,EAAmBp5B,QACnEslB,EAAWkT,kBAAkB55B,KAAKw6B,GAClC,IAAIp1B,EAAUwwB,EAAiCnL,GAE/C,OADAoP,GAA6CnT,GACtCthB,CACT,CACA,SAASg3B,GAAiD1V,EAAYwT,GACpEA,EAAgB94B,OAAS8mB,EAAoBgS,EAAgB94B,QAC7DzS,EAAuC,IAAhCurC,EAAgBC,YAAmB,yBAC1C,IAAI1P,EAAS/D,EAAWwR,0BACxB,IAA4C,IAAxCpB,EAA4BrM,GAC9B,MAAOmM,EAAqCnM,GAAU,EAAG,CACvD,IAAI+P,EAAqBwB,GAAiDtV,GAC1EsU,GAAqDvQ,EAAQ+P,EAC/D,CAEJ,CACA,SAAS6B,GAAmD3V,EAAYwS,EAAcsB,GACpF,GAAIA,EAAmBL,YAAcjB,EAAesB,EAAmBn6B,WACrE,MAAM,IAAIkjB,WAAW,6BAGvB,GADAuY,GAAuDpV,EAAYwS,EAAcsB,KAC7EA,EAAmBL,YAAcK,EAAmBC,aAAxD,CAGAuB,GAAiDtV,GACjD,IAAI4V,EAAgB9B,EAAmBL,YAAcK,EAAmBC,YACxE,GAAI6B,EAAgB,EAAG,CACrB,IAAIt9B,EAAMw7B,EAAmBH,WAAaG,EAAmBL,YACzDoC,EAAY/B,EAAmBp5B,OAAOwB,MAAM5D,EAAMs9B,EAAet9B,GACrEm8B,GAAgDzU,EAAY6V,EAAW,EAAGA,EAAUl8B,WACtF,CACAm6B,EAAmBp5B,OAAS8mB,EAAoBsS,EAAmBp5B,QACnEo5B,EAAmBL,aAAemC,EAClCtB,GAAqDtU,EAAWwR,0BAA2BsC,GAC3FuB,GAAiErV,EAXjE,CAYF,CACA,SAAS8V,GAA4C9V,EAAYwS,GAC/D,IAAIgB,EAAkBxT,EAAWkT,kBAAkB,GAC/CnP,EAAS/D,EAAWwR,0BACxB,GAAsB,WAAlBzN,EAAOjB,OAAqB,CAC9B,GAAqB,IAAjB0P,EACF,MAAM,IAAIluB,UAAU,oEAEtBoxB,GAAiD1V,EAAYwT,EAC/D,MACEvrC,EAAyB,aAAlB87B,EAAOjB,QACd6S,GAAmD3V,EAAYwS,EAAcgB,EAEjF,CACA,SAAS8B,GAAiDtV,GACxD,IAAIpU,EAAaoU,EAAWkT,kBAAkBrN,QAE9C,OADAwO,GAAkDrU,GAC3CpU,CACT,CACA,SAASwoB,GAA2CpU,GAClD,IAAI+D,EAAS/D,EAAWwR,0BACxB,MAAsB,aAAlBzN,EAAOjB,UAGwB,IAA/B9C,EAAW0R,mBAGa,IAAxB1R,EAAW+E,YAGgC,IAA3CsL,GAA+BtM,IAAoBoM,EAAiCpM,GAAU,KAGtD,IAAxCqM,EAA4BrM,IAAoBmM,EAAqCnM,GAAU,GAG/FoQ,GAA2CnU,GAAc,KAI/D,CACA,SAASsT,GAAkCtT,GACzC,IAAI+D,EAAS/D,EAAWwR,0BAGxB,GAFAvpC,GAAsC,IAA/B+3B,EAAW0R,iBAClBzpC,EAAyB,aAAlB87B,EAAOjB,QACV9C,EAAWuI,gBAAkB,EAC/BvI,EAAW0R,iBAAkB,MAD/B,CAIA,GAAI1R,EAAWkT,kBAAkBv6B,OAAS,EAAG,CAC3C,IAAIo9B,EAAuB/V,EAAWkT,kBAAkB,GACxD,GAAI6C,EAAqBtC,YAAc,EAAG,CACxC,IAAIn8B,EAAI,IAAIgN,UAAU,2DAEtB,MADA8uB,GAAkCpT,EAAY1oB,GACxCA,CACR,CACF,CACAo4B,EAAoB3L,EATpB,CAUF,CACA,SAASwP,GAAoCvT,EAAY5mB,GACvD,IAAI2qB,EAAS/D,EAAWwR,0BACxBvpC,GAAsC,IAA/B+3B,EAAW0R,iBAClBzpC,EAAyB,aAAlB87B,EAAOjB,QACd,IAAIpoB,EAAStB,EAAMsB,OACfi5B,EAAav6B,EAAMu6B,WACnBh6B,EAAaP,EAAMO,WACnBq8B,EAAoBxU,EAAoB9mB,GAC5C,IAA+C,IAA3C21B,GAA+BtM,GACjC,GAAiD,IAA7CoM,EAAiCpM,GACnC0Q,GAAgDzU,EAAYgW,EAAmBrC,EAAYh6B,OACtF,CACL1R,EAAoC,IAA7B+3B,EAAWsI,OAAO3vB,QACzB,IAAIs9B,EAAkB,IAAIz8B,WAAWw8B,EAAmBrC,EAAYh6B,GACpEs2B,EAAiClM,EAAQkS,GAAiB,EAC5D,MACiD,IAAxC7F,EAA4BrM,IACrC0Q,GAAgDzU,EAAYgW,EAAmBrC,EAAYh6B,GAC3F07B,GAAiErV,KAEjE/3B,GAA0C,IAAnCyiC,EAAuB3G,GAAmB,6BACjD0Q,GAAgDzU,EAAYgW,EAAmBrC,EAAYh6B,GAE/F,CACA,SAASy5B,GAAkCpT,EAAY1oB,GACrD,IAAIysB,EAAS/D,EAAWwR,0BACxBvpC,EAAyB,aAAlB87B,EAAOjB,QACdiQ,GAAkD/S,GAClD0C,EAAW1C,GACX8P,EAAoB/L,EAAQzsB,EAC9B,CACA,SAAS68B,GAA2CnU,GAClD,IAAI+D,EAAS/D,EAAWwR,0BACpBvN,EAAQF,EAAOjB,OACnB,MAAc,YAAVmB,EACK,KAEK,WAAVA,EACK,EAEFjE,EAAW0I,aAAe1I,EAAWuI,eAC9C,CACA,SAASoK,GAAoC3S,EAAYwS,GAEvD,GADAA,EAAe97B,OAAO87B,IAC0B,IAA5CxR,EAA0BwR,GAC5B,MAAM,IAAI3V,WAAW,iCAEvB50B,EAAO+3B,EAAWkT,kBAAkBv6B,OAAS,GAC7Cm9B,GAA4C9V,EAAYwS,EAC1D,CACA,SAASI,GAA+C5S,EAAY8Q,GAClE7oC,EAAO+3B,EAAWkT,kBAAkBv6B,OAAS,GAC7C,IAAI66B,EAAkBxT,EAAWkT,kBAAkB,GACnD,GAAIM,EAAgBG,WAAaH,EAAgBC,cAAgB3C,EAAK6C,WACpE,MAAM,IAAI9W,WAAW,2DAEvB,GAAI2W,EAAgB75B,aAAem3B,EAAKn3B,WACtC,MAAM,IAAIkjB,WAAW,8DAEvB2W,EAAgB94B,OAASo2B,EAAKp2B,OAC9Bo7B,GAA4C9V,EAAY8Q,EAAKn3B,WAC/D,CACA,SAASgqB,GAA0B/hC,GACjC,OAAO,IAAI0iB,UAAU,4BAA8B1iB,EAAO,wCAC5D,CACA,SAAS8uC,GAAoB9uC,GAC3B,OAAO,IAAI0iB,UAAU,UAAY1iB,EAAO,oCAC1C,CACA,SAAS4uC,GAAiC5uC,GACxC,OAAO,IAAI0iB,UAAU,yCAA2C1iB,EAAO,qDACzE,CACA,SAASsvC,GAAqCzF,GAC5CA,EAAO1F,eAAiB,IAAIpnB,SAAQ,SAAUC,EAASC,GACrD4sB,EAAO/B,uBAAyB9qB,EAChC6sB,EAAO9B,sBAAwB9qB,CACjC,GACF,CACA,SAASuyB,GAA+C3F,EAAQ5Y,GAC9D4Y,EAAO1F,eAAiBpnB,QAAQE,OAAOgU,GACvC4Y,EAAO/B,4BAAyBrgC,EAChCoiC,EAAO9B,2BAAwBtgC,CACjC,CACA,SAAS8nC,GAA+C1F,GACtDA,EAAO1F,eAAiBpnB,QAAQC,aAAQvV,GACxCoiC,EAAO/B,4BAAyBrgC,EAChCoiC,EAAO9B,2BAAwBtgC,CACjC,CACA,SAAS0mC,GAAiCtE,EAAQ5Y,GAChD5qB,OAAyCoB,IAAlCoiC,EAAO/B,wBACdzhC,OAAwCoB,IAAjCoiC,EAAO9B,uBACd8B,EAAO9B,sBAAsB9W,GAC7B4Y,EAAO/B,4BAAyBrgC,EAChCoiC,EAAO9B,2BAAwBtgC,CACjC,CACA,SAASgoC,GAA0C5F,EAAQ5Y,GACzD5qB,OAAyCoB,IAAlCoiC,EAAO/B,wBACdzhC,OAAwCoB,IAAjCoiC,EAAO9B,uBACd8B,EAAO1F,eAAiBpnB,QAAQE,OAAOgU,EACzC,CACA,SAASgd,GAAkCpE,GACzCxjC,OAAyCoB,IAAlCoiC,EAAO/B,wBACdzhC,OAAwCoB,IAAjCoiC,EAAO9B,uBACd8B,EAAO/B,4BAAuBrgC,GAC9BoiC,EAAO/B,4BAAyBrgC,EAChCoiC,EAAO9B,2BAAwBtgC,CACjC,CACA,SAASwnC,GAA8BjvC,GACrC,OAAO,IAAI0iB,UAAU,sCAAwC1iB,EAAO,kDACtE,CACA,SAASowC,GAAqCpwC,GAC5C,OAAO,IAAI0iB,UAAU,6CAA+C1iB,EAAO,yDAC7E,CACA,SAAS8wC,GAA+B9wC,GACtC,OAAO,IAAI0iB,UAAU,uCAAyC1iB,EAAO,mDACvE,CACA,SAASyxC,GAAwCzxC,GAC/C,OAAO,IAAI0iB,UAAU,0CAA4C1iB,EAAO,sDAC1E,CACA,SAASupC,GAAuEzsB,GAC9E,IACEC,QAAQ1b,UAAUmuB,KAAK5vB,KAAKkd,OAASrV,GAAW,WAAa,GAClD,CAAX,MAAOiO,GAAI,CACf,CACF,EAAG,SAAUvW,EAAQC,EAASI,GAG5B,IAAI80C,EAAkB90C,EAAoB,GACtC+0C,EAAiB/0C,EAAoB,GACrCg1C,EAAiBh1C,EAAoB,GACzCJ,EAAQq1C,gBAAkBH,EAAgBG,gBAC1Cr1C,EAAQkD,eAAiBiyC,EAAejyC,eACxClD,EAAQksC,0BAA4BiJ,EAAejJ,0BACnDlsC,EAAQ4tC,qCAAuCuH,EAAevH,qCAC9D5tC,EAAQ+tC,uCAAyCoH,EAAepH,uCAChE/tC,EAAQytC,qCAAuC0H,EAAe1H,qCAC9DztC,EAAQsvC,8CAAgD6F,EAAe7F,8CACvEtvC,EAAQ8iC,mCAAqCsS,EAAetS,mCAC5D9iC,EAAQ0iC,iBAAmB0S,EAAe1S,iBAC1C1iC,EAAQ4iC,uBAAyBwS,EAAexS,uBAChD5iC,EAAQ2hC,eAAiByT,EAAezT,eACxC3hC,EAAQ6iC,oBAAsBuS,EAAevS,oBAC7C7iC,EAAQqlC,qCAAuC+P,EAAe/P,qCAC9DrlC,EAAQslC,qDAAuD8P,EAAe9P,qDAC9EtlC,EAAQulC,mCAAqC6P,EAAe7P,mCAC5DvlC,EAAQwlC,iCAAmC4P,EAAe5P,gCAC5D,EAAG,SAAUzlC,EAAQC,EAASI,GAG5B,IAAI4gC,EAAe,WACjB,SAASnV,EAAiBtJ,EAAQ0e,GAChC,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CACrC,IAAIsqB,EAAaqW,EAAM3gC,GACvBsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EACjD2pB,EAAW9T,cAAe,EACtB,UAAW8T,IAAYA,EAAW7T,UAAW,GACjDhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAChD,CACF,CACA,OAAO,SAAUjB,EAAauX,EAAYC,GAGxC,OAFID,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GACpDC,GAAatV,EAAiBlC,EAAawX,GACxCxX,CACT,CACF,CAfmB,GAgBnB,SAASyX,EAAgB3G,EAAU9Q,GACjC,KAAM8Q,aAAoB9Q,GACxB,MAAM,IAAIrG,UAAU,oCAExB,CACA,IAAI4b,EAAW9+B,EAAoB,GAC/B6G,EAASi4B,EAASj4B,OAClBo6B,EAAYjhC,EAAoB,GAChC8/B,EAAemB,EAAUnB,aACzBG,EAAiCgB,EAAUhB,+BAC3CF,EAAsBkB,EAAUlB,oBAChCZ,EAAe8B,EAAU9B,aACzB+B,EAAYlhC,EAAoB,GAChC8C,EAAiBo+B,EAAUp+B,eAC3B0qC,EAAuCtM,EAAUsM,qCACjDG,EAAyCzM,EAAUyM,uCACnDN,EAAuCnM,EAAUmM,qCACjD6B,EAAgDhO,EAAUgO,8CAC1DtG,EAAY5oC,EAAoB,GAChCuhC,EAAiBqH,EAAUrH,eAC3B0D,EAAuC2D,EAAU3D,qCACrD,SAASiQ,EAA6BJ,GACpC,IAAiC,IAA7BA,EAAgBK,SAClB,MAAM,IAAIjyB,UAAU,sCAEtB,IAAwC,IAApC4xB,EAAgBM,gBAClB,MAAM,IAAIlyB,UAAU,mCAEtBmyB,EAAqCP,EACvC,CACA,SAASQ,EAAiCR,EAAiB98B,GACzD,IAAiC,IAA7B88B,EAAgBK,SAClB,MAAM,IAAIjyB,UAAU,sCAEtB,IAAwC,IAApC4xB,EAAgBM,gBAClB,MAAM,IAAIlyB,UAAU,mCAEtB,IAAI0b,EAAakW,EAAgBS,oBACjC,IACE5H,EAAuC/O,EAAY5mB,EAKrD,CAJE,MAAO9B,GAGP,MAFA4+B,EAAgBM,iBAAkB,EAClCI,EAA6BV,EAAiB5+B,GACxC4+B,EAAgBnT,YACxB,CACA,IAAI0G,EAAc6G,EAA8CtQ,GAC5D6W,EAAoBpN,GAAe,GACb,IAAtBoN,IAAgE,IAAlCX,EAAgB3S,eAChDuT,EAA+BZ,GAAiB,EAEpD,CACA,SAASa,EAAqBb,EAAiB5+B,GAC7C,IAAiC,IAA7B4+B,EAAgBK,SAClB,MAAM,IAAIjyB,UAAU,sCAEtB0yB,EAA6Bd,EAAiB5+B,EAChD,CACA,SAASm/B,EAAqCP,GAC5CjuC,GAAoC,IAA7BiuC,EAAgBK,UACvBtuC,GAA2C,IAApCiuC,EAAgBM,iBACvB,IACE5H,EAAqCsH,EAAgBS,oBAGvD,CAFE,MAAOr/B,GACPrP,GAAO,EACT,CACAiuC,EAAgBM,iBAAkB,CACpC,CACA,SAASI,EAA6BV,EAAiB5+B,IACpB,IAA7B4+B,EAAgBK,UAClBS,EAA6Bd,EAAiB5+B,EAElD,CACA,SAAS0/B,EAA6Bd,EAAiB5+B,GACrDrP,GAAoC,IAA7BiuC,EAAgBK,UACvBL,EAAgBK,UAAW,EAC3BL,EAAgBnT,aAAezrB,GACO,IAAlC4+B,EAAgBe,eAClB5Q,EAAqC6P,EAAgBgB,oBAAqB5/B,IAEpC,IAApC4+B,EAAgBM,iBAClB/H,EAAqCyH,EAAgBS,oBAAqBr/B,EAE9E,CACA,SAAS6/B,EAAoCjB,GAE3C,OADAjuC,OAAsDoB,IAA/C6sC,EAAgBkB,2BAA0C,4DAC3B,IAAlClB,EAAgB3S,cACX5kB,QAAQC,WAEjB3W,GAAyC,IAAlCiuC,EAAgB3S,cAAwB,8CACxC2S,EAAgBkB,2BACzB,CACA,SAASN,EAA+BZ,EAAiBhQ,GACvDj+B,EAAOiuC,EAAgB3S,gBAAkB2C,EAAc,4FACJ78B,IAA/C6sC,EAAgBkB,4BAClBlB,EAAgBmB,mCAAmCnR,GAErDgQ,EAAgBkB,2BAA6B,IAAIz4B,SAAQ,SAAUC,GACjEs3B,EAAgBmB,mCAAqCz4B,CACvD,IACAs3B,EAAgBkB,2BAA2BhmB,MAAK,SAAUkmB,GACxDrvC,EAAOqvC,IAAepR,EAAc,mFACtC,IACAgQ,EAAgB3S,cAAgB2C,CAClC,CACA,SAASqR,EAAgCn+B,EAAOo+B,GAC9C,IAAItB,EAAkBsB,EAA0BC,2BAEhD,OADAf,EAAiCR,EAAiB98B,GAC3CuF,QAAQC,SACjB,CACA,SAAS84B,EAAyBxB,EAAiB98B,GACjDnR,GAAoC,IAA7BiuC,EAAgBK,UACvBtuC,GAAyC,IAAlCiuC,EAAgByB,eACvB1vC,GAAyC,IAAlCiuC,EAAgB3S,eACvB2S,EAAgByB,eAAgB,EAChC,IAAIC,EAAc1B,EAAgB2B,aAC9B7X,EAAakW,EAAgB4B,2BAC7BC,EAAmB1W,EAA+BuW,EAAa,YAAa,CAACx+B,EAAO4mB,GAAauX,EAAiC,CAACn+B,EAAO4mB,IAC9I,OAAO+X,EAAiB3mB,MAAK,WAE3B,OADA8kB,EAAgByB,eAAgB,EACzBR,EAAoCjB,EAC7C,IAAG,SAAU5+B,GAEX,OADAs/B,EAA6BV,EAAiB5+B,GACvCqH,QAAQE,OAAOvH,EACxB,GACF,CACA,SAAS0gC,EAAmC79B,GAC1C,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,6BAI/C,CACA,SAAS89B,EAAkB99B,GACzB,QAAKomB,EAAapmB,MAGbpY,OAAOkB,UAAUC,eAAe1B,KAAK2Y,EAAG,6BAI/C,CACA,IAAI+9B,EAAsB,WACxB,SAASA,EAAoBhC,EAAiBiC,GAC5C/V,EAAgBnhC,KAAMi3C,GACtBj3C,KAAKm3C,iBAAmBlC,EACxBj1C,KAAKo3C,cAAgBF,CACvB,CA4CA,OA3CAnW,EAAakW,EAAqB,CAAC,CACjCt1C,IAAK,QACLN,MAAO,SAAeZ,GACpB,IAAIw0C,EAAkBj1C,KAAKm3C,iBAE3B,OADAlC,EAAgBgB,oBAAsBx1C,EAC/BT,KAAKo3C,cAAcjnB,MAAK,WAC7B,OAAO+lB,EAAoCjB,EAC7C,GACF,GACC,CACDtzC,IAAK,QACLN,MAAO,SAAe8W,GACpB,IAAI88B,EAAkBj1C,KAAKm3C,iBAC3B,OAAOV,EAAyBxB,EAAiB98B,EACnD,GACC,CACDxW,IAAK,QACLN,MAAO,WACL,IAAI4zC,EAAkBj1C,KAAKm3C,iBAC3BlC,EAAgBe,eAAgB,EAChCD,EAA6Bd,EAAiB,IAAI5xB,UAAU,yBAC9D,GACC,CACD1hB,IAAK,QACLN,MAAO,WACL,IAAI4zC,EAAkBj1C,KAAKm3C,iBAC3BnwC,GAAyC,IAAlCiuC,EAAgByB,eACvBzB,EAAgBe,eAAgB,EAChC,IAAIqB,EAAenX,EAAoB+U,EAAgB2B,aAAc,QAAS,CAAC3B,EAAgB4B,6BAC/F,OAAOQ,EAAalnB,MAAK,WACvB,OAAiC,IAA7B8kB,EAAgBK,SACX53B,QAAQE,OAAOq3B,EAAgBnT,gBAEA,IAApCmT,EAAgBM,iBAClBC,EAAqCP,GAEhCv3B,QAAQC,UACjB,IAAGonB,OAAM,SAAU7jC,GAEjB,OADAy0C,EAA6BV,EAAiB/zC,GACvCwc,QAAQE,OAAOq3B,EAAgBnT,aACxC,GACF,KAEKmV,CACT,CAlD0B,GAmDtBK,EAAwB,WAC1B,SAASA,EAAsBrC,EAAiBiC,GAC9C/V,EAAgBnhC,KAAMs3C,GACtBt3C,KAAKm3C,iBAAmBlC,EACxBj1C,KAAKo3C,cAAgBF,CACvB,CAgCA,OA/BAnW,EAAauW,EAAuB,CAAC,CACnC31C,IAAK,QACLN,MAAO,SAAeZ,GACpB,IAAIw0C,EAAkBj1C,KAAKm3C,iBAE3B,OADAlC,EAAgBS,oBAAsBj1C,EAC/BT,KAAKo3C,cAAcjnB,MAAK,WAE7B,OADAnpB,OAAsDoB,IAA/C6sC,EAAgBkB,2BAA0C,4DAC3B,IAAlClB,EAAgB3S,cACX5kB,QAAQC,WAEjB3W,GAAyC,IAAlCiuC,EAAgB3S,cAAyB,8CACzC2S,EAAgBkB,2BACzB,GACF,GACC,CACDx0C,IAAK,OACLN,MAAO,WACL,IAAI4zC,EAAkBj1C,KAAKm3C,iBAI3B,OAHAnwC,GAAyC,IAAlCiuC,EAAgB3S,cAAwB,8DAC/Ct7B,OAAsDoB,IAA/C6sC,EAAgBkB,2BAA0C,2DACjEN,EAA+BZ,GAAiB,GACzCA,EAAgBkB,0BACzB,GACC,CACDx0C,IAAK,SACLN,MAAO,WACL,IAAI4zC,EAAkBj1C,KAAKm3C,iBAC3BlC,EAAgBM,iBAAkB,EAClCQ,EAA6Bd,EAAiB,IAAI5xB,UAAU,0BAC9D,KAEKi0B,CACT,CAtC4B,GAuCxBC,EAAmC,WACrC,SAASA,EAAiCtC,GAExC,GADA9T,EAAgBnhC,KAAMu3C,IACqB,IAAvCP,EAAkB/B,GACpB,MAAM,IAAI5xB,UAAU,4FAEtB,QAAmDjb,IAA/C6sC,EAAgB4B,2BAClB,MAAM,IAAIxzB,UAAU,qGAEtBrjB,KAAKw2C,2BAA6BvB,CACpC,CAoCA,OAnCAlU,EAAawW,EAAkC,CAAC,CAC9C51C,IAAK,UACLN,MAAO,SAAiB8W,GACtB,IAAiD,IAA7C4+B,EAAmC/2C,MACrC,MAAM+wC,EAAqC,WAE7C0E,EAAiCz1C,KAAKw2C,2BAA4Br+B,EACpE,GACC,CACDxW,IAAK,QACLN,MAAO,WACL,IAAiD,IAA7C01C,EAAmC/2C,MACrC,MAAM+wC,EAAqC,SAE7CsE,EAA6Br1C,KAAKw2C,2BACpC,GACC,CACD70C,IAAK,QACLN,MAAO,SAAeuwB,GACpB,IAAiD,IAA7CmlB,EAAmC/2C,MACrC,MAAM+wC,EAAqC,SAE7C+E,EAAqB91C,KAAKw2C,2BAA4B5kB,EACxD,GACC,CACDjwB,IAAK,cACLV,IAAK,WACH,IAAiD,IAA7C81C,EAAmC/2C,MACrC,MAAM+wC,EAAqC,eAE7C,IAAIkE,EAAkBj1C,KAAKw2C,2BACvBgB,EAAqBvC,EAAgBS,oBACzC,OAAOrG,EAA8CmI,EACvD,KAEKD,CACT,CA/CuC,GAgDnCnC,EAAkB,WACpB,SAASA,IACP,IAAIuB,EAAc95B,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACvFskB,EAAgBnhC,KAAMo1C,GACtBp1C,KAAK42C,aAAeD,EACpB,IAAIc,EAAmBd,EAAYc,iBAC/BC,EAAmBf,EAAYe,iBACnC13C,KAAK02C,eAAgB,EACrB12C,KAAKs1C,UAAW,EAChBt1C,KAAK8hC,kBAAe15B,EACpBpI,KAAKi2C,yBAAsB7tC,EAC3BpI,KAAK01C,yBAAsBttC,EAC3BpI,KAAK62C,gCAA6BzuC,EAClCpI,KAAKg2C,eAAgB,EACrBh2C,KAAKu1C,iBAAkB,EACvBv1C,KAAKsiC,mBAAgBl6B,EACrBpI,KAAKm2C,gCAA6B/tC,EAClCpI,KAAKo2C,wCAAqChuC,EAC1CpI,KAAK62C,2BAA6B,IAAIU,EAAiCv3C,MACvE,IAAI23C,OAAuB,EACvBT,EAAe,IAAIx5B,SAAQ,SAAUC,GACvCg6B,EAAuBh6B,CACzB,IACI+D,EAAS,IAAI41B,EAAsBt3C,KAAMk3C,GAC7Cl3C,KAAK43C,UAAY,IAAI30C,EAAeye,EAAQ+1B,GAC5C,IAAII,EAAO,IAAIZ,EAAoBj3C,KAAMk3C,GACzCl3C,KAAK83C,UAAY,IAAIpW,EAAemW,EAAMH,GAC1C1wC,OAAoCoB,IAA7BpI,KAAKi2C,qBACZjvC,OAAoCoB,IAA7BpI,KAAK01C,qBACZ,IAAIlN,EAAc6G,EAA8CrvC,KAAK01C,qBACrEG,EAA+B71C,KAAMwoC,GAAe,GACpD,IAAIyM,EAAkBj1C,KAClB6nC,EAAc5H,EAAa0W,EAAa,QAAS,CAAC1B,EAAgB4B,6BACtEc,EAAqB9P,GACrBqP,EAAanS,OAAM,SAAU1uB,IACM,IAA7B4+B,EAAgBK,WAClBL,EAAgBK,UAAW,EAC3BL,EAAgBnT,aAAezrB,EAEnC,GACF,CAkBA,OAjBA0qB,EAAaqU,EAAiB,CAAC,CAC7BzzC,IAAK,WACLV,IAAK,WACH,IAAgC,IAA5B+1C,EAAkBh3C,MACpB,MAAM0iC,EAA0B,YAElC,OAAO1iC,KAAK43C,SACd,GACC,CACDj2C,IAAK,WACLV,IAAK,WACH,IAAgC,IAA5B+1C,EAAkBh3C,MACpB,MAAM0iC,EAA0B,YAElC,OAAO1iC,KAAK83C,SACd,KAEK1C,CACT,CA3DsB,GA6DtB,SAASrE,EAAqCpwC,GAC5C,OAAO,IAAI0iB,UAAU,8CAAgD1iB,EAAO,0DAC9E,CACA,SAAS+hC,EAA0B/hC,GACjC,OAAO,IAAI0iB,UAAU,6BAA+B1iB,EAAO,yCAC7D,CANAb,EAAOC,QAAU,CAAEq1C,gBAAiBA,EAOtC,EAAG,SAAUt1C,EAAQC,EAASI,GAC5BL,EAAOC,QAAUI,EAAoB,EACvC,IAEO,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGA,IAAIkI,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAGrQwvC,GAAiB,EACrB,IACE,GAAmB,oBAARlzC,KAAiD,WAA3BwD,EAAQxD,IAAI7C,YAA2B,WAAY6C,IAAI7C,UAAW,CACjG,IAAIg2C,EAAI,IAAInzC,IAAI,IAAK,YACrBmzC,EAAEC,SAAW,QACbF,EAA4B,mBAAXC,EAAEE,IACrB,CACY,CAAZ,MAAOvhC,GAAK,CACd,GAAIohC,EACFh4C,EAAQ8E,IAAMA,QACT,CACL,IAAIszC,EAAch4C,EAAoB,KAAK0E,IACvCuzC,EAAcj4C,EAAoB,GAAG0E,IACrCuzC,IACFD,EAAY1zC,gBAAkB,SAAUuZ,GACtC,OAAOo6B,EAAY3zC,gBAAgBqT,MAAMsgC,EAAav7B,UACxD,EACAs7B,EAAYE,gBAAkB,SAAU7hC,GACtC4hC,EAAYC,gBAAgB7hC,EAC9B,GAEFzW,EAAQ8E,IAAMszC,CAChB,CAGK,EAED,SAAUr4C,EAAQC,EAASI,GAEjC,cAGA,WAGE,IAAIm4C,EAAWx3C,OAAOY,OAAO,MAC7B42C,EAAS,OAAS,GAClBA,EAAS,QAAU,EACnBA,EAAS,UAAY,GACrBA,EAAS,QAAU,GACnBA,EAAS,SAAW,IACpBA,EAAS,MAAQ,GACjBA,EAAS,OAAS,IAClB,IAAIC,EAAyBz3C,OAAOY,OAAO,MAK3C,SAAS82C,EAAiBC,GACxB,YAA4BrwC,IAArBkwC,EAASG,EAClB,CACA,SAASC,IACPljB,EAAMj1B,KAAKP,MACXA,KAAK24C,YAAa,CACpB,CACA,SAASC,EAAYC,GAInB,MAHU,KAANA,GACFH,EAAQn4C,KAAKP,MAER64C,EAAE77B,aACX,CACA,SAAS87B,EAAcr4C,GACrB,IAAIs4C,EAAUt4C,EAAE+X,WAAW,GAC3B,OAAIugC,EAAU,IAAQA,EAAU,MAAmE,IAA3D,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,IAAM53B,QAAQ43B,GAC5Et4C,EAEF6c,mBAAmB7c,EAC5B,CACA,SAASu4C,EAAmBv4C,GAC1B,IAAIs4C,EAAUt4C,EAAE+X,WAAW,GAC3B,OAAIugC,EAAU,IAAQA,EAAU,MAA6D,IAArD,CAAC,GAAM,GAAM,GAAM,GAAM,IAAM53B,QAAQ43B,GACtEt4C,EAEF6c,mBAAmB7c,EAC5B,CA9BA83C,EAAuB,OAAS,IAChCA,EAAuB,QAAU,KACjCA,EAAuB,QAAU,KACjCA,EAAuB,UAAY,KA4BnC,IAAIU,EACAC,EAAQ,WACRC,EAAe,oBACnB,SAASC,EAAM/5B,EAAOg6B,EAAeljC,GACnC,SAASmc,EAAIpb,GACXoiC,EAAOjhC,KAAKnB,EACd,CACA,IAAI8rB,EAAQqW,GAAiB,eACzBE,EAAS,EACT9/B,EAAS,GACT+/B,GAAS,EACTC,GAAc,EACdH,EAAS,GACbI,EAAM,OAAQr6B,EAAMk6B,EAAS,KAAON,GAAkB,IAAXM,KAAkBv5C,KAAK24C,WAAY,CAC5E,IAAIl4C,EAAI4e,EAAMk6B,GACd,OAAQvW,GACN,IAAK,eACH,IAAIviC,IAAKy4C,EAAM/wB,KAAK1nB,GAGb,IAAK44C,EAIL,CACL/mB,EAAI,mBACJ,MAAMonB,CACR,CANEjgC,EAAS,GACTupB,EAAQ,YACR,QAIF,CATEvpB,GAAUhZ,EAAEuc,cACZgmB,EAAQ,SASV,MACF,IAAK,SACH,GAAIviC,GAAK04C,EAAahxB,KAAK1nB,GACzBgZ,GAAUhZ,EAAEuc,kBACP,IAAU,MAANvc,EAkBJ,IAAK44C,EAKL,IAAI54C,IAAMw4C,EACf,MAAMS,EAENpnB,EAAI,qCAAuC7xB,GAC3C,MAAMi5C,CACR,CATEjgC,EAAS,GACT8/B,EAAS,EACTvW,EAAQ,YACR,QAMF,CAzBE,GAFAhjC,KAAK25C,QAAUlgC,EACfA,EAAS,GACL4/B,EACF,MAAMK,EAEJlB,EAAiBx4C,KAAK25C,WACxB35C,KAAK45C,aAAc,GAGnB5W,EADmB,SAAjBhjC,KAAK25C,QACC,WACC35C,KAAK45C,aAAezjC,GAAQA,EAAKwjC,UAAY35C,KAAK25C,QACnD,wBACC35C,KAAK45C,YACN,wBAEA,aAYZ,CACA,MACF,IAAK,cACO,MAANn5C,GACFT,KAAK65C,OAAS,IACd7W,EAAQ,SACO,MAANviC,GACTT,KAAK85C,UAAY,IACjB9W,EAAQ,YAEJviC,IAAMw4C,GAAa,OAANx4C,GAAoB,OAANA,GAAoB,OAANA,IAC3CT,KAAK+5C,aAAejB,EAAcr4C,IAGtC,MACF,IAAK,YACH,GAAK0V,GAASqiC,EAAiBriC,EAAKwjC,SAG7B,CACL3W,EAAQ,WACR,QACF,CALE1Q,EAAI,mBACJomB,EAAQn4C,KAAKP,MAKf,MACF,IAAK,wBACH,GAAU,MAANS,GAAmC,MAAtB4e,EAAMk6B,EAAS,GAEzB,CACLjnB,EAAI,oBAAsB7xB,GAC1BuiC,EAAQ,WACR,QACF,CALEA,EAAQ,2BAMV,MACF,IAAK,WAKH,GAJAhjC,KAAK45C,aAAc,EACE,SAAjB55C,KAAK25C,UACP35C,KAAK25C,QAAUxjC,EAAKwjC,SAElBl5C,IAAMw4C,EAAK,CACbj5C,KAAKg6C,MAAQ7jC,EAAK6jC,MAClBh6C,KAAKi6C,MAAQ9jC,EAAK8jC,MAClBj6C,KAAKk6C,MAAQ/jC,EAAK+jC,MAAMj/B,QACxBjb,KAAK65C,OAAS1jC,EAAK0jC,OACnB75C,KAAKm6C,UAAYhkC,EAAKgkC,UACtBn6C,KAAKo6C,UAAYjkC,EAAKikC,UACtB,MAAMV,CACR,CAAO,GAAU,MAANj5C,GAAmB,OAANA,EACZ,OAANA,GACF6xB,EAAI,gCAEN0Q,EAAQ,sBACH,GAAU,MAANviC,EACTT,KAAKg6C,MAAQ7jC,EAAK6jC,MAClBh6C,KAAKi6C,MAAQ9jC,EAAK8jC,MAClBj6C,KAAKk6C,MAAQ/jC,EAAK+jC,MAAMj/B,QACxBjb,KAAK65C,OAAS,IACd75C,KAAKm6C,UAAYhkC,EAAKgkC,UACtBn6C,KAAKo6C,UAAYjkC,EAAKikC,UACtBpX,EAAQ,YACH,IAAU,MAANviC,EASJ,CACL,IAAI45C,EAAQh7B,EAAMk6B,EAAS,GACvBe,EAAYj7B,EAAMk6B,EAAS,IACV,SAAjBv5C,KAAK25C,UAAuBT,EAAM/wB,KAAK1nB,IAAgB,MAAV45C,GAA2B,MAAVA,GAAiBC,IAAcrB,GAAqB,MAAdqB,GAAmC,OAAdA,GAAoC,MAAdA,GAAmC,MAAdA,KACtKt6C,KAAKg6C,MAAQ7jC,EAAK6jC,MAClBh6C,KAAKi6C,MAAQ9jC,EAAK8jC,MAClBj6C,KAAKm6C,UAAYhkC,EAAKgkC,UACtBn6C,KAAKo6C,UAAYjkC,EAAKikC,UACtBp6C,KAAKk6C,MAAQ/jC,EAAK+jC,MAAMj/B,QACxBjb,KAAKk6C,MAAMK,OAEbvX,EAAQ,gBACR,QACF,CArBEhjC,KAAKg6C,MAAQ7jC,EAAK6jC,MAClBh6C,KAAKi6C,MAAQ9jC,EAAK8jC,MAClBj6C,KAAKk6C,MAAQ/jC,EAAK+jC,MAAMj/B,QACxBjb,KAAK65C,OAAS1jC,EAAK0jC,OACnB75C,KAAK85C,UAAY,IACjB95C,KAAKm6C,UAAYhkC,EAAKgkC,UACtBn6C,KAAKo6C,UAAYjkC,EAAKikC,UACtBpX,EAAQ,UAcV,CACA,MACF,IAAK,iBACH,GAAU,MAANviC,GAAmB,OAANA,EASV,CACgB,SAAjBT,KAAK25C,UACP35C,KAAKg6C,MAAQ7jC,EAAK6jC,MAClBh6C,KAAKi6C,MAAQ9jC,EAAK8jC,MAClBj6C,KAAKm6C,UAAYhkC,EAAKgkC,UACtBn6C,KAAKo6C,UAAYjkC,EAAKikC,WAExBpX,EAAQ,gBACR,QACF,CAjBY,OAANviC,GACF6xB,EAAI,gCAGJ0Q,EADmB,SAAjBhjC,KAAK25C,QACC,YAEA,2BAYZ,MACF,IAAK,wBACH,GAAU,MAANl5C,EAEG,CACL6xB,EAAI,sBAA0B7xB,GAC9BuiC,EAAQ,2BACR,QACF,CALEA,EAAQ,yBAMV,MACF,IAAK,yBAEH,GADAA,EAAQ,2BACE,MAANviC,EAAW,CACb6xB,EAAI,sBAA0B7xB,GAC9B,QACF,CACA,MACF,IAAK,2BACH,GAAU,MAANA,GAAmB,OAANA,EAAY,CAC3BuiC,EAAQ,YACR,QACF,CACE1Q,EAAI,4BAA8B7xB,GAEpC,MACF,IAAK,YACH,GAAU,MAANA,EAAW,CACT+4C,IACFlnB,EAAI,mBACJ7Y,GAAU,OAEZ+/B,GAAS,EACT,IAAK,IAAIn5C,EAAI,EAAGA,EAAIoZ,EAAO/B,OAAQrX,IAAK,CACtC,IAAIm6C,EAAK/gC,EAAOpZ,GAChB,GAAW,OAAPm6C,GAAsB,OAAPA,GAAsB,OAAPA,EAIlC,GAAW,MAAPA,GAAiC,OAAnBx6C,KAAKo6C,UAAvB,CAIA,IAAIK,EAAQ3B,EAAc0B,GACH,OAAnBx6C,KAAKo6C,UACPp6C,KAAKo6C,WAAaK,EAElBz6C,KAAKm6C,WAAaM,CALpB,MAFEz6C,KAAKo6C,UAAY,QAJjB9nB,EAAI,mCAaR,CACA7Y,EAAS,EACX,KAAO,IAAIhZ,IAAMw4C,GAAa,MAANx4C,GAAmB,OAANA,GAAoB,MAANA,GAAmB,MAANA,EAAW,CACzE84C,GAAU9/B,EAAO/B,OACjB+B,EAAS,GACTupB,EAAQ,OACR,QACF,CACEvpB,GAAUhZ,CACZ,CACA,MACF,IAAK,YACH,GAAIA,IAAMw4C,GAAa,MAANx4C,GAAmB,OAANA,GAAoB,MAANA,GAAmB,MAANA,EAAW,CAC5C,IAAlBgZ,EAAO/B,SAAgBwhC,EAAM/wB,KAAK1O,EAAO,KAAsB,MAAdA,EAAO,IAA4B,MAAdA,EAAO,IAEpD,IAAlBA,EAAO/B,SAGhB1X,KAAKg6C,MAAQpB,EAAYr4C,KAAKP,KAAMyZ,GACpCA,EAAS,IAHTupB,EAAQ,uBAFRA,EAAQ,gBAQV,QACF,CAAiB,OAANviC,GAAoB,OAANA,GAAoB,OAANA,EACrC6xB,EAAI,oCAEJ7Y,GAAUhZ,EAEZ,MACF,IAAK,OACL,IAAK,WACH,GAAU,MAANA,GAAcg5C,EAOX,IAAIh5C,IAAMw4C,GAAa,MAANx4C,GAAmB,OAANA,GAAoB,MAANA,GAAmB,MAANA,EAAW,CAIzE,GAHAT,KAAKg6C,MAAQpB,EAAYr4C,KAAKP,KAAMyZ,GACpCA,EAAS,GACTupB,EAAQ,sBACJqW,EACF,MAAMK,EAER,QACF,CAAiB,OAANj5C,GAAoB,OAANA,GAAoB,OAANA,GAC3B,MAANA,EACFg5C,GAAc,EACC,MAANh5C,IACTg5C,GAAc,GAEhBhgC,GAAUhZ,GAEV6xB,EAAI,wCAA0C7xB,EAChD,MApBE,GAHAT,KAAKg6C,MAAQpB,EAAYr4C,KAAKP,KAAMyZ,GACpCA,EAAS,GACTupB,EAAQ,OACc,aAAlBqW,EACF,MAAMK,EAoBV,MACF,IAAK,OACH,GAAI,QAAQvxB,KAAK1nB,GACfgZ,GAAUhZ,MACL,IAAIA,IAAMw4C,GAAa,MAANx4C,GAAmB,OAANA,GAAoB,MAANA,GAAmB,MAANA,GAAa44C,EAAe,CAC1F,GAAe,KAAX5/B,EAAe,CACjB,IAAIihC,EAAOC,SAASlhC,EAAQ,IACxBihC,IAASpC,EAASt4C,KAAK25C,WACzB35C,KAAKi6C,MAAQS,EAAO,IAEtBjhC,EAAS,EACX,CACA,GAAI4/B,EACF,MAAMK,EAER1W,EAAQ,sBACR,QACF,CAAiB,OAANviC,GAAoB,OAANA,GAAoB,OAANA,EACrC6xB,EAAI,+BAAiC7xB,GAErCi4C,EAAQn4C,KAAKP,KACf,CACA,MACF,IAAK,sBAKH,GAJU,OAANS,GACF6xB,EAAI,6BAEN0Q,EAAQ,gBACE,MAANviC,GAAmB,OAANA,EACf,SAEF,MACF,IAAK,gBAKD,IAAIm3B,EAJN,GAAIn3B,IAAMw4C,GAAa,MAANx4C,GAAmB,OAANA,IAAe44C,GAAwB,MAAN54C,GAAmB,MAANA,GA6B3D,OAANA,GAAoB,OAANA,GAAoB,OAANA,IACrCgZ,GAAUq/B,EAAcr4C,QA7Bd,OAANA,GACF6xB,EAAI,qCAGFsF,EAAM2gB,EAAuB9+B,EAAOuD,kBACtCvD,EAASme,GAEI,OAAXne,GACFzZ,KAAKk6C,MAAMK,MACD,MAAN95C,GAAmB,OAANA,GACfT,KAAKk6C,MAAM7hC,KAAK,KAEE,MAAXoB,GAAwB,MAANhZ,GAAmB,OAANA,EACxCT,KAAKk6C,MAAM7hC,KAAK,IACI,MAAXoB,IACY,SAAjBzZ,KAAK25C,SAA4C,IAAtB35C,KAAKk6C,MAAMxiC,QAAkC,IAAlB+B,EAAO/B,QAAgBwhC,EAAM/wB,KAAK1O,EAAO,KAAqB,MAAdA,EAAO,KAC/GA,EAASA,EAAO,GAAK,KAEvBzZ,KAAKk6C,MAAM7hC,KAAKoB,IAElBA,EAAS,GACC,MAANhZ,GACFT,KAAK65C,OAAS,IACd7W,EAAQ,SACO,MAANviC,IACTT,KAAK85C,UAAY,IACjB9W,EAAQ,YAKZ,MACF,IAAK,QACEqW,GAAuB,MAAN54C,EAGXA,IAAMw4C,GAAa,OAANx4C,GAAoB,OAANA,GAAoB,OAANA,IAClDT,KAAK65C,QAAUb,EAAmBv4C,KAHlCT,KAAK85C,UAAY,IACjB9W,EAAQ,YAIV,MACF,IAAK,WACCviC,IAAMw4C,GAAa,OAANx4C,GAAoB,OAANA,GAAoB,OAANA,IAC3CT,KAAK85C,WAAar5C,GAEpB,MAEJ84C,GACF,CACF,CACA,SAAS/jB,IACPx1B,KAAK25C,QAAU,GACf35C,KAAK+5C,YAAc,GACnB/5C,KAAKm6C,UAAY,GACjBn6C,KAAKo6C,UAAY,KACjBp6C,KAAKg6C,MAAQ,GACbh6C,KAAKi6C,MAAQ,GACbj6C,KAAKk6C,MAAQ,GACbl6C,KAAK65C,OAAS,GACd75C,KAAK85C,UAAY,GACjB95C,KAAK24C,YAAa,EAClB34C,KAAK45C,aAAc,CACrB,CACA,SAASgB,EAAKpkC,EAAKL,QACJ/N,IAAT+N,GAAwBA,aAAgBykC,IAC1CzkC,EAAO,IAAIykC,EAAKhjC,OAAOzB,KAEzBnW,KAAK66C,KAAOrkC,EACZgf,EAAMj1B,KAAKP,MACX,IAAIqf,EAAQ7I,EAAIgB,QAAQ,+BAAgC,IACxD4hC,EAAM74C,KAAKP,KAAMqf,EAAO,KAAMlJ,EAChC,CACAykC,EAAK54C,UAAY,CACfmd,SAAU,WACR,OAAOnf,KAAKk4C,IACd,EAEIA,WACF,GAAIl4C,KAAK24C,WACP,OAAO34C,KAAK66C,KAEd,IAAIC,EAAY,GAIhB,MAHuB,KAAnB96C,KAAKm6C,WAAuC,OAAnBn6C,KAAKo6C,YAChCU,EAAY96C,KAAKm6C,WAAgC,OAAnBn6C,KAAKo6C,UAAqB,IAAMp6C,KAAKo6C,UAAY,IAAM,KAEhFp6C,KAAKyW,UAAYzW,KAAK45C,YAAc,KAAOkB,EAAY96C,KAAK+6C,KAAO,IAAM/6C,KAAKi4C,SAAWj4C,KAAK65C,OAAS75C,KAAK85C,SACrH,EACI5B,SAAK72C,GACPm0B,EAAMj1B,KAAKP,MACXo5C,EAAM74C,KAAKP,KAAMqB,EACnB,EACIoV,eACF,OAAOzW,KAAK25C,QAAU,GACxB,EACIljC,aAASpV,GACPrB,KAAK24C,YAGTS,EAAM74C,KAAKP,KAAMqB,EAAQ,IAAK,eAChC,EACI05C,WACF,OAAO/6C,KAAK24C,WAAa,GAAK34C,KAAKi6C,MAAQj6C,KAAKg6C,MAAQ,IAAMh6C,KAAKi6C,MAAQj6C,KAAKg6C,KAClF,EACIe,SAAK15C,IACHrB,KAAK24C,YAAe34C,KAAK45C,aAG7BR,EAAM74C,KAAKP,KAAMqB,EAAO,OAC1B,EACI25C,eACF,OAAOh7C,KAAKg6C,KACd,EACIgB,aAAS35C,IACPrB,KAAK24C,YAAe34C,KAAK45C,aAG7BR,EAAM74C,KAAKP,KAAMqB,EAAO,WAC1B,EACI0yB,WACF,OAAO/zB,KAAKi6C,KACd,EACIlmB,SAAK1yB,IACHrB,KAAK24C,YAAe34C,KAAK45C,aAG7BR,EAAM74C,KAAKP,KAAMqB,EAAO,OAC1B,EACI42C,eACF,OAAOj4C,KAAK24C,WAAa,GAAK34C,KAAK45C,YAAc,IAAM55C,KAAKk6C,MAAM5hC,KAAK,KAAOtY,KAAK+5C,WACrF,EACI9B,aAAS52C,IACPrB,KAAK24C,YAAe34C,KAAK45C,cAG7B55C,KAAKk6C,MAAQ,GACbd,EAAM74C,KAAKP,KAAMqB,EAAO,uBAC1B,EACI45C,aACF,OAAOj7C,KAAK24C,aAAe34C,KAAK65C,QAA0B,MAAhB75C,KAAK65C,OAAiB,GAAK75C,KAAK65C,MAC5E,EACIoB,WAAO55C,IACLrB,KAAK24C,YAAe34C,KAAK45C,cAG7B55C,KAAK65C,OAAS,IACG,MAAbx4C,EAAM,KACRA,EAAQA,EAAM4Z,MAAM,IAEtBm+B,EAAM74C,KAAKP,KAAMqB,EAAO,SAC1B,EACI65C,WACF,OAAOl7C,KAAK24C,aAAe34C,KAAK85C,WAAgC,MAAnB95C,KAAK85C,UAAoB,GAAK95C,KAAK85C,SAClF,EACIoB,SAAK75C,GACHrB,KAAK24C,aAGT34C,KAAK85C,UAAY,IACA,MAAbz4C,EAAM,KACRA,EAAQA,EAAM4Z,MAAM,IAEtBm+B,EAAM74C,KAAKP,KAAMqB,EAAO,YAC1B,EACI+U,aACF,IAAI2kC,EACJ,GAAI/6C,KAAK24C,aAAe34C,KAAK25C,QAC3B,MAAO,GAET,OAAQ35C,KAAK25C,SACX,IAAK,OACL,IAAK,OACL,IAAK,aACL,IAAK,SACH,MAAO,OACT,IAAK,OACH,IACE,OAAO,IAAIiB,EAAK56C,KAAK+5C,aAAa3jC,QAAU,MACjC,CAAX,MAAO+kC,GAAI,CACb,MAAO,OAGX,OADAJ,EAAO/6C,KAAK+6C,KACPA,EAGE/6C,KAAK25C,QAAU,MAAQoB,EAFrB,EAGX,GAEFh7C,EAAQ8E,IAAM+1C,CACf,EAnhBD,EAqhBO,EAED,SAAU96C,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQqD,MAAQrD,EAAQsD,QAAUtD,EAAQ+C,2BAA6B/C,EAAQq7C,aAAer7C,EAAQs7C,iBAAmBt7C,EAAQ0D,UAAY1D,EAAQyD,sBAAwBzD,EAAQwD,aAAexD,EAAQuD,iBAAc8E,EAE1N,IAAIkzC,EAAiB,WAAc,SAASC,EAAc9iC,EAAKpY,GAAK,IAAIm7C,EAAO,GAAQjrB,GAAK,EAAU0B,GAAK,EAAWwpB,OAAKrzC,EAAW,IAAM,IAAK,IAAiCwoB,EAA7BjI,EAAKlQ,EAAItX,OAAOmH,cAAmBioB,GAAMK,EAAKjI,EAAGgB,QAAQd,MAAO0H,GAAK,EAA6B,GAArBirB,EAAKnjC,KAAKuY,EAAGvvB,OAAYhB,GAAKm7C,EAAK9jC,SAAWrX,EAAG,KAAyI,CAA9H,MAAOiyB,GAAOL,GAAK,EAAMwpB,EAAKnpB,CAAK,CAAE,QAAU,KAAW/B,GAAM5H,EAAG,WAAWA,EAAG,WAA2C,CAA5B,QAAU,GAAIsJ,EAAI,MAAMwpB,CAAI,CAAE,CAAE,OAAOD,CAAM,CAAE,OAAO,SAAU/iC,EAAKpY,GAAK,GAAIggB,MAAMyY,QAAQrgB,GAAQ,OAAOA,EAAY,GAAItX,OAAOmH,YAAYxH,OAAO2X,GAAQ,OAAO8iC,EAAc9iC,EAAKpY,GAAa,MAAM,IAAIgjB,UAAU,uDAA2D,CAAG,CAA/nB,GAEjB0d,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEfrhB,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAEvQmzC,EAAQv7C,EAAoB,GAE5Bw7C,EAAax7C,EAAoB,KAEjCy7C,EAAez7C,EAAoB,KAEnC07C,EAAqB17C,EAAoB,KAEzC27C,EAAU37C,EAAoB,KAE9B47C,EAAgB57C,EAAoB,GAEpC67C,EAAiBC,EAAuBF,GAExCG,EAAkB/7C,EAAoB,KAEtCg8C,EAAmBh8C,EAAoB,KAEvCi8C,EAAYj8C,EAAoB,KAEhCk8C,EAAoBl8C,EAAoB,KAExCm8C,EAASn8C,EAAoB,KAEjC,SAAS87C,EAAuB1zC,GAAO,OAAOA,GAAOA,EAAI/G,WAAa+G,EAAM,CAAEg0C,QAASh0C,EAAO,CAE9F,SAASi0C,EAAmB/jC,GAAO,GAAI4H,MAAMyY,QAAQrgB,GAAM,CAAE,IAAK,IAAIpY,EAAI,EAAGo8C,EAAOp8B,MAAM5H,EAAIf,QAASrX,EAAIoY,EAAIf,OAAQrX,IAAOo8C,EAAKp8C,GAAKoY,EAAIpY,GAAM,OAAOo8C,CAAM,CAAS,OAAOp8B,MAAMnB,KAAKzG,EAAQ,CAElM,SAAS0oB,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,IAAIq5B,EAA2B,MAC3BC,GAAmB,EACnBC,OAAoB,EACpBC,EAAwB,KAEtBC,GAAmB,EACD,qBAAXj+B,QACT89B,GAAmB,EAInBG,GAAmB,GAEnBA,GAAmB,EAEI,qBAAdC,WAA6BA,UAAUC,QAChDJ,EAAoBG,UAAUC,MAAM,mCAEtC,IA+BEC,EA/BEC,EAA8C,qBAAdH,WAA6BA,UAAUI,KAwB3E,GAvBAN,EAAwBC,EAAmB,WACzC,OAAO,IAAIp/B,SAAQ,SAAUC,EAASC,GACpC,0BACE,IACE,IAAIw/B,OAAS,EACbA,EAAS,EAAQ,OACjBz/B,EAAQy/B,EAAOC,qBAGjB,CAFE,MAAO1mC,GACPiH,EAAOjH,EACT,CACD,yBAAEiH,EACL,GACF,EAAIs/B,EAAyB,WAC3B,OAAO,IAAIx/B,SAAQ,SAAUC,EAASC,GACpCm/B,UAAU,CAAC,gCAAgC,SAAUK,GACnD,IACEz/B,EAAQy/B,EAAOC,qBAGjB,CAFE,MAAO1mC,GACPiH,EAAOjH,EACT,CACF,GAAGiH,EACL,GACF,EAAI,MACCg/B,GAAyC,qBAAb99B,SAA0B,CACzD,IAAIw+B,EAAgBx+B,SAASy+B,eAAiBz+B,SAASy+B,cAAcjyB,IACjEgyB,IACFV,EAAoBU,EAAc9lC,QAAQ,4BAA6B,eAE3E,CAGF,SAAS1U,EAA2B06C,GAClCP,EAAyBO,CAC3B,CACA,SAASl6C,EAAYgoB,GACnB,IACI5J,EADAyN,EAAO,IAAIsuB,EAEf,GAAmB,kBAARnyB,EACT5J,EAAS,CAAElL,IAAK8U,QACX,IAAI,EAAIowB,EAAMj1C,eAAe6kB,GAClC5J,EAAS,CAAE1I,KAAMsS,QACZ,GAAIA,aAAe9nB,EACxBke,EAAS,CAAEg8B,MAAOpyB,OACb,CACL,GAAkE,YAA9C,qBAARA,EAAsB,YAAcjjB,EAAQijB,IACtD,MAAM,IAAIvV,MAAM,0FAElB,IAAKuV,EAAI9U,MAAQ8U,EAAItS,OAASsS,EAAIoyB,MAChC,MAAM,IAAI3nC,MAAM,+DAElB2L,EAAS4J,CACX,CACA,IAAIvoB,EAASjC,OAAOY,OAAO,MACvBi8C,EAAiB,KACjBP,EAAS,KACb,IAAK,IAAIz7C,KAAO+f,EACd,GAAY,QAAR/f,GAAmC,qBAAXkd,OAGrB,GAAY,UAARld,EAGJ,GAAY,WAARA,EAGJ,GAAY,SAARA,GAAoB+f,EAAO/f,aAAgB4W,WAatDxV,EAAOpB,GAAO+f,EAAO/f,OAbd,CACL,IAAIi8C,EAAWl8B,EAAO/f,GACtB,GAAwB,kBAAbi8C,EACT76C,EAAOpB,IAAO,EAAI+5C,EAAMh2C,eAAek4C,QAClC,GAA4E,YAAnD,qBAAbA,EAA2B,YAAcv1C,EAAQu1C,KAAwC,OAAbA,GAAsBr9B,MAAMq9B,EAASlmC,QAE7H,MAAI,EAAIgkC,EAAMj1C,eAAem3C,GAGlC,MAAM,IAAI7nC,MAAM,8GAFhBhT,EAAOpB,GAAO,IAAI4W,WAAWqlC,EAG/B,MALE76C,EAAOpB,GAAO,IAAI4W,WAAWqlC,EAOjC,MAdER,EAAS17B,EAAO/f,QAHhBg8C,EAAiBj8B,EAAO/f,QAHxBoB,EAAOpB,GAAO,IAAI+5C,EAAM72C,IAAI6c,EAAO/f,GAAMkd,OAAOg/B,UAAU3F,KAuB9Dn1C,EAAO+6C,eAAiB/6C,EAAO+6C,gBAAkBpB,EACjD35C,EAAOg7C,kBAAoBh7C,EAAOg7C,mBAAqBpC,EAAWqC,qBAClEj7C,EAAOk7C,cAAuC,IAAxBl7C,EAAOm7C,aAC7Bn7C,EAAOo7C,QAA2B,IAAlBp7C,EAAOo7C,OACvB,IAAIC,EAA2Bt9C,OAAOqZ,OAAOuhC,EAAMz3C,qBA0BnD,QAzByCmE,IAArCrF,EAAOs7C,2BAA4CD,EAAyBh+B,SAASrd,EAAOs7C,6BAC9Ft7C,EAAOs7C,0BAA4BxC,EAAmBz2C,uBAAuBi5C,2BAA6B3C,EAAMz3C,oBAAoB2E,QAEjI6M,OAAOC,UAAU3S,EAAOu7C,gBAC3Bv7C,EAAOu7C,cAAgB,GAEa,mBAA3Bv7C,EAAOkD,kBAChBlD,EAAOkD,iBAAkB,GAEW,mBAA3BlD,EAAOw7C,kBAChBx7C,EAAOw7C,gBAAkB1C,EAAmBz2C,uBAAuBm5C,kBAAmB,GAErD,mBAAxBx7C,EAAOy7C,eAChBz7C,EAAOy7C,cAAe,GAEY,mBAAzBz7C,EAAO07C,gBAChB17C,EAAO07C,eAAgB,GAEc,mBAA5B17C,EAAO27C,mBAChB37C,EAAO27C,kBAAmB,GAEiB,mBAAlC37C,EAAO47C,yBAChB57C,EAAO47C,uBAAyB9C,EAAmBz2C,uBAAuBu5C,yBAA0B,IAEtG,EAAIjD,EAAM91C,mBAAmB7C,EAAOwS,YAC/B6nC,EAAQ,CACX,IAAIwB,EAAe,CACjBC,qBAAsB97C,EAAO87C,qBAC7BtpC,UAAWxS,EAAOwS,WAEhBupC,EAAa5C,EAAgB/2C,oBAAoB25C,WACjDA,GACFF,EAAa7qB,KAAO+qB,EACpB1B,EAAS35C,EAAUs7C,SAASH,IAE5BxB,EAAS,IAAI35C,EAAUm7C,GAEzBzvB,EAAK6vB,QAAU5B,CACjB,CACA,IAAI6B,EAAQ9vB,EAAK8vB,MAmCjB,OAlCA7B,EAAO3/B,QAAQ0S,MAAK,WAClB,GAAIhB,EAAK+vB,UACP,MAAM,IAAInpC,MAAM,mBAElB,OAAOopC,EAAe/B,EAAQr6C,EAAQ46C,EAAgBsB,GAAO9uB,MAAK,SAAUivB,GAC1E,GAAIjwB,EAAK+vB,UACP,MAAM,IAAInpC,MAAM,mBAElB,IAAIspC,OAAgB,EAChB1B,EACF0B,EAAgB,IAAIhD,EAAkBiD,uBAAuB,CAC3D5nC,OAAQ3U,EAAO2U,OACf6nC,YAAax8C,EAAOw8C,YACpBf,aAAcz7C,EAAOy7C,aACrBC,cAAe17C,EAAO07C,eACrBd,GACO56C,EAAOiW,OACjBqmC,EAAgBpC,EAAuB,CACrCzmC,IAAKzT,EAAOyT,IACZkB,OAAQ3U,EAAO2U,OACf8nC,YAAaz8C,EAAOy8C,YACpBC,gBAAiB18C,EAAO08C,gBACxB3B,eAAgB/6C,EAAO+6C,eACvBU,aAAcz7C,EAAOy7C,aACrBC,cAAe17C,EAAO07C,iBAG1B,IAAIiB,EAAiB,IAAIvD,EAAiBwD,eAAeV,EAAOG,EAAUhC,EAAOrpB,MACjF2rB,EAAeb,qBAAuBzB,EAAOyB,qBAC7C,IAAIe,EAAY,IAAIC,EAAgBH,EAAgBvwB,EAAMkwB,EAAet8C,GACzEosB,EAAK2wB,WAAaF,EAClBF,EAAeK,KAAK,QAAS,KAC/B,GACF,IAAGhb,MAAM5V,EAAK6wB,YAAYpiC,QACnBuR,CACT,CACA,SAASgwB,EAAe/B,EAAQ17B,EAAQu+B,EAAuBhB,GAC7D,OAAI7B,EAAO8B,UACFxhC,QAAQE,OAAO,IAAI7H,MAAM,0BAE9BkqC,IACFv+B,EAAOhK,OAASuoC,EAAsBvoC,OACtCgK,EAAO69B,YAAcU,EAAsBV,aAEtCnC,EAAOsC,eAAeQ,gBAAgB,gBAAiB,CAC5DjB,MAAOA,EACPkB,WAAY,UACZz+B,OAAQ,CACN1I,KAAM0I,EAAO1I,KACbxC,IAAKkL,EAAOlL,IACZ4pC,SAAU1+B,EAAO0+B,SACjB1B,iBAAkBh9B,EAAOg9B,iBACzBZ,eAAgBp8B,EAAOo8B,eACvBpmC,OAAQgK,EAAOhK,QAEjB4mC,aAAc58B,EAAO48B,aACrBC,gBAAiB78B,EAAO68B,gBACxBI,uBAAwBj9B,EAAOi9B,uBAC/BE,qBAAsBzB,EAAOyB,qBAC7BwB,WAAY3+B,EAAO2+B,WACnBhC,0BAA2B38B,EAAO28B,0BAClCJ,aAAcv8B,EAAOu8B,aACrBh4C,gBAAiByb,EAAOzb,kBACvBkqB,MAAK,SAAUivB,GAChB,GAAIhC,EAAO8B,UACT,MAAM,IAAInpC,MAAM,wBAElB,OAAOqpC,CACT,IACF,CACA,IA8jDI/7C,EAASD,EA9jDTq6C,EAAyB,WAC3B,IAAI6C,EAAiB,EACrB,SAAS7C,IACPz9C,KAAKggD,aAAc,EAAItE,EAAM93C,2BAC7B5D,KAAK8/C,WAAa,KAClB9/C,KAAKg/C,QAAU,KACfh/C,KAAKi/C,MAAQ,IAAMqB,IACnBtgD,KAAKk/C,WAAY,EACjBl/C,KAAKugD,WAAa,KAClBvgD,KAAKwgD,WAAa,KAClBxgD,KAAKygD,qBAAuB,IAC9B,CAuBA,OAtBAhD,EAAuBz7C,UAAY,CAC7Byb,cACF,OAAOzd,KAAKggD,YAAYviC,OAC1B,EACAijC,QAAS,WACP,IAAI9Y,EAAQ5nC,KAEZA,KAAKk/C,WAAY,EACjB,IAAIyB,EAAsB3gD,KAAK8/C,WAAiC9/C,KAAK8/C,WAAWY,UAApChjC,QAAQC,UACpD,OAAOgjC,EAAmBxwB,MAAK,WAC7ByX,EAAMkY,WAAa,KACflY,EAAMoX,UACRpX,EAAMoX,QAAQ0B,UACd9Y,EAAMoX,QAAU,KAEpB,GACF,EAEA7uB,KAAM,SAAqCoC,EAAaC,GACtD,OAAOxyB,KAAKyd,QAAQ0S,KAAKrY,MAAM9X,KAAKyd,QAASZ,UAC/C,GAEK4gC,CACT,CAnC6B,GAqCzBj6C,EAAwB,WAC1B,SAASA,EAAsBkU,EAAQ6nC,GACrCpe,EAAgBnhC,KAAMwD,GAEtBxD,KAAK0X,OAASA,EACd1X,KAAKu/C,YAAcA,EACnBv/C,KAAK4gD,gBAAkB,GACvB5gD,KAAK6gD,mBAAqB,GAC1B7gD,KAAK8gD,0BAA4B,GACjC9gD,KAAK+gD,kBAAmB,EAAIrF,EAAM93C,0BACpC,CA4HA,OA1HAm9B,EAAav9B,EAAuB,CAAC,CACnC7B,IAAK,mBACLN,MAAO,SAA0BuzB,GAC/B50B,KAAK4gD,gBAAgBvoC,KAAKuc,EAC5B,GACC,CACDjzB,IAAK,sBACLN,MAAO,SAA6BuzB,GAClC50B,KAAK6gD,mBAAmBxoC,KAAKuc,EAC/B,GACC,CACDjzB,IAAK,6BACLN,MAAO,SAAoCuzB,GACzC50B,KAAK8gD,0BAA0BzoC,KAAKuc,EACtC,GACC,CACDjzB,IAAK,cACLN,MAAO,SAAqB+V,EAAOe,GACjC,IAAI6oC,GAA4B,EAC5BC,GAAoB,EACpBC,OAAiB94C,EAErB,IACE,IAAK,IAAyD+4C,EAArDC,EAAYphD,KAAK4gD,gBAAgBz/C,OAAOmH,cAAsB04C,GAA6BG,EAAQC,EAAUz3B,QAAQd,MAAOm4B,GAA4B,EAAM,CACrK,IAAIpsB,EAAWusB,EAAM9/C,MAErBuzB,EAASxd,EAAOe,EAClB,CAcF,CAbE,MAAOma,GACP2uB,GAAoB,EACpBC,EAAiB5uB,CACnB,CAAE,QACA,KACO0uB,GAA6BI,EAAUC,QAC1CD,EAAUC,QAMd,CAJE,QACA,GAAIJ,EACF,MAAMC,CAEV,CACF,CACF,GACC,CACDv/C,IAAK,iBACLN,MAAO,SAAwBigD,GAC7B,IAAIC,EAASvhD,KAEbA,KAAK+gD,iBAAiBtjC,QAAQ0S,MAAK,WACjC,IAAIqxB,GAA6B,EAC7BC,GAAqB,EACrBC,OAAkBt5C,EAEtB,IACE,IAAK,IAA+Du5C,EAA3DC,EAAaL,EAAOV,mBAAmB1/C,OAAOmH,cAAuBk5C,GAA8BG,EAASC,EAAWj4B,QAAQd,MAAO24B,GAA6B,EAAM,CAChL,IAAI5sB,EAAW+sB,EAAOtgD,MAEtBuzB,EAAS0sB,EACX,CAcF,CAbE,MAAOhvB,GACPmvB,GAAqB,EACrBC,EAAkBpvB,CACpB,CAAE,QACA,KACOkvB,GAA8BI,EAAWP,QAC5CO,EAAWP,QAMf,CAJE,QACA,GAAII,EACF,MAAMC,CAEV,CACF,CACF,GACF,GACC,CACD//C,IAAK,wBACLN,MAAO,SAA+B8W,GACpC,IAAI0pC,EAAS7hD,KAEbA,KAAK+gD,iBAAiBtjC,QAAQ0S,MAAK,WACjC,IAAI2xB,GAA6B,EAC7BC,GAAqB,EACrBC,OAAkB55C,EAEtB,IACE,IAAK,IAAsE65C,EAAlEC,EAAaL,EAAOf,0BAA0B3/C,OAAOmH,cAAuBw5C,GAA8BG,EAASC,EAAWv4B,QAAQd,MAAOi5B,GAA6B,EAAM,CACvL,IAAIltB,EAAWqtB,EAAO5gD,MAEtBuzB,EAASzc,EACX,CAcF,CAbE,MAAOma,GACPyvB,GAAqB,EACrBC,EAAkB1vB,CACpB,CAAE,QACA,KACOwvB,GAA8BI,EAAWb,QAC5Ca,EAAWb,QAMf,CAJE,QACA,GAAIU,EACF,MAAMC,CAEV,CACF,CACF,GACF,GACC,CACDrgD,IAAK,iBACLN,MAAO,WACLrB,KAAK+gD,iBAAiBpjC,SACxB,GACC,CACDhc,IAAK,mBACLN,MAAO,SAA0B+V,EAAOC,IACtC,EAAIqkC,EAAMr2C,aAAa,yDACzB,GACC,CACD1D,IAAK,QACLN,MAAO,WAAkB,KAGpBmC,CACT,CAvI4B,GAyIxB63C,EAAmB,WACrB,SAASA,EAAiB8G,EAASvC,EAAWwC,GAC5CjhB,EAAgBnhC,KAAMq7C,GAEtBr7C,KAAKoiD,YAAcA,EACnBpiD,KAAKqiD,SAAWF,EAChBniD,KAAK8/C,WAAaF,CACpB,CAmGA,OAjGA7e,EAAasa,EAAkB,CAAC,CAC9B15C,IAAK,UACLN,MAAO,SAAiBihD,GACtB,OAAOtiD,KAAK8/C,WAAWyC,QAAQD,EACjC,GACC,CACD3gD,IAAK,eACLN,MAAO,SAAsBmhD,GAC3B,OAAOxiD,KAAK8/C,WAAW2C,aAAaD,EACtC,GACC,CACD7gD,IAAK,kBACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAW4C,iBACzB,GACC,CACD/gD,IAAK,iBACLN,MAAO,SAAwBkjB,GAC7B,OAAOvkB,KAAK8/C,WAAW6C,eAAep+B,EACxC,GACC,CACD5iB,IAAK,gBACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAW8C,eACzB,GACC,CACDjhD,IAAK,cACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAW+C,aACzB,GACC,CACDlhD,IAAK,iBACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAWgD,gBACzB,GACC,CACDnhD,IAAK,gBACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAWiD,eACzB,GACC,CACDphD,IAAK,aACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAWkD,YACzB,GACC,CACDrhD,IAAK,iBACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAWmD,gBACzB,GACC,CACDthD,IAAK,cACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAWoD,aACzB,GACC,CACDvhD,IAAK,UACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAWqD,SACzB,GACC,CACDxhD,IAAK,kBACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAWsD,uBAAuB3lC,OAChD,GACC,CACD9b,IAAK,WACLN,MAAO,WACL,OAAOrB,KAAK8/C,WAAWuD,UACzB,GACC,CACD1hD,IAAK,UACLN,MAAO,WACLrB,KAAK8/C,WAAWwD,cAClB,GACC,CACD3hD,IAAK,UACLN,MAAO,WACL,OAAOrB,KAAKoiD,YAAY1B,SAC1B,GACC,CACD/+C,IAAK,WACLV,IAAK,WACH,OAAOjB,KAAKqiD,SAASkB,QACvB,GACC,CACD5hD,IAAK,cACLV,IAAK,WACH,OAAOjB,KAAKqiD,SAASmB,WACvB,GACC,CACD7hD,IAAK,gBACLV,IAAK,WACH,OAAOjB,KAAK8/C,WAAW2D,aACzB,KAGKpI,CACT,CA3GuB,GA6GnBD,EAAe,WACjB,SAASA,EAAasI,EAAWC,EAAU/D,GACzC,IAAIzB,EAASthC,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAE5E7c,KAAK0jD,UAAYA,EACjB1jD,KAAK4jD,UAAYD,EACjB3jD,KAAK4/C,UAAYA,EACjB5/C,KAAK6jD,OAAS1F,EAAS,IAAIxC,EAAWmI,UAAcnI,EAAWoI,eAC/D/jD,KAAKgkD,QAAU7F,EACfn+C,KAAKikD,WAAarE,EAAUqE,WAC5BjkD,KAAKkkD,KAAO,IAAIC,EAChBnkD,KAAKokD,oBAAqB,EAC1BpkD,KAAKqkD,gBAAiB,EACtBrkD,KAAKskD,aAAexjD,OAAOY,OAAO,MAClC1B,KAAKk/C,WAAY,CACnB,CA4PA,OA3PA9D,EAAap5C,UAAY,CACnBsgD,iBACF,OAAOtiD,KAAK0jD,UAAY,CAC1B,EACIa,aACF,OAAOvkD,KAAK4jD,UAAUW,MACxB,EACI/B,UACF,OAAOxiD,KAAK4jD,UAAUpB,GACxB,EACIgC,eACF,OAAOxkD,KAAK4jD,UAAUY,QACxB,EACI3U,WACF,OAAO7vC,KAAK4jD,UAAU/T,IACxB,EACA4U,YAAa,SAAqBC,GAChC,IAAIH,EAAS1nC,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK7c,KAAKukD,OAClFI,EAAW9nC,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAE9E,OAAO,IAAI8+B,EAAWiJ,aAAa,CACjCC,QAAS7kD,KAAK6vC,KACd6U,MAAOA,EACPI,SAAUP,EACVI,SAAUA,GAEd,EAEAI,eAAgB,SAAqChiD,GACnD,IAAIiiD,EAASjiD,GAAUA,EAAOiiD,QAAU,KAKxC,OAJKhlD,KAAKilD,oBAAsBjlD,KAAKklD,oBAAsBF,IACzDhlD,KAAKilD,mBAAqBjlD,KAAK4/C,UAAUmF,eAAe/kD,KAAK0jD,UAAWsB,GACxEhlD,KAAKklD,kBAAoBF,GAEpBhlD,KAAKilD,kBACd,EACAE,OAAQ,SAA6BpiD,GACnC,IAAIqiD,EAASplD,KAETqlD,EAAQrlD,KAAK6jD,OACjBwB,EAAMC,KAAK,WACXtlD,KAAKqkD,gBAAiB,EACtB,IAAIkB,EAAoC,UAAlBxiD,EAAOiiD,OAAqB,QAAU,UACxDQ,EAAgBziD,EAAOyiD,eAAiB,IAAI7J,EAAW8J,iBACvDC,EAAe,IAAIpJ,EAAOqJ,aAAa,CAAEC,OAAQ7iD,EAAO8iD,cACvD7lD,KAAKskD,aAAaiB,KACrBvlD,KAAKskD,aAAaiB,GAAmBzkD,OAAOY,OAAO,OAErD,IAAIokD,EAAc9lD,KAAKskD,aAAaiB,GAC/BO,EAAYC,yBACfD,EAAYE,uBAAwB,EACpCF,EAAYC,wBAAyB,EAAIrK,EAAM93C,2BAC/CkiD,EAAYG,aAAe,CACzBC,QAAS,GACTC,UAAW,GACXC,WAAW,GAEbf,EAAMC,KAAK,gBACXtlD,KAAK4/C,UAAUF,eAAeK,KAAK,oBAAqB,CACtD2D,UAAW1jD,KAAKsiD,WAAa,EAC7B0C,OAAQO,EACRc,wBAA0D,IAAlCtjD,EAAOsjD,0BAGnC,IAAIC,EAAW,SAAkBz0B,GAC/B,IAAIxxB,EAAIylD,EAAYS,YAAYplC,QAAQqlC,GACpCnmD,GAAK,GACPylD,EAAYS,YAAYtsB,OAAO55B,EAAG,GAEhC+kD,EAAOhB,qBACTgB,EAAOf,gBAAiB,GAE1Be,EAAOqB,cACH50B,EACF20B,EAAmBhpC,WAAWI,OAAOiU,GAErC20B,EAAmBhpC,WAAWG,UAEhC0nC,EAAMqB,QAAQ,aACdrB,EAAMqB,QAAQ,UAChB,EACIF,EAAqB,IAAIG,EAAmBL,EAAUvjD,EAAQ/C,KAAKkkD,KAAMlkD,KAAKikD,WAAY6B,EAAYG,aAAcjmD,KAAKsiD,WAAYkD,EAAeE,EAAc1lD,KAAKgkD,SAC3KwC,EAAmBI,yBAA+C,UAApBrB,EACzCO,EAAYS,cACfT,EAAYS,YAAc,IAE5BT,EAAYS,YAAYluC,KAAKmuC,GAC7B,IAAIK,EAAaL,EAAmBr3B,KAUpC,OATA22B,EAAYC,uBAAuBtoC,QAAQ0S,MAAK,SAAU22B,GACpD1B,EAAOf,eACTiC,KAGFjB,EAAMC,KAAK,aACXkB,EAAmBO,mBAAmBD,GACtCN,EAAmBQ,sBACrB,IAAGjiB,MAAMuhB,GACFO,CACT,EACAI,gBAAiB,WACf,SAASD,IACP,GAAIlB,EAAYG,aAAaG,UAAW,CACtCN,EAAYoB,qBAAqBvpC,QAAQmoC,EAAYG,cACrD,IAAI5lD,EAAIylD,EAAYS,YAAYplC,QAAQgmC,GACpC9mD,GAAK,GACPylD,EAAYS,YAAYtsB,OAAO55B,EAAG,EAEtC,CACF,CACA,IAAIklD,EAAkB,SACjBvlD,KAAKskD,aAAaiB,KACrBvlD,KAAKskD,aAAaiB,GAAmBzkD,OAAOY,OAAO,OAErD,IACIylD,EADArB,EAAc9lD,KAAKskD,aAAaiB,GAoBpC,OAlBKO,EAAYoB,uBACfC,EAAa,CAAC,EACdA,EAAWH,oBAAsBA,EACjClB,EAAYE,uBAAwB,EACpCF,EAAYoB,sBAAuB,EAAIxL,EAAM93C,2BAC7CkiD,EAAYS,YAAc,GAC1BT,EAAYS,YAAYluC,KAAK8uC,GAC7BrB,EAAYG,aAAe,CACzBC,QAAS,GACTC,UAAW,GACXC,WAAW,GAEbpmD,KAAK6jD,OAAOyB,KAAK,gBACjBtlD,KAAK4/C,UAAUF,eAAeK,KAAK,oBAAqB,CACtD2D,UAAW1jD,KAAK0jD,UAChBsB,OAAQO,KAGLO,EAAYoB,qBAAqBzpC,OAC1C,EACA2pC,kBAAmB,WACjB,IAAIrkD,EAAS8Z,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAE9EwqC,EAA0B,IAC9B,OAAOrnD,KAAK4/C,UAAUF,eAAe4H,eAAe,iBAAkB,CACpE5D,UAAW1jD,KAAKsiD,WAAa,EAC7BiF,qBAAoD,IAA/BxkD,EAAOwkD,oBAC5BC,kBAAqD,IAAnCzkD,EAAO0kD,yBACxB,CACDhnB,cAAe4mB,EACf1mB,KAAM,SAAc+mB,GAClB,OAAOA,EAAYC,MAAMjwC,MAC3B,GAEJ,EAEAkwC,eAAgB,SAAqC7kD,GACnDA,EAASA,GAAU,CAAC,EACpB,IAAImyC,EAAiBl1C,KAAKonD,kBAAkBrkD,GAC5C,OAAO,IAAI2a,SAAQ,SAAUC,EAASC,GACpC,SAASiqC,IACPrd,EAAOsd,OAAO33B,MAAK,SAAUxW,GAC3B,IAAIouC,EAEA1mD,EAAQsY,EAAKtY,MACbwnB,EAAOlP,EAAKkP,KAEZA,EACFlL,EAAQ+pC,IAGV5mD,OAAOwf,OAAOonC,EAAYM,OAAQ3mD,EAAM2mD,SACvCD,EAAqBL,EAAYC,OAAOtvC,KAAKP,MAAMiwC,EAAoBvL,EAAmBn7C,EAAMsmD,QACjGE,IACF,GAAGjqC,EACL,CACA,IAAI4sB,EAAS0K,EAAe+S,YACxBP,EAAc,CAChBC,MAAO,GACPK,OAAQlnD,OAAOY,OAAO,OAExBmmD,GACF,GACF,EACAK,SAAU,WACRloD,KAAKk/C,WAAY,EACjBl/C,KAAK4/C,UAAUuI,UAAUnoD,KAAK0jD,WAAa,KAC3C,IAAI0E,EAAS,GAeb,OAdAtnD,OAAOqmB,KAAKnnB,KAAKskD,cAAcr9B,SAAQ,SAAU+9B,GAC/C,GAAe,WAAXA,EAAJ,CAGA,IAAIc,EAAc9lD,KAAKskD,aAAaU,GACpCc,EAAYS,YAAYt/B,SAAQ,SAAU4/B,GACxC,IAAIwB,EAAkBxB,EAAWrpC,WAAWC,QAAQsnB,OAAM,WAAa,IACvEqjB,EAAO/vC,KAAKgwC,GACZxB,EAAWyB,QACb,GANA,CAOF,GAAGtoD,MACHA,KAAKkkD,KAAK1uB,QACVx1B,KAAKilD,mBAAqB,KAC1BjlD,KAAKqkD,gBAAiB,EACf3mC,QAAQkV,IAAIw1B,EACrB,EACAG,QAAS,WACP,IAAIC,EAAa3rC,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAEhF7c,KAAKqkD,gBAAiB,EACtBrkD,KAAKymD,YAAY+B,EACnB,EACA/B,YAAa,WACX,IAAI+B,EAAa3rC,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAE3E7c,KAAKqkD,iBAAkBvjD,OAAOqmB,KAAKnnB,KAAKskD,cAAcmE,MAAK,SAAUzD,GACxE,IAAIc,EAAc9lD,KAAKskD,aAAaU,GACpC,OAA0C,IAAnCc,EAAYS,YAAY7uC,QAAgBouC,EAAYE,qBAC7D,GAAGhmD,QAGHc,OAAOqmB,KAAKnnB,KAAKskD,cAAcr9B,SAAQ,SAAU+9B,UACxChlD,KAAKskD,aAAaU,EAC3B,GAAGhlD,MACHA,KAAKkkD,KAAK1uB,QACVx1B,KAAKilD,mBAAqB,KACtBuD,GAAcxoD,KAAK6jD,kBAAkBlI,EAAWmI,YAClD9jD,KAAK6jD,OAAS,IAAIlI,EAAWmI,WAE/B9jD,KAAKqkD,gBAAiB,EACxB,EAEAqE,iBAAkB,SAAsC5B,EAAc9B,GACpE,IAAIc,EAAc9lD,KAAKskD,aAAaU,GAChCc,EAAYC,wBACdD,EAAYC,uBAAuBpoC,QAAQmpC,EAE/C,EACA6B,iBAAkB,SAAsCC,EAAmB5D,GACzE,IACI3kD,EAAGyY,EADHgtC,EAAc9lD,KAAKskD,aAAaU,GAEpC,IAAK3kD,EAAI,EAAGyY,EAAK8vC,EAAkBlxC,OAAQrX,EAAIyY,EAAIzY,IACjDylD,EAAYG,aAAaC,QAAQ7tC,KAAKuwC,EAAkB1C,QAAQ7lD,IAChEylD,EAAYG,aAAaE,UAAU9tC,KAAKuwC,EAAkBzC,UAAU9lD,IAGtE,IADAylD,EAAYG,aAAaG,UAAYwC,EAAkBxC,UAClD/lD,EAAI,EAAGA,EAAIylD,EAAYS,YAAY7uC,OAAQrX,IAC9CylD,EAAYS,YAAYlmD,GAAG2mD,sBAEzB4B,EAAkBxC,YACpBN,EAAYE,uBAAwB,EACpChmD,KAAKymD,cAET,EACIpB,YACF,OAAOrlD,KAAK6jD,kBAAkBlI,EAAWmI,UAAY9jD,KAAK6jD,OAAS,IACrE,GAEKzI,CACT,CA5QmB,GA8Qf73C,EAAe,WACjB,SAASA,IACP,IAAIswB,IAAQhX,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,KAAmBA,UAAU,GAE3EskB,EAAgBnhC,KAAMuD,GAEtBvD,KAAK6oD,WAAa,GAClB7oD,KAAK8oD,OAASj1B,EACd7zB,KAAK+oD,UAAYrrC,QAAQC,aAAQvV,EACnC,CA2EA,OAzEA24B,EAAax9B,EAAc,CAAC,CAC1B5B,IAAK,cACLN,MAAO,SAAqBkH,EAAKygD,GAC/B,IAAIC,EAASjpD,KAEb,SAASkpD,EAAW7nD,GAClB,GAAsE,YAAhD,qBAAVA,EAAwB,YAAcgH,EAAQhH,KAAkC,OAAVA,EAChF,OAAOA,EAET,GAAI8nD,EAAOrlC,IAAIziB,GACb,OAAO8nD,EAAOloD,IAAII,GAEpB,IAAIob,EACAhD,EACJ,IAAKA,EAASpY,EAAMoY,UAAW,EAAIiiC,EAAMj1C,eAAegT,GAAS,CAC/D,IAAI2vC,EAAeJ,GAAaA,EAAU5oC,SAAS3G,GASnD,OAPEgD,EADEpb,IAAUoY,EACHpY,EACA+nD,EACA,IAAI/nD,EAAMmH,YAAYiR,EAAQpY,EAAMqxC,WAAYrxC,EAAMqX,YAEtD,IAAIrX,EAAMmH,YAAYnH,GAEjC8nD,EAAOlwC,IAAI5X,EAAOob,GACXA,CACT,CAGA,IAAK,IAAIpc,KAFToc,EAAS4D,MAAMyY,QAAQz3B,GAAS,GAAK,CAAC,EACtC8nD,EAAOlwC,IAAI5X,EAAOob,GACJpb,EAAO,CACnB,IAAIgoD,EACAnnD,EAAIb,EACR,QAASgoD,EAAOvoD,OAAOs6B,yBAAyBl5B,EAAG7B,IACjD6B,EAAIpB,OAAOooB,eAAehnB,GAEF,qBAAfmnD,EAAKhoD,OAA+C,oBAAfgoD,EAAKhoD,QAGrDob,EAAOpc,GAAK6oD,EAAWG,EAAKhoD,OAC9B,CACA,OAAOob,CACT,CACA,GAAKzc,KAAK8oD,OAAV,CAMA,IAAIK,EAAS,IAAI3oC,QACbnK,EAAI,CAAE2C,KAAMkwC,EAAW3gD,IAC3BvI,KAAK+oD,UAAU54B,MAAK,WAClB84B,EAAOJ,WAAW5hC,SAAQ,SAAU2N,GAClCA,EAASr0B,KAAKP,KAAMqW,EACtB,GAAG4yC,EACL,GAPA,MAJEjpD,KAAK6oD,WAAW5hC,SAAQ,SAAU2N,GAChCA,EAASr0B,KAAKP,KAAM,CAAEgZ,KAAMzQ,GAC9B,GAAGvI,KAUP,GACC,CACD2B,IAAK,mBACLN,MAAO,SAA0BV,EAAMi0B,GACrC50B,KAAK6oD,WAAWxwC,KAAKuc,EACvB,GACC,CACDjzB,IAAK,sBACLN,MAAO,SAA6BV,EAAMi0B,GACxC,IAAIv0B,EAAIL,KAAK6oD,WAAW1nC,QAAQyT,GAChC50B,KAAK6oD,WAAW5uB,OAAO55B,EAAG,EAC5B,GACC,CACDsB,IAAK,YACLN,MAAO,WACLrB,KAAK6oD,WAAa,EACpB,KAGKtlD,CACT,CArFmB,GAuFfE,EAAY,WACd,IAAI6lD,EAAmB,EACvB,SAASC,IACP,GAAIrN,EAAgB/2C,oBAAoBqkD,UACtC,OAAOtN,EAAgB/2C,oBAAoBqkD,UAE7C,GAAiC,qBAAtB5M,EACT,OAAOA,EAET,MAAM,IAAI7mC,MAAM,gDAClB,CACA,SAAS0zC,IACP,IACE,GAAsB,qBAAX5qC,OACT,OAAOA,OAAO6qC,aAAe7qC,OAAO6qC,YAAYrM,oBAEtC,CAAZ,MAAO1mC,GAAK,CACd,OAAO,IACT,CACA,IAAIgzC,OAAkC,EACtC,SAASC,IACP,GAAID,EACF,OAAOA,EAAgClsC,QAEzCksC,GAAkC,EAAIjO,EAAM93C,2BAC5C,IAAIimD,EAA2BJ,IAC/B,GAAII,EAEF,OADAF,EAAgChsC,QAAQksC,GACjCF,EAAgClsC,QAEzC,IAAIqsC,EAASjN,GAAyB,WACpC,OAAO,EAAIlB,EAAWz2C,YAAYqkD,KAAgBp5B,MAAK,WACrD,OAAOtR,OAAO6qC,YAAYrM,oBAC5B,GACF,EAEA,OADAyM,IAAS35B,KAAKw5B,EAAgChsC,QAASgsC,EAAgC/rC,QAChF+rC,EAAgClsC,OACzC,CACA,SAASssC,EAAiBvzC,GACxB,IAAI4b,EAAU,kBAAqB5b,EAAM,MACzC,OAAOklC,EAAM72C,IAAIJ,gBAAgB,IAAIwZ,KAAK,CAACmU,IAC7C,CACA,IAAI43B,EAAiB,IAAIxpC,QACzB,SAAS/c,IACP,IAAIkmC,EAAQ9sB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7EotC,EAAatgB,EAAMhpC,KACnBA,OAAsByH,IAAf6hD,EAA2B,KAAOA,EACzCC,EAAavgB,EAAM5V,KACnBA,OAAsB3rB,IAAf8hD,EAA2B,KAAOA,EACzCC,EAAwBxgB,EAAMkV,qBAC9BA,OAAiDz2C,IAA1B+hD,GAA6CA,EACpEC,EAAkBzgB,EAAMp0B,UACxBA,OAAgCnN,IAApBgiD,GAAgC,EAAI1O,EAAM/0C,qBAAuByjD,EAEjF,GAAIr2B,GAAQi2B,EAAelmC,IAAIiQ,GAC7B,MAAM,IAAIhe,MAAM,+CAUlB,GARA/V,KAAKW,KAAOA,EACZX,KAAKk/C,WAAY,EACjBl/C,KAAK6+C,sBAAgD,IAAzBA,EAC5B7+C,KAAKuV,UAAYA,EACjBvV,KAAK+gD,kBAAmB,EAAIrF,EAAM93C,2BAClC5D,KAAKi6C,MAAQ,KACbj6C,KAAKqqD,WAAa,KAClBrqD,KAAKsqD,gBAAkB,KACnBv2B,EAGF,OAFAi2B,EAAe/wC,IAAI8a,EAAM/zB,WACzBA,KAAKuqD,oBAAoBx2B,GAG3B/zB,KAAKwqD,aACP,CAiJA,OAhJA/mD,EAAUzB,UAAY,CAChByb,cACF,OAAOzd,KAAK+gD,iBAAiBtjC,OAC/B,EACIsW,WACF,OAAO/zB,KAAKi6C,KACd,EACIyF,qBACF,OAAO1/C,KAAKsqD,eACd,EACAC,oBAAqB,SAAsCx2B,GACzD/zB,KAAKi6C,MAAQlmB,EACb/zB,KAAKsqD,gBAAkB,IAAInO,EAAiBwD,eAAe,OAAQ,SAAU5rB,GAC7E/zB,KAAKsqD,gBAAgBG,GAAG,SAAS,WAAa,IAC9CzqD,KAAK+gD,iBAAiBpjC,SACxB,EACA6sC,YAAa,WACX,IAAIE,EAAS1qD,KAEb,GAAsB,qBAAX2qD,SAA2BhO,IAAqB8M,IAAqC,CAC9F,IAAID,EAAYD,IAChB,KACO,EAAI7N,EAAMv1C,cAAc0Y,OAAOg/B,SAAS3F,KAAMsR,KACjDA,EAAYO,EAAiB,IAAIrO,EAAM72C,IAAI2kD,EAAW3qC,OAAOg/B,UAAU3F,OAEzE,IAAIkF,EAAS,IAAIuN,OAAOnB,GACpB9J,EAAiB,IAAIvD,EAAiBwD,eAAe,OAAQ,SAAUvC,GACvEwN,EAAiB,WACnBxN,EAAOyN,oBAAoB,QAASC,GACpCpL,EAAegB,UACftD,EAAO2N,YACHL,EAAOxL,UACTwL,EAAO3J,iBAAiBnjC,OAAO,IAAI7H,MAAM,yBAEzC20C,EAAOM,kBAEX,EACIF,EAAgB,WACbJ,EAAOL,YACVO,GAEJ,EACAxN,EAAO/nB,iBAAiB,QAASy1B,GACjCpL,EAAe+K,GAAG,QAAQ,SAAUzxC,GAClCokC,EAAOyN,oBAAoB,QAASC,GAChCJ,EAAOxL,UACT0L,IAGE5xC,GAAQA,EAAKiyC,mBACfP,EAAOJ,gBAAkB5K,EACzBgL,EAAOzQ,MAAQmD,EACfsN,EAAOL,WAAajN,EACfpkC,EAAKkyC,mBACRR,EAAO7L,sBAAuB,GAEhC6L,EAAO3J,iBAAiBpjC,UACxB+hC,EAAeK,KAAK,YAAa,CAAExqC,UAAWm1C,EAAOn1C,cAErDm1C,EAAOM,mBACPtL,EAAegB,UACftD,EAAO2N,YAEX,IACArL,EAAe+K,GAAG,SAAS,SAAUzxC,GAEnC,GADAokC,EAAOyN,oBAAoB,QAASC,GAChCJ,EAAOxL,UACT0L,SAGF,IACEO,GAGF,CAFE,MAAO90C,GACPq0C,EAAOM,kBACT,CACF,IACA,IAAIG,EAAW,WACb,IAAIC,EAAU,IAAI7yC,WAAW,CAACmyC,EAAO7L,qBAAuB,IAAM,IAClE,IACEa,EAAeK,KAAK,OAAQqL,EAAS,CAACA,EAAQ3xC,QAKhD,CAJE,MAAO9C,IACP,EAAI+kC,EAAMh1C,MAAM,oCAChB0kD,EAAQ,GAAK,EACb1L,EAAeK,KAAK,OAAQqL,EAC9B,CACF,EAEA,YADAD,GAIF,CAFE,MAAO90C,IACP,EAAIqlC,EAAMh1C,MAAM,gCAClB,CACF,CACA1G,KAAKgrD,kBACP,EACAA,iBAAkB,WAChB,IAAIK,EAASrrD,KAER28C,KACH,EAAIjB,EAAMp2C,MAAM,2BAChBq3C,GAAmB,GAErBiN,IAAwBz5B,MAAK,SAAUktB,GACrC,GAAIgO,EAAOnM,UACTmM,EAAOtK,iBAAiBnjC,OAAO,IAAI7H,MAAM,6BAD3C,CAIA,IAAIge,EAAO,IAAIxwB,EACf8nD,EAAOpR,MAAQlmB,EACf,IAAIxP,EAAK,OAAS+kC,IACdgC,EAAgB,IAAInP,EAAiBwD,eAAep7B,EAAK,UAAWA,EAAIwP,GAC5EspB,EAAqBkO,MAAMD,EAAev3B,GAC1C,IAAI2rB,EAAiB,IAAIvD,EAAiBwD,eAAep7B,EAAIA,EAAK,UAAWwP,GAC7Es3B,EAAOf,gBAAkB5K,EACzB2L,EAAOtK,iBAAiBpjC,SARxB,CASF,IAAGonB,OAAM,SAAUnT,GACjBy5B,EAAOtK,iBAAiBnjC,OAAO,IAAI7H,MAAM,mCAAqC6b,EAAO1a,QAAU,MACjG,GACF,EACAwpC,QAAS,WACP1gD,KAAKk/C,WAAY,EACbl/C,KAAKqqD,aACPrqD,KAAKqqD,WAAWU,YAChB/qD,KAAKqqD,WAAa,MAEpBL,EAAewB,OAAOxrD,KAAKi6C,OAC3Bj6C,KAAKi6C,MAAQ,KACTj6C,KAAKsqD,kBACPtqD,KAAKsqD,gBAAgB5J,UACrB1gD,KAAKsqD,gBAAkB,KAE3B,GAEF7mD,EAAUs7C,SAAW,SAAUh8C,GAC7B,IAAKA,IAAWA,EAAOgxB,KACrB,MAAM,IAAIhe,MAAM,kDAElB,OAAIi0C,EAAelmC,IAAI/gB,EAAOgxB,MACrBi2B,EAAe/oD,IAAI8B,EAAOgxB,MAE5B,IAAItwB,EAAUV,EACvB,EACAU,EAAU8lD,aAAe,WACvB,OAAOA,GACT,EACO9lD,CACT,CAzNgB,GA2NZo8C,EAAkB,WACpB,SAASA,EAAgBH,EAAgB0C,EAAa/C,EAAet8C,GACnEo+B,EAAgBnhC,KAAM6/C,GAEtB7/C,KAAK0/C,eAAiBA,EACtB1/C,KAAKoiD,YAAcA,EACnBpiD,KAAKikD,WAAa,IAAIE,EACtBnkD,KAAKyrD,WAAa,IAAI7P,EAAa8P,WAAWtJ,EAAYnD,OAC1Dj/C,KAAK2rD,QAAU5oD,EACf/C,KAAK+9C,kBAAoB,IAAIh7C,EAAOg7C,kBAAkB,CACpD9nC,QAASlT,EAAO6oD,QAChBC,aAAc9oD,EAAO+oD,aAEvB9rD,KAAKk/C,WAAY,EACjBl/C,KAAK+rD,kBAAoB,KACzB/rD,KAAKgsD,oBAAsB,KAC3BhsD,KAAKisD,eAAiB5M,EACtBr/C,KAAKksD,YAAc,KACnBlsD,KAAKmsD,cAAgB,KACrBnsD,KAAKmoD,UAAY,GACjBnoD,KAAKosD,aAAe,GACpBpsD,KAAKojD,wBAAyB,EAAI1H,EAAM93C,2BACxC5D,KAAKqsD,qBACP,CAggBA,OA9fAtrB,EAAa8e,EAAiB,CAAC,CAC7Bl+C,IAAK,UACLN,MAAO,WACL,IAAIirD,EAAStsD,KAEb,GAAIA,KAAK+rD,kBACP,OAAO/rD,KAAK+rD,kBAAkBtuC,QAEhCzd,KAAKk/C,WAAY,EACjBl/C,KAAK+rD,mBAAoB,EAAIrQ,EAAM93C,2BAC/B5D,KAAKgsD,qBACPhsD,KAAKgsD,oBAAoBpuC,OAAO,IAAI7H,MAAM,oDAE5C,IAAIqyC,EAAS,GACbpoD,KAAKmoD,UAAUlhC,SAAQ,SAAUslC,GAC3BA,GACFnE,EAAO/vC,KAAKk0C,EAAKrE,WAErB,IACAloD,KAAKmoD,UAAY,GACjBnoD,KAAKosD,aAAe,GACpB,IAAII,EAAaxsD,KAAK0/C,eAAeQ,gBAAgB,YAAa,MAalE,OAZAkI,EAAO/vC,KAAKm0C,GACZ9uC,QAAQkV,IAAIw1B,GAAQj4B,MAAK,WACvBm8B,EAAOb,WAAWj2B,QACd82B,EAAOL,gBACTK,EAAOL,eAAeQ,oBAEpBH,EAAO5M,iBACT4M,EAAO5M,eAAegB,UACtB4L,EAAO5M,eAAiB,MAE1B4M,EAAOP,kBAAkBpuC,SAC3B,GAAG3d,KAAK+rD,kBAAkBnuC,QACnB5d,KAAK+rD,kBAAkBtuC,OAChC,GACC,CACD9b,IAAK,sBACLN,MAAO,WACL,IAAIq+C,EAAiB1/C,KAAK0/C,eACtB0C,EAAcpiD,KAAKoiD,YAEvB1C,EAAe+K,GAAG,aAAa,SAAUzxC,EAAM6+B,GAC7C,IAAI6U,EAAS1sD,MAEb,EAAI07C,EAAM10C,QAAQhH,KAAKisD,gBACvBjsD,KAAKksD,YAAclsD,KAAKisD,eAAeU,gBACvC3sD,KAAKksD,YAAY1L,WAAa,SAAUoM,GACtCF,EAAOP,cAAgB,CACrB7K,OAAQsL,EAAItL,OACZuL,MAAOD,EAAIC,MAEf,EACAhV,EAAKiV,OAAS,WACZJ,EAAOR,YAAYpE,OAAO33B,MAAK,SAAU2Z,GACvC,IAAIzoC,EAAQyoC,EAAMzoC,MACdwnB,EAAOihB,EAAMjhB,KAEbA,EACFgvB,EAAKnsB,UAGP,EAAIgwB,EAAM10C,SAAQ,EAAI00C,EAAMj1C,eAAepF,IAC3Cw2C,EAAKkV,QAAQ,IAAIx0C,WAAWlX,GAAQ,EAAG,CAACA,IAC1C,IAAG0jC,OAAM,SAAUnT,GACjBimB,EAAKhmB,MAAMD,EACb,GACF,EACAimB,EAAKmV,SAAW,SAAUp7B,GACxB86B,EAAOR,YAAY5D,OAAO12B,EAC5B,CACF,GAAG5xB,MACH0/C,EAAe+K,GAAG,sBAAsB,SAAUzxC,GAChD,IAAIi0C,EAAUjtD,KAEVktD,GAAoB,EAAIxR,EAAM93C,2BAC9BupD,EAAantD,KAAKksD,YAqBtB,OApBAiB,EAAWC,aAAaj9B,MAAK,WACtBg9B,EAAWE,sBAAyBF,EAAWG,mBAC9CL,EAAQd,eAAiB/J,EAAY5B,YACvC4B,EAAY5B,WAAWyM,EAAQd,eAEjCgB,EAAW3M,WAAa,SAAUoM,GAC5BxK,EAAY5B,YACd4B,EAAY5B,WAAW,CACrBc,OAAQsL,EAAItL,OACZuL,MAAOD,EAAIC,OAGjB,GAEFK,EAAkBvvC,QAAQ,CACxB0vC,qBAAsBF,EAAWE,qBACjCC,iBAAkBH,EAAWG,iBAC7BC,cAAeJ,EAAWI,eAE9B,GAAGL,EAAkBtvC,QACdsvC,EAAkBzvC,OAC3B,GAAGzd,MACH0/C,EAAe+K,GAAG,kBAAkB,SAAUzxC,EAAM6+B,IAClD,EAAI6D,EAAM10C,QAAQhH,KAAKisD,gBACvB,IAAIuB,EAAcxtD,KAAKisD,eAAewB,eAAez0C,EAAK5B,MAAO4B,EAAK3B,KACtEwgC,EAAKiV,OAAS,WACZU,EAAY1F,OAAO33B,MAAK,SAAUga,GAChC,IAAI9oC,EAAQ8oC,EAAM9oC,MACdwnB,EAAOshB,EAAMthB,KAEbA,EACFgvB,EAAKnsB,UAGP,EAAIgwB,EAAM10C,SAAQ,EAAI00C,EAAMj1C,eAAepF,IAC3Cw2C,EAAKkV,QAAQ,IAAIx0C,WAAWlX,GAAQ,EAAG,CAACA,IAC1C,IAAG0jC,OAAM,SAAUnT,GACjBimB,EAAKhmB,MAAMD,EACb,GACF,EACAimB,EAAKmV,SAAW,SAAUp7B,GACxB47B,EAAYlF,OAAO12B,EACrB,CACF,GAAG5xB,MACH0/C,EAAe+K,GAAG,UAAU,SAAU5f,GACpC,IAAIsX,EAAUtX,EAAMsX,QAEpBniD,KAAKujD,SAAWpB,EAAQoB,SACxBvjD,KAAK0tD,YAAc,IAAIrS,EAAiB8G,EAASniD,KAAMoiD,GACvDA,EAAYpC,YAAYriC,QAAQ3d,KAAK0tD,YACvC,GAAG1tD,MACH0/C,EAAe+K,GAAG,mBAAmB,SAAUkD,GAC7C,IAAIC,EAAU5tD,KAGd,GADAA,KAAKgsD,qBAAsB,EAAItQ,EAAM93C,2BACjCw+C,EAAY7B,WAAY,CAC1B,IAAIsN,EAAiB,SAAwBzN,GAC3CwN,EAAQ5B,oBAAoBruC,QAAQ,CAAEyiC,SAAUA,GAClD,EACA,IACEgC,EAAY7B,WAAWsN,EAAgBF,EAAU12C,KAGnD,CAFE,MAAON,GACP3W,KAAKgsD,oBAAoBpuC,OAAOjH,EAClC,CACF,MACE3W,KAAKgsD,oBAAoBpuC,OAAO,IAAI89B,EAAMj0C,kBAAkBkmD,EAAUz2C,QAASy2C,EAAU12C,OAE3F,OAAOjX,KAAKgsD,oBAAoBvuC,OAClC,GAAGzd,MACH0/C,EAAe+K,GAAG,qBAAqB,SAAUkD,GAC/CvL,EAAYpC,YAAYpiC,OAAO,IAAI89B,EAAMj0C,kBAAkBkmD,EAAUz2C,QAASy2C,EAAU12C,MAC1F,GAAGjX,MACH0/C,EAAe+K,GAAG,cAAc,SAAUkD,GACxCvL,EAAYpC,YAAYpiC,OAAO,IAAI89B,EAAM53C,oBAAoB6pD,EAAUz2C,SACzE,GAAGlX,MACH0/C,EAAe+K,GAAG,cAAc,SAAUkD,GACxCvL,EAAYpC,YAAYpiC,OAAO,IAAI89B,EAAM33C,oBAAoB4pD,EAAUz2C,SACzE,GAAGlX,MACH0/C,EAAe+K,GAAG,sBAAsB,SAAUkD,GAChDvL,EAAYpC,YAAYpiC,OAAO,IAAI89B,EAAMt3C,4BAA4BupD,EAAUz2C,QAASy2C,EAAUx2C,QACpG,GAAGnX,MACH0/C,EAAe+K,GAAG,gBAAgB,SAAUkD,GAC1CvL,EAAYpC,YAAYpiC,OAAO,IAAI89B,EAAMp0C,sBAAsBqmD,EAAUz2C,QAASy2C,EAAU73C,SAC9F,GAAG9V,MACH0/C,EAAe+K,GAAG,cAAc,SAAUzxC,GACpCopC,EAAY5B,YACd4B,EAAY5B,WAAW,CACrBc,OAAQtoC,EAAKtB,OACbm1C,MAAO7zC,EAAKtB,SAGhB1X,KAAKojD,uBAAuBzlC,QAAQ3E,EACtC,GAAGhZ,MACH0/C,EAAe+K,GAAG,mBAAmB,SAAUzxC,GAC7C,IAAIhZ,KAAKk/C,UAAT,CAGA,IAAIqN,EAAOvsD,KAAKmoD,UAAUnvC,EAAK0qC,WAC/B6I,EAAK1I,OAAO6C,QAAQ,gBACpB6F,EAAK7D,iBAAiB1vC,EAAK8tC,aAAc9tC,EAAKgsC,OAH9C,CAIF,GAAGhlD,MACH0/C,EAAe+K,GAAG,mBAAmB,SAAUzxC,GAC7C,IAAIhZ,KAAKk/C,UAAT,CAGA,IAAIqN,EAAOvsD,KAAKmoD,UAAUnvC,EAAK0qC,WAC/B6I,EAAK5D,iBAAiB3vC,EAAKitC,aAAcjtC,EAAKgsC,OAF9C,CAGF,GAAGhlD,MACH0/C,EAAe+K,GAAG,aAAa,SAAUzxC,GACvC,IAAI80C,EAAU9tD,KAEd,IAAIA,KAAKk/C,UAAT,CAIA,IAAI6O,EAAQzS,EAAetiC,EAAM,GAC7BuL,EAAKwpC,EAAM,GACX7vC,EAAO6vC,EAAM,GACbC,EAAeD,EAAM,GAEzB,IAAI/tD,KAAKikD,WAAWgK,QAAQ1pC,GAG5B,OAAQrG,GACN,IAAK,OACH,IAAInb,EAAS/C,KAAK2rD,QAClB,GAAI,UAAWqC,EAAc,CAC3B,IAAIE,EAAgBF,EAAan8B,OACjC,EAAI6pB,EAAMp2C,MAAM,8BAAgC4oD,GAChDluD,KAAKikD,WAAWtmC,QAAQ4G,EAAI2pC,GAC5B,KACF,CACA,IAAIC,EAAe,KACfprD,EAAOo7C,QAAUnC,EAAeO,QAAQ6R,eAAiBpS,EAAeO,QAAQ6R,cAAcC,UAChGF,EAAe,CACbG,aAAc,SAAsBl5C,EAAMoB,GACxCwlC,EAAeO,QAAQ,iBAAiBgS,UAAUn5C,EAAMoB,EAC1D,IAGJ,IAAIpB,EAAO,IAAIwmC,EAAa4S,eAAeR,EAAc,CACvD/nD,gBAAiBlD,EAAOkD,gBACxBs4C,gBAAiBx7C,EAAOw7C,gBACxBN,aAAcl7C,EAAOk7C,aACrBwC,qBAAsBzgD,KAAKyuD,sBAAsB7sD,KAAK5B,MACtDmuD,aAAcA,IAEZO,EAAY,SAAmBC,GACjCb,EAAQ7J,WAAWtmC,QAAQ4G,EAAInP,EACjC,EACApV,KAAKyrD,WAAW7pD,KAAK,CAACwT,GAAOs5C,GAC7B,MACF,IAAK,WACH1uD,KAAKikD,WAAWtmC,QAAQ4G,EAAIypC,GAC5B,MACF,QACE,MAAM,IAAIj4C,MAAM,kCAAoCmI,GA3CxD,CA6CF,GAAGle,MACH0/C,EAAe+K,GAAG,OAAO,SAAUzxC,GACjC,IAAIhZ,KAAKk/C,UAAT,CAIA,IAAI0P,EAAStT,EAAetiC,EAAM,GAC9BuL,EAAKqqC,EAAO,GACZlL,EAAYkL,EAAO,GACnB1wC,EAAO0wC,EAAO,GACdC,EAAYD,EAAO,GAEnBE,EAAY9uD,KAAKmoD,UAAUzE,GAC/B,IAAIoL,EAAU5K,KAAK+J,QAAQ1pC,GAG3B,OAAQrG,GACN,IAAK,aACH,OAAO,IAAIR,SAAQ,SAAUC,EAASC,GACpC,IAAImxC,EAAM,IAAIC,MACdD,EAAIE,OAAS,WACXtxC,EAAQoxC,EACV,EACAA,EAAIG,QAAU,WACZtxC,EAAO,IAAI7H,MAAM,mCACnB,EACAg5C,EAAIzjC,IAAMujC,CACZ,IAAG1+B,MAAK,SAAU4+B,GAChBD,EAAU5K,KAAKvmC,QAAQ4G,EAAIwqC,EAC7B,IACF,IAAK,QACHD,EAAU5K,KAAKvmC,QAAQ4G,EAAIsqC,GAC3B,IAAIM,EAA0B,IAC1BN,GAAa,SAAUA,GAAaA,EAAU71C,KAAKtB,OAASy3C,IAC9DL,EAAU1K,oBAAqB,GAEjC,MACF,QACE,MAAM,IAAIruC,MAAM,2BAA6BmI,GAlCjD,CAoCF,GAAGle,MACH0/C,EAAe+K,GAAG,eAAe,SAAUzxC,GACrChZ,KAAKk/C,WAGLkD,EAAY5B,YACd4B,EAAY5B,WAAW,CACrBc,OAAQtoC,EAAKsoC,OACbuL,MAAO7zC,EAAK6zC,OAGlB,GAAG7sD,MACH0/C,EAAe+K,GAAG,aAAa,SAAUzxC,GACvC,IAAIhZ,KAAKk/C,UAAT,CAGA,IAAIqN,EAAOvsD,KAAKmoD,UAAUnvC,EAAKo2C,QAAU,GACrCtJ,EAAcyG,EAAKjI,aAAatrC,EAAKgsC,QACzC,IAAIc,EAAYC,uBAGd,MAAM,IAAIhwC,MAAMiD,EAAK6Y,OAEvB,GAJEi0B,EAAYC,uBAAuBnoC,OAAO5E,EAAK6Y,OAI7Ci0B,EAAYG,aAAc,CAC5BH,EAAYG,aAAaG,WAAY,EACrC,IAAK,IAAI/lD,EAAI,EAAGA,EAAIylD,EAAYS,YAAY7uC,OAAQrX,IAClDylD,EAAYS,YAAYlmD,GAAG2mD,qBAE/B,CAbA,CAcF,GAAGhnD,MACH0/C,EAAe+K,GAAG,qBAAsBzqD,KAAKyuD,sBAAuBzuD,MACpE0/C,EAAe+K,GAAG,cAAc,SAAUzxC,GACxC,GAAIhZ,KAAKk/C,UACP,OAAOxhC,QAAQE,OAAO,IAAI7H,MAAM,yBAElC,GAAwB,qBAAb+I,SACT,OAAOpB,QAAQE,OAAO,IAAI7H,MAAM,+BAGlC,IAAIs5C,EAAS/T,EAAetiC,EAAM,GAC9Bs2C,EAAWD,EAAO,GAClBE,EAAaF,EAAO,GAExB,OAAmB,IAAfE,GAAmC,IAAfA,EACf7xC,QAAQE,OAAO,IAAI7H,MAAM,qDAE3B,IAAI2H,SAAQ,SAAUC,EAASC,GACpC,IAAImxC,EAAM,IAAIC,MACdD,EAAIE,OAAS,WACX,IAAIO,EAAQT,EAAIS,MACZC,EAASV,EAAIU,OACb9uB,EAAO6uB,EAAQC,EACfC,EAAoB,EAAP/uB,EACbgvB,EAAM,IAAIC,kBAAkBjvB,EAAO4uB,GACnCM,EAAY/wC,SAASe,cAAc,UACvCgwC,EAAUL,MAAQA,EAClBK,EAAUJ,OAASA,EACnB,IAAIK,EAASD,EAAUE,WAAW,MAClCD,EAAOE,UAAUjB,EAAK,EAAG,GACzB,IAAI/1C,EAAO82C,EAAOG,aAAa,EAAG,EAAGT,EAAOC,GAAQz2C,KACpD,GAAmB,IAAfu2C,EACF,IAAK,IAAIlvD,EAAI,EAAGmnB,EAAI,EAAGnnB,EAAIqvD,EAAYrvD,GAAK,EAAGmnB,GAAK,EAClDmoC,EAAInoC,GAAKxO,EAAK3Y,GACdsvD,EAAInoC,EAAI,GAAKxO,EAAK3Y,EAAI,GACtBsvD,EAAInoC,EAAI,GAAKxO,EAAK3Y,EAAI,QAEnB,GAAmB,IAAfkvD,EACT,IAAK,IAAI5mC,EAAK,EAAGunC,EAAK,EAAGvnC,EAAK+mC,EAAY/mC,GAAM,EAAGunC,IACjDP,EAAIO,GAAMl3C,EAAK2P,GAGnBhL,EAAQ,CACN3E,KAAM22C,EACNH,MAAOA,EACPC,OAAQA,GAEZ,EACAV,EAAIG,QAAU,WACZtxC,EAAO,IAAI7H,MAAM,mCACnB,EACAg5C,EAAIzjC,IAAMgkC,CACZ,GACF,GAAGtvD,MACH0/C,EAAe+K,GAAG,oBAAoB,SAAUzxC,GAC9C,OAAIhZ,KAAKk/C,UACAxhC,QAAQE,OAAO,IAAI7H,MAAM,yBAE3B/V,KAAK+9C,kBAAkBoS,MAAM,CAAExvD,KAAMqY,EAAKrY,MACnD,GAAGX,KACL,GACC,CACD2B,IAAK,wBACLN,MAAO,SAA+B+uD,GACpC,IAAIC,EAAYD,EAAMC,UAElBrwD,KAAKk/C,WAGLl/C,KAAKoiD,YAAY3B,sBACnBzgD,KAAKoiD,YAAY3B,qBAAqB4P,EAE1C,GACC,CACD1uD,IAAK,UACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,UAAW,KACxD,GACC,CACDv+C,IAAK,UACLN,MAAO,SAAiBihD,GACtB,IAAIgO,EAAUtwD,KAEd,IAAKyV,OAAOC,UAAU4sC,IAAeA,GAAc,GAAKA,EAAatiD,KAAKujD,SACxE,OAAO7lC,QAAQE,OAAO,IAAI7H,MAAM,yBAElC,IAAI2tC,EAAYpB,EAAa,EAC7B,GAAIoB,KAAa1jD,KAAKosD,aACpB,OAAOpsD,KAAKosD,aAAa1I,GAE3B,IAAIjmC,EAAUzd,KAAK0/C,eAAeQ,gBAAgB,UAAW,CAAEwD,UAAWA,IAAavzB,MAAK,SAAUwzB,GACpG,GAAI2M,EAAQpR,UACV,MAAM,IAAInpC,MAAM,uBAElB,IAAIw2C,EAAO,IAAInR,EAAasI,EAAWC,EAAU2M,EAASA,EAAQ3E,QAAQxN,QAE1E,OADAmS,EAAQnI,UAAUzE,GAAa6I,EACxBA,CACT,IAEA,OADAvsD,KAAKosD,aAAa1I,GAAajmC,EACxBA,CACT,GACC,CACD9b,IAAK,eACLN,MAAO,SAAsBmhD,GAC3B,OAAOxiD,KAAK0/C,eAAeQ,gBAAgB,eAAgB,CAAEsC,IAAKA,IAAOzd,OAAM,SAAUnT,GACvF,OAAOlU,QAAQE,OAAO,IAAI7H,MAAM6b,GAClC,GACF,GACC,CACDjwB,IAAK,iBACLN,MAAO,SAAwBqiD,EAAWsB,GACxC,OAAOhlD,KAAK0/C,eAAeQ,gBAAgB,iBAAkB,CAC3DwD,UAAWA,EACXsB,OAAQA,GAEZ,GACC,CACDrjD,IAAK,kBACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,kBAAmB,KAChE,GACC,CACDv+C,IAAK,iBACLN,MAAO,SAAwBkjB,GAC7B,MAAkB,kBAAPA,EACF7G,QAAQE,OAAO,IAAI7H,MAAM,iCAE3B/V,KAAK0/C,eAAeQ,gBAAgB,iBAAkB,CAAE37B,GAAIA,GACrE,GACC,CACD5iB,IAAK,gBACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,gBAAiB,KAC9D,GACC,CACDv+C,IAAK,cACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,cAAe,KAC5D,GACC,CACDv+C,IAAK,iBACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,iBAAkB,KAC/D,GACC,CACDv+C,IAAK,gBACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,gBAAiB,KAC9D,GACC,CACDv+C,IAAK,aACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,aAAc,KAC3D,GACC,CACDv+C,IAAK,iBACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,iBAAkB,KAC/D,GACC,CACDv+C,IAAK,cACLN,MAAO,WACL,IAAIkvD,EAAUvwD,KAEd,OAAOA,KAAK0/C,eAAeQ,gBAAgB,cAAe,MAAM/vB,MAAK,SAAUqgC,GAC7E,MAAO,CACL9pD,KAAM8pD,EAAQ,GACdC,SAAUD,EAAQ,GAAK,IAAIpU,EAAUsU,SAASF,EAAQ,IAAM,KAC5DG,2BAA4BJ,EAAQrE,YAAcqE,EAAQrE,YAAY0E,SAAW,KAErF,GACF,GACC,CACDjvD,IAAK,WACLN,MAAO,WACL,OAAOrB,KAAK0/C,eAAeQ,gBAAgB,WAAY,KACzD,GACC,CACDv+C,IAAK,eACLN,MAAO,WACL,IAAIwvD,EAAU7wD,KAEdA,KAAK0/C,eAAeQ,gBAAgB,UAAW,MAAM/vB,MAAK,WACxD,IAAK,IAAI9vB,EAAI,EAAGyY,EAAK+3C,EAAQ1I,UAAUzwC,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC1D,IAAIksD,EAAOsE,EAAQ1I,UAAU9nD,GACzBksD,GACFA,EAAKhE,SAET,CACAsI,EAAQ5M,WAAWzuB,QACnBq7B,EAAQpF,WAAWj2B,OACrB,GACF,GACC,CACD7zB,IAAK,gBACLV,IAAK,WACH,IAAI8B,EAAS/C,KAAK2rD,QAClB,OAAO,EAAIjQ,EAAM/2C,QAAQ3E,KAAM,gBAAiB,CAC9C0+C,iBAAkB37C,EAAO27C,iBACzBC,uBAAwB57C,EAAO47C,uBAC/BJ,gBAAiBx7C,EAAOw7C,gBACxBF,0BAA2Bt7C,EAAOs7C,2BAEtC,KAGKwB,CACT,CAxhBsB,GA0hBlBsE,EAAa,WACf,SAASA,IACPnkD,KAAKkkD,KAAOpjD,OAAOY,OAAO,KAC5B,CAoDA,OAnDAyiD,EAAWniD,UAAY,CACrB8uD,UAAW,SAA8BC,GACvC,GAAI/wD,KAAKkkD,KAAK6M,GACZ,OAAO/wD,KAAKkkD,KAAK6M,GAEnB,IAAIxoD,EAAM,CACRiV,YAAY,EAAIk+B,EAAM93C,2BACtBoV,KAAM,KACNg4C,UAAU,GAGZ,OADAhxD,KAAKkkD,KAAK6M,GAASxoD,EACZA,CACT,EACAtH,IAAK,SAAwB8vD,EAAOE,GAClC,GAAIA,EAEF,OADAjxD,KAAK8wD,UAAUC,GAAOvzC,WAAWC,QAAQ0S,KAAK8gC,GACvC,KAET,IAAI1oD,EAAMvI,KAAKkkD,KAAK6M,GACpB,IAAKxoD,IAAQA,EAAIyoD,SACf,MAAM,IAAIj7C,MAAM,6CAAgDg7C,GAElE,OAAOxoD,EAAIyQ,IACb,EACA2E,QAAS,SAA4BozC,EAAO/3C,GAC1C,IAAIzQ,EAAMvI,KAAK8wD,UAAUC,GACzBxoD,EAAIyoD,UAAW,EACfzoD,EAAIyQ,KAAOA,EACXzQ,EAAIiV,WAAWG,QAAQ3E,EACzB,EACAk4C,WAAY,SAA+BH,GACzC,IAAI7M,EAAOlkD,KAAKkkD,KAChB,QAAKA,EAAK6M,IAGH7M,EAAK6M,GAAOC,QACrB,EACA/C,QAAS,SAA4B8C,GACnC,OAAO/wD,KAAKkxD,WAAWH,EACzB,EACA5N,QAAS,SAA4B4N,GACnC,IAAI7M,EAAOlkD,KAAKkkD,KAChB,OAAKA,EAAK6M,IAAW7M,EAAK6M,GAAOC,SAG1B9M,EAAK6M,GAAO/3C,KAFV,IAGX,EACAwc,MAAO,WACLx1B,KAAKkkD,KAAOpjD,OAAOY,OAAO,KAC5B,GAEKyiD,CACT,CAxDiB,GAyDbgN,EAAa,WACf,SAASA,EAAW3K,GAClBxmD,KAAKoxD,oBAAsB5K,EAC3BxmD,KAAKqxD,WAAa,IACpB,CAYA,OAXAF,EAAWnvD,UAAY,CACjByb,cACF,OAAOzd,KAAKoxD,oBAAoB5zC,WAAWC,OAC7C,EACA6qC,OAAQ,WACNtoD,KAAKoxD,oBAAoB9I,QAC3B,EACAn4B,KAAM,SAAyBoC,EAAaC,GAC1C,OAAOxyB,KAAKyd,QAAQ0S,KAAKrY,MAAM9X,KAAKyd,QAASZ,UAC/C,GAEKs0C,CACT,CAjBiB,GAkBbxK,EAAqB,WACvB,IAAI2K,EAAoB,IAAI9wC,QAC5B,SAASmmC,EAAmBsK,EAAUluD,EAAQmhD,EAAMD,EAAYgC,EAAc3D,EAAYkD,EAAeE,GACvG,IAAIvH,EAASthC,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAE5E7c,KAAKixD,SAAWA,EAChBjxD,KAAK+C,OAASA,EACd/C,KAAKkkD,KAAOA,EACZlkD,KAAKikD,WAAaA,EAClBjkD,KAAKuxD,gBAAkB,KACvBvxD,KAAKimD,aAAeA,EACpBjmD,KAAKsiD,WAAaA,EAClBtiD,KAAKwlD,cAAgBA,EACrBxlD,KAAK0lD,aAAeA,EACpB1lD,KAAKgkD,QAAU7F,EACfn+C,KAAKwxD,SAAU,EACfxxD,KAAKyxD,sBAAwB,KAC7BzxD,KAAK0xD,eAAgB,EACrB1xD,KAAK4mD,0BAA2B,EAChC5mD,KAAK2xD,WAAY,EACjB3xD,KAAKwd,YAAa,EAAIk+B,EAAM93C,2BAC5B5D,KAAKmvB,KAAO,IAAIgiC,EAAWnxD,MAC3BA,KAAK4xD,eAAiB5xD,KAAK6xD,UAAUjwD,KAAK5B,MAC1CA,KAAK8xD,mBAAqB9xD,KAAK+xD,cAAcnwD,KAAK5B,MAClDA,KAAKgyD,WAAahyD,KAAKiyD,MAAMrwD,KAAK5B,MAClCA,KAAK87C,QAAU/4C,EAAOmvD,cAAcC,MACtC,CAkGA,OAjGAxL,EAAmB3kD,UAAY,CAC7B+kD,mBAAoB,SAA4BD,GAC9C,IAAI9mD,KAAK2xD,UAAT,CAGA,GAAI3xD,KAAK87C,QAAS,CAChB,GAAIwV,EAAkBxtC,IAAI9jB,KAAK87C,SAC7B,MAAM,IAAI/lC,MAAM,mJAElBu7C,EAAkBr4C,IAAIjZ,KAAK87C,QAAS97C,KACtC,CACIA,KAAKgkD,SAAWhI,EAAeO,QAAQ6V,gBAAkBpW,EAAeO,QAAQ6V,eAAe/D,UACjGruD,KAAKqyD,QAAUrW,EAAeO,QAAQ6V,eAAe1wD,OAAO1B,KAAKsiD,WAAa,GAC9EtiD,KAAKqyD,QAAQC,KAAKtyD,KAAKimD,cACvBjmD,KAAKqyD,QAAQE,eAAiBvyD,KAAKqyD,QAAQG,qBAE7C,IAAIzvD,EAAS/C,KAAK+C,OAClB/C,KAAKyyD,IAAM,IAAI3W,EAAQ4W,eAAe3vD,EAAOmvD,cAAelyD,KAAKikD,WAAYjkD,KAAKkkD,KAAMlkD,KAAKwlD,cAAexlD,KAAK0lD,aAAc3iD,EAAO4vD,YACtI3yD,KAAKyyD,IAAIG,aAAa,CACpB7iD,UAAWhN,EAAOgN,UAClB8iD,SAAU9vD,EAAO8vD,SACjB/L,aAAcA,EACdgM,WAAY/vD,EAAO+vD,aAErB9yD,KAAKuxD,gBAAkB,EACvBvxD,KAAK0xD,eAAgB,EACjB1xD,KAAKyxD,uBACPzxD,KAAKyxD,uBAvBP,CAyBF,EAEAnJ,OAAQ,WACNtoD,KAAKwxD,SAAU,EACfxxD,KAAK2xD,WAAY,EACb3xD,KAAK87C,SACPwV,EAAkB9F,OAAOxrD,KAAK87C,SAEhC97C,KAAKixD,SAAS,IAAItV,EAAW72C,4BAA4B,6BAA+B9E,KAAKsiD,WAAY,UAC3G,EACA0E,oBAAqB,WACdhnD,KAAK0xD,eAMN1xD,KAAKqyD,SACPryD,KAAKqyD,QAAQU,mBAAmB/yD,KAAKimD,cAEnCjmD,KAAKwxD,SAGTxxD,KAAK6xD,aAXE7xD,KAAKyxD,wBACRzxD,KAAKyxD,sBAAwBzxD,KAAK4xD,eAWxC,EACAC,UAAW,WACT7xD,KAAKwxD,SAAU,EACXxxD,KAAK2xD,YAGL3xD,KAAKmvB,KAAKkiC,WACZrxD,KAAKmvB,KAAKkiC,WAAWrxD,KAAK8xD,oBAE1B9xD,KAAK+xD,gBAET,EACAA,cAAe,WACb,IAAIiB,EAAUhzD,KAEVA,KAAK4mD,0BAA8C,qBAAX/nC,OAC1CA,OAAOo0C,uBAAsB,WAC3BD,EAAQhB,aAAajtB,MAAMiuB,EAAQ/B,SACrC,IAEAvzC,QAAQC,UAAUwS,KAAKnwB,KAAKgyD,YAAYjtB,MAAM/kC,KAAKixD,SAEvD,EACAgB,MAAO,WACL,IAAIiB,EAAUlzD,KAEd,OAAO,IAAI0d,SAAQ,WACbw1C,EAAQvB,YAGZuB,EAAQ3B,gBAAkB2B,EAAQT,IAAIU,oBAAoBD,EAAQjN,aAAciN,EAAQ3B,gBAAiB2B,EAAQtB,eAAgBsB,EAAQb,SACrIa,EAAQ3B,kBAAoB2B,EAAQjN,aAAaE,UAAUzuC,SAC7Dw7C,EAAQ1B,SAAU,EACd0B,EAAQjN,aAAaG,YACvB8M,EAAQT,IAAIW,aACRF,EAAQpX,SACVwV,EAAkB9F,OAAO0H,EAAQpX,SAEnCoX,EAAQjC,aAGd,GACF,GAEKtK,CACT,CA7HyB,GAgIvB5mD,EAAQsD,QAAUA,EAAU,UAC5BtD,EAAQqD,MAAQA,EAAQ,WAE1BrD,EAAQuD,YAAcA,EACtBvD,EAAQwD,aAAeA,EACvBxD,EAAQyD,sBAAwBA,EAChCzD,EAAQ0D,UAAYA,EACpB1D,EAAQs7C,iBAAmBA,EAC3Bt7C,EAAQq7C,aAAeA,EACvBr7C,EAAQ+C,2BAA6BA,EACrC/C,EAAQsD,QAAUA,EAClBtD,EAAQqD,MAAQA,CAET,EAED,SAAUtD,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQmF,WAAanF,EAAQgkD,eAAiBhkD,EAAQ+jD,UAAY/jD,EAAQszD,cAAgBtzD,EAAQi+C,qBAAuBj+C,EAAQ0lD,iBAAmB1lD,EAAQuzD,iBAAmBvzD,EAAQiF,WAAajF,EAAQgF,mBAAqBhF,EAAQkF,kBAAoBlF,EAAQ+E,4BAA8B/E,EAAQ6kD,kBAAex8C,EAE1T,IAAI24B,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEfgyB,EAAQv7C,EAAoB,GAEhC,SAASghC,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,IAAIiwC,EAAmB,+BACnBC,EAAS,6BAET9N,EAAmB,WACrB,SAASA,IACPtkB,EAAgBnhC,KAAMylD,EACxB,CA0CA,OAxCA1kB,EAAa0kB,EAAkB,CAAC,CAC9B9jD,IAAK,SACLN,MAAO,SAAgBmuD,EAAOC,GAC5B,GAAID,GAAS,GAAKC,GAAU,EAC1B,MAAM,IAAI15C,MAAM,uBAElB,IAAIo8C,EAASrzC,SAASe,cAAc,UAChCiB,EAAUqxC,EAAOpC,WAAW,MAGhC,OAFAoC,EAAO3C,MAAQA,EACf2C,EAAO1C,OAASA,EACT,CACL0C,OAAQA,EACRrxC,QAASA,EAEb,GACC,CACDnf,IAAK,QACLN,MAAO,SAAemyD,EAAkBhE,EAAOC,GAC7C,IAAK+D,EAAiBrB,OACpB,MAAM,IAAIp8C,MAAM,2BAElB,GAAIy5C,GAAS,GAAKC,GAAU,EAC1B,MAAM,IAAI15C,MAAM,uBAElBy9C,EAAiBrB,OAAO3C,MAAQA,EAChCgE,EAAiBrB,OAAO1C,OAASA,CACnC,GACC,CACD9tD,IAAK,UACLN,MAAO,SAAiBmyD,GACtB,IAAKA,EAAiBrB,OACpB,MAAM,IAAIp8C,MAAM,2BAElBy9C,EAAiBrB,OAAO3C,MAAQ,EAChCgE,EAAiBrB,OAAO1C,OAAS,EACjC+D,EAAiBrB,OAAS,KAC1BqB,EAAiB1yC,QAAU,IAC7B,KAGK2kC,CACT,CA9CuB,GAgDnBzH,EAAuB,WACzB,SAASA,EAAqBrkC,GAC5B,IAAI85C,EAAe95C,EAAK1D,QACpBA,OAA2B7N,IAAjBqrD,EAA6B,KAAOA,EAC9CC,EAAoB/5C,EAAKkyC,aACzBA,OAAqCzjD,IAAtBsrD,GAA0CA,EAE7DvyB,EAAgBnhC,KAAMg+C,GAEtBh+C,KAAKiW,QAAUA,EACfjW,KAAK6rD,aAAeA,CACtB,CAgDA,OA9CA9qB,EAAaid,EAAsB,CAAC,CAClCr8C,IAAK,QACLN,MAAO,SAAesoC,GACpB,IAAI/B,EAAQ5nC,KAERW,EAAOgpC,EAAMhpC,KAEjB,OAAKX,KAAKiW,QAGLtV,EAGE,IAAI+c,SAAQ,SAAUC,EAASC,GACpC,IAAIpH,EAAMoxB,EAAM3xB,QAAUtV,GAAQinC,EAAMikB,aAAe,SAAW,IAC9D8H,EAAU,IAAIC,eAClBD,EAAQnoC,KAAK,MAAOhV,GAAK,GACrBoxB,EAAMikB,eACR8H,EAAQE,aAAe,eAEzBF,EAAQG,mBAAqB,WAC3B,GAAIH,EAAQI,aAAeH,eAAeI,KAA1C,CAGA,GAAuB,MAAnBL,EAAQx8C,QAAqC,IAAnBw8C,EAAQx8C,OAAc,CAClD,IAAI6B,OAAO,EAMX,GALI4uB,EAAMikB,cAAgB8H,EAAQM,SAChCj7C,EAAO,IAAIT,WAAWo7C,EAAQM,WACpBrsB,EAAMikB,cAAgB8H,EAAQO,eACxCl7C,GAAO,EAAI0iC,EAAMh2C,eAAeiuD,EAAQO,eAEtCl7C,EAKF,YAJA2E,EAAQ,CACNw2C,SAAUn7C,EACVo7C,gBAAiBxsB,EAAMikB,aAAenQ,EAAMx3C,oBAAoBgL,OAASwsC,EAAMx3C,oBAAoByE,MAIzG,CACAiV,EAAO,IAAI7H,MAAM,mBAAqB6xB,EAAMikB,aAAe,UAAY,IAAM,YAAcr1C,GAhB3F,CAiBF,EACAm9C,EAAQ5T,KAAK,KACf,IA/BSriC,QAAQE,OAAO,IAAI7H,MAAM,iCAHzB2H,QAAQE,OAAO,IAAI7H,MAAM,2HAmCpC,KAGKioC,CACT,CA5D2B,GA8DvBqV,EAAgB,WAClB,SAASA,IACPlyB,EAAgBnhC,KAAMqzD,EACxB,CAsBA,OApBAtyB,EAAasyB,EAAe,CAAC,CAC3B1xD,IAAK,SACLN,MAAO,SAAgBmuD,EAAOC,IAC5B,EAAI/T,EAAM10C,QAAQwoD,EAAQ,GAAKC,EAAS,EAAG,0BAC3C,IAAI4E,EAAMv1C,SAASw1C,gBAAgBf,EAAQ,WAM3C,OALAc,EAAIE,aAAa,UAAW,OAC5BF,EAAIE,aAAa,QAAS/E,EAAQ,MAClC6E,EAAIE,aAAa,SAAU9E,EAAS,MACpC4E,EAAIE,aAAa,sBAAuB,QACxCF,EAAIE,aAAa,UAAW,OAAS/E,EAAQ,IAAMC,GAC5C4E,CACT,GACC,CACD1yD,IAAK,gBACLN,MAAO,SAAuB6c,GAE5B,OADA,EAAIw9B,EAAM10C,QAAwB,kBAATkX,EAAmB,4BACrCY,SAASw1C,gBAAgBf,EAAQr1C,EAC1C,KAGKm1C,CACT,CA1BoB,GA4BhBzO,EAAe,WACjB,SAASA,EAAa9a,GACpB,IAAI+a,EAAU/a,EAAM+a,QAChBH,EAAQ5a,EAAM4a,MACdI,EAAWhb,EAAMgb,SACjB0P,EAAgB1qB,EAAM2qB,QACtBA,OAA4BrsD,IAAlBosD,EAA8B,EAAIA,EAC5CE,EAAgB5qB,EAAM6qB,QACtBA,OAA4BvsD,IAAlBssD,EAA8B,EAAIA,EAC5CE,EAAiB9qB,EAAM6a,SACvBA,OAA8Bv8C,IAAnBwsD,GAAuCA,EAEtDzzB,EAAgBnhC,KAAM4kD,GAEtB5kD,KAAK6kD,QAAUA,EACf7kD,KAAK0kD,MAAQA,EACb1kD,KAAK8kD,SAAWA,EAChB9kD,KAAKy0D,QAAUA,EACfz0D,KAAK20D,QAAUA,EACf,IAAIE,GAAWhQ,EAAQ,GAAKA,EAAQ,IAAM,EACtCiQ,GAAWjQ,EAAQ,GAAKA,EAAQ,IAAM,EACtCkQ,OAAU,EACVC,OAAU,EACVC,OAAU,EACVC,OAAU,EAGd,OAFApQ,GAAsB,IACtBA,EAAWA,EAAW,EAAIA,EAAW,IAAMA,EACnCA,GACN,KAAK,IACHiQ,GAAW,EACXC,EAAU,EACVC,EAAU,EACVC,EAAU,EACV,MACF,KAAK,GACHH,EAAU,EACVC,EAAU,EACVC,EAAU,EACVC,EAAU,EACV,MACF,KAAK,IACHH,EAAU,EACVC,GAAW,EACXC,GAAW,EACXC,EAAU,EACV,MACF,QACEH,EAAU,EACVC,EAAU,EACVC,EAAU,EACVC,GAAW,EACX,MAEAvQ,IACFsQ,GAAWA,EACXC,GAAWA,GAEb,IAAIC,OAAgB,EAChBC,OAAgB,EAChB5F,OAAQ,EACRC,OAAS,EACG,IAAZsF,GACFI,EAAgBl9C,KAAKo9C,IAAIP,EAAUjQ,EAAQ,IAAMH,EAAQ+P,EACzDW,EAAgBn9C,KAAKo9C,IAAIR,EAAUhQ,EAAQ,IAAMH,EAAQiQ,EACzDnF,EAAQv3C,KAAKo9C,IAAIxQ,EAAQ,GAAKA,EAAQ,IAAMH,EAC5C+K,EAASx3C,KAAKo9C,IAAIxQ,EAAQ,GAAKA,EAAQ,IAAMH,IAE7CyQ,EAAgBl9C,KAAKo9C,IAAIR,EAAUhQ,EAAQ,IAAMH,EAAQ+P,EACzDW,EAAgBn9C,KAAKo9C,IAAIP,EAAUjQ,EAAQ,IAAMH,EAAQiQ,EACzDnF,EAAQv3C,KAAKo9C,IAAIxQ,EAAQ,GAAKA,EAAQ,IAAMH,EAC5C+K,EAASx3C,KAAKo9C,IAAIxQ,EAAQ,GAAKA,EAAQ,IAAMH,GAE/C1kD,KAAK+P,UAAY,CAACglD,EAAUrQ,EAAOsQ,EAAUtQ,EAAOuQ,EAAUvQ,EAAOwQ,EAAUxQ,EAAOyQ,EAAgBJ,EAAUrQ,EAAQmQ,EAAUI,EAAUvQ,EAAQoQ,EAASM,EAAgBJ,EAAUtQ,EAAQmQ,EAAUK,EAAUxQ,EAAQoQ,GAC3N90D,KAAKwvD,MAAQA,EACbxvD,KAAKyvD,OAASA,CAChB,CAyCA,OAvCA1uB,EAAa6jB,EAAc,CAAC,CAC1BjjD,IAAK,QACLN,MAAO,WACL,IAAI8oC,EAAQttB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7Ey4C,EAAcnrB,EAAMua,MACpBA,OAAwBt8C,IAAhBktD,EAA4Bt1D,KAAK0kD,MAAQ4Q,EACjDC,EAAiBprB,EAAM2a,SACvBA,OAA8B18C,IAAnBmtD,EAA+Bv1D,KAAK8kD,SAAWyQ,EAC1DC,EAAiBrrB,EAAMwa,SACvBA,OAA8Bv8C,IAAnBotD,GAAuCA,EAEtD,OAAO,IAAI5Q,EAAa,CACtBC,QAAS7kD,KAAK6kD,QAAQ5pC,QACtBypC,MAAOA,EACPI,SAAUA,EACV2P,QAASz0D,KAAKy0D,QACdE,QAAS30D,KAAK20D,QACdhQ,SAAUA,GAEd,GACC,CACDhjD,IAAK,yBACLN,MAAO,SAAgC6X,EAAGu8C,GACxC,OAAO/Z,EAAM92C,KAAK8V,eAAe,CAACxB,EAAGu8C,GAAIz1D,KAAK+P,UAChD,GACC,CACDpO,IAAK,6BACLN,MAAO,SAAoC4a,GACzC,IAAIy5C,EAAKha,EAAM92C,KAAK8V,eAAe,CAACuB,EAAK,GAAIA,EAAK,IAAKjc,KAAK+P,WACxD4lD,EAAKja,EAAM92C,KAAK8V,eAAe,CAACuB,EAAK,GAAIA,EAAK,IAAKjc,KAAK+P,WAC5D,MAAO,CAAC2lD,EAAG,GAAIA,EAAG,GAAIC,EAAG,GAAIA,EAAG,GAClC,GACC,CACDh0D,IAAK,oBACLN,MAAO,SAA2B6X,EAAGu8C,GACnC,OAAO/Z,EAAM92C,KAAKiW,sBAAsB,CAAC3B,EAAGu8C,GAAIz1D,KAAK+P,UACvD,KAGK60C,CACT,CArHmB,GAuHf9/C,EAA8B,WAChC,SAASA,EAA4B6Q,EAAKuI,GACxCle,KAAKkX,QAAUvB,EACf3V,KAAKke,KAAOA,CACd,CAIA,OAHApZ,EAA4B9C,UAAY,IAAI+T,MAC5CjR,EAA4B9C,UAAUrB,KAAO,8BAC7CmE,EAA4B0D,YAAc1D,EACnCA,CACT,CATkC,GAU9BE,EAAa,CACf2D,KAAM,EACNitD,KAAM,EACNC,MAAO,EACPC,OAAQ,EACRC,IAAK,GAEHC,EAAsB,CAAC,GAAI,QAAS,SAAU,UAAW,QAC7D,SAAS/wD,EAAkBgxD,GACzB,IAAIprB,EAAQhuB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7ErG,EAAMq0B,EAAMr0B,IACZ8L,EAASuoB,EAAMvoB,OACf4zC,EAAMrrB,EAAMqrB,IAGhB,GADAD,EAAK/d,KAAO+d,EAAKE,MAAQ3/C,GAAM,EAAIklC,EAAMh3C,sBAAsB8R,GAAO,GAClEA,EAAK,CACP,IAAI4/C,EAAmBt1D,OAAOqZ,OAAOnV,GACjCqxD,EAAcD,EAAiBh2C,SAASkC,GAAUA,EAAStd,EAAW2D,KAC1EstD,EAAK3zC,OAAS0zC,EAAoBK,GAClCJ,EAAKC,IAAqB,kBAARA,EAAmBA,EAAM5C,CAC7C,CACF,CACA,SAASvuD,EAAmByR,GAC1B,IAAI8/C,EAAS9/C,EAAI2K,QAAQ,KACrBo1C,EAAQ//C,EAAI2K,QAAQ,KACpB9J,EAAMY,KAAKC,IAAIo+C,EAAS,EAAIA,EAAS9/C,EAAIkB,OAAQ6+C,EAAQ,EAAIA,EAAQ//C,EAAIkB,QAC7E,OAAOlB,EAAIggD,UAAUhgD,EAAIigD,YAAY,IAAKp/C,GAAO,EAAGA,EACtD,CAEA,IAAIysC,EAAY,WACd,SAASA,IACP,IAAI8B,IAAS/oC,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,KAAmBA,UAAU,GAE5EskB,EAAgBnhC,KAAM8jD,GAEtB9jD,KAAKquD,UAAYzI,EACjB5lD,KAAK02D,QAAU51D,OAAOY,OAAO,MAC7B1B,KAAK22D,MAAQ,EACf,CAkDA,OAhDA51B,EAAa+iB,EAAW,CAAC,CACvBniD,IAAK,OACLN,MAAO,SAAcV,GACdX,KAAKquD,UAGN1tD,KAAQX,KAAK02D,UACf,EAAIhb,EAAMp2C,MAAM,gCAAkC3E,GAEpDX,KAAK02D,QAAQ/1D,GAAQi2D,KAAK5hC,MAC5B,GACC,CACDrzB,IAAK,UACLN,MAAO,SAAiBV,GACjBX,KAAKquD,UAGJ1tD,KAAQX,KAAK02D,UACjB,EAAIhb,EAAMp2C,MAAM,kCAAoC3E,GAEtDX,KAAK22D,MAAMt+C,KAAK,CACd,KAAQ1X,EACR,MAASX,KAAK02D,QAAQ/1D,GACtB,IAAOi2D,KAAK5hC,eAEPh1B,KAAK02D,QAAQ/1D,GACtB,GACC,CACDgB,IAAK,WACLN,MAAO,WAIL,IAHA,IAAIs1D,EAAQ32D,KAAK22D,MACb/0C,EAAM,GACNi1C,EAAU,EACLx2D,EAAI,EAAGyY,EAAK69C,EAAMj/C,OAAQrX,EAAIyY,IAAMzY,EAAG,CAC9C,IAAIM,EAAOg2D,EAAMt2D,GAAG,QAChBM,EAAK+W,OAASm/C,IAChBA,EAAUl2D,EAAK+W,OAEnB,CACA,IAAK,IAAIiR,EAAK,EAAGmuC,EAAMH,EAAMj/C,OAAQiR,EAAKmuC,IAAOnuC,EAAI,CACnD,IAAIouC,EAAOJ,EAAMhuC,GACbquC,EAAWD,EAAK1/C,IAAM0/C,EAAK39C,MAC/BwI,GAAOm1C,EAAK,QAAQE,OAAOJ,GAAW,IAAMG,EAAW,MACzD,CACA,OAAOp1C,CACT,KAGKkiC,CACT,CA5DgB,GA8DZC,EAAiB,WACnB,SAASA,IACP5iB,EAAgBnhC,KAAM+jD,IAEtB,EAAIrI,EAAMr2C,aAAa,oCACzB,CAeA,OAbA07B,EAAagjB,EAAgB,KAAM,CAAC,CAClCpiD,IAAK,OACLN,MAAO,SAAcV,GAAO,GAC3B,CACDgB,IAAK,UACLN,MAAO,SAAiBV,GAAO,GAC9B,CACDgB,IAAK,WACLN,MAAO,WACL,MAAO,EACT,KAGK0iD,CACT,CArBqB,GAuBrB,SAAS7+C,EAAWomB,GAClB,OAAO,IAAI5N,SAAQ,SAAUC,EAASC,GACpC,IAAIs5C,EAASp4C,SAASe,cAAc,UACpCq3C,EAAO5rC,IAAMA,EACb4rC,EAAOjI,OAAStxC,EAChBu5C,EAAOhI,QAAU,WACftxC,EAAO,IAAI7H,MAAM,0BAA4BmhD,EAAO5rC,KACtD,GACCxM,SAASgX,MAAQhX,SAAS+M,iBAAiBR,YAAY6rC,EAC1D,GACF,CACAn3D,EAAQ6kD,aAAeA,EACvB7kD,EAAQ+E,4BAA8BA,EACtC/E,EAAQkF,kBAAoBA,EAC5BlF,EAAQgF,mBAAqBA,EAC7BhF,EAAQiF,WAAaA,EACrBjF,EAAQuzD,iBAAmBA,EAC3BvzD,EAAQ0lD,iBAAmBA,EAC3B1lD,EAAQi+C,qBAAuBA,EAC/Bj+C,EAAQszD,cAAgBA,EACxBtzD,EAAQ+jD,UAAYA,EACpB/jD,EAAQgkD,eAAiBA,EACzBhkD,EAAQmF,WAAaA,CAEd,EAED,SAAUpF,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ2rD,WAAa3rD,EAAQyuD,oBAAiBpmD,EAE9C,IAAI24B,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEfgyB,EAAQv7C,EAAoB,GAEhC,SAASg3D,EAA2Bx2C,EAAMpgB,GAAQ,IAAKogB,EAAQ,MAAM,IAAIy2C,eAAe,6DAAgE,OAAO72D,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BogB,EAAPpgB,CAAa,CAE/O,SAAS82D,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIl0C,UAAU,kEAAoEk0C,GAAeD,EAASt1D,UAAYlB,OAAOY,OAAO61D,GAAcA,EAAWv1D,UAAW,CAAEwG,YAAa,CAAEnH,MAAOi2D,EAAUt2D,YAAY,EAAO8V,UAAU,EAAMD,cAAc,KAAe0gD,IAAYz2D,OAAOi6B,eAAiBj6B,OAAOi6B,eAAeu8B,EAAUC,GAAcD,EAASp8B,UAAYq8B,EAAY,CAE7e,SAASp2B,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,IAAIm0C,EAAiB,WACnB,SAASA,EAAevY,GACtB9d,EAAgBnhC,KAAMw3D,GAElBx3D,KAAKwI,cAAgBgvD,IACvB,EAAI9b,EAAMr2C,aAAa,qCAEzBrF,KAAKi/C,MAAQA,EACbj/C,KAAKy3D,gBAAkB,GACvBz3D,KAAK03D,aAAe,KACpB13D,KAAK23D,eAAiB,CACpBC,SAAU,GACVC,cAAe,EAEnB,CAyIA,OAvIA92B,EAAay2B,EAAgB,CAAC,CAC5B71D,IAAK,oBACLN,MAAO,SAA2By2D,GAChC93D,KAAKy3D,gBAAgBp/C,KAAKy/C,GAC1Bh5C,SAASi5C,MAAMC,IAAIF,EACrB,GACC,CACDn2D,IAAK,aACLN,MAAO,SAAoB42D,GACzB,IAAIP,EAAe13D,KAAK03D,aACnBA,IACHA,EAAe13D,KAAK03D,aAAe54C,SAASe,cAAc,SAC1D63C,EAAanzC,GAAK,wBAA0BvkB,KAAKi/C,MACjDngC,SAAS+M,gBAAgBtM,qBAAqB,QAAQ,GAAG8L,YAAYqsC,IAEvE,IAAIQ,EAAaR,EAAaS,MAC9BD,EAAWE,WAAWH,EAAMC,EAAWG,SAAS3gD,OAClD,GACC,CACD/V,IAAK,QACLN,MAAO,WACLrB,KAAKy3D,gBAAgBxwC,SAAQ,SAAU6wC,GACrCh5C,SAASi5C,MAAMvM,OAAOsM,EACxB,IACA93D,KAAKy3D,gBAAgB//C,OAAS,EAC1B1X,KAAK03D,eACP13D,KAAK03D,aAAaj4C,SAClBzf,KAAK03D,aAAe,KAExB,GACC,CACD/1D,IAAK,OACLN,MAAO,SAAc02D,EAAO9G,GAC1B,IAAIqH,EAAQ,GACRC,EAAc,GACdC,EAAmB,GACnBC,EAAuB,SAA8BX,GACvD,OAAOA,EAAexW,OAAOvc,OAAM,SAAUnT,IAC3C,EAAI8pB,EAAMp2C,MAAM,wBAA0BwyD,EAAeY,OAAS,MAAQ9mC,EAC5E,GACF,EACIovB,GAA4B,EAC5BC,GAAoB,EACpBC,OAAiB94C,EAErB,IACE,IAAK,IAA0C+4C,EAAtCC,EAAY2W,EAAM52D,OAAOmH,cAAsB04C,GAA6BG,EAAQC,EAAUz3B,QAAQd,MAAOm4B,GAA4B,EAAM,CACtJ,IAAI5rC,EAAO+rC,EAAM9/C,MAEjB,IAAI+T,EAAKujD,WAAYvjD,EAAKwjD,YAI1B,GADAxjD,EAAKujD,UAAW,EACZ34D,KAAK64D,0BAA2B,CAClC,IAAIf,EAAiB1iD,EAAK0jD,uBACtBhB,IACF93D,KAAK+4D,kBAAkBjB,GACvBU,EAAiBngD,KAAKogD,EAAqBX,IAE/C,KAAO,CACL,IAAIG,EAAO7iD,EAAK4jD,qBACZf,IACFj4D,KAAKo4D,WAAWH,GAChBK,EAAMjgD,KAAK4/C,GACXM,EAAYlgD,KAAKjD,GAErB,CACF,CAcF,CAbE,MAAOkd,GACP2uB,GAAoB,EACpBC,EAAiB5uB,CACnB,CAAE,QACA,KACO0uB,GAA6BI,EAAUC,QAC1CD,EAAUC,QAMd,CAJE,QACA,GAAIJ,EACF,MAAMC,CAEV,CACF,CAEA,IAAIyS,EAAU3zD,KAAKi5D,sBAAsBhI,GACrCjxD,KAAK64D,0BACPn7C,QAAQkV,IAAI4lC,GAAkBroC,KAAKwjC,EAAQrN,UAClCgS,EAAM5gD,OAAS,IAAM1X,KAAKk5D,2BACnCl5D,KAAKm5D,sBAAsBb,EAAOC,EAAa5E,GAE/CA,EAAQrN,UAEZ,GACC,CACD3kD,IAAK,wBACLN,MAAO,SAA+B4vD,GACpC,SAASmI,KACP,EAAI1d,EAAM10C,SAAS2sD,EAAQ9qC,KAAM,6CACjC8qC,EAAQ9qC,MAAO,EACf,MAAO/H,EAAQ82C,SAASlgD,OAAS,GAAKoJ,EAAQ82C,SAAS,GAAG/uC,KAAM,CAC9D,IAAIwwC,EAAev4C,EAAQ82C,SAAShzB,QACpCrP,WAAW8jC,EAAapI,SAAU,EACpC,CACF,CACA,IAAInwC,EAAU9gB,KAAK23D,eACfhE,EAAU,CACZpvC,GAAI,sBAAwBzD,EAAQ+2C,gBACpChvC,MAAM,EACNy9B,SAAU8S,EACVnI,SAAUA,GAGZ,OADAnwC,EAAQ82C,SAASv/C,KAAKs7C,GACfA,CACT,GACC,CACDhyD,IAAK,wBACLN,MAAO,SAA+Bi3D,EAAOC,EAAa5E,IACxD,EAAIjY,EAAMr2C,aAAa,2CACzB,GACC,CACD1D,IAAK,4BACLV,IAAK,YACH,EAAIy6C,EAAMr2C,aAAa,+CACzB,GACC,CACD1D,IAAK,6BACLV,IAAK,YACH,EAAIy6C,EAAMr2C,aAAa,gDACzB,GACC,CACD1D,IAAK,gBACLV,IAAK,YACH,EAAIy6C,EAAMr2C,aAAa,mCACzB,KAGKmyD,CACT,CAxJqB,GA0JjB9L,OAAa,EAEf3rD,EAAQ2rD,WAAaA,EAAa,SAAU4N,GAG1C,SAASC,EAAkBta,GACzB9d,EAAgBnhC,KAAMu5D,GAEtB,IAAI3xB,EAAQuvB,EAA2Bn3D,MAAOu5D,EAAkBr+B,WAAap6B,OAAOooB,eAAeqwC,IAAoBh5D,KAAKP,KAAMi/C,IAGlI,OADArX,EAAM4xB,eAAiB,EAChB5xB,CACT,CA4GA,OArHAyvB,EAAUkC,EAAmBD,GAW7Bv4B,EAAaw4B,EAAmB,CAAC,CAC/B53D,IAAK,wBACLN,MAAO,SAA+Bi3D,EAAOP,EAAOpE,GAClD,SAAS8F,EAAMzgD,EAAMK,GACnB,OAAOL,EAAKR,WAAWa,IAAW,GAAKL,EAAKR,WAAWa,EAAS,IAAM,GAAKL,EAAKR,WAAWa,EAAS,IAAM,EAAkC,IAA9BL,EAAKR,WAAWa,EAAS,EACzI,CACA,SAASqgD,EAAav3D,EAAGkX,EAAQoG,EAAQk6C,GACvC,IAAIC,EAASz3D,EAAEq0D,UAAU,EAAGn9C,GACxBwgD,EAAS13D,EAAEq0D,UAAUn9C,EAASoG,GAClC,OAAOm6C,EAASD,EAASE,CAC3B,CACA,IAAIx5D,OAAI,EACJyY,OAAK,EACLq5C,EAASrzC,SAASe,cAAc,UACpCsyC,EAAO3C,MAAQ,EACf2C,EAAO1C,OAAS,EAChB,IAAIjuC,EAAM2wC,EAAOpC,WAAW,MACxB+J,EAAS,EACb,SAASC,EAAYp5D,EAAMswD,GAEzB,GADA6I,IACIA,EAAS,GAGX,OAFA,EAAIpe,EAAMp2C,MAAM,qCAChB2rD,IAGFzvC,EAAIpM,KAAO,QAAUzU,EACrB6gB,EAAIw4C,SAAS,IAAK,EAAG,IACrB,IAAInL,EAAYrtC,EAAIyuC,aAAa,EAAG,EAAG,EAAG,GACtCpB,EAAU71C,KAAK,GAAK,EACtBi4C,IAGF17B,WAAWwkC,EAAYn4D,KAAK,KAAMjB,EAAMswD,GAC1C,CACA,IAAIuI,EAAiB,KAAO5C,KAAK5hC,MAAQh1B,KAAKw5D,iBAC1CxgD,EAAOhZ,KAAKi6D,cACZC,EAAiB,IACrBlhD,EAAO0gD,EAAa1gD,EAAMkhD,EAAgBV,EAAe9hD,OAAQ8hD,GACjE,IAAIW,EAAsB,GACtBC,EAAa,WACbC,EAAWZ,EAAMzgD,EAAMmhD,GAC3B,IAAK95D,EAAI,EAAGyY,EAAK0gD,EAAe9hD,OAAS,EAAGrX,EAAIyY,EAAIzY,GAAK,EACvDg6D,EAAWA,EAAWD,EAAaX,EAAMD,EAAgBn5D,GAAK,EAE5DA,EAAIm5D,EAAe9hD,SACrB2iD,EAAWA,EAAWD,EAAaX,EAAMD,EAAiB,MAAOn5D,GAAK,GAExE2Y,EAAO0gD,EAAa1gD,EAAMmhD,EAAqB,GAAG,EAAIze,EAAM/1C,UAAU00D,IACtE,IAAI7jD,EAAM,iCAAmCuI,KAAK/F,GAAQ,KACtDi/C,EAAO,4BAA8BuB,EAAiB,SAAWhjD,EAAM,IAC3ExW,KAAKo4D,WAAWH,GAChB,IAAIpwC,EAAQ,GACZ,IAAKxnB,EAAI,EAAGyY,EAAKi/C,EAAMrgD,OAAQrX,EAAIyY,EAAIzY,IACrCwnB,EAAMxP,KAAK0/C,EAAM13D,GAAGi6D,YAEtBzyC,EAAMxP,KAAKmhD,GACX,IAAI55C,EAAMd,SAASe,cAAc,OAEjC,IADAD,EAAI20C,aAAa,QAAS,yFACrBl0D,EAAI,EAAGyY,EAAK+O,EAAMnQ,OAAQrX,EAAIyY,IAAMzY,EAAG,CAC1C,IAAI02D,EAAOj4C,SAASe,cAAc,QAClCk3C,EAAKrP,YAAc,KACnBqP,EAAK5rC,MAAMovC,WAAa1yC,EAAMxnB,GAC9Buf,EAAIyL,YAAY0rC,EAClB,CACAj4C,SAAS07C,KAAKnvC,YAAYzL,GAC1Bm6C,EAAYP,GAAgB,WAC1B16C,SAAS07C,KAAK76C,YAAYC,GAC1B+zC,EAAQrN,UACV,GACF,GACC,CACD3kD,IAAK,4BACLV,IAAK,WACH,IAAIw5D,EAAgC,qBAAb37C,YAA8BA,SAASi5C,MAC9D,GAAI0C,GAAkC,qBAAdvkC,UAA2B,CACjD,IAAI11B,EAAI,mCAAmCgjB,KAAK0S,UAAU3G,WACtD/uB,GAAKA,EAAE,GAAK,KACdi6D,GAAY,EAEhB,CACA,OAAO,EAAI/e,EAAM/2C,QAAQ3E,KAAM,4BAA6By6D,EAC9D,GACC,CACD94D,IAAK,6BACLV,IAAK,WACH,IAAIw5D,GAAY,EAChB,GAAyB,qBAAdvkC,UACTukC,GAAY,MACP,CACL,IAAIj6D,EAAI,mCAAmCgjB,KAAK0S,UAAU3G,WACtD/uB,GAAKA,EAAE,IAAM,KACfi6D,GAAY,EAEhB,CACA,OAAO,EAAI/e,EAAM/2C,QAAQ3E,KAAM,6BAA8By6D,EAC/D,GACC,CACD94D,IAAK,gBACLV,IAAK,WACH,IAAIy5D,EAAkB,WACpB,OAAOt7C,KAAK,29CACd,EACA,OAAO,EAAIs8B,EAAM/2C,QAAQ3E,KAAM,gBAAiB06D,IAClD,KAGKnB,CACT,CAvHkC,CAuHhC/B,GAEJ,IAAImD,EAAwB,CACtBt5D,YACF,OAAO,EAAIq6C,EAAM/2C,QAAQ3E,KAAM,SAAS,EAAI07C,EAAMz1C,mBACpD,GAGEuoD,EAAiB,WACnB,SAASA,EAAeoM,EAAgBjhD,GACtC,IAAIkhD,EAAuBlhD,EAAK1T,gBAC5BA,OAA2CmC,IAAzByyD,GAA4CA,EAC9DC,EAAuBnhD,EAAK4kC,gBAC5BA,OAA2Cn2C,IAAzB0yD,GAA6CA,EAC/DC,EAAoBphD,EAAKskC,aACzBA,OAAqC71C,IAAtB2yD,GAA0CA,EACzDC,EAAwBrhD,EAAK8mC,qBAC7BA,OAAiDr4C,IAA1B4yD,EAAsC,KAAOA,EACpEC,EAAoBthD,EAAKw0C,aACzBA,OAAqC/lD,IAAtB6yD,EAAkC,KAAOA,EAK5D,IAAK,IAAI56D,KAHT8gC,EAAgBnhC,KAAMwuD,GAEtBxuD,KAAKk7D,eAAiBp6D,OAAOY,OAAO,MACtBk5D,EACZ56D,KAAKK,GAAKu6D,EAAev6D,GAE3BL,KAAKiG,iBAAsC,IAApBA,EACvBjG,KAAKu+C,iBAAsC,IAApBA,EACvBv+C,KAAKi+C,cAAgC,IAAjBA,EACpBj+C,KAAKyuD,sBAAwBhO,EAC7BzgD,KAAKmuD,aAAeA,CACtB,CA0EA,OAxEAptB,EAAaytB,EAAgB,CAAC,CAC5B7sD,IAAK,uBACLN,MAAO,WACL,IAAKrB,KAAKgZ,MAAQhZ,KAAKu+C,gBACrB,OAAO,KAET,IAAIuZ,EAAiB,IAAIqD,SAASn7D,KAAKs6D,WAAYt6D,KAAKgZ,KAAM,CAAC,GAI/D,OAHIhZ,KAAKmuD,cACPnuD,KAAKmuD,aAAaG,aAAatuD,MAE1B83D,CACT,GACC,CACDn2D,IAAK,qBACLN,MAAO,WACL,IAAKrB,KAAKgZ,MAAQhZ,KAAKu+C,gBACrB,OAAO,KAET,IAAIvlC,GAAO,EAAI0iC,EAAM30C,eAAe,IAAIwR,WAAWvY,KAAKgZ,OACpDxC,EAAM,YAAcxW,KAAKo7D,SAAW,WAAar8C,KAAK/F,GAAQ,KAC9Di/C,EAAO,4BAA8Bj4D,KAAKs6D,WAAa,SAAW9jD,EAAM,IAI5E,OAHIxW,KAAKmuD,cACPnuD,KAAKmuD,aAAaG,aAAatuD,KAAMwW,GAEhCyhD,CACT,GACC,CACDt2D,IAAK,mBACLN,MAAO,SAA0B6iD,EAAMmX,GACrC,QAAuCjzD,IAAnCpI,KAAKk7D,eAAeG,GACtB,OAAOr7D,KAAKk7D,eAAeG,GAE7B,IAAIC,OAAO,EACPC,OAAU,EACd,IACED,EAAOpX,EAAKjjD,IAAIjB,KAAKs6D,WAAa,SAAWe,EAU/C,CATE,MAAO1kD,GACP,IAAK3W,KAAKi+C,aACR,MAAMtnC,EAMR,OAJI3W,KAAKyuD,uBACPzuD,KAAKyuD,sBAAsB,CAAE4B,UAAW3U,EAAMn3C,qBAAqB6Q,QAErE,EAAIsmC,EAAMp2C,MAAM,2CAA6CqR,EAAK,MAC3D3W,KAAKk7D,eAAeG,GAAa,SAAU56D,EAAGkgC,GAAO,CAC9D,CACA,GAAI3gC,KAAKiG,iBAAmB00D,EAAsBt5D,MAAO,CAGvD,IAFA,IAAIyzB,OAAO,EACP0mC,EAAK,GACAn7D,EAAI,EAAGyY,EAAKwiD,EAAK5jD,OAAQrX,EAAIyY,EAAIzY,IACxCk7D,EAAUD,EAAKj7D,GAEby0B,OADmB1sB,IAAjBmzD,EAAQzmC,KACHymC,EAAQzmC,KAAKxc,KAAK,KAElB,GAETkjD,GAAM,KAAOD,EAAQE,IAAM,IAAM3mC,EAAO,OAE1C,OAAO90B,KAAKk7D,eAAeG,GAAa,IAAI3hD,SAAS,IAAK,OAAQ8hD,EACpE,CACA,OAAOx7D,KAAKk7D,eAAeG,GAAa,SAAU56D,EAAGkgC,GACnD,IAAK,IAAIhY,EAAK,EAAGmuC,EAAMwE,EAAK5jD,OAAQiR,EAAKmuC,EAAKnuC,IAC5C4yC,EAAUD,EAAK3yC,GACK,UAAhB4yC,EAAQE,MACVF,EAAQzmC,KAAO,CAAC6L,GAAOA,IAEzBlgC,EAAE86D,EAAQE,KAAK3jD,MAAMrX,EAAG86D,EAAQzmC,KAEpC,CACF,KAGK05B,CACT,CAnGqB,GAqGrBzuD,EAAQyuD,eAAiBA,EACzBzuD,EAAQ2rD,WAAaA,CAEd,EAED,SAAU5rD,EAAQC,EAASI,GAEjC,aAGA,IAAIu7D,EAAsB56D,OAAOY,OAAO,MAElCkB,EAAWzC,EAAoB,GAC/BovB,EAAiC,qBAAd2G,WAA6BA,UAAU3G,WAAa,GACvEosC,EAAO,UAAUxzC,KAAKoH,GACtBqsC,EAAc,QAAQzzC,KAAKoH,IAC/B,YACMosC,GAAQC,KACVF,EAAoB/c,wBAAyB,EAEhD,EAJD,GAKA,WACM/7C,MACF84D,EAAoBnd,iBAAkB,EACtCmd,EAAoBrd,0BAA4B,OAEnD,CALD,GAOFt+C,EAAQqF,uBAAyBtE,OAAOg3B,OAAO4jC,EAExC,EAED,SAAU57D,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ2yD,oBAAiBtqD,EAEzB,IAAIszC,EAAQv7C,EAAoB,GAE5B07D,EAAkB17D,EAAoB,KAEtC27D,EAAgB,GAChBC,EAAgB,IAChBC,EAAiB,KACjBC,EAAmB,IACnBC,GAAuB,EACvBC,EAAsB,IACtBC,EAAoB,GACpBC,EAAuB,CACrBh7D,YACF,OAAO,EAAIq6C,EAAM/2C,QAAQ03D,EAAsB,SAAS,EAAI3gB,EAAMx1C,kBACpE,GAEF,SAASo2D,EAA2B96C,GAC7BA,EAAI+6C,sBACP/6C,EAAIg7C,cAAgBh7C,EAAI3R,KACxB2R,EAAIi7C,iBAAmBj7C,EAAI1R,QAC3B0R,EAAIk7C,gBAAkBl7C,EAAI+iC,OAC1B/iC,EAAIm7C,eAAiBn7C,EAAIkjC,MACzBljC,EAAIo7C,mBAAqBp7C,EAAIq7C,UAC7Br7C,EAAIs7C,mBAAqBt7C,EAAIzR,UAC7ByR,EAAIu7C,sBAAwBv7C,EAAIw7C,aAChCx7C,EAAIy7C,iBAAmBz7C,EAAIy7C,kBAAoB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/Dz7C,EAAI07C,gBAAkB,GACtBp8D,OAAOC,eAAeygB,EAAK,sBAAuB,CAChDvgB,IAAK,WACH,OAAOjB,KAAKi9D,gBACd,IAEFn8D,OAAOC,eAAeygB,EAAK,6BAA8B,CACvDvgB,IAAK,WACH,IAAIT,EAAIR,KAAKi9D,iBACTvhD,EAAIlb,EAAE,GACN+Z,EAAI/Z,EAAE,GACNC,EAAID,EAAE,GACNE,EAAIF,EAAE,GACN6V,EAAI7V,EAAE,GACNuiB,EAAIviB,EAAE,GACN28D,EAAQzhD,EAAIhb,EAAI6Z,EAAI9Z,EACpB28D,EAAQ7iD,EAAI9Z,EAAIib,EAAIhb,EACxB,MAAO,CAACA,EAAIy8D,EAAO5iD,EAAI6iD,EAAO38D,EAAI28D,EAAO1hD,EAAIyhD,GAAQz8D,EAAI2V,EAAI5V,EAAIsiB,GAAKq6C,GAAQ7iD,EAAIlE,EAAIqF,EAAIqH,GAAKo6C,EACjG,IAEF37C,EAAI3R,KAAO,WACT,IAAIwtD,EAAMr9D,KAAKi9D,iBACfj9D,KAAKk9D,gBAAgB7kD,KAAKglD,GAC1Br9D,KAAKi9D,iBAAmBI,EAAIpiD,MAAM,EAAG,GACrCjb,KAAKw8D,eACP,EACAh7C,EAAI1R,QAAU,WACZ,IAAIwtD,EAAOt9D,KAAKk9D,gBAAgB3iB,MAC5B+iB,IACFt9D,KAAKi9D,iBAAmBK,EACxBt9D,KAAKy8D,mBAET,EACAj7C,EAAIq7C,UAAY,SAAsB3jD,EAAGu8C,GACvC,IAAIj1D,EAAIR,KAAKi9D,iBACbz8D,EAAE,GAAKA,EAAE,GAAK0Y,EAAI1Y,EAAE,GAAKi1D,EAAIj1D,EAAE,GAC/BA,EAAE,GAAKA,EAAE,GAAK0Y,EAAI1Y,EAAE,GAAKi1D,EAAIj1D,EAAE,GAC/BR,KAAK48D,mBAAmB1jD,EAAGu8C,EAC7B,EACAj0C,EAAIkjC,MAAQ,SAAkBxrC,EAAGu8C,GAC/B,IAAIj1D,EAAIR,KAAKi9D,iBACbz8D,EAAE,GAAKA,EAAE,GAAK0Y,EACd1Y,EAAE,GAAKA,EAAE,GAAK0Y,EACd1Y,EAAE,GAAKA,EAAE,GAAKi1D,EACdj1D,EAAE,GAAKA,EAAE,GAAKi1D,EACdz1D,KAAK28D,eAAezjD,EAAGu8C,EACzB,EACAj0C,EAAIzR,UAAY,SAAsB2L,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GACnD,IAAIviB,EAAIR,KAAKi9D,iBACbj9D,KAAKi9D,iBAAmB,CAACz8D,EAAE,GAAKkb,EAAIlb,EAAE,GAAK+Z,EAAG/Z,EAAE,GAAKkb,EAAIlb,EAAE,GAAK+Z,EAAG/Z,EAAE,GAAKC,EAAID,EAAE,GAAKE,EAAGF,EAAE,GAAKC,EAAID,EAAE,GAAKE,EAAGF,EAAE,GAAK6V,EAAI7V,EAAE,GAAKuiB,EAAIviB,EAAE,GAAIA,EAAE,GAAK6V,EAAI7V,EAAE,GAAKuiB,EAAIviB,EAAE,IACjKghB,EAAIs7C,mBAAmBphD,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,EACxC,EACAvB,EAAIw7C,aAAe,SAAyBthD,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GACzD/iB,KAAKi9D,iBAAmB,CAACvhD,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GACxCvB,EAAIu7C,sBAAsBrhD,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,EAC3C,EACAvB,EAAI+iC,OAAS,SAAmBgZ,GAC9B,IAAIC,EAAWvlD,KAAKwlD,IAAIF,GACpBG,EAAWzlD,KAAK0lD,IAAIJ,GACpB/8D,EAAIR,KAAKi9D,iBACbj9D,KAAKi9D,iBAAmB,CAACz8D,EAAE,GAAKg9D,EAAWh9D,EAAE,GAAKk9D,EAAUl9D,EAAE,GAAKg9D,EAAWh9D,EAAE,GAAKk9D,EAAUl9D,EAAE,IAAMk9D,EAAWl9D,EAAE,GAAKg9D,EAAUh9D,EAAE,IAAMk9D,EAAWl9D,EAAE,GAAKg9D,EAAUh9D,EAAE,GAAIA,EAAE,IAC/KR,KAAK08D,gBAAgBa,EACvB,EAEJ,CACA,IAAIK,EAAiB,WACnB,SAASA,EAAepY,GACtBxlD,KAAKwlD,cAAgBA,EACrBxlD,KAAK69D,MAAQ/8D,OAAOY,OAAO,KAC7B,CAyBA,OAxBAk8D,EAAe57D,UAAY,CACzB87D,UAAW,SAAkCv5C,EAAIirC,EAAOC,EAAQsO,GAC9D,IAAIC,EAYJ,YAXuB51D,IAAnBpI,KAAK69D,MAAMt5C,IACby5C,EAAch+D,KAAK69D,MAAMt5C,GACzBvkB,KAAKwlD,cAAcyY,MAAMD,EAAaxO,EAAOC,GAC7CuO,EAAYl9C,QAAQk8C,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,KAEhDgB,EAAch+D,KAAKwlD,cAAc9jD,OAAO8tD,EAAOC,GAC/CzvD,KAAK69D,MAAMt5C,GAAMy5C,GAEfD,GACFzB,EAA2B0B,EAAYl9C,SAElCk9C,CACT,EACAxoC,MAAO,WACL,IAAK,IAAIjR,KAAMvkB,KAAK69D,MAAO,CACzB,IAAIG,EAAch+D,KAAK69D,MAAMt5C,GAC7BvkB,KAAKwlD,cAAc9E,QAAQsd,UACpBh+D,KAAK69D,MAAMt5C,EACpB,CACF,GAEKq5C,CACT,CA9BqB,GA+BrB,SAASM,EAAkBC,GACzB,IAGI99D,EACAmnB,EACA42C,EAQAtlD,EAbAulD,EAAyB,IACzB7O,EAAQ2O,EAAQ3O,MAChBC,EAAS0O,EAAQ1O,OAIjB6O,EAAS9O,EAAQ,EACjB+O,EAAS,IAAIhmD,WAAW+lD,GAAU7O,EAAS,IAC3C+O,EAAc,IAAIjmD,WAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAC5EkmD,EAAWjP,EAAQ,GAAI,EACvBkP,EAAQP,EAAQnlD,KAChBA,EAAO,IAAIT,WAAWkmD,EAAWhP,GACjC12C,EAAM,EAEV,IAAK1Y,EAAI,EAAGyY,EAAK4lD,EAAMhnD,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC1C,IAAIs+D,EAAO,IACPC,EAAOF,EAAMr+D,GACjB,MAAOs+D,EAAO,EACZ3lD,EAAKD,KAAS6lD,EAAOD,EAAO,EAAI,IAChCA,IAAS,CAEb,CACA,IAAIE,EAAQ,EAMZ,IALA9lD,EAAM,EACY,IAAdC,EAAKD,KACPwlD,EAAO,GAAK,IACVM,GAECr3C,EAAI,EAAGA,EAAIgoC,EAAOhoC,IACjBxO,EAAKD,KAASC,EAAKD,EAAM,KAC3BwlD,EAAO/2C,GAAKxO,EAAKD,GAAO,EAAI,IAC1B8lD,GAEJ9lD,IAMF,IAJkB,IAAdC,EAAKD,KACPwlD,EAAO/2C,GAAK,IACVq3C,GAECx+D,EAAI,EAAGA,EAAIovD,EAAQpvD,IAAK,CAC3B0Y,EAAM1Y,EAAIo+D,EACVL,EAAK/9D,EAAIi+D,EACLtlD,EAAKD,EAAM0lD,KAAczlD,EAAKD,KAChCwlD,EAAOH,GAAMplD,EAAKD,GAAO,EAAI,IAC3B8lD,GAEJ,IAAIC,GAAO9lD,EAAKD,GAAO,EAAI,IAAMC,EAAKD,EAAM0lD,GAAY,EAAI,GAC5D,IAAKj3C,EAAI,EAAGA,EAAIgoC,EAAOhoC,IACrBs3C,GAAOA,GAAO,IAAM9lD,EAAKD,EAAM,GAAK,EAAI,IAAMC,EAAKD,EAAM0lD,EAAW,GAAK,EAAI,GACzED,EAAYM,KACdP,EAAOH,EAAK52C,GAAKg3C,EAAYM,KAC3BD,GAEJ9lD,IAMF,GAJIC,EAAKD,EAAM0lD,KAAczlD,EAAKD,KAChCwlD,EAAOH,EAAK52C,GAAKxO,EAAKD,GAAO,EAAI,IAC/B8lD,GAEAA,EAAQR,EACV,OAAO,IAEX,CAOA,IANAtlD,EAAM0lD,GAAYhP,EAAS,GAC3B2O,EAAK/9D,EAAIi+D,EACS,IAAdtlD,EAAKD,KACPwlD,EAAOH,GAAM,IACXS,GAECr3C,EAAI,EAAGA,EAAIgoC,EAAOhoC,IACjBxO,EAAKD,KAASC,EAAKD,EAAM,KAC3BwlD,EAAOH,EAAK52C,GAAKxO,EAAKD,GAAO,EAAI,IAC/B8lD,GAEJ9lD,IAMF,GAJkB,IAAdC,EAAKD,KACPwlD,EAAOH,EAAK52C,GAAK,IACfq3C,GAEAA,EAAQR,EACV,OAAO,KAET,IAAIU,EAAQ,IAAIC,WAAW,CAAC,EAAGV,GAAS,EAAG,GAAIA,EAAQ,EAAG,EAAG,EAAG,IAC5DW,EAAW,GACf,IAAK5+D,EAAI,EAAGw+D,GAASx+D,GAAKovD,EAAQpvD,IAAK,CACrC,IAAI6B,EAAI7B,EAAIi+D,EACRjnD,EAAMnV,EAAIstD,EACd,MAAOttD,EAAImV,IAAQknD,EAAOr8D,GACxBA,IAEF,GAAIA,IAAMmV,EAAV,CAGA,IAGI6nD,EAHAC,EAAS,CAACj9D,EAAIo8D,EAAQj+D,GACtB6d,EAAOqgD,EAAOr8D,GACdk9D,EAAKl9D,EAET,EAAG,CACD,IAAIusB,EAAOswC,EAAM7gD,GACjB,GACEhc,GAAKusB,SACG8vC,EAAOr8D,IACjBg9D,EAAKX,EAAOr8D,GACD,IAAPg9D,GAAmB,KAAPA,GACdhhD,EAAOghD,EACPX,EAAOr8D,GAAK,IAEZgc,EAAOghD,EAAK,GAAOhhD,GAAQ,EAC3BqgD,EAAOr8D,IAAMgc,GAAQ,EAAIA,GAAQ,GAEnCihD,EAAO9mD,KAAKnW,EAAIo8D,GAChBa,EAAO9mD,KAAKnW,EAAIo8D,EAAS,KACvBO,CACJ,OAASO,IAAOl9D,GAChB+8D,EAAS5mD,KAAK8mD,KACZ9+D,CAvBF,CAwBF,CACA,IAAIg/D,EAAc,SAAqB5+D,GACrCA,EAAEoP,OACFpP,EAAEikD,MAAM,EAAI8K,GAAQ,EAAIC,GACxBhvD,EAAEo8D,UAAU,GAAIpN,GAChBhvD,EAAE6+D,YACF,IAAK,IAAIj/D,EAAI,EAAGyY,EAAKmmD,EAASvnD,OAAQrX,EAAIyY,EAAIzY,IAAK,CACjD,IAAIQ,EAAIo+D,EAAS5+D,GACjBI,EAAEuP,OAAOnP,EAAE,GAAIA,EAAE,IACjB,IAAK,IAAI2mB,EAAI,EAAG+3C,EAAK1+D,EAAE6W,OAAQ8P,EAAI+3C,EAAI/3C,GAAK,EAC1C/mB,EAAEwP,OAAOpP,EAAE2mB,GAAI3mB,EAAE2mB,EAAI,GAEzB,CACA/mB,EAAEgQ,OACFhQ,EAAE6+D,YACF7+D,EAAEqP,SACJ,EACA,OAAOuvD,CACT,CACA,IAAIG,EAAmB,WACrB,SAASA,IACPx/D,KAAKy/D,cAAe,EACpBz/D,KAAK0/D,SAAW,EAChB1/D,KAAK2/D,cAAgB,EACrB3/D,KAAK4/D,WAAalkB,EAAMxzC,gBACxBlI,KAAK6/D,gBAAkB,EACvB7/D,KAAK8/D,WAAapkB,EAAMvzC,qBACxBnI,KAAK+/D,QAAU,EACf//D,KAAKkZ,EAAI,EACTlZ,KAAKy1D,EAAI,EACTz1D,KAAKggE,MAAQ,EACbhgE,KAAKigE,MAAQ,EACbjgE,KAAKkgE,YAAc,EACnBlgE,KAAKmgE,YAAc,EACnBngE,KAAKogE,WAAa,EAClBpgE,KAAKqgE,kBAAoB3kB,EAAMn0C,kBAAkB+B,KACjDtJ,KAAKsgE,SAAW,EAChBtgE,KAAKugE,UAAY,UACjBvgE,KAAKwgE,YAAc,UACnBxgE,KAAKygE,aAAc,EACnBzgE,KAAK0gE,UAAY,EACjB1gE,KAAK2gE,YAAc,EACnB3gE,KAAK4gE,UAAY,EACjB5gE,KAAK6gE,YAAc,KACnB7gE,KAAK8gE,eAAiB,IACxB,CAUA,OATAtB,EAAiBx9D,UAAY,CAC3B++D,MAAO,WACL,OAAOjgE,OAAOY,OAAO1B,KACvB,EACAghE,gBAAiB,SAA0C9nD,EAAGu8C,GAC5Dz1D,KAAKkZ,EAAIA,EACTlZ,KAAKy1D,EAAIA,CACX,GAEK+J,CACT,CArCuB,GAsCnB9M,EAAiB,WACnB,IAAIuO,EAAiB,GACjBC,EAAkB,GACtB,SAASxO,EAAeyO,EAAWld,EAAYC,EAAMsB,EAAeE,EAAciN,GAChF3yD,KAAKwhB,IAAM2/C,EACXnhE,KAAKu7D,QAAU,IAAIiE,EACnBx/D,KAAKohE,WAAa,GAClBphE,KAAKqhE,YAAc,KACnBrhE,KAAKshE,eAAgB,EACrBthE,KAAK44B,IAAM,KACX54B,KAAKuhE,MAAQ,KACbvhE,KAAKikD,WAAaA,EAClBjkD,KAAKkkD,KAAOA,EACZlkD,KAAKwlD,cAAgBA,EACrBxlD,KAAK0lD,aAAeA,EACpB1lD,KAAK2yD,WAAaA,EAClB3yD,KAAKwhE,WAAa,GAClBxhE,KAAKyhE,gBAAkB,KACvBzhE,KAAK0hE,cAAgB,KACrB1hE,KAAK2hE,mBAAqB,GAC1B3hE,KAAK4hE,WAAa,EAClB5hE,KAAK6hE,WAAa,GAClB7hE,KAAK8hE,aAAe,EACpB9hE,KAAK+hE,UAAY,KACjB/hE,KAAKgiE,eAAiB,IAAIpE,EAAe59D,KAAKwlD,eAC1C2b,GACF7E,EAA2B6E,GAE7BnhE,KAAKiiE,2BAA6B,IACpC,CACA,SAASC,EAAmB1gD,EAAK28C,GAC/B,GAAyB,qBAAdgE,WAA6BhE,aAAmBgE,UACzD3gD,EAAI4gD,aAAajE,EAAS,EAAG,OAD/B,CAIA,IAOIkE,EAGAhiE,EAAGmnB,EAAG86C,EAAiBC,EAVvB9S,EAAS0O,EAAQ1O,OACjBD,EAAQ2O,EAAQ3O,MAChBgT,EAAqB/S,EAAS2M,EAC9BqG,GAAchT,EAAS+S,GAAsBpG,EAC7CsG,EAAqC,IAAvBF,EAA2BC,EAAaA,EAAa,EACnEE,EAAenhD,EAAIohD,gBAAgBpT,EAAO4M,GAC1CyG,EAAS,EAETv3C,EAAM6yC,EAAQnlD,KACd2mB,EAAOgjC,EAAa3pD,KAExB,GAAImlD,EAAQj0C,OAASwxB,EAAM9zC,UAAUoC,eAAgB,CACnD,IAAI84D,EAAYx3C,EAAI5S,WAChBqqD,EAAS,IAAIvpD,YAAYmmB,EAAKlmB,OAAQ,EAAGkmB,EAAKjnB,YAAc,GAC5DsqD,EAAmBD,EAAOrrD,OAC1BurD,EAAczT,EAAQ,GAAK,EAC3B0T,EAAQ,WACRC,EAAQ9G,EAAqBh7D,MAAQ,WAAa,IACtD,IAAKhB,EAAI,EAAGA,EAAIqiE,EAAariE,IAAK,CAGhC,IAFAiiE,EAAkBjiE,EAAIoiE,EAAarG,EAAoBoG,EACvDH,EAAU,EACL76C,EAAI,EAAGA,EAAI86C,EAAiB96C,IAAK,CAOpC,IANA,IAAI47C,EAAUN,EAAYD,EACtB37C,EAAI,EACJm8C,EAAOD,EAAUH,EAAczT,EAAkB,EAAV4T,EAAc,EACrDE,GAAsB,EAAPD,EACf1E,EAAO,EACP4E,EAAU,EACPr8C,EAAIo8C,EAAcp8C,GAAK,EAC5Bq8C,EAAUj4C,EAAIu3C,KACdE,EAAOV,KAAuB,IAAVkB,EAAgBL,EAAQC,EAC5CJ,EAAOV,KAAuB,GAAVkB,EAAeL,EAAQC,EAC3CJ,EAAOV,KAAuB,GAAVkB,EAAeL,EAAQC,EAC3CJ,EAAOV,KAAuB,GAAVkB,EAAeL,EAAQC,EAC3CJ,EAAOV,KAAuB,EAAVkB,EAAcL,EAAQC,EAC1CJ,EAAOV,KAAuB,EAAVkB,EAAcL,EAAQC,EAC1CJ,EAAOV,KAAuB,EAAVkB,EAAcL,EAAQC,EAC1CJ,EAAOV,KAAuB,EAAVkB,EAAcL,EAAQC,EAE5C,KAAOj8C,EAAIm8C,EAAMn8C,IACF,IAATy3C,IACF4E,EAAUj4C,EAAIu3C,KACdlE,EAAO,KAEToE,EAAOV,KAAakB,EAAU5E,EAAOuE,EAAQC,EAC7CxE,IAAS,CAEb,CACA,MAAO0D,EAAUW,EACfD,EAAOV,KAAa,EAEtB7gD,EAAI4gD,aAAaO,EAAc,EAAGtiE,EAAI+7D,EACxC,CACF,MAAO,GAAI+B,EAAQj0C,OAASwxB,EAAM9zC,UAAUsC,WAAY,CAGtD,IAFAsd,EAAI,EACJ+6C,EAAmB/S,EAAQ4M,EAAoB,EAC1C/7D,EAAI,EAAGA,EAAIoiE,EAAYpiE,IAC1Bs/B,EAAK1mB,IAAIqS,EAAIlT,SAASyqD,EAAQA,EAASN,IACvCM,GAAUN,EACV/gD,EAAI4gD,aAAaO,EAAc,EAAGn7C,GAClCA,GAAK40C,EAEH/7D,EAAIqiE,IACNH,EAAmB/S,EAAQgT,EAAqB,EAChD7iC,EAAK1mB,IAAIqS,EAAIlT,SAASyqD,EAAQA,EAASN,IACvC/gD,EAAI4gD,aAAaO,EAAc,EAAGn7C,GAEtC,KAAO,IAAI22C,EAAQj0C,OAASwxB,EAAM9zC,UAAUqC,UAkB1C,MAAM,IAAI8L,MAAM,mBAAqBooD,EAAQj0C,MAf7C,IAFAo4C,EAAkBlG,EAClBmG,EAAmB/S,EAAQ8S,EACtBjiE,EAAI,EAAGA,EAAIqiE,EAAariE,IAAK,CAMhC,IALIA,GAAKoiE,IACPH,EAAkBE,EAClBD,EAAmB/S,EAAQ8S,GAE7BD,EAAU,EACL76C,EAAI+6C,EAAkB/6C,KACzBmY,EAAK0iC,KAAa/2C,EAAIu3C,KACtBljC,EAAK0iC,KAAa/2C,EAAIu3C,KACtBljC,EAAK0iC,KAAa/2C,EAAIu3C,KACtBljC,EAAK0iC,KAAa,IAEpB7gD,EAAI4gD,aAAaO,EAAc,EAAGtiE,EAAI+7D,EACxC,CAGF,CAvFA,CAwFF,CACA,SAASoH,EAAmBhiD,EAAK28C,GAU/B,IATA,IAAI1O,EAAS0O,EAAQ1O,OACjBD,EAAQ2O,EAAQ3O,MAChBgT,EAAqB/S,EAAS2M,EAC9BqG,GAAchT,EAAS+S,GAAsBpG,EAC7CsG,EAAqC,IAAvBF,EAA2BC,EAAaA,EAAa,EACnEE,EAAenhD,EAAIohD,gBAAgBpT,EAAO4M,GAC1CyG,EAAS,EACTv3C,EAAM6yC,EAAQnlD,KACd2mB,EAAOgjC,EAAa3pD,KACf3Y,EAAI,EAAGA,EAAIqiE,EAAariE,IAAK,CAGpC,IAFA,IAAIiiE,EAAkBjiE,EAAIoiE,EAAarG,EAAoBoG,EACvDH,EAAU,EACL76C,EAAI,EAAGA,EAAI86C,EAAiB96C,IAEnC,IADA,IAAIm3C,EAAO,EACFz3C,EAAI,EAAGA,EAAIsoC,EAAOtoC,IAAK,CAC9B,IAAKy3C,EAAM,CACT,IAAIC,EAAOtzC,EAAIu3C,KACflE,EAAO,GACT,CACAh/B,EAAK0iC,GAAWzD,EAAOD,EAAO,EAAI,IAClC0D,GAAW,EACX1D,IAAS,CACX,CAEFn9C,EAAI4gD,aAAaO,EAAc,EAAGtiE,EAAI+7D,EACxC,CACF,CACA,SAASqH,EAAaC,EAAWC,GAE/B,IADA,IAAIC,EAAa,CAAC,cAAe,YAAa,WAAY,cAAe,YAAa,UAAW,WAAY,aAAc,2BAA4B,QAC9IvjE,EAAI,EAAGyY,EAAK8qD,EAAWlsD,OAAQrX,EAAIyY,EAAIzY,IAAK,CACnD,IAAI0B,EAAW6hE,EAAWvjE,QACE+H,IAAxBs7D,EAAU3hE,KACZ4hE,EAAQ5hE,GAAY2hE,EAAU3hE,GAElC,MAC8BqG,IAA1Bs7D,EAAUG,cACZF,EAAQE,YAAYH,EAAUI,eAC9BH,EAAQI,eAAiBL,EAAUK,eAEvC,CACA,SAASC,EAAkBxiD,GACzBA,EAAIyiD,YAAc,UAClBziD,EAAI0iD,UAAY,UAChB1iD,EAAI2iD,SAAW,UACf3iD,EAAI4iD,YAAc,EAClB5iD,EAAIo/C,UAAY,EAChBp/C,EAAI6iD,QAAU,OACd7iD,EAAI8iD,SAAW,QACf9iD,EAAI+iD,WAAa,GACjB/iD,EAAIgjD,yBAA2B,cAC/BhjD,EAAIpM,KAAO,uBACahN,IAApBoZ,EAAIqiD,cACNriD,EAAIqiD,YAAY,IAChBriD,EAAIuiD,eAAiB,EAEzB,CACA,SAASU,EAAqBhtD,EAAOitD,EAAIC,EAAIC,GAE3C,IADA,IAAIltD,EAASD,EAAMC,OACVrX,EAAI,EAAGA,EAAIqX,EAAQrX,GAAK,EAAG,CAClC,IAAIwkE,EAAQptD,EAAMpX,GAClB,GAAc,IAAVwkE,EACFptD,EAAMpX,EAAI,GAAKqkE,EACfjtD,EAAMpX,EAAI,GAAKskE,EACfltD,EAAMpX,EAAI,GAAKukE,OACV,GAAIC,EAAQ,IAAK,CACtB,IAAIC,EAAS,IAAMD,EACnBptD,EAAMpX,EAAI,GAAKoX,EAAMpX,EAAI,GAAKwkE,EAAQH,EAAKI,GAAU,EACrDrtD,EAAMpX,EAAI,GAAKoX,EAAMpX,EAAI,GAAKwkE,EAAQF,EAAKG,GAAU,EACrDrtD,EAAMpX,EAAI,GAAKoX,EAAMpX,EAAI,GAAKwkE,EAAQD,EAAKE,GAAU,CACvD,CACF,CACF,CACA,SAASC,EAAkBC,EAAUC,EAAWC,GAG9C,IAFA,IAAIxtD,EAASstD,EAASttD,OAClBgtC,EAAQ,EAAI,IACPrkD,EAAI,EAAGA,EAAIqX,EAAQrX,GAAK,EAAG,CAClC,IAAIwkE,EAAQK,EAAcA,EAAYF,EAAS3kE,IAAM2kE,EAAS3kE,GAC9D4kE,EAAU5kE,GAAK4kE,EAAU5kE,GAAKwkE,EAAQngB,EAAQ,CAChD,CACF,CACA,SAASygB,EAAuBH,EAAUC,EAAWC,GAEnD,IADA,IAAIxtD,EAASstD,EAASttD,OACbrX,EAAI,EAAGA,EAAIqX,EAAQrX,GAAK,EAAG,CAClC,IAAIo1D,EAAsB,GAAlBuP,EAAS3kE,EAAI,GAA4B,IAAlB2kE,EAAS3kE,EAAI,GAA6B,GAAlB2kE,EAAS3kE,EAAI,GACpE4kE,EAAU5kE,GAAK6kE,EAAcD,EAAU5kE,GAAK6kE,EAAYzP,GAAK,IAAM,EAAIwP,EAAU5kE,GAAKo1D,GAAK,EAC7F,CACF,CACA,SAAS2P,EAAoBC,EAASC,EAAU9V,EAAOC,EAAQ8V,EAASC,EAAUN,GAChF,IAIIO,EAJAC,IAAgBF,EAChBd,EAAKgB,EAAcF,EAAS,GAAK,EACjCb,EAAKe,EAAcF,EAAS,GAAK,EACjCZ,EAAKc,EAAcF,EAAS,GAAK,EAGnCC,EADc,eAAZF,EACUJ,EAEAJ,EAId,IAFA,IAAIY,EAAoB,QACpB3+B,EAAY/uB,KAAKC,IAAIu3C,EAAQx3C,KAAKkB,KAAKwsD,EAAoBnW,IACtDoW,EAAM,EAAGA,EAAMnW,EAAQmW,GAAO5+B,EAAW,CAChD,IAAI6+B,EAAc5tD,KAAKC,IAAI8uB,EAAWyoB,EAASmW,GAC3CZ,EAAWK,EAAQpV,aAAa,EAAG2V,EAAKpW,EAAOqW,GAC/CZ,EAAYK,EAASrV,aAAa,EAAG2V,EAAKpW,EAAOqW,GACjDH,GACFjB,EAAqBO,EAAShsD,KAAM0rD,EAAIC,EAAIC,GAE9Ca,EAAUT,EAAShsD,KAAMisD,EAAUjsD,KAAMksD,GACzCG,EAAQjD,aAAa6C,EAAW,EAAGW,EACrC,CACF,CACA,SAASE,EAAatkD,EAAKtM,EAAOowD,EAAU5f,GAC1C,IAAIiZ,EAAOzpD,EAAMi9C,OACbkT,EAAUnwD,EAAM4L,QACpBU,EAAIw7C,aAAa9nD,EAAM6wD,OAAQ,EAAG,EAAG7wD,EAAM8wD,OAAQ9wD,EAAMu/C,QAASv/C,EAAMy/C,SACxE,IAAI6Q,EAAWtwD,EAAMswD,UAAY,KACjC,IAAKtwD,EAAMgwD,aAAexf,EAAaugB,UAAW,CAChD,IAAIC,EAAWxgB,EAAaogB,aAAa,CACvCK,MAAOb,EAASnT,OAChBwM,KAAMA,EACNiF,WAAY,CACV2B,QAASrwD,EAAMqwD,QACfC,SAAUA,KAKd,OAFAhkD,EAAIw7C,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,QAChCx7C,EAAIwuC,UAAUkW,EAAUhxD,EAAMu/C,QAASv/C,EAAMy/C,QAE/C,CACAyQ,EAAoBC,EAASC,EAAU3G,EAAKnP,MAAOmP,EAAKlP,OAAQv6C,EAAMqwD,QAASC,EAAUtwD,EAAMgwD,aAC/F1jD,EAAIwuC,UAAU2O,EAAM,EAAG,EACzB,CACA,IAAIyH,EAAkB,CAAC,OAAQ,QAAS,UACpCC,EAAmB,CAAC,QAAS,QAAS,SACtCC,EAAc,CAAC,EACfC,EAAU,CAAC,EAupCf,IAAK,IAAIC,KAtpCT9T,EAAe1wD,UAAY,CACzB4wD,aAAc,SAAsBj5C,GAClC,IAAI5J,EAAY4J,EAAK5J,UACjB8iD,EAAWl5C,EAAKk5C,SAChB/L,EAAentC,EAAKmtC,aACpB2f,EAAkB9sD,EAAKm5C,WACvBA,OAAiC1qD,IAApBq+D,EAAgC,KAAOA,EAEpDjX,EAAQxvD,KAAKwhB,IAAI2wC,OAAO3C,MACxBC,EAASzvD,KAAKwhB,IAAI2wC,OAAO1C,OAK7B,GAJAzvD,KAAKwhB,IAAI3R,OACT7P,KAAKwhB,IAAI0iD,UAAYpR,GAAc,qBACnC9yD,KAAKwhB,IAAIklD,SAAS,EAAG,EAAGlX,EAAOC,GAC/BzvD,KAAKwhB,IAAI1R,UACLg3C,EAAc,CAChB,IAAI6f,EAAoB3mE,KAAKgiE,eAAelE,UAAU,cAAetO,EAAOC,GAAQ,GACpFzvD,KAAK4mE,aAAe5mE,KAAKwhB,IACzBxhB,KAAK2mE,kBAAoBA,EAAkBxU,OAC3CnyD,KAAKwhB,IAAMmlD,EAAkB7lD,QAC7B9gB,KAAKwhB,IAAI3R,OACT7P,KAAKwhB,IAAIzR,UAAU+H,MAAM9X,KAAKwhB,IAAKxhB,KAAK4mE,aAAarK,oBACvD,CACAv8D,KAAKwhB,IAAI3R,OACTm0D,EAAkBhkE,KAAKwhB,KACnBzR,GACF/P,KAAKwhB,IAAIzR,UAAU+H,MAAM9X,KAAKwhB,IAAKzR,GAErC/P,KAAKwhB,IAAIzR,UAAU+H,MAAM9X,KAAKwhB,IAAKqxC,EAAS9iD,WAC5C/P,KAAK0hE,cAAgB1hE,KAAKwhB,IAAI+6C,oBAAoBthD,QAC9Cjb,KAAK2yD,YACP3yD,KAAK2yD,WAAWkU,aAEpB,EAEA1T,oBAAqB,SAA4ClN,EAAc6gB,EAAmBC,EAAkB1U,GAClH,IAAIlM,EAAYF,EAAaE,UACzBD,EAAUD,EAAaC,QACvB7lD,EAAIymE,GAAqB,EACzBE,EAAe7gB,EAAUzuC,OAC7B,GAAIsvD,IAAiB3mE,EACnB,OAAOA,EAET,IAKI4mE,EALAC,EAAkBF,EAAe3mE,EAAI6gE,GAA+C,oBAArB6F,EAC/DI,EAAUD,EAAkBtQ,KAAK5hC,MAAQisC,EAAiB,EAC1DlC,EAAQ,EACR9a,EAAajkD,KAAKikD,WAClBC,EAAOlkD,KAAKkkD,KAEhB,MAAO,EAAM,CACX,QAAgB97C,IAAZiqD,GAAyBhyD,IAAMgyD,EAAQE,eAEzC,OADAF,EAAQ+U,QAAQ/mE,EAAG0mE,GACZ1mE,EAGT,GADA4mE,EAAO/gB,EAAQ7lD,GACX4mE,IAASvrB,EAAMr3C,IAAI+K,WACrBpP,KAAKinE,GAAMnvD,MAAM9X,KAAMmmD,EAAU9lD,SAGjC,IADA,IAAIgnE,EAAOlhB,EAAU9lD,GACZwB,EAAI,EAAGylE,EAAKD,EAAK3vD,OAAQ7V,EAAIylE,EAAIzlE,IAAK,CAC7C,IAAI0lE,EAAWF,EAAKxlE,GAChBw4B,EAAyB,MAAhBktC,EAAS,IAA8B,MAAhBA,EAAS,GACzCC,EAAWntC,EAAS4pB,EAAaC,EACrC,IAAKsjB,EAAStW,WAAWqW,GAEvB,OADAC,EAASvmE,IAAIsmE,EAAUR,GAChB1mE,CAEX,CAGF,GADAA,IACIA,IAAM2mE,EACR,OAAO3mE,EAET,GAAI6mE,KAAqBnI,EAAQmC,EAAiB,CAChD,GAAItK,KAAK5hC,MAAQmyC,EAEf,OADAJ,IACO1mE,EAET0+D,EAAQ,CACV,CACF,CACF,EACA3L,WAAY,WACuB,OAA7BpzD,KAAKu7D,QAAQsF,aACf7gE,KAAKynE,gBAEPznE,KAAKwhB,IAAI1R,UACL9P,KAAK2mE,oBACP3mE,KAAKwhB,IAAMxhB,KAAK4mE,aAChB5mE,KAAKwhB,IAAI3R,OACT7P,KAAKwhB,IAAIw7C,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACrCh9D,KAAKwhB,IAAIwuC,UAAUhwD,KAAK2mE,kBAAmB,EAAG,GAC9C3mE,KAAKwhB,IAAI1R,UACT9P,KAAK2mE,kBAAoB,MAE3B3mE,KAAKgiE,eAAexsC,QACpBx1B,KAAK0lD,aAAalwB,QACdx1B,KAAK2yD,YACP3yD,KAAK2yD,WAAW+U,WAEpB,EACAr4D,aAAc,SAAqCmgD,GACjDxvD,KAAKu7D,QAAQqF,UAAYpR,EACzBxvD,KAAKwhB,IAAIo/C,UAAYpR,CACvB,EACAlgD,WAAY,SAAmC6b,GAC7CnrB,KAAKwhB,IAAI6iD,QAAU+B,EAAgBj7C,EACrC,EACA5b,YAAa,SAAoC4b,GAC/CnrB,KAAKwhB,IAAI8iD,SAAW+B,EAAiBl7C,EACvC,EACA3b,cAAe,SAAsCm4D,GACnD3nE,KAAKwhB,IAAI+iD,WAAaoD,CACxB,EACAl4D,QAAS,SAAgCm4D,EAAWC,GAClD,IAAIrmD,EAAMxhB,KAAKwhB,SACSpZ,IAApBoZ,EAAIqiD,cACNriD,EAAIqiD,YAAY+D,GAChBpmD,EAAIuiD,eAAiB8D,EAEzB,EACAn4D,mBAAoB,SAA2Cs1C,GAAS,EACxEr1C,YAAa,SAAoCm4D,GAAW,EAC5Dl4D,UAAW,SAAkCm4D,GAC3C,IAAK,IAAI1nE,EAAI,EAAGyY,EAAKivD,EAAOrwD,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC/C,IAAI2iC,EAAQ+kC,EAAO1nE,GACfsB,EAAMqhC,EAAM,GACZ3hC,EAAQ2hC,EAAM,GAClB,OAAQrhC,GACN,IAAK,KACH3B,KAAKqP,aAAahO,GAClB,MACF,IAAK,KACHrB,KAAKsP,WAAWjO,GAChB,MACF,IAAK,KACHrB,KAAKuP,YAAYlO,GACjB,MACF,IAAK,KACHrB,KAAKwP,cAAcnO,GACnB,MACF,IAAK,IACHrB,KAAKyP,QAAQpO,EAAM,GAAIA,EAAM,IAC7B,MACF,IAAK,KACHrB,KAAK0P,mBAAmBrO,GACxB,MACF,IAAK,KACHrB,KAAK2P,YAAYtO,GACjB,MACF,IAAK,OACHrB,KAAKwR,QAAQnQ,EAAM,GAAIA,EAAM,IAC7B,MACF,IAAK,KACHrB,KAAKu7D,QAAQoF,YAAc39B,EAAM,GACjC,MACF,IAAK,KACHhjC,KAAKu7D,QAAQmF,UAAY19B,EAAM,GAC/BhjC,KAAKwhB,IAAI4iD,YAAcphC,EAAM,GAC7B,MACF,IAAK,KACHhjC,KAAKwhB,IAAIgjD,yBAA2BnjE,EACpC,MACF,IAAK,QACCrB,KAAKu7D,QAAQsF,cACX7gE,KAAKohE,WAAW1pD,OAAS,GAAK1X,KAAKohE,WAAWphE,KAAKohE,WAAW1pD,OAAS,GAAGmpD,cAAgB7gE,KAAKu7D,QAAQsF,YACzG7gE,KAAKgoE,oBAELhoE,KAAKynE,iBAGTznE,KAAKu7D,QAAQsF,YAAcx/D,EAAQrB,KAAK+hE,UAAY,KAChD/hE,KAAKu7D,QAAQsF,aACf7gE,KAAKioE,kBAEPjoE,KAAK+hE,UAAY,KACjB,MAEN,CACF,EACAkG,gBAAiB,WACf,IAAIpH,EAAc7gE,KAAKu7D,QAAQsF,YAC3BqH,EAAarH,EAAY1O,OAAO3C,MAChC2Y,EAActH,EAAY1O,OAAO1C,OACjC2Y,EAAU,eAAiBpoE,KAAK4hE,WAChCyG,EAAgBroE,KAAKgiE,eAAelE,UAAUsK,EAASF,EAAYC,GAAa,GAChFG,EAAatoE,KAAKwhB,IAClB+mD,EAAmBD,EAAW/L,oBAClCv8D,KAAKwhB,IAAI3R,OACT,IAAI24D,EAAWH,EAAcvnD,QAC7B0nD,EAAS9jB,MAAM,EAAImc,EAAYkF,OAAQ,EAAIlF,EAAYmF,QACvDwC,EAAS3L,WAAWgE,EAAYpM,SAAUoM,EAAYlM,SACtD6T,EAASz4D,UAAU+H,MAAM0wD,EAAUD,GACnC1H,EAAY4H,sBAAwBD,EAASE,2BAC7CjF,EAAa6E,EAAYE,GACzBxoE,KAAKwhB,IAAMgnD,EACXxoE,KAAK4P,UAAU,CAAC,CAAC,KAAM,eAAgB,CAAC,KAAM,GAAI,CAAC,KAAM,KACzD5P,KAAKwhE,WAAWnpD,KAAKiwD,GACrBtoE,KAAK4hE,YACP,EACAoG,kBAAmB,WACjB,IAAIQ,EAAWxoE,KAAKwhB,IACpBxhB,KAAK4hE,aACL5hE,KAAKwhB,IAAMxhB,KAAKwhE,WAAWjnB,MAC3BurB,EAAa9lE,KAAKwhB,IAAKxhB,KAAKu7D,QAAQsF,YAAa2H,EAAUxoE,KAAK0lD,cAChE1lD,KAAKwhB,IAAI1R,UACT9P,KAAKwhB,IAAI3R,OACT4zD,EAAa+E,EAAUxoE,KAAKwhB,KAC5BxhB,KAAKu7D,QAAQuF,eAAiB0H,EAC9B,IAAIG,EAAiBjtB,EAAM92C,KAAKmL,UAAU/P,KAAKu7D,QAAQsF,YAAY4H,sBAAuBD,EAASjM,qBACnGv8D,KAAKwhB,IAAIzR,UAAU+H,MAAM9X,KAAKwhB,IAAKmnD,GACnCH,EAAS34D,OACT24D,EAASxL,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACrCwL,EAASI,UAAU,EAAG,EAAGJ,EAASrW,OAAO3C,MAAOgZ,EAASrW,OAAO1C,QAChE+Y,EAAS14D,SACX,EACA+4D,iBAAkB,WAChB,IAAIL,EAAWxoE,KAAKu7D,QAAQuF,eACxBwH,EAAatoE,KAAKwhB,IACtBxhB,KAAKwhB,IAAMgnD,EACXxoE,KAAKwhE,WAAWnpD,KAAKiwD,GACrBtoE,KAAK4hE,YACP,EACA6F,cAAe,WACb,IAAIe,EAAWxoE,KAAKwhB,IACpBxhB,KAAK4hE,aACL5hE,KAAKwhB,IAAMxhB,KAAKwhE,WAAWjnB,MAC3BurB,EAAa9lE,KAAKwhB,IAAKxhB,KAAKu7D,QAAQsF,YAAa2H,EAAUxoE,KAAK0lD,cAChE1lD,KAAKwhB,IAAI1R,UACT2zD,EAAa+E,EAAUxoE,KAAKwhB,KAC5B,IAAImnD,EAAiBjtB,EAAM92C,KAAKmL,UAAU/P,KAAKu7D,QAAQsF,YAAY4H,sBAAuBD,EAASjM,qBACnGv8D,KAAKwhB,IAAIzR,UAAU+H,MAAM9X,KAAKwhB,IAAKmnD,EACrC,EACA94D,KAAM,WACJ7P,KAAKwhB,IAAI3R,OACT,IAAIwtD,EAAMr9D,KAAKu7D,QACfv7D,KAAKohE,WAAW/oD,KAAKglD,GACrBr9D,KAAKu7D,QAAU8B,EAAI0D,QACnB/gE,KAAKu7D,QAAQuF,eAAiB,IAChC,EACAhxD,QAAS,WACH9P,KAAKu7D,QAAQuF,gBACf9gE,KAAK6oE,mBAE0B,OAA7B7oE,KAAKu7D,QAAQsF,aAAoD,IAA3B7gE,KAAKohE,WAAW1pD,QAAgB1X,KAAKohE,WAAWphE,KAAKohE,WAAW1pD,OAAS,GAAGmpD,cAAgB7gE,KAAKu7D,QAAQsF,aACjJ7gE,KAAKynE,gBAEwB,IAA3BznE,KAAKohE,WAAW1pD,SAClB1X,KAAKu7D,QAAUv7D,KAAKohE,WAAW7mB,MAC/Bv6C,KAAKwhB,IAAI1R,UACT9P,KAAKqhE,YAAc,KACnBrhE,KAAKiiE,2BAA6B,KAEtC,EACAlyD,UAAW,SAAkC2L,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GAC1D/iB,KAAKwhB,IAAIzR,UAAU2L,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GAClC/iB,KAAKiiE,2BAA6B,IACpC,EACAntD,cAAe,SAAsCg0D,EAAKh0C,GAKxD,IAJA,IAAItT,EAAMxhB,KAAKwhB,IACX+5C,EAAUv7D,KAAKu7D,QACfriD,EAAIqiD,EAAQriD,EACZu8C,EAAI8F,EAAQ9F,EACPp1D,EAAI,EAAGmnB,EAAI,EAAG1O,EAAKgwD,EAAIpxD,OAAQrX,EAAIyY,EAAIzY,IAC9C,OAAiB,EAATyoE,EAAIzoE,IACV,KAAKq7C,EAAMr3C,IAAIiM,UACb4I,EAAI4b,EAAKtN,KACTiuC,EAAI3gC,EAAKtN,KACT,IAAIgoC,EAAQ16B,EAAKtN,KACbioC,EAAS36B,EAAKtN,KACJ,IAAVgoC,IACFA,EAAQxvD,KAAK+oE,uBAEA,IAAXtZ,IACFA,EAASzvD,KAAK+oE,uBAEhB,IAAIC,EAAK9vD,EAAIs2C,EACTyZ,EAAKxT,EAAIhG,EACbzvD,KAAKwhB,IAAIxR,OAAOkJ,EAAGu8C,GACnBz1D,KAAKwhB,IAAIvR,OAAO+4D,EAAIvT,GACpBz1D,KAAKwhB,IAAIvR,OAAO+4D,EAAIC,GACpBjpE,KAAKwhB,IAAIvR,OAAOiJ,EAAG+vD,GACnBjpE,KAAKwhB,IAAIvR,OAAOiJ,EAAGu8C,GACnBz1D,KAAKwhB,IAAInR,YACT,MACF,KAAKqrC,EAAMr3C,IAAI2L,OACbkJ,EAAI4b,EAAKtN,KACTiuC,EAAI3gC,EAAKtN,KACThG,EAAIxR,OAAOkJ,EAAGu8C,GACd,MACF,KAAK/Z,EAAMr3C,IAAI4L,OACbiJ,EAAI4b,EAAKtN,KACTiuC,EAAI3gC,EAAKtN,KACThG,EAAIvR,OAAOiJ,EAAGu8C,GACd,MACF,KAAK/Z,EAAMr3C,IAAI6L,QACbgJ,EAAI4b,EAAKtN,EAAI,GACbiuC,EAAI3gC,EAAKtN,EAAI,GACbhG,EAAI0nD,cAAcp0C,EAAKtN,GAAIsN,EAAKtN,EAAI,GAAIsN,EAAKtN,EAAI,GAAIsN,EAAKtN,EAAI,GAAItO,EAAGu8C,GACrEjuC,GAAK,EACL,MACF,KAAKk0B,EAAMr3C,IAAI8L,SACbqR,EAAI0nD,cAAchwD,EAAGu8C,EAAG3gC,EAAKtN,GAAIsN,EAAKtN,EAAI,GAAIsN,EAAKtN,EAAI,GAAIsN,EAAKtN,EAAI,IACpEtO,EAAI4b,EAAKtN,EAAI,GACbiuC,EAAI3gC,EAAKtN,EAAI,GACbA,GAAK,EACL,MACF,KAAKk0B,EAAMr3C,IAAI+L,SACb8I,EAAI4b,EAAKtN,EAAI,GACbiuC,EAAI3gC,EAAKtN,EAAI,GACbhG,EAAI0nD,cAAcp0C,EAAKtN,GAAIsN,EAAKtN,EAAI,GAAItO,EAAGu8C,EAAGv8C,EAAGu8C,GACjDjuC,GAAK,EACL,MACF,KAAKk0B,EAAMr3C,IAAIgM,UACbmR,EAAInR,YACJ,MAGNkrD,EAAQyF,gBAAgB9nD,EAAGu8C,EAC7B,EACAplD,UAAW,WACTrQ,KAAKwhB,IAAInR,WACX,EACAE,OAAQ,SAA+B44D,GACrCA,EAAqC,qBAAhBA,GAA8BA,EACnD,IAAI3nD,EAAMxhB,KAAKwhB,IACXg/C,EAAcxgE,KAAKu7D,QAAQiF,YAC/Bh/C,EAAIo/C,UAAY3oD,KAAKmD,IAAIpb,KAAK+oE,sBAAwB9M,EAAkBj8D,KAAKu7D,QAAQqF,WACrFp/C,EAAI4iD,YAAcpkE,KAAKu7D,QAAQoF,YAC3BH,GAAeA,EAAYv+D,eAAe,SAAgC,YAArBu+D,EAAYtiD,MACnEsD,EAAI3R,OACJ2R,EAAIyiD,YAAczD,EAAY4I,WAAW5nD,EAAKxhB,MAC9CwhB,EAAIjR,SACJiR,EAAI1R,WAEJ0R,EAAIjR,SAEF44D,GACFnpE,KAAKmpE,cAEP3nD,EAAI4iD,YAAcpkE,KAAKu7D,QAAQmF,SACjC,EACAlwD,YAAa,WACXxQ,KAAKqQ,YACLrQ,KAAKuQ,QACP,EACAE,KAAM,SAA6B04D,GACjCA,EAAqC,qBAAhBA,GAA8BA,EACnD,IAAI3nD,EAAMxhB,KAAKwhB,IACX++C,EAAYvgE,KAAKu7D,QAAQgF,UACzB8I,EAAgBrpE,KAAKu7D,QAAQkF,YAC7B6I,GAAc,EACdD,IACF7nD,EAAI3R,OACA7P,KAAK0hE,eACPlgD,EAAIw7C,aAAallD,MAAM0J,EAAKxhB,KAAK0hE,eAEnClgD,EAAI0iD,UAAY3D,EAAU6I,WAAW5nD,EAAKxhB,MAC1CspE,GAAc,GAEZtpE,KAAKshE,eACP9/C,EAAI/Q,KAAK,WACTzQ,KAAKshE,eAAgB,GAErB9/C,EAAI/Q,OAEF64D,GACF9nD,EAAI1R,UAEFq5D,GACFnpE,KAAKmpE,aAET,EACAz4D,OAAQ,WACN1Q,KAAKshE,eAAgB,EACrBthE,KAAKyQ,MACP,EACAE,WAAY,WACV3Q,KAAKyQ,MAAK,GACVzQ,KAAKuQ,QAAO,GACZvQ,KAAKmpE,aACP,EACAv4D,aAAc,WACZ5Q,KAAKshE,eAAgB,EACrBthE,KAAK2Q,YACP,EACAE,gBAAiB,WACf7Q,KAAKqQ,YACLrQ,KAAK2Q,YACP,EACAG,kBAAmB,WACjB9Q,KAAKshE,eAAgB,EACrBthE,KAAKqQ,YACLrQ,KAAK2Q,YACP,EACAI,QAAS,WACP/Q,KAAKmpE,aACP,EACAn4D,KAAM,WACJhR,KAAKqhE,YAAciF,CACrB,EACAr1D,OAAQ,WACNjR,KAAKqhE,YAAckF,CACrB,EACAr1D,UAAW,WACTlR,KAAKu7D,QAAQqE,WAAalkB,EAAMxzC,gBAChClI,KAAKu7D,QAAQsE,gBAAkB,EAC/B7/D,KAAKu7D,QAAQriD,EAAIlZ,KAAKu7D,QAAQyE,MAAQ,EACtChgE,KAAKu7D,QAAQ9F,EAAIz1D,KAAKu7D,QAAQ0E,MAAQ,CACxC,EACA9uD,QAAS,WACP,IAAIo4D,EAAQvpE,KAAKwpE,iBACbhoD,EAAMxhB,KAAKwhB,IACf,QAAcpZ,IAAVmhE,EAAJ,CAIA/nD,EAAI3R,OACJ2R,EAAI89C,YACJ,IAAK,IAAIj/D,EAAI,EAAGA,EAAIkpE,EAAM7xD,OAAQrX,IAAK,CACrC,IAAIopE,EAAOF,EAAMlpE,GACjBmhB,EAAIw7C,aAAallD,MAAM0J,EAAKioD,EAAK15D,WACjCyR,EAAIq7C,UAAU4M,EAAKvwD,EAAGuwD,EAAKhU,GAC3BgU,EAAKC,UAAUloD,EAAKioD,EAAK/J,SAC3B,CACAl+C,EAAI1R,UACJ0R,EAAIxQ,OACJwQ,EAAI89C,mBACGt/D,KAAKwpE,gBAZZ,MAFEhoD,EAAI89C,WAeR,EACAluD,eAAgB,SAAuCu4D,GACrD3pE,KAAKu7D,QAAQ2E,YAAcyJ,CAC7B,EACAt4D,eAAgB,SAAuCs4D,GACrD3pE,KAAKu7D,QAAQ4E,YAAcwJ,CAC7B,EACAr4D,UAAW,SAAkCozC,GAC3C1kD,KAAKu7D,QAAQ6E,WAAa1b,EAAQ,GACpC,EACAnzC,WAAY,SAAmCwuD,GAC7C//D,KAAKu7D,QAAQwE,SAAWA,CAC1B,EACAvuD,QAAS,SAAgCo4D,EAAajpC,GACpD,IAAIkpC,EAAU7pE,KAAKikD,WAAWhjD,IAAI2oE,GAC9BrO,EAAUv7D,KAAKu7D,QACnB,IAAKsO,EACH,MAAM,IAAI9zD,MAAM,uBAA0B6zD,GAc5C,GAZArO,EAAQuE,WAAa+J,EAAQ/J,WAAa+J,EAAQ/J,WAAapkB,EAAMvzC,qBACvC,IAA1BozD,EAAQuE,WAAW,IAAsC,IAA1BvE,EAAQuE,WAAW,KACpD,EAAIpkB,EAAMp2C,MAAM,gCAAkCskE,GAEhDjpC,EAAO,GACTA,GAAQA,EACR46B,EAAQuO,eAAiB,GAEzBvO,EAAQuO,cAAgB,EAE1B9pE,KAAKu7D,QAAQnmD,KAAOy0D,EACpB7pE,KAAKu7D,QAAQmE,SAAW/+B,GACpBkpC,EAAQE,YAAZ,CAGA,IAAIppE,EAAOkpE,EAAQvP,YAAc,aAC7B0P,EAAOH,EAAQ1G,MAAQ,MAAQ0G,EAAQG,KAAO,OAAS,SACvDC,EAASJ,EAAQI,OAAS,SAAW,SACrCC,EAAW,IAAMvpE,EAAO,MAAQkpE,EAAQM,aACxCC,EAAkBzpC,EAAOm7B,EAAgBA,EAAgBn7B,EAAOo7B,EAAgBA,EAAgBp7B,EACpG3gC,KAAKu7D,QAAQoE,cAAgBh/B,EAAOypC,EACpC,IAAInS,EAAOgS,EAAS,IAAMD,EAAO,IAAMI,EAAkB,MAAQF,EACjElqE,KAAKwhB,IAAIpM,KAAO6iD,CARhB,CASF,EACAxmD,qBAAsB,SAA6ClQ,GACjEvB,KAAKu7D,QAAQ8E,kBAAoB9+D,CACnC,EACAmQ,YAAa,SAAoC24D,GAC/CrqE,KAAKu7D,QAAQ+E,SAAW+J,CAC1B,EACA14D,SAAU,SAAiCuH,EAAGu8C,GAC5Cz1D,KAAKu7D,QAAQriD,EAAIlZ,KAAKu7D,QAAQyE,OAAS9mD,EACvClZ,KAAKu7D,QAAQ9F,EAAIz1D,KAAKu7D,QAAQ0E,OAASxK,CACzC,EACA7jD,mBAAoB,SAA2CsH,EAAGu8C,GAChEz1D,KAAKuR,YAAYkkD,GACjBz1D,KAAK2R,SAASuH,EAAGu8C,EACnB,EACA5jD,cAAe,SAAsC6J,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GAClE/iB,KAAKu7D,QAAQqE,WAAa,CAAClkD,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GAC1C/iB,KAAKu7D,QAAQsE,gBAAkB5nD,KAAK4D,KAAKH,EAAIA,EAAInB,EAAIA,GACrDva,KAAKu7D,QAAQriD,EAAIlZ,KAAKu7D,QAAQyE,MAAQ,EACtChgE,KAAKu7D,QAAQ9F,EAAIz1D,KAAKu7D,QAAQ0E,MAAQ,CACxC,EACAnuD,SAAU,WACR9R,KAAK2R,SAAS,EAAG3R,KAAKu7D,QAAQwE,QAChC,EACAuK,UAAW,SAAmBjP,EAAWniD,EAAGu8C,EAAG8U,GAC7C,IAQIb,EARAloD,EAAMxhB,KAAKwhB,IACX+5C,EAAUv7D,KAAKu7D,QACfnmD,EAAOmmD,EAAQnmD,KACfirD,EAAoB9E,EAAQ8E,kBAC5BX,EAAWnE,EAAQmE,SAAWnE,EAAQoE,cACtC6K,EAAiBnK,EAAoB3kB,EAAMn0C,kBAAkBuC,iBAC7D2gE,KAAoBpK,EAAoB3kB,EAAMn0C,kBAAkBwC,kBAChE02D,EAAclF,EAAQkF,aAAerrD,EAAK4D,KA4B9C,IA1BI5D,EAAKmpC,iBAAmBksB,GAAkBhK,KAC5CiJ,EAAYt0D,EAAKs1D,iBAAiB1qE,KAAKikD,WAAYoX,IAEjDjmD,EAAKmpC,iBAAmBkiB,GAC1Bj/C,EAAI3R,OACJ2R,EAAIq7C,UAAU3jD,EAAGu8C,GACjBj0C,EAAI89C,YACJoK,EAAUloD,EAAKk+C,GACX6K,GACF/oD,EAAIw7C,aAAallD,MAAM0J,EAAK+oD,GAE1BC,IAAmB9uB,EAAMn0C,kBAAkB+B,MAAQkhE,IAAmB9uB,EAAMn0C,kBAAkBiC,aAChGgY,EAAI/Q,OAEF+5D,IAAmB9uB,EAAMn0C,kBAAkBgC,QAAUihE,IAAmB9uB,EAAMn0C,kBAAkBiC,aAClGgY,EAAIjR,SAENiR,EAAI1R,YAEA06D,IAAmB9uB,EAAMn0C,kBAAkB+B,MAAQkhE,IAAmB9uB,EAAMn0C,kBAAkBiC,aAChGgY,EAAIw4C,SAASqB,EAAWniD,EAAGu8C,GAEzB+U,IAAmB9uB,EAAMn0C,kBAAkBgC,QAAUihE,IAAmB9uB,EAAMn0C,kBAAkBiC,aAClGgY,EAAImpD,WAAWtP,EAAWniD,EAAGu8C,IAG7BgV,EAAgB,CAClB,IAAIlB,EAAQvpE,KAAKwpE,mBAAqBxpE,KAAKwpE,iBAAmB,IAC9DD,EAAMlxD,KAAK,CACTtI,UAAWyR,EAAI+6C,oBACfrjD,EAAGA,EACHu8C,EAAGA,EACHiK,SAAUA,EACVgK,UAAWA,GAEf,CACF,EAEIkB,8BACF,IAAIppD,EAAMxhB,KAAKwlD,cAAc9jD,OAAO,GAAI,IAAIof,QAC5CU,EAAIkjC,MAAM,IAAK,GACfljC,EAAIw4C,SAAS,IAAK,EAAG,IAGrB,IAFA,IAAIhhD,EAAOwI,EAAIyuC,aAAa,EAAG,EAAG,GAAI,IAAIj3C,KACtCq1C,GAAU,EACLhuD,EAAI,EAAGA,EAAI2Y,EAAKtB,OAAQrX,GAAK,EACpC,GAAI2Y,EAAK3Y,GAAK,GAAK2Y,EAAK3Y,GAAK,IAAK,CAChCguD,GAAU,EACV,KACF,CAEF,OAAO,EAAI3S,EAAM/2C,QAAQ3E,KAAM,0BAA2BquD,EAC5D,EACAt8C,SAAU,SAAiC84D,GACzC,IAAItP,EAAUv7D,KAAKu7D,QACfnmD,EAAOmmD,EAAQnmD,KACnB,GAAIA,EAAK20D,YACP,OAAO/pE,KAAK8qE,cAAcD,GAE5B,IAAInL,EAAWnE,EAAQmE,SACvB,GAAiB,IAAbA,EAAJ,CAGA,IAAIl+C,EAAMxhB,KAAKwhB,IACXm+C,EAAgBpE,EAAQoE,cACxBO,EAAc3E,EAAQ2E,YACtBC,EAAc5E,EAAQ4E,YACtB2J,EAAgBvO,EAAQuO,cACxB1J,EAAa7E,EAAQ6E,WAAa0J,EAClCiB,EAAeF,EAAOnzD,OACtBszD,EAAW51D,EAAK41D,SAChBC,EAAaD,EAAW,GAAK,EAC7BE,EAAkB91D,EAAK81D,gBACvBC,EAAoBzL,EAAWnE,EAAQuE,WAAW,GAClDsL,EAAiB7P,EAAQ8E,oBAAsB3kB,EAAMn0C,kBAAkB+B,OAAS8L,EAAKmpC,kBAAoBgd,EAAQkF,YACrHj/C,EAAI3R,OACJ,IAAI06D,OAAmB,EACvB,GAAIhP,EAAQkF,YAAa,CACvBj/C,EAAI3R,OACJ,IAAIw7D,EAAU9P,EAAQgF,UAAU6I,WAAW5nD,EAAKxhB,MAChDuqE,EAAmB/oD,EAAI+6C,oBACvB/6C,EAAI1R,UACJ0R,EAAI0iD,UAAYmH,CAClB,CACA7pD,EAAIzR,UAAU+H,MAAM0J,EAAK+5C,EAAQqE,YACjCp+C,EAAIq7C,UAAUtB,EAAQriD,EAAGqiD,EAAQ9F,EAAI8F,EAAQ+E,UACzCwJ,EAAgB,EAClBtoD,EAAIkjC,MAAM0b,GAAa,GAEvB5+C,EAAIkjC,MAAM0b,EAAY,GAExB,IAAIQ,EAAYrF,EAAQqF,UACpBlc,EAAQ6W,EAAQsE,gBACpB,GAAc,IAAVnb,GAA6B,IAAdkc,EAAiB,CAClC,IAAI4J,EAAiBjP,EAAQ8E,kBAAoB3kB,EAAMn0C,kBAAkBuC,iBACrE0gE,IAAmB9uB,EAAMn0C,kBAAkBgC,QAAUihE,IAAmB9uB,EAAMn0C,kBAAkBiC,cAClGxJ,KAAKiiE,2BAA6B,KAClCrB,EAAY5gE,KAAK+oE,sBAAwB9M,EAE7C,MACE2E,GAAalc,EAEO,IAAlBib,IACFn+C,EAAIkjC,MAAMib,EAAeA,GACzBiB,GAAajB,GAEfn+C,EAAIo/C,UAAYA,EAChB,IACIvgE,EADA6Y,EAAI,EAER,IAAK7Y,EAAI,EAAGA,EAAI0qE,IAAgB1qE,EAAG,CACjC,IAAIirE,EAAQT,EAAOxqE,GACnB,IAAI,EAAIq7C,EAAMp1C,OAAOglE,GACnBpyD,GAAK+xD,EAAaK,EAAQ5L,EAAW,QADvC,CAIA,IAII6L,EAASC,EAASC,EAAeC,EAG/BC,EAASC,EAAIC,EAPfC,GAAgB,EAChBnC,GAAW2B,EAAMllE,QAAU+5D,EAAc,GAAKD,EAC9C7E,EAAYiQ,EAAMS,SAClBC,EAASV,EAAMU,OAEfxc,EAAQ8b,EAAM9b,MAClB,GAAIwb,EAEFW,EAAUL,EAAMK,SAAWT,EAC3BU,EAAKN,EAAMK,QAAUA,EAAQ,GAAa,GAARnc,EAClCoc,GAAMA,EAAKT,EACXU,EAAKF,EAAQ,GAAKR,EAClB3b,EAAQmc,GAAWA,EAAQ,GAAKnc,EAChC+b,EAAUK,EAAKjM,EACf6L,GAAWtyD,EAAI2yD,GAAMlM,OAErB4L,EAAUryD,EAAIymD,EACd6L,EAAU,EAEZ,GAAIp2D,EAAK62D,WAAazc,EAAQ,EAAG,CAC/B,IAAI0c,EAAmD,IAAnC1qD,EAAI2qD,YAAY9Q,GAAW7L,MAAekQ,EAAWC,EACzE,GAAInQ,EAAQ0c,GAAiBlsE,KAAK4qE,wBAAyB,CACzD,IAAIwB,EAAkB5c,EAAQ0c,EAC9BJ,GAAgB,EAChBtqD,EAAI3R,OACJ2R,EAAIkjC,MAAM0nB,EAAiB,GAC3Bb,GAAWa,CACb,MAAW5c,IAAU0c,IACnBX,IAAY/b,EAAQ0c,GAAiB,IAAOxM,EAAWC,EAE3D,EACI2L,EAAMe,UAAYj3D,EAAKwjD,eACrBwS,IAAmBY,EACrBxqD,EAAIw4C,SAASqB,EAAWkQ,EAASC,IAEjCxrE,KAAKsqE,UAAUjP,EAAWkQ,EAASC,EAASjB,GACxCyB,IACFP,EAAgBF,EAAUS,EAAO3yD,OAAOH,EAAIymD,EAC5C+L,EAAgBF,EAAUQ,EAAO3yD,OAAOo8C,EAAIkK,EAC5C3/D,KAAKsqE,UAAU0B,EAAOD,SAAUN,EAAeC,EAAenB,MAIpE,IAAI+B,EAAY9c,EAAQ2b,EAAoBxB,EAAUG,EACtD5wD,GAAKozD,EACDR,GACFtqD,EAAI1R,SA/CN,CAiDF,CACIk7D,EACFzP,EAAQ9F,GAAKv8C,EAAIknD,EAEjB7E,EAAQriD,GAAKA,EAAIknD,EAEnB5+C,EAAI1R,SA3GJ,CA4GF,EACAg7D,cAAe,SAAsCD,GACnD,IAYIxqE,EAAGirE,EAAO9b,EAAO+c,EAZjB/qD,EAAMxhB,KAAKwhB,IACX+5C,EAAUv7D,KAAKu7D,QACfnmD,EAAOmmD,EAAQnmD,KACfsqD,EAAWnE,EAAQmE,SACnBoK,EAAgBvO,EAAQuO,cACxBmB,EAAa71D,EAAK41D,SAAW,GAAK,EAClC9K,EAAc3E,EAAQ2E,YACtBC,EAAc5E,EAAQ4E,YACtBC,EAAa7E,EAAQ6E,WAAa0J,EAClChK,EAAavE,EAAQuE,YAAcpkB,EAAMvzC,qBACzC4iE,EAAeF,EAAOnzD,OACtB80D,EAAkBjR,EAAQ8E,oBAAsB3kB,EAAMn0C,kBAAkBkC,UAE5E,IAAI+iE,GAAgC,IAAb9M,EAAvB,CAQA,IALA1/D,KAAKiiE,2BAA6B,KAClCzgD,EAAI3R,OACJ2R,EAAIzR,UAAU+H,MAAM0J,EAAK+5C,EAAQqE,YACjCp+C,EAAIq7C,UAAUtB,EAAQriD,EAAGqiD,EAAQ9F,GACjCj0C,EAAIkjC,MAAM0b,EAAY0J,GACjBzpE,EAAI,EAAGA,EAAI0qE,IAAgB1qE,EAE9B,GADAirE,EAAQT,EAAOxqE,IACX,EAAIq7C,EAAMp1C,OAAOglE,GACnBiB,EAAgBtB,EAAaK,EAAQ5L,EAAW,IAChD1/D,KAAKwhB,IAAIq7C,UAAU0P,EAAe,GAClChR,EAAQriD,GAAKqzD,EAAgBnM,MAH/B,CAMA,IAAIuJ,GAAW2B,EAAMllE,QAAU+5D,EAAc,GAAKD,EAC9Cja,EAAe7wC,EAAKq3D,qBAAqBnB,EAAMoB,gBACnD,GAAKzmB,EAAL,CAIAjmD,KAAKyhE,gBAAkB6J,EACvBtrE,KAAK6P,OACL2R,EAAIkjC,MAAMgb,EAAUA,GACpBl+C,EAAIzR,UAAU+H,MAAM0J,EAAKs+C,GACzB9/D,KAAKmzD,oBAAoBlN,GACzBjmD,KAAK8P,UACL,IAAI68D,EAAcjxB,EAAM92C,KAAK8V,eAAe,CAAC4wD,EAAM9b,MAAO,GAAIsQ,GAC9DtQ,EAAQmd,EAAY,GAAKjN,EAAWiK,EACpCnoD,EAAIq7C,UAAUrN,EAAO,GACrB+L,EAAQriD,GAAKs2C,EAAQ4Q,CAVrB,MAFE,EAAI1kB,EAAMp2C,MAAM,oBAAsBgmE,EAAMoB,eAAiB,sBAJ/D,CAkBFlrD,EAAI1R,UACJ9P,KAAKyhE,gBAAkB,IAhCvB,CAiCF,EACAtvD,aAAc,SAAqCy6D,EAAQC,GAAS,EACpEz6D,sBAAuB,SAA8Cw6D,EAAQC,EAAQC,EAAKC,EAAKC,EAAKC,GAClGjtE,KAAKwhB,IAAIvF,KAAK6wD,EAAKC,EAAKC,EAAMF,EAAKG,EAAMF,GACzC/sE,KAAKgR,OACLhR,KAAK+Q,SACP,EACAm8D,kBAAmB,SAA0CC,GAC3D,IAEI9B,EAFAzjC,EAAQ5nC,KAGZ,GAAc,kBAAVmtE,EAAG,GAAwB,CAC7B,IAAIC,EAAQD,EAAG,GACXzL,EAAgB1hE,KAAK0hE,eAAiB1hE,KAAKwhB,IAAI+6C,oBAAoBthD,QACnEoyD,EAAwB,CAC1BC,qBAAsB,SAA8B9rD,GAClD,OAAO,IAAIkxC,EAAelxC,EAAKomB,EAAMqc,WAAYrc,EAAMsc,KAAMtc,EAAM4d,cAAe5d,EAAM8d,aAC1F,GAEF2lB,EAAU,IAAIxP,EAAgB0R,cAAcJ,EAAIC,EAAOptE,KAAKwhB,IAAK6rD,EAAuB3L,EAC1F,MACE2J,GAAU,EAAIxP,EAAgB2R,yBAAyBL,GAEzD,OAAO9B,CACT,EACA74D,gBAAiB,WACfxS,KAAKu7D,QAAQiF,YAAcxgE,KAAKktE,kBAAkBrwD,UACpD,EACAnK,cAAe,WACb1S,KAAKu7D,QAAQgF,UAAYvgE,KAAKktE,kBAAkBrwD,WAChD7c,KAAKu7D,QAAQkF,aAAc,CAC7B,EACA5tD,kBAAmB,SAA0C3R,EAAGoZ,EAAGC,GACjE,IAAI6yD,EAAQ1xB,EAAM92C,KAAKyV,WAAWnZ,EAAGoZ,EAAGC,GACxCva,KAAKwhB,IAAIyiD,YAAcmJ,EACvBptE,KAAKu7D,QAAQiF,YAAc4M,CAC7B,EACAt6D,gBAAiB,SAAwC5R,EAAGoZ,EAAGC,GAC7D,IAAI6yD,EAAQ1xB,EAAM92C,KAAKyV,WAAWnZ,EAAGoZ,EAAGC,GACxCva,KAAKwhB,IAAI0iD,UAAYkJ,EACrBptE,KAAKu7D,QAAQgF,UAAY6M,EACzBptE,KAAKu7D,QAAQkF,aAAc,CAC7B,EACAxtD,YAAa,SAAoCw6D,GAC/C,IAAIjsD,EAAMxhB,KAAKwhB,IACfxhB,KAAK6P,OACL,IAAIw7D,GAAU,EAAIxP,EAAgB2R,yBAAyBC,GAC3DjsD,EAAI0iD,UAAYmH,EAAQjC,WAAW5nD,EAAKxhB,MAAM,GAC9C,IAAI0tE,EAAMlsD,EAAIknD,2BACd,GAAIgF,EAAK,CACP,IAAIvb,EAAS3wC,EAAI2wC,OACb3C,EAAQ2C,EAAO3C,MACfC,EAAS0C,EAAO1C,OAChBke,EAAKjyB,EAAM92C,KAAK8V,eAAe,CAAC,EAAG,GAAIgzD,GACvC/X,EAAKja,EAAM92C,KAAK8V,eAAe,CAAC,EAAG+0C,GAASie,GAC5CE,EAAKlyB,EAAM92C,KAAK8V,eAAe,CAAC80C,EAAO,GAAIke,GAC3CG,EAAKnyB,EAAM92C,KAAK8V,eAAe,CAAC80C,EAAOC,GAASie,GAChDI,EAAK71D,KAAKC,IAAIy1D,EAAG,GAAIhY,EAAG,GAAIiY,EAAG,GAAIC,EAAG,IACtCE,EAAK91D,KAAKC,IAAIy1D,EAAG,GAAIhY,EAAG,GAAIiY,EAAG,GAAIC,EAAG,IACtCG,EAAK/1D,KAAKmD,IAAIuyD,EAAG,GAAIhY,EAAG,GAAIiY,EAAG,GAAIC,EAAG,IACtCI,EAAKh2D,KAAKmD,IAAIuyD,EAAG,GAAIhY,EAAG,GAAIiY,EAAG,GAAIC,EAAG,IAC1C7tE,KAAKwhB,IAAIklD,SAASoH,EAAIC,EAAIC,EAAKF,EAAIG,EAAKF,EAC1C,MACE/tE,KAAKwhB,IAAIklD,UAAU,MAAO,KAAM,KAAM,MAExC1mE,KAAK8P,SACP,EACAoD,iBAAkB,YAChB,EAAIwoC,EAAMr2C,aAAa,mCACzB,EACA8N,eAAgB,YACd,EAAIuoC,EAAMr2C,aAAa,iCACzB,EACAwO,sBAAuB,SAA8Cq6D,EAAQC,GAO3E,GANAnuE,KAAK6P,OACL7P,KAAK2hE,mBAAmBtpD,KAAKrY,KAAK0hE,eAC9BrhD,MAAMyY,QAAQo1C,IAA6B,IAAlBA,EAAOx2D,QAClC1X,KAAK+P,UAAU+H,MAAM9X,KAAMkuE,GAE7BluE,KAAK0hE,cAAgB1hE,KAAKwhB,IAAI+6C,oBAC1Bl8C,MAAMyY,QAAQq1C,IAAyB,IAAhBA,EAAKz2D,OAAc,CAC5C,IAAI83C,EAAQ2e,EAAK,GAAKA,EAAK,GACvB1e,EAAS0e,EAAK,GAAKA,EAAK,GAC5BnuE,KAAKwhB,IAAIvF,KAAKkyD,EAAK,GAAIA,EAAK,GAAI3e,EAAOC,GACvCzvD,KAAKgR,OACLhR,KAAK+Q,SACP,CACF,EACA+C,oBAAqB,WACnB9T,KAAK8P,UACL9P,KAAK0hE,cAAgB1hE,KAAK2hE,mBAAmBpnB,KAC/C,EACAxmC,WAAY,SAAmCq6D,GAC7CpuE,KAAK6P,OACL,IAAIy4D,EAAatoE,KAAKwhB,IACjB4sD,EAAMC,WACT,EAAI3yB,EAAMh1C,MAAM,sCAEd0nE,EAAME,WACR,EAAI5yB,EAAMp2C,MAAM,kCAElB,IAAIijE,EAAmBD,EAAW/L,oBAIlC,GAHI6R,EAAMF,QACR5F,EAAWv4D,UAAU+H,MAAMwwD,EAAY8F,EAAMF,SAE1CE,EAAMD,KACT,MAAM,IAAIp4D,MAAM,6BAElB,IAAIw4D,EAAS7yB,EAAM92C,KAAKkW,2BAA2BszD,EAAMD,KAAM7F,EAAW/L,qBACtEiS,EAAe,CAAC,EAAG,EAAGlG,EAAWnW,OAAO3C,MAAO8Y,EAAWnW,OAAO1C,QACrE8e,EAAS7yB,EAAM92C,KAAKsX,UAAUqyD,EAAQC,IAAiB,CAAC,EAAG,EAAG,EAAG,GACjE,IAAI/Z,EAAUx8C,KAAKsO,MAAMgoD,EAAO,IAC5B5Z,EAAU18C,KAAKsO,MAAMgoD,EAAO,IAC5BrG,EAAajwD,KAAKmD,IAAInD,KAAKkB,KAAKo1D,EAAO,IAAM9Z,EAAS,GACtD0T,EAAclwD,KAAKmD,IAAInD,KAAKkB,KAAKo1D,EAAO,IAAM5Z,EAAS,GACvDoR,EAAS,EACTC,EAAS,EACTkC,EAAalM,IACf+J,EAASmC,EAAalM,EACtBkM,EAAalM,GAEXmM,EAAcnM,IAChBgK,EAASmC,EAAcnM,EACvBmM,EAAcnM,GAEhB,IAAIoM,EAAU,UAAYpoE,KAAK4hE,WAC3BwM,EAAMl5D,QACRkzD,GAAW,UAAYpoE,KAAK8hE,eAAiB,GAE/C,IAAIuG,EAAgBroE,KAAKgiE,eAAelE,UAAUsK,EAASF,EAAYC,GAAa,GAChFK,EAAWH,EAAcvnD,QAC7B0nD,EAAS9jB,MAAM,EAAIqhB,EAAQ,EAAIC,GAC/BwC,EAAS3L,WAAWpI,GAAUE,GAC9B6T,EAASz4D,UAAU+H,MAAM0wD,EAAUD,GAC/B6F,EAAMl5D,MACRlV,KAAK6hE,WAAWxpD,KAAK,CACnB85C,OAAQkW,EAAclW,OACtBrxC,QAAS0nD,EACT/T,QAASA,EACTE,QAASA,EACToR,OAAQA,EACRC,OAAQA,EACRT,QAAS6I,EAAMl5D,MAAMqwD,QACrBC,SAAU4I,EAAMl5D,MAAMswD,SACtBN,YAAakJ,EAAMl5D,MAAMgwD,aAAe,KACxCuD,sBAAuB,QAGzBH,EAAWtL,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACvCsL,EAAWzL,UAAUpI,EAASE,GAC9B2T,EAAW5jB,MAAMqhB,EAAQC,IAE3BvC,EAAa6E,EAAYE,GACzBxoE,KAAKwhB,IAAMgnD,EACXxoE,KAAK4P,UAAU,CAAC,CAAC,KAAM,eAAgB,CAAC,KAAM,GAAI,CAAC,KAAM,KACzD5P,KAAKwhE,WAAWnpD,KAAKiwD,GACrBtoE,KAAK4hE,aACL5hE,KAAKu7D,QAAQsF,YAAc,IAC7B,EACA7sD,SAAU,SAAiCo6D,GACzCpuE,KAAK4hE,aACL,IAAI4G,EAAWxoE,KAAKwhB,IACpBxhB,KAAKwhB,IAAMxhB,KAAKwhE,WAAWjnB,WACYnyC,IAAnCpI,KAAKwhB,IAAIitD,sBACXzuE,KAAKwhB,IAAIitD,uBAAwB,EAEjCzuE,KAAKwhB,IAAIktD,0BAA2B,EAElCN,EAAMl5D,MACRlV,KAAK+hE,UAAY/hE,KAAK6hE,WAAWtnB,MAEjCv6C,KAAKwhB,IAAIwuC,UAAUwY,EAASrW,OAAQ,EAAG,GAEzCnyD,KAAK8P,SACP,EACAmE,iBAAkB,WAChBjU,KAAK6P,OACD7P,KAAK0hE,eACP1hE,KAAKwhB,IAAIw7C,aAAallD,MAAM9X,KAAKwhB,IAAKxhB,KAAK0hE,cAE/C,EACAxtD,eAAgB,WACdlU,KAAK8P,SACP,EACAqE,gBAAiB,SAAwC8H,EAAMlM,EAAWm+D,GAIxE,GAHAluE,KAAK6P,OACLm0D,EAAkBhkE,KAAKwhB,KACvBxhB,KAAKu7D,QAAU,IAAIiE,EACfn/C,MAAMyY,QAAQ7c,IAAyB,IAAhBA,EAAKvE,OAAc,CAC5C,IAAI83C,EAAQvzC,EAAK,GAAKA,EAAK,GACvBwzC,EAASxzC,EAAK,GAAKA,EAAK,GAC5Bjc,KAAKwhB,IAAIvF,KAAKA,EAAK,GAAIA,EAAK,GAAIuzC,EAAOC,GACvCzvD,KAAKgR,OACLhR,KAAK+Q,SACP,CACA/Q,KAAK+P,UAAU+H,MAAM9X,KAAM+P,GAC3B/P,KAAK+P,UAAU+H,MAAM9X,KAAMkuE,EAC7B,EACA95D,cAAe,WACbpU,KAAK8P,SACP,EACAuE,iBAAkB,SAAyC08C,EAAO13B,EAAGwf,GACnE,IAAI81B,EAAW3uE,KAAKkkD,KAAKjjD,IAAI8vD,GAC7B,GAAK4d,EAAL,CAIA3uE,KAAK6P,OACL,IAAI2R,EAAMxhB,KAAKwhB,IAGf,GAFAA,EAAIkjC,MAAM,EAAIrrB,GAAI,EAAIwf,GACtBr3B,EAAIwuC,UAAU2e,EAAU,EAAG,EAAGA,EAASnf,MAAOmf,EAASlf,OAAQ,GAAI5W,EAAGxf,EAAGwf,GACrE74C,KAAK2yD,WAAY,CACnB,IAAI4V,EAAmB/mD,EAAIknD,2BACvBkG,EAAW5uE,KAAK6uE,kBAAkB,EAAG,GACzC7uE,KAAK2yD,WAAWmc,YAAY,CAC1B/d,MAAOA,EACPge,KAAMH,EAAS,GACfI,IAAKJ,EAAS,GACdpf,MAAOn2B,EAAIkvC,EAAiB,GAC5B9Y,OAAQ5W,EAAI0vB,EAAiB,IAEjC,CACAvoE,KAAK8P,SAhBL,MAFE,EAAI4rC,EAAMp2C,MAAM,kCAmBpB,EACAgP,sBAAuB,SAA8Cy6C,GACnE,IAAIvtC,EAAMxhB,KAAKwhB,IACXguC,EAAQT,EAAIS,MACZC,EAASV,EAAIU,OACb8Q,EAAYvgE,KAAKu7D,QAAQgF,UACzB8I,EAAgBrpE,KAAKu7D,QAAQkF,YAC7B6K,EAAQtrE,KAAKyhE,gBAYjB,GAXIvF,GAAwBoP,QAA4BljE,IAAnBkjE,EAAM2D,WAEvC3D,EAAM2D,SADJzf,GAAS2M,GAAuB1M,GAAU0M,EAC3B+B,EAAkB,CACjCllD,KAAM+1C,EAAI/1C,KACVw2C,MAAOA,EACPC,OAAQA,IAGO,MAGjB6b,GAASA,EAAM2D,SACjB3D,EAAM2D,SAASztD,OADjB,CAIA,IAAI0tD,EAAalvE,KAAKgiE,eAAelE,UAAU,aAActO,EAAOC,GAChE4V,EAAU6J,EAAWpuD,QACzBukD,EAAQx1D,OACR2zD,EAAmB6B,EAAStW,GAC5BsW,EAAQb,yBAA2B,YACnCa,EAAQnB,UAAYmF,EAAgB9I,EAAU6I,WAAW/D,EAASrlE,MAAQugE,EAC1E8E,EAAQqB,SAAS,EAAG,EAAGlX,EAAOC,GAC9B4V,EAAQv1D,UACR9P,KAAKyU,wBAAwBy6D,EAAW/c,OATxC,CAUF,EACAv9C,4BAA6B,SAAoDupD,EAAS4H,EAAQC,EAAQmJ,GACxG,IAAI3f,EAAQ2O,EAAQ3O,MAChBC,EAAS0O,EAAQ1O,OACjB8Q,EAAYvgE,KAAKu7D,QAAQgF,UACzB8I,EAAgBrpE,KAAKu7D,QAAQkF,YAC7ByO,EAAalvE,KAAKgiE,eAAelE,UAAU,aAActO,EAAOC,GAChE4V,EAAU6J,EAAWpuD,QACzBukD,EAAQx1D,OACR2zD,EAAmB6B,EAASlH,GAC5BkH,EAAQb,yBAA2B,YACnCa,EAAQnB,UAAYmF,EAAgB9I,EAAU6I,WAAW/D,EAASrlE,MAAQugE,EAC1E8E,EAAQqB,SAAS,EAAG,EAAGlX,EAAOC,GAC9B4V,EAAQv1D,UAER,IADA,IAAI0R,EAAMxhB,KAAKwhB,IACNnhB,EAAI,EAAGyY,EAAKq2D,EAAUz3D,OAAQrX,EAAIyY,EAAIzY,GAAK,EAClDmhB,EAAI3R,OACJ2R,EAAIzR,UAAUg2D,EAAQ,EAAG,EAAGC,EAAQmJ,EAAU9uE,GAAI8uE,EAAU9uE,EAAI,IAChEmhB,EAAIkjC,MAAM,GAAI,GACdljC,EAAIwuC,UAAUkf,EAAW/c,OAAQ,EAAG,EAAG3C,EAAOC,EAAQ,GAAI,EAAG,EAAG,GAChEjuC,EAAI1R,SAER,EACAyE,2BAA4B,SAAmD66D,GAI7E,IAHA,IAAI5tD,EAAMxhB,KAAKwhB,IACX++C,EAAYvgE,KAAKu7D,QAAQgF,UACzB8I,EAAgBrpE,KAAKu7D,QAAQkF,YACxBpgE,EAAI,EAAGyY,EAAKs2D,EAAO13D,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC/C,IAAIgvE,EAAQD,EAAO/uE,GACfmvD,EAAQ6f,EAAM7f,MACdC,EAAS4f,EAAM5f,OACfyf,EAAalvE,KAAKgiE,eAAelE,UAAU,aAActO,EAAOC,GAChE4V,EAAU6J,EAAWpuD,QACzBukD,EAAQx1D,OACR2zD,EAAmB6B,EAASgK,GAC5BhK,EAAQb,yBAA2B,YACnCa,EAAQnB,UAAYmF,EAAgB9I,EAAU6I,WAAW/D,EAASrlE,MAAQugE,EAC1E8E,EAAQqB,SAAS,EAAG,EAAGlX,EAAOC,GAC9B4V,EAAQv1D,UACR0R,EAAI3R,OACJ2R,EAAIzR,UAAU+H,MAAM0J,EAAK6tD,EAAMt/D,WAC/ByR,EAAIkjC,MAAM,GAAI,GACdljC,EAAIwuC,UAAUkf,EAAW/c,OAAQ,EAAG,EAAG3C,EAAOC,EAAQ,GAAI,EAAG,EAAG,GAChEjuC,EAAI1R,SACN,CACF,EACA0E,kBAAmB,SAA0Cu8C,GAC3D,IAAIoN,EAAUn+D,KAAKkkD,KAAKjjD,IAAI8vD,GACvBoN,EAILn+D,KAAKyU,wBAAwB0pD,IAH3B,EAAIziB,EAAMp2C,MAAM,kCAIpB,EACAqP,wBAAyB,SAAgDo8C,EAAOgV,EAAQC,EAAQmJ,GAC9F,IAAIhR,EAAUn+D,KAAKkkD,KAAKjjD,IAAI8vD,GAC5B,GAAKoN,EAAL,CAOA,IAHA,IAAI3O,EAAQ2O,EAAQ3O,MAChBC,EAAS0O,EAAQ1O,OACjB6f,EAAM,GACDjvE,EAAI,EAAGyY,EAAKq2D,EAAUz3D,OAAQrX,EAAIyY,EAAIzY,GAAK,EAClDivE,EAAIj3D,KAAK,CACPtI,UAAW,CAACg2D,EAAQ,EAAG,EAAGC,EAAQmJ,EAAU9uE,GAAI8uE,EAAU9uE,EAAI,IAC9D6Y,EAAG,EACHu8C,EAAG,EACHp8B,EAAGm2B,EACH3W,EAAG4W,IAGPzvD,KAAK0U,6BAA6BypD,EAASmR,EAb3C,MAFE,EAAI5zB,EAAMp2C,MAAM,kCAgBpB,EACAmP,wBAAyB,SAAgD0pD,GACvE,IAAI3O,EAAQ2O,EAAQ3O,MAChBC,EAAS0O,EAAQ1O,OACjBjuC,EAAMxhB,KAAKwhB,IACfxhB,KAAK6P,OACL2R,EAAIkjC,MAAM,EAAI8K,GAAQ,EAAIC,GAC1B,IAOI8f,EAAY1f,EAPZ0Y,EAAmB/mD,EAAIknD,2BACvBhtD,EAAI6sD,EAAiB,GACrBhuD,EAAIguD,EAAiB,GACrBiH,EAAav3D,KAAKmD,IAAInD,KAAK4D,KAAKH,EAAIA,EAAInB,EAAIA,GAAI,GAChD9Z,EAAI8nE,EAAiB,GACrB7nE,EAAI6nE,EAAiB,GACrBkH,EAAcx3D,KAAKmD,IAAInD,KAAK4D,KAAKpb,EAAIA,EAAIC,EAAIA,GAAI,GAErD,GAA2B,oBAAhBgvE,aAA8BvR,aAAmBuR,cAAgBvR,EAAQnlD,KAClFu2D,EAAapR,MACR,CACLtO,EAAY7vD,KAAKgiE,eAAelE,UAAU,cAAetO,EAAOC,GAChE,IAAIK,EAASD,EAAU/uC,QACvBohD,EAAmBpS,EAAQqO,GAC3BoR,EAAa1f,EAAUsC,MACzB,CACA,IAAIwd,EAAangB,EACbogB,EAAcngB,EACdogB,EAAc,YAClB,MAAOL,EAAa,GAAKG,EAAa,GAAKF,EAAc,GAAKG,EAAc,EAAG,CAC7E,IAAIE,EAAWH,EACXI,EAAYH,EACZJ,EAAa,GAAKG,EAAa,IACjCG,EAAW73D,KAAKkB,KAAKw2D,EAAa,GAClCH,GAAcG,EAAaG,GAEzBL,EAAc,GAAKG,EAAc,IACnCG,EAAY93D,KAAKkB,KAAKy2D,EAAc,GACpCH,GAAeG,EAAcG,GAE/BlgB,EAAY7vD,KAAKgiE,eAAelE,UAAU+R,EAAaC,EAAUC,GACjEjgB,EAASD,EAAU/uC,QACnBgvC,EAAO8Y,UAAU,EAAG,EAAGkH,EAAUC,GACjCjgB,EAAOE,UAAUuf,EAAY,EAAG,EAAGI,EAAYC,EAAa,EAAG,EAAGE,EAAUC,GAC5ER,EAAa1f,EAAUsC,OACvBwd,EAAaG,EACbF,EAAcG,EACdF,EAA8B,cAAhBA,EAA8B,YAAc,WAC5D,CAEA,GADAruD,EAAIwuC,UAAUuf,EAAY,EAAG,EAAGI,EAAYC,EAAa,GAAIngB,EAAQD,EAAOC,GACxEzvD,KAAK2yD,WAAY,CACnB,IAAIic,EAAW5uE,KAAK6uE,kBAAkB,GAAIpf,GAC1CzvD,KAAK2yD,WAAWmc,YAAY,CAC1B3Q,QAASA,EACT4Q,KAAMH,EAAS,GACfI,IAAKJ,EAAS,GACdpf,MAAOA,EAAQ+Y,EAAiB,GAChC9Y,OAAQA,EAAS8Y,EAAiB,IAEtC,CACAvoE,KAAK8P,SACP,EACA4E,6BAA8B,SAAqDypD,EAASmR,GAC1F,IAAI9tD,EAAMxhB,KAAKwhB,IACX6X,EAAI8kC,EAAQ3O,MACZ3W,EAAIslB,EAAQ1O,OACZI,EAAY7vD,KAAKgiE,eAAelE,UAAU,cAAezkC,EAAGwf,GAC5DiX,EAASD,EAAU/uC,QACvBohD,EAAmBpS,EAAQqO,GAC3B,IAAK,IAAI99D,EAAI,EAAGyY,EAAKw2D,EAAI53D,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC5C,IAAI25B,EAAQs1C,EAAIjvE,GAKhB,GAJAmhB,EAAI3R,OACJ2R,EAAIzR,UAAU+H,MAAM0J,EAAKwY,EAAMjqB,WAC/ByR,EAAIkjC,MAAM,GAAI,GACdljC,EAAIwuC,UAAUH,EAAUsC,OAAQn4B,EAAM9gB,EAAG8gB,EAAMy7B,EAAGz7B,EAAMX,EAAGW,EAAM6e,EAAG,GAAI,EAAG,EAAG,GAC1E74C,KAAK2yD,WAAY,CACnB,IAAIic,EAAW5uE,KAAK6uE,kBAAkB70C,EAAM9gB,EAAG8gB,EAAMy7B,GACrDz1D,KAAK2yD,WAAWmc,YAAY,CAC1B3Q,QAASA,EACT4Q,KAAMH,EAAS,GACfI,IAAKJ,EAAS,GACdpf,MAAOn2B,EACPo2B,OAAQ5W,GAEZ,CACAr3B,EAAI1R,SACN,CACF,EACA+E,yBAA0B,WACxB7U,KAAKwhB,IAAIklD,SAAS,EAAG,EAAG,EAAG,EAC7B,EACArzD,aAAc,YACZ,EAAIqoC,EAAMp2C,MAAM,sCAClB,EACAgO,UAAW,SAAkCyY,GAAM,EACnDxY,eAAgB,SAAuCwY,EAAK63C,GAAa,EACzEpwD,mBAAoB,SAA2CuY,GAAM,EACrEtY,wBAAyB,SAAgDsY,EAAK63C,GAAa,EAC3FlwD,iBAAkB,WAA4C,EAC9DC,YAAa,WAAuC,EACpDC,UAAW,WAAqC,EAChDu1D,YAAa,WACX,IAAI3nD,EAAMxhB,KAAKwhB,IACXxhB,KAAKqhE,cACHrhE,KAAKqhE,cAAgBkF,EACvB/kD,EAAIxQ,KAAK,WAETwQ,EAAIxQ,OAENhR,KAAKqhE,YAAc,MAErB7/C,EAAI89C,WACN,EACAyJ,oBAAqB,SAA6BrkB,GAChD,GAAwC,OAApC1kD,KAAKiiE,2BAAqC,CAC5C,IAAI+N,EAAUhwE,KAAKwhB,IAAIknD,2BACvB1oE,KAAKiiE,2BAA6BhqD,KAAK4D,KAAK5D,KAAKmD,IAAI40D,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,GAAIA,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,IACzJ,CACA,OAAOhwE,KAAKiiE,0BACd,EAEA4M,kBAAmB,SAA0C31D,EAAGu8C,GAC9D,IAAI1lD,EAAY/P,KAAKwhB,IAAI+6C,oBACzB,MAAO,CAACxsD,EAAU,GAAKmJ,EAAInJ,EAAU,GAAK0lD,EAAI1lD,EAAU,GAAIA,EAAU,GAAKmJ,EAAInJ,EAAU,GAAK0lD,EAAI1lD,EAAU,GAC9G,GAEa2rC,EAAMr3C,IACnBquD,EAAe1wD,UAAU05C,EAAMr3C,IAAImiE,IAAO9T,EAAe1wD,UAAUwkE,GAErE,OAAO9T,CACT,CA95CqB,GA+5CrB3yD,EAAQ2yD,eAAiBA,CAElB,EAED,SAAU5yD,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQwtE,cAAgBxtE,EAAQytE,6BAA0BplE,EAE1D,IAAIszC,EAAQv7C,EAAoB,GAE5B8vE,EAAa,CACjBA,YAAyB,CACvBC,OAAQ,SAA4BC,GAClC,IAAIjyD,EAAOiyD,EAAI,GACXC,EAAaD,EAAI,GACjB/Q,EAAK+Q,EAAI,GACTp1D,EAAKo1D,EAAI,GACTzL,EAAKyL,EAAI,GACTE,EAAKF,EAAI,GACb,MAAO,CACLjyD,KAAM,UACNkrD,WAAY,SAAgC5nD,GAC1C,IAAI8uD,EACS,UAATpyD,EACFoyD,EAAO9uD,EAAI+uD,qBAAqBnR,EAAG,GAAIA,EAAG,GAAIrkD,EAAG,GAAIA,EAAG,IACtC,WAATmD,IACToyD,EAAO9uD,EAAIgvD,qBAAqBpR,EAAG,GAAIA,EAAG,GAAIsF,EAAI3pD,EAAG,GAAIA,EAAG,GAAIs1D,IAElE,IAAK,IAAIhwE,EAAI,EAAGyY,EAAKs3D,EAAW14D,OAAQrX,EAAIyY,IAAMzY,EAAG,CACnD,IAAII,EAAI2vE,EAAW/vE,GACnBiwE,EAAKG,aAAahwE,EAAE,GAAIA,EAAE,GAC5B,CACA,OAAO6vE,CACT,EAEJ,IAEEI,EAAmB,WACrB,SAASC,EAAa33D,EAAM8H,EAAS/F,EAAIC,EAAIE,EAAI01D,EAAIC,EAAIC,GACvD,IAIIl5C,EAJAunC,EAASr+C,EAAQq+C,OACjB4R,EAASjwD,EAAQiwD,OACjBt5D,EAAQuB,EAAKA,KACbg4D,EAAuB,EAAbh4D,EAAKw2C,MAEf2P,EAAOpkD,EAAK,GAAKokD,EAAOnkD,EAAK,KAC/B4c,EAAM7c,EACNA,EAAKC,EACLA,EAAK4c,EACLA,EAAMg5C,EACNA,EAAKC,EACLA,EAAKj5C,GAEHunC,EAAOnkD,EAAK,GAAKmkD,EAAOjkD,EAAK,KAC/B0c,EAAM5c,EACNA,EAAKE,EACLA,EAAK0c,EACLA,EAAMi5C,EACNA,EAAKC,EACLA,EAAKl5C,GAEHunC,EAAOpkD,EAAK,GAAKokD,EAAOnkD,EAAK,KAC/B4c,EAAM7c,EACNA,EAAKC,EACLA,EAAK4c,EACLA,EAAMg5C,EACNA,EAAKC,EACLA,EAAKj5C,GAEP,IAAIo2C,GAAM7O,EAAOpkD,GAAM+F,EAAQ2zC,SAAW3zC,EAAQilD,OAC9CkI,GAAM9O,EAAOpkD,EAAK,GAAK+F,EAAQ6zC,SAAW7zC,EAAQklD,OAClDiL,GAAM9R,EAAOnkD,GAAM8F,EAAQ2zC,SAAW3zC,EAAQilD,OAC9CmL,GAAM/R,EAAOnkD,EAAK,GAAK8F,EAAQ6zC,SAAW7zC,EAAQklD,OAClDmL,GAAMhS,EAAOjkD,GAAM4F,EAAQ2zC,SAAW3zC,EAAQilD,OAC9CqL,GAAMjS,EAAOjkD,EAAK,GAAK4F,EAAQ6zC,SAAW7zC,EAAQklD,OACtD,KAAIiI,GAAMmD,GAiBV,IAdA,IAWIC,EAAIC,EAAKC,EAAKC,EACdC,EAAIC,EAAKC,EAAKC,EACd1qD,EAbA2qD,EAAMd,EAAOH,GACbkB,EAAMf,EAAOH,EAAK,GAClBmB,EAAMhB,EAAOH,EAAK,GAClBoB,EAAMjB,EAAOF,GACboB,EAAMlB,EAAOF,EAAK,GAClBqB,EAAMnB,EAAOF,EAAK,GAClBsB,EAAMpB,EAAOD,GACbsB,EAAMrB,EAAOD,EAAK,GAClBuB,EAAMtB,EAAOD,EAAK,GAClBwB,EAAOr6D,KAAKs6D,MAAMtE,GAClBuE,EAAOv6D,KAAKs6D,MAAMnB,GAIb3b,EAAI6c,EAAM7c,GAAK+c,EAAM/c,IAAK,CAC7BA,EAAIyb,GACNhqD,EAAIuuC,EAAIwY,EAAK,EAAIA,IAAOiD,EAAK,GAAKjD,EAAKxY,IAAMwY,EAAKiD,GAClDG,EAAKrD,GAAMA,EAAKiD,GAAM/pD,EACtBoqD,EAAMO,GAAOA,EAAMG,GAAO9qD,EAC1BqqD,EAAMO,GAAOA,EAAMG,GAAO/qD,EAC1BsqD,EAAMO,GAAOA,EAAMG,GAAOhrD,IAE1BA,EAAIuuC,EAAI2b,EAAK,EAAIF,IAAOE,EAAK,GAAKF,EAAKzb,IAAMyb,EAAKE,GAClDC,EAAKJ,GAAMA,EAAKE,GAAMjqD,EACtBoqD,EAAMU,GAAOA,EAAMG,GAAOjrD,EAC1BqqD,EAAMU,GAAOA,EAAMG,GAAOlrD,EAC1BsqD,EAAMU,GAAOA,EAAMG,GAAOnrD,GAE5BA,EAAIuuC,EAAIwY,EAAK,EAAIxY,EAAI2b,EAAK,GAAKnD,EAAKxY,IAAMwY,EAAKmD,GAC/CK,EAAKzD,GAAMA,EAAKmD,GAAMjqD,EACtBwqD,EAAMG,GAAOA,EAAMM,GAAOjrD,EAC1ByqD,EAAMG,GAAOA,EAAMM,GAAOlrD,EAC1B0qD,EAAMG,GAAOA,EAAMM,GAAOnrD,EAI1B,IAHA,IAAIurD,EAAMx6D,KAAKs6D,MAAMt6D,KAAKC,IAAIm5D,EAAII,IAC9BiB,EAAMz6D,KAAKs6D,MAAMt6D,KAAKmD,IAAIi2D,EAAII,IAC9BjqD,EAAIwpD,EAAUvb,EAAU,EAANgd,EACbv5D,EAAIu5D,EAAKv5D,GAAKw5D,EAAKx5D,IAC1BgO,GAAKmqD,EAAKn4D,IAAMm4D,EAAKI,GACrBvqD,EAAIA,EAAI,EAAI,EAAIA,EAAI,EAAI,EAAIA,EAC5BzP,EAAM+P,KAAO8pD,GAAOA,EAAMI,GAAOxqD,EAAI,EACrCzP,EAAM+P,KAAO+pD,GAAOA,EAAMI,GAAOzqD,EAAI,EACrCzP,EAAM+P,KAAOgqD,GAAOA,EAAMI,GAAO1qD,EAAI,EACrCzP,EAAM+P,KAAO,GAEjB,CACF,CACA,SAASmrD,EAAW35D,EAAM45D,EAAQ9xD,GAChC,IAEIzgB,EAAGyY,EAFH+5D,EAAKD,EAAOzT,OACZ2T,EAAKF,EAAO7B,OAEhB,OAAQ6B,EAAO10D,MACb,IAAK,UACH,IAAI60D,EAAiBH,EAAOG,eACxBC,EAAO/6D,KAAKsO,MAAMssD,EAAGn7D,OAASq7D,GAAkB,EAChDE,EAAOF,EAAiB,EAC5B,IAAK1yE,EAAI,EAAGA,EAAI2yE,EAAM3yE,IAEpB,IADA,IAAI6yE,EAAI7yE,EAAI0yE,EACHvrD,EAAI,EAAGA,EAAIyrD,EAAMzrD,IAAK0rD,IAC7BvC,EAAa33D,EAAM8H,EAAS+xD,EAAGK,GAAIL,EAAGK,EAAI,GAAIL,EAAGK,EAAIH,GAAiBD,EAAGI,GAAIJ,EAAGI,EAAI,GAAIJ,EAAGI,EAAIH,IAC/FpC,EAAa33D,EAAM8H,EAAS+xD,EAAGK,EAAIH,EAAiB,GAAIF,EAAGK,EAAI,GAAIL,EAAGK,EAAIH,GAAiBD,EAAGI,EAAIH,EAAiB,GAAID,EAAGI,EAAI,GAAIJ,EAAGI,EAAIH,IAG7I,MACF,IAAK,YACH,IAAK1yE,EAAI,EAAGyY,EAAK+5D,EAAGn7D,OAAQrX,EAAIyY,EAAIzY,GAAK,EACvCswE,EAAa33D,EAAM8H,EAAS+xD,EAAGxyE,GAAIwyE,EAAGxyE,EAAI,GAAIwyE,EAAGxyE,EAAI,GAAIyyE,EAAGzyE,GAAIyyE,EAAGzyE,EAAI,GAAIyyE,EAAGzyE,EAAI,IAEpF,MACF,QACE,MAAM,IAAI0V,MAAM,kBAEtB,CACA,SAAS26D,EAAiBnC,EAAQ4E,EAAehU,EAAQ4R,EAAQqC,EAASC,EAAiBrR,EAAgBtc,GACzG,IAqBIyM,EAAQtC,EAAWxvD,EAAGyY,EArBtBw6D,EAAiB,IACjBC,EAAmB,IACnBC,EAAc,EACd/e,EAAUx8C,KAAKsO,MAAMgoD,EAAO,IAC5B5Z,EAAU18C,KAAKsO,MAAMgoD,EAAO,IAC5BkF,EAAcx7D,KAAKkB,KAAKo1D,EAAO,IAAM9Z,EACrCif,EAAez7D,KAAKkB,KAAKo1D,EAAO,IAAM5Z,EACtCnF,EAAQv3C,KAAKC,IAAID,KAAKkB,KAAKlB,KAAKo9C,IAAIoe,EAAcN,EAAc,GAAKG,IAAkBC,GACvF9jB,EAASx3C,KAAKC,IAAID,KAAKkB,KAAKlB,KAAKo9C,IAAIqe,EAAeP,EAAc,GAAKG,IAAkBC,GACzFxN,EAAS0N,EAAcjkB,EACvBwW,EAAS0N,EAAejkB,EACxB3uC,EAAU,CACZq+C,OAAQA,EACR4R,OAAQA,EACRtc,SAAUA,EACVE,SAAUA,EACVoR,OAAQ,EAAIA,EACZC,OAAQ,EAAIA,GAEV2N,EAAcnkB,EAAsB,EAAdgkB,EACtBI,EAAenkB,EAAuB,EAAd+jB,EAE5B,GAAI9tB,EAAaugB,UACf9T,EAASzM,EAAamuB,YAAY,CAChCrkB,MAAOA,EACPC,OAAQA,EACR4jB,gBAAiBA,EACjBD,QAASA,EACTtyD,QAASA,IAEX+uC,EAAYmS,EAAelE,UAAU,OAAQ6V,EAAaC,GAAc,GACxE/jB,EAAU/uC,QAAQkvC,UAAUmC,EAAQqhB,EAAaA,GACjDrhB,EAAStC,EAAUsC,WACd,CACLtC,EAAYmS,EAAelE,UAAU,OAAQ6V,EAAaC,GAAc,GACxE,IAAI9jB,EAASD,EAAU/uC,QACnB9H,EAAO82C,EAAO8S,gBAAgBpT,EAAOC,GACzC,GAAI4jB,EAAiB,CACnB,IAAI57D,EAAQuB,EAAKA,KACjB,IAAK3Y,EAAI,EAAGyY,EAAKrB,EAAMC,OAAQrX,EAAIyY,EAAIzY,GAAK,EAC1CoX,EAAMpX,GAAKgzE,EAAgB,GAC3B57D,EAAMpX,EAAI,GAAKgzE,EAAgB,GAC/B57D,EAAMpX,EAAI,GAAKgzE,EAAgB,GAC/B57D,EAAMpX,EAAI,GAAK,GAEnB,CACA,IAAKA,EAAI,EAAGA,EAAI+yE,EAAQ17D,OAAQrX,IAC9BsyE,EAAW35D,EAAMo6D,EAAQ/yE,GAAIygB,GAE/BgvC,EAAOsS,aAAappD,EAAMw6D,EAAaA,GACvCrhB,EAAStC,EAAUsC,MACrB,CACA,MAAO,CACLA,OAAQA,EACRsC,QAASA,EAAU+e,EAAczN,EACjCpR,QAASA,EAAU6e,EAAcxN,EACjCD,OAAQA,EACRC,OAAQA,EAEZ,CACA,OAAO0K,CACT,CA9KuB,GA4NvB,SAASlD,EAAwB2C,GAC/B,IAAI2D,EAAY7D,EAAWE,EAAI,IAC/B,IAAK2D,EACH,MAAM,IAAI/9D,MAAM,oBAAsBo6D,EAAI,IAE5C,OAAO2D,EAAU5D,OAAOC,EAC1B,CAnDAF,EAAW8D,KAAO,CAChB7D,OAAQ,SAAqBC,GAC3B,IAAIhR,EAASgR,EAAI,GACbY,EAASZ,EAAI,GACbiD,EAAUjD,EAAI,GACd5B,EAAS4B,EAAI,GACbjC,EAASiC,EAAI,GACbrd,EAAaqd,EAAI,GACrB,MAAO,CACLjyD,KAAM,UACNkrD,WAAY,SAAyB5nD,EAAKwyD,EAAO/gE,GAC/C,IAAIyxC,EACJ,GAAIzxC,EACFyxC,EAAQhJ,EAAM92C,KAAK4W,8BAA8BgG,EAAI+6C,0BAGrD,GADA7X,EAAQhJ,EAAM92C,KAAK4W,8BAA8Bw4D,EAAMtS,eACnDwM,EAAQ,CACV,IAAI+F,EAAcv4B,EAAM92C,KAAK4W,8BAA8B0yD,GAC3DxpB,EAAQ,CAACA,EAAM,GAAKuvB,EAAY,GAAIvvB,EAAM,GAAKuvB,EAAY,GAC7D,CAEF,IAAIC,EAAyBxD,EAAiBnC,EAAQ7pB,EAAOya,EAAQ4R,EAAQqC,EAASngE,EAAc,KAAO6/C,EAAYkhB,EAAMhS,eAAgBgS,EAAMtuB,cASnJ,OARKzyC,IACHuO,EAAIw7C,aAAallD,MAAM0J,EAAKwyD,EAAMtS,eAC9BwM,GACF1sD,EAAIzR,UAAU+H,MAAM0J,EAAK0sD,IAG7B1sD,EAAIq7C,UAAUqX,EAAuBzf,QAASyf,EAAuBvf,SACrEnzC,EAAIkjC,MAAMwvB,EAAuBnO,OAAQmO,EAAuBlO,QACzDxkD,EAAI2yD,cAAcD,EAAuB/hB,OAAQ,YAC1D,EAEJ,GAEF8d,EAAWmE,MAAQ,CACjBlE,OAAQ,WACN,MAAO,CACLhyD,KAAM,UACNkrD,WAAY,WACV,MAAO,SACT,EAEJ,GASF,IAAImE,EAAgB,WAClB,IAAI8G,EAAY,CACdC,QAAS,EACTC,UAAW,GAEThB,EAAmB,IACvB,SAAShG,EAAcJ,EAAIC,EAAO5rD,EAAK6rD,EAAuB3L,GAC5D1hE,KAAKimD,aAAeknB,EAAG,GACvBntE,KAAKkuE,OAASf,EAAG,IAAM,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GACvCntE,KAAKmuE,KAAOhB,EAAG,GACfntE,KAAKw0E,MAAQrH,EAAG,GAChBntE,KAAKy0E,MAAQtH,EAAG,GAChBntE,KAAK00E,UAAYvH,EAAG,GACpBntE,KAAK20E,WAAaxH,EAAG,GACrBntE,KAAKotE,MAAQA,EACbptE,KAAKqtE,sBAAwBA,EAC7BrtE,KAAK0hE,cAAgBA,EACrB1hE,KAAKke,KAAO,UACZle,KAAKwhB,IAAMA,CACb,CA0FA,OAzFA+rD,EAAcvrE,UAAY,CACxB4yE,oBAAqB,SAA0CZ,GAC7D,IAAI/tB,EAAejmD,KAAKimD,aACpBkoB,EAAOnuE,KAAKmuE,KACZqG,EAAQx0E,KAAKw0E,MACbC,EAAQz0E,KAAKy0E,MACbC,EAAY10E,KAAK00E,UACjBC,EAAa30E,KAAK20E,WAClBvH,EAAQptE,KAAKotE,MACbC,EAAwBrtE,KAAKqtE,uBACjC,EAAI3xB,EAAMh1C,MAAM,eAAiBiuE,GACjC,IAAI7G,EAAKK,EAAK,GACVJ,EAAKI,EAAK,GACVH,EAAKG,EAAK,GACVF,EAAKE,EAAK,GACV0G,EAAU,CAAC/G,EAAIC,GACf+G,EAAW,CAAChH,EAAK0G,EAAOzG,EAAK0G,GAC7BjlB,EAAQslB,EAAS,GAAKD,EAAQ,GAC9BplB,EAASqlB,EAAS,GAAKD,EAAQ,GAC/BZ,EAAcv4B,EAAM92C,KAAK4W,8BAA8Bxb,KAAKkuE,QAC5D6G,EAAiBr5B,EAAM92C,KAAK4W,8BAA8Bxb,KAAK0hE,eAC/DsT,EAAgB,CAACf,EAAY,GAAKc,EAAe,GAAId,EAAY,GAAKc,EAAe,IACzFvlB,EAAQv3C,KAAKC,IAAID,KAAKkB,KAAKlB,KAAKo9C,IAAI7F,EAAQwlB,EAAc,KAAMzB,GAChE9jB,EAASx3C,KAAKC,IAAID,KAAKkB,KAAKlB,KAAKo9C,IAAI5F,EAASulB,EAAc,KAAMzB,GAClE,IAAI1jB,EAAYmkB,EAAMhS,eAAelE,UAAU,UAAWtO,EAAOC,GAAQ,GACrEK,EAASD,EAAU/uC,QACnBm0D,EAAW5H,EAAsBC,qBAAqBxd,GAC1DmlB,EAASrT,WAAaoS,EAAMpS,WAC5B5hE,KAAKk1E,+BAA+BD,EAAUP,EAAWtH,GACzDptE,KAAKm1E,SAAS3lB,EAAOC,EAAQ+kB,EAAOC,GACpCz0E,KAAKo1E,iBAAiBH,GACtB,IAAII,EAAe,CAAC,EAAG,EAAG,EAAG,GAAIR,EAAQ,IAAKA,EAAQ,IAItD,OAHAI,EAASllE,UAAU+H,MAAMm9D,EAAUI,GACnCr1E,KAAKs1E,SAASL,EAAU9G,EAAML,EAAIC,EAAIC,EAAIC,GAC1CgH,EAAS9hB,oBAAoBlN,GACtB4J,EAAUsC,MACnB,EACAgjB,SAAU,SAAgC3lB,EAAOC,EAAQ+kB,EAAOC,GAC9Dz0E,KAAK0kD,MAAQ,CAAC8K,EAAQglB,EAAO/kB,EAASglB,EACxC,EACAW,iBAAkB,SAAwCH,GACxD,IAAIvwB,EAAQ1kD,KAAK0kD,MACb6wB,EAAW,CAAC7wB,EAAM,GAAI,EAAG,EAAGA,EAAM,GAAI,EAAG,GAC7CuwB,EAASllE,UAAU+H,MAAMm9D,EAAUM,EACrC,EACAC,eAAgB,WACd,IAAI9wB,EAAQ1kD,KAAK0kD,MACjB1kD,KAAKwhB,IAAIkjC,MAAM,EAAIA,EAAM,GAAI,EAAIA,EAAM,GACzC,EACA4wB,SAAU,SAAkBL,EAAU9G,EAAML,EAAIC,EAAIC,EAAIC,GACtD,GAAI5tD,MAAMyY,QAAQq1C,IAAyB,IAAhBA,EAAKz2D,OAAc,CAC5C,IAAI+9D,EAAYzH,EAAKF,EACjB4H,EAAazH,EAAKF,EACtBkH,EAASzzD,IAAIvF,KAAK6xD,EAAIC,EAAI0H,EAAWC,GACrCT,EAASjkE,OACTikE,EAASlkE,SACX,CACF,EACAmkE,+BAAgC,SAAwCD,EAAUP,EAAWtH,GAC3F,IAAItsD,EAAUm0D,EAASzzD,IACnB+5C,EAAU0Z,EAAS1Z,QACvB,OAAQmZ,GACN,KAAKL,EAAUC,QACb,IAAI9yD,EAAMxhB,KAAKwhB,IACfV,EAAQojD,UAAY1iD,EAAI0iD,UACxBpjD,EAAQmjD,YAAcziD,EAAIyiD,YAC1B1I,EAAQgF,UAAY/+C,EAAI0iD,UACxB3I,EAAQiF,YAAch/C,EAAIyiD,YAC1B,MACF,KAAKoQ,EAAUE,UACb,IAAIoB,EAAWj6B,EAAM92C,KAAKyV,WAAW+yD,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAC/DtsD,EAAQojD,UAAYyR,EACpB70D,EAAQmjD,YAAc0R,EACtBpa,EAAQgF,UAAYoV,EACpBpa,EAAQiF,YAAcmV,EACtB,MACF,QACE,MAAM,IAAIj6B,EAAMv0C,YAAY,2BAA6ButE,GAE/D,EACAtL,WAAY,SAAkC5nD,EAAKwyD,GACjD,IAAIE,EAAyBl0E,KAAK40E,oBAAoBZ,GAKtD,OAJAxyD,EAAMxhB,KAAKwhB,IACXA,EAAIw7C,aAAallD,MAAM0J,EAAKxhB,KAAK0hE,eACjClgD,EAAIzR,UAAU+H,MAAM0J,EAAKxhB,KAAKkuE,QAC9BluE,KAAKw1E,iBACEh0D,EAAI2yD,cAAcD,EAAwB,SACnD,GAEK3G,CACT,CA9GoB,GA+GpBxtE,EAAQytE,wBAA0BA,EAClCztE,EAAQwtE,cAAgBA,CAEjB,EAED,SAAUztE,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAET,IAAI8D,EAAsBrE,OAAOY,OAAO,MACxCyD,EAAoB25C,gBAAgD12C,IAAnCjD,EAAoB25C,WAA2B,KAAO35C,EAAoB25C,WAC3G35C,EAAoBqkD,eAA8CphD,IAAlCjD,EAAoBqkD,UAA0B,GAAKrkD,EAAoBqkD,UACvGzpD,EAAQoF,oBAAsBA,CAEvB,EAED,SAAUrF,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ4/C,oBAAiBv3C,EAEzB,IAAIwtE,EAAez1E,EAAoB,KAEnC01E,EAAgB55B,EAAuB25B,GAEvCvtE,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,EAEvQutE,EAAc,WAChB,IAAIn8D,EAAOo8D,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASC,EAAQvyD,EAAIoR,GACzF,IAAIohD,EAAUr5D,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,KAClF,OAAOg5D,EAAct5B,QAAQnf,MAAK,SAAkB+4C,GAClD,MAAO,EACL,OAAQA,EAAS7Y,KAAO6Y,EAASxsD,MAC/B,KAAK,EACH,GAAIjG,EAAI,CACNyyD,EAASxsD,KAAO,EAChB,KACF,CAEA,OAAOwsD,EAASC,OAAO,UAEzB,KAAK,EACH,OAAOD,EAASC,OAAO,SAAU1yD,EAAG5L,MAAMo+D,EAASphD,IAErD,KAAK,EACL,IAAK,MACH,OAAOqhD,EAASE,OAGxB,GAAGJ,EAASj2E,KACd,KAEA,OAAO,SAAqBs2E,EAAKC,GAC/B,OAAO58D,EAAK7B,MAAM9X,KAAM6c,UAC1B,CACF,CA5BkB,GA8Bd6+B,EAAQv7C,EAAoB,GAEhC,SAAS87C,EAAuB1zC,GAAO,OAAOA,GAAOA,EAAI/G,WAAa+G,EAAM,CAAEg0C,QAASh0C,EAAO,CAE9F,SAASwtE,EAAkBryD,GAAM,OAAO,WAAc,IAAI8yD,EAAM9yD,EAAG5L,MAAM9X,KAAM6c,WAAY,OAAO,IAAIa,SAAQ,SAAUC,EAASC,GAAU,SAAS6Q,EAAK9sB,EAAKo3B,GAAO,IAAM,IAAIryB,EAAO8vE,EAAI70E,GAAKo3B,GAAU13B,EAAQqF,EAAKrF,KAAgD,CAAvC,MAAOwwB,GAAwB,YAAfjU,EAAOiU,EAAgB,CAAE,IAAInrB,EAAKmiB,KAAiC,OAAOnL,QAAQC,QAAQtc,GAAO8uB,MAAK,SAAU9uB,GAASotB,EAAK,OAAQptB,EAAQ,IAAG,SAAUixB,GAAO7D,EAAK,QAAS6D,EAAM,IAA5I3U,EAAQtc,EAA0I,CAAE,OAAOotB,EAAK,OAAS,GAAI,CAAG,CAEzc,SAASgoD,EAAW7kD,GAClB,GAAwE,YAAjD,qBAAXA,EAAyB,YAAcvpB,EAAQupB,IACzD,OAAOA,EAET,OAAQA,EAAOjxB,MACb,IAAK,iBACH,OAAO,IAAI+6C,EAAM/zC,eAAeiqB,EAAO1a,SACzC,IAAK,sBACH,OAAO,IAAIwkC,EAAM33C,oBAAoB6tB,EAAO1a,SAC9C,IAAK,8BACH,OAAO,IAAIwkC,EAAMt3C,4BAA4BwtB,EAAO1a,QAAS0a,EAAOza,QACtE,QACE,OAAO,IAAIukC,EAAMp0C,sBAAsBsqB,EAAO1a,QAAS0a,EAAO9b,SAEpE,CACA,SAAS4gE,EAAuB9kD,GAC9B,QAAMA,aAAkB7b,QAAU6b,aAAkB8pB,EAAM/zC,gBAAkBiqB,aAAkB8pB,EAAM33C,qBAAuB6tB,aAAkB8pB,EAAMt3C,6BAA+BwtB,aAAkB8pB,EAAMp0C,sBACjMsqB,EAEF,IAAI8pB,EAAMp0C,sBAAsBsqB,EAAO1a,QAAS0a,EAAOzS,WAChE,CACA,SAASw3D,EAAgBn5D,EAAYo5D,EAAShlD,GACxCglD,EACFp5D,EAAWG,UAEXH,EAAWI,OAAOgU,EAEtB,CACA,SAAS6Z,EAAShuB,GAChB,OAAOC,QAAQC,QAAQF,GAASsnB,OAAM,WAAa,GACrD,CACA,SAAS4a,EAAek3B,EAAYC,EAAYC,GAC9C,IAAInvC,EAAQ5nC,KAEZA,KAAK62E,WAAaA,EAClB72E,KAAK82E,WAAaA,EAClB92E,KAAK+2E,OAASA,EACd/2E,KAAKg3E,WAAa,EAClBh3E,KAAKi3E,SAAW,EAChBj3E,KAAK6+C,sBAAuB,EAC5B7+C,KAAKk3E,YAAcp2E,OAAOY,OAAO,MACjC1B,KAAKm3E,kBAAoBr2E,OAAOY,OAAO,MACvC,IAAI01E,EAAwBp3E,KAAKo3E,sBAAwBt2E,OAAOY,OAAO,MACnE21E,EAAKr3E,KAAKs3E,cAAgBx2E,OAAOY,OAAO,MAC5C1B,KAAKu3E,mBAAqB,SAAU1iD,GAClC,IAAI7b,EAAO6b,EAAM7b,KACjB,GAAIA,EAAK89D,aAAelvC,EAAMivC,WAG9B,GAAI79D,EAAK8pB,OACP8E,EAAM4vC,sBAAsBx+D,QACvB,GAAIA,EAAKy+D,QAAS,CACvB,IAAIT,EAAah+D,EAAKg+D,WACtB,KAAIh+D,EAAKg+D,cAAcI,GASrB,MAAM,IAAIrhE,MAAM,2BAA6BihE,GAR7C,IAAI/lB,EAAWmmB,EAAsBJ,UAC9BI,EAAsBJ,GACzB,UAAWh+D,EACbi4C,EAASrzC,OAAO64D,EAAWz9D,EAAK6Y,QAEhCo/B,EAAStzC,QAAQ3E,EAAKA,KAK5B,KAAO,MAAIA,EAAKqyB,UAAUgsC,GA8BxB,MAAM,IAAIthE,MAAM,+BAAiCiD,EAAKqyB,QA7BtD,IAAIA,EAASgsC,EAAGr+D,EAAKqyB,QACrB,GAAIryB,EAAKg+D,WAAY,CACnB,IAAIU,EAAc9vC,EAAMivC,WACpBc,EAAc3+D,EAAK69D,WACvBn5D,QAAQC,UAAUwS,MAAK,WACrB,OAAOkb,EAAO,GAAG9qC,KAAK8qC,EAAO,GAAIryB,EAAKA,KACxC,IAAGmX,MAAK,SAAU1T,GAChBs6D,EAAO3hD,YAAY,CACjByhD,WAAYa,EACZZ,WAAYa,EACZF,SAAS,EACTT,WAAYh+D,EAAKg+D,WACjBh+D,KAAMyD,GAEV,IAAG,SAAUmV,GACXmlD,EAAO3hD,YAAY,CACjByhD,WAAYa,EACZZ,WAAYa,EACZF,SAAS,EACTT,WAAYh+D,EAAKg+D,WACjBnlD,MAAO6kD,EAAuB9kD,IAElC,GACF,MAAW5Y,EAAKi+D,SACdrvC,EAAMgwC,kBAAkB5+D,GAExBqyB,EAAO,GAAG9qC,KAAK8qC,EAAO,GAAIryB,EAAKA,KAInC,CACF,EACA+9D,EAAO1hD,iBAAiB,UAAWr1B,KAAKu3E,mBAC1C,CACA53B,EAAe39C,UAAY,CACzByoD,GAAI,SAAYotB,EAAY7mD,EAAS8mD,GACnC,IAAIT,EAAKr3E,KAAKs3E,cACd,GAAID,EAAGQ,GACL,MAAM,IAAI9hE,MAAM,0CAA4C8hE,EAAa,KAE3ER,EAAGQ,GAAc,CAAC7mD,EAAS8mD,EAC7B,EACA/3B,KAAM,SAAc83B,EAAY7+D,EAAMgwC,GACpC,IAAI9xC,EAAU,CACZ2/D,WAAY72E,KAAK62E,WACjBC,WAAY92E,KAAK82E,WACjBzrC,OAAQwsC,EACR7+D,KAAMA,GAERhZ,KAAKo1B,YAAYle,EAAS8xC,EAC5B,EACA9I,gBAAiB,SAAyB23B,EAAY7+D,EAAMgwC,GAC1D,IAAIguB,EAAah3E,KAAKg3E,aAClB9/D,EAAU,CACZ2/D,WAAY72E,KAAK62E,WACjBC,WAAY92E,KAAK82E,WACjBzrC,OAAQwsC,EACR7+D,KAAMA,EACNg+D,WAAYA,GAEVx5D,GAAa,EAAIk+B,EAAM93C,2BAC3B5D,KAAKo3E,sBAAsBJ,GAAcx5D,EACzC,IACExd,KAAKo1B,YAAYle,EAAS8xC,EAG5B,CAFE,MAAO3yC,GACPmH,EAAWI,OAAOvH,EACpB,CACA,OAAOmH,EAAWC,OACpB,EACA6pC,eAAgB,SAAwBuwB,EAAY7+D,EAAM++D,EAAkB/uB,GAC1E,IAAIzH,EAASvhD,KAETi3E,EAAWj3E,KAAKi3E,WAChBJ,EAAa72E,KAAK62E,WAClBC,EAAa92E,KAAK82E,WACtB,OAAO,IAAIp7B,EAAMz4C,eAAe,CAC9BmW,MAAO,SAAe2lB,GACpB,IAAIi5C,GAAkB,EAAIt8B,EAAM93C,2BAchC,OAbA29C,EAAO41B,kBAAkBF,GAAY,CACnCl4C,WAAYA,EACZk5C,UAAWD,EACXE,UAAU,GAEZ32B,EAAOnsB,YAAY,CACjByhD,WAAYA,EACZC,WAAYA,EACZzrC,OAAQwsC,EACRZ,SAAUA,EACVj+D,KAAMA,EACNwvB,YAAazJ,EAAWyJ,cAEnBwvC,EAAgBv6D,OACzB,EACAgvB,KAAM,SAAc1N,GAClB,IAAIo5C,GAAiB,EAAIz8B,EAAM93C,2BAS/B,OARA29C,EAAO41B,kBAAkBF,GAAUmB,SAAWD,EAC9C52B,EAAOnsB,YAAY,CACjByhD,WAAYA,EACZC,WAAYA,EACZh0C,OAAQ,OACRm0C,SAAUA,EACVzuC,YAAazJ,EAAWyJ,cAEnB2vC,EAAe16D,OACxB,EACA6qC,OAAQ,SAAgB12B,GACtB,IAAIymD,GAAmB,EAAI38B,EAAM93C,2BAUjC,OATA29C,EAAO41B,kBAAkBF,GAAUqB,WAAaD,EAChD92B,EAAO41B,kBAAkBF,GAAUiB,UAAW,EAC9C32B,EAAOnsB,YAAY,CACjByhD,WAAYA,EACZC,WAAYA,EACZh0C,OAAQ,SACRlR,OAAQA,EACRqlD,SAAUA,IAELoB,EAAiB56D,OAC1B,GACCs6D,EACL,EACAH,kBAAmB,SAA2B5+D,GAC5C,IAAI6oC,EAAS7hD,KAET2gB,EAAO3gB,KACPqrC,EAASrrC,KAAKs3E,cAAct+D,EAAKqyB,QACjC4rC,EAAWj+D,EAAKi+D,SAChBzuC,EAAcxvB,EAAKwvB,YACnBquC,EAAa72E,KAAK62E,WAClBC,EAAa99D,EAAK69D,WAClBr5D,GAAa,EAAIk+B,EAAM93C,2BACvB20E,EAAoB,SAA2B5uC,GACjD,IAAI7G,EAAS6G,EAAM7G,OACf3qB,EAAQwxB,EAAMxxB,MACd6wC,EAAYrf,EAAMqf,UAClB4tB,EAAUjtC,EAAMitC,QAChBhlD,EAAS+X,EAAM/X,OAEnBiwB,EAAOzsB,YAAY,CACjByhD,WAAYA,EACZC,WAAYA,EACZh0C,OAAQA,EACRm0C,SAAUA,EACV9+D,MAAOA,EACPy+D,QAASA,EACThlD,OAAQA,GACPo3B,EACL,EACIwvB,EAAa,CACfzrB,QAAS,SAAiB50C,GACxB,IAAIwoB,EAAO9jB,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,GAAmBA,UAAU,GAAK,EAC3EmsC,EAAYnsC,UAAU,GAE1B,IAAI7c,KAAKy4E,YAAT,CAGA,IAAIC,EAAkB14E,KAAKwoC,YAC3BxoC,KAAKwoC,aAAe7H,EAChB+3C,EAAkB,GAAK14E,KAAKwoC,aAAe,IAC7CxoC,KAAK24E,gBAAiB,EAAIj9B,EAAM93C,2BAChC5D,KAAK+zC,MAAQ/zC,KAAK24E,eAAel7D,SAEnC86D,EAAkB,CAChBz1C,OAAQ,UACR3qB,MAAOA,EACP6wC,UAAWA,GAVb,CAYF,EACAt9B,MAAO,WACD1rB,KAAKy4E,cAGTz4E,KAAKy4E,aAAc,EACnBF,EAAkB,CAAEz1C,OAAQ,iBACrBniB,EAAKu2D,YAAYD,GAC1B,EACAplD,MAAO,SAAeD,GAChB5xB,KAAKy4E,cAGTz4E,KAAKy4E,aAAc,EACnBF,EAAkB,CAChBz1C,OAAQ,QACRlR,OAAQA,IAEZ,EAEA+mD,eAAgBn7D,EAChBsvC,OAAQ,KACRE,SAAU,KACVyrB,aAAa,EACbjwC,YAAaA,EACbuL,MAAO,MAETykC,EAAWG,eAAeh7D,UAC1B66D,EAAWzkC,MAAQykC,EAAWG,eAAel7D,QAC7Czd,KAAKk3E,YAAYD,GAAYuB,EAC7B1C,EAAYzqC,EAAO,GAAI,CAACryB,EAAKA,KAAMw/D,GAAantC,EAAO,IAAIlb,MAAK,WAC9DooD,EAAkB,CAChBz1C,OAAQ,iBACR8zC,SAAS,GAEb,IAAG,SAAUhlD,GACX2mD,EAAkB,CAChBz1C,OAAQ,iBACR8zC,SAAS,EACThlD,OAAQA,GAEZ,GACF,EACA4lD,sBAAuB,SAA+Bx+D,GACpD,IAAIosC,EAASplD,KAET62E,EAAa72E,KAAK62E,WAClBC,EAAa99D,EAAK69D,WAClBI,EAAWj+D,EAAKi+D,SAChB2B,EAAqB,SAA4B9uC,GACnD,IAAIhH,EAASgH,EAAMhH,OACf8zC,EAAU9sC,EAAM8sC,QAChBhlD,EAASkY,EAAMlY,OAEnBwzB,EAAO2xB,OAAO3hD,YAAY,CACxByhD,WAAYA,EACZC,WAAYA,EACZh0C,OAAQA,EACR8zC,QAASA,EACTK,SAAUA,EACVrlD,OAAQA,GAEZ,EACIinD,EAAyB,WAC3Bn7D,QAAQkV,IAAI,CAACwyB,EAAO+xB,kBAAkBn+D,EAAKi+D,UAAUgB,UAAW7yB,EAAO+xB,kBAAkBn+D,EAAKi+D,UAAUmB,SAAUhzB,EAAO+xB,kBAAkBn+D,EAAKi+D,UAAUqB,YAAYhJ,KAAI,SAAU9xD,GAClL,OAAOA,GAAciuB,EAASjuB,EAAWC,QAC3C,KAAI0S,MAAK,kBACAi1B,EAAO+xB,kBAAkBn+D,EAAKi+D,SACvC,GACF,EACA,OAAQj+D,EAAK8pB,QACX,IAAK,iBACH6zC,EAAgB32E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUgB,UAAWj/D,EAAK49D,QAASH,EAAWz9D,EAAK4Y,SAC/F,MACF,IAAK,gBACH+kD,EAAgB32E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUmB,SAAUp/D,EAAK49D,QAASH,EAAWz9D,EAAK4Y,SAC9F,MACF,IAAK,OACH,IAAK5xB,KAAKk3E,YAAYl+D,EAAKi+D,UAAW,CACpC2B,EAAmB,CACjB91C,OAAQ,gBACR8zC,SAAS,IAEX,KACF,CACI52E,KAAKk3E,YAAYl+D,EAAKi+D,UAAUzuC,aAAe,GAAKxvB,EAAKwvB,YAAc,GACzExoC,KAAKk3E,YAAYl+D,EAAKi+D,UAAU0B,eAAeh7D,UAEjD3d,KAAKk3E,YAAYl+D,EAAKi+D,UAAUzuC,YAAcxvB,EAAKwvB,YACnDstC,EAAY91E,KAAKk3E,YAAYl+D,EAAKi+D,UAAUnqB,QAAQ38B,MAAK,WACvDyoD,EAAmB,CACjB91C,OAAQ,gBACR8zC,SAAS,GAEb,IAAG,SAAUhlD,GACXgnD,EAAmB,CACjB91C,OAAQ,gBACR8zC,SAAS,EACThlD,OAAQA,GAEZ,IACA,MACF,IAAK,WACH,EAAI8pB,EAAM10C,QAAQhH,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAW,yCACpDj3E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUiB,UACzCl4E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUl4C,WAAWguB,QAAQ/zC,EAAKb,OAEhE,MACF,IAAK,QAEH,IADA,EAAIujC,EAAM10C,QAAQhH,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAW,uCACrDj3E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUiB,SACxC,MAEFl4E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUiB,UAAW,EACjDl4E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUl4C,WAAWrT,QACjDmtD,IACA,MACF,IAAK,SACH,EAAIn9B,EAAM10C,QAAQhH,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAW,uCACzDj3E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUl4C,WAAWlN,MAAM4kD,EAAWz9D,EAAK4Y,SACvEinD,IACA,MACF,IAAK,kBACHlC,EAAgB32E,KAAKm3E,kBAAkBn+D,EAAKi+D,UAAUqB,WAAYt/D,EAAK49D,QAASH,EAAWz9D,EAAK4Y,SAChGinD,IACA,MACF,IAAK,SACH,IAAK74E,KAAKk3E,YAAYl+D,EAAKi+D,UACzB,MAEFnB,EAAY91E,KAAKk3E,YAAYl+D,EAAKi+D,UAAUjqB,SAAU,CAACypB,EAAWz9D,EAAK4Y,UAAUzB,MAAK,WACpFyoD,EAAmB,CACjB91C,OAAQ,kBACR8zC,SAAS,GAEb,IAAG,SAAUhlD,GACXgnD,EAAmB,CACjB91C,OAAQ,kBACR8zC,SAAS,EACThlD,OAAQA,GAEZ,IACA5xB,KAAKk3E,YAAYl+D,EAAKi+D,UAAU0B,eAAe/6D,OAAO64D,EAAWz9D,EAAK4Y,SACtE5xB,KAAKk3E,YAAYl+D,EAAKi+D,UAAUwB,aAAc,SACvCz4E,KAAKk3E,YAAYl+D,EAAKi+D,UAC7B,MACF,QACE,MAAM,IAAIlhE,MAAM,0BAEtB,EACAqf,YAAa,SAAqBle,EAAS8xC,GACrCA,GAAahpD,KAAK6+C,qBACpB7+C,KAAK+2E,OAAO3hD,YAAYle,EAAS8xC,GAEjChpD,KAAK+2E,OAAO3hD,YAAYle,EAE5B,EACAwpC,QAAS,WACP1gD,KAAK+2E,OAAOlsB,oBAAoB,UAAW7qD,KAAKu3E,mBAClD,GAEFx3E,EAAQ4/C,eAAiBA,CAElB,EAED,SAAU7/C,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAUI,EAAoB,IAE9B,EAED,SAAUL,EAAQC,EAASI,GAEjC,aAGA,IAAIma,EAAI,WACN,OAAOta,IACT,CAFQ,IAED0Z,SAAS,cAATA,GACHo/D,EAAax+D,EAAEy+D,oBAAsBj4E,OAAOu9B,oBAAoB/jB,GAAG6G,QAAQ,uBAAyB,EACpG63D,EAAaF,GAAcx+D,EAAEy+D,mBAGjC,GAFAz+D,EAAEy+D,wBAAqB3wE,EACvBtI,EAAOC,QAAUI,EAAoB,KACjC24E,EACFx+D,EAAEy+D,mBAAqBC,OAEvB,WACS1+D,EAAEy+D,kBAGX,CAFE,MAAO1iE,GACPiE,EAAEy+D,wBAAqB3wE,CACzB,CAGK,EAED,SAAUtI,EAAQC,EAASI,GAEjC,cAC4B,SAASL,GAErC,IAAIuI,EAA4B,oBAAXlH,QAAoD,kBAApBA,OAAOmH,SAAwB,SAAUC,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,oBAAXpH,QAAyBoH,EAAIC,cAAgBrH,QAAUoH,IAAQpH,OAAOa,UAAY,gBAAkBuG,CAAK,GAE1Q,SAAU6Y,GAGT,IAEIhZ,EAFA6wE,EAAKn4E,OAAOkB,UACZk3E,EAASD,EAAGh3E,eAEZq6B,EAA4B,oBAAXn7B,OAAwBA,OAAS,CAAC,EACnDg4E,EAAiB78C,EAAQh0B,UAAY,aACrC8wE,EAAsB98C,EAAQ+8C,eAAiB,kBAC/CC,EAAoBh9C,EAAQl7B,aAAe,gBAC3Cm4E,EAAsD,WAArBlxE,EAAQvI,GACzC05E,EAAUp4D,EAAO23D,mBACrB,GAAIS,EACED,IACFz5E,EAAOC,QAAUy5E,OAFrB,CAMAA,EAAUp4D,EAAO23D,mBAAqBQ,EAAWz5E,EAAOC,QAAU,CAAC,EAQnEy5E,EAAQp8C,KAAOA,EAcf,IAAIq8C,EAAyB,iBACzBC,EAAyB,iBACzBC,EAAoB,YACpBC,EAAoB,YACpBC,EAAmB,CAAC,EAIpB7vD,EAAoB,CAAC,EACzBA,EAAkBmvD,GAAkB,WAClC,OAAOn5E,IACT,EACA,IAAI85E,EAAWh5E,OAAOooB,eAClB6wD,EAA0BD,GAAYA,EAASA,EAAS3/D,EAAO,MAC/D4/D,GAA2BA,IAA4Bd,GAAMC,EAAO34E,KAAKw5E,EAAyBZ,KACpGnvD,EAAoB+vD,GAEtB,IAAIC,EAAKC,EAA2Bj4E,UAAYk4E,EAAUl4E,UAAYlB,OAAOY,OAAOsoB,GACpFmwD,EAAkBn4E,UAAYg4E,EAAGxxE,YAAcyxE,EAC/CA,EAA2BzxE,YAAc2xE,EACzCF,EAA2BX,GAAqBa,EAAkBC,YAAc,oBAQhFZ,EAAQa,oBAAsB,SAAUC,GACtC,IAAIvnC,EAAyB,oBAAXunC,GAAyBA,EAAO9xE,YAClD,QAAOuqC,IAAOA,IAASonC,GAAyD,uBAAnCpnC,EAAKqnC,aAAernC,EAAKpyC,MACxE,EACA64E,EAAQxD,KAAO,SAAUsE,GAUvB,OATIx5E,OAAOi6B,eACTj6B,OAAOi6B,eAAeu/C,EAAQL,IAE9BK,EAAOp/C,UAAY++C,EACbX,KAAqBgB,IACzBA,EAAOhB,GAAqB,sBAGhCgB,EAAOt4E,UAAYlB,OAAOY,OAAOs4E,GAC1BM,CACT,EACAd,EAAQe,MAAQ,SAAUxhD,GACxB,MAAO,CAAEyhD,QAASzhD,EACpB,EAiCA0hD,EAAsBC,EAAc14E,WACpC04E,EAAc14E,UAAUo3E,GAAuB,WAC7C,OAAOp5E,IACT,EACAw5E,EAAQkB,cAAgBA,EACxBlB,EAAQmB,MAAQ,SAAUC,EAASC,EAASl6D,EAAMm6D,GAChD,IAAInoD,EAAO,IAAI+nD,EAAct9C,EAAKw9C,EAASC,EAASl6D,EAAMm6D,IAC1D,OAAOtB,EAAQa,oBAAoBQ,GAAWloD,EAAOA,EAAKhJ,OAAOwG,MAAK,SAAU1T,GAC9E,OAAOA,EAAOoM,KAAOpM,EAAOpb,MAAQsxB,EAAKhJ,MAC3C,GACF,EAmGA8wD,EAAsBT,GACtBA,EAAGV,GAAqB,YACxBU,EAAGb,GAAkB,WACnB,OAAOn5E,IACT,EACAg6E,EAAG76D,SAAW,WACZ,MAAO,oBACT,EAuBAq6D,EAAQryD,KAAO,SAAUrlB,GACvB,IAAIqlB,EAAO,GACX,IAAK,IAAIxlB,KAAOG,EACdqlB,EAAK9O,KAAK1W,GAGZ,OADAwlB,EAAK4zD,UACE,SAASpxD,IACd,MAAOxC,EAAKzP,OAAQ,CAClB,IAAI/V,EAAMwlB,EAAKozB,MACf,GAAI54C,KAAOG,EAGT,OAFA6nB,EAAKtoB,MAAQM,EACbgoB,EAAKd,MAAO,EACLc,CAEX,CAEA,OADAA,EAAKd,MAAO,EACLc,CACT,CACF,EA6BA6vD,EAAQr/D,OAASA,EAOjB6gE,EAAQh5E,UAAY,CAClBwG,YAAawyE,EACb/c,MAAO,SAAegd,GASpB,GARAj7E,KAAKs9D,KAAO,EACZt9D,KAAK2pB,KAAO,EACZ3pB,KAAKk7E,KAAOl7E,KAAKm7E,MAAQ/yE,EACzBpI,KAAK6oB,MAAO,EACZ7oB,KAAKo7E,SAAW,KAChBp7E,KAAKi4B,OAAS,OACdj4B,KAAK+4B,IAAM3wB,EACXpI,KAAKq7E,WAAWp0D,QAAQq0D,IACnBL,EACH,IAAK,IAAIt6E,KAAQX,KACQ,MAAnBW,EAAKuc,OAAO,IAAcg8D,EAAO34E,KAAKP,KAAMW,KAAU4f,OAAO5f,EAAKsa,MAAM,MAC1Ejb,KAAKW,GAAQyH,EAIrB,EACAiuE,KAAM,WACJr2E,KAAK6oB,MAAO,EACZ,IAAI0yD,EAAYv7E,KAAKq7E,WAAW,GAC5BG,EAAaD,EAAUE,WAC3B,GAAwB,UAApBD,EAAWt9D,KACb,MAAMs9D,EAAWziD,IAEnB,OAAO/4B,KAAK07E,IACd,EACAC,kBAAmB,SAA2BhuB,GAC5C,GAAI3tD,KAAK6oB,KACP,MAAM8kC,EAER,IAAI7sC,EAAU9gB,KACd,SAAS47E,EAAOC,EAAKC,GAQnB,OAPAC,EAAO79D,KAAO,QACd69D,EAAOhjD,IAAM40B,EACb7sC,EAAQ6I,KAAOkyD,EACXC,IACFh7D,EAAQmX,OAAS,OACjBnX,EAAQiY,IAAM3wB,KAEP0zE,CACX,CACA,IAAK,IAAIz7E,EAAIL,KAAKq7E,WAAW3jE,OAAS,EAAGrX,GAAK,IAAKA,EAAG,CACpD,IAAI25B,EAAQh6B,KAAKq7E,WAAWh7E,GACxB07E,EAAS/hD,EAAMyhD,WACnB,GAAqB,SAAjBzhD,EAAMgiD,OACR,OAAOJ,EAAO,OAEhB,GAAI5hD,EAAMgiD,QAAUh8E,KAAKs9D,KAAM,CAC7B,IAAI2e,EAAW/C,EAAO34E,KAAKy5B,EAAO,YAC9BkiD,EAAahD,EAAO34E,KAAKy5B,EAAO,cACpC,GAAIiiD,GAAYC,EAAY,CAC1B,GAAIl8E,KAAKs9D,KAAOtjC,EAAMmiD,SACpB,OAAOP,EAAO5hD,EAAMmiD,UAAU,GACzB,GAAIn8E,KAAKs9D,KAAOtjC,EAAMoiD,WAC3B,OAAOR,EAAO5hD,EAAMoiD,WAExB,MAAO,GAAIH,GACT,GAAIj8E,KAAKs9D,KAAOtjC,EAAMmiD,SACpB,OAAOP,EAAO5hD,EAAMmiD,UAAU,OAE3B,KAAID,EAKT,MAAM,IAAInmE,MAAM,0CAJhB,GAAI/V,KAAKs9D,KAAOtjC,EAAMoiD,WACpB,OAAOR,EAAO5hD,EAAMoiD,WAIxB,CACF,CACF,CACF,EACAhG,OAAQ,SAAgBl4D,EAAM6a,GAC5B,IAAK,IAAI14B,EAAIL,KAAKq7E,WAAW3jE,OAAS,EAAGrX,GAAK,IAAKA,EAAG,CACpD,IAAI25B,EAAQh6B,KAAKq7E,WAAWh7E,GAC5B,GAAI25B,EAAMgiD,QAAUh8E,KAAKs9D,MAAQ4b,EAAO34E,KAAKy5B,EAAO,eAAiBh6B,KAAKs9D,KAAOtjC,EAAMoiD,WAAY,CACjG,IAAIC,EAAeriD,EACnB,KACF,CACF,CACIqiD,IAA0B,UAATn+D,GAA6B,aAATA,IAAwBm+D,EAAaL,QAAUjjD,GAAOA,GAAOsjD,EAAaD,aACjHC,EAAe,MAEjB,IAAIN,EAASM,EAAeA,EAAaZ,WAAa,CAAC,EAGvD,OAFAM,EAAO79D,KAAOA,EACd69D,EAAOhjD,IAAMA,EACTsjD,GACFr8E,KAAKi4B,OAAS,OACdj4B,KAAK2pB,KAAO0yD,EAAaD,WAClBvC,GAEF75E,KAAKsmD,SAASy1B,EACvB,EACAz1B,SAAU,SAAkBy1B,EAAQO,GAClC,GAAoB,UAAhBP,EAAO79D,KACT,MAAM69D,EAAOhjD,IAWf,MAToB,UAAhBgjD,EAAO79D,MAAoC,aAAhB69D,EAAO79D,KACpCle,KAAK2pB,KAAOoyD,EAAOhjD,IACM,WAAhBgjD,EAAO79D,MAChBle,KAAK07E,KAAO17E,KAAK+4B,IAAMgjD,EAAOhjD,IAC9B/4B,KAAKi4B,OAAS,SACdj4B,KAAK2pB,KAAO,OACa,WAAhBoyD,EAAO79D,MAAqBo+D,IACrCt8E,KAAK2pB,KAAO2yD,GAEPzC,CACT,EACA0C,OAAQ,SAAgBH,GACtB,IAAK,IAAI/7E,EAAIL,KAAKq7E,WAAW3jE,OAAS,EAAGrX,GAAK,IAAKA,EAAG,CACpD,IAAI25B,EAAQh6B,KAAKq7E,WAAWh7E,GAC5B,GAAI25B,EAAMoiD,aAAeA,EAGvB,OAFAp8E,KAAKsmD,SAAStsB,EAAMyhD,WAAYzhD,EAAMsiD,UACtChB,EAActhD,GACP6/C,CAEX,CACF,EACA,MAAS,SAAgBmC,GACvB,IAAK,IAAI37E,EAAIL,KAAKq7E,WAAW3jE,OAAS,EAAGrX,GAAK,IAAKA,EAAG,CACpD,IAAI25B,EAAQh6B,KAAKq7E,WAAWh7E,GAC5B,GAAI25B,EAAMgiD,SAAWA,EAAQ,CAC3B,IAAID,EAAS/hD,EAAMyhD,WACnB,GAAoB,UAAhBM,EAAO79D,KAAkB,CAC3B,IAAIs+D,EAAST,EAAOhjD,IACpBuiD,EAActhD,EAChB,CACA,OAAOwiD,CACT,CACF,CACA,MAAM,IAAIzmE,MAAM,wBAClB,EACA0mE,cAAe,SAAuB5pD,EAAU6pD,EAAYC,GAS1D,OARA38E,KAAKo7E,SAAW,CACd9yE,SAAU6R,EAAO0Y,GACjB6pD,WAAYA,EACZC,QAASA,GAES,SAAhB38E,KAAKi4B,SACPj4B,KAAK+4B,IAAM3wB,GAENyxE,CACT,EArbF,CAEA,SAASz8C,EAAKw9C,EAASC,EAASl6D,EAAMm6D,GACpC,IAAI8B,EAAiB/B,GAAWA,EAAQ74E,qBAAqBk4E,EAAYW,EAAUX,EAC/E2C,EAAY/7E,OAAOY,OAAOk7E,EAAe56E,WACzC8e,EAAU,IAAIk6D,EAAQF,GAAe,IAEzC,OADA+B,EAAUC,QAAUC,EAAiBnC,EAASj6D,EAAMG,GAC7C+7D,CACT,CAEA,SAASG,EAASt5D,EAAInb,EAAKwwB,GACzB,IACE,MAAO,CACL7a,KAAM,SACN6a,IAAKrV,EAAGnjB,KAAKgI,EAAKwwB,GAOtB,CALE,MAAOzG,GACP,MAAO,CACLpU,KAAM,QACN6a,IAAKzG,EAET,CACF,CAMA,SAAS4nD,IAAa,CACtB,SAASC,IAAqB,CAC9B,SAASF,IAA8B,CAcvC,SAASQ,EAAsBz4E,GAC7B,CAAC,OAAQ,QAAS,UAAUilB,SAAQ,SAAUgR,GAC5Cj2B,EAAUi2B,GAAU,SAAUc,GAC5B,OAAO/4B,KAAK88E,QAAQ7kD,EAAQc,EAC9B,CACF,GACF,CAoBA,SAAS2hD,EAAcmC,GACrB,SAAS7oD,EAAOiE,EAAQc,EAAKpb,EAASC,GACpC,IAAIm+D,EAASiB,EAASH,EAAU5kD,GAAS4kD,EAAW9jD,GACpD,GAAoB,UAAhBgjD,EAAO79D,KAEJ,CACL,IAAIzB,EAASs/D,EAAOhjD,IAChB13B,EAAQob,EAAOpb,MACnB,OAAIA,GAA2E,YAAhD,qBAAVA,EAAwB,YAAcgH,EAAQhH,KAAwB63E,EAAO34E,KAAKc,EAAO,WACrGqc,QAAQC,QAAQtc,EAAMm5E,SAASrqD,MAAK,SAAU9uB,GACnD2yB,EAAO,OAAQ3yB,EAAOsc,EAASC,EACjC,IAAG,SAAU0U,GACX0B,EAAO,QAAS1B,EAAK3U,EAASC,EAChC,IAEKF,QAAQC,QAAQtc,GAAO8uB,MAAK,SAAU8sD,GAC3CxgE,EAAOpb,MAAQ47E,EACft/D,EAAQlB,EACV,GAAGmB,EACL,CAfEA,EAAOm+D,EAAOhjD,IAgBlB,CACA,IAAImkD,EACJ,SAASnwB,EAAQ90B,EAAQc,GACvB,SAASokD,IACP,OAAO,IAAIz/D,SAAQ,SAAUC,EAASC,GACpCoW,EAAOiE,EAAQc,EAAKpb,EAASC,EAC/B,GACF,CACA,OAAOs/D,EAAkBA,EAAkBA,EAAgB/sD,KAAKgtD,EAA4BA,GAA8BA,GAC5H,CACAn9E,KAAK88E,QAAU/vB,CACjB,CAYA,SAASgwB,EAAiBnC,EAASj6D,EAAMG,GACvC,IAAIkiB,EAAQy2C,EACZ,OAAO,SAAgBxhD,EAAQc,GAC7B,GAAIiK,IAAU22C,EACZ,MAAM,IAAI5jE,MAAM,gCAElB,GAAIitB,IAAU42C,EAAmB,CAC/B,GAAe,UAAX3hD,EACF,MAAMc,EAER,OAAOqkD,GACT,CACAt8D,EAAQmX,OAASA,EACjBnX,EAAQiY,IAAMA,EACd,MAAO,EAAM,CACX,IAAIqiD,EAAWt6D,EAAQs6D,SACvB,GAAIA,EAAU,CACZ,IAAIiC,EAAiBC,EAAoBlC,EAAUt6D,GACnD,GAAIu8D,EAAgB,CAClB,GAAIA,IAAmBxD,EAAkB,SACzC,OAAOwD,CACT,CACF,CACA,GAAuB,SAAnBv8D,EAAQmX,OACVnX,EAAQo6D,KAAOp6D,EAAQq6D,MAAQr6D,EAAQiY,SAClC,GAAuB,UAAnBjY,EAAQmX,OAAoB,CACrC,GAAI+K,IAAUy2C,EAEZ,MADAz2C,EAAQ42C,EACF94D,EAAQiY,IAEhBjY,EAAQ66D,kBAAkB76D,EAAQiY,IACpC,KAA8B,WAAnBjY,EAAQmX,QACjBnX,EAAQs1D,OAAO,SAAUt1D,EAAQiY,KAEnCiK,EAAQ22C,EACR,IAAIoC,EAASiB,EAASpC,EAASj6D,EAAMG,GACrC,GAAoB,WAAhBi7D,EAAO79D,KAAmB,CAE5B,GADA8kB,EAAQliB,EAAQ+H,KAAO+wD,EAAoBF,EACvCqC,EAAOhjD,MAAQ8gD,EACjB,SAEF,MAAO,CACLx4E,MAAO06E,EAAOhjD,IACdlQ,KAAM/H,EAAQ+H,KAElB,CAA2B,UAAhBkzD,EAAO79D,OAChB8kB,EAAQ42C,EACR94D,EAAQmX,OAAS,QACjBnX,EAAQiY,IAAMgjD,EAAOhjD,IAEzB,CACF,CACF,CACA,SAASukD,EAAoBlC,EAAUt6D,GACrC,IAAImX,EAASmjD,EAAS9yE,SAASwY,EAAQmX,QACvC,GAAIA,IAAW7vB,EAAW,CAExB,GADA0Y,EAAQs6D,SAAW,KACI,UAAnBt6D,EAAQmX,OAAoB,CAC9B,GAAImjD,EAAS9yE,SAAS+4C,SACpBvgC,EAAQmX,OAAS,SACjBnX,EAAQiY,IAAM3wB,EACdk1E,EAAoBlC,EAAUt6D,GACP,UAAnBA,EAAQmX,QACV,OAAO4hD,EAGX/4D,EAAQmX,OAAS,QACjBnX,EAAQiY,IAAM,IAAI1V,UAAU,iDAC9B,CACA,OAAOw2D,CACT,CACA,IAAIkC,EAASiB,EAAS/kD,EAAQmjD,EAAS9yE,SAAUwY,EAAQiY,KACzD,GAAoB,UAAhBgjD,EAAO79D,KAIT,OAHA4C,EAAQmX,OAAS,QACjBnX,EAAQiY,IAAMgjD,EAAOhjD,IACrBjY,EAAQs6D,SAAW,KACZvB,EAET,IAAInzE,EAAOq1E,EAAOhjD,IAClB,OAAKryB,EAMDA,EAAKmiB,MACP/H,EAAQs6D,EAASsB,YAAch2E,EAAKrF,MACpCyf,EAAQ6I,KAAOyxD,EAASuB,QACD,WAAnB77D,EAAQmX,SACVnX,EAAQmX,OAAS,OACjBnX,EAAQiY,IAAM3wB,GAKlB0Y,EAAQs6D,SAAW,KACZvB,GAHEnzE,GAbPoa,EAAQmX,OAAS,QACjBnX,EAAQiY,IAAM,IAAI1V,UAAU,oCAC5BvC,EAAQs6D,SAAW,KACZvB,EAcX,CASA,SAAS0D,EAAaC,GACpB,IAAIxjD,EAAQ,CAAEgiD,OAAQwB,EAAK,IACvB,KAAKA,IACPxjD,EAAMmiD,SAAWqB,EAAK,IAEpB,KAAKA,IACPxjD,EAAMoiD,WAAaoB,EAAK,GACxBxjD,EAAMsiD,SAAWkB,EAAK,IAExBx9E,KAAKq7E,WAAWhjE,KAAK2hB,EACvB,CACA,SAASshD,EAActhD,GACrB,IAAI+hD,EAAS/hD,EAAMyhD,YAAc,CAAC,EAClCM,EAAO79D,KAAO,gBACP69D,EAAOhjD,IACdiB,EAAMyhD,WAAaM,CACrB,CACA,SAASf,EAAQF,GACf96E,KAAKq7E,WAAa,CAAC,CAAEW,OAAQ,SAC7BlB,EAAY7zD,QAAQs2D,EAAcv9E,MAClCA,KAAKi+D,OAAM,EACb,CAoBA,SAAS9jD,EAAO0Y,GACd,GAAIA,EAAU,CACZ,IAAI4qD,EAAiB5qD,EAASsmD,GAC9B,GAAIsE,EACF,OAAOA,EAAel9E,KAAKsyB,GAE7B,GAA6B,oBAAlBA,EAASlJ,KAClB,OAAOkJ,EAET,IAAKtS,MAAMsS,EAASnb,QAAS,CAC3B,IAAIrX,GAAK,EACLspB,EAAO,SAASA,IAClB,QAAStpB,EAAIwyB,EAASnb,OACpB,GAAIwhE,EAAO34E,KAAKsyB,EAAUxyB,GAGxB,OAFAspB,EAAKtoB,MAAQwxB,EAASxyB,GACtBspB,EAAKd,MAAO,EACLc,EAKX,OAFAA,EAAKtoB,MAAQ+G,EACbuhB,EAAKd,MAAO,EACLc,CACT,EACA,OAAOA,EAAKA,KAAOA,CACrB,CACF,CACA,MAAO,CAAEA,KAAMyzD,EACjB,CAEA,SAASA,IACP,MAAO,CACL/7E,MAAO+G,EACPygB,MAAM,EAEV,CAiJF,CAxcC,CAwcC,WACA,OAAO7oB,IACT,CAFE,IAEK0Z,SAAS,cAATA,GACoB,GAAEnZ,KAAKP,KAAMG,EAAoB,IAApBA,CAAyBL,GAE1D,EAED,SAAUA,EAAQC,EAASI,GAEjC,aAGAL,EAAOC,QAAU,SAAUD,GAmBzB,OAlBKA,EAAO49E,kBACV59E,EAAO69E,UAAY,WAAa,EAChC79E,EAAOypE,MAAQ,GACVzpE,EAAO89E,WAAU99E,EAAO89E,SAAW,IACxC98E,OAAOC,eAAejB,EAAQ,SAAU,CACtCkB,YAAY,EACZC,IAAK,WACH,OAAOnB,EAAOQ,CAChB,IAEFQ,OAAOC,eAAejB,EAAQ,KAAM,CAClCkB,YAAY,EACZC,IAAK,WACH,OAAOnB,EAAOO,CAChB,IAEFP,EAAO49E,gBAAkB,GAEpB59E,CACT,CAEO,EAED,SAAUA,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ2wD,cAAWtoD,EAEnB,IAAI24B,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEfgyB,EAAQv7C,EAAoB,GAE5B09E,EAAc19E,EAAoB,KAEtC,SAASghC,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,IAAIqtC,EAAW,WACb,SAASA,EAAS13C,GAChBmoB,EAAgBnhC,KAAM0wD,IAEtB,EAAIhV,EAAM10C,QAAwB,kBAATgS,EAAmB,mCAC5CA,EAAOhZ,KAAK89E,QAAQ9kE,GACpB,IAAI+kE,EAAS,IAAIF,EAAYG,gBACzBC,EAAcF,EAAOG,gBAAgBllE,GACzChZ,KAAKo8C,UAAYt7C,OAAOY,OAAO,MAC3Bu8E,GACFj+E,KAAKm+E,OAAOF,EAEhB,CAiFA,OA/EAl9C,EAAa2vB,EAAU,CAAC,CACtB/uD,IAAK,UACLN,MAAO,SAAiB2X,GACtB,OAAOA,EAAKxB,QAAQ,uBAAuB,SAAUob,EAAKwrD,GAmBxD,IAlBA,IAAI3mE,EAAQ2mE,EAAM5mE,QAAQ,4BAA4B,SAAUP,EAAMqH,EAAIC,EAAIC,GAC5E,OAAO5G,OAAOC,aAAkB,GAALyG,EAAe,EAALC,EAAc,EAALC,EAChD,IAAGhH,QAAQ,4BAA4B,SAAUD,EAAK5W,GACpD,OAAQA,GACN,IAAK,MACH,MAAO,IACT,IAAK,OACH,MAAO,IACT,IAAK,KACH,MAAO,IACT,IAAK,KACH,MAAO,IACT,IAAK,OACH,MAAO,IAEX,MAAM,IAAIoV,MAAM,YAAcpV,EAAO,kBACvC,IACIqe,EAAQ,GACH3e,EAAI,EAAGyY,EAAKrB,EAAMC,OAAQrX,EAAIyY,EAAIzY,GAAK,EAAG,CACjD,IAAI4W,EAA6B,IAAtBQ,EAAMe,WAAWnY,GAAWoX,EAAMe,WAAWnY,EAAI,GAE1D2e,GADE/H,GAAQ,IAAMA,EAAO,KAAgB,KAATA,GAAwB,KAATA,GAAwB,KAATA,EACnDW,OAAOC,aAAaZ,GAEpB,OAAS,MAAUA,GAAMkI,SAAS,IAAIq3C,UAAU,GAAK,GAElE,CACA,MAAO,IAAMx3C,CACf,GACF,GACC,CACDrd,IAAK,SACLN,MAAO,SAAgB48E,GACrB,IAAII,EAAMJ,EAAYpyD,gBACtB,GAAmC,YAA/BwyD,EAAIC,SAASthE,cAA6B,CAC5CqhE,EAAMA,EAAIE,WACV,MAAOF,GAAsC,YAA/BA,EAAIC,SAASthE,cACzBqhE,EAAMA,EAAIG,WAEd,CACA,IAAIF,EAAWD,EAAMA,EAAIC,SAASthE,cAAgB,KAClD,GAAKqhE,GAAoB,YAAbC,GAA2BD,EAAII,gBAI3C,IADA,IAAIb,EAAWS,EAAIK,WACVr+E,EAAI,EAAGyY,EAAK8kE,EAASlmE,OAAQrX,EAAIyY,EAAIzY,IAAK,CACjD,IAAIgpD,EAAOu0B,EAASv9E,GACpB,GAAoC,oBAAhCgpD,EAAKi1B,SAASthE,cAGlB,IAAK,IAAIwK,EAAI,EAAG+3C,EAAKlW,EAAKq1B,WAAWhnE,OAAQ8P,EAAI+3C,EAAI/3C,IACnD,GAAkD,UAA9C6hC,EAAKq1B,WAAWl3D,GAAG82D,SAASthE,cAA2B,CACzD,IAAIgd,EAAQqvB,EAAKq1B,WAAWl3D,GACxB7mB,EAAOq5B,EAAMskD,SAASthE,cAC1Bhd,KAAKo8C,UAAUz7C,GAAQq5B,EAAM0tB,YAAYi3B,MAC3C,CAEJ,CACF,GACC,CACDh9E,IAAK,MACLN,MAAO,SAAaV,GAClB,OAAOX,KAAKo8C,UAAUz7C,IAAS,IACjC,GACC,CACDgB,IAAK,SACLN,MAAO,WACL,OAAOrB,KAAKo8C,SACd,GACC,CACDz6C,IAAK,MACLN,MAAO,SAAaV,GAClB,MAAuC,qBAAzBX,KAAKo8C,UAAUz7C,EAC/B,KAGK+vD,CACT,CA9Fe,GAgGf3wD,EAAQ2wD,SAAWA,CAEZ,EAED,SAAU5wD,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAGT,IAAIi6C,EAAiB,WAAc,SAASC,EAAc9iC,EAAKpY,GAAK,IAAIm7C,EAAO,GAAQjrB,GAAK,EAAU0B,GAAK,EAAWwpB,OAAKrzC,EAAW,IAAM,IAAK,IAAiCwoB,EAA7BjI,EAAKlQ,EAAItX,OAAOmH,cAAmBioB,GAAMK,EAAKjI,EAAGgB,QAAQd,MAAO0H,GAAK,EAA6B,GAArBirB,EAAKnjC,KAAKuY,EAAGvvB,OAAYhB,GAAKm7C,EAAK9jC,SAAWrX,EAAG,KAAyI,CAA9H,MAAOiyB,GAAOL,GAAK,EAAMwpB,EAAKnpB,CAAK,CAAE,QAAU,KAAW/B,GAAM5H,EAAG,WAAWA,EAAG,WAA2C,CAA5B,QAAU,GAAIsJ,EAAI,MAAMwpB,CAAI,CAAE,CAAE,OAAOD,CAAM,CAAE,OAAO,SAAU/iC,EAAKpY,GAAK,GAAIggB,MAAMyY,QAAQrgB,GAAQ,OAAOA,EAAY,GAAItX,OAAOmH,YAAYxH,OAAO2X,GAAQ,OAAO8iC,EAAc9iC,EAAKpY,GAAa,MAAM,IAAIgjB,UAAU,uDAA2D,CAAG,CAA/nB,GAEjBu7D,EAAO,SAAS39E,EAAIa,EAAQC,EAAU88E,GAA2B,OAAX/8E,IAAiBA,EAAS4X,SAAS1X,WAAW,IAAIqnD,EAAOvoD,OAAOs6B,yBAAyBt5B,EAAQC,GAAW,QAAaqG,IAATihD,EAAoB,CAAE,IAAIpzB,EAASn1B,OAAOooB,eAAepnB,GAAS,OAAe,OAAXm0B,OAAmB,EAAkCh1B,EAAIg1B,EAAQl0B,EAAU88E,EAAa,CAAO,GAAI,UAAWx1B,EAAQ,OAAOA,EAAKhoD,MAAgB,IAAIT,EAASyoD,EAAKpoD,IAAK,YAAemH,IAAXxH,EAAmDA,EAAOL,KAAKs+E,QAAnE,CAAgF,EAEre99C,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEnB,SAASytC,EAA2Bx2C,EAAMpgB,GAAQ,IAAKogB,EAAQ,MAAM,IAAIy2C,eAAe,6DAAgE,OAAO72D,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BogB,EAAPpgB,CAAa,CAE/O,SAAS82D,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIl0C,UAAU,kEAAoEk0C,GAAeD,EAASt1D,UAAYlB,OAAOY,OAAO61D,GAAcA,EAAWv1D,UAAW,CAAEwG,YAAa,CAAEnH,MAAOi2D,EAAUt2D,YAAY,EAAO8V,UAAU,EAAMD,cAAc,KAAe0gD,IAAYz2D,OAAOi6B,eAAiBj6B,OAAOi6B,eAAeu8B,EAAUC,GAAcD,EAASp8B,UAAYq8B,EAAY,CAE7e,SAASp2B,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,IAAIy7D,EAAqB,CACvBC,QAAS,EACTC,eAAgB,EAChBC,kBAAmB,EACnBC,4BAA6B,EAC7BC,gCAAiC,EACjCC,qBAAsB,EACtBC,kBAAmB,EACnBC,aAAc,EACdC,4BAA6B,EAC7BC,qBAAsB,EACtBC,mBAAoB,IAEtB,SAASC,EAAav9E,EAAGgkB,GACvB,IAAI5I,EAAKpb,EAAEgkB,GACX,MAAc,MAAP5I,GAAqB,OAAPA,GAAsB,OAAPA,GAAsB,OAAPA,CACrD,CACA,SAASoiE,EAAmBx9E,GAC1B,IAAK,IAAI9B,EAAI,EAAGyY,EAAK3W,EAAEuV,OAAQrX,EAAIyY,EAAIzY,IACrC,IAAKq/E,EAAav9E,EAAG9B,GACnB,OAAO,EAGX,OAAO,CACT,CAEA,IAAIu/E,EAAgB,WAClB,SAASA,IACPz+C,EAAgBnhC,KAAM4/E,EACxB,CA0OA,OAxOA7+C,EAAa6+C,EAAe,CAAC,CAC3Bj+E,IAAK,mBACLN,MAAO,SAA0Bc,GAC/B,OAAOA,EAAEqV,QAAQ,cAAc,SAAUob,EAAKitD,GAC5C,GAA+B,OAA3BA,EAAOrpB,UAAU,EAAG,GACtB,OAAO5+C,OAAOC,aAAa8iC,SAASklC,EAAOrpB,UAAU,GAAI,KACpD,GAA+B,MAA3BqpB,EAAOrpB,UAAU,EAAG,GAC7B,OAAO5+C,OAAOC,aAAa8iC,SAASklC,EAAOrpB,UAAU,GAAI,KAE3D,OAAQqpB,GACN,IAAK,KACH,MAAO,IACT,IAAK,KACH,MAAO,IACT,IAAK,MACH,MAAO,IACT,IAAK,OACH,MAAO,IAEX,OAAO7/E,KAAK8/E,gBAAgBD,EAC9B,GACF,GACC,CACDl+E,IAAK,gBACLN,MAAO,SAAuBc,EAAGiX,GAC/B,IAAIL,EAAMK,EACNzY,OAAO,EACPo/E,EAAa,GACjB,SAASC,IACP,MAAOjnE,EAAM5W,EAAEuV,QAAUgoE,EAAav9E,EAAG4W,KACrCA,CAEN,CACA,MAAOA,EAAM5W,EAAEuV,SAAWgoE,EAAav9E,EAAG4W,IAAmB,MAAX5W,EAAE4W,IAA2B,MAAX5W,EAAE4W,KAClEA,EAEJpY,EAAOwB,EAAEq0D,UAAUp9C,EAAOL,GAC1BinE,IACA,MAAOjnE,EAAM5W,EAAEuV,QAAqB,MAAXvV,EAAE4W,IAA2B,MAAX5W,EAAE4W,IAA2B,MAAX5W,EAAE4W,GAAc,CAC3EinE,IACA,IAAIC,EAAW,GACXC,EAAY,GAChB,MAAOnnE,EAAM5W,EAAEuV,SAAWgoE,EAAav9E,EAAG4W,IAAmB,MAAX5W,EAAE4W,GAClDknE,GAAY99E,EAAE4W,KACZA,EAGJ,GADAinE,IACe,MAAX79E,EAAE4W,GACJ,OAAO,OAEPA,EACFinE,IACA,IAAIG,EAAch+E,EAAE4W,GACpB,GAAoB,MAAhBonE,GAAwC,MAAhBA,EAC1B,OAAO,KAET,IAAIC,EAAej+E,EAAEgf,QAAQg/D,IAAepnE,GAC5C,GAAIqnE,EAAe,EACjB,OAAO,KAETF,EAAY/9E,EAAEq0D,UAAUz9C,EAAKqnE,GAC7BL,EAAW1nE,KAAK,CACd1X,KAAMs/E,EACN5+E,MAAOrB,KAAKqgF,iBAAiBH,KAE/BnnE,EAAMqnE,EAAe,EACrBJ,GACF,CACA,MAAO,CACLr/E,KAAMA,EACNo/E,WAAYA,EACZO,OAAQvnE,EAAMK,EAElB,GACC,CACDzX,IAAK,8BACLN,MAAO,SAAqCc,EAAGiX,GAC7C,IAAIL,EAAMK,EACNzY,OAAO,EACPU,OAAQ,EACZ,SAAS2+E,IACP,MAAOjnE,EAAM5W,EAAEuV,QAAUgoE,EAAav9E,EAAG4W,KACrCA,CAEN,CACA,MAAOA,EAAM5W,EAAEuV,SAAWgoE,EAAav9E,EAAG4W,IAAmB,MAAX5W,EAAE4W,IAA2B,MAAX5W,EAAE4W,KAClEA,EAEJpY,EAAOwB,EAAEq0D,UAAUp9C,EAAOL,GAC1BinE,IACA,IAAIO,EAAYxnE,EAChB,MAAOA,EAAM5W,EAAEuV,SAAsB,MAAXvV,EAAE4W,IAA+B,MAAf5W,EAAE4W,EAAM,MAChDA,EAGJ,OADA1X,EAAQc,EAAEq0D,UAAU+pB,EAAWxnE,GACxB,CACLpY,KAAMA,EACNU,MAAOA,EACPi/E,OAAQvnE,EAAMK,EAElB,GACC,CACDzX,IAAK,WACLN,MAAO,SAAkBc,GACvB,IAAI9B,EAAI,EACR,MAAOA,EAAI8B,EAAEuV,OAAQ,CACnB,IAAI6F,EAAKpb,EAAE9B,GACPmnB,EAAInnB,EACR,GAAW,MAAPkd,EAAY,GACZiK,EACF,IAAIg5D,EAAMr+E,EAAEqlB,GACR0rD,OAAI,EACR,OAAQsN,GACN,IAAK,IAGH,KAFEh5D,EACF0rD,EAAI/wE,EAAEgf,QAAQ,IAAKqG,GACf0rD,EAAI,EAEN,YADAlzE,KAAKygF,QAAQ3B,EAAmBU,qBAGlCx/E,KAAK0gF,aAAav+E,EAAEq0D,UAAUhvC,EAAG0rD,IACjC1rD,EAAI0rD,EAAI,EACR,MACF,IAAK,MACD1rD,EACF,IAAIm5D,EAAK3gF,KAAK4gF,4BAA4Bz+E,EAAGqlB,GAC7C,GAAsD,OAAlDrlB,EAAEq0D,UAAUhvC,EAAIm5D,EAAGL,OAAQ94D,EAAIm5D,EAAGL,OAAS,GAE7C,YADAtgF,KAAKygF,QAAQ3B,EAAmBI,4BAGlCl/E,KAAK6gF,KAAKF,EAAGhgF,KAAMggF,EAAGt/E,OACtBmmB,GAAKm5D,EAAGL,OAAS,EACjB,MACF,IAAK,IACH,GAAkC,OAA9Bn+E,EAAEq0D,UAAUhvC,EAAI,EAAGA,EAAI,GAAa,CAEtC,GADA0rD,EAAI/wE,EAAEgf,QAAQ,SAAOqG,EAAI,GACrB0rD,EAAI,EAEN,YADAlzE,KAAKygF,QAAQ3B,EAAmBM,qBAGlCp/E,KAAK8gF,UAAU3+E,EAAEq0D,UAAUhvC,EAAI,EAAG0rD,IAClC1rD,EAAI0rD,EAAI,CACV,MAAO,GAAkC,YAA9B/wE,EAAEq0D,UAAUhvC,EAAI,EAAGA,EAAI,GAAkB,CAElD,GADA0rD,EAAI/wE,EAAEgf,QAAQ,MAAOqG,EAAI,GACrB0rD,EAAI,EAEN,YADAlzE,KAAKygF,QAAQ3B,EAAmBG,kBAGlCj/E,KAAK+gF,QAAQ5+E,EAAEq0D,UAAUhvC,EAAI,EAAG0rD,IAChC1rD,EAAI0rD,EAAI,CACV,KAAO,IAAkC,YAA9B/wE,EAAEq0D,UAAUhvC,EAAI,EAAGA,EAAI,GAqBhC,YADAxnB,KAAKygF,QAAQ3B,EAAmBO,kBAnBhC,IAAI2B,EAAK7+E,EAAEgf,QAAQ,IAAKqG,EAAI,GACxBy5D,GAAiB,EAErB,GADA/N,EAAI/wE,EAAEgf,QAAQ,IAAKqG,EAAI,GACnB0rD,EAAI,EAEN,YADAlzE,KAAKygF,QAAQ3B,EAAmBK,gCAGlC,GAAI6B,EAAK,GAAK9N,EAAI8N,EAAI,CAEpB,GADA9N,EAAI/wE,EAAEgf,QAAQ,KAAMqG,EAAI,GACpB0rD,EAAI,EAEN,YADAlzE,KAAKygF,QAAQ3B,EAAmBK,gCAGlC8B,GAAiB,CACnB,CACA,IAAIC,EAAiB/+E,EAAEq0D,UAAUhvC,EAAI,EAAG0rD,GAAK+N,EAAiB,EAAI,IAClEjhF,KAAKmhF,UAAUD,GACf15D,EAAI0rD,GAAK+N,EAAiB,EAAI,EAIhC,CACA,MACF,QACE,IAAIG,EAAUphF,KAAKqhF,cAAcl/E,EAAGqlB,GACpC,GAAgB,OAAZ45D,EAEF,YADAphF,KAAKygF,QAAQ3B,EAAmBO,kBAGlC,IAAInH,GAAW,EACf,GAAgE,OAA5D/1E,EAAEq0D,UAAUhvC,EAAI45D,EAAQd,OAAQ94D,EAAI45D,EAAQd,OAAS,GACvDpI,GAAW,OACN,GAAgE,MAA5D/1E,EAAEq0D,UAAUhvC,EAAI45D,EAAQd,OAAQ94D,EAAI45D,EAAQd,OAAS,GAE9D,YADAtgF,KAAKygF,QAAQ3B,EAAmBU,qBAGlCx/E,KAAKshF,eAAeF,EAAQzgF,KAAMygF,EAAQrB,WAAY7H,GACtD1wD,GAAK45D,EAAQd,QAAUpI,EAAW,EAAI,GACtC,MAEN,KAAO,CACL,MAAO1wD,EAAIrlB,EAAEuV,QAAmB,MAATvV,EAAEqlB,GACvBA,IAEF,IAAI+5D,EAAOp/E,EAAEq0D,UAAUn2D,EAAGmnB,GAC1BxnB,KAAKwhF,OAAOxhF,KAAKqgF,iBAAiBkB,GACpC,CACAlhF,EAAImnB,CACN,CACF,GACC,CACD7lB,IAAK,kBACLN,MAAO,SAAyBV,GAC9B,MAAO,IAAMA,EAAO,GACtB,GACC,CACDgB,IAAK,OACLN,MAAO,SAAcV,EAAMU,GAAQ,GAClC,CACDM,IAAK,YACLN,MAAO,SAAmBkgF,GAAO,GAChC,CACD5/E,IAAK,UACLN,MAAO,SAAiBkgF,GAAO,GAC9B,CACD5/E,IAAK,YACLN,MAAO,SAAmB6/E,GAAiB,GAC1C,CACDv/E,IAAK,SACLN,MAAO,SAAgBkgF,GAAO,GAC7B,CACD5/E,IAAK,iBACLN,MAAO,SAAwBV,EAAMo/E,EAAY0B,GAAU,GAC1D,CACD9/E,IAAK,eACLN,MAAO,SAAsBV,GAAO,GACnC,CACDgB,IAAK,UACLN,MAAO,SAAiB4V,GAAO,KAG1B2oE,CACT,CA9OoB,GAgPhB8B,EAAgB,WAClB,SAASA,EAAcpD,EAAUqD,GAC/BxgD,EAAgBnhC,KAAM0hF,GAEtB1hF,KAAKs+E,SAAWA,EAChBt+E,KAAK2hF,UAAYA,EACjB7gF,OAAOC,eAAef,KAAM,aAAc,CACxCqB,MAAO,KACPyV,UAAU,GAEd,CA8BA,OA5BAiqB,EAAa2gD,EAAe,CAAC,CAC3B//E,IAAK,gBACLN,MAAO,WACL,OAAOrB,KAAK0+E,YAAc1+E,KAAK0+E,WAAWhnE,OAAS,CACrD,GACC,CACD/V,IAAK,aACLV,IAAK,WACH,OAAOjB,KAAK0+E,WAAW,EACzB,GACC,CACD/8E,IAAK,cACLV,IAAK,WACH,IAAIklB,EAAQnmB,KAAK0f,WAAWg/D,WAAWv9D,QAAQnhB,MAC/C,OAAOA,KAAK0f,WAAWg/D,WAAWv4D,EAAQ,EAC5C,GACC,CACDxkB,IAAK,cACLV,IAAK,WACH,OAAKjB,KAAK0+E,WAGH1+E,KAAK0+E,WAAWpP,KAAI,SAAUsS,GACnC,OAAOA,EAAMl6B,WACf,IAAGpvC,KAAK,IAJCtY,KAAK2hF,WAAa,EAK7B,KAGKD,CACT,CAzCoB,GA2ChB1D,EAAkB,SAAU6D,GAG9B,SAAS7D,IACP78C,EAAgBnhC,KAAMg+E,GAEtB,IAAIp2C,EAAQuvB,EAA2Bn3D,MAAOg+E,EAAgB9iD,WAAap6B,OAAOooB,eAAe80D,IAAkBz9E,KAAKP,OAKxH,OAHA4nC,EAAMk6C,iBAAmB,KACzBl6C,EAAMm6C,OAAS,KACfn6C,EAAMo6C,WAAalD,EAAmBC,QAC/Bn3C,CACT,CAyEA,OApFAyvB,EAAU2mB,EAAiB6D,GAa3B9gD,EAAai9C,EAAiB,CAAC,CAC7Br8E,IAAK,kBACLN,MAAO,SAAyB2X,GAK9B,GAJAhZ,KAAK8hF,iBAAmB,GACxB9hF,KAAK+hF,OAAS,GACd/hF,KAAKgiF,WAAalD,EAAmBC,QACrC/+E,KAAKiiF,SAASjpE,GACVhZ,KAAKgiF,aAAelD,EAAmBC,QAA3C,CAIA,IAAI+C,EAAmBxmC,EAAet7C,KAAK8hF,iBAAkB,GACzDj2D,EAAkBi2D,EAAiB,GAEvC,GAAKj2D,EAGL,MAAO,CAAEA,gBAAiBA,EAR1B,CASF,GACC,CACDlqB,IAAK,kBACLN,MAAO,SAAyBV,GAC9B,OAAQA,GACN,IAAK,OACH,MAAO,IAEX,OAAOi+E,EAAKZ,EAAgBh8E,UAAUk5B,WAAap6B,OAAOooB,eAAe80D,EAAgBh8E,WAAY,kBAAmBhC,MAAMO,KAAKP,KAAMW,EAC3I,GACC,CACDgB,IAAK,SACLN,MAAO,SAAgBkgF,GACrB,IAAI5B,EAAmB4B,GAAvB,CAGA,IAAInrD,EAAO,IAAIsrD,EAAc,QAASH,GACtCvhF,KAAK8hF,iBAAiBzpE,KAAK+d,EAF3B,CAGF,GACC,CACDz0B,IAAK,UACLN,MAAO,SAAiBkgF,GACtB,IAAInrD,EAAO,IAAIsrD,EAAc,QAASH,GACtCvhF,KAAK8hF,iBAAiBzpE,KAAK+d,EAC7B,GACC,CACDz0B,IAAK,iBACLN,MAAO,SAAwBV,EAAMo/E,EAAY0B,GAC/C,IAAIrrD,EAAO,IAAIsrD,EAAc/gF,GAC7By1B,EAAKsoD,WAAa,GAClB1+E,KAAK8hF,iBAAiBzpE,KAAK+d,GACvBqrD,IAGJzhF,KAAK+hF,OAAO1pE,KAAKrY,KAAK8hF,kBACtB9hF,KAAK8hF,iBAAmB1rD,EAAKsoD,WAC/B,GACC,CACD/8E,IAAK,eACLN,MAAO,SAAsBV,GAC3BX,KAAK8hF,iBAAmB9hF,KAAK+hF,OAAOxnC,MAEpC,IADA,IAAI2nC,EAAcliF,KAAK8hF,iBAAiB9hF,KAAK8hF,iBAAiBpqE,OAAS,GAC9DrX,EAAI,EAAGyY,EAAKopE,EAAYxD,WAAWhnE,OAAQrX,EAAIyY,EAAIzY,IAC1D6hF,EAAYxD,WAAWr+E,GAAGqf,WAAawiE,CAE3C,GACC,CACDvgF,IAAK,UACLN,MAAO,SAAiB4V,GACtBjX,KAAKgiF,WAAa/qE,CACpB,KAGK+mE,CACT,CAtFsB,CAsFpB4B,GAEF7/E,EAAQi+E,gBAAkBA,CAEnB,EAED,SAAUl+E,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQu/C,4BAAyBl3C,EAEjC,IAAIwtE,EAAez1E,EAAoB,KAEnC01E,EAAgB55B,EAAuB25B,GAEvCl6B,EAAQv7C,EAAoB,GAEhC,SAAS87C,EAAuB1zC,GAAO,OAAOA,GAAOA,EAAI/G,WAAa+G,EAAM,CAAEg0C,QAASh0C,EAAO,CAE9F,SAASwtE,EAAkBryD,GAAM,OAAO,WAAc,IAAI8yD,EAAM9yD,EAAG5L,MAAM9X,KAAM6c,WAAY,OAAO,IAAIa,SAAQ,SAAUC,EAASC,GAAU,SAAS6Q,EAAK9sB,EAAKo3B,GAAO,IAAM,IAAIryB,EAAO8vE,EAAI70E,GAAKo3B,GAAU13B,EAAQqF,EAAKrF,KAAgD,CAAvC,MAAOwwB,GAAwB,YAAfjU,EAAOiU,EAAgB,CAAE,IAAInrB,EAAKmiB,KAAiC,OAAOnL,QAAQC,QAAQtc,GAAO8uB,MAAK,SAAU9uB,GAASotB,EAAK,OAAQptB,EAAQ,IAAG,SAAUixB,GAAO7D,EAAK,QAAS6D,EAAM,IAA5I3U,EAAQtc,EAA0I,CAAE,OAAOotB,EAAK,OAAS,GAAI,CAAG,CAEzc,IAAI6wB,EAAyB,WAC3B,SAASA,EAAuBv8C,EAAQk9C,GACtC,IAAIrY,EAAQ5nC,MAEZ,EAAI07C,EAAM10C,QAAQi5C,GAClBjgD,KAAKmiF,cAAgB,GACrB,IAAI5iC,EAAcx8C,EAAOw8C,YACzB,GAAIA,GAAeA,EAAY7nC,OAAS,EAAG,CACzC,IAAI+B,EAAS,IAAIlB,WAAWgnC,GAAa9lC,OACzCzZ,KAAKmiF,cAAc9pE,KAAKoB,EAC1B,CACAzZ,KAAKoiF,uBAAyBniC,EAC9BjgD,KAAKqiF,uBAAyBt/E,EAAO07C,cACrCz+C,KAAKsiF,mBAAqBv/E,EAAOy7C,aACjCx+C,KAAKuiF,eAAiBx/E,EAAO2U,OAC7B1X,KAAKwiF,mBAAqB,KAC1BxiF,KAAKyiF,cAAgB,GACrBziF,KAAKoiF,uBAAuBM,kBAAiB,SAAUtrE,EAAOe,GAC5DyvB,EAAM+6C,eAAe,CACnBvrE,MAAOA,EACPe,MAAOA,GAEX,IACAnY,KAAKoiF,uBAAuBQ,qBAAoB,SAAUthC,GACxD1Z,EAAMi7C,YAAY,CAAEvhC,OAAQA,GAC9B,IACAthD,KAAKoiF,uBAAuBU,4BAA2B,SAAU3qE,GAC/DyvB,EAAM+6C,eAAe,CAAExqE,MAAOA,GAChC,IACAnY,KAAKoiF,uBAAuBW,gBAC9B,CA0DA,SAASC,EAA6BlgD,EAAQmgD,GAC5CjjF,KAAK+sC,QAAUjK,EACf9iC,KAAKkjF,OAAQ,EACbljF,KAAKmjF,UAAY,KACjBnjF,KAAKmiF,cAAgBc,GAAgB,GACrCjjF,KAAKojF,UAAY,GACjBpjF,KAAKqjF,cAAgB3lE,QAAQC,UAC7BmlB,EAAO0/C,mBAAqBxiF,KAC5BA,KAAKwgD,WAAa,IACpB,CA4FA,SAAS8iC,EAAkCxgD,EAAQ1rB,EAAOC,GACxDrX,KAAK+sC,QAAUjK,EACf9iC,KAAKujF,OAASnsE,EACdpX,KAAKwjF,KAAOnsE,EACZrX,KAAKyjF,aAAe,KACpBzjF,KAAKojF,UAAY,GACjBpjF,KAAKkjF,OAAQ,EACbljF,KAAKwgD,WAAa,IACpB,CA4FA,OAlQAlB,EAAuBt9C,UAAY,CACjC2gF,eAAgB,SAA8C7tD,GAC5D,IAAIrb,EAAS,IAAIlB,WAAWuc,EAAK3c,OAAOsB,OACxC,QAAmBrR,IAAf0sB,EAAK1d,MACHpX,KAAKwiF,mBACPxiF,KAAKwiF,mBAAmBkB,SAASjqE,GAEjCzZ,KAAKmiF,cAAc9pE,KAAKoB,OAErB,CACL,IAAIkqE,EAAQ3jF,KAAKyiF,cAAch6B,MAAK,SAAU+E,GAC5C,OAAIA,EAAY+1B,SAAWzuD,EAAK1d,QAGhCo2C,EAAYk2B,SAASjqE,IACd,EACT,KACA,EAAIiiC,EAAM10C,QAAQ28E,EACpB,CACF,EACAd,YAAa,SAA+Cj2B,GAC1D,GAAI5sD,KAAKyiF,cAAc/qE,OAAS,EAAG,CACjC,IAAIksE,EAAc5jF,KAAKyiF,cAAc,GACjCmB,EAAYpjC,YACdojC,EAAYpjC,WAAW,CAAEc,OAAQsL,EAAItL,QAEzC,CACF,EACAuiC,mBAAoB,SAAkDr5C,GACpE,IAAInqC,EAAIL,KAAKyiF,cAActhE,QAAQqpB,GAC/BnqC,GAAK,GACPL,KAAKyiF,cAAcxoD,OAAO55B,EAAG,EAEjC,EACAssD,cAAe,YACb,EAAIjR,EAAM10C,SAAShH,KAAKwiF,oBACxB,IAAIS,EAAejjF,KAAKmiF,cAExB,OADAniF,KAAKmiF,cAAgB,KACd,IAAIa,EAA6BhjF,KAAMijF,EAChD,EACAx1B,eAAgB,SAA+Cr2C,EAAOC,GACpE,IAAImzB,EAAS,IAAI84C,EAAkCtjF,KAAMoX,EAAOC,GAGhE,OAFArX,KAAKoiF,uBAAuB0B,iBAAiB1sE,EAAOC,GACpDrX,KAAKyiF,cAAcpqE,KAAKmyB,GACjBA,CACT,EACAiiB,kBAAmB,SAAkD76B,GAC/D5xB,KAAKwiF,oBACPxiF,KAAKwiF,mBAAmBl6B,OAAO12B,GAEjC,IAAImyD,EAAU/jF,KAAKyiF,cAAcxnE,MAAM,GACvC8oE,EAAQ98D,SAAQ,SAAUumC,GACxBA,EAAYlF,OAAO12B,EACrB,IACA5xB,KAAKoiF,uBAAuB4B,OAC9B,GAYFhB,EAA6BhhF,UAAY,CACvC0hF,SAAU,SAA8CvrE,GACtD,IAAInY,KAAKkjF,MAGT,GAAIljF,KAAKojF,UAAU1rE,OAAS,EAA5B,CACE,IAAIusE,EAAoBjkF,KAAKojF,UAAUx+C,QACvCq/C,EAAkBtmE,QAAQ,CACxBtc,MAAO8W,EACP0Q,MAAM,GAGV,MACA7oB,KAAKmiF,cAAc9pE,KAAKF,EAC1B,EACIi1C,mBACF,OAAOptD,KAAKqjF,aACd,EACIzyB,eACF,OAAO5wD,KAAKmjF,SACd,EACI71B,uBACF,OAAOttD,KAAK+sC,QAAQu1C,iBACtB,EACIj1B,2BACF,OAAOrtD,KAAK+sC,QAAQs1C,qBACtB,EACI90B,oBACF,OAAOvtD,KAAK+sC,QAAQw1C,cACtB,EACAz6B,KAAM,WACJ,IAAInuC,EAAOo8D,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASC,IAC7E,IAAI99D,EAAO8rE,EACX,OAAOpO,EAAct5B,QAAQnf,MAAK,SAAkB+4C,GAClD,MAAO,EACL,OAAQA,EAAS7Y,KAAO6Y,EAASxsD,MAC/B,KAAK,EACH,KAAM3pB,KAAKmiF,cAAczqE,OAAS,GAAI,CACpCy+D,EAASxsD,KAAO,EAChB,KACF,CAGA,OADAxR,EAAQnY,KAAKmiF,cAAcv9C,QACpBuxC,EAASC,OAAO,SAAU,CAC/B/0E,MAAO8W,EACP0Q,MAAM,IAGV,KAAK,EACH,IAAK7oB,KAAKkjF,MAAO,CACf/M,EAASxsD,KAAO,EAChB,KACF,CAEA,OAAOwsD,EAASC,OAAO,SAAU,CAC/B/0E,WAAO+G,EACPygB,MAAM,IAGV,KAAK,EAIH,OAHAo7D,GAAoB,EAAIvoC,EAAM93C,2BAE9B5D,KAAKojF,UAAU/qE,KAAK4rE,GACb9N,EAASC,OAAO,SAAU6N,EAAkBxmE,SAErD,KAAK,EACL,IAAK,MACH,OAAO04D,EAASE,OAGxB,GAAGJ,EAASj2E,KACd,KAEA,SAAS8nD,IACP,OAAOnuC,EAAK7B,MAAM9X,KAAM6c,UAC1B,CAEA,OAAOirC,CACT,CAhDM,GAkDNQ,OAAQ,SAA6C12B,GACnD5xB,KAAKkjF,OAAQ,EACbljF,KAAKojF,UAAUn8D,SAAQ,SAAUg9D,GAC/BA,EAAkBtmE,QAAQ,CACxBtc,WAAO+G,EACPygB,MAAM,GAEV,IACA7oB,KAAKojF,UAAY,EACnB,GAWFE,EAAkCthF,UAAY,CAC5C0hF,SAAU,SAAmDvrE,GAC3D,IAAInY,KAAKkjF,MAAT,CAGA,GAA8B,IAA1BljF,KAAKojF,UAAU1rE,OACjB1X,KAAKyjF,aAAetrE,MACf,CACL,IAAI+rE,EAAqBlkF,KAAKojF,UAAUx+C,QACxCs/C,EAAmBvmE,QAAQ,CACzBtc,MAAO8W,EACP0Q,MAAM,IAER7oB,KAAKojF,UAAUn8D,SAAQ,SAAUg9D,GAC/BA,EAAkBtmE,QAAQ,CACxBtc,WAAO+G,EACPygB,MAAM,GAEV,IACA7oB,KAAKojF,UAAY,EACnB,CACApjF,KAAKkjF,OAAQ,EACbljF,KAAK+sC,QAAQ82C,mBAAmB7jF,KAlBhC,CAmBF,EACIqtD,2BACF,OAAO,CACT,EACAvF,KAAM,WACJ,IAAIne,EAAQosC,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASmO,IAC9E,IAAIhsE,EAAO8rE,EACX,OAAOpO,EAAct5B,QAAQnf,MAAK,SAAmBgnD,GACnD,MAAO,EACL,OAAQA,EAAU9mB,KAAO8mB,EAAUz6D,MACjC,KAAK,EACH,IAAK3pB,KAAKyjF,aAAc,CACtBW,EAAUz6D,KAAO,EACjB,KACF,CAKA,OAHAxR,EAAQnY,KAAKyjF,aAEbzjF,KAAKyjF,aAAe,KACbW,EAAUhO,OAAO,SAAU,CAChC/0E,MAAO8W,EACP0Q,MAAM,IAGV,KAAK,EACH,IAAK7oB,KAAKkjF,MAAO,CACfkB,EAAUz6D,KAAO,EACjB,KACF,CAEA,OAAOy6D,EAAUhO,OAAO,SAAU,CAChC/0E,WAAO+G,EACPygB,MAAM,IAGV,KAAK,EAIH,OAHAo7D,GAAoB,EAAIvoC,EAAM93C,2BAE9B5D,KAAKojF,UAAU/qE,KAAK4rE,GACbG,EAAUhO,OAAO,SAAU6N,EAAkBxmE,SAEtD,KAAK,EACL,IAAK,MACH,OAAO2mE,EAAU/N,OAGzB,GAAG8N,EAAUnkF,KACf,KAEA,SAAS8nD,IACP,OAAOne,EAAM7xB,MAAM9X,KAAM6c,UAC3B,CAEA,OAAOirC,CACT,CAlDM,GAoDNQ,OAAQ,SAAkD12B,GACxD5xB,KAAKkjF,OAAQ,EACbljF,KAAKojF,UAAUn8D,SAAQ,SAAUg9D,GAC/BA,EAAkBtmE,QAAQ,CACxBtc,WAAO+G,EACPygB,MAAM,GAEV,IACA7oB,KAAKojF,UAAY,GACjBpjF,KAAK+sC,QAAQ82C,mBAAmB7jF,KAClC,GAEKs/C,CACT,CAlS6B,GAmS7Bv/C,EAAQu/C,uBAAyBA,CAE1B,EAED,SAAUx/C,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ4lD,kBAAev9C,EAEvB,IAAI24B,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEfgyB,EAAQv7C,EAAoB,GAEhC,SAASghC,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,IAAIsiC,EAAe,WACjB,SAASA,EAAahsC,GACpB,IAAI0qE,EAAc1qE,EAAKisC,OACnBA,OAAyBx9C,IAAhBi8E,GAAoCA,EAEjDljD,EAAgBnhC,KAAM2lD,GAEtB3lD,KAAKskF,UAAsB,IAAX1+B,CAClB,CAsCA,OApCA7kB,EAAa4kB,EAAc,CAAC,CAC1BhkD,IAAK,eACLN,MAAO,SAAsBsoC,GAC3B,IAAIw8B,EAAQx8B,EAAMw8B,MACdxH,EAAOh1B,EAAMg1B,KACbiF,EAAaj6B,EAAMi6B,WAEvB,OAAO2gB,EAAWze,aAAaK,EAAOxH,EAAMiF,EAC9C,GACC,CACDjiE,IAAK,cACLN,MAAO,SAAqByoC,GAC1B,IAAI0lB,EAAQ1lB,EAAM0lB,MACdC,EAAS3lB,EAAM2lB,OACf4jB,EAAkBvpC,EAAMupC,gBACxBD,EAAUtpC,EAAMspC,QAChBtyD,EAAUgpB,EAAMhpB,QAEpB,OAAOyjE,EAAW1Q,YAAYrkB,EAAOC,EAAQ4jB,EAAiBD,EAAStyD,EACzE,GACC,CACDnf,IAAK,QACLN,MAAO,WACLkjF,EAAWh8B,SACb,GACC,CACD5mD,IAAK,YACLV,IAAK,WACH,IAAIotD,EAAUruD,KAAKskF,SAInB,OAHIj2B,IACFA,EAAUk2B,EAAWC,cAEhB,EAAI9oC,EAAM/2C,QAAQ3E,KAAM,YAAaquD,EAC9C,KAGK1I,CACT,CA/CmB,GAiDf4+B,EAAa,WACf,SAASE,EAAWC,EAAIztE,EAAM0tE,GAC5B,IAAIC,EAASF,EAAGG,aAAaF,GAC7BD,EAAGI,aAAaF,EAAQ3tE,GACxBytE,EAAGK,cAAcH,GACjB,IAAI3V,EAAWyV,EAAGM,mBAAmBJ,EAAQF,EAAGO,gBAChD,IAAKhW,EAAU,CACb,IAAIiW,EAAWR,EAAGS,iBAAiBP,GACnC,MAAM,IAAI7uE,MAAM,oCAAsCmvE,EACxD,CACA,OAAON,CACT,CACA,SAASQ,EAAmBV,EAAIztE,GAC9B,OAAOwtE,EAAWC,EAAIztE,EAAMytE,EAAGW,cACjC,CACA,SAASC,EAAqBZ,EAAIztE,GAChC,OAAOwtE,EAAWC,EAAIztE,EAAMytE,EAAGa,gBACjC,CACA,SAASC,EAAcd,EAAIe,GAEzB,IADA,IAAIC,EAAUhB,EAAGc,gBACRnlF,EAAI,EAAGyY,EAAK2sE,EAAQ/tE,OAAQrX,EAAIyY,IAAMzY,EAC7CqkF,EAAGiB,aAAaD,EAASD,EAAQplF,IAEnCqkF,EAAGkB,YAAYF,GACf,IAAIG,EAASnB,EAAGoB,oBAAoBJ,EAAShB,EAAGqB,aAChD,IAAKF,EAAQ,CACX,IAAIX,EAAWR,EAAGsB,kBAAkBN,GACpC,MAAM,IAAI3vE,MAAM,iCAAmCmvE,EACrD,CACA,OAAOQ,CACT,CACA,SAASO,EAAcvB,EAAIrV,EAAO6W,GAChCxB,EAAGyB,cAAcD,GACjB,IAAIE,EAAU1B,EAAGuB,gBAOjB,OANAvB,EAAG2B,YAAY3B,EAAG4B,WAAYF,GAC9B1B,EAAG6B,cAAc7B,EAAG4B,WAAY5B,EAAG8B,eAAgB9B,EAAG+B,eACtD/B,EAAG6B,cAAc7B,EAAG4B,WAAY5B,EAAGgC,eAAgBhC,EAAG+B,eACtD/B,EAAG6B,cAAc7B,EAAG4B,WAAY5B,EAAGiC,mBAAoBjC,EAAGkC,SAC1DlC,EAAG6B,cAAc7B,EAAG4B,WAAY5B,EAAGmC,mBAAoBnC,EAAGkC,SAC1DlC,EAAGoC,WAAWpC,EAAG4B,WAAY,EAAG5B,EAAGqC,KAAMrC,EAAGqC,KAAMrC,EAAGsC,cAAe3X,GAC7D+W,CACT,CACA,IAAIa,EAAWC,EACf,SAASC,IACHF,IAGJC,EAAgBpoE,SAASe,cAAc,UACvConE,EAAYC,EAAcn3B,WAAW,QAAS,CAAEq3B,oBAAoB,IACtE,CACA,IAAIC,EAAwB,m0BAcxBC,EAA0B,msDA4B1BC,EAAa,KACjB,SAASC,IACP,IAAIr1B,EAAQuyB,EACZyC,IACAh1B,EAAS+0B,EACTA,EAAgB,KAChBxC,EAAKuC,EACLA,EAAY,KACZ,IAAIQ,EAAerC,EAAmBV,EAAI2C,GACtCK,EAAiBpC,EAAqBZ,EAAI4C,GAC1C5B,EAAUF,EAAcd,EAAI,CAAC+C,EAAcC,IAC/ChD,EAAGiD,WAAWjC,GACd,IAAI7nB,EAAQ,CAAC,EACbA,EAAM6mB,GAAKA,EACX7mB,EAAM1L,OAASA,EACf0L,EAAM+pB,mBAAqBlD,EAAGmD,mBAAmBnC,EAAS,gBAC1D7nB,EAAMiqB,iBAAmBpD,EAAGqD,kBAAkBrC,EAAS,cACvD7nB,EAAMmqB,iBAAmBtD,EAAGmD,mBAAmBnC,EAAS,cACxD7nB,EAAMoqB,gBAAkBvD,EAAGmD,mBAAmBnC,EAAS,aACvD,IAAIwC,EAAmBxD,EAAGqD,kBAAkBrC,EAAS,cACjDyC,EAAmBzD,EAAGmD,mBAAmBnC,EAAS,WAClD0C,EAAkB1D,EAAGmD,mBAAmBnC,EAAS,UACjD2C,EAAiB3D,EAAG4D,eACxB5D,EAAG6D,WAAW7D,EAAG8D,aAAcH,GAC/B3D,EAAG+D,WAAW/D,EAAG8D,aAAc,IAAIE,aAAa,CAAC,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,IAAOhE,EAAGiE,aAClHjE,EAAGkE,wBAAwBV,GAC3BxD,EAAGmE,oBAAoBX,EAAkB,EAAGxD,EAAGoE,OAAO,EAAO,EAAG,GAChEpE,EAAGqE,UAAUZ,EAAkB,GAC/BzD,EAAGqE,UAAUX,EAAiB,GAC9Bb,EAAa1pB,CACf,CACA,SAASiI,EAAaK,EAAOxH,EAAMiF,GACjC,IAAIpU,EAAQ2W,EAAM3W,MACdC,EAAS0W,EAAM1W,OACd83B,GACHC,IAEF,IAAI3pB,EAAQ0pB,EACRp1B,EAAS0L,EAAM1L,OACfuyB,EAAK7mB,EAAM6mB,GACfvyB,EAAO3C,MAAQA,EACf2C,EAAO1C,OAASA,EAChBi1B,EAAG7xB,SAAS,EAAG,EAAG6xB,EAAGsE,mBAAoBtE,EAAGuE,qBAC5CvE,EAAGwE,UAAUrrB,EAAM+pB,mBAAoBp4B,EAAOC,GAC1CmU,EAAW4B,SACbkf,EAAGyE,UAAUtrB,EAAM+pB,mBAAoBhkB,EAAW4B,SAAS,GAAI5B,EAAW4B,SAAS,GAAI5B,EAAW4B,SAAS,GAAI,GAE/Gkf,EAAGyE,UAAUtrB,EAAM+pB,mBAAoB,EAAG,EAAG,EAAG,GAElDlD,EAAGqE,UAAUlrB,EAAMoqB,gBAAwC,eAAvBrkB,EAAW2B,QAA2B,EAAI,GAC9E,IAAI6gB,EAAUH,EAAcvB,EAAIve,EAAOue,EAAG0E,UACtCC,EAAcpD,EAAcvB,EAAI/lB,EAAM+lB,EAAG4E,UACzC7vE,EAASirE,EAAG4D,eAchB,OAbA5D,EAAG6D,WAAW7D,EAAG8D,aAAc/uE,GAC/BirE,EAAG+D,WAAW/D,EAAG8D,aAAc,IAAIE,aAAa,CAAC,EAAG,EAAGl5B,EAAO,EAAG,EAAGC,EAAQ,EAAGA,EAAQD,EAAO,EAAGA,EAAOC,IAAUi1B,EAAGiE,aACrHjE,EAAGkE,wBAAwB/qB,EAAMiqB,kBACjCpD,EAAGmE,oBAAoBhrB,EAAMiqB,iBAAkB,EAAGpD,EAAGoE,OAAO,EAAO,EAAG,GACtEpE,EAAG6E,WAAW,EAAG,EAAG,EAAG,GACvB7E,EAAG9+B,OAAO8+B,EAAG8E,OACb9E,EAAG+E,UAAU/E,EAAGgF,IAAKhF,EAAGiF,qBACxBjF,EAAGlvD,MAAMkvD,EAAGkF,kBACZlF,EAAGmF,WAAWnF,EAAGoF,UAAW,EAAG,GAC/BpF,EAAG1uD,QACH0uD,EAAGqF,cAAc3D,GACjB1B,EAAGqF,cAAcV,GACjB3E,EAAGsF,aAAavwE,GACT04C,CACT,CACA,IAAI83B,EAA0B,mgCAiB1BC,EAA4B,mcAQ5BC,EAAe,KACnB,SAASC,IACP,IAAIj4B,EAAQuyB,EACZyC,IACAh1B,EAAS+0B,EACTA,EAAgB,KAChBxC,EAAKuC,EACLA,EAAY,KACZ,IAAIQ,EAAerC,EAAmBV,EAAIuF,GACtCvC,EAAiBpC,EAAqBZ,EAAIwF,GAC1CxE,EAAUF,EAAcd,EAAI,CAAC+C,EAAcC,IAC/ChD,EAAGiD,WAAWjC,GACd,IAAI7nB,EAAQ,CAAC,EACbA,EAAM6mB,GAAKA,EACX7mB,EAAM1L,OAASA,EACf0L,EAAM+pB,mBAAqBlD,EAAGmD,mBAAmBnC,EAAS,gBAC1D7nB,EAAMwsB,cAAgB3F,EAAGmD,mBAAmBnC,EAAS,WACrD7nB,EAAMysB,eAAiB5F,EAAGmD,mBAAmBnC,EAAS,YACtD7nB,EAAMiqB,iBAAmBpD,EAAGqD,kBAAkBrC,EAAS,cACvD7nB,EAAM0sB,cAAgB7F,EAAGqD,kBAAkBrC,EAAS,WACpDyE,EAAetsB,CACjB,CACA,SAASgW,EAAYrkB,EAAOC,EAAQ4jB,EAAiBD,EAAStyD,GACvDqpE,GACHC,IAEF,IAAIvsB,EAAQssB,EACRh4B,EAAS0L,EAAM1L,OACfuyB,EAAK7mB,EAAM6mB,GACfvyB,EAAO3C,MAAQA,EACf2C,EAAO1C,OAASA,EAChBi1B,EAAG7xB,SAAS,EAAG,EAAG6xB,EAAGsE,mBAAoBtE,EAAGuE,qBAC5CvE,EAAGwE,UAAUrrB,EAAM+pB,mBAAoBp4B,EAAOC,GAC9C,IACIpvD,EAAGyY,EAAIk6D,EADPnU,EAAQ,EAEZ,IAAKx+D,EAAI,EAAGyY,EAAKs6D,EAAQ17D,OAAQrX,EAAIyY,EAAIzY,IACvC,OAAQ+yE,EAAQ/yE,GAAG6d,MACjB,IAAK,UACH80D,EAAOI,EAAQ/yE,GAAG8+D,OAAOznD,OAAS07D,EAAQ/yE,GAAG0yE,eAAiB,EAC9DlU,IAAUmU,EAAO,IAAMI,EAAQ/yE,GAAG0yE,eAAiB,GAAK,EACxD,MACF,IAAK,YACHlU,GAASuU,EAAQ/yE,GAAG8+D,OAAOznD,OAC3B,MAGN,IAAIynD,EAAS,IAAIupB,aAAqB,EAAR7pB,GAC1BkS,EAAS,IAAIx4D,WAAmB,EAARsmD,GACxB2rB,EAAY1pE,EAAQq+C,OACpBsrB,EAAY3pE,EAAQiwD,OACpB2Z,EAAS,EACTC,EAAS,EACb,IAAKtqF,EAAI,EAAGyY,EAAKs6D,EAAQ17D,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC5C,IAAIuyE,EAASQ,EAAQ/yE,GACjBwyE,EAAKD,EAAOzT,OACZ2T,EAAKF,EAAO7B,OAChB,OAAQ6B,EAAO10D,MACb,IAAK,UACH,IAAI+0D,EAAOL,EAAOG,eAClBC,EAAOH,EAAGn7D,OAASu7D,EAAO,EAC1B,IAAK,IAAIrN,EAAM,EAAGA,EAAMoN,EAAMpN,IAE5B,IADA,IAAIvsD,EAASusD,EAAMqN,EAAO,EACjB2X,EAAM,EAAGA,EAAM3X,EAAM2X,IAAOvxE,IACnC8lD,EAAOurB,GAAUF,EAAU3X,EAAGx5D,EAAS45D,EAAO,IAC9C9T,EAAOurB,EAAS,GAAKF,EAAU3X,EAAGx5D,EAAS45D,EAAO,GAAK,GACvD9T,EAAOurB,EAAS,GAAKF,EAAU3X,EAAGx5D,EAAS45D,IAC3C9T,EAAOurB,EAAS,GAAKF,EAAU3X,EAAGx5D,EAAS45D,GAAQ,GACnD9T,EAAOurB,EAAS,GAAKF,EAAU3X,EAAGx5D,EAAS,IAC3C8lD,EAAOurB,EAAS,GAAKF,EAAU3X,EAAGx5D,EAAS,GAAK,GAChD03D,EAAO4Z,GAAUF,EAAU3X,EAAGz5D,EAAS45D,EAAO,IAC9ClC,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGz5D,EAAS45D,EAAO,GAAK,GACvDlC,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGz5D,EAAS45D,EAAO,GAAK,GACvDlC,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGz5D,EAAS45D,IAC3ClC,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGz5D,EAAS45D,GAAQ,GACnDlC,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGz5D,EAAS45D,GAAQ,GACnDlC,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGz5D,EAAS,IAC3C03D,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGz5D,EAAS,GAAK,GAChD03D,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGz5D,EAAS,GAAK,GAChD8lD,EAAOurB,EAAS,GAAKvrB,EAAOurB,EAAS,GACrCvrB,EAAOurB,EAAS,GAAKvrB,EAAOurB,EAAS,GACrCvrB,EAAOurB,EAAS,GAAKvrB,EAAOurB,EAAS,GACrCvrB,EAAOurB,EAAS,GAAKvrB,EAAOurB,EAAS,GACrCvrB,EAAOurB,EAAS,IAAMF,EAAU3X,EAAGx5D,IACnC8lD,EAAOurB,EAAS,IAAMF,EAAU3X,EAAGx5D,GAAU,GAC7C03D,EAAO4Z,EAAS,GAAK5Z,EAAO4Z,EAAS,GACrC5Z,EAAO4Z,EAAS,IAAM5Z,EAAO4Z,EAAS,GACtC5Z,EAAO4Z,EAAS,IAAM5Z,EAAO4Z,EAAS,GACtC5Z,EAAO4Z,EAAS,IAAM5Z,EAAO4Z,EAAS,GACtC5Z,EAAO4Z,EAAS,IAAM5Z,EAAO4Z,EAAS,GACtC5Z,EAAO4Z,EAAS,IAAM5Z,EAAO4Z,EAAS,GACtC5Z,EAAO4Z,EAAS,IAAMF,EAAU3X,EAAGz5D,IACnC03D,EAAO4Z,EAAS,IAAMF,EAAU3X,EAAGz5D,GAAU,GAC7C03D,EAAO4Z,EAAS,IAAMF,EAAU3X,EAAGz5D,GAAU,GAC7CqxE,GAAU,GACVC,GAAU,GAGd,MACF,IAAK,YACH,IAAK,IAAInjE,EAAI,EAAG+3C,EAAKsT,EAAGn7D,OAAQ8P,EAAI+3C,EAAI/3C,IACtC23C,EAAOurB,GAAUF,EAAU3X,EAAGrrD,IAC9B23C,EAAOurB,EAAS,GAAKF,EAAU3X,EAAGrrD,GAAK,GACvCupD,EAAO4Z,GAAUF,EAAU3X,EAAGtrD,IAC9BupD,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGtrD,GAAK,GACvCupD,EAAO4Z,EAAS,GAAKF,EAAU3X,EAAGtrD,GAAK,GACvCkjE,GAAU,EACVC,GAAU,EAEZ,MAEN,CACItX,EACFqR,EAAG6E,WAAWlW,EAAgB,GAAK,IAAKA,EAAgB,GAAK,IAAKA,EAAgB,GAAK,IAAK,GAE5FqR,EAAG6E,WAAW,EAAG,EAAG,EAAG,GAEzB7E,EAAGlvD,MAAMkvD,EAAGkF,kBACZ,IAAIiB,EAAenG,EAAG4D,eACtB5D,EAAG6D,WAAW7D,EAAG8D,aAAcqC,GAC/BnG,EAAG+D,WAAW/D,EAAG8D,aAAcrpB,EAAQulB,EAAGiE,aAC1CjE,EAAGkE,wBAAwB/qB,EAAMiqB,kBACjCpD,EAAGmE,oBAAoBhrB,EAAMiqB,iBAAkB,EAAGpD,EAAGoE,OAAO,EAAO,EAAG,GACtE,IAAIgC,EAAepG,EAAG4D,eAWtB,OAVA5D,EAAG6D,WAAW7D,EAAG8D,aAAcsC,GAC/BpG,EAAG+D,WAAW/D,EAAG8D,aAAczX,EAAQ2T,EAAGiE,aAC1CjE,EAAGkE,wBAAwB/qB,EAAM0sB,eACjC7F,EAAGmE,oBAAoBhrB,EAAM0sB,cAAe,EAAG7F,EAAGsC,eAAe,EAAO,EAAG,GAC3EtC,EAAGwE,UAAUrrB,EAAMwsB,cAAevpE,EAAQilD,OAAQjlD,EAAQklD,QAC1D0e,EAAGwE,UAAUrrB,EAAMysB,eAAgBxpE,EAAQ2zC,QAAS3zC,EAAQ6zC,SAC5D+vB,EAAGmF,WAAWnF,EAAGoF,UAAW,EAAGjrB,GAC/B6lB,EAAG1uD,QACH0uD,EAAGsF,aAAaa,GAChBnG,EAAGsF,aAAac,GACT34B,CACT,CACA,MAAO,CACLqyB,UAAW,WACT,IAEE,OADA2C,MACSF,CACG,CAAZ,MAAOtwE,GAAK,CACd,OAAO,CACT,EAEAmvD,aAAcA,EACd+N,YAAaA,EACbtrB,QAAS,WACHg/B,GAAcA,EAAWp1B,SAC3Bo1B,EAAWp1B,OAAO3C,MAAQ,EAC1B+3B,EAAWp1B,OAAO1C,OAAS,GAEzB06B,GAAgBA,EAAah4B,SAC/Bg4B,EAAah4B,OAAO3C,MAAQ,EAC5B26B,EAAah4B,OAAO1C,OAAS,GAE/B83B,EAAa,KACb4C,EAAe,IACjB,EAEJ,CAxViB,GAyVjBpqF,EAAQ4lD,aAAeA,CAEhB,EAED,SAAU7lD,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ2D,qBAAkB0E,EAE1B,IAAIszC,EAAQv7C,EAAoB,GAE5B47C,EAAgB57C,EAAoB,GAEpC67C,EAAiBC,EAAuBF,GAE5C,SAASE,EAAuB1zC,GAAO,OAAOA,GAAOA,EAAI/G,WAAa+G,EAAM,CAAEg0C,QAASh0C,EAAO,CAE9F,IAAI7E,EAAkB,WACpB,IAAIqnF,EAA0B,IAC1BC,EAAsB,KAC1B,SAASC,EAAgB1zE,GACvB,OAAQyzE,EAAoB7iE,KAAK5Q,EACnC,CACA,IAAI2zE,EAAW,CAAC,SAAU,EAAG,YAAa,EAAG,kBAAmB,EAAG,oBAAqB,GAAI,KAC5F,SAASC,EAAWh8D,EAAMi8D,EAAMpjC,GAC9B,IAAIqjC,EAAUvsE,SAASe,cAAc,OACjCyrE,EAAoB,CACtBngE,MAAO,KACPoyC,MAAO,EACPguB,YAAa,EACb7L,cAAc,EACd8L,kBAAmB,KACnBC,cAAe,EACfC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZlnC,MAAO,GAGT,GADAv1B,EAAK08D,UAAUxzE,KAAKgzE,GAChBJ,EAAgBG,EAAK7zE,KAGvB,OAFA+zE,EAAkB5L,cAAe,OACjCvwD,EAAK28D,mBAAmB7yE,IAAIoyE,EAASC,GAGvC,IAAIS,EAAKrwC,EAAM92C,KAAKmL,UAAUof,EAAK68D,UAAUj8E,UAAWq7E,EAAKr7E,WACzDwtD,EAAQtlD,KAAKg0E,MAAMF,EAAG,GAAIA,EAAG,IAC7B5gE,EAAQ68B,EAAOojC,EAAKc,UACpB/gE,EAAM6/C,WACRzN,GAAStlD,KAAKk0E,GAAK,GAErB,IAOIpd,EACAC,EARAod,EAAan0E,KAAK4D,KAAKkwE,EAAG,GAAKA,EAAG,GAAKA,EAAG,GAAKA,EAAG,IAClDM,EAAaD,EAuCjB,GAtCIjhE,EAAMmhE,OACRD,EAAalhE,EAAMmhE,OAASD,EACnBlhE,EAAMohE,UACfF,GAAc,EAAIlhE,EAAMohE,SAAWF,GAIvB,IAAV9uB,GACFwR,EAAOgd,EAAG,GACV/c,EAAM+c,EAAG,GAAKM,IAEdtd,EAAOgd,EAAG,GAAKM,EAAap0E,KAAK0lD,IAAIJ,GACrCyR,EAAM+c,EAAG,GAAKM,EAAap0E,KAAKwlD,IAAIF,IAEtC2tB,EAAS,GAAKnc,EACdmc,EAAS,GAAKlc,EACdkc,EAAS,GAAKkB,EACdlB,EAAS,GAAK//D,EAAMovC,WACpB+wB,EAAkBngE,MAAQ+/D,EAAS5yE,KAAK,IACxC+yE,EAAQ92B,aAAa,QAAS+2B,EAAkBngE,OAChDkgE,EAAQ3jC,YAAc0jC,EAAK7zE,IACvB4X,EAAKq9D,wBACPnB,EAAQoB,QAAQP,SAAWd,EAAKc,UAEpB,IAAV3uB,IACF+tB,EAAkB/tB,MAAQA,GAAS,IAAMtlD,KAAKk0E,KAE5Cf,EAAK7zE,IAAIG,OAAS,IAChByT,EAAM6/C,SACRsgB,EAAkBC,YAAcH,EAAK37B,OAAStgC,EAAK68D,UAAUtnC,MAE7D4mC,EAAkBC,YAAcH,EAAK57B,MAAQrgC,EAAK68D,UAAUtnC,OAGhEv1B,EAAK28D,mBAAmB7yE,IAAIoyE,EAASC,GACjCn8D,EAAKu9D,oBACPv9D,EAAKw9D,YAAYtB,GAEfl8D,EAAKy9D,sBAAuB,CAC9B,IAAIC,EAAW,EACXC,EAAW,EACD,IAAVvvB,IACFsvB,EAAW50E,KAAKwlD,IAAIF,GACpBuvB,EAAW70E,KAAK0lD,IAAIJ,IAEtB,IAEI/8D,EAAG+Z,EAFHwyE,GAAY5hE,EAAM6/C,SAAWogB,EAAK37B,OAAS27B,EAAK57B,OAASrgC,EAAK68D,UAAUtnC,MACxEsoC,EAAYZ,EAEF,IAAV7uB,GACF/8D,EAAI,CAACqsF,EAAUC,GAAWA,EAAUD,EAAU9d,EAAMC,GACpDz0D,EAAImhC,EAAM92C,KAAKkW,2BAA2B,CAAC,EAAG,EAAGiyE,EAAUC,GAAYxsF,IAEvE+Z,EAAI,CAACw0D,EAAMC,EAAKD,EAAOge,EAAU/d,EAAMge,GAEzC79D,EAAK89D,QAAQ50E,KAAK,CAChB02D,KAAMx0D,EAAE,GACRy0D,IAAKz0D,EAAE,GACP2yE,MAAO3yE,EAAE,GACT4yE,OAAQ5yE,EAAE,GACVqF,IAAKyrE,EACL1qD,KAAM,CAACosD,EAAUC,GACjBxsF,EAAGA,GAEP,CACF,CACA,SAAS2kD,EAAOh2B,GACd,IAAIA,EAAKi+D,UAAT,CAGA,IAAIC,EAAWl+D,EAAK08D,UAChBruE,EAAa2R,EAAK6wB,YAClBstC,EAAiBD,EAAS31E,OAC9B,GAAI41E,EAAiBvC,EAGnB,OAFA57D,EAAKo+D,gBAAiB,OACtB/vE,EAAWG,UAGb,IAAKwR,EAAKu9D,mBACR,IAAK,IAAIrsF,EAAI,EAAGA,EAAIitF,EAAgBjtF,IAClC8uB,EAAKw9D,YAAYU,EAAShtF,IAG9B8uB,EAAKo+D,gBAAiB,EACtB/vE,EAAWG,SAfX,CAgBF,CACA,SAAS6vE,EAAOr+D,GAId,IAHA,IAAIo/C,EAASp/C,EAAK89D,QACdp6B,EAAW1jC,EAAK68D,UAChByB,EAAWC,EAAa76B,EAASrD,MAAOqD,EAASpD,OAAQ8e,GACpDluE,EAAI,EAAGA,EAAIotF,EAAS/1E,OAAQrX,IAAK,CACxC,IAAIuf,EAAM2uD,EAAOluE,GAAGuf,IAChB+tE,EAAgBx+D,EAAK28D,mBAAmB7qF,IAAI2e,GAChD,GAA4B,IAAxB+tE,EAAcpwB,MAAlB,CAQA,IAAIlnD,EAAIo3E,EAASptF,GACbka,EAAIg0D,EAAOluE,GACXG,EAAI+Z,EAAE/Z,EACNC,EAAID,EAAE,GACN2B,EAAI3B,EAAE,GACN+9D,EAAS,CAAC,CAAC,EAAG,GAAI,CAAC,EAAGhkD,EAAEomB,KAAK,IAAK,CAACpmB,EAAEomB,KAAK,GAAI,GAAIpmB,EAAEomB,MACpDitD,EAAK,IAAIC,aAAa,IAC1BtvB,EAAOt3C,SAAQ,SAAU/kB,EAAG7B,GAC1B,IAAIiB,EAAIo6C,EAAM92C,KAAK8V,eAAexY,EAAG1B,GACrCotF,EAAGvtF,EAAI,GAAKI,IAAM4V,EAAE04D,KAAOztE,EAAE,IAAMb,EACnCmtF,EAAGvtF,EAAI,GAAK8B,IAAMkU,EAAE24D,IAAM1tE,EAAE,IAAMa,EAClCyrF,EAAGvtF,EAAI,GAAKI,IAAM4V,EAAE62E,MAAQ5rF,EAAE,IAAMb,EACpCmtF,EAAGvtF,EAAI,IAAM8B,IAAMkU,EAAE82E,OAAS7rF,EAAE,IAAMa,EACtCyrF,EAAGvtF,EAAI,IAAM8B,IAAMkU,EAAE04D,KAAOztE,EAAE,KAAOa,EACrCyrF,EAAGvtF,EAAI,IAAMI,IAAM4V,EAAE24D,IAAM1tE,EAAE,IAAMb,EACnCmtF,EAAGvtF,EAAI,IAAM8B,IAAMkU,EAAE62E,MAAQ5rF,EAAE,KAAOa,EACtCyrF,EAAGvtF,EAAI,IAAMI,IAAM4V,EAAE82E,OAAS7rF,EAAE,IAAMb,EACtCmtF,EAAGvtF,EAAI,IAAMI,IAAM4V,EAAE04D,KAAOztE,EAAE,KAAOb,EACrCmtF,EAAGvtF,EAAI,IAAM8B,IAAMkU,EAAE24D,IAAM1tE,EAAE,KAAOa,EACpCyrF,EAAGvtF,EAAI,IAAMI,IAAM4V,EAAE62E,MAAQ5rF,EAAE,KAAOb,EACtCmtF,EAAGvtF,EAAI,IAAM8B,IAAMkU,EAAE82E,OAAS7rF,EAAE,KAAOa,EACvCyrF,EAAGvtF,EAAI,IAAM8B,IAAMkU,EAAE04D,KAAOztE,EAAE,IAAMa,EACpCyrF,EAAGvtF,EAAI,IAAMI,IAAM4V,EAAE24D,IAAM1tE,EAAE,KAAOb,EACpCmtF,EAAGvtF,EAAI,IAAM8B,IAAMkU,EAAE62E,MAAQ5rF,EAAE,IAAMa,EACrCyrF,EAAGvtF,EAAI,IAAMI,IAAM4V,EAAE82E,OAAS7rF,EAAE,KAAOb,CACzC,IACA,IAAIqtF,EAAkB,SAAyBF,EAAIv0E,EAAQwlD,GAEzD,IADA,IAAIpiD,EAAS,EACJpc,EAAI,EAAGA,EAAIw+D,EAAOx+D,IAAK,CAC9B,IAAIiB,EAAIssF,EAAGv0E,KACP/X,EAAI,IACNmb,EAASA,EAASxE,KAAKC,IAAI5W,EAAGmb,GAAUnb,EAE5C,CACA,OAAOmb,CACT,EACIsxE,EAAW,EAAI91E,KAAKC,IAAID,KAAKo9C,IAAI50D,GAAIwX,KAAKo9C,IAAIlzD,IAClDwrF,EAAcjC,YAAcoC,EAAgBF,EAAI,GAAI,IAAMG,EAC1DJ,EAAc/B,WAAakC,EAAgBF,EAAI,GAAI,IAAMG,EACzDJ,EAAchC,aAAemC,EAAgBF,EAAI,EAAG,IAAMG,EAC1DJ,EAAclC,cAAgBqC,EAAgBF,EAAI,GAAI,IAAMG,EAC5D5+D,EAAK28D,mBAAmB7yE,IAAI2G,EAAK+tE,EA1CjC,MANEA,EAAcjC,YAAcnd,EAAOluE,GAAG0uE,KAAO0e,EAASptF,GAAG0uE,KACzD4e,EAAc/B,WAAard,EAAOluE,GAAG2uE,IAAMye,EAASptF,GAAG2uE,IACvD2e,EAAchC,aAAe8B,EAASptF,GAAG6sF,MAAQ3e,EAAOluE,GAAG6sF,MAC3DS,EAAclC,cAAgBgC,EAASptF,GAAG8sF,OAAS5e,EAAOluE,GAAG8sF,OAC7Dh+D,EAAK28D,mBAAmB7yE,IAAI2G,EAAK+tE,EA6CrC,CACF,CACA,SAASD,EAAal+B,EAAOC,EAAQu+B,GACnC,IAAIzf,EAASyf,EAAM1e,KAAI,SAAU2e,EAAK5tF,GACpC,MAAO,CACL2tE,GAAIigB,EAAIlf,KACRd,GAAIggB,EAAIjf,IACRiC,GAAIgd,EAAIf,MACRhc,GAAI+c,EAAId,OACRhnE,MAAO9lB,EACP6tF,WAAO9lF,EACP+lF,WAAO/lF,EAEX,IACAgmF,EAAgB5+B,EAAO+e,GACvB,IAAIkf,EAAW,IAAIptE,MAAM2tE,EAAMt2E,QA2B/B,OA1BA62D,EAAOtnD,SAAQ,SAAU1M,GACvB,IAAIla,EAAIka,EAAE4L,MACVsnE,EAASptF,GAAK,CACZ0uE,KAAMx0D,EAAE2zE,MACRlf,IAAK,EACLke,MAAO3yE,EAAE4zE,MACThB,OAAQ,EAEZ,IACAa,EAAM1e,KAAI,SAAU2e,EAAK5tF,GACvB,IAAIgW,EAAIo3E,EAASptF,GACbka,EAAIg0D,EAAOluE,GACfka,EAAEyzD,GAAKigB,EAAIjf,IACXz0D,EAAE0zD,GAAKze,EAAQn5C,EAAE62E,MACjB3yE,EAAE02D,GAAKgd,EAAId,OACX5yE,EAAE22D,GAAK1hB,EAAQn5C,EAAE04D,KACjBx0D,EAAE4L,MAAQ9lB,EACVka,EAAE2zE,WAAQ9lF,EACVmS,EAAE4zE,WAAQ/lF,CACZ,IACAgmF,EAAgB3+B,EAAQ8e,GACxBA,EAAOtnD,SAAQ,SAAU1M,GACvB,IAAIla,EAAIka,EAAE4L,MACVsnE,EAASptF,GAAG2uE,IAAMz0D,EAAE2zE,MACpBT,EAASptF,GAAG8sF,OAAS5yE,EAAE4zE,KACzB,IACOV,CACT,CACA,SAASW,EAAgB5+B,EAAO+e,GAC9BA,EAAOhyD,MAAK,SAAUb,EAAGnB,GACvB,OAAOmB,EAAEsyD,GAAKzzD,EAAEyzD,IAAMtyD,EAAEyK,MAAQ5L,EAAE4L,KACpC,IACA,IAAIkoE,EAAe,CACjBrgB,IAAKhuC,IACLiuC,IAAKjuC,IACLixC,GAAI,EACJC,GAAIlxC,IACJ7Z,OAAQ,EACR+nE,MAAO,EACPC,MAAO,GAELG,EAAU,CAAC,CACbl1E,OAAQ4mB,IACR3oB,IAAK2oB,IACLuuD,SAAUF,IAEZ9f,EAAOtnD,SAAQ,SAAUsnE,GACvB,IAAIluF,EAAI,EACR,MAAOA,EAAIiuF,EAAQ52E,QAAU42E,EAAQjuF,GAAGgX,KAAOk3E,EAAStgB,GACtD5tE,IAEF,IAIImuF,EAAaC,EAJbjnE,EAAI8mE,EAAQ52E,OAAS,EACzB,MAAO8P,GAAK,GAAK8mE,EAAQ9mE,GAAGpO,OAASm1E,EAASrd,GAC5C1pD,IAGF,IAAI0rD,EACAhsD,EACAwnE,GAAW1uD,IACf,IAAKkzC,EAAI7yE,EAAG6yE,GAAK1rD,EAAG0rD,IAAK,CAGvB,IAAIyb,EAFJH,EAAcF,EAAQpb,GACtBub,EAAmBD,EAAYD,SAG7BI,EADEF,EAAiBxd,GAAKsd,EAASvgB,GAC1BygB,EAAiBtoE,MAAQooE,EAASpoE,MAAQsoE,EAAiBP,MAAQK,EAASvgB,QAC/C5lE,IAA3BqmF,EAAiBN,OAClBM,EAAiBxd,GAAKsd,EAASvgB,IAAM,EAEtCygB,EAAiBN,MAEtBQ,EAAOD,IACTA,EAAUC,EAEd,CAEA,IADAJ,EAASL,MAAQQ,EACZxb,EAAI7yE,EAAG6yE,GAAK1rD,EAAG0rD,IAClBsb,EAAcF,EAAQpb,GACtBub,EAAmBD,EAAYD,cACAnmF,IAA3BqmF,EAAiBN,MACfM,EAAiBxd,GAAKsd,EAASvgB,GAC7BygB,EAAiBtoE,MAAQooE,EAASpoE,QACpCsoE,EAAiBN,MAAQM,EAAiBxd,IAG5Cwd,EAAiBN,MAAQO,EAElBD,EAAiBN,MAAQO,IAClCD,EAAiBN,MAAQl2E,KAAKmD,IAAIszE,EAASD,EAAiBxd,KAGhE,IAAI2d,EAAiB,GACjBC,EAAe,KACnB,IAAK3b,EAAI7yE,EAAG6yE,GAAK1rD,EAAG0rD,IAAK,CACvBsb,EAAcF,EAAQpb,GACtBub,EAAmBD,EAAYD,SAC/B,IAAIO,EAAcL,EAAiBxd,GAAKsd,EAAStd,GAAKwd,EAAmBF,EACrEM,IAAiBC,EACnBF,EAAeA,EAAel3E,OAAS,GAAGL,IAAMm3E,EAAYn3E,KAE5Du3E,EAAev2E,KAAK,CAClBe,MAAOo1E,EAAYp1E,MACnB/B,IAAKm3E,EAAYn3E,IACjBk3E,SAAUO,IAEZD,EAAeC,EAEnB,CAiBA,IAhBIR,EAAQjuF,GAAG+Y,MAAQm1E,EAAStgB,KAC9B2gB,EAAe,GAAGx1E,MAAQm1E,EAAStgB,GACnC2gB,EAAeG,QAAQ,CACrB31E,MAAOk1E,EAAQjuF,GAAG+Y,MAClB/B,IAAKk3E,EAAStgB,GACdsgB,SAAUD,EAAQjuF,GAAGkuF,YAGrBA,EAASrd,GAAKod,EAAQ9mE,GAAGnQ,MAC3Bu3E,EAAeA,EAAel3E,OAAS,GAAGL,IAAMk3E,EAASrd,GACzD0d,EAAev2E,KAAK,CAClBe,MAAOm1E,EAASrd,GAChB75D,IAAKi3E,EAAQ9mE,GAAGnQ,IAChBk3E,SAAUD,EAAQ9mE,GAAG+mE,YAGpBrb,EAAI7yE,EAAG6yE,GAAK1rD,EAAG0rD,IAGlB,GAFAsb,EAAcF,EAAQpb,GACtBub,EAAmBD,EAAYD,cACAnmF,IAA3BqmF,EAAiBN,MAArB,CAGA,IAAIa,GAAO,EACX,IAAK9nE,EAAI7mB,EAAI,GAAI2uF,GAAQ9nE,GAAK,GAAKonE,EAAQpnE,GAAG9N,OAASq1E,EAAiBxgB,GAAI/mD,IAC1E8nE,EAAOV,EAAQpnE,GAAGqnE,WAAaE,EAEjC,IAAKvnE,EAAIM,EAAI,GAAIwnE,GAAQ9nE,EAAIonE,EAAQ52E,QAAU42E,EAAQpnE,GAAG7P,KAAOo3E,EAAiBvd,GAAIhqD,IACpF8nE,EAAOV,EAAQpnE,GAAGqnE,WAAaE,EAEjC,IAAKvnE,EAAI,GAAI8nE,GAAQ9nE,EAAI0nE,EAAel3E,OAAQwP,IAC9C8nE,EAAOJ,EAAe1nE,GAAGqnE,WAAaE,EAEnCO,IACHP,EAAiBN,MAAQO,EAZ3B,CAeFruE,MAAMre,UAAUi4B,OAAOniB,MAAMw2E,EAAS,CAACjuF,EAAGmnB,EAAInnB,EAAI,GAAGqkB,OAAOkqE,GAC9D,IACAN,EAAQrnE,SAAQ,SAAUunE,GACxB,IAAIC,EAAmBD,EAAYD,cACJnmF,IAA3BqmF,EAAiBN,QACnBM,EAAiBN,MAAQl2E,KAAKmD,IAAIo0C,EAAOi/B,EAAiBxd,IAE9D,GACF,CACA,SAASge,EAAoBt1E,GAC3B,IAAI+tC,EAAc/tC,EAAK+tC,YACnBwnC,EAAoBv1E,EAAKu1E,kBACzBrmD,EAAYlvB,EAAKkvB,UACjBgqB,EAAWl5C,EAAKk5C,SAChBw6B,EAAW1zE,EAAK0zE,SAChB8B,EAAsBx1E,EAAKw1E,oBAC3BC,EAAuBz1E,EAAKy1E,qBAEhCpvF,KAAKqvF,aAAe3nC,EACpB1nD,KAAK0sF,mBAAqBwC,EAC1BlvF,KAAKsvF,WAAazmD,EAClB7oC,KAAKgsF,UAAYn5B,EACjB7yD,KAAK6rF,UAAYwB,GAAY,GAC7BrtF,KAAKuvF,qBAAuBJ,GAAuB,GACnDnvF,KAAK4sF,wBAA0BwC,EAC/BpvF,KAAKwsF,yBAA2BxwC,EAAeO,QAAQ6R,gBAAiBpS,EAAeO,QAAQ6R,cAAcC,SAC7GruD,KAAKkpC,QAAU,KACflpC,KAAKwvF,wBAA0B,KAC/BxvF,KAAKyvF,0BAA4B,KACjCzvF,KAAK0vF,eAAiB,KACtB1vF,KAAK8rF,mBAAqB,IAAItrE,QAC9BxgB,KAAKutF,gBAAiB,EACtBvtF,KAAKotF,WAAY,EACjBptF,KAAKggD,aAAc,EAAItE,EAAM93C,2BAC7B5D,KAAK2vF,aAAe,KACpB3vF,KAAKitF,QAAU,EACjB,CAoJA,SAASvpF,EAAgBksF,GACvB,IAAIzgE,EAAO,IAAI8/D,EAAoB,CACjCvnC,YAAakoC,EAAiBloC,YAC9BwnC,kBAAmBU,EAAiBV,kBACpCrmD,UAAW+mD,EAAiB/mD,UAC5BgqB,SAAU+8B,EAAiB/8B,SAC3Bw6B,SAAUuC,EAAiBvC,SAC3B8B,oBAAqBS,EAAiBT,oBACtCC,qBAAsBQ,EAAiBR,uBAGzC,OADAjgE,EAAK0gE,QAAQD,EAAiBE,SACvB3gE,CACT,CACA,OAhKA8/D,EAAoBjtF,UAAY,CAC1Byb,cACF,OAAOzd,KAAKggD,YAAYviC,OAC1B,EACA6qC,OAAQ,WACFtoD,KAAKkpC,UACPlpC,KAAKkpC,QAAQof,OAAO,IAAI5M,EAAM/zC,eAAe,8BAC7C3H,KAAKkpC,QAAU,MAEjBlpC,KAAKotF,WAAY,EACS,OAAtBptF,KAAK2vF,eACPI,aAAa/vF,KAAK2vF,cAClB3vF,KAAK2vF,aAAe,MAEtB3vF,KAAKggD,YAAYpiC,OAAO,WAC1B,EACAoyE,cAAe,SAAuBroC,EAAOsoC,GAC3C,IAAK,IAAI5vF,EAAI,EAAG6vF,EAAMvoC,EAAMjwC,OAAQrX,EAAI6vF,EAAK7vF,IAC3CL,KAAKuvF,qBAAqBl3E,KAAKsvC,EAAMtnD,GAAGkX,KACxC4zE,EAAWnrF,KAAM2nD,EAAMtnD,GAAI4vF,EAE/B,EACAtD,YAAa,SAAqBtB,GAChC,IAAI8E,EAAgBnwF,KAAKsvF,WACrBhE,EAAoBtrF,KAAK8rF,mBAAmB7qF,IAAIoqF,GACpD,IAAIC,EAAkB5L,aAAtB,CAGA,IAAIhgB,EAAW2rB,EAAQlgE,MAAMu0C,SACzBnF,EAAa8wB,EAAQlgE,MAAMovC,WAC3BmF,IAAa1/D,KAAKwvF,yBAA2Bj1B,IAAev6D,KAAKyvF,4BACnEzvF,KAAK0vF,eAAet6E,KAAOsqD,EAAW,IAAMnF,EAC5Cv6D,KAAKwvF,wBAA0B9vB,EAC/B1/D,KAAKyvF,0BAA4Bl1B,GAEnC,IAAI/K,EAAQxvD,KAAK0vF,eAAevjB,YAAYkf,EAAQ3jC,aAAa8H,MAC7Dz/C,EAAY,GACsB,IAAlCu7E,EAAkBC,aAAqB/7B,EAAQ,IACjD87B,EAAkB5mC,MAAQ4mC,EAAkBC,YAAc/7B,EAC1Dz/C,EAAY,UAAYu7E,EAAkB5mC,MAAQ,KAEpB,IAA5B4mC,EAAkB/tB,QACpBxtD,EAAY,UAAYu7E,EAAkB/tB,MAAQ,QAAUxtD,GAE5C,KAAdA,IACFu7E,EAAkBE,kBAAoBz7E,EACtCs7E,EAAQlgE,MAAMpb,UAAYA,GAE5B/P,KAAK8rF,mBAAmB7yE,IAAIoyE,EAASC,GACrC6E,EAAc9kE,YAAYggE,EAtB1B,CAuBF,EAEAwE,QAAS,SAA0BC,GACjC,IAAIloD,EAAQ5nC,KAERwd,GAAa,EAAIk+B,EAAM93C,2BACvBqsF,EAAanvF,OAAOY,OAAO,MAC3BywD,EAASrzC,SAASe,cAAc,UAGpC,GAFAsyC,EAAOi+B,WAAY,EACnBpwF,KAAK0vF,eAAiBv9B,EAAOpC,WAAW,KAAM,CAAE8U,OAAO,IACnD7kE,KAAKqvF,aAAc,CACrB,IAAIgB,EAAYrwF,KAAKqvF,aAAa1nC,MAC9B2oC,EAAatwF,KAAKqvF,aAAarnC,OACnChoD,KAAKgwF,cAAcK,EAAWC,GAC9B9yE,EAAWG,SACb,KAAO,KAAI3d,KAAK0sF,mBAkBd,MAAM,IAAI32E,MAAM,uEAjBhB,IAAI8xC,EAAO,SAASA,IAClBjgB,EAAMsB,QAAQ4e,OAAO33B,MAAK,SAAUwZ,GAClC,IAAItoC,EAAQsoC,EAAMtoC,MACdwnB,EAAO8gB,EAAM9gB,KAEbA,EACFrL,EAAWG,WAGb7c,OAAOwf,OAAO2vE,EAAY5uF,EAAM2mD,QAChCpgB,EAAMooD,cAAc3uF,EAAMsmD,MAAOsoC,GACjCpoC,IACF,GAAGrqC,EAAWI,OAChB,EACA5d,KAAKkpC,QAAUlpC,KAAK0sF,mBAAmBzkC,YACvCJ,GAGF,CACArqC,EAAWC,QAAQ0S,MAAK,WACtB8/D,EAAa,KACRH,EAGHloD,EAAM+nD,aAAep6D,YAAW,WAC9B4vB,EAAOvd,GACPA,EAAM+nD,aAAe,IACvB,GAAGG,GALH3qC,EAAOvd,EAOX,GAAG5nC,KAAKggD,YAAYpiC,OACtB,EACA2yE,eAAgB,SAAkCC,GAChD,GAAKxwF,KAAK4sF,uBAA0B5sF,KAAKutF,eAAzC,CAGqB,OAAjBvtF,KAAKitF,UACPO,EAAOxtF,MACPA,KAAKitF,QAAU,MAEjB,IAAK,IAAI5sF,EAAI,EAAGyY,EAAK9Y,KAAK6rF,UAAUn0E,OAAQrX,EAAIyY,EAAIzY,IAAK,CACvD,IAAIuf,EAAM5f,KAAK6rF,UAAUxrF,GACrBstF,EAAgB3tF,KAAK8rF,mBAAmB7qF,IAAI2e,GAChD,IAAI+tE,EAAcjO,aAGlB,GAAI8Q,EAAY,CACd,IAAIzgF,EAAY,GACZ0gF,EAAU,GACc,IAAxB9C,EAAcjpC,QAChB30C,EAAY,UAAY49E,EAAcjpC,MAAQ,KAEpB,IAAxBipC,EAAcpwB,QAChBxtD,EAAY,UAAY49E,EAAcpwB,MAAQ,QAAUxtD,GAExB,IAA9B49E,EAAcjC,cAChB+E,GAAW,kBAAoB9C,EAAcjC,YAAciC,EAAcjpC,MAAQ,MACjF30C,GAAa,gBAAkB49E,EAAcjC,YAAciC,EAAcjpC,MAAQ,OAElD,IAA7BipC,EAAc/B,aAChB6E,GAAW,iBAAmB9C,EAAc/B,WAAa,MACzD77E,GAAa,gBAAkB49E,EAAc/B,WAAa,OAEzB,IAA/B+B,EAAchC,eAChB8E,GAAW,mBAAqB9C,EAAchC,aAAegC,EAAcjpC,MAAQ,OAEjD,IAAhCipC,EAAclC,gBAChBgF,GAAW,oBAAsB9C,EAAclC,cAAgB,OAEjD,KAAZgF,GACF7wE,EAAI20C,aAAa,QAASo5B,EAAcxiE,MAAQslE,GAEhC,KAAd1gF,IACF6P,EAAIuL,MAAMpb,UAAYA,EAE1B,MACE6P,EAAIuL,MAAMslE,QAAU,EACpB7wE,EAAIuL,MAAMpb,UAAY49E,EAAcnC,mBAAqB,EAE7D,CA5CA,CA6CF,GAeK9nF,CACT,CAthBsB,GAuhBtB3D,EAAQ2D,gBAAkBA,CAEnB,EAED,SAAU5D,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ4D,qBAAkByE,EAE1B,IAAIw2E,EAAO,SAAS39E,EAAIa,EAAQC,EAAU88E,GAA2B,OAAX/8E,IAAiBA,EAAS4X,SAAS1X,WAAW,IAAIqnD,EAAOvoD,OAAOs6B,yBAAyBt5B,EAAQC,GAAW,QAAaqG,IAATihD,EAAoB,CAAE,IAAIpzB,EAASn1B,OAAOooB,eAAepnB,GAAS,OAAe,OAAXm0B,OAAmB,EAAkCh1B,EAAIg1B,EAAQl0B,EAAU88E,EAAa,CAAO,GAAI,UAAWx1B,EAAQ,OAAOA,EAAKhoD,MAAgB,IAAIT,EAASyoD,EAAKpoD,IAAK,YAAemH,IAAXxH,EAAmDA,EAAOL,KAAKs+E,QAAnE,CAAgF,EAEre99C,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEfiyB,EAAax7C,EAAoB,KAEjCu7C,EAAQv7C,EAAoB,GAEhC,SAASg3D,EAA2Bx2C,EAAMpgB,GAAQ,IAAKogB,EAAQ,MAAM,IAAIy2C,eAAe,6DAAgE,OAAO72D,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BogB,EAAPpgB,CAAa,CAE/O,SAAS82D,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIl0C,UAAU,kEAAoEk0C,GAAeD,EAASt1D,UAAYlB,OAAOY,OAAO61D,GAAcA,EAAWv1D,UAAW,CAAEwG,YAAa,CAAEnH,MAAOi2D,EAAUt2D,YAAY,EAAO8V,UAAU,EAAMD,cAAc,KAAe0gD,IAAYz2D,OAAOi6B,eAAiBj6B,OAAOi6B,eAAeu8B,EAAUC,GAAcD,EAASp8B,UAAYq8B,EAAY,CAE7e,SAASp2B,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,IAAIqtE,EAA2B,WAC7B,SAASA,IACPvvD,EAAgBnhC,KAAM0wF,EACxB,CA2DA,OAzDA3vD,EAAa2vD,EAA0B,KAAM,CAAC,CAC5C/uF,IAAK,SACLN,MAAO,SAAgBsvF,GACrB,IAAIprB,EAAUorB,EAAW33E,KAAK43E,eAC9B,OAAQrrB,GACN,KAAK7pB,EAAM5zC,eAAesC,KACxB,OAAO,IAAIymF,EAAsBF,GACnC,KAAKj1C,EAAM5zC,eAAeqC,KACxB,OAAO,IAAI2mF,EAAsBH,GACnC,KAAKj1C,EAAM5zC,eAAewD,OACxB,IAAIylF,EAAYJ,EAAW33E,KAAK+3E,UAChC,OAAQA,GACN,IAAK,KACH,OAAO,IAAIC,EAA4BL,GACzC,IAAK,MACH,OAAIA,EAAW33E,KAAKi4E,YACX,IAAIC,EAAmCP,GACrCA,EAAW33E,KAAKm4E,SAClB,IAAIC,EAAgCT,GAEtC,IAAIU,EAAkCV,GAC/C,IAAK,KACH,OAAO,IAAIW,EAA8BX,GAE7C,OAAO,IAAIY,EAAwBZ,GACrC,KAAKj1C,EAAM5zC,eAAeoD,MACxB,OAAO,IAAIsmF,EAAuBb,GACpC,KAAKj1C,EAAM5zC,eAAewC,KACxB,OAAO,IAAImnF,EAAsBd,GACnC,KAAKj1C,EAAM5zC,eAAeyC,OACxB,OAAO,IAAImnF,EAAwBf,GACrC,KAAKj1C,EAAM5zC,eAAe0C,OACxB,OAAO,IAAImnF,EAAwBhB,GACrC,KAAKj1C,EAAM5zC,eAAe4C,SACxB,OAAO,IAAIknF,EAA0BjB,GACvC,KAAKj1C,EAAM5zC,eAAemD,IACxB,OAAO,IAAI4mF,EAAqBlB,GAClC,KAAKj1C,EAAM5zC,eAAe2C,QACxB,OAAO,IAAIqnF,EAAyBnB,GACtC,KAAKj1C,EAAM5zC,eAAe6C,UACxB,OAAO,IAAIonF,EAA2BpB,GACxC,KAAKj1C,EAAM5zC,eAAe8C,UACxB,OAAO,IAAIonF,EAA2BrB,GACxC,KAAKj1C,EAAM5zC,eAAe+C,SACxB,OAAO,IAAIonF,EAA0BtB,GACvC,KAAKj1C,EAAM5zC,eAAegD,UACxB,OAAO,IAAIonF,EAA2BvB,GACxC,KAAKj1C,EAAM5zC,eAAeiD,MACxB,OAAO,IAAIonF,EAAuBxB,GACpC,KAAKj1C,EAAM5zC,eAAeqD,eACxB,OAAO,IAAIinF,EAAgCzB,GAC7C,QACE,OAAO,IAAI0B,EAAkB1B,GAEnC,KAGKD,CACT,CA/D+B,GAiE3B2B,EAAoB,WACtB,SAASA,EAAkB1B,GACzB,IAAI2B,EAAez1E,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAC9E01E,EAAe11E,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAElFskB,EAAgBnhC,KAAMqyF,GAEtBryF,KAAKsyF,aAAeA,EACpBtyF,KAAKgZ,KAAO23E,EAAW33E,KACvBhZ,KAAKmmE,MAAQwqB,EAAWxqB,MACxBnmE,KAAKusD,KAAOokC,EAAWpkC,KACvBvsD,KAAK6yD,SAAW89B,EAAW99B,SAC3B7yD,KAAKwyF,YAAc7B,EAAW6B,YAC9BxyF,KAAKyyF,gBAAkB9B,EAAW8B,gBAClCzyF,KAAK0yF,mBAAqB/B,EAAW+B,mBACrC1yF,KAAKqmD,uBAAyBsqC,EAAWtqC,uBACzCrmD,KAAK2yF,WAAahC,EAAWgC,WACzBL,IACFtyF,KAAK6oC,UAAY7oC,KAAK4yF,iBAAiBL,GAE3C,CAwFA,OAtFAxxD,EAAasxD,EAAmB,CAAC,CAC/B1wF,IAAK,mBACLN,MAAO,WACL,IAAIkxF,EAAe11E,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAE9E7D,EAAOhZ,KAAKgZ,KACZuzC,EAAOvsD,KAAKusD,KACZsG,EAAW7yD,KAAK6yD,SAChBhqB,EAAY/pB,SAASe,cAAc,WACnC2vC,EAAQx2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GACjCwzC,EAASz2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GACtC4sB,EAAU0rB,aAAa,qBAAsBv7C,EAAKuL,IAClD,IAAItI,EAAOy/B,EAAM92C,KAAKoX,cAAc,CAAChD,EAAKiD,KAAK,GAAIswC,EAAK1c,KAAK,GAAK72B,EAAKiD,KAAK,GAAKswC,EAAK1c,KAAK,GAAI72B,EAAKiD,KAAK,GAAIswC,EAAK1c,KAAK,GAAK72B,EAAKiD,KAAK,GAAKswC,EAAK1c,KAAK,KAGrJ,GAFAhH,EAAU1d,MAAMpb,UAAY,UAAY8iD,EAAS9iD,UAAUuI,KAAK,KAAO,IACvEuwB,EAAU1d,MAAM0nE,iBAAmB52E,EAAK,GAAK,OAASA,EAAK,GAAK,MAC3Ds2E,GAAgBv5E,EAAK85E,YAAYtjC,MAAQ,EAAG,CAC/C3mB,EAAU1d,MAAM4nE,YAAc/5E,EAAK85E,YAAYtjC,MAAQ,KACnDx2C,EAAK85E,YAAY3nE,QAAUuwB,EAAMzzC,0BAA0B2C,YAC7D4kD,GAAgB,EAAIx2C,EAAK85E,YAAYtjC,MACrCC,GAAkB,EAAIz2C,EAAK85E,YAAYtjC,OAEzC,IAAIwjC,EAAmBh6E,EAAK85E,YAAYG,uBACpCC,EAAiBl6E,EAAK85E,YAAYK,qBACtC,GAAIH,EAAmB,GAAKE,EAAiB,EAAG,CAC9C,IAAIE,EAASJ,EAAmB,QAAUE,EAAiB,KAC3DrqD,EAAU1d,MAAMkoE,aAAeD,CACjC,CACA,OAAQp6E,EAAK85E,YAAY3nE,OACvB,KAAKuwB,EAAMzzC,0BAA0BsF,MACnCs7B,EAAU1d,MAAM2nE,YAAc,QAC9B,MACF,KAAKp3C,EAAMzzC,0BAA0BuF,OACnCq7B,EAAU1d,MAAM2nE,YAAc,SAC9B,MACF,KAAKp3C,EAAMzzC,0BAA0BwF,SACnC,EAAIiuC,EAAMp2C,MAAM,uCAChB,MACF,KAAKo2C,EAAMzzC,0BAA0ByF,OACnC,EAAIguC,EAAMp2C,MAAM,qCAChB,MACF,KAAKo2C,EAAMzzC,0BAA0B2C,UACnCi+B,EAAU1d,MAAMmoE,kBAAoB,QACpC,MACF,QACE,MAEAt6E,EAAKo0D,MACPvkC,EAAU1d,MAAMooE,YAAc73C,EAAM92C,KAAKyV,WAA2B,EAAhBrB,EAAKo0D,MAAM,GAAwB,EAAhBp0D,EAAKo0D,MAAM,GAAwB,EAAhBp0D,EAAKo0D,MAAM,IAErGvkC,EAAU1d,MAAM4nE,YAAc,CAElC,CAKA,OAJAlqD,EAAU1d,MAAM4jD,KAAO9yD,EAAK,GAAK,KACjC4sB,EAAU1d,MAAM6jD,IAAM/yD,EAAK,GAAK,KAChC4sB,EAAU1d,MAAMqkC,MAAQA,EAAQ,KAChC3mB,EAAU1d,MAAMskC,OAASA,EAAS,KAC3B5mB,CACT,GACC,CACDlnC,IAAK,eACLN,MAAO,SAAsBwnC,EAAW2qD,EAASx6E,GAC1Cw6E,IACHA,EAAU10E,SAASe,cAAc,OACjC2zE,EAAQroE,MAAMskC,OAAS5mB,EAAU1d,MAAMskC,OACvC+jC,EAAQroE,MAAMqkC,MAAQ3mB,EAAU1d,MAAMqkC,MACtC3mB,EAAUxd,YAAYmoE,IAExB,IAAIC,EAAe,IAAIC,EAAa,CAClC7qD,UAAWA,EACX2qD,QAASA,EACTpmB,MAAOp0D,EAAKo0D,MACZjX,MAAOn9C,EAAKm9C,MACZw9B,SAAU36E,EAAK26E,SACfC,aAAa,IAEXC,EAAQJ,EAAatuC,SACzB0uC,EAAM1oE,MAAM4jD,KAAOlmC,EAAU1d,MAAMqkC,MACnC3mB,EAAUxd,YAAYwoE,EACxB,GACC,CACDlyF,IAAK,SACLN,MAAO,YACL,EAAIq6C,EAAMr2C,aAAa,oDACzB,KAGKgtF,CACT,CA7GwB,GA+GpBxB,EAAwB,SAAUiD,GAGpC,SAASjD,EAAsBF,GAC7BxvD,EAAgBnhC,KAAM6wF,GAEtB,IAAIyB,KAAkB3B,EAAW33E,KAAKxC,KAAOm6E,EAAW33E,KAAK2mB,MAAQgxD,EAAW33E,KAAKqyB,QACrF,OAAO8rB,EAA2Bn3D,MAAO6wF,EAAsB31D,WAAap6B,OAAOooB,eAAe2nE,IAAwBtwF,KAAKP,KAAM2wF,EAAY2B,GACnJ,CAuDA,OA9DAj7B,EAAUw5B,EAAuBiD,GASjC/yD,EAAa8vD,EAAuB,CAAC,CACnClvF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,iBAC3B,IAAI/6E,EAAOhZ,KAAKgZ,KACZw5E,EAAcxyF,KAAKwyF,YAEnBv8B,EAAOn3C,SAASe,cAAc,KAclC,OAbA,EAAI87B,EAAW12C,mBAAmBgxD,EAAM,CACtCz/C,IAAKwC,EAAKxC,IACV8L,OAAQtJ,EAAKg7E,UAAYr4C,EAAW32C,WAAW6wD,MAAQ28B,EAAYyB,mBACnE/9B,IAAKs8B,EAAY0B,kBAEdl7E,EAAKxC,MACJwC,EAAKqyB,OACPrrC,KAAKm0F,iBAAiBl+B,EAAMj9C,EAAKqyB,QAEjCrrC,KAAKo0F,UAAUn+B,EAAMj9C,EAAK2mB,OAG9B3/B,KAAK6oC,UAAUxd,YAAY4qC,GACpBj2D,KAAK6oC,SACd,GACC,CACDlnC,IAAK,YACLN,MAAO,SAAmB40D,EAAMo+B,GAC9B,IAAI9yC,EAASvhD,KAEbi2D,EAAK/d,KAAOl4C,KAAKwyF,YAAY8B,mBAAmBD,GAChDp+B,EAAKs+B,QAAU,WAIb,OAHIF,GACF9yC,EAAOixC,YAAYgC,WAAWH,IAEzB,CACT,EACIA,IACFp+B,EAAK89B,UAAY,eAErB,GACC,CACDpyF,IAAK,mBACLN,MAAO,SAA0B40D,EAAM5qB,GACrC,IAAIwW,EAAS7hD,KAEbi2D,EAAK/d,KAAOl4C,KAAKwyF,YAAYiC,aAAa,IAC1Cx+B,EAAKs+B,QAAU,WAEb,OADA1yC,EAAO2wC,YAAYkC,mBAAmBrpD,IAC/B,CACT,EACA4qB,EAAK89B,UAAY,cACnB,KAGKlD,CACT,CAhE4B,CAgE1BwB,GAEEvB,EAAwB,SAAU6D,GAGpC,SAAS7D,EAAsBH,GAC7BxvD,EAAgBnhC,KAAM8wF,GAEtB,IAAIwB,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAO8wF,EAAsB51D,WAAap6B,OAAOooB,eAAe4nE,IAAwBvwF,KAAKP,KAAM2wF,EAAY2B,GACnJ,CAqBA,OA5BAj7B,EAAUy5B,EAAuB6D,GASjC5zD,EAAa+vD,EAAuB,CAAC,CACnCnvF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,iBAC3B,IAAI1kB,EAAQvwD,SAASe,cAAc,OAWnC,OAVAwvD,EAAMlkD,MAAMskC,OAASzvD,KAAK6oC,UAAU1d,MAAMskC,OAC1C4f,EAAMlkD,MAAMqkC,MAAQxvD,KAAK6oC,UAAU1d,MAAMqkC,MACzC6f,EAAM/jD,IAAMtrB,KAAK0yF,mBAAqB,cAAgB1yF,KAAKgZ,KAAKrY,KAAKqc,cAAgB,OACrFqyD,EAAMwlB,IAAM,wBACZxlB,EAAMod,QAAQqI,OAAS,uBACvBzlB,EAAMod,QAAQsI,SAAWv4D,KAAKE,UAAU,CAAExe,KAAMle,KAAKgZ,KAAKrY,OACrDX,KAAKgZ,KAAK47E,UACb50F,KAAKg1F,aAAah1F,KAAK6oC,UAAWwmC,EAAOrvE,KAAKgZ,MAEhDhZ,KAAK6oC,UAAUxd,YAAYgkD,GACpBrvE,KAAK6oC,SACd,KAGKioD,CACT,CA9B4B,CA8B1BuB,GAEEd,EAA0B,SAAU0D,GAGtC,SAAS1D,IAGP,OAFApwD,EAAgBnhC,KAAMuxF,GAEfp6B,EAA2Bn3D,MAAOuxF,EAAwBr2D,WAAap6B,OAAOooB,eAAeqoE,IAA0Bz5E,MAAM9X,KAAM6c,WAC5I,CASA,OAfAw6C,EAAUk6B,EAAyB0D,GAQnCl0D,EAAawwD,EAAyB,CAAC,CACrC5vF,IAAK,SACLN,MAAO,WACL,OAAOrB,KAAK6oC,SACd,KAGK0oD,CACT,CAjB8B,CAiB5Bc,GAEErB,EAA8B,SAAUkE,GAG1C,SAASlE,EAA4BL,GACnCxvD,EAAgBnhC,KAAMgxF,GAEtB,IAAIsB,EAAe3B,EAAWtqC,yBAA2BsqC,EAAW33E,KAAKm8E,iBAAmBxE,EAAW33E,KAAKo8E,WAC5G,OAAOj+B,EAA2Bn3D,MAAOgxF,EAA4B91D,WAAap6B,OAAOooB,eAAe8nE,IAA8BzwF,KAAKP,KAAM2wF,EAAY2B,GAC/J,CA6DA,OApEAj7B,EAAU25B,EAA6BkE,GASvCn0D,EAAaiwD,EAA6B,CAAC,CACzCrvF,IAAK,SACLN,MAAO,WACL,IAAIg0F,EAAiB,CAAC,OAAQ,SAAU,SACxCr1F,KAAK6oC,UAAUkrD,UAAY,uBAC3B,IAAIuB,EAAU,KACd,GAAIt1F,KAAKqmD,wBAaP,GAZIrmD,KAAKgZ,KAAKu8E,WACZD,EAAUx2E,SAASe,cAAc,YACjCy1E,EAAQ5tC,YAAc1nD,KAAKgZ,KAAKo8E,aAEhCE,EAAUx2E,SAASe,cAAc,SACjCy1E,EAAQp3E,KAAO,OACfo3E,EAAQ/gC,aAAa,QAASv0D,KAAKgZ,KAAKo8E,aAE1CE,EAAQE,SAAWx1F,KAAKgZ,KAAKy8E,SACJ,OAArBz1F,KAAKgZ,KAAK08E,SACZJ,EAAQK,UAAY31F,KAAKgZ,KAAK08E,QAE5B11F,KAAKgZ,KAAK48E,KAAM,CAClB,IAAIC,EAAa71F,KAAKgZ,KAAKiD,KAAK,GAAKjc,KAAKgZ,KAAKiD,KAAK,GAChD65E,EAAYD,EAAa71F,KAAKgZ,KAAK08E,OACvCJ,EAAQx1E,UAAUk4C,IAAI,QACtBs9B,EAAQnqE,MAAM4qE,cAAgB,QAAUD,EAAY,WACtD,MACK,CACLR,EAAUx2E,SAASe,cAAc,OACjCy1E,EAAQ5tC,YAAc1nD,KAAKgZ,KAAKo8E,WAChCE,EAAQnqE,MAAM6qE,cAAgB,SAC9BV,EAAQnqE,MAAMC,QAAU,aACxB,IAAIhW,EAAO,KACPpV,KAAKgZ,KAAK4wD,cACZx0D,EAAOpV,KAAKusD,KAAKtI,WAAWd,QAAQnjD,KAAKgZ,KAAK4wD,cAEhD5pE,KAAKi2F,cAAcX,EAASlgF,EAC9B,CAKA,OAJgC,OAA5BpV,KAAKgZ,KAAKk9E,gBACZZ,EAAQnqE,MAAMgrE,UAAYd,EAAer1F,KAAKgZ,KAAKk9E,gBAErDl2F,KAAK6oC,UAAUxd,YAAYiqE,GACpBt1F,KAAK6oC,SACd,GACC,CACDlnC,IAAK,gBACLN,MAAO,SAAuBi0F,EAASlgF,GACrC,IAAI+V,EAAQmqE,EAAQnqE,MAGpB,GAFAA,EAAMu0C,SAAW1/D,KAAKgZ,KAAK0mD,SAAW,KACtCv0C,EAAMirE,UAAYp2F,KAAKgZ,KAAK8wD,cAAgB,EAAI,MAAQ,MACnD10D,EAAL,CAGA+V,EAAMkrE,WAAajhF,EAAK+tD,MAAQ/tD,EAAK40D,KAAO,MAAQ,OAAS50D,EAAK40D,KAAO,OAAS,SAClF7+C,EAAMmrE,UAAYlhF,EAAK60D,OAAS,SAAW,SAC3C,IAAI1P,EAAanlD,EAAKklD,WAAa,IAAMllD,EAAKklD,WAAa,MAAQ,GAC/D6P,EAAe/0D,EAAK+0D,cAAgB,wBACxCh/C,EAAMovC,WAAaA,EAAa4P,CALhC,CAMF,KAGK6mB,CACT,CAtEkC,CAsEhCO,GAEEH,EAAkC,SAAUmF,GAG9C,SAASnF,EAAgCT,GAGvC,OAFAxvD,EAAgBnhC,KAAMoxF,GAEfj6B,EAA2Bn3D,MAAOoxF,EAAgCl2D,WAAap6B,OAAOooB,eAAekoE,IAAkC7wF,KAAKP,KAAM2wF,EAAYA,EAAWtqC,wBAClL,CAiBA,OAvBAgR,EAAU+5B,EAAiCmF,GAQ3Cx1D,EAAaqwD,EAAiC,CAAC,CAC7CzvF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,kCAC3B,IAAIuB,EAAUx2E,SAASe,cAAc,SAOrC,OANAy1E,EAAQE,SAAWx1F,KAAKgZ,KAAKy8E,SAC7BH,EAAQp3E,KAAO,WACXle,KAAKgZ,KAAKo8E,YAAuC,QAAzBp1F,KAAKgZ,KAAKo8E,YACpCE,EAAQ/gC,aAAa,WAAW,GAElCv0D,KAAK6oC,UAAUxd,YAAYiqE,GACpBt1F,KAAK6oC,SACd,KAGKuoD,CACT,CAzBsC,CAyBpCG,GAEEL,EAAqC,SAAUsF,GAGjD,SAAStF,EAAmCP,GAG1C,OAFAxvD,EAAgBnhC,KAAMkxF,GAEf/5B,EAA2Bn3D,MAAOkxF,EAAmCh2D,WAAap6B,OAAOooB,eAAegoE,IAAqC3wF,KAAKP,KAAM2wF,EAAYA,EAAWtqC,wBACxL,CAkBA,OAxBAgR,EAAU65B,EAAoCsF,GAQ9Cz1D,EAAamwD,EAAoC,CAAC,CAChDvvF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,qCAC3B,IAAIuB,EAAUx2E,SAASe,cAAc,SAQrC,OAPAy1E,EAAQE,SAAWx1F,KAAKgZ,KAAKy8E,SAC7BH,EAAQp3E,KAAO,QACfo3E,EAAQ30F,KAAOX,KAAKgZ,KAAKy9E,UACrBz2F,KAAKgZ,KAAKo8E,aAAep1F,KAAKgZ,KAAK09E,aACrCpB,EAAQ/gC,aAAa,WAAW,GAElCv0D,KAAK6oC,UAAUxd,YAAYiqE,GACpBt1F,KAAK6oC,SACd,KAGKqoD,CACT,CA1ByC,CA0BvCK,GAEEF,EAAoC,SAAUsF,GAGhD,SAAStF,IAGP,OAFAlwD,EAAgBnhC,KAAMqxF,GAEfl6B,EAA2Bn3D,MAAOqxF,EAAkCn2D,WAAap6B,OAAOooB,eAAemoE,IAAoCv5E,MAAM9X,KAAM6c,WAChK,CAWA,OAjBAw6C,EAAUg6B,EAAmCsF,GAQ7C51D,EAAaswD,EAAmC,CAAC,CAC/C1vF,IAAK,SACLN,MAAO,WACL,IAAIwnC,EAAY+1C,EAAKyS,EAAkCrvF,UAAUk5B,WAAap6B,OAAOooB,eAAemoE,EAAkCrvF,WAAY,SAAUhC,MAAMO,KAAKP,MAEvK,OADA6oC,EAAUkrD,UAAY,oCACflrD,CACT,KAGKwoD,CACT,CAnBwC,CAmBtCR,GAEES,EAAgC,SAAUsF,GAG5C,SAAStF,EAA8BX,GAGrC,OAFAxvD,EAAgBnhC,KAAMsxF,GAEfn6B,EAA2Bn3D,MAAOsxF,EAA8Bp2D,WAAap6B,OAAOooB,eAAeooE,IAAgC/wF,KAAKP,KAAM2wF,EAAYA,EAAWtqC,wBAC9K,CA6BA,OAnCAgR,EAAUi6B,EAA+BsF,GAQzC71D,EAAauwD,EAA+B,CAAC,CAC3C3vF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,yBAC3B,IAAI8C,EAAgB/3E,SAASe,cAAc,UAC3Cg3E,EAAcrB,SAAWx1F,KAAKgZ,KAAKy8E,SAC9Bz1F,KAAKgZ,KAAK89E,QACbD,EAAcl2D,KAAO3gC,KAAKgZ,KAAK+wB,QAAQryB,OACnC1X,KAAKgZ,KAAK+9E,cACZF,EAAcG,UAAW,IAG7B,IAAK,IAAI32F,EAAI,EAAGyY,EAAK9Y,KAAKgZ,KAAK+wB,QAAQryB,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC1D,IAAI42F,EAASj3F,KAAKgZ,KAAK+wB,QAAQ1pC,GAC3B62F,EAAgBp4E,SAASe,cAAc,UAC3Cq3E,EAAcxvC,YAAcuvC,EAAOE,aACnCD,EAAc71F,MAAQ41F,EAAOG,YACzBp3F,KAAKgZ,KAAKo8E,WAAWh1E,SAAS62E,EAAOE,eACvCD,EAAc3iC,aAAa,YAAY,GAEzCsiC,EAAcxrE,YAAY6rE,EAC5B,CAEA,OADAl3F,KAAK6oC,UAAUxd,YAAYwrE,GACpB72F,KAAK6oC,SACd,KAGKyoD,CACT,CArCoC,CAqClCC,GAEEC,EAAyB,SAAU6F,GAGrC,SAAS7F,EAAuBb,GAC9BxvD,EAAgBnhC,KAAMwxF,GAEtB,IAAIc,KAAkB3B,EAAW33E,KAAKm9C,QAASw6B,EAAW33E,KAAK26E,UAC/D,OAAOx8B,EAA2Bn3D,MAAOwxF,EAAuBt2D,WAAap6B,OAAOooB,eAAesoE,IAAyBjxF,KAAKP,KAAM2wF,EAAY2B,GACrJ,CA+BA,OAtCAj7B,EAAUm6B,EAAwB6F,GASlCt2D,EAAaywD,EAAwB,CAAC,CACpC7vF,IAAK,SACLN,MAAO,WACL,IAAIi2F,EAAe,CAAC,OAAQ,SAAU,SAAU,WAAY,UAAW,OAEvE,GADAt3F,KAAK6oC,UAAUkrD,UAAY,kBACvBuD,EAAal3E,SAASpgB,KAAKgZ,KAAKu+E,YAClC,OAAOv3F,KAAK6oC,UAEd,IAAI2uD,EAAW,wBAA0Bx3F,KAAKgZ,KAAKy+E,SAAW,KAC1DC,EAAgB13F,KAAKmmE,MAAMwxB,cAAcH,GAC7C,IAAKE,EACH,OAAO13F,KAAK6oC,UAEd,IAAIgrD,EAAQ,IAAIH,EAAa,CAC3B7qD,UAAW7oC,KAAK6oC,UAChB2qD,QAASkE,EACTtqB,MAAOptE,KAAKgZ,KAAKo0D,MACjBjX,MAAOn2D,KAAKgZ,KAAKm9C,MACjBw9B,SAAU3zF,KAAKgZ,KAAK26E,WAElBiE,EAAaC,WAAWH,EAAcvsE,MAAM4jD,MAC5C+oB,EAAcD,WAAWH,EAAcvsE,MAAMqkC,OAIjD,OAHAxvD,KAAK6oC,UAAU1d,MAAM0nE,kBAAoB+E,EAAaE,GAAe,OAASJ,EAAcvsE,MAAM6jD,IAClGhvE,KAAK6oC,UAAU1d,MAAM4jD,KAAO6oB,EAAaE,EAAc,KACvD93F,KAAK6oC,UAAUxd,YAAYwoE,EAAM1uC,UAC1BnlD,KAAK6oC,SACd,KAGK2oD,CACT,CAxC6B,CAwC3Ba,GAEEqB,EAAe,WACjB,SAASA,EAAa/C,GACpBxvD,EAAgBnhC,KAAM0zF,GAEtB1zF,KAAK6oC,UAAY8nD,EAAW9nD,UAC5B7oC,KAAKwzF,QAAU7C,EAAW6C,QAC1BxzF,KAAKotE,MAAQujB,EAAWvjB,MACxBptE,KAAKm2D,MAAQw6B,EAAWx6B,MACxBn2D,KAAK2zF,SAAWhD,EAAWgD,SAC3B3zF,KAAK4zF,YAAcjD,EAAWiD,cAAe,EAC7C5zF,KAAK+3F,QAAS,CAChB,CAkFA,OAhFAh3D,EAAa2yD,EAAc,CAAC,CAC1B/xF,IAAK,SACLN,MAAO,WACL,IAAI22F,EAAqB,GACrB5lE,EAAUtT,SAASe,cAAc,OACrCuS,EAAQ2hE,UAAY,eACpB/zF,KAAKi4F,YAAcj4F,KAAK4zF,YAAcxhE,EAAUpyB,KAAK6oC,UACrD7oC,KAAKi4F,YAAY1jC,aAAa,UAAU,GACxC,IAAIs/B,EAAQ/0E,SAASe,cAAc,OACnCg0E,EAAME,UAAY,QAClB,IAAI3mB,EAAQptE,KAAKotE,MACjB,GAAIA,EAAO,CACT,IAAIlsE,EAAI82F,GAAsB,IAAM5qB,EAAM,IAAMA,EAAM,GAClD9yD,EAAI09E,GAAsB,IAAM5qB,EAAM,IAAMA,EAAM,GAClD7yD,EAAIy9E,GAAsB,IAAM5qB,EAAM,IAAMA,EAAM,GACtDymB,EAAM1oE,MAAMkoD,gBAAkB33B,EAAM92C,KAAKyV,WAAe,EAAJnZ,EAAW,EAAJoZ,EAAW,EAAJC,EACpE,CACA,IAAIo5E,EAAW3zF,KAAKk4F,gBAAgBl4F,KAAK2zF,UACrCx9B,EAAQr3C,SAASe,cAAc,MASnC,OARAs2C,EAAMzO,YAAc1nD,KAAKm2D,MACzBn2D,KAAKwzF,QAAQn+D,iBAAiB,QAASr1B,KAAKm4F,QAAQv2F,KAAK5B,OACzDA,KAAKwzF,QAAQn+D,iBAAiB,YAAar1B,KAAKo4F,MAAMx2F,KAAK5B,MAAM,IACjEA,KAAKwzF,QAAQn+D,iBAAiB,WAAYr1B,KAAKq4F,MAAMz2F,KAAK5B,MAAM,IAChE6zF,EAAMx+D,iBAAiB,QAASr1B,KAAKq4F,MAAMz2F,KAAK5B,MAAM,IACtD6zF,EAAMxoE,YAAY8qC,GAClB09B,EAAMxoE,YAAYsoE,GAClBvhE,EAAQ/G,YAAYwoE,GACbzhE,CACT,GACC,CACDzwB,IAAK,kBACLN,MAAO,SAAyBsyF,GAG9B,IAFA,IAAIzxF,EAAI4c,SAASe,cAAc,KAC3By4E,EAAQ3E,EAASxvE,MAAM,gBAClB9jB,EAAI,EAAGyY,EAAKw/E,EAAM5gF,OAAQrX,EAAIyY,IAAMzY,EAAG,CAC9C,IAAIk4F,EAAOD,EAAMj4F,GACjB6B,EAAEmpB,YAAYvM,SAASuX,eAAekiE,IAClCl4F,EAAIyY,EAAK,GACX5W,EAAEmpB,YAAYvM,SAASe,cAAc,MAEzC,CACA,OAAO3d,CACT,GACC,CACDP,IAAK,UACLN,MAAO,WACDrB,KAAK+3F,OACP/3F,KAAKq4F,OAAM,GAEXr4F,KAAKo4F,OAAM,EAEf,GACC,CACDz2F,IAAK,QACLN,MAAO,WACL,IAAIm3F,EAAM37E,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,IAAmBA,UAAU,GAErE27E,IACFx4F,KAAK+3F,QAAS,GAEZ/3F,KAAKi4F,YAAYQ,aAAa,YAChCz4F,KAAKi4F,YAAYS,gBAAgB,UACjC14F,KAAK6oC,UAAU1d,MAAMwtE,QAAU,EAEnC,GACC,CACDh3F,IAAK,QACLN,MAAO,WACL,IAAIu3F,IAAQ/7E,UAAUnF,OAAS,QAAsBtP,IAAjByU,UAAU,KAAmBA,UAAU,GAEvE+7E,IACF54F,KAAK+3F,QAAS,GAEX/3F,KAAKi4F,YAAYQ,aAAa,WAAcz4F,KAAK+3F,SACpD/3F,KAAKi4F,YAAY1jC,aAAa,UAAU,GACxCv0D,KAAK6oC,UAAU1d,MAAMwtE,QAAU,EAEnC,KAGKjF,CACT,CA9FmB,GAgGfjC,EAAwB,SAAUoH,GAGpC,SAASpH,EAAsBd,GAC7BxvD,EAAgBnhC,KAAMyxF,GAEtB,IAAIa,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAOyxF,EAAsBv2D,WAAap6B,OAAOooB,eAAeuoE,IAAwBlxF,KAAKP,KAAM2wF,EAAY2B,GAAc,GACjK,CAwBA,OA/BAj7B,EAAUo6B,EAAuBoH,GASjC93D,EAAa0wD,EAAuB,CAAC,CACnC9vF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,iBAC3B,IAAI/6E,EAAOhZ,KAAKgZ,KACZw2C,EAAQx2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GACjCwzC,EAASz2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GAClCo4C,EAAMr0D,KAAK2yF,WAAWjxF,OAAO8tD,EAAOC,GACpC8oC,EAAOv4F,KAAK2yF,WAAW9yE,cAAc,YAUzC,OATA04E,EAAKhkC,aAAa,KAAMv7C,EAAKiD,KAAK,GAAKjD,EAAK8/E,gBAAgB,IAC5DP,EAAKhkC,aAAa,KAAMv7C,EAAKiD,KAAK,GAAKjD,EAAK8/E,gBAAgB,IAC5DP,EAAKhkC,aAAa,KAAMv7C,EAAKiD,KAAK,GAAKjD,EAAK8/E,gBAAgB,IAC5DP,EAAKhkC,aAAa,KAAMv7C,EAAKiD,KAAK,GAAKjD,EAAK8/E,gBAAgB,IAC5DP,EAAKhkC,aAAa,eAAgBv7C,EAAK85E,YAAYtjC,OACnD+oC,EAAKhkC,aAAa,SAAU,eAC5BF,EAAIhpC,YAAYktE,GAChBv4F,KAAK6oC,UAAUkwD,OAAO1kC,GACtBr0D,KAAKg1F,aAAah1F,KAAK6oC,UAAW0vD,EAAMv/E,GACjChZ,KAAK6oC,SACd,KAGK4oD,CACT,CAjC4B,CAiC1BY,GAEEX,EAA0B,SAAUsH,GAGtC,SAAStH,EAAwBf,GAC/BxvD,EAAgBnhC,KAAM0xF,GAEtB,IAAIY,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAO0xF,EAAwBx2D,WAAap6B,OAAOooB,eAAewoE,IAA0BnxF,KAAKP,KAAM2wF,EAAY2B,GAAc,GACrK,CA0BA,OAjCAj7B,EAAUq6B,EAAyBsH,GASnCj4D,EAAa2wD,EAAyB,CAAC,CACrC/vF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,mBAC3B,IAAI/6E,EAAOhZ,KAAKgZ,KACZw2C,EAAQx2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GACjCwzC,EAASz2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GAClCo4C,EAAMr0D,KAAK2yF,WAAWjxF,OAAO8tD,EAAOC,GACpCsjC,EAAc/5E,EAAK85E,YAAYtjC,MAC/BypC,EAASj5F,KAAK2yF,WAAW9yE,cAAc,YAW3C,OAVAo5E,EAAO1kC,aAAa,IAAKw+B,EAAc,GACvCkG,EAAO1kC,aAAa,IAAKw+B,EAAc,GACvCkG,EAAO1kC,aAAa,QAAS/E,EAAQujC,GACrCkG,EAAO1kC,aAAa,SAAU9E,EAASsjC,GACvCkG,EAAO1kC,aAAa,eAAgBw+B,GACpCkG,EAAO1kC,aAAa,SAAU,eAC9B0kC,EAAO1kC,aAAa,OAAQ,QAC5BF,EAAIhpC,YAAY4tE,GAChBj5F,KAAK6oC,UAAUkwD,OAAO1kC,GACtBr0D,KAAKg1F,aAAah1F,KAAK6oC,UAAWowD,EAAQjgF,GACnChZ,KAAK6oC,SACd,KAGK6oD,CACT,CAnC8B,CAmC5BW,GAEEV,EAA0B,SAAUuH,GAGtC,SAASvH,EAAwBhB,GAC/BxvD,EAAgBnhC,KAAM2xF,GAEtB,IAAIW,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAO2xF,EAAwBz2D,WAAap6B,OAAOooB,eAAeyoE,IAA0BpxF,KAAKP,KAAM2wF,EAAY2B,GAAc,GACrK,CA0BA,OAjCAj7B,EAAUs6B,EAAyBuH,GASnCn4D,EAAa4wD,EAAyB,CAAC,CACrChwF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,mBAC3B,IAAI/6E,EAAOhZ,KAAKgZ,KACZw2C,EAAQx2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GACjCwzC,EAASz2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GAClCo4C,EAAMr0D,KAAK2yF,WAAWjxF,OAAO8tD,EAAOC,GACpCsjC,EAAc/5E,EAAK85E,YAAYtjC,MAC/B2pC,EAASn5F,KAAK2yF,WAAW9yE,cAAc,eAW3C,OAVAs5E,EAAO5kC,aAAa,KAAM/E,EAAQ,GAClC2pC,EAAO5kC,aAAa,KAAM9E,EAAS,GACnC0pC,EAAO5kC,aAAa,KAAM/E,EAAQ,EAAIujC,EAAc,GACpDoG,EAAO5kC,aAAa,KAAM9E,EAAS,EAAIsjC,EAAc,GACrDoG,EAAO5kC,aAAa,eAAgBw+B,GACpCoG,EAAO5kC,aAAa,SAAU,eAC9B4kC,EAAO5kC,aAAa,OAAQ,QAC5BF,EAAIhpC,YAAY8tE,GAChBn5F,KAAK6oC,UAAUkwD,OAAO1kC,GACtBr0D,KAAKg1F,aAAah1F,KAAK6oC,UAAWswD,EAAQngF,GACnChZ,KAAK6oC,SACd,KAGK8oD,CACT,CAnC8B,CAmC5BU,GAEET,EAA4B,SAAUwH,GAGxC,SAASxH,EAA0BjB,GACjCxvD,EAAgBnhC,KAAM4xF,GAEtB,IAAIU,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAEvF9iC,EAAUsG,EAA2Bn3D,MAAO4xF,EAA0B12D,WAAap6B,OAAOooB,eAAe0oE,IAA4BrxF,KAAKP,KAAM2wF,EAAY2B,GAAc,IAI9K,OAFAzhC,EAAQwoC,mBAAqB,qBAC7BxoC,EAAQyoC,eAAiB,eAClBzoC,CACT,CA+BA,OA3CAwG,EAAUu6B,EAA2BwH,GAcrCr4D,EAAa6wD,EAA2B,CAAC,CACvCjwF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY/zF,KAAKq5F,mBAOhC,IANA,IAAIrgF,EAAOhZ,KAAKgZ,KACZw2C,EAAQx2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GACjCwzC,EAASz2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GAClCo4C,EAAMr0D,KAAK2yF,WAAWjxF,OAAO8tD,EAAOC,GACpC8pC,EAAWvgF,EAAKugF,SAChBh7B,EAAS,GACJl+D,EAAI,EAAGyY,EAAKygF,EAAS7hF,OAAQrX,EAAIyY,EAAIzY,IAAK,CACjD,IAAI6Y,EAAIqgF,EAASl5F,GAAG6Y,EAAIF,EAAKiD,KAAK,GAC9Bw5C,EAAIz8C,EAAKiD,KAAK,GAAKs9E,EAASl5F,GAAGo1D,EACnC8I,EAAOlmD,KAAKa,EAAI,IAAMu8C,EACxB,CACA8I,EAASA,EAAOjmD,KAAK,KACrB,IAAIy6E,EAAc/5E,EAAK85E,YAAYtjC,MAC/BgqC,EAAWx5F,KAAK2yF,WAAW9yE,cAAc7f,KAAKs5F,gBAQlD,OAPAE,EAASjlC,aAAa,SAAUgK,GAChCi7B,EAASjlC,aAAa,eAAgBw+B,GACtCyG,EAASjlC,aAAa,SAAU,eAChCilC,EAASjlC,aAAa,OAAQ,QAC9BF,EAAIhpC,YAAYmuE,GAChBx5F,KAAK6oC,UAAUkwD,OAAO1kC,GACtBr0D,KAAKg1F,aAAah1F,KAAK6oC,UAAW2wD,EAAUxgF,GACrChZ,KAAK6oC,SACd,KAGK+oD,CACT,CA7CgC,CA6C9BS,GAEEP,EAA2B,SAAU2H,GAGvC,SAAS3H,EAAyBnB,GAChCxvD,EAAgBnhC,KAAM8xF,GAEtB,IAAI9+B,EAAUmE,EAA2Bn3D,MAAO8xF,EAAyB52D,WAAap6B,OAAOooB,eAAe4oE,IAA2BvxF,KAAKP,KAAM2wF,IAIlJ,OAFA39B,EAAQqmC,mBAAqB,oBAC7BrmC,EAAQsmC,eAAiB,cAClBtmC,CACT,CAEA,OAZAqE,EAAUy6B,EAA0B2H,GAY7B3H,CACT,CAd+B,CAc7BF,GAEEC,EAAuB,SAAU6H,GAGnC,SAAS7H,EAAqBlB,GAC5BxvD,EAAgBnhC,KAAM6xF,GAEtB,IAAIS,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAEvFzgC,EAAUiE,EAA2Bn3D,MAAO6xF,EAAqB32D,WAAap6B,OAAOooB,eAAe2oE,IAAuBtxF,KAAKP,KAAM2wF,EAAY2B,GAAc,IAIpK,OAFAp/B,EAAQmmC,mBAAqB,gBAC7BnmC,EAAQomC,eAAiB,eAClBpmC,CACT,CAkCA,OA9CAmE,EAAUw6B,EAAsB6H,GAchC34D,EAAa8wD,EAAsB,CAAC,CAClClwF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY/zF,KAAKq5F,mBAMhC,IALA,IAAIrgF,EAAOhZ,KAAKgZ,KACZw2C,EAAQx2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GACjCwzC,EAASz2C,EAAKiD,KAAK,GAAKjD,EAAKiD,KAAK,GAClCo4C,EAAMr0D,KAAK2yF,WAAWjxF,OAAO8tD,EAAOC,GACpCkqC,EAAW3gF,EAAK2gF,SACXt5F,EAAI,EAAGyY,EAAK6gF,EAASjiF,OAAQrX,EAAIyY,EAAIzY,IAAK,CAGjD,IAFA,IAAIu5F,EAAUD,EAASt5F,GACnBk+D,EAAS,GACJ/2C,EAAI,EAAG+3C,EAAKq6B,EAAQliF,OAAQ8P,EAAI+3C,EAAI/3C,IAAK,CAChD,IAAItO,EAAI0gF,EAAQpyE,GAAGtO,EAAIF,EAAKiD,KAAK,GAC7Bw5C,EAAIz8C,EAAKiD,KAAK,GAAK29E,EAAQpyE,GAAGiuC,EAClC8I,EAAOlmD,KAAKa,EAAI,IAAMu8C,EACxB,CACA8I,EAASA,EAAOjmD,KAAK,KACrB,IAAIy6E,EAAc/5E,EAAK85E,YAAYtjC,MAC/BgqC,EAAWx5F,KAAK2yF,WAAW9yE,cAAc7f,KAAKs5F,gBAClDE,EAASjlC,aAAa,SAAUgK,GAChCi7B,EAASjlC,aAAa,eAAgBw+B,GACtCyG,EAASjlC,aAAa,SAAU,eAChCilC,EAASjlC,aAAa,OAAQ,QAC9Bv0D,KAAKg1F,aAAah1F,KAAK6oC,UAAW2wD,EAAUxgF,GAC5Cq7C,EAAIhpC,YAAYmuE,EAClB,CAEA,OADAx5F,KAAK6oC,UAAUkwD,OAAO1kC,GACfr0D,KAAK6oC,SACd,KAGKgpD,CACT,CAhD2B,CAgDzBQ,GAEEN,EAA6B,SAAU8H,GAGzC,SAAS9H,EAA2BpB,GAClCxvD,EAAgBnhC,KAAM+xF,GAEtB,IAAIO,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAO+xF,EAA2B72D,WAAap6B,OAAOooB,eAAe6oE,IAA6BxxF,KAAKP,KAAM2wF,EAAY2B,GAAc,GAC3K,CAaA,OApBAj7B,EAAU06B,EAA4B8H,GAStC94D,EAAagxD,EAA4B,CAAC,CACxCpwF,IAAK,SACLN,MAAO,WAKL,OAJArB,KAAK6oC,UAAUkrD,UAAY,sBACtB/zF,KAAKgZ,KAAK47E,UACb50F,KAAKg1F,aAAah1F,KAAK6oC,UAAW,KAAM7oC,KAAKgZ,MAExChZ,KAAK6oC,SACd,KAGKkpD,CACT,CAtBiC,CAsB/BM,GAEEL,EAA6B,SAAU8H,GAGzC,SAAS9H,EAA2BrB,GAClCxvD,EAAgBnhC,KAAMgyF,GAEtB,IAAIM,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAOgyF,EAA2B92D,WAAap6B,OAAOooB,eAAe8oE,IAA6BzxF,KAAKP,KAAM2wF,EAAY2B,GAAc,GAC3K,CAaA,OApBAj7B,EAAU26B,EAA4B8H,GAStC/4D,EAAaixD,EAA4B,CAAC,CACxCrwF,IAAK,SACLN,MAAO,WAKL,OAJArB,KAAK6oC,UAAUkrD,UAAY,sBACtB/zF,KAAKgZ,KAAK47E,UACb50F,KAAKg1F,aAAah1F,KAAK6oC,UAAW,KAAM7oC,KAAKgZ,MAExChZ,KAAK6oC,SACd,KAGKmpD,CACT,CAtBiC,CAsB/BK,GAEEJ,EAA4B,SAAU8H,GAGxC,SAAS9H,EAA0BtB,GACjCxvD,EAAgBnhC,KAAMiyF,GAEtB,IAAIK,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAOiyF,EAA0B/2D,WAAap6B,OAAOooB,eAAe+oE,IAA4B1xF,KAAKP,KAAM2wF,EAAY2B,GAAc,GACzK,CAaA,OApBAj7B,EAAU46B,EAA2B8H,GASrCh5D,EAAakxD,EAA2B,CAAC,CACvCtwF,IAAK,SACLN,MAAO,WAKL,OAJArB,KAAK6oC,UAAUkrD,UAAY,qBACtB/zF,KAAKgZ,KAAK47E,UACb50F,KAAKg1F,aAAah1F,KAAK6oC,UAAW,KAAM7oC,KAAKgZ,MAExChZ,KAAK6oC,SACd,KAGKopD,CACT,CAtBgC,CAsB9BI,GAEEH,EAA6B,SAAU8H,GAGzC,SAAS9H,EAA2BvB,GAClCxvD,EAAgBnhC,KAAMkyF,GAEtB,IAAII,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAOkyF,EAA2Bh3D,WAAap6B,OAAOooB,eAAegpE,IAA6B3xF,KAAKP,KAAM2wF,EAAY2B,GAAc,GAC3K,CAaA,OApBAj7B,EAAU66B,EAA4B8H,GAStCj5D,EAAamxD,EAA4B,CAAC,CACxCvwF,IAAK,SACLN,MAAO,WAKL,OAJArB,KAAK6oC,UAAUkrD,UAAY,sBACtB/zF,KAAKgZ,KAAK47E,UACb50F,KAAKg1F,aAAah1F,KAAK6oC,UAAW,KAAM7oC,KAAKgZ,MAExChZ,KAAK6oC,SACd,KAGKqpD,CACT,CAtBiC,CAsB/BG,GAEEF,EAAyB,SAAU8H,GAGrC,SAAS9H,EAAuBxB,GAC9BxvD,EAAgBnhC,KAAMmyF,GAEtB,IAAIG,KAAkB3B,EAAW33E,KAAK47E,UAAYjE,EAAW33E,KAAKm9C,OAASw6B,EAAW33E,KAAK26E,UAC3F,OAAOx8B,EAA2Bn3D,MAAOmyF,EAAuBj3D,WAAap6B,OAAOooB,eAAeipE,IAAyB5xF,KAAKP,KAAM2wF,EAAY2B,GAAc,GACnK,CAaA,OApBAj7B,EAAU86B,EAAwB8H,GASlCl5D,EAAaoxD,EAAwB,CAAC,CACpCxwF,IAAK,SACLN,MAAO,WAKL,OAJArB,KAAK6oC,UAAUkrD,UAAY,kBACtB/zF,KAAKgZ,KAAK47E,UACb50F,KAAKg1F,aAAah1F,KAAK6oC,UAAW,KAAM7oC,KAAKgZ,MAExChZ,KAAK6oC,SACd,KAGKspD,CACT,CAtB6B,CAsB3BE,GAEED,EAAkC,SAAU8H,GAG9C,SAAS9H,EAAgCzB,GACvCxvD,EAAgBnhC,KAAMoyF,GAEtB,IAAI+H,EAAUhjC,EAA2Bn3D,MAAOoyF,EAAgCl3D,WAAap6B,OAAOooB,eAAekpE,IAAkC7xF,KAAKP,KAAM2wF,GAAY,IAExKyJ,EAAoBD,EAAQnhF,KAAKqhF,KACjCzpC,EAAWwpC,EAAkBxpC,SAC7BwwB,EAAUgZ,EAAkBhZ,QAYhC,OAVA+Y,EAAQvpC,UAAW,EAAIjV,EAAW52C,oBAAoB6rD,GACtDupC,EAAQ/Y,QAAUA,EACd+Y,EAAQ3H,YAAY8H,UACtBH,EAAQ3H,YAAY8H,SAASC,SAAS,2BAA4B,CAChE74E,OAAQy4E,EACR51E,IAAI,EAAIm3B,EAAMj2C,mBAAmBmrD,GACjCA,SAAUA,EACVwwB,QAASA,IAGN+Y,CACT,CA2BA,OAjDA9iC,EAAU+6B,EAAiC8H,GAwB3Cn5D,EAAaqxD,EAAiC,CAAC,CAC7CzwF,IAAK,SACLN,MAAO,WACLrB,KAAK6oC,UAAUkrD,UAAY,2BAC3B,IAAIP,EAAU10E,SAASe,cAAc,OAQrC,OAPA2zE,EAAQroE,MAAMskC,OAASzvD,KAAK6oC,UAAU1d,MAAMskC,OAC5C+jC,EAAQroE,MAAMqkC,MAAQxvD,KAAK6oC,UAAU1d,MAAMqkC,MAC3CgkC,EAAQn+D,iBAAiB,WAAYr1B,KAAKw6F,UAAU54F,KAAK5B,OACpDA,KAAKgZ,KAAK47E,WAAa50F,KAAKgZ,KAAKm9C,QAASn2D,KAAKgZ,KAAK26E,UACvD3zF,KAAKg1F,aAAah1F,KAAK6oC,UAAW2qD,EAASxzF,KAAKgZ,MAElDhZ,KAAK6oC,UAAUxd,YAAYmoE,GACpBxzF,KAAK6oC,SACd,GACC,CACDlnC,IAAK,YACLN,MAAO,WACArB,KAAKyyF,gBAIVzyF,KAAKyyF,gBAAgBgI,aAAaz6F,KAAKohF,QAASphF,KAAK4wD,SAAU,KAH7D,EAAIlV,EAAMp2C,MAAM,iEAIpB,KAGK8sF,CACT,CAnDsC,CAmDpCC,GAEE1uF,EAAkB,WACpB,SAASA,IACPw9B,EAAgBnhC,KAAM2D,EACxB,CAwCA,OAtCAo9B,EAAap9B,EAAiB,KAAM,CAAC,CACnChC,IAAK,SACLN,MAAO,SAAgBsvF,GACrB,IAAK,IAAItwF,EAAI,EAAGyY,EAAK63E,EAAW+J,YAAYhjF,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC/D,IAAI2Y,EAAO23E,EAAW+J,YAAYr6F,GAClC,GAAK2Y,EAAL,CAGA,IAAIs8E,EAAU5E,EAAyBhvF,OAAO,CAC5CsX,KAAMA,EACNmtD,MAAOwqB,EAAW/wE,IAClB2sC,KAAMokC,EAAWpkC,KACjBsG,SAAU89B,EAAW99B,SACrB2/B,YAAa7B,EAAW6B,YACxBC,gBAAiB9B,EAAW8B,gBAC5BC,mBAAoB/B,EAAW+B,oBAAsB,GACrDrsC,uBAAwBsqC,EAAWtqC,yBAA0B,EAC7DssC,WAAY,IAAIh3C,EAAW0X,gBAEzBiiC,EAAQhD,cACV3B,EAAW/wE,IAAIyL,YAAYiqE,EAAQnwC,SAbrC,CAeF,CACF,GACC,CACDxjD,IAAK,SACLN,MAAO,SAAgBsvF,GACrB,IAAK,IAAItwF,EAAI,EAAGyY,EAAK63E,EAAW+J,YAAYhjF,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC/D,IAAI2Y,EAAO23E,EAAW+J,YAAYr6F,GAC9Bi1F,EAAU3E,EAAW/wE,IAAI+3E,cAAc,wBAA0B3+E,EAAKuL,GAAK,MAC3E+wE,IACFA,EAAQnqE,MAAMpb,UAAY,UAAY4gF,EAAW99B,SAAS9iD,UAAUuI,KAAK,KAAO,IAEpF,CACAq4E,EAAW/wE,IAAI84E,gBAAgB,SACjC,KAGK/0F,CACT,CA5CsB,GA8CtB5D,EAAQ4D,gBAAkBA,CAEnB,EAED,SAAU7D,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQiE,iBAAcoE,EAEtB,IAAIszC,EAAQv7C,EAAoB,GAE5Bw7C,EAAax7C,EAAoB,KAEjCw6F,EAAWx6F,EAAoB,GAE/By6F,EAAY3+C,EAAuB0+C,GAEvC,SAAS1+C,EAAuB1zC,GAAO,OAAOA,GAAOA,EAAI/G,WAAa+G,EAAM,CAAEg0C,QAASh0C,EAAO,CAE9F,IAAIvE,EAAc,WAChB,MAAM,IAAI+R,MAAM,+BAClB,EAEM8kF,EAAe,CACjBvE,UAAW,SACXD,WAAY,SACZ91B,UAAW,WAETu6B,EAAsB,WAIxB,IAHA,IAAIC,EAAa,IAAIxiF,WAAW,CAAC,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,KACvEyiF,EAAqB,GACrBC,EAAW,IAAIj8B,WAAW,KACrB3+D,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAE5B,IADA,IAAII,EAAIJ,EACCw4C,EAAI,EAAGA,EAAI,EAAGA,IAEnBp4C,EADM,EAAJA,EACE,WAAaA,GAAK,EAAI,WAEtBA,GAAK,EAAI,WAGjBw6F,EAAS56F,GAAKI,CAChB,CACA,SAASy6F,EAAMliF,EAAMI,EAAO/B,GAE1B,IADA,IAAI8jF,GAAO,EACF96F,EAAI+Y,EAAO/Y,EAAIgX,EAAKhX,IAAK,CAChC,IAAIqb,EAAsB,KAAjBy/E,EAAMniF,EAAK3Y,IAChBka,EAAI0gF,EAASv/E,GACjBy/E,EAAMA,IAAQ,EAAI5gF,CACpB,CACA,OAAc,EAAP4gF,CACT,CACA,SAASC,EAAcl9E,EAAMs8C,EAAMxhD,EAAMK,GACvC,IAAInX,EAAImX,EACJ62E,EAAM11B,EAAK9iD,OACfsB,EAAK9W,GAAKguF,GAAO,GAAK,IACtBl3E,EAAK9W,EAAI,GAAKguF,GAAO,GAAK,IAC1Bl3E,EAAK9W,EAAI,GAAKguF,GAAO,EAAI,IACzBl3E,EAAK9W,EAAI,GAAW,IAANguF,EACdhuF,GAAK,EACL8W,EAAK9W,GAA0B,IAArBgc,EAAK1F,WAAW,GAC1BQ,EAAK9W,EAAI,GAA0B,IAArBgc,EAAK1F,WAAW,GAC9BQ,EAAK9W,EAAI,GAA0B,IAArBgc,EAAK1F,WAAW,GAC9BQ,EAAK9W,EAAI,GAA0B,IAArBgc,EAAK1F,WAAW,GAC9BtW,GAAK,EACL8W,EAAKC,IAAIuhD,EAAMt4D,GACfA,GAAKs4D,EAAK9iD,OACV,IAAIyjF,EAAMD,EAAMliF,EAAMK,EAAS,EAAGnX,GAClC8W,EAAK9W,GAAKi5F,GAAO,GAAK,IACtBniF,EAAK9W,EAAI,GAAKi5F,GAAO,GAAK,IAC1BniF,EAAK9W,EAAI,GAAKi5F,GAAO,EAAI,IACzBniF,EAAK9W,EAAI,GAAW,IAANi5F,CAChB,CACA,SAASE,EAAQriF,EAAMI,EAAO/B,GAG5B,IAFA,IAAIqE,EAAI,EACJnB,EAAI,EACCla,EAAI+Y,EAAO/Y,EAAIgX,IAAOhX,EAC7Bqb,GAAKA,GAAe,IAAV1C,EAAK3Y,KAAc,MAC7Bka,GAAKA,EAAImB,GAAK,MAEhB,OAAOnB,GAAK,GAAKmB,CACnB,CACA,SAAS4/E,EAAYC,GACnB,KAAK,EAAIX,EAAUr+C,WACjB,OAAOi/C,EAAwBD,GAEjC,IACE,IAAIl8E,EAEFA,EADEs7B,SAAS/5B,QAAQ8O,SAAS0G,OAAS,EAC7BmlE,EAEA,IAAIt8E,OAAOs8E,GAErB,IAAIE,EAAS,qBAA4Bp8E,EAAO,CAAE7J,MAAO,IACzD,OAAOimF,aAAkBljF,WAAakjF,EAAS,IAAIljF,WAAWkjF,EAGhE,CAFE,MAAOplF,IACP,EAAIqlC,EAAMp2C,MAAM,gEAAkE+Q,EACpF,CACA,OAAOmlF,EAAwBD,EACjC,CACA,SAASC,EAAwBD,GAC/B,IAAIrL,EAAMqL,EAAS7jF,OACfgkF,EAAiB,MACjBC,EAAgB1jF,KAAKkB,KAAK+2E,EAAMwL,GAChCE,EAAO,IAAIrjF,WAAW,EAAI23E,EAAsB,EAAhByL,EAAoB,GACpDhb,EAAK,EACTib,EAAKjb,KAAQ,IACbib,EAAKjb,KAAQ,IACb,IAAI5nE,EAAM,EACV,MAAOm3E,EAAMwL,EACXE,EAAKjb,KAAQ,EACbib,EAAKjb,KAAQ,IACbib,EAAKjb,KAAQ,IACbib,EAAKjb,KAAQ,EACbib,EAAKjb,KAAQ,EACbib,EAAK3iF,IAAIsiF,EAASnjF,SAASW,EAAKA,EAAM2iF,GAAiB/a,GACvDA,GAAM+a,EACN3iF,GAAO2iF,EACPxL,GAAOwL,EAETE,EAAKjb,KAAQ,EACbib,EAAKjb,KAAc,IAANuP,EACb0L,EAAKjb,KAAQuP,GAAO,EAAI,IACxB0L,EAAKjb,KAAe,KAANuP,EACd0L,EAAKjb,MAAgB,OAANuP,IAAiB,EAAI,IACpC0L,EAAK3iF,IAAIsiF,EAASnjF,SAASW,GAAM4nE,GACjCA,GAAM4a,EAAS7jF,OAASqB,EACxB,IAAI8iF,EAAQR,EAAQE,EAAU,EAAGA,EAAS7jF,QAK1C,OAJAkkF,EAAKjb,KAAQkb,GAAS,GAAK,IAC3BD,EAAKjb,KAAQkb,GAAS,GAAK,IAC3BD,EAAKjb,KAAQkb,GAAS,EAAI,IAC1BD,EAAKjb,KAAgB,IAARkb,EACND,CACT,CACA,SAASE,EAAO39B,EAASj0C,EAAMnM,EAAiBg+E,GAC9C,IAEIC,EAAUC,EAAWx9B,EAFrBjP,EAAQ2O,EAAQ3O,MAChBC,EAAS0O,EAAQ1O,OAEjBh4C,EAAQ0mD,EAAQnlD,KACpB,OAAQkR,GACN,KAAKwxB,EAAM9zC,UAAUoC,eACnBiyF,EAAY,EACZD,EAAW,EACXv9B,EAAWjP,EAAQ,GAAK,EACxB,MACF,KAAK9T,EAAM9zC,UAAUqC,UACnBgyF,EAAY,EACZD,EAAW,EACXv9B,EAAmB,EAARjP,EACX,MACF,KAAK9T,EAAM9zC,UAAUsC,WACnB+xF,EAAY,EACZD,EAAW,EACXv9B,EAAmB,EAARjP,EACX,MACF,QACE,MAAM,IAAIz5C,MAAM,kBAEpB,IAGI0/C,EAAGp1D,EAHHk7F,EAAW,IAAIhjF,YAAY,EAAIkmD,GAAYhP,GAC3CysC,EAAiB,EACjBC,EAAc,EAElB,IAAK1mC,EAAI,EAAGA,EAAIhG,IAAUgG,EACxB8lC,EAASW,KAAoB,EAC7BX,EAAStiF,IAAIxB,EAAMW,SAAS+jF,EAAaA,EAAc19B,GAAWy9B,GAClEC,GAAe19B,EACfy9B,GAAkBz9B,EAEpB,GAAIv0C,IAASwxB,EAAM9zC,UAAUoC,gBAAkB+xF,EAE7C,IADAG,EAAiB,EACZzmC,EAAI,EAAGA,EAAIhG,EAAQgG,IAEtB,IADAymC,IACK77F,EAAI,EAAGA,EAAIo+D,EAAUp+D,IACxBk7F,EAASW,MAAqB,IAIpC,IAAIE,EAAO,IAAI7jF,WAAW,CAACi3C,GAAS,GAAK,IAAMA,GAAS,GAAK,IAAMA,GAAS,EAAI,IAAc,IAARA,EAAcC,GAAU,GAAK,IAAMA,GAAU,GAAK,IAAMA,GAAU,EAAI,IAAe,IAATA,EAAeusC,EAAUC,EAAW,EAAM,EAAM,IAC9ML,EAAON,EAAYC,GACnBc,EAAYtB,EAAWrjF,OAA8B,EAArBsjF,EAAyBoB,EAAK1kF,OAASkkF,EAAKlkF,OAC5EsB,EAAO,IAAIT,WAAW8jF,GACtBhjF,EAAS,EAQb,OAPAL,EAAKC,IAAI8hF,EAAY1hF,GACrBA,GAAU0hF,EAAWrjF,OACrB0jF,EAAc,OAAQgB,EAAMpjF,EAAMK,GAClCA,GAAU2hF,EAAqBoB,EAAK1kF,OACpC0jF,EAAc,QAASQ,EAAM5iF,EAAMK,GACnCA,GAAU2hF,EAAqBY,EAAKlkF,OACpC0jF,EAAc,OAAQ,IAAI7iF,WAAW,GAAIS,EAAMK,IACxC,EAAIqiC,EAAMj3C,iBAAiBuU,EAAM,YAAa+E,EACvD,CACA,OAAO,SAA6BogD,EAASpgD,EAAiBg+E,GAC5D,IAAI7xE,OAAwB9hB,IAAjB+1D,EAAQj0C,KAAqBwxB,EAAM9zC,UAAUoC,eAAiBm0D,EAAQj0C,KACjF,OAAO4xE,EAAO39B,EAASj0C,EAAMnM,EAAiBg+E,EAChD,CACF,CAvK0B,GAwKtBO,EAAgB,WAClB,SAASA,IACPt8F,KAAK2/D,cAAgB,EACrB3/D,KAAKq2F,WAAawE,EAAaxE,WAC/Br2F,KAAK0/D,SAAW,EAChB1/D,KAAK4/D,WAAalkB,EAAMxzC,gBACxBlI,KAAK8/D,WAAapkB,EAAMvzC,qBACxBnI,KAAK+/D,QAAU,EACf//D,KAAKqgE,kBAAoB3kB,EAAMn0C,kBAAkB+B,KACjDtJ,KAAKkZ,EAAI,EACTlZ,KAAKy1D,EAAI,EACTz1D,KAAKggE,MAAQ,EACbhgE,KAAKigE,MAAQ,EACbjgE,KAAKkgE,YAAc,EACnBlgE,KAAKmgE,YAAc,EACnBngE,KAAKogE,WAAa,EAClBpgE,KAAKsgE,SAAW,EAChBtgE,KAAKugE,UAAYs6B,EAAat6B,UAC9BvgE,KAAKwgE,YAAc,UACnBxgE,KAAK0gE,UAAY,EACjB1gE,KAAK2gE,YAAc,EACnB3gE,KAAK4gE,UAAY,EACjB5gE,KAAKskE,SAAW,GAChBtkE,KAAKqkE,QAAU,GACfrkE,KAAKukE,WAAa,EAClBvkE,KAAK4nE,UAAY,GACjB5nE,KAAK6nE,UAAY,EACjB7nE,KAAKu8F,aAAe,GACpBv8F,KAAKw8F,cAAgB,KACrBx8F,KAAKy8F,UAAY,KACjBz8F,KAAK08F,OAAS,EAChB,CAUA,OATAJ,EAAct6F,UAAY,CACxB++D,MAAO,WACL,OAAOjgE,OAAOY,OAAO1B,KACvB,EACAghE,gBAAiB,SAAuC9nD,EAAGu8C,GACzDz1D,KAAKkZ,EAAIA,EACTlZ,KAAKy1D,EAAIA,CACX,GAEK6mC,CACT,CA1CoB,GA2CpBv8F,EAAQiE,YAAcA,EAAc,WAClC,SAAS24F,EAAaC,GAIpB,IAHA,IAAIC,EAAS,GACTjlE,EAAM,GACNklE,EAAYF,EAAOllF,OACdwB,EAAI,EAAGA,EAAI4jF,EAAW5jF,IACR,SAAjB0jF,EAAO1jF,GAAGwK,GAUO,YAAjBk5E,EAAO1jF,GAAGwK,GACZm5E,EAASjlE,EAAI2iB,MAEbsiD,EAAOxkF,KAAKukF,EAAO1jF,KAZnB2jF,EAAOxkF,KAAK,CACV,KAAQ,GACR,GAAM,QACN,MAAS,KAEXuf,EAAIvf,KAAKwkF,GACTA,EAASA,EAAOA,EAAOnlF,OAAS,GAAGiwC,OASvC,OAAOk1C,CACT,CACA,SAASE,EAAG17F,GACV,GAAIoU,OAAOC,UAAUrU,GACnB,OAAOA,EAAM8d,WAEf,IAAIhd,EAAId,EAAM27F,QAAQ,IAClB38F,EAAI8B,EAAEuV,OAAS,EACnB,GAAa,MAATvV,EAAE9B,GACJ,OAAO8B,EAET,GACE9B,UACgB,MAAT8B,EAAE9B,IACX,OAAO8B,EAAEq0D,UAAU,EAAY,MAATr0D,EAAE9B,GAAaA,EAAIA,EAAI,EAC/C,CACA,SAAS48F,EAAGz8F,GACV,GAAa,IAATA,EAAE,IAAqB,IAATA,EAAE,GAAU,CAC5B,GAAa,IAATA,EAAE,IAAqB,IAATA,EAAE,GAClB,OAAa,IAATA,EAAE,IAAqB,IAATA,EAAE,GACX,GAEF,SAAWu8F,EAAGv8F,EAAE,IAAM,IAAMu8F,EAAGv8F,EAAE,IAAM,IAEhD,GAAIA,EAAE,KAAOA,EAAE,IAAMA,EAAE,MAAQA,EAAE,GAAI,CACnC,IAAIkb,EAAsB,IAAlBzD,KAAKilF,KAAK18F,EAAE,IAAYyX,KAAKk0E,GACrC,MAAO,UAAY4Q,EAAGrhF,GAAK,GAC7B,CACF,MACE,GAAa,IAATlb,EAAE,IAAqB,IAATA,EAAE,IAAqB,IAATA,EAAE,IAAqB,IAATA,EAAE,GAC9C,MAAO,aAAeu8F,EAAGv8F,EAAE,IAAM,IAAMu8F,EAAGv8F,EAAE,IAAM,IAGtD,MAAO,UAAYu8F,EAAGv8F,EAAE,IAAM,IAAMu8F,EAAGv8F,EAAE,IAAM,IAAMu8F,EAAGv8F,EAAE,IAAM,IAAMu8F,EAAGv8F,EAAE,IAAM,IAAMu8F,EAAGv8F,EAAE,IAAM,IAAMu8F,EAAGv8F,EAAE,IAAM,GACrH,CACA,SAASwD,EAAYigD,EAAYC,EAAMnmC,GACrC/d,KAAK2yF,WAAa,IAAIh3C,EAAW0X,cACjCrzD,KAAKu7D,QAAU,IAAI+gC,EACnBt8F,KAAKm9F,gBAAkBzhD,EAAMxzC,gBAC7BlI,KAAKo9F,eAAiB,GACtBp9F,KAAKq9F,WAAa,GAClBr9F,KAAKikD,WAAaA,EAClBjkD,KAAKkkD,KAAOA,EACZlkD,KAAKqhE,YAAc,KACnBrhE,KAAKshE,eAAgB,EACrBthE,KAAKs9F,YAAa,EAClBt9F,KAAKu9F,cAAgBz8F,OAAOY,OAAO,MACnC1B,KAAKw9F,SAAW,KAChBx9F,KAAK+d,kBAAoBA,CAC3B,CACA,IAAI0/E,EAAS,uCACTC,EAAW,+BACXt3B,EAAkB,CAAC,OAAQ,QAAS,UACpCC,EAAmB,CAAC,QAAS,QAAS,SACtCs3B,EAAY,EACZC,EAAY,EAyvBhB,OAxvBA55F,EAAYhC,UAAY,CACtB6N,KAAM,WACJ7P,KAAKo9F,eAAe/kF,KAAKrY,KAAKm9F,iBAC9B,IAAI9/B,EAAMr9D,KAAKu7D,QACfv7D,KAAKq9F,WAAWhlF,KAAKglD,GACrBr9D,KAAKu7D,QAAU8B,EAAI0D,OACrB,EACAjxD,QAAS,WACP9P,KAAKm9F,gBAAkBn9F,KAAKo9F,eAAe7iD,MAC3Cv6C,KAAKu7D,QAAUv7D,KAAKq9F,WAAW9iD,MAC/Bv6C,KAAKqhE,YAAc,KACnBrhE,KAAK69F,KAAO,IACd,EACAzvB,MAAO,SAA2BzmB,GAChC3nD,KAAK6P,OACL7P,KAAK89F,cAAcn2C,GACnB3nD,KAAK8P,SACP,EACAiuF,iBAAkB,SAAsC93C,GAMtD,IALA,IAAIre,EAAQ5nC,KAERkmD,EAAUD,EAAaC,QACvB83C,EAAa93C,EAAQxuC,OACrByuC,EAAYF,EAAaE,UACpB9lD,EAAI,EAAGA,EAAI29F,EAAY39F,IAC9B,GAAIq7C,EAAMr3C,IAAI+K,aAAe82C,EAAQ7lD,GAEnC,IADA,IAAIgnE,EAAOlhB,EAAU9lD,GACZwB,EAAI,EAAGylE,EAAKD,EAAK3vD,OAAQ7V,EAAIylE,EAAIzlE,IAAK,CAC7C,IAEI4b,EAFAlV,EAAM8+D,EAAKxlE,GACXw4B,EAAiC,OAAxB9xB,EAAIiuD,UAAU,EAAG,GAG5B/4C,EAAU,IAAIC,QADZ2c,EACoB,SAAU1c,GAC9BiqB,EAAMqc,WAAWhjD,IAAIsH,EAAKoV,EAC5B,EAEsB,SAAUA,GAC9BiqB,EAAMsc,KAAKjjD,IAAIsH,EAAKoV,EACtB,GAEF3d,KAAKu7D,QAAQghC,aAAalkF,KAAKoF,EACjC,CAGJ,OAAOC,QAAQkV,IAAI5yB,KAAKu7D,QAAQghC,aAClC,EACAxsF,UAAW,SAA+B2L,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GACvD,IAAIo6E,EAAkB,CAACzhF,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GACtC/iB,KAAKm9F,gBAAkBzhD,EAAM92C,KAAKmL,UAAU/P,KAAKm9F,gBAAiBA,GAClEn9F,KAAK69F,KAAO,IACd,EACAI,OAAQ,SAA4Bh4C,EAAc4M,GAChD,IAAItR,EAASvhD,KAEbA,KAAK6yD,SAAWA,EAChB,IAAIqrC,EAAal+F,KAAKwqD,YAAYqI,GAClC,OAAO7yD,KAAK+9F,iBAAiB93C,GAAc91B,MAAK,WAC9CoxB,EAAO47C,gBAAkBzhD,EAAMxzC,gBAC/B,IAAI20F,EAASt7C,EAAO48C,cAAcl4C,GAElC,OADA1E,EAAOu8C,cAAcjB,GACdqB,CACT,GACF,EACAC,cAAe,SAAmCl4C,GAChD,IAAIE,EAAYF,EAAaE,UACzBD,EAAUD,EAAaC,QACvB83C,EAAa93C,EAAQxuC,OACrB0mF,EAAS,GACTxB,EAAS,GACb,IAAK,IAAIp2B,KAAM9qB,EAAMr3C,IACnB+5F,EAAO1iD,EAAMr3C,IAAImiE,IAAOA,EAE1B,IAAK,IAAIttD,EAAI,EAAGA,EAAI8kF,EAAY9kF,IAAK,CACnC,IAAI+tD,EAAO/gB,EAAQhtC,GACnB0jF,EAAOvkF,KAAK,CACV,KAAQ4uD,EACR,GAAMm3B,EAAOn3B,GACb,KAAQ9gB,EAAUjtC,IAEtB,CACA,OAAOyjF,EAAaC,EACtB,EACAkB,cAAe,SAAmCjB,GAEhD,IADA,IAAIwB,EAAYxB,EAAOnlF,OACdwB,EAAI,EAAGA,EAAImlF,EAAWnlF,IAAK,CAClC,IAAIwK,EAAKm5E,EAAO3jF,GAAGwK,GACfujD,EAAO41B,EAAO3jF,GAAG+tD,KACjBnyC,EAAO+nE,EAAO3jF,GAAG4b,KACrB,OAAe,EAAPmyC,GACN,KAAKvrB,EAAMr3C,IAAI6M,UACblR,KAAKkR,YACL,MACF,KAAKwqC,EAAMr3C,IAAI+K,WACb,MACF,KAAKssC,EAAMr3C,IAAIkN,WACbvR,KAAKuR,WAAWujB,GAChB,MACF,KAAK4mB,EAAMr3C,IAAIuN,mBACb5R,KAAK4R,mBAAmBkjB,EAAK,GAAIA,EAAK,IACtC,MACF,KAAK4mB,EAAMr3C,IAAImN,QACbxR,KAAKwR,QAAQsjB,GACb,MACF,KAAK4mB,EAAMr3C,IAAI0N,SACb/R,KAAK+R,SAAS+iB,EAAK,IACnB,MACF,KAAK4mB,EAAMr3C,IAAI2N,eACbhS,KAAK+R,SAAS+iB,EAAK,IACnB,MACF,KAAK4mB,EAAMr3C,IAAI8M,QACbnR,KAAKmR,UACL,MACF,KAAKuqC,EAAMr3C,IAAIsN,SACb3R,KAAK2R,SAASmjB,EAAK,GAAIA,EAAK,IAC5B,MACF,KAAK4mB,EAAMr3C,IAAI+M,eACbpR,KAAKoR,eAAe0jB,EAAK,IACzB,MACF,KAAK4mB,EAAMr3C,IAAIgN,eACbrR,KAAKqR,eAAeyjB,EAAK,IACzB,MACF,KAAK4mB,EAAMr3C,IAAIiN,UACbtR,KAAKsR,UAAUwjB,EAAK,IACpB,MACF,KAAK4mB,EAAMr3C,IAAIwN,cACb7R,KAAK6R,cAAcijB,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACrE,MACF,KAAK4mB,EAAMr3C,IAAIqN,YACb1R,KAAK0R,YAAYojB,EAAK,IACtB,MACF,KAAK4mB,EAAMr3C,IAAIoN,qBACbzR,KAAKyR,qBAAqBqjB,EAAK,IAC/B,MACF,KAAK4mB,EAAMr3C,IAAIgL,aACbrP,KAAKqP,aAAaylB,EAAK,IACvB,MACF,KAAK4mB,EAAMr3C,IAAIkL,YACbvP,KAAKuP,YAAYulB,EAAK,IACtB,MACF,KAAK4mB,EAAMr3C,IAAIiL,WACbtP,KAAKsP,WAAWwlB,EAAK,IACrB,MACF,KAAK4mB,EAAMr3C,IAAImL,cACbxP,KAAKwP,cAAcslB,EAAK,IACxB,MACF,KAAK4mB,EAAMr3C,IAAIyO,gBACb9S,KAAK8S,gBAAgBgiB,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAC5C,MACF,KAAK4mB,EAAMr3C,IAAIwO,kBACb7S,KAAK6S,kBAAkBiiB,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAC9C,MACF,KAAK4mB,EAAMr3C,IAAIoL,QACbzP,KAAKyP,QAAQqlB,EAAK,GAAIA,EAAK,IAC3B,MACF,KAAK4mB,EAAMr3C,IAAIuL,UACb5P,KAAK4P,UAAUklB,EAAK,IACpB,MACF,KAAK4mB,EAAMr3C,IAAIoM,KACbzQ,KAAKyQ,OACL,MACF,KAAKirC,EAAMr3C,IAAIqM,OACb1Q,KAAK0Q,SACL,MACF,KAAKgrC,EAAMr3C,IAAIkM,OACbvQ,KAAKuQ,SACL,MACF,KAAKmrC,EAAMr3C,IAAIsM,WACb3Q,KAAK2Q,aACL,MACF,KAAK+qC,EAAMr3C,IAAIuM,aACb5Q,KAAK4Q,eACL,MACF,KAAK8qC,EAAMr3C,IAAI2M,KACbhR,KAAKgR,KAAK,WACV,MACF,KAAK0qC,EAAMr3C,IAAI4M,OACbjR,KAAKgR,KAAK,WACV,MACF,KAAK0qC,EAAMr3C,IAAIwQ,yBACb7U,KAAK6U,2BACL,MACF,KAAK6mC,EAAMr3C,IAAIgQ,iBACbrU,KAAKqU,iBAAiBygB,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAC7C,MACF,KAAK4mB,EAAMr3C,IAAImQ,kBACbxU,KAAKwU,kBAAkBsgB,EAAK,IAC5B,MACF,KAAK4mB,EAAMr3C,IAAIoQ,wBACbzU,KAAKyU,wBAAwBqgB,EAAK,IAClC,MACF,KAAK4mB,EAAMr3C,IAAIiQ,sBACbtU,KAAKsU,sBAAsBwgB,EAAK,IAChC,MACF,KAAK4mB,EAAMr3C,IAAIwP,sBACb7T,KAAK6T,sBAAsBihB,EAAK,GAAIA,EAAK,IACzC,MACF,KAAK4mB,EAAMr3C,IAAIyP,oBACb9T,KAAK8T,sBACL,MACF,KAAK4nC,EAAMr3C,IAAIgM,UACbrQ,KAAKqQ,YACL,MACF,KAAKqrC,EAAMr3C,IAAImM,YACbxQ,KAAKwQ,cACL,MACF,KAAKkrC,EAAMr3C,IAAIwM,gBACb7Q,KAAK6Q,kBACL,MACF,KAAK6qC,EAAMr3C,IAAIyM,kBACb9Q,KAAK8Q,oBACL,MACF,KAAK4qC,EAAMr3C,IAAIyN,SACb9R,KAAK8R,WACL,MACF,KAAK4pC,EAAMr3C,IAAI0L,UACb/P,KAAK+P,UAAU+kB,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACjE,MACF,KAAK4mB,EAAMr3C,IAAIyQ,cACb9U,KAAK8U,cAAcggB,EAAK,GAAIA,EAAK,IACjC,MACF,KAAK4mB,EAAMr3C,IAAI0M,QACb/Q,KAAK+Q,UACL,MACF,KAAK,GACH/Q,KAAKouE,MAAMyuB,EAAO3jF,GAAGyuC,OACrB,MACF,SACE,EAAIjM,EAAMp2C,MAAM,0BAA4Boe,GAC5C,MAEN,CACF,EACArS,eAAgB,SAAoC8uD,GAClDngE,KAAKu7D,QAAQ4E,YAAcA,CAC7B,EACA/uD,eAAgB,SAAoC8uD,GAClDlgE,KAAKu7D,QAAQ2E,YAAcA,CAC7B,EACApuD,SAAU,WACR9R,KAAK2R,SAAS,EAAG3R,KAAKu7D,QAAQwE,QAChC,EACAluD,cAAe,SAAmC6J,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GAC/D,IAAIw4C,EAAUv7D,KAAKu7D,QACnBv7D,KAAKu7D,QAAQqE,WAAa5/D,KAAKu7D,QAAQ+iC,WAAa,CAAC5iF,EAAGnB,EAAG9Z,EAAGC,EAAG2V,EAAG0M,GACpE/iB,KAAKu7D,QAAQriD,EAAIlZ,KAAKu7D,QAAQyE,MAAQ,EACtChgE,KAAKu7D,QAAQ9F,EAAIz1D,KAAKu7D,QAAQ0E,MAAQ,EACtC1E,EAAQgjC,QAAU,GAClBhjC,EAAQijC,MAAQx+F,KAAK2yF,WAAW9yE,cAAc,aAC9C07C,EAAQijC,MAAMC,eAAe,KAAM,cAAeljC,EAAQhB,YAC1DgB,EAAQijC,MAAMC,eAAe,KAAM,YAAa1B,EAAGxhC,EAAQmE,UAAY,MACvEnE,EAAQijC,MAAMC,eAAe,KAAM,IAAK1B,GAAIxhC,EAAQ9F,IACpD8F,EAAQmjC,WAAa1+F,KAAK2yF,WAAW9yE,cAAc,YACnD07C,EAAQmjC,WAAWrzE,YAAYkwC,EAAQijC,MACzC,EACAttF,UAAW,WACTlR,KAAKu7D,QAAQriD,EAAIlZ,KAAKu7D,QAAQyE,MAAQ,EACtChgE,KAAKu7D,QAAQ9F,EAAIz1D,KAAKu7D,QAAQ0E,MAAQ,EACtCjgE,KAAKu7D,QAAQqE,WAAalkB,EAAMxzC,gBAChClI,KAAKu7D,QAAQ+iC,WAAa5iD,EAAMxzC,gBAChClI,KAAKu7D,QAAQijC,MAAQx+F,KAAK2yF,WAAW9yE,cAAc,aACnD7f,KAAKu7D,QAAQmjC,WAAa1+F,KAAK2yF,WAAW9yE,cAAc,YACxD7f,KAAKu7D,QAAQojC,OAAS3+F,KAAK2yF,WAAW9yE,cAAc,SACpD7f,KAAKu7D,QAAQgjC,QAAU,EACzB,EACA5sF,SAAU,SAA8BuH,EAAGu8C,GACzC,IAAI8F,EAAUv7D,KAAKu7D,QACnBv7D,KAAKu7D,QAAQriD,EAAIlZ,KAAKu7D,QAAQyE,OAAS9mD,EACvClZ,KAAKu7D,QAAQ9F,EAAIz1D,KAAKu7D,QAAQ0E,OAASxK,EACvC8F,EAAQgjC,QAAU,GAClBhjC,EAAQijC,MAAQx+F,KAAK2yF,WAAW9yE,cAAc,aAC9C07C,EAAQijC,MAAMC,eAAe,KAAM,cAAeljC,EAAQhB,YAC1DgB,EAAQijC,MAAMC,eAAe,KAAM,YAAa1B,EAAGxhC,EAAQmE,UAAY,MACvEnE,EAAQijC,MAAMC,eAAe,KAAM,IAAK1B,GAAIxhC,EAAQ9F,GACtD,EACA1jD,SAAU,SAA8B84D,GACtC,IAAItP,EAAUv7D,KAAKu7D,QACfnmD,EAAOmmD,EAAQnmD,KACfsqD,EAAWnE,EAAQmE,SACvB,GAAiB,IAAbA,EAAJ,CAGA,IAQIr/D,EARA6/D,EAAc3E,EAAQ2E,YACtBC,EAAc5E,EAAQ4E,YACtB2J,EAAgBvO,EAAQuO,cACxB1J,EAAa7E,EAAQ6E,WAAa0J,EAClCiB,EAAeF,EAAOnzD,OACtBszD,EAAW51D,EAAK41D,SAChBG,EAAoBzL,EAAWnE,EAAQuE,WAAW,GAClD5mD,EAAI,EAER,IAAK7Y,EAAI,EAAGA,EAAI0qE,IAAgB1qE,EAAG,CACjC,IAAIirE,EAAQT,EAAOxqE,GACnB,GAAc,OAAVirE,EAGG,IAAI,EAAI5vB,EAAMp1C,OAAOglE,GAC1BpyD,IAAMoyD,EAAQ5L,EAAW,SADpB,CAIP,IAAIlQ,EAAQ8b,EAAM9b,MACd6L,EAAYiQ,EAAMS,SAClBpC,GAAW2B,EAAMllE,QAAU+5D,EAAc,GAAKD,EAC9CoM,EAAY9c,EAAQ2b,EAAoBxB,EAAUG,EACjDwB,EAAMe,UAAaj3D,EAAKwjD,aAI7B2C,EAAQgjC,QAAQlmF,KAAKkjD,EAAQriD,EAAIA,EAAIknD,GACrC7E,EAAQijC,MAAM92C,aAAe2T,EAC7BniD,GAAKozD,GALHpzD,GAAKozD,CANP,MALEpzD,GAAK4wD,EAAgB3J,CAiBzB,CACI6K,EACFzP,EAAQ9F,GAAKv8C,EAAIknD,EAEjB7E,EAAQriD,GAAKA,EAAIknD,EAEnB7E,EAAQijC,MAAMC,eAAe,KAAM,IAAKljC,EAAQgjC,QAAQjvB,IAAIytB,GAAIzkF,KAAK,MACrEijD,EAAQijC,MAAMC,eAAe,KAAM,IAAK1B,GAAIxhC,EAAQ9F,IACpD8F,EAAQijC,MAAMC,eAAe,KAAM,cAAeljC,EAAQhB,YAC1DgB,EAAQijC,MAAMC,eAAe,KAAM,YAAa1B,EAAGxhC,EAAQmE,UAAY,MACnEnE,EAAQ+6B,YAAcuE,EAAavE,WACrC/6B,EAAQijC,MAAMC,eAAe,KAAM,aAAcljC,EAAQ+6B,WAEvD/6B,EAAQ86B,aAAewE,EAAaxE,YACtC96B,EAAQijC,MAAMC,eAAe,KAAM,cAAeljC,EAAQ86B,YAE5D,IAAI7rB,EAAiBjP,EAAQ8E,kBAAoB3kB,EAAMn0C,kBAAkBuC,iBACrE0gE,IAAmB9uB,EAAMn0C,kBAAkB+B,MAAQkhE,IAAmB9uB,EAAMn0C,kBAAkBiC,aAC5F+xD,EAAQgF,YAAcs6B,EAAat6B,WACrChF,EAAQijC,MAAMC,eAAe,KAAM,OAAQljC,EAAQgF,WAEjDhF,EAAQmF,UAAY,GACtBnF,EAAQijC,MAAMC,eAAe,KAAM,eAAgBljC,EAAQmF,YAEpDnF,EAAQ8E,oBAAsB3kB,EAAMn0C,kBAAkBsC,YAC/D0xD,EAAQijC,MAAMC,eAAe,KAAM,OAAQ,eAE3CljC,EAAQijC,MAAMC,eAAe,KAAM,OAAQ,QAEzCj0B,IAAmB9uB,EAAMn0C,kBAAkBgC,QAAUihE,IAAmB9uB,EAAMn0C,kBAAkBiC,aAClGxJ,KAAK4+F,qBAAqBrjC,EAAQijC,OAEpC,IAAI5+B,EAAarE,EAAQqE,WACA,IAArBrE,EAAQ+E,WACVV,EAAaA,EAAW3kD,QACxB2kD,EAAW,IAAMrE,EAAQ+E,UAE3B/E,EAAQmjC,WAAWD,eAAe,KAAM,YAAaxB,EAAGr9B,GAAc,iBACtErE,EAAQmjC,WAAWD,eAAehB,EAAQ,YAAa,YACvDliC,EAAQmjC,WAAWrzE,YAAYkwC,EAAQijC,OACvCjjC,EAAQojC,OAAOtzE,YAAYkwC,EAAQmjC,YACnC1+F,KAAK6+F,wBAAwBxzE,YAAYkwC,EAAQmjC,WAvEjD,CAwEF,EACA9sF,mBAAoB,SAAwCsH,EAAGu8C,GAC7Dz1D,KAAKuR,YAAYkkD,GACjBz1D,KAAK2R,SAASuH,EAAGu8C,EACnB,EACAqpC,aAAc,SAAkCj1B,GACzC7pE,KAAKw9F,WACRx9F,KAAKw9F,SAAWx9F,KAAK2yF,WAAW9yE,cAAc,aAC9C7f,KAAKw9F,SAASiB,eAAe,KAAM,OAAQ,YAC3Cz+F,KAAK++F,KAAK1zE,YAAYrrB,KAAKw9F,WAE7B,IAAIhnF,GAAM,EAAIklC,EAAMj3C,iBAAiBolE,EAAQ7wD,KAAM6wD,EAAQzO,SAAUp7D,KAAK+d,iBAC1E/d,KAAKw9F,SAAS91C,aAAe,8BAAgCmiB,EAAQvP,WAAxC,eAA2E9jD,EAAM,QAChH,EACAhF,QAAS,SAA6BsE,GACpC,IAAIylD,EAAUv7D,KAAKu7D,QACfsO,EAAU7pE,KAAKikD,WAAWhjD,IAAI6U,EAAQ,IACtC6qB,EAAO7qB,EAAQ,GACnB9V,KAAKu7D,QAAQnmD,KAAOy0D,EAChB7pE,KAAKs9F,YAAczzB,EAAQ7wD,OAAShZ,KAAKu9F,cAAc1zB,EAAQvP,cACjEt6D,KAAK8+F,aAAaj1B,GAClB7pE,KAAKu9F,cAAc1zB,EAAQvP,YAAcuP,GAE3CtO,EAAQuE,WAAa+J,EAAQ/J,WAAa+J,EAAQ/J,WAAapkB,EAAMvzC,qBACrE,IAAI6hE,EAAOH,EAAQ1G,MAAQ0G,EAAQG,KAAO,SAAW,OAASH,EAAQG,KAAO,OAAS,SAClFC,EAASJ,EAAQI,OAAS,SAAW,SACrCtpC,EAAO,GACTA,GAAQA,EACR46B,EAAQuO,eAAiB,GAEzBvO,EAAQuO,cAAgB,EAE1BvO,EAAQmE,SAAW/+B,EACnB46B,EAAQhB,WAAasP,EAAQvP,WAC7BiB,EAAQ86B,WAAarsB,EACrBzO,EAAQ+6B,UAAYrsB,EACpB1O,EAAQijC,MAAQx+F,KAAK2yF,WAAW9yE,cAAc,aAC9C07C,EAAQijC,MAAMC,eAAe,KAAM,IAAK1B,GAAIxhC,EAAQ9F,IACpD8F,EAAQgjC,QAAU,EACpB,EACAptF,QAAS,WACP,IAAIoqD,EAAUv7D,KAAKu7D,QACfA,EAAQ8E,kBAAoB3kB,EAAMn0C,kBAAkBwC,kBAAoBwxD,EAAQmjC,YAAcnjC,EAAQmjC,WAAWjgB,kBACnHljB,EAAQ+5B,QAAU/5B,EAAQmjC,WAC1B1+F,KAAKgR,KAAK,WACVhR,KAAK+Q,UAET,EAEA1B,aAAc,SAAkCmgD,GAC9CxvD,KAAKu7D,QAAQqF,UAAYpR,CAC3B,EACAlgD,WAAY,SAAgC6b,GAC1CnrB,KAAKu7D,QAAQ8I,QAAU+B,EAAgBj7C,EACzC,EACA5b,YAAa,SAAiC4b,GAC5CnrB,KAAKu7D,QAAQ+I,SAAW+B,EAAiBl7C,EAC3C,EACA3b,cAAe,SAAmCm4D,GAChD3nE,KAAKu7D,QAAQgJ,WAAaoD,CAC5B,EACAq3B,eAAgB,SAAoCr+B,GAClD3gE,KAAKu7D,QAAQoF,YAAcA,CAC7B,EACA9tD,kBAAmB,SAAuC3R,EAAGoZ,EAAGC,GAC9D,IAAI6yD,EAAQ1xB,EAAM92C,KAAKyV,WAAWnZ,EAAGoZ,EAAGC,GACxCva,KAAKu7D,QAAQiF,YAAc4M,CAC7B,EACA6xB,aAAc,SAAkCv+B,GAC9C1gE,KAAKu7D,QAAQmF,UAAYA,CAC3B,EACA5tD,gBAAiB,SAAqC5R,EAAGoZ,EAAGC,GAC1D,IAAI6yD,EAAQ1xB,EAAM92C,KAAKyV,WAAWnZ,EAAGoZ,EAAGC,GACxCva,KAAKu7D,QAAQgF,UAAY6M,EACzBptE,KAAKu7D,QAAQijC,MAAQx+F,KAAK2yF,WAAW9yE,cAAc,aACnD7f,KAAKu7D,QAAQgjC,QAAU,EACzB,EACA9uF,QAAS,SAA6Bm4D,EAAWC,GAC/C7nE,KAAKu7D,QAAQqM,UAAYA,EACzB5nE,KAAKu7D,QAAQsM,UAAYA,CAC3B,EACA/yD,cAAe,SAAmCg0D,EAAKh0C,GACrD,IAAIymC,EAAUv7D,KAAKu7D,QACfriD,EAAIqiD,EAAQriD,EACZu8C,EAAI8F,EAAQ9F,EAChB8F,EAAQkO,KAAOzpE,KAAK2yF,WAAW9yE,cAAc,YAG7C,IAFA,IAAInf,EAAI,GACJw+F,EAAWp2B,EAAIpxD,OACVrX,EAAI,EAAGmnB,EAAI,EAAGnnB,EAAI6+F,EAAU7+F,IACnC,OAAiB,EAATyoE,EAAIzoE,IACV,KAAKq7C,EAAMr3C,IAAIiM,UACb4I,EAAI4b,EAAKtN,KACTiuC,EAAI3gC,EAAKtN,KACT,IAAIgoC,EAAQ16B,EAAKtN,KACbioC,EAAS36B,EAAKtN,KACdwhD,EAAK9vD,EAAIs2C,EACTyZ,EAAKxT,EAAIhG,EACb/uD,EAAE2X,KAAK,IAAK0kF,EAAG7jF,GAAI6jF,EAAGtnC,GAAI,IAAKsnC,EAAG/zB,GAAK+zB,EAAGtnC,GAAI,IAAKsnC,EAAG/zB,GAAK+zB,EAAG9zB,GAAK,IAAK8zB,EAAG7jF,GAAI6jF,EAAG9zB,GAAK,KACvF,MACF,KAAKvtB,EAAMr3C,IAAI2L,OACbkJ,EAAI4b,EAAKtN,KACTiuC,EAAI3gC,EAAKtN,KACT9mB,EAAE2X,KAAK,IAAK0kF,EAAG7jF,GAAI6jF,EAAGtnC,IACtB,MACF,KAAK/Z,EAAMr3C,IAAI4L,OACbiJ,EAAI4b,EAAKtN,KACTiuC,EAAI3gC,EAAKtN,KACT9mB,EAAE2X,KAAK,IAAK0kF,EAAG7jF,GAAI6jF,EAAGtnC,IACtB,MACF,KAAK/Z,EAAMr3C,IAAI6L,QACbgJ,EAAI4b,EAAKtN,EAAI,GACbiuC,EAAI3gC,EAAKtN,EAAI,GACb9mB,EAAE2X,KAAK,IAAK0kF,EAAGjoE,EAAKtN,IAAKu1E,EAAGjoE,EAAKtN,EAAI,IAAKu1E,EAAGjoE,EAAKtN,EAAI,IAAKu1E,EAAGjoE,EAAKtN,EAAI,IAAKu1E,EAAG7jF,GAAI6jF,EAAGtnC,IACtFjuC,GAAK,EACL,MACF,KAAKk0B,EAAMr3C,IAAI8L,SACb+I,EAAI4b,EAAKtN,EAAI,GACbiuC,EAAI3gC,EAAKtN,EAAI,GACb9mB,EAAE2X,KAAK,IAAK0kF,EAAG7jF,GAAI6jF,EAAGtnC,GAAIsnC,EAAGjoE,EAAKtN,IAAKu1E,EAAGjoE,EAAKtN,EAAI,IAAKu1E,EAAGjoE,EAAKtN,EAAI,IAAKu1E,EAAGjoE,EAAKtN,EAAI,KACrFA,GAAK,EACL,MACF,KAAKk0B,EAAMr3C,IAAI+L,SACb8I,EAAI4b,EAAKtN,EAAI,GACbiuC,EAAI3gC,EAAKtN,EAAI,GACb9mB,EAAE2X,KAAK,IAAK0kF,EAAGjoE,EAAKtN,IAAKu1E,EAAGjoE,EAAKtN,EAAI,IAAKu1E,EAAG7jF,GAAI6jF,EAAGtnC,GAAIsnC,EAAG7jF,GAAI6jF,EAAGtnC,IAClEjuC,GAAK,EACL,MACF,KAAKk0B,EAAMr3C,IAAIgM,UACb3P,EAAE2X,KAAK,KACP,MAGNkjD,EAAQkO,KAAKg1B,eAAe,KAAM,IAAK/9F,EAAE4X,KAAK,MAC9CijD,EAAQkO,KAAKg1B,eAAe,KAAM,OAAQ,QAC1Cz+F,KAAK6+F,wBAAwBxzE,YAAYkwC,EAAQkO,MACjDlO,EAAQ+5B,QAAU/5B,EAAQkO,KAC1BlO,EAAQyF,gBAAgB9nD,EAAGu8C,EAC7B,EACA1kD,QAAS,WACP,GAAK/Q,KAAKqhE,YAAV,CAGA,IAAI9F,EAAUv7D,KAAKu7D,QACf4jC,EAAS,WAAaxB,EAC1BA,IACA,IAAIyB,EAAWp/F,KAAK2yF,WAAW9yE,cAAc,gBAC7Cu/E,EAASX,eAAe,KAAM,KAAMU,GACpCC,EAASX,eAAe,KAAM,YAAaxB,EAAGj9F,KAAKm9F,kBACnD,IAAIkC,EAAc9jC,EAAQ+5B,QAAQgK,WAAU,GACnB,YAArBt/F,KAAKqhE,YACPg+B,EAAYZ,eAAe,KAAM,YAAa,WAE9CY,EAAYZ,eAAe,KAAM,YAAa,WAEhDz+F,KAAKqhE,YAAc,KACnB+9B,EAAS/zE,YAAYg0E,GACrBr/F,KAAK++F,KAAK1zE,YAAY+zE,GAClB7jC,EAAQihC,gBACVjhC,EAAQkhC,UAAY,KACpBz8F,KAAKq9F,WAAWp2E,SAAQ,SAAUq2C,GAChCA,EAAKm/B,UAAY,IACnB,IACA2C,EAASX,eAAe,KAAM,YAAaljC,EAAQihC,gBAErDjhC,EAAQihC,cAAgB,QAAU2C,EAAS,IAC3Cn/F,KAAK69F,KAAO,IAxBZ,CAyBF,EACA7sF,KAAM,SAA0BkN,GAC9Ble,KAAKqhE,YAAcnjD,CACrB,EACA7N,UAAW,WACT,IAAIkrD,EAAUv7D,KAAKu7D,QACnB,GAAIA,EAAQkO,KAAM,CAChB,IAAI/oE,EAAI66D,EAAQkO,KAAK81B,eAAe,KAAM,KAC1C7+F,GAAK,IACL66D,EAAQkO,KAAKg1B,eAAe,KAAM,IAAK/9F,EACzC,CACF,EACA6Q,WAAY,SAAgCwuD,GAC1C//D,KAAKu7D,QAAQwE,SAAWA,CAC1B,EACAruD,YAAa,SAAiC4uD,GAC5CtgE,KAAKu7D,QAAQ+E,SAAWA,CAC1B,EACA7uD,qBAAsB,SAA8B4uD,GAClDrgE,KAAKu7D,QAAQ8E,kBAAoBA,CACnC,EAEA/uD,UAAW,SAA+BozC,GACxC1kD,KAAKu7D,QAAQ6E,WAAa1b,EAAQ,GACpC,EACA90C,UAAW,SAA+Bm4D,GACxC,IAAK,IAAI1nE,EAAI,EAAGyY,EAAKivD,EAAOrwD,OAAQrX,EAAIyY,EAAIzY,IAAK,CAC/C,IAAI2iC,EAAQ+kC,EAAO1nE,GACfsB,EAAMqhC,EAAM,GACZ3hC,EAAQ2hC,EAAM,GAClB,OAAQrhC,GACN,IAAK,KACH3B,KAAKqP,aAAahO,GAClB,MACF,IAAK,KACHrB,KAAKsP,WAAWjO,GAChB,MACF,IAAK,KACHrB,KAAKuP,YAAYlO,GACjB,MACF,IAAK,KACHrB,KAAKwP,cAAcnO,GACnB,MACF,IAAK,IACHrB,KAAKyP,QAAQpO,EAAM,GAAIA,EAAM,IAC7B,MACF,IAAK,OACHrB,KAAKwR,QAAQnQ,GACb,MACF,IAAK,KACHrB,KAAKg/F,eAAe39F,GACpB,MACF,IAAK,KACHrB,KAAKi/F,aAAa59F,GAClB,MACF,SACE,EAAIq6C,EAAMp2C,MAAM,+BAAiC3D,GACjD,MAEN,CACF,EACA8O,KAAM,WACJ,IAAI8qD,EAAUv7D,KAAKu7D,QACfA,EAAQ+5B,UACV/5B,EAAQ+5B,QAAQmJ,eAAe,KAAM,OAAQljC,EAAQgF,WACrDhF,EAAQ+5B,QAAQmJ,eAAe,KAAM,eAAgBljC,EAAQmF,WAC7D1gE,KAAK+Q,UAET,EACAR,OAAQ,WACN,IAAIgrD,EAAUv7D,KAAKu7D,QACfA,EAAQ+5B,UACVt1F,KAAK4+F,qBAAqBrjC,EAAQ+5B,SAClC/5B,EAAQ+5B,QAAQmJ,eAAe,KAAM,OAAQ,QAC7Cz+F,KAAK+Q,UAET,EACA6tF,qBAAsB,SAA8BtJ,GAClD,IAAI/5B,EAAUv7D,KAAKu7D,QACnB+5B,EAAQmJ,eAAe,KAAM,SAAUljC,EAAQiF,aAC/C80B,EAAQmJ,eAAe,KAAM,iBAAkBljC,EAAQoF,aACvD20B,EAAQmJ,eAAe,KAAM,oBAAqB1B,EAAGxhC,EAAQgJ,aAC7D+wB,EAAQmJ,eAAe,KAAM,iBAAkBljC,EAAQ8I,SACvDixB,EAAQmJ,eAAe,KAAM,kBAAmBljC,EAAQ+I,UACxDgxB,EAAQmJ,eAAe,KAAM,eAAgB1B,EAAGxhC,EAAQqF,WAAa,MACrE00B,EAAQmJ,eAAe,KAAM,mBAAoBljC,EAAQqM,UAAU0H,IAAIytB,GAAIzkF,KAAK,MAChFg9E,EAAQmJ,eAAe,KAAM,oBAAqB1B,EAAGxhC,EAAQsM,WAAa,KAC5E,EAEAn3D,OAAQ,WACF1Q,KAAKu7D,QAAQ+5B,SACft1F,KAAKu7D,QAAQ+5B,QAAQmJ,eAAe,KAAM,YAAa,WAEzDz+F,KAAKyQ,MACP,EACAE,WAAY,WACV3Q,KAAKuQ,SACLvQ,KAAKyQ,MACP,EACAG,aAAc,WACR5Q,KAAKu7D,QAAQ+5B,SACft1F,KAAKu7D,QAAQ+5B,QAAQmJ,eAAe,KAAM,YAAa,WAEzDz+F,KAAK2Q,YACP,EACAH,YAAa,WACXxQ,KAAKqQ,YACLrQ,KAAKuQ,QACP,EACAM,gBAAiB,WACf7Q,KAAKqQ,YACLrQ,KAAK2Q,YACP,EACAG,kBAAmB,WACjB9Q,KAAKqQ,YACLrQ,KAAK4Q,cACP,EAEAiE,yBAA0B,WACxB,IAAI0mD,EAAUv7D,KAAKu7D,QACft/C,EAAOjc,KAAK2yF,WAAW9yE,cAAc,YACzC5D,EAAKwiF,eAAe,KAAM,IAAK,KAC/BxiF,EAAKwiF,eAAe,KAAM,IAAK,KAC/BxiF,EAAKwiF,eAAe,KAAM,QAAS,OACnCxiF,EAAKwiF,eAAe,KAAM,SAAU,OACpCxiF,EAAKwiF,eAAe,KAAM,OAAQljC,EAAQgF,WAC1CvgE,KAAK6+F,wBAAwBxzE,YAAYpP,EAC3C,EACA5H,iBAAkB,SAAsC08C,EAAO13B,EAAGwf,GAChE,IAAI2mD,EAASx/F,KAAKkkD,KAAKjjD,IAAI8vD,GACvB0uC,EAAQz/F,KAAK2yF,WAAW9yE,cAAc,aAC1C4/E,EAAMhB,eAAef,EAAU,aAAc8B,EAAOl0E,KACpDm0E,EAAMhB,eAAe,KAAM,QAAS1B,EAAG1jE,IACvComE,EAAMhB,eAAe,KAAM,SAAU1B,EAAGlkD,IACxC4mD,EAAMhB,eAAe,KAAM,IAAK,KAChCgB,EAAMhB,eAAe,KAAM,IAAK1B,GAAIlkD,IACpC4mD,EAAMhB,eAAe,KAAM,YAAa,SAAW1B,EAAG,EAAI1jE,GAAK,IAAM0jE,GAAI,EAAIlkD,GAAK,KAClF74C,KAAK6+F,wBAAwBxzE,YAAYo0E,EAC3C,EACAjrF,kBAAmB,SAAuCu8C,GACxD,IAAIoN,EAAUn+D,KAAKkkD,KAAKjjD,IAAI8vD,GACvBoN,EAILn+D,KAAKyU,wBAAwB0pD,IAH3B,EAAIziB,EAAMp2C,MAAM,kCAIpB,EACAmP,wBAAyB,SAA6C0pD,EAASQ,GAC7E,IAAInP,EAAQ2O,EAAQ3O,MAChBC,EAAS0O,EAAQ1O,OACjBiwC,EAAS5E,EAAoB38B,EAASn+D,KAAK+d,kBAAmB4gD,GAC9DghC,EAAW3/F,KAAK2yF,WAAW9yE,cAAc,YAC7C8/E,EAASlB,eAAe,KAAM,IAAK,KACnCkB,EAASlB,eAAe,KAAM,IAAK,KACnCkB,EAASlB,eAAe,KAAM,QAAS1B,EAAGvtC,IAC1CmwC,EAASlB,eAAe,KAAM,SAAU1B,EAAGttC,IAC3CzvD,KAAKu7D,QAAQ+5B,QAAUqK,EACvB3/F,KAAKgR,KAAK,WACV,IAAIyuF,EAAQz/F,KAAK2yF,WAAW9yE,cAAc,aAC1C4/E,EAAMhB,eAAef,EAAU,aAAcgC,GAC7CD,EAAMhB,eAAe,KAAM,IAAK,KAChCgB,EAAMhB,eAAe,KAAM,IAAK1B,GAAIttC,IACpCgwC,EAAMhB,eAAe,KAAM,QAAS1B,EAAGvtC,GAAS,MAChDiwC,EAAMhB,eAAe,KAAM,SAAU1B,EAAGttC,GAAU,MAClDgwC,EAAMhB,eAAe,KAAM,YAAa,SAAW1B,EAAG,EAAIvtC,GAAS,IAAMutC,GAAI,EAAIttC,GAAU,KACvFkP,EACFA,EAAKtzC,YAAYo0E,GAEjBz/F,KAAK6+F,wBAAwBxzE,YAAYo0E,EAE7C,EACAnrF,sBAAuB,SAA2C6pD,GAChE,IAAI5C,EAAUv7D,KAAKu7D,QACf/L,EAAQ2O,EAAQ3O,MAChBC,EAAS0O,EAAQ1O,OACjB8Q,EAAYhF,EAAQgF,UACxBhF,EAAQmhC,OAAS,OAASkB,IAC1B,IAAIj/B,EAAO3+D,KAAK2yF,WAAW9yE,cAAc,YACzC8+C,EAAK8/B,eAAe,KAAM,KAAMljC,EAAQmhC,QACxC,IAAIzgF,EAAOjc,KAAK2yF,WAAW9yE,cAAc,YACzC5D,EAAKwiF,eAAe,KAAM,IAAK,KAC/BxiF,EAAKwiF,eAAe,KAAM,IAAK,KAC/BxiF,EAAKwiF,eAAe,KAAM,QAAS1B,EAAGvtC,IACtCvzC,EAAKwiF,eAAe,KAAM,SAAU1B,EAAGttC,IACvCxzC,EAAKwiF,eAAe,KAAM,OAAQl+B,GAClCtkD,EAAKwiF,eAAe,KAAM,OAAQ,QAAUljC,EAAQmhC,OAAS,KAC7D18F,KAAK++F,KAAK1zE,YAAYszC,GACtB3+D,KAAK6+F,wBAAwBxzE,YAAYpP,GACzCjc,KAAKyU,wBAAwB0pD,EAASQ,EACxC,EACA9qD,sBAAuB,SAA2Cq6D,EAAQC,GAIxE,GAHI9tD,MAAMyY,QAAQo1C,IAA6B,IAAlBA,EAAOx2D,QAClC1X,KAAK+P,UAAUm+D,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAE3E7tD,MAAMyY,QAAQq1C,IAAyB,IAAhBA,EAAKz2D,OAAc,CAC5C,IAAI83C,EAAQ2e,EAAK,GAAKA,EAAK,GACvB1e,EAAS0e,EAAK,GAAKA,EAAK,GACxBwxB,EAAW3/F,KAAK2yF,WAAW9yE,cAAc,YAC7C8/E,EAASlB,eAAe,KAAM,IAAKtwB,EAAK,IACxCwxB,EAASlB,eAAe,KAAM,IAAKtwB,EAAK,IACxCwxB,EAASlB,eAAe,KAAM,QAAS1B,EAAGvtC,IAC1CmwC,EAASlB,eAAe,KAAM,SAAU1B,EAAGttC,IAC3CzvD,KAAKu7D,QAAQ+5B,QAAUqK,EACvB3/F,KAAKgR,KAAK,WACVhR,KAAK+Q,SACP,CACF,EACA+C,oBAAqB,WAA4C,EACjE02C,YAAa,SAAqBqI,GAChC,IAAIwB,EAAMr0D,KAAK2yF,WAAWjxF,OAAOmxD,EAASrD,MAAOqD,EAASpD,QACtDmwC,EAAc5/F,KAAK2yF,WAAW9yE,cAAc,YAChDw0C,EAAIhpC,YAAYu0E,GAChB5/F,KAAK++F,KAAOa,EACZ,IAAIC,EAAY7/F,KAAK2yF,WAAW9yE,cAAc,SAI9C,OAHAggF,EAAUpB,eAAe,KAAM,YAAaxB,EAAGpqC,EAAS9iD,YACxDskD,EAAIhpC,YAAYw0E,GAChB7/F,KAAKq0D,IAAMwrC,EACJxrC,CACT,EAEAyrC,iBAAkB,WAChB,IAAK9/F,KAAKu7D,QAAQkhC,UAAW,CAC3B,IAAIA,EAAYz8F,KAAK2yF,WAAW9yE,cAAc,SAC9C48E,EAAUgC,eAAe,KAAM,YAAaz+F,KAAKu7D,QAAQihC,eACzDx8F,KAAKq0D,IAAIhpC,YAAYoxE,GACrBz8F,KAAKu7D,QAAQkhC,UAAYA,CAC3B,CACA,OAAOz8F,KAAKu7D,QAAQkhC,SACtB,EACAoC,sBAAuB,WAUrB,OATK7+F,KAAK69F,OACR79F,KAAK69F,KAAO79F,KAAK2yF,WAAW9yE,cAAc,SAC1C7f,KAAK69F,KAAKY,eAAe,KAAM,YAAaxB,EAAGj9F,KAAKm9F,kBAChDn9F,KAAKu7D,QAAQihC,cACfx8F,KAAK8/F,mBAAmBz0E,YAAYrrB,KAAK69F,MAEzC79F,KAAKq0D,IAAIhpC,YAAYrrB,KAAK69F,OAGvB79F,KAAK69F,IACd,GAEK75F,CACT,CAv0BoC,GAy0BtCjE,EAAQiE,YAAcA,CAEf,EAED,SAAUlE,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ8C,mBAAgBuF,EAExB,IAAIwtE,EAAez1E,EAAoB,KAEnC01E,EAAgB55B,EAAuB25B,GAEvC70C,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEfgyB,EAAQv7C,EAAoB,GAE5B4/F,EAAiB5/F,EAAoB,KAEzC,SAAS87C,EAAuB1zC,GAAO,OAAOA,GAAOA,EAAI/G,WAAa+G,EAAM,CAAEg0C,QAASh0C,EAAO,CAE9F,SAAS4uD,EAA2Bx2C,EAAMpgB,GAAQ,IAAKogB,EAAQ,MAAM,IAAIy2C,eAAe,6DAAgE,OAAO72D,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BogB,EAAPpgB,CAAa,CAE/O,SAAS82D,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIl0C,UAAU,kEAAoEk0C,GAAeD,EAASt1D,UAAYlB,OAAOY,OAAO61D,GAAcA,EAAWv1D,UAAW,CAAEwG,YAAa,CAAEnH,MAAOi2D,EAAUt2D,YAAY,EAAO8V,UAAU,EAAMD,cAAc,KAAe0gD,IAAYz2D,OAAOi6B,eAAiBj6B,OAAOi6B,eAAeu8B,EAAUC,GAAcD,EAASp8B,UAAYq8B,EAAY,CAE7e,SAASwe,EAAkBryD,GAAM,OAAO,WAAc,IAAI8yD,EAAM9yD,EAAG5L,MAAM9X,KAAM6c,WAAY,OAAO,IAAIa,SAAQ,SAAUC,EAASC,GAAU,SAAS6Q,EAAK9sB,EAAKo3B,GAAO,IAAM,IAAIryB,EAAO8vE,EAAI70E,GAAKo3B,GAAU13B,EAAQqF,EAAKrF,KAAgD,CAAvC,MAAOwwB,GAAwB,YAAfjU,EAAOiU,EAAgB,CAAE,IAAInrB,EAAKmiB,KAAiC,OAAOnL,QAAQC,QAAQtc,GAAO8uB,MAAK,SAAU9uB,GAASotB,EAAK,OAAQptB,EAAQ,IAAG,SAAUixB,GAAO7D,EAAK,QAAS6D,EAAM,IAA5I3U,EAAQtc,EAA0I,CAAE,OAAOotB,EAAK,OAAS,GAAI,CAAG,CAEzc,SAAS0S,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,IAAI28E,EAAK,EAAQ,OACbC,EAAO,EAAQ,MACfC,EAAQ,EAAQ,OAChB1pF,EAAM,EAAQ,MAEd2pF,EAAe,0BACnB,SAASC,EAASC,GAChB,IAAIC,EAAY9pF,EAAI4iC,MAAMinD,GAC1B,MAA2B,UAAvBC,EAAU7pF,UAAwB6pF,EAAUvlD,KACvCulD,EAEL,gBAAgBn4E,KAAKk4E,GAChB7pF,EAAI4iC,MAAM,WAAainD,IAE3BC,EAAUvlD,OACbulD,EAAU7pF,SAAW,SAEhB6pF,EACT,CAEA,IAAIz9F,EAAgB,WAClB,SAASA,EAAc6e,GACrByf,EAAgBnhC,KAAM6C,GAEtB7C,KAAK0hB,OAASA,EACd1hB,KAAKwW,IAAM4pF,EAAS1+E,EAAOlL,KAC3BxW,KAAKugG,OAA+B,UAAtBvgG,KAAKwW,IAAIC,UAA8C,WAAtBzW,KAAKwW,IAAIC,SACxDzW,KAAKwgG,QAAgC,UAAtBxgG,KAAKwW,IAAIC,SACxBzW,KAAKw/C,YAAcx/C,KAAKugG,QAAU7+E,EAAO89B,aAAe,CAAC,EACzDx/C,KAAKygG,aAAe,KACpBzgG,KAAK0gG,qBAAuB,EAC9B,CA6BA,OA3BA3/D,EAAal+B,EAAe,CAAC,CAC3BlB,IAAK,gBACLN,MAAO,WAGL,OAFA,EAAIq6C,EAAM10C,SAAShH,KAAKygG,cACxBzgG,KAAKygG,aAAezgG,KAAKwgG,QAAU,IAAIG,EAA0B3gG,MAAQ,IAAI4gG,EAAwB5gG,MAC9FA,KAAKygG,YACd,GACC,CACD9+F,IAAK,iBACLN,MAAO,SAAwB+X,EAAO/B,GACpC,IAAIm2C,EAAcxtD,KAAKwgG,QAAU,IAAIK,EAA2B7gG,KAAMoZ,EAAO/B,GAAO,IAAIypF,EAAyB9gG,KAAMoZ,EAAO/B,GAE9H,OADArX,KAAK0gG,qBAAqBroF,KAAKm1C,GACxBA,CACT,GACC,CACD7rD,IAAK,oBACLN,MAAO,SAA2BuwB,GAC5B5xB,KAAKygG,cACPzgG,KAAKygG,aAAan4C,OAAO12B,GAE3B,IAAImyD,EAAU/jF,KAAK0gG,qBAAqBzlF,MAAM,GAC9C8oE,EAAQ98D,SAAQ,SAAUujB,GACxBA,EAAO8d,OAAO12B,EAChB,GACF,KAGK/uB,CACT,CAzCoB,GA2ChBk+F,EAAiB,WACnB,SAASA,EAAej+D,GACtB3B,EAAgBnhC,KAAM+gG,GAEtB/gG,KAAK66C,KAAO/X,EAAOtsB,IACnBxW,KAAKkjF,OAAQ,EACbljF,KAAK8hC,aAAe,KACpB9hC,KAAKwgD,WAAa,KAClB,IAAI9+B,EAASohB,EAAOphB,OACpB1hB,KAAKuiF,eAAiB7gE,EAAOhK,OAC7B1X,KAAKghG,QAAU,EACfhhG,KAAKmjF,UAAY,KACjBnjF,KAAKihG,cAAgBv/E,EAAO88B,eAAgB,EAC5Cx+C,KAAKkhG,gBAAkBx/E,EAAOo8B,eACzB99C,KAAKkhG,iBAAoBlhG,KAAKihG,gBACjCjhG,KAAKihG,eAAgB,GAEvBjhG,KAAKqiF,uBAAyB3gE,EAAO+8B,cACrCz+C,KAAKsiF,mBAAqB5gE,EAAO88B,aACjCx+C,KAAKmhG,gBAAkB,KACvBnhG,KAAKohG,iBAAkB,EAAI1lD,EAAM93C,2BACjC5D,KAAKqhG,oBAAqB,EAAI3lD,EAAM93C,0BACtC,CA0IA,OAxIAm9B,EAAaggE,EAAgB,CAAC,CAC5Bp/F,IAAK,OACLN,MAAO,WACL,IAAIsY,EAAOo8D,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASC,IAC7E,IAAI99D,EAAOsB,EACX,OAAOo8D,EAAct5B,QAAQnf,MAAK,SAAkB+4C,GAClD,MAAO,EACL,OAAQA,EAAS7Y,KAAO6Y,EAASxsD,MAC/B,KAAK,EAEH,OADAwsD,EAASxsD,KAAO,EACT3pB,KAAKohG,gBAAgB3jF,QAE9B,KAAK,EACH,IAAKzd,KAAKkjF,MAAO,CACf/M,EAASxsD,KAAO,EAChB,KACF,CAEA,OAAOwsD,EAASC,OAAO,SAAU,CAC/B/0E,WAAO+G,EACPygB,MAAM,IAGV,KAAK,EACH,IAAK7oB,KAAK8hC,aAAc,CACtBq0C,EAASxsD,KAAO,EAChB,KACF,CAEA,MAAM3pB,KAAK8hC,aAEb,KAAK,EAGH,GAFA3pB,EAAQnY,KAAKmhG,gBAAgBr5C,OAEb,OAAV3vC,EAAiB,CACrBg+D,EAASxsD,KAAO,GAChB,KACF,CAGA,OADA3pB,KAAKohG,iBAAkB,EAAI1lD,EAAM93C,2BAC1BuyE,EAASC,OAAO,SAAUp2E,KAAK8nD,QAExC,KAAK,GASH,OARA9nD,KAAKghG,SAAW7oF,EAAMT,OAClB1X,KAAKwgD,YACPxgD,KAAKwgD,WAAW,CACdc,OAAQthD,KAAKghG,QACbn0C,MAAO7sD,KAAKuiF,iBAGhB9oE,EAAS,IAAIlB,WAAWJ,GAAOsB,OACxB08D,EAASC,OAAO,SAAU,CAC/B/0E,MAAOoY,EACPoP,MAAM,IAGV,KAAK,GACL,IAAK,MACH,OAAOstD,EAASE,OAGxB,GAAGJ,EAASj2E,KACd,KAEA,SAAS8nD,IACP,OAAOnuC,EAAK7B,MAAM9X,KAAM6c,UAC1B,CAEA,OAAOirC,CACT,CAnEO,IAoEN,CACDnmD,IAAK,SACLN,MAAO,SAAgBuwB,GAChB5xB,KAAKmhG,gBAIVnhG,KAAKmhG,gBAAgBzgD,QAAQ9uB,GAH3B5xB,KAAKshG,OAAO1vE,EAIhB,GACC,CACDjwB,IAAK,SACLN,MAAO,SAAgBuwB,GACrB5xB,KAAK8hC,aAAelQ,EACpB5xB,KAAKohG,gBAAgBzjF,SACvB,GACC,CACDhc,IAAK,qBACLN,MAAO,SAA4B6zC,GACjC,IAAItN,EAAQ5nC,KAEZA,KAAKmhG,gBAAkBjsD,EACvBA,EAAeuV,GAAG,YAAY,WAC5B7iB,EAAMw5D,gBAAgBzjF,SACxB,IACAu3B,EAAeuV,GAAG,OAAO,WACvBvV,EAAewL,UACf9Y,EAAMs7C,OAAQ,EACdt7C,EAAMw5D,gBAAgBzjF,SACxB,IACAu3B,EAAeuV,GAAG,SAAS,SAAU74B,GACnCgW,EAAM05D,OAAO1vE,EACf,KACK5xB,KAAKqiF,uBAAyBriF,KAAKsiF,mBACtCtiF,KAAKshG,OAAO,IAAI5lD,EAAM/zC,eAAe,0BAEnC3H,KAAK8hC,cACP9hC,KAAKmhG,gBAAgBzgD,QAAQ1gD,KAAK8hC,aAEtC,GACC,CACDngC,IAAK,eACLV,IAAK,WACH,OAAOjB,KAAKqhG,mBAAmB5jF,OACjC,GACC,CACD9b,IAAK,WACLV,IAAK,WACH,OAAOjB,KAAKmjF,SACd,GACC,CACDxhF,IAAK,gBACLV,IAAK,WACH,OAAOjB,KAAKuiF,cACd,GACC,CACD5gF,IAAK,mBACLV,IAAK,WACH,OAAOjB,KAAKsiF,iBACd,GACC,CACD3gF,IAAK,uBACLV,IAAK,WACH,OAAOjB,KAAKqiF,qBACd,KAGK0e,CACT,CAjKqB,GAmKjBQ,EAAkB,WACpB,SAASA,EAAgBz+D,GACvB3B,EAAgBnhC,KAAMuhG,GAEtBvhG,KAAK66C,KAAO/X,EAAOtsB,IACnBxW,KAAKkjF,OAAQ,EACbljF,KAAK8hC,aAAe,KACpB9hC,KAAKwgD,WAAa,KAClBxgD,KAAKghG,QAAU,EACfhhG,KAAKmhG,gBAAkB,KACvBnhG,KAAKohG,iBAAkB,EAAI1lD,EAAM93C,2BACjC,IAAI8d,EAASohB,EAAOphB,OACpB1hB,KAAKqiF,uBAAyB3gE,EAAO+8B,aACvC,CAgHA,OA9GA1d,EAAawgE,EAAiB,CAAC,CAC7B5/F,IAAK,OACLN,MAAO,WACL,IAAIsoC,EAAQosC,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASmO,IAC9E,IAAIhsE,EAAOsB,EACX,OAAOo8D,EAAct5B,QAAQnf,MAAK,SAAmBgnD,GACnD,MAAO,EACL,OAAQA,EAAU9mB,KAAO8mB,EAAUz6D,MACjC,KAAK,EAEH,OADAy6D,EAAUz6D,KAAO,EACV3pB,KAAKohG,gBAAgB3jF,QAE9B,KAAK,EACH,IAAKzd,KAAKkjF,MAAO,CACfkB,EAAUz6D,KAAO,EACjB,KACF,CAEA,OAAOy6D,EAAUhO,OAAO,SAAU,CAChC/0E,WAAO+G,EACPygB,MAAM,IAGV,KAAK,EACH,IAAK7oB,KAAK8hC,aAAc,CACtBsiD,EAAUz6D,KAAO,EACjB,KACF,CAEA,MAAM3pB,KAAK8hC,aAEb,KAAK,EAGH,GAFA3pB,EAAQnY,KAAKmhG,gBAAgBr5C,OAEb,OAAV3vC,EAAiB,CACrBisE,EAAUz6D,KAAO,GACjB,KACF,CAGA,OADA3pB,KAAKohG,iBAAkB,EAAI1lD,EAAM93C,2BAC1BwgF,EAAUhO,OAAO,SAAUp2E,KAAK8nD,QAEzC,KAAK,GAMH,OALA9nD,KAAKghG,SAAW7oF,EAAMT,OAClB1X,KAAKwgD,YACPxgD,KAAKwgD,WAAW,CAAEc,OAAQthD,KAAKghG,UAEjCvnF,EAAS,IAAIlB,WAAWJ,GAAOsB,OACxB2qE,EAAUhO,OAAO,SAAU,CAChC/0E,MAAOoY,EACPoP,MAAM,IAGV,KAAK,GACL,IAAK,MACH,OAAOu7D,EAAU/N,OAGzB,GAAG8N,EAAUnkF,KACf,KAEA,SAAS8nD,IACP,OAAOne,EAAM7xB,MAAM9X,KAAM6c,UAC3B,CAEA,OAAOirC,CACT,CAhEO,IAiEN,CACDnmD,IAAK,SACLN,MAAO,SAAgBuwB,GAChB5xB,KAAKmhG,gBAIVnhG,KAAKmhG,gBAAgBzgD,QAAQ9uB,GAH3B5xB,KAAKshG,OAAO1vE,EAIhB,GACC,CACDjwB,IAAK,SACLN,MAAO,SAAgBuwB,GACrB5xB,KAAK8hC,aAAelQ,EACpB5xB,KAAKohG,gBAAgBzjF,SACvB,GACC,CACDhc,IAAK,qBACLN,MAAO,SAA4B6zC,GACjC,IAAIqM,EAASvhD,KAEbA,KAAKmhG,gBAAkBjsD,EACvBA,EAAeuV,GAAG,YAAY,WAC5BlJ,EAAO6/C,gBAAgBzjF,SACzB,IACAu3B,EAAeuV,GAAG,OAAO,WACvBvV,EAAewL,UACfa,EAAO2hC,OAAQ,EACf3hC,EAAO6/C,gBAAgBzjF,SACzB,IACAu3B,EAAeuV,GAAG,SAAS,SAAU74B,GACnC2vB,EAAO+/C,OAAO1vE,EAChB,IACI5xB,KAAK8hC,cACP9hC,KAAKmhG,gBAAgBzgD,QAAQ1gD,KAAK8hC,aAEtC,GACC,CACDngC,IAAK,uBACLV,IAAK,WACH,OAAOjB,KAAKqiF,qBACd,KAGKkf,CACT,CA9HsB,GAgItB,SAASC,EAAqBhrF,EAAKirF,GACjC,MAAO,CACLhrF,SAAUD,EAAIC,SACdirF,KAAMlrF,EAAIkrF,KACV3mD,KAAMvkC,EAAIwkC,SACVjnB,KAAMvd,EAAIud,KACV01C,KAAMjzD,EAAIizD,KACVxxC,OAAQ,MACRwpE,QAASA,EAEb,CAEA,IAAIb,EAA0B,SAAUe,GAGtC,SAASf,EAAwB99D,GAC/B3B,EAAgBnhC,KAAM4gG,GAEtB,IAAI/+C,EAASsV,EAA2Bn3D,MAAO4gG,EAAwB1lE,WAAap6B,OAAOooB,eAAe03E,IAA0BrgG,KAAKP,KAAM8iC,IAE3I8+D,EAAiB,SAAwB3tC,GAC3C,GAA4B,MAAxBA,EAAS4tC,WAAoB,CAC/B,IAAIhwE,EAAQ,IAAI6pB,EAAM33C,oBAAoB,gBAAkB89C,EAAOhH,KAAO,MAG1E,OAFAgH,EAAO/f,aAAejQ,OACtBgwB,EAAOw/C,mBAAmBzjF,OAAOiU,EAEnC,CACAgwB,EAAOw/C,mBAAmB1jF,UAC1BkkC,EAAOigD,mBAAmB7tC,GAC1B,IAAI8tC,EAAoB,SAA2BphG,GACjD,OAAOkhD,EAAOs/C,gBAAgBM,QAAQ9gG,EAAKqc,cAC7C,EAEIglF,GAAwB,EAAIjC,EAAekC,kCAAkC,CAC/EF,kBAAmBA,EACnBxB,OAAQz9D,EAAOy9D,OACfziD,eAAgB+D,EAAOq/C,gBACvB1iD,aAAcqD,EAAOo/C,gBAEnBiB,EAAqBF,EAAsBE,mBAC3CC,EAAkBH,EAAsBG,gBAE5CtgD,EAAOygC,kBAAoB4f,EAC3BrgD,EAAO0gC,eAAiB4f,GAAmBtgD,EAAO0gC,eAClD1gC,EAAOshC,WAAY,EAAI4c,EAAeqC,2BAA2BL,EACnE,EAYA,OAXAlgD,EAAOwgD,SAAW,KACW,UAAzBxgD,EAAOhH,KAAKpkC,SACdorC,EAAOwgD,SAAWpC,EAAKtsC,QAAQ6tC,EAAqB3/C,EAAOhH,KAAM/X,EAAO0c,aAAcoiD,GAEtF//C,EAAOwgD,SAAWnC,EAAMvsC,QAAQ6tC,EAAqB3/C,EAAOhH,KAAM/X,EAAO0c,aAAcoiD,GAEzF//C,EAAOwgD,SAAS53C,GAAG,SAAS,SAAU74B,GACpCiwB,EAAO/f,aAAelQ,EACtBiwB,EAAOw/C,mBAAmBzjF,OAAOgU,EACnC,IACAiwB,EAAOwgD,SAAShrF,MACTwqC,CACT,CAEA,OA/CAwV,EAAUupC,EAAyBe,GA+C5Bf,CACT,CAjD8B,CAiD5BG,GAEED,EAA2B,SAAUwB,GAGvC,SAASxB,EAAyBh+D,EAAQ1pB,EAAO/B,GAC/C8pB,EAAgBnhC,KAAM8gG,GAEtB,IAAI17C,EAAS+R,EAA2Bn3D,MAAO8gG,EAAyB5lE,WAAap6B,OAAOooB,eAAe43E,IAA2BvgG,KAAKP,KAAM8iC,IAGjJ,IAAK,IAAI/gC,KADTqjD,EAAOm9C,aAAe,CAAC,EACFz/D,EAAO0c,YAAa,CACvC,IAAIn+C,EAAQyhC,EAAO0c,YAAYz9C,GACV,qBAAVV,IAGX+jD,EAAOm9C,aAAaxgG,GAAYV,EAClC,CACA+jD,EAAOm9C,aAAa,SAAW,SAAWnpF,EAAQ,KAAO/B,EAAM,GAC/D,IAAIuqF,EAAiB,SAAwB3tC,GAC3C,GAA4B,MAAxBA,EAAS4tC,WAKbz8C,EAAO08C,mBAAmB7tC,OAL1B,CACE,IAAIpiC,EAAQ,IAAI6pB,EAAM33C,oBAAoB,gBAAkBqhD,EAAOvK,KAAO,MAC1EuK,EAAOtjB,aAAejQ,CAExB,CAEF,EAWA,OAVAuzB,EAAOi9C,SAAW,KACW,UAAzBj9C,EAAOvK,KAAKpkC,SACd2uC,EAAOi9C,SAAWpC,EAAKtsC,QAAQ6tC,EAAqBp8C,EAAOvK,KAAMuK,EAAOm9C,cAAeX,GAEvFx8C,EAAOi9C,SAAWnC,EAAMvsC,QAAQ6tC,EAAqBp8C,EAAOvK,KAAMuK,EAAOm9C,cAAeX,GAE1Fx8C,EAAOi9C,SAAS53C,GAAG,SAAS,SAAU74B,GACpCwzB,EAAOtjB,aAAelQ,CACxB,IACAwzB,EAAOi9C,SAAShrF,MACT+tC,CACT,CAEA,OArCAiS,EAAUypC,EAA0BwB,GAqC7BxB,CACT,CAvC+B,CAuC7BS,GAEEZ,EAA4B,SAAU6B,GAGxC,SAAS7B,EAA0B79D,GACjC3B,EAAgBnhC,KAAM2gG,GAEtB,IAAI13C,EAASkO,EAA2Bn3D,MAAO2gG,EAA0BzlE,WAAap6B,OAAOooB,eAAey3E,IAA4BpgG,KAAKP,KAAM8iC,IAE/I2mC,EAAOtsD,mBAAmB8rC,EAAOpO,KAAK4uB,MAiB1C,OAhBI02B,EAAah4E,KAAK8gC,EAAOpO,KAAK3C,QAChCuxB,EAAOA,EAAKjyD,QAAQ,MAAO,KAE7BwoF,EAAGyC,MAAMh5B,GAAM,SAAU53C,EAAO7F,GAC9B,GAAI6F,EAMF,MALmB,WAAfA,EAAM5a,OACR4a,EAAQ,IAAI6pB,EAAM33C,oBAAoB,gBAAkB0lE,EAAO,OAEjExgB,EAAOnnB,aAAejQ,OACtBo3B,EAAOo4C,mBAAmBzjF,OAAOiU,GAGnCo3B,EAAOs5B,eAAiBv2D,EAAK2U,KAC7BsoB,EAAO64C,mBAAmB9B,EAAG0C,iBAAiBj5B,IAC9CxgB,EAAOo4C,mBAAmB1jF,SAC5B,IACOsrC,CACT,CAEA,OA3BAoO,EAAUspC,EAA2B6B,GA2B9B7B,CACT,CA7BgC,CA6B9BI,GAEEF,EAA6B,SAAU8B,GAGzC,SAAS9B,EAA2B/9D,EAAQ1pB,EAAO/B,GACjD8pB,EAAgBnhC,KAAM6gG,GAEtB,IAAIn2C,EAASyM,EAA2Bn3D,MAAO6gG,EAA2B3lE,WAAap6B,OAAOooB,eAAe23E,IAA6BtgG,KAAKP,KAAM8iC,IAEjJ2mC,EAAOtsD,mBAAmButC,EAAO7P,KAAK4uB,MAQ1C,OAPI02B,EAAah4E,KAAKuiC,EAAO7P,KAAK3C,QAChCuxB,EAAOA,EAAKjyD,QAAQ,MAAO,KAE7BkzC,EAAOo3C,mBAAmB9B,EAAG0C,iBAAiBj5B,EAAM,CAClDrwD,MAAOA,EACP/B,IAAKA,EAAM,KAENqzC,CACT,CAEA,OAlBA2M,EAAUwpC,EAA4B8B,GAkB/B9B,CACT,CApBiC,CAoB/BU,GAEFxhG,EAAQ8C,cAAgBA,CAEjB,EAED,SAAU/C,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ6iG,uBAAyB7iG,EAAQkiG,iCAAmCliG,EAAQqiG,0BAA4BriG,EAAQ8iG,+BAA4Bz6F,EAEpJ,IAAIszC,EAAQv7C,EAAoB,GAE5B2iG,EAAuB3iG,EAAoB,KAE/C,SAAS8hG,EAAiCtoF,GACxC,IAAIooF,EAAoBpoF,EAAKooF,kBACzBxB,EAAS5mF,EAAK4mF,OACdziD,EAAiBnkC,EAAKmkC,eACtBU,EAAe7kC,EAAK6kC,cAExB,EAAI9C,EAAM10C,QAAQ82C,EAAiB,EAAG,6CACtC,IAAIilD,EAAe,CACjBb,oBAAoB,EACpBC,qBAAiB/5F,GAEfsP,EAASijC,SAASonD,EAAkB,kBAAmB,IAC3D,IAAKtsF,OAAOC,UAAUgC,GACpB,OAAOqrF,EAGT,GADAA,EAAaZ,gBAAkBzqF,EAC3BA,GAAU,EAAIomC,EAChB,OAAOilD,EAET,GAAIvkD,IAAiB+hD,EACnB,OAAOwC,EAET,GAA2C,UAAvChB,EAAkB,iBACpB,OAAOgB,EAET,IAAIC,EAAkBjB,EAAkB,qBAAuB,WAC/D,MAAwB,aAApBiB,IAGJD,EAAab,oBAAqB,GAFzBa,CAIX,CACA,SAASX,EAA0BL,GACjC,IAAIkB,EAAqBlB,EAAkB,uBAC3C,GAAIkB,EAAoB,CACtB,IAAIryC,GAAW,EAAIkyC,EAAqBI,yCAAyCD,GACjF,GAAI,UAAU96E,KAAKyoC,GACjB,OAAOA,CAEX,CACA,OAAO,IACT,CACA,SAASiyC,EAA0B1rF,EAAQX,GACzC,OAAe,MAAXW,GAA6B,IAAXA,GAAgB,SAASgR,KAAK3R,GAC3C,IAAIklC,EAAM33C,oBAAoB,gBAAkByS,EAAM,MAExD,IAAIklC,EAAMt3C,4BAA4B,+BAAiC+S,EAAS,2BAA6BX,EAAM,KAAMW,EAClI,CACA,SAASyrF,EAAuBzrF,GAC9B,OAAkB,MAAXA,GAA6B,MAAXA,CAC3B,CACApX,EAAQ8iG,0BAA4BA,EACpC9iG,EAAQqiG,0BAA4BA,EACpCriG,EAAQkiG,iCAAmCA,EAC3CliG,EAAQ6iG,uBAAyBA,CAE1B,EAED,SAAU9iG,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAGT,IAAIi6C,EAAiB,WAAc,SAASC,EAAc9iC,EAAKpY,GAAK,IAAIm7C,EAAO,GAAQjrB,GAAK,EAAU0B,GAAK,EAAWwpB,OAAKrzC,EAAW,IAAM,IAAK,IAAiCwoB,EAA7BjI,EAAKlQ,EAAItX,OAAOmH,cAAmBioB,GAAMK,EAAKjI,EAAGgB,QAAQd,MAAO0H,GAAK,EAA6B,GAArBirB,EAAKnjC,KAAKuY,EAAGvvB,OAAYhB,GAAKm7C,EAAK9jC,SAAWrX,EAAG,KAAyI,CAA9H,MAAOiyB,GAAOL,GAAK,EAAMwpB,EAAKnpB,CAAK,CAAE,QAAU,KAAW/B,GAAM5H,EAAG,WAAWA,EAAG,WAA2C,CAA5B,QAAU,GAAIsJ,EAAI,MAAMwpB,CAAI,CAAE,CAAE,OAAOD,CAAM,CAAE,OAAO,SAAU/iC,EAAKpY,GAAK,GAAIggB,MAAMyY,QAAQrgB,GAAQ,OAAOA,EAAY,GAAItX,OAAOmH,YAAYxH,OAAO2X,GAAQ,OAAO8iC,EAAc9iC,EAAKpY,GAAa,MAAM,IAAIgjB,UAAU,uDAA2D,CAAG,CAA/nB,GAErB,SAAS6/E,EAAwCD,GAC/C,IAAIE,GAAqB,EACrBvrE,EAAMwrE,EAAc,cAAe,KAAK5/E,KAAKy/E,GACjD,GAAIrrE,EAAK,CACPA,EAAMA,EAAI,GACV,IAAIg5B,EAAWyyC,EAAezrE,GAI9B,OAHAg5B,EAAWvzC,SAASuzC,GACpBA,EAAW0yC,EAAc1yC,GACzBA,EAAW2yC,EAAc3yC,GAClB4yC,EAAc5yC,EACvB,CAEA,GADAh5B,EAAM6rE,EAAgBR,GAClBrrE,EAAK,CACP,IAAIurD,EAAYogB,EAAc3rE,GAC9B,OAAO4rE,EAAcrgB,EACvB,CAEA,GADAvrD,EAAMwrE,EAAc,WAAY,KAAK5/E,KAAKy/E,GACtCrrE,EAAK,CACPA,EAAMA,EAAI,GACV,IAAI8rE,EAAaL,EAAezrE,GAEhC,OADA8rE,EAAaH,EAAcG,GACpBF,EAAcE,EACvB,CACA,SAASN,EAAcO,EAAkBC,GACvC,OAAO,IAAIC,OAAO,cAAgBF,EAAhB,sDAAmHC,EACvI,CACA,SAASE,EAAWC,EAAU1iG,GAC5B,GAAI0iG,EAAU,CACZ,IAAK,iBAAiB57E,KAAK9mB,GACzB,OAAOA,EAET,IAGE,IAFA,IAAI2iG,EAAU,IAAIC,YAAYF,EAAU,CAAEG,OAAO,IAC7CzsF,EAAQ,IAAI4I,MAAMhf,EAAMqW,QACnBrX,EAAI,EAAGA,EAAIgB,EAAMqW,SAAUrX,EAClCoX,EAAMpX,GAAKgB,EAAMmX,WAAWnY,GAE9BgB,EAAQ2iG,EAAQG,OAAO,IAAI5rF,WAAWd,IACtC0rF,GAAqB,CAQvB,CAPE,MAAO9sF,GACP,GAAI,YAAY8R,KAAK47E,GACnB,IACE1iG,EAAQ8b,mBAAmBC,OAAO/b,IAClC8hG,GAAqB,CACR,CAAb,MAAO7wE,GAAM,CAEnB,CACF,CACA,OAAOjxB,CACT,CACA,SAASmiG,EAAcniG,GAOrB,OANI8hG,GAAsB,cAAch7E,KAAK9mB,KAC3CA,EAAQyiG,EAAW,QAASziG,GACxB8hG,IACF9hG,EAAQyiG,EAAW,aAAcziG,KAG9BA,CACT,CACA,SAASoiG,EAAgBR,GACvB,IAAImB,EAAU,GACVC,OAAQ,EACR1xE,EAAOywE,EAAc,kCAAmC,MAC5D,MAAmD,QAA3CiB,EAAQ1xE,EAAKnP,KAAKy/E,IAA+B,CACvD,IAAIqB,EAASD,EACTE,EAAUjpD,EAAegpD,EAAQ,GACjCziG,EAAI0iG,EAAQ,GACZC,EAAOD,EAAQ,GACfE,EAAOF,EAAQ,GAGnB,GADA1iG,EAAI84C,SAAS94C,EAAG,IACZA,KAAKuiG,GACP,GAAU,IAANviG,EACF,WAIJuiG,EAAQviG,GAAK,CAAC2iG,EAAMC,EACtB,CAEA,IADA,IAAIC,EAAQ,GACHn0E,EAAK,EAAGA,EAAK6zE,EAAQ1sF,SAAU6Y,EAAI,CAC1C,KAAMA,KAAM6zE,GACV,MAGF,IAAIO,EAAcrpD,EAAe8oD,EAAQ7zE,GAAK,GAC1Cq0E,EAAQD,EAAY,GACpBE,EAAQF,EAAY,GAExBE,EAAQxB,EAAewB,GACnBD,IACFC,EAAQxnF,SAASwnF,GACN,IAAPt0E,IACFs0E,EAAQvB,EAAcuB,KAG1BH,EAAMrsF,KAAKwsF,EACb,CACA,OAAOH,EAAMpsF,KAAK,GACpB,CACA,SAAS+qF,EAAehiG,GACtB,GAAwB,MAApBA,EAAM6b,OAAO,GAAY,CAE3B,IADA,IAAIwnF,EAAQrjG,EAAM4Z,MAAM,GAAGkJ,MAAM,OACxB9jB,EAAI,EAAGA,EAAIqkG,EAAMhtF,SAAUrX,EAAG,CACrC,IAAIykG,EAAYJ,EAAMrkG,GAAG8gB,QAAQ,MACd,IAAf2jF,IACFJ,EAAMrkG,GAAKqkG,EAAMrkG,GAAG4a,MAAM,EAAG6pF,GAC7BJ,EAAMhtF,OAASrX,EAAI,GAErBqkG,EAAMrkG,GAAKqkG,EAAMrkG,GAAGmX,QAAQ,SAAU,KACxC,CACAnW,EAAQqjG,EAAMpsF,KAAK,IACrB,CACA,OAAOjX,CACT,CACA,SAASiiG,EAAcyB,GACrB,IAAIC,EAAcD,EAAS5jF,QAAQ,KACnC,IAAqB,IAAjB6jF,EACF,OAAOD,EAET,IAAIhB,EAAWgB,EAAS9pF,MAAM,EAAG+pF,GAC7BC,EAAYF,EAAS9pF,MAAM+pF,EAAc,GACzC3jG,EAAQ4jG,EAAUztF,QAAQ,UAAW,IACzC,OAAOssF,EAAWC,EAAU1iG,EAC9B,CACA,SAASkiG,EAAcliG,GACrB,MAA0B,OAAtBA,EAAM4Z,MAAM,EAAG,IAAe,uBAAuBkN,KAAK9mB,GACrDA,EAEFA,EAAMmW,QAAQ,kDAAkD,SAAU2jC,EAAG+pD,EAASnB,EAAUxiB,GACrG,GAAiB,MAAbwiB,GAAiC,MAAbA,EAKtB,OAJAxiB,EAAOA,EAAK/pE,QAAQ,KAAM,KAC1B+pE,EAAOA,EAAK/pE,QAAQ,sBAAsB,SAAU2jC,EAAGgqD,GACrD,OAAOvtF,OAAOC,aAAa8iC,SAASwqD,EAAK,IAC3C,IACOrB,EAAWoB,EAAS3jB,GAE7B,IACEA,EAAOniE,KAAKmiE,EACD,CAAX,MAAOlrE,GAAI,CACb,OAAOytF,EAAWoB,EAAS3jB,EAC7B,GACF,CACA,MAAO,EACT,CACAxhF,EAAQmjG,wCAA0CA,CAE3C,EAED,SAAUpjG,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQmD,oBAAiBkF,EAEzB,IAAIwtE,EAAez1E,EAAoB,KAEnC01E,EAAgB55B,EAAuB25B,GAEvC70C,EAAe,WAAc,SAASnV,EAAiBtJ,EAAQ0e,GAAS,IAAK,IAAI3gC,EAAI,EAAGA,EAAI2gC,EAAMtpB,OAAQrX,IAAK,CAAE,IAAIsqB,EAAaqW,EAAM3gC,GAAIsqB,EAAW3pB,WAAa2pB,EAAW3pB,aAAc,EAAO2pB,EAAW9T,cAAe,EAAU,UAAW8T,IAAYA,EAAW7T,UAAW,GAAMhW,OAAOC,eAAeuhB,EAAQqI,EAAWhpB,IAAKgpB,EAAa,CAAE,CAAE,OAAO,SAAUjB,EAAauX,EAAYC,GAAiJ,OAA9HD,GAAYrV,EAAiBlC,EAAY1nB,UAAWi/B,GAAiBC,GAAatV,EAAiBlC,EAAawX,GAAqBxX,CAAa,CAAG,CAA7hB,GAEfgyB,EAAQv7C,EAAoB,GAE5B4/F,EAAiB5/F,EAAoB,KAEzC,SAAS87C,EAAuB1zC,GAAO,OAAOA,GAAOA,EAAI/G,WAAa+G,EAAM,CAAEg0C,QAASh0C,EAAO,CAE9F,SAASwtE,EAAkBryD,GAAM,OAAO,WAAc,IAAI8yD,EAAM9yD,EAAG5L,MAAM9X,KAAM6c,WAAY,OAAO,IAAIa,SAAQ,SAAUC,EAASC,GAAU,SAAS6Q,EAAK9sB,EAAKo3B,GAAO,IAAM,IAAIryB,EAAO8vE,EAAI70E,GAAKo3B,GAAU13B,EAAQqF,EAAKrF,KAAgD,CAAvC,MAAOwwB,GAAwB,YAAfjU,EAAOiU,EAAgB,CAAE,IAAInrB,EAAKmiB,KAAiC,OAAOnL,QAAQC,QAAQtc,GAAO8uB,MAAK,SAAU9uB,GAASotB,EAAK,OAAQptB,EAAQ,IAAG,SAAUixB,GAAO7D,EAAK,QAAS6D,EAAM,IAA5I3U,EAAQtc,EAA0I,CAAE,OAAOotB,EAAK,OAAS,GAAI,CAAG,CAEzc,SAAS0S,EAAgB3G,EAAU9Q,GAAe,KAAM8Q,aAAoB9Q,GAAgB,MAAM,IAAIrG,UAAU,oCAAwC,CAExJ,SAAS+hF,EAAmB3D,EAAShiD,EAAiB4lD,GACpD,MAAO,CACLptE,OAAQ,MACRwpE,QAASA,EACT6D,OAAQD,GAAmBA,EAAgBC,OAC3C/jG,KAAM,OACNgkG,YAAa9lD,EAAkB,UAAY,cAC3C+lD,SAAU,SAEd,CAEA,IAAItiG,EAAiB,WACnB,SAASA,EAAewe,GACtByf,EAAgBnhC,KAAMkD,GAEtBlD,KAAK0hB,OAASA,EACd1hB,KAAKugG,OAAS,YAAYp4E,KAAKzG,EAAOlL,KACtCxW,KAAKw/C,YAAcx/C,KAAKugG,QAAU7+E,EAAO89B,aAAe,CAAC,EACzDx/C,KAAKwiF,mBAAqB,KAC1BxiF,KAAK0gG,qBAAuB,EAC9B,CA6BA,OA3BA3/D,EAAa79B,EAAgB,CAAC,CAC5BvB,IAAK,gBACLN,MAAO,WAGL,OAFA,EAAIq6C,EAAM10C,SAAShH,KAAKwiF,oBACxBxiF,KAAKwiF,mBAAqB,IAAIijB,EAAqBzlG,MAC5CA,KAAKwiF,kBACd,GACC,CACD7gF,IAAK,iBACLN,MAAO,SAAwB+V,EAAOC,GACpC,IAAImzB,EAAS,IAAIk7D,EAA0B1lG,KAAMoX,EAAOC,GAExD,OADArX,KAAK0gG,qBAAqBroF,KAAKmyB,GACxBA,CACT,GACC,CACD7oC,IAAK,oBACLN,MAAO,SAA2BuwB,GAC5B5xB,KAAKwiF,oBACPxiF,KAAKwiF,mBAAmBl6B,OAAO12B,GAEjC,IAAImyD,EAAU/jF,KAAK0gG,qBAAqBzlF,MAAM,GAC9C8oE,EAAQ98D,SAAQ,SAAUujB,GACxBA,EAAO8d,OAAO12B,EAChB,GACF,KAGK1uB,CACT,CAvCqB,GAyCjBuiG,EAAuB,WACzB,SAASA,EAAqB3iE,GAC5B,IAAI8E,EAAQ5nC,KAEZmhC,EAAgBnhC,KAAMylG,GAEtBzlG,KAAK+sC,QAAUjK,EACf9iC,KAAKkpC,QAAU,KACflpC,KAAKghG,QAAU,EACfhhG,KAAKmjF,UAAY,KACjB,IAAIzhE,EAASohB,EAAOphB,OAepB,IAAK,IAAI3f,KAdT/B,KAAK2lG,iBAAmBjkF,EAAO+9B,gBAC/Bz/C,KAAKuiF,eAAiB7gE,EAAOhK,OAC7B1X,KAAKqhG,oBAAqB,EAAI3lD,EAAM93C,2BACpC5D,KAAKihG,cAAgBv/E,EAAO88B,eAAgB,EAC5Cx+C,KAAKkhG,gBAAkBx/E,EAAOo8B,eACzB99C,KAAKkhG,iBAAoBlhG,KAAKihG,gBACjCjhG,KAAKihG,eAAgB,GAEQ,qBAApB2E,kBACT5lG,KAAK6lG,iBAAmB,IAAID,iBAE9B5lG,KAAKqiF,uBAAyB3gE,EAAO+8B,cACrCz+C,KAAKsiF,mBAAqB5gE,EAAO88B,aACjCx+C,KAAK8lG,SAAW,IAAIC,QACC/lG,KAAK+sC,QAAQyS,YAAa,CAC7C,IAAIn+C,EAAQrB,KAAK+sC,QAAQyS,YAAYz9C,GAChB,qBAAVV,GAGXrB,KAAK8lG,SAAS/M,OAAOh3F,EAAUV,EACjC,CACA,IAAImV,EAAMkL,EAAOlL,IACjB25C,MAAM35C,EAAK4uF,EAAmBplG,KAAK8lG,SAAU9lG,KAAK2lG,iBAAkB3lG,KAAK6lG,mBAAmB11E,MAAK,SAAU8jC,GACzG,KAAK,EAAI8rC,EAAe6C,wBAAwB3uC,EAAS98C,QACvD,MAAM,EAAI4oF,EAAe8C,2BAA2B5uC,EAAS98C,OAAQX,GAEvEoxB,EAAMsB,QAAU+qB,EAASuG,KAAKvS,YAC9BrgB,EAAMy5D,mBAAmB1jF,UACzB,IAAIokF,EAAoB,SAA2BphG,GACjD,OAAOszD,EAASwtC,QAAQxgG,IAAIN,EAC9B,EAEIqhG,GAAwB,EAAIjC,EAAekC,kCAAkC,CAC/EF,kBAAmBA,EACnBxB,OAAQ34D,EAAMmF,QAAQwzD,OACtBziD,eAAgBlW,EAAMs5D,gBACtB1iD,aAAc5W,EAAMq5D,gBAElBiB,EAAqBF,EAAsBE,mBAC3CC,EAAkBH,EAAsBG,gBAE5Cv6D,EAAM06C,kBAAoB4f,EAC1Bt6D,EAAM26C,eAAiB4f,GAAmBv6D,EAAM26C,eAChD36C,EAAMu7C,WAAY,EAAI4c,EAAeqC,2BAA2BL,IAC3Dn6D,EAAMy6C,uBAAyBz6C,EAAM06C,mBACxC16C,EAAM0gB,OAAO,IAAI5M,EAAM/zC,eAAe,yBAE1C,IAAGo9B,MAAM/kC,KAAKqhG,mBAAmBzjF,QACjC5d,KAAKwgD,WAAa,IACpB,CAmGA,OAjGAzf,EAAa0kE,EAAsB,CAAC,CAClC9jG,IAAK,OACLN,MAAO,WACL,IAAIsY,EAAOo8D,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASC,IAC7E,IAAItsC,EAAOtoC,EAAOwnB,EAAMpP,EAExB,OAAOo8D,EAAct5B,QAAQnf,MAAK,SAAkB+4C,GAClD,MAAO,EACL,OAAQA,EAAS7Y,KAAO6Y,EAASxsD,MAC/B,KAAK,EAEH,OADAwsD,EAASxsD,KAAO,EACT3pB,KAAKqhG,mBAAmB5jF,QAEjC,KAAK,EAEH,OADA04D,EAASxsD,KAAO,EACT3pB,KAAKkpC,QAAQ4e,OAEtB,KAAK,EAKH,GAJAne,EAAQwsC,EAAS+E,KACjB75E,EAAQsoC,EAAMtoC,MACdwnB,EAAO8gB,EAAM9gB,MAERA,EAAM,CACTstD,EAASxsD,KAAO,EAChB,KACF,CAEA,OAAOwsD,EAASC,OAAO,SAAU,CAC/B/0E,MAAOA,EACPwnB,KAAMA,IAGV,KAAK,EASH,OARA7oB,KAAKghG,SAAW3/F,EAAMqX,WAClB1Y,KAAKwgD,YACPxgD,KAAKwgD,WAAW,CACdc,OAAQthD,KAAKghG,QACbn0C,MAAO7sD,KAAKuiF,iBAGhB9oE,EAAS,IAAIlB,WAAWlX,GAAOoY,OACxB08D,EAASC,OAAO,SAAU,CAC/B/0E,MAAOoY,EACPoP,MAAM,IAGV,KAAK,GACL,IAAK,MACH,OAAOstD,EAASE,OAGxB,GAAGJ,EAASj2E,KACd,KAEA,SAAS8nD,IACP,OAAOnuC,EAAK7B,MAAM9X,KAAM6c,UAC1B,CAEA,OAAOirC,CACT,CAzDO,IA0DN,CACDnmD,IAAK,SACLN,MAAO,SAAgBuwB,GACjB5xB,KAAKkpC,SACPlpC,KAAKkpC,QAAQof,OAAO12B,GAElB5xB,KAAK6lG,kBACP7lG,KAAK6lG,iBAAiB7hB,OAE1B,GACC,CACDriF,IAAK,eACLV,IAAK,WACH,OAAOjB,KAAKqhG,mBAAmB5jF,OACjC,GACC,CACD9b,IAAK,WACLV,IAAK,WACH,OAAOjB,KAAKmjF,SACd,GACC,CACDxhF,IAAK,gBACLV,IAAK,WACH,OAAOjB,KAAKuiF,cACd,GACC,CACD5gF,IAAK,mBACLV,IAAK,WACH,OAAOjB,KAAKsiF,iBACd,GACC,CACD3gF,IAAK,uBACLV,IAAK,WACH,OAAOjB,KAAKqiF,qBACd,KAGKojB,CACT,CAhK2B,GAkKvBC,EAA4B,WAC9B,SAASA,EAA0B5iE,EAAQ1rB,EAAOC,GAChD,IAAIkqC,EAASvhD,KAEbmhC,EAAgBnhC,KAAM0lG,GAEtB1lG,KAAK+sC,QAAUjK,EACf9iC,KAAKkpC,QAAU,KACflpC,KAAKghG,QAAU,EACf,IAAIt/E,EAASohB,EAAOphB,OAQpB,IAAK,IAAI3f,KAPT/B,KAAK2lG,iBAAmBjkF,EAAO+9B,gBAC/Bz/C,KAAKohG,iBAAkB,EAAI1lD,EAAM93C,2BACjC5D,KAAKqiF,uBAAyB3gE,EAAO+8B,cACN,qBAApBmnD,kBACT5lG,KAAK6lG,iBAAmB,IAAID,iBAE9B5lG,KAAK8lG,SAAW,IAAIC,QACC/lG,KAAK+sC,QAAQyS,YAAa,CAC7C,IAAIn+C,EAAQrB,KAAK+sC,QAAQyS,YAAYz9C,GAChB,qBAAVV,GAGXrB,KAAK8lG,SAAS/M,OAAOh3F,EAAUV,EACjC,CACA,IAAI2kG,EAAW5uF,EAAQ,KAAOC,EAAM,GACpCrX,KAAK8lG,SAAS/M,OAAO,QAAS,SAAWiN,GACzC,IAAIxvF,EAAMkL,EAAOlL,IACjB25C,MAAM35C,EAAK4uF,EAAmBplG,KAAK8lG,SAAU9lG,KAAK2lG,iBAAkB3lG,KAAK6lG,mBAAmB11E,MAAK,SAAU8jC,GACzG,KAAK,EAAI8rC,EAAe6C,wBAAwB3uC,EAAS98C,QACvD,MAAM,EAAI4oF,EAAe8C,2BAA2B5uC,EAAS98C,OAAQX,GAEvE+qC,EAAO6/C,gBAAgBzjF,UACvB4jC,EAAOrY,QAAU+qB,EAASuG,KAAKvS,WACjC,IACAjoD,KAAKwgD,WAAa,IACpB,CA4EA,OA1EAzf,EAAa2kE,EAA2B,CAAC,CACvC/jG,IAAK,OACLN,MAAO,WACL,IAAIyoC,EAAQisC,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASmO,IAC9E,IAAIh6C,EAAO9oC,EAAOwnB,EAAMpP,EAExB,OAAOo8D,EAAct5B,QAAQnf,MAAK,SAAmBgnD,GACnD,MAAO,EACL,OAAQA,EAAU9mB,KAAO8mB,EAAUz6D,MACjC,KAAK,EAEH,OADAy6D,EAAUz6D,KAAO,EACV3pB,KAAKohG,gBAAgB3jF,QAE9B,KAAK,EAEH,OADA2mE,EAAUz6D,KAAO,EACV3pB,KAAKkpC,QAAQ4e,OAEtB,KAAK,EAKH,GAJA3d,EAAQi6C,EAAUlJ,KAClB75E,EAAQ8oC,EAAM9oC,MACdwnB,EAAOshB,EAAMthB,MAERA,EAAM,CACTu7D,EAAUz6D,KAAO,EACjB,KACF,CAEA,OAAOy6D,EAAUhO,OAAO,SAAU,CAChC/0E,MAAOA,EACPwnB,KAAMA,IAGV,KAAK,EAMH,OALA7oB,KAAKghG,SAAW3/F,EAAMqX,WAClB1Y,KAAKwgD,YACPxgD,KAAKwgD,WAAW,CAAEc,OAAQthD,KAAKghG,UAEjCvnF,EAAS,IAAIlB,WAAWlX,GAAOoY,OACxB2qE,EAAUhO,OAAO,SAAU,CAChC/0E,MAAOoY,EACPoP,MAAM,IAGV,KAAK,GACL,IAAK,MACH,OAAOu7D,EAAU/N,OAGzB,GAAG8N,EAAUnkF,KACf,KAEA,SAAS8nD,IACP,OAAOhe,EAAMhyB,MAAM9X,KAAM6c,UAC3B,CAEA,OAAOirC,CACT,CAtDO,IAuDN,CACDnmD,IAAK,SACLN,MAAO,SAAgBuwB,GACjB5xB,KAAKkpC,SACPlpC,KAAKkpC,QAAQof,OAAO12B,GAElB5xB,KAAK6lG,kBACP7lG,KAAK6lG,iBAAiB7hB,OAE1B,GACC,CACDriF,IAAK,uBACLV,IAAK,WACH,OAAOjB,KAAKqiF,qBACd,KAGKqjB,CACT,CAhHgC,GAkHhC3lG,EAAQmD,eAAiBA,CAElB,EAED,SAAUpD,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQkmG,eAAiBlmG,EAAQoD,sBAAmBiF,EAEpD,IAAIwtE,EAAez1E,EAAoB,KAEnC01E,EAAgB55B,EAAuB25B,GAEvCl6B,EAAQv7C,EAAoB,GAE5B4/F,EAAiB5/F,EAAoB,KAErC47C,EAAgB57C,EAAoB,GAEpC67C,EAAiBC,EAAuBF,GAE5C,SAASE,EAAuB1zC,GAAO,OAAOA,GAAOA,EAAI/G,WAAa+G,EAAM,CAAEg0C,QAASh0C,EAAO,CAE9F,SAASwtE,EAAkBryD,GAAM,OAAO,WAAc,IAAI8yD,EAAM9yD,EAAG5L,MAAM9X,KAAM6c,WAAY,OAAO,IAAIa,SAAQ,SAAUC,EAASC,GAAU,SAAS6Q,EAAK9sB,EAAKo3B,GAAO,IAAM,IAAIryB,EAAO8vE,EAAI70E,GAAKo3B,GAAU13B,EAAQqF,EAAKrF,KAAgD,CAAvC,MAAOwwB,GAAwB,YAAfjU,EAAOiU,EAAgB,CAAE,IAAInrB,EAAKmiB,KAAiC,OAAOnL,QAAQC,QAAQtc,GAAO8uB,MAAK,SAAU9uB,GAASotB,EAAK,OAAQptB,EAAQ,IAAG,SAAUixB,GAAO7D,EAAK,QAAS6D,EAAM,IAA5I3U,EAAQtc,EAA0I,CAAE,OAAOotB,EAAK,OAAS,GAAI,CAAG,CAGzc,IAAIy3E,EAAc,IACdC,EAA2B,IAC/B,SAASF,EAAezvF,EAAKse,GAC3B90B,KAAKwW,IAAMA,EACXse,EAAOA,GAAQ,CAAC,EAChB90B,KAAKugG,OAAS,YAAYp4E,KAAK3R,GAC/BxW,KAAKw/C,YAAcx/C,KAAKugG,QAAUzrE,EAAK0qB,aAAe,CAAC,EACvDx/C,KAAKy/C,gBAAkB3qB,EAAK2qB,kBAAmB,EAC/Cz/C,KAAKomG,OAAStxE,EAAKsxE,QAAU,WAC3B,OAAO,IAAIxyC,cACb,EACA5zD,KAAKqmG,UAAY,EACjBrmG,KAAKsmG,gBAAkBxlG,OAAOY,OAAO,MACrC1B,KAAKumG,eAAiBzlG,OAAOY,OAAO,KACtC,CACA,SAAS8kG,EAAeC,GACtB,IAAIztF,EAAOytF,EAAIxyC,SACf,GAAoB,kBAATj7C,EACT,OAAOA,EAET,IAAI0tF,GAAQ,EAAIhrD,EAAMh2C,eAAesT,GACrC,OAAO0tF,EAAMjtF,MACf,CACA,IAAIktF,EAAqB,WACvB,IACE,IAAIztF,EAAI,IAAI06C,eAGZ,OAFA16C,EAAEsS,KAAK,MAAOwwB,EAAeO,QAAQsB,SAAS3F,MAC9Ch/B,EAAE26C,aAAe,0BACS,4BAAnB36C,EAAE26C,YAGX,CAFE,MAAOx9C,GACP,OAAO,CACT,CACF,CATyB,GAiKzB,SAASlT,EAAiBue,GACxB1hB,KAAK4mG,QAAUllF,EACf1hB,KAAK6mG,SAAW,IAAIZ,EAAevkF,EAAOlL,IAAK,CAC7CgpC,YAAa99B,EAAO89B,YACpBC,gBAAiB/9B,EAAO+9B,kBAE1Bz/C,KAAKkhG,gBAAkBx/E,EAAOo8B,eAC9B99C,KAAKwiF,mBAAqB,KAC1BxiF,KAAK0gG,qBAAuB,EAC9B,CA6BA,SAASoG,EAAkCC,EAASrlF,GAClD1hB,KAAK6mG,SAAWE,EAChB,IAAIjyE,EAAO,CACTkyE,kBAAmBhnG,KAAKinG,mBAAmBrlG,KAAK5B,MAChDknG,kBAAmBxlF,EAAO+8B,cAAgB,KAAOz+C,KAAKmnG,mBAAmBvlG,KAAK5B,MAC9EonG,OAAQpnG,KAAKqnG,QAAQzlG,KAAK5B,MAC1BygF,QAASzgF,KAAKsnG,SAAS1lG,KAAK5B,MAC5BwgD,WAAYxgD,KAAK6iF,YAAYjhF,KAAK5B,OAEpCA,KAAK66C,KAAOn5B,EAAOlL,IACnBxW,KAAKunG,eAAiBR,EAAQS,YAAY1yE,GAC1C90B,KAAKynG,4BAA6B,EAAI/rD,EAAM93C,2BAC5C5D,KAAKihG,cAAgBv/E,EAAO88B,eAAgB,EAC5Cx+C,KAAKuiF,eAAiB7gE,EAAOhK,OAC7B1X,KAAKkhG,gBAAkBx/E,EAAOo8B,eACzB99C,KAAKkhG,iBAAoBlhG,KAAKihG,gBACjCjhG,KAAKihG,eAAgB,GAEvBjhG,KAAKqiF,uBAAwB,EAC7BriF,KAAKsiF,mBAAoB,EACzBtiF,KAAK0nG,cAAgB,GACrB1nG,KAAKojF,UAAY,GACjBpjF,KAAKkjF,OAAQ,EACbljF,KAAK8hC,kBAAe15B,EACpBpI,KAAKmjF,UAAY,KACjBnjF,KAAKwgD,WAAa,IACpB,CAsKA,SAASmnD,EAAmCZ,EAAS3vF,EAAOC,GAC1DrX,KAAK6mG,SAAWE,EAChB,IAAIjyE,EAAO,CACTsyE,OAAQpnG,KAAKqnG,QAAQzlG,KAAK5B,MAC1BwgD,WAAYxgD,KAAK6iF,YAAYjhF,KAAK5B,OAEpCA,KAAK4nG,WAAab,EAAQc,aAAazwF,EAAOC,EAAKyd,GACnD90B,KAAKojF,UAAY,GACjBpjF,KAAKyjF,aAAe,KACpBzjF,KAAKkjF,OAAQ,EACbljF,KAAKwgD,WAAa,KAClBxgD,KAAK8nG,SAAW,IAClB,CAzYA7B,EAAejkG,UAAY,CACzB6lG,aAAc,SAAqCzwF,EAAOC,EAAK0wF,GAC7D,IAAIjzE,EAAO,CACT1d,MAAOA,EACPC,IAAKA,GAEP,IAAK,IAAIT,KAAQmxF,EACfjzE,EAAKle,GAAQmxF,EAAUnxF,GAEzB,OAAO5W,KAAK2zD,QAAQ7+B,EACtB,EACA0yE,YAAa,SAAoCO,GAC/C,OAAO/nG,KAAK2zD,QAAQo0C,EACtB,EACAp0C,QAAS,SAAgC7+B,GACvC,IAAI2xE,EAAMzmG,KAAKomG,SACX4B,EAAQhoG,KAAKqmG,YACb4B,EAAiBjoG,KAAKsmG,gBAAgB0B,GAAS,CAAEvB,IAAKA,GAG1D,IAAK,IAAI1kG,KAFT0kG,EAAIj7E,KAAK,MAAOxrB,KAAKwW,KACrBiwF,EAAIhnD,gBAAkBz/C,KAAKy/C,gBACNz/C,KAAKw/C,YAAa,CACrC,IAAIn+C,EAAQrB,KAAKw/C,YAAYz9C,GACR,qBAAVV,GAGXolG,EAAIyB,iBAAiBnmG,EAAUV,EACjC,CACA,GAAIrB,KAAKugG,QAAU,UAAWzrE,GAAQ,QAASA,EAAM,CACnD,IAAIkxE,EAAWlxE,EAAK1d,MAAQ,KAAO0d,EAAKzd,IAAM,GAC9CovF,EAAIyB,iBAAiB,QAAS,SAAWlC,GACzCiC,EAAeE,eAAiB,GAClC,MACEF,EAAeE,eAAiB,IAElC,IAAIC,EAAuBzB,KAAwB7xE,EAAKoyE,kBAoBxD,OAnBIkB,GACF3B,EAAI5yC,aAAe,0BACnBo0C,EAAef,kBAAoBpyE,EAAKoyE,kBACxCe,EAAeI,YAAa,GAE5B5B,EAAI5yC,aAAe,cAEjB/+B,EAAK2rD,UACPgmB,EAAIv3C,QAAU,SAAUtC,GACtB93B,EAAK2rD,QAAQgmB,EAAItvF,OACnB,GAEFsvF,EAAI3yC,mBAAqB9zD,KAAKsoG,cAAc1mG,KAAK5B,KAAMgoG,GACvDvB,EAAI8B,WAAavoG,KAAKwgD,WAAW5+C,KAAK5B,KAAMgoG,GAC5CC,EAAejB,kBAAoBlyE,EAAKkyE,kBACxCiB,EAAeb,OAAStyE,EAAKsyE,OAC7Ba,EAAexnB,QAAU3rD,EAAK2rD,QAC9BwnB,EAAeznD,WAAa1rB,EAAK0rB,WACjCimD,EAAI1mD,KAAK,MACFioD,CACT,EACAxnD,WAAY,SAAmCwnD,EAAOp7C,GACpD,IAAIq7C,EAAiBjoG,KAAKsmG,gBAAgB0B,GAC1C,GAAKC,EAAL,CAGA,GAAIA,EAAeI,WAAY,CAC7B,IAAIlwF,EAAQquF,EAAeyB,EAAexB,KAC1CwB,EAAef,kBAAkB/uF,EACnC,CACA,IAAIqoC,EAAaynD,EAAeznD,WAC5BA,GACFA,EAAWoM,EAPb,CASF,EACA07C,cAAe,SAAsCN,EAAOp7C,GAC1D,IAAIq7C,EAAiBjoG,KAAKsmG,gBAAgB0B,GAC1C,GAAKC,EAAL,CAGA,IAAIxB,EAAMwB,EAAexB,IAKzB,GAJIA,EAAI1yC,YAAc,GAAKk0C,EAAejB,oBACxCiB,EAAejB,2BACRiB,EAAejB,mBAED,IAAnBP,EAAI1yC,YAGFi0C,KAAShoG,KAAKsmG,gBAIpB,UADOtmG,KAAKsmG,gBAAgB0B,GACT,IAAfvB,EAAItvF,QAAgBnX,KAAKugG,OACvB0H,EAAexnB,SACjBwnB,EAAexnB,QAAQgmB,EAAItvF,YAF/B,CAMA,IAAIqxF,EAAY/B,EAAItvF,QAAU+uF,EAC1BuC,EAA+BD,IAActC,GAAe+B,EAAeE,iBAAmBhC,EAClG,GAAKsC,GAAgCD,IAAcP,EAAeE,eAAlE,CAMAnoG,KAAKumG,eAAeyB,IAAS,EAC7B,IAAI7vF,EAAQquF,EAAeC,GAC3B,GAAI+B,IAAcrC,EAA0B,CAC1C,IAAIuC,EAAcjC,EAAI1E,kBAAkB,iBACpCqC,EAAU,2BAA2B5gF,KAAKklF,GAC1CtxF,EAAQujC,SAASypD,EAAQ,GAAI,IACjC6D,EAAeb,OAAO,CACpBhwF,MAAOA,EACPe,MAAOA,GAEX,MAAW8vF,EAAef,kBACxBe,EAAeb,OAAO,MACbjvF,EACT8vF,EAAeb,OAAO,CACpBhwF,MAAO,EACPe,MAAOA,IAEA8vF,EAAexnB,SACxBwnB,EAAexnB,QAAQgmB,EAAItvF,OAnB7B,MAJM8wF,EAAexnB,SACjBwnB,EAAexnB,QAAQgmB,EAAItvF,OAL/B,CAlBA,CA+CF,EACAwxF,mBAAoB,WAClB,IAAK,IAAIX,KAAShoG,KAAKsmG,gBACrB,OAAO,EAET,OAAO,CACT,EACAsC,cAAe,SAA+BZ,GAC5C,OAAOhoG,KAAKsmG,gBAAgB0B,GAAOvB,GACrC,EACAoC,mBAAoB,SAA2Cb,GAC7D,QAAShoG,KAAKsmG,gBAAgB0B,GAAOd,iBACvC,EACA4B,iBAAkB,SAAyCd,GACzD,OAAOA,KAAShoG,KAAKsmG,eACvB,EACAyC,gBAAiB,SAAwCf,GACvD,OAAOA,KAAShoG,KAAKumG,cACvB,EACAyC,iBAAkB,WAChB,IAAK,IAAIhB,KAAShoG,KAAKsmG,gBACrBtmG,KAAKikC,aAAqB,EAAR+jE,EAEtB,EACA/jE,aAAc,SAAqC+jE,GACjD,IAAIvB,EAAMzmG,KAAKsmG,gBAAgB0B,GAAOvB,WAC/BzmG,KAAKsmG,gBAAgB0B,GAC5BvB,EAAIziB,OACN,GAYF7gF,EAAiBnB,UAAY,CAC3BinG,4BAA6B,SAAqDz+D,GAChF,IAAInqC,EAAIL,KAAK0gG,qBAAqBv/E,QAAQqpB,GACtCnqC,GAAK,GACPL,KAAK0gG,qBAAqBzmE,OAAO55B,EAAG,EAExC,EACAssD,cAAe,WAGb,OAFA,EAAIjR,EAAM10C,SAAShH,KAAKwiF,oBACxBxiF,KAAKwiF,mBAAqB,IAAIskB,EAAkC9mG,KAAK6mG,SAAU7mG,KAAK4mG,SAC7E5mG,KAAKwiF,kBACd,EACA/0B,eAAgB,SAAyCr2C,EAAOC,GAC9D,IAAImzB,EAAS,IAAIm9D,EAAmC3nG,KAAK6mG,SAAUzvF,EAAOC,GAG1E,OAFAmzB,EAAOs9D,SAAW9nG,KAAKipG,4BAA4BrnG,KAAK5B,MACxDA,KAAK0gG,qBAAqBroF,KAAKmyB,GACxBA,CACT,EACAiiB,kBAAmB,SAA4C76B,GACzD5xB,KAAKwiF,oBACPxiF,KAAKwiF,mBAAmBl6B,OAAO12B,GAEjC,IAAImyD,EAAU/jF,KAAK0gG,qBAAqBzlF,MAAM,GAC9C8oE,EAAQ98D,SAAQ,SAAUujB,GACxBA,EAAO8d,OAAO12B,EAChB,GACF,GA6BFk1E,EAAkC9kG,UAAY,CAC5CilG,mBAAoB,WAClB,IAAIiC,EAAmBlpG,KAAKunG,eACxB4B,EAAiBnpG,KAAK6mG,SAAS+B,cAAcM,GAC7CnH,EAAoB,SAA2BphG,GACjD,OAAOwoG,EAAepH,kBAAkBphG,EAC1C,EAEIqhG,GAAwB,EAAIjC,EAAekC,kCAAkC,CAC/EF,kBAAmBA,EACnBxB,OAAQvgG,KAAK6mG,SAAStG,OACtBziD,eAAgB99C,KAAKkhG,gBACrB1iD,aAAcx+C,KAAKihG,gBAEjBiB,EAAqBF,EAAsBE,mBAC3CC,EAAkBH,EAAsBG,gBAExCD,IACFliG,KAAKsiF,mBAAoB,GAE3BtiF,KAAKuiF,eAAiB4f,GAAmBniG,KAAKuiF,eAC9CviF,KAAKmjF,WAAY,EAAI4c,EAAeqC,2BAA2BL,GAC/D,IAAIqH,EAAiBppG,KAAK6mG,SACtBuC,EAAeP,mBAAmBK,GACpClpG,KAAKqiF,uBAAwB,EACpBriF,KAAKsiF,mBACd8mB,EAAenlE,aAAailE,GAE9BlpG,KAAKynG,2BAA2B9pF,SAClC,EACAwpF,mBAAoB,SAA6DhvF,GAC/E,GAAInY,KAAKojF,UAAU1rE,OAAS,EAAG,CAC7B,IAAIusE,EAAoBjkF,KAAKojF,UAAUx+C,QACvCq/C,EAAkBtmE,QAAQ,CACxBtc,MAAO8W,EACP0Q,MAAM,GAEV,MACE7oB,KAAK0nG,cAAcrvF,KAAKF,EAE5B,EACAkvF,QAAS,SAAkDvyE,GACrDA,GACF90B,KAAKmnG,mBAAmBryE,EAAK3c,OAE/BnY,KAAKkjF,OAAQ,EACTljF,KAAK0nG,cAAchwF,OAAS,IAGhC1X,KAAKojF,UAAUn8D,SAAQ,SAAUg9D,GAC/BA,EAAkBtmE,QAAQ,CACxBtc,WAAO+G,EACPygB,MAAM,GAEV,IACA7oB,KAAKojF,UAAY,GACnB,EACAkkB,SAAU,SAAmDnwF,GAC3D,IAAIX,EAAMxW,KAAK66C,KACX8S,GAAY,EAAIoyC,EAAe8C,2BAA2B1rF,EAAQX,GACtExW,KAAK8hC,aAAe6rB,EACpB3tD,KAAKynG,2BAA2B7pF,OAAO+vC,GACvC3tD,KAAKojF,UAAUn8D,SAAQ,SAAUg9D,GAC/BA,EAAkBrmE,OAAO+vC,EAC3B,IACA3tD,KAAKojF,UAAY,GACjBpjF,KAAK0nG,cAAgB,EACvB,EACA7kB,YAAa,SAAsD7pE,GAC7DhZ,KAAKwgD,YACPxgD,KAAKwgD,WAAW,CACdc,OAAQtoC,EAAKsoC,OACbuL,MAAO7zC,EAAKqwF,iBAAmBrwF,EAAK6zC,MAAQ7sD,KAAKuiF,gBAGvD,EACI3xB,eACF,OAAO5wD,KAAKmjF,SACd,EACI71B,uBACF,OAAOttD,KAAKsiF,iBACd,EACIj1B,2BACF,OAAOrtD,KAAKqiF,qBACd,EACI90B,oBACF,OAAOvtD,KAAKuiF,cACd,EACIn1B,mBACF,OAAOptD,KAAKynG,2BAA2BhqF,OACzC,EACAqqC,KAAM,WACJ,IAAInuC,EAAOo8D,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASC,IAC7E,IAAI99D,EAAO8rE,EACX,OAAOpO,EAAct5B,QAAQnf,MAAK,SAAkB+4C,GAClD,MAAO,EACL,OAAQA,EAAS7Y,KAAO6Y,EAASxsD,MAC/B,KAAK,EACH,IAAK3pB,KAAK8hC,aAAc,CACtBq0C,EAASxsD,KAAO,EAChB,KACF,CAEA,MAAM3pB,KAAK8hC,aAEb,KAAK,EACH,KAAM9hC,KAAK0nG,cAAchwF,OAAS,GAAI,CACpCy+D,EAASxsD,KAAO,EAChB,KACF,CAGA,OADAxR,EAAQnY,KAAK0nG,cAAc9iE,QACpBuxC,EAASC,OAAO,SAAU,CAC/B/0E,MAAO8W,EACP0Q,MAAM,IAGV,KAAK,EACH,IAAK7oB,KAAKkjF,MAAO,CACf/M,EAASxsD,KAAO,EAChB,KACF,CAEA,OAAOwsD,EAASC,OAAO,SAAU,CAC/B/0E,WAAO+G,EACPygB,MAAM,IAGV,KAAK,EAIH,OAHAo7D,GAAoB,EAAIvoC,EAAM93C,2BAE9B5D,KAAKojF,UAAU/qE,KAAK4rE,GACb9N,EAASC,OAAO,SAAU6N,EAAkBxmE,SAErD,KAAK,GACL,IAAK,MACH,OAAO04D,EAASE,OAGxB,GAAGJ,EAASj2E,KACd,KAEA,SAAS8nD,IACP,OAAOnuC,EAAK7B,MAAM9X,KAAM6c,UAC1B,CAEA,OAAOirC,CACT,CAxDM,GA0DNQ,OAAQ,SAAkD12B,GACxD5xB,KAAKkjF,OAAQ,EACbljF,KAAKynG,2BAA2B7pF,OAAOgU,GACvC5xB,KAAKojF,UAAUn8D,SAAQ,SAAUg9D,GAC/BA,EAAkBtmE,QAAQ,CACxBtc,WAAO+G,EACPygB,MAAM,GAEV,IACA7oB,KAAKojF,UAAY,GACbpjF,KAAK6mG,SAASiC,iBAAiB9oG,KAAKunG,iBACtCvnG,KAAK6mG,SAAS5iE,aAAajkC,KAAKunG,gBAElCvnG,KAAKwiF,mBAAqB,IAC5B,GAeFmlB,EAAmC3lG,UAAY,CAC7CsnG,OAAQ,WACFtpG,KAAK8nG,UACP9nG,KAAK8nG,SAAS9nG,KAElB,EACAqnG,QAAS,SAAmDruF,GAC1D,IAAIb,EAAQa,EAAKb,MACjB,GAAInY,KAAKojF,UAAU1rE,OAAS,EAAG,CAC7B,IAAIusE,EAAoBjkF,KAAKojF,UAAUx+C,QACvCq/C,EAAkBtmE,QAAQ,CACxBtc,MAAO8W,EACP0Q,MAAM,GAEV,MACE7oB,KAAKyjF,aAAetrE,EAEtBnY,KAAKkjF,OAAQ,EACbljF,KAAKojF,UAAUn8D,SAAQ,SAAUg9D,GAC/BA,EAAkBtmE,QAAQ,CACxBtc,WAAO+G,EACPygB,MAAM,GAEV,IACA7oB,KAAKojF,UAAY,GACjBpjF,KAAKspG,QACP,EACAzmB,YAAa,SAAuDj2B,IAC7D5sD,KAAKqtD,sBAAwBrtD,KAAKwgD,YACrCxgD,KAAKwgD,WAAW,CAAEc,OAAQsL,EAAItL,QAElC,EACI+L,2BACF,OAAO,CACT,EACAvF,KAAM,WACJ,IAAIne,EAAQosC,EAAgCF,EAAct5B,QAAQy5B,MAAK,SAASmO,IAC9E,IAAIhsE,EAAO8rE,EACX,OAAOpO,EAAct5B,QAAQnf,MAAK,SAAmBgnD,GACnD,MAAO,EACL,OAAQA,EAAU9mB,KAAO8mB,EAAUz6D,MACjC,KAAK,EACH,GAA4B,OAAtB3pB,KAAKyjF,aAAwB,CACjCW,EAAUz6D,KAAO,EACjB,KACF,CAKA,OAHAxR,EAAQnY,KAAKyjF,aAEbzjF,KAAKyjF,aAAe,KACbW,EAAUhO,OAAO,SAAU,CAChC/0E,MAAO8W,EACP0Q,MAAM,IAGV,KAAK,EACH,IAAK7oB,KAAKkjF,MAAO,CACfkB,EAAUz6D,KAAO,EACjB,KACF,CAEA,OAAOy6D,EAAUhO,OAAO,SAAU,CAChC/0E,WAAO+G,EACPygB,MAAM,IAGV,KAAK,EAIH,OAHAo7D,GAAoB,EAAIvoC,EAAM93C,2BAE9B5D,KAAKojF,UAAU/qE,KAAK4rE,GACbG,EAAUhO,OAAO,SAAU6N,EAAkBxmE,SAEtD,KAAK,EACL,IAAK,MACH,OAAO2mE,EAAU/N,OAGzB,GAAG8N,EAAUnkF,KACf,KAEA,SAAS8nD,IACP,OAAOne,EAAM7xB,MAAM9X,KAAM6c,UAC3B,CAEA,OAAOirC,CACT,CAlDM,GAoDNQ,OAAQ,SAAmD12B,GACzD5xB,KAAKkjF,OAAQ,EACbljF,KAAKojF,UAAUn8D,SAAQ,SAAUg9D,GAC/BA,EAAkBtmE,QAAQ,CACxBtc,WAAO+G,EACPygB,MAAM,GAEV,IACA7oB,KAAKojF,UAAY,GACbpjF,KAAK6mG,SAASiC,iBAAiB9oG,KAAK4nG,aACtC5nG,KAAK6mG,SAAS5iE,aAAajkC,KAAK4nG,YAElC5nG,KAAKspG,QACP,GAEFvpG,EAAQoD,iBAAmBA,EAC3BpD,EAAQkmG,eAAiBA,CAElB,GAEP,G","sources":["webpack://rokk3rfuel/./node_modules/pdfjs-dist/build/pdf.js"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.0.943';\nvar pdfjsBuild = 'dc98bf76';\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\nvar pdfjsDisplayAPI = __w_pdfjs_require__(129);\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(145);\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(146);\nvar pdfjsDisplayDOMUtils = __w_pdfjs_require__(130);\nvar pdfjsDisplaySVG = __w_pdfjs_require__(147);\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(135);\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(132);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(148).PDFNodeStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else if (typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined') {\n var PDFFetchStream = __w_pdfjs_require__(151).PDFFetchStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFFetchStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(152).PDFNetworkStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNetworkStream(params);\n });\n }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.URL = pdfjsSharedUtil.URL;\nexports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDOMUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDOMUtils.loadScript;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.unreachable = exports.warn = exports.utf8StringToString = exports.stringToUTF8String = exports.stringToPDFString = exports.stringToBytes = exports.string32 = exports.shadow = exports.setVerbosityLevel = exports.URL = exports.ReadableStream = exports.removeNullCharacters = exports.readUint32 = exports.readUint16 = exports.readInt8 = exports.log2 = exports.isEvalSupported = exports.isLittleEndian = exports.createValidAbsoluteUrl = exports.isSameOrigin = exports.isSpace = exports.isString = exports.isNum = exports.isEmptyObj = exports.isBool = exports.isArrayBuffer = exports.info = exports.getVerbosityLevel = exports.getLookupTableFactory = exports.getInheritableProperty = exports.deprecated = exports.createObjectURL = exports.createPromiseCapability = exports.bytesToString = exports.assert = exports.arraysToBytes = exports.arrayByteLength = exports.FormatError = exports.XRefParseException = exports.toRomanNumerals = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(125);\n\nvar _url_polyfill = __w_pdfjs_require__(127);\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nvar verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.URL(baseUrl);\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n var other = new _url_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n}\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n return null;\n}\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n return lookup;\n };\n}\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\nvar MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n}();\nvar XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n}();\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\nvar NullCharactersRegExp = /\\x00/g;\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n return str.replace(NullCharactersRegExp, '');\n}\nfunction bytesToString(bytes) {\n assert(bytes !== null && (typeof bytes === 'undefined' ? 'undefined' : _typeof(bytes)) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n var strBuf = [];\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join('');\n}\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n return bytes;\n}\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n var pos = 0;\n var data = new Uint8Array(resultLength);\n for (i = 0; i < ii; i++) {\n item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n return Math.ceil(Math.log2(x));\n}\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === undefined ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === undefined ? true : _ref$stopWhenFound;\n\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values = void 0;\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n if (!values) {\n values = [];\n }\n values.push(value);\n }\n if (++loopCount > LOOP_LIMIT) {\n warn('getInheritableProperty: maximum loop count exceeded for \"' + key + '\"');\n break;\n }\n dict = dict.get('Parent');\n }\n return values;\n}\nvar Util = function UtilClosure() {\n function Util() {}\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n Util.transform = function Util_transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n };\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n };\n Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n };\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n };\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n };\n Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n };\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n return result;\n };\n return Util;\n}();\nvar ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos = void 0,\n romanBuf = [];\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join('');\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n return true;\n}\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\nfunction isNum(v) {\n return typeof v === 'number';\n}\nfunction isString(v) {\n return typeof v === 'string';\n}\nfunction isArrayBuffer(v) {\n return (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === 'object' && v !== null && v.byteLength !== undefined;\n}\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\nfunction createPromiseCapability() {\n var capability = {};\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = resolve;\n capability.reject = reject;\n });\n return capability;\n}\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && _url_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], { type: contentType });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n var buffer = 'data:' + contentType + ';base64,';\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n}();\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nexports.OPS = OPS;\nexports.VerbosityLevel = VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nexports.AnnotationFlag = AnnotationFlag;\nexports.AnnotationType = AnnotationType;\nexports.FontType = FontType;\nexports.ImageKind = ImageKind;\nexports.CMapCompressionType = CMapCompressionType;\nexports.AbortException = AbortException;\nexports.InvalidPDFException = InvalidPDFException;\nexports.MissingDataException = MissingDataException;\nexports.MissingPDFException = MissingPDFException;\nexports.NativeImageDecoding = NativeImageDecoding;\nexports.PasswordException = PasswordException;\nexports.PasswordResponses = PasswordResponses;\nexports.PermissionFlag = PermissionFlag;\nexports.StreamType = StreamType;\nexports.TextRenderingMode = TextRenderingMode;\nexports.UnexpectedResponseException = UnexpectedResponseException;\nexports.UnknownErrorException = UnknownErrorException;\nexports.Util = Util;\nexports.toRomanNumerals = toRomanNumerals;\nexports.XRefParseException = XRefParseException;\nexports.FormatError = FormatError;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createObjectURL = createObjectURL;\nexports.deprecated = deprecated;\nexports.getInheritableProperty = getInheritableProperty;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.ReadableStream = _streams_polyfill.ReadableStream;\nexports.URL = _url_polyfill.URL;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar globalScope = __w_pdfjs_require__(3);\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n var isNodeJS = __w_pdfjs_require__(4);\n var hasDOM = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && (typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object';\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n (function checkCurrentScript() {\n if (!hasDOM) {\n return;\n }\n if ('currentScript' in document) {\n return;\n }\n Object.defineProperty(document, 'currentScript', {\n get: function get() {\n var scripts = document.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n },\n\n enumerable: true,\n configurable: true\n });\n })();\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n var div = document.createElement('div');\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n var originalDOMTokenListToggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token) {\n if (arguments.length > 1) {\n var force = !!arguments[1];\n return this[force ? 'add' : 'remove'](token), force;\n }\n return originalDOMTokenListToggle(token);\n };\n })();\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n __w_pdfjs_require__(5);\n })();\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n __w_pdfjs_require__(33);\n })();\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n __w_pdfjs_require__(42);\n })();\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n Math.log2 = __w_pdfjs_require__(52);\n })();\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = __w_pdfjs_require__(54);\n })();\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = __w_pdfjs_require__(56);\n })();\n (function checkPromise() {\n if (globalScope.Promise) {\n return;\n }\n globalScope.Promise = __w_pdfjs_require__(59);\n })();\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n globalScope.WeakMap = __w_pdfjs_require__(94);\n })();\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n String.codePointAt = __w_pdfjs_require__(111);\n })();\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n String.fromCodePoint = __w_pdfjs_require__(113);\n })();\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n __w_pdfjs_require__(115);\n })();\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n Object.values = __w_pdfjs_require__(122);\n })();\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = function isNodeJS() {\n return (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process + '' === '[object process]';\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(6);\nmodule.exports = __w_pdfjs_require__(9).String.includes;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar context = __w_pdfjs_require__(25);\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(32)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar core = __w_pdfjs_require__(9);\nvar hide = __w_pdfjs_require__(10);\nvar redefine = __w_pdfjs_require__(20);\nvar ctx = __w_pdfjs_require__(23);\nvar PROTOTYPE = 'prototype';\nvar $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\nvar createDesc = __w_pdfjs_require__(19);\nmodule.exports = __w_pdfjs_require__(15) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(15) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = function (it) {\n return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(15) && !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty(__w_pdfjs_require__(17)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar document = __w_pdfjs_require__(8).document;\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(10);\nvar has = __w_pdfjs_require__(21);\nvar SRC = __w_pdfjs_require__(22)('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n__w_pdfjs_require__(9).inspectSource = function (it) {\n return $toString.call(it);\n};\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(26);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar cof = __w_pdfjs_require__(27);\nvar MATCH = __w_pdfjs_require__(28)('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(29)('wks');\nvar uid = __w_pdfjs_require__(22);\nvar _Symbol = __w_pdfjs_require__(8).Symbol;\nvar USE_SYMBOL = typeof _Symbol == 'function';\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n$exports.store = store;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(8);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(30) ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(28)('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n return true;\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(34);\nmodule.exports = __w_pdfjs_require__(9).Array.includes;\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $includes = __w_pdfjs_require__(35)(true);\n$export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__w_pdfjs_require__(41)('includes');\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(36);\nvar toLength = __w_pdfjs_require__(38);\nvar toAbsoluteIndex = __w_pdfjs_require__(40);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(37);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(28)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(10)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(43);\nmodule.exports = __w_pdfjs_require__(9).Object.assign;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S + $export.F, 'Object', { assign: __w_pdfjs_require__(44) });\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar gOPS = __w_pdfjs_require__(49);\nvar pIE = __w_pdfjs_require__(50);\nvar toObject = __w_pdfjs_require__(51);\nvar IObject = __w_pdfjs_require__(37);\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(16)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n }\n }\n return T;\n} : $assign;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(46);\nvar enumBugKeys = __w_pdfjs_require__(48);\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\nvar toIObject = __w_pdfjs_require__(36);\nvar arrayIndexOf = __w_pdfjs_require__(35)(false);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }return result;\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(29)('keys');\nvar uid = __w_pdfjs_require__(22);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(53);\nmodule.exports = __w_pdfjs_require__(9).Math.log2;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(55);\nmodule.exports = __w_pdfjs_require__(9).Number.isNaN;\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(57);\nmodule.exports = __w_pdfjs_require__(9).Number.isInteger;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Number', { isInteger: __w_pdfjs_require__(58) });\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(60);\n__w_pdfjs_require__(62);\n__w_pdfjs_require__(72);\n__w_pdfjs_require__(75);\n__w_pdfjs_require__(92);\n__w_pdfjs_require__(93);\nmodule.exports = __w_pdfjs_require__(9).Promise;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(61);\nvar test = {};\ntest[__w_pdfjs_require__(28)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(20)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nvar TAG = __w_pdfjs_require__(28)('toStringTag');\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(63)(true);\n__w_pdfjs_require__(64)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(30);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar hide = __w_pdfjs_require__(10);\nvar Iterators = __w_pdfjs_require__(65);\nvar $iterCreate = __w_pdfjs_require__(66);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar getPrototypeOf = __w_pdfjs_require__(71);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar returnThis = function returnThis() {\n return this;\n};\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() {\n return $native.call(this);\n };\n }\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(67);\nvar descriptor = __w_pdfjs_require__(19);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar IteratorPrototype = {};\n__w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(28)('iterator'), function () {\n return this;\n});\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar dPs = __w_pdfjs_require__(68);\nvar enumBugKeys = __w_pdfjs_require__(48);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nvar Empty = function Empty() {};\nvar PROTOTYPE = 'prototype';\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(17)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __w_pdfjs_require__(69).appendChild(iframe);\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }return _createDict();\n};\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\nvar anObject = __w_pdfjs_require__(12);\nvar getKeys = __w_pdfjs_require__(45);\nmodule.exports = __w_pdfjs_require__(15) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }return O;\n};\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(8).document;\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(11).f;\nvar has = __w_pdfjs_require__(21);\nvar TAG = __w_pdfjs_require__(28)('toStringTag');\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\nvar toObject = __w_pdfjs_require__(51);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nvar ObjectProto = Object.prototype;\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(73);\nvar getKeys = __w_pdfjs_require__(45);\nvar redefine = __w_pdfjs_require__(20);\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(10);\nvar Iterators = __w_pdfjs_require__(65);\nvar wks = __w_pdfjs_require__(28);\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n}\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(41);\nvar step = __w_pdfjs_require__(74);\nvar Iterators = __w_pdfjs_require__(65);\nvar toIObject = __w_pdfjs_require__(36);\nmodule.exports = __w_pdfjs_require__(64)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(30);\nvar global = __w_pdfjs_require__(8);\nvar ctx = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(61);\nvar $export = __w_pdfjs_require__(7);\nvar isObject = __w_pdfjs_require__(13);\nvar aFunction = __w_pdfjs_require__(24);\nvar anInstance = __w_pdfjs_require__(76);\nvar forOf = __w_pdfjs_require__(77);\nvar speciesConstructor = __w_pdfjs_require__(81);\nvar task = __w_pdfjs_require__(82).set;\nvar microtask = __w_pdfjs_require__(84)();\nvar newPromiseCapabilityModule = __w_pdfjs_require__(85);\nvar perform = __w_pdfjs_require__(86);\nvar userAgent = __w_pdfjs_require__(87);\nvar promiseResolve = __w_pdfjs_require__(88);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function empty() {};\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(28)('species')] = function (exec) {\n exec(empty, empty);\n };\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n}();\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function run(reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;else {\n if (domain) domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) {\n run(chain[i++]);\n }promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n};\nvar $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n};\nif (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n Internal.prototype = __w_pdfjs_require__(89)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n}\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__w_pdfjs_require__(70)($Promise, PROMISE);\n__w_pdfjs_require__(90)(PROMISE);\nWrapper = __w_pdfjs_require__(9)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(91)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n return it;\n};\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar call = __w_pdfjs_require__(78);\nvar isArrayIter = __w_pdfjs_require__(79);\nvar anObject = __w_pdfjs_require__(12);\nvar toLength = __w_pdfjs_require__(38);\nvar getIterFn = __w_pdfjs_require__(80);\nvar BREAK = {};\nvar RETURN = {};\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(65);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar ArrayProto = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(61);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar Iterators = __w_pdfjs_require__(65);\nmodule.exports = __w_pdfjs_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar aFunction = __w_pdfjs_require__(24);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar invoke = __w_pdfjs_require__(83);\nvar html = __w_pdfjs_require__(69);\nvar cel = __w_pdfjs_require__(17);\nvar global = __w_pdfjs_require__(8);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function run() {\n var id = +this;\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function listener(event) {\n run.call(event.data);\n};\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }queue[++counter] = function () {\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n if (__w_pdfjs_require__(27)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n return fn.apply(that, args);\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar macrotask = __w_pdfjs_require__(82).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(27)(process) == 'process';\nmodule.exports = function () {\n var head, last, notify;\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n last = undefined;\n if (parent) parent.enter();\n };\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true });\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n };\n};\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar newPromiseCapability = __w_pdfjs_require__(85);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(20);\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }return target;\n};\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar dP = __w_pdfjs_require__(11);\nvar DESCRIPTORS = __w_pdfjs_require__(15);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () {\n return { done: safe = true };\n };\n arr[ITERATOR] = function () {\n return iter;\n };\n exec(arr);\n } catch (e) {}\n return safe;\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar core = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(8);\nvar speciesConstructor = __w_pdfjs_require__(81);\nvar promiseResolve = __w_pdfjs_require__(88);\n$export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar newPromiseCapability = __w_pdfjs_require__(85);\nvar perform = __w_pdfjs_require__(86);\n$export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n});\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(60);\n__w_pdfjs_require__(72);\n__w_pdfjs_require__(95);\n__w_pdfjs_require__(107);\n__w_pdfjs_require__(109);\nmodule.exports = __w_pdfjs_require__(9).WeakMap;\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar each = __w_pdfjs_require__(96)(0);\nvar redefine = __w_pdfjs_require__(20);\nvar meta = __w_pdfjs_require__(100);\nvar assign = __w_pdfjs_require__(44);\nvar weak = __w_pdfjs_require__(101);\nvar isObject = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(16);\nvar validate = __w_pdfjs_require__(102);\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\nvar methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\nvar $WeakMap = module.exports = __w_pdfjs_require__(103)(WEAK_MAP, wrapper, methods, weak, true, true);\nif (fails(function () {\n return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7;\n})) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n }\n return method.call(this, a, b);\n });\n });\n}\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar IObject = __w_pdfjs_require__(37);\nvar toObject = __w_pdfjs_require__(51);\nvar toLength = __w_pdfjs_require__(38);\nvar asc = __w_pdfjs_require__(97);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n case 5:\n return val;\n case 6:\n return index;\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(98);\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar isArray = __w_pdfjs_require__(99);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar META = __w_pdfjs_require__(22)('meta');\nvar isObject = __w_pdfjs_require__(13);\nvar has = __w_pdfjs_require__(21);\nvar setDesc = __w_pdfjs_require__(11).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__w_pdfjs_require__(16)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\nvar fastKey = function fastKey(it, create) {\n if (!isObject(it)) return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n return it[META].i;\n};\nvar getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n return it[META].w;\n};\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(89);\nvar getWeak = __w_pdfjs_require__(100).getWeak;\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar anInstance = __w_pdfjs_require__(76);\nvar forOf = __w_pdfjs_require__(77);\nvar createArrayMethod = __w_pdfjs_require__(96);\nvar $has = __w_pdfjs_require__(21);\nvar validate = __w_pdfjs_require__(102);\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar redefineAll = __w_pdfjs_require__(89);\nvar meta = __w_pdfjs_require__(100);\nvar forOf = __w_pdfjs_require__(77);\nvar anInstance = __w_pdfjs_require__(76);\nvar isObject = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(16);\nvar $iterDetect = __w_pdfjs_require__(91);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar inheritIfRequired = __w_pdfjs_require__(104);\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n while (index--) {\n $instance[ADDER](index, index);\n }return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar setPrototypeOf = __w_pdfjs_require__(105).set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n return that;\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar anObject = __w_pdfjs_require__(12);\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(23)(Function.call, __w_pdfjs_require__(106).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(50);\nvar createDesc = __w_pdfjs_require__(19);\nvar toIObject = __w_pdfjs_require__(36);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar has = __w_pdfjs_require__(21);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(15) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(108)('WeakMap');\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) {\n A[length] = arguments[length];\n }return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(110)('WeakMap');\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar aFunction = __w_pdfjs_require__(24);\nvar ctx = __w_pdfjs_require__(23);\nvar forOf = __w_pdfjs_require__(77);\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(112);\nmodule.exports = __w_pdfjs_require__(9).String.codePointAt;\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $at = __w_pdfjs_require__(63)(false);\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(114);\nmodule.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar toAbsoluteIndex = __w_pdfjs_require__(40);\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n return res.join('');\n }\n});\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116);\n__w_pdfjs_require__(60);\nmodule.exports = __w_pdfjs_require__(9).Symbol;\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar global = __w_pdfjs_require__(8);\nvar has = __w_pdfjs_require__(21);\nvar DESCRIPTORS = __w_pdfjs_require__(15);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar META = __w_pdfjs_require__(100).KEY;\nvar $fails = __w_pdfjs_require__(16);\nvar shared = __w_pdfjs_require__(29);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar uid = __w_pdfjs_require__(22);\nvar wks = __w_pdfjs_require__(28);\nvar wksExt = __w_pdfjs_require__(117);\nvar wksDefine = __w_pdfjs_require__(118);\nvar enumKeys = __w_pdfjs_require__(119);\nvar isArray = __w_pdfjs_require__(99);\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar toIObject = __w_pdfjs_require__(36);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar createDesc = __w_pdfjs_require__(19);\nvar _create = __w_pdfjs_require__(67);\nvar gOPNExt = __w_pdfjs_require__(120);\nvar $GOPD = __w_pdfjs_require__(106);\nvar $DP = __w_pdfjs_require__(11);\nvar $keys = __w_pdfjs_require__(45);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n }\n return setSymbolDesc(it, key, D);\n }\n return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n return result;\n};\nif (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(121).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(50).f = $propertyIsEnumerable;\n __w_pdfjs_require__(49).f = $getOwnPropertySymbols;\n if (DESCRIPTORS && !__w_pdfjs_require__(30)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\nfor (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n}for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n}$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n});\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }$replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(28);\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar core = __w_pdfjs_require__(9);\nvar LIBRARY = __w_pdfjs_require__(30);\nvar wksExt = __w_pdfjs_require__(117);\nvar defineProperty = __w_pdfjs_require__(11).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar gOPS = __w_pdfjs_require__(49);\nvar pIE = __w_pdfjs_require__(50);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n return result;\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar toIObject = __w_pdfjs_require__(36);\nvar gOPN = __w_pdfjs_require__(121).f;\nvar toString = {}.toString;\nvar windowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(46);\nvar hiddenKeys = __w_pdfjs_require__(48).concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(123);\nmodule.exports = __w_pdfjs_require__(9).Object.values;\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $values = __w_pdfjs_require__(124)(false);\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar toIObject = __w_pdfjs_require__(36);\nvar isEnum = __w_pdfjs_require__(50).f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }return result;\n };\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isReadableStreamSupported = false;\nif (typeof ReadableStream !== 'undefined') {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n}\nif (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n} else {\n exports.ReadableStream = __w_pdfjs_require__(126).ReadableStream;\n}\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof2 = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n})(exports, function (modules) {\n var installedModules = {};\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n __w_pdfjs_require__.d(getter, 'a', getter);\n return getter;\n };\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n };\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n };\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n };\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n };\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n _classCallCheck(this, WritableStream);\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n this._writableStreamController.__startSteps();\n }\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n }\n }]);\n return WritableStream;\n }();\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n var error = new TypeError('Requested to abort');\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n stream._writableStreamController.__errorSteps();\n var storedError = stream._storedError;\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n writeRequest._reject(storedError);\n }\n stream._writeRequests = [];\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n promise.then(function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n writer._closedPromise.catch(function () {});\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n this._closedPromise.catch(function () {});\n }\n }\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n }\n }]);\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n writer._closedPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n writer._readyPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n }]);\n return WritableStreamDefaultController;\n }();\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n if (strategySize === undefined) {\n return 1;\n }\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return;\n }\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n };\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n };\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n _classCallCheck(this, ReadableStream);\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n if (done === true) {\n return;\n }\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n });\n }).then(pipeLoop);\n }\n isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n pipeLoop().catch(function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsReadableStreamLocked(this);\n }\n }]);\n return ReadableStream;\n }();\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n reader._closedPromise.catch(function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n return [branch1Stream, branch2Stream];\n }\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n teeState.closedOrErrored = true;\n }\n if (teeState.closedOrErrored === true) {\n return;\n }\n var value1 = value;\n var value2 = value;\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n return f;\n }\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n _resolve(CreateIterResultObject(undefined, true));\n }\n reader._readRequests = [];\n }\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n readRequest._reject(e);\n }\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n readIntoRequest._reject(e);\n }\n reader._readIntoRequests = [];\n }\n defaultReaderClosedPromiseReject(reader, e);\n reader._closedPromise.catch(function () {});\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n return true;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamDefaultReader;\n }();\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n reader._closedPromise.catch(function () {});\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._closedPromise.catch(function () {});\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n var readableStream = __w_pdfjs_require__(4);\n var writableStream = __w_pdfjs_require__(2);\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n TransformStreamCloseReadableInternal(transformStream);\n }\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n var controller = transformStream._readableController;\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n TransformStreamErrorInternal(transformStream, e);\n }\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n transformStream._readableClosed = true;\n }\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n transformStream._backpressure = backpressure;\n }\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n return Promise.resolve();\n }).catch(function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n return TransformStreamSink;\n }();\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n return TransformStreamSource;\n }();\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n this._controlledTransformStream = transformStream;\n }\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n return TransformStreamDefaultController;\n }();\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, TransformStream);\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise.catch(function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n return this._writable;\n }\n }]);\n return TransformStream;\n }();\n module.exports = { TransformStream: TransformStream };\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n}, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n{\n var isURLSupported = false;\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(128).URL;\n var OriginalURL = __w_pdfjs_require__(3).URL;\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n exports.URL = PolyfillURL;\n }\n}\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n(function URLConstructorClosure() {\n 'use strict';\n\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n return h.toLowerCase();\n }\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n break;\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n if (stateOverride) {\n break loop;\n }\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n break;\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n break;\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n break;\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n break;\n case 'relative':\n this._isRelative = true;\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n this._path.pop();\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n break;\n case 'authority second slash':\n state = 'authority ignore slashes';\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n break;\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n break;\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n seenAt = true;\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n var tempC = percentEscape(cp);\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n break;\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n break;\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n if (stateOverride) {\n break loop;\n }\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n break;\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n buffer = '';\n }\n if (stateOverride) {\n break loop;\n }\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n break;\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n state = 'relative path';\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n break;\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n var tmp;\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n if (buffer === '..') {\n this._path.pop();\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n this._path.push(buffer);\n }\n buffer = '';\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n break;\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n break;\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n break;\n }\n cursor++;\n }\n }\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n var authority = '';\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n get protocol() {\n return this._scheme + ':';\n },\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n parse.call(this, value + ':', 'scheme start');\n },\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'host');\n },\n get hostname() {\n return this._host;\n },\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'hostname');\n },\n get port() {\n return this._port;\n },\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'port');\n },\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._query = '?';\n if (value[0] === '?') {\n value = value.slice(1);\n }\n parse.call(this, value, 'query');\n },\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n this._fragment = '#';\n if (value[0] === '#') {\n value = value.slice(1);\n }\n parse.call(this, value, 'fragment');\n },\n get origin() {\n var host;\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n return 'null';\n }\n host = this.host;\n if (!host) {\n return '';\n }\n return this._scheme + '://' + host;\n }\n };\n exports.URL = JURL;\n})();\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.build = exports.version = exports.setPDFNetworkStreamFactory = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.getDocument = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _font_loader = __w_pdfjs_require__(131);\n\nvar _api_compatibility = __w_pdfjs_require__(132);\n\nvar _canvas = __w_pdfjs_require__(133);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nvar _worker_options = __w_pdfjs_require__(135);\n\nvar _message_handler = __w_pdfjs_require__(136);\n\nvar _metadata = __w_pdfjs_require__(141);\n\nvar _transport_stream = __w_pdfjs_require__(143);\n\nvar _webgl = __w_pdfjs_require__(144);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar fallbackWorkerSrc = void 0;\nvar fakeWorkerFilesLoader = null;\n{\n var useRequireEnsure = false;\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function () {\n return new Promise(function (resolve, reject) {\n require.ensure([], function () {\n try {\n var worker = void 0;\n worker = require('./pdf.worker.js');\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject, 'pdfjsWorker');\n });\n } : dynamicLoaderSupported ? function () {\n return new Promise(function (resolve, reject) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n try {\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n });\n } : null;\n if (!fallbackWorkerSrc && typeof document !== 'undefined') {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n }\n}\nvar createPDFNetworkStream;\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n if (typeof src === 'string') {\n source = { url: src };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n source = src;\n }\n var params = Object.create(null);\n var rangeTransport = null;\n var worker = null;\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new _util.URL(source[key], window.location).href;\n continue;\n } else if (key === 'range') {\n rangeTransport = source[key];\n continue;\n } else if (key === 'worker') {\n worker = source[key];\n continue;\n } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if ((typeof pdfBytes === 'undefined' ? 'undefined' : _typeof(pdfBytes)) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');\n }\n continue;\n }\n params[key] = source[key];\n }\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _dom_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n (0, _util.setVerbosityLevel)(params.verbosity);\n if (!worker) {\n var workerParams = {\n postMessageTransfers: params.postMessageTransfers,\n verbosity: params.verbosity\n };\n var workerPort = _worker_options.GlobalWorkerOptions.workerPort;\n if (workerPort) {\n workerParams.port = workerPort;\n worker = PDFWorker.fromPort(workerParams);\n } else {\n worker = new PDFWorker(workerParams);\n }\n task._worker = worker;\n }\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n var networkStream = void 0;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n }\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.0.943',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n return workerId;\n });\n}\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n function PDFDocumentLoadingTask() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = 'd' + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n PDFDocumentLoadingTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n destroy: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n if (_this._worker) {\n _this._worker.destroy();\n _this._worker = null;\n }\n });\n },\n\n then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport = function () {\n function PDFDataRangeTransport(length, initialData) {\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: 'addRangeListener',\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: 'addProgressListener',\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: 'addProgressiveReadListener',\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: 'onDataRange',\n value: function onDataRange(begin, chunk) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n\n listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'onDataProgress',\n value: function onDataProgress(loaded) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var listener = _step2.value;\n\n listener(loaded);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n }\n }, {\n key: 'onDataProgressiveRead',\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var listener = _step3.value;\n\n listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n }\n }, {\n key: 'transportReady',\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: 'requestDataRange',\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');\n }\n }, {\n key: 'abort',\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nvar PDFDocumentProxy = function () {\n function PDFDocumentProxy(pdfInfo, transport, loadingTask) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this.loadingTask = loadingTask;\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: 'getPage',\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: 'getPageIndex',\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: 'getDestinations',\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: 'getDestination',\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: 'getPageLabels',\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: 'getPageMode',\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: 'getAttachments',\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: 'getJavaScript',\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: 'getOutline',\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: 'getPermissions',\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: 'getData',\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: 'getDownloadInfo',\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: 'getStats',\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: 'cleanup',\n value: function cleanup() {\n this._transport.startCleanup();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: 'numPages',\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: 'fingerprint',\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: 'loadingParams',\n get: function get() {\n return this._transport.loadingParams;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nvar PDFPageProxy = function PDFPageProxyClosure() {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this.transport = transport;\n this._stats = pdfBug ? new _dom_utils.StatTimer() : _dom_utils.DummyStatTimer;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n PDFPageProxy.prototype = {\n get pageNumber() {\n return this.pageIndex + 1;\n },\n get rotate() {\n return this._pageInfo.rotate;\n },\n get ref() {\n return this._pageInfo.ref;\n },\n get userUnit() {\n return this._pageInfo.userUnit;\n },\n get view() {\n return this._pageInfo.view;\n },\n getViewport: function getViewport(scale) {\n var rotate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.rotate;\n var dontFlip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n return new _dom_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotate,\n dontFlip: dontFlip\n });\n },\n\n getAnnotations: function PDFPageProxy_getAnnotations(params) {\n var intent = params && params.intent || null;\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this.transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n },\n render: function PDFPageProxy_render(params) {\n var _this4 = this;\n\n var stats = this._stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = params.intent === 'print' ? 'print' : 'display';\n var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({ enable: params.enableWebGL });\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n if (!intentState.displayReadyCapability) {\n intentState.receivingOperatorList = true;\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n stats.time('Page Request');\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: params.renderInteractiveForms === true\n });\n }\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n if (_this4.cleanupAfterRender) {\n _this4.pendingCleanup = true;\n }\n _this4._tryCleanup();\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory, webGLContext, this._pdfBug);\n internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this4.pendingCleanup) {\n complete();\n return;\n }\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n },\n getOperatorList: function PDFPageProxy_getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n var renderingIntent = 'oplist';\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.receivingOperatorList = true;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n this._stats.time('Page Request');\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n return intentState.opListReadCapability.promise;\n },\n streamTextContent: function streamTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this.transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: params.normalizeWhitespace === true,\n combineTextItems: params.disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n },\n\n getTextContent: function PDFPageProxy_getTextContent(params) {\n params = params || {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref) {\n var _textContent$items;\n\n var value = _ref.value,\n done = _ref.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n pump();\n }, reject);\n }\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n },\n _destroy: function PDFPageProxy_destroy() {\n this.destroyed = true;\n this.transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n if (intent === 'oplist') {\n return;\n }\n var intentState = this.intentStates[intent];\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n },\n cleanup: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.pendingCleanup = true;\n this._tryCleanup(resetStats);\n },\n _tryCleanup: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n }, this)) {\n return;\n }\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n if (resetStats && this._stats instanceof _dom_utils.StatTimer) {\n this._stats = new _dom_utils.StatTimer();\n }\n this.pendingCleanup = false;\n },\n\n _startRenderPage: function PDFPageProxy_startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n },\n _renderPageChunk: function PDFPageProxy_renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n var i, ii;\n for (i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n for (i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n this._tryCleanup();\n }\n },\n get stats() {\n return this._stats instanceof _dom_utils.StatTimer ? this._stats : null;\n }\n };\n return PDFPageProxy;\n}();\n\nvar LoopbackPort = function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: 'postMessage',\n value: function postMessage(obj, transfers) {\n var _this5 = this;\n\n function cloneValue(value) {\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n var result;\n var buffer;\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n if (value === buffer) {\n result = value;\n } else if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n for (var i in value) {\n var desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(this, { data: obj });\n }, this);\n return;\n }\n var cloned = new WeakMap();\n var e = { data: cloneValue(obj) };\n this._deferred.then(function () {\n _this5._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this5);\n });\n }\n }, {\n key: 'addEventListener',\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: 'removeEventListener',\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n }, {\n key: 'terminate',\n value: function terminate() {\n this._listeners = [];\n }\n }]);\n\n return LoopbackPort;\n}();\n\nvar PDFWorker = function PDFWorkerClosure() {\n var nextFakeWorkerId = 0;\n function getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n return null;\n }\n var fakeWorkerFilesLoadedCapability = void 0;\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _dom_utils.loadScript)(getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return _util.URL.createObjectURL(new Blob([wrapper]));\n }\n var pdfWorkerPorts = new WeakMap();\n function PDFWorker() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$name = _ref2.name,\n name = _ref2$name === undefined ? null : _ref2$name,\n _ref2$port = _ref2.port,\n port = _ref2$port === undefined ? null : _ref2$port,\n _ref2$postMessageTran = _ref2.postMessageTransfers,\n postMessageTransfers = _ref2$postMessageTran === undefined ? true : _ref2$postMessageTran,\n _ref2$verbosity = _ref2.verbosity,\n verbosity = _ref2$verbosity === undefined ? (0, _util.getVerbosityLevel)() : _ref2$verbosity;\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = postMessageTransfers !== false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n pdfWorkerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n PDFWorker.prototype = {\n get promise() {\n return this._readyCapability.promise;\n },\n get port() {\n return this._port;\n },\n get messageHandler() {\n return this._messageHandler;\n },\n _initializeFromPort: function PDFWorker_initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);\n this._messageHandler.on('ready', function () {});\n this._readyCapability.resolve();\n },\n _initialize: function PDFWorker_initialize() {\n var _this6 = this;\n\n if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = getWorkerSrc();\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new _util.URL(workerSrc, window.location).href);\n }\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (_this6.destroyed) {\n _this6._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this6._setupFakeWorker();\n }\n };\n var onWorkerError = function onWorkerError() {\n if (!_this6._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n if (data && data.supportTypedArray) {\n _this6._messageHandler = messageHandler;\n _this6._port = worker;\n _this6._webWorker = worker;\n if (!data.supportTransfers) {\n _this6.postMessageTransfers = false;\n }\n _this6._readyCapability.resolve();\n messageHandler.send('configure', { verbosity: _this6.verbosity });\n } else {\n _this6._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch (e) {\n _this6._setupFakeWorker();\n }\n });\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this6.postMessageTransfers ? 255 : 0]);\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.info)('Cannot use postMessage transfers');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n this._setupFakeWorker();\n },\n _setupFakeWorker: function PDFWorker_setupFakeWorker() {\n var _this7 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n return;\n }\n var port = new LoopbackPort();\n _this7._port = port;\n var id = 'fake' + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);\n _this7._messageHandler = messageHandler;\n _this7._readyCapability.resolve();\n }).catch(function (reason) {\n _this7._readyCapability.reject(new Error('Setting up fake worker failed: \"' + reason.message + '\".'));\n });\n },\n destroy: function PDFWorker_destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n };\n PDFWorker.fromPort = function (params) {\n if (!params || !params.port) {\n throw new Error('PDFWorker.fromPort - invalid method signature.');\n }\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n return new PDFWorker(params);\n };\n PDFWorker.getWorkerSrc = function () {\n return getWorkerSrc();\n };\n return PDFWorker;\n}();\n\nvar WorkerTransport = function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader(loadingTask.docId);\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: 'destroy',\n value: function destroy() {\n var _this8 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache = [];\n this.pagePromises = [];\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this8.fontLoader.clear();\n if (_this8._networkStream) {\n _this8._networkStream.cancelAllRequests();\n }\n if (_this8.messageHandler) {\n _this8.messageHandler.destroy();\n _this8.messageHandler = null;\n }\n _this8.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: 'setupMessageHandler',\n value: function setupMessageHandler() {\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n\n messageHandler.on('GetReader', function (data, sink) {\n var _this9 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = function (evt) {\n _this9._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = function () {\n _this9._fullReader.read().then(function (_ref3) {\n var value = _ref3.value,\n done = _ref3.done;\n\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n _this9._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this10 = this;\n\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this10._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this10._lastProgress);\n }\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n }, this);\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(this._networkStream);\n var rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n sink.onPull = function () {\n rangeReader.read().then(function (_ref4) {\n var value = _ref4.value,\n done = _ref4.done;\n\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function (_ref5) {\n var pdfInfo = _ref5.pdfInfo;\n\n this.numPages = pdfInfo.numPages;\n this.pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n loadingTask._capability.resolve(this.pdfDocument);\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this11 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this11._passwordCapability.resolve({ password: password });\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\n messageHandler.on('DataLoaded', function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('StartRenderPage', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page._stats.timeEnd('Page Request');\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function (data) {\n var _this12 = this;\n\n if (this.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (this.commonObjs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'Font':\n var params = this._params;\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)('Error during font loading: ' + exportedError);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n var fontRegistry = null;\n if (params.pdfBug && _global_scope2.default.FontInspector && _global_scope2.default.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope2.default['FontInspector'].fontAdded(font, url);\n }\n };\n }\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry: fontRegistry\n });\n var fontReady = function fontReady(fontObjs) {\n _this12.commonObjs.resolve(id, font);\n };\n this.fontLoader.bind([font], fontReady);\n break;\n case 'FontPath':\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error('Got unknown common object type ' + type);\n }\n }, this);\n messageHandler.on('obj', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = this.pageCache[pageIndex];\n if (pageProxy.objs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n resolve(img);\n };\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n };\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n case 'Image':\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n break;\n default:\n throw new Error('Got unknown object type ' + type);\n }\n }, this);\n messageHandler.on('DocProgress', function (data) {\n if (this.destroyed) {\n return;\n }\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageNum - 1];\n var intentState = page.intentStates[data.intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(data.error);\n } else {\n throw new Error(data.error);\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n }\n }, this);\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n var width = img.width;\n var height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n if (components === 3) {\n for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (var _i = 0, _j = 0; _i < rgbaLength; _i += 4, _j++) {\n buf[_j] = data[_i];\n }\n }\n resolve({\n data: buf,\n width: width,\n height: height\n });\n };\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n };\n img.src = imageUrl;\n });\n }, this);\n messageHandler.on('FetchBuiltInCMap', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n return this.CMapReaderFactory.fetch({ name: data.name });\n }, this);\n }\n }, {\n key: '_onUnsupportedFeature',\n value: function _onUnsupportedFeature(_ref6) {\n var featureId = _ref6.featureId;\n\n if (this.destroyed) {\n return;\n }\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: 'getData',\n value: function getData() {\n return this.messageHandler.sendWithPromise('GetData', null);\n }\n }, {\n key: 'getPage',\n value: function getPage(pageNumber) {\n var _this13 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {\n return Promise.reject(new Error('Invalid page request'));\n }\n var pageIndex = pageNumber - 1;\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error('Transport destroyed');\n }\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.pdfBug);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: 'getPageIndex',\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', { ref: ref }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: 'getAnnotations',\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: 'getDestinations',\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n }\n }, {\n key: 'getDestination',\n value: function getDestination(id) {\n if (typeof id !== 'string') {\n return Promise.reject(new Error('Invalid destination request.'));\n }\n return this.messageHandler.sendWithPromise('GetDestination', { id: id });\n }\n }, {\n key: 'getPageLabels',\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: 'getPageMode',\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: 'getAttachments',\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n }\n }, {\n key: 'getJavaScript',\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n }\n }, {\n key: 'getOutline',\n value: function getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n }\n }, {\n key: 'getPermissions',\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise('GetPermissions', null);\n }\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n var _this14 = this;\n\n return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this14._fullReader ? _this14._fullReader.filename : null\n };\n });\n }\n }, {\n key: 'getStats',\n value: function getStats() {\n return this.messageHandler.sendWithPromise('GetStats', null);\n }\n }, {\n key: 'startCleanup',\n value: function startCleanup() {\n var _this15 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {\n var page = _this15.pageCache[i];\n if (page) {\n page.cleanup();\n }\n }\n _this15.commonObjs.clear();\n _this15.fontLoader.clear();\n });\n }\n }, {\n key: 'loadingParams',\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, 'loadingParams', {\n disableAutoFetch: params.disableAutoFetch,\n disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = function PDFObjectsClosure() {\n function PDFObjects() {\n this.objs = Object.create(null);\n }\n PDFObjects.prototype = {\n ensureObj: function PDFObjects_ensureObj(objId) {\n if (this.objs[objId]) {\n return this.objs[objId];\n }\n var obj = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n this.objs[objId] = obj;\n return obj;\n },\n get: function PDFObjects_get(objId, callback) {\n if (callback) {\n this.ensureObj(objId).capability.promise.then(callback);\n return null;\n }\n var obj = this.objs[objId];\n if (!obj || !obj.resolved) {\n throw new Error('Requesting object that isn\\'t resolved yet ' + objId);\n }\n return obj.data;\n },\n resolve: function PDFObjects_resolve(objId, data) {\n var obj = this.ensureObj(objId);\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n },\n isResolved: function PDFObjects_isResolved(objId) {\n var objs = this.objs;\n if (!objs[objId]) {\n return false;\n }\n return objs[objId].resolved;\n },\n hasData: function PDFObjects_hasData(objId) {\n return this.isResolved(objId);\n },\n getData: function PDFObjects_getData(objId) {\n var objs = this.objs;\n if (!objs[objId] || !objs[objId].resolved) {\n return null;\n }\n return objs[objId].data;\n },\n clear: function PDFObjects_clear() {\n this.objs = Object.create(null);\n }\n };\n return PDFObjects;\n}();\nvar RenderTask = function RenderTaskClosure() {\n function RenderTask(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n RenderTask.prototype = {\n get promise() {\n return this._internalRenderTask.capability.promise;\n },\n cancel: function RenderTask_cancel() {\n this._internalRenderTask.cancel();\n },\n then: function RenderTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return RenderTask;\n}();\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakMap();\n function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory, webGLContext) {\n var pdfBug = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this.pageNumber = pageNumber;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this.useRequestAnimationFrame = false;\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n InternalRenderTask.prototype = {\n initializeGraphics: function initializeGraphics(transparency) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n }\n canvasInRendering.set(this._canvas, this);\n }\n if (this._pdfBug && _global_scope2.default.StepperManager && _global_scope2.default.StepperManager.enabled) {\n this.stepper = _global_scope2.default.StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n var params = this.params;\n this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, params.imageLayer);\n this.gfx.beginDrawing({\n transform: params.transform,\n viewport: params.viewport,\n transparency: transparency,\n background: params.background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n },\n\n cancel: function InternalRenderTask_cancel() {\n this.running = false;\n this.cancelled = true;\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback(new _dom_utils.RenderingCancelledException('Rendering cancelled, page ' + this.pageNumber, 'canvas'));\n },\n operatorListChanged: function InternalRenderTask_operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n return;\n }\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n if (this.running) {\n return;\n }\n this._continue();\n },\n _continue: function InternalRenderTask__continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n },\n _scheduleNext: function InternalRenderTask__scheduleNext() {\n var _this16 = this;\n\n if (this.useRequestAnimationFrame && typeof window !== 'undefined') {\n window.requestAnimationFrame(function () {\n _this16._nextBound().catch(_this16.callback);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.callback);\n }\n },\n _next: function InternalRenderTask__next() {\n var _this17 = this;\n\n return new Promise(function () {\n if (_this17.cancelled) {\n return;\n }\n _this17.operatorListIdx = _this17.gfx.executeOperatorList(_this17.operatorList, _this17.operatorListIdx, _this17._continueBound, _this17.stepper);\n if (_this17.operatorListIdx === _this17.operatorList.argsArray.length) {\n _this17.running = false;\n if (_this17.operatorList.lastChunk) {\n _this17.gfx.endDrawing();\n if (_this17._canvas) {\n canvasInRendering.delete(_this17._canvas);\n }\n _this17.callback();\n }\n }\n });\n }\n };\n return InternalRenderTask;\n}();\nvar version, build;\n{\n exports.version = version = '2.0.943';\n exports.build = build = 'dc98bf76';\n}\nexports.getDocument = getDocument;\nexports.LoopbackPort = LoopbackPort;\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nexports.PDFWorker = PDFWorker;\nexports.PDFDocumentProxy = PDFDocumentProxy;\nexports.PDFPageProxy = PDFPageProxy;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.version = version;\nexports.build = build;\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadScript = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.getFilenameFromUrl = exports.addLinkAttributes = exports.RenderingCancelledException = exports.PageViewport = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory = function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: 'create',\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: 'reset',\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: 'destroy',\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n}();\n\nvar DOMCMapReaderFactory = function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === undefined ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === undefined ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: 'fetch',\n value: function fetch(_ref2) {\n var _this = this;\n\n var name = _ref2.name;\n\n if (!this.baseUrl) {\n return Promise.reject(new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'));\n }\n if (!name) {\n return Promise.reject(new Error('CMap name must be specified.'));\n }\n return new Promise(function (resolve, reject) {\n var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n var data = void 0;\n if (_this.isCompressed && request.response) {\n data = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve({\n cMapData: data,\n compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n });\n return;\n }\n }\n reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n };\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nvar DOMSVGFactory = function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: 'create',\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttribute('version', '1.1');\n svg.setAttribute('width', width + 'px');\n svg.setAttribute('height', height + 'px');\n svg.setAttribute('preserveAspectRatio', 'none');\n svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n return svg;\n }\n }, {\n key: 'createElement',\n value: function createElement(type) {\n (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nvar PageViewport = function () {\n function PageViewport(_ref3) {\n var viewBox = _ref3.viewBox,\n scale = _ref3.scale,\n rotation = _ref3.rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === undefined ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === undefined ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === undefined ? false : _ref3$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA = void 0,\n rotateB = void 0,\n rotateC = void 0,\n rotateD = void 0;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n var offsetCanvasX = void 0,\n offsetCanvasY = void 0;\n var width = void 0,\n height = void 0;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: 'clone',\n value: function clone() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$scale = _ref4.scale,\n scale = _ref4$scale === undefined ? this.scale : _ref4$scale,\n _ref4$rotation = _ref4.rotation,\n rotation = _ref4$rotation === undefined ? this.rotation : _ref4$rotation,\n _ref4$dontFlip = _ref4.dontFlip,\n dontFlip = _ref4$dontFlip === undefined ? false : _ref4$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: this.offsetX,\n offsetY: this.offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: 'convertToViewportPoint',\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: 'convertToViewportRectangle',\n value: function convertToViewportRectangle(rect) {\n var tl = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n var br = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [tl[0], tl[1], br[0], br[1]];\n }\n }, {\n key: 'convertToPdfPoint',\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nvar RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n}();\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\nfunction addLinkAttributes(link) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref5.url,\n target = _ref5.target,\n rel = _ref5.rel;\n\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n if (url) {\n var LinkTargetValues = Object.values(LinkTarget);\n var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;\n link.target = LinkTargetStringMap[targetIndex];\n link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;\n }\n}\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n}\n\nvar StatTimer = function () {\n function StatTimer() {\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, StatTimer);\n\n this.enabled = !!enable;\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: 'time',\n value: function time(name) {\n if (!this.enabled) {\n return;\n }\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\n this.started[name] = Date.now();\n }\n }, {\n key: 'timeEnd',\n value: function timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + name);\n }\n this.times.push({\n 'name': name,\n 'start': this.started[name],\n 'end': Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: 'toString',\n value: function toString() {\n var times = this.times;\n var out = '',\n longest = 0;\n for (var i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (var _i = 0, _ii = times.length; _i < _ii; ++_i) {\n var span = times[_i];\n var duration = span.end - span.start;\n out += span['name'].padEnd(longest) + ' ' + duration + 'ms\\n';\n }\n return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nvar DummyStatTimer = function () {\n function DummyStatTimer() {\n _classCallCheck(this, DummyStatTimer);\n\n (0, _util.unreachable)('Cannot initialize DummyStatTimer.');\n }\n\n _createClass(DummyStatTimer, null, [{\n key: 'time',\n value: function time(name) {}\n }, {\n key: 'timeEnd',\n value: function timeEnd(name) {}\n }, {\n key: 'toString',\n value: function toString() {\n return '';\n }\n }]);\n\n return DummyStatTimer;\n}();\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n script.onerror = function () {\n reject(new Error('Cannot load script at: ' + script.src));\n };\n (document.head || document.documentElement).appendChild(script);\n });\n}\nexports.PageViewport = PageViewport;\nexports.RenderingCancelledException = RenderingCancelledException;\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.LinkTarget = LinkTarget;\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nexports.DOMCanvasFactory = DOMCanvasFactory;\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nexports.DOMSVGFactory = DOMSVGFactory;\nexports.StatTimer = StatTimer;\nexports.DummyStatTimer = DummyStatTimer;\nexports.loadScript = loadScript;\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar BaseFontLoader = function () {\n function BaseFontLoader(docId) {\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n this.docId = docId;\n this.nativeFontFaces = [];\n this.styleElement = null;\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n }\n\n _createClass(BaseFontLoader, [{\n key: 'addNativeFontFace',\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: 'insertRule',\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = 'PDFJS_FONT_STYLE_TAG_' + this.docId;\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: 'bind',\n value: function bind(fonts, callback) {\n var rules = [];\n var fontsToLoad = [];\n var fontLoadPromises = [];\n var getNativeFontPromise = function getNativeFontPromise(nativeFontFace) {\n return nativeFontFace.loaded.catch(function (reason) {\n (0, _util.warn)('Failed to load font \"' + nativeFontFace.family + '\": ' + reason);\n });\n };\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = fonts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var font = _step.value;\n\n if (font.attached || font.missingFile) {\n continue;\n }\n font.attached = true;\n if (this.isFontLoadingAPISupported) {\n var nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n fontLoadPromises.push(getNativeFontPromise(nativeFontFace));\n }\n } else {\n var rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n rules.push(rule);\n fontsToLoad.push(font);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var request = this._queueLoadingCallback(callback);\n if (this.isFontLoadingAPISupported) {\n Promise.all(fontLoadPromises).then(request.complete);\n } else if (rules.length > 0 && !this.isSyncFontLoadingSupported) {\n this._prepareFontLoadEvent(rules, fontsToLoad, request);\n } else {\n request.complete();\n }\n }\n }, {\n key: '_queueLoadingCallback',\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, 'completeRequest() cannot be called twice.');\n request.done = true;\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n var context = this.loadingContext;\n var request = {\n id: 'pdfjs-font-loading-' + context.nextRequestId++,\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: '_prepareFontLoadEvent',\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');\n }\n }, {\n key: 'isFontLoadingAPISupported',\n get: function get() {\n (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');\n }\n }, {\n key: 'isSyncFontLoadingSupported',\n get: function get() {\n (0, _util.unreachable)('Abstract method `isSyncFontLoadingSupported`.');\n }\n }, {\n key: '_loadTestFont',\n get: function get() {\n (0, _util.unreachable)('Abstract method `_loadTestFont`.');\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader = void 0;\n{\n exports.FontLoader = FontLoader = function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n _classCallCheck(this, GenericFontLoader);\n\n var _this = _possibleConstructorReturn(this, (GenericFontLoader.__proto__ || Object.getPrototypeOf(GenericFontLoader)).call(this, docId));\n\n _this.loadTestFontId = 0;\n return _this;\n }\n\n _createClass(GenericFontLoader, [{\n key: '_prepareFontLoadEvent',\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n var i = void 0,\n ii = void 0;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n function isFontReady(name, callback) {\n called++;\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n var loadTestFontId = 'lt' + Date.now() + this.loadTestFontId++;\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = 'url(data:font/opentype;base64,' + btoa(data) + ');';\n var rule = '@font-face {font-family:\"' + loadTestFontId + '\";src:' + url + '}';\n this.insertRule(rule);\n var names = [];\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: 'isFontLoadingAPISupported',\n get: function get() {\n var supported = typeof document !== 'undefined' && !!document.fonts;\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\n }\n }, {\n key: 'isSyncFontLoadingSupported',\n get: function get() {\n var supported = false;\n if (typeof navigator === 'undefined') {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n return (0, _util.shadow)(this, 'isSyncFontLoadingSupported', supported);\n }\n }, {\n key: '_loadTestFont',\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA' + 'FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA' + 'ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA' + 'AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1' + 'AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD' + '6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM' + 'AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D' + 'IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA' + 'AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA' + 'AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB' + 'AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY' + 'AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA' + 'AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA' + 'AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC' + 'AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3' + 'Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj' + 'FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==');\n };\n return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n};\n\nvar FontFaceObject = function () {\n function FontFaceObject(translatedData, _ref) {\n var _ref$isEvalSupported = _ref.isEvalSupported,\n isEvalSupported = _ref$isEvalSupported === undefined ? true : _ref$isEvalSupported,\n _ref$disableFontFace = _ref.disableFontFace,\n disableFontFace = _ref$disableFontFace === undefined ? false : _ref$disableFontFace,\n _ref$ignoreErrors = _ref.ignoreErrors,\n ignoreErrors = _ref$ignoreErrors === undefined ? false : _ref$ignoreErrors,\n _ref$onUnsupportedFea = _ref.onUnsupportedFeature,\n onUnsupportedFeature = _ref$onUnsupportedFea === undefined ? null : _ref$onUnsupportedFea,\n _ref$fontRegistry = _ref.fontRegistry,\n fontRegistry = _ref$fontRegistry === undefined ? null : _ref$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: 'createNativeFontFace',\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n return nativeFontFace;\n }\n }, {\n key: 'createFontFaceRule',\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = 'url(data:' + this.mimetype + ';base64,' + btoa(data) + ');';\n var rule = '@font-face {font-family:\"' + this.loadedName + '\";src:' + url + '}';\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n return rule;\n }\n }, {\n key: 'getPathGenerator',\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n var cmds = void 0,\n current = void 0;\n try {\n cmds = objs.get(this.loadedName + '_path_' + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({ featureId: _util.UNSUPPORTED_FEATURES.font });\n }\n (0, _util.warn)('getPathGenerator - ignoring character: \"' + ex + '\".');\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n var args = void 0,\n js = '';\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n return this.compiledGlyphs[character] = new Function('c', 'size', js);\n }\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\nexports.FontLoader = FontLoader;\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar compatibilityParams = Object.create(null);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n (function checkFontFaceAndImage() {\n if (isNodeJS()) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = 'none';\n }\n })();\n}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(134);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n};\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, 'mozCurrentTransform', {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n this._transformStack.push(old);\n this._transformMatrix = old.slice(0, 6);\n this._originalSave();\n };\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n if (prev) {\n this._transformMatrix = prev;\n this._originalRestore();\n }\n };\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n this._originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n this._originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n ctx._originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n this._originalRotate(angle);\n };\n }\n}\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n var count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n do {\n var step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n --count;\n } while (p0 !== p);\n outlines.push(coords);\n --i;\n }\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n c.fill();\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n this._cachedGetSinglePixelWidth = null;\n }\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xFFFFFFFF;\n var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error('bad image kind: ' + imgData.kind);\n }\n }\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = '#000000';\n ctx.fillStyle = '#000000';\n ctx.fillRule = 'nonzero';\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = '10px sans-serif';\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n transparency = _ref.transparency,\n _ref$background = _ref.background,\n background = _ref$background === undefined ? null : _ref$background;\n\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || 'rgb(255, 255, 255)';\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var depObjId = deps[n];\n var common = depObjId[0] === 'g' && depObjId[1] === '_';\n var objsPool = common ? commonObjs : objs;\n if (!objsPool.isResolved(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {},\n setFlatness: function CanvasGraphics_setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'RI':\n this.setRenderingIntent(value);\n break;\n case 'FL':\n this.setFlatness(value);\n break;\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n this.current.activeSMask = value ? this.tempSMask : null;\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.globalAlpha = this.current.strokeAlpha;\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n if (consumePath) {\n this.consumePath();\n }\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n if (isPatternFill) {\n ctx.save();\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n if (!fontObj) {\n throw new Error('Can\\'t find font for ' + fontRefName);\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = '\"' + name + '\", ' + fontObj.fallbackName;\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n this.current.fontSizeScale = size / browserFontSize;\n var rule = italic + ' ' + bold + ' ' + browserFontSize + 'px ' + typeface;\n this.ctx.font = rule;\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && font.data;\n var addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var ctx = this.canvasFactory.create(10, 10).context;\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform = void 0;\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)('Type3 character \"' + glyph.operatorListId + '\" is not available.');\n continue;\n }\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n if (IR[0] === 'TilingPattern') {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n var bl = _util.Util.applyTransform([0, 0], inv);\n var br = _util.Util.applyTransform([0, height], inv);\n var ul = _util.Util.applyTransform([width, 0], inv);\n var ur = _util.Util.applyTransform([width, height], inv);\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n this.baseTransform = this.ctx.mozCurrentTransform;\n if (Array.isArray(bbox) && bbox.length === 4) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n var currentTransform = currentCtx.mozCurrentTransform;\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n var cacheId = 'groupAt' + this.groupLevel;\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.objs.get(objId);\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n this.pendingClip = null;\n }\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n return this._cachedGetSinglePixelWidth;\n },\n\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n return CanvasGraphics;\n}();\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TilingPattern = exports.getShadingPatternFromIR = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar ShadingIRs = {};\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var colorStops = raw[2];\n var p0 = raw[3];\n var p1 = raw[4];\n var r0 = raw[5];\n var r1 = raw[6];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n var grad;\n if (type === 'axial') {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === 'radial') {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n return grad;\n }\n };\n }\n};\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n var k;\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n k = k < 0 ? 0 : k > 1 ? 1 : k;\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n switch (figure.type) {\n case 'lattice':\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case 'triangles':\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error('illegal figure');\n }\n }\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n var bytes = data.data;\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n return createMeshCanvas;\n}();\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n var scale;\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n};\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n if (!shadingIR) {\n throw new Error('Unknown IR type: ' + raw[0]);\n }\n return shadingIR.fromIR(raw);\n}\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n var topLeft = [x0, y0];\n var botRight = [x0 + xstep, y0 + ystep];\n var width = botRight[0] - topLeft[0];\n var height = botRight[1] - topLeft[1];\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n this.setScale(width, height, xstep, ystep);\n this.transformToScale(graphics);\n var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n graphics.transform.apply(graphics, tmpTranslate);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n return tmpCanvas.canvas;\n },\n setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n this.scale = [width / xstep, height / ystep];\n },\n transformToScale: function TilingPattern_transformToScale(graphics) {\n var scale = this.scale;\n var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n graphics.transform.apply(graphics, tmpScale);\n },\n scaleToContext: function TilingPattern_scaleToContext() {\n var scale = this.scale;\n this.ctx.scale(1 / scale[0], 1 / scale[1]);\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError('Unsupported paint type: ' + paintType);\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n this.scaleToContext();\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GlobalWorkerOptions = Object.create(null);\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar resolveCall = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(fn, args) {\n var thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (fn) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt('return');\n\n case 2:\n return _context.abrupt('return', fn.apply(thisArg, args));\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function resolveCall(_x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction wrapReason(reason) {\n if ((typeof reason === 'undefined' ? 'undefined' : _typeof(reason)) !== 'object') {\n return reason;\n }\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n}\nfunction makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n return new _util.UnknownErrorException(reason.message, reason.toString());\n}\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\nfunction finalize(promise) {\n return Promise.resolve(promise).catch(function () {});\n}\nfunction MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n if (data.targetName !== _this.sourceName) {\n return;\n }\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error('Cannot resolve callback ' + callbackId);\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error('Unknown action from worker: ' + data.action);\n }\n };\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error('There is already an actionName called \"' + actionName + '\"');\n }\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n return capability.promise;\n },\n sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n return new _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = (0, _util.createPromiseCapability)();\n var sendStreamRequest = function sendStreamRequest(_ref2) {\n var stream = _ref2.stream,\n chunk = _ref2.chunk,\n transfers = _ref2.transfers,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments[2];\n\n if (this.isCancelled) {\n return;\n }\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({ stream: 'close' });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n var sendStreamResponse = function sendStreamResponse(_ref3) {\n var stream = _ref3.stream,\n success = _ref3.success,\n reason = _ref3.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n break;\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n case 'error':\n (0, _util.assert)(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: function postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n },\n destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n};\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(138);\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar g = function () {\n return this;\n}() || Function(\"return this\")();\nvar hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\ng.regeneratorRuntime = undefined;\nmodule.exports = __w_pdfjs_require__(139);\nif (hadRuntime) {\n g.regeneratorRuntime = oldRuntime;\n} else {\n try {\n delete g.regeneratorRuntime;\n } catch (e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n!function (global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n var inModule = ( false ? undefined : _typeof(module)) === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n module.exports = runtime;\n }\n return;\n }\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n runtime.wrap = wrap;\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n runtime.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n runtime.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n runtime.awrap = function (arg) {\n return { __await: arg };\n };\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value && (typeof value === \"undefined\" ? \"undefined\" : _typeof(value)) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n var previousPromise;\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n this._invoke = enqueue;\n }\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n runtime.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return runtime.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n return doneResult();\n }\n context.method = method;\n context.arg = arg;\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n if (record.arg === ContinueSentinel) {\n continue;\n }\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n context.delegate = null;\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n return ContinueSentinel;\n }\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n var info = record.arg;\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n context.delegate = null;\n return ContinueSentinel;\n }\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n Gp[iteratorSymbol] = function () {\n return this;\n };\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n runtime.keys = function (object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n next.done = true;\n return next;\n };\n };\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n next.value = undefined;\n next.done = true;\n return next;\n };\n return next.next = next;\n }\n }\n return { next: doneResult };\n }\n runtime.values = values;\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n return !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n return ContinueSentinel;\n }\n };\n}(function () {\n return this;\n}() || Function(\"return this\")());\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(140)(module)))\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n return module;\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(142);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Metadata = function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadata = Object.create(null);\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: '_repair',\n value: function _repair(data) {\n return data.replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case 'amp':\n return '&';\n case 'apos':\n return '\\'';\n case 'gt':\n return '>';\n case 'lt':\n return '<';\n case 'quot':\n return '\\\"';\n }\n throw new Error('_repair: ' + name + ' isn\\'t defined.');\n });\n var chars = '';\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n }\n }\n return '>' + chars;\n });\n }\n }, {\n key: '_parse',\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n var children = rdf.childNodes;\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\n }\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== '#text') {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n this._metadata[name] = entry.textContent.trim();\n }\n }\n }\n }\n }, {\n key: 'get',\n value: function get(name) {\n return this._metadata[name] || null;\n }\n }, {\n key: 'getAll',\n value: function getAll() {\n return this._metadata;\n }\n }, {\n key: 'has',\n value: function has(name) {\n return typeof this._metadata[name] !== 'undefined';\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n}\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n return true;\n}\n\nvar XMLParserBase = function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: '_resolveEntities',\n value: function _resolveEntities(s) {\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === '#x') {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === '#') {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n switch (entity) {\n case 'lt':\n return '<';\n case 'gt':\n return '>';\n case 'amp':\n return '&';\n case 'quot':\n return '\\\"';\n }\n return this.onResolveEntity(entity);\n });\n }\n }, {\n key: '_parseContent',\n value: function _parseContent(s, start) {\n var pos = start,\n name = void 0,\n attributes = [];\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n name = s.substring(start, pos);\n skipWs();\n while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {\n skipWs();\n var attrName = '',\n attrValue = '';\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {\n attrName += s[pos];\n ++pos;\n }\n skipWs();\n if (s[pos] !== '=') {\n return null;\n }\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n if (attrEndChar !== '\\\"' && attrEndChar !== '\\'') {\n return null;\n }\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n if (attrEndIndex < 0) {\n return null;\n }\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: '_parseProcessingInstruction',\n value: function _parseProcessingInstruction(s, start) {\n var pos = start,\n name = void 0,\n value = void 0;\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {\n ++pos;\n }\n value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: 'parseXml',\n value: function parseXml(s) {\n var i = 0;\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n if (ch === '<') {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n switch (ch2) {\n case '/':\n ++j;\n q = s.indexOf('>', j);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n case '?':\n ++j;\n var pi = this._parseProcessingInstruction(s, j);\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n case '!':\n if (s.substring(j + 1, j + 3) === '--') {\n q = s.indexOf('-->', j + 3);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === '[CDATA[') {\n q = s.indexOf(']]>', j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {\n var q2 = s.indexOf('[', j + 8);\n var complexDoctype = false;\n q = s.indexOf('>', j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n if (q2 > 0 && q > q2) {\n q = s.indexOf(']>', j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n complexDoctype = true;\n }\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n break;\n default:\n var content = this._parseContent(s, j);\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n var isClosed = false;\n if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== '<') {\n j++;\n }\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n i = j;\n }\n }\n }, {\n key: 'onResolveEntity',\n value: function onResolveEntity(name) {\n return '&' + name + ';';\n }\n }, {\n key: 'onPi',\n value: function onPi(name, value) {}\n }, {\n key: 'onComment',\n value: function onComment(text) {}\n }, {\n key: 'onCdata',\n value: function onCdata(text) {}\n }, {\n key: 'onDoctype',\n value: function onDoctype(doctypeContent) {}\n }, {\n key: 'onText',\n value: function onText(text) {}\n }, {\n key: 'onBeginElement',\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: 'onEndElement',\n value: function onEndElement(name) {}\n }, {\n key: 'onError',\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode = function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, 'parentNode', {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: 'hasChildNodes',\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: 'firstChild',\n get: function get() {\n return this.childNodes[0];\n }\n }, {\n key: 'nextSibling',\n get: function get() {\n var index = this.parentNode.childNodes.indexOf(this);\n return this.parentNode.childNodes[index + 1];\n }\n }, {\n key: 'textContent',\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || '';\n }\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join('');\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n function SimpleXMLParser() {\n _classCallCheck(this, SimpleXMLParser);\n\n var _this = _possibleConstructorReturn(this, (SimpleXMLParser.__proto__ || Object.getPrototypeOf(SimpleXMLParser)).call(this));\n\n _this._currentFragment = null;\n _this._stack = null;\n _this._errorCode = XMLParserErrorCode.NoError;\n return _this;\n }\n\n _createClass(SimpleXMLParser, [{\n key: 'parseFromString',\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _currentFragment = _slicedToArray(this._currentFragment, 1),\n documentElement = _currentFragment[0];\n\n if (!documentElement) {\n return undefined;\n }\n return { documentElement: documentElement };\n }\n }, {\n key: 'onResolveEntity',\n value: function onResolveEntity(name) {\n switch (name) {\n case 'apos':\n return '\\'';\n }\n return _get(SimpleXMLParser.prototype.__proto__ || Object.getPrototypeOf(SimpleXMLParser.prototype), 'onResolveEntity', this).call(this, name);\n }\n }, {\n key: 'onText',\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n var node = new SimpleDOMNode('#text', text);\n this._currentFragment.push(node);\n }\n }, {\n key: 'onCdata',\n value: function onCdata(text) {\n var node = new SimpleDOMNode('#text', text);\n this._currentFragment.push(node);\n }\n }, {\n key: 'onBeginElement',\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n this._currentFragment.push(node);\n if (isEmpty) {\n return;\n }\n this._stack.push(this._currentFragment);\n this._currentFragment = node.childNodes;\n }\n }, {\n key: 'onEndElement',\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop();\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: 'onError',\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n var initialData = params.initialData;\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener(function (loaded) {\n _this._onProgress({ loaded: loaded });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({ chunk: chunk });\n });\n this._pdfDataRangeTransport.transportReady();\n }\n PDFDataTransportStream.prototype = {\n _onReceiveData: function PDFDataTransportStream_onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found);\n }\n },\n _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n if (this._rangeReaders.length > 0) {\n var firstReader = this._rangeReaders[0];\n if (firstReader.onProgress) {\n firstReader.onProgress({ loaded: evt.loaded });\n }\n }\n },\n _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFDataTransportStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks);\n },\n getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeReaders.slice(0);\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n this._pdfDataRangeTransport.abort();\n }\n };\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n this._stream = stream;\n this._done = false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n PDFDataTransportStreamReader.prototype = {\n _enqueue: function PDFDataTransportStreamReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n return;\n }\n this._queuedChunks.push(chunk);\n },\n get headersReady() {\n return this._headersReady;\n },\n get filename() {\n return this._filename;\n },\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n },\n get contentLength() {\n return this._stream._contentLength;\n },\n read: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt('return', {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n return _context.abrupt('return', requestCapability.promise);\n\n case 8:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _ref.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFDataTransportStreamReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n };\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n PDFDataTransportStreamRangeReader.prototype = {\n _enqueue: function PDFDataTransportStreamRangeReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n },\n get isStreamingSupported() {\n return false;\n },\n read: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n\n this._queuedChunk = null;\n return _context2.abrupt('return', {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n return _context2.abrupt('return', requestCapability.promise);\n\n case 9:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _ref2.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFDataTransportStreamRangeReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._stream._removeRangeReader(this);\n }\n };\n return PDFDataTransportStream;\n}();\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar WebGLContext = function () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === undefined ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: 'composeSMask',\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: 'drawFigures',\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: 'clear',\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: 'isEnabled',\n get: function get() {\n var enabled = this._enabled;\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n return shader;\n }\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n return program;\n }\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n var currentGL, currentCanvas;\n function generateGL() {\n if (currentGL) {\n return;\n }\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', { premultipliedalpha: false });\n }\n var smaskVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } ';\n var smaskFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } ';\n var smaskCache = null;\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n if (!smaskCache) {\n initSmaskGL();\n }\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n var figuresVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } ';\n var figuresFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } ';\n var figuresCache = null;\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n figuresCache = cache;\n }\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case 'lattice':\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\n }\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n break;\n case 'triangles':\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n break;\n }\n }\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n return false;\n },\n\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\nexports.WebGLContext = WebGLContext;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('div');\n var textDivProperties = {\n style: null,\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n task._textDivs.push(textDiv);\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n task._textDivProperties.set(textDiv, textDivProperties);\n return;\n }\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n var left;\n var top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n styleBuf[1] = left;\n styleBuf[3] = top;\n styleBuf[5] = fontHeight;\n styleBuf[7] = style.fontFamily;\n textDivProperties.style = styleBuf.join('');\n textDiv.setAttribute('style', textDivProperties.style);\n textDiv.textContent = geom.str;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n function render(task) {\n if (task._canceled) {\n return;\n }\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n task._renderingDone = true;\n capability.resolve();\n }\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n var divProperties = task._textDivProperties.get(div);\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n task._textDivProperties.set(div, divProperties);\n continue;\n }\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n return result;\n };\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n task._textDivProperties.set(div, divProperties);\n }\n }\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n var j = horizon.length - 1;\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n boundary.x1New = maxXNew;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n var changedHorizon = [],\n lastBoundary = null;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n var used = false;\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n function TextLayerRenderTask(_ref) {\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(_global_scope2.default.FontInspector && _global_scope2.default.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n }\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n cancel: function TextLayer_cancel() {\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n this._reader = null;\n }\n this._canceled = true;\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n this._capability.reject('canceled');\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textLayerFrag = this._container;\n var textDivProperties = this._textDivProperties.get(textDiv);\n if (textDivProperties.isWhitespace) {\n return;\n }\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n var transform = '';\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = 'scaleX(' + textDivProperties.scale + ')';\n }\n if (textDivProperties.angle !== 0) {\n transform = 'rotate(' + textDivProperties.angle + 'deg) ' + transform;\n }\n if (transform !== '') {\n textDivProperties.originalTransform = transform;\n textDiv.style.transform = transform;\n }\n this._textDivProperties.set(textDiv, textDivProperties);\n textLayerFrag.appendChild(textDiv);\n },\n\n _render: function TextLayer_render(timeout) {\n var _this = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', { alpha: false });\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n this._processItems(textItems, textStyles);\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n Object.assign(styleCache, value.styles);\n _this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n capability.promise.then(function () {\n styleCache = null;\n if (!timeout) {\n render(_this);\n } else {\n _this._renderTimer = setTimeout(function () {\n render(_this);\n _this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n var divProperties = this._textDivProperties.get(div);\n if (divProperties.isWhitespace) {\n continue;\n }\n if (expandDivs) {\n var transform = '',\n padding = '';\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\n if (divProperties.paddingLeft !== 0) {\n padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n }\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n if (transform !== '') {\n div.style.transform = transform;\n }\n } else {\n div.style.padding = 0;\n div.style.transform = divProperties.originalTransform || '';\n }\n }\n }\n };\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n task._render(renderParameters.timeout);\n return task;\n }\n return renderTextLayer;\n}();\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AnnotationElementFactory = function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: 'create',\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: '_createContainer',\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement('section');\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute('data-annotation-id', data.id);\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n container.style.transform = 'matrix(' + viewport.transform.join(',') + ')';\n container.style.transformOrigin = -rect[0] + 'px ' + -rect[1] + 'px';\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = data.borderStyle.width + 'px';\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n default:\n break;\n }\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = rect[0] + 'px';\n container.style.top = rect[1] + 'px';\n container.style.width = width + 'px';\n container.style.height = height + 'px';\n return container;\n }\n }, {\n key: '_createPopup',\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement('div');\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: 'render',\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _possibleConstructorReturn(this, (LinkAnnotationElement.__proto__ || Object.getPrototypeOf(LinkAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(LinkAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'linkAnnotation';\n var data = this.data,\n linkService = this.linkService;\n\n var link = document.createElement('a');\n (0, _dom_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _dom_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel\n });\n if (!data.url) {\n if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n }\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: '_bindLink',\n value: function _bindLink(link, destination) {\n var _this2 = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = function () {\n if (destination) {\n _this2.linkService.navigateTo(destination);\n }\n return false;\n };\n if (destination) {\n link.className = 'internalLink';\n }\n }\n }, {\n key: '_bindNamedAction',\n value: function _bindNamedAction(link, action) {\n var _this3 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n link.onclick = function () {\n _this3.linkService.executeNamedAction(action);\n return false;\n };\n link.className = 'internalLink';\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (TextAnnotationElement.__proto__ || Object.getPrototypeOf(TextAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(TextAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'textAnnotation';\n var image = document.createElement('img');\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';\n image.alt = '[{{type}} Annotation]';\n image.dataset.l10nId = 'text_annotation_type';\n image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (WidgetAnnotationElement.__proto__ || Object.getPrototypeOf(WidgetAnnotationElement)).apply(this, arguments));\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _possibleConstructorReturn(this, (TextWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(TextWidgetAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement('textarea');\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement('input');\n element.type = 'text';\n element.setAttribute('value', this.data.fieldValue);\n }\n element.disabled = this.data.readOnly;\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add('comb');\n element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';\n }\n } else {\n element = document.createElement('div');\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = 'middle';\n element.style.display = 'table-cell';\n var font = null;\n if (this.data.fontRefName) {\n font = this.page.commonObjs.getData(this.data.fontRefName);\n }\n this._setTextStyle(element, font);\n }\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: '_setTextStyle',\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = this.data.fontSize + 'px';\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n if (!font) {\n return;\n }\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? '\"' + font.loadedName + '\", ' : '';\n var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (CheckboxWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(CheckboxWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (RadioButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(RadioButtonWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation radioButton';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'radio';\n element.name = this.data.fieldName;\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (PushButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(PushButtonWidgetAnnotationElement)).apply(this, arguments));\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n var container = _get(PushButtonWidgetAnnotationElement.prototype.__proto__ || Object.getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), 'render', this).call(this);\n container.className = 'buttonWidgetAnnotation pushButton';\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (ChoiceWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(ChoiceWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n var option = this.data.options[i];\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n selectElement.appendChild(optionElement);\n }\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (PopupAnnotationElement.__proto__ || Object.getPrototypeOf(PopupAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(PopupAnnotationElement, [{\n key: 'render',\n value: function render() {\n var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon', 'Ink'];\n this.container.className = 'popupAnnotation';\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n var parentElement = this.layer.querySelector(selector);\n if (!parentElement) {\n return this.container;\n }\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = -(parentLeft + parentWidth) + 'px -' + parentElement.style.top;\n this.container.style.left = parentLeft + parentWidth + 'px';\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: 'render',\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement('div');\n wrapper.className = 'popupWrapper';\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute('hidden', true);\n var popup = document.createElement('div');\n popup.className = 'popup';\n var color = this.color;\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n var contents = this._formatContents(this.contents);\n var title = document.createElement('h1');\n title.textContent = this.title;\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n popup.appendChild(title);\n popup.appendChild(contents);\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: '_formatContents',\n value: function _formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n return p;\n }\n }, {\n key: '_toggle',\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: '_show',\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: '_hide',\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar LineAnnotationElement = function (_AnnotationElement5) {\n _inherits(LineAnnotationElement, _AnnotationElement5);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (LineAnnotationElement.__proto__ || Object.getPrototypeOf(LineAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(LineAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'lineAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement('svg:line');\n line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute('stroke-width', data.borderStyle.width);\n line.setAttribute('stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n this._createPopup(this.container, line, data);\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = function (_AnnotationElement6) {\n _inherits(SquareAnnotationElement, _AnnotationElement6);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (SquareAnnotationElement.__proto__ || Object.getPrototypeOf(SquareAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquareAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'squareAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement('svg:rect');\n square.setAttribute('x', borderWidth / 2);\n square.setAttribute('y', borderWidth / 2);\n square.setAttribute('width', width - borderWidth);\n square.setAttribute('height', height - borderWidth);\n square.setAttribute('stroke-width', borderWidth);\n square.setAttribute('stroke', 'transparent');\n square.setAttribute('fill', 'none');\n svg.appendChild(square);\n this.container.append(svg);\n this._createPopup(this.container, square, data);\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = function (_AnnotationElement7) {\n _inherits(CircleAnnotationElement, _AnnotationElement7);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (CircleAnnotationElement.__proto__ || Object.getPrototypeOf(CircleAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CircleAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'circleAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement('svg:ellipse');\n circle.setAttribute('cx', width / 2);\n circle.setAttribute('cy', height / 2);\n circle.setAttribute('rx', width / 2 - borderWidth / 2);\n circle.setAttribute('ry', height / 2 - borderWidth / 2);\n circle.setAttribute('stroke-width', borderWidth);\n circle.setAttribute('stroke', 'transparent');\n circle.setAttribute('fill', 'none');\n svg.appendChild(circle);\n this.container.append(svg);\n this._createPopup(this.container, circle, data);\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = function (_AnnotationElement8) {\n _inherits(PolylineAnnotationElement, _AnnotationElement8);\n\n function PolylineAnnotationElement(parameters) {\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n\n var _this15 = _possibleConstructorReturn(this, (PolylineAnnotationElement.__proto__ || Object.getPrototypeOf(PolylineAnnotationElement)).call(this, parameters, isRenderable, true));\n\n _this15.containerClassName = 'polylineAnnotation';\n _this15.svgElementName = 'svg:polyline';\n return _this15;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var vertices = data.vertices;\n var points = [];\n for (var i = 0, ii = vertices.length; i < ii; i++) {\n var x = vertices[i].x - data.rect[0];\n var y = data.rect[3] - vertices[i].y;\n points.push(x + ',' + y);\n }\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n this._createPopup(this.container, polyline, data);\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n _classCallCheck(this, PolygonAnnotationElement);\n\n var _this16 = _possibleConstructorReturn(this, (PolygonAnnotationElement.__proto__ || Object.getPrototypeOf(PolygonAnnotationElement)).call(this, parameters));\n\n _this16.containerClassName = 'polygonAnnotation';\n _this16.svgElementName = 'svg:polygon';\n return _this16;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar InkAnnotationElement = function (_AnnotationElement9) {\n _inherits(InkAnnotationElement, _AnnotationElement9);\n\n function InkAnnotationElement(parameters) {\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n\n var _this17 = _possibleConstructorReturn(this, (InkAnnotationElement.__proto__ || Object.getPrototypeOf(InkAnnotationElement)).call(this, parameters, isRenderable, true));\n\n _this17.containerClassName = 'inkAnnotation';\n _this17.svgElementName = 'svg:polyline';\n return _this17;\n }\n\n _createClass(InkAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var inkLists = data.inkLists;\n for (var i = 0, ii = inkLists.length; i < ii; i++) {\n var inkList = inkLists[i];\n var points = [];\n for (var j = 0, jj = inkList.length; j < jj; j++) {\n var x = inkList[j].x - data.rect[0];\n var y = data.rect[3] - inkList[j].y;\n points.push(x + ',' + y);\n }\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n this._createPopup(this.container, polyline, data);\n svg.appendChild(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = function (_AnnotationElement10) {\n _inherits(HighlightAnnotationElement, _AnnotationElement10);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (HighlightAnnotationElement.__proto__ || Object.getPrototypeOf(HighlightAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'highlightAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = function (_AnnotationElement11) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement11);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (UnderlineAnnotationElement.__proto__ || Object.getPrototypeOf(UnderlineAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'underlineAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = function (_AnnotationElement12) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement12);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (SquigglyAnnotationElement.__proto__ || Object.getPrototypeOf(SquigglyAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'squigglyAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = function (_AnnotationElement13) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement13);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (StrikeOutAnnotationElement.__proto__ || Object.getPrototypeOf(StrikeOutAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'strikeoutAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = function (_AnnotationElement14) {\n _inherits(StampAnnotationElement, _AnnotationElement14);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (StampAnnotationElement.__proto__ || Object.getPrototypeOf(StampAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StampAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'stampAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = function (_AnnotationElement15) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement15);\n\n function FileAttachmentAnnotationElement(parameters) {\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n var _this23 = _possibleConstructorReturn(this, (FileAttachmentAnnotationElement.__proto__ || Object.getPrototypeOf(FileAttachmentAnnotationElement)).call(this, parameters, true));\n\n var _this23$data$file = _this23.data.file,\n filename = _this23$data$file.filename,\n content = _this23$data$file.content;\n\n _this23.filename = (0, _dom_utils.getFilenameFromUrl)(filename);\n _this23.content = content;\n if (_this23.linkService.eventBus) {\n _this23.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _this23,\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n return _this23;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'fileAttachmentAnnotation';\n var trigger = document.createElement('div');\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener('dblclick', this._download.bind(this));\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: '_download',\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: 'render',\n value: function render(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n if (!data) {\n continue;\n }\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || '',\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _dom_utils.DOMSVGFactory()\n });\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: 'update',\n value: function update(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n if (element) {\n element.style.transform = 'matrix(' + parameters.viewport.transform.join(',') + ')';\n }\n }\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _is_node = __w_pdfjs_require__(4);\n\nvar _is_node2 = _interopRequireDefault(_is_node);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n{\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n var convertImgDataToPng = function convertImgDataToPngClosure() {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n for (var i = 0; i < 256; i++) {\n var c = i;\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n var crc = -1;\n for (var i = start; i < end; i++) {\n var a = (crc ^ data[i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n for (var i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!(0, _is_node2.default)()) {\n return deflateSyncUncompressed(literals);\n }\n try {\n var input;\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n var output = require('zlib').deflateSync(input, { level: 9 });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xFFFF;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error('invalid format');\n }\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n var y, i;\n for (y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (y = 0; y < height; y++) {\n offsetLiterals++;\n for (i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\n }\n }\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk('IHDR', ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk('IDATA', idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk('IEND', new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n var SVGExtraState = function SVGExtraStateClosure() {\n function SVGExtraState() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = '#000000';\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = '';\n this.lineCap = '';\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = '';\n }\n SVGExtraState.prototype = {\n clone: function SVGExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return SVGExtraState;\n }();\n exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var opListLen = opList.length;\n for (var x = 0; x < opListLen; x++) {\n if (opList[x].fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n if (opList[x].fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opList[x]);\n }\n }\n return opTree;\n }\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n var s = value.toFixed(10);\n var i = s.length - 1;\n if (s[i] !== '0') {\n return s;\n }\n do {\n i--;\n } while (s[i] === '0');\n return s.substring(0, s[i] === '.' ? i : i + 1);\n }\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n return 'scale(' + pf(m[0]) + ' ' + pf(m[3]) + ')';\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return 'rotate(' + pf(a) + ')';\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n }\n return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n this.svgFactory = new _dom_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n }\n var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n var XLINK_NS = 'http://www.w3.org/1999/xlink';\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var clipCount = 0;\n var maskCount = 0;\n SVGGraphics.prototype = {\n save: function SVGGraphics_save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n },\n restore: function SVGGraphics_restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n },\n group: function SVGGraphics_group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n },\n loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var argsArray = operatorList.argsArray;\n for (var i = 0; i < fnArrayLen; i++) {\n if (_util.OPS.dependency === fnArray[i]) {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var obj = deps[n];\n var common = obj.substring(0, 2) === 'g_';\n var promise;\n if (common) {\n promise = new Promise(function (resolve) {\n _this.commonObjs.get(obj, resolve);\n });\n } else {\n promise = new Promise(function (resolve) {\n _this.objs.get(obj, resolve);\n });\n }\n this.current.dependencies.push(promise);\n }\n }\n }\n return Promise.all(this.current.dependencies);\n },\n transform: function SVGGraphics_transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n },\n getSVG: function SVGGraphics_getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n var svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n var opTree = _this2.convertOpList(operatorList);\n _this2.executeOpTree(opTree);\n return svgElement;\n });\n },\n convertOpList: function SVGGraphics_convertOpList(operatorList) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var REVOPS = [];\n var opList = [];\n for (var op in _util.OPS) {\n REVOPS[_util.OPS[op]] = op;\n }\n for (var x = 0; x < fnArrayLen; x++) {\n var fnId = fnArray[x];\n opList.push({\n 'fnId': fnId,\n 'fn': REVOPS[fnId],\n 'args': argsArray[x]\n });\n }\n return opListToTree(opList);\n },\n executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n var opTreeLen = opTree.length;\n for (var x = 0; x < opTreeLen; x++) {\n var fn = opTree[x].fn;\n var fnId = opTree[x].fnId;\n var args = opTree[x].args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTree[x].items);\n break;\n default:\n (0, _util.warn)('Unimplemented operator ' + fn);\n break;\n }\n }\n },\n setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n },\n setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n },\n nextLine: function SVGGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n },\n beginText: function SVGGraphics_beginText() {\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.lineMatrix = _util.IDENTITY_MATRIX;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.txtElement = this.svgFactory.createElement('svg:text');\n this.current.txtgrp = this.svgFactory.createElement('svg:g');\n this.current.xcoords = [];\n },\n moveText: function SVGGraphics_moveText(x, y) {\n var current = this.current;\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n },\n showText: function SVGGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, 'fill', 'transparent');\n } else {\n current.tspan.setAttributeNS(null, 'fill', 'none');\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._setStrokeAttributes(current.tspan);\n }\n var textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, 'transform', pm(textMatrix) + ' scale(1, -1)');\n current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n this._ensureTransformGroup().appendChild(current.txtElement);\n },\n setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement('svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += '@font-face { font-family: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n },\n setFont: function SVGGraphics_setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n this.current.font = fontObj;\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.xcoords = [];\n },\n endText: function endText() {\n var current = this.current;\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip('nonzero');\n this.endPath();\n }\n },\n\n setLineWidth: function SVGGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n },\n setLineCap: function SVGGraphics_setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function SVGGraphics_setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n this.current.miterLimit = limit;\n },\n setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n },\n setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.strokeColor = color;\n },\n setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n },\n setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.fillColor = color;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n },\n setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n },\n constructPath: function SVGGraphics_constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n current.path = this.svgFactory.createElement('svg:path');\n var d = [];\n var opLength = ops.length;\n for (var i = 0, j = 0; i < opLength; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n current.path.setAttributeNS(null, 'd', d.join(' '));\n current.path.setAttributeNS(null, 'fill', 'none');\n this._ensureTransformGroup().appendChild(current.path);\n current.element = current.path;\n current.setCurrentPoint(x, y);\n },\n endPath: function SVGGraphics_endPath() {\n if (!this.pendingClip) {\n return;\n }\n var current = this.current;\n var clipId = 'clippath' + clipCount;\n clipCount++;\n var clipPath = this.svgFactory.createElement('svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);\n }\n current.activeClipUrl = 'url(#' + clipId + ')';\n this.tgrp = null;\n },\n clip: function SVGGraphics_clip(type) {\n this.pendingClip = type;\n },\n closePath: function SVGGraphics_closePath() {\n var current = this.current;\n if (current.path) {\n var d = current.path.getAttributeNS(null, 'd');\n d += 'Z';\n current.path.setAttributeNS(null, 'd', d);\n }\n },\n setLeading: function SVGGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setTextRise: function SVGGraphics_setTextRise(textRise) {\n this.current.textRise = textRise;\n },\n setTextRenderingMode: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n },\n\n setHScale: function SVGGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setGState: function SVGGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'Font':\n this.setFont(value);\n break;\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n case 'ca':\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)('Unimplemented graphic state ' + key);\n break;\n }\n }\n },\n fill: function SVGGraphics_fill() {\n var current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n this.endPath();\n }\n },\n stroke: function SVGGraphics_stroke() {\n var current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n },\n _setStrokeAttributes: function _setStrokeAttributes(element) {\n var current = this.current;\n element.setAttributeNS(null, 'stroke', current.strokeColor);\n element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n element.setAttributeNS(null, 'stroke-width', pf(current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n },\n\n eoFill: function SVGGraphics_eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n this.fill();\n },\n fillStroke: function SVGGraphics_fillStroke() {\n this.stroke();\n this.fill();\n },\n eoFillStroke: function SVGGraphics_eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n this.fillStroke();\n },\n closeStroke: function SVGGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n closeFillStroke: function SVGGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n },\n\n paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n var current = this.current;\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', '1px');\n rect.setAttributeNS(null, 'height', '1px');\n rect.setAttributeNS(null, 'fill', current.fillColor);\n this._ensureTransformGroup().appendChild(rect);\n },\n paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n this._ensureTransformGroup().appendChild(imgEl);\n },\n paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintInlineImageXObject: function SVGGraphics_paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', '0');\n cliprect.setAttributeNS(null, 'y', '0');\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-height));\n imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n },\n paintImageMaskXObject: function SVGGraphics_paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = 'mask' + maskCount++;\n var mask = this.svgFactory.createElement('svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', pf(width));\n rect.setAttributeNS(null, 'height', pf(height));\n rect.setAttributeNS(null, 'fill', fillColor);\n rect.setAttributeNS(null, 'mask', 'url(#' + current.maskId + ')');\n this.defs.appendChild(mask);\n this._ensureTransformGroup().appendChild(rect);\n this.paintInlineImageXObject(imgData, mask);\n },\n paintFormXObjectBegin: function SVGGraphics_paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if (Array.isArray(bbox) && bbox.length === 4) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', bbox[0]);\n cliprect.setAttributeNS(null, 'y', bbox[1]);\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n this.endPath();\n }\n },\n paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n _initialize: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement('svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement('svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n },\n\n _ensureClipGroup: function SVGGraphics_ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement('svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n },\n _ensureTransformGroup: function SVGGraphics_ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n return SVGGraphics;\n }();\n}\nexports.SVGGraphics = SVGGraphics;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar fs = require('fs');\nvar http = require('http');\nvar https = require('https');\nvar url = require('url');\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse('file:///' + sourceUrl);\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n return parsedUrl;\n}\n\nvar PDFNodeStream = function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:';\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequest = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: 'getFullReader',\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequest);\n this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequest;\n }\n }, {\n key: 'getRangeReader',\n value: function getRangeReader(start, end) {\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n }, {\n key: 'cancelAllRequests',\n value: function cancelAllRequests(reason) {\n if (this._fullRequest) {\n this._fullRequest.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nvar BaseFullReader = function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: 'read',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, buffer;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt('return', this.read());\n\n case 10:\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt('return', {\n value: buffer,\n done: false\n });\n\n case 14:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _ref.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n }, {\n key: '_setReadableStream',\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this._done = true;\n _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: 'headersReady',\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: 'filename',\n get: function get() {\n return this._filename;\n }\n }, {\n key: 'contentLength',\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: 'isRangeSupported',\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader = function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: 'read',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, buffer;\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt('return', this.read());\n\n case 10:\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\n }\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt('return', {\n value: buffer,\n done: false\n });\n\n case 14:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _ref2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n }, {\n key: '_setReadableStream',\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this2._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this2._done = true;\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n var _this3 = _possibleConstructorReturn(this, (PDFNodeStreamFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFullReader)).call(this, stream));\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException('Missing PDF \"' + _this3._url + '\".');\n _this3._storedError = error;\n _this3._headersCapability.reject(error);\n return;\n }\n _this3._headersCapability.resolve();\n _this3._setReadableStream(response);\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n _this3._request = null;\n if (_this3._url.protocol === 'http:') {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n _this3._request.on('error', function (reason) {\n _this3._storedError = reason;\n _this3._headersCapability.reject(reason);\n });\n _this3._request.end();\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n var _this4 = _possibleConstructorReturn(this, (PDFNodeStreamRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamRangeReader)).call(this, stream));\n\n _this4._httpHeaders = {};\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n _this4._httpHeaders[property] = value;\n }\n _this4._httpHeaders['Range'] = 'bytes=' + start + '-' + (end - 1);\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException('Missing PDF \"' + _this4._url + '\".');\n _this4._storedError = error;\n return;\n }\n _this4._setReadableStream(response);\n };\n _this4._request = null;\n if (_this4._url.protocol === 'http:') {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n _this4._request.on('error', function (reason) {\n _this4._storedError = reason;\n });\n _this4._request.end();\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n var _this5 = _possibleConstructorReturn(this, (PDFNodeStreamFsFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsFullReader)).call(this, stream));\n\n var path = decodeURIComponent(_this5._url.path);\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, '');\n }\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === 'ENOENT') {\n error = new _util.MissingPDFException('Missing PDF \"' + path + '\".');\n }\n _this5._storedError = error;\n _this5._headersCapability.reject(error);\n return;\n }\n _this5._contentLength = stat.size;\n _this5._setReadableStream(fs.createReadStream(path));\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n var _this6 = _possibleConstructorReturn(this, (PDFNodeStreamFsRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsRangeReader)).call(this, stream));\n\n var path = decodeURIComponent(_this6._url.path);\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, '');\n }\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\nexports.PDFNodeStream = PDFNodeStream;\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validateResponseStatus = exports.validateRangeRequestCapabilities = exports.extractFilenameFromHeader = exports.createResponseStatusError = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(150);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n\n (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader('Content-Length'), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n return fixupEncoding(_filename);\n }\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n var _filename2 = rfc2616unquote(tmp);\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n var decoder = new TextDecoder(encoding, { fatal: true });\n var bytes = new Array(value.length);\n for (var i = 0; i < value.length; ++i) {\n bytes[i] = value.charCodeAt(i);\n }\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDisposition) {\n var matches = [],\n match = void 0;\n var iter = toParamRegExp('filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)', 'ig');\n while ((match = iter.exec(contentDisposition)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n var parts = [];\n for (var _n = 0; _n < matches.length; ++_n) {\n if (!(_n in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n if (_quot) {\n _part = unescape(_part);\n if (_n === 0) {\n _part = rfc5987decode(_part);\n }\n }\n parts.push(_part);\n }\n return parts.join('');\n }\n function rfc2616unquote(value) {\n if (value.charAt(0) === '\"') {\n var parts = value.slice(1).split('\\\\\"');\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replace(/\\\\(.)/g, '$1');\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf('\\'');\n if (encodingend === -1) {\n return extvalue;\n }\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, '');\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (value.slice(0, 2) !== '=?' || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, charset, encoding, text) {\n if (encoding === 'q' || encoding === 'Q') {\n text = text.replace(/_/g, ' ');\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch (e) {}\n return textdecode(charset, text);\n });\n }\n return '';\n}\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: 'GET',\n headers: headers,\n signal: abortController && abortController.signal,\n mode: 'cors',\n credentials: withCredentials ? 'include' : 'same-origin',\n redirect: 'follow'\n };\n}\n\nvar PDFFetchStream = function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: 'getFullReader',\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: 'getRangeReader',\n value: function getRangeReader(begin, end) {\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n }, {\n key: 'cancelAllRequests',\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nvar PDFFetchStreamReader = function () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = new Headers();\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n this._headers.append(property, value);\n }\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n _this._reader = response.body.getReader();\n _this._headersCapability.resolve();\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException('streaming is disabled'));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: 'read',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var _ref2, value, done, buffer;\n\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _ref2 = _context.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt('return', {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt('return', {\n value: buffer,\n done: false\n });\n\n case 13:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _ref.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: 'headersReady',\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: 'filename',\n get: function get() {\n return this._filename;\n }\n }, {\n key: 'contentLength',\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: 'isRangeSupported',\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n this._headers = new Headers();\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n this._headers.append(property, value);\n }\n var rangeStr = begin + '-' + (end - 1);\n this._headers.append('Range', 'bytes=' + rangeStr);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n _this2._readCapability.resolve();\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: 'read',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var _ref4, value, done, buffer;\n\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _ref4 = _context2.sent;\n value = _ref4.value;\n done = _ref4.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt('return', {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\n }\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt('return', {\n value: buffer,\n done: false\n });\n\n case 13:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _ref3.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkManager = exports.PDFNetworkStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\nfunction NetworkManager(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n this.loadedRequests = Object.create(null);\n}\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n if (typeof data !== 'string') {\n return data;\n }\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\nvar supportsMozChunked = function supportsMozChunkedClosure() {\n try {\n var x = new XMLHttpRequest();\n x.open('GET', _global_scope2.default.location.href);\n x.responseType = 'moz-chunked-arraybuffer';\n return x.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n return false;\n }\n}();\nNetworkManager.prototype = {\n requestRange: function NetworkManager_requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n },\n requestFull: function NetworkManager_requestFull(listeners) {\n return this.request(listeners);\n },\n request: function NetworkManager_request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = { xhr: xhr };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && 'begin' in args && 'end' in args) {\n var rangeStr = args.begin + '-' + (args.end - 1);\n xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n pendingRequest.expectedStatus = 206;\n } else {\n pendingRequest.expectedStatus = 200;\n }\n var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n if (useMozChunkedLoading) {\n xhr.responseType = 'moz-chunked-arraybuffer';\n pendingRequest.onProgressiveData = args.onProgressiveData;\n pendingRequest.mozChunked = true;\n } else {\n xhr.responseType = 'arraybuffer';\n }\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n },\n onProgress: function NetworkManager_onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n if (pendingRequest.mozChunked) {\n var chunk = getArrayBuffer(pendingRequest.xhr);\n pendingRequest.onProgressiveData(chunk);\n }\n var onProgress = pendingRequest.onProgress;\n if (onProgress) {\n onProgress(evt);\n }\n },\n onStateChange: function NetworkManager_onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n var xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n this.loadedRequests[xhrId] = true;\n var chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n var begin = parseInt(matches[1], 10);\n pendingRequest.onDone({\n begin: begin,\n chunk: chunk\n });\n } else if (pendingRequest.onProgressiveData) {\n pendingRequest.onDone(null);\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n },\n hasPendingRequests: function NetworkManager_hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n return false;\n },\n getRequestXhr: function NetworkManager_getXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n },\n isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n return !!this.pendingRequests[xhrId].onProgressiveData;\n },\n isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n },\n isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n return xhrId in this.loadedRequests;\n },\n abortAllRequests: function NetworkManager_abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n },\n abortRequest: function NetworkManager_abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n};\nfunction PDFNetworkStream(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n}\nPDFNetworkStream.prototype = {\n _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFNetworkStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n },\n getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n};\nfunction PDFNetworkStreamFullRequestReader(manager, source) {\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n}\nPDFNetworkStreamFullRequestReader.prototype = {\n _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n var networkManager = this._manager;\n if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n this._isStreamingSupported = true;\n } else if (this._isRangeSupported) {\n networkManager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n },\n _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(chunk);\n }\n },\n _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n if (args) {\n this._onProgressiveData(args.chunk);\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n },\n _onError: function PDFNetworkStreamFullRequestReader_onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n this._headersReceivedCapability.reject(exception);\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n this._requests = [];\n this._cachedChunks = [];\n },\n _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n },\n get filename() {\n return this._filename;\n },\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n get contentLength() {\n return this._contentLength;\n },\n get headersReady() {\n return this._headersReceivedCapability.promise;\n },\n read: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt('return', {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n return _context.abrupt('return', requestCapability.promise);\n\n case 10:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _ref.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n};\nfunction PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n}\nPDFNetworkStreamRangeRequestReader.prototype = {\n _close: function PDFNetworkStreamRangeRequestReader_close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n },\n _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) {\n var chunk = data.chunk;\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._close();\n },\n _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({ loaded: evt.loaded });\n }\n },\n get isStreamingSupported() {\n return false;\n },\n read: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n\n this._queuedChunk = null;\n return _context2.abrupt('return', {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n return _context2.abrupt('return', requestCapability.promise);\n\n case 9:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _ref2.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n};\nexports.PDFNetworkStream = PDFNetworkStream;\nexports.NetworkManager = NetworkManager;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map"],"names":["root","factory","module","exports","this","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDOMUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","Response","ReadableStream","PDFFetchStream","PDFNetworkStream","build","version","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","createPromiseCapability","PasswordResponses","InvalidPDFException","MissingPDFException","SVGGraphics","NativeImageDecoding","CMapCompressionType","PermissionFlag","UnexpectedResponseException","OPS","VerbosityLevel","UNSUPPORTED_FEATURES","createValidAbsoluteUrl","createObjectURL","removeNullCharacters","shadow","Util","URL","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","GlobalWorkerOptions","apiCompatibilityParams","unreachable","warn","utf8StringToString","stringToUTF8String","stringToPDFString","stringToBytes","string32","setVerbosityLevel","readUint32","readUint16","readInt8","log2","isEvalSupported","isLittleEndian","isSameOrigin","isSpace","isString","isNum","isEmptyObj","isBool","isArrayBuffer","info","getVerbosityLevel","getLookupTableFactory","getInheritableProperty","deprecated","bytesToString","assert","arraysToBytes","arrayByteLength","FormatError","XRefParseException","toRomanNumerals","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","MissingDataException","AbortException","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","undefined","_typeof","iterator","obj","constructor","_streams_polyfill","_url_polyfill","NONE","DECODE","DISPLAY","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RL","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","Number","isInteger","msg","console","log","details","Error","cond","baseUrl","otherUrl","base","origin","e","other","_isValidProtocol","url","protocol","absoluteUrl","ex","prop","configurable","writable","initializer","lookup","code","message","status","begin","end","NullCharactersRegExp","str","replace","bytes","length","MAX_ARGUMENT_COUNT","String","fromCharCode","apply","strBuf","chunkEnd","Math","min","chunk","subarray","push","join","Uint8Array","charCodeAt","arr","byteLength","item","itemLength","resultLength","ii","pos","data","set","x","ceil","start","offset","buffer8","view32","Uint32Array","buffer","Function","_ref","dict","_ref$getArray","getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","values","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","xt","yt","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","slice","p3","p4","max","inverseTransform","apply3dTransform","v","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","result","ROMAN_NUMBER_MAP","number","lowerCase","arguments","romanBuf","romanStr","toLowerCase","PDFStringTranslateTable","charAt","decodeURIComponent","escape","unescape","encodeURIComponent","ch","capability","promise","Promise","resolve","reject","digits","contentType","forceDataSchema","blob","Blob","type","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","window","document","btoa","chars","Buffer","from","toString","atob","input","scripts","getElementsByTagName","Element","remove","parentNode","removeChild","div","createElement","classList","toggle","originalDOMTokenListToggle","DOMTokenList","token","force","includes","Array","assign","isNaN","WeakMap","codePointAt","fromCodePoint","self","process","$export","context","INCLUDES","P","F","searchString","indexOf","global","core","hide","redefine","ctx","PROTOTYPE","source","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","target","expProto","U","W","R","__g","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","TypeError","isObject","it","exec","is","fn","val","valueOf","bitmap","has","SRC","TO_STRING","$toString","TPL","split","inspectSource","safe","isFunction","id","px","random","concat","aFunction","that","isRegExp","defined","NAME","cof","MATCH","store","uid","_Symbol","USE_SYMBOL","$exports","SHARED","copyright","KEY","re","$includes","el","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","index","IObject","propertyIsEnumerable","toInteger","floor","UNSCOPABLES","ArrayProto","getKeys","gOPS","pIE","toObject","$assign","A","K","forEach","k","keys","T","aLen","getSymbols","isEnum","j","$keys","enumBugKeys","arrayIndexOf","IE_PROTO","names","shared","getOwnPropertySymbols","LN2","isFinite","classof","test","TAG","ARG","tryGet","callee","$at","iterated","_t","_i","point","done","LIBRARY","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","descriptor","dPs","Empty","_createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","defineProperties","documentElement","def","tag","stat","ObjectProto","$iterators","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","addToUnscopables","step","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","PROMISE","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","err","onFulfilled","onRejected","C","$$reject","iter","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","isArrayIter","getIterFn","BREAK","RETURN","_exports","iterFn","ret","getIteratorMethod","SPECIES","D","defer","channel","port","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","listener","event","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","DESCRIPTORS","SAFE_CLOSING","riter","skipClosing","onFinally","callbackfn","InternalMap","each","meta","weak","fails","validate","WEAK_MAP","getWeak","isExtensible","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","getConstructor","NEED","method","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","isArray","arg","META","setDesc","FREEZE","preventExtensions","setMeta","w","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","splice","ADDER","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","setPrototypeOf","check","buggy","__proto__","gOPD","getOwnPropertyDescriptor","COLLECTION","of","mapping","cb","mapFn","nextItem","$fromCodePoint","RangeError","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$DP","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","getOwnPropertyNames","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$values","isEntries","isReadableStreamSupported","controller","_typeof2","_require","IsPropertyKey","argument","Call","V","typeIsObject","createDataProperty","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","CreateIterResultObject","IsFiniteNonNegativeNumber","Infinity","InvokeOrNoop","PromiseInvokeOrNoop","returnValueE","PromiseInvokeOrPerformFallback","argsF","methodE","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","ValidateAndNormalizeQueuingStrategy","size","rethrowAssertionErrorRejection","AssertionError","stack","_createClass","props","protoProps","staticProps","_classCallCheck","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref$highWaterMark","_state","_storedError","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","WritableStreamDefaultController","__startSteps","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","AcquireWritableStreamDefaultWriter","stream","WritableStreamDefaultWriter","state","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","shift","defaultWriterClosedPromiseReject","_closedPromise","catch","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","_readyPromise","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","_controlledWritableStream","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategySize","_strategyHWM","WritableStreamDefaultControllerGetBackpressure","IsWritableStreamDefaultController","_this","startResult","WritableStreamDefaultControllerAdvanceQueueIfNeeded","strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_closedPromise_resolve","_closedPromise_reject","_readyPromise_resolve","_readyPromise_reject","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","_ref2","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","_ref3","options","readable","pipeTo","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","_ref4","preventClose","preventAbort","preventCancel","Boolean","reader","shuttingDown","currentWrite","pipeLoop","ReadableStreamDefaultReaderRead","_ref5","isOrBecomesErrored","shutdownWithAction","shutdown","isOrBecomesClosed","destClosed","waitForWritesToFinish","oldCurrentWrite","action","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","IsReadableStreamDisturbed","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","create_ReadableStreamTeePullFunction","_teeState","_cloneForBranch2","cancel1","create_ReadableStreamTeeBranch1CancelFunction","_stream","cancel2","create_ReadableStreamTeeBranch2CancelFunction","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","_branch1","_branch2","ReadableStreamDefaultControllerError","branch1","branch2","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","compositeReason","cancelResult","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","sourceCancelPromise","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadIntoRequest","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","view","ArrayBuffer","isView","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","ReadableByteStreamControllerPullInto","__pullSteps","_controlledReadableStream","_underlyingSource","_closeRequested","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","pullPromise","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespond","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_autoAllocateChunkSize","_pendingPullIntos","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerError","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","firstDescriptor","bytesFilled","ReadableByteStreamControllerHandleQueueDrain","byteOffset","viewE","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","DataView","BYTES_PER_ELEMENT","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","transformStream","readableStream","writableStream","TransformStream","TransformStreamCloseReadable","_errored","_readableClosed","TransformStreamCloseReadableInternal","TransformStreamEnqueueToReadable","_readableController","TransformStreamErrorIfNeeded","maybeBackpressure","TransformStreamSetBackpressure","TransformStreamError","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","TransformStreamTransform","_transforming","transformer","_transformer","_transformStreamController","transformPromise","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","flushPromise","TransformStreamSource","TransformStreamDefaultController","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","sink","_writable","isURLSupported","u","pathname","href","PolyfillURL","OriginalURL","revokeObjectURL","relative","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","h","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","parse","stateOverride","errors","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","pop","cp","tempC","temp","parseInt","JURL","_url","authority","host","hostname","search","hash","_","PDFPageProxy","PDFDocumentProxy","_slicedToArray","sliceIterator","_arr","_e","_util","_dom_utils","_font_loader","_api_compatibility","_canvas","_global_scope","_global_scope2","_interopRequireDefault","_worker_options","_message_handler","_metadata","_transport_stream","_webgl","default","_toConsumableArray","arr2","DEFAULT_RANGE_CHUNK_SIZE","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerFilesLoader","useRequireEnsure","requirejs","toUrl","createPDFNetworkStream","dynamicLoaderSupported","load","worker","WorkerMessageHandler","pdfjsFilePath","currentScript","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","pdfBytes","location","rangeChunkSize","CMapReaderFactory","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","postMessageTransfers","workerPort","fromPort","_worker","docId","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","httpHeaders","withCredentials","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","destroy","transportDestroyed","_rangeListeners","_progressListeners","_progressiveReadListeners","_readyCapability","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","loaded","_this2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_this3","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","pdfInfo","loadingTask","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageMode","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","rotate","userUnit","getViewport","scale","dontFlip","PageViewport","viewBox","rotation","getAnnotations","intent","annotationsPromise","annotationsIntent","render","_this4","stats","time","renderingIntent","canvasFactory","DOMCanvasFactory","webGLContext","WebGLContext","enable","enableWebGL","intentState","displayReadyCapability","receivingOperatorList","operatorList","fnArray","argsArray","lastChunk","renderInteractiveForms","complete","renderTasks","internalRenderTask","_tryCleanup","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","getOperatorList","opListReadCapability","opListTask","streamTextContent","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","normalizeWhitespace","combineTextItems","disableCombineTextItems","textContent","items","getTextContent","pump","read","_textContent$items","styles","getReader","_destroy","pageCache","waitOn","renderCompleted","cancel","cleanup","resetStats","some","_startRenderPage","_renderPageChunk","operatorListChunk","_listeners","_defer","_deferred","transfers","_this5","cloneValue","cloned","transferable","desc","nextFakeWorkerId","getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","fakeWorkerFilesLoadedCapability","setupFakeWorkerGlobal","mainWorkerMessageHandler","loader","createCDNWrapper","pdfWorkerPorts","_ref2$name","_ref2$port","_ref2$postMessageTran","_ref2$verbosity","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this6","Worker","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this7","workerHandler","setup","delete","fontLoader","FontLoader","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this8","page","terminated","cancelAllRequests","_this9","getFullReader","evt","total","onPull","enqueue","onCancel","_this10","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","pdfDocument","exception","_this11","updatePassword","_this12","_data","exportedData","hasData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_onUnsupportedFeature","fontReady","fontObjs","_data2","imageData","pageProxy","img","Image","onload","onerror","MAX_IMAGE_SIZE_TO_STORE","pageNum","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref6","featureId","_this13","_this14","results","metadata","Metadata","contentDispositionFilename","filename","_this15","ensureObj","objId","resolved","callback","isResolved","RenderTask","_internalRenderTask","onContinue","canvasInRendering","operatorListIdx","running","graphicsReadyCallback","graphicsReady","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","canvasContext","canvas","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","imageLayer","beginDrawing","viewport","background","updateOperatorList","_this16","requestAnimationFrame","_this17","executeOperatorList","endDrawing","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","response","responseText","cMapData","compressionType","svg","createElementNS","setAttribute","_ref3$offsetX","offsetX","_ref3$offsetY","offsetY","_ref3$dontFlip","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","abs","_ref4$scale","_ref4$rotation","_ref4$dontFlip","y","tl","br","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","rel","title","LinkTargetValues","targetIndex","anchor","query","substring","lastIndexOf","started","times","Date","longest","_ii","span","duration","padEnd","script","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","BaseFontLoader","nativeFontFaces","styleElement","loadingContext","requests","nextRequestId","nativeFontFace","fonts","add","rule","styleSheet","sheet","insertRule","cssRules","rules","fontsToLoad","fontLoadPromises","getNativeFontPromise","family","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","createFontFaceRule","_queueLoadingCallback","isSyncFontLoadingSupported","_prepareFontLoadEvent","completeRequest","otherRequest","_BaseFontLoader","GenericFontLoader","loadTestFontId","int32","spliceString","insert","chunk1","chunk2","called","isFontReady","fillText","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","fontFamily","body","supported","getLoadTestFont","IsEvalSupportedCached","translatedData","_ref$isEvalSupported","_ref$disableFontFace","_ref$ignoreErrors","_ref$onUnsupportedFea","_ref$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","compatibilityParams","isIE","isIOSChrome","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","IsLittleEndianCached","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","prev","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","reset","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","count","sum","steps","Int32Array","outlines","pp","coords","p0","drawOutline","beginPath","jj","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","scaleX","scaleY","isEnabled","composed","layer","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","deps","nn","depObjId","objsPool","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","getPattern","isPatternFill","needRestore","paths","pendingTextPaths","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","fontChar","accent","remeasure","measuredWidth","measureText","characterScaleX","isInFont","charWidth","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","patternIR","inv","bl","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","canvasBounds","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","position","getCanvasPosition","appendImage","left","top","compiled","maskCanvas","positions","images","image","map","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","ShadingIRs","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","topLeft","botRight","curMatrixScale","combinedScale","graphics","setFillAndStrokeStyleToContext","setScale","transformToScale","tmpTranslate","clipBbox","tmpScale","scaleToContext","bboxWidth","bboxHeight","cssColor","_regenerator","_regenerator2","resolveCall","_asyncToGenerator","mark","_callee","thisArg","_context","abrupt","stop","_x2","_x3","gen","wrapReason","makeReasonSerializable","resolveOrReject","success","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","scope","queueingStrategy","startCapability","startCall","isClosed","pullCapability","pullCall","cancelCapability","cancelCall","sendStreamRequest","streamSink","isCancelled","lastDesiredSize","sinkCapability","sendStreamResponse","deleteStreamController","hadRuntime","regeneratorRuntime","oldRuntime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","reverse","Context","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","rootEntry","rootRecord","completion","rval","dispatchException","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","finallyEntry","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","makeInvokeMethod","tryCatch","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegateResult","maybeInvokeDelegate","pushTryEntry","locs","iteratorMethod","webpackPolyfill","deprecate","children","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","trim","_get","receiver","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","attributes","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","text","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","lastElement","_queuedChunks","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","transportReady","PDFDataTransportStreamReader","queuedChunks","_done","_filename","_requests","_headersReady","PDFDataTransportStreamRangeReader","_begin","_end","_queuedChunk","_enqueue","found","firstReader","_removeRangeReader","requestDataRange","readers","abort","requestCapability","requestsCapability","_callee2","_context2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","styleBuf","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","dataset","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","expand","expanded","expandBounds","divProperties","ts","Float64Array","findPositiveMin","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","clearTimeout","_processItems","styleCache","len","textLayerFrag","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","padding","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","_bindNamedAction","_bindLink","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","element","multiLine","disabled","readOnly","maxLen","maxLength","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","fieldName","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","lineCoordinates","append","_AnnotationElement6","square","_AnnotationElement7","circle","_AnnotationElement8","containerClassName","svgElementName","vertices","polyline","_PolylineAnnotationEl","_AnnotationElement9","inkLists","inkList","_AnnotationElement10","_AnnotationElement11","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_this23","_this23$data$file","file","eventBus","dispatch","_download","downloadData","annotations","_is_node","_is_node2","SVG_DEFAULTS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","output","maxBlockLength","deflateBlocks","idat","adler","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","opTree","opListLen","pf","toFixed","pm","acos","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","XML_NS","XLINK_NS","clipCount","maskCount","tgrp","executeOpTree","loadDependencies","fnArrayLen","getSVG","svgElement","convertOpList","REVOPS","opTreeLen","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","setStrokeAlpha","setFillAlpha","opLength","clipId","clipPath","clipElement","cloneNode","getAttributeNS","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isHttp","isFsUrl","_fullRequest","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_loaded","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","auth","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","validateResponseStatus","createResponseStatusError","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","RegExp","textdecode","encoding","decoder","TextDecoder","fatal","decode","matches","match","_match","_match2","quot","part","parts","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","charset","hex","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","rangeStr","NetworkManager","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getXhr","currXhrId","pendingRequests","loadedRequests","getArrayBuffer","xhr","array","supportsMozChunked","_source","_manager","PDFNetworkStreamFullRequestReader","manager","onHeadersReceived","_onHeadersReceived","onProgressiveData","_onProgressiveData","onDone","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","PDFNetworkStreamRangeRequestReader","_requestId","requestRange","onClosed","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","useMozChunkedLoading","mozChunked","onStateChange","onprogress","xhrStatus","ok_response_on_range_request","rangeHeader","hasPendingRequests","getRequestXhr","isStreamingRequest","isPendingRequest","isLoadedRequest","abortAllRequests","_onRangeRequestReaderClosed","fullRequestXhrId","fullRequestXhr","networkManager","lengthComputable","_close"],"sourceRoot":""}