{"version":3,"file":"static/js/npm.chroma-js.f9ef79fe.js","mappings":";gGA0DmEA,EAAOC,QAGjE,WAAe,aA2BpB,IAzBA,IAAIC,EAAU,SAAUC,EAAGC,EAAKC,GAI5B,YAHa,IAARD,IAAiBA,EAAI,QACb,IAARC,IAAiBA,EAAI,GAEnBF,EAAIC,EAAMA,EAAMD,EAAIE,EAAMA,EAAMF,CAC3C,EAEIG,EAAUJ,EAiBVK,EAAc,CAAC,EACVC,EAAM,EAAGC,EAAS,CAAC,UAAW,SAAU,SAAU,WAAY,QAAS,OAAQ,SAAU,YAAa,QAASD,EAAMC,EAAOC,OAAQF,GAAO,EAAG,CACnJ,IAAIG,EAAOF,EAAOD,GAElBD,EAAa,WAAaI,EAAO,KAAQA,EAAKC,aAClD,CACA,IAAIC,EAAS,SAASC,GAClB,OAAOP,EAAYQ,OAAOC,UAAUC,SAASC,KAAKJ,KAAS,QAC/D,EAEIK,EAASN,EAmBTO,EAASP,EASTQ,EAAOC,KAAKC,GAEZC,EAAQ,CACXC,SAxDgB,SAAUC,GACvBA,EAAIC,UAAW,EACfD,EAAIE,WAAaF,EAAIG,MAAM,GAC3B,IAAK,IAAIC,EAAE,EAAGA,GAAG,EAAGA,IACZA,EAAI,IACAJ,EAAII,GAAK,GAAKJ,EAAII,GAAK,OAAOJ,EAAIC,UAAW,GACjDD,EAAII,GAAKxB,EAAQoB,EAAII,GAAI,EAAG,MACf,IAANA,IACPJ,EAAII,GAAKxB,EAAQoB,EAAII,GAAI,EAAG,IAGpC,OAAOJ,CACX,EA6CCK,MAAO7B,EACP8B,KAAMnB,EACNoB,OAhCc,SAAUC,EAAMC,GAI3B,YAHkB,IAAbA,IAAsBA,EAAS,MAGhCD,EAAKxB,QAAU,EAAY0B,MAAMpB,UAAUa,MAAMX,KAAKgB,GAGtC,UAAnBf,EAAOe,EAAK,KAAmBC,EAC3BA,EAASE,MAAM,IACpBC,QAAO,SAAUC,GAAK,YAAsBC,IAAfN,EAAK,GAAGK,EAAkB,IACvDE,KAAI,SAAUF,GAAK,OAAOL,EAAK,GAAGK,EAAI,IAI/BL,EAAK,EAChB,EAkBCQ,KAdY,SAAUR,GACnB,GAAIA,EAAKxB,OAAS,EAAK,OAAO,KAC9B,IAAIiC,EAAIT,EAAKxB,OAAO,EACpB,MAAuB,UAAnBU,EAAOc,EAAKS,IAA0BT,EAAKS,GAAG/B,cAC3C,IACX,EAUCW,GAAIF,EACJuB,MAAY,EAALvB,EACPwB,QAASxB,EAAK,EACdyB,QAASzB,EAAO,IAChB0B,QAAS,IAAM1B,GAGZ2B,EAAU,CACbC,OAAQ,CAAC,EACTC,WAAY,IAGTC,EAAS3B,EAAMkB,KACfU,EAAa5B,EAAMC,SACnB4B,EAAS7B,EAAMQ,KACfsB,EAASN,EAETO,EAAU,WAEV,IADA,IAAIrB,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAIE,EAAKC,KACT,GAAwB,WAApBN,EAAOnB,EAAK,KACZA,EAAK,GAAG0B,aACR1B,EAAK,GAAG0B,cAAgBD,KAAKC,YAE7B,OAAO1B,EAAK,GAIhB,IAAI2B,EAAOV,EAAOjB,GACdgB,GAAa,EAEjB,IAAKW,EAAM,CACPX,GAAa,EACRI,EAAOQ,SACRR,EAAOJ,WAAaI,EAAOJ,WAAWa,MAAK,SAAUC,EAAEC,GAAK,OAAOA,EAAEC,EAAIF,EAAEE,CAAG,IAC9EZ,EAAOQ,QAAS,GAGpB,IAAK,IAAIhC,EAAI,EAAGqC,EAAOb,EAAOJ,WAAYpB,EAAIqC,EAAKzD,OAAQoB,GAAK,EAAG,CAC/D,IAAIsC,EAAMD,EAAKrC,GAGf,GADA+B,EAAOO,EAAIC,KAAKC,MAAMF,EAAKlC,GACf,KAChB,CACJ,CAEA,IAAIoB,EAAOL,OAAOY,GAId,MAAM,IAAIU,MAAM,mBAAmBrC,GAHnC,IAAIR,EAAM4B,EAAOL,OAAOY,GAAMS,MAAM,KAAMpB,EAAahB,EAAOA,EAAKL,MAAM,GAAG,IAC5E6B,EAAGc,KAAOpB,EAAW1B,GAMF,IAAnBgC,EAAGc,KAAK9D,QAAgBgD,EAAGc,KAAKC,KAAK,EAC7C,EAEAlB,EAAQvC,UAAUC,SAAW,WACzB,MAAwB,YAApBoC,EAAOM,KAAKe,KAA6Bf,KAAKe,MAC1C,IAAOf,KAAKa,KAAKG,KAAK,KAAQ,GAC1C,EAEA,IAAIC,EAAUrB,EAEVsB,EAAW,WAEd,IADA,IAAI3C,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOO,EAASG,MAAO,CAAE,MAAOC,OAAQ/C,IAC7E,EAEA2C,EAASG,MAAQJ,EACjBC,EAASK,QAAU,QAEnB,IAAIC,EAAWN,EAEXO,EAAW5D,EAAMS,OACjBoD,EAAQ/D,KAAKjB,IAqBbiF,EAnBa,WAEb,IADA,IAAIpD,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAI+B,EAAMH,EAASlD,EAAM,OACrBsD,EAAID,EAAI,GACRE,EAAIF,EAAI,GACRtB,EAAIsB,EAAI,GAIRhD,EAAI,EAAI8C,EAHZG,GAAQ,IAGYH,EAFpBI,GAAQ,IACRxB,GAAQ,MAEJyB,EAAInD,EAAI,EAAI,GAAK,EAAEA,GAAK,EAI5B,MAAO,EAHE,EAAEiD,EAAEjD,GAAKmD,GACT,EAAED,EAAElD,GAAKmD,GACT,EAAEzB,EAAE1B,GAAKmD,EACJnD,EAClB,EAIIoD,EAAWnE,EAAMS,OAqBjB2D,EAnBW,WAEX,IADA,IAAI1D,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,IAAIqC,GADJ3D,EAAOyD,EAASzD,EAAM,SACT,GACT4D,EAAI5D,EAAK,GACT6D,EAAI7D,EAAK,GACTK,EAAIL,EAAK,GACT8D,EAAQ9D,EAAKxB,OAAS,EAAIwB,EAAK,GAAK,EACxC,OAAU,IAANK,EAAkB,CAAC,EAAE,EAAE,EAAEyD,GACtB,CACHH,GAAK,EAAI,EAAI,KAAO,EAAEA,IAAM,EAAEtD,GAC9BuD,GAAK,EAAI,EAAI,KAAO,EAAEA,IAAM,EAAEvD,GAC9BwD,GAAK,EAAI,EAAI,KAAO,EAAEA,IAAM,EAAExD,GAC9ByD,EAER,EAIIC,EAAWd,EACXe,EAAUtB,EACVuB,EAAUnD,EACVoD,EAAW5E,EAAMS,OACjBoE,EAAS7E,EAAMQ,KAEfsE,EAAWhB,EAEfY,EAAQlF,UAAUuF,KAAO,WACrB,OAAOD,EAAS3C,KAAKa,KACzB,EAEAyB,EAASM,KAAO,WAEZ,IADA,IAAIrE,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAO4B,EAAS,CAAE,MAAOjB,OAAQ/C,EAAM,CAAC,UAChF,EAEAiE,EAAQlD,OAAOsD,KAAOX,EAEtBO,EAAQjD,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAOkE,EAASlE,EAAM,QACD,UAAjBmE,EAAOnE,IAAqC,IAAhBA,EAAKxB,OACjC,MAAO,MAEf,IAGJ,IAAI8F,EAAWhF,EAAMS,OACjBwE,EAASjF,EAAMkB,KACfgE,EAAM,SAAU1C,GAAK,OAAO1C,KAAKqF,MAAQ,IAAF3C,GAAO,GAAK,EA4BnD4C,EAlBY,WAEZ,IADA,IAAI1E,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAIqD,EAAOL,EAAStE,EAAM,QACtB2B,EAAO4C,EAAOvE,IAAS,MAU3B,OATA2E,EAAK,GAAKH,EAAIG,EAAK,IAAM,GACzBA,EAAK,GAAKH,EAAY,IAARG,EAAK,IAAU,IAC7BA,EAAK,GAAKH,EAAY,IAARG,EAAK,IAAU,IAChB,SAAThD,GAAoBgD,EAAKnG,OAAS,GAAKmG,EAAK,GAAG,GAC/CA,EAAK,GAAKA,EAAKnG,OAAS,EAAImG,EAAK,GAAK,EACtChD,EAAO,QAEPgD,EAAKnG,OAAS,EAEVmD,EAAO,IAAOgD,EAAKlC,KAAK,KAAQ,GAC5C,EAIImC,EAAWtF,EAAMS,OA8CjB8E,EApCY,WAEZ,IADA,IAAI7E,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,IAAIgC,GADJtD,EAAO4E,EAAS5E,EAAM,SACT,GACTuD,EAAIvD,EAAK,GACT+B,EAAI/B,EAAK,GAEbsD,GAAK,IACLC,GAAK,IACLxB,GAAK,IAEL,IAII+C,EAAGC,EAJH7G,EAAMkB,KAAKlB,IAAIoF,EAAGC,EAAGxB,GACrB5D,EAAMiB,KAAKjB,IAAImF,EAAGC,EAAGxB,GAErBtB,GAAKtC,EAAMD,GAAO,EAgBtB,OAbIC,IAAQD,GACR4G,EAAI,EACJC,EAAIC,OAAOC,KAEXH,EAAIrE,EAAI,IAAOtC,EAAMD,IAAQC,EAAMD,IAAQC,EAAMD,IAAQ,EAAIC,EAAMD,GAGnEoF,GAAKnF,EAAO4G,GAAKxB,EAAIxB,IAAM5D,EAAMD,GAC5BqF,GAAKpF,EAAO4G,EAAI,GAAKhD,EAAIuB,IAAMnF,EAAMD,GACrC6D,GAAK5D,IAAO4G,EAAI,GAAKzB,EAAIC,IAAMpF,EAAMD,KAE9C6G,GAAK,IACG,IAAKA,GAAK,KACd/E,EAAKxB,OAAO,QAAe8B,IAAVN,EAAK,GAAyB,CAAC+E,EAAED,EAAErE,EAAET,EAAK,IACxD,CAAC+E,EAAED,EAAErE,EAChB,EAIIyE,EAAW5F,EAAMS,OACjBoF,EAAS7F,EAAMkB,KACf4E,EAAUV,EACVW,EAAYR,EACZS,EAAUlG,KAAKqF,MA6Bfc,EAnBY,WAEZ,IADA,IAAIvF,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAIkE,EAAON,EAASlF,EAAM,QACtB2B,EAAOwD,EAAOnF,IAAS,MAC3B,MAAwB,OAApB2B,EAAK8D,OAAO,EAAE,GACPL,EAAQC,EAAUG,GAAO7D,IAEpC6D,EAAK,GAAKF,EAAQE,EAAK,IACvBA,EAAK,GAAKF,EAAQE,EAAK,IACvBA,EAAK,GAAKF,EAAQE,EAAK,KACV,SAAT7D,GAAoB6D,EAAKhH,OAAS,GAAKgH,EAAK,GAAG,KAC/CA,EAAK,GAAKA,EAAKhH,OAAS,EAAIgH,EAAK,GAAK,EACtC7D,EAAO,QAEHA,EAAO,IAAO6D,EAAK7F,MAAM,EAAS,QAAPgC,EAAa,EAAE,GAAGc,KAAK,KAAQ,IACtE,EAIIiD,EAAWpG,EAAMS,OACjB4F,EAAUvG,KAAKqF,MA4CfmB,EA1CY,WAIZ,IAHA,IAAIC,EAEA7F,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAGIgC,EAAEC,EAAExB,EAHJgD,GADJ/E,EAAO0F,EAAS1F,EAAM,QACT,GACT8E,EAAI9E,EAAK,GACTS,EAAIT,EAAK,GAEb,GAAU,IAAN8E,EACAxB,EAAIC,EAAIxB,EAAM,IAAFtB,MACT,CACH,IAAIqF,EAAK,CAAC,EAAE,EAAE,GACVnC,EAAI,CAAC,EAAE,EAAE,GACToC,EAAKtF,EAAI,GAAMA,GAAK,EAAEqE,GAAKrE,EAAEqE,EAAErE,EAAEqE,EACjCkB,EAAK,EAAIvF,EAAIsF,EACbE,EAAKlB,EAAI,IACbe,EAAG,GAAKG,EAAK,EAAE,EACfH,EAAG,GAAKG,EACRH,EAAG,GAAKG,EAAK,EAAE,EACf,IAAK,IAAIrG,EAAE,EAAGA,EAAE,EAAGA,IACXkG,EAAGlG,GAAK,IAAKkG,EAAGlG,IAAM,GACtBkG,EAAGlG,GAAK,IAAKkG,EAAGlG,IAAM,GACtB,EAAIkG,EAAGlG,GAAK,EACV+D,EAAE/D,GAAKoG,EAAiB,GAAXD,EAAKC,GAAUF,EAAGlG,GAC5B,EAAIkG,EAAGlG,GAAK,EACf+D,EAAE/D,GAAKmG,EACJ,EAAID,EAAGlG,GAAK,EACf+D,EAAE/D,GAAKoG,GAAMD,EAAKC,IAAQ,EAAI,EAAKF,EAAGlG,IAAM,EAE5C+D,EAAE/D,GAAKoG,EAEkD1C,GAAlEuC,EAAS,CAACF,EAAa,IAALhC,EAAE,IAAQgC,EAAa,IAALhC,EAAE,IAAQgC,EAAa,IAALhC,EAAE,MAAqB,GAAIJ,EAAIsC,EAAO,GAAI9D,EAAI8D,EAAO,EAChH,CACA,OAAI7F,EAAKxB,OAAS,EAEP,CAAC8E,EAAEC,EAAExB,EAAE/B,EAAK,IAEhB,CAACsD,EAAEC,EAAExB,EAAE,EAClB,EAIImE,EAAUN,EACVO,EAAUrF,EAEVsF,EAAS,kDACTC,EAAU,wEACVC,EAAa,mFACbC,EAAc,yGACdC,EAAS,kFACTC,EAAU,wGAEVC,GAAUtH,KAAKqF,MAEfkC,GAAY,SAAUC,GAEtB,IAAIhD,EAEJ,GAHAgD,EAAMA,EAAIlI,cAAcmI,OAGpBV,EAAQpF,OAAO+F,MACf,IACI,OAAOX,EAAQpF,OAAO+F,MAAMF,EAChC,CAAE,MAAOG,GAET,CAIJ,GAAKnD,EAAIgD,EAAII,MAAMZ,GAAU,CAEzB,IADA,IAAI5G,EAAMoE,EAAEjE,MAAM,EAAE,GACXC,EAAE,EAAGA,EAAE,EAAGA,IACfJ,EAAII,IAAMJ,EAAII,GAGlB,OADAJ,EAAI,GAAK,EACFA,CACX,CAGA,GAAKoE,EAAIgD,EAAII,MAAMX,GAAW,CAE1B,IADA,IAAIY,EAAQrD,EAAEjE,MAAM,EAAE,GACbrB,EAAI,EAAGA,EAAI,EAAGA,IACnB2I,EAAM3I,IAAQ2I,EAAM3I,GAExB,OAAO2I,CACX,CAGA,GAAKrD,EAAIgD,EAAII,MAAMV,GAAc,CAE7B,IADA,IAAIY,EAAQtD,EAAEjE,MAAM,EAAE,GACbwH,EAAI,EAAGA,EAAI,EAAGA,IACnBD,EAAMC,GAAOT,GAAqB,KAAbQ,EAAMC,IAG/B,OADAD,EAAM,GAAK,EACJA,CACX,CAGA,GAAKtD,EAAIgD,EAAII,MAAMT,GAAe,CAE9B,IADA,IAAIa,EAAQxD,EAAEjE,MAAM,EAAE,GACb0H,EAAI,EAAGA,EAAI,EAAGA,IACnBD,EAAMC,GAAOX,GAAqB,KAAbU,EAAMC,IAG/B,OADAD,EAAM,IAAMA,EAAM,GACXA,CACX,CAGA,GAAKxD,EAAIgD,EAAII,MAAMR,GAAU,CACzB,IAAIc,EAAM1D,EAAEjE,MAAM,EAAE,GACpB2H,EAAI,IAAM,IACVA,EAAI,IAAM,IACV,IAAIC,EAAQrB,EAAQoB,GAEpB,OADAC,EAAM,GAAK,EACJA,CACX,CAGA,GAAK3D,EAAIgD,EAAII,MAAMP,GAAW,CAC1B,IAAIe,EAAQ5D,EAAEjE,MAAM,EAAE,GACtB6H,EAAM,IAAM,IACZA,EAAM,IAAM,IACZ,IAAIC,EAAQvB,EAAQsB,GAEpB,OADAC,EAAM,IAAM7D,EAAE,GACP6D,CACX,CACJ,EAEAd,GAAUxE,KAAO,SAAU2C,GACvB,OAAOsB,EAAOjE,KAAK2C,IACfuB,EAAQlE,KAAK2C,IACbwB,EAAWnE,KAAK2C,IAChByB,EAAYpE,KAAK2C,IACjB0B,EAAOrE,KAAK2C,IACZ2B,EAAQtE,KAAK2C,EACrB,EAEA,IAEI4C,GAAWzE,EACX0E,GAAUjF,EACVkF,GAAU9G,EACV+G,GAASvI,EAAMQ,KAEfgI,GAAUvC,EACVwC,GARYpB,GAUhBgB,GAAQ7I,UAAU8H,IAAM,SAASjF,GAC7B,OAAOmG,GAAQrG,KAAKa,KAAMX,EAC9B,EAEA+F,GAASd,IAAM,WAEX,IADA,IAAI5G,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOuF,GAAS,CAAE,MAAO5E,OAAQ/C,EAAM,CAAC,SAChF,EAEA4H,GAAQ7G,OAAO6F,IAAMmB,GAErBH,GAAQ5G,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,SAAU4C,GAEZ,IADA,IAAIiD,EAAO,GAAI1G,EAAMC,UAAU/C,OAAS,EAChC8C,KAAQ,GAAI0G,EAAM1G,GAAQC,UAAWD,EAAM,GAEnD,IAAK0G,EAAKxJ,QAAwB,WAAdqJ,GAAO9C,IAAmBgD,GAAQ5F,KAAK4C,GACvD,MAAO,KAEf,IAGJ,IAAIkD,GAAUvF,EACVwF,GAAWjF,EAEXkF,GAAW7I,EAAMS,OADPe,EAGNC,OAAOqH,GAAK,WAEhB,IADA,IAAIpI,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAI9B,EAAM2I,GAASnI,EAAM,QAIzB,OAHAR,EAAI,IAAM,IACVA,EAAI,IAAM,IACVA,EAAI,IAAM,IACHA,CACX,EAEA0I,GAASE,GAAK,WAEV,IADA,IAAIpI,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAO6F,GAAS,CAAE,MAAOlF,OAAQ/C,EAAM,CAAC,QAChF,EAEAiI,GAAQnJ,UAAUsJ,GAAK,WACnB,IAAI5I,EAAMiC,KAAKa,KACf,MAAO,CAAC9C,EAAI,GAAG,IAAKA,EAAI,GAAG,IAAKA,EAAI,GAAG,IAAKA,EAAI,GACpD,EAEA,IAAI6I,GAAW/I,EAAMS,OA4BjBuI,GA1BY,WAEZ,IADA,IAAItI,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IASIyD,EATA1B,EAAMgF,GAASrI,EAAM,OACrBsD,EAAID,EAAI,GACRE,EAAIF,EAAI,GACRtB,EAAIsB,EAAI,GACRnF,EAAMkB,KAAKlB,IAAIoF,EAAGC,EAAGxB,GACrB5D,EAAMiB,KAAKjB,IAAImF,EAAGC,EAAGxB,GACrBwG,EAAQpK,EAAMD,EACdyF,EAAY,IAAR4E,EAAc,IAClBC,EAAKtK,GAAO,IAAMqK,GAAS,IAW/B,OATc,IAAVA,EACAxD,EAAIC,OAAOC,KAEP3B,IAAMnF,IAAO4G,GAAKxB,EAAIxB,GAAKwG,GAC3BhF,IAAMpF,IAAO4G,EAAI,GAAGhD,EAAIuB,GAAKiF,GAC7BxG,IAAM5D,IAAO4G,EAAI,GAAGzB,EAAIC,GAAKgF,IACjCxD,GAAK,IACG,IAAKA,GAAK,MAEf,CAACA,EAAGpB,EAAG6E,EAClB,EAIIC,GAAWnJ,EAAMS,OACjB2I,GAAUtJ,KAAKuJ,MA+CfC,GArCU,WAIV,IAHA,IAAI/C,EAAQgD,EAAUC,EAAUC,EAAUC,EAAUC,EAEhDjJ,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAGIgC,EAAEC,EAAExB,EAHJgD,GADJ/E,EAAOyI,GAASzI,EAAM,QACT,GACT2D,EAAI3D,EAAK,GACTwI,EAAKxI,EAAK,GAEdwI,GAAU,IACV,IAAIU,EAAS,IAAJvF,EACT,GAAU,IAANA,EACAL,EAAIC,EAAIxB,EAAIyG,MACT,CACO,MAANzD,IAAaA,EAAI,GACjBA,EAAI,MAAOA,GAAK,KAChBA,EAAI,IAAKA,GAAK,KAElB,IAAInF,EAAI8I,GADR3D,GAAK,IAEDvB,EAAIuB,EAAInF,EACRoC,EAAIwG,GAAM,EAAI7E,GACdwF,EAAInH,EAAIkH,GAAM,EAAI1F,GAClB4F,EAAIpH,EAAIkH,EAAK1F,EACb6F,EAAIrH,EAAIkH,EACZ,OAAQtJ,GACJ,KAAK,EAAwB0D,GAApBuC,EAAS,CAACwD,EAAGD,EAAGpH,IAAe,GAAIuB,EAAIsC,EAAO,GAAI9D,EAAI8D,EAAO,GAAK,MAC3E,KAAK,EAA0BvC,GAAtBuF,EAAW,CAACM,EAAGE,EAAGrH,IAAiB,GAAIuB,EAAIsF,EAAS,GAAI9G,EAAI8G,EAAS,GAAK,MACnF,KAAK,EAA0BvF,GAAtBwF,EAAW,CAAC9G,EAAGqH,EAAGD,IAAiB,GAAI7F,EAAIuF,EAAS,GAAI/G,EAAI+G,EAAS,GAAK,MACnF,KAAK,EAA0BxF,GAAtByF,EAAW,CAAC/G,EAAGmH,EAAGE,IAAiB,GAAI9F,EAAIwF,EAAS,GAAIhH,EAAIgH,EAAS,GAAK,MACnF,KAAK,EAA0BzF,GAAtB0F,EAAW,CAACI,EAAGpH,EAAGqH,IAAiB,GAAI9F,EAAIyF,EAAS,GAAIjH,EAAIiH,EAAS,GAAK,MACnF,KAAK,EAA0B1F,GAAtB2F,EAAW,CAACI,EAAGrH,EAAGmH,IAAiB,GAAI5F,EAAI0F,EAAS,GAAIlH,EAAIkH,EAAS,GAEtF,CACA,MAAO,CAAC3F,EAAGC,EAAGxB,EAAG/B,EAAKxB,OAAS,EAAIwB,EAAK,GAAK,EACjD,EAIIsJ,GAAWhK,EAAMS,OACjBwJ,GAASjK,EAAMQ,KACf0J,GAAWvG,EACXwG,GAAU/G,EACVgH,GAAU5I,EAEV6I,GAAUrB,GAEdmB,GAAQ3K,UAAU8K,IAAM,WACpB,OAAOD,GAAQlI,KAAKa,KACxB,EAEAkH,GAASI,IAAM,WAEX,IADA,IAAI5J,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOqH,GAAS,CAAE,MAAO1G,OAAQ/C,EAAM,CAAC,SAChF,EAEA0J,GAAQ3I,OAAO6I,IAAMhB,GAErBc,GAAQ1I,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAOsJ,GAAStJ,EAAM,OACD,UAAjBuJ,GAAOvJ,IAAqC,IAAhBA,EAAKxB,OACjC,MAAO,KAEf,IAGJ,IAAIqL,GAAWvK,EAAMS,OACjBS,GAAOlB,EAAMkB,KACbsJ,GAAU1K,KAAKqF,MA+BfsF,GA7BY,WAEZ,IADA,IAAI/J,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAI+B,EAAMwG,GAAS7J,EAAM,QACrBsD,EAAID,EAAI,GACRE,EAAIF,EAAI,GACRtB,EAAIsB,EAAI,GACRvB,EAAIuB,EAAI,GACR1B,EAAOnB,GAAKR,IAAS,YACfM,IAANwB,IAAmBA,EAAI,GACd,SAATH,IACAA,EAAOG,EAAI,EAAI,OAAS,OAK5B,IACIkI,EAAM,WAJV1G,EAAIwG,GAAQxG,KAGC,IAFbC,EAAIuG,GAAQvG,KAEW,GADvBxB,EAAI+H,GAAQ/H,KAEWhD,SAAS,IAChCiL,EAAMA,EAAIvE,OAAOuE,EAAIxL,OAAS,GAC9B,IAAIyL,EAAM,IAAMH,GAAY,IAAJhI,GAAS/C,SAAS,IAE1C,OADAkL,EAAMA,EAAIxE,OAAOwE,EAAIzL,OAAS,GACtBmD,EAAKjD,eACT,IAAK,OAAQ,MAAQ,IAAMsL,EAAMC,EACjC,IAAK,OAAQ,MAAQ,IAAMA,EAAMD,EACjC,QAAS,MAAQ,IAAMA,EAE/B,EAIIE,GAAS,sCACTC,GAAU,sCA8CVC,GA5CY,SAAU5H,GACtB,GAAIA,EAAIwE,MAAMkD,IAAS,CAEA,IAAf1H,EAAIhE,QAA+B,IAAfgE,EAAIhE,SACxBgE,EAAMA,EAAIiD,OAAO,IAGF,IAAfjD,EAAIhE,SAEJgE,GADAA,EAAMA,EAAIrC,MAAM,KACN,GAAGqC,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAEjD,IAAI6H,EAAIC,SAAS9H,EAAK,IAItB,MAAO,CAHC6H,GAAK,GACLA,GAAK,EAAI,IACL,IAAJA,EACM,EAClB,CAGA,GAAI7H,EAAIwE,MAAMmD,IAAU,CACD,IAAf3H,EAAIhE,QAA+B,IAAfgE,EAAIhE,SAExBgE,EAAMA,EAAIiD,OAAO,IAGF,IAAfjD,EAAIhE,SAEJgE,GADAA,EAAMA,EAAIrC,MAAM,KACN,GAAGqC,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAE/D,IAAI+H,EAAMD,SAAS9H,EAAK,IAKxB,MAAO,CAJG+H,GAAO,GAAK,IACZA,GAAO,GAAK,IACZA,GAAO,EAAI,IACbnL,KAAKqF,OAAa,IAAN8F,GAAc,IAAO,KAAO,IAEpD,CAMA,MAAM,IAAIlI,MAAO,sBAAwBG,EAC7C,EAIIgI,GAAWvH,EACXwH,GAAU/H,EACVgI,GAASpL,EAAMQ,KACf6K,GAAU7J,EAEV8J,GAAYb,GAEhBU,GAAQ3L,UAAU0D,IAAM,SAASb,GAC7B,OAAOiJ,GAAUnJ,KAAKa,KAAMX,EAChC,EAEA6I,GAAShI,IAAM,WAEX,IADA,IAAIxC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOqI,GAAS,CAAE,MAAO1H,OAAQ/C,EAAM,CAAC,SAChF,EAEA2K,GAAQ5J,OAAOyB,IAAM4H,GACrBO,GAAQ3J,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,SAAU4C,GAEZ,IADA,IAAIiD,EAAO,GAAI1G,EAAMC,UAAU/C,OAAS,EAChC8C,KAAQ,GAAI0G,EAAM1G,GAAQC,UAAWD,EAAM,GAEnD,IAAK0G,EAAKxJ,QAAwB,WAAdkM,GAAO3F,IAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG8F,QAAQ9F,EAAEvG,SAAW,EAC/E,MAAO,KAEf,IAGJ,IAAIsM,GAAWxL,EAAMS,OACjBgL,GAAUzL,EAAMoB,MAChBsK,GAAQ5L,KAAKlB,IACb+M,GAAS7L,KAAK8L,KACdC,GAAO/L,KAAK+L,KAmCZC,GAjCY,WAEZ,IADA,IAAIpL,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAMzC,IAOIyD,EAPA1B,EAAMyH,GAAS9K,EAAM,OACrBsD,EAAID,EAAI,GACRE,EAAIF,EAAI,GACRtB,EAAIsB,EAAI,GAKRgI,EAAOL,GAJX1H,GAAK,IACLC,GAAK,IACLxB,GAAK,KAGDnC,GAAK0D,EAAEC,EAAExB,GAAK,EACd+C,EAAIlF,EAAI,EAAI,EAAIyL,EAAKzL,EAAI,EAY7B,OAXU,IAANkF,EACAC,EAAIE,KAEJF,GAAMzB,EAAEC,GAAID,EAAEvB,IAAM,EACpBgD,GAAKkG,IAAQ3H,EAAEC,IAAID,EAAEC,IAAMD,EAAEvB,IAAIwB,EAAExB,IACnCgD,EAAIoG,GAAKpG,GACLhD,EAAIwB,IACJwB,EAAIgG,GAAUhG,GAElBA,GAAKgG,IAEF,CAAG,IAAFhG,EAAMD,EAAElF,EACpB,EAII0L,GAAWhM,EAAMS,OACjBF,GAAQP,EAAMO,MACd0L,GAAUjM,EAAMoB,MAChBC,GAAUrB,EAAMqB,QAChB6K,GAAQpM,KAAKqM,IAgDbC,GAzCU,WAEV,IADA,IAAI1L,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAOzC,IAGIgC,EAAEC,EAAExB,EAHJgD,GADJ/E,EAAOsL,GAAStL,EAAM,QACT,GACT8E,EAAI9E,EAAK,GACTJ,EAAII,EAAK,GA2Bb,OAxBI2L,MAAM5G,KAAMA,EAAI,GAChB4G,MAAM7G,KAAMA,EAAI,GAEhBC,EAAI,MAAOA,GAAK,KAChBA,EAAI,IAAKA,GAAK,MAClBA,GAAK,KACG,EAAE,EAGNxB,EAAI,IAFJxB,GAAK,EAAE+C,GAAG,IACVxB,GAAK,EAAEwB,EAAE0G,GAAMD,GAAQxG,GAAGyG,GAAM7K,GAAQ4K,GAAQxG,IAAI,IAE7CA,EAAI,EAAE,EAIbhD,EAAI,IAFJuB,GAAK,EAAEwB,GAAG,IACVvB,GAAK,EAAEuB,EAAE0G,GAAMD,IAFfxG,GAAK,EAAE,IAEmByG,GAAM7K,GAAQ4K,GAAQxG,IAAI,IAMpDzB,EAAI,IAFJC,GAAK,EAAEuB,GAAG,IACV/C,GAAK,EAAE+C,EAAE0G,GAAMD,IAFfxG,GAAK,EAAE,IAEmByG,GAAM7K,GAAQ4K,GAAQxG,IAAI,IAMjD,CAAG,KAHVzB,EAAIzD,GAAMD,EAAE0D,EAAE,IAGG,KAFjBC,EAAI1D,GAAMD,EAAE2D,EAAE,IAEU,KADxBxB,EAAIlC,GAAMD,EAAEmC,EAAE,IACe/B,EAAKxB,OAAS,EAAIwB,EAAK,GAAK,EAC7D,EAII4L,GAAWtM,EAAMS,OACjB8L,GAASvM,EAAMQ,KACfgM,GAAW7I,EACX8I,GAAUrJ,EACVsJ,GAAUlL,EAEVmL,GAAUb,GAEdW,GAAQjN,UAAUoN,IAAM,WACpB,OAAOD,GAAQxK,KAAKa,KACxB,EAEAwJ,GAASI,IAAM,WAEX,IADA,IAAIlM,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAO2J,GAAS,CAAE,MAAOhJ,OAAQ/C,EAAM,CAAC,SAChF,EAEAgM,GAAQjL,OAAOmL,IAAMR,GAErBM,GAAQhL,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAO4L,GAAS5L,EAAM,OACD,UAAjB6L,GAAO7L,IAAqC,IAAhBA,EAAKxB,OACjC,MAAO,KAEf,IAGJ,IAAI2N,GAAW7M,EAAMS,OACjBqM,GAAS9M,EAAMQ,KACfuM,GAAWpJ,EACXqJ,GAAU5J,EACV6J,GAAUzL,EAEV0L,GAAY3H,EAEhByH,GAAQxN,UAAUwI,IAAM,WACpB,OAAOkF,GAAU/K,KAAKa,KAC1B,EAEA+J,GAAS/E,IAAM,WAEX,IADA,IAAItH,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOkK,GAAS,CAAE,MAAOvJ,OAAQ/C,EAAM,CAAC,SAChF,EAEAuM,GAAQxL,OAAOuG,IAAM1B,EAErB2G,GAAQvL,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAOmM,GAASnM,EAAM,OACD,UAAjBoM,GAAOpM,IAAqC,IAAhBA,EAAKxB,OACjC,MAAO,KAEf,IAGJ,IAAIiO,GAAWnN,EAAMS,OACjB2M,GAAQtN,KAAKlB,IACbyO,GAAQvN,KAAKjB,IAmCbyO,GA3BU,WAEV,IADA,IAAI5M,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,IAMIyD,EAAED,EAAEuE,EANJ/F,GADJtD,EAAOyM,GAASzM,EAAM,QACT,GACTuD,EAAIvD,EAAK,GACT+B,EAAI/B,EAAK,GACTqL,EAAOqB,GAAMpJ,EAAGC,EAAGxB,GACnB8K,EAAOF,GAAMrJ,EAAGC,EAAGxB,GACnBwG,EAAQsE,EAAOxB,EAcnB,OAZAhC,EAAIwD,EAAO,IACE,IAATA,GACA9H,EAAIC,OAAOC,IACXH,EAAI,IAEJA,EAAIyD,EAAQsE,EACRvJ,IAAMuJ,IAAQ9H,GAAKxB,EAAIxB,GAAKwG,GAC5BhF,IAAMsJ,IAAQ9H,EAAI,GAAGhD,EAAIuB,GAAKiF,GAC9BxG,IAAM8K,IAAQ9H,EAAI,GAAGzB,EAAIC,GAAKgF,IAClCxD,GAAK,IACG,IAAKA,GAAK,MAEf,CAACA,EAAGD,EAAGuE,EAClB,EAIIyD,GAAWxN,EAAMS,OACjBgN,GAAU3N,KAAKuJ,MAuCfqE,GArCU,WAIV,IAHA,IAAInH,EAAQgD,EAAUC,EAAUC,EAAUC,EAAUC,EAEhDjJ,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAGIgC,EAAEC,EAAExB,EAHJgD,GADJ/E,EAAO8M,GAAS9M,EAAM,QACT,GACT8E,EAAI9E,EAAK,GACTqJ,EAAIrJ,EAAK,GAGb,GADAqJ,GAAK,IACK,IAANvE,EACAxB,EAAIC,EAAIxB,EAAIsH,MACT,CACO,MAANtE,IAAaA,EAAI,GACjBA,EAAI,MAAOA,GAAK,KAChBA,EAAI,IAAKA,GAAK,KAGlB,IAAInF,EAAImN,GAFRhI,GAAK,IAGDvB,EAAIuB,EAAInF,EACRoC,EAAIqH,GAAK,EAAIvE,GACbqE,EAAIE,GAAK,EAAIvE,EAAItB,GACjB4F,EAAIC,GAAK,EAAIvE,GAAK,EAAItB,IAE1B,OAAQ5D,GACJ,KAAK,EAAwB0D,GAApBuC,EAAS,CAACwD,EAAGD,EAAGpH,IAAe,GAAIuB,EAAIsC,EAAO,GAAI9D,EAAI8D,EAAO,GAAK,MAC3E,KAAK,EAA0BvC,GAAtBuF,EAAW,CAACM,EAAGE,EAAGrH,IAAiB,GAAIuB,EAAIsF,EAAS,GAAI9G,EAAI8G,EAAS,GAAK,MACnF,KAAK,EAA0BvF,GAAtBwF,EAAW,CAAC9G,EAAGqH,EAAGD,IAAiB,GAAI7F,EAAIuF,EAAS,GAAI/G,EAAI+G,EAAS,GAAK,MACnF,KAAK,EAA0BxF,GAAtByF,EAAW,CAAC/G,EAAGmH,EAAGE,IAAiB,GAAI9F,EAAIwF,EAAS,GAAIhH,EAAIgH,EAAS,GAAK,MACnF,KAAK,EAA0BzF,GAAtB0F,EAAW,CAACI,EAAGpH,EAAGqH,IAAiB,GAAI9F,EAAIyF,EAAS,GAAIjH,EAAIiH,EAAS,GAAK,MACnF,KAAK,EAA0B1F,GAAtB2F,EAAW,CAACI,EAAGrH,EAAGmH,IAAiB,GAAI5F,EAAI0F,EAAS,GAAIlH,EAAIkH,EAAS,GAEtF,CACA,MAAO,CAAC3F,EAAEC,EAAExB,EAAE/B,EAAKxB,OAAS,EAAEwB,EAAK,GAAG,EAC1C,EAIIiN,GAAW3N,EAAMS,OACjBmN,GAAS5N,EAAMQ,KACfqN,GAAWlK,EACXmK,GAAU1K,EACV2K,GAAUvM,EAEVwM,GAAUV,GAEdQ,GAAQtO,UAAUyO,IAAM,WACpB,OAAOD,GAAQ7L,KAAKa,KACxB,EAEA6K,GAASI,IAAM,WAEX,IADA,IAAIvN,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOgL,GAAS,CAAE,MAAOrK,OAAQ/C,EAAM,CAAC,SAChF,EAEAqN,GAAQtM,OAAOwM,IAAMP,GAErBK,GAAQrM,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAOiN,GAASjN,EAAM,OACD,UAAjBkN,GAAOlN,IAAqC,IAAhBA,EAAKxB,OACjC,MAAO,KAEf,IAGJ,IAAIgP,GAAe,CAEfC,GAAI,GAGJC,GAAI,OACJC,GAAI,EACJC,GAAI,QAEJC,GAAI,WACJ7H,GAAI,WACJD,GAAI,UACJD,GAAI,YAGJgI,GAAkBN,GAClBO,GAAWzO,EAAMS,OACjBiO,GAAQ5O,KAAK6O,IAkBbC,GAAU,SAAU5K,GACpB,OAAKA,GAAK,MAAQ,OAAkBA,EAAI,MACjC0K,IAAO1K,EAAI,MAAS,MAAO,IACtC,EAEI6K,GAAU,SAAU/E,GACpB,OAAIA,EAAI0E,GAAgBhI,GAAakI,GAAM5E,EAAG,EAAI,GAC3CA,EAAI0E,GAAgB/H,GAAK+H,GAAgBD,EACpD,EAEIO,GAAU,SAAU9K,EAAEC,EAAExB,GAOxB,OANAuB,EAAI4K,GAAQ5K,GACZC,EAAI2K,GAAQ3K,GACZxB,EAAImM,GAAQnM,GAIL,CAHCoM,IAAS,SAAY7K,EAAI,SAAYC,EAAI,SAAYxB,GAAK+L,GAAgBJ,IAC1ES,IAAS,SAAY7K,EAAI,SAAYC,EAAI,QAAYxB,GAAK+L,GAAgBH,IAC1EQ,IAAS,SAAY7K,EAAI,QAAYC,EAAI,SAAYxB,GAAK+L,GAAgBF,IAEtF,EAEIS,GApCY,WAEZ,IADA,IAAIrO,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAI+B,EAAM0K,GAAS/N,EAAM,OACrBsD,EAAID,EAAI,GACRE,EAAIF,EAAI,GACRtB,EAAIsB,EAAI,GACRiL,EAAQF,GAAQ9K,EAAEC,EAAExB,GACpB9D,EAAIqQ,EAAM,GACVzK,EAAIyK,EAAM,GAEV7N,EAAI,IAAMoD,EAAI,GAClB,MAAO,CAACpD,EAAI,EAAI,EAAIA,EAAG,KAAOxC,EAAI4F,GAAI,KAAOA,EAFrCyK,EAAM,IAGlB,EAwBIC,GAAkBf,GAClBgB,GAAWlP,EAAMS,OACjB0O,GAAQrP,KAAK6O,IAgCbS,GAAU,SAAUpL,GACpB,OAAO,KAAOA,GAAK,OAAU,MAAQA,EAAI,MAAQmL,GAAMnL,EAAG,EAAI,KAAO,KACzE,EAEIqL,GAAU,SAAUvF,GACpB,OAAOA,EAAImF,GAAgBvI,GAAKoD,EAAIA,EAAIA,EAAImF,GAAgBxI,IAAMqD,EAAImF,GAAgBV,GAC1F,EAEIe,GAjCY,WAEZ,IADA,IAAI5O,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,IAGIrD,EAAE4F,EAAEgL,EAHJpO,GADJT,EAAOwO,GAASxO,EAAM,QACT,GACT8B,EAAI9B,EAAK,GACT+B,EAAI/B,EAAK,GAeb,OAZA6D,GAAKpD,EAAI,IAAM,IACfxC,EAAI0N,MAAM7J,GAAK+B,EAAIA,EAAI/B,EAAI,IAC3B+M,EAAIlD,MAAM5J,GAAK8B,EAAIA,EAAI9B,EAAI,IAE3B8B,EAAI0K,GAAgBZ,GAAKgB,GAAQ9K,GACjC5F,EAAIsQ,GAAgBb,GAAKiB,GAAQ1Q,GACjC4Q,EAAIN,GAAgBX,GAAKe,GAAQE,GAM1B,CAJHH,GAAQ,UAAYzQ,EAAI,UAAY4F,EAAI,SAAYgL,GACpDH,IAAS,QAAYzQ,EAAI,UAAY4F,EAAI,QAAYgL,GACpDH,GAAQ,SAAYzQ,EAAI,SAAY4F,EAAI,UAAYgL,GAE1C7O,EAAKxB,OAAS,EAAIwB,EAAK,GAAK,EAC/C,EAYI8O,GAAWxP,EAAMS,OACjBgP,GAASzP,EAAMQ,KACfkP,GAAW/L,EACXgM,GAAUvM,EACVwM,GAAUpO,EAEVqO,GAAYd,GAEhBY,GAAQnQ,UAAUsQ,IAAM,WACpB,OAAOD,GAAU1N,KAAKa,KAC1B,EAEA0M,GAASI,IAAM,WAEX,IADA,IAAIpP,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAO6M,GAAS,CAAE,MAAOlM,OAAQ/C,EAAM,CAAC,SAChF,EAEAkP,GAAQnO,OAAOqO,IAAMR,GAErBM,GAAQlO,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAO8O,GAAS9O,EAAM,OACD,UAAjB+O,GAAO/O,IAAqC,IAAhBA,EAAKxB,OACjC,MAAO,KAEf,IAGJ,IAAI6Q,GAAW/P,EAAMS,OACjBc,GAAUvB,EAAMuB,QAChByO,GAASlQ,KAAK8L,KACdqE,GAAUnQ,KAAKoQ,MACfC,GAAUrQ,KAAKqF,MAgBfiL,GAdY,WAEZ,IADA,IAAI1P,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAI+B,EAAMgM,GAASrP,EAAM,OACrBS,EAAI4C,EAAI,GACRvB,EAAIuB,EAAI,GACRtB,EAAIsB,EAAI,GACRM,EAAI2L,GAAOxN,EAAIA,EAAIC,EAAIA,GACvBgD,GAAKwK,GAAQxN,EAAGD,GAAKjB,GAAU,KAAO,IAE1C,OADyB,IAArB4O,GAAU,IAAF9L,KAAkBoB,EAAIC,OAAOC,KAClC,CAACxE,EAAGkD,EAAGoB,EAClB,EAII4K,GAAWrQ,EAAMS,OACjB6P,GAAUvB,GACVwB,GAAYH,GAiBZI,GAfY,WAEZ,IADA,IAAI9P,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAI+B,EAAMsM,GAAS3P,EAAM,OACrBsD,EAAID,EAAI,GACRE,EAAIF,EAAI,GACRtB,EAAIsB,EAAI,GACRiL,EAAQsB,GAAQtM,EAAEC,EAAExB,GACpBtB,EAAI6N,EAAM,GACVxM,EAAIwM,EAAM,GACVyB,EAAKzB,EAAM,GACf,OAAOuB,GAAUpP,EAAEqB,EAAEiO,EACzB,EAIIC,GAAW1Q,EAAMS,OACjBa,GAAUtB,EAAMsB,QAChBqP,GAAQ7Q,KAAK8Q,IACbC,GAAQ/Q,KAAKqM,IAsBb2E,GApBY,WAEZ,IADA,IAAIpQ,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GASzC,IAAI+B,EAAM2M,GAAShQ,EAAM,OACrBS,EAAI4C,EAAI,GACRM,EAAIN,EAAI,GACR0B,EAAI1B,EAAI,GAGZ,OAFIsI,MAAM5G,KAAMA,EAAI,GAEb,CAACtE,EAAG0P,GADXpL,GAAQnE,IACc+C,EAAGsM,GAAMlL,GAAKpB,EACxC,EAII0M,GAAW/Q,EAAMS,OACjBuQ,GAAYF,GACZG,GAAU3B,GAqBV4B,GAnBY,WAEZ,IADA,IAAIxQ,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,IAAIb,GADJT,EAAOqQ,GAASrQ,EAAM,QACT,GACT2D,EAAI3D,EAAK,GACT+E,EAAI/E,EAAK,GACTqD,EAAMiN,GAAW7P,EAAEkD,EAAEoB,GACrB0L,EAAIpN,EAAI,GACRvB,EAAIuB,EAAI,GACR0M,EAAK1M,EAAI,GACTiL,EAAQiC,GAASE,EAAE3O,EAAEiO,GAIzB,MAAO,CAHCzB,EAAM,GACNA,EAAM,GACNA,EAAM,GACGtO,EAAKxB,OAAS,EAAIwB,EAAK,GAAK,EACjD,EAII0Q,GAAWpR,EAAMS,OACjB4Q,GAAUH,GAUVI,GARU,WAEV,IADA,IAAI5Q,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAIuP,EAAMH,GAAS1Q,EAAM,OAAO8Q,UAChC,OAAOH,GAAQvO,WAAM,EAAQyO,EACjC,EAIIE,GAAWzR,EAAMS,OACjBiR,GAAS1R,EAAMQ,KACfmR,GAAWhO,EACXiO,GAAUxO,EACVyO,GAAUrQ,EAEVsQ,GAAUtB,GAEdoB,GAAQpS,UAAUuS,IAAM,WAAa,OAAOD,GAAQ3P,KAAKa,KAAO,EAChE4O,GAAQpS,UAAU+R,IAAM,WAAa,OAAOO,GAAQ3P,KAAKa,MAAMwO,SAAW,EAE1EG,GAASI,IAAM,WAEX,IADA,IAAIrR,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAO8O,GAAS,CAAE,MAAOnO,OAAQ/C,EAAM,CAAC,SAChF,EACAiR,GAASJ,IAAM,WAEX,IADA,IAAI7Q,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAO8O,GAAS,CAAE,MAAOnO,OAAQ/C,EAAM,CAAC,SAChF,EAEAmR,GAAQpQ,OAAOsQ,IAAMb,GACrBW,GAAQpQ,OAAO8P,IAAMD,GAErB,CAAC,MAAM,OAAOU,SAAQ,SAAU1N,GAAK,OAAOuN,GAAQnQ,WAAWuB,KAAK,CAChEP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAO+Q,GAAS/Q,EAAM4D,GACD,UAAjBoN,GAAOhR,IAAqC,IAAhBA,EAAKxB,OACjC,OAAOoF,CAEf,GACA,IAQJ,IA8JI2N,GA9JW,CACXC,UAAW,UACXC,aAAc,UACdC,KAAM,UACNC,WAAY,UACZC,MAAO,UACPC,MAAO,UACPC,OAAQ,UACRC,MAAO,UACPC,eAAgB,UAChBC,KAAM,UACNC,WAAY,UACZC,MAAO,UACPC,UAAW,UACXC,UAAW,UACXC,WAAY,UACZC,UAAW,UACXC,MAAO,UACPC,WAAY,UACZC,eAAgB,UAChBC,SAAU,UACVC,QAAS,UACTC,KAAM,UACNC,SAAU,UACVC,SAAU,UACVC,cAAe,UACfC,SAAU,UACVC,UAAW,UACXC,SAAU,UACVC,UAAW,UACXC,YAAa,UACbC,eAAgB,UAChBC,WAAY,UACZC,WAAY,UACZC,QAAS,UACTC,WAAY,UACZC,aAAc,UACdC,cAAe,UACfC,cAAe,UACfC,cAAe,UACfC,cAAe,UACfC,WAAY,UACZC,SAAU,UACVC,YAAa,UACbC,QAAS,UACTC,QAAS,UACTC,WAAY,UACZC,UAAW,UACXC,YAAa,UACbC,YAAa,UACbC,QAAS,UACTC,UAAW,UACXC,WAAY,UACZC,KAAM,UACNC,UAAW,UACXC,KAAM,UACNC,MAAO,UACPC,YAAa,UACbC,KAAM,UACNC,SAAU,UACVC,QAAS,UACTC,UAAW,UACXC,OAAQ,UACRC,MAAO,UACPC,MAAO,UACPC,WAAY,UACZC,SAAU,UACVC,cAAe,UACfC,UAAW,UACXC,aAAc,UACdC,UAAW,UACXC,WAAY,UACZC,UAAW,UACXC,eAAgB,UAChBC,qBAAsB,UACtBC,UAAW,UACXC,WAAY,UACZC,UAAW,UACXC,UAAW,UACXC,YAAa,UACbC,cAAe,UACfC,aAAc,UACdC,eAAgB,UAChBC,eAAgB,UAChBC,eAAgB,UAChBC,YAAa,UACbC,KAAM,UACNC,UAAW,UACXC,MAAO,UACPC,QAAS,UACTC,OAAQ,UACRC,QAAS,UACTC,QAAS,UACTC,iBAAkB,UAClBC,WAAY,UACZC,aAAc,UACdC,aAAc,UACdC,eAAgB,UAChBC,gBAAiB,UACjBC,kBAAmB,UACnBC,gBAAiB,UACjBC,gBAAiB,UACjBC,aAAc,UACdC,UAAW,UACXC,UAAW,UACXC,SAAU,UACVC,YAAa,UACbC,KAAM,UACNC,QAAS,UACTC,MAAO,UACPC,UAAW,UACXC,OAAQ,UACRC,UAAW,UACXC,OAAQ,UACRC,cAAe,UACfC,UAAW,UACXC,cAAe,UACfC,cAAe,UACfC,WAAY,UACZC,UAAW,UACXC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,WAAY,UACZC,OAAQ,UACRC,QAAS,UACTC,QAAS,UACTC,cAAe,UACfC,IAAK,UACLC,UAAW,UACXC,UAAW,UACXC,YAAa,UACbC,OAAQ,UACRC,WAAY,UACZC,SAAU,UACVC,SAAU,UACVC,OAAQ,UACRC,OAAQ,UACRC,QAAS,UACTC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,KAAM,UACNC,YAAa,UACbC,UAAW,UACXC,IAAK,UACLC,KAAM,UACNC,QAAS,UACTC,OAAQ,UACRC,UAAW,UACXC,OAAQ,UACRC,MAAO,UACPC,MAAO,UACPC,WAAY,UACZC,OAAQ,UACRC,YAAa,WAMbC,GAAUra,EACVsa,GAAS9b,EAAMQ,KAEfub,GAAS9J,GACT+J,GAAUlR,GACVmR,GAAUxR,GANArH,EAQN5D,UAAUL,KAAO,WAErB,IADA,IAAI+D,EAAM+Y,GAAQ9Z,KAAKa,KAAM,OACpB1C,EAAI,EAAGqC,EAAOpD,OAAO2c,KAAKH,IAASzb,EAAIqC,EAAKzD,OAAQoB,GAAK,EAAG,CACjE,IAAI6b,EAAIxZ,EAAKrC,GAEb,GAAIyb,GAAOI,KAAOjZ,EAAO,OAAOiZ,EAAE/c,aACtC,CACA,OAAO8D,CACX,EAEA2Y,GAAQpa,OAAO+F,MAAQ,SAAUrI,GAE7B,GADAA,EAAOA,EAAKC,cACR2c,GAAO5c,GAAS,OAAO6c,GAAQD,GAAO5c,IAC1C,MAAM,IAAI4D,MAAM,uBAAuB5D,EAC3C,EAEA0c,GAAQna,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,SAAU4C,GAEZ,IADA,IAAIiD,EAAO,GAAI1G,EAAMC,UAAU/C,OAAS,EAChC8C,KAAQ,GAAI0G,EAAM1G,GAAQC,UAAWD,EAAM,GAEnD,IAAK0G,EAAKxJ,QAAwB,WAAd4c,GAAOrW,IAAmBsW,GAAOtW,EAAErG,eACnD,MAAO,OAEf,IAGJ,IAAIgd,GAAWpc,EAAMS,OAajB4b,GAXY,WAEZ,IADA,IAAI3b,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAI+B,EAAMqY,GAAS1b,EAAM,OAIzB,OAHQqD,EAAI,IAGC,KAFLA,EAAI,IAEa,GADjBA,EAAI,EAEhB,EAIIuY,GAAStc,EAAMQ,KAcf+b,GAAW5Y,EACX6Y,GAAUpZ,EACVqZ,GAAUjb,EACVkb,GAAS1c,EAAMQ,KAEfmc,GAAUN,GAEdG,GAAQhd,UAAUod,IAAM,WACpB,OAAOD,GAAQxa,KAAKa,KACxB,EAEAuZ,GAASK,IAAM,WAEX,IADA,IAAIlc,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAO0Z,GAAS,CAAE,MAAO/Y,OAAQ/C,EAAM,CAAC,SAChF,EAEA+b,GAAQhb,OAAOmb,IA9BD,SAAUA,GACpB,GAAmB,UAAfN,GAAOM,IAAoBA,GAAO,GAAKA,GAAO,SAI9C,MAAO,CAHCA,GAAO,GACNA,GAAO,EAAK,IACP,IAANA,EACM,GAElB,MAAM,IAAI7Z,MAAM,sBAAsB6Z,EAC1C,EAwBAH,GAAQ/a,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,GAAoB,IAAhBtB,EAAKxB,QAAoC,WAApBwd,GAAOhc,EAAK,KAAoBA,EAAK,IAAM,GAAKA,EAAK,IAAM,SAChF,MAAO,KAEf,IAGJ,IAAImc,GAAWlZ,EACXmZ,GAAU1Z,EACV2Z,GAAUvb,EACVwb,GAAWhd,EAAMS,OACjBwc,GAASjd,EAAMQ,KACf0c,GAAUpd,KAAKqF,MAEnB2X,GAAQtd,UAAUU,IAAM,SAASgF,GAG7B,YAFa,IAARA,IAAiBA,GAAI,IAEd,IAARA,EAAwB/C,KAAKa,KAAK3C,MAAM,EAAE,GACvC8B,KAAKa,KAAK3C,MAAM,EAAE,GAAGY,IAAIic,GACpC,EAEAJ,GAAQtd,UAAU0G,KAAO,SAAShB,GAG9B,YAFa,IAARA,IAAiBA,GAAI,GAEnB/C,KAAKa,KAAK3C,MAAM,EAAE,GAAGY,KAAI,SAAU8I,EAAEzJ,GACxC,OAAOA,EAAE,GAAa,IAAR4E,EAAgB6E,EAAImT,GAAQnT,GAAMA,CACpD,GACJ,EAEA8S,GAAS3c,IAAM,WAEX,IADA,IAAIQ,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOga,GAAS,CAAE,MAAOrZ,OAAQ/C,EAAM,CAAC,SAChF,EAEAqc,GAAQtb,OAAOvB,IAAM,WAEjB,IADA,IAAIQ,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAIkE,EAAO8W,GAAStc,EAAM,QAE1B,YADgBM,IAAZkF,EAAK,KAAoBA,EAAK,GAAK,GAChCA,CACX,EAEA6W,GAAQrb,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAOsc,GAAStc,EAAM,QACD,UAAjBuc,GAAOvc,KAAsC,IAAhBA,EAAKxB,QAClB,IAAhBwB,EAAKxB,QAAmC,UAAnB+d,GAAOvc,EAAK,KAAmBA,EAAK,IAAM,GAAKA,EAAK,IAAM,GAC/E,MAAO,KAEf,IAQJ,IAAIyc,GAAQrd,KAAKsd,IAiBbC,GAfoB,SAAUC,GAC9B,IACItZ,EAAEC,EAAExB,EADJ8a,EAAOD,EAAS,IAWpB,OATIC,EAAO,IACPvZ,EAAI,IACJC,EAAIsZ,EAAO,EAAI,GAAK,mBAAqB,oBAAuBtZ,EAAIsZ,EAAK,GAAK,mBAAqBJ,GAAMlZ,GACzGxB,EAAI8a,EAAO,GAAK,EAA0B,mBAAsB9a,EAAI8a,EAAK,IAApD,mBAA0D,mBAAqBJ,GAAM1a,KAE1GuB,EAAI,mBAAqB,kBAAqBA,EAAIuZ,EAAK,IAAM,kBAAoBJ,GAAMnZ,GACvFC,EAAI,kBAAoB,oBAAuBA,EAAIsZ,EAAK,IAAM,iBAAmBJ,GAAMlZ,GACvFxB,EAAI,KAED,CAACuB,EAAEC,EAAExB,EAAE,EAClB,EASI+a,GAAkBH,GAClBI,GAAWzd,EAAMS,OACjB0E,GAAQrF,KAAKqF,MA0BbuY,GAAW/Z,EACXga,GAAUva,EACVwa,GAAUpc,EAEVqc,GA5BoB,WAEpB,IADA,IAAInd,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAQzC,IANA,IAKIub,EALArd,EAAMud,GAAS/c,EAAM,OACrBsD,EAAI9D,EAAI,GAAIuC,EAAIvC,EAAI,GACpB4d,EAAU,IACVC,EAAU,IAGPA,EAAUD,EAFP,IAEsB,CAE5B,IAAInW,EAAQ6V,GADZD,EAA6B,IAArBQ,EAAUD,IAEbnW,EAAM,GAAKA,EAAM,IAAQlF,EAAIuB,EAC9B+Z,EAAUR,EAEVO,EAAUP,CAElB,CACA,OAAOpY,GAAMoY,EACjB,EAUAI,GAAQne,UAAU+d,KAClBI,GAAQne,UAAU8d,OAClBK,GAAQne,UAAUwe,YAAc,WAC5B,OAAOH,GAAgB1b,KAAKa,KAChC,EAEA0a,GAASH,KACTG,GAASJ,OACTI,GAASM,YAAc,WAEnB,IADA,IAAItd,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAO6a,GAAS,CAAE,MAAOla,OAAQ/C,EAAM,CAAC,UAChF,EAEAkd,GAAQnc,OAAO8b,KACfK,GAAQnc,OAAO6b,OACfM,GAAQnc,OAAOuc,YAAcX,GAE7B,IAAIY,GAAWje,EAAMS,OACjByd,GAAOpe,KAAKoe,KACZC,GAAQre,KAAK6O,IACbyP,GAASte,KAAKue,KA2BdC,GAzBc,WAEd,IADA,IAAI5d,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAIzC,IAAI+B,EAAMka,GAASvd,EAAM,OACrBsD,EAAID,EAAI,GACRE,EAAIF,EAAI,GACRtB,EAAIsB,EAAI,GACRiL,EAAQ,CAACuP,GAASva,EAAI,KAAMua,GAASta,EAAI,KAAMsa,GAAS9b,EAAI,MAC5D+b,EAAKxP,EAAM,GACXyP,EAAKzP,EAAM,GACX0P,EAAK1P,EAAM,GACX7N,EAAI+c,GAAK,YAAeM,EAAK,YAAeC,EAAK,YAAeC,GAChEpa,EAAI4Z,GAAK,YAAeM,EAAK,YAAeC,EAAK,YAAeC,GAChElZ,EAAI0Y,GAAK,YAAeM,EAAK,YAAeC,EAAK,YAAeC,GAEpE,MAAO,CACH,YAAevd,EAAI,WAAcmD,EAAI,YAAekB,EACpD,aAAerE,EAAI,YAAcmD,EAAI,YAAekB,EACpD,YAAerE,EAAI,YAAemD,EAAI,WAAckB,EAE5D,EAIA,SAAS+Y,GAASla,GACd,IAAIsa,EAAM7e,KAAK6e,IAAIta,GACnB,OAAIsa,EAAM,OACCta,EAAI,OAEP+Z,GAAO/Z,IAAM,GAAK8Z,IAAOQ,EAAM,MAAS,MAAO,IAC3D,CAEA,IAAIC,GAAW5e,EAAMS,OACjBoe,GAAQ/e,KAAK6O,IACb0P,GAAOve,KAAKue,KA4BZS,GArBc,WAEd,IADA,IAAIpe,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,IAAImP,GADJzQ,EAAOke,GAASle,EAAM,QACT,GACT8B,EAAI9B,EAAK,GACT+B,EAAI/B,EAAK,GAETS,EAAI0d,GAAM1N,EAAI,YAAe3O,EAAI,YAAeC,EAAG,GACnD6B,EAAIua,GAAM1N,EAAI,YAAe3O,EAAI,YAAeC,EAAG,GACnD+C,EAAIqZ,GAAM1N,EAAI,YAAe3O,EAAI,YAAcC,EAAG,GAEtD,MAAO,CACH,IAAMsc,GAAS,aAAgB5d,EAAI,aAAemD,EAAI,YAAekB,GACrE,IAAMuZ,IAAU,aAAe5d,EAAI,aAAemD,EAAI,YAAekB,GACrE,IAAMuZ,IAAU,YAAe5d,EAAI,YAAemD,EAAI,YAAckB,GACpE9E,EAAKxB,OAAS,EAAIwB,EAAK,GAAK,EAEpC,EAIA,SAASqe,GAAS1a,GACd,IAAIsa,EAAM7e,KAAK6e,IAAIta,GACnB,OAAIsa,EAAM,UACEN,GAAKha,IAAM,IAAM,MAAQwa,GAAMF,EAAK,EAAI,KAAO,MAEhD,MAAJta,CACX,CAEA,IAAI2a,GAAWhf,EAAMS,OACjBwe,GAASjf,EAAMQ,KACf0e,GAAWvb,EACXwb,GAAU/b,EACVgc,GAAU5d,EAEV6d,GAAcf,GAElBa,GAAQ3f,UAAU8f,MAAQ,WACtB,OAAOD,GAAYld,KAAKa,KAC5B,EAEAkc,GAASI,MAAQ,WAEb,IADA,IAAI5e,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOqc,GAAS,CAAE,MAAO1b,OAAQ/C,EAAM,CAAC,WAChF,EAEA0e,GAAQ3d,OAAO6d,MAAQR,GAEvBM,GAAQ1d,WAAWuB,KAAK,CACpBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAOse,GAASte,EAAM,SACD,UAAjBue,GAAOve,IAAqC,IAAhBA,EAAKxB,OACjC,MAAO,OAEf,IAGJ,IAAIqgB,GAAWvf,EAAMS,OACjB+e,GAAYlB,GACZmB,GAAUrP,GAiBVsP,GAfc,WAEd,IADA,IAAIhf,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAAI+B,EAAMwb,GAAS7e,EAAM,OACrBsD,EAAID,EAAI,GACRE,EAAIF,EAAI,GACRtB,EAAIsB,EAAI,GACRiL,EAAQwQ,GAAUxb,EAAGC,EAAGxB,GACxBtB,EAAI6N,EAAM,GACVxM,EAAIwM,EAAM,GACVyB,EAAKzB,EAAM,GACf,OAAOyQ,GAAQte,EAAGqB,EAAGiO,EACzB,EAIIkP,GAAW3f,EAAMS,OACjBmf,GAAU9O,GACV+O,GAAYf,GAqBZgB,GAnBY,WAEZ,IADA,IAAIpf,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,IAAIb,GADJT,EAAOif,GAASjf,EAAM,QACT,GACT2D,EAAI3D,EAAK,GACT+E,EAAI/E,EAAK,GACTqD,EAAM6b,GAAQze,EAAGkD,EAAGoB,GACpB0L,EAAIpN,EAAI,GACRvB,EAAIuB,EAAI,GACR0M,EAAK1M,EAAI,GACTiL,EAAQ6Q,GAAU1O,EAAG3O,EAAGiO,GAI5B,MAAO,CAHCzB,EAAM,GACNA,EAAM,GACNA,EAAM,GACGtO,EAAKxB,OAAS,EAAIwB,EAAK,GAAK,EACjD,EAIID,GAAST,EAAMS,OACfsf,GAAS/f,EAAMQ,KACfwf,GAAWrc,EACXsc,GAAU7c,EACV8c,GAAQ1e,EAER2e,GAAYT,GAEhBO,GAAQzgB,UAAU4gB,MAAQ,WACtB,OAAOD,GAAUhe,KAAKa,KAC1B,EAEAgd,GAASI,MAAQ,WAEb,IADA,IAAI1f,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,OAAO,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOmd,GAAS,CAAE,MAAOxc,OAAQ/C,EAAM,CAAC,WAChF,EAEAwf,GAAMze,OAAO2e,MAAQN,GAErBI,GAAMxe,WAAWuB,KAAK,CAClBP,EAAG,EACHG,KAAM,WAEF,IADA,IAAInC,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAGzC,GADAtB,EAAOD,GAAOC,EAAM,SACC,UAAjBqf,GAAOrf,IAAqC,IAAhBA,EAAKxB,OACjC,MAAO,OAEf,IAGJ,IAAImhB,GAAUjd,EACVkd,GAAStgB,EAAMQ,KAEnB6f,GAAQ7gB,UAAUgF,MAAQ,SAAShC,EAAG+d,GAGlC,YAFgB,IAAXA,IAAoBA,GAAO,QAEtBvf,IAANwB,GAAiC,WAAd8d,GAAO9d,GACtB+d,GACApe,KAAKa,KAAK,GAAKR,EACRL,MAEJ,IAAIke,GAAQ,CAACle,KAAKa,KAAK,GAAIb,KAAKa,KAAK,GAAIb,KAAKa,KAAK,GAAIR,GAAI,OAE/DL,KAAKa,KAAK,EACrB,EAEcI,EAEN5D,UAAUghB,QAAU,WACxB,OAAOre,KAAKa,KAAK7C,WAAY,CACjC,EAEA,IAAIsgB,GAAUrd,EACVsd,GAAkBxS,GAEtBuS,GAAQjhB,UAAUmhB,OAAS,SAASC,QACnB,IAAXA,IAAoBA,EAAO,GAEhC,IACI9Q,EADK3N,KACI2N,MAEb,OADAA,EAAI,IAAM4Q,GAAgBvS,GAAKyS,EACxB,IAAIH,GAAQ3Q,EAAK,OAAOtL,MAHtBrC,KAG+BqC,SAAS,EAClD,EAEAic,GAAQjhB,UAAUqhB,SAAW,SAASD,GAGrC,YAFgB,IAAXA,IAAoBA,EAAO,GAEzBze,KAAKwe,QAAQC,EACrB,EAEAH,GAAQjhB,UAAUshB,OAASL,GAAQjhB,UAAUmhB,OAC7CF,GAAQjhB,UAAUuhB,SAAWN,GAAQjhB,UAAUqhB,SAEjCzd,EAEN5D,UAAUwhB,IAAM,SAAUC,GAC9B,IAAIld,EAAMkd,EAAGpgB,MAAM,KACfwB,EAAO0B,EAAI,GACXmd,EAAUnd,EAAI,GACdod,EAAMhf,KAAKE,KACf,GAAI6e,EAAS,CACT,IAAI5gB,EAAI+B,EAAKkJ,QAAQ2V,IAAkC,OAAtB7e,EAAK8D,OAAO,EAAG,GAAc,EAAI,GAClE,GAAI7F,GAAK,EAAK,OAAO6gB,EAAI7gB,GACzB,MAAM,IAAIyC,MAAO,mBAAqBme,EAAU,YAAc7e,EAClE,CACI,OAAO8e,CAEf,EAEA,IAAIC,GAAUhe,EACVie,GAASrhB,EAAMQ,KACf8gB,GAAQxhB,KAAK6O,IAKjByS,GAAQ5hB,UAAU+hB,UAAY,SAASC,GACnC,QAAYxgB,IAARwgB,GAAqC,WAAhBH,GAAOG,GAAmB,CAC/C,GAAY,IAARA,EAEA,OAAO,IAAIJ,GAAQ,CAAC,EAAE,EAAE,EAAEjf,KAAKa,KAAK,IAAK,OAE7C,GAAY,IAARwe,EAEA,OAAO,IAAIJ,GAAQ,CAAC,IAAI,IAAI,IAAIjf,KAAKa,KAAK,IAAK,OAGnD,IAAIye,EAAUtf,KAAKof,YAEfG,EAfG,GAiBH7e,EAAO,SAAU8e,EAAKC,GACtB,IAAIC,EAAMF,EAAIG,YAAYF,EAAM,GAJzB,OAKHG,EAAKF,EAAIN,YACb,OAAIzhB,KAAK6e,IAAI6C,EAAMO,GArBrB,OAqBmCL,IAEtBG,EAEJE,EAAKP,EAAM3e,EAAK8e,EAAKE,GAAOhf,EAAKgf,EAAKD,EACjD,EAEI1hB,GAAOuhB,EAAUD,EAAM3e,EAAK,IAAIue,GAAQ,CAAC,EAAE,EAAE,IAAKjf,MAAQU,EAAKV,KAAM,IAAIif,GAAQ,CAAC,IAAI,IAAI,QAAQlhB,MACtG,OAAO,IAAIkhB,GAAQlhB,EAAIuD,OAAQ,CAACtB,KAAKa,KAAK,KAC9C,CACA,OAAOgf,GAAclf,WAAM,EAASX,KAAS,KAAE9B,MAAM,EAAE,GAC3D,EAGA,IAAI2hB,GAAgB,SAAUhe,EAAEC,EAAExB,GAM9B,MAAO,OAHPuB,EAAIie,GAAYje,IAGI,OAFpBC,EAAIge,GAAYhe,IAEiB,MAD7Bge,GAAYxf,EAEpB,EAEIwf,GAAc,SAAUtjB,GAExB,OADAA,GAAK,MACO,OAAUA,EAAE,MAAQ2iB,IAAO3iB,EAAE,MAAO,MAAO,IAC3D,EAEIujB,GAAiB,CAAC,EAElBC,GAAU/e,EACVgf,GAASpiB,EAAMQ,KACf6hB,GAAeH,GAEfI,GAAQ,SAAUC,EAAMC,EAAMte,QACnB,IAANA,IAAeA,EAAE,IAEtB,IADA,IAAIwE,EAAO,GAAI1G,EAAMC,UAAU/C,OAAS,EAChC8C,KAAQ,GAAI0G,EAAM1G,GAAQC,UAAWD,EAAM,GAEnD,IAAIK,EAAOqG,EAAK,IAAM,OAKtB,GAJK2Z,GAAahgB,IAAUqG,EAAKxJ,SAE7BmD,EAAO9C,OAAO2c,KAAKmG,IAAc,KAEhCA,GAAahgB,GACd,MAAM,IAAIU,MAAO,sBAAwBV,EAAO,mBAIpD,MAFqB,WAAjB+f,GAAOG,KAAsBA,EAAO,IAAIJ,GAAQI,IAC/B,WAAjBH,GAAOI,KAAsBA,EAAO,IAAIL,GAAQK,IAC7CH,GAAahgB,GAAMkgB,EAAMC,EAAMte,GACjCM,MAAM+d,EAAK/d,QAAUN,GAAKse,EAAKhe,QAAU+d,EAAK/d,SACvD,EAEIie,GAAUrf,EACVsf,GAAMJ,GAEVG,GAAQjjB,UAAUkjB,IAClBD,GAAQjjB,UAAUsiB,YAAc,SAASU,EAAMte,QACnC,IAANA,IAAeA,EAAE,IAEtB,IADA,IAAIwE,EAAO,GAAI1G,EAAMC,UAAU/C,OAAS,EAChC8C,KAAQ,GAAI0G,EAAM1G,GAAQC,UAAWD,EAAM,GAEnD,OAAO0gB,GAAI5f,WAAM,EAAQ,CAAEX,KAAMqgB,EAAMte,GAAIT,OAAQiF,GACpD,EAEA,IAAIia,GAAUvf,EAEduf,GAAQnjB,UAAUojB,YAAc,SAASrC,QACxB,IAAXA,IAAoBA,GAAO,GAEhC,IAAIrgB,EAAMiC,KAAKa,KACXR,EAAItC,EAAI,GACZ,OAAIqgB,GACHpe,KAAKa,KAAO,CAAC9C,EAAI,GAAGsC,EAAGtC,EAAI,GAAGsC,EAAGtC,EAAI,GAAGsC,EAAGA,GACpCL,MAEA,IAAIwgB,GAAQ,CAACziB,EAAI,GAAGsC,EAAGtC,EAAI,GAAGsC,EAAGtC,EAAI,GAAGsC,EAAGA,GAAI,MAExD,EAEA,IAAIqgB,GAAUzf,EACV0f,GAAgB5U,GAEpB2U,GAAQrjB,UAAUujB,SAAW,SAASnC,QACrB,IAAXA,IAAoBA,EAAO,GAEhC,IACI7O,EADK5P,KACI4P,MAGb,OAFAA,EAAI,IAAM+Q,GAAc3U,GAAKyS,EACzB7O,EAAI,GAAK,IAAKA,EAAI,GAAK,GACpB,IAAI8Q,GAAQ9Q,EAAK,OAAOvN,MAJtBrC,KAI+BqC,SAAS,EAClD,EAEAqe,GAAQrjB,UAAUwjB,WAAa,SAASpC,GAGvC,YAFgB,IAAXA,IAAoBA,EAAO,GAEzBze,KAAK4gB,UAAUnC,EACvB,EAEA,IAAIqC,GAAU7f,EACV8f,GAASljB,EAAMQ,KAEnByiB,GAAQzjB,UAAU2jB,IAAM,SAAUlC,EAAImC,EAAO7C,QACzB,IAAXA,IAAoBA,GAAS,GAElC,IAAIxc,EAAMkd,EAAGpgB,MAAM,KACfwB,EAAO0B,EAAI,GACXmd,EAAUnd,EAAI,GACdod,EAAMhf,KAAKE,KACf,GAAI6e,EAAS,CACT,IAAI5gB,EAAI+B,EAAKkJ,QAAQ2V,IAAkC,OAAtB7e,EAAK8D,OAAO,EAAG,GAAc,EAAI,GAClE,GAAI7F,GAAK,EAAG,CACR,GAAqB,UAAjB4iB,GAAOE,GACP,OAAQA,EAAMC,OAAO,IACjB,IAAK,IAGL,IAAK,IACDlC,EAAI7gB,KAAO8iB,EACX,MACJ,IAAK,IACDjC,EAAI7gB,KAAO8iB,EAAMjd,OAAO,GACxB,MACJ,IAAK,IACDgb,EAAI7gB,KAAO8iB,EAAMjd,OAAO,GACxB,MACJ,QACIgb,EAAI7gB,IAAM8iB,MAEf,IAAsB,WAAlBF,GAAOE,GAGd,MAAM,IAAIrgB,MAAM,mCAFhBoe,EAAI7gB,GAAK8iB,CAGb,CACA,IAAIE,EAAM,IAAIL,GAAQ9B,EAAK9e,GAC3B,OAAIke,GACApe,KAAKa,KAAOsgB,EAAItgB,KACTb,MAEJmhB,CACX,CACA,MAAM,IAAIvgB,MAAO,mBAAqBme,EAAU,YAAc7e,EAClE,CACI,OAAO8e,CAEf,EAEA,IAAIoC,GAAUngB,EAcd8e,GAAehiB,IAZL,SAAUqiB,EAAMC,EAAMte,GAC5B,IAAIsf,EAAOjB,EAAKvf,KACZygB,EAAOjB,EAAKxf,KAChB,OAAO,IAAIugB,GACPC,EAAK,GAAKtf,GAAKuf,EAAK,GAAGD,EAAK,IAC5BA,EAAK,GAAKtf,GAAKuf,EAAK,GAAGD,EAAK,IAC5BA,EAAK,GAAKtf,GAAKuf,EAAK,GAAGD,EAAK,IAC5B,MAER,EAKA,IAAIE,GAAUtgB,EACVugB,GAAS7jB,KAAK8L,KACdgY,GAAQ9jB,KAAK6O,IAoBjBuT,GAAe2B,KAlBJ,SAAUtB,EAAMC,EAAMte,GAC7B,IAAIH,EAAMwe,EAAKvf,KACX8gB,EAAK/f,EAAI,GACTggB,EAAKhgB,EAAI,GACTigB,EAAKjgB,EAAI,GACTiL,EAAQwT,EAAKxf,KACbihB,EAAKjV,EAAM,GACXkV,EAAKlV,EAAM,GACXmV,EAAKnV,EAAM,GACf,OAAO,IAAI0U,GACPC,GAAOC,GAAME,EAAG,IAAM,EAAE5f,GAAK0f,GAAMK,EAAG,GAAK/f,GAC3Cyf,GAAOC,GAAMG,EAAG,IAAM,EAAE7f,GAAK0f,GAAMM,EAAG,GAAKhgB,GAC3Cyf,GAAOC,GAAMI,EAAG,IAAM,EAAE9f,GAAK0f,GAAMO,EAAG,GAAKjgB,GAC3C,MAER,EAKA,IAAIkgB,GAAUhhB,EAcd8e,GAAepS,IAZL,SAAUyS,EAAMC,EAAMte,GAC5B,IAAIsf,EAAOjB,EAAKzS,MACZ2T,EAAOjB,EAAK1S,MAChB,OAAO,IAAIsU,GACPZ,EAAK,GAAKtf,GAAKuf,EAAK,GAAGD,EAAK,IAC5BA,EAAK,GAAKtf,GAAKuf,EAAK,GAAGD,EAAK,IAC5BA,EAAK,GAAKtf,GAAKuf,EAAK,GAAGD,EAAK,IAC5B,MAER,EAKA,IAAIa,GAAUjhB,EAEVkhB,GAAO,SAAU/B,EAAMC,EAAMte,EAAGI,GAChC,IAAIiC,EAAQgD,EAERia,EAAMC,EAsBNc,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EAM9BC,EAAKC,EAAKC,EAwBd,MAnDU,QAANzgB,GACAkf,EAAOjB,EAAKva,MACZyb,EAAOjB,EAAKxa,OACC,QAAN1D,GACPkf,EAAOjB,EAAKtU,MACZwV,EAAOjB,EAAKvU,OACC,QAAN3J,GACPkf,EAAOjB,EAAKjY,MACZmZ,EAAOjB,EAAKlY,OACC,QAANhG,GACPkf,EAAOjB,EAAK3V,MACZ6W,EAAOjB,EAAK5V,OACC,QAANtI,GAAqB,QAANA,GACtBA,EAAI,MACJkf,EAAOjB,EAAKhR,MACZkS,EAAOjB,EAAKjR,OACC,UAANjN,IACPkf,EAAOjB,EAAKnC,QAAQ5O,UACpBiS,EAAOjB,EAAKpC,QAAQ5O,WAID,MAAnBlN,EAAE6B,OAAO,EAAG,IAAoB,UAAN7B,IACVigB,GAAfhe,EAASid,GAAoB,GAAIiB,EAAOle,EAAO,GAAIoe,EAAOpe,EAAO,GAChDie,GAAjBjb,EAAWka,GAAsB,GAAIiB,EAAOnb,EAAS,GAAIqb,EAAOrb,EAAS,IAKzE8C,MAAMkY,IAAUlY,MAAMmY,GAUfnY,MAAMkY,GAGNlY,MAAMmY,GAIdM,EAAMpf,OAAOC,KAHbmf,EAAMN,EACO,GAARG,GAAqB,GAARA,GAAmB,OAALrgB,IAAcugB,EAAMH,KAJpDI,EAAMP,EACO,GAARK,GAAqB,GAARA,GAAmB,OAALtgB,IAAcugB,EAAMJ,IAHpDK,EAAMP,EAAOrgB,GAPTsgB,EAAOD,GAAQC,EAAOD,EAAO,IACxBC,GAAQD,EAAO,KACbC,EAAOD,GAAQA,EAAOC,EAAO,IAC/BA,EAAO,IAAMD,EAEbC,EAAOD,QAaRvjB,IAAR6jB,IAAqBA,EAAMJ,EAAOvgB,GAAKwgB,EAAOD,IAClDM,EAAMJ,EAAOzgB,GAAK0gB,EAAOD,GACF,IAAIN,GAAd,UAAN/f,EAA4B,CAACygB,EAAKF,EAAKC,GAAuB,CAACA,EAAKD,EAAKE,GAA5BzgB,EACxD,EAEI0gB,GAAoBV,GAEpBvS,GAAM,SAAUwQ,EAAMC,EAAMte,GAC/B,OAAO8gB,GAAkBzC,EAAMC,EAAMte,EAAG,MACzC,EAGAge,GAAenQ,IAAMA,GACrBmQ,GAAe3Q,IAAMQ,GAErB,IAAIkT,GAAU7hB,EASd8e,GAAetF,IAPL,SAAU2F,EAAMC,EAAMte,GAC5B,IAAIghB,EAAK3C,EAAK3F,MACVuI,EAAK3C,EAAK5F,MACd,OAAO,IAAIqI,GAAQC,EAAKhhB,GAAKihB,EAAGD,GAAK,MACzC,EAKA,IAAIE,GAAoBd,GAOxBpC,GAAe5X,IALL,SAAUiY,EAAMC,EAAMte,GAC/B,OAAOkhB,GAAkB7C,EAAMC,EAAMte,EAAG,MACzC,EAKA,IAAImhB,GAAoBf,GAOxBpC,GAAetV,IALL,SAAU2V,EAAMC,EAAMte,GAC/B,OAAOmhB,GAAkB9C,EAAMC,EAAMte,EAAG,MACzC,EAKA,IAAIohB,GAAoBhB,GAOxBpC,GAAela,IALL,SAAUua,EAAMC,EAAMte,GAC/B,OAAOohB,GAAkB/C,EAAMC,EAAMte,EAAG,MACzC,EAKA,IAAIqhB,GAAoBjB,GAOxBpC,GAAejU,IALL,SAAUsU,EAAMC,EAAMte,GAC/B,OAAOqhB,GAAkBhD,EAAMC,EAAMte,EAAG,MACzC,EAKA,IAAIshB,GAAUpiB,EAcd8e,GAAe5C,MAZH,SAAUiD,EAAMC,EAAMte,GAC9B,IAAIsf,EAAOjB,EAAKjD,QACZmE,EAAOjB,EAAKlD,QAChB,OAAO,IAAIkG,GACPhC,EAAK,GAAKtf,GAAKuf,EAAK,GAAKD,EAAK,IAC9BA,EAAK,GAAKtf,GAAKuf,EAAK,GAAKD,EAAK,IAC9BA,EAAK,GAAKtf,GAAKuf,EAAK,GAAKD,EAAK,IAC9B,QAER,EAKA,IAAIiC,GAAkBnB,GAOtBpC,GAAe9B,MALH,SAAUmC,EAAMC,EAAMte,GAC9B,OAAOuhB,GAAgBlD,EAAMC,EAAMte,EAAG,QAC1C,EAKA,IAAIwhB,GAAUtiB,EACVuiB,GAAa3lB,EAAMC,SACnB2lB,GAAQ9lB,KAAK6O,IACbkX,GAAS/lB,KAAK8L,KACdka,GAAOhmB,KAAKC,GACZgmB,GAAQjmB,KAAKqM,IACb6Z,GAAQlmB,KAAK8Q,IACbqV,GAAUnmB,KAAKoQ,MAiEfgW,GAAgB,SAAUC,EAAQC,GAGlC,IAFA,IAAIjlB,EAAIglB,EAAOjnB,OACXmnB,EAAM,CAAC,EAAE,EAAE,EAAE,GACR/lB,EAAE,EAAGA,EAAI6lB,EAAOjnB,OAAQoB,IAAK,CAClC,IAAIgmB,EAAMH,EAAO7lB,GACb4D,EAAIkiB,EAAQ9lB,GAAKa,EACjBjB,EAAMomB,EAAItjB,KACdqjB,EAAI,IAAMT,GAAM1lB,EAAI,GAAG,GAAKgE,EAC5BmiB,EAAI,IAAMT,GAAM1lB,EAAI,GAAG,GAAKgE,EAC5BmiB,EAAI,IAAMT,GAAM1lB,EAAI,GAAG,GAAKgE,EAC5BmiB,EAAI,IAAMnmB,EAAI,GAAKgE,CACvB,CAKA,OAJAmiB,EAAI,GAAKR,GAAOQ,EAAI,IACpBA,EAAI,GAAKR,GAAOQ,EAAI,IACpBA,EAAI,GAAKR,GAAOQ,EAAI,IAChBA,EAAI,GAAK,WAAaA,EAAI,GAAK,GAC5B,IAAIX,GAAQC,GAAWU,GAClC,EAMIE,GAAW5iB,EACX6iB,GAASxmB,EAAMQ,KAEfimB,GAAQ3mB,KAAK6O,IAEb+X,GAAU,SAASP,GAGnB,IAAIQ,EAAQ,MACRC,EAASL,GAAS,QAClBM,EAAU,EAEVC,EAAU,CAAC,EAAG,GACdC,EAAO,GACPC,EAAW,CAAC,EAAE,GACdC,GAAW,EACXC,EAAU,GACVC,GAAO,EACPC,EAAO,EACPC,EAAO,EACPC,GAAoB,EACpBC,EAAc,CAAC,EACfC,GAAY,EACZC,EAAS,EAITC,EAAY,SAASvB,GAMrB,IALAA,EAASA,GAAU,CAAC,OAAQ,UACK,WAAnBK,GAAOL,IAAwBI,GAASoB,QAClDpB,GAASoB,OAAOxB,EAAO/mB,iBACvB+mB,EAASI,GAASoB,OAAOxB,EAAO/mB,gBAEb,UAAnBonB,GAAOL,GAAqB,CAEN,IAAlBA,EAAOjnB,SACPinB,EAAS,CAACA,EAAO,GAAIA,EAAO,KAGhCA,EAASA,EAAO9lB,MAAM,GAEtB,IAAK,IAAIgE,EAAE,EAAGA,EAAE8hB,EAAOjnB,OAAQmF,IAC3B8hB,EAAO9hB,GAAKkiB,GAASJ,EAAO9hB,IAGhC0iB,EAAK7nB,OAAS,EACd,IAAK,IAAI0oB,EAAI,EAAGA,EAAIzB,EAAOjnB,OAAQ0oB,IAC/Bb,EAAK9jB,KAAK2kB,GAAKzB,EAAOjnB,OAAO,GAErC,CAEA,OADA2oB,IACOX,EAAUf,CACrB,EAcI2B,EAAgB,SAAUhe,GAAK,OAAOA,CAAG,EACzCie,EAAa,SAAUje,GAAK,OAAOA,CAAG,EActCke,EAAW,SAASC,EAAKC,GACzB,IAAI5B,EAAKxc,EAET,GADiB,MAAboe,IAAqBA,GAAY,GACjC7b,MAAM4b,IAAiB,OAARA,EAAiB,OAAOrB,EAavC9c,EAZCoe,EAYGD,EAXAhB,GAAaA,EAAS/nB,OAAS,EAhC5B,SAASkkB,GACpB,GAAgB,MAAZ6D,EAAkB,CAGlB,IAFA,IAAI9K,EAAI8K,EAAS/nB,OAAO,EACpBoB,EAAI,EACDA,EAAI6b,GAAKiH,GAAS6D,EAAS3mB,IAC9BA,IAEJ,OAAOA,EAAE,CACb,CACA,OAAO,CACX,CAwBoB6nB,CAASF,IACRhB,EAAS/nB,OAAO,GAClBmoB,IAASD,GAEXa,EAAMb,IAASC,EAAOD,GAEvB,EAOZtd,EAAIie,EAAWje,GAEVoe,IACDpe,EAAIge,EAAche,IAGP,IAAX2d,IAAgB3d,EAAI2c,GAAM3c,EAAG2d,IAEjC3d,EAAIkd,EAAS,GAAMld,GAAK,EAAIkd,EAAS,GAAKA,EAAS,IAEnDld,EAAIhK,KAAKlB,IAAI,EAAGkB,KAAKjB,IAAI,EAAGiL,IAE5B,IAAI/I,EAAIjB,KAAKuJ,MAAU,IAAJS,GAEnB,GAAI0d,GAAaD,EAAYxmB,GACzBulB,EAAMiB,EAAYxmB,OACf,CACH,GAAwB,UAApBylB,GAAOU,GAEP,IAAK,IAAI5mB,EAAE,EAAGA,EAAEymB,EAAK7nB,OAAQoB,IAAK,CAC9B,IAAIoC,EAAIqkB,EAAKzmB,GACb,GAAIwJ,GAAKpH,EAAG,CACR4jB,EAAMY,EAAQ5mB,GACd,KACJ,CACA,GAAKwJ,GAAKpH,GAAOpC,IAAOymB,EAAK7nB,OAAO,EAAK,CACrConB,EAAMY,EAAQ5mB,GACd,KACJ,CACA,GAAIwJ,EAAIpH,GAAKoH,EAAIid,EAAKzmB,EAAE,GAAI,CACxBwJ,GAAKA,EAAEpH,IAAIqkB,EAAKzmB,EAAE,GAAGoC,GACrB4jB,EAAMC,GAASzE,YAAYoF,EAAQ5mB,GAAI4mB,EAAQ5mB,EAAE,GAAIwJ,EAAG6c,GACxD,KACJ,CACJ,KAC2B,aAApBH,GAAOU,KACdZ,EAAMY,EAAQpd,IAEd0d,IAAaD,EAAYxmB,GAAKulB,EACtC,CACA,OAAOA,CACX,EAEIuB,EAAa,WAAc,OAAON,EAAc,CAAC,CAAG,EAExDG,EAAUvB,GAIV,IAAIjiB,EAAI,SAAS6F,GACb,IAAI1F,EAAIkiB,GAASyB,EAASje,IAC1B,OAAIod,GAAQ9iB,EAAE8iB,GAAgB9iB,EAAE8iB,KAAyB9iB,CAC7D,EAuMA,OArMAH,EAAEkkB,QAAU,SAASA,GACjB,GAAe,MAAXA,EAAiB,CACjB,GAAwB,UAApB5B,GAAO4B,GACPnB,EAAWmB,EACXtB,EAAU,CAACsB,EAAQ,GAAIA,EAAQA,EAAQlpB,OAAO,QAC3C,CACH,IAAImpB,EAAI9B,GAAS+B,QAAQxB,GAErBG,EADY,IAAZmB,EACW,CAACC,EAAEzpB,IAAKypB,EAAExpB,KAEV0nB,GAASgC,OAAOF,EAAG,IAAKD,EAE3C,CACA,OAAOlkB,CACX,CACA,OAAO+iB,CACX,EAGA/iB,EAAEskB,OAAS,SAASA,GAChB,IAAKvmB,UAAU/C,OACX,OAAO4nB,EAEXM,EAAOoB,EAAO,GACdnB,EAAOmB,EAAOA,EAAOtpB,OAAO,GAC5B6nB,EAAO,GACP,IAAIhmB,EAAImmB,EAAQhoB,OAChB,GAAKspB,EAAOtpB,SAAW6B,GAAOqmB,IAASC,EAEnC,IAAK,IAAI/mB,EAAI,EAAGqC,EAAO/B,MAAM6nB,KAAKD,GAASloB,EAAIqC,EAAKzD,OAAQoB,GAAK,EAAG,CAChE,IAAI+nB,EAAI1lB,EAAKrC,GAEfymB,EAAK9jB,MAAMolB,EAAEjB,IAASC,EAAKD,GAC7B,KACG,CACH,IAAK,IAAI/iB,EAAE,EAAGA,EAAEtD,EAAGsD,IACf0iB,EAAK9jB,KAAKoB,GAAGtD,EAAE,IAEnB,GAAIynB,EAAOtpB,OAAS,EAAG,CAEnB,IAAIwpB,EAAOF,EAAOvnB,KAAI,SAAUonB,EAAE/nB,GAAK,OAAOA,GAAGkoB,EAAOtpB,OAAO,EAAI,IAC/DypB,EAAUH,EAAOvnB,KAAI,SAAUonB,GAAK,OAAQA,EAAIjB,IAASC,EAAOD,EAAO,IACtEuB,EAAQC,OAAM,SAAUX,EAAK3nB,GAAK,OAAOooB,EAAKpoB,KAAO2nB,CAAK,MAC3DF,EAAa,SAAUje,GACnB,GAAIA,GAAK,GAAKA,GAAK,EAAK,OAAOA,EAE/B,IADA,IAAIxJ,EAAI,EACDwJ,GAAK6e,EAAQroB,EAAE,IAAMA,IAC5B,IAAI4D,GAAK4F,EAAI6e,EAAQroB,KAAOqoB,EAAQroB,EAAE,GAAKqoB,EAAQroB,IAEnD,OADUooB,EAAKpoB,GAAK4D,GAAKwkB,EAAKpoB,EAAE,GAAKooB,EAAKpoB,GAE9C,EAGR,CACJ,CAEA,OADAwmB,EAAU,CAACM,EAAMC,GACVnjB,CACX,EAEAA,EAAE7B,KAAO,SAASwmB,GACd,OAAK5mB,UAAU/C,QAGfynB,EAAQkC,EACRhB,IACO3jB,GAJIyiB,CAKf,EAEAziB,EAAE4kB,MAAQ,SAAS3C,EAAQY,GAEvB,OADAW,EAAUvB,GACHjiB,CACX,EAEAA,EAAEof,IAAM,SAASyF,GAEb,OADA5B,EAAO4B,EACA7kB,CACX,EAEAA,EAAE8kB,OAAS,SAASf,GAChB,OAAKhmB,UAAU/C,QAGf2nB,EAAUoB,EACH/jB,GAHI2iB,CAIf,EAEA3iB,EAAE+kB,iBAAmB,SAASlf,GAkC1B,OAjCS,MAALA,IAAaA,GAAI,GACrBud,EAAoBvd,EACpB8d,IAEIC,EADAR,EACgB,SAASxd,GAUrB,IATA,IAAIof,EAAKlB,EAAS,GAAG,GAAMlY,MAAM,GAC7BqZ,EAAKnB,EAAS,GAAG,GAAMlY,MAAM,GAC7BsZ,EAAMF,EAAKC,EACXE,EAAWrB,EAASle,GAAG,GAAMgG,MAAM,GACnCwZ,EAAUJ,GAAOC,EAAKD,GAAMpf,EAC5Byf,EAASF,EAAWC,EACpB/a,EAAK,EACL7H,EAAK,EACLgb,EAAW,GACP5hB,KAAK6e,IAAI4K,GAAU,KAAU7H,KAAa,GAEtC0H,IAAOG,IAAW,GAClBA,EAAS,GACThb,EAAKzE,EACLA,GAAgB,IAAVpD,EAAKoD,KAEXpD,EAAKoD,EACLA,GAAgB,IAAVyE,EAAKzE,IAGRyf,GADPF,EAAWrB,EAASle,GAAG,GAAMgG,MAAM,IACRwZ,EAGnC,OAAOxf,CACX,EAEgB,SAAUA,GAAK,OAAOA,CAAG,EAEtC5F,CACX,EAEAA,EAAEslB,QAAU,SAAS9mB,GACjB,OAAS,MAALA,GACkB,WAAd8jB,GAAO9jB,KACPA,EAAI,CAACA,EAAEA,IAEXskB,EAAWtkB,EACJwB,GAEA8iB,CAEf,EAEA9iB,EAAEiiB,OAAS,SAASsD,EAAWnG,GAEvBrhB,UAAU/C,OAAS,IAAKokB,EAAM,OAClC,IAAIoG,EAAS,GAEb,GAAyB,IAArBznB,UAAU/C,OACVwqB,EAASxC,EAAQ7mB,MAAM,QAEpB,GAAkB,IAAdopB,EACPC,EAAS,CAACxlB,EAAE,UAET,GAAIulB,EAAY,EAAG,CACtB,IAAIE,EAAK7C,EAAQ,GACb8C,EAAK9C,EAAQ,GAAK6C,EACtBD,EAmDZ,SAAmBG,EAAMC,EAAOC,GAI9B,IAHA,IAAIjB,EAAQ,GACRkB,EAAYH,EAAOC,EACnBG,EAAOF,EAAoBC,EAAYF,EAAQ,EAAIA,EAAQ,EAAxCA,EACdxpB,EAAIupB,EAAMG,EAAY1pB,EAAI2pB,EAAM3pB,EAAI2pB,EAAKD,EAAY1pB,IAAMA,IAClEwoB,EAAM7lB,KAAK3C,GAEb,OAAOwoB,CACT,CA3DqBoB,CAAU,EAAGT,GAAW,GAAOxoB,KAAI,SAAUX,GAAK,OAAO4D,EAAGylB,EAAOrpB,GAAGmpB,EAAU,GAAMG,EAAO,GAE1G,KAAO,CACHzD,EAAS,GACT,IAAIgE,EAAU,GACd,GAAIlD,GAAaA,EAAS/nB,OAAS,EAC/B,IAAK,IAAIoB,EAAI,EAAG2pB,EAAMhD,EAAS/nB,OAAQkrB,EAAM,GAAKH,EAAKG,EAAM9pB,EAAI2pB,EAAM3pB,EAAI2pB,EAAKG,EAAM9pB,IAAMA,IACxF6pB,EAAQlnB,KAAiC,IAA3BgkB,EAAS3mB,EAAE,GAAG2mB,EAAS3mB,UAGzC6pB,EAAUrD,EAEd4C,EAASS,EAAQlpB,KAAI,SAAU8I,GAAK,OAAO7F,EAAE6F,EAAI,GACrD,CAKA,OAHIwc,GAASjD,KACToG,EAASA,EAAOzoB,KAAI,SAAUoD,GAAK,OAAOA,EAAEif,IAAQ,KAEjDoG,CACX,EAEAxlB,EAAEmmB,MAAQ,SAAShmB,GACf,OAAS,MAALA,GACAmjB,EAAYnjB,EACLH,GAEAsjB,CAEf,EAEAtjB,EAAEomB,MAAQ,SAASrmB,GACf,OAAS,MAALA,GACAwjB,EAASxjB,EACFC,GAEAujB,CAEf,EAEAvjB,EAAEqmB,OAAS,SAASlC,GAChB,OAAS,MAALA,GACAzB,EAASL,GAAS8B,GACXnkB,GAEA0iB,CAEf,EAEO1iB,CACX,EAiBA,IAAIsmB,GAAUpnB,EAEVqnB,GAAU/D,GAsEVgE,GAAW/mB,EAEXgnB,GAAQ,SAAUC,EAAQC,EAAKxoB,GAC/B,IAAKsoB,GAAMtoB,GACP,MAAM,IAAIU,MAAM,sBAAwBV,GAE5C,OAAOsoB,GAAMtoB,GAAMuoB,EAAQC,EAC/B,EAEIC,GAAU,SAAU5mB,GAAK,OAAO,SAAU0mB,EAAOC,GAC7C,IAAIE,EAAKL,GAASG,GAAK3qB,MACnBglB,EAAKwF,GAASE,GAAQ1qB,MAC1B,OAAOwqB,GAASxqB,IAAIgE,EAAE6mB,EAAI7F,GAC9B,CAAG,EAEH8F,GAAO,SAAU9mB,GAAK,OAAO,SAAU6mB,EAAI7F,GACvC,IAAI5B,EAAM,GAIV,OAHAA,EAAI,GAAKpf,EAAE6mB,EAAG,GAAI7F,EAAG,IACrB5B,EAAI,GAAKpf,EAAE6mB,EAAG,GAAI7F,EAAG,IACrB5B,EAAI,GAAKpf,EAAE6mB,EAAG,GAAI7F,EAAG,IACd5B,CACX,CAAG,EAkBPqH,GAAMM,OAASH,GAAQE,IAhBV,SAAUxoB,GAAK,OAAOA,CAAG,KAiBtCmoB,GAAMO,SAAWJ,GAAQE,IAhBV,SAAUxoB,EAAEC,GAAK,OAAOD,EAAIC,EAAI,GAAK,KAiBpDkoB,GAAMQ,OAASL,GAAQE,IAdV,SAAUxoB,EAAEC,GAAK,OAAO,KAAO,GAAK,EAAED,EAAE,MAAQ,EAAEC,EAAE,KAAO,KAexEkoB,GAAMS,QAAUN,GAAQE,IAdV,SAAUxoB,EAAEC,GAAK,OAAOA,EAAI,IAAM,EAAID,EAAIC,EAAI,IAAM,KAAO,EAAI,GAAK,EAAID,EAAI,MAAU,EAAIC,EAAI,KAAQ,KAepHkoB,GAAMhK,OAASmK,GAAQE,IAlBV,SAAUxoB,EAAEC,GAAK,OAAOD,EAAIC,EAAIA,EAAID,CAAG,KAmBpDmoB,GAAMU,QAAUP,GAAQE,IAlBV,SAAUxoB,EAAEC,GAAK,OAAOD,EAAIC,EAAID,EAAIC,CAAG,KAmBrDkoB,GAAMW,MAAQR,GAAQE,IAfV,SAAUxoB,EAAEC,GACpB,OAAU,MAAND,IACJA,EAAWC,EAAI,IAAX,KAAmB,EAAID,EAAI,MACpB,IAFa,IAEDA,CAC3B,KAYAmoB,GAAMY,KAAOT,GAAQE,IAjBV,SAAUxoB,EAAEC,GAAK,OAAO,KAAO,GAAK,EAAIA,EAAI,MAAQD,EAAE,KAAO,KAigBxE,IA7eA,IAAIgpB,GAAUb,GAMVc,GAASzrB,EAAMQ,KACfP,GAAWD,EAAMC,SACjBmB,GAAQpB,EAAMoB,MACdsqB,GAAQ5rB,KAAK6O,IACbgd,GAAQ7rB,KAAK8Q,IACbgb,GAAQ9rB,KAAKqM,IACb0f,GAAWloB,EA+EXmoB,GAAU1oB,EAGV2oB,GAAUjsB,KAAKuJ,MACf2iB,GAASlsB,KAAKksB,OAUdxrB,GAAOnB,EACP+d,GAAMtd,KAAKsd,IACX6O,GAAQnsB,KAAK6O,IACbtF,GAAQvJ,KAAKuJ,MACb6iB,GAAQpsB,KAAK6e,IAGb2J,GAAU,SAAU6D,EAAMC,QACb,IAARA,IAAiBA,EAAI,MAE1B,IAAIpoB,EAAI,CACJpF,IAAK8G,OAAO2mB,UACZxtB,KAAuB,EAAlB6G,OAAO2mB,UACZC,IAAK,EACLC,OAAQ,GACRC,MAAO,GAoBX,MAlBmB,WAAfhsB,GAAK2rB,KACLA,EAAO5sB,OAAOgtB,OAAOJ,IAEzBA,EAAKna,SAAQ,SAAUiW,GACfmE,GAAqB,WAAd5rB,GAAKynB,KAAqBA,EAAMA,EAAImE,IAC3CnE,SAAsC5b,MAAM4b,KAC5CjkB,EAAEuoB,OAAOtpB,KAAKglB,GACdjkB,EAAEsoB,KAAOrE,EACLA,EAAMjkB,EAAEpF,MAAOoF,EAAEpF,IAAMqpB,GACvBA,EAAMjkB,EAAEnF,MAAOmF,EAAEnF,IAAMopB,GAC3BjkB,EAAEwoB,OAAS,EAEnB,IAEAxoB,EAAEwkB,OAAS,CAACxkB,EAAEpF,IAAKoF,EAAEnF,KAErBmF,EAAEukB,OAAS,SAAUlmB,EAAMua,GAAO,OAAO2L,GAAOvkB,EAAG3B,EAAMua,EAAM,EAExD5Y,CACX,EAGIukB,GAAS,SAAU4D,EAAM9pB,EAAMua,QACjB,IAATva,IAAkBA,EAAK,cACf,IAARua,IAAiBA,EAAI,GAER,SAAdpc,GAAK2rB,KACLA,EAAO7D,GAAQ6D,IAEnB,IAAIvtB,EAAMutB,EAAKvtB,IACXC,EAAMstB,EAAKttB,IACX0tB,EAASJ,EAAKI,OAAOhqB,MAAK,SAAUC,EAAEC,GAAK,OAAOD,EAAEC,CAAG,IAE3D,GAAY,IAARma,EAAa,MAAO,CAAChe,EAAIC,GAE7B,IAAI0pB,EAAS,GAOb,GALyB,MAArBlmB,EAAK8D,OAAO,EAAE,KACdoiB,EAAOtlB,KAAKrE,GACZ2pB,EAAOtlB,KAAKpE,IAGS,MAArBwD,EAAK8D,OAAO,EAAE,GAAY,CAC1BoiB,EAAOtlB,KAAKrE,GACZ,IAAK,IAAI0B,EAAE,EAAGA,EAAEsc,EAAKtc,IACjBioB,EAAOtlB,KAAKrE,EAAM0B,EAAEsc,GAAM/d,EAAID,IAElC2pB,EAAOtlB,KAAKpE,EAChB,MAEK,GAAyB,MAArBwD,EAAK8D,OAAO,EAAE,GAAY,CAC/B,GAAIvH,GAAO,EACP,MAAM,IAAImE,MAAM,uDAEpB,IAAI0pB,EAAU3sB,KAAK4sB,OAAStP,GAAIxe,GAC5B+tB,EAAU7sB,KAAK4sB,OAAStP,GAAIve,GAChC0pB,EAAOtlB,KAAKrE,GACZ,IAAK,IAAII,EAAI,EAAGA,EAAI4d,EAAK5d,IACrBupB,EAAOtlB,KAAKgpB,GAAM,GAAIQ,EAAYztB,EAAI4d,GAAQ+P,EAAUF,KAE5DlE,EAAOtlB,KAAKpE,EAChB,MAEK,GAAyB,MAArBwD,EAAK8D,OAAO,EAAE,GAAY,CAC/BoiB,EAAOtlB,KAAKrE,GACZ,IAAK,IAAIiJ,EAAI,EAAGA,EAAI+U,EAAK/U,IAAO,CAC5B,IAAInF,GAAM6pB,EAAOrtB,OAAO,GAAK2I,EAAK+U,EAC9BgQ,EAAKvjB,GAAM3G,GACf,GAAIkqB,IAAOlqB,EACP6lB,EAAOtlB,KAAKspB,EAAOK,QAChB,CACH,IAAIC,EAAKnqB,EAAIkqB,EACbrE,EAAOtlB,KAAMspB,EAAOK,IAAK,EAAEC,GAAQN,EAAOK,EAAG,GAAGC,EACpD,CACJ,CACAtE,EAAOtlB,KAAKpE,EAEhB,MAEK,GAAyB,MAArBwD,EAAK8D,OAAO,EAAE,GAAY,CAM/B,IAAI2mB,EACA3Q,EAAIoQ,EAAOrtB,OACX6tB,EAAc,IAAInsB,MAAMub,GACxB6Q,EAAe,IAAIpsB,MAAMgc,GACzBqQ,GAAS,EACTC,EAAW,EACXC,EAAY,MAGhBA,EAAY,IACFlqB,KAAKrE,GACf,IAAK,IAAImJ,EAAI,EAAGA,EAAI6U,EAAK7U,IACrBolB,EAAUlqB,KAAKrE,EAAQmJ,EAAI6U,GAAQ/d,EAAID,IAI3C,IAFAuuB,EAAUlqB,KAAKpE,GAERouB,GAAQ,CAEX,IAAK,IAAIG,EAAE,EAAGA,EAAExQ,EAAKwQ,IACjBJ,EAAaI,GAAK,EAEtB,IAAK,IAAIC,EAAI,EAAGA,EAAIlR,EAAGkR,IAInB,IAHA,IAAIjK,EAAQmJ,EAAOc,GACfC,EAAU5nB,OAAO2mB,UACjBkB,OAAO,EACFC,EAAI,EAAGA,EAAI5Q,EAAK4Q,IAAO,CAC5B,IAAIC,EAAOvB,GAAMiB,EAAUK,GAAKpK,GAC5BqK,EAAOH,IACPA,EAAUG,EACVF,EAAOC,GAEXR,EAAaO,KACbR,EAAYM,GAAOE,CACvB,CAKJ,IADA,IAAIG,EAAe,IAAI9sB,MAAMgc,GACpB+Q,EAAI,EAAGA,EAAI/Q,EAAK+Q,IACrBD,EAAaC,GAAO,KAExB,IAAK,IAAIC,EAAI,EAAGA,EAAIzR,EAAGyR,IAEW,OAA1BF,EADJZ,EAAUC,EAAYa,IAElBF,EAAaZ,GAAWP,EAAOqB,GAE/BF,EAAaZ,IAAYP,EAAOqB,GAGxC,IAAK,IAAIC,EAAI,EAAGA,EAAIjR,EAAKiR,IACrBH,EAAaG,IAAQ,EAAEb,EAAaa,GAIxCZ,GAAS,EACT,IAAK,IAAIa,EAAI,EAAGA,EAAIlR,EAAKkR,IACrB,GAAIJ,EAAaI,KAASX,EAAUW,GAAM,CACtCb,GAAS,EACT,KACJ,CAGJE,EAAYO,IACZR,EAEe,MACXD,GAAS,EAEjB,CAKA,IADA,IAAIc,EAAY,CAAC,EACRC,EAAI,EAAGA,EAAIpR,EAAKoR,IACrBD,EAAUC,GAAO,GAErB,IAAK,IAAIC,EAAI,EAAGA,EAAI9R,EAAG8R,IAEnBF,EADAjB,EAAUC,EAAYkB,IACHhrB,KAAKspB,EAAO0B,IAGnC,IADA,IAAIC,EAAkB,GACbC,EAAI,EAAGA,EAAIvR,EAAKuR,IACrBD,EAAgBjrB,KAAK8qB,EAAUI,GAAK,IACpCD,EAAgBjrB,KAAK8qB,EAAUI,GAAKJ,EAAUI,GAAKjvB,OAAO,IAE9DgvB,EAAkBA,EAAgB3rB,MAAK,SAAUC,EAAEC,GAAI,OAAOD,EAAEC,CAAG,IACnE8lB,EAAOtlB,KAAKirB,EAAgB,IAC5B,IAAK,IAAIE,EAAI,EAAGA,EAAMF,EAAgBhvB,OAAQkvB,GAAM,EAAG,CACnD,IAAIrkB,EAAImkB,EAAgBE,GACnB/hB,MAAMtC,KAA8B,IAAvBwe,EAAOhd,QAAQxB,IAC7Bwe,EAAOtlB,KAAK8G,EAEpB,CACJ,CACA,OAAOwe,CACX,EAEI8F,GAAY,CAAC/F,QAASA,GAASC,OAAQA,IAEvC+F,GAAUlrB,EAaVmrB,GAAUnrB,EACVwI,GAAO9L,KAAK8L,KACZ+C,GAAM7O,KAAK6O,IACX/P,GAAMkB,KAAKlB,IACXC,GAAMiB,KAAKjB,IACXqR,GAAQpQ,KAAKoQ,MACbyO,GAAM7e,KAAK6e,IACXxS,GAAMrM,KAAKqM,IACXyE,GAAM9Q,KAAK8Q,IACX4d,GAAM1uB,KAAK0uB,IACXzuB,GAAKD,KAAKC,GAwDV0uB,GAAUrrB,EAoBVI,GAAQJ,EAeRsrB,GAAW/qB,EAEXgrB,GAAQjI,GAERkI,GAAS,CACZC,KAAM,WAAkB,OAAOF,GAAM,CAACD,GAAS1mB,IAAI,IAAI,EAAE,IAAK0mB,GAAS1mB,IAAI,IAAI,GAAG,KAAM,EACxF8mB,IAAK,WAAiB,OAAOH,GAAM,CAAC,OAAO,OAAO,OAAO,SAAStsB,KAAK,MAAO,GAoB3E0sB,GAAc,CAEdC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,QAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAClGC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjGC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjGC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjGC,QAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAClGC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,MAAO,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAChGC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjGC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,MAAO,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAChGC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjGC,QAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAIlGC,SAAU,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACzHC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACvHC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACrHC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACrHC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACrHC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACvHC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACrHC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACrHC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAIrHC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACpFC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtFC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/FC,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAChIC,MAAO,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACrFC,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAClIC,QAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACvFC,QAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAI7F7wB,GAAI,EAAGqC,GAAOpD,OAAO2c,KAAK6S,IAAczuB,GAAIqC,GAAKzD,OAAQoB,IAAK,EAAG,CACtE,IAAI8rB,GAAMzpB,GAAKrC,IAEfyuB,GAAY3C,GAAIhtB,eAAiB2vB,GAAY3C,GACjD,CAEA,IAAIgF,GAAgBrC,GAEhBsC,GAAS1tB,EAyEb,OAzBA0tB,GAAOC,QAtmCO,SAAUnL,EAAQ9jB,EAAM+jB,QACpB,IAAT/jB,IAAkBA,EAAK,aACX,IAAZ+jB,IAAqBA,EAAQ,MAElC,IAAIjlB,EAAIglB,EAAOjnB,OACVknB,IAAWA,EAAUxlB,MAAM6nB,KAAK,IAAI7nB,MAAMO,IAAIF,KAAI,WAAc,OAAO,CAAG,KAE/E,IAAIF,EAAII,EAAIilB,EAAQmL,QAAO,SAAS/uB,EAAGC,GAAK,OAAOD,EAAIC,CAAG,IAI1D,GAHA2jB,EAAQpU,SAAQ,SAAUwf,EAAElxB,GAAK8lB,EAAQ9lB,IAAMS,CAAG,IAElDolB,EAASA,EAAOllB,KAAI,SAAUoD,GAAK,OAAO,IAAIqhB,GAAQrhB,EAAI,IAC7C,SAAThC,EACA,OAAO6jB,GAAcC,EAAQC,GAQjC,IANA,IAAIqL,EAAQtL,EAAOuL,QACfrL,EAAMoL,EAAMzQ,IAAI3e,GAChBsvB,EAAM,GACNC,EAAK,EACLC,EAAK,EAEAvxB,EAAE,EAAGA,EAAE+lB,EAAInnB,OAAQoB,IAGxB,GAFA+lB,EAAI/lB,IAAM+lB,EAAI/lB,IAAM,GAAK8lB,EAAQ,GACjCuL,EAAI1uB,KAAKoJ,MAAMga,EAAI/lB,IAAM,EAAI8lB,EAAQ,IACd,MAAnB/jB,EAAKghB,OAAO/iB,KAAe+L,MAAMga,EAAI/lB,IAAK,CAC1C,IAAIwxB,EAAIzL,EAAI/lB,GAAK,IAAMwlB,GACvB8L,GAAM7L,GAAM+L,GAAK1L,EAAQ,GACzByL,GAAM7L,GAAM8L,GAAK1L,EAAQ,EAC7B,CAGJ,IAAI5hB,EAAQitB,EAAMjtB,QAAU4hB,EAAQ,GACpCD,EAAOnU,SAAQ,SAAU3N,EAAE0tB,GACvB,IAAIC,EAAO3tB,EAAE2c,IAAI3e,GACjBmC,GAASH,EAAEG,QAAU4hB,EAAQ2L,EAAG,GAChC,IAAK,IAAIzxB,EAAE,EAAGA,EAAE+lB,EAAInnB,OAAQoB,IACxB,IAAK+L,MAAM2lB,EAAK1xB,IAEZ,GADAqxB,EAAIrxB,IAAM8lB,EAAQ2L,EAAG,GACE,MAAnB1vB,EAAKghB,OAAO/iB,GAAY,CACxB,IAAIwxB,EAAIE,EAAK1xB,GAAK,IAAMwlB,GACxB8L,GAAM7L,GAAM+L,GAAK1L,EAAQ2L,EAAG,GAC5BF,GAAM7L,GAAM8L,GAAK1L,EAAQ2L,EAAG,EAChC,MACI1L,EAAI/lB,IAAM0xB,EAAK1xB,GAAK8lB,EAAQ2L,EAAG,EAI/C,IAEA,IAAK,IAAI/yB,EAAI,EAAGA,EAAIqnB,EAAInnB,OAAQF,IAC5B,GAAyB,MAArBqD,EAAKghB,OAAOrkB,GAAc,CAE1B,IADA,IAAIizB,EAAMhM,GAAQ4L,EAAKF,EAAI3yB,GAAM4yB,EAAKD,EAAI3yB,IAAQ8mB,GAAO,IAClDmM,EAAM,GAAKA,GAAO,IACzB,KAAOA,GAAO,KAAOA,GAAO,IAC5B5L,EAAIrnB,GAAOizB,CACf,MACI5L,EAAIrnB,GAAOqnB,EAAIrnB,GAAK2yB,EAAI3yB,GAIhC,OADAwF,GAASrD,EACF,IAAKukB,GAAQW,EAAKhkB,GAAOmC,MAAMA,EAAQ,OAAU,EAAIA,GAAO,EACvE,EA2iCA6sB,GAAOa,OAlmBQ,SAAU/L,GACrB,IAAIjiB,EA7CK,SAASiiB,GAClB,IAAI5f,EAAQgD,EAAUC,EAElB2oB,EAAGC,EAAMC,EAAMC,EAEnB,GAAsB,KADtBnM,EAASA,EAAOllB,KAAI,SAAUoD,GAAK,OAAO,IAAImmB,GAAQnmB,EAAI,KAC/CnF,OAENqH,EAAS4f,EAAOllB,KAAI,SAAUoD,GAAK,OAAOA,EAAEyL,KAAO,IAAIsiB,EAAO7rB,EAAO,GAAI8rB,EAAO9rB,EAAO,GACxF4rB,EAAI,SAASroB,GACT,IAAIgG,EAAO,CAAC,EAAG,EAAG,GAAG7O,KAAI,SAAUX,GAAK,OAAO8xB,EAAK9xB,GAAMwJ,GAAKuoB,EAAK/xB,GAAK8xB,EAAK9xB,GAAM,IACpF,OAAO,IAAIkqB,GAAQ1a,EAAK,MAC5B,OACG,GAAsB,IAAlBqW,EAAOjnB,OAEbqK,EAAW4c,EAAOllB,KAAI,SAAUoD,GAAK,OAAOA,EAAEyL,KAAO,IAAIsiB,EAAO7oB,EAAS,GAAI8oB,EAAO9oB,EAAS,GAAI+oB,EAAO/oB,EAAS,GAClH4oB,EAAI,SAASroB,GACT,IAAIgG,EAAO,CAAC,EAAG,EAAG,GAAG7O,KAAI,SAAUX,GAAK,OAAS,EAAEwJ,IAAI,EAAEA,GAAKsoB,EAAK9xB,GAAO,GAAK,EAAEwJ,GAAKA,EAAIuoB,EAAK/xB,GAAOwJ,EAAIA,EAAIwoB,EAAKhyB,EAAK,IACxH,OAAO,IAAIkqB,GAAQ1a,EAAK,MAC5B,OACG,GAAsB,IAAlBqW,EAAOjnB,OAAc,CAE5B,IAAIqzB,EACH/oB,EAAW2c,EAAOllB,KAAI,SAAUoD,GAAK,OAAOA,EAAEyL,KAAO,IAAIsiB,EAAO5oB,EAAS,GAAI6oB,EAAO7oB,EAAS,GAAI8oB,EAAO9oB,EAAS,GAAI+oB,EAAO/oB,EAAS,GACtI2oB,EAAI,SAASroB,GACT,IAAIgG,EAAO,CAAC,EAAG,EAAG,GAAG7O,KAAI,SAAUX,GAAK,OAAS,EAAEwJ,IAAI,EAAEA,IAAI,EAAEA,GAAKsoB,EAAK9xB,GAAO,GAAK,EAAEwJ,IAAM,EAAEA,GAAKA,EAAIuoB,EAAK/xB,GAAO,GAAK,EAAEwJ,GAAKA,EAAIA,EAAIwoB,EAAKhyB,GAAOwJ,EAAEA,EAAEA,EAAIyoB,EAAKjyB,EAAK,IACtK,OAAO,IAAIkqB,GAAQ1a,EAAK,MAC5B,CACJ,KAAO,MAAIqW,EAAOjnB,QAAU,GAYxB,MAAM,IAAIszB,WAAW,mDAVrB,IAAIC,EAAMC,EAAKvW,EACfsW,EAAOtM,EAAOllB,KAAI,SAAUoD,GAAK,OAAOA,EAAEyL,KAAO,IACjDqM,EAAIgK,EAAOjnB,OAAS,EACpBwzB,EA5CQ,SAASvW,GAErB,IADA,IAAIuW,EAAM,CAAC,EAAG,GACLpyB,EAAI,EAAGA,EAAI6b,EAAG7b,IAAK,CAExB,IADA,IAAIqyB,EAAS,CAAC,GACLvF,EAAI,EAAGA,GAAKsF,EAAIxzB,OAAQkuB,IAC7BuF,EAAOvF,IAAMsF,EAAItF,IAAM,GAAKsF,EAAItF,EAAI,GAExCsF,EAAMC,CACV,CACA,OAAOD,CACX,CAkCcE,CAAUzW,GAChBgW,EAAI,SAAUroB,GACV,IAAIiB,EAAI,EAAIjB,EACRgG,EAAO,CAAC,EAAG,EAAG,GAAG7O,KAAI,SAAUX,GAAK,OAAOmyB,EAAKlB,QAAO,SAAUjF,EAAKuG,EAAIzF,GAAK,OAAQd,EAAMoG,EAAItF,GAAKttB,KAAK6O,IAAK5D,EAAIoR,EAAIiR,GAAOttB,KAAK6O,IAAK7E,EAAGsjB,GAAMyF,EAAGvyB,EAAK,GAAG,EAAI,IACrK,OAAO,IAAIkqB,GAAQ1a,EAAK,MAC5B,CAGJ,CACA,OAAOqiB,CACX,CAGYD,CAAO/L,GAEf,OADAjiB,EAAEyqB,MAAQ,WAAc,OAAOlE,GAAQvmB,EAAI,EACpCA,CACX,EA+lBAmtB,GAAO1G,MAAQa,GACf6F,GAAOyB,UA1hBS,SAASC,EAAOC,EAAWlO,EAAKwF,EAAO2I,QACpC,IAAVF,IAAmBA,EAAM,UACX,IAAdC,IAAuBA,GAAW,UAC1B,IAARlO,IAAiBA,EAAI,QACX,IAAVwF,IAAmBA,EAAM,QACX,IAAd2I,IAAuBA,EAAU,CAAC,EAAE,IAEzC,IAAYC,EAARC,EAAK,EACiB,UAAtB1H,GAAOwH,GACPC,EAAKD,EAAU,GAAKA,EAAU,IAE9BC,EAAK,EACLD,EAAY,CAACA,EAAWA,IAG5B,IAAI/uB,EAAI,SAASkvB,GACb,IAAI5wB,EAAIpB,KAAW2xB,EAAM,KAAK,IAAQC,EAAYI,GAC9CjyB,EAAIuqB,GAAMuH,EAAU,GAAMC,EAAKE,EAAQ9I,GAEvC+I,GADW,IAAPF,EAAWrO,EAAI,GAAMsO,EAAQD,EAAMrO,GAC5B3jB,GAAK,EAAEA,GAAM,EACxBmyB,EAAQ1H,GAAMppB,GACd+wB,EAAQ5H,GAAMnpB,GAIlB,OAAOqpB,GAAS5rB,GAAS,CAAG,KAHpBkB,EAAKkyB,IAAS,OAAUC,EAAU,QAASC,IAGjB,KAF1BpyB,EAAKkyB,IAAS,OAAUC,EAAU,OAASC,IAEX,KADhCpyB,EAAKkyB,GAAO,QAAWC,IACa,IAChD,EAgDA,OA9CApvB,EAAE6uB,MAAQ,SAASvtB,GACf,OAAU,MAALA,EAAqButB,GAC1BA,EAAQvtB,EACDtB,EACX,EAEAA,EAAE8uB,UAAY,SAAShvB,GACnB,OAAU,MAALA,EAAqBgvB,GAC1BA,EAAYhvB,EACLE,EACX,EAEAA,EAAEomB,MAAQ,SAASrmB,GACf,OAAU,MAALA,EAAqBqmB,GAC1BA,EAAQrmB,EACDC,EACX,EAEAA,EAAE4gB,IAAM,SAASrf,GACb,OAAU,MAALA,EAAqBqf,GAEN,UAAhB2G,GADJ3G,EAAMrf,GAGS,IADX0tB,EAAKrO,EAAI,GAAKA,EAAI,MACFA,EAAMA,EAAI,IAE1BqO,EAAK,EAEFjvB,EACX,EAEAA,EAAE+uB,UAAY,SAASxtB,GACnB,OAAU,MAALA,EAAqBwtB,GACR,UAAdxH,GAAOhmB,IACPwtB,EAAYxtB,EACZytB,EAAKztB,EAAE,GAAKA,EAAE,KAEdwtB,EAAY,CAACxtB,EAAEA,GACfytB,EAAK,GAEFhvB,EACX,EAEAA,EAAEyqB,MAAQ,WAAc,OAAO9C,GAAS8C,MAAMzqB,EAAI,EAElDA,EAAE4gB,IAAIA,GAEC5gB,CACX,EAgdAmtB,GAAO3O,IAAM2O,GAAOvP,YAAcQ,GAClC+O,GAAOrF,OAzcQ,WAEX,IADA,IAAIwH,EAAO,IACFlzB,EAAE,EAAGA,EAAE,EAAGA,IACfkzB,GARK,mBAQUnQ,OAAO0I,GAAmB,GAAXC,OAElC,OAAO,IAAIF,GAAQ0H,EAAM,MAC7B,EAocAnC,GAAO1C,MAAQjI,GAGf2K,GAAO/I,QAAU+F,GAAU/F,QAC3B+I,GAAOoC,SA1PQ,SAAUjxB,EAAGC,GAGxBD,EAAI,IAAI8rB,GAAQ9rB,GAChBC,EAAI,IAAI6rB,GAAQ7rB,GAChB,IAAIixB,EAAKlxB,EAAE+e,YACPoS,EAAKlxB,EAAE8e,YACX,OAAOmS,EAAKC,GAAMD,EAAK,MAASC,EAAK,MAASA,EAAK,MAASD,EAAK,IACrE,EAmPArC,GAAOuC,OArOM,SAASpxB,EAAGC,EAAGoxB,EAAIC,EAAIC,QACpB,IAAPF,IAAgBA,EAAG,QACZ,IAAPC,IAAgBA,EAAG,QACZ,IAAPC,IAAgBA,EAAG,GAIxB,IAAIC,EAAU,SAASC,GACnB,OAAO,IAAMA,GAAO,EAAIl0B,GAC5B,EACIm0B,EAAU,SAASC,GACnB,OAAQ,EAAIp0B,GAAKo0B,EAAO,GAC5B,EACA3xB,EAAI,IAAI+rB,GAAQ/rB,GAChBC,EAAI,IAAI8rB,GAAQ9rB,GAChB,IAAIsB,EAAMnD,MAAM6nB,KAAKjmB,EAAEsN,OACnBqZ,EAAKplB,EAAI,GACTqwB,EAAKrwB,EAAI,GACTswB,EAAKtwB,EAAI,GACTiL,EAAQpO,MAAM6nB,KAAKhmB,EAAEqN,OACrBwkB,EAAKtlB,EAAM,GACXulB,EAAKvlB,EAAM,GACXwlB,EAAKxlB,EAAM,GACXylB,GAAQtL,EAAKmL,GAAI,EAGjBI,GAFK9oB,GAAK+C,GAAIylB,EAAI,GAAKzlB,GAAI0lB,EAAI,IAC1BzoB,GAAK+C,GAAI4lB,EAAI,GAAK5lB,GAAI6lB,EAAI,KACd,EACjBG,EAAI,IAAK,EAAE/oB,GAAK+C,GAAI+lB,EAAM,IAAI/lB,GAAI+lB,EAAM,GAAK/lB,GAAI,GAAI,MACrDimB,EAAMR,GAAI,EAAEO,GACZE,EAAMN,GAAI,EAAEI,GACZG,EAAMlpB,GAAK+C,GAAIimB,EAAK,GAAKjmB,GAAI0lB,EAAI,IACjCU,EAAMnpB,GAAK+C,GAAIkmB,EAAK,GAAKlmB,GAAI6lB,EAAI,IACjCQ,GAASF,EAAMC,GAAK,EACpBE,EAAUjB,EAAQ9jB,GAAMmkB,EAAIO,IAC5BM,EAAUlB,EAAQ9jB,GAAMskB,EAAIK,IAC5BM,EAAMF,GAAW,EAAIA,EAAUA,EAAU,IACzCG,EAAMF,GAAW,EAAIA,EAAUA,EAAU,IACzCG,EAAQ1W,GAAIwW,EAAMC,GAAO,KAAOD,EAAMC,EAAM,KAAK,GAAKD,EAAMC,GAAK,EACjEE,EAAI,EAAI,IAAKnpB,GAAI+nB,EAAQmB,EAAQ,KAAO,IAAKlpB,GAAI+nB,EAAQ,EAAEmB,IAAU,IAAKlpB,GAAI+nB,EAAQ,EAAEmB,EAAQ,IAAM,GAAIlpB,GAAI+nB,EAAQ,EAAEmB,EAAQ,KAChIE,EAAUH,EAAMD,EACpBI,EAAU5W,GAAI4W,IAAY,IAAMA,EAAUH,GAAOD,EAAMI,EAAU,IAAMA,EAAU,IACjFA,EAAU,EAAE3pB,GAAKkpB,EAAIC,GAAKnkB,GAAIsjB,EAAQqB,GAAS,GAC/C,IAAIC,EAASlB,EAAKnL,EACdsM,EAAUV,EAAMD,EAChBY,EAAK,EAAK,KAAM/mB,GAAI8lB,EAAO,GAAI,GAAI7oB,GAAK,GAAK+C,GAAI8lB,EAAO,GAAI,IAC5DkB,EAAK,EAAI,KAAMX,EACfY,EAAK,EAAI,KAAMZ,EAAMM,EACrBO,EAAa,GAAGrH,IAAK7f,IAAK0mB,EAAQ,KAAK,GAAI,IAE3CS,GADK,EAAElqB,GAAK+C,GAAIqmB,EAAO,IAAIrmB,GAAIqmB,EAAO,GAAKrmB,GAAI,GAAI,KAC1CiC,GAAI,EAAEsjB,EAAQ2B,IACvBnM,EAAS9d,GAAK+C,GAAI6mB,GAAQ3B,EAAG6B,GAAK,GAAK/mB,GAAI8mB,GAAS3B,EAAG6B,GAAK,GAAKhnB,GAAI4mB,GAASxB,EAAG6B,GAAK,GAAKE,GAAIL,GAAS3B,EAAG6B,KAAMJ,GAASxB,EAAG6B,KACjI,OAAO/2B,GAAI,EAAGD,GAAI,IAAK8qB,GAC3B,EAkLA2H,GAAO0E,SA7KQ,SAASvzB,EAAGC,EAAGJ,QACZ,IAATA,IAAkBA,EAAK,OAI5BG,EAAI,IAAIisB,GAAQjsB,GAChBC,EAAI,IAAIgsB,GAAQhsB,GAChB,IAAIixB,EAAKlxB,EAAEwe,IAAI3e,GACXsxB,EAAKlxB,EAAEue,IAAI3e,GACX2zB,EAAS,EACb,IAAK,IAAI11B,KAAKozB,EAAI,CACd,IAAIrL,GAAKqL,EAAGpzB,IAAM,IAAMqzB,EAAGrzB,IAAM,GACjC01B,GAAU3N,EAAEA,CAChB,CACA,OAAOvoB,KAAK8L,KAAKoqB,EACrB,EA+JA3E,GAAO9I,OAAS8F,GAAU9F,OAC1B8I,GAAO4E,MA5JK,WAER,IADA,IAAIv1B,EAAO,GAAIsB,EAAMC,UAAU/C,OACvB8C,KAAQtB,EAAMsB,GAAQC,UAAWD,GAEzC,IAEI,OADA,IAAKsB,SAAS9D,UAAU+D,KAAKT,MAAOU,GAAO,CAAE,MAAOC,OAAQ/C,MACrD,CACX,CAAE,MAAO+G,GACL,OAAO,CACX,CACJ,EAqJA4pB,GAAOzC,OAASA,GAGhByC,GAAOlL,OAASlU,GAChBof,GAAO1J,OAASyJ,GAEAC,EAInB,CAp8GmF6E","sources":["webpack://drbinaryweb/./node_modules/chroma-js/chroma.js"],"sourcesContent":["/**\n * chroma.js - JavaScript library for color conversions\n *\n * Copyright (c) 2011-2019, Gregor Aisch\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. The name Gregor Aisch may not be used to endorse or promote products\n * derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -------------------------------------------------------\n *\n * chroma.js includes colors from colorbrewer2.org, which are released under\n * the following license:\n *\n * Copyright (c) 2002 Cynthia Brewer, Mark Harrower,\n * and The Pennsylvania State University.\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 * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\n * either express or implied. See the License for the specific\n * language governing permissions and limitations under the License.\n *\n * ------------------------------------------------------\n *\n * Named colors are taken from X11 Color Names.\n * http://www.w3.org/TR/css3-color/#svg-color\n *\n * @preserve\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.chroma = factory());\n})(this, (function () { 'use strict';\n\n var limit$2 = function (x, min, max) {\n if ( min === void 0 ) min=0;\n if ( max === void 0 ) max=1;\n\n return x < min ? min : x > max ? max : x;\n };\n\n var limit$1 = limit$2;\n\n var clip_rgb$3 = function (rgb) {\n rgb._clipped = false;\n rgb._unclipped = rgb.slice(0);\n for (var i=0; i<=3; i++) {\n if (i < 3) {\n if (rgb[i] < 0 || rgb[i] > 255) { rgb._clipped = true; }\n rgb[i] = limit$1(rgb[i], 0, 255);\n } else if (i === 3) {\n rgb[i] = limit$1(rgb[i], 0, 1);\n }\n }\n return rgb;\n };\n\n // ported from jQuery's $.type\n var classToType = {};\n for (var i$1 = 0, list$1 = ['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Undefined', 'Null']; i$1 < list$1.length; i$1 += 1) {\n var name = list$1[i$1];\n\n classToType[(\"[object \" + name + \"]\")] = name.toLowerCase();\n }\n var type$p = function(obj) {\n return classToType[Object.prototype.toString.call(obj)] || \"object\";\n };\n\n var type$o = type$p;\n\n var unpack$B = function (args, keyOrder) {\n if ( keyOrder === void 0 ) keyOrder=null;\n\n \t// if called with more than 3 arguments, we return the arguments\n if (args.length >= 3) { return Array.prototype.slice.call(args); }\n // with less than 3 args we check if first arg is object\n // and use the keyOrder string to extract and sort properties\n \tif (type$o(args[0]) == 'object' && keyOrder) {\n \t\treturn keyOrder.split('')\n \t\t\t.filter(function (k) { return args[0][k] !== undefined; })\n \t\t\t.map(function (k) { return args[0][k]; });\n \t}\n \t// otherwise we just return the first argument\n \t// (which we suppose is an array of args)\n return args[0];\n };\n\n var type$n = type$p;\n\n var last$4 = function (args) {\n if (args.length < 2) { return null; }\n var l = args.length-1;\n if (type$n(args[l]) == 'string') { return args[l].toLowerCase(); }\n return null;\n };\n\n var PI$2 = Math.PI;\n\n var utils = {\n \tclip_rgb: clip_rgb$3,\n \tlimit: limit$2,\n \ttype: type$p,\n \tunpack: unpack$B,\n \tlast: last$4,\n \tPI: PI$2,\n \tTWOPI: PI$2*2,\n \tPITHIRD: PI$2/3,\n \tDEG2RAD: PI$2 / 180,\n \tRAD2DEG: 180 / PI$2\n };\n\n var input$h = {\n \tformat: {},\n \tautodetect: []\n };\n\n var last$3 = utils.last;\n var clip_rgb$2 = utils.clip_rgb;\n var type$m = utils.type;\n var _input = input$h;\n\n var Color$D = function Color() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var me = this;\n if (type$m(args[0]) === 'object' &&\n args[0].constructor &&\n args[0].constructor === this.constructor) {\n // the argument is already a Color instance\n return args[0];\n }\n\n // last argument could be the mode\n var mode = last$3(args);\n var autodetect = false;\n\n if (!mode) {\n autodetect = true;\n if (!_input.sorted) {\n _input.autodetect = _input.autodetect.sort(function (a,b) { return b.p - a.p; });\n _input.sorted = true;\n }\n // auto-detect format\n for (var i = 0, list = _input.autodetect; i < list.length; i += 1) {\n var chk = list[i];\n\n mode = chk.test.apply(chk, args);\n if (mode) { break; }\n }\n }\n\n if (_input.format[mode]) {\n var rgb = _input.format[mode].apply(null, autodetect ? args : args.slice(0,-1));\n me._rgb = clip_rgb$2(rgb);\n } else {\n throw new Error('unknown format: '+args);\n }\n\n // add alpha channel\n if (me._rgb.length === 3) { me._rgb.push(1); }\n };\n\n Color$D.prototype.toString = function toString () {\n if (type$m(this.hex) == 'function') { return this.hex(); }\n return (\"[\" + (this._rgb.join(',')) + \"]\");\n };\n\n var Color_1 = Color$D;\n\n var chroma$k = function () {\n \tvar args = [], len = arguments.length;\n \twhile ( len-- ) args[ len ] = arguments[ len ];\n\n \treturn new (Function.prototype.bind.apply( chroma$k.Color, [ null ].concat( args) ));\n };\n\n chroma$k.Color = Color_1;\n chroma$k.version = '2.4.2';\n\n var chroma_1 = chroma$k;\n\n var unpack$A = utils.unpack;\n var max$2 = Math.max;\n\n var rgb2cmyk$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$A(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n r = r / 255;\n g = g / 255;\n b = b / 255;\n var k = 1 - max$2(r,max$2(g,b));\n var f = k < 1 ? 1 / (1-k) : 0;\n var c = (1-r-k) * f;\n var m = (1-g-k) * f;\n var y = (1-b-k) * f;\n return [c,m,y,k];\n };\n\n var rgb2cmyk_1 = rgb2cmyk$1;\n\n var unpack$z = utils.unpack;\n\n var cmyk2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$z(args, 'cmyk');\n var c = args[0];\n var m = args[1];\n var y = args[2];\n var k = args[3];\n var alpha = args.length > 4 ? args[4] : 1;\n if (k === 1) { return [0,0,0,alpha]; }\n return [\n c >= 1 ? 0 : 255 * (1-c) * (1-k), // r\n m >= 1 ? 0 : 255 * (1-m) * (1-k), // g\n y >= 1 ? 0 : 255 * (1-y) * (1-k), // b\n alpha\n ];\n };\n\n var cmyk2rgb_1 = cmyk2rgb;\n\n var chroma$j = chroma_1;\n var Color$C = Color_1;\n var input$g = input$h;\n var unpack$y = utils.unpack;\n var type$l = utils.type;\n\n var rgb2cmyk = rgb2cmyk_1;\n\n Color$C.prototype.cmyk = function() {\n return rgb2cmyk(this._rgb);\n };\n\n chroma$j.cmyk = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$C, [ null ].concat( args, ['cmyk']) ));\n };\n\n input$g.format.cmyk = cmyk2rgb_1;\n\n input$g.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$y(args, 'cmyk');\n if (type$l(args) === 'array' && args.length === 4) {\n return 'cmyk';\n }\n }\n });\n\n var unpack$x = utils.unpack;\n var last$2 = utils.last;\n var rnd = function (a) { return Math.round(a*100)/100; };\n\n /*\n * supported arguments:\n * - hsl2css(h,s,l)\n * - hsl2css(h,s,l,a)\n * - hsl2css([h,s,l], mode)\n * - hsl2css([h,s,l,a], mode)\n * - hsl2css({h,s,l,a}, mode)\n */\n var hsl2css$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var hsla = unpack$x(args, 'hsla');\n var mode = last$2(args) || 'lsa';\n hsla[0] = rnd(hsla[0] || 0);\n hsla[1] = rnd(hsla[1]*100) + '%';\n hsla[2] = rnd(hsla[2]*100) + '%';\n if (mode === 'hsla' || (hsla.length > 3 && hsla[3]<1)) {\n hsla[3] = hsla.length > 3 ? hsla[3] : 1;\n mode = 'hsla';\n } else {\n hsla.length = 3;\n }\n return (mode + \"(\" + (hsla.join(',')) + \")\");\n };\n\n var hsl2css_1 = hsl2css$1;\n\n var unpack$w = utils.unpack;\n\n /*\n * supported arguments:\n * - rgb2hsl(r,g,b)\n * - rgb2hsl(r,g,b,a)\n * - rgb2hsl([r,g,b])\n * - rgb2hsl([r,g,b,a])\n * - rgb2hsl({r,g,b,a})\n */\n var rgb2hsl$3 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$w(args, 'rgba');\n var r = args[0];\n var g = args[1];\n var b = args[2];\n\n r /= 255;\n g /= 255;\n b /= 255;\n\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n\n var l = (max + min) / 2;\n var s, h;\n\n if (max === min){\n s = 0;\n h = Number.NaN;\n } else {\n s = l < 0.5 ? (max - min) / (max + min) : (max - min) / (2 - max - min);\n }\n\n if (r == max) { h = (g - b) / (max - min); }\n else if (g == max) { h = 2 + (b - r) / (max - min); }\n else if (b == max) { h = 4 + (r - g) / (max - min); }\n\n h *= 60;\n if (h < 0) { h += 360; }\n if (args.length>3 && args[3]!==undefined) { return [h,s,l,args[3]]; }\n return [h,s,l];\n };\n\n var rgb2hsl_1 = rgb2hsl$3;\n\n var unpack$v = utils.unpack;\n var last$1 = utils.last;\n var hsl2css = hsl2css_1;\n var rgb2hsl$2 = rgb2hsl_1;\n var round$6 = Math.round;\n\n /*\n * supported arguments:\n * - rgb2css(r,g,b)\n * - rgb2css(r,g,b,a)\n * - rgb2css([r,g,b], mode)\n * - rgb2css([r,g,b,a], mode)\n * - rgb2css({r,g,b,a}, mode)\n */\n var rgb2css$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgba = unpack$v(args, 'rgba');\n var mode = last$1(args) || 'rgb';\n if (mode.substr(0,3) == 'hsl') {\n return hsl2css(rgb2hsl$2(rgba), mode);\n }\n rgba[0] = round$6(rgba[0]);\n rgba[1] = round$6(rgba[1]);\n rgba[2] = round$6(rgba[2]);\n if (mode === 'rgba' || (rgba.length > 3 && rgba[3]<1)) {\n rgba[3] = rgba.length > 3 ? rgba[3] : 1;\n mode = 'rgba';\n }\n return (mode + \"(\" + (rgba.slice(0,mode==='rgb'?3:4).join(',')) + \")\");\n };\n\n var rgb2css_1 = rgb2css$1;\n\n var unpack$u = utils.unpack;\n var round$5 = Math.round;\n\n var hsl2rgb$1 = function () {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$u(args, 'hsl');\n var h = args[0];\n var s = args[1];\n var l = args[2];\n var r,g,b;\n if (s === 0) {\n r = g = b = l*255;\n } else {\n var t3 = [0,0,0];\n var c = [0,0,0];\n var t2 = l < 0.5 ? l * (1+s) : l+s-l*s;\n var t1 = 2 * l - t2;\n var h_ = h / 360;\n t3[0] = h_ + 1/3;\n t3[1] = h_;\n t3[2] = h_ - 1/3;\n for (var i=0; i<3; i++) {\n if (t3[i] < 0) { t3[i] += 1; }\n if (t3[i] > 1) { t3[i] -= 1; }\n if (6 * t3[i] < 1)\n { c[i] = t1 + (t2 - t1) * 6 * t3[i]; }\n else if (2 * t3[i] < 1)\n { c[i] = t2; }\n else if (3 * t3[i] < 2)\n { c[i] = t1 + (t2 - t1) * ((2 / 3) - t3[i]) * 6; }\n else\n { c[i] = t1; }\n }\n (assign = [round$5(c[0]*255),round$5(c[1]*255),round$5(c[2]*255)], r = assign[0], g = assign[1], b = assign[2]);\n }\n if (args.length > 3) {\n // keep alpha channel\n return [r,g,b,args[3]];\n }\n return [r,g,b,1];\n };\n\n var hsl2rgb_1 = hsl2rgb$1;\n\n var hsl2rgb = hsl2rgb_1;\n var input$f = input$h;\n\n var RE_RGB = /^rgb\\(\\s*(-?\\d+),\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\)$/;\n var RE_RGBA = /^rgba\\(\\s*(-?\\d+),\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var RE_RGB_PCT = /^rgb\\(\\s*(-?\\d+(?:\\.\\d+)?)%,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*\\)$/;\n var RE_RGBA_PCT = /^rgba\\(\\s*(-?\\d+(?:\\.\\d+)?)%,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var RE_HSL = /^hsl\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*\\)$/;\n var RE_HSLA = /^hsla\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n\n var round$4 = Math.round;\n\n var css2rgb$1 = function (css) {\n css = css.toLowerCase().trim();\n var m;\n\n if (input$f.format.named) {\n try {\n return input$f.format.named(css);\n } catch (e) {\n // eslint-disable-next-line\n }\n }\n\n // rgb(250,20,0)\n if ((m = css.match(RE_RGB))) {\n var rgb = m.slice(1,4);\n for (var i=0; i<3; i++) {\n rgb[i] = +rgb[i];\n }\n rgb[3] = 1; // default alpha\n return rgb;\n }\n\n // rgba(250,20,0,0.4)\n if ((m = css.match(RE_RGBA))) {\n var rgb$1 = m.slice(1,5);\n for (var i$1=0; i$1<4; i$1++) {\n rgb$1[i$1] = +rgb$1[i$1];\n }\n return rgb$1;\n }\n\n // rgb(100%,0%,0%)\n if ((m = css.match(RE_RGB_PCT))) {\n var rgb$2 = m.slice(1,4);\n for (var i$2=0; i$2<3; i$2++) {\n rgb$2[i$2] = round$4(rgb$2[i$2] * 2.55);\n }\n rgb$2[3] = 1; // default alpha\n return rgb$2;\n }\n\n // rgba(100%,0%,0%,0.4)\n if ((m = css.match(RE_RGBA_PCT))) {\n var rgb$3 = m.slice(1,5);\n for (var i$3=0; i$3<3; i$3++) {\n rgb$3[i$3] = round$4(rgb$3[i$3] * 2.55);\n }\n rgb$3[3] = +rgb$3[3];\n return rgb$3;\n }\n\n // hsl(0,100%,50%)\n if ((m = css.match(RE_HSL))) {\n var hsl = m.slice(1,4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n var rgb$4 = hsl2rgb(hsl);\n rgb$4[3] = 1;\n return rgb$4;\n }\n\n // hsla(0,100%,50%,0.5)\n if ((m = css.match(RE_HSLA))) {\n var hsl$1 = m.slice(1,4);\n hsl$1[1] *= 0.01;\n hsl$1[2] *= 0.01;\n var rgb$5 = hsl2rgb(hsl$1);\n rgb$5[3] = +m[4]; // default alpha = 1\n return rgb$5;\n }\n };\n\n css2rgb$1.test = function (s) {\n return RE_RGB.test(s) ||\n RE_RGBA.test(s) ||\n RE_RGB_PCT.test(s) ||\n RE_RGBA_PCT.test(s) ||\n RE_HSL.test(s) ||\n RE_HSLA.test(s);\n };\n\n var css2rgb_1 = css2rgb$1;\n\n var chroma$i = chroma_1;\n var Color$B = Color_1;\n var input$e = input$h;\n var type$k = utils.type;\n\n var rgb2css = rgb2css_1;\n var css2rgb = css2rgb_1;\n\n Color$B.prototype.css = function(mode) {\n return rgb2css(this._rgb, mode);\n };\n\n chroma$i.css = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$B, [ null ].concat( args, ['css']) ));\n };\n\n input$e.format.css = css2rgb;\n\n input$e.autodetect.push({\n p: 5,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$k(h) === 'string' && css2rgb.test(h)) {\n return 'css';\n }\n }\n });\n\n var Color$A = Color_1;\n var chroma$h = chroma_1;\n var input$d = input$h;\n var unpack$t = utils.unpack;\n\n input$d.format.gl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgb = unpack$t(args, 'rgba');\n rgb[0] *= 255;\n rgb[1] *= 255;\n rgb[2] *= 255;\n return rgb;\n };\n\n chroma$h.gl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$A, [ null ].concat( args, ['gl']) ));\n };\n\n Color$A.prototype.gl = function() {\n var rgb = this._rgb;\n return [rgb[0]/255, rgb[1]/255, rgb[2]/255, rgb[3]];\n };\n\n var unpack$s = utils.unpack;\n\n var rgb2hcg$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$s(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var c = delta * 100 / 255;\n var _g = min / (255 - delta) * 100;\n var h;\n if (delta === 0) {\n h = Number.NaN;\n } else {\n if (r === max) { h = (g - b) / delta; }\n if (g === max) { h = 2+(b - r) / delta; }\n if (b === max) { h = 4+(r - g) / delta; }\n h *= 60;\n if (h < 0) { h += 360; }\n }\n return [h, c, _g];\n };\n\n var rgb2hcg_1 = rgb2hcg$1;\n\n var unpack$r = utils.unpack;\n var floor$3 = Math.floor;\n\n /*\n * this is basically just HSV with some minor tweaks\n *\n * hue.. [0..360]\n * chroma .. [0..1]\n * grayness .. [0..1]\n */\n\n var hcg2rgb = function () {\n var assign, assign$1, assign$2, assign$3, assign$4, assign$5;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$r(args, 'hcg');\n var h = args[0];\n var c = args[1];\n var _g = args[2];\n var r,g,b;\n _g = _g * 255;\n var _c = c * 255;\n if (c === 0) {\n r = g = b = _g;\n } else {\n if (h === 360) { h = 0; }\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 60;\n var i = floor$3(h);\n var f = h - i;\n var p = _g * (1 - c);\n var q = p + _c * (1 - f);\n var t = p + _c * f;\n var v = p + _c;\n switch (i) {\n case 0: (assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]); break\n case 1: (assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]); break\n case 2: (assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]); break\n case 3: (assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]); break\n case 4: (assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]); break\n case 5: (assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]); break\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var hcg2rgb_1 = hcg2rgb;\n\n var unpack$q = utils.unpack;\n var type$j = utils.type;\n var chroma$g = chroma_1;\n var Color$z = Color_1;\n var input$c = input$h;\n\n var rgb2hcg = rgb2hcg_1;\n\n Color$z.prototype.hcg = function() {\n return rgb2hcg(this._rgb);\n };\n\n chroma$g.hcg = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$z, [ null ].concat( args, ['hcg']) ));\n };\n\n input$c.format.hcg = hcg2rgb_1;\n\n input$c.autodetect.push({\n p: 1,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$q(args, 'hcg');\n if (type$j(args) === 'array' && args.length === 3) {\n return 'hcg';\n }\n }\n });\n\n var unpack$p = utils.unpack;\n var last = utils.last;\n var round$3 = Math.round;\n\n var rgb2hex$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$p(args, 'rgba');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var a = ref[3];\n var mode = last(args) || 'auto';\n if (a === undefined) { a = 1; }\n if (mode === 'auto') {\n mode = a < 1 ? 'rgba' : 'rgb';\n }\n r = round$3(r);\n g = round$3(g);\n b = round$3(b);\n var u = r << 16 | g << 8 | b;\n var str = \"000000\" + u.toString(16); //#.toUpperCase();\n str = str.substr(str.length - 6);\n var hxa = '0' + round$3(a * 255).toString(16);\n hxa = hxa.substr(hxa.length - 2);\n switch (mode.toLowerCase()) {\n case 'rgba': return (\"#\" + str + hxa);\n case 'argb': return (\"#\" + hxa + str);\n default: return (\"#\" + str);\n }\n };\n\n var rgb2hex_1 = rgb2hex$2;\n\n var RE_HEX = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\n var RE_HEXA = /^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/;\n\n var hex2rgb$1 = function (hex) {\n if (hex.match(RE_HEX)) {\n // remove optional leading #\n if (hex.length === 4 || hex.length === 7) {\n hex = hex.substr(1);\n }\n // expand short-notation to full six-digit\n if (hex.length === 3) {\n hex = hex.split('');\n hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];\n }\n var u = parseInt(hex, 16);\n var r = u >> 16;\n var g = u >> 8 & 0xFF;\n var b = u & 0xFF;\n return [r,g,b,1];\n }\n\n // match rgba hex format, eg #FF000077\n if (hex.match(RE_HEXA)) {\n if (hex.length === 5 || hex.length === 9) {\n // remove optional leading #\n hex = hex.substr(1);\n }\n // expand short-notation to full eight-digit\n if (hex.length === 4) {\n hex = hex.split('');\n hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]+hex[3]+hex[3];\n }\n var u$1 = parseInt(hex, 16);\n var r$1 = u$1 >> 24 & 0xFF;\n var g$1 = u$1 >> 16 & 0xFF;\n var b$1 = u$1 >> 8 & 0xFF;\n var a = Math.round((u$1 & 0xFF) / 0xFF * 100) / 100;\n return [r$1,g$1,b$1,a];\n }\n\n // we used to check for css colors here\n // if _input.css? and rgb = _input.css hex\n // return rgb\n\n throw new Error((\"unknown hex color: \" + hex));\n };\n\n var hex2rgb_1 = hex2rgb$1;\n\n var chroma$f = chroma_1;\n var Color$y = Color_1;\n var type$i = utils.type;\n var input$b = input$h;\n\n var rgb2hex$1 = rgb2hex_1;\n\n Color$y.prototype.hex = function(mode) {\n return rgb2hex$1(this._rgb, mode);\n };\n\n chroma$f.hex = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$y, [ null ].concat( args, ['hex']) ));\n };\n\n input$b.format.hex = hex2rgb_1;\n input$b.autodetect.push({\n p: 4,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$i(h) === 'string' && [3,4,5,6,7,8,9].indexOf(h.length) >= 0) {\n return 'hex';\n }\n }\n });\n\n var unpack$o = utils.unpack;\n var TWOPI$2 = utils.TWOPI;\n var min$2 = Math.min;\n var sqrt$4 = Math.sqrt;\n var acos = Math.acos;\n\n var rgb2hsi$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp\n */\n var ref = unpack$o(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n r /= 255;\n g /= 255;\n b /= 255;\n var h;\n var min_ = min$2(r,g,b);\n var i = (r+g+b) / 3;\n var s = i > 0 ? 1 - min_/i : 0;\n if (s === 0) {\n h = NaN;\n } else {\n h = ((r-g)+(r-b)) / 2;\n h /= sqrt$4((r-g)*(r-g) + (r-b)*(g-b));\n h = acos(h);\n if (b > g) {\n h = TWOPI$2 - h;\n }\n h /= TWOPI$2;\n }\n return [h*360,s,i];\n };\n\n var rgb2hsi_1 = rgb2hsi$1;\n\n var unpack$n = utils.unpack;\n var limit = utils.limit;\n var TWOPI$1 = utils.TWOPI;\n var PITHIRD = utils.PITHIRD;\n var cos$4 = Math.cos;\n\n /*\n * hue [0..360]\n * saturation [0..1]\n * intensity [0..1]\n */\n var hsi2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n */\n args = unpack$n(args, 'hsi');\n var h = args[0];\n var s = args[1];\n var i = args[2];\n var r,g,b;\n\n if (isNaN(h)) { h = 0; }\n if (isNaN(s)) { s = 0; }\n // normalize hue\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 360;\n if (h < 1/3) {\n b = (1-s)/3;\n r = (1+s*cos$4(TWOPI$1*h)/cos$4(PITHIRD-TWOPI$1*h))/3;\n g = 1 - (b+r);\n } else if (h < 2/3) {\n h -= 1/3;\n r = (1-s)/3;\n g = (1+s*cos$4(TWOPI$1*h)/cos$4(PITHIRD-TWOPI$1*h))/3;\n b = 1 - (r+g);\n } else {\n h -= 2/3;\n g = (1-s)/3;\n b = (1+s*cos$4(TWOPI$1*h)/cos$4(PITHIRD-TWOPI$1*h))/3;\n r = 1 - (g+b);\n }\n r = limit(i*r*3);\n g = limit(i*g*3);\n b = limit(i*b*3);\n return [r*255, g*255, b*255, args.length > 3 ? args[3] : 1];\n };\n\n var hsi2rgb_1 = hsi2rgb;\n\n var unpack$m = utils.unpack;\n var type$h = utils.type;\n var chroma$e = chroma_1;\n var Color$x = Color_1;\n var input$a = input$h;\n\n var rgb2hsi = rgb2hsi_1;\n\n Color$x.prototype.hsi = function() {\n return rgb2hsi(this._rgb);\n };\n\n chroma$e.hsi = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$x, [ null ].concat( args, ['hsi']) ));\n };\n\n input$a.format.hsi = hsi2rgb_1;\n\n input$a.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$m(args, 'hsi');\n if (type$h(args) === 'array' && args.length === 3) {\n return 'hsi';\n }\n }\n });\n\n var unpack$l = utils.unpack;\n var type$g = utils.type;\n var chroma$d = chroma_1;\n var Color$w = Color_1;\n var input$9 = input$h;\n\n var rgb2hsl$1 = rgb2hsl_1;\n\n Color$w.prototype.hsl = function() {\n return rgb2hsl$1(this._rgb);\n };\n\n chroma$d.hsl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$w, [ null ].concat( args, ['hsl']) ));\n };\n\n input$9.format.hsl = hsl2rgb_1;\n\n input$9.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$l(args, 'hsl');\n if (type$g(args) === 'array' && args.length === 3) {\n return 'hsl';\n }\n }\n });\n\n var unpack$k = utils.unpack;\n var min$1 = Math.min;\n var max$1 = Math.max;\n\n /*\n * supported arguments:\n * - rgb2hsv(r,g,b)\n * - rgb2hsv([r,g,b])\n * - rgb2hsv({r,g,b})\n */\n var rgb2hsl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$k(args, 'rgb');\n var r = args[0];\n var g = args[1];\n var b = args[2];\n var min_ = min$1(r, g, b);\n var max_ = max$1(r, g, b);\n var delta = max_ - min_;\n var h,s,v;\n v = max_ / 255.0;\n if (max_ === 0) {\n h = Number.NaN;\n s = 0;\n } else {\n s = delta / max_;\n if (r === max_) { h = (g - b) / delta; }\n if (g === max_) { h = 2+(b - r) / delta; }\n if (b === max_) { h = 4+(r - g) / delta; }\n h *= 60;\n if (h < 0) { h += 360; }\n }\n return [h, s, v]\n };\n\n var rgb2hsv$1 = rgb2hsl;\n\n var unpack$j = utils.unpack;\n var floor$2 = Math.floor;\n\n var hsv2rgb = function () {\n var assign, assign$1, assign$2, assign$3, assign$4, assign$5;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$j(args, 'hsv');\n var h = args[0];\n var s = args[1];\n var v = args[2];\n var r,g,b;\n v *= 255;\n if (s === 0) {\n r = g = b = v;\n } else {\n if (h === 360) { h = 0; }\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 60;\n\n var i = floor$2(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - s * f);\n var t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0: (assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]); break\n case 1: (assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]); break\n case 2: (assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]); break\n case 3: (assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]); break\n case 4: (assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]); break\n case 5: (assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]); break\n }\n }\n return [r,g,b,args.length > 3?args[3]:1];\n };\n\n var hsv2rgb_1 = hsv2rgb;\n\n var unpack$i = utils.unpack;\n var type$f = utils.type;\n var chroma$c = chroma_1;\n var Color$v = Color_1;\n var input$8 = input$h;\n\n var rgb2hsv = rgb2hsv$1;\n\n Color$v.prototype.hsv = function() {\n return rgb2hsv(this._rgb);\n };\n\n chroma$c.hsv = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$v, [ null ].concat( args, ['hsv']) ));\n };\n\n input$8.format.hsv = hsv2rgb_1;\n\n input$8.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$i(args, 'hsv');\n if (type$f(args) === 'array' && args.length === 3) {\n return 'hsv';\n }\n }\n });\n\n var labConstants = {\n // Corresponds roughly to RGB brighter/darker\n Kn: 18,\n\n // D65 standard referent\n Xn: 0.950470,\n Yn: 1,\n Zn: 1.088830,\n\n t0: 0.137931034, // 4 / 29\n t1: 0.206896552, // 6 / 29\n t2: 0.12841855, // 3 * t1 * t1\n t3: 0.008856452, // t1 * t1 * t1\n };\n\n var LAB_CONSTANTS$3 = labConstants;\n var unpack$h = utils.unpack;\n var pow$a = Math.pow;\n\n var rgb2lab$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$h(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2xyz(r,g,b);\n var x = ref$1[0];\n var y = ref$1[1];\n var z = ref$1[2];\n var l = 116 * y - 16;\n return [l < 0 ? 0 : l, 500 * (x - y), 200 * (y - z)];\n };\n\n var rgb_xyz = function (r) {\n if ((r /= 255) <= 0.04045) { return r / 12.92; }\n return pow$a((r + 0.055) / 1.055, 2.4);\n };\n\n var xyz_lab = function (t) {\n if (t > LAB_CONSTANTS$3.t3) { return pow$a(t, 1 / 3); }\n return t / LAB_CONSTANTS$3.t2 + LAB_CONSTANTS$3.t0;\n };\n\n var rgb2xyz = function (r,g,b) {\n r = rgb_xyz(r);\n g = rgb_xyz(g);\n b = rgb_xyz(b);\n var x = xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / LAB_CONSTANTS$3.Xn);\n var y = xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / LAB_CONSTANTS$3.Yn);\n var z = xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / LAB_CONSTANTS$3.Zn);\n return [x,y,z];\n };\n\n var rgb2lab_1 = rgb2lab$2;\n\n var LAB_CONSTANTS$2 = labConstants;\n var unpack$g = utils.unpack;\n var pow$9 = Math.pow;\n\n /*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\n var lab2rgb$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$g(args, 'lab');\n var l = args[0];\n var a = args[1];\n var b = args[2];\n var x,y,z, r,g,b_;\n\n y = (l + 16) / 116;\n x = isNaN(a) ? y : y + a / 500;\n z = isNaN(b) ? y : y - b / 200;\n\n y = LAB_CONSTANTS$2.Yn * lab_xyz(y);\n x = LAB_CONSTANTS$2.Xn * lab_xyz(x);\n z = LAB_CONSTANTS$2.Zn * lab_xyz(z);\n\n r = xyz_rgb(3.2404542 * x - 1.5371385 * y - 0.4985314 * z); // D65 -> sRGB\n g = xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z);\n b_ = xyz_rgb(0.0556434 * x - 0.2040259 * y + 1.0572252 * z);\n\n return [r,g,b_,args.length > 3 ? args[3] : 1];\n };\n\n var xyz_rgb = function (r) {\n return 255 * (r <= 0.00304 ? 12.92 * r : 1.055 * pow$9(r, 1 / 2.4) - 0.055)\n };\n\n var lab_xyz = function (t) {\n return t > LAB_CONSTANTS$2.t1 ? t * t * t : LAB_CONSTANTS$2.t2 * (t - LAB_CONSTANTS$2.t0)\n };\n\n var lab2rgb_1 = lab2rgb$1;\n\n var unpack$f = utils.unpack;\n var type$e = utils.type;\n var chroma$b = chroma_1;\n var Color$u = Color_1;\n var input$7 = input$h;\n\n var rgb2lab$1 = rgb2lab_1;\n\n Color$u.prototype.lab = function() {\n return rgb2lab$1(this._rgb);\n };\n\n chroma$b.lab = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$u, [ null ].concat( args, ['lab']) ));\n };\n\n input$7.format.lab = lab2rgb_1;\n\n input$7.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$f(args, 'lab');\n if (type$e(args) === 'array' && args.length === 3) {\n return 'lab';\n }\n }\n });\n\n var unpack$e = utils.unpack;\n var RAD2DEG = utils.RAD2DEG;\n var sqrt$3 = Math.sqrt;\n var atan2$2 = Math.atan2;\n var round$2 = Math.round;\n\n var lab2lch$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$e(args, 'lab');\n var l = ref[0];\n var a = ref[1];\n var b = ref[2];\n var c = sqrt$3(a * a + b * b);\n var h = (atan2$2(b, a) * RAD2DEG + 360) % 360;\n if (round$2(c*10000) === 0) { h = Number.NaN; }\n return [l, c, h];\n };\n\n var lab2lch_1 = lab2lch$2;\n\n var unpack$d = utils.unpack;\n var rgb2lab = rgb2lab_1;\n var lab2lch$1 = lab2lch_1;\n\n var rgb2lch$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$d(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2lab(r,g,b);\n var l = ref$1[0];\n var a = ref$1[1];\n var b_ = ref$1[2];\n return lab2lch$1(l,a,b_);\n };\n\n var rgb2lch_1 = rgb2lch$1;\n\n var unpack$c = utils.unpack;\n var DEG2RAD = utils.DEG2RAD;\n var sin$3 = Math.sin;\n var cos$3 = Math.cos;\n\n var lch2lab$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.\n These formulas were invented by David Dalrymple to obtain maximum contrast without going\n out of gamut if the parameters are in the range 0-1.\n\n A saturation multiplier was added by Gregor Aisch\n */\n var ref = unpack$c(args, 'lch');\n var l = ref[0];\n var c = ref[1];\n var h = ref[2];\n if (isNaN(h)) { h = 0; }\n h = h * DEG2RAD;\n return [l, cos$3(h) * c, sin$3(h) * c]\n };\n\n var lch2lab_1 = lch2lab$2;\n\n var unpack$b = utils.unpack;\n var lch2lab$1 = lch2lab_1;\n var lab2rgb = lab2rgb_1;\n\n var lch2rgb$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$b(args, 'lch');\n var l = args[0];\n var c = args[1];\n var h = args[2];\n var ref = lch2lab$1 (l,c,h);\n var L = ref[0];\n var a = ref[1];\n var b_ = ref[2];\n var ref$1 = lab2rgb (L,a,b_);\n var r = ref$1[0];\n var g = ref$1[1];\n var b = ref$1[2];\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var lch2rgb_1 = lch2rgb$1;\n\n var unpack$a = utils.unpack;\n var lch2rgb = lch2rgb_1;\n\n var hcl2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var hcl = unpack$a(args, 'hcl').reverse();\n return lch2rgb.apply(void 0, hcl);\n };\n\n var hcl2rgb_1 = hcl2rgb;\n\n var unpack$9 = utils.unpack;\n var type$d = utils.type;\n var chroma$a = chroma_1;\n var Color$t = Color_1;\n var input$6 = input$h;\n\n var rgb2lch = rgb2lch_1;\n\n Color$t.prototype.lch = function() { return rgb2lch(this._rgb); };\n Color$t.prototype.hcl = function() { return rgb2lch(this._rgb).reverse(); };\n\n chroma$a.lch = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$t, [ null ].concat( args, ['lch']) ));\n };\n chroma$a.hcl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$t, [ null ].concat( args, ['hcl']) ));\n };\n\n input$6.format.lch = lch2rgb_1;\n input$6.format.hcl = hcl2rgb_1;\n\n ['lch','hcl'].forEach(function (m) { return input$6.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$9(args, m);\n if (type$d(args) === 'array' && args.length === 3) {\n return m;\n }\n }\n }); });\n\n /**\n \tX11 color names\n\n \thttp://www.w3.org/TR/css3-color/#svg-color\n */\n\n var w3cx11$1 = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflower: '#6495ed',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n laserlemon: '#ffff54',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrod: '#fafad2',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n maroon2: '#7f0000',\n maroon3: '#b03060',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n purple2: '#7f007f',\n purple3: '#a020f0',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n };\n\n var w3cx11_1 = w3cx11$1;\n\n var Color$s = Color_1;\n var input$5 = input$h;\n var type$c = utils.type;\n\n var w3cx11 = w3cx11_1;\n var hex2rgb = hex2rgb_1;\n var rgb2hex = rgb2hex_1;\n\n Color$s.prototype.name = function() {\n var hex = rgb2hex(this._rgb, 'rgb');\n for (var i = 0, list = Object.keys(w3cx11); i < list.length; i += 1) {\n var n = list[i];\n\n if (w3cx11[n] === hex) { return n.toLowerCase(); }\n }\n return hex;\n };\n\n input$5.format.named = function (name) {\n name = name.toLowerCase();\n if (w3cx11[name]) { return hex2rgb(w3cx11[name]); }\n throw new Error('unknown color name: '+name);\n };\n\n input$5.autodetect.push({\n p: 5,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$c(h) === 'string' && w3cx11[h.toLowerCase()]) {\n return 'named';\n }\n }\n });\n\n var unpack$8 = utils.unpack;\n\n var rgb2num$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$8(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n return (r << 16) + (g << 8) + b;\n };\n\n var rgb2num_1 = rgb2num$1;\n\n var type$b = utils.type;\n\n var num2rgb = function (num) {\n if (type$b(num) == \"number\" && num >= 0 && num <= 0xFFFFFF) {\n var r = num >> 16;\n var g = (num >> 8) & 0xFF;\n var b = num & 0xFF;\n return [r,g,b,1];\n }\n throw new Error(\"unknown num color: \"+num);\n };\n\n var num2rgb_1 = num2rgb;\n\n var chroma$9 = chroma_1;\n var Color$r = Color_1;\n var input$4 = input$h;\n var type$a = utils.type;\n\n var rgb2num = rgb2num_1;\n\n Color$r.prototype.num = function() {\n return rgb2num(this._rgb);\n };\n\n chroma$9.num = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$r, [ null ].concat( args, ['num']) ));\n };\n\n input$4.format.num = num2rgb_1;\n\n input$4.autodetect.push({\n p: 5,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (args.length === 1 && type$a(args[0]) === 'number' && args[0] >= 0 && args[0] <= 0xFFFFFF) {\n return 'num';\n }\n }\n });\n\n var chroma$8 = chroma_1;\n var Color$q = Color_1;\n var input$3 = input$h;\n var unpack$7 = utils.unpack;\n var type$9 = utils.type;\n var round$1 = Math.round;\n\n Color$q.prototype.rgb = function(rnd) {\n if ( rnd === void 0 ) rnd=true;\n\n if (rnd === false) { return this._rgb.slice(0,3); }\n return this._rgb.slice(0,3).map(round$1);\n };\n\n Color$q.prototype.rgba = function(rnd) {\n if ( rnd === void 0 ) rnd=true;\n\n return this._rgb.slice(0,4).map(function (v,i) {\n return i<3 ? (rnd === false ? v : round$1(v)) : v;\n });\n };\n\n chroma$8.rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$q, [ null ].concat( args, ['rgb']) ));\n };\n\n input$3.format.rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgba = unpack$7(args, 'rgba');\n if (rgba[3] === undefined) { rgba[3] = 1; }\n return rgba;\n };\n\n input$3.autodetect.push({\n p: 3,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$7(args, 'rgba');\n if (type$9(args) === 'array' && (args.length === 3 ||\n args.length === 4 && type$9(args[3]) == 'number' && args[3] >= 0 && args[3] <= 1)) {\n return 'rgb';\n }\n }\n });\n\n /*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n */\n\n var log$1 = Math.log;\n\n var temperature2rgb$1 = function (kelvin) {\n var temp = kelvin / 100;\n var r,g,b;\n if (temp < 66) {\n r = 255;\n g = temp < 6 ? 0 : -155.25485562709179 - 0.44596950469579133 * (g = temp-2) + 104.49216199393888 * log$1(g);\n b = temp < 20 ? 0 : -254.76935184120902 + 0.8274096064007395 * (b = temp-10) + 115.67994401066147 * log$1(b);\n } else {\n r = 351.97690566805693 + 0.114206453784165 * (r = temp-55) - 40.25366309332127 * log$1(r);\n g = 325.4494125711974 + 0.07943456536662342 * (g = temp-50) - 28.0852963507957 * log$1(g);\n b = 255;\n }\n return [r,g,b,1];\n };\n\n var temperature2rgb_1 = temperature2rgb$1;\n\n /*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n **/\n\n var temperature2rgb = temperature2rgb_1;\n var unpack$6 = utils.unpack;\n var round = Math.round;\n\n var rgb2temperature$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgb = unpack$6(args, 'rgb');\n var r = rgb[0], b = rgb[2];\n var minTemp = 1000;\n var maxTemp = 40000;\n var eps = 0.4;\n var temp;\n while (maxTemp - minTemp > eps) {\n temp = (maxTemp + minTemp) * 0.5;\n var rgb$1 = temperature2rgb(temp);\n if ((rgb$1[2] / rgb$1[0]) >= (b / r)) {\n maxTemp = temp;\n } else {\n minTemp = temp;\n }\n }\n return round(temp);\n };\n\n var rgb2temperature_1 = rgb2temperature$1;\n\n var chroma$7 = chroma_1;\n var Color$p = Color_1;\n var input$2 = input$h;\n\n var rgb2temperature = rgb2temperature_1;\n\n Color$p.prototype.temp =\n Color$p.prototype.kelvin =\n Color$p.prototype.temperature = function() {\n return rgb2temperature(this._rgb);\n };\n\n chroma$7.temp =\n chroma$7.kelvin =\n chroma$7.temperature = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$p, [ null ].concat( args, ['temp']) ));\n };\n\n input$2.format.temp =\n input$2.format.kelvin =\n input$2.format.temperature = temperature2rgb_1;\n\n var unpack$5 = utils.unpack;\n var cbrt = Math.cbrt;\n var pow$8 = Math.pow;\n var sign$1 = Math.sign;\n\n var rgb2oklab$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // OKLab color space implementation taken from\n // https://bottosson.github.io/posts/oklab/\n var ref = unpack$5(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = [rgb2lrgb(r / 255), rgb2lrgb(g / 255), rgb2lrgb(b / 255)];\n var lr = ref$1[0];\n var lg = ref$1[1];\n var lb = ref$1[2];\n var l = cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb);\n var m = cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb);\n var s = cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb);\n\n return [\n 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,\n 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,\n 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s\n ];\n };\n\n var rgb2oklab_1 = rgb2oklab$2;\n\n function rgb2lrgb(c) {\n var abs = Math.abs(c);\n if (abs < 0.04045) {\n return c / 12.92;\n }\n return (sign$1(c) || 1) * pow$8((abs + 0.055) / 1.055, 2.4);\n }\n\n var unpack$4 = utils.unpack;\n var pow$7 = Math.pow;\n var sign = Math.sign;\n\n /*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\n var oklab2rgb$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$4(args, 'lab');\n var L = args[0];\n var a = args[1];\n var b = args[2];\n\n var l = pow$7(L + 0.3963377774 * a + 0.2158037573 * b, 3);\n var m = pow$7(L - 0.1055613458 * a - 0.0638541728 * b, 3);\n var s = pow$7(L - 0.0894841775 * a - 1.291485548 * b, 3);\n\n return [\n 255 * lrgb2rgb(+4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s),\n 255 * lrgb2rgb(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s),\n 255 * lrgb2rgb(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s),\n args.length > 3 ? args[3] : 1\n ];\n };\n\n var oklab2rgb_1 = oklab2rgb$1;\n\n function lrgb2rgb(c) {\n var abs = Math.abs(c);\n if (abs > 0.0031308) {\n return (sign(c) || 1) * (1.055 * pow$7(abs, 1 / 2.4) - 0.055);\n }\n return c * 12.92;\n }\n\n var unpack$3 = utils.unpack;\n var type$8 = utils.type;\n var chroma$6 = chroma_1;\n var Color$o = Color_1;\n var input$1 = input$h;\n\n var rgb2oklab$1 = rgb2oklab_1;\n\n Color$o.prototype.oklab = function () {\n return rgb2oklab$1(this._rgb);\n };\n\n chroma$6.oklab = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$o, [ null ].concat( args, ['oklab']) ));\n };\n\n input$1.format.oklab = oklab2rgb_1;\n\n input$1.autodetect.push({\n p: 3,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$3(args, 'oklab');\n if (type$8(args) === 'array' && args.length === 3) {\n return 'oklab';\n }\n }\n });\n\n var unpack$2 = utils.unpack;\n var rgb2oklab = rgb2oklab_1;\n var lab2lch = lab2lch_1;\n\n var rgb2oklch$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$2(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2oklab(r, g, b);\n var l = ref$1[0];\n var a = ref$1[1];\n var b_ = ref$1[2];\n return lab2lch(l, a, b_);\n };\n\n var rgb2oklch_1 = rgb2oklch$1;\n\n var unpack$1 = utils.unpack;\n var lch2lab = lch2lab_1;\n var oklab2rgb = oklab2rgb_1;\n\n var oklch2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$1(args, 'lch');\n var l = args[0];\n var c = args[1];\n var h = args[2];\n var ref = lch2lab(l, c, h);\n var L = ref[0];\n var a = ref[1];\n var b_ = ref[2];\n var ref$1 = oklab2rgb(L, a, b_);\n var r = ref$1[0];\n var g = ref$1[1];\n var b = ref$1[2];\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var oklch2rgb_1 = oklch2rgb;\n\n var unpack = utils.unpack;\n var type$7 = utils.type;\n var chroma$5 = chroma_1;\n var Color$n = Color_1;\n var input = input$h;\n\n var rgb2oklch = rgb2oklch_1;\n\n Color$n.prototype.oklch = function () {\n return rgb2oklch(this._rgb);\n };\n\n chroma$5.oklch = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$n, [ null ].concat( args, ['oklch']) ));\n };\n\n input.format.oklch = oklch2rgb_1;\n\n input.autodetect.push({\n p: 3,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack(args, 'oklch');\n if (type$7(args) === 'array' && args.length === 3) {\n return 'oklch';\n }\n }\n });\n\n var Color$m = Color_1;\n var type$6 = utils.type;\n\n Color$m.prototype.alpha = function(a, mutate) {\n if ( mutate === void 0 ) mutate=false;\n\n if (a !== undefined && type$6(a) === 'number') {\n if (mutate) {\n this._rgb[3] = a;\n return this;\n }\n return new Color$m([this._rgb[0], this._rgb[1], this._rgb[2], a], 'rgb');\n }\n return this._rgb[3];\n };\n\n var Color$l = Color_1;\n\n Color$l.prototype.clipped = function() {\n return this._rgb._clipped || false;\n };\n\n var Color$k = Color_1;\n var LAB_CONSTANTS$1 = labConstants;\n\n Color$k.prototype.darken = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \tvar me = this;\n \tvar lab = me.lab();\n \tlab[0] -= LAB_CONSTANTS$1.Kn * amount;\n \treturn new Color$k(lab, 'lab').alpha(me.alpha(), true);\n };\n\n Color$k.prototype.brighten = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \treturn this.darken(-amount);\n };\n\n Color$k.prototype.darker = Color$k.prototype.darken;\n Color$k.prototype.brighter = Color$k.prototype.brighten;\n\n var Color$j = Color_1;\n\n Color$j.prototype.get = function (mc) {\n var ref = mc.split('.');\n var mode = ref[0];\n var channel = ref[1];\n var src = this[mode]();\n if (channel) {\n var i = mode.indexOf(channel) - (mode.substr(0, 2) === 'ok' ? 2 : 0);\n if (i > -1) { return src[i]; }\n throw new Error((\"unknown channel \" + channel + \" in mode \" + mode));\n } else {\n return src;\n }\n };\n\n var Color$i = Color_1;\n var type$5 = utils.type;\n var pow$6 = Math.pow;\n\n var EPS = 1e-7;\n var MAX_ITER = 20;\n\n Color$i.prototype.luminance = function(lum) {\n if (lum !== undefined && type$5(lum) === 'number') {\n if (lum === 0) {\n // return pure black\n return new Color$i([0,0,0,this._rgb[3]], 'rgb');\n }\n if (lum === 1) {\n // return pure white\n return new Color$i([255,255,255,this._rgb[3]], 'rgb');\n }\n // compute new color using...\n var cur_lum = this.luminance();\n var mode = 'rgb';\n var max_iter = MAX_ITER;\n\n var test = function (low, high) {\n var mid = low.interpolate(high, 0.5, mode);\n var lm = mid.luminance();\n if (Math.abs(lum - lm) < EPS || !max_iter--) {\n // close enough\n return mid;\n }\n return lm > lum ? test(low, mid) : test(mid, high);\n };\n\n var rgb = (cur_lum > lum ? test(new Color$i([0,0,0]), this) : test(this, new Color$i([255,255,255]))).rgb();\n return new Color$i(rgb.concat( [this._rgb[3]]));\n }\n return rgb2luminance.apply(void 0, (this._rgb).slice(0,3));\n };\n\n\n var rgb2luminance = function (r,g,b) {\n // relative luminance\n // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n r = luminance_x(r);\n g = luminance_x(g);\n b = luminance_x(b);\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n };\n\n var luminance_x = function (x) {\n x /= 255;\n return x <= 0.03928 ? x/12.92 : pow$6((x+0.055)/1.055, 2.4);\n };\n\n var interpolator$1 = {};\n\n var Color$h = Color_1;\n var type$4 = utils.type;\n var interpolator = interpolator$1;\n\n var mix$1 = function (col1, col2, f) {\n if ( f === void 0 ) f=0.5;\n var rest = [], len = arguments.length - 3;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 3 ];\n\n var mode = rest[0] || 'lrgb';\n if (!interpolator[mode] && !rest.length) {\n // fall back to the first supported mode\n mode = Object.keys(interpolator)[0];\n }\n if (!interpolator[mode]) {\n throw new Error((\"interpolation mode \" + mode + \" is not defined\"));\n }\n if (type$4(col1) !== 'object') { col1 = new Color$h(col1); }\n if (type$4(col2) !== 'object') { col2 = new Color$h(col2); }\n return interpolator[mode](col1, col2, f)\n .alpha(col1.alpha() + f * (col2.alpha() - col1.alpha()));\n };\n\n var Color$g = Color_1;\n var mix = mix$1;\n\n Color$g.prototype.mix =\n Color$g.prototype.interpolate = function(col2, f) {\n \tif ( f === void 0 ) f=0.5;\n \tvar rest = [], len = arguments.length - 2;\n \twhile ( len-- > 0 ) rest[ len ] = arguments[ len + 2 ];\n\n \treturn mix.apply(void 0, [ this, col2, f ].concat( rest ));\n };\n\n var Color$f = Color_1;\n\n Color$f.prototype.premultiply = function(mutate) {\n \tif ( mutate === void 0 ) mutate=false;\n\n \tvar rgb = this._rgb;\n \tvar a = rgb[3];\n \tif (mutate) {\n \t\tthis._rgb = [rgb[0]*a, rgb[1]*a, rgb[2]*a, a];\n \t\treturn this;\n \t} else {\n \t\treturn new Color$f([rgb[0]*a, rgb[1]*a, rgb[2]*a, a], 'rgb');\n \t}\n };\n\n var Color$e = Color_1;\n var LAB_CONSTANTS = labConstants;\n\n Color$e.prototype.saturate = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \tvar me = this;\n \tvar lch = me.lch();\n \tlch[1] += LAB_CONSTANTS.Kn * amount;\n \tif (lch[1] < 0) { lch[1] = 0; }\n \treturn new Color$e(lch, 'lch').alpha(me.alpha(), true);\n };\n\n Color$e.prototype.desaturate = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \treturn this.saturate(-amount);\n };\n\n var Color$d = Color_1;\n var type$3 = utils.type;\n\n Color$d.prototype.set = function (mc, value, mutate) {\n if ( mutate === void 0 ) mutate = false;\n\n var ref = mc.split('.');\n var mode = ref[0];\n var channel = ref[1];\n var src = this[mode]();\n if (channel) {\n var i = mode.indexOf(channel) - (mode.substr(0, 2) === 'ok' ? 2 : 0);\n if (i > -1) {\n if (type$3(value) == 'string') {\n switch (value.charAt(0)) {\n case '+':\n src[i] += +value;\n break;\n case '-':\n src[i] += +value;\n break;\n case '*':\n src[i] *= +value.substr(1);\n break;\n case '/':\n src[i] /= +value.substr(1);\n break;\n default:\n src[i] = +value;\n }\n } else if (type$3(value) === 'number') {\n src[i] = value;\n } else {\n throw new Error(\"unsupported value for Color.set\");\n }\n var out = new Color$d(src, mode);\n if (mutate) {\n this._rgb = out._rgb;\n return this;\n }\n return out;\n }\n throw new Error((\"unknown channel \" + channel + \" in mode \" + mode));\n } else {\n return src;\n }\n };\n\n var Color$c = Color_1;\n\n var rgb = function (col1, col2, f) {\n var xyz0 = col1._rgb;\n var xyz1 = col2._rgb;\n return new Color$c(\n xyz0[0] + f * (xyz1[0]-xyz0[0]),\n xyz0[1] + f * (xyz1[1]-xyz0[1]),\n xyz0[2] + f * (xyz1[2]-xyz0[2]),\n 'rgb'\n )\n };\n\n // register interpolator\n interpolator$1.rgb = rgb;\n\n var Color$b = Color_1;\n var sqrt$2 = Math.sqrt;\n var pow$5 = Math.pow;\n\n var lrgb = function (col1, col2, f) {\n var ref = col1._rgb;\n var x1 = ref[0];\n var y1 = ref[1];\n var z1 = ref[2];\n var ref$1 = col2._rgb;\n var x2 = ref$1[0];\n var y2 = ref$1[1];\n var z2 = ref$1[2];\n return new Color$b(\n sqrt$2(pow$5(x1,2) * (1-f) + pow$5(x2,2) * f),\n sqrt$2(pow$5(y1,2) * (1-f) + pow$5(y2,2) * f),\n sqrt$2(pow$5(z1,2) * (1-f) + pow$5(z2,2) * f),\n 'rgb'\n )\n };\n\n // register interpolator\n interpolator$1.lrgb = lrgb;\n\n var Color$a = Color_1;\n\n var lab = function (col1, col2, f) {\n var xyz0 = col1.lab();\n var xyz1 = col2.lab();\n return new Color$a(\n xyz0[0] + f * (xyz1[0]-xyz0[0]),\n xyz0[1] + f * (xyz1[1]-xyz0[1]),\n xyz0[2] + f * (xyz1[2]-xyz0[2]),\n 'lab'\n )\n };\n\n // register interpolator\n interpolator$1.lab = lab;\n\n var Color$9 = Color_1;\n\n var _hsx = function (col1, col2, f, m) {\n var assign, assign$1;\n\n var xyz0, xyz1;\n if (m === 'hsl') {\n xyz0 = col1.hsl();\n xyz1 = col2.hsl();\n } else if (m === 'hsv') {\n xyz0 = col1.hsv();\n xyz1 = col2.hsv();\n } else if (m === 'hcg') {\n xyz0 = col1.hcg();\n xyz1 = col2.hcg();\n } else if (m === 'hsi') {\n xyz0 = col1.hsi();\n xyz1 = col2.hsi();\n } else if (m === 'lch' || m === 'hcl') {\n m = 'hcl';\n xyz0 = col1.hcl();\n xyz1 = col2.hcl();\n } else if (m === 'oklch') {\n xyz0 = col1.oklch().reverse();\n xyz1 = col2.oklch().reverse();\n }\n\n var hue0, hue1, sat0, sat1, lbv0, lbv1;\n if (m.substr(0, 1) === 'h' || m === 'oklch') {\n (assign = xyz0, hue0 = assign[0], sat0 = assign[1], lbv0 = assign[2]);\n (assign$1 = xyz1, hue1 = assign$1[0], sat1 = assign$1[1], lbv1 = assign$1[2]);\n }\n\n var sat, hue, lbv, dh;\n\n if (!isNaN(hue0) && !isNaN(hue1)) {\n // both colors have hue\n if (hue1 > hue0 && hue1 - hue0 > 180) {\n dh = hue1 - (hue0 + 360);\n } else if (hue1 < hue0 && hue0 - hue1 > 180) {\n dh = hue1 + 360 - hue0;\n } else {\n dh = hue1 - hue0;\n }\n hue = hue0 + f * dh;\n } else if (!isNaN(hue0)) {\n hue = hue0;\n if ((lbv1 == 1 || lbv1 == 0) && m != 'hsv') { sat = sat0; }\n } else if (!isNaN(hue1)) {\n hue = hue1;\n if ((lbv0 == 1 || lbv0 == 0) && m != 'hsv') { sat = sat1; }\n } else {\n hue = Number.NaN;\n }\n\n if (sat === undefined) { sat = sat0 + f * (sat1 - sat0); }\n lbv = lbv0 + f * (lbv1 - lbv0);\n return m === 'oklch' ? new Color$9([lbv, sat, hue], m) : new Color$9([hue, sat, lbv], m);\n };\n\n var interpolate_hsx$5 = _hsx;\n\n var lch = function (col1, col2, f) {\n \treturn interpolate_hsx$5(col1, col2, f, 'lch');\n };\n\n // register interpolator\n interpolator$1.lch = lch;\n interpolator$1.hcl = lch;\n\n var Color$8 = Color_1;\n\n var num = function (col1, col2, f) {\n var c1 = col1.num();\n var c2 = col2.num();\n return new Color$8(c1 + f * (c2-c1), 'num')\n };\n\n // register interpolator\n interpolator$1.num = num;\n\n var interpolate_hsx$4 = _hsx;\n\n var hcg = function (col1, col2, f) {\n \treturn interpolate_hsx$4(col1, col2, f, 'hcg');\n };\n\n // register interpolator\n interpolator$1.hcg = hcg;\n\n var interpolate_hsx$3 = _hsx;\n\n var hsi = function (col1, col2, f) {\n \treturn interpolate_hsx$3(col1, col2, f, 'hsi');\n };\n\n // register interpolator\n interpolator$1.hsi = hsi;\n\n var interpolate_hsx$2 = _hsx;\n\n var hsl = function (col1, col2, f) {\n \treturn interpolate_hsx$2(col1, col2, f, 'hsl');\n };\n\n // register interpolator\n interpolator$1.hsl = hsl;\n\n var interpolate_hsx$1 = _hsx;\n\n var hsv = function (col1, col2, f) {\n \treturn interpolate_hsx$1(col1, col2, f, 'hsv');\n };\n\n // register interpolator\n interpolator$1.hsv = hsv;\n\n var Color$7 = Color_1;\n\n var oklab = function (col1, col2, f) {\n var xyz0 = col1.oklab();\n var xyz1 = col2.oklab();\n return new Color$7(\n xyz0[0] + f * (xyz1[0] - xyz0[0]),\n xyz0[1] + f * (xyz1[1] - xyz0[1]),\n xyz0[2] + f * (xyz1[2] - xyz0[2]),\n 'oklab'\n );\n };\n\n // register interpolator\n interpolator$1.oklab = oklab;\n\n var interpolate_hsx = _hsx;\n\n var oklch = function (col1, col2, f) {\n return interpolate_hsx(col1, col2, f, 'oklch');\n };\n\n // register interpolator\n interpolator$1.oklch = oklch;\n\n var Color$6 = Color_1;\n var clip_rgb$1 = utils.clip_rgb;\n var pow$4 = Math.pow;\n var sqrt$1 = Math.sqrt;\n var PI$1 = Math.PI;\n var cos$2 = Math.cos;\n var sin$2 = Math.sin;\n var atan2$1 = Math.atan2;\n\n var average = function (colors, mode, weights) {\n if ( mode === void 0 ) mode='lrgb';\n if ( weights === void 0 ) weights=null;\n\n var l = colors.length;\n if (!weights) { weights = Array.from(new Array(l)).map(function () { return 1; }); }\n // normalize weights\n var k = l / weights.reduce(function(a, b) { return a + b; });\n weights.forEach(function (w,i) { weights[i] *= k; });\n // convert colors to Color objects\n colors = colors.map(function (c) { return new Color$6(c); });\n if (mode === 'lrgb') {\n return _average_lrgb(colors, weights)\n }\n var first = colors.shift();\n var xyz = first.get(mode);\n var cnt = [];\n var dx = 0;\n var dy = 0;\n // initial color\n for (var i=0; i= 360) { A$1 -= 360; }\n xyz[i$1] = A$1;\n } else {\n xyz[i$1] = xyz[i$1]/cnt[i$1];\n }\n }\n alpha /= l;\n return (new Color$6(xyz, mode)).alpha(alpha > 0.99999 ? 1 : alpha, true);\n };\n\n\n var _average_lrgb = function (colors, weights) {\n var l = colors.length;\n var xyz = [0,0,0,0];\n for (var i=0; i < colors.length; i++) {\n var col = colors[i];\n var f = weights[i] / l;\n var rgb = col._rgb;\n xyz[0] += pow$4(rgb[0],2) * f;\n xyz[1] += pow$4(rgb[1],2) * f;\n xyz[2] += pow$4(rgb[2],2) * f;\n xyz[3] += rgb[3] * f;\n }\n xyz[0] = sqrt$1(xyz[0]);\n xyz[1] = sqrt$1(xyz[1]);\n xyz[2] = sqrt$1(xyz[2]);\n if (xyz[3] > 0.9999999) { xyz[3] = 1; }\n return new Color$6(clip_rgb$1(xyz));\n };\n\n // minimal multi-purpose interface\n\n // @requires utils color analyze\n\n var chroma$4 = chroma_1;\n var type$2 = utils.type;\n\n var pow$3 = Math.pow;\n\n var scale$2 = function(colors) {\n\n // constructor\n var _mode = 'rgb';\n var _nacol = chroma$4('#ccc');\n var _spread = 0;\n // const _fixed = false;\n var _domain = [0, 1];\n var _pos = [];\n var _padding = [0,0];\n var _classes = false;\n var _colors = [];\n var _out = false;\n var _min = 0;\n var _max = 1;\n var _correctLightness = false;\n var _colorCache = {};\n var _useCache = true;\n var _gamma = 1;\n\n // private methods\n\n var setColors = function(colors) {\n colors = colors || ['#fff', '#000'];\n if (colors && type$2(colors) === 'string' && chroma$4.brewer &&\n chroma$4.brewer[colors.toLowerCase()]) {\n colors = chroma$4.brewer[colors.toLowerCase()];\n }\n if (type$2(colors) === 'array') {\n // handle single color\n if (colors.length === 1) {\n colors = [colors[0], colors[0]];\n }\n // make a copy of the colors\n colors = colors.slice(0);\n // convert to chroma classes\n for (var c=0; c= _classes[i]) {\n i++;\n }\n return i-1;\n }\n return 0;\n };\n\n var tMapLightness = function (t) { return t; };\n var tMapDomain = function (t) { return t; };\n\n // const classifyValue = function(value) {\n // let val = value;\n // if (_classes.length > 2) {\n // const n = _classes.length-1;\n // const i = getClass(value);\n // const minc = _classes[0] + ((_classes[1]-_classes[0]) * (0 + (_spread * 0.5))); // center of 1st class\n // const maxc = _classes[n-1] + ((_classes[n]-_classes[n-1]) * (1 - (_spread * 0.5))); // center of last class\n // val = _min + ((((_classes[i] + ((_classes[i+1] - _classes[i]) * 0.5)) - minc) / (maxc-minc)) * (_max - _min));\n // }\n // return val;\n // };\n\n var getColor = function(val, bypassMap) {\n var col, t;\n if (bypassMap == null) { bypassMap = false; }\n if (isNaN(val) || (val === null)) { return _nacol; }\n if (!bypassMap) {\n if (_classes && (_classes.length > 2)) {\n // find the class\n var c = getClass(val);\n t = c / (_classes.length-2);\n } else if (_max !== _min) {\n // just interpolate between min/max\n t = (val - _min) / (_max - _min);\n } else {\n t = 1;\n }\n } else {\n t = val;\n }\n\n // domain map\n t = tMapDomain(t);\n\n if (!bypassMap) {\n t = tMapLightness(t); // lightness correction\n }\n\n if (_gamma !== 1) { t = pow$3(t, _gamma); }\n\n t = _padding[0] + (t * (1 - _padding[0] - _padding[1]));\n\n t = Math.min(1, Math.max(0, t));\n\n var k = Math.floor(t * 10000);\n\n if (_useCache && _colorCache[k]) {\n col = _colorCache[k];\n } else {\n if (type$2(_colors) === 'array') {\n //for i in [0.._pos.length-1]\n for (var i=0; i<_pos.length; i++) {\n var p = _pos[i];\n if (t <= p) {\n col = _colors[i];\n break;\n }\n if ((t >= p) && (i === (_pos.length-1))) {\n col = _colors[i];\n break;\n }\n if (t > p && t < _pos[i+1]) {\n t = (t-p)/(_pos[i+1]-p);\n col = chroma$4.interpolate(_colors[i], _colors[i+1], t, _mode);\n break;\n }\n }\n } else if (type$2(_colors) === 'function') {\n col = _colors(t);\n }\n if (_useCache) { _colorCache[k] = col; }\n }\n return col;\n };\n\n var resetCache = function () { return _colorCache = {}; };\n\n setColors(colors);\n\n // public interface\n\n var f = function(v) {\n var c = chroma$4(getColor(v));\n if (_out && c[_out]) { return c[_out](); } else { return c; }\n };\n\n f.classes = function(classes) {\n if (classes != null) {\n if (type$2(classes) === 'array') {\n _classes = classes;\n _domain = [classes[0], classes[classes.length-1]];\n } else {\n var d = chroma$4.analyze(_domain);\n if (classes === 0) {\n _classes = [d.min, d.max];\n } else {\n _classes = chroma$4.limits(d, 'e', classes);\n }\n }\n return f;\n }\n return _classes;\n };\n\n\n f.domain = function(domain) {\n if (!arguments.length) {\n return _domain;\n }\n _min = domain[0];\n _max = domain[domain.length-1];\n _pos = [];\n var k = _colors.length;\n if ((domain.length === k) && (_min !== _max)) {\n // update positions\n for (var i = 0, list = Array.from(domain); i < list.length; i += 1) {\n var d = list[i];\n\n _pos.push((d-_min) / (_max-_min));\n }\n } else {\n for (var c=0; c 2) {\n // set domain map\n var tOut = domain.map(function (d,i) { return i/(domain.length-1); });\n var tBreaks = domain.map(function (d) { return (d - _min) / (_max - _min); });\n if (!tBreaks.every(function (val, i) { return tOut[i] === val; })) {\n tMapDomain = function (t) {\n if (t <= 0 || t >= 1) { return t; }\n var i = 0;\n while (t >= tBreaks[i+1]) { i++; }\n var f = (t - tBreaks[i]) / (tBreaks[i+1] - tBreaks[i]);\n var out = tOut[i] + f * (tOut[i+1] - tOut[i]);\n return out;\n };\n }\n\n }\n }\n _domain = [_min, _max];\n return f;\n };\n\n f.mode = function(_m) {\n if (!arguments.length) {\n return _mode;\n }\n _mode = _m;\n resetCache();\n return f;\n };\n\n f.range = function(colors, _pos) {\n setColors(colors);\n return f;\n };\n\n f.out = function(_o) {\n _out = _o;\n return f;\n };\n\n f.spread = function(val) {\n if (!arguments.length) {\n return _spread;\n }\n _spread = val;\n return f;\n };\n\n f.correctLightness = function(v) {\n if (v == null) { v = true; }\n _correctLightness = v;\n resetCache();\n if (_correctLightness) {\n tMapLightness = function(t) {\n var L0 = getColor(0, true).lab()[0];\n var L1 = getColor(1, true).lab()[0];\n var pol = L0 > L1;\n var L_actual = getColor(t, true).lab()[0];\n var L_ideal = L0 + ((L1 - L0) * t);\n var L_diff = L_actual - L_ideal;\n var t0 = 0;\n var t1 = 1;\n var max_iter = 20;\n while ((Math.abs(L_diff) > 1e-2) && (max_iter-- > 0)) {\n (function() {\n if (pol) { L_diff *= -1; }\n if (L_diff < 0) {\n t0 = t;\n t += (t1 - t) * 0.5;\n } else {\n t1 = t;\n t += (t0 - t) * 0.5;\n }\n L_actual = getColor(t, true).lab()[0];\n return L_diff = L_actual - L_ideal;\n })();\n }\n return t;\n };\n } else {\n tMapLightness = function (t) { return t; };\n }\n return f;\n };\n\n f.padding = function(p) {\n if (p != null) {\n if (type$2(p) === 'number') {\n p = [p,p];\n }\n _padding = p;\n return f;\n } else {\n return _padding;\n }\n };\n\n f.colors = function(numColors, out) {\n // If no arguments are given, return the original colors that were provided\n if (arguments.length < 2) { out = 'hex'; }\n var result = [];\n\n if (arguments.length === 0) {\n result = _colors.slice(0);\n\n } else if (numColors === 1) {\n result = [f(0.5)];\n\n } else if (numColors > 1) {\n var dm = _domain[0];\n var dd = _domain[1] - dm;\n result = __range__(0, numColors, false).map(function (i) { return f( dm + ((i/(numColors-1)) * dd) ); });\n\n } else { // returns all colors based on the defined classes\n colors = [];\n var samples = [];\n if (_classes && (_classes.length > 2)) {\n for (var i = 1, end = _classes.length, asc = 1 <= end; asc ? i < end : i > end; asc ? i++ : i--) {\n samples.push((_classes[i-1]+_classes[i])*0.5);\n }\n } else {\n samples = _domain;\n }\n result = samples.map(function (v) { return f(v); });\n }\n\n if (chroma$4[out]) {\n result = result.map(function (c) { return c[out](); });\n }\n return result;\n };\n\n f.cache = function(c) {\n if (c != null) {\n _useCache = c;\n return f;\n } else {\n return _useCache;\n }\n };\n\n f.gamma = function(g) {\n if (g != null) {\n _gamma = g;\n return f;\n } else {\n return _gamma;\n }\n };\n\n f.nodata = function(d) {\n if (d != null) {\n _nacol = chroma$4(d);\n return f;\n } else {\n return _nacol;\n }\n };\n\n return f;\n };\n\n function __range__(left, right, inclusive) {\n var range = [];\n var ascending = left < right;\n var end = !inclusive ? right : ascending ? right + 1 : right - 1;\n for (var i = left; ascending ? i < end : i > end; ascending ? i++ : i--) {\n range.push(i);\n }\n return range;\n }\n\n //\n // interpolates between a set of colors uzing a bezier spline\n //\n\n // @requires utils lab\n var Color$5 = Color_1;\n\n var scale$1 = scale$2;\n\n // nth row of the pascal triangle\n var binom_row = function(n) {\n var row = [1, 1];\n for (var i = 1; i < n; i++) {\n var newrow = [1];\n for (var j = 1; j <= row.length; j++) {\n newrow[j] = (row[j] || 0) + row[j - 1];\n }\n row = newrow;\n }\n return row;\n };\n\n var bezier = function(colors) {\n var assign, assign$1, assign$2;\n\n var I, lab0, lab1, lab2;\n colors = colors.map(function (c) { return new Color$5(c); });\n if (colors.length === 2) {\n // linear interpolation\n (assign = colors.map(function (c) { return c.lab(); }), lab0 = assign[0], lab1 = assign[1]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return lab0[i] + (t * (lab1[i] - lab0[i])); }));\n return new Color$5(lab, 'lab');\n };\n } else if (colors.length === 3) {\n // quadratic bezier interpolation\n (assign$1 = colors.map(function (c) { return c.lab(); }), lab0 = assign$1[0], lab1 = assign$1[1], lab2 = assign$1[2]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return ((1-t)*(1-t) * lab0[i]) + (2 * (1-t) * t * lab1[i]) + (t * t * lab2[i]); }));\n return new Color$5(lab, 'lab');\n };\n } else if (colors.length === 4) {\n // cubic bezier interpolation\n var lab3;\n (assign$2 = colors.map(function (c) { return c.lab(); }), lab0 = assign$2[0], lab1 = assign$2[1], lab2 = assign$2[2], lab3 = assign$2[3]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return ((1-t)*(1-t)*(1-t) * lab0[i]) + (3 * (1-t) * (1-t) * t * lab1[i]) + (3 * (1-t) * t * t * lab2[i]) + (t*t*t * lab3[i]); }));\n return new Color$5(lab, 'lab');\n };\n } else if (colors.length >= 5) {\n // general case (degree n bezier)\n var labs, row, n;\n labs = colors.map(function (c) { return c.lab(); });\n n = colors.length - 1;\n row = binom_row(n);\n I = function (t) {\n var u = 1 - t;\n var lab = ([0, 1, 2].map(function (i) { return labs.reduce(function (sum, el, j) { return (sum + row[j] * Math.pow( u, (n - j) ) * Math.pow( t, j ) * el[i]); }, 0); }));\n return new Color$5(lab, 'lab');\n };\n } else {\n throw new RangeError(\"No point in running bezier with only one color.\")\n }\n return I;\n };\n\n var bezier_1 = function (colors) {\n var f = bezier(colors);\n f.scale = function () { return scale$1(f); };\n return f;\n };\n\n /*\n * interpolates between a set of colors uzing a bezier spline\n * blend mode formulas taken from http://www.venture-ware.com/kevin/coding/lets-learn-math-photoshop-blend-modes/\n */\n\n var chroma$3 = chroma_1;\n\n var blend = function (bottom, top, mode) {\n if (!blend[mode]) {\n throw new Error('unknown blend mode ' + mode);\n }\n return blend[mode](bottom, top);\n };\n\n var blend_f = function (f) { return function (bottom,top) {\n var c0 = chroma$3(top).rgb();\n var c1 = chroma$3(bottom).rgb();\n return chroma$3.rgb(f(c0, c1));\n }; };\n\n var each = function (f) { return function (c0, c1) {\n var out = [];\n out[0] = f(c0[0], c1[0]);\n out[1] = f(c0[1], c1[1]);\n out[2] = f(c0[2], c1[2]);\n return out;\n }; };\n\n var normal = function (a) { return a; };\n var multiply = function (a,b) { return a * b / 255; };\n var darken = function (a,b) { return a > b ? b : a; };\n var lighten = function (a,b) { return a > b ? a : b; };\n var screen = function (a,b) { return 255 * (1 - (1-a/255) * (1-b/255)); };\n var overlay = function (a,b) { return b < 128 ? 2 * a * b / 255 : 255 * (1 - 2 * (1 - a / 255 ) * ( 1 - b / 255 )); };\n var burn = function (a,b) { return 255 * (1 - (1 - b / 255) / (a/255)); };\n var dodge = function (a,b) {\n if (a === 255) { return 255; }\n a = 255 * (b / 255) / (1 - a / 255);\n return a > 255 ? 255 : a\n };\n\n // # add = (a,b) ->\n // # if (a + b > 255) then 255 else a + b\n\n blend.normal = blend_f(each(normal));\n blend.multiply = blend_f(each(multiply));\n blend.screen = blend_f(each(screen));\n blend.overlay = blend_f(each(overlay));\n blend.darken = blend_f(each(darken));\n blend.lighten = blend_f(each(lighten));\n blend.dodge = blend_f(each(dodge));\n blend.burn = blend_f(each(burn));\n // blend.add = blend_f(each(add));\n\n var blend_1 = blend;\n\n // cubehelix interpolation\n // based on D.A. Green \"A colour scheme for the display of astronomical intensity images\"\n // http://astron-soc.in/bulletin/11June/289392011.pdf\n\n var type$1 = utils.type;\n var clip_rgb = utils.clip_rgb;\n var TWOPI = utils.TWOPI;\n var pow$2 = Math.pow;\n var sin$1 = Math.sin;\n var cos$1 = Math.cos;\n var chroma$2 = chroma_1;\n\n var cubehelix = function(start, rotations, hue, gamma, lightness) {\n if ( start === void 0 ) start=300;\n if ( rotations === void 0 ) rotations=-1.5;\n if ( hue === void 0 ) hue=1;\n if ( gamma === void 0 ) gamma=1;\n if ( lightness === void 0 ) lightness=[0,1];\n\n var dh = 0, dl;\n if (type$1(lightness) === 'array') {\n dl = lightness[1] - lightness[0];\n } else {\n dl = 0;\n lightness = [lightness, lightness];\n }\n\n var f = function(fract) {\n var a = TWOPI * (((start+120)/360) + (rotations * fract));\n var l = pow$2(lightness[0] + (dl * fract), gamma);\n var h = dh !== 0 ? hue[0] + (fract * dh) : hue;\n var amp = (h * l * (1-l)) / 2;\n var cos_a = cos$1(a);\n var sin_a = sin$1(a);\n var r = l + (amp * ((-0.14861 * cos_a) + (1.78277* sin_a)));\n var g = l + (amp * ((-0.29227 * cos_a) - (0.90649* sin_a)));\n var b = l + (amp * (+1.97294 * cos_a));\n return chroma$2(clip_rgb([r*255,g*255,b*255,1]));\n };\n\n f.start = function(s) {\n if ((s == null)) { return start; }\n start = s;\n return f;\n };\n\n f.rotations = function(r) {\n if ((r == null)) { return rotations; }\n rotations = r;\n return f;\n };\n\n f.gamma = function(g) {\n if ((g == null)) { return gamma; }\n gamma = g;\n return f;\n };\n\n f.hue = function(h) {\n if ((h == null)) { return hue; }\n hue = h;\n if (type$1(hue) === 'array') {\n dh = hue[1] - hue[0];\n if (dh === 0) { hue = hue[1]; }\n } else {\n dh = 0;\n }\n return f;\n };\n\n f.lightness = function(h) {\n if ((h == null)) { return lightness; }\n if (type$1(h) === 'array') {\n lightness = h;\n dl = h[1] - h[0];\n } else {\n lightness = [h,h];\n dl = 0;\n }\n return f;\n };\n\n f.scale = function () { return chroma$2.scale(f); };\n\n f.hue(hue);\n\n return f;\n };\n\n var Color$4 = Color_1;\n var digits = '0123456789abcdef';\n\n var floor$1 = Math.floor;\n var random = Math.random;\n\n var random_1 = function () {\n var code = '#';\n for (var i=0; i<6; i++) {\n code += digits.charAt(floor$1(random() * 16));\n }\n return new Color$4(code, 'hex');\n };\n\n var type = type$p;\n var log = Math.log;\n var pow$1 = Math.pow;\n var floor = Math.floor;\n var abs$1 = Math.abs;\n\n\n var analyze = function (data, key) {\n if ( key === void 0 ) key=null;\n\n var r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE*-1,\n sum: 0,\n values: [],\n count: 0\n };\n if (type(data) === 'object') {\n data = Object.values(data);\n }\n data.forEach(function (val) {\n if (key && type(val) === 'object') { val = val[key]; }\n if (val !== undefined && val !== null && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n if (val < r.min) { r.min = val; }\n if (val > r.max) { r.max = val; }\n r.count += 1;\n }\n });\n\n r.domain = [r.min, r.max];\n\n r.limits = function (mode, num) { return limits(r, mode, num); };\n\n return r;\n };\n\n\n var limits = function (data, mode, num) {\n if ( mode === void 0 ) mode='equal';\n if ( num === void 0 ) num=7;\n\n if (type(data) == 'array') {\n data = analyze(data);\n }\n var min = data.min;\n var max = data.max;\n var values = data.values.sort(function (a,b) { return a-b; });\n\n if (num === 1) { return [min,max]; }\n\n var limits = [];\n\n if (mode.substr(0,1) === 'c') { // continuous\n limits.push(min);\n limits.push(max);\n }\n\n if (mode.substr(0,1) === 'e') { // equal interval\n limits.push(min);\n for (var i=1; i 0');\n }\n var min_log = Math.LOG10E * log(min);\n var max_log = Math.LOG10E * log(max);\n limits.push(min);\n for (var i$1=1; i$1 pb\n var pr = p - pb;\n limits.push((values[pb]*(1-pr)) + (values[pb+1]*pr));\n }\n }\n limits.push(max);\n\n }\n\n else if (mode.substr(0,1) === 'k') { // k-means clustering\n /*\n implementation based on\n http://code.google.com/p/figue/source/browse/trunk/figue.js#336\n simplified for 1-d input values\n */\n var cluster;\n var n = values.length;\n var assignments = new Array(n);\n var clusterSizes = new Array(num);\n var repeat = true;\n var nb_iters = 0;\n var centroids = null;\n\n // get seed values\n centroids = [];\n centroids.push(min);\n for (var i$3=1; i$3 200) {\n repeat = false;\n }\n }\n\n // finished k-means clustering\n // the next part is borrowed from gabrielflor.it\n var kClusters = {};\n for (var j$5=0; j$5 l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);\n };\n\n var Color$2 = Color_1;\n var sqrt = Math.sqrt;\n var pow = Math.pow;\n var min = Math.min;\n var max = Math.max;\n var atan2 = Math.atan2;\n var abs = Math.abs;\n var cos = Math.cos;\n var sin = Math.sin;\n var exp = Math.exp;\n var PI = Math.PI;\n\n var deltaE = function(a, b, Kl, Kc, Kh) {\n if ( Kl === void 0 ) Kl=1;\n if ( Kc === void 0 ) Kc=1;\n if ( Kh === void 0 ) Kh=1;\n\n // Delta E (CIE 2000)\n // see http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CIE2000.html\n var rad2deg = function(rad) {\n return 360 * rad / (2 * PI);\n };\n var deg2rad = function(deg) {\n return (2 * PI * deg) / 360;\n };\n a = new Color$2(a);\n b = new Color$2(b);\n var ref = Array.from(a.lab());\n var L1 = ref[0];\n var a1 = ref[1];\n var b1 = ref[2];\n var ref$1 = Array.from(b.lab());\n var L2 = ref$1[0];\n var a2 = ref$1[1];\n var b2 = ref$1[2];\n var avgL = (L1 + L2)/2;\n var C1 = sqrt(pow(a1, 2) + pow(b1, 2));\n var C2 = sqrt(pow(a2, 2) + pow(b2, 2));\n var avgC = (C1 + C2)/2;\n var G = 0.5*(1-sqrt(pow(avgC, 7)/(pow(avgC, 7) + pow(25, 7))));\n var a1p = a1*(1+G);\n var a2p = a2*(1+G);\n var C1p = sqrt(pow(a1p, 2) + pow(b1, 2));\n var C2p = sqrt(pow(a2p, 2) + pow(b2, 2));\n var avgCp = (C1p + C2p)/2;\n var arctan1 = rad2deg(atan2(b1, a1p));\n var arctan2 = rad2deg(atan2(b2, a2p));\n var h1p = arctan1 >= 0 ? arctan1 : arctan1 + 360;\n var h2p = arctan2 >= 0 ? arctan2 : arctan2 + 360;\n var avgHp = abs(h1p - h2p) > 180 ? (h1p + h2p + 360)/2 : (h1p + h2p)/2;\n var T = 1 - 0.17*cos(deg2rad(avgHp - 30)) + 0.24*cos(deg2rad(2*avgHp)) + 0.32*cos(deg2rad(3*avgHp + 6)) - 0.2*cos(deg2rad(4*avgHp - 63));\n var deltaHp = h2p - h1p;\n deltaHp = abs(deltaHp) <= 180 ? deltaHp : h2p <= h1p ? deltaHp + 360 : deltaHp - 360;\n deltaHp = 2*sqrt(C1p*C2p)*sin(deg2rad(deltaHp)/2);\n var deltaL = L2 - L1;\n var deltaCp = C2p - C1p; \n var sl = 1 + (0.015*pow(avgL - 50, 2))/sqrt(20 + pow(avgL - 50, 2));\n var sc = 1 + 0.045*avgCp;\n var sh = 1 + 0.015*avgCp*T;\n var deltaTheta = 30*exp(-pow((avgHp - 275)/25, 2));\n var Rc = 2*sqrt(pow(avgCp, 7)/(pow(avgCp, 7) + pow(25, 7)));\n var Rt = -Rc*sin(2*deg2rad(deltaTheta));\n var result = sqrt(pow(deltaL/(Kl*sl), 2) + pow(deltaCp/(Kc*sc), 2) + pow(deltaHp/(Kh*sh), 2) + Rt*(deltaCp/(Kc*sc))*(deltaHp/(Kh*sh)));\n return max(0, min(100, result));\n };\n\n var Color$1 = Color_1;\n\n // simple Euclidean distance\n var distance = function(a, b, mode) {\n if ( mode === void 0 ) mode='lab';\n\n // Delta E (CIE 1976)\n // see http://www.brucelindbloom.com/index.html?Equations.html\n a = new Color$1(a);\n b = new Color$1(b);\n var l1 = a.get(mode);\n var l2 = b.get(mode);\n var sum_sq = 0;\n for (var i in l1) {\n var d = (l1[i] || 0) - (l2[i] || 0);\n sum_sq += d*d;\n }\n return Math.sqrt(sum_sq);\n };\n\n var Color = Color_1;\n\n var valid = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n try {\n new (Function.prototype.bind.apply( Color, [ null ].concat( args) ));\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // some pre-defined color scales:\n var chroma$1 = chroma_1;\n\n var scale = scale$2;\n\n var scales = {\n \tcool: function cool() { return scale([chroma$1.hsl(180,1,.9), chroma$1.hsl(250,.7,.4)]) },\n \thot: function hot() { return scale(['#000','#f00','#ff0','#fff']).mode('rgb') }\n };\n\n /**\n ColorBrewer colors for chroma.js\n\n Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The\n Pennsylvania State University.\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 http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software distributed\n under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n CONDITIONS OF ANY KIND, either express or implied. See the License for the\n specific language governing permissions and limitations under the License.\n */\n\n var colorbrewer = {\n // sequential\n OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],\n PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],\n BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],\n Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],\n BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],\n YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],\n YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],\n Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],\n RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],\n Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],\n YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],\n Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],\n GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],\n Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],\n YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],\n PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],\n Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],\n PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],\n Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],\n\n // diverging\n\n Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],\n RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],\n RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],\n PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],\n PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],\n RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],\n BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],\n RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],\n PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],\n\n // qualitative\n\n Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],\n Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],\n Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],\n Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],\n Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],\n Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],\n Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],\n Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2'],\n };\n\n // add lowercase aliases for case-insensitive matches\n for (var i = 0, list = Object.keys(colorbrewer); i < list.length; i += 1) {\n var key = list[i];\n\n colorbrewer[key.toLowerCase()] = colorbrewer[key];\n }\n\n var colorbrewer_1 = colorbrewer;\n\n var chroma = chroma_1;\n\n // feel free to comment out anything to rollup\n // a smaller chroma.js built\n\n // io --> convert colors\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // operators --> modify existing Colors\n\n\n\n\n\n\n\n\n\n\n // interpolators\n\n\n\n\n\n\n\n\n\n\n\n\n // generators -- > create new colors\n chroma.average = average;\n chroma.bezier = bezier_1;\n chroma.blend = blend_1;\n chroma.cubehelix = cubehelix;\n chroma.mix = chroma.interpolate = mix$1;\n chroma.random = random_1;\n chroma.scale = scale$2;\n\n // other utility methods\n chroma.analyze = analyze_1.analyze;\n chroma.contrast = contrast;\n chroma.deltaE = deltaE;\n chroma.distance = distance;\n chroma.limits = analyze_1.limits;\n chroma.valid = valid;\n\n // scale\n chroma.scales = scales;\n\n // colors\n chroma.colors = w3cx11_1;\n chroma.brewer = colorbrewer_1;\n\n var chroma_js = chroma;\n\n return chroma_js;\n\n}));\n"],"names":["module","exports","limit$2","x","min","max","limit$1","classToType","i$1","list$1","length","name","toLowerCase","type$p","obj","Object","prototype","toString","call","type$o","type$n","PI$2","Math","PI","utils","clip_rgb","rgb","_clipped","_unclipped","slice","i","limit","type","unpack","args","keyOrder","Array","split","filter","k","undefined","map","last","l","TWOPI","PITHIRD","DEG2RAD","RAD2DEG","input$h","format","autodetect","last$3","clip_rgb$2","type$m","_input","Color$D","len","arguments","me","this","constructor","mode","sorted","sort","a","b","p","list","chk","test","apply","Error","_rgb","push","hex","join","Color_1","chroma$k","Function","bind","Color","concat","version","chroma_1","unpack$A","max$2","rgb2cmyk_1","ref","r","g","f","unpack$z","cmyk2rgb_1","c","m","y","alpha","chroma$j","Color$C","input$g","unpack$y","type$l","rgb2cmyk","cmyk","unpack$x","last$2","rnd","round","hsl2css_1","hsla","unpack$w","rgb2hsl_1","s","h","Number","NaN","unpack$v","last$1","hsl2css","rgb2hsl$2","round$6","rgb2css_1","rgba","substr","unpack$u","round$5","hsl2rgb_1","assign","t3","t2","t1","h_","hsl2rgb","input$f","RE_RGB","RE_RGBA","RE_RGB_PCT","RE_RGBA_PCT","RE_HSL","RE_HSLA","round$4","css2rgb$1","css","trim","named","e","match","rgb$1","rgb$2","i$2","rgb$3","i$3","hsl","rgb$4","hsl$1","rgb$5","chroma$i","Color$B","input$e","type$k","rgb2css","css2rgb","rest","Color$A","chroma$h","unpack$t","gl","unpack$s","rgb2hcg_1","delta","_g","unpack$r","floor$3","floor","hcg2rgb_1","assign$1","assign$2","assign$3","assign$4","assign$5","_c","q","t","v","unpack$q","type$j","chroma$g","Color$z","input$c","rgb2hcg","hcg","unpack$p","round$3","rgb2hex_1","str","hxa","RE_HEX","RE_HEXA","hex2rgb_1","u","parseInt","u$1","chroma$f","Color$y","type$i","input$b","rgb2hex$1","indexOf","unpack$o","TWOPI$2","min$2","sqrt$4","sqrt","acos","rgb2hsi_1","min_","unpack$n","TWOPI$1","cos$4","cos","hsi2rgb_1","isNaN","unpack$m","type$h","chroma$e","Color$x","input$a","rgb2hsi","hsi","unpack$l","type$g","chroma$d","Color$w","input$9","rgb2hsl$1","unpack$k","min$1","max$1","rgb2hsv$1","max_","unpack$j","floor$2","hsv2rgb_1","unpack$i","type$f","chroma$c","Color$v","input$8","rgb2hsv","hsv","labConstants","Kn","Xn","Yn","Zn","t0","LAB_CONSTANTS$3","unpack$h","pow$a","pow","rgb_xyz","xyz_lab","rgb2xyz","rgb2lab_1","ref$1","LAB_CONSTANTS$2","unpack$g","pow$9","xyz_rgb","lab_xyz","lab2rgb_1","z","unpack$f","type$e","chroma$b","Color$u","input$7","rgb2lab$1","lab","unpack$e","sqrt$3","atan2$2","atan2","round$2","lab2lch_1","unpack$d","rgb2lab","lab2lch$1","rgb2lch_1","b_","unpack$c","sin$3","sin","cos$3","lch2lab_1","unpack$b","lch2lab$1","lab2rgb","lch2rgb_1","L","unpack$a","lch2rgb","hcl2rgb_1","hcl","reverse","unpack$9","type$d","chroma$a","Color$t","input$6","rgb2lch","lch","forEach","w3cx11_1","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflower","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","laserlemon","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrod","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","maroon2","maroon3","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","purple2","purple3","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","input$5","type$c","w3cx11","hex2rgb","rgb2hex","keys","n","unpack$8","rgb2num_1","type$b","chroma$9","Color$r","input$4","type$a","rgb2num","num","chroma$8","Color$q","input$3","unpack$7","type$9","round$1","log$1","log","temperature2rgb_1","kelvin","temp","temperature2rgb","unpack$6","chroma$7","Color$p","input$2","rgb2temperature","minTemp","maxTemp","temperature","unpack$5","cbrt","pow$8","sign$1","sign","rgb2oklab_1","rgb2lrgb","lr","lg","lb","abs","unpack$4","pow$7","oklab2rgb_1","lrgb2rgb","unpack$3","type$8","chroma$6","Color$o","input$1","rgb2oklab$1","oklab","unpack$2","rgb2oklab","lab2lch","rgb2oklch_1","unpack$1","lch2lab","oklab2rgb","oklch2rgb_1","type$7","chroma$5","Color$n","input","rgb2oklch","oklch","Color$m","type$6","mutate","clipped","Color$k","LAB_CONSTANTS$1","darken","amount","brighten","darker","brighter","get","mc","channel","src","Color$i","type$5","pow$6","luminance","lum","cur_lum","max_iter","low","high","mid","interpolate","lm","rgb2luminance","luminance_x","interpolator$1","Color$h","type$4","interpolator","mix$1","col1","col2","Color$g","mix","Color$f","premultiply","Color$e","LAB_CONSTANTS","saturate","desaturate","Color$d","type$3","set","value","charAt","out","Color$c","xyz0","xyz1","Color$b","sqrt$2","pow$5","lrgb","x1","y1","z1","x2","y2","z2","Color$a","Color$9","_hsx","hue0","hue1","sat0","sat1","lbv0","lbv1","sat","hue","lbv","interpolate_hsx$5","Color$8","c1","c2","interpolate_hsx$4","interpolate_hsx$3","interpolate_hsx$2","interpolate_hsx$1","Color$7","interpolate_hsx","Color$6","clip_rgb$1","pow$4","sqrt$1","PI$1","cos$2","sin$2","atan2$1","_average_lrgb","colors","weights","xyz","col","chroma$4","type$2","pow$3","scale$2","_mode","_nacol","_spread","_domain","_pos","_padding","_classes","_colors","_out","_min","_max","_correctLightness","_colorCache","_useCache","_gamma","setColors","brewer","c$1","resetCache","tMapLightness","tMapDomain","getColor","val","bypassMap","getClass","classes","d","analyze","limits","domain","from","tOut","tBreaks","every","_m","range","_o","spread","correctLightness","L0","L1","pol","L_actual","L_ideal","L_diff","padding","numColors","result","dm","dd","left","right","inclusive","ascending","end","__range__","samples","asc","cache","gamma","nodata","Color$5","scale$1","chroma$3","blend","bottom","top","blend_f","c0","each","normal","multiply","screen","overlay","lighten","dodge","burn","blend_1","type$1","pow$2","sin$1","cos$1","chroma$2","Color$4","floor$1","random","pow$1","abs$1","data","key","MAX_VALUE","sum","values","count","min_log","LOG10E","max_log","pb","pr","cluster","assignments","clusterSizes","repeat","nb_iters","centroids","j","i$4","mindist","best","j$1","dist","newCentroids","j$2","i$5","j$3","j$4","kClusters","j$5","i$6","tmpKMeansBreaks","j$6","i$7","analyze_1","Color$3","Color$2","exp","Color$1","chroma$1","scale","scales","cool","hot","colorbrewer","OrRd","PuBu","BuPu","Oranges","BuGn","YlOrBr","YlGn","Reds","RdPu","Greens","YlGnBu","Purples","GnBu","Greys","YlOrRd","PuRd","Blues","PuBuGn","Viridis","Spectral","RdYlGn","RdBu","PiYG","PRGn","RdYlBu","BrBG","RdGy","PuOr","Set2","Accent","Set1","Set3","Dark2","Paired","Pastel2","Pastel1","colorbrewer_1","chroma","average","reduce","w","first","shift","cnt","dx","dy","A","ci","xyz2","A$1","bezier","I","lab0","lab1","lab2","lab3","RangeError","labs","row","newrow","binom_row","el","cubehelix","start","rotations","lightness","dl","dh","fract","amp","cos_a","sin_a","code","contrast","l1","l2","deltaE","Kl","Kc","Kh","rad2deg","rad","deg2rad","deg","a1","b1","L2","a2","b2","avgL","avgC","G","a1p","a2p","C1p","C2p","avgCp","arctan1","arctan2","h1p","h2p","avgHp","T","deltaHp","deltaL","deltaCp","sl","sc","sh","deltaTheta","Rt","distance","sum_sq","valid","factory"],"sourceRoot":""}