{"version":3,"sources":["webpack:///../common/components/ion-article-cmp/distribution/index.js","webpack:///../common/components/ion-article-cmp/distribution/src/HomePageMeta.js","webpack:///../common/components/ion-article-cmp/distribution/src/Articles.js","webpack:///../common/components/ion-article-cmp/distribution/src/ArticleMeta.js","webpack:///../common/components/ion-article-cmp/distribution/src/SectionMeta.js","webpack:///./src/app/static/no-image.png","webpack:///../common/components/ion-article-cmp/distribution/src/ArticleImage.js","webpack:///./src/app/components/ArticleCard.js","webpack:///../common/components/ion-article-cmp/distribution/src/ArticleFeaturedImage.js","webpack:///../common/components/ion-image/distribution/ion-image.js"],"names":["Object","defineProperty","exports","value","enumerable","get","_ArticleFeaturedImage","_ArticleImage","_ArticleMeta","_Articles","_HomePageMeta","_SectionMeta","_interopRequireDefault","obj","__esModule","_react","_reactHelmet","_default","props","createElement","type","concat","JSON","stringify","name","alternateName","url","description","logo","sameAs","_typeof","Symbol","iterator","constructor","prototype","Articles","nodeInterop","cache","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","hasOwnProperty","call","desc","set","_interopRequireWildcard","_propTypes","_ionSections","_qs","_ionArticle","_ionIcon","WeakMap","cacheBabelInterop","cacheNodeInterop","_extends","assign","bind","target","i","arguments","length","source","apply","this","_defineProperties","descriptor","configurable","writable","_toPropertyKey","arg","input","hint","prim","toPrimitive","undefined","res","TypeError","String","Number","_toPrimitive","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","_Component","subClass","superClass","create","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","page","windowWidth","handleViewMore","data","articles","section","lastFetch","Date","now","params","location","parse","search","ignoreQueryPrefix","startIndex","Math","max","index","startPage","withMore","page0Limit","pageSize","fetchArticles","filter","count","prevProps","console","log","nextProps","nextState","withReadCount","extraState","newdata","initialArticles","alreadyFetchedArticles","fetchMoreArticles","sectionProps","hasError","moreButtonColour","isConnected","is404","notFound","error","Loading","loading","_ref","isFetching","getSectionLabel","hasFetched","hasMore","pageNumber","parseInt","nextHref","match","prevHref","map","article","slice","MoreButton","moreButton","onClick","canonical","pathname","id","className","window","Fragment","href","rel","itemprop","Warn","width","height","ArticlesTemplate","component","_ref2","contentKey","headline","sectionLabel","sectionsLabels","label","noDiv","noImage","authorName","relatedSections","children","_Loading","_ref3","_Loading2","_ref4","Component","propTypes","func","isRequired","number","bool","string","object","defaultProps","skip","imageList","images","image","push","inArticleSchema","schema","mainEntityOfPage","getCanonicalUri","author","publisher","datePublished","published","dateModified","modified","videos","video","script","test","caption","thumbnailUrl","thumbnailURL","uploadDate","duration","contentUrl","module","altText","imageCaption","imageCredit","imageClass","itemProp","itemScope","itemType","content","src","alt","title","ArticleCard","num","showAbstract","showPlayBtn","readTime","withMinRead","wordCount","toFixed","split","toUpperCase","replace","aria-label","to","shape","formatAgo","getSectionId","readCount","abs","sign","getAbstract","sponsoredIndicator","_ionImage","_ionUtil","imageWidth","metaImageObjectUrl","isEmpty","youtubes","item","dangerouslySetInnerHTML","__html","youtube","warn","ImageOrNoImage","calcNodeSrcUrl","calcImageSrcUrl","ImageCalculator","AmpImageOrNoImage","AmpImage","_createClass","urlify","addEToUmlauts","szToSs","spaces","nonPrintable","trim","calcShapeHeight","ceil","canUseWebP","elem","document","getContext","toDataURL","indexOf","useWebP","calc","calcHeight","_calc$getCropCoordsFo","getCropCoordsForShape","crop","x","y","w","h","focalPoint","offsetx","offsety","cropWidth","cropHeight","buildImageUrl","getCropsForShape","crops","cropwidth","cropheight","_calc$getCropCoordsFo2","lazy","Image","focalpointx","focalpointy","imageHeight","layout","_getCropsForShape","resizeUrl","focalCoordinate","limit","sideSize","pointStart","pointEnd","floor","focalPointX","focalPointY","newCropHeight","newCropWidth","round","min","hdSrc","webpSrc","srcset","resizeUrlSquare","resizeUrl16x9","_calc$getCropCoordsFo3","sizes","reduce","prev","cur","srcSet","_Component2","_super2","_this2","_calc$getCropCoordsFo4","array"],"mappings":"yHAEAA,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETH,OAAOC,eAAeC,EAAS,uBAAwB,CACrDE,YAAY,EACZC,IAAK,WACH,OAAOC,EAA+B,WAG1CN,OAAOC,eAAeC,EAAS,eAAgB,CAC7CE,YAAY,EACZC,IAAK,WACH,OAAOE,EAAuB,WAGlCP,OAAOC,eAAeC,EAAS,cAAe,CAC5CE,YAAY,EACZC,IAAK,WACH,OAAOG,EAAsB,WAGjCR,OAAOC,eAAeC,EAAS,WAAY,CACzCE,YAAY,EACZC,IAAK,WACH,OAAOI,EAAmB,WAG9BT,OAAOC,eAAeC,EAAS,eAAgB,CAC7CE,YAAY,EACZC,IAAK,WACH,OAAOK,EAAuB,WAGlCV,OAAOC,eAAeC,EAAS,cAAe,CAC5CE,YAAY,EACZC,IAAK,WACH,OAAOM,EAAsB,WAGjC,IAAIL,EAAwBM,EAAuB,EAAQ,SACvDL,EAAgBK,EAAuB,EAAQ,SAC/CJ,EAAeI,EAAuB,EAAQ,SAC9CH,EAAYG,EAAuB,EAAQ,SAC3CF,EAAgBE,EAAuB,EAAQ,SAC/CD,EAAeC,EAAuB,EAAQ,SAClD,SAASA,EAAuBC,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,K,sDC7CzFb,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,aAAI,EACrB,IAAIa,EAASH,EAAuB,EAAQ,SACxCI,EAAeJ,EAAuB,EAAQ,SAClD,SAASA,EAAuBC,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,GACzF,IAsBII,EAtBe,SAAsBC,GAkBvC,OAAoBH,EAAgB,QAAEI,cAAcH,EAAsB,QAAG,KAAmBD,EAAgB,QAAEI,cAAc,SAAU,CACxIC,KAAM,uBACL,GAAGC,OAAOC,KAAKC,UAnBL,CACX,WAAY,qBACZ,SAAU,CAAC,CACT,QAAS,UACTC,KAAM,wCACNC,cAAe,cACfC,IAAK,+BACLC,YAAa,+IACZ,CACD,QAAS,wBACTH,KAAM,wCACNC,cAAe,cACfC,IAAK,+BACLE,KAAM,wCACNC,OAAQ,CAAC,yCAAkC,mCAAiC,mDAQlF3B,EAAiB,QAAIe,G,kCC9BrB,SAASa,EAAQjB,GAAkC,OAAOiB,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAUnB,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBkB,QAAUlB,EAAIoB,cAAgBF,QAAUlB,IAAQkB,OAAOG,UAAY,gBAAkBrB,IAAgBA,GACzUb,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,QAAIA,EAAQiC,cAAW,EACxC,IAAIpB,EASJ,SAAiCF,EAAKuB,GAAe,IAAKA,GAAevB,GAAOA,EAAIC,WAAc,OAAOD,EAAO,GAAY,OAARA,GAAiC,WAAjBiB,EAAQjB,IAAoC,oBAARA,EAAsB,MAAO,CAAE,QAAWA,GAAS,IAAIwB,EAAQC,EAAyBF,GAAc,GAAIC,GAASA,EAAME,IAAI1B,GAAQ,OAAOwB,EAAMhC,IAAIQ,GAAQ,IAAI2B,EAAS,GAAQC,EAAwBzC,OAAOC,gBAAkBD,OAAO0C,yBAA0B,IAAK,IAAIC,KAAO9B,EAAO,GAAY,YAAR8B,GAAqB3C,OAAOkC,UAAUU,eAAeC,KAAKhC,EAAK8B,GAAM,CAAE,IAAIG,EAAOL,EAAwBzC,OAAO0C,yBAAyB7B,EAAK8B,GAAO,KAAUG,IAASA,EAAKzC,KAAOyC,EAAKC,KAAQ/C,OAAOC,eAAeuC,EAAQG,EAAKG,GAAgBN,EAAOG,GAAO9B,EAAI8B,GAAYH,EAAgB,QAAI3B,EAASwB,GAASA,EAAMU,IAAIlC,EAAK2B,GAAW,OAAOA,EATrxBQ,CAAwB,EAAQ,SACzCC,EAAarC,EAAuB,EAAQ,SAC5CsC,EAAe,EAAQ,QACvBC,EAAMvC,EAAuB,EAAQ,SACrCI,EAAeJ,EAAuB,EAAQ,SAC9CwC,EAAcxC,EAAuB,EAAQ,SAC7CyC,EAAW,EAAQ,QACvB,SAASzC,EAAuBC,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,GACzF,SAASyB,EAAyBF,GAAe,GAAuB,oBAAZkB,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQhB,EAA2B,SAAkCF,GAAe,OAAOA,EAAcoB,EAAmBD,IAAsBnB,GAEhU,SAASqB,IAAiS,OAApRA,EAAWzD,OAAO0D,OAAS1D,OAAO0D,OAAOC,OAAS,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAIlB,KAAOqB,EAAchE,OAAOkC,UAAUU,eAAeC,KAAKmB,EAAQrB,KAAQiB,EAAOjB,GAAOqB,EAAOrB,IAAY,OAAOiB,IAA2BK,MAAMC,KAAMJ,WAEtU,SAASK,EAAkBP,EAAQ1C,GAAS,IAAK,IAAI2C,EAAI,EAAGA,EAAI3C,EAAM6C,OAAQF,IAAK,CAAE,IAAIO,EAAalD,EAAM2C,GAAIO,EAAWhE,WAAagE,EAAWhE,aAAc,EAAOgE,EAAWC,cAAe,EAAU,UAAWD,IAAYA,EAAWE,UAAW,GAAMtE,OAAOC,eAAe2D,EAAQW,EAAeH,EAAWzB,KAAMyB,IAE7T,SAASG,EAAeC,GAAO,IAAI7B,EACnC,SAAsB8B,EAAOC,GAAQ,GAAuB,WAAnB5C,EAAQ2C,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAM1C,OAAO6C,aAAc,QAAaC,IAATF,EAAoB,CAAE,IAAIG,EAAMH,EAAK9B,KAAK4B,EAAOC,GAAQ,WAAY,GAAqB,WAAjB5C,EAAQgD,GAAmB,OAAOA,EAAK,MAAM,IAAIC,UAAU,gDAAmD,OAAiB,WAATL,EAAoBM,OAASC,QAAQR,GAD3US,CAAaV,EAAK,UAAW,MAAwB,WAAjB1C,EAAQa,GAAoBA,EAAMqC,OAAOrC,GAGtH,SAASwC,EAAgBC,EAAGC,GAA6I,OAAxIF,EAAkBnF,OAAOsF,eAAiBtF,OAAOsF,eAAe3B,OAAS,SAAyByB,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,IAA6BA,EAAGC,GACnM,SAASG,EAAaC,GAAW,IAAIC,EAGrC,WAAuC,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ7D,UAAU8D,QAAQnD,KAAK8C,QAAQC,UAAUG,QAAS,IAAI,iBAAyB,EAAQ,MAAOE,GAAK,OAAO,GAH9PC,GAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQC,EAAgBZ,GAAkB,GAAIC,EAA2B,CAAE,IAAIY,EAAYD,EAAgBnC,MAAMjC,YAAakE,EAASR,QAAQC,UAAUQ,EAAOtC,UAAWwC,QAAqBH,EAASC,EAAMnC,MAAMC,KAAMJ,WAAc,OAAOyC,EAA2BrC,KAAMiC,IAC5Z,SAASI,EAA2BC,EAAM3D,GAAQ,GAAIA,IAA2B,WAAlBf,EAAQe,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIkC,UAAU,4DAA+D,OAAO0B,EAAuBD,GACxR,SAASC,EAAuBD,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIE,eAAe,6DAAgE,OAAOF,EAE/J,SAASH,EAAgBjB,GAA+J,OAA1JiB,EAAkBrG,OAAOsF,eAAiBtF,OAAO2G,eAAehD,OAAS,SAAyByB,GAAK,OAAOA,EAAEG,WAAavF,OAAO2G,eAAevB,KAA8BA,GAC/M,IAAIjD,EAAwB,SAAUyE,IAPtC,SAAmBC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/B,UAAU,sDAAyD8B,EAAS3E,UAAYlC,OAAO+G,OAAOD,GAAcA,EAAW5E,UAAW,CAAED,YAAa,CAAE9B,MAAO0G,EAAUvC,UAAU,EAAMD,cAAc,KAAWrE,OAAOC,eAAe4G,EAAU,YAAa,CAAEvC,UAAU,IAAcwC,GAAY3B,EAAgB0B,EAAUC,GAQpbE,CAAU7E,EAAUyE,GACpB,IAZoBK,EAAaC,EAAYC,EAYzCC,EAAS5B,EAAarD,GAC1B,SAASA,EAASjB,GAChB,IAAImG,GAhBR,SAAyBC,EAAUL,GAAe,KAAMK,aAAoBL,GAAgB,MAAM,IAAIlC,UAAU,qCAiB5GwC,CAAgBrD,KAAM/B,IACtBkF,EAAQD,EAAOvE,KAAKqB,OACdsD,KAAO,EACbH,EAAMI,YAAc,EACpBJ,EAAMK,eAAiBL,EAAMK,eAAe/D,KAAK8C,EAAuBY,IAGxE,IAAIM,KAAOzG,EAAM0G,YAAY1G,EAAM2G,WAAW3G,EAAM0G,YAAW1G,EAAM0G,SAAS1G,EAAM2G,SAChFC,EAAY,IAAIC,KAAKJ,GAAOA,EAAKG,WAAiB,GAClDE,EAAM,IAAID,KACVE,EAAS/G,EAAMgH,SAAW/E,EAAa,QAAEgF,MAAMjH,EAAMgH,SAASE,OAAQ,CACxEC,mBAAmB,IAChB,CACHb,KAAM,GAEJc,EAAaC,KAAKC,KAAKtH,EAAMuH,OAAS,GAAK,EAAG,GAClDpB,EAAMG,KAAOS,EAAOT,MAAQ,EAC5B,IAAIkB,EAAYH,KAAKC,IAAInB,EAAMG,KAAO,EAAG,GACzC,GAAItG,EAAMyH,UAAYtB,EAAMG,KAAO,EAAG,CACpC,IAAIoB,EAAa1H,EAAM0H,YAAc1H,EAAM2H,SAE3C3H,EAAM4H,cAAc5H,EAAM2G,QAASe,GAAcF,EAAY,GAAKxH,EAAM2H,SAAU3H,EAAM2H,SAAU3H,EAAM6H,aACnG,IAAKpB,IAASA,EAAKC,UAAYD,EAAKG,WAAaE,EAAMF,EAAY,KAAcH,EAAKC,SAAS7D,OAAS7C,EAAM2H,SAAU,CAC7H,IAAIA,EAAWN,KAAKC,IAAItH,EAAM2H,UAAY,EAAG3H,EAAM8H,OAAS,GAE5D9H,EAAM4H,cAAc5H,EAAM2G,QAAS,EAAGS,EAAaO,EAAU3H,EAAM6H,QAErE,OAAO1B,EA+MT,OAzPoBJ,EA4CP9E,GA5CoB+E,EA4CV,CAAC,CACtBvE,IAAK,qBACLxC,MAAO,SAA4B8I,GACjC,IAAItB,KAAOzD,KAAKhD,MAAM0G,YAAY1D,KAAKhD,MAAM2G,WAAW3D,KAAKhD,MAAM0G,YAAW1D,KAAKhD,MAAM0G,SAAS1D,KAAKhD,MAAM2G,SAEzGS,EAAaC,KAAKC,KAAKtE,KAAKhD,MAAMuH,OAAS,GAAK,EAAG,GACvD,GAAIQ,EAAUpB,UAAY3D,KAAKhD,MAAM2G,QAAS,CAC5C,IAAIgB,EAAWN,KAAKC,IAAItE,KAAKhD,MAAM2H,UAAY,EAAG3E,KAAKhD,MAAM8H,OAAS,KACjErB,GAAQA,EAAKC,SAAS7D,OAASG,KAAKhD,MAAM2H,YAC7CK,QAAQC,IAAI,wBAAyBjF,KAAKhD,MAAM2G,QAASS,EAAYO,GACrE3E,KAAKhD,MAAM4H,cAAc5E,KAAKhD,MAAM2G,QAAS,EAAGS,EAAaO,EAAU3E,KAAKhD,MAAM6H,YAIvF,CACDpG,IAAK,wBACLxC,MAAO,SAA+BiJ,EAAWC,GAC/C,GAAID,EAAUvB,UAAY3D,KAAKhD,MAAM2G,SAAWuB,EAAUE,gBAAkBpF,KAAKhD,MAAMoI,eAAiBF,EAAUG,aAAerF,KAAKhD,MAAMqI,WAAY,CACtJ,IAAI1B,EAAUuB,EAAUvB,QACpBF,KAAOzD,KAAKhD,MAAM0G,YAAYC,KAAW3D,KAAKhD,MAAM0G,YAAW1D,KAAKhD,MAAM0G,SAASC,GACnF2B,KAAUJ,EAAUxB,YAAYC,KAAWuB,EAAUxB,YAAWwB,EAAUxB,SAASC,GACvF,GAAIvG,KAAKC,UAAUoG,KAAUrG,KAAKC,UAAUiI,GAC1C,OAAO,EAGX,OAAO,IAER,CACD7G,IAAK,iBACLxC,MAAO,WACL,IAAIsJ,EAAkBlB,KAAKC,IAAItE,KAAKhD,MAAMuH,MAAQ,EAAG,GAAKvE,KAAKhD,MAAM8H,MACjEU,EAAyBnB,KAAKC,IAAItE,KAAKsD,KAAO,EAAG,GAAKtD,KAAKhD,MAAM2H,SACrE3E,KAAKhD,MAAMyI,kBAAkBzF,KAAKhD,MAAM2G,QAAS4B,EAAkBC,EAAwBxF,KAAKhD,MAAM2H,UACtG3E,KAAKsD,SAEN,CACD7E,IAAK,SACLxC,MAAO,WACL,IAAIyJ,EAAe,CACjBC,UAAU,GAERC,EAAmB5F,KAAKhD,MAAM4I,iBAAmB,IAAM5F,KAAKhD,MAAM4I,iBAAmB,GAIzF,GAHI5F,KAAKhD,MAAM0G,UAAY1D,KAAKhD,MAAM0G,SAAS1D,KAAKhD,MAAM2G,WACxD+B,EAAe1F,KAAKhD,MAAM0G,SAAS1D,KAAKhD,MAAM2G,UAE5C+B,EAAaC,SACf,OAAI3F,KAAKhD,MAAM6I,YACTH,EAAaI,MACX9F,KAAKhD,MAAM+I,SACOlJ,EAAgB,QAAEI,cAAc+C,KAAKhD,MAAM+I,SAAU/F,KAAKhD,OAE5DH,EAAgB,QAAEI,cAAc,MAAO,KAAM,4BAA0CJ,EAAgB,QAAEI,cAAc,IAAK,KAAM,YAAa,uBAGjJJ,EAAgB,QAAEI,cAAc,MAAO,KAAmBJ,EAAgB,QAAEI,cAAc,KAAM,KAAM,SAAuBJ,EAAgB,QAAEI,cAAc,MAAO,KAAMyI,EAAaM,QAGzLnJ,EAAgB,QAAEI,cAAc,MAAO,KAAmBJ,EAAgB,QAAEI,cAAc,KAAM,KAAM,WAAyBJ,EAAgB,QAAEI,cAAc,MAAO,KAAM,4HAElM,IAAIgJ,EAAUjG,KAAKhD,MAAMkJ,SAAW,SAAUC,GAC5C,IAAIxC,EAAUwC,EAAKxC,QACnB,OAAoB9G,EAAgB,QAAEI,cAAc,MAAO,KAAM,WAAY0G,EAAS,QAExF,IAAK3D,KAAKhD,MAAMyH,UAAYiB,EAAaU,WACvC,OAAoBvJ,EAAgB,QAAEI,cAAcgJ,EAAS,CAC3DtC,SAAS,EAAI3E,EAAaqH,iBAAiBrG,KAAKhD,MAAM2G,WAEnD,GAAI+B,EAAaY,YAAcZ,EAAaU,WAAY,CAC7D,GAAIV,EAAahC,UAAYgC,EAAahC,SAAS7D,OAASG,KAAKhD,MAAM2H,UAAY3E,KAAKhD,MAAMyH,UAAYzE,KAAKhD,MAAMuJ,QAEnH,OAAoB1J,EAAgB,QAAEI,cAAcgJ,EAAS,CAC3DtC,SAAS,EAAI3E,EAAaqH,iBAAiBrG,KAAKhD,MAAM2G,WAG1D,IAAIF,EAAOiC,EACX,GAAIjC,GAAQA,EAAKC,UAAYD,EAAKC,SAAS7D,OAAQ,CACjD,IAAI2G,EAAaC,SAASzG,KAAKsD,KAAM,IACjCoD,EAAW1G,KAAKhD,MAAM2J,MAAQ3G,KAAKhD,MAAM2J,MAAMnJ,IAAM,UAAYgJ,EAAa,GAAK,GACnFI,EAAW5G,KAAKhD,MAAM2J,MAAQ3G,KAAKhD,MAAM2J,MAAMnJ,IAAM,UAAYgJ,EAAa,GAAK,GAEnFjC,EADeF,KAAKC,KAAKtE,KAAKhD,MAAMuH,OAAS,GAAK,EAAG,GAErDO,EAAQ9E,KAAKhD,MAAM8H,OAAS9E,KAAKhD,MAAM2H,SACvCjB,EAAW1D,KAAKhD,MAAMyH,SAAWhB,EAAKC,SAASmD,KAAI,SAAUC,GAC/D,OAAO,IAAI5H,EAAqB,QAAE4H,MAC/BrD,EAAKC,SAASqD,MAAM,EAAG/G,KAAKhD,MAAM2H,UAAUkC,KAAI,SAAUC,GAC7D,OAAO,IAAI5H,EAAqB,QAAE4H,MAEhCE,GAAa,EACbhH,KAAKhD,MAAMyH,UAAYhB,EAAK8C,UAG1BS,EAFAhH,KAAKhD,MAAM6I,YACT7F,KAAKhD,MAAMiK,WACapK,EAAgB,QAAEI,cAAc+C,KAAKhD,MAAMiK,WAAY,CAC/Ef,QAASR,EAAaU,WACtBc,QAASlH,KAAKwD,eACdkC,aAAcA,EACdgB,SAAUA,EACVF,WAAYA,EACZI,SAAUJ,EAAa,GAAII,EAC3BO,UAAW,+BAA8BnH,KAAKhD,MAAMgH,SAASoD,SAC7DxB,iBAAkBA,IAGM/I,EAAgB,QAAEI,cAAc,MAAO,CAC/DoK,GAAI,kBACJC,UAAW,6CACQ,qBAAXC,QAAuC1K,EAAgB,QAAEI,cAAcJ,EAAgB,QAAE2K,SAAU,KAAmB3K,EAAgB,QAAEI,cAAc,SAAU,CACxKqK,UAAW,MAAQ1B,EACnByB,GAAI,iBACJH,QAASlH,KAAKwD,gBACb,eAAkC,qBAAX+D,QAAuC1K,EAAgB,QAAEI,cAAc,IAAK,CACpGoK,GAAI,yBACJI,KAAMf,GACQ7J,EAAgB,QAAEI,cAAc,SAAU,KAAM,cAA4BJ,EAAgB,QAAEI,cAAcH,EAAsB,QAAG,KAAmBD,EAAgB,QAAEI,cAAc,OAAQ,CAC9MyK,IAAK,YACLC,SAAU,MACVF,KAAM,+BAA8BzH,KAAKhD,MAAMgH,SAASoD,WACzCvK,EAAgB,QAAEI,cAAc,OAAQ,CACvDyK,IAAK,OACLD,KAAMf,IACJF,EAAa,GAAkB3J,EAAgB,QAAEI,cAAc,OAAQ,CACzEyK,IAAK,OACLD,KAAMb,MAIgB/J,EAAgB,QAAEI,cAAc,MAAO,CAC/DoK,GAAI,kBACJC,UAAW,WACGzK,EAAgB,QAAEI,cAAc,IAAK,KAAmBJ,EAAgB,QAAEI,cAAckC,EAASyI,KAAM,CACrHC,MAAO,KACPC,OAAQ,OACN,oGAGR,IAAIC,EAAmB/H,KAAKhD,MAAMgL,WAAa,SAAUC,GACvD,IAAIvE,EAAWuE,EAAMvE,SACrB,OAAoB7G,EAAgB,QAAEI,cAAc,KAAM,KAAMyG,EAASmD,KAAI,SAAUC,GACrF,OAAoBjK,EAAgB,QAAEI,cAAc,KAAM,CACxDwB,IAAKqI,EAAQoB,YACZpB,EAAQqB,eAGXC,EAAepI,KAAKhD,MAAMoL,aAQ9B,OAPKA,IACC3E,EAAK2E,aACPA,EAAe3E,EAAK2E,aACX3E,EAAK4E,gBAAkB5E,EAAK4E,eAAexI,SACpDuI,EAAe3E,EAAK4E,eAAe,GAAGC,QAGtCtI,KAAKhD,MAAMuL,MACO1L,EAAgB,QAAEI,cAAcJ,EAAgB,QAAE2K,SAAU,KAAmB3K,EAAgB,QAAEI,cAAc8K,EAAkBxI,EAAS,GAAIS,KAAKhD,MAAO,CAC5K0G,SAAUA,EAASqD,MAAMxC,EAAOvE,KAAKhD,MAAMyH,SAAWf,EAAS7D,OAAS0E,EAAQO,GAChFnB,QAAS3D,KAAKhD,MAAM2G,QACpB6E,QAASxI,KAAKhD,MAAMwL,QACpBC,WAAYhF,EAAKgF,WACjBL,aAAcA,EACdC,eAAgB5E,EAAK4E,eACrBpB,WAAYD,EACZ0B,gBAAiB1I,KAAKhD,MAAM0L,mBACzB1I,KAAKhD,MAAM2L,UAEE9L,EAAgB,QAAEI,cAAc,MAAO,CACzDqK,UAAWtH,KAAKhD,MAAMsK,WACRzK,EAAgB,QAAEI,cAAc8K,EAAkBxI,EAAS,GAAIS,KAAKhD,MAAO,CACzF0G,SAAUA,EAASqD,MAAMxC,EAAOvE,KAAKhD,MAAMyH,SAAWf,EAAS7D,OAAS0E,EAAQO,GAChFnB,QAAS3D,KAAKhD,MAAM2G,QACpB6E,QAASxI,KAAKhD,MAAMwL,QACpBC,WAAYhF,EAAKgF,WACjBL,aAAcA,EACdC,eAAgB5E,EAAK4E,eACrBpB,WAAYD,EACZ0B,gBAAiB1I,KAAKhD,MAAM0L,mBACzB1I,KAAKhD,MAAM2L,UAEhB,IAAKjD,EAAaU,WAEhB,OAAIpG,KAAKhD,MAAM+I,SACOlJ,EAAgB,QAAEI,cAAc+C,KAAKhD,MAAM+I,SAAU/F,KAAKhD,OAE5DH,EAAgB,QAAEI,cAAc,MAAO,KAAM,4BAA0CJ,EAAgB,QAAEI,cAAc,IAAK,KAAM,YAAa,uBAErK,IAAI2L,EAAW5I,KAAKhD,MAAMkJ,SAAW,SAAU2C,GAC7C,IAAIlF,EAAUkF,EAAMlF,QACpB,OAAoB9G,EAAgB,QAAEI,cAAc,MAAO,CACzDqK,UAAW,WACV,WAAY3D,EAAS,QAE1B,OAAoB9G,EAAgB,QAAEI,cAAc2L,EAAU,CAC5DjF,SAAS,EAAI3E,EAAaqH,iBAAiBrG,KAAKhD,MAAM2G,WAI1D,IAAImF,EAAY9I,KAAKhD,MAAMkJ,SAAW,SAAU6C,GAC9C,IAAIpF,EAAUoF,EAAMpF,QACpB,OAAoB9G,EAAgB,QAAEI,cAAc,MAAO,CACzDqK,UAAW,WACV,WAAY3D,EAAS,QAE1B,OAAoB9G,EAAgB,QAAEI,cAAc6L,EAAW,CAC7DnF,SAAS,EAAI3E,EAAaqH,iBAAiBrG,KAAKhD,MAAM2G,gBApPc1D,EAAkB8C,EAAY/E,UAAWgF,GAAiBC,GAAahD,EAAkB8C,EAAaE,GAAcnH,OAAOC,eAAegH,EAAa,YAAa,CAAE3C,UAAU,IAyPrPnC,EA/OmB,CAgP1BpB,EAAOmM,WACThN,EAAQiC,SAAWA,EACnBA,EAASgL,UAAY,CACnBrE,cAAe7F,EAAoB,QAAEmK,KAAKC,WAC1C1D,kBAAmB1G,EAAoB,QAAEmK,KAAKC,WAC9CxE,SAAU5F,EAAoB,QAAEqK,OAChC3E,SAAU1F,EAAoB,QAAEsK,KAAKF,WACrCX,QAASzJ,EAAoB,QAAEuK,OAAOH,WACtCxF,QAAS5E,EAAoB,QAAEuK,OAAOH,WACtCzF,SAAU3E,EAAoB,QAAEwK,OAAOJ,YAEzClL,EAASuL,aAAe,CACtBjF,MAAO,EACPkF,KAAM,EACN9E,SAAU,GACVF,UAAU,EACVd,QAAS,OACT2D,UAAW,gBAGb,IAAIvK,EAAWkB,EACfjC,EAAiB,QAAIe,G,kCCjSrBjB,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,aAAI,EACrB,IAAIa,EAASH,EAAuB,EAAQ,SACxCI,EAAeJ,EAAuB,EAAQ,SAClD,SAASA,EAAuBC,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,GACzF,IAgFII,EAhFc,SAAqBoJ,GACrC,IAGIuD,EAHA5C,EAAUX,EAAKW,QACjBK,EAAYhB,EAAKgB,UACjBzJ,EAAOyI,EAAKzI,KAEViM,EAAS,GACT7C,EAAQ6C,QACV7C,EAAQ6C,OAAO9C,KAAI,SAAU+C,GAC3B,OAAOD,EAAOE,KAAK,CACjB,QAAS,cACTrM,IAAKoM,EAAMpM,IACXqK,MAAO+B,EAAM/B,MACbC,OAAQ8B,EAAM9B,YAIhBhB,EAAQgD,iBAAmBhD,EAAQgD,gBAAgBH,QACrD7C,EAAQgD,gBAAgBH,OAAO9C,KAAI,SAAU+C,GAC3C,OAAOD,EAAOE,KAAK,CACjB,QAAS,cACTrM,IAAKoM,EAAMpM,IACXqK,MAAO+B,EAAM/B,MACbC,OAAQ8B,EAAM9B,YAIhB6B,EAAO9J,OAAS,GAClB6J,EAAY,IACFG,KAAK,CACb,QAASF,IAGXD,EAAYC,EAEd,IAAII,EAAS,CACX,WAAY,oBACZ,QAAS,cACTC,iBAAkB,CAChB,QAAS,UACT,MAAO,gCAA+B7C,GAAa,IAAML,EAAQmD,oBAEnE9B,SAAUrB,EAAQqB,SAClB1K,YAAaqJ,EAAkB,SAC/B8C,MAAOF,EACPQ,OAAQ,CACN,QAAS,SACT5M,KAAMwJ,EAAQoD,OACd1M,IAAK,gCAA+B2J,GAAa,IAAML,EAAQmD,oBAEjEE,UAAW,CACT,QAAS,eACT7M,KAAM,wCACNI,KAAM,CACJ,QAAS,cACTF,IAAK,gCAA+BE,GAAQ,aAC5CmK,MAAO,KACPC,OAAQ,OAGZsC,cAAetD,EAAQuD,UACvBC,aAAcxD,EAAQyD,UAAYzD,EAAQuD,WAE5C,GAAIvD,EAAQ0D,OAAQ,CAClB,IAAIC,EAAQ3D,EAAQ0D,OAAO,GACvBC,GAASA,EAAMjN,KAAOiN,EAAMC,QAAU,SAASC,KAAKF,EAAMjN,OAC5DuM,EAAOU,MAAQ,CACb,QAAS,cACTnN,KAAM,wCACNG,YAAagN,EAAMG,SAAW,GAC9BC,aAAcJ,EAAMK,cAAgB,GACpCC,WAAYjE,EAAQuD,UACpBW,SAAUP,EAAMO,UAAY,GAC5BC,WAAYR,EAAMjN,MAIxB,OAAoBX,EAAgB,QAAEI,cAAcH,EAAsB,QAAG,KAAmBD,EAAgB,QAAEI,cAAc,SAAU,CACxIC,KAAM,uBACL,GAAGC,OAAOC,KAAKC,UAAU0M,OAG9B/N,EAAiB,QAAIe,G,kCCxFrBjB,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,aAAI,EACrB,IAAIa,EAASH,EAAuB,EAAQ,SACxCI,EAAeJ,EAAuB,EAAQ,SAClD,SAASA,EAAuBC,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,GACzF,IAaII,EAbc,SAAqBC,GACrC,IAAI+M,EAAS,CACX,WAAY,oBACZ,QAAS,UACTzM,KAAM,wCACNC,cAAe,cACfC,IAAK,+BAA8BR,EAAMgH,SAASoD,SAClD3J,YAAaT,EAAMS,aAErB,OAAoBZ,EAAgB,QAAEI,cAAcH,EAAsB,QAAG,KAAmBD,EAAgB,QAAEI,cAAc,SAAU,CACxIC,KAAM,uBACL,GAAGC,OAAOC,KAAKC,UAAU0M,OAG9B/N,EAAiB,QAAIe,G,mBCvBrBmO,EAAOlP,QAAU,0rD,kCCEjBF,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,aAAI,EACrB,IACgCW,EAD5BE,GAC4BF,EADI,EAAQ,UACSA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,GACzF,IA+BII,EA/Be,SAAsBoJ,GACvC,IAAIyD,EAAQzD,EAAKyD,MACfnC,EAAOtB,EAAKsB,KACZ0D,EAAUhF,EAAKgF,QACfC,EAAejF,EAAKiF,aACpBC,EAAclF,EAAKkF,YACnBC,EAAanF,EAAKmF,WACpB,OAAoBzO,EAAgB,QAAEI,cAAc,SAAU,CAC5DsO,SAAU,QACVC,WAAW,EACXC,SAAU,kCACI5O,EAAgB,QAAEI,cAAc,OAAQ,CACtDsO,SAAU,MACVG,QAAS9B,EAAMpM,MACAX,EAAgB,QAAEI,cAAc,OAAQ,CACvDsO,SAAU,QACVG,QAAS9B,EAAM/B,QACAhL,EAAgB,QAAEI,cAAc,OAAQ,CACvDsO,SAAU,SACVG,QAAS9B,EAAM9B,SACAjL,EAAgB,QAAEI,cAAc,MAAO,CACtDqK,UAAWgE,EACXK,IAAKlE,EACLmE,IAAKT,GAAWC,EAChBS,MAAOT,IACLA,GAA6BvO,EAAgB,QAAEI,cAAc,aAAc,KAAmBJ,EAAgB,QAAEI,cAAc,OAAQ,CACxIqK,UAAW,gBACV8D,GAAeC,GAA4BxO,EAAgB,QAAEI,cAAc,OAAQ,CACpFqK,UAAW,eACV,WAAY+D,MAGjBrP,EAAiB,QAAIe,G,uKC9Bf+O,E,4JACJ,WACE,IANiBC,EAMXjF,EAAU9G,KAAKhD,MAAM8J,QACrBkF,EAAehM,KAAKhD,MAAMgP,aAC1BC,EAAcjM,KAAKhD,MAAMiP,YACzBzD,EAAUxI,KAAKhD,MAAMwL,QACrBX,EAAQ7H,KAAKhD,MAAM6K,MAEnBqE,EADclM,KAAKhD,MAAMmP,YACA,OAASrF,EAAQsF,UAAY,KAAKC,QAAQ,GAAK,YAAc,GAGtFjE,GADmBtB,EAAQsB,aAAakE,MAAM,KAAKzM,OAAS,EAAIiH,EAAQsB,aAAakE,MAAM,KAAK,GAAKxF,EAAQsB,aAAakE,MAAM,KAAK,IACrGC,cAAcC,QAAQ,IAAK,KACjE,OACE,aAAS/N,IAAKqI,EAAQoB,WAAYuE,aAAW,WAC3C,EAAC,OAAD,CAAMC,GAAI,IAAM5F,EAAQmD,mBACpBgC,GAAe,SAAK3E,UAAU,YAAW,EAAC,UAAD,CAASO,MAAM,KAAKC,OAAO,QACtE,EAAC,iBAAD,CAAgB8B,MAAO9C,EAAQ8C,MAAO/B,MAAOA,EAAO+D,IAAK9E,EAAQqB,SAAUwE,MAAM,OAAOnE,QAASA,KAEnG,SAAKlB,UAAU,WACb,WAAOA,UAAU,QACf,EAAC,YAAD,CAAWO,MAAM,KAAKC,OAAO,OAD/B,IACwChB,EAAQ8F,WAAU,GAD1D,MACoE,EAAC,OAAD,CAAMtF,UAAU,WAAWoF,GAAI,IAAM5F,EAAQ+F,gBAAiBzE,GADlI,IACwJ8D,EACpJlM,KAAKhD,MAAMoI,eAAkB0B,EAAQgG,UAAY,IAE/C,UAAMxF,UAAU,SAAQ,EAAC,OAAD,CAAMO,MAAM,KAAKC,OAAO,QA3B3CiE,EA2B8DjF,EAAQgG,UA1BlFzI,KAAK0I,IAAIhB,GAAO,IAAM1H,KAAK2I,KAAKjB,IAAS1H,KAAK0I,IAAIhB,GAAO,KAAMM,QAAQ,GAAM,IAAMhI,KAAK2I,KAAKjB,GAAO1H,KAAK0I,IAAIhB,KA4BtG,IAEN,EAAC,OAAD,CAAMW,GAAI,IAAM5F,EAAQmD,mBACtB,YAAKnD,EAAQqB,UACX6D,GAAgB,WAAIlF,EAAQmG,iBAEC,cAA/BnG,EAAQoG,oBAAqE,sBAA/BpG,EAAQoG,qBACtD,WAAO5F,UAAU,aAAjB,cAC+B,WAA/BR,EAAQoG,oBAAkE,mBAA/BpG,EAAQoG,qBACnD,WAAO5F,UAAU,UAAjB,mB,GAlCc0B,aAyCX8C,O,kCCjDfhQ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,aAAI,EACrB,IAGgCW,EAH5BE,GAG4BF,EAHI,EAAQ,UAGSA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,GAFrFwQ,EAAY,EAAQ,QACpBC,EAAW,EAAQ,QAEvB,IAsDIrQ,EAtDuB,SAA8BoJ,GACvD,IAAIW,EAAUX,EAAKW,QACjBuG,EAAalH,EAAKkH,WAElB7E,GADqBrC,EAAKmH,mBAChBnH,EAAKqC,SACjB,KAAK,EAAI4E,EAASG,SAASzG,EAAQ0D,WAAY,EAAI4C,EAASG,SAASzG,EAAQ0G,UAC3E,OAAoB3Q,EAAgB,QAAEI,cAAc,MAAO,CACzDqK,UAAW,oBACVR,EAAQ0D,OAAO3D,KAAI,SAAU4G,EAAMlJ,GACpC,OAAoB1H,EAAgB,QAAEI,cAAc,MAAO,CACzDwB,IAAK8F,GACS1H,EAAgB,QAAEI,cAAc,MAAO,CACrDyQ,wBAAyB,CACvBC,OAAQF,EAAK/C,cAGf5D,EAAQ0G,SAAS3G,KAAI,SAAU+G,EAASrJ,GAC1C,OAAoB1H,EAAgB,QAAEI,cAAc,IAAK,CACvDwK,KAAM,iCAAmCmG,EAAQvG,GACjD,aAAc,OACd,eAAgBuG,EAAQhD,QACxB,WAAYgD,EAAQpQ,IACpBiB,IAAKmP,EAAQvG,IACCxK,EAAgB,QAAEI,cAAc,MAAO,CACrD2O,IAAKgC,EAAQhD,QACbe,IAAKiC,EAAQpQ,WAGZ,KAAK,EAAI4P,EAASG,SAASzG,EAAQ0D,QAAS,CACjD,IAAIC,EAAQ3D,EAAQ0D,OAAO,GAC3B,GAAIC,GAASA,EAAMjN,KAAOiN,EAAMC,QAAU,SAASC,KAAKF,EAAMjN,KAC5D,OAAoBX,EAAgB,QAAEI,cAAc,MAAO,KAAmBJ,EAAgB,QAAEI,cAAc,MAAO,CACnHoK,GAAI,yBACJqG,wBAAyB,CACvBC,OAAQlD,EAAMC,WAIlB1F,QAAQ6I,KAAK,mEAAoE/G,EAAQoB,WAAYpB,EAAQ0D,QAGjH,QAAI1D,EAAQ6C,QACU9M,EAAgB,QAAEI,cAAckQ,EAAUW,eAAgB,CAC5ErP,IAAKqI,EAAQoB,WACb0B,MAAO9C,EAAQ6C,OAAO,GACtB9B,MAAOwF,EACPzB,IAAK9E,EAAQqB,SACbwE,MAAO,OACPnE,QAASA,KAOfxM,EAAiB,QAAIe,G,kCC/DrBjB,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAiB,QAAIA,EAAQ+R,eAAiB/R,EAAQgS,gBAAkBhS,EAAQ8R,eAAiB9R,EAAQiS,gBAAkBjS,EAAQkS,kBAAoBlS,EAAQmS,cAAW,EAC1K,IAEgCxR,EAF5BE,EAIJ,SAAiCF,EAAKuB,GAAe,IAAKA,GAAevB,GAAOA,EAAIC,WAAc,OAAOD,EAAO,GAAY,OAARA,GAAiC,WAAjBiB,EAAQjB,IAAoC,oBAARA,EAAsB,MAAO,CAAE,QAAWA,GAAS,IAAIwB,EAAQC,EAAyBF,GAAc,GAAIC,GAASA,EAAME,IAAI1B,GAAQ,OAAOwB,EAAMhC,IAAIQ,GAAQ,IAAI2B,EAAS,GAAQC,EAAwBzC,OAAOC,gBAAkBD,OAAO0C,yBAA0B,IAAK,IAAIC,KAAO9B,EAAO,GAAY,YAAR8B,GAAqB3C,OAAOkC,UAAUU,eAAeC,KAAKhC,EAAK8B,GAAM,CAAE,IAAIG,EAAOL,EAAwBzC,OAAO0C,yBAAyB7B,EAAK8B,GAAO,KAAUG,IAASA,EAAKzC,KAAOyC,EAAKC,KAAQ/C,OAAOC,eAAeuC,EAAQG,EAAKG,GAAgBN,EAAOG,GAAO9B,EAAI8B,GAAYH,EAAgB,QAAI3B,EAASwB,GAASA,EAAMU,IAAIlC,EAAK2B,GAAW,OAAOA,EAJrxBQ,CAAwB,EAAQ,SACzCC,GAC4BpC,EADQ,EAAQ,UACKA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,GACzF,SAASyB,EAAyBF,GAAe,GAAuB,oBAAZkB,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQhB,EAA2B,SAAkCF,GAAe,OAAOA,EAAcoB,EAAmBD,IAAsBnB,GAEhU,SAASN,EAAQjB,GAAkC,OAAOiB,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAUnB,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBkB,QAAUlB,EAAIoB,cAAgBF,QAAUlB,IAAQkB,OAAOG,UAAY,gBAAkBrB,IAAgBA,GACzU,SAASmG,EAAUH,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/B,UAAU,sDAAyD8B,EAAS3E,UAAYlC,OAAO+G,OAAOD,GAAcA,EAAW5E,UAAW,CAAED,YAAa,CAAE9B,MAAO0G,EAAUvC,UAAU,EAAMD,cAAc,KAAWrE,OAAOC,eAAe4G,EAAU,YAAa,CAAEvC,UAAU,IAAcwC,GAAY3B,EAAgB0B,EAAUC,GACtb,SAAS3B,EAAgBC,EAAGC,GAA6I,OAAxIF,EAAkBnF,OAAOsF,eAAiBtF,OAAOsF,eAAe3B,OAAS,SAAyByB,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,IAA6BA,EAAGC,GACnM,SAASG,EAAaC,GAAW,IAAIC,EAGrC,WAAuC,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ7D,UAAU8D,QAAQnD,KAAK8C,QAAQC,UAAUG,QAAS,IAAI,iBAAyB,EAAQ,MAAOE,GAAK,OAAO,GAH9PC,GAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQC,EAAgBZ,GAAkB,GAAIC,EAA2B,CAAE,IAAIY,EAAYD,EAAgBnC,MAAMjC,YAAakE,EAASR,QAAQC,UAAUQ,EAAOtC,UAAWwC,QAAqBH,EAASC,EAAMnC,MAAMC,KAAMJ,WAAc,OAAOyC,EAA2BrC,KAAMiC,IAC5Z,SAASI,EAA2BC,EAAM3D,GAAQ,GAAIA,IAA2B,WAAlBf,EAAQe,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIkC,UAAU,4DAA+D,OAC1P,SAAgCyB,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIE,eAAe,6DAAgE,OAAOF,EADkGC,CAAuBD,GAGxR,SAASH,EAAgBjB,GAA+J,OAA1JiB,EAAkBrG,OAAOsF,eAAiBtF,OAAO2G,eAAehD,OAAS,SAAyByB,GAAK,OAAOA,EAAEG,WAAavF,OAAO2G,eAAevB,KAA8BA,GAC/M,SAASmC,EAAgBD,EAAUL,GAAe,KAAMK,aAAoBL,GAAgB,MAAM,IAAIlC,UAAU,qCAChH,SAASZ,EAAkBP,EAAQ1C,GAAS,IAAK,IAAI2C,EAAI,EAAGA,EAAI3C,EAAM6C,OAAQF,IAAK,CAAE,IAAIO,EAAalD,EAAM2C,GAAIO,EAAWhE,WAAagE,EAAWhE,aAAc,EAAOgE,EAAWC,cAAe,EAAU,UAAWD,IAAYA,EAAWE,UAAW,GAAMtE,OAAOC,eAAe2D,EAAQW,EAAeH,EAAWzB,KAAMyB,IAC7T,SAASkO,EAAarL,EAAaC,EAAYC,GAAyN,OAAtMD,GAAY/C,EAAkB8C,EAAY/E,UAAWgF,GAAiBC,GAAahD,EAAkB8C,EAAaE,GAAcnH,OAAOC,eAAegH,EAAa,YAAa,CAAE3C,UAAU,IAAiB2C,EAC/Q,SAAS1C,EAAeC,GAAO,IAAI7B,EACnC,SAAsB8B,EAAOC,GAAQ,GAAuB,WAAnB5C,EAAQ2C,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAM1C,OAAO6C,aAAc,QAAaC,IAATF,EAAoB,CAAE,IAAIG,EAAMH,EAAK9B,KAAK4B,EAAOC,GAAQ,WAAY,GAAqB,WAAjB5C,EAAQgD,GAAmB,OAAOA,EAAK,MAAM,IAAIC,UAAU,gDAAmD,OAAiB,WAATL,EAAoBM,OAASC,QAAQR,GAD3US,CAAaV,EAAK,UAAW,MAAwB,WAAjB1C,EAAQa,GAAoBA,EAAMqC,OAAOrC,GAEtH,IAAI4P,EAAS,EAAQ,QAAUxL,OAAO,CACpCyL,eAAe,EACfC,QAAQ,EACRC,OAAQ,IACRC,aAAc,IACdC,MAAM,IAGJC,EAAkB,SAAyBhC,EAAO9E,GACpD,MAAc,SAAV8E,EACKtI,KAAKuK,KAAa,EAAR/G,EAAY,IAEjB,aAAV8E,EACKtI,KAAKuK,KAAa,EAAR/G,EANN,MAQC,WAAV8E,EACK9E,OADT,GAIF,SAASgH,IACP,GAAsB,qBAAXtH,OAAwB,CACjC,IAAIuH,EAAOC,SAAS9R,cAAc,UAClC,GAAO6R,EAAKE,YAAcF,EAAKE,WAAW,MAExC,OAAkE,GAA3DF,EAAKG,UAAU,cAAcC,QAAQ,mBAIhD,OAAO,EAmBTlT,EAAQgS,gBAjBc,SAAyBpE,EAAO/B,EAAO8E,EAAOwC,GAClE,GAAIvF,GAASA,EAAMpM,IAAK,CACtB,IAAI4R,EAAO,IAAInB,EACXnG,EAASsH,EAAKC,WAAW1C,EAAO9E,IAAkB,IAARA,OAC9BlH,IAAZwO,IACFA,EAAUN,KAEZ,IAAIS,EAAwBF,EAAKG,sBAAsB5C,EAAO9E,EAAOC,EAAQ8B,EAAM/B,MAAO+B,EAAM9B,OAAQ8B,EAAM4F,KAAO5F,EAAM4F,KAAKC,EAAI,EAAG7F,EAAM4F,KAAO5F,EAAM4F,KAAKE,EAAI,EAAG9F,EAAM4F,KAAO5F,EAAM4F,KAAKG,EAAI,EAAG/F,EAAM4F,KAAO5F,EAAM4F,KAAKI,EAAI,EAAGhG,EAAMiG,WAAajG,EAAMiG,WAAWJ,EAAI,EAAG7F,EAAMiG,WAAajG,EAAMiG,WAAWH,EAAI,GACrTI,EAAUR,EAAsBQ,QAChCC,EAAUT,EAAsBS,QAChCC,EAAYV,EAAsBU,UAClCC,EAAaX,EAAsBW,WACrC,OAAOb,EAAKc,cAAc,GAAItG,EAAMgB,QAAUyD,EAAOzE,EAAMgB,SAAW,GAAI/C,EAAOC,EAAQ8B,EAAMpM,IAAKsS,EAASC,EAASC,EAAWC,EAAYd,GAE7I,OAAO,MAuBX,SAASgB,EAAiBvG,EAAO+C,GAC/B,MAAc,SAAVA,GAAoB/C,EAAMwG,OAASxG,EAAMwG,MAAM,QAC1CxG,EAAMwG,MAAM,QAEP,WAAVzD,GAAsB/C,EAAMwG,OAASxG,EAAMwG,MAAM,OAC5CxG,EAAMwG,MAAM,OAEjBxG,EAAM4F,KACD5F,EAAM4F,KAER,CACLC,EAAG7F,EAAMkG,QACTJ,EAAG9F,EAAMmG,QACTJ,EAAG/F,EAAMyG,UACTT,EAAGhG,EAAM0G,YAfbtU,EAAQ+R,eAlBa,SAAwBnE,EAAO/B,EAAO8E,GAEzD,GAAqB,mBAAV/C,EAEJ,IAAIA,GAASA,EAAMpM,IAAK,CAC7B,IAAI4R,EAAO,IAAInB,EACXnG,EAASsH,EAAKC,WAAW1C,EAAO9E,IAAkB,IAARA,EAC1C0I,EAAyBnB,EAAKG,sBAAsB5C,EAAO9E,EAAOC,EAAQ8B,EAAM/B,MAAO+B,EAAM9B,OAAQ8B,EAAM4F,KAAO5F,EAAM4F,KAAKC,EAAI,EAAG7F,EAAM4F,KAAO5F,EAAM4F,KAAKE,EAAI,EAAG9F,EAAM4F,KAAO5F,EAAM4F,KAAKG,EAAI,EAAG/F,EAAM4F,KAAO5F,EAAM4F,KAAKI,EAAI,EAAGhG,EAAMiG,WAAajG,EAAMiG,WAAWJ,EAAI,EAAG7F,EAAMiG,WAAajG,EAAMiG,WAAWH,EAAI,GACtTI,EAAUS,EAAuBT,QACjCC,EAAUQ,EAAuBR,QACjCC,EAAYO,EAAuBP,UACnCC,EAAaM,EAAuBN,WAEtC,OADUb,EAAKc,cAAc,GAAItG,EAAMgB,QAAUyD,EAAOzE,EAAMgB,SAAW,GAAIhB,EAAM/B,MAAOC,EAAQ8B,EAAMpM,IAAKsS,EAASC,EAASC,EAAWC,EAAYpB,KAGtJ,OAAO,OA8DX7S,EAAQ8R,eAzCa,SAAwB3H,GAC3C,IAAIyD,EAAQzD,EAAKyD,MACf/B,EAAQ1B,EAAK0B,MACb+D,EAAMzF,EAAKyF,IACXe,EAAQxG,EAAKwG,MACbnE,EAAUrC,EAAKqC,QACfgI,EAAOrK,EAAKqK,KACZlJ,EAAYnB,EAAKmB,UACnB,GAAIsC,GAASA,EAAMpM,IAAK,CACtB,IAAI4S,EAAQD,EAAiBvG,EAAO+C,GAChCmD,EAAUM,EAAMX,EAClBM,EAAUK,EAAMV,EAChBW,EAAYD,EAAMT,EAClBW,EAAaF,EAAMR,EACrB,OAAoB/S,EAAgB,QAAEI,cAAcwT,EAAO,CACzDnJ,UAAWA,EACXqF,MAAOA,EACP9E,MAAOpB,SAASoB,GAChB8D,IAAK/B,EAAMpM,IACXgT,KAAMA,EACNV,QAASA,EACTC,QAASA,EACTC,UAAWK,EACXJ,WAAYK,EACZI,YAAa9G,EAAM8G,aAAe9G,EAAMiG,YAAcjG,EAAMiG,WAAWJ,EACvEkB,YAAa/G,EAAM+G,aAAe/G,EAAMiG,YAAcjG,EAAMiG,WAAWH,EACvErC,WAAY5G,SAASmD,EAAM/B,OAC3B+I,YAAanK,SAASmD,EAAM9B,QAC5B8D,IAAKA,IAGP,OAAoB/O,EAAgB,QAAEI,cAAc,MAAO,CACzDqK,UAAWA,EACXqE,IAAKnD,EACLX,MAAOA,EACP3B,QAASsK,EAAO,OAAS,OACzB1I,OAAQ6G,EAAgBhC,EAAO9E,GAC/B+D,IAAKA,KA6CX5P,EAAQkS,kBAxCgB,SAA2BjG,GACjD,IAAI2B,EAAQ3B,EAAM2B,MAChB/B,EAAQI,EAAMJ,MACd+D,EAAM3D,EAAM2D,IACZe,EAAQ1E,EAAM0E,MACdnE,EAAUP,EAAMO,QAChBqI,EAAS5I,EAAM4I,OACfvJ,EAAYW,EAAMX,UACpB,GAAIsC,GAASA,EAAMpM,IAAK,CACtB,IAAIsT,EAAoBX,EAAiBvG,EAAO+C,GAC9CmD,EAAUgB,EAAkBhB,QAC5BC,EAAUe,EAAkBf,QAC5BM,EAAYS,EAAkBT,UAC9BC,EAAaQ,EAAkBR,WACjC,OAAoBzT,EAAgB,QAAEI,cAAckR,EAAU,CAC5D7G,UAAWA,EACXqF,MAAOA,EACP9E,MAAOA,EACP8D,IAAK/B,EAAMpM,IACXqT,OAAQA,EACRf,QAASA,EACTC,QAASA,EACTC,UAAWK,EACXJ,WAAYK,EACZI,YAAa9G,EAAM8G,aAAe9G,EAAMiG,YAAcjG,EAAMiG,WAAWJ,EACvEkB,YAAa/G,EAAM+G,aAAe/G,EAAMiG,YAAcjG,EAAMiG,WAAWH,EACvErC,WAAYzD,EAAM/B,MAClB+I,YAAahH,EAAM9B,OACnB8D,IAAKA,IAGP,OAAoB/O,EAAgB,QAAEI,cAAc,UAAW,CAC7DqK,UAAWA,EACXqE,IAAKnD,EACLX,MAAOA,EACPC,OAAQ6G,EAAgBhC,EAAO9E,GAC/B+D,IAAKA,KAKX,IAAIqC,EAA+B,WACjC,SAASA,IACP5K,EAAgBrD,KAAMiO,GAsIxB,OApIAG,EAAaH,EAAiB,CAAC,CAC7BxP,IAAK,aACLxC,MAAO,SAAoB0Q,EAAO9E,GAChC,OAAO8G,EAAgBhC,EAAO9E,IAAkB,IAARA,IAEzC,CACDpJ,IAAK,gBACLxC,MAAO,SAAuB8U,EAAWzT,EAAMuK,EAAOC,EAAQ6D,EAAKmE,EAASC,EAASC,EAAWC,EAAYd,GAC1G,OAAIW,GAAWC,GAAWC,GAAaC,EAC9B,GAAG9S,OAAO4T,EAAW,KAAK5T,OAAO0K,EAAO,KAAK1K,OAAO2K,EAAQ,KAAK3K,OAAOG,EAAM,YAAYH,OAAOwO,EAAK,2BAA2BxO,OAAO2S,EAAS,KAAK3S,OAAO4S,EAAS,YAAY5S,OAAO6S,EAAW,KAAK7S,OAAO8S,IAAed,EAAU,aAAe,IAE1P,GAAGhS,OAAO4T,EAAW,KAAK5T,OAAO0K,EAAO,KAAK1K,OAAO2K,EAAQ,KAAK3K,OAAOG,EAAM,YAAYH,OAAOwO,IAAQwD,EAAU,aAAe,MAE1I,CACD1Q,IAAK,qBACLxC,MAAO,SAA4B+U,EAAiBC,EAAOC,GACzD,IAAIC,EAAaH,EAAkBE,EAAW,EAC9CC,EAAaA,EAAa,EAAI,EAAIA,EAClC,IAAIC,EAAWJ,EAAkBE,EAAW,EAE5C,OADAE,EAAWA,EAAWH,EAAQA,EAAQC,EAAWE,GAClCJ,EACG3M,KAAK0I,IAAIoE,EAAaD,EAAW,EAAIF,IACvC3M,KAAK0I,IAAIqE,EAAWF,EAAW,EAAIF,GAExC3M,KAAKgN,MAAMF,GAEX9M,KAAKgN,MAAMD,GAGb/M,KAAKgN,MAAMF,KAGrB,CACD1S,IAAK,wBACLxC,MAAO,SAA+B0Q,EAAO9E,EAAOC,EAAQuF,EAAYuD,EAAad,EAASC,EAASC,EAAWC,EAAYqB,EAAaC,GACzI,IAAIC,EAAgBvB,EAChBwB,EAAezB,EACnB,GAAI3C,GAAcuD,EAAa,CAkB7B,GAjBoB,IAAhBU,GAAqC,IAAhBC,IACnBvB,GAAaC,GACfqB,EAAcxB,EAAUzL,KAAKqN,MAAM1B,EAAY,GAC/CuB,EAAcxB,EAAU1L,KAAKqN,MAAMzB,EAAa,KAEhDqB,EAAcjN,KAAKqN,MAAMrE,EAAa,GACtCkE,EAAclN,KAAKqN,MAAMd,EAAc,KAG7B,WAAVjE,IAMF6E,EAJEC,EADgB,IAAdzB,GAAkC,IAAfC,EACN5L,KAAKsN,IAAItE,EAAYuD,GAErBvM,KAAKsN,IAAI3B,EAAWC,IAIzB,SAAVtD,EACF,GAAkB,IAAdqD,GAAkC,IAAfC,EACNW,GAAe,GAAK,GACpBvD,GAEboE,EAAepN,KAAKqN,MAAoB,GAAdd,EAAmB,GAC7CY,EAAgBZ,IAEhBa,EAAepE,EACfmE,EAAgBnN,KAAKqN,MAAmB,EAAbrE,EAAiB,UAG9B4C,GAAc,GAAK,GACnBD,GAEdyB,EAAepN,KAAKqN,MAAmB,GAAbzB,EAAkB,GAC5CuB,EAAgBvB,IAEhBwB,EAAezB,EACfwB,EAAgBnN,KAAKqN,MAAkB,EAAZ1B,EAAgB,KAIjD,GAAc,aAAVrD,EACF,GAAkB,IAAdqD,GAAkC,IAAfC,EAnPlB,KAoPcW,EACAvD,GAEfoE,EAAepN,KAAKqN,MAvPnB,KAuPyBd,GAC1BY,EAAgBZ,IAEhBa,EAAepE,EACfmE,EAAgBnN,KAAKqN,MAAmB,EAAbrE,EA3P1B,iBA8Pc4C,EACAD,GAEfyB,EAAepN,KAAKqN,MAjQnB,KAiQyBzB,GAC1BuB,EAAgBvB,IAEhBwB,EAAezB,EACfwB,EAAgBnN,KAAKqN,MAAkB,EAAZ1B,EArQ1B,OA2QP,OAFAsB,EAAcjN,KAAKC,IAAID,KAAKsN,IAAIL,EAAajE,EAAahJ,KAAKqN,MAAMD,EAAe,IAAK3B,EAAUzL,KAAKqN,MAAMD,EAAe,IAC7HF,EAAclN,KAAKC,IAAID,KAAKsN,IAAIJ,EAAaX,EAAcvM,KAAKqN,MAAMF,EAAgB,IAAKzB,EAAU1L,KAAKqN,MAAMF,EAAgB,IAC5HxB,GAAaC,EACR,CACLH,QAASwB,EAAcjN,KAAKqN,MAAM1B,EAAY,GAC9CD,QAASwB,EAAclN,KAAKqN,MAAMzB,EAAa,GAC/CD,UAAWyB,EACXxB,WAAYuB,IAGXC,IACHA,EAAepE,GAEZmE,IACHA,EAAgBZ,GAEX,CACLd,QAASwB,EAAcjN,KAAKqN,MAAMD,EAAe,GACjD1B,QAASwB,EAAclN,KAAKqN,MAAMF,EAAgB,GAClDxB,UAAWyB,EACXxB,WAAYuB,IAGhB,MAAO,CACL1B,QAAS,EACTC,QAAS,EACTC,UAAW,EACXC,WAAY,OAIXhC,EAxI0B,GA0InCjS,EAAQiS,gBAAkBA,EAC1B,IAAIwC,EAAqB,SAAU/N,GACjCI,EAAU2N,EAAO/N,GACjB,IAAIQ,EAAS5B,EAAamP,GAC1B,SAASA,IAEP,OADApN,EAAgBrD,KAAMyQ,GACfvN,EAAOnD,MAAMC,KAAMJ,WAmE5B,OAjEAwO,EAAaqC,EAAO,CAAC,CACnBhS,IAAK,SACLxC,MAAO,WACL,IACI0P,EACAiG,EACAC,EACA/J,EAJA3E,EAAQnD,KAKR1C,EAAO0C,KAAKhD,MAAM4O,IAAMyC,EAAOrO,KAAKhD,MAAM4O,KAAO,GACjDkG,OAASnR,EAEb,GAAyB,WAArBX,KAAKhD,MAAM2P,MACbhB,EAAM,GAAGxO,OAAO6C,KAAKhD,MAAM+U,gBAAiB,KAAK5U,OAAO6C,KAAKhD,MAAM6K,MAAO,KAAK1K,OAAOG,EAAM,YAAYH,OAAO6C,KAAKhD,MAAM2O,KAC1HiG,EAAQ,GAAGzU,OAAO6C,KAAKhD,MAAM+U,gBAAiB,KAAK5U,OAA0B,EAAnB6C,KAAKhD,MAAM6K,MAAW,KAAK1K,OAAOG,EAAM,YAAYH,OAAO6C,KAAKhD,MAAM2O,KAChIkG,EAAU,GAAG1U,OAAO6C,KAAKhD,MAAM+U,gBAAiB,KAAK5U,OAAO6C,KAAKhD,MAAM6K,MAAO,KAAK1K,OAAOG,EAAM,YAAYH,OAAO6C,KAAKhD,MAAM2O,KAC9H7D,EAAS9H,KAAKhD,MAAM6K,OAChB7H,KAAKhD,MAAMgT,WAAahQ,KAAKhD,MAAMiT,cACrCtE,GAAO,0BAA0BxO,OAAO6C,KAAKhD,MAAM8S,QAAS,KAAK3S,OAAO6C,KAAKhD,MAAM+S,QAAS,YAAY5S,OAAO6C,KAAKhD,MAAMgT,UAAW,KAAK7S,OAAO6C,KAAKhD,MAAMiT,YAC5J2B,GAAS,0BAA0BzU,OAAO6C,KAAKhD,MAAM8S,QAAS,KAAK3S,OAAO6C,KAAKhD,MAAM+S,QAAS,YAAY5S,OAAO6C,KAAKhD,MAAMgT,UAAW,KAAK7S,OAAO6C,KAAKhD,MAAMiT,YAC9J4B,GAAW,0BAA0B1U,OAAO6C,KAAKhD,MAAM8S,QAAS,KAAK3S,OAAO6C,KAAKhD,MAAM+S,QAAS,YAAY5S,OAAO6C,KAAKhD,MAAMgT,UAAW,KAAK7S,OAAO6C,KAAKhD,MAAMiT,WAAY,oBAEzK,GAAyB,SAArBjQ,KAAKhD,MAAM2P,MACpBhB,EAAM,GAAGxO,OAAO6C,KAAKhD,MAAMgV,cAAe,KAAK7U,OAAO6C,KAAKhD,MAAM6K,MAAO,KAAK1K,OAAOG,EAAM,YAAYH,OAAO6C,KAAKhD,MAAM2O,KACxHiG,EAAQ,GAAGzU,OAAO6C,KAAKhD,MAAMgV,cAAe,KAAK7U,OAA0B,EAAnB6C,KAAKhD,MAAM6K,MAAW,KAAK1K,OAAOG,EAAM,YAAYH,OAAO6C,KAAKhD,MAAM2O,KAC9HkG,EAAU,GAAG1U,OAAO6C,KAAKhD,MAAMgV,cAAe,KAAK7U,OAAO6C,KAAKhD,MAAM6K,MAAO,KAAK1K,OAAOG,EAAM,YAAYH,OAAO6C,KAAKhD,MAAM2O,KAC5H7D,EAASzD,KAAKuK,KAAwB,EAAnB5O,KAAKhD,MAAM6K,MAAY,KACtC7H,KAAKhD,MAAMgT,WAAahQ,KAAKhD,MAAMiT,cACrCtE,GAAO,0BAA0BxO,OAAO6C,KAAKhD,MAAM8S,QAAS,KAAK3S,OAAO6C,KAAKhD,MAAM+S,QAAS,YAAY5S,OAAO6C,KAAKhD,MAAMgT,UAAW,KAAK7S,OAAO6C,KAAKhD,MAAMiT,YAC5J2B,GAAS,0BAA0BzU,OAAO6C,KAAKhD,MAAM8S,QAAS,KAAK3S,OAAO6C,KAAKhD,MAAM+S,QAAS,YAAY5S,OAAO6C,KAAKhD,MAAMgT,UAAW,KAAK7S,OAAO6C,KAAKhD,MAAMiT,YAC9J4B,GAAW,0BAA0B1U,OAAO6C,KAAKhD,MAAM8S,QAAS,KAAK3S,OAAO6C,KAAKhD,MAAM+S,QAAS,YAAY5S,OAAO6C,KAAKhD,MAAMgT,UAAW,KAAK7S,OAAO6C,KAAKhD,MAAMiT,WAAY,mBAEzK,CACL,IAAIb,EAAO,IAAInB,EACfnG,EAAS9H,KAAKhD,MAAM8K,QAAUsH,EAAKC,WAAWrP,KAAKhD,MAAM2P,MAAO3M,KAAKhD,MAAM6K,QAAkB,IAARA,MACrF,IAAIoK,EAAyB7C,EAAKG,sBAAsBvP,KAAKhD,MAAM2P,MAAO3M,KAAKhD,MAAM6K,MAAOC,EAAQ9H,KAAKhD,MAAMqQ,WAAYrN,KAAKhD,MAAM4T,YAAavM,KAAKC,IAAI,EAAGtE,KAAKhD,MAAM8S,SAAUzL,KAAKC,IAAI,EAAGtE,KAAKhD,MAAM+S,SAAU1L,KAAKsN,IAAI3R,KAAKhD,MAAMgT,UAAWhQ,KAAKhD,MAAMqQ,YAAahJ,KAAKsN,IAAI3R,KAAKhD,MAAMiT,WAAYjQ,KAAKhD,MAAM4T,aAAc5Q,KAAKhD,MAAM0T,YAAa1Q,KAAKhD,MAAM2T,aACtWb,EAAUmC,EAAuBnC,QACjCC,EAAUkC,EAAuBlC,QACjCC,EAAYiC,EAAuBjC,UACnCC,EAAagC,EAAuBhC,WACtCtE,EAAMyD,EAAKc,cAAclQ,KAAKhD,MAAM+T,UAAWzT,EAAM0C,KAAKhD,MAAM6K,MAAOC,EAAQ9H,KAAKhD,MAAM2O,IAAKmE,EAASC,EAASC,EAAWC,GAAY,GACxI2B,EAAQxC,EAAKc,cAAclQ,KAAKhD,MAAM+T,UAAWzT,EAAyB,EAAnB0C,KAAKhD,MAAM6K,MAAoB,EAATC,EAAY9H,KAAKhD,MAAM2O,IAAKmE,EAASC,EAASC,EAAWC,GAAY,GAClJ4B,EAAUzC,EAAKc,cAAclQ,KAAKhD,MAAM+T,UAAWzT,EAAM0C,KAAKhD,MAAM6K,MAAOC,EAAQ9H,KAAKhD,MAAM2O,IAAKmE,EAASC,EAASC,EAAWC,GAAY,GACxIjQ,KAAKhD,MAAMkV,OAASlS,KAAKhD,MAAMkV,MAAMrS,SACvCiS,EAAS9R,KAAKhD,MAAMkV,MAAMC,QAAO,SAAUC,EAAMC,EAAK1S,GACpD,OAAOA,EAAI,EAAIyS,EAAO,KAAOhD,EAAKc,cAAc/M,EAAMnG,MAAM+T,UAAWzT,EAAM+U,EAAKjD,EAAKC,WAAWlM,EAAMnG,MAAM2P,MAAO0F,GAAMlP,EAAMnG,MAAM2O,KAAO,IAAM0G,EAAM,KAAOjD,EAAKc,cAAc/M,EAAMnG,MAAM+T,UAAWzT,EAAM8U,EAAMhD,EAAKC,WAAWlM,EAAMnG,MAAM2P,MAAOyF,GAAOjP,EAAMnG,MAAM2O,KAAO,IAAMyG,EAAO,OAAShD,EAAKc,cAAc/M,EAAMnG,MAAM+T,UAAWzT,EAAM+U,EAAKjD,EAAKC,WAAWlM,EAAMnG,MAAM2P,MAAO0F,GAAMlP,EAAMnG,MAAM2O,KAAO,IAAM0G,EAAM,SAI7a,OAAoBxV,EAAgB,QAAEI,cAAc,UAAW,KAAmBJ,EAAgB,QAAEI,cAAc,SAAU,CAC1HC,KAAM,aACNoV,OAAQT,IACOhV,EAAgB,QAAEI,cAAc,SAAU,CACzDC,KAAM,aACNoV,OAAQV,EAAQ,UACD/U,EAAgB,QAAEI,cAAc,MAAO,CACtDqK,UAAWtH,KAAKhD,MAAMsK,UACtBpB,QAASlG,KAAKhD,MAAMwT,KAAO,OAAS,OACpC7E,IAAKA,EACL9D,MAAO7H,KAAKhD,MAAM6K,MAClBC,OAAQA,EACRwK,OAAQR,EACRlG,IAAK5L,KAAKhD,MAAM4O,WAIf6E,EAxEgB,CAyEvB5T,EAAOmM,WACThN,EAAiB,QAAIyU,EACrB,IAAItC,EAAwB,SAAUoE,GACpCzP,EAAUqL,EAAUoE,GACpB,IAAIC,EAAUlR,EAAa6M,GAC3B,SAASA,IAEP,OADA9K,EAAgBrD,KAAMmO,GACfqE,EAAQzS,MAAMC,KAAMJ,WAkD7B,OAhDAwO,EAAaD,EAAU,CAAC,CACtB1P,IAAK,SACLxC,MAAO,WACL,IACI0P,EACA7D,EAFA2K,EAASzS,KAGT1C,EAAO0C,KAAKhD,MAAM4O,IAAMyC,EAAOrO,KAAKhD,MAAM4O,KAAO,GACjDkG,OAASnR,EACb,GAAyB,WAArBX,KAAKhD,MAAM2P,MACbhB,EAAM3L,KAAKhD,MAAM+U,gBAAkB,IAAM/R,KAAKhD,MAAM6K,MAAQ,WAAa7H,KAAKhD,MAAM2O,IACpF7D,EAAS9H,KAAKhD,MAAM6K,OAChB7H,KAAKhD,MAAMgT,WAAahQ,KAAKhD,MAAMiT,cACrCtE,GAAO,0BAA0BxO,OAAO6C,KAAKhD,MAAM8S,QAAS,KAAK3S,OAAO6C,KAAKhD,MAAM+S,QAAS,YAAY5S,OAAO6C,KAAKhD,MAAMgT,UAAW,KAAK7S,OAAO6C,KAAKhD,MAAMiT,aAE9JtE,GAAOkD,IAAe,aAAe,QAChC,GAAyB,SAArB7O,KAAKhD,MAAM2P,MACpBhB,EAAM3L,KAAKhD,MAAMgV,cAAgB,IAAMhS,KAAKhD,MAAM6K,MAAQ,WAAa7H,KAAKhD,MAAM2O,IAClF7D,EAASzD,KAAKuK,KAAwB,EAAnB5O,KAAKhD,MAAM6K,MAAY,KACtC7H,KAAKhD,MAAMgT,WAAahQ,KAAKhD,MAAMiT,cACrCtE,GAAO,0BAA0BxO,OAAO6C,KAAKhD,MAAM8S,QAAS,KAAK3S,OAAO6C,KAAKhD,MAAM+S,QAAS,YAAY5S,OAAO6C,KAAKhD,MAAMgT,UAAW,KAAK7S,OAAO6C,KAAKhD,MAAMiT,aAE9JtE,GAAOkD,IAAe,aAAe,OAChC,CACL,IAAIO,EAAO,IAAInB,EACfnG,EAAS9H,KAAKhD,MAAM8K,QAAUsH,EAAKC,WAAWrP,KAAKhD,MAAM2P,MAAO3M,KAAKhD,MAAM6K,QAA6B,IAAnB7H,KAAKhD,MAAM6K,MAChG,IAAI6K,EAAyBtD,EAAKG,sBAAsBvP,KAAKhD,MAAM2P,MAAO3M,KAAKhD,MAAM6K,MAAOC,EAAQ9H,KAAKhD,MAAMqQ,WAAYrN,KAAKhD,MAAM4T,YAAavM,KAAKC,IAAI,EAAGtE,KAAKhD,MAAM8S,SAAUzL,KAAKC,IAAI,EAAGtE,KAAKhD,MAAM+S,SAAU1L,KAAKsN,IAAI3R,KAAKhD,MAAMgT,UAAWhQ,KAAKhD,MAAMqQ,YAAahJ,KAAKsN,IAAI3R,KAAKhD,MAAMiT,WAAYjQ,KAAKhD,MAAM4T,aAAc5Q,KAAKhD,MAAM0T,YAAa1Q,KAAKhD,MAAM2T,aACtWb,EAAU4C,EAAuB5C,QACjCC,EAAU2C,EAAuB3C,QACjCC,EAAY0C,EAAuB1C,UACnCC,EAAayC,EAAuBzC,WACtCtE,EAAMyD,EAAKc,cAAclQ,KAAKhD,MAAM+T,UAAWzT,EAAM0C,KAAKhD,MAAM6K,MAAOC,EAAQ9H,KAAKhD,MAAM2O,IAAKmE,EAASC,EAASC,EAAWC,EAAYpB,KACpI7O,KAAKhD,MAAMkV,OAASlS,KAAKhD,MAAMkV,MAAMrS,SACvCiS,EAAS9R,KAAKhD,MAAMkV,MAAMC,QAAO,SAAUC,EAAMC,EAAK1S,GACpD,OAAOA,EAAI,EAAIyS,EAAO,KAAOhD,EAAKc,cAAcuC,EAAOzV,MAAM+T,UAAWzT,EAAM+U,EAAKjD,EAAKC,WAAWoD,EAAOzV,MAAM2P,MAAO0F,GAAMI,EAAOzV,MAAM2O,KAAO,IAAM0G,EAAM,KAAOjD,EAAKc,cAAcuC,EAAOzV,MAAM+T,UAAWzT,EAAM8U,EAAMhD,EAAKC,WAAWoD,EAAOzV,MAAM2P,MAAOyF,GAAOK,EAAOzV,MAAM2O,KAAO,IAAMyG,EAAO,OAAShD,EAAKc,cAAcuC,EAAOzV,MAAM+T,UAAWsB,EAAKjD,EAAKC,WAAWoD,EAAOzV,MAAM2P,MAAO0F,GAAMI,EAAOzV,MAAM2O,KAAO,IAAM0G,EAAM,SAIhb,OAAoBxV,EAAgB,QAAEI,cAAc,UAAW,CAC7D4T,OAAQ7Q,KAAKhD,MAAM6T,OAAS7Q,KAAKhD,MAAM6T,OAAS,aAChDvJ,UAAWtH,KAAKhD,MAAMsK,UACtBqE,IAAKA,EACL9D,MAAO7H,KAAKhD,MAAM6K,MAClBC,OAAQA,EACRwK,OAAQR,EACRlG,IAAK5L,KAAKhD,MAAM4O,UAIfuC,EAvDmB,CAwD1BtR,EAAOmM,WACThN,EAAQmS,SAAWA,EACnBsC,EAAMxH,UAAY,CAChB0C,IAAK5M,EAAoB,QAAEuK,OAAOH,WAClCtB,MAAO9I,EAAoB,QAAEqK,OAAOD,WACpCrB,OAAQ/I,EAAoB,QAAEqK,OAC9B0G,QAAS/Q,EAAoB,QAAEqK,OAC/B2G,QAAShR,EAAoB,QAAEqK,OAC/B4G,UAAWjR,EAAoB,QAAEqK,OACjC6G,WAAYlR,EAAoB,QAAEqK,OAClCsH,YAAa3R,EAAoB,QAAEqK,OACnCuH,YAAa5R,EAAoB,QAAEqK,OACnCiE,WAAYtO,EAAoB,QAAEqK,OAClCwH,YAAa7R,EAAoB,QAAEqK,OACnC8I,MAAOnT,EAAoB,QAAE4T,MAC7BhG,MAAO5N,EAAoB,QAAEuK,OAC7ByH,UAAWhS,EAAoB,QAAEuK,OACjCyI,gBAAiBhT,EAAoB,QAAEuK,OACvC0I,cAAejT,EAAoB,QAAEuK,QAEvCmH,EAAMjH,aAAe,CACnB1B,OAAQ,EACRgI,QAAS,EACTC,QAAS,EACTC,UAAW,EACXC,WAAY,EACZS,YAAa,EACbC,YAAa,EACbuB,MAAO,GACPvF,MAAO,WACPoE,UAAW,sCACXgB,gBAAiB,sCACjBC,cAAe,qCAEjB7D,EAASlF,UAAY,CACnB0C,IAAK5M,EAAoB,QAAEuK,OAAOH,WAClCtB,MAAO9I,EAAoB,QAAEqK,OAAOD,WACpCrB,OAAQ/I,EAAoB,QAAEqK,OAC9B0G,QAAS/Q,EAAoB,QAAEqK,OAC/B2G,QAAShR,EAAoB,QAAEqK,OAC/B4G,UAAWjR,EAAoB,QAAEqK,OACjC6G,WAAYlR,EAAoB,QAAEqK,OAClCsH,YAAa3R,EAAoB,QAAEqK,OACnCuH,YAAa5R,EAAoB,QAAEqK,OACnCiE,WAAYtO,EAAoB,QAAEqK,OAClCwH,YAAa7R,EAAoB,QAAEqK,OACnC8I,MAAOnT,EAAoB,QAAE4T,MAC7BhG,MAAO5N,EAAoB,QAAEuK,OAC7ByH,UAAWhS,EAAoB,QAAEuK,OACjCyI,gBAAiBhT,EAAoB,QAAEuK,OACvC0I,cAAejT,EAAoB,QAAEuK,QAEvC6E,EAAS3E,aAAe,CACtB1B,OAAQ,EACRgI,QAAS,EACTC,QAAS,EACTC,UAAW,EACXC,WAAY,EACZS,YAAa,EACbC,YAAa,EACbuB,MAAO,GACPvF,MAAO,WACPoE,UAAW,sCACXgB,gBAAiB,sCACjBC,cAAe","file":"static/js/1.27b56dd9.chunk.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nObject.defineProperty(exports, \"ArticleFeaturedImage\", {\n  enumerable: true,\n  get: function get() {\n    return _ArticleFeaturedImage[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"ArticleImage\", {\n  enumerable: true,\n  get: function get() {\n    return _ArticleImage[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"ArticleMeta\", {\n  enumerable: true,\n  get: function get() {\n    return _ArticleMeta[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"Articles\", {\n  enumerable: true,\n  get: function get() {\n    return _Articles[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"HomePageMeta\", {\n  enumerable: true,\n  get: function get() {\n    return _HomePageMeta[\"default\"];\n  }\n});\nObject.defineProperty(exports, \"SectionMeta\", {\n  enumerable: true,\n  get: function get() {\n    return _SectionMeta[\"default\"];\n  }\n});\nvar _ArticleFeaturedImage = _interopRequireDefault(require(\"./src/ArticleFeaturedImage\"));\nvar _ArticleImage = _interopRequireDefault(require(\"./src/ArticleImage\"));\nvar _ArticleMeta = _interopRequireDefault(require(\"./src/ArticleMeta\"));\nvar _Articles = _interopRequireDefault(require(\"./src/Articles\"));\nvar _HomePageMeta = _interopRequireDefault(require(\"./src/HomePageMeta\"));\nvar _SectionMeta = _interopRequireDefault(require(\"./src/SectionMeta\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactHelmet = _interopRequireDefault(require(\"react-helmet\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar HomePageMeta = function HomePageMeta(props) {\n  var schema = {\n    '@context': 'https://schema.org',\n    '@graph': [{\n      '@type': 'WebPage',\n      name: process.env.RAZZLE_SITE_TITLE,\n      alternateName: process.env.RAZZLE_TITLE_KEY,\n      url: process.env.RAZZLE_SITE_URL,\n      description: process.env.RAZZLE_SITE_DESCRIPTION\n    }, {\n      '@type': 'NewsMediaOrganization',\n      name: process.env.RAZZLE_SITE_TITLE,\n      alternateName: process.env.RAZZLE_TITLE_KEY,\n      url: process.env.RAZZLE_SITE_URL,\n      logo: process.env.RAZZLE_SITE_URL + '/logo.jpg',\n      sameAs: [process.env.RAZZLE_SITE_FACEBOOK, process.env.RAZZLE_SITE_TWITTER, process.env.RAZZLE_SITE_INSTAGRAM]\n    }]\n  };\n  return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmet[\"default\"], null, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n    type: \"application/ld+json\"\n  }, \"\".concat(JSON.stringify(schema))));\n};\nvar _default = HomePageMeta;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = exports.Articles = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _ionSections = require(\"ion-sections\");\nvar _qs = _interopRequireDefault(require(\"qs\"));\nvar _reactHelmet = _interopRequireDefault(require(\"react-helmet\"));\nvar _ionArticle = _interopRequireDefault(require(\"ion-article\"));\nvar _ionIcon = require(\"ion-icon\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar Articles = /*#__PURE__*/function (_Component) {\n  _inherits(Articles, _Component);\n  var _super = _createSuper(Articles);\n  function Articles(props) {\n    var _this;\n    _classCallCheck(this, Articles);\n    _this = _super.call(this);\n    _this.page = 0;\n    _this.windowWidth = 0;\n    _this.handleViewMore = _this.handleViewMore.bind(_assertThisInitialized(_this));\n\n    // Fetch the first time this component is mounted\n    var data = props.articles && props.section in props.articles ? props.articles[props.section] : false;\n    var lastFetch = new Date(data ? data.lastFetch || 0 : 0);\n    var now = new Date();\n    var params = props.location ? _qs[\"default\"].parse(props.location.search, {\n      ignoreQueryPrefix: true\n    }) : {\n      page: 0\n    };\n    var startIndex = Math.max((props.index || 0) - 1, 0);\n    _this.page = params.page || 1;\n    var startPage = Math.max(_this.page - 1, 1);\n    if (props.withMore && _this.page > 1) {\n      var page0Limit = props.page0Limit || props.pageSize;\n      // console.log('componentWillMount(1)', props.section, startIndex, pageSize)\n      props.fetchArticles(props.section, page0Limit + (startPage - 1) * props.pageSize, props.pageSize, props.filter);\n    } else if (!data || !data.articles || data.lastFetch && now - lastFetch > 60000 * 15 || data.articles.length < props.pageSize) {\n      var pageSize = Math.max(props.pageSize || 0, props.count || 0);\n      // console.log('componentWillMount', 'section:', props.section, 'data:', data)\n      props.fetchArticles(props.section, 0, startIndex + pageSize, props.filter);\n    }\n    return _this;\n  }\n  _createClass(Articles, [{\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var data = this.props.articles && this.props.section in this.props.articles ? this.props.articles[this.props.section] : false;\n      // Re-fetch articles when the section changes\n      var startIndex = Math.max((this.props.index || 0) - 1, 0);\n      if (prevProps.section !== this.props.section) {\n        var pageSize = Math.max(this.props.pageSize || 0, this.props.count || 0);\n        if (!data || data.articles.length < this.props.pageSize) {\n          console.log('componentDidUpdate(1)', this.props.section, startIndex, pageSize);\n          this.props.fetchArticles(this.props.section, 0, startIndex + pageSize, this.props.filter);\n        }\n      }\n    }\n  }, {\n    key: \"shouldComponentUpdate\",\n    value: function shouldComponentUpdate(nextProps, nextState) {\n      if (nextProps.section === this.props.section && nextProps.withReadCount === this.props.withReadCount && nextProps.extraState === this.props.extraState) {\n        var section = nextProps.section;\n        var data = this.props.articles && section in this.props.articles ? this.props.articles[section] : false;\n        var newdata = nextProps.articles && section in nextProps.articles ? nextProps.articles[section] : false;\n        if (JSON.stringify(data) === JSON.stringify(newdata)) {\n          return false;\n        }\n      }\n      return true;\n    }\n  }, {\n    key: \"handleViewMore\",\n    value: function handleViewMore() {\n      var initialArticles = Math.max(this.props.index - 1, 0) + this.props.count;\n      var alreadyFetchedArticles = Math.max(this.page - 1, 0) * this.props.pageSize;\n      this.props.fetchMoreArticles(this.props.section, initialArticles + alreadyFetchedArticles, this.props.pageSize);\n      this.page++;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var sectionProps = {\n        hasError: false\n      };\n      var moreButtonColour = this.props.moreButtonColour ? ' ' + this.props.moreButtonColour : '';\n      if (this.props.articles && this.props.articles[this.props.section]) {\n        sectionProps = this.props.articles[this.props.section];\n      }\n      if (sectionProps.hasError) {\n        if (this.props.isConnected) {\n          if (sectionProps.is404) {\n            if (this.props.notFound) {\n              return /*#__PURE__*/_react[\"default\"].createElement(this.props.notFound, this.props);\n            }\n            return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"No articles found and no \", /*#__PURE__*/_react[\"default\"].createElement(\"i\", null, \"notFound\"), \" property specified\");\n          }\n          // TODO: Use a template to allow site / section specific formatting and wording.\n          return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(\"h1\", null, \"ERROR\"), /*#__PURE__*/_react[\"default\"].createElement(\"pre\", null, sectionProps.error));\n        }\n        // TODO: Use a template to allow site / section specific formatting and wording.\n        return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(\"h2\", null, \"Offline\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"This section is not currently available in your cache. Please go back online and we'll fetch the latest in this section\"));\n      }\n      var Loading = this.props.loading || function (_ref) {\n        var section = _ref.section;\n        return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Loading \", section, \"...\");\n      };\n      if (!this.props.withMore && sectionProps.isFetching) {\n        return /*#__PURE__*/_react[\"default\"].createElement(Loading, {\n          section: (0, _ionSections.getSectionLabel)(this.props.section)\n        });\n      } else if (sectionProps.hasFetched || sectionProps.isFetching) {\n        if (sectionProps.articles && sectionProps.articles.length < this.props.pageSize && this.props.withMore && this.props.hasMore) {\n          // The TVBox should render the skeleton until the section articles are fetched.\n          return /*#__PURE__*/_react[\"default\"].createElement(Loading, {\n            section: (0, _ionSections.getSectionLabel)(this.props.section)\n          });\n        }\n        var data = sectionProps;\n        if (data && data.articles && data.articles.length) {\n          var pageNumber = parseInt(this.page, 10);\n          var nextHref = this.props.match ? this.props.match.url + '?page=' + (pageNumber + 1) : '';\n          var prevHref = this.props.match ? this.props.match.url + '?page=' + (pageNumber - 1) : '';\n          var boundedIndex = Math.max((this.props.index || 1) - 1, 0);\n          var index = boundedIndex;\n          var count = this.props.count || this.props.pageSize;\n          var articles = this.props.withMore ? data.articles.map(function (article) {\n            return new _ionArticle[\"default\"](article);\n          }) : data.articles.slice(0, this.props.pageSize).map(function (article) {\n            return new _ionArticle[\"default\"](article);\n          });\n          var MoreButton = false;\n          if (this.props.withMore && data.hasMore) {\n            if (this.props.isConnected) {\n              if (this.props.moreButton) {\n                MoreButton = /*#__PURE__*/_react[\"default\"].createElement(this.props.moreButton, {\n                  loading: sectionProps.isFetching,\n                  onClick: this.handleViewMore,\n                  sectionProps: sectionProps,\n                  nextHref: nextHref,\n                  pageNumber: pageNumber,\n                  prevHref: pageNumber > 1 ? prevHref : false,\n                  canonical: process.env.RAZZLE_SITE_URL + this.props.location.pathname,\n                  moreButtonColour: moreButtonColour\n                });\n              } else {\n                MoreButton = /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n                  id: \"buttonContainer\",\n                  className: \"more-from-btn noScript small-12 medium-12\"\n                }, typeof window !== 'undefined' && /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].Fragment, null, /*#__PURE__*/_react[\"default\"].createElement(\"button\", {\n                  className: 'btn' + moreButtonColour,\n                  id: \"viewMoreButton\",\n                  onClick: this.handleViewMore\n                }, \" View More\")), typeof window === 'undefined' && /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n                  id: \"viewMoreButtonNoScript\",\n                  href: nextHref\n                }, /*#__PURE__*/_react[\"default\"].createElement(\"button\", null, \"View More\")), /*#__PURE__*/_react[\"default\"].createElement(_reactHelmet[\"default\"], null, /*#__PURE__*/_react[\"default\"].createElement(\"link\", {\n                  rel: \"canonical\",\n                  itemprop: \"url\",\n                  href: process.env.RAZZLE_SITE_URL + this.props.location.pathname\n                }), /*#__PURE__*/_react[\"default\"].createElement(\"link\", {\n                  rel: \"next\",\n                  href: nextHref\n                }), pageNumber > 1 && /*#__PURE__*/_react[\"default\"].createElement(\"link\", {\n                  rel: \"prev\",\n                  href: prevHref\n                })));\n              }\n            } else {\n              MoreButton = /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n                id: \"buttonContainer\",\n                className: \"offline\"\n              }, /*#__PURE__*/_react[\"default\"].createElement(\"p\", null, /*#__PURE__*/_react[\"default\"].createElement(_ionIcon.Warn, {\n                width: \"24\",\n                height: \"24\"\n              }), \"You are currently offline. To see more articles, please re-establish your internet connection.\"));\n            }\n          }\n          var ArticlesTemplate = this.props.component || function (_ref2) {\n            var articles = _ref2.articles;\n            return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", null, articles.map(function (article) {\n              return /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n                key: article.contentKey\n              }, article.headline);\n            }));\n          };\n          var sectionLabel = this.props.sectionLabel;\n          if (!sectionLabel) {\n            if (data.sectionLabel) {\n              sectionLabel = data.sectionLabel;\n            } else if (data.sectionsLabels && data.sectionsLabels.length) {\n              sectionLabel = data.sectionsLabels[0].label;\n            }\n          }\n          if (this.props.noDiv) {\n            return /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].Fragment, null, /*#__PURE__*/_react[\"default\"].createElement(ArticlesTemplate, _extends({}, this.props, {\n              articles: articles.slice(index, this.props.withMore ? articles.length : index + count),\n              section: this.props.section,\n              noImage: this.props.noImage,\n              authorName: data.authorName,\n              sectionLabel: sectionLabel,\n              sectionsLabels: data.sectionsLabels,\n              moreButton: MoreButton,\n              relatedSections: this.props.relatedSections\n            })), this.props.children);\n          }\n          return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n            className: this.props.className\n          }, /*#__PURE__*/_react[\"default\"].createElement(ArticlesTemplate, _extends({}, this.props, {\n            articles: articles.slice(index, this.props.withMore ? articles.length : index + count),\n            section: this.props.section,\n            noImage: this.props.noImage,\n            authorName: data.authorName,\n            sectionLabel: sectionLabel,\n            sectionsLabels: data.sectionsLabels,\n            moreButton: MoreButton,\n            relatedSections: this.props.relatedSections\n          })), this.props.children);\n        } else {\n          if (!sectionProps.isFetching) {\n            // console.debug('No data', sectionProps.isFetching)\n            if (this.props.notFound) {\n              return /*#__PURE__*/_react[\"default\"].createElement(this.props.notFound, this.props);\n            }\n            return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"No articles found and no \", /*#__PURE__*/_react[\"default\"].createElement(\"i\", null, \"notFound\"), \" property specified\");\n          }\n          var _Loading = this.props.loading || function (_ref3) {\n            var section = _ref3.section;\n            return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n              className: \"wrapper\"\n            }, \"Loading \", section, \"...\");\n          };\n          return /*#__PURE__*/_react[\"default\"].createElement(_Loading, {\n            section: (0, _ionSections.getSectionLabel)(this.props.section)\n          });\n        }\n      } else {\n        var _Loading2 = this.props.loading || function (_ref4) {\n          var section = _ref4.section;\n          return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n            className: \"wrapper\"\n          }, \"Loading \", section, \"...\");\n        };\n        return /*#__PURE__*/_react[\"default\"].createElement(_Loading2, {\n          section: (0, _ionSections.getSectionLabel)(this.props.section)\n        });\n      }\n    }\n  }]);\n  return Articles;\n}(_react.Component);\nexports.Articles = Articles;\nArticles.propTypes = {\n  fetchArticles: _propTypes[\"default\"].func.isRequired,\n  fetchMoreArticles: _propTypes[\"default\"].func.isRequired,\n  pageSize: _propTypes[\"default\"].number,\n  withMore: _propTypes[\"default\"].bool.isRequired,\n  noImage: _propTypes[\"default\"].string.isRequired,\n  section: _propTypes[\"default\"].string.isRequired,\n  articles: _propTypes[\"default\"].object.isRequired\n};\nArticles.defaultProps = {\n  index: 0,\n  skip: 0,\n  pageSize: 16,\n  withMore: false,\n  section: 'news',\n  className: 'article-list'\n  // articles: {}\n};\nvar _default = Articles;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactHelmet = _interopRequireDefault(require(\"react-helmet\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar ArticleMeta = function ArticleMeta(_ref) {\n  var article = _ref.article,\n    canonical = _ref.canonical,\n    logo = _ref.logo;\n  var imageList;\n  var images = [];\n  if (article.images) {\n    article.images.map(function (image) {\n      return images.push({\n        '@type': 'ImageObject',\n        url: image.url,\n        width: image.width,\n        height: image.height\n      });\n    });\n  }\n  if (article.inArticleSchema && article.inArticleSchema.images) {\n    article.inArticleSchema.images.map(function (image) {\n      return images.push({\n        '@type': 'ImageObject',\n        url: image.url,\n        width: image.width,\n        height: image.height\n      });\n    });\n  }\n  if (images.length > 1) {\n    imageList = [];\n    imageList.push({\n      '@list': images\n    });\n  } else {\n    imageList = images;\n  }\n  var schema = {\n    '@context': 'http://schema.org',\n    '@type': 'NewsArticle',\n    mainEntityOfPage: {\n      '@type': 'WebPage',\n      '@id': process.env.RAZZLE_SITE_URL + (canonical || '/' + article.getCanonicalUri())\n    },\n    headline: article.headline,\n    description: article[\"abstract\"],\n    image: imageList,\n    author: {\n      '@type': 'Person',\n      name: article.author,\n      url: process.env.RAZZLE_SITE_URL + (canonical || '/' + article.getCanonicalUri())\n    },\n    publisher: {\n      '@type': 'Organization',\n      name: process.env.RAZZLE_SITE_TITLE,\n      logo: {\n        '@type': 'ImageObject',\n        url: process.env.RAZZLE_SITE_URL + (logo || '/logo.jpg'),\n        width: '60',\n        height: '60'\n      }\n    },\n    datePublished: article.published,\n    dateModified: article.modified || article.published\n  };\n  if (article.videos) {\n    var video = article.videos[0];\n    if (video && video.url && video.script && /\\.mp4$/.test(video.url)) {\n      schema.video = {\n        '@type': 'VideoObject',\n        name: process.env.RAZZLE_SITE_TITLE,\n        description: video.caption || '',\n        thumbnailUrl: video.thumbnailURL || '',\n        uploadDate: article.published,\n        duration: video.duration || '',\n        contentUrl: video.url\n      };\n    }\n  }\n  return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmet[\"default\"], null, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n    type: \"application/ld+json\"\n  }, \"\".concat(JSON.stringify(schema))));\n};\nvar _default = ArticleMeta;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactHelmet = _interopRequireDefault(require(\"react-helmet\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar SectionMeta = function SectionMeta(props) {\n  var schema = {\n    '@context': 'http://schema.org',\n    '@type': 'WebPage',\n    name: process.env.RAZZLE_SITE_TITLE,\n    alternateName: process.env.RAZZLE_TITLE_KEY,\n    url: process.env.RAZZLE_SITE_URL + props.location.pathname,\n    description: props.description\n  };\n  return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmet[\"default\"], null, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n    type: \"application/ld+json\"\n  }, \"\".concat(JSON.stringify(schema))));\n};\nvar _default = SectionMeta;\nexports[\"default\"] = _default;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAMAAABF6+6qAAAAM1BMVEXz9Pa5vsrp6+/Q09vBxdDl5+vw8fS+ws66wMvi5enS1t3HzNXa3ePt7vHe4ebLz9jV2N8T7rePAAAEfklEQVR42uzBgQAAAACAoP2pF6kCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGD27m7HTRgIoLCHAHGG3/d/2q7SrSZtTRZs7ZJ4zncLEhcc2WAZAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4R924Xn6ejl0fUK1+bOUsV50C6tS1cqY4B9RolrNpQH3O70pkDajNFOUF3AIqs8graAPq0shr4AG+Mqu8hiGgKoPNRpefZ1ePAVWJ8mkJZ7ABswmoifzRhTP0D9dHRfrjI0ZVYeMTYeEtEBbuCAtvgbBwR1h4C8/D6rvbrZvC3wgLRWE1ayt3rT4eIyyUhDUt8mCZ7AhhIT+sOW5uHyYsZIc1PtnkSVjIDWuUhDH8RljIDKuL8i+79YSF3LBaSWr78IGwkBnWLCYxGRIW8sIann/xQFjICquRBDuHsJAX1ijydC4kLGSFpbLpEnbrVsLyLBHWIpuW/V1FUcJy7FhYw4GuRJSw/PqGEctWWJWw3Dr2jKX7u7pTwvIqEdZc+lZ4i1YiYTmVCGuSTdPOrowSlk+HVt6H3V0ZJSyXUmHdZMO8vyujhOVRIqzNIWs40pVRwnIoGVYTJSE2h7oySlj+JMNKT4bzwa6MEpY76bDCHDO7SlPC8iYRVvKfAm2X0ZVRwnJmK6zQrw+ZxLXP6sooYfnyX1imn5erfLguYx8yuzJKWK4kwzL91EzBHO/KKGF5shWWKezKKGE5UhqWdfU1JSw/CsOyrvZQwnKjLCzrah8lLC+KwrKu9lLCciIjrIyujBKWDxlh5XRllLBcyAgrqyujhOXB7rCasawro4TlwN6wmquMZV0ZJaz6fRWWdSUylnVllLCq94u9e8tNGIaiKBqXFCg4lPmPtjItMlLvV6zm4a41hq2rI/84CCvuqshtXVUXYfUuCivuqshtXVUXYXUuDCvuqshNXVUnYXUuCCvoqsqvXQmLWWHVrqpcuxIWM8OqXVX52ZWwmB1W7arK310Ji1lhxV0VuXQlLGaEVbuKHM5JWMwJq3YVExbzw6pdCYvGsOKuhEVjWHFXwqIxrLgrYdEYVtyVsGgMK+5KWDSGFXclLBrDirsSFo1hxV0Ji8aw4q6ERXtY1/SLsBAWWyAsCmGxD8KiEBb7ICwKYbEPwqIQFvsgLAphsQ/ColgirMO4AGF17jWsP+IX+/9IWDwIi10QFg/CYheExYOw2If0dBvW8PYSNj0Z04/Tx3FY3PuYnqaBnnymbRgHunJL23AZ6MrxlDbBxOpNTltwGOjNNa3vZLr3ZxrT2s4esXo0rX2zRgOrU/dzWtHhONCpY76u1NZ4d646N70tb3KsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCrPTgkAAAAABD0/7UrbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvwBQ1zWzb+cicAAAAABJRU5ErkJggg==\"","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar ArticleImage = function ArticleImage(_ref) {\n  var image = _ref.image,\n    href = _ref.href,\n    altText = _ref.altText,\n    imageCaption = _ref.imageCaption,\n    imageCredit = _ref.imageCredit,\n    imageClass = _ref.imageClass;\n  return /*#__PURE__*/_react[\"default\"].createElement(\"figure\", {\n    itemProp: \"image\",\n    itemScope: true,\n    itemType: \"https://schema.org/ImageObject\"\n  }, /*#__PURE__*/_react[\"default\"].createElement(\"meta\", {\n    itemProp: \"url\",\n    content: image.url\n  }), /*#__PURE__*/_react[\"default\"].createElement(\"meta\", {\n    itemProp: \"width\",\n    content: image.width\n  }), /*#__PURE__*/_react[\"default\"].createElement(\"meta\", {\n    itemProp: \"height\",\n    content: image.height\n  }), /*#__PURE__*/_react[\"default\"].createElement(\"img\", {\n    className: imageClass,\n    src: href,\n    alt: altText || imageCaption,\n    title: imageCaption\n  }), imageCaption && /*#__PURE__*/_react[\"default\"].createElement(\"figcaption\", null, /*#__PURE__*/_react[\"default\"].createElement(\"span\", {\n    className: \"imageCaption\"\n  }, imageCaption), imageCredit && /*#__PURE__*/_react[\"default\"].createElement(\"span\", {\n    className: \"imageCredit\"\n  }, \"Credit: \", imageCredit)));\n};\nvar _default = ArticleImage;\nexports[\"default\"] = _default;","import React, { Component } from 'react'\nimport { Link } from 'react-router-dom'\nimport { PlayBtn, View, TimeClock } from 'ion-icon'\nimport { ImageOrNoImage } from 'ion-image'\n// import { emitter } from '@marvelapp/react-ab-test'\n\nfunction kFormatter (num) {\n  return Math.abs(num) > 999 ? Math.sign(num) * ((Math.abs(num) / 1000).toFixed(1)) + 'k' : Math.sign(num) * Math.abs(num)\n}\n\nclass ArticleCard extends Component {\n  render () {\n    const article = this.props.article\n    const showAbstract = this.props.showAbstract\n    const showPlayBtn = this.props.showPlayBtn\n    const noImage = this.props.noImage\n    const width = this.props.width\n    const withMinRead = this.props.withMinRead\n    const readTime = withMinRead ? ' | ' + (article.wordCount / 150).toFixed(0) + ' min read' : ''\n\n    const tempSectionLabel = article.sectionLabel.split('/').length > 1 ? article.sectionLabel.split('/')[1] : article.sectionLabel.split('/')[0]\n    const sectionLabel = tempSectionLabel.toUpperCase().replace('-', ' ')\n    return (\n      <article key={article.contentKey} aria-label='article'>\n        <Link to={'/' + article.getCanonicalUri()}>\n          {(showPlayBtn && <div className='play-btn'><PlayBtn width='48' height='48' /></div>)}\n          <ImageOrNoImage image={article.image} width={width} alt={article.headline} shape='16x9' noImage={noImage} />\n        </Link>\n        <div className='content'>\n          <small className='meta'>\n            <TimeClock width='12' height='12' /> {article.formatAgo(false)} | <Link className='category' to={'/' + article.getSectionId()}>{sectionLabel}</Link> {readTime}\n            {(this.props.withReadCount && (article.readCount > 200))\n              ? (\n                <span className='views'><View width='12' height='12' />{kFormatter(article.readCount)}</span>\n                )\n              : ''}\n          </small>\n          <Link to={'/' + article.getCanonicalUri()}>\n            <h3>{article.headline}</h3>\n            {(showAbstract && <p>{article.getAbstract()}</p>)}\n          </Link>\n          {(article.sponsoredIndicator === 'SPONSORED' || article.sponsoredIndicator === 'SPONSORED_EXPIRED') &&\n            <small className='sponsored'>Sponsored</small>}\n          {(article.sponsoredIndicator === 'NATIVE' || article.sponsoredIndicator === 'NATIVE_EXPIRED') &&\n            <small className='native'>Partnered</small>}\n        </div>\n      </article>\n    )\n  }\n}\n\nexport default ArticleCard\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _ionImage = require(\"ion-image\");\nvar _ionUtil = require(\"ion-util\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar ArticleFeaturedImage = function ArticleFeaturedImage(_ref) {\n  var article = _ref.article,\n    imageWidth = _ref.imageWidth,\n    metaImageObjectUrl = _ref.metaImageObjectUrl,\n    noImage = _ref.noImage;\n  if (!(0, _ionUtil.isEmpty)(article.videos) && !(0, _ionUtil.isEmpty)(article.youtubes)) {\n    return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n      className: \"article-carousel\"\n    }, article.videos.map(function (item, index) {\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        key: index\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        dangerouslySetInnerHTML: {\n          __html: item.script\n        }\n      }));\n    }), article.youtubes.map(function (youtube, index) {\n      return /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n        href: 'https://www.youtube.com/embed/' + youtube.id,\n        \"data-video\": \"true\",\n        \"data-caption\": youtube.caption,\n        \"data-img\": youtube.url,\n        key: youtube.id\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"img\", {\n        alt: youtube.caption,\n        src: youtube.url\n      }));\n    }));\n  } else if (!(0, _ionUtil.isEmpty)(article.videos)) {\n    var video = article.videos[0];\n    if (video && video.url && video.script && /\\.mp4$/.test(video.url)) {\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        id: \"featuredVideoContainer\",\n        dangerouslySetInnerHTML: {\n          __html: video.script\n        }\n      }));\n    } else {\n      console.warn('ArticleFeaturedImage tried to render an unsupported Video format', article.contentKey, article.videos);\n    }\n  }\n  if (article.images) {\n    return /*#__PURE__*/_react[\"default\"].createElement(_ionImage.ImageOrNoImage, {\n      key: article.contentKey,\n      image: article.images[0],\n      width: imageWidth,\n      alt: article.headline,\n      shape: \"16x9\",\n      noImage: noImage\n    });\n  } else {\n    return false;\n  }\n};\nvar _default = ArticleFeaturedImage;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = exports.calcNodeSrcUrl = exports.calcImageSrcUrl = exports.ImageOrNoImage = exports.ImageCalculator = exports.AmpImageOrNoImage = exports.AmpImage = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar urlify = require('urlify').create({\n  addEToUmlauts: true,\n  szToSs: true,\n  spaces: '-',\n  nonPrintable: '-',\n  trim: true\n});\nvar Cinema2K = 2.39;\nvar calcShapeHeight = function calcShapeHeight(shape, width) {\n  if (shape === '16x9') {\n    return Math.ceil(width * 9 / 16);\n  }\n  if (shape === 'Cinema2K') {\n    return Math.ceil(width * 1 / Cinema2K);\n  }\n  if (shape === 'square') {\n    return width;\n  }\n};\nfunction canUseWebP() {\n  if (typeof window !== 'undefined') {\n    var elem = document.createElement('canvas');\n    if (!!(elem.getContext && elem.getContext('2d'))) {\n      // was able or not to get WebP representation\n      return elem.toDataURL('image/webp').indexOf('data:image/webp') == 0;\n    }\n  }\n  // very old browser like IE 8, canvas not supported\n  return false;\n}\nvar calcImageSrcUrl = function calcImageSrcUrl(image, width, shape, useWebP) {\n  if (image && image.url) {\n    var calc = new ImageCalculator();\n    var height = calc.calcHeight(shape, width) || width * 100;\n    if (useWebP === undefined) {\n      useWebP = canUseWebP();\n    }\n    var _calc$getCropCoordsFo = calc.getCropCoordsForShape(shape, width, height, image.width, image.height, image.crop ? image.crop.x : 0, image.crop ? image.crop.y : 0, image.crop ? image.crop.w : 0, image.crop ? image.crop.h : 0, image.focalPoint ? image.focalPoint.x : 0, image.focalPoint ? image.focalPoint.y : 0),\n      offsetx = _calc$getCropCoordsFo.offsetx,\n      offsety = _calc$getCropCoordsFo.offsety,\n      cropWidth = _calc$getCropCoordsFo.cropWidth,\n      cropHeight = _calc$getCropCoordsFo.cropHeight;\n    return calc.buildImageUrl('', image.caption ? urlify(image.caption) : '', width, height, image.url, offsetx, offsety, cropWidth, cropHeight, useWebP);\n  } else {\n    return null;\n  }\n};\nexports.calcImageSrcUrl = calcImageSrcUrl;\nvar calcNodeSrcUrl = function calcNodeSrcUrl(image, width, shape) {\n  //  eslint-disable-next-line valid-typeof\n  if (typeof image === 'Element') {\n    // Do some stuff\n  } else if (image && image.url) {\n    var calc = new ImageCalculator();\n    var height = calc.calcHeight(shape, width) || width * 100;\n    var _calc$getCropCoordsFo2 = calc.getCropCoordsForShape(shape, width, height, image.width, image.height, image.crop ? image.crop.x : 0, image.crop ? image.crop.y : 0, image.crop ? image.crop.w : 0, image.crop ? image.crop.h : 0, image.focalPoint ? image.focalPoint.x : 0, image.focalPoint ? image.focalPoint.y : 0),\n      offsetx = _calc$getCropCoordsFo2.offsetx,\n      offsety = _calc$getCropCoordsFo2.offsety,\n      cropWidth = _calc$getCropCoordsFo2.cropWidth,\n      cropHeight = _calc$getCropCoordsFo2.cropHeight;\n    var src = calc.buildImageUrl('', image.caption ? urlify(image.caption) : '', image.width, height, image.url, offsetx, offsety, cropWidth, cropHeight, canUseWebP());\n    return src;\n  } else {\n    return null;\n  }\n};\nexports.calcNodeSrcUrl = calcNodeSrcUrl;\nfunction getCropsForShape(image, shape) {\n  if (shape === '16x9' && image.crops && image.crops['16:9']) {\n    return image.crops['16:9'];\n  }\n  if (shape === 'square' && image.crops && image.crops['1:1']) {\n    return image.crops['1:1'];\n  }\n  if (image.crop) {\n    return image.crop;\n  }\n  return {\n    x: image.offsetx,\n    y: image.offsety,\n    w: image.cropwidth,\n    h: image.cropheight\n  };\n}\nvar ImageOrNoImage = function ImageOrNoImage(_ref) {\n  var image = _ref.image,\n    width = _ref.width,\n    alt = _ref.alt,\n    shape = _ref.shape,\n    noImage = _ref.noImage,\n    lazy = _ref.lazy,\n    className = _ref.className;\n  if (image && image.url) {\n    var crops = getCropsForShape(image, shape);\n    var offsetx = crops.x,\n      offsety = crops.y,\n      cropwidth = crops.w,\n      cropheight = crops.h;\n    return /*#__PURE__*/_react[\"default\"].createElement(Image, {\n      className: className,\n      shape: shape,\n      width: parseInt(width),\n      src: image.url,\n      lazy: lazy,\n      offsetx: offsetx,\n      offsety: offsety,\n      cropWidth: cropwidth,\n      cropHeight: cropheight,\n      focalpointx: image.focalpointx || image.focalPoint && image.focalPoint.x,\n      focalpointy: image.focalpointy || image.focalPoint && image.focalPoint.y,\n      imageWidth: parseInt(image.width),\n      imageHeight: parseInt(image.height),\n      alt: alt\n    });\n  } else {\n    return /*#__PURE__*/_react[\"default\"].createElement(\"img\", {\n      className: className,\n      src: noImage,\n      width: width,\n      loading: lazy ? 'lazy' : 'auto',\n      height: calcShapeHeight(shape, width),\n      alt: alt\n    });\n  }\n};\nexports.ImageOrNoImage = ImageOrNoImage;\nvar AmpImageOrNoImage = function AmpImageOrNoImage(_ref2) {\n  var image = _ref2.image,\n    width = _ref2.width,\n    alt = _ref2.alt,\n    shape = _ref2.shape,\n    noImage = _ref2.noImage,\n    layout = _ref2.layout,\n    className = _ref2.className;\n  if (image && image.url) {\n    var _getCropsForShape = getCropsForShape(image, shape),\n      offsetx = _getCropsForShape.offsetx,\n      offsety = _getCropsForShape.offsety,\n      cropwidth = _getCropsForShape.cropwidth,\n      cropheight = _getCropsForShape.cropheight;\n    return /*#__PURE__*/_react[\"default\"].createElement(AmpImage, {\n      className: className,\n      shape: shape,\n      width: width,\n      src: image.url,\n      layout: layout,\n      offsetx: offsetx,\n      offsety: offsety,\n      cropWidth: cropwidth,\n      cropHeight: cropheight,\n      focalpointx: image.focalpointx || image.focalPoint && image.focalPoint.x,\n      focalpointy: image.focalpointy || image.focalPoint && image.focalPoint.y,\n      imageWidth: image.width,\n      imageHeight: image.height,\n      alt: alt\n    });\n  } else {\n    return /*#__PURE__*/_react[\"default\"].createElement(\"amp-img\", {\n      className: className,\n      src: noImage,\n      width: width,\n      height: calcShapeHeight(shape, width),\n      alt: alt\n    });\n  }\n};\nexports.AmpImageOrNoImage = AmpImageOrNoImage;\nvar ImageCalculator = /*#__PURE__*/function () {\n  function ImageCalculator() {\n    _classCallCheck(this, ImageCalculator);\n  }\n  _createClass(ImageCalculator, [{\n    key: \"calcHeight\",\n    value: function calcHeight(shape, width) {\n      return calcShapeHeight(shape, width) || width * 100;\n    }\n  }, {\n    key: \"buildImageUrl\",\n    value: function buildImageUrl(resizeUrl, name, width, height, src, offsetx, offsety, cropWidth, cropHeight, useWebP) {\n      if (offsetx || offsety || cropWidth || cropHeight) {\n        return \"\".concat(resizeUrl, \"/\").concat(width, \"x\").concat(height, \"/\").concat(name, \"?source=\").concat(src, \"&operation=CROP&offset=\").concat(offsetx, \"x\").concat(offsety, \"&resize=\").concat(cropWidth, \"x\").concat(cropHeight) + (useWebP ? '&webp=true' : '');\n      }\n      return \"\".concat(resizeUrl, \"/\").concat(width, \"x\").concat(height, \"/\").concat(name, \"?source=\").concat(src) + (useWebP ? '&webp=true' : '');\n    }\n  }, {\n    key: \"getFocalCoordinate\",\n    value: function getFocalCoordinate(focalCoordinate, limit, sideSize) {\n      var pointStart = focalCoordinate - sideSize / 2;\n      pointStart = pointStart < 0 ? 0 : pointStart;\n      var pointEnd = focalCoordinate + sideSize / 2;\n      pointEnd = pointEnd > limit ? limit - sideSize : pointEnd;\n      if (pointEnd < focalCoordinate) {\n        var startDiff = Math.abs(pointStart + sideSize / 2 - focalCoordinate);\n        var endDiff = Math.abs(pointEnd + sideSize / 2 - focalCoordinate);\n        if (startDiff <= endDiff) {\n          return Math.floor(pointStart);\n        } else {\n          return Math.floor(pointEnd);\n        }\n      } else {\n        return Math.floor(pointStart);\n      }\n    }\n  }, {\n    key: \"getCropCoordsForShape\",\n    value: function getCropCoordsForShape(shape, width, height, imageWidth, imageHeight, offsetx, offsety, cropWidth, cropHeight, focalPointX, focalPointY) {\n      var newCropHeight = cropHeight;\n      var newCropWidth = cropWidth;\n      if (imageWidth && imageHeight) {\n        if (focalPointX === 0 && focalPointY === 0) {\n          if (cropWidth && cropHeight) {\n            focalPointX = offsetx + Math.round(cropWidth / 2);\n            focalPointY = offsety + Math.round(cropHeight / 2);\n          } else {\n            focalPointX = Math.round(imageWidth / 2);\n            focalPointY = Math.round(imageHeight / 2);\n          }\n        }\n        if (shape === 'square') {\n          if (cropWidth === 0 && cropHeight === 0) {\n            newCropWidth = Math.min(imageWidth, imageHeight);\n          } else {\n            newCropWidth = Math.min(cropWidth, cropHeight);\n          }\n          newCropHeight = newCropWidth;\n        }\n        if (shape === '16x9') {\n          if (cropWidth === 0 && cropHeight === 0) {\n            var newWidth = imageHeight * (16 / 9);\n            if (newWidth < imageWidth) {\n              // If the new width fits, use the imageHeight to caclulate the cropWidth\n              newCropWidth = Math.round(imageHeight * 16 / 9);\n              newCropHeight = imageHeight;\n            } else {\n              newCropWidth = imageWidth;\n              newCropHeight = Math.round(imageWidth * 9 / 16);\n            }\n          } else {\n            var _newWidth = cropHeight * (16 / 9);\n            if (_newWidth < cropWidth) {\n              // If the new width fits, use the imageHeight to caclulate the cropWidth\n              newCropWidth = Math.round(cropHeight * 16 / 9);\n              newCropHeight = cropHeight;\n            } else {\n              newCropWidth = cropWidth;\n              newCropHeight = Math.round(cropWidth * 9 / 16);\n            }\n          }\n        }\n        if (shape === 'Cinema2K') {\n          if (cropWidth === 0 && cropHeight === 0) {\n            var _newWidth2 = imageHeight * Cinema2K;\n            if (_newWidth2 < imageWidth) {\n              // If the new width fits, use the imageHeight to caclulate the cropWidth\n              newCropWidth = Math.round(imageHeight * Cinema2K);\n              newCropHeight = imageHeight;\n            } else {\n              newCropWidth = imageWidth;\n              newCropHeight = Math.round(imageWidth * 1 / Cinema2K);\n            }\n          } else {\n            var _newWidth3 = cropHeight * Cinema2K;\n            if (_newWidth3 < cropWidth) {\n              // If the new width fits, use the imageHeight to caclulate the cropWidth\n              newCropWidth = Math.round(cropHeight * Cinema2K);\n              newCropHeight = cropHeight;\n            } else {\n              newCropWidth = cropWidth;\n              newCropHeight = Math.round(cropWidth * 1 / Cinema2K);\n            }\n          }\n        }\n        focalPointX = Math.max(Math.min(focalPointX, imageWidth - Math.round(newCropWidth / 2)), offsetx + Math.round(newCropWidth / 2));\n        focalPointY = Math.max(Math.min(focalPointY, imageHeight - Math.round(newCropHeight / 2)), offsety + Math.round(newCropHeight / 2));\n        if (cropWidth && cropHeight) {\n          return {\n            offsetx: focalPointX - Math.round(cropWidth / 2),\n            offsety: focalPointY - Math.round(cropHeight / 2),\n            cropWidth: newCropWidth,\n            cropHeight: newCropHeight\n          };\n        }\n        if (!newCropWidth) {\n          newCropWidth = imageWidth;\n        }\n        if (!newCropHeight) {\n          newCropHeight = imageHeight;\n        }\n        return {\n          offsetx: focalPointX - Math.round(newCropWidth / 2),\n          offsety: focalPointY - Math.round(newCropHeight / 2),\n          cropWidth: newCropWidth,\n          cropHeight: newCropHeight\n        };\n      }\n      return {\n        offsetx: 0,\n        offsety: 0,\n        cropWidth: 0,\n        cropHeight: 0\n      };\n    }\n  }]);\n  return ImageCalculator;\n}();\nexports.ImageCalculator = ImageCalculator;\nvar Image = /*#__PURE__*/function (_Component) {\n  _inherits(Image, _Component);\n  var _super = _createSuper(Image);\n  function Image() {\n    _classCallCheck(this, Image);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Image, [{\n    key: \"render\",\n    value: function render() {\n      var _this = this;\n      var src;\n      var hdSrc;\n      var webpSrc;\n      var height;\n      var name = this.props.alt ? urlify(this.props.alt) : '';\n      var srcset = undefined; // eslint-disable-line no-undef-init\n\n      if (this.props.shape === 'square') {\n        src = \"\".concat(this.props.resizeUrlSquare, \"/\").concat(this.props.width, \"/\").concat(name, \"?source=\").concat(this.props.src);\n        hdSrc = \"\".concat(this.props.resizeUrlSquare, \"/\").concat(this.props.width * 2, \"/\").concat(name, \"?source=\").concat(this.props.src);\n        webpSrc = \"\".concat(this.props.resizeUrlSquare, \"/\").concat(this.props.width, \"/\").concat(name, \"?source=\").concat(this.props.src);\n        height = this.props.width;\n        if (this.props.cropWidth || this.props.cropHeight) {\n          src += \"&operation=CROP&offset=\".concat(this.props.offsetx, \"x\").concat(this.props.offsety, \"&resize=\").concat(this.props.cropWidth, \"x\").concat(this.props.cropHeight);\n          hdSrc += \"&operation=CROP&offset=\".concat(this.props.offsetx, \"x\").concat(this.props.offsety, \"&resize=\").concat(this.props.cropWidth, \"x\").concat(this.props.cropHeight);\n          webpSrc += \"&operation=CROP&offset=\".concat(this.props.offsetx, \"x\").concat(this.props.offsety, \"&resize=\").concat(this.props.cropWidth, \"x\").concat(this.props.cropHeight, \"&webp=true\");\n        }\n      } else if (this.props.shape === '16x9') {\n        src = \"\".concat(this.props.resizeUrl16x9, \"/\").concat(this.props.width, \"/\").concat(name, \"?source=\").concat(this.props.src);\n        hdSrc = \"\".concat(this.props.resizeUrl16x9, \"/\").concat(this.props.width * 2, \"/\").concat(name, \"?source=\").concat(this.props.src);\n        webpSrc = \"\".concat(this.props.resizeUrl16x9, \"/\").concat(this.props.width, \"/\").concat(name, \"?source=\").concat(this.props.src);\n        height = Math.ceil(this.props.width * 9 / 16);\n        if (this.props.cropWidth || this.props.cropHeight) {\n          src += \"&operation=CROP&offset=\".concat(this.props.offsetx, \"x\").concat(this.props.offsety, \"&resize=\").concat(this.props.cropWidth, \"x\").concat(this.props.cropHeight);\n          hdSrc += \"&operation=CROP&offset=\".concat(this.props.offsetx, \"x\").concat(this.props.offsety, \"&resize=\").concat(this.props.cropWidth, \"x\").concat(this.props.cropHeight);\n          webpSrc += \"&operation=CROP&offset=\".concat(this.props.offsetx, \"x\").concat(this.props.offsety, \"&resize=\").concat(this.props.cropWidth, \"x\").concat(this.props.cropHeight, \"&webp=true\");\n        }\n      } else {\n        var calc = new ImageCalculator();\n        height = this.props.height || calc.calcHeight(this.props.shape, this.props.width) || width * 100;\n        var _calc$getCropCoordsFo3 = calc.getCropCoordsForShape(this.props.shape, this.props.width, height, this.props.imageWidth, this.props.imageHeight, Math.max(0, this.props.offsetx), Math.max(0, this.props.offsety), Math.min(this.props.cropWidth, this.props.imageWidth), Math.min(this.props.cropHeight, this.props.imageHeight), this.props.focalpointx, this.props.focalpointy),\n          offsetx = _calc$getCropCoordsFo3.offsetx,\n          offsety = _calc$getCropCoordsFo3.offsety,\n          cropWidth = _calc$getCropCoordsFo3.cropWidth,\n          cropHeight = _calc$getCropCoordsFo3.cropHeight;\n        src = calc.buildImageUrl(this.props.resizeUrl, name, this.props.width, height, this.props.src, offsetx, offsety, cropWidth, cropHeight, false);\n        hdSrc = calc.buildImageUrl(this.props.resizeUrl, name, this.props.width * 2, height * 2, this.props.src, offsetx, offsety, cropWidth, cropHeight, false);\n        webpSrc = calc.buildImageUrl(this.props.resizeUrl, name, this.props.width, height, this.props.src, offsetx, offsety, cropWidth, cropHeight, true);\n        if (this.props.sizes && this.props.sizes.length) {\n          srcset = this.props.sizes.reduce(function (prev, cur, i) {\n            return i > 1 ? prev + ', ' + calc.buildImageUrl(_this.props.resizeUrl, name, cur, calc.calcHeight(_this.props.shape, cur), _this.props.src) + ' ' + cur + 'px' : calc.buildImageUrl(_this.props.resizeUrl, name, prev, calc.calcHeight(_this.props.shape, prev), _this.props.src) + ' ' + prev + 'px, ' + calc.buildImageUrl(_this.props.resizeUrl, name, cur, calc.calcHeight(_this.props.shape, cur), _this.props.src) + ' ' + cur + 'px';\n          });\n        }\n      }\n      return /*#__PURE__*/_react[\"default\"].createElement(\"picture\", null, /*#__PURE__*/_react[\"default\"].createElement(\"source\", {\n        type: \"image/webp\",\n        srcSet: webpSrc\n      }), /*#__PURE__*/_react[\"default\"].createElement(\"source\", {\n        type: \"image/jpeg\",\n        srcSet: hdSrc + ' 1.5x'\n      }), /*#__PURE__*/_react[\"default\"].createElement(\"img\", {\n        className: this.props.className,\n        loading: this.props.lazy ? 'lazy' : 'auto',\n        src: src,\n        width: this.props.width,\n        height: height,\n        srcSet: srcset,\n        alt: this.props.alt\n      }));\n    }\n  }]);\n  return Image;\n}(_react.Component);\nexports[\"default\"] = Image;\nvar AmpImage = /*#__PURE__*/function (_Component2) {\n  _inherits(AmpImage, _Component2);\n  var _super2 = _createSuper(AmpImage);\n  function AmpImage() {\n    _classCallCheck(this, AmpImage);\n    return _super2.apply(this, arguments);\n  }\n  _createClass(AmpImage, [{\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n      var src;\n      var height;\n      var name = this.props.alt ? urlify(this.props.alt) : '';\n      var srcset = undefined; // eslint-disable-line no-undef-init\n      if (this.props.shape === 'square') {\n        src = this.props.resizeUrlSquare + '/' + this.props.width + '?source=' + this.props.src;\n        height = this.props.width;\n        if (this.props.cropWidth || this.props.cropHeight) {\n          src += \"&operation=CROP&offset=\".concat(this.props.offsetx, \"x\").concat(this.props.offsety, \"&resize=\").concat(this.props.cropWidth, \"x\").concat(this.props.cropHeight);\n        }\n        src += canUseWebP() ? '&webp=true' : '';\n      } else if (this.props.shape === '16x9') {\n        src = this.props.resizeUrl16x9 + '/' + this.props.width + '?source=' + this.props.src;\n        height = Math.ceil(this.props.width * 9 / 16);\n        if (this.props.cropWidth || this.props.cropHeight) {\n          src += \"&operation=CROP&offset=\".concat(this.props.offsetx, \"x\").concat(this.props.offsety, \"&resize=\").concat(this.props.cropWidth, \"x\").concat(this.props.cropHeight);\n        }\n        src += canUseWebP() ? '&webp=true' : '';\n      } else {\n        var calc = new ImageCalculator();\n        height = this.props.height || calc.calcHeight(this.props.shape, this.props.width) || this.props.width * 100;\n        var _calc$getCropCoordsFo4 = calc.getCropCoordsForShape(this.props.shape, this.props.width, height, this.props.imageWidth, this.props.imageHeight, Math.max(0, this.props.offsetx), Math.max(0, this.props.offsety), Math.min(this.props.cropWidth, this.props.imageWidth), Math.min(this.props.cropHeight, this.props.imageHeight), this.props.focalpointx, this.props.focalpointy),\n          offsetx = _calc$getCropCoordsFo4.offsetx,\n          offsety = _calc$getCropCoordsFo4.offsety,\n          cropWidth = _calc$getCropCoordsFo4.cropWidth,\n          cropHeight = _calc$getCropCoordsFo4.cropHeight;\n        src = calc.buildImageUrl(this.props.resizeUrl, name, this.props.width, height, this.props.src, offsetx, offsety, cropWidth, cropHeight, canUseWebP());\n        if (this.props.sizes && this.props.sizes.length) {\n          srcset = this.props.sizes.reduce(function (prev, cur, i) {\n            return i > 1 ? prev + ', ' + calc.buildImageUrl(_this2.props.resizeUrl, name, cur, calc.calcHeight(_this2.props.shape, cur), _this2.props.src) + ' ' + cur + 'px' : calc.buildImageUrl(_this2.props.resizeUrl, name, prev, calc.calcHeight(_this2.props.shape, prev), _this2.props.src) + ' ' + prev + 'px, ' + calc.buildImageUrl(_this2.props.resizeUrl, cur, calc.calcHeight(_this2.props.shape, cur), _this2.props.src) + ' ' + cur + 'px';\n          });\n        }\n      }\n      return /*#__PURE__*/_react[\"default\"].createElement(\"amp-img\", {\n        layout: this.props.layout ? this.props.layout : 'responsive',\n        className: this.props.className,\n        src: src,\n        width: this.props.width,\n        height: height,\n        srcSet: srcset,\n        alt: this.props.alt\n      });\n    }\n  }]);\n  return AmpImage;\n}(_react.Component);\nexports.AmpImage = AmpImage;\nImage.propTypes = {\n  src: _propTypes[\"default\"].string.isRequired,\n  width: _propTypes[\"default\"].number.isRequired,\n  height: _propTypes[\"default\"].number,\n  offsetx: _propTypes[\"default\"].number,\n  offsety: _propTypes[\"default\"].number,\n  cropWidth: _propTypes[\"default\"].number,\n  cropHeight: _propTypes[\"default\"].number,\n  focalpointx: _propTypes[\"default\"].number,\n  focalpointy: _propTypes[\"default\"].number,\n  imageWidth: _propTypes[\"default\"].number,\n  imageHeight: _propTypes[\"default\"].number,\n  sizes: _propTypes[\"default\"].array,\n  shape: _propTypes[\"default\"].string,\n  resizeUrl: _propTypes[\"default\"].string,\n  resizeUrlSquare: _propTypes[\"default\"].string,\n  resizeUrl16x9: _propTypes[\"default\"].string\n};\nImage.defaultProps = {\n  height: 0,\n  offsetx: 0,\n  offsety: 0,\n  cropWidth: 0,\n  cropHeight: 0,\n  focalpointx: 0,\n  focalpointy: 0,\n  sizes: [],\n  shape: 'original',\n  resizeUrl: 'https://image-prod.iol.co.za/resize',\n  resizeUrlSquare: 'https://image-prod.iol.co.za/square',\n  resizeUrl16x9: 'https://image-prod.iol.co.za/16x9'\n};\nAmpImage.propTypes = {\n  src: _propTypes[\"default\"].string.isRequired,\n  width: _propTypes[\"default\"].number.isRequired,\n  height: _propTypes[\"default\"].number,\n  offsetx: _propTypes[\"default\"].number,\n  offsety: _propTypes[\"default\"].number,\n  cropWidth: _propTypes[\"default\"].number,\n  cropHeight: _propTypes[\"default\"].number,\n  focalpointx: _propTypes[\"default\"].number,\n  focalpointy: _propTypes[\"default\"].number,\n  imageWidth: _propTypes[\"default\"].number,\n  imageHeight: _propTypes[\"default\"].number,\n  sizes: _propTypes[\"default\"].array,\n  shape: _propTypes[\"default\"].string,\n  resizeUrl: _propTypes[\"default\"].string,\n  resizeUrlSquare: _propTypes[\"default\"].string,\n  resizeUrl16x9: _propTypes[\"default\"].string\n};\nAmpImage.defaultProps = {\n  height: 0,\n  offsetx: 0,\n  offsety: 0,\n  cropWidth: 0,\n  cropHeight: 0,\n  focalpointx: 0,\n  focalpointy: 0,\n  sizes: [],\n  shape: 'original',\n  resizeUrl: 'https://image-prod.iol.co.za/resize',\n  resizeUrlSquare: 'https://image-prod.iol.co.za/square',\n  resizeUrl16x9: 'https://image-prod.iol.co.za/16x9'\n};"],"sourceRoot":""}