{"version":3,"sources":["webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./src/components/ProcessrLogo.js","webpack:///./src/components/header.js","webpack:///./src/components/ColdtapLogo.js","webpack:///./src/components/layout.js","webpack:///./node_modules/shallowequal/index.js","webpack:///./node_modules/smooth-scroll/dist/smooth-scroll.polyfills.min.js","webpack:///./node_modules/react-helmet/lib/Helmet.js","webpack:///./src/components/title.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/react-helmet/lib/HelmetConstants.js","webpack:///./node_modules/react-helmet/lib/HelmetUtils.js","webpack:///./src/components/seo.js"],"names":["canUseDOM","window","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","_interopDefault","ex","React","React__default","shallowEqual","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","call","ReferenceError","module","exports","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","mountedInstances","state","emitChange","map","props","SideEffect","_Component","this","apply","arguments","subClass","superClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","_inherits","peek","rewind","recordedState","undefined","shouldComponentUpdate","nextProps","componentWillMount","push","componentDidUpdate","componentWillUnmount","index","indexOf","splice","render","Component","displayName","name","getDisplayName","Image","data","useStaticQuery","fadeIn","fixed","placeholderImage","childImageSharp","style","verticalAlign","alt","Header","siteTitle","className","to","color","textDecoration","defaultProps","ColdtapLogo","require","Layout","children","site","siteMetadata","title","backgroundColor","href","Date","getFullYear","nocolor","objA","objB","compare","compareContext","ret","keysA","keys","keysB","length","bHasOwnProperty","hasOwnProperty","bind","idx","key","valueA","valueB","e","Element","closest","t","n","ownerDocument","querySelectorAll","o","item","parentElement","bubbles","cancelable","detail","createEvent","initCustomEvent","CustomEvent","Event","r","requestAnimationFrame","cancelAnimationFrame","getTime","Math","max","a","setTimeout","clearTimeout","global","M","q","ignore","header","topOnEmptyHash","speed","speedAsDuration","durationMax","durationMin","clip","offset","easing","customEasing","updateURL","popstate","emitEvents","I","Array","forEach","charAt","substr","String","i","charCodeAt","InvalidCharacterError","toString","F","body","scrollHeight","documentElement","offsetHeight","clientHeight","x","focus","activeElement","setAttribute","outline","scrollTo","H","anchor","toggle","dispatchEvent","b","A","O","C","cancelScroll","c","tagName","s","pageYOffset","querySelector","u","l","m","d","f","h","p","parseInt","getComputedStyle","height","offsetTop","L","g","offsetParent","min","innerHeight","y","v","w","S","abs","history","pushState","smoothScroll","JSON","stringify","id","matchMedia","matches","floor","E","defaultPrevented","button","metaKey","ctrlKey","shiftKey","target","toLowerCase","hostname","location","pathname","test","decodeURIComponent","hash","preventDefault","replaceState","animateScroll","destroy","removeEventListener","__esModule","Helmet","_extends","assign","source","_createClass","defineProperties","descriptor","defineProperty","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","_reactSideEffect2","_reactFastCompare2","_HelmetUtils","_HelmetConstants","obj","default","_objectWithoutProperties","_class","_temp","HelmetSideEffects","handleClientStateChange","HelmetExport","_React$Component","HelmetWrapper","mapNestedChildrenToProps","child","nestedChildren","type","TAG_NAMES","SCRIPT","NOSCRIPT","innerHTML","STYLE","cssText","flattenArrayTypeChildren","_ref","_extends2","arrayTypeChildren","newChildProps","concat","mapObjectTypeChildren","_ref2","_extends3","_extends4","newProps","TITLE","titleAttributes","BODY","bodyAttributes","HTML","htmlAttributes","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_extends5","warnOnInvalidChildren","mapChildrenToProps","_this2","Children","_child$props","childProps","convertReactPropstoHtmlAttributes","LINK","META","_props","set","propTypes","base","object","oneOfType","arrayOf","node","defaultTitle","string","defer","bool","encodeSpecialCharacters","link","meta","noscript","onChangeClientState","func","script","titleTemplate","mappedState","baseTag","linkTags","metaTags","noscriptTags","scriptTags","styleTags","renderStatic","Title","isArray","keyList","hasProp","hasElementType","equal","arrA","arrB","dateA","dateB","regexpA","RegExp","regexpB","$$typeof","error","message","match","number","console","warn","ATTRIBUTE_NAMES","BASE","HEAD","REACT_TAG_MAP","VALID_TAG_NAMES","TAG_PROPERTIES","CHARSET","CSS_TEXT","HREF","HTTPEQUIV","INNER_HTML","ITEM_PROP","NAME","PROPERTY","REL","SRC","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","DEFAULT_TITLE","DEFER","ENCODE_SPECIAL_CHARACTERS","ON_CHANGE_CLIENT_STATE","TITLE_TEMPLATE","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","Symbol","iterator","_objectAssign2","clock","str","encode","replace","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","now","callback","currentTime","cafPolyfill","webkitRequestAnimationFrame","mozRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","cb","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","join","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","split","attributesToRemove","attributeKeys","attribute","indexToSave","_i","removeAttribute","tags","headElement","head","tagNodes","slice","indexToDelete","newElement","styleSheet","appendChild","createTextNode","some","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","initAttributes","_ref$title","SEO","description","lang","metaDescription","author","rel","integrity","crossorigin"],"mappings":";gFAAA,OAOA,WACE,aAEA,IAAIA,IAAiC,oBAAXC,SAA0BA,OAAOC,WAAYD,OAAOC,SAASC,eACnFC,EAAuB,CACzBJ,UAAWA,EACXK,cAAiC,oBAAXC,OACtBC,qBAAsBP,MAAgBC,OAAOO,mBAAoBP,OAAOQ,aACxEC,eAAgBV,KAAeC,OAAOU,aAMrC,KAFD,aACE,OAAOP,GACR,8BAdL,I,oCCLA,SAASQ,EAAgBC,GACvB,OAAOA,GAAoB,iBAAPA,GAAmB,YAAaA,EAAKA,EAAY,QAAIA,EAG3E,IAAIC,EAAQ,EAAQ,QAEhBC,EAAiBH,EAAgBE,GAEjCV,EAAuBQ,EAAgB,EAAQ,SAE/CI,EAAeJ,EAAgB,EAAQ,SAE3C,SAASK,EAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAIxB,SAASC,EAA2BC,EAAMC,GACxC,IAAKD,EACH,MAAM,IAAIE,eAAe,6DAG3B,OAAOD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BD,EAAPC,EAkH5EE,EAAOC,QA/FP,SAAwBC,EAAoBC,EAA2BC,GACrE,GAAkC,mBAAvBF,EACT,MAAM,IAAIG,MAAM,iDAGlB,GAAyC,mBAA9BF,EACT,MAAM,IAAIE,MAAM,wDAGlB,QAAgC,IAArBD,GAAgE,mBAArBA,EACpD,MAAM,IAAIC,MAAM,mEAOlB,OAAO,SAAcC,GACnB,GAAgC,mBAArBA,EACT,MAAM,IAAID,MAAM,sDAGlB,IAAIE,EAAmB,GACnBC,OAAQ,EAEZ,SAASC,IACPD,EAAQN,EAAmBK,EAAiBG,KAAI,SAAUjB,GACxD,OAAOA,EAASkB,UAGdC,EAAWrC,UACb4B,EAA0BK,GACjBJ,IACTI,EAAQJ,EAAiBI,IAI7B,IAAII,EAAa,SAAUC,GAGzB,SAASD,IAGP,OAFApB,EAAgBsB,KAAMF,GAEfhB,EAA2BkB,KAAMD,EAAWE,MAAMD,KAAME,YA2CjE,OAtGN,SAAmBC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIvB,UAAU,kEAAoEuB,GAG1FD,EAASE,UAAYC,OAAOC,OAAOH,GAAcA,EAAWC,UAAW,CACrEG,YAAa,CACXC,MAAON,EACPO,YAAY,EACZC,UAAU,EACVC,cAAc,KAGdR,IAAYE,OAAOO,eAAiBP,OAAOO,eAAeV,EAAUC,GAAcD,EAASW,UAAYV,GAyCvGW,CAAUjB,EAAYC,GAStBD,EAAWkB,KAAO,WAChB,OAAOtB,GAITI,EAAWmB,OAAS,WAClB,GAAInB,EAAWrC,UACb,MAAM,IAAI8B,MAAM,oFAGlB,IAAI2B,EAAgBxB,EAGpB,OAFAA,OAAQyB,EACR1B,EAAmB,GACZyB,GAGTpB,EAAWO,UAAUe,sBAAwB,SAA+BC,GAC1E,OAAQ5C,EAAa4C,EAAWrB,KAAKH,QAGvCC,EAAWO,UAAUiB,mBAAqB,WACxC7B,EAAiB8B,KAAKvB,MACtBL,KAGFG,EAAWO,UAAUmB,mBAAqB,WACxC7B,KAGFG,EAAWO,UAAUoB,qBAAuB,WAC1C,IAAIC,EAAQjC,EAAiBkC,QAAQ3B,MACrCP,EAAiBmC,OAAOF,EAAO,GAC/B/B,KAGFG,EAAWO,UAAUwB,OAAS,WAC5B,OAAOrD,EAAeZ,cAAc4B,EAAkBQ,KAAKH,QAGtDC,EAjDQ,CAkDfvB,EAAMuD,WAIR,OAFAhC,EAAWiC,YAAc,cA5E3B,SAAwBvC,GACtB,OAAOA,EAAiBuC,aAAevC,EAAiBwC,MAAQ,YA2EvBC,CAAezC,GAAoB,IAC5EM,EAAWrC,UAAYI,EAAqBJ,UACrCqC,K,qHCxGIoC,EAhBD,WACZ,IAAMC,EAAOC,yBAAe,aAY5B,OAAO,kBAAC,IAAD,CAAKC,QAAQ,EAAOC,MAAOH,EAAKI,iBAAiBC,gBAAgBF,MAAOG,MAAO,CAACC,cAAe,UAAWC,IAAI,qBCtBjHC,EAAS,SAAC,GAAD,EAAGC,UAAH,OAEf,yBAAKC,UAAU,6DAGb,kBAAC,OAAD,CAAMC,GAAG,IAAIN,MAAO,CAAEO,MAAM,QAAUC,eAAe,SACnD,kBAAC,EAAD,MAAQ,0BAAMH,UAAU,mBAAhB,YAA2C,0BAAML,MAAO,CAAEO,MAAO,YAAtB,QAGvD,yBAAKF,UAAU,uCACb,wBAAIA,UAAU,sBACV,wBAAIA,UAAU,YAAW,kBAAC,OAAD,CAAMC,GAAG,UAAWD,UAAU,YAA9B,qBACzB,wBAAIA,UAAU,YAAW,kBAAC,OAAD,CAAMC,GAAG,WAAYD,UAAU,YAA/B,cACzB,wBAAIA,UAAU,YAAW,kBAAC,OAAD,CAAMC,GAAG,aAAeD,UAAU,YAAlC,aACzB,wBAAIA,UAAU,YAAW,kBAAC,OAAD,CAAMC,GAAG,UAAWD,UAAU,YAA9B,aACzB,wBAAIA,UAAU,YAAW,kBAAC,OAAD,CAAMC,GAAG,cAAeD,UAAU,YAAlC,mBAY/BF,EAAOM,aAAe,CACpBL,UAAU,IAGGD,QCNAO,G,UAhBK,SAAC,GAAiB,IAAhBL,EAAe,EAAfA,UACdX,EAAOC,yBAAe,cAY5B,OAAO,kBAAC,IAAD,CAAKU,UAAWA,EAAWT,QAAQ,EAAOC,MAAOH,EAAKI,iBAAiBC,gBAAgBF,MAAOG,MAAO,CAACC,cAAe,UAAWC,IAAI,sB,YCZvH,oBAAXjF,QAET0F,EAAQ,OAARA,CAAyB,gBAyDZC,IArDA,SAAC,GAAkB,IAAhBC,EAAe,EAAfA,SACVnB,EAAOC,yBAAe,cAU5B,OACE,oCACE,kBAAC,EAAD,CAAQS,UAAWV,EAAKoB,KAAKC,aAAaC,QAE1C,8BAAOH,EAEL,4BAAQb,MAAO,CAAEiB,gBAAiB,SAEhC,yBAAKZ,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,SACb,kBAAC,EAAD,CAAaA,UAAU,SACvB,yBAAKA,UAAU,cACb,uBAAGa,KAAK,sBAAR,6BACA,sCAAW,IAAIC,MAAOC,cAAc,6BACpC,+BAAO,kBAAC,IAAD,CAAiBC,SAAO,IAA/B,+DAIN,yBAAKhB,UAAU,YACb,6BAAK,kBAAC,OAAD,CAAMC,GAAG,yBAAT,uBACL,6BAAK,kBAAC,OAAD,CAAMA,GAAG,mBAAT,mBACL,6BAAK,kBAAC,OAAD,CAAMA,GAAG,yBAAT,iC,mBCvDrB7D,EAAOC,QAAU,SAAsB4E,EAAMC,EAAMC,EAASC,GAC1D,IAAIC,EAAMF,EAAUA,EAAQjF,KAAKkF,EAAgBH,EAAMC,QAAQ,EAE/D,QAAY,IAARG,EACF,QAASA,EAGX,GAAIJ,IAASC,EACX,OAAO,EAGT,GAAoB,iBAATD,IAAsBA,GAAwB,iBAATC,IAAsBA,EACpE,OAAO,EAGT,IAAII,EAAQ9D,OAAO+D,KAAKN,GACpBO,EAAQhE,OAAO+D,KAAKL,GAExB,GAAII,EAAMG,SAAWD,EAAMC,OACzB,OAAO,EAKT,IAFA,IAAIC,EAAkBlE,OAAOD,UAAUoE,eAAeC,KAAKV,GAElDW,EAAM,EAAGA,EAAMP,EAAMG,OAAQI,IAAO,CAC3C,IAAIC,EAAMR,EAAMO,GAEhB,IAAKH,EAAgBI,GACnB,OAAO,EAGT,IAAIC,EAASd,EAAKa,GACdE,EAASd,EAAKY,GAGlB,IAAY,KAFZT,EAAMF,EAAUA,EAAQjF,KAAKkF,EAAgBW,EAAQC,EAAQF,QAAO,SAEvC,IAART,GAAkBU,IAAWC,EAChD,OAAO,EAIX,OAAO,I,wBCzCT,kBA0CeC,EAzCfrH,OAAOsH,UAAYA,QAAQ3E,UAAU4E,UAAYD,QAAQ3E,UAAU4E,QAAU,SAAUF,GACrF,IAAIG,EACAC,GAAKnF,KAAKrC,UAAYqC,KAAKoF,eAAeC,iBAAiBN,GAC3DO,EAAItF,KAER,GACE,IAAKkF,EAAIC,EAAEZ,OAAQ,KAAOW,GAAKC,EAAEI,KAAKL,KAAOI,WAGtCJ,EAAI,IAAMI,EAAIA,EAAEE,gBAEzB,OAAOF,IACL,WAGF,SAASP,EAAEA,EAAGG,GACZA,EAAIA,GAAK,CACPO,SAAS,EACTC,YAAY,EACZC,YAAQ,GAEV,IAAIR,EAAIxH,SAASiI,YAAY,eAC7B,OAAOT,EAAEU,gBAAgBd,EAAGG,EAAEO,QAASP,EAAEQ,WAAYR,EAAES,QAASR,EAT9D,mBAAqBzH,OAAOoI,cAYhCf,EAAE1E,UAAY3C,OAAOqI,MAAM1F,UAAW3C,OAAOoI,YAAcf,GAbzD,GAcC,WACH,IAAK,IAAIiB,EAAI,EAAGjB,EAAI,CAAC,KAAM,MAAO,SAAU,KAAMG,EAAI,EAAGA,EAAIH,EAAER,SAAW7G,OAAOuI,wBAAyBf,EACxGxH,OAAOuI,sBAAwBvI,OAAOqH,EAAEG,GAAK,yBAA0BxH,OAAOwI,qBAAuBxI,OAAOqH,EAAEG,GAAK,yBAA2BxH,OAAOqH,EAAEG,GAAK,+BAG9JxH,OAAOuI,wBAA0BvI,OAAOuI,sBAAwB,SAAUlB,EAAGG,GAC3E,IAAIC,GAAI,IAAIvB,MAAOuC,UACfb,EAAIc,KAAKC,IAAI,EAAG,IAAMlB,EAAIa,IAC1BM,EAAI5I,OAAO6I,YAAW,WACxBxB,EAAEI,EAAIG,KACLA,GACH,OAAOU,EAAIb,EAAIG,EAAGgB,IAChB5I,OAAOwI,uBAAyBxI,OAAOwI,qBAAuB,SAAUnB,GAC1EyB,aAAazB,KAbZ,GAeUA,OAIb,IAAsB0B,EAASA,EAAS,oBAAsB/I,OAASA,OAASsC,UAD/E,KAFsD,EAAF,WACnD,OAEoF,SAAU0G,GAChG,aAEA,IAAIC,EAAI,CACNC,OAAQ,uBACRC,OAAQ,KACRC,gBAAgB,EAChBC,MAAO,IACPC,iBAAiB,EACjBC,YAAa,KACbC,YAAa,KACbC,MAAM,EACNC,OAAQ,EACRC,OAAQ,iBACRC,aAAc,KACdC,WAAW,EACXC,UAAU,EACVC,YAAY,GAEVC,EAAI,WACN,IAAIvC,EAAI,GACR,OAAOwC,MAAMtH,UAAUuH,QAAQ5I,KAAKkB,WAAW,SAAU6E,GACvD,IAAK,IAAIG,KAAKH,EAAG,CACf,IAAKA,EAAEN,eAAeS,GAAI,OAC1BC,EAAED,GAAKH,EAAEG,OAETC,GAEFa,EAAI,SAAWjB,GACjB,MAAQA,EAAE8C,OAAO,KAAO9C,EAAIA,EAAE+C,OAAO,IAErC,IAAK,IAAI5C,EAAGC,EAAI4C,OAAOhD,GAAIO,EAAIH,EAAEZ,OAAQ+B,GAAK,EAAGN,EAAI,GAAIgC,EAAI7C,EAAE8C,WAAW,KAAM3B,EAAIhB,GAAI,CACtF,GAAI,KAAOJ,EAAIC,EAAE8C,WAAW3B,IAAK,MAAM,IAAI4B,sBAAsB,iDAC6ClC,GAA9G,GAAKd,GAAKA,GAAK,IAAM,KAAOA,GAAK,IAAMoB,GAAK,IAAMpB,GAAKA,GAAK,IAAM,IAAMoB,GAAK,IAAMpB,GAAKA,GAAK,IAAM,KAAO8C,EAAS,KAAO9C,EAAEiD,SAAS,IAAM,IAAW,KAAOjD,GAAK,KAAOA,GAAK,KAAOA,GAAK,IAAMA,GAAKA,GAAK,IAAM,IAAMA,GAAKA,GAAK,IAAM,IAAMA,GAAKA,GAAK,IAAMC,EAAE0C,OAAOvB,GAAK,KAAOnB,EAAE0C,OAAOvB,GAG5R,MAAO,IAAMN,GAEXoC,EAAI,WACN,OAAOhC,KAAKC,IAAI1I,SAAS0K,KAAKC,aAAc3K,SAAS4K,gBAAgBD,aAAc3K,SAAS0K,KAAKG,aAAc7K,SAAS4K,gBAAgBC,aAAc7K,SAAS0K,KAAKI,aAAc9K,SAAS4K,gBAAgBE,eAMzMC,EAAI,SAAW3D,EAAGG,EAAGC,GACvB,IAAMJ,GAAKpH,SAAS0K,KAAKM,QAASxD,IAAMJ,EAAE4D,QAAShL,SAASiL,gBAAkB7D,IAAMA,EAAE8D,aAAa,WAAY,MAAO9D,EAAE4D,QAAS5D,EAAEtC,MAAMqG,QAAU,QAASpC,EAAEqC,SAAS,EAAG7D,KAExK8D,EAAI,SAAWjE,EAAGG,EAAGC,EAAGG,GAC1B,GAAIJ,EAAEuC,YAAc,mBAAqBf,EAAEZ,YAAa,CACtD,IAAIQ,EAAI,IAAIR,YAAYf,EAAG,CACzBU,SAAS,EACTE,OAAQ,CACNsD,OAAQ9D,EACR+D,OAAQ5D,KAGZ3H,SAASwL,cAAc7C,KAI3B,OAAO,SAAUhB,EAAGP,GAClB,IAAIqE,EACA9C,EACA+C,EACAC,EACAC,EAAI,CACR,aAAiB,SAAUxE,GACzBmB,qBAAqBoD,GAAIA,EAAI,KAAMvE,GAAKiE,EAAE,eAAgBI,IACzD,cAAkB,SAAU9C,EAAGN,EAAGjB,GACnCwE,EAAEC,eACF,IAAIxB,EAAIN,EAAE0B,GAAKzC,EAAG5B,GAAK,IACnB0E,EAAI,oBAAsBnJ,OAAOD,UAAU8H,SAASnJ,KAAKsH,GACzDpB,EAAIuE,IAAMnD,EAAEoD,QAAU,KAAOpD,EAEjC,GAAImD,GAAKvE,EAAG,CACV,IAAIyE,EAAIjD,EAAEkD,YACV5B,EAAEnB,SAAWwC,IAAMA,EAAI1L,SAASkM,cAAc7B,EAAEnB,SAEhD,IAAI1B,EACAG,EACAwE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EA9CF,SAAWrF,GACjB,OAAOA,GAAKG,EAAIH,EAAGsF,SAAS3D,EAAE4D,iBAAiBpF,GAAGqF,OAAQ,IAAMxF,EAAEyF,WAAa,EAC/E,IAAItF,EA4CQuF,CAAEpB,GACNqB,EAAIjB,EAAInD,EAAI,SAAUvB,EAAGG,EAAGC,EAAGG,GACjC,IAAIgB,EAAI,EACR,GAAIvB,EAAE4F,aAAc,KAAOrE,GAAKvB,EAAEyF,UAAWzF,EAAIA,EAAE4F,eAGnD,OAAOrE,EAAIF,KAAKC,IAAIC,EAAIpB,EAAIC,EAAG,GAAIG,IAAMgB,EAAIF,KAAKwE,IAAItE,EAAG8B,IAAM1B,EAAEmE,cAAevE,EALlE,CAMdpB,EAAGkF,EAAGC,SAAS,mBAAqBrC,EAAEZ,OAASY,EAAEZ,OAAOd,EAAGN,GAAKgC,EAAEZ,OAAQ,IAAKY,EAAEb,MAC/E2D,EAAIJ,EAAIf,EACRoB,EAAI3C,IACJ4C,EAAI,EACJC,GAAK9F,EAAI2F,EAAGhB,GAAKxE,EAAI0C,GAAGhB,gBAAkB1B,EAAEyB,MAAQX,KAAK8E,IAAI/F,EAAI,IAAMG,EAAEyB,OAAQzB,EAAE2B,aAAe6C,EAAIxE,EAAE2B,YAAc3B,EAAE2B,YAAc3B,EAAE4B,aAAe4C,EAAIxE,EAAE4B,YAAc5B,EAAE4B,YAAcmD,SAASP,EAAG,KAS3M,IAAMpD,EAAEkD,aAAelD,EAAEqC,SAAS,EAAG,GAAImB,EAAI5D,EAAG6D,EAAInC,EAAGyB,GAAK0B,QAAQC,WAAajB,EAAE5C,WAAa4D,QAAQC,UAAU,CAChHC,aAAcC,KAAKC,UAAUpB,GAC7BlB,OAAQiB,EAAEsB,IACT7N,SAAS8F,MAAOyG,IAAMvM,SAAS4K,gBAAkB,OAAS,IAAM2B,EAAEsB,IAAK,eAAgB9E,GAAKA,EAAE+E,WAAW,4BAA4BC,QAAUhD,EAAEpC,EAAGF,KAAKuF,MAAMjB,IAAI,IAAO1B,EAAE,cAAehB,EAAG1B,EAAGN,GAAIuD,EAAEC,cAAa,GAAK9C,EAAET,uBAXtN,SAAS2F,EAAE7G,GACjB,IAAIG,EAAGC,EAAGG,EACVyE,IAAMA,EAAIhF,GAAIiG,GAAKjG,EAAIgF,EAAGE,EAAIN,EAAImB,GAAK3F,EAAI6E,EAAI,GAAKA,EAAI,IAAMiB,EAAI,EAAID,EAAIC,GAAK,EAAIjB,EAAG,gBAAkB9E,EAAI8C,GAAGX,SAAW/B,EAAIH,EAAIA,GAAI,gBAAkBD,EAAEmC,SAAW/B,EAAIH,GAAK,EAAIA,IAAK,kBAAoBD,EAAEmC,SAAW/B,EAAIH,EAAI,GAAK,EAAIA,EAAIA,GAAK,EAAI,EAAIA,GAAKA,EAAI,GAAI,gBAAkBD,EAAEmC,SAAW/B,EAAIH,EAAIA,EAAIA,GAAI,iBAAmBD,EAAEmC,SAAW/B,IAAMH,EAAIA,EAAIA,EAAI,GAAI,mBAAqBD,EAAEmC,SAAW/B,EAAIH,EAAI,GAAK,EAAIA,EAAIA,EAAIA,GAAKA,EAAI,IAAM,EAAIA,EAAI,IAAM,EAAIA,EAAI,GAAK,GAAI,gBAAkBD,EAAEmC,SAAW/B,EAAIH,EAAIA,EAAIA,EAAIA,GAAI,iBAAmBD,EAAEmC,SAAW/B,EAAI,KAAMH,EAAIA,EAAIA,EAAIA,GAAI,mBAAqBD,EAAEmC,SAAW/B,EAAIH,EAAI,GAAK,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,IAAMA,EAAIA,EAAIA,EAAIA,GAAI,gBAAkBD,EAAEmC,SAAW/B,EAAIH,EAAIA,EAAIA,EAAIA,EAAIA,GAAI,iBAAmBD,EAAEmC,SAAW/B,EAAI,IAAMH,EAAIA,EAAIA,EAAIA,EAAIA,GAAI,mBAAqBD,EAAEmC,SAAW/B,EAAIH,EAAI,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,KAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAAID,EAAEoC,eAAiBhC,EAAIJ,EAAEoC,aAAanC,IAAKG,GAAKH,GAAIuB,EAAEqC,SAAS,EAAG3C,KAAKuF,MAAM1B,IAAK,SAAUlF,EAAGG,GACx9B,IAAIC,EAAIuB,EAAEkD,YACV,GAAI7E,GAAKG,GAAKC,GAAKD,IAAMyE,EAAIzE,GAAKwB,EAAEmE,YAAc1F,IAAM4F,EAAG,OAAOxB,EAAEC,cAAa,GAAKd,EAAEpC,EAAGpB,EAAGuE,GAAIT,EAAE,aAAchB,EAAG1B,EAAGN,KAAMsD,EAAIS,EAAI,MAFq0B,CAG38BE,EAAGS,KAAOpB,EAAI5C,EAAET,sBAAsB2F,GAAI7B,EAAIhF,UAUlDG,EAAI,SAAWH,GACjB,IAAKA,EAAE8G,oBAAsB,IAAM9G,EAAE+G,QAAU/G,EAAEgH,SAAWhH,EAAEiH,SAAWjH,EAAEkH,WAAa,YAAalH,EAAEmH,SAAW5F,EAAIvB,EAAEmH,OAAOjH,QAAQK,KAAO,MAAQgB,EAAEoD,QAAQyC,gBAAkBpH,EAAEmH,OAAOjH,QAAQmE,EAAExC,SAAWN,EAAE8F,WAAa1F,EAAE2F,SAASD,UAAY9F,EAAEgG,WAAa5F,EAAE2F,SAASC,UAAY,IAAIC,KAAKjG,EAAE3C,MAAO,CAC5S,IAAIuB,EAAGC,EAEP,IACED,EAAIc,EAAEwG,mBAAmBlG,EAAEmG,OAC3B,MAAO1H,GACPG,EAAIc,EAAEM,EAAEmG,MAGV,GAAI,MAAQvH,EAAG,CACb,IAAKkE,EAAEtC,eAAgB,OACvB3B,EAAIxH,SAAS4K,qBACRpD,EAAIxH,SAASkM,cAAc3E,IAEjCC,EAAIA,GAAK,SAAWD,EAAIC,EAAIxH,SAAS4K,mBAAqBxD,EAAE2H,iBAAkB,SAAU3H,GACvF,GAAIoG,QAAQwB,cAAgB5H,EAAEwC,YAAc4D,QAAQzL,MAAO,CACzD,IAAIwF,EAAIwB,EAAE2F,SAASI,KACnBvH,EAAIA,GAAK,GAAIiG,QAAQwB,aAAa,CAChCtB,aAAcC,KAAKC,UAAUxG,GAC7BkE,OAAQ/D,GAAKwB,EAAEkD,aACdjM,SAAS8F,MAAOyB,GAAKwB,EAAE2F,SAAS1I,OANwC,CAQ7EyF,GAAIG,EAAEqD,cAAczH,EAAGmB,MAGzBnB,EAAI,SAAWJ,GACjB,GAAI,OAASoG,QAAQzL,OAASyL,QAAQzL,MAAM2L,cAAgBF,QAAQzL,MAAM2L,eAAiBC,KAAKC,UAAUnC,GAAI,CAC5G,IAAIlE,EAAIiG,QAAQzL,MAAMuJ,OACtB,iBAAmB/D,GAAKA,KAAOA,EAAIvH,SAASkM,cAAc7D,EAAEmF,QAAQzL,MAAMuJ,WAAaM,EAAEqD,cAAc1H,EAAG,KAAM,CAC9GqC,WAAW,MASjB,OAJAgC,EAAEsD,QAAU,WACVzD,IAAMzL,SAASmP,oBAAoB,QAAS5H,GAAG,GAAKwB,EAAEoG,oBAAoB,WAAY3H,GAAG,GAAKoE,EAAEC,eAAgBF,EAAID,EAAI/C,EAAI8C,EAAI,OAG3H,WACL,KAAM,kBAAmBzL,UAAY,qBAAsB+I,GAAK,0BAA2BA,GAAK,YAAaA,EAAE1B,QAAQ3E,WAAY,KAAM,iGACzIkJ,EAAEsD,UAAWzD,EAAI1B,EAAEf,EAAG5B,GAAK,IAAKsE,EAAID,EAAEvC,OAASlJ,SAASkM,cAAcT,EAAEvC,QAAU,KAAMlJ,SAASM,iBAAiB,QAASiH,GAAG,GAAKkE,EAAE7B,WAAa6B,EAAE5B,UAAYd,EAAEzI,iBAAiB,WAAYkH,GAAG,GAF7L,GAGFoE,GA9JErE,CAAEH,IACV,QAFkD,OAElD,e,2CC7CH5F,EAAQ4N,YAAa,EACrB5N,EAAQ6N,YAAS7L,EAEjB,IAAI8L,EAAW3M,OAAO4M,QAAU,SAAUhB,GACxC,IAAK,IAAIlE,EAAI,EAAGA,EAAI9H,UAAUqE,OAAQyD,IAAK,CACzC,IAAImF,EAASjN,UAAU8H,GAEvB,IAAK,IAAIpD,KAAOuI,EACV7M,OAAOD,UAAUoE,eAAezF,KAAKmO,EAAQvI,KAC/CsH,EAAOtH,GAAOuI,EAAOvI,IAK3B,OAAOsH,GAGLkB,EAAe,WACjB,SAASC,EAAiBnB,EAAQrM,GAChC,IAAK,IAAImI,EAAI,EAAGA,EAAInI,EAAM0E,OAAQyD,IAAK,CACrC,IAAIsF,EAAazN,EAAMmI,GACvBsF,EAAW5M,WAAa4M,EAAW5M,aAAc,EACjD4M,EAAW1M,cAAe,EACtB,UAAW0M,IAAYA,EAAW3M,UAAW,GACjDL,OAAOiN,eAAerB,EAAQoB,EAAW1I,IAAK0I,IAIlD,OAAO,SAAU1O,EAAa4O,EAAYC,GAGxC,OAFID,GAAYH,EAAiBzO,EAAYyB,UAAWmN,GACpDC,GAAaJ,EAAiBzO,EAAa6O,GACxC7O,GAdQ,GAoBf8O,EAAUC,EAFD,EAAQ,SAMjBC,EAAcD,EAFD,EAAQ,SAMrBE,EAAoBF,EAFD,EAAQ,SAM3BG,EAAqBH,EAFD,EAAQ,SAI5BI,EAAe,EAAQ,QAEvBC,EAAmB,EAAQ,QAE/B,SAASL,EAAuBM,GAC9B,OAAOA,GAAOA,EAAIlB,WAAakB,EAAM,CACnCC,QAASD,GAIb,SAASE,EAAyBF,EAAK5J,GACrC,IAAI6H,EAAS,GAEb,IAAK,IAAIlE,KAAKiG,EACR5J,EAAK1C,QAAQqG,IAAM,GAClB1H,OAAOD,UAAUoE,eAAezF,KAAKiP,EAAKjG,KAC/CkE,EAAOlE,GAAKiG,EAAIjG,IAGlB,OAAOkE,EAGT,SAASxN,EAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAIxB,SAASC,EAA2BC,EAAMC,GACxC,IAAKD,EACH,MAAM,IAAIE,eAAe,6DAG3B,OAAOD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BD,EAAPC,EAmB5E,IAA6B8C,EACvBsM,EAAQC,EAoPVC,GAAoB,EAAIT,EAAkBK,SAASH,EAAa3O,mBAAoB2O,EAAaQ,wBAAyBR,EAAazO,iBAAnH,EAJJ,WAClB,OAAO,QAILkP,GAtPyB1M,EAsPHwM,EAnPjBD,EAAQD,EAAS,SAAUK,GAGhC,SAASC,IAGP,OAFAhQ,EAAgBsB,KAAM0O,GAEf5P,EAA2BkB,KAAMyO,EAAiBxO,MAAMD,KAAME,YA2LvE,OApNJ,SAAmBC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIvB,UAAU,kEAAoEuB,GAG1FD,EAASE,UAAYC,OAAOC,OAAOH,GAAcA,EAAWC,UAAW,CACrEG,YAAa,CACXC,MAAON,EACPO,YAAY,EACZC,UAAU,EACVC,cAAc,KAGdR,IAAYE,OAAOO,eAAiBP,OAAOO,eAAeV,EAAUC,GAAcD,EAASW,UAAYV,GAOzGW,CAAU2N,EAAeD,GAQzBC,EAAcrO,UAAUe,sBAAwB,SAA+BC,GAC7E,QAAQ,EAAIyM,EAAmBI,SAASlO,KAAKH,MAAOwB,IAGtDqN,EAAcrO,UAAUsO,yBAA2B,SAAkCC,EAAOC,GAC1F,IAAKA,EACH,OAAO,KAGT,OAAQD,EAAME,MACZ,KAAKd,EAAiBe,UAAUC,OAChC,KAAKhB,EAAiBe,UAAUE,SAC9B,MAAO,CACLC,UAAWL,GAGf,KAAKb,EAAiBe,UAAUI,MAC9B,MAAO,CACLC,QAASP,GAIf,MAAM,IAAItP,MAAM,IAAMqP,EAAME,KAAO,uGAGrCJ,EAAcrO,UAAUgP,yBAA2B,SAAkCC,GACnF,IAAIC,EAEAX,EAAQU,EAAKV,MACbY,EAAoBF,EAAKE,kBACzBC,EAAgBH,EAAKG,cACrBZ,EAAiBS,EAAKT,eAC1B,OAAO5B,EAAS,GAAIuC,IAAoBD,EAAY,IAAcX,EAAME,MAAQ,GAAGY,OAAOF,EAAkBZ,EAAME,OAAS,GAAI,CAAC7B,EAAS,GAAIwC,EAAezP,KAAK2O,yBAAyBC,EAAOC,MAAoBU,KAGvNb,EAAcrO,UAAUsP,sBAAwB,SAA+BC,GAC7E,IAAIC,EAAWC,EAEXlB,EAAQgB,EAAMhB,MACdmB,EAAWH,EAAMG,SACjBN,EAAgBG,EAAMH,cACtBZ,EAAiBe,EAAMf,eAE3B,OAAQD,EAAME,MACZ,KAAKd,EAAiBe,UAAUiB,MAC9B,OAAO/C,EAAS,GAAI8C,IAAWF,EAAY,IAAcjB,EAAME,MAAQD,EAAgBgB,EAAUI,gBAAkBhD,EAAS,GAAIwC,GAAgBI,IAElJ,KAAK7B,EAAiBe,UAAUmB,KAC9B,OAAOjD,EAAS,GAAI8C,EAAU,CAC5BI,eAAgBlD,EAAS,GAAIwC,KAGjC,KAAKzB,EAAiBe,UAAUqB,KAC9B,OAAOnD,EAAS,GAAI8C,EAAU,CAC5BM,eAAgBpD,EAAS,GAAIwC,KAInC,OAAOxC,EAAS,GAAI8C,IAAWD,EAAY,IAAclB,EAAME,MAAQ7B,EAAS,GAAIwC,GAAgBK,KAGtGpB,EAAcrO,UAAUiQ,4BAA8B,SAAqCd,EAAmBO,GAC5G,IAAIQ,EAAoBtD,EAAS,GAAI8C,GAOrC,OALAzP,OAAO+D,KAAKmL,GAAmB5H,SAAQ,SAAU4I,GAC/C,IAAIC,EAEJF,EAAoBtD,EAAS,GAAIsD,IAAoBE,EAAY,IAAcD,GAAkBhB,EAAkBgB,GAAiBC,OAE/HF,GAGT7B,EAAcrO,UAAUqQ,sBAAwB,SAA+B9B,EAAOC,GAmBpF,OAAO,GAGTH,EAAcrO,UAAUsQ,mBAAqB,SAA4BrN,EAAUyM,GACjF,IAAIa,EAAS5Q,KAETwP,EAAoB,GAyCxB,OAvCA9B,EAAQQ,QAAQ2C,SAASjJ,QAAQtE,GAAU,SAAUsL,GACnD,GAAKA,GAAUA,EAAM/O,MAArB,CAIA,IAAIiR,EAAelC,EAAM/O,MACrBgP,EAAiBiC,EAAaxN,SAC9ByN,EAAa5C,EAAyB2C,EAAc,CAAC,aAErDrB,GAAgB,EAAI1B,EAAaiD,mCAAmCD,GAIxE,OAFAH,EAAOF,sBAAsB9B,EAAOC,GAE5BD,EAAME,MACZ,KAAKd,EAAiBe,UAAUkC,KAChC,KAAKjD,EAAiBe,UAAUmC,KAChC,KAAKlD,EAAiBe,UAAUE,SAChC,KAAKjB,EAAiBe,UAAUC,OAChC,KAAKhB,EAAiBe,UAAUI,MAC9BK,EAAoBoB,EAAOvB,yBAAyB,CAClDT,MAAOA,EACPY,kBAAmBA,EACnBC,cAAeA,EACfZ,eAAgBA,IAElB,MAEF,QACEkB,EAAWa,EAAOjB,sBAAsB,CACtCf,MAAOA,EACPmB,SAAUA,EACVN,cAAeA,EACfZ,eAAgBA,SAMxBkB,EAAW/P,KAAKsQ,4BAA4Bd,EAAmBO,IAIjErB,EAAcrO,UAAUwB,OAAS,WAC/B,IAAIsP,EAASnR,KAAKH,MACdyD,EAAW6N,EAAO7N,SAClBzD,EAAQsO,EAAyBgD,EAAQ,CAAC,aAE1CpB,EAAW9C,EAAS,GAAIpN,GAM5B,OAJIyD,IACFyM,EAAW/P,KAAK2Q,mBAAmBrN,EAAUyM,IAGxCrC,EAAQQ,QAAQtQ,cAAckE,EAAWiO,IAGlD3C,EAAasB,EAAe,KAAM,CAAC,CACjC9J,IAAK,YAuBLwM,IAAK,SAAa3T,GAChBqE,EAAUrE,UAAYA,MAInBiR,EAjMe,CAkMtBhB,EAAQQ,QAAQpM,WAAYsM,EAAOiD,UAAY,CAC/CC,KAAM1D,EAAYM,QAAQqD,OAC1BpB,eAAgBvC,EAAYM,QAAQqD,OACpCjO,SAAUsK,EAAYM,QAAQsD,UAAU,CAAC5D,EAAYM,QAAQuD,QAAQ7D,EAAYM,QAAQwD,MAAO9D,EAAYM,QAAQwD,OACpHC,aAAc/D,EAAYM,QAAQ0D,OAClCC,MAAOjE,EAAYM,QAAQ4D,KAC3BC,wBAAyBnE,EAAYM,QAAQ4D,KAC7CzB,eAAgBzC,EAAYM,QAAQqD,OACpCS,KAAMpE,EAAYM,QAAQuD,QAAQ7D,EAAYM,QAAQqD,QACtDU,KAAMrE,EAAYM,QAAQuD,QAAQ7D,EAAYM,QAAQqD,QACtDW,SAAUtE,EAAYM,QAAQuD,QAAQ7D,EAAYM,QAAQqD,QAC1DY,oBAAqBvE,EAAYM,QAAQkE,KACzCC,OAAQzE,EAAYM,QAAQuD,QAAQ7D,EAAYM,QAAQqD,QACxD9O,MAAOmL,EAAYM,QAAQuD,QAAQ7D,EAAYM,QAAQqD,QACvD9N,MAAOmK,EAAYM,QAAQ0D,OAC3B3B,gBAAiBrC,EAAYM,QAAQqD,OACrCe,cAAe1E,EAAYM,QAAQ0D,QAClCxD,EAAOlL,aAAe,CACvB2O,OAAO,EACPE,yBAAyB,GACxB3D,EAAOpN,KAAOc,EAAUd,KAAMoN,EAAOnN,OAAS,WAC/C,IAAIsR,EAAczQ,EAAUb,SAmB5B,OAjBKsR,IAEHA,GAAc,EAAIxE,EAAazO,kBAAkB,CAC/CkT,QAAS,GACTrC,eAAgB,GAChB4B,yBAAyB,EACzB1B,eAAgB,GAChBoC,SAAU,GACVC,SAAU,GACVC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXpP,MAAO,GACPwM,gBAAiB,MAIdsC,GACNlE,GASLG,EAAasE,aAAetE,EAAavN,OACzC9B,EAAQ6N,OAASwB,EACjBrP,EAAQ+O,QAAUM,G,kCChWlB,yBAMeuE,IAJD,SAAC,GAAD,IAAEjP,EAAF,EAAEA,QAAF,OACV,0CAAe,0BAAMrB,MAAO,CAAEO,MAAOc,EAAU,UAAY,YAA5C,MAAf,O,kCCDJ,IAAIkP,EAAUrL,MAAMqL,QAChBC,EAAU3S,OAAO+D,KACjB6O,EAAU5S,OAAOD,UAAUoE,eAC3B0O,EAAoC,oBAAZnO,QAsE5B9F,EAAOC,QAAU,SAAuBmH,EAAG8C,GACzC,IACE,OAtEJ,SAASgK,EAAM9M,EAAG8C,GAEhB,GAAI9C,IAAM8C,EAAG,OAAO,EAEpB,GAAI9C,GAAK8C,GAAiB,iBAAL9C,GAA6B,iBAAL8C,EAAe,CAC1D,IAEIpB,EACAzD,EACAK,EAJAyO,EAAOL,EAAQ1M,GACfgN,EAAON,EAAQ5J,GAKnB,GAAIiK,GAAQC,EAAM,CAEhB,IADA/O,EAAS+B,EAAE/B,SACG6E,EAAE7E,OAAQ,OAAO,EAE/B,IAAKyD,EAAIzD,EAAgB,GAARyD,KACf,IAAKoL,EAAM9M,EAAE0B,GAAIoB,EAAEpB,IAAK,OAAO,EAGjC,OAAO,EAGT,GAAIqL,GAAQC,EAAM,OAAO,EACzB,IAAIC,EAAQjN,aAAa1C,KACrB4P,EAAQpK,aAAaxF,KACzB,GAAI2P,GAASC,EAAO,OAAO,EAC3B,GAAID,GAASC,EAAO,OAAOlN,EAAEH,WAAaiD,EAAEjD,UAC5C,IAAIsN,EAAUnN,aAAaoN,OACvBC,EAAUvK,aAAasK,OAC3B,GAAID,GAAWE,EAAS,OAAO,EAC/B,GAAIF,GAAWE,EAAS,OAAOrN,EAAE6B,YAAciB,EAAEjB,WACjD,IAAI9D,EAAO4O,EAAQ3M,GAEnB,IADA/B,EAASF,EAAKE,UACC0O,EAAQ7J,GAAG7E,OAAQ,OAAO,EAEzC,IAAKyD,EAAIzD,EAAgB,GAARyD,KACf,IAAKkL,EAAQlU,KAAKoK,EAAG/E,EAAK2D,IAAK,OAAO,EAMxC,GAAImL,GAAkB7M,aAAatB,SAAWoE,aAAapE,QAAS,OAAOsB,IAAM8C,EAEjF,IAAKpB,EAAIzD,EAAgB,GAARyD,KAGf,KAAY,YAFZpD,EAAMP,EAAK2D,KAEa1B,EAAEsN,UAQnBR,EAAM9M,EAAE1B,GAAMwE,EAAExE,KAAO,OAAO,EAMvC,OAAO,EAGT,OAAO0B,GAAMA,GAAK8C,GAAMA,EAMfgK,CAAM9M,EAAG8C,GAChB,MAAOyK,GACP,GAAIA,EAAMC,SAAWD,EAAMC,QAAQC,MAAM,sBAAyC,aAAlBF,EAAMG,OAOpE,OADAC,QAAQC,KAAK,mEAAoEL,EAAM7R,KAAM6R,EAAMC,UAC5F,EAIT,MAAMD,K,uBC1FV,EAAQ,QAER1U,EAAQ4N,YAAa,EACC5N,EAAQgV,gBAAkB,CAC9CjE,KAAM,iBACNE,KAAM,iBACNJ,MAAO,mBAHT,IAKIjB,EAAY5P,EAAQ4P,UAAY,CAClCqF,KAAM,OACNlE,KAAM,OACNmE,KAAM,OACNjE,KAAM,OACNa,KAAM,OACNC,KAAM,OACNjC,SAAU,WACVD,OAAQ,SACRG,MAAO,QACPa,MAAO,SAiBLsE,GAfkBnV,EAAQoV,gBAAkBjU,OAAO+D,KAAK0K,GAAWnP,KAAI,SAAUoC,GACnF,OAAO+M,EAAU/M,MAEE7C,EAAQqV,eAAiB,CAC5CC,QAAS,UACTC,SAAU,UACVC,KAAM,OACNC,UAAW,aACXC,WAAY,YACZC,UAAW,WACXC,KAAM,OACNC,SAAU,WACVC,IAAK,MACLC,IAAK,OAEa/V,EAAQmV,cAAgB,CAC1Ca,UAAW,YACXC,QAAS,UACTC,MAAO,YACPC,gBAAiB,kBACjBC,YAAa,cACb,aAAc,YACdC,SAAU,WACVC,SAAU,aAEOtW,EAAQuW,aAAe,CACxCC,cAAe,eACfC,MAAO,QACPC,0BAA2B,0BAC3BC,uBAAwB,sBACxBC,eAAgB,iBAEC5W,EAAQ6W,aAAe1V,OAAO+D,KAAKiQ,GAAe2B,QAAO,SAAUhI,EAAKrJ,GAEzF,OADAqJ,EAAIqG,EAAc1P,IAAQA,EACnBqJ,IACN,IACqB9O,EAAQ+W,kBAAoB,CAACnH,EAAUE,SAAUF,EAAUC,OAAQD,EAAUI,OAC9EhQ,EAAQgX,iBAAmB,qB,sBCzDlD,cAAQ,QAERhX,EAAQ4N,YAAa,EACrB5N,EAAQ+U,KAAO/U,EAAQ8G,sBAAwB9G,EAAQC,mBAAqBD,EAAQG,iBAAmBH,EAAQoP,wBAA0BpP,EAAQ6R,uCAAoC7P,EAErL,IAAIiV,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUrI,GAC5F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAyB,mBAAXoI,QAAyBpI,EAAIzN,cAAgB6V,QAAUpI,IAAQoI,OAAOhW,UAAY,gBAAkB4N,GAGvHhB,EAAW3M,OAAO4M,QAAU,SAAUhB,GACxC,IAAK,IAAIlE,EAAI,EAAGA,EAAI9H,UAAUqE,OAAQyD,IAAK,CACzC,IAAImF,EAASjN,UAAU8H,GAEvB,IAAK,IAAIpD,KAAOuI,EACV7M,OAAOD,UAAUoE,eAAezF,KAAKmO,EAAQvI,KAC/CsH,EAAOtH,GAAOuI,EAAOvI,IAK3B,OAAOsH,GAKLwB,EAAUC,EAFD,EAAQ,SAMjB4I,EAAiB5I,EAFD,EAAQ,SAIxBK,EAAmB,EAAQ,QAE/B,SAASL,EAAuBM,GAC9B,OAAOA,GAAOA,EAAIlB,WAAakB,EAAM,CACnCC,QAASD,GAIb,IAoKMuI,EApKFzE,EAA0B,SAAiC0E,GAC7D,IAAIC,IAASxW,UAAUqE,OAAS,QAAsBpD,IAAjBjB,UAAU,KAAmBA,UAAU,GAE5E,OAAe,IAAXwW,EACK3O,OAAO0O,GAGT1O,OAAO0O,GAAKE,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,WAG1HC,EAAwB,SAA+BC,GACzD,IAAIC,EAAiBC,EAAqBF,EAAW7I,EAAiBe,UAAUiB,OAC5EgH,EAAoBD,EAAqBF,EAAW7I,EAAiB0H,aAAaK,gBAEtF,GAAIiB,GAAqBF,EAEvB,OAAOE,EAAkBL,QAAQ,OAAO,WACtC,OAAOG,KAIX,IAAIG,EAAwBF,EAAqBF,EAAW7I,EAAiB0H,aAAaC,eAC1F,OAAOmB,GAAkBG,QAAyB9V,GAGhD+V,EAAyB,SAAgCL,GAC3D,OAAOE,EAAqBF,EAAW7I,EAAiB0H,aAAaI,yBAA2B,cAG9FqB,EAA6B,SAAoCC,EAASP,GAC5E,OAAOA,EAAUQ,QAAO,SAAUxX,GAChC,YAAiC,IAAnBA,EAAMuX,MACnBxX,KAAI,SAAUC,GACf,OAAOA,EAAMuX,MACZnB,QAAO,SAAUqB,EAAUC,GAC5B,OAAOtK,EAAS,GAAIqK,EAAUC,KAC7B,KAGDC,EAA0B,SAAiCC,EAAmBZ,GAChF,OAAOA,EAAUQ,QAAO,SAAUxX,GAChC,YAAyD,IAA3CA,EAAMmO,EAAiBe,UAAUqF,SAC9CxU,KAAI,SAAUC,GACf,OAAOA,EAAMmO,EAAiBe,UAAUqF,SACvCsD,UAAUzB,QAAO,SAAU0B,EAAkBC,GAC9C,IAAKD,EAAiBpT,OAGpB,IAFA,IAAIF,EAAO/D,OAAO+D,KAAKuT,GAEd5P,EAAI,EAAGA,EAAI3D,EAAKE,OAAQyD,IAAK,CACpC,IACI6P,EADexT,EAAK2D,GACiBmE,cAEzC,IAA0D,IAAtDsL,EAAkB9V,QAAQkW,IAAiCD,EAAIC,GACjE,OAAOF,EAAiBjI,OAAOkI,GAKrC,OAAOD,IACN,KAGDG,EAAuB,SAA8BpO,EAAS+N,EAAmBZ,GAEnF,IAAIkB,EAAmB,GACvB,OAAOlB,EAAUQ,QAAO,SAAUxX,GAChC,QAAI8H,MAAMqL,QAAQnT,EAAM6J,WAIM,IAAnB7J,EAAM6J,IACfwK,EAAK,WAAaxK,EAAU,mDAAwD0M,EAAQvW,EAAM6J,IAAY,MAGzG,MACN9J,KAAI,SAAUC,GACf,OAAOA,EAAM6J,MACZgO,UAAUzB,QAAO,SAAU+B,EAAcC,GAC1C,IAAIC,EAAmB,GACvBD,EAAaZ,QAAO,SAAUO,GAI5B,IAHA,IAAIO,OAAsB,EACtB9T,EAAO/D,OAAO+D,KAAKuT,GAEd5P,EAAI,EAAGA,EAAI3D,EAAKE,OAAQyD,IAAK,CACpC,IAAIoQ,EAAe/T,EAAK2D,GACpB6P,EAAwBO,EAAajM,eAEiB,IAAtDsL,EAAkB9V,QAAQkW,IAAmCM,IAAwBnK,EAAiBwG,eAAeS,KAAkD,cAA3C2C,EAAIO,GAAqBhM,eAAoC0L,IAA0B7J,EAAiBwG,eAAeS,KAAoD,eAA7C2C,EAAIC,GAAuB1L,gBACvRgM,EAAsBN,IAIyB,IAA7CJ,EAAkB9V,QAAQyW,IAAyBA,IAAiBpK,EAAiBwG,eAAeK,YAAcuD,IAAiBpK,EAAiBwG,eAAeE,UAAY0D,IAAiBpK,EAAiBwG,eAAeM,YAClOqD,EAAsBC,GAI1B,IAAKD,IAAwBP,EAAIO,GAC/B,OAAO,EAGT,IAAI1X,EAAQmX,EAAIO,GAAqBhM,cAUrC,OARK4L,EAAiBI,KACpBJ,EAAiBI,GAAuB,IAGrCD,EAAiBC,KACpBD,EAAiBC,GAAuB,KAGrCJ,EAAiBI,GAAqB1X,KACzCyX,EAAiBC,GAAqB1X,IAAS,GACxC,MAIRiX,UAAU9P,SAAQ,SAAUgQ,GAC7B,OAAOI,EAAazW,KAAKqW,MAK3B,IAFA,IAAIvT,EAAO/D,OAAO+D,KAAK6T,GAEdlQ,EAAI,EAAGA,EAAI3D,EAAKE,OAAQyD,IAAK,CACpC,IAAIoQ,EAAe/T,EAAK2D,GACpBqQ,GAAW,EAAI9B,EAAerI,SAAS,GAAI6J,EAAiBK,GAAeF,EAAiBE,IAChGL,EAAiBK,GAAgBC,EAGnC,OAAOL,IACN,IAAIN,WAGLX,EAAuB,SAA8BF,EAAWyB,GAClE,IAAK,IAAItQ,EAAI6O,EAAUtS,OAAS,EAAGyD,GAAK,EAAGA,IAAK,CAC9C,IAAInI,EAAQgX,EAAU7O,GAEtB,GAAInI,EAAM4E,eAAe6T,GACvB,OAAOzY,EAAMyY,GAIjB,OAAO,MAqBLC,GACE/B,EAAQ5S,KAAK4U,MACV,SAAUC,GACf,IAAIC,EAAc9U,KAAK4U,MAEnBE,EAAclC,EAAQ,IACxBA,EAAQkC,EACRD,EAASC,IAETnS,YAAW,WACTgS,EAAYE,KACX,KAKLE,EAAc,SAAqBnN,GACrC,OAAOhF,aAAagF,IAGlBvF,EAA0C,oBAAXvI,OAAyBA,OAAOuI,uBAAyBvI,OAAOkb,6BAA+Blb,OAAOmb,0BAA4BN,EAAc9R,EAAOR,uBAAyBsS,EAC/MrS,EAAyC,oBAAXxI,OAAyBA,OAAOwI,sBAAwBxI,OAAOob,4BAA8Bpb,OAAOqb,yBAA2BJ,EAAclS,EAAOP,sBAAwByS,EAE1MzE,EAAO,SAAc8E,GACvB,OAAO/E,SAAmC,mBAAjBA,QAAQC,MAAuBD,QAAQC,KAAK8E,IAGnEC,EAAkB,KAmBlBC,EAAmB,SAA0BC,EAAUC,GACzD,IAAI5G,EAAU2G,EAAS3G,QACnBrC,EAAiBgJ,EAAShJ,eAC1BE,EAAiB8I,EAAS9I,eAC1BoC,EAAW0G,EAAS1G,SACpBC,EAAWyG,EAASzG,SACpBC,EAAewG,EAASxG,aACxBR,EAAsBgH,EAAShH,oBAC/BS,EAAauG,EAASvG,WACtBC,EAAYsG,EAAStG,UACrBpP,EAAQ0V,EAAS1V,MACjBwM,EAAkBkJ,EAASlJ,gBAC/BoJ,EAAiBrL,EAAiBe,UAAUmB,KAAMC,GAClDkJ,EAAiBrL,EAAiBe,UAAUqB,KAAMC,GAClDiJ,EAAY7V,EAAOwM,GACnB,IAAIsJ,EAAa,CACf/G,QAASgH,EAAWxL,EAAiBe,UAAUqF,KAAM5B,GACrDC,SAAU+G,EAAWxL,EAAiBe,UAAUkC,KAAMwB,GACtDC,SAAU8G,EAAWxL,EAAiBe,UAAUmC,KAAMwB,GACtDC,aAAc6G,EAAWxL,EAAiBe,UAAUE,SAAU0D,GAC9DC,WAAY4G,EAAWxL,EAAiBe,UAAUC,OAAQ4D,GAC1DC,UAAW2G,EAAWxL,EAAiBe,UAAUI,MAAO0D,IAEtD4G,EAAY,GACZC,EAAc,GAClBpZ,OAAO+D,KAAKkV,GAAY3R,SAAQ,SAAUwP,GACxC,IAAIuC,EAAsBJ,EAAWnC,GACjCwC,EAAUD,EAAoBC,QAC9BC,EAAUF,EAAoBE,QAE9BD,EAAQrV,SACVkV,EAAUrC,GAAWwC,GAGnBC,EAAQtV,SACVmV,EAAYtC,GAAWmC,EAAWnC,GAASyC,YAG/CT,GAAMA,IACNjH,EAAoBgH,EAAUM,EAAWC,IAGvCI,EAAe,SAAsBC,GACvC,OAAOpS,MAAMqL,QAAQ+G,GAAiBA,EAAcC,KAAK,IAAMD,GAG7DT,EAAc,SAAqB7V,EAAOwW,QACvB,IAAVxW,GAAyB9F,SAAS8F,QAAUA,IACrD9F,SAAS8F,MAAQqW,EAAarW,IAGhC4V,EAAiBrL,EAAiBe,UAAUiB,MAAOiK,IAGjDZ,EAAmB,SAA0B3P,EAASuQ,GACxD,IAAIC,EAAavc,SAASwc,qBAAqBzQ,GAAS,GAExD,GAAKwQ,EAAL,CASA,IALA,IAAIE,EAAwBF,EAAWG,aAAarM,EAAiBmI,kBACjEmE,EAAmBF,EAAwBA,EAAsBG,MAAM,KAAO,GAC9EC,EAAqB,GAAG9K,OAAO4K,GAC/BG,EAAgBna,OAAO+D,KAAK4V,GAEvBjS,EAAI,EAAGA,EAAIyS,EAAclW,OAAQyD,IAAK,CAC7C,IAAI0S,EAAYD,EAAczS,GAC1BvH,EAAQwZ,EAAWS,IAAc,GAEjCR,EAAWG,aAAaK,KAAeja,GACzCyZ,EAAWrR,aAAa6R,EAAWja,IAGQ,IAAzC6Z,EAAiB3Y,QAAQ+Y,IAC3BJ,EAAiB/Y,KAAKmZ,GAGxB,IAAIC,EAAcH,EAAmB7Y,QAAQ+Y,IAExB,IAAjBC,GACFH,EAAmB5Y,OAAO+Y,EAAa,GAI3C,IAAK,IAAIC,EAAKJ,EAAmBjW,OAAS,EAAGqW,GAAM,EAAGA,IACpDV,EAAWW,gBAAgBL,EAAmBI,IAG5CN,EAAiB/V,SAAWiW,EAAmBjW,OACjD2V,EAAWW,gBAAgB7M,EAAiBmI,kBACnC+D,EAAWG,aAAarM,EAAiBmI,oBAAsBsE,EAAcT,KAAK,MAC3FE,EAAWrR,aAAamF,EAAiBmI,iBAAkBsE,EAAcT,KAAK,QAI9ER,EAAa,SAAoB1K,EAAMgM,GACzC,IAAIC,EAAcpd,SAASqd,MAAQrd,SAASkM,cAAcmE,EAAiBe,UAAUsF,MACjF4G,EAAWF,EAAY1V,iBAAiByJ,EAAO,IAAMd,EAAiBmI,iBAAmB,KACzF0D,EAAUlS,MAAMtH,UAAU6a,MAAMlc,KAAKic,GACrCrB,EAAU,GACVuB,OAAgB,EA0CpB,OAxCIL,GAAQA,EAAKvW,QACfuW,EAAKlT,SAAQ,SAAUgQ,GACrB,IAAIwD,EAAazd,SAASC,cAAckR,GAExC,IAAK,IAAI4L,KAAa9C,EACpB,GAAIA,EAAInT,eAAeiW,GACrB,GAAIA,IAAc1M,EAAiBwG,eAAeK,WAChDuG,EAAWlM,UAAY0I,EAAI1I,eACtB,GAAIwL,IAAc1M,EAAiBwG,eAAeE,SACnD0G,EAAWC,WACbD,EAAWC,WAAWjM,QAAUwI,EAAIxI,QAEpCgM,EAAWE,YAAY3d,SAAS4d,eAAe3D,EAAIxI,cAEhD,CACL,IAAI3O,OAAkC,IAAnBmX,EAAI8C,GAA6B,GAAK9C,EAAI8C,GAC7DU,EAAWvS,aAAa6R,EAAWja,GAKzC2a,EAAWvS,aAAamF,EAAiBmI,iBAAkB,QAEvD0D,EAAQ2B,MAAK,SAAUC,EAAa/Z,GAEtC,OADAyZ,EAAgBzZ,EACT0Z,EAAWM,YAAYD,MAE9B5B,EAAQjY,OAAOuZ,EAAe,GAE9BvB,EAAQrY,KAAK6Z,MAKnBvB,EAAQjS,SAAQ,SAAUgQ,GACxB,OAAOA,EAAI+D,WAAWC,YAAYhE,MAEpCgC,EAAQhS,SAAQ,SAAUgQ,GACxB,OAAOmD,EAAYO,YAAY1D,MAE1B,CACLiC,QAASA,EACTD,QAASA,IAITiC,EAAoC,SAA2C5B,GACjF,OAAO3Z,OAAO+D,KAAK4V,GAAYhE,QAAO,SAAUQ,EAAK7R,GACnD,IAAIkX,OAAkC,IAApB7B,EAAWrV,GAAuBA,EAAM,KAAQqV,EAAWrV,GAAO,IAAO,GAAKA,EAChG,OAAO6R,EAAMA,EAAM,IAAMqF,EAAOA,IAC/B,KAuBDC,EAAuC,SAA8C9B,GACvF,IAAI+B,EAAY9b,UAAUqE,OAAS,QAAsBpD,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GACpF,OAAOI,OAAO+D,KAAK4V,GAAYhE,QAAO,SAAUhI,EAAKrJ,GAEnD,OADAqJ,EAAID,EAAiBsG,cAAc1P,IAAQA,GAAOqV,EAAWrV,GACtDqJ,IACN+N,IA6CDC,EAAmB,SAA0BnN,EAAMgM,EAAMpE,GAC3D,OAAQ5H,GACN,KAAKd,EAAiBe,UAAUiB,MAC9B,MAAO,CACLkM,YAAa,WACX,OAvCuEzY,EAuC5BqX,EAAKrX,MAvC8BwW,EAuCvBa,EAAK7K,iBAnCnDkM,EAAa,CAC5BvX,IAAKnB,IACOuK,EAAiBmI,mBAAoB,EAC/CtW,EAAQkc,EAAqC9B,EADQkC,GAElD,CAACzO,EAAQQ,QAAQtQ,cAAcoQ,EAAiBe,UAAUiB,MAAOnQ,EAAO4D,IAR7C,IAA6CA,EAAOwW,EAClFkC,EAMAtc,GAkCEsI,SAAU,WACR,OA9EkB,SAA+B2G,EAAMrL,EAAOwW,EAAYvD,GAClF,IAAI0F,EAAkBP,EAAkC5B,GACpDoC,EAAiBvC,EAAarW,GAClC,OAAO2Y,EAAkB,IAAMtN,EAAO,IAAMd,EAAiBmI,iBAAmB,WAAeiG,EAAkB,IAAMrK,EAAwBsK,EAAgB3F,GAAU,KAAO5H,EAAO,IAAM,IAAMA,EAAO,IAAMd,EAAiBmI,iBAAmB,WAAepE,EAAwBsK,EAAgB3F,GAAU,KAAO5H,EAAO,IA2EpTwN,CAAsBxN,EAAMgM,EAAKrX,MAAOqX,EAAK7K,gBAAiByG,KAI3E,KAAK1I,EAAiBmG,gBAAgBjE,KACtC,KAAKlC,EAAiBmG,gBAAgB/D,KACpC,MAAO,CACL8L,YAAa,WACX,OAAOH,EAAqCjB,IAE9C3S,SAAU,WACR,OAAO0T,EAAkCf,KAI/C,QACE,MAAO,CACLoB,YAAa,WACX,OAjDyB,SAAsCpN,EAAMgM,GAC7E,OAAOA,EAAKlb,KAAI,SAAUgY,EAAK5P,GAC7B,IAAIuU,EAEAC,IAAaD,EAAa,CAC5B3X,IAAKoD,IACOgG,EAAiBmI,mBAAoB,EAAMoG,GAazD,OAZAjc,OAAO+D,KAAKuT,GAAKhQ,SAAQ,SAAU8S,GACjC,IAAI+B,EAAkBzO,EAAiBsG,cAAcoG,IAAcA,EAEnE,GAAI+B,IAAoBzO,EAAiBwG,eAAeK,YAAc4H,IAAoBzO,EAAiBwG,eAAeE,SAAU,CAClI,IAAIgI,EAAU9E,EAAI1I,WAAa0I,EAAIxI,QACnCoN,EAAUG,wBAA0B,CAClCC,OAAQF,QAGVF,EAAUC,GAAmB7E,EAAI8C,MAG9BhN,EAAQQ,QAAQtQ,cAAckR,EAAM0N,MA8B9BK,CAA6B/N,EAAMgM,IAE5C3S,SAAU,WACR,OA7FiB,SAA8B2G,EAAMgM,EAAMpE,GACnE,OAAOoE,EAAK7E,QAAO,SAAUQ,EAAKmB,GAChC,IAAIkF,EAAgBxc,OAAO+D,KAAKuT,GAAKP,QAAO,SAAUqD,GACpD,QAASA,IAAc1M,EAAiBwG,eAAeK,YAAc6F,IAAc1M,EAAiBwG,eAAeE,aAClHuB,QAAO,SAAUrE,EAAQ8I,GAC1B,IAAIoB,OAAiC,IAAnBlE,EAAI8C,GAA6BA,EAAYA,EAAY,KAAQ3I,EAAwB6F,EAAI8C,GAAYhE,GAAU,IACrI,OAAO9E,EAASA,EAAS,IAAMkK,EAAOA,IACrC,IACCiB,EAAanF,EAAI1I,WAAa0I,EAAIxI,SAAW,GAC7C4N,GAAsE,IAAtDhP,EAAiBkI,kBAAkBvU,QAAQmN,GAC/D,OAAO2H,EAAM,IAAM3H,EAAO,IAAMd,EAAiBmI,iBAAmB,WAAe2G,GAAiBE,EAAgB,KAAO,IAAMD,EAAa,KAAOjO,EAAO,OAC3J,IAkFYmO,CAAqBnO,EAAMgM,EAAMpE,OAmClDvX,EAAQ6R,kCA1GgC,SAA2CnR,GACjF,IAAIqd,EAAiBhd,UAAUqE,OAAS,QAAsBpD,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GACzF,OAAOI,OAAO+D,KAAKxE,GAAOoW,QAAO,SAAUhI,EAAKrJ,GAE9C,OADAqJ,EAAID,EAAiBgI,aAAapR,IAAQA,GAAO/E,EAAM+E,GAChDqJ,IACNiP,IAsGL/d,EAAQoP,wBApTsB,SAAiC4K,GACzDF,GACF/S,EAAqB+S,GAGnBE,EAAStH,MACXoH,EAAkBhT,GAAsB,WACtCiT,EAAiBC,GAAU,WACzBF,EAAkB,YAItBC,EAAiBC,GACjBF,EAAkB,OAwStB9Z,EAAQG,iBA/Be,SAA0BgQ,GAC/C,IAAIkD,EAAUlD,EAAKkD,QACfrC,EAAiBb,EAAKa,eACtBuG,EAASpH,EAAKoH,OACdrG,EAAiBf,EAAKe,eACtBoC,EAAWnD,EAAKmD,SAChBC,EAAWpD,EAAKoD,SAChBC,EAAerD,EAAKqD,aACpBC,EAAatD,EAAKsD,WAClBC,EAAYvD,EAAKuD,UACjBsK,EAAa7N,EAAK7L,MAClBA,OAAuBtC,IAAfgc,EAA2B,GAAKA,EACxClN,EAAkBX,EAAKW,gBAC3B,MAAO,CACLqB,KAAM2K,EAAiBjO,EAAiBe,UAAUqF,KAAM5B,EAASkE,GACjEvG,eAAgB8L,EAAiBjO,EAAiBmG,gBAAgBjE,KAAMC,EAAgBuG,GACxFrG,eAAgB4L,EAAiBjO,EAAiBmG,gBAAgB/D,KAAMC,EAAgBqG,GACxF1E,KAAMiK,EAAiBjO,EAAiBe,UAAUkC,KAAMwB,EAAUiE,GAClEzE,KAAMgK,EAAiBjO,EAAiBe,UAAUmC,KAAMwB,EAAUgE,GAClExE,SAAU+J,EAAiBjO,EAAiBe,UAAUE,SAAU0D,EAAc+D,GAC9ErE,OAAQ4J,EAAiBjO,EAAiBe,UAAUC,OAAQ4D,EAAY8D,GACxEjU,MAAOwZ,EAAiBjO,EAAiBe,UAAUI,MAAO0D,EAAW6D,GACrEjT,MAAOwY,EAAiBjO,EAAiBe,UAAUiB,MAAO,CACxDvM,MAAOA,EACPwM,gBAAiBA,GAChByG,KAOPvX,EAAQC,mBArWiB,SAA4ByX,GACnD,MAAO,CACLrE,QAASgF,EAAwB,CAACxJ,EAAiBwG,eAAeG,MAAOkC,GACzE1G,eAAgBgH,EAA2BnJ,EAAiBmG,gBAAgBjE,KAAM2G,GAClFhF,MAAOkF,EAAqBF,EAAW7I,EAAiB0H,aAAaE,OACrEc,OAAQK,EAAqBF,EAAW7I,EAAiB0H,aAAaG,2BACtExF,eAAgB8G,EAA2BnJ,EAAiBmG,gBAAgB/D,KAAMyG,GAClFpE,SAAUqF,EAAqB9J,EAAiBe,UAAUkC,KAAM,CAACjD,EAAiBwG,eAAeS,IAAKjH,EAAiBwG,eAAeG,MAAOkC,GAC7InE,SAAUoF,EAAqB9J,EAAiBe,UAAUmC,KAAM,CAAClD,EAAiBwG,eAAeO,KAAM/G,EAAiBwG,eAAeC,QAASzG,EAAiBwG,eAAeI,UAAW5G,EAAiBwG,eAAeQ,SAAUhH,EAAiBwG,eAAeM,WAAY+B,GACjRlE,aAAcmF,EAAqB9J,EAAiBe,UAAUE,SAAU,CAACjB,EAAiBwG,eAAeK,YAAagC,GACtH1E,oBAAqB+E,EAAuBL,GAC5CjE,WAAYkF,EAAqB9J,EAAiBe,UAAUC,OAAQ,CAAChB,EAAiBwG,eAAeU,IAAKlH,EAAiBwG,eAAeK,YAAagC,GACvJhE,UAAWiF,EAAqB9J,EAAiBe,UAAUI,MAAO,CAACnB,EAAiBwG,eAAeE,UAAWmC,GAC9GpT,MAAOmT,EAAsBC,GAC7B5G,gBAAiBkH,EAA2BnJ,EAAiBmG,gBAAgBnE,MAAO6G,KAwVxF1X,EAAQ8G,sBAAwBA,EAChC9G,EAAQ+U,KAAOA,I,wDCjiBf,0DAYA,SAASkJ,EAAT,GAAkD,IAAnCC,EAAkC,EAAlCA,YAAaC,EAAqB,EAArBA,KAAMrL,EAAe,EAAfA,KAAMxO,EAAS,EAATA,MAC9BF,EAASnB,yBAAe,YAAxBmB,KAcFga,EAAkBF,GAAe9Z,EAAKC,aAAa6Z,YAEzD,OACE,kBAAC,IAAD,CACEhN,eAAgB,CACdiN,QAEF7Z,MAAOA,EACP6O,cAAa,QAAU/O,EAAKC,aAAaC,MACzCwO,KAAM,CACJ,CACEjQ,KAAK,cACL0a,QAASa,GAEX,CACEjF,SAAS,WACToE,QAASjZ,GAEX,CACE6U,SAAS,iBACToE,QAASa,GAEX,CACEjF,SAAS,UACToE,QAAQ,WAEV,CACE1a,KAAK,eACL0a,QAAQ,WAEV,CACE1a,KAAK,kBACL0a,QAASnZ,EAAKC,aAAaga,QAE7B,CACExb,KAAK,gBACL0a,QAASjZ,GAEX,CACEzB,KAAK,sBACL0a,QAASa,IAEX7N,OAAOuC,IAET,0BAAMwL,IAAI,aAAa9Z,KAAK,2EAA2E+Z,UAAU,0EAA0EC,YAAY,eAK7MP,EAAIla,aAAe,CACjBoa,KAAK,KACLrL,KAAM,GACNoL,YAAY,IAUCD","file":"dcc8ebaf68fd80167791b50d14c1a6a3f8fb9a3a-a6397c25858f054794f7.js","sourcesContent":["/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n var ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen\n };\n\n if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n define(function () {\n return ExecutionEnvironment;\n });\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = ExecutionEnvironment;\n } else {\n window.ExecutionEnvironment = ExecutionEnvironment;\n }\n})();","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nvar ExecutionEnvironment = _interopDefault(require('exenv'));\n\nvar shallowEqual = _interopDefault(require('shallowequal'));\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state = void 0;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = function (_Component) {\n _inherits(SideEffect, _Component);\n\n function SideEffect() {\n _classCallCheck(this, SideEffect);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n } // Try to use displayName of wrapped component\n\n\n SideEffect.peek = function peek() {\n return state;\n }; // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n SideEffect.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n };\n\n SideEffect.prototype.componentWillMount = function componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n SideEffect.prototype.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n SideEffect.prototype.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n SideEffect.prototype.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.Component);\n\n SideEffect.displayName = 'SideEffect(' + getDisplayName(WrappedComponent) + ')';\n SideEffect.canUseDOM = ExecutionEnvironment.canUseDOM;\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","import React from \"react\"\nimport { useStaticQuery, graphql } from \"gatsby\"\nimport Img from \"gatsby-image\"\n\n/*\n * This component is built using `gatsby-image` to automatically serve optimized\n * images with lazy loading and reduced file sizes. The image is loaded using a\n * `useStaticQuery`, which allows us to load the image from directly within this\n * component, rather than having to pass the image data down from pages.\n *\n * For more information, see the docs:\n * - `gatsby-image`: https://gatsby.dev/gatsby-image\n * - `useStaticQuery`: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nconst Image = () => {\n const data = useStaticQuery(graphql`\n query {\n placeholderImage: file(relativePath: { eq: \"logo_white.png\" }) {\n childImageSharp {\n fixed(width: 48) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n }\n `)\n\n return \n}\n\nexport default Image\n","import { Link } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport React from \"react\"\nimport Logo from \"../components/ProcessrLogo\"\n\n\nconst Header = ({ siteTitle }) => (\n\n\n \n\n \n Processr.IO\n \n\n\n \n Water & Sewerage\n AI Agents\n Partners\n About Us\n Contact Us\n \n \n\n\n\n)\n\nHeader.propTypes = {\n siteTitle: PropTypes.string,\n}\n\nHeader.defaultProps = {\n siteTitle: ``,\n}\n\nexport default Header\n","import React from \"react\"\nimport { useStaticQuery, graphql } from \"gatsby\"\nimport Img from \"gatsby-image\"\n\n/*\n * This component is built using `gatsby-image` to automatically serve optimized\n * images with lazy loading and reduced file sizes. The image is loaded using a\n * `useStaticQuery`, which allows us to load the image from directly within this\n * component, rather than having to pass the image data down from pages.\n *\n * For more information, see the docs:\n * - `gatsby-image`: https://gatsby.dev/gatsby-image\n * - `useStaticQuery`: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nconst ColdtapLogo = ({className}) => {\n const data = useStaticQuery(graphql`\n query {\n placeholderImage: file(relativePath: { eq: \"coldtap-icon.png\" }) {\n childImageSharp {\n fixed(width: 64) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n }\n `)\n\n return \n}\n\nexport default ColdtapLogo\n","/**\n * Layout component that queries for data\n * with Gatsby's useStaticQuery component\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { useStaticQuery, graphql, Link } from \"gatsby\"\n\nimport Header from \"./header\"\nimport \"./layout.css\"\nimport ColdtapLogo from \"./ColdtapLogo\"\nimport ProcessrIOTitle from './title'\n\nif (typeof window !== \"undefined\") {\n // eslint-disable-next-line global-require\n require(\"smooth-scroll\")('a[href*=\"#\"]')\n}\n\n\nconst Layout = ({ children }) => {\n const data = useStaticQuery(graphql`\n query SiteTitleQuery {\n site {\n siteMetadata {\n title\n }\n }\n }\n `)\n\n return (\n <>\n \n\n {children}\n \n \n\n \n\n\n >\n )\n}\n\nLayout.propTypes = {\n children: PropTypes.node.isRequired,\n}\n\nexport default Layout\n","//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","/*! smooth-scroll v16.1.3 | (c) 2020 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */\nwindow.Element && !Element.prototype.closest && (Element.prototype.closest = function (e) {\n var t,\n n = (this.document || this.ownerDocument).querySelectorAll(e),\n o = this;\n\n do {\n for (t = n.length; 0 <= --t && n.item(t) !== o;) {\n ;\n }\n } while (t < 0 && (o = o.parentElement));\n\n return o;\n}), function () {\n if (\"function\" == typeof window.CustomEvent) return;\n\n function e(e, t) {\n t = t || {\n bubbles: !1,\n cancelable: !1,\n detail: void 0\n };\n var n = document.createEvent(\"CustomEvent\");\n return n.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), n;\n }\n\n e.prototype = window.Event.prototype, window.CustomEvent = e;\n}(), function () {\n for (var r = 0, e = [\"ms\", \"moz\", \"webkit\", \"o\"], t = 0; t < e.length && !window.requestAnimationFrame; ++t) {\n window.requestAnimationFrame = window[e[t] + \"RequestAnimationFrame\"], window.cancelAnimationFrame = window[e[t] + \"CancelAnimationFrame\"] || window[e[t] + \"CancelRequestAnimationFrame\"];\n }\n\n window.requestAnimationFrame || (window.requestAnimationFrame = function (e, t) {\n var n = new Date().getTime(),\n o = Math.max(0, 16 - (n - r)),\n a = window.setTimeout(function () {\n e(n + o);\n }, o);\n return r = n + o, a;\n }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function (e) {\n clearTimeout(e);\n });\n}(), function (e, t) {\n \"function\" == typeof define && define.amd ? define([], function () {\n return t(e);\n }) : \"object\" == typeof exports ? module.exports = t(e) : e.SmoothScroll = t(e);\n}(\"undefined\" != typeof global ? global : \"undefined\" != typeof window ? window : this, function (M) {\n \"use strict\";\n\n var q = {\n ignore: \"[data-scroll-ignore]\",\n header: null,\n topOnEmptyHash: !0,\n speed: 500,\n speedAsDuration: !1,\n durationMax: null,\n durationMin: null,\n clip: !0,\n offset: 0,\n easing: \"easeInOutCubic\",\n customEasing: null,\n updateURL: !0,\n popstate: !0,\n emitEvents: !0\n },\n I = function I() {\n var n = {};\n return Array.prototype.forEach.call(arguments, function (e) {\n for (var t in e) {\n if (!e.hasOwnProperty(t)) return;\n n[t] = e[t];\n }\n }), n;\n },\n r = function r(e) {\n \"#\" === e.charAt(0) && (e = e.substr(1));\n\n for (var t, n = String(e), o = n.length, a = -1, r = \"\", i = n.charCodeAt(0); ++a < o;) {\n if (0 === (t = n.charCodeAt(a))) throw new InvalidCharacterError(\"Invalid character: the input contains U+0000.\");\n 1 <= t && t <= 31 || 127 == t || 0 === a && 48 <= t && t <= 57 || 1 === a && 48 <= t && t <= 57 && 45 === i ? r += \"\\\\\" + t.toString(16) + \" \" : r += 128 <= t || 45 === t || 95 === t || 48 <= t && t <= 57 || 65 <= t && t <= 90 || 97 <= t && t <= 122 ? n.charAt(a) : \"\\\\\" + n.charAt(a);\n }\n\n return \"#\" + r;\n },\n F = function F() {\n return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);\n },\n L = function L(e) {\n return e ? (t = e, parseInt(M.getComputedStyle(t).height, 10) + e.offsetTop) : 0;\n var t;\n },\n x = function x(e, t, n) {\n 0 === e && document.body.focus(), n || (e.focus(), document.activeElement !== e && (e.setAttribute(\"tabindex\", \"-1\"), e.focus(), e.style.outline = \"none\"), M.scrollTo(0, t));\n },\n H = function H(e, t, n, o) {\n if (t.emitEvents && \"function\" == typeof M.CustomEvent) {\n var a = new CustomEvent(e, {\n bubbles: !0,\n detail: {\n anchor: n,\n toggle: o\n }\n });\n document.dispatchEvent(a);\n }\n };\n\n return function (o, e) {\n var b,\n a,\n A,\n O,\n C = {};\n C.cancelScroll = function (e) {\n cancelAnimationFrame(O), O = null, e || H(\"scrollCancel\", b);\n }, C.animateScroll = function (a, r, e) {\n C.cancelScroll();\n var i = I(b || q, e || {}),\n c = \"[object Number]\" === Object.prototype.toString.call(a),\n t = c || !a.tagName ? null : a;\n\n if (c || t) {\n var s = M.pageYOffset;\n i.header && !A && (A = document.querySelector(i.header));\n\n var n,\n o,\n u,\n l,\n m,\n d,\n f,\n h,\n p = L(A),\n g = c ? a : function (e, t, n, o) {\n var a = 0;\n if (e.offsetParent) for (; a += e.offsetTop, e = e.offsetParent;) {\n ;\n }\n return a = Math.max(a - t - n, 0), o && (a = Math.min(a, F() - M.innerHeight)), a;\n }(t, p, parseInt(\"function\" == typeof i.offset ? i.offset(a, r) : i.offset, 10), i.clip),\n y = g - s,\n v = F(),\n w = 0,\n S = (n = y, u = (o = i).speedAsDuration ? o.speed : Math.abs(n / 1e3 * o.speed), o.durationMax && u > o.durationMax ? o.durationMax : o.durationMin && u < o.durationMin ? o.durationMin : parseInt(u, 10)),\n E = function E(e) {\n var t, n, o;\n l || (l = e), w += e - l, d = s + y * (n = m = 1 < (m = 0 === S ? 0 : w / S) ? 1 : m, \"easeInQuad\" === (t = i).easing && (o = n * n), \"easeOutQuad\" === t.easing && (o = n * (2 - n)), \"easeInOutQuad\" === t.easing && (o = n < .5 ? 2 * n * n : (4 - 2 * n) * n - 1), \"easeInCubic\" === t.easing && (o = n * n * n), \"easeOutCubic\" === t.easing && (o = --n * n * n + 1), \"easeInOutCubic\" === t.easing && (o = n < .5 ? 4 * n * n * n : (n - 1) * (2 * n - 2) * (2 * n - 2) + 1), \"easeInQuart\" === t.easing && (o = n * n * n * n), \"easeOutQuart\" === t.easing && (o = 1 - --n * n * n * n), \"easeInOutQuart\" === t.easing && (o = n < .5 ? 8 * n * n * n * n : 1 - 8 * --n * n * n * n), \"easeInQuint\" === t.easing && (o = n * n * n * n * n), \"easeOutQuint\" === t.easing && (o = 1 + --n * n * n * n * n), \"easeInOutQuint\" === t.easing && (o = n < .5 ? 16 * n * n * n * n * n : 1 + 16 * --n * n * n * n * n), t.customEasing && (o = t.customEasing(n)), o || n), M.scrollTo(0, Math.floor(d)), function (e, t) {\n var n = M.pageYOffset;\n if (e == t || n == t || (s < t && M.innerHeight + n) >= v) return C.cancelScroll(!0), x(a, t, c), H(\"scrollStop\", i, a, r), !(O = l = null);\n }(d, g) || (O = M.requestAnimationFrame(E), l = e);\n };\n\n 0 === M.pageYOffset && M.scrollTo(0, 0), f = a, h = i, c || history.pushState && h.updateURL && history.pushState({\n smoothScroll: JSON.stringify(h),\n anchor: f.id\n }, document.title, f === document.documentElement ? \"#top\" : \"#\" + f.id), \"matchMedia\" in M && M.matchMedia(\"(prefers-reduced-motion)\").matches ? x(a, Math.floor(g), !1) : (H(\"scrollStart\", i, a, r), C.cancelScroll(!0), M.requestAnimationFrame(E));\n }\n };\n\n var t = function t(e) {\n if (!e.defaultPrevented && !(0 !== e.button || e.metaKey || e.ctrlKey || e.shiftKey) && \"closest\" in e.target && (a = e.target.closest(o)) && \"a\" === a.tagName.toLowerCase() && !e.target.closest(b.ignore) && a.hostname === M.location.hostname && a.pathname === M.location.pathname && /#/.test(a.href)) {\n var t, n;\n\n try {\n t = r(decodeURIComponent(a.hash));\n } catch (e) {\n t = r(a.hash);\n }\n\n if (\"#\" === t) {\n if (!b.topOnEmptyHash) return;\n n = document.documentElement;\n } else n = document.querySelector(t);\n\n (n = n || \"#top\" !== t ? n : document.documentElement) && (e.preventDefault(), function (e) {\n if (history.replaceState && e.updateURL && !history.state) {\n var t = M.location.hash;\n t = t || \"\", history.replaceState({\n smoothScroll: JSON.stringify(e),\n anchor: t || M.pageYOffset\n }, document.title, t || M.location.href);\n }\n }(b), C.animateScroll(n, a));\n }\n },\n n = function n(e) {\n if (null !== history.state && history.state.smoothScroll && history.state.smoothScroll === JSON.stringify(b)) {\n var t = history.state.anchor;\n \"string\" == typeof t && t && !(t = document.querySelector(r(history.state.anchor))) || C.animateScroll(t, null, {\n updateURL: !1\n });\n }\n };\n\n C.destroy = function () {\n b && (document.removeEventListener(\"click\", t, !1), M.removeEventListener(\"popstate\", n, !1), C.cancelScroll(), O = A = a = b = null);\n };\n\n return function () {\n if (!(\"querySelector\" in document && \"addEventListener\" in M && \"requestAnimationFrame\" in M && \"closest\" in M.Element.prototype)) throw \"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.\";\n C.destroy(), b = I(q, e || {}), A = b.header ? document.querySelector(b.header) : null, document.addEventListener(\"click\", t, !1), b.updateURL && b.popstate && M.addEventListener(\"popstate\", n, !1);\n }(), C;\n };\n});","exports.__esModule = true;\nexports.Helmet = undefined;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactSideEffect = require(\"react-side-effect\");\n\nvar _reactSideEffect2 = _interopRequireDefault(_reactSideEffect);\n\nvar _reactFastCompare = require(\"react-fast-compare\");\n\nvar _reactFastCompare2 = _interopRequireDefault(_reactFastCompare);\n\nvar _HelmetUtils = require(\"./HelmetUtils.js\");\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n _inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n _classCallCheck(this, HelmetWrapper);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !(0, _reactFastCompare2.default)(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case _HelmetConstants.TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _extends2;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_extends2 = {}, _extends2[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _extends2));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _extends3, _extends4;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return _extends({}, newProps, (_extends3 = {}, _extends3[child.type] = nestedChildren, _extends3.titleAttributes = _extends({}, newChildProps), _extends3));\n\n case _HelmetConstants.TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case _HelmetConstants.TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_extends4 = {}, _extends4[child.type] = _extends({}, newChildProps), _extends4));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _extends5;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_extends5 = {}, _extends5[arrayChildName] = arrayTypeChildren[arrayChildName], _extends5));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!_HelmetConstants.VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return (0, _HelmetUtils.warn)(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return (0, _HelmetUtils.warn)(\"Only elements types \" + _HelmetConstants.VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n _react2.default.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = _objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = (0, _HelmetUtils.convertReactPropstoHtmlAttributes)(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.LINK:\n case _HelmetConstants.TAG_NAMES.META:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = _objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return _react2.default.createElement(Component, newProps);\n };\n\n _createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n\n return HelmetWrapper;\n }(_react2.default.Component), _class.propTypes = {\n base: _propTypes2.default.object,\n bodyAttributes: _propTypes2.default.object,\n children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n defaultTitle: _propTypes2.default.string,\n defer: _propTypes2.default.bool,\n encodeSpecialCharacters: _propTypes2.default.bool,\n htmlAttributes: _propTypes2.default.object,\n link: _propTypes2.default.arrayOf(_propTypes2.default.object),\n meta: _propTypes2.default.arrayOf(_propTypes2.default.object),\n noscript: _propTypes2.default.arrayOf(_propTypes2.default.object),\n onChangeClientState: _propTypes2.default.func,\n script: _propTypes2.default.arrayOf(_propTypes2.default.object),\n style: _propTypes2.default.arrayOf(_propTypes2.default.object),\n title: _propTypes2.default.string,\n titleAttributes: _propTypes2.default.object,\n titleTemplate: _propTypes2.default.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = (0, _HelmetUtils.mapStateOnServer)({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = (0, _reactSideEffect2.default)(_HelmetUtils.reducePropsToState, _HelmetUtils.handleClientStateChange, _HelmetUtils.mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexports.Helmet = HelmetExport;\nexports.default = HelmetExport;","import React from \"react\"\n\nconst Title = ({nocolor}) => (\n Processr.IO®\n)\n\nexport default Title\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a),\n arrB = isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (arrA != arrB) return false;\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n var keys = keyList(a);\n length = keys.length;\n if (length !== keyList(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!hasProp.call(b, keys[i])) return false;\n } // end fast-deep-equal\n // start react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element && b instanceof Element) return a === b; // custom handling for React\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n } // end react-fast-compare\n // fast-deep-equal index.js 2.0.1\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (error.message && error.message.match(/stack|recursion/i) || error.number === -2146828260) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","require(\"core-js/modules/es.array.reduce.js\");\n\nexports.__esModule = true;\nvar ATTRIBUTE_NAMES = exports.ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = exports.TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = exports.VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = exports.TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\"\n};\nvar REACT_TAG_MAP = exports.REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = exports.HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = exports.HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = exports.SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = exports.HELMET_ATTRIBUTE = \"data-react-helmet\";","require(\"core-js/modules/es.array.reduce.js\");\n\nexports.__esModule = true;\nexports.warn = exports.requestAnimationFrame = exports.reducePropsToState = exports.mapStateOnServer = exports.handleClientStateChange = exports.convertReactPropstoHtmlAttributes = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _objectAssign = require(\"object-assign\");\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, _HelmetConstants.TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[_HelmetConstants.TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[_HelmetConstants.TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attributeKey === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT || attributeKey === _HelmetConstants.TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = (0, _objectAssign2.default)({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([_HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n bodyAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.LINK, [_HelmetConstants.TAG_PROPERTIES.REL, _HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.META, [_HelmetConstants.TAG_PROPERTIES.NAME, _HelmetConstants.TAG_PROPERTIES.CHARSET, _HelmetConstants.TAG_PROPERTIES.HTTPEQUIV, _HelmetConstants.TAG_PROPERTIES.PROPERTY, _HelmetConstants.TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.NOSCRIPT, [_HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.SCRIPT, [_HelmetConstants.TAG_PROPERTIES.SRC, _HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.STYLE, [_HelmetConstants.TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(_HelmetConstants.TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(_HelmetConstants.TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(_HelmetConstants.TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(_HelmetConstants.TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(_HelmetConstants.TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(_HelmetConstants.TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(_HelmetConstants.TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(_HelmetConstants.TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + _HelmetConstants.HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" + type + \">\" : \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = _HelmetConstants.SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[_HelmetConstants.REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[_HelmetConstants.HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[_HelmetConstants.HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [_react2.default.createElement(_HelmetConstants.TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[_HelmetConstants.HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = _HelmetConstants.REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || mappedAttribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return _react2.default.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case _HelmetConstants.ATTRIBUTE_NAMES.BODY:\n case _HelmetConstants.ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(_HelmetConstants.TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(_HelmetConstants.TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(_HelmetConstants.TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(_HelmetConstants.TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(_HelmetConstants.TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nexports.convertReactPropstoHtmlAttributes = convertReactPropstoHtmlAttributes;\nexports.handleClientStateChange = handleClientStateChange;\nexports.mapStateOnServer = mapStateOnServer;\nexports.reducePropsToState = reducePropsToState;\nexports.requestAnimationFrame = requestAnimationFrame;\nexports.warn = warn;","/**\n * SEO component that queries for data with\n * Gatsby's useStaticQuery React hook\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Helmet from \"react-helmet\"\nimport { useStaticQuery, graphql } from \"gatsby\"\n\nfunction SEO({ description, lang, meta, title }) {\n const { site } = useStaticQuery(\n graphql`\n query {\n site {\n siteMetadata {\n title\n description\n author\n }\n }\n }\n `\n )\n\n const metaDescription = description || site.siteMetadata.description\n\n return (\n \n \n \n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n description: ``,\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n"],"sourceRoot":""}