{"version":3,"sources":["webpack:///./node_modules/vfile/core.js","webpack:///./node_modules/remark-parse/lib/defaults.js","webpack:///./node_modules/unified/index.js","webpack:///./node_modules/gatsby-background-image/index.js","webpack:///./node_modules/is-alphabetical/index.js","webpack:///./node_modules/remark-parse/lib/tokenize/auto-link.js","webpack:///./node_modules/vfile/node_modules/unist-util-stringify-position/index.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/trim-trailing-lines/index.js","webpack:///./node_modules/react-markdown/lib/renderers.js","webpack:///./src/images/aecom_logo_black.svg","webpack:///./node_modules/remark-parse/lib/tokenize/break.js","webpack:///./node_modules/state-toggle/index.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/unherit/index.js","webpack:///./node_modules/extend/index.js","webpack:///./node_modules/vfile-location/index.js","webpack:///./node_modules/react-markdown/lib/wrap-table-rows.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/remark-parse/lib/tokenizer.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/gatsby-background-image/lib/ImageRef.js","webpack:///./node_modules/remark-parse/lib/locate/strong.js","webpack:///./node_modules/remark-parse/lib/locate/code-inline.js","webpack:///./node_modules/remark-parse/lib/locate/emphasis.js","webpack:///./node_modules/react-sticky/lib/Container.js","webpack:///./node_modules/trough/wrap.js","webpack:///./node_modules/gatsby-background-image/lib/ImageUtils.js","webpack:///./node_modules/remark-parse/lib/unescape.js","webpack:///./node_modules/remark-parse/lib/tokenize/newline.js","webpack:///./node_modules/remark-parse/lib/locate/link.js","webpack:///./node_modules/vfile/index.js","webpack:///./node_modules/bail/index.js","webpack:///./node_modules/remark-parse/lib/tokenize/code-fenced.js","webpack:///./node_modules/remark-parse/lib/tokenize/definition.js","webpack:///./node_modules/any-base/index.js","webpack:///./node_modules/html-attributes/lib/html-attributes.js","webpack:///./node_modules/is-whitespace-character/index.js","webpack:///./node_modules/x-is-string/index.js","webpack:///./node_modules/react-markdown/lib/get-definitions.js","webpack:///./node_modules/react-markdown/lib/react-markdown.js","webpack:///./node_modules/is-alphanumerical/index.js","webpack:///./node_modules/remark-parse/lib/tokenize/code-inline.js","webpack:///./node_modules/collapse-white-space/index.js","webpack:///./node_modules/remark-parse/lib/tokenize/code-indented.js","webpack:///./node_modules/gatsby-background-image/lib/MediaUtils.js","webpack:///./node_modules/remark-parse/lib/util/interrupt.js","webpack:///./node_modules/remark-parse/lib/tokenize/strong.js","webpack:///./node_modules/react-sticky/lib/Sticky.js","webpack:///./node_modules/remark-parse/lib/tokenize/heading-atx.js","webpack:///./node_modules/markdown-escapes/index.js","webpack:///./node_modules/remark-parse/lib/locate/delete.js","webpack:///./node_modules/remark-parse/lib/locate/escape.js","webpack:///./node_modules/remark-parse/lib/tokenize/heading-setext.js","webpack:///./node_modules/gatsby-background-image/lib/StyleUtils.js","webpack:///./node_modules/is-plain-obj/index.js","webpack:///./node_modules/react-markdown/lib/uri-transformer.js","webpack:///./node_modules/remark-parse/lib/decode.js","webpack:///./src/actions/utils.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/remark-parse/lib/tokenize/blockquote.js","webpack:///./src/images/home-01.svg","webpack:///./src/components/nav.js","webpack:///./node_modules/gatsby-background-image/lib/StyleCreation.js","webpack:///./node_modules/remark-parse/lib/tokenize/paragraph.js","webpack:///./node_modules/repeat-string/index.js","webpack:///./node_modules/filter-invalid-dom-props/dist/index.js","webpack:///./node_modules/trim/index.js","webpack:///./node_modules/remark-parse/lib/tokenize/text.js","webpack:///./node_modules/remark-parse/lib/util/html.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./node_modules/remark-parse/lib/tokenize/url.js","webpack:///./node_modules/remark-parse/lib/tokenize/delete.js","webpack:///./node_modules/react-markdown/lib/ast-to-react.js","webpack:///./node_modules/any-base/src/converter.js","webpack:///./node_modules/mdast-add-list-metadata/node_modules/unist-util-visit-parents/index.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v1.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/parse.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v35.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/md5.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v3.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v4.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/sha1.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v5.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/nil.js","webpack:///./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/version.js","webpack:///./node_modules/remark-parse/lib/tokenize/html-inline.js","webpack:///./node_modules/remark-parse/lib/locate/url.js","webpack:///./node_modules/parse-entities/decode-entity.browser.js","webpack:///./node_modules/react-sticky/lib/index.js","webpack:///./node_modules/gatsby-background-image/lib/ClassCache.js","webpack:///./node_modules/remark-parse/lib/tokenize/html-block.js","webpack:///./node_modules/is-decimal/index.js","webpack:///./node_modules/parse-entities/index.js","webpack:///./node_modules/unist-util-visit/index.js","webpack:///./node_modules/remark-parse/lib/util/remove-indentation.js","webpack:///./node_modules/remark-parse/lib/locate/break.js","webpack:///./node_modules/remark-parse/lib/locate/tag.js","webpack:///./node_modules/sort-media-queries/lib/index.js","webpack:///./node_modules/remark-parse/lib/tokenize/emphasis.js","webpack:///./node_modules/unist-util-remove-position/index.js","webpack:///./node_modules/react-markdown/lib/plugins/naive-html.js","webpack:///./node_modules/vfile/node_modules/vfile-message/index.js","webpack:///./src/images/aecom_logo_white.svg","webpack:///./node_modules/raf/node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/remark-parse/lib/tokenize/footnote-definition.js","webpack:///./node_modules/remark-parse/index.js","webpack:///./node_modules/remark-parse/lib/parser.js","webpack:///./node_modules/is-hexadecimal/index.js","webpack:///./src/components/StrapiImage.js","webpack:///./node_modules/short-uuid/index.js","webpack:///./node_modules/react-markdown/lib/symbols.js","webpack:///./node_modules/remark-parse/lib/tokenize/link.js","webpack:///./node_modules/remark-parse/lib/util/normalize.js","webpack:///./node_modules/vfile/node_modules/replace-ext/index.js","webpack:///./node_modules/gatsby-background-image/lib/SimpleUtils.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/unist-util-visit-parents/node_modules/unist-util-is/convert.js","webpack:///./node_modules/remark-parse/lib/util/get-indentation.js","webpack:///./node_modules/remark-parse/lib/set-options.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/gatsby-background-image/lib/IntersectionObserverUtils.js","webpack:///./node_modules/is-word-character/index.js","webpack:///./src/components/FormErrors.js","webpack:///./node_modules/gatsby-background-image/lib/ImageHandling.js","webpack:///./node_modules/remark-parse/lib/tokenize/thematic-break.js","webpack:///./node_modules/remark-parse/lib/tokenize/list.js","webpack:///./node_modules/remark-parse/lib/tokenize/escape.js","webpack:///./node_modules/react-markdown/lib/plugins/disallow-node.js","webpack:///./node_modules/gatsby-background-image/lib/HelperUtils.js","webpack:///./node_modules/remark-parse/lib/tokenize/table.js","webpack:///./node_modules/unist-util-visit-parents/index.js","webpack:///./node_modules/gatsby-background-image/lib/ImageCache.js","webpack:///./node_modules/remark-parse/lib/tokenize/reference.js","webpack:///./node_modules/mdast-add-list-metadata/index.js","webpack:///./node_modules/raf/index.js","webpack:///./node_modules/trough/index.js","webpack:///./node_modules/gatsby-background-image/lib/BackgroundUtils.js","webpack:///./node_modules/remark-parse/lib/parse.js"],"names":["path","replace","buffer","module","exports","VFile","own","hasOwnProperty","proto","prototype","toString","encoding","value","this","contents","String","order","options","prop","index","length","data","messages","history","cwd","process","call","indexOf","assertPart","part","name","sep","Error","assertNonEmpty","assertPath","Object","defineProperty","get","set","push","dirname","undefined","join","basename","extname","ext","charAt","stem","position","gfm","commonmark","footnotes","pedantic","blocks","extend","bail","vfile","trough","string","plain","unified","attachers","transformers","namespace","frozen","freezeIndex","processor","key","arguments","assertUnfrozen","freeze","use","settings","addPlugin","apply","addList","addPreset","result","plugins","add","plugin","entry","find","slice","parse","doc","Parser","file","assertParser","newable","stringify","node","Compiler","assertCompiler","assertNode","compile","run","runSync","complete","err","tree","assertDone","processSync","destination","values","transformer","Infinity","cb","Promise","executor","resolve","reject","pipeline","p","ctx","next","keys","type","asyncName","_interopRequireDefault","require","__esModule","default","_objectWithoutPropertiesLoose2","_extends2","_assertThisInitialized2","_inheritsLoose2","_react","_propTypes","_BackgroundUtils","_HelperUtils","_ImageUtils","_ImageCache","_ImageRef","_ImageHandling","_StyleUtils","_StyleCreation","_IntersectionObserverUtils","_SimpleUtils","_excluded","BackgroundImage","_React$Component","props","_this","intersectionListener","imageInCache","inImageCache","state","isVisible","onStartLoad","wasCached","imageRef","activatePictureRef","selfRef","setState","imageState","imgLoaded","imgCached","hasActivatedPictureRefs","convertedProps","convertProps","IOSupported","fadeIn","seenBefore","isBrowser","window","IntersectionObserver","critical","hasNoScript","currentClassNames","fixClassName","backgroundStyles","presetBackgroundStyles","className","handleImageLoaded","bind","handleRef","createPictureRef","_proto","componentDidMount","imageReferenceCompleted","componentDidUpdate","prevProps","_this2","imagePropsChanged","bgImage","getCurrentFromData","propName","returnArray","componentWillUnmount","Array","isArray","forEach","currentImageRef","isString","onload","cleanUpListeners","ref","listenToIntersections","rootMargin","activateCacheForImage","onLoad","render","_fixOpacity","fixOpacity","preserveStackingContext","_fixOpacity$style","style","fluid","fixed","backgroundColor","durationFadeIn","Tag","children","keepStatic","remainingProps","stripRemainingProps","bgColor","shouldFadeIn","transitionDelay","divStyle","opacity","image","getCurrentSrcData","noScriptImageData","width","height","display","srcSet","newImageSettings","switchImageSettings","nextImageArray","nextImage","pseudoStyles","createPseudoStyles","originalData","noScriptPseudoStyles","createNoScriptStyles","componentKey","JSON","currentStyles","createElement","dangerouslySetInnerHTML","__html","Component","defaultProps","fixedObject","shape","number","isRequired","src","base64","tracedSVG","srcWebp","srcSetWebp","srcAvif","srcSetAvif","media","fluidObject","aspectRatio","sizes","propTypes","oneOfType","arrayOf","bool","object","crossOrigin","array","func","onError","_default","character","code","charCodeAt","whitespace","decode","locate","autoLink","locator","notInLink","MAILTO_LENGTH","eat","silent","subvalue","queue","hasAtCharacter","link","now","content","tokenizers","exit","column","offset","toLowerCase","substr","inlineTokenizers","text","enterLink","tokenizeInline","title","url","nonTerminated","point","line","pos","start","end","normalizeArray","parts","allowAboveRoot","up","i","last","splice","unshift","filter","xs","f","res","resolvedPath","resolvedAbsolute","TypeError","split","normalize","isAbsolute","trailingSlash","paths","relative","from","to","trim","arr","fromParts","toParts","Math","min","samePartsLength","outputParts","concat","delimiter","hasRoot","matchedSlash","startDot","startPart","preDotState","str","len","xtend","React","supportsStringRender","parseInt","version","SimpleRenderer","tag","getCoreProps","break","paragraph","emphasis","strong","thematicBreak","blockquote","delete","linkReference","imageReference","table","tableHead","tableBody","tableRow","tableCell","align","textAlign","coreProps","isHeader","root","useFragment","Fragment","list","attrs","ordered","listItem","checkbox","checked","readOnly","definition","heading","level","inlineCode","language","html","skipHtml","isBlock","escapeHtml","comp","nodeProps","virtualHtml","parsedHtml","cloneElement","element","hardBreak","context","current","_typeof","input","hint","prim","Symbol","toPrimitive","Number","inherits","Super","Of","From","parameters","hasOwn","toStr","gOPD","getOwnPropertyDescriptor","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","constructor","setProperty","target","enumerable","configurable","newValue","writable","getProperty","copy","copyIsArray","clone","deep","offsetToPositionFactory","indices","positionToOffsetFactory","isNaN","toPosition","toOffset","visit","wrap","io","resolutions","loading","groupByMedia","matchesMedia","_ref","matchMedia","matches","getImageCacheKey","_ref2","srcData","currentData","some","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","create","cacheKey","hasNativeLazyLoadSupport","HTMLImageElement","hasIOSupport","listeners","WeakMap","generateImageSources","imageVariants","map","_ref3","withMedia","without","variant","generateTracedSVGSources","_ref4","generateBase64Sources","_ref5","generateNoscriptSource","_ref6","isWebp","el","observer","entries","has","isIntersecting","intersectionRatio","unobserve","observe","noscriptImg","alt","draggable","Placeholder","forwardRef","generateSources","spreadProps","ariaHidden","baseImage","Img","otherProps","top","left","objectFit","objectPosition","Image","isCritical","addNoScript","useIOSupport","isHydrated","createRef","placeholderRef","img","currentSrc","_convertProps","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","itemProp","shouldReveal","imageStyle","transition","delayHideStyle","imagePlaceholderStyle","placeholderImageProps","overflow","maxWidth","maxHeight","paddingBottom","bottom","right","requireFixedOrFluid","originalPropTypes","componentName","_PropTypes$checkPropT","checkPropTypes","oneOf","location","method","matched","valueLength","self","tokens","methods","updatePosition","onlyAtStart","atStart","notInList","inList","notInBlock","inBlock","inLink","fail","eof","lastIndex","Position","before","indent","indentation","getOffset","prev","combined","n","l","substring","validateEat","reset","test","parent","MERGEABLE_NODES","mergeable","exitStart","isBuffer","readFloatLE","isSlowBuffer","_isBuffer","hasPictureRef","createMultiplePictureRefs","activateMultiplePictureRefs","_MediaUtils","isLoop","hasImageArray","hasArtDirectionArray","addEventListener","imageRefs","imageData","isImageStack","bodyClone","document","getSelectedImage","offsetWidth","offsetHeight","hasPictureElement","pic","createArtDirectionSources","reverse","currentSource","appendChild","sourcesAvif","createSourceElementForSrcSet","sourcesWebp","srcset","every","singleImageRef","imageLoaded","fromIndex","asterisk","underscore","_extends","assign","source","_createClass","defineProperties","descriptor","Constructor","protoProps","staticProps","_react2","_propTypes2","_raf2","_classCallCheck","instance","_possibleConstructorReturn","ReferenceError","Container","_PureComponent","_temp","_len","args","_key","__proto__","getPrototypeOf","events","subscribers","rafHandle","subscribe","handler","unsubscribe","notifySubscribers","evt","framePending","currentTarget","_this$node$getBoundin","getBoundingClientRect","distanceFromTop","distanceFromBottom","eventSource","body","getParent","subClass","superClass","setPrototypeOf","_inherits","event","_this3","cancel","removeEventListener","_this4","onScroll","onTouchStart","onTouchMove","onTouchEnd","PureComponent","childContextTypes","fn","callback","invoked","params","done","error","then","isBase64","imageArrayPropsChanged","hasImageUrl","getUrlString","getImageSrcKey","createDummyImageArray","HTMLPictureElement","Boolean","_ref$addUrl","addUrl","_ref$returnArray","_ref$checkLoaded","checkLoaded","imageString","dataElement","mediaData","_ref5$tracedSVG","_ref5$addUrl","_ref5$returnArray","_ref5$hasImageUrls","hasImageUrls","stringArray","currentString","_base","_imageUrl","currentReturnString","filteredJoin","imageUrl","returnString","base64String","isPropsFluidArray","isPrevPropsFluidArray","isPropsFixedArray","isPrevPropsFixedArray","dummyImageURI","fill","naturalWidth","naturalHeight","escape","VMessage","message","reason","origin","filePath","fatal","info","warn","fenceCount","marker","flag","exdentedContent","closing","exdentedClosing","raw","unescape","lang","beforeURL","beforeTitle","identifier","isEnclosedURLCharacter","isUnclosedURLCharacter","Converter","anyBase","srcAlphabet","dstAlphabet","converter","convert","BIN","OCT","DEC","HEX","re","fromCode","fromCharCode","getDefinitions","defs","reduce","definitions","child","href","_toConsumableArray","arr2","_arrayWithoutHoles","iter","iterator","_iterableToArray","_nonIterableSpread","PropTypes","addListMetadata","naiveHtml","disallowNode","astToReact","wrapTableRows","uriTransformer","defaultRenderers","symbols","allTypes","ReactMarkdown","parserOptions","allowedTypes","disallowedTypes","renderers","parser","applyParserPlugin","rawAst","renderProps","astPlugins","removalMethod","unwrapDisallowed","ofType","allowNode","ifNotMatch","renderHtml","hasHtmlParser","item","identity","HtmlParser","determineAstPlugins","transformedAst","ast","sourcePos","rawSourcePos","transformLinkUri","linkTarget","transformImageUri","types","alphabetical","decimal","contentQueue","subqueue","count","openingCount","found","tickQueue","repeat","blankQueue","subvalueQueue","CODE_INDENT","_sortMediaQueries","sortedVariants","srcSetName","capitalize","sources","sourceWebp","sourceAvif","interruptors","interruptor","config","ignore","bools","_reactDom2","Sticky","_Component","isSticky","wasSticky","handleContainerEvent","preventingStickyStateChanges","scrollTop","offsetTop","placeholder","placeholderClientRect","calculatedHeight","bottomDifference","bottomOffset","topOffset","scrollHeight","offsetParent","disableHardwareAcceleration","transform","disableCompensation","findDOMNode","contextTypes","depth","escapes","defaults","SETEXT_MARKERS","setTransitionStyles","kebabifyBackgroundStyles","escapeClassNames","_shortUuid","_ClassCache","elementExists","inComponentClassCache","additionalClassname","generate","randomClass","hashString","componentClassNames","activateCacheForComponentClass","classNames","specialChars","_gbiSpecialChars","__GBI_SPECIAL_CHARS__","specialCharRegEx","RegExp","styles","resultingStyles","toKebabCase","styledProps","e","backgroundPosition","backgroundRepeat","backgroundSize","x","protocols","uri","first","colon","protocol","entities","decoder","warning","handleWarning","offsets","reference","textContext","referenceContext","LightOrDark","color","r","g","b","match","sqrt","hexToRgb","hex","exec","returnImage","rgb","includes","finalOp","childImageSharp","ctor","superCtor","super_","TempCtor","interrupt","rest","nextIndex","startIndex","prefixed","blockTokenizers","interruptBlockquote","currentLine","indents","enterBlock","tokenizeBlock","Nav","menuClick","globalToggle","clickNaviagte","logoColour","menuOpen","globalOpen","sections","section","setScrollSection","pathname","withPrefix","subSite","setTimeout","navigate","subsections","sticky","isStuck","id","y","viewBox","d","site_name","textColour","menu_name","hide_from_menu","onClick","handleShow","Title","subsite","slug","HomeImage","withLocation","connect","createStyleImage","createPseudoElementWithContent","createPseudoElementMediaQuery","createPseudoElement","appendix","escapedClassName","classes","stringToArray","pseudoClasses","c","pseudoElementString","imageSource","imageSourceWebP","lastImage","afterOpacity","finalImage","pseudoBefore","pseudoAfter","currentBackgroundStyles","hasStackedImages","allSources","sourcesAsUrl","sourcesAsUrlWithCSS","cssStrings","combineArray","currentMedia","sourceString","webPString","trimTrailingLines","size","interruptParagraph","cache","num","max","domProps","isValidDOMProp","_htmlAttributes","_htmlAttributes2","eventProps","onCopy","onCut","onPaste","onWheel","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyDown","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onSelect","onTouchCancel","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionEnd","tokenizer","inlineMethods","openTag","closeTag","openCloseTag","PROTOCOLS","PROTOCOLS_LENGTH","parenCount","nextCharacter","strikethrough","previous","preceding","ReactIs","defaultNodePosition","renderer","isValidElementType","getNodeProps","resolveChildren","childNode","opts","isTagRenderer","sourcePosition","includeNodeIndex","parentChildCount","assignDefined","nodeKey","tight","loose","unwrapParagraphs","getListItemChildren","inline","columnAlignment","parsedChildren","Children","toArray","mergeNodeChildren","divide","newlen","numberMap","fromBase","toBase","isValid","visitor","stack","one","pop","all","getRandomValues","rnds8","Uint8Array","rng","crypto","msCrypto","uuid","byteToHex","_nodeId","_clockseq","_lastMSecs","_lastNSecs","buf","clockseq","seedBytes","random","msecs","Date","nsecs","dt","tl","tmh","v","generateUUID","encodeURIComponent","bytes","stringToBytes","hashfunc","DNS","URL","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","q","a","s","t","cnt","md5ff","md5gg","md5hh","md5ii","v35","msg","output","length32","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","rnds","z","ROTL","K","H","N","ceil","M","_i","j","pow","floor","_i2","W","_t","_t2","T","inlineHTML","EXPRESSION_HTML_LINK_OPEN","EXPRESSION_HTML_LINK_CLOSE","characters","char","entity","innerHTML","textContent","StickyContainer","_Sticky2","_Container2","resetComponentClassCache","componentClassCache","sequence","sequences","legacy","invalid","hexadecimal","alphanumerical","decodeEntity","option","entityCharacters","namedEntity","terminated","following","begin","diff","additional","handleText","handleReference","warningContext","lines","noop","hexa","tests","attribute","bases","disallowed","flush","Function","visitParents","CONTINUE","SKIP","EXIT","parents","getIndent","maximum","stops","padding","minIndent","matrix","shift","mqTypes","determineSortOrder","isMax","sortValA","sortVal","sortValB","ruleA","__media","ruleB","sortInit","rules","rulesLength","itemsValid","allValid","collection","mqCollection","mqTypesLength","createCollection","o","prepareRules","rule","collectionType","valMatch","addRulesToCollection","sorter","sort","sortCollection","transformed","iterateCollectionItem","collectionItem","resultVal","typeLength","transformCollection","word","hard","soft","force","selfClosingRe","simpleTagRe","open","currentParent","selfClosing","getSelfClosing","opening","getSimpleTag","matching","matchingTag","findAndPull","fromNode","toNode","toIndex","virtual","VMessagePrototype","range","parseOrigin","ruleId","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","hr","uptime","getTime","footnoteDefinition","EXPRESSION_INITIAL_TAB","C_BRACKET_OPEN","unherit","Local","toggle","vfileLocation","setOptions","enterList","interruptList","newline","indentedCode","fencedCode","atxHeading","setextHeading","footnote","deletion","blockMethods","tokenizeFactory","StrapiImage","imageInfo","extension","publicURL","_defineProperty","ownKeys","enumerableOnly","getOwnPropertySymbols","sym","_objectSpread","getOwnPropertyDescriptors","toFlickr","makeConvertor","uuidv4","v4","flickrBase58","baseOptions","consistentLength","shortenUUID","longId","translator","paddingParams","translated","padStart","shortIdLength","paddingChar","toAlphabet","useAlphabet","selectedOptions","Set","alphabetLength","log","fromHex","toHex","new","fromUUID","toUUID","shortUuid","shortId","m","enlargeUUID","alphabet","maxLength","constants","cookieBase90","LINK_MARKERS","COMMONMARK_LINK_MARKERS","closed","hasMarker","markers","isImage","collapseWhiteSpace","npath","nFileName","toCamelCase","isObject","letter","toUpperCase","hash","arrayToJoin","fromArray","toPropertyKey","typeFactory","ok","anyFactory","matchesFactory","checks","results","convertAll","arg","getIO","callbackIO","FormErrors","formErrors","field","fieldName","currentSources","dummyArray","markerCount","removeIndent","currentMarker","prevEmpty","empty","items","allLines","emptyLines","enterTop","exitBlockquote","isLoose","indented","interuptors","LIST_ORDERED_COMMONMARK_MARKERS","LIST_ORDERED_MARKERS","LIST_UNORDERED_MARKERS","TAB_SIZE","trail","EXPRESSION_LOOSE_LIST_ITEM","EXPRESSION_TASK_ITEM","EXPRESSION_BULLET","EXPRESSION_PEDANTIC_BULLET","EXPRESSION_INITIAL_INDENT","task","pedanticListItem","normalListItem","replacer","$0","bullet","trimmedLines","$1","$2","$3","$4","untangle","mode","disallow","_filterInvalidDomProps","alignments","alignment","row","hasDash","cell","preamble","lineCount","rows","lineIndex","pipeIndex","is","subresult","toResult","step","resetImageCache","allInImageCache","activateCacheForMultipleImages","objectSrc","bracketed","intro","referenceType","visitWithParents","listNode","global","vendors","suffix","raf","caf","_now","cp","_loop","cancelled","round","handle","polyfill","requestAnimationFrame","cancelAnimationFrame","fns","middleware","getStyleRulesForClassName","getStyleRules","getBackgroundStylesForSingleClass","styleSheets","cssRules","foundClass","foundAcc","styleRule","selectorText","cssStyleRules","console","newData","classObjects","removePosition","EXPRESSION_LINE_BREAKS"],"mappings":"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","file":"033d9e088b3ffb6bac9dc28fd9b97f10d3f7cd02-7eee6f4b1fafdd21b11f.js","sourcesContent":["'use strict';\n\nvar path = require('path');\nvar replace = require('replace-ext');\nvar buffer = require('is-buffer');\nmodule.exports = VFile;\nvar own = {}.hasOwnProperty;\nvar proto = VFile.prototype;\nproto.toString = toString;\n\n/* Order of setting (least specific to most), we need this because\n * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path\n * is needed before a stem can be set. */\nvar order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname'];\n\n/* Construct a new file. */\nfunction VFile(options) {\n var prop;\n var index;\n var length;\n if (!options) {\n options = {};\n } else if (typeof options === 'string' || buffer(options)) {\n options = {\n contents: options\n };\n } else if ('message' in options && 'messages' in options) {\n return options;\n }\n if (!(this instanceof VFile)) {\n return new VFile(options);\n }\n this.data = {};\n this.messages = [];\n this.history = [];\n this.cwd = process.cwd();\n\n /* Set path related properties in the correct order. */\n index = -1;\n length = order.length;\n while (++index < length) {\n prop = order[index];\n if (own.call(options, prop)) {\n this[prop] = options[prop];\n }\n }\n\n /* Set non-path related properties. */\n for (prop in options) {\n if (order.indexOf(prop) === -1) {\n this[prop] = options[prop];\n }\n }\n}\n\n/* Access full path (`~/index.min.js`). */\nObject.defineProperty(proto, 'path', {\n get: function get() {\n return this.history[this.history.length - 1];\n },\n set: function set(path) {\n assertNonEmpty(path, 'path');\n if (path !== this.path) {\n this.history.push(path);\n }\n }\n});\n\n/* Access parent path (`~`). */\nObject.defineProperty(proto, 'dirname', {\n get: function get() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined;\n },\n set: function set(dirname) {\n assertPath(this.path, 'dirname');\n this.path = path.join(dirname || '', this.basename);\n }\n});\n\n/* Access basename (`index.min.js`). */\nObject.defineProperty(proto, 'basename', {\n get: function get() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined;\n },\n set: function set(basename) {\n assertNonEmpty(basename, 'basename');\n assertPart(basename, 'basename');\n this.path = path.join(this.dirname || '', basename);\n }\n});\n\n/* Access extname (`.js`). */\nObject.defineProperty(proto, 'extname', {\n get: function get() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined;\n },\n set: function set(extname) {\n var ext = extname || '';\n assertPart(ext, 'extname');\n assertPath(this.path, 'extname');\n if (ext) {\n if (ext.charAt(0) !== '.') {\n throw new Error('`extname` must start with `.`');\n }\n if (ext.indexOf('.', 1) !== -1) {\n throw new Error('`extname` cannot contain multiple dots');\n }\n }\n this.path = replace(this.path, ext);\n }\n});\n\n/* Access stem (`index.min`). */\nObject.defineProperty(proto, 'stem', {\n get: function get() {\n return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined;\n },\n set: function set(stem) {\n assertNonEmpty(stem, 'stem');\n assertPart(stem, 'stem');\n this.path = path.join(this.dirname || '', stem + (this.extname || ''));\n }\n});\n\n/* Get the value of the file. */\nfunction toString(encoding) {\n var value = this.contents || '';\n return buffer(value) ? value.toString(encoding) : String(value);\n}\n\n/* Assert that `part` is not a path (i.e., does\n * not contain `path.sep`). */\nfunction assertPart(part, name) {\n if (part.indexOf(path.sep) !== -1) {\n throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`');\n }\n}\n\n/* Assert that `part` is not empty. */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty');\n }\n}\n\n/* Assert `path` exists. */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too');\n }\n}","'use strict';\n\nmodule.exports = {\n position: true,\n gfm: true,\n commonmark: false,\n footnotes: false,\n pedantic: false,\n blocks: require('./block-elements.json')\n};","'use strict';\n\n/* Dependencies. */\nvar extend = require('extend');\nvar bail = require('bail');\nvar vfile = require('vfile');\nvar trough = require('trough');\nvar string = require('x-is-string');\nvar plain = require('is-plain-obj');\n\n/* Expose a frozen processor. */\nmodule.exports = unified().freeze();\nvar slice = [].slice;\nvar own = {}.hasOwnProperty;\n\n/* Process pipeline. */\nvar pipeline = trough().use(pipelineParse).use(pipelineRun).use(pipelineStringify);\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file);\n}\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done);\n function done(err, tree, file) {\n if (err) {\n next(err);\n } else {\n ctx.tree = tree;\n ctx.file = file;\n next();\n }\n }\n}\nfunction pipelineStringify(p, ctx) {\n ctx.file.contents = p.stringify(ctx.tree, ctx.file);\n}\n\n/* Function to create the first processor. */\nfunction unified() {\n var attachers = [];\n var transformers = trough();\n var namespace = {};\n var frozen = false;\n var freezeIndex = -1;\n\n /* Data management. */\n processor.data = data;\n\n /* Lock. */\n processor.freeze = freeze;\n\n /* Plug-ins. */\n processor.attachers = attachers;\n processor.use = use;\n\n /* API. */\n processor.parse = parse;\n processor.stringify = stringify;\n processor.run = run;\n processor.runSync = runSync;\n processor.process = process;\n processor.processSync = processSync;\n\n /* Expose. */\n return processor;\n\n /* Create a new processor based on the processor\n * in the current scope. */\n function processor() {\n var destination = unified();\n var length = attachers.length;\n var index = -1;\n while (++index < length) {\n destination.use.apply(null, attachers[index]);\n }\n destination.data(extend(true, {}, namespace));\n return destination;\n }\n\n /* Freeze: used to signal a processor that has finished\n * configuration.\n *\n * For example, take unified itself. It’s frozen.\n * Plug-ins should not be added to it. Rather, it should\n * be extended, by invoking it, before modifying it.\n *\n * In essence, always invoke this when exporting a\n * processor. */\n function freeze() {\n var values;\n var plugin;\n var options;\n var transformer;\n if (frozen) {\n return processor;\n }\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex];\n plugin = values[0];\n options = values[1];\n transformer = null;\n if (options === false) {\n continue;\n }\n if (options === true) {\n values[1] = undefined;\n }\n transformer = plugin.apply(processor, values.slice(1));\n if (typeof transformer === 'function') {\n transformers.use(transformer);\n }\n }\n frozen = true;\n freezeIndex = Infinity;\n return processor;\n }\n\n /* Data management.\n * Getter / setter for processor-specific informtion. */\n function data(key, value) {\n if (string(key)) {\n /* Set `key`. */\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen);\n namespace[key] = value;\n return processor;\n }\n\n /* Get `key`. */\n return own.call(namespace, key) && namespace[key] || null;\n }\n\n /* Set space. */\n if (key) {\n assertUnfrozen('data', frozen);\n namespace = key;\n return processor;\n }\n\n /* Get space. */\n return namespace;\n }\n\n /* Plug-in management.\n *\n * Pass it:\n * * an attacher and options,\n * * a preset,\n * * a list of presets, attachers, and arguments (list\n * of attachers and options). */\n function use(value) {\n var settings;\n assertUnfrozen('use', frozen);\n if (value === null || value === undefined) {\n /* Empty */\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments);\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value);\n } else {\n addPreset(value);\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`');\n }\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings);\n }\n return processor;\n function addPreset(result) {\n addList(result.plugins);\n if (result.settings) {\n settings = extend(settings || {}, result.settings);\n }\n }\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value);\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value);\n } else {\n addPreset(value);\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`');\n }\n }\n function addList(plugins) {\n var length;\n var index;\n if (plugins === null || plugins === undefined) {\n /* Empty */\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n length = plugins.length;\n index = -1;\n while (++index < length) {\n add(plugins[index]);\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`');\n }\n }\n function addPlugin(plugin, value) {\n var entry = find(plugin);\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(entry[1], value);\n }\n entry[1] = value;\n } else {\n attachers.push(slice.call(arguments));\n }\n }\n }\n function find(plugin) {\n var length = attachers.length;\n var index = -1;\n var entry;\n while (++index < length) {\n entry = attachers[index];\n if (entry[0] === plugin) {\n return entry;\n }\n }\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the\n * processor. */\n function parse(doc) {\n var file = vfile(doc);\n var Parser;\n freeze();\n Parser = processor.Parser;\n assertParser('parse', Parser);\n if (newable(Parser)) {\n return new Parser(String(file), file).parse();\n }\n return Parser(String(file), file); // eslint-disable-line new-cap\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), async. */\n function run(node, file, cb) {\n assertNode(node);\n freeze();\n if (!cb && typeof file === 'function') {\n cb = file;\n file = null;\n }\n if (!cb) {\n return new Promise(executor);\n }\n executor(null, cb);\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done);\n function done(err, tree, file) {\n tree = tree || node;\n if (err) {\n reject(err);\n } else if (resolve) {\n resolve(tree);\n } else {\n cb(null, tree, file);\n }\n }\n }\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), sync. */\n function runSync(node, file) {\n var complete = false;\n var result;\n run(node, file, done);\n assertDone('runSync', 'run', complete);\n return result;\n function done(err, tree) {\n complete = true;\n bail(err);\n result = tree;\n }\n }\n\n /* Stringify a Unist node representation of a file\n * (in string or VFile representation) into a string\n * using the `Compiler` on the processor. */\n function stringify(node, doc) {\n var file = vfile(doc);\n var Compiler;\n freeze();\n Compiler = processor.Compiler;\n assertCompiler('stringify', Compiler);\n assertNode(node);\n if (newable(Compiler)) {\n return new Compiler(node, file).compile();\n }\n return Compiler(node, file); // eslint-disable-line new-cap\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the processor,\n * then run transforms on that node, and compile the\n * resulting node using the `Compiler` on the processor,\n * and store that result on the VFile. */\n function process(doc, cb) {\n freeze();\n assertParser('process', processor.Parser);\n assertCompiler('process', processor.Compiler);\n if (!cb) {\n return new Promise(executor);\n }\n executor(null, cb);\n function executor(resolve, reject) {\n var file = vfile(doc);\n pipeline.run(processor, {\n file: file\n }, done);\n function done(err) {\n if (err) {\n reject(err);\n } else if (resolve) {\n resolve(file);\n } else {\n cb(null, file);\n }\n }\n }\n }\n\n /* Process the given document (in string or VFile\n * representation), sync. */\n function processSync(doc) {\n var complete = false;\n var file;\n freeze();\n assertParser('processSync', processor.Parser);\n assertCompiler('processSync', processor.Compiler);\n file = vfile(doc);\n process(file, done);\n assertDone('processSync', 'process', complete);\n return file;\n function done(err) {\n complete = true;\n bail(err);\n }\n }\n}\n\n/* Check if `func` is a constructor. */\nfunction newable(value) {\n return typeof value === 'function' && keys(value.prototype);\n}\n\n/* Check if `value` is an object with keys. */\nfunction keys(value) {\n var key;\n for (key in value) {\n return true;\n }\n return false;\n}\n\n/* Assert a parser is available. */\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`');\n }\n}\n\n/* Assert a compiler is available. */\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`');\n }\n}\n\n/* Assert the processor is not frozen. */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(['Cannot invoke `' + name + '` on a frozen processor.\\nCreate a new ', 'processor first, by invoking it: use `processor()` instead of ', '`processor`.'].join(''));\n }\n}\n\n/* Assert `node` is a Unist node. */\nfunction assertNode(node) {\n if (!node || !string(node.type)) {\n throw new Error('Expected node, got `' + node + '`');\n }\n}\n\n/* Assert that `complete` is `true`. */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error('`' + name + '` finished async. Use `' + asyncName + '` instead');\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _BackgroundUtils = _interopRequireDefault(require(\"./lib/BackgroundUtils\"));\n\nvar _HelperUtils = require(\"./lib/HelperUtils\");\n\nvar _ImageUtils = require(\"./lib/ImageUtils\");\n\nvar _ImageCache = require(\"./lib/ImageCache\");\n\nvar _ImageRef = require(\"./lib/ImageRef\");\n\nvar _ImageHandling = require(\"./lib/ImageHandling\");\n\nvar _StyleUtils = require(\"./lib/StyleUtils\");\n\nvar _StyleCreation = require(\"./lib/StyleCreation\");\n\nvar _IntersectionObserverUtils = require(\"./lib/IntersectionObserverUtils\");\n\nvar _SimpleUtils = require(\"./lib/SimpleUtils\");\n\nvar _excluded = [\"className\", \"style\", \"fluid\", \"fixed\", \"backgroundColor\", \"durationFadeIn\", \"Tag\", \"children\", \"keepStatic\"];\n\nvar BackgroundImage = function (_React$Component) {\n (0, _inheritsLoose2.default)(BackgroundImage, _React$Component);\n\n function BackgroundImage(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n _this.intersectionListener = function () {\n var imageInCache = (0, _ImageCache.inImageCache)(_this.props);\n\n if (!_this.state.isVisible && typeof _this.props.onStartLoad === \"function\") {\n _this.props.onStartLoad({\n wasCached: imageInCache\n });\n }\n\n _this.imageRef = (0, _ImageRef.activatePictureRef)(_this.imageRef, _this.props, _this.selfRef);\n\n _this.setState(function (state) {\n return {\n isVisible: true,\n imageState: state.imageState + 1\n };\n }, function () {\n _this.setState(function (state) {\n return {\n imgLoaded: imageInCache,\n imgCached: (0, _ImageRef.hasActivatedPictureRefs)(_this.imageRef),\n imageState: state.imageState + 1\n };\n });\n });\n };\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = convertedProps.fadeIn;\n var seenBefore = (0, _ImageCache.inImageCache)(convertedProps);\n\n if (!seenBefore && (0, _SimpleUtils.isBrowser)() && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n }\n\n if (!(0, _SimpleUtils.isBrowser)()) {\n isVisible = false;\n }\n\n if (convertedProps.critical) {\n isVisible = true;\n IOSupported = false;\n }\n\n var hasNoScript = !(convertedProps.critical && !fadeIn) && !(0, _SimpleUtils.isBrowser)();\n var imageState = 0;\n\n var _fixClassName = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName[0];\n\n _this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(convertedProps.className));\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n _this.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: isVisible\n }), _this.handleImageLoaded);\n _this.selfRef = null;\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore,\n imageState: imageState,\n currentClassNames: currentClassNames\n };\n return _this;\n }\n\n var _proto = BackgroundImage.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(this.props.className));\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: (0, _ImageCache.inImageCache)(this.props)\n });\n }\n\n if (this.props.critical || this.state.seenBefore) {\n if ((0, _ImageRef.imageReferenceCompleted)(this.imageRef, this.props)) {\n this.handleImageLoaded();\n }\n }\n\n var _fixClassName2 = (0, _StyleUtils.fixClassName)(this.props),\n currentClassNames = _fixClassName2[0];\n\n this.setState({\n currentClassNames: currentClassNames\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n if ((0, _ImageUtils.imagePropsChanged)(this.props, prevProps)) {\n var convertedProps = (0, _HelperUtils.convertProps)(this.props);\n var imageInCache = (0, _ImageCache.inImageCache)(convertedProps);\n\n var _fixClassName3 = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName3[0];\n\n this.setState({\n isVisible: imageInCache || convertedProps.critical,\n imgLoaded: imageInCache,\n seenBefore: imageInCache,\n currentClassNames: currentClassNames\n }, function () {\n _this2.bgImage = (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"currentSrc\",\n returnArray: true\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"src\",\n returnArray: true\n });\n _this2.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: _this2.state.isVisible\n }), _this2.handleImageLoaded);\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.imageRef) {\n if (Array.isArray(this.imageRef)) {\n this.imageRef.forEach(function (currentImageRef) {\n if (!!currentImageRef && !(0, _SimpleUtils.isString)(currentImageRef)) {\n currentImageRef.onload = null;\n }\n });\n } else {\n this.imageRef.onload = null;\n }\n }\n\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n this.selfRef = ref;\n\n if (this.state.IOSupported && ref) {\n this.cleanUpListeners = (0, _IntersectionObserverUtils.listenToIntersections)(ref, this.intersectionListener, this.props.rootMargin);\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n (0, _ImageCache.activateCacheForImage)(this.props);\n this.setState(function (state) {\n return {\n imgLoaded: true,\n imageState: state.imageState + 1\n };\n });\n\n if (this.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _fixOpacity = (0, _StyleUtils.fixOpacity)((0, _HelperUtils.convertProps)(this.props), this.props.preserveStackingContext),\n className = _fixOpacity.className,\n _fixOpacity$style = _fixOpacity.style,\n style = _fixOpacity$style === void 0 ? {} : _fixOpacity$style,\n fluid = _fixOpacity.fluid,\n fixed = _fixOpacity.fixed,\n backgroundColor = _fixOpacity.backgroundColor,\n durationFadeIn = _fixOpacity.durationFadeIn,\n Tag = _fixOpacity.Tag,\n children = _fixOpacity.children,\n keepStatic = _fixOpacity.keepStatic,\n props = (0, _objectWithoutPropertiesLoose2.default)(_fixOpacity, _excluded);\n\n var remainingProps = (0, _HelperUtils.stripRemainingProps)(props);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : typeof backgroundColor !== \"undefined\" ? backgroundColor : \"\";\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached || this.props.fadeIn === \"soft\";\n var transitionDelay = shouldFadeIn ? durationFadeIn / 2 + \"ms\" : \"none\";\n var divStyle = (0, _extends2.default)({\n position: \"relative\"\n }, style);\n if (!this.props.preserveStackingContext) divStyle.opacity = 0.99;\n var image = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed,\n returnArray: true\n });\n var noScriptImageData = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed\n }) || {};\n\n if (fluid || fixed) {\n if (fixed) {\n divStyle.width = style.width || image.width;\n divStyle.height = style.height || image.height;\n divStyle.display = \"inline-block\";\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n }\n } else if (keepStatic) {\n noScriptImageData.srcSet = '';\n } else {\n return null;\n }\n\n var newImageSettings = (0, _ImageHandling.switchImageSettings)({\n image: image,\n bgImage: this.bgImage,\n imageRef: this.imageRef,\n state: this.state\n });\n this.bgImage = newImageSettings.nextImageArray || newImageSettings.nextImage || this.bgImage;\n var pseudoStyles = (0, _StyleCreation.createPseudoStyles)((0, _extends2.default)({\n className: this.state.currentClassNames,\n transitionDelay: transitionDelay,\n bgColor: bgColor,\n backgroundStyles: this.backgroundStyles,\n style: style,\n fadeIn: shouldFadeIn\n }, newImageSettings, {\n originalData: fluid || fixed\n }));\n var noScriptPseudoStyles = (0, _StyleCreation.createNoScriptStyles)({\n image: image,\n bgColor: bgColor,\n className: this.state.currentClassNames,\n backgroundStyles: this.backgroundStyles,\n style: style\n });\n var componentKey = \"\" + (fluid ? \"fluid\" : \"\") + (fixed ? \"fixed\" : \"\") + \"-\" + JSON.stringify(noScriptImageData.srcSet);\n var currentStyles = (0, _extends2.default)({}, this.backgroundStyles, divStyle);\n return _react.default.createElement(Tag, (0, _extends2.default)({\n className: this.state.currentClassNames,\n style: currentStyles,\n ref: this.handleRef,\n key: componentKey\n }, remainingProps), _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: pseudoStyles\n }\n }), this.state.hasNoScript && _react.default.createElement(\"noscript\", null, _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: noScriptPseudoStyles\n }\n })), children);\n };\n\n return BackgroundImage;\n}(_react.default.Component);\n\nBackgroundImage.defaultProps = {\n critical: false,\n fadeIn: true,\n durationFadeIn: 500,\n Tag: \"div\",\n preserveStackingContext: false,\n rootMargin: \"200px\",\n keepStatic: false\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n srcAvif: _propTypes.default.string,\n srcSetAvif: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n srcAvif: _propTypes.default.string,\n srcSetAvif: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nBackgroundImage.propTypes = {\n fixed: _propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fixedObject, _propTypes.default.string]))]),\n fluid: _propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fluidObject, _propTypes.default.string]))]),\n fadeIn: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n durationFadeIn: _propTypes.default.number,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n preserveStackingContext: _propTypes.default.bool,\n rootMargin: _propTypes.default.string,\n keepStatic: _propTypes.default.bool\n};\nvar _default = BackgroundImage;\nexports.default = _default;","'use strict';\n\nmodule.exports = alphabetical;\n\n// Check if the given character code, or the character code at the first\n// character, is alphabetical.\nfunction alphabetical(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character;\n return code >= 97 && code <= 122 /* a-z */ || code >= 65 && code <= 90 /* A-Z */;\n}","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar decode = require('parse-entities');\nvar locate = require('../locate/tag');\nmodule.exports = autoLink;\nautoLink.locator = locate;\nautoLink.notInLink = true;\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_AT_SIGN = '@';\nvar C_SLASH = '/';\nvar MAILTO = 'mailto:';\nvar MAILTO_LENGTH = MAILTO.length;\n\n/* Tokenise a link. */\nfunction autoLink(eat, value, silent) {\n var self;\n var subvalue;\n var length;\n var index;\n var queue;\n var character;\n var hasAtCharacter;\n var link;\n var now;\n var content;\n var tokenizers;\n var exit;\n if (value.charAt(0) !== C_LT) {\n return;\n }\n self = this;\n subvalue = '';\n length = value.length;\n index = 0;\n queue = '';\n hasAtCharacter = false;\n link = '';\n index++;\n subvalue = C_LT;\n while (index < length) {\n character = value.charAt(index);\n if (whitespace(character) || character === C_GT || character === C_AT_SIGN || character === ':' && value.charAt(index + 1) === C_SLASH) {\n break;\n }\n queue += character;\n index++;\n }\n if (!queue) {\n return;\n }\n link += queue;\n queue = '';\n character = value.charAt(index);\n link += character;\n index++;\n if (character === C_AT_SIGN) {\n hasAtCharacter = true;\n } else {\n if (character !== ':' || value.charAt(index + 1) !== C_SLASH) {\n return;\n }\n link += C_SLASH;\n index++;\n }\n while (index < length) {\n character = value.charAt(index);\n if (whitespace(character) || character === C_GT) {\n break;\n }\n queue += character;\n index++;\n }\n character = value.charAt(index);\n if (!queue || character !== C_GT) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n link += queue;\n content = link;\n subvalue += link + character;\n now = eat.now();\n now.column++;\n now.offset++;\n if (hasAtCharacter) {\n if (link.slice(0, MAILTO_LENGTH).toLowerCase() === MAILTO) {\n content = content.substr(MAILTO_LENGTH);\n now.column += MAILTO_LENGTH;\n now.offset += MAILTO_LENGTH;\n } else {\n link = MAILTO + link;\n }\n }\n\n /* Temporarily remove all tokenizers except text in autolinks. */\n tokenizers = self.inlineTokenizers;\n self.inlineTokenizers = {\n text: tokenizers.text\n };\n exit = self.enterLink();\n content = self.tokenizeInline(content, now);\n self.inlineTokenizers = tokenizers;\n exit();\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(link, {\n nonTerminated: false\n }),\n children: content\n });\n}","'use strict';\n\nvar own = {}.hasOwnProperty;\nmodule.exports = stringify;\nfunction stringify(value) {\n /* Nothing. */\n if (!value || typeof value !== 'object') {\n return null;\n }\n\n /* Node. */\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position);\n }\n\n /* Position. */\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value);\n }\n\n /* Point. */\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value);\n }\n\n /* ? */\n return null;\n}\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {};\n }\n return index(point.line) + ':' + index(point.column);\n}\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {};\n }\n return point(pos.start) + '-' + point(pos.end);\n}\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1;\n}","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function () {\n var resolvedPath = '',\n resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function (p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n return (resolvedAbsolute ? '/' : '') + resolvedPath || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function (path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function (p) {\n return !!p;\n }), !isAbsolute).join('/');\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function (path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function () {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function (p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n// path.relative(from, to)\n// posix version\nexports.relative = function (from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join('/');\n};\nexports.sep = '/';\nexports.delimiter = ':';\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\nfunction filter(xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b' ? function (str, start, len) {\n return str.substr(start, len);\n} : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n};","'use strict';\n\nmodule.exports = trimTrailingLines;\n\n// Remove final newline characters from `value`.\nfunction trimTrailingLines(value) {\n return String(value).replace(/\\n+$/, '');\n}","/* eslint-disable react/prop-types, react/no-multi-comp */\n'use strict';\n\nvar xtend = require('xtend');\nvar React = require('react');\nvar supportsStringRender = parseInt((React.version || '16').slice(0, 2), 10) >= 16;\nvar createElement = React.createElement;\nmodule.exports = {\n break: 'br',\n paragraph: 'p',\n emphasis: 'em',\n strong: 'strong',\n thematicBreak: 'hr',\n blockquote: 'blockquote',\n delete: 'del',\n link: 'a',\n image: 'img',\n linkReference: 'a',\n imageReference: 'img',\n table: SimpleRenderer.bind(null, 'table'),\n tableHead: SimpleRenderer.bind(null, 'thead'),\n tableBody: SimpleRenderer.bind(null, 'tbody'),\n tableRow: SimpleRenderer.bind(null, 'tr'),\n tableCell: TableCell,\n root: Root,\n text: TextRenderer,\n list: List,\n listItem: ListItem,\n definition: NullRenderer,\n heading: Heading,\n inlineCode: InlineCode,\n code: CodeBlock,\n html: Html,\n virtualHtml: VirtualHtml,\n parsedHtml: ParsedHtml\n};\nfunction TextRenderer(props) {\n return supportsStringRender ? props.children : createElement('span', null, props.children);\n}\nfunction Root(props) {\n var useFragment = !props.className;\n var root = useFragment ? React.Fragment || 'div' : 'div';\n return createElement(root, useFragment ? null : props, props.children);\n}\nfunction SimpleRenderer(tag, props) {\n return createElement(tag, getCoreProps(props), props.children);\n}\nfunction TableCell(props) {\n var style = props.align ? {\n textAlign: props.align\n } : undefined;\n var coreProps = getCoreProps(props);\n return createElement(props.isHeader ? 'th' : 'td', style ? xtend({\n style: style\n }, coreProps) : coreProps, props.children);\n}\nfunction Heading(props) {\n return createElement(\"h\".concat(props.level), getCoreProps(props), props.children);\n}\nfunction List(props) {\n var attrs = getCoreProps(props);\n if (props.start !== null && props.start !== 1 && props.start !== undefined) {\n attrs.start = props.start.toString();\n }\n return createElement(props.ordered ? 'ol' : 'ul', attrs, props.children);\n}\nfunction ListItem(props) {\n var checkbox = null;\n if (props.checked !== null && props.checked !== undefined) {\n var checked = props.checked;\n checkbox = createElement('input', {\n type: 'checkbox',\n checked: checked,\n readOnly: true\n });\n }\n return createElement('li', getCoreProps(props), checkbox, props.children);\n}\nfunction CodeBlock(props) {\n var className = props.language && \"language-\".concat(props.language);\n var code = createElement('code', className ? {\n className: className\n } : null, props.value);\n return createElement('pre', getCoreProps(props), code);\n}\nfunction InlineCode(props) {\n return createElement('code', getCoreProps(props), props.children);\n}\nfunction Html(props) {\n if (props.skipHtml) {\n return null;\n }\n var tag = props.isBlock ? 'div' : 'span';\n if (props.escapeHtml) {\n var comp = React.Fragment || tag;\n return createElement(comp, null, props.value);\n }\n var nodeProps = {\n dangerouslySetInnerHTML: {\n __html: props.value\n }\n };\n return createElement(tag, nodeProps);\n}\nfunction ParsedHtml(props) {\n return props['data-sourcepos'] ? React.cloneElement(props.element, {\n 'data-sourcepos': props['data-sourcepos']\n }) : props.element;\n}\nfunction VirtualHtml(props) {\n return createElement(props.tag, getCoreProps(props), props.children);\n}\nfunction NullRenderer() {\n return null;\n}\nfunction getCoreProps(props) {\n return props['data-sourcepos'] ? {\n 'data-sourcepos': props['data-sourcepos']\n } : {};\n}","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMzUgMjguNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTM1IDI4Ljc7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMTIzLjEsMjguMWwwLjEtMTYuMmwtOC4xLDE2LjJoLTMuNUwxMDguNywxMkwxMDQsMjguMWgtNi45bDguNi0yNy42aDYuMmwzLjIsMTUuNmw4LTE1LjZoNi4ybDAuNSwyNy42SDEyMy4xeiBNOTIuNywxNS4zCgkJYzEtNC43LTAuNy04LjMtNC4zLTljLTMuOS0wLjgtNy40LDIuMi04LjUsNy4xYy0xLDQuNywwLjcsOC4zLDQuMyw5Qzg4LjEsMjMuMiw5MS42LDIwLjIsOTIuNywxNS4zIE04OC4xLDAuMQoJCWM3LjQsMC41LDEyLDYuNSwxMS4xLDE0LjZjLTAuOSw4LjMtNy41LDE0LjQtMTUuMSwxMy45Qzc2LjgsMjgsNzIuMiwyMiw3MywxNEM3My45LDUuNyw4MC42LTAuNSw4OC4xLDAuMSBNNzAuNiwyNy43CgkJYy0xLjgsMC45LTQuOCwxLTYuMSwxYy03LjgsMC0xMy01LjctMTIuOC0xMy43QzUyLDYuNiw1OC41LDAsNjYuNSwwYzIuOSwwLDUuMiwwLjcsNy45LDIuM2wtMS4zLDYuNmMtMS44LTEuNS0zLjgtMi4zLTYuMS0yLjMKCQljLTQuOCwwLTguMywzLjQtOC41LDhDNTguNCwxOSw2MS4yLDIyLDY1LjYsMjJjMS40LDAsNC4xLTAuMSw2LTFMNzAuNiwyNy43eiBNNDguNSwxNy42SDMxLjRsMS02LjRoMTcuMUw0OC41LDE3LjZ6IE01Mi40LDdIMzMKCQlsMS02LjRoMTkuNEw1Mi40LDd6IE01MC4yLDIxLjdIMzAuOGwtMSw2LjRoMTkuNEw1MC4yLDIxLjd6IE0xNC43LDE2LjdsNC05LjZoMC4xbDIsOS42SDE0Ljd6IE0yMy4zLDI4LjFoNi42TDIzLjUsMC41SDE2TDMsMjguMQoJCWg2LjlsMi4zLTUuNGg5LjlMMjMuMywyOC4xeiIvPgo8L2c+Cjwvc3ZnPgo=\"","'use strict';\n\nvar locate = require('../locate/break');\nmodule.exports = hardBreak;\nhardBreak.locator = locate;\nvar MIN_BREAK_LENGTH = 2;\nfunction hardBreak(eat, value, silent) {\n var length = value.length;\n var index = -1;\n var queue = '';\n var character;\n while (++index < length) {\n character = value.charAt(index);\n if (character === '\\n') {\n if (index < MIN_BREAK_LENGTH) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n queue += character;\n return eat(queue)({\n type: 'break'\n });\n }\n if (character !== ' ') {\n return;\n }\n queue += character;\n }\n}","'use strict';\n\nmodule.exports = factory;\n\n// Construct a state `toggler`: a function which inverses `property` in context\n// based on its current value.\n// The by `toggler` returned function restores that value.\nfunction factory(key, state, ctx) {\n return enter;\n function enter() {\n var context = ctx || this;\n var current = context[key];\n context[key] = !state;\n return exit;\n function exit() {\n context[key] = current;\n }\n }\n}","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nvar xtend = require('xtend');\nvar inherits = require('inherits');\nmodule.exports = unherit;\n\n// Create a custom constructor which can be modified without affecting the\n// original class.\nfunction unherit(Super) {\n var result;\n var key;\n var value;\n inherits(Of, Super);\n inherits(From, Of);\n\n // Clone values.\n result = Of.prototype;\n for (key in result) {\n value = result[key];\n if (value && typeof value === 'object') {\n result[key] = 'concat' in value ? value.concat() : xtend(value);\n }\n }\n return Of;\n\n // Constructor accepting a single argument, which itself is an `arguments`\n // object.\n function From(parameters) {\n return Super.apply(this, parameters);\n }\n\n // Constructor accepting variadic arguments.\n function Of() {\n if (!(this instanceof Of)) {\n return new From(arguments);\n }\n return Super.apply(this, arguments);\n }\n}","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar isArray = function isArray(arr) {\n if (typeof Array.isArray === 'function') {\n return Array.isArray(arr);\n }\n return toStr.call(arr) === '[object Array]';\n};\nvar isPlainObject = function isPlainObject(obj) {\n if (!obj || toStr.call(obj) !== '[object Object]') {\n return false;\n }\n var hasOwnConstructor = hasOwn.call(obj, 'constructor');\n var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n // Not own constructor property must be Object\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n }\n\n // Own properties are enumerated firstly, so to speed up,\n // if last one is own, then all properties are own.\n var key;\n for (key in obj) {/**/}\n return typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n if (defineProperty && options.name === '__proto__') {\n defineProperty(target, options.name, {\n enumerable: true,\n configurable: true,\n value: options.newValue,\n writable: true\n });\n } else {\n target[options.name] = options.newValue;\n }\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n if (name === '__proto__') {\n if (!hasOwn.call(obj, name)) {\n return void 0;\n } else if (gOPD) {\n // In early versions of node, obj['__proto__'] is buggy when obj has\n // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n return gOPD(obj, name).value;\n }\n }\n return obj[name];\n};\nmodule.exports = function extend() {\n var options, name, src, copy, copyIsArray, clone;\n var target = arguments[0];\n var i = 1;\n var length = arguments.length;\n var deep = false;\n\n // Handle a deep copy situation\n if (typeof target === 'boolean') {\n deep = target;\n target = arguments[1] || {};\n // skip the boolean and the target\n i = 2;\n }\n if (target == null || typeof target !== 'object' && typeof target !== 'function') {\n target = {};\n }\n for (; i < length; ++i) {\n options = arguments[i];\n // Only deal with non-null/undefined values\n if (options != null) {\n // Extend the base object\n for (name in options) {\n src = getProperty(target, name);\n copy = getProperty(options, name);\n\n // Prevent never-ending loop\n if (target !== copy) {\n // Recurse if we're merging plain objects or arrays\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && isArray(src) ? src : [];\n } else {\n clone = src && isPlainObject(src) ? src : {};\n }\n\n // Never move original objects, clone them\n setProperty(target, {\n name: name,\n newValue: extend(deep, clone, copy)\n });\n\n // Don't bring in undefined values\n } else if (typeof copy !== 'undefined') {\n setProperty(target, {\n name: name,\n newValue: copy\n });\n }\n }\n }\n }\n }\n\n // Return the modified object\n return target;\n};","'use strict';\n\nmodule.exports = factory;\nfunction factory(file) {\n var contents = indices(String(file));\n return {\n toPosition: offsetToPositionFactory(contents),\n toOffset: positionToOffsetFactory(contents)\n };\n}\n\n// Factory to get the line and column-based `position` for `offset` in the bound\n// indices.\nfunction offsetToPositionFactory(indices) {\n return offsetToPosition;\n\n // Get the line and column-based `position` for `offset` in the bound indices.\n function offsetToPosition(offset) {\n var index = -1;\n var length = indices.length;\n if (offset < 0) {\n return {};\n }\n while (++index < length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (indices[index - 1] || 0) + 1,\n offset: offset\n };\n }\n }\n return {};\n }\n}\n\n// Factory to get the `offset` for a line and column-based `position` in the\n// bound indices.\nfunction positionToOffsetFactory(indices) {\n return positionToOffset;\n\n // Get the `offset` for a line and column-based `position` in the bound\n // indices.\n function positionToOffset(position) {\n var line = position && position.line;\n var column = position && position.column;\n if (!isNaN(line) && !isNaN(column) && line - 1 in indices) {\n return (indices[line - 2] || 0) + column - 1 || 0;\n }\n return -1;\n }\n}\n\n// Get indices of line-breaks in `value`.\nfunction indices(value) {\n var result = [];\n var index = value.indexOf('\\n');\n while (index !== -1) {\n result.push(index + 1);\n index = value.indexOf('\\n', index + 1);\n }\n result.push(value.length + 1);\n return result;\n}","'use strict';\n\nvar visit = require('unist-util-visit');\nmodule.exports = function (node) {\n visit(node, 'table', wrap);\n return node;\n};\nfunction wrap(table) {\n var children = table.children;\n table.children = [{\n type: 'tableHead',\n align: table.align,\n children: [children[0]],\n position: children[0].position\n }];\n if (children.length > 1) {\n table.children.push({\n type: 'tableBody',\n align: table.align,\n children: children.slice(1),\n position: {\n start: children[1].position.start,\n end: children[children.length - 1].position.end\n }\n });\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n logDeprecationNotice(\"resolutions\", \"the gatsby-image v2 prop \\\"fixed\\\"\");\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n logDeprecationNotice(\"sizes\", \"the gatsby-image v2 prop \\\"fluid\\\"\");\n delete convertedProps.sizes;\n }\n\n if (critical) {\n logDeprecationNotice(\"critical\", \"the native \\\"loading\\\" attribute\");\n convertedProps.loading = \"eager\";\n } // convert fluid & fixed to arrays so we only have to work with arrays\n\n\n if (convertedProps.fluid) {\n convertedProps.fluid = groupByMedia([].concat(convertedProps.fluid));\n }\n\n if (convertedProps.fixed) {\n convertedProps.fixed = groupByMedia([].concat(convertedProps.fixed));\n }\n\n return convertedProps;\n};\n/**\n * Checks if fluid or fixed are art-direction arrays.\n *\n * @param currentData {{media?: string}[]} The props to check for images.\n * @return {boolean}\n */\n\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(currentData) {\n return !!currentData && Array.isArray(currentData) && currentData.some(function (image) {\n return typeof image.media !== \"undefined\";\n });\n};\n/**\n * Tries to detect if a media query matches the current viewport.\n * @property media {{media?: string}} A media query string.\n * @return {boolean}\n */\n\n\nvar matchesMedia = function matchesMedia(_ref) {\n var media = _ref.media;\n return media ? isBrowser && !!window.matchMedia(media).matches : false;\n};\n/**\n * Find the source of an image to use as a key in the image cache.\n * Use `the first image in either `fixed` or `fluid`\n * @param {{fluid: {src: string, media?: string}[], fixed: {src: string, media?: string}[]}} args\n * @return {string?} Returns image src or undefined it not given.\n */\n\n\nvar getImageCacheKey = function getImageCacheKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var srcData = getCurrentSrcData(fluid || fixed || []);\n return srcData && srcData.src;\n};\n/**\n * Returns the current src - Preferably with art-direction support.\n * @param currentData {{media?: string}[], maxWidth?: Number, maxHeight?: Number} The fluid or fixed image array.\n * @return {{src: string, media?: string, maxWidth?: Number, maxHeight?: Number}}\n */\n\n\nvar getCurrentSrcData = function getCurrentSrcData(currentData) {\n if (isBrowser && hasArtDirectionSupport(currentData)) {\n // Do we have an image for the current Viewport?\n var foundMedia = currentData.findIndex(matchesMedia);\n\n if (foundMedia !== -1) {\n return currentData[foundMedia];\n } // No media matches, select first element without a media condition\n\n\n var noMedia = currentData.findIndex(function (image) {\n return typeof image.media === \"undefined\";\n });\n\n if (noMedia !== -1) {\n return currentData[noMedia];\n }\n } // Else return the first image.\n\n\n return currentData[0];\n}; // Cache if we've seen an image before so we don't bother with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n return imageCache[cacheKey] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n\n if (cacheKey) {\n imageCache[cacheKey] = true;\n }\n}; // Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\n\n\nvar hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nvar isBrowser = typeof window !== \"undefined\";\nvar hasIOSupport = isBrowser && window.IntersectionObserver;\nvar io;\nvar listeners = new WeakMap();\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var cb = listeners.get(entry.target); // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n cb();\n }\n }\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nfunction generateImageSources(imageVariants) {\n return imageVariants.map(function (_ref3) {\n var src = _ref3.src,\n srcSet = _ref3.srcSet,\n srcSetWebp = _ref3.srcSetWebp,\n media = _ref3.media,\n sizes = _ref3.sizes;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {\n key: src\n }, srcSetWebp && /*#__PURE__*/_react.default.createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), srcSet && /*#__PURE__*/_react.default.createElement(\"source\", {\n media: media,\n srcSet: srcSet,\n sizes: sizes\n }));\n });\n} // Return an array ordered by elements having a media prop, does not use\n// native sort, as a stable sort is not guaranteed by all browsers/versions\n\n\nfunction groupByMedia(imageVariants) {\n var withMedia = [];\n var without = [];\n imageVariants.forEach(function (variant) {\n return (variant.media ? withMedia : without).push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return [].concat(withMedia, without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n tracedSVG = _ref4.tracedSVG;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: tracedSVG\n });\n });\n}\n\nfunction generateBase64Sources(imageVariants) {\n return imageVariants.map(function (_ref5) {\n var src = _ref5.src,\n media = _ref5.media,\n base64 = _ref5.base64;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref6, isWebp) {\n var srcSet = _ref6.srcSet,\n srcSetWebp = _ref6.srcSetWebp,\n media = _ref6.media,\n sizes = _ref6.sizes;\n var src = isWebp ? srcSetWebp : srcSet;\n var mediaAttr = media ? \"media=\\\"\" + media + \"\\\" \" : \"\";\n var typeAttr = isWebp ? \"type='image/webp' \" : \"\";\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\" \" : \"\";\n return \"\";\n}\n\nfunction generateNoscriptSources(imageVariants) {\n return imageVariants.map(function (variant) {\n return (variant.srcSetWebp ? generateNoscriptSource(variant, true) : \"\") + generateNoscriptSource(variant);\n }).join(\"\");\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n var observer = getIO();\n\n if (observer) {\n observer.observe(el);\n listeners.set(el, cb);\n }\n\n return function () {\n observer.unobserve(el);\n listeners.delete(el);\n };\n};\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSet = props.srcSet ? \"srcset=\\\"\" + props.srcSet + \"\\\" \" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var crossOrigin = props.crossOrigin ? \"crossorigin=\\\"\" + props.crossOrigin + \"\\\" \" : \"\";\n var loading = props.loading ? \"loading=\\\"\" + props.loading + \"\\\" \" : \"\";\n var draggable = props.draggable ? \"draggable=\\\"\" + props.draggable + \"\\\" \" : \"\";\n var sources = generateNoscriptSources(props.imageVariants);\n return \"\" + sources + \"\";\n}; // Earlier versions of gatsby-image during the 2.x cycle did not wrap\n// the `Img` component in a `picture` element. This maintains compatibility\n// until a breaking change can be introduced in the next major release\n\n\nvar Placeholder = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var src = props.src,\n imageVariants = props.imageVariants,\n generateSources = props.generateSources,\n spreadProps = props.spreadProps,\n ariaHidden = props.ariaHidden;\n\n var baseImage = /*#__PURE__*/_react.default.createElement(Img, (0, _extends2.default)({\n ref: ref,\n src: src\n }, spreadProps, {\n ariaHidden: ariaHidden\n }));\n\n return imageVariants.length > 1 ? /*#__PURE__*/_react.default.createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n});\n\nvar Img = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var sizes = props.sizes,\n srcSet = props.srcSet,\n src = props.src,\n style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n loading = props.loading,\n draggable = props.draggable,\n ariaHidden = props.ariaHidden,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\", \"ariaHidden\"]);\n return /*#__PURE__*/_react.default.createElement(\"img\", (0, _extends2.default)({\n \"aria-hidden\": ariaHidden,\n sizes: sizes,\n srcSet: srcSet,\n src: src\n }, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n loading: loading,\n draggable: draggable,\n style: (0, _extends2.default)({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes.default.object,\n onError: _propTypes.default.func,\n onLoad: _propTypes.default.func\n};\n\nvar Image = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n _this.seenBefore = isBrowser && inImageCache(props);\n _this.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn,\n isHydrated: false\n };\n _this.imageRef = /*#__PURE__*/_react.default.createRef();\n _this.placeholderRef = props.placeholderRef || /*#__PURE__*/_react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.setState({\n isHydrated: isBrowser\n });\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n _this2.setState({\n imgLoaded: imageInCache,\n // `currentSrc` should be a string, but can be `undefined` in IE,\n // !! operator validates the value is not undefined/null/\"\"\n // for lazyloaded components this might be null\n // TODO fix imgCached behaviour as it's now false when it's lazyloaded\n imgCached: !!(_this2.imageRef.current && _this2.imageRef.current.currentSrc)\n });\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n durationFadeIn = _convertProps.durationFadeIn,\n Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp,\n loading = _convertProps.loading,\n draggable = _convertProps.draggable;\n\n var imageVariants = fluid || fixed; // Abort early if missing image data (#25371)\n\n if (!imageVariants) {\n return null;\n }\n\n var shouldReveal = this.state.fadeIn === false || this.state.imgLoaded;\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached;\n var imageStyle = (0, _extends2.default)({\n opacity: shouldReveal ? 1 : 0,\n transition: shouldFadeIn ? \"opacity \" + durationFadeIn + \"ms\" : \"none\"\n }, imgStyle);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var delayHideStyle = {\n transitionDelay: durationFadeIn + \"ms\"\n };\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1\n }, shouldFadeIn && delayHideStyle, imgStyle, placeholderStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName,\n itemProp: itemProp\n }; // Initial client render state needs to match SSR until hydration finishes.\n // Once hydration completes, render again to update to the correct image.\n // `imageVariants` is always an Array type at this point due to `convertProps()`\n\n var image = !this.state.isHydrated ? imageVariants[0] : getCurrentSrcData(imageVariants);\n\n if (fluid) {\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n maxWidth: image.maxWidth ? image.maxWidth + \"px\" : null,\n maxHeight: image.maxHeight ? image.maxHeight + \"px\" : null\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n right: 0,\n left: 0\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n if (fixed) {\n var divStyle = (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: image.width,\n height: image.height\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(image.srcSet)\n }, bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n width: image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n height: image.height\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: image.width,\n height: image.height,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n fadeIn: true,\n durationFadeIn: 500,\n alt: \"\",\n Tag: \"div\",\n // We set it to `lazy` by default because it's best to default to a performant\n // setting and let the user \"opt out\" to `eager`\n loading: \"lazy\"\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string,\n maxWidth: _propTypes.default.number,\n maxHeight: _propTypes.default.number\n});\n\nfunction requireFixedOrFluid(originalPropTypes) {\n return function (props, propName, componentName) {\n var _PropTypes$checkPropT;\n\n if (!props.fixed && !props.fluid) {\n throw new Error(\"The prop `fluid` or `fixed` is marked as required in `\" + componentName + \"`, but their values are both `undefined`.\");\n }\n\n _propTypes.default.checkPropTypes((_PropTypes$checkPropT = {}, _PropTypes$checkPropT[propName] = originalPropTypes, _PropTypes$checkPropT), props, \"prop\", componentName);\n };\n} // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: requireFixedOrFluid(_propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)])),\n fluid: requireFixedOrFluid(_propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject)])),\n fadeIn: _propTypes.default.bool,\n durationFadeIn: _propTypes.default.number,\n title: _propTypes.default.string,\n alt: _propTypes.default.string,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n // Support Glamor's css prop.\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.object,\n imgStyle: _propTypes.default.object,\n placeholderStyle: _propTypes.default.object,\n placeholderClassName: _propTypes.default.string,\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.string,\n itemProp: _propTypes.default.string,\n loading: _propTypes.default.oneOf([\"auto\", \"lazy\", \"eager\"]),\n draggable: _propTypes.default.bool\n};\nvar _default = Image;\nexports.default = _default;","'use strict';\n\nmodule.exports = factory;\nvar MERGEABLE_NODES = {\n text: mergeText,\n blockquote: mergeBlockquote\n};\n\n/* Check whether a node is mergeable with adjacent nodes. */\nfunction mergeable(node) {\n var start;\n var end;\n if (node.type !== 'text' || !node.position) {\n return true;\n }\n start = node.position.start;\n end = node.position.end;\n\n /* Only merge nodes which occupy the same size as their\n * `value`. */\n return start.line !== end.line || end.column - start.column === node.value.length;\n}\n\n/* Merge two text nodes: `node` into `prev`. */\nfunction mergeText(prev, node) {\n prev.value += node.value;\n return prev;\n}\n\n/* Merge two blockquotes: `node` into `prev`, unless in\n * CommonMark mode. */\nfunction mergeBlockquote(prev, node) {\n if (this.options.commonmark) {\n return node;\n }\n prev.children = prev.children.concat(node.children);\n return prev;\n}\n\n/* Construct a tokenizer. This creates both\n * `tokenizeInline` and `tokenizeBlock`. */\nfunction factory(type) {\n return tokenize;\n\n /* Tokenizer for a bound `type`. */\n function tokenize(value, location) {\n var self = this;\n var offset = self.offset;\n var tokens = [];\n var methods = self[type + 'Methods'];\n var tokenizers = self[type + 'Tokenizers'];\n var line = location.line;\n var column = location.column;\n var index;\n var length;\n var method;\n var name;\n var matched;\n var valueLength;\n\n /* Trim white space only lines. */\n if (!value) {\n return tokens;\n }\n\n /* Expose on `eat`. */\n eat.now = now;\n eat.file = self.file;\n\n /* Sync initial offset. */\n updatePosition('');\n\n /* Iterate over `value`, and iterate over all\n * tokenizers. When one eats something, re-iterate\n * with the remaining value. If no tokenizer eats,\n * something failed (should not happen) and an\n * exception is thrown. */\n while (value) {\n index = -1;\n length = methods.length;\n matched = false;\n while (++index < length) {\n name = methods[index];\n method = tokenizers[name];\n if (method && ( /* istanbul ignore next */!method.onlyAtStart || self.atStart) && (!method.notInList || !self.inList) && (!method.notInBlock || !self.inBlock) && (!method.notInLink || !self.inLink)) {\n valueLength = value.length;\n method.apply(self, [eat, value]);\n matched = valueLength !== value.length;\n if (matched) {\n break;\n }\n }\n }\n\n /* istanbul ignore if */\n if (!matched) {\n self.file.fail(new Error('Infinite loop'), eat.now());\n }\n }\n self.eof = now();\n return tokens;\n\n /* Update line, column, and offset based on\n * `value`. */\n function updatePosition(subvalue) {\n var lastIndex = -1;\n var index = subvalue.indexOf('\\n');\n while (index !== -1) {\n line++;\n lastIndex = index;\n index = subvalue.indexOf('\\n', index + 1);\n }\n if (lastIndex === -1) {\n column += subvalue.length;\n } else {\n column = subvalue.length - lastIndex;\n }\n if (line in offset) {\n if (lastIndex !== -1) {\n column += offset[line];\n } else if (column <= offset[line]) {\n column = offset[line] + 1;\n }\n }\n }\n\n /* Get offset. Called before the first character is\n * eaten to retrieve the range's offsets. */\n function getOffset() {\n var indentation = [];\n var pos = line + 1;\n\n /* Done. Called when the last character is\n * eaten to retrieve the range’s offsets. */\n return function () {\n var last = line + 1;\n while (pos < last) {\n indentation.push((offset[pos] || 0) + 1);\n pos++;\n }\n return indentation;\n };\n }\n\n /* Get the current position. */\n function now() {\n var pos = {\n line: line,\n column: column\n };\n pos.offset = self.toOffset(pos);\n return pos;\n }\n\n /* Store position information for a node. */\n function Position(start) {\n this.start = start;\n this.end = now();\n }\n\n /* Throw when a value is incorrectly eaten.\n * This shouldn’t happen but will throw on new,\n * incorrect rules. */\n function validateEat(subvalue) {\n /* istanbul ignore if */\n if (value.substring(0, subvalue.length) !== subvalue) {\n /* Capture stack-trace. */\n self.file.fail(new Error('Incorrectly eaten value: please report this ' + 'warning on http://git.io/vg5Ft'), now());\n }\n }\n\n /* Mark position and patch `node.position`. */\n function position() {\n var before = now();\n return update;\n\n /* Add the position to a node. */\n function update(node, indent) {\n var prev = node.position;\n var start = prev ? prev.start : before;\n var combined = [];\n var n = prev && prev.end.line;\n var l = before.line;\n node.position = new Position(start);\n\n /* If there was already a `position`, this\n * node was merged. Fixing `start` wasn’t\n * hard, but the indent is different.\n * Especially because some information, the\n * indent between `n` and `l` wasn’t\n * tracked. Luckily, that space is\n * (should be?) empty, so we can safely\n * check for it now. */\n if (prev && indent && prev.indent) {\n combined = prev.indent;\n if (n < l) {\n while (++n < l) {\n combined.push((offset[n] || 0) + 1);\n }\n combined.push(before.column);\n }\n indent = combined.concat(indent);\n }\n node.position.indent = indent || [];\n return node;\n }\n }\n\n /* Add `node` to `parent`s children or to `tokens`.\n * Performs merges where possible. */\n function add(node, parent) {\n var children = parent ? parent.children : tokens;\n var prev = children[children.length - 1];\n if (prev && node.type === prev.type && node.type in MERGEABLE_NODES && mergeable(prev) && mergeable(node)) {\n node = MERGEABLE_NODES[node.type].call(self, prev, node);\n }\n if (node !== prev) {\n children.push(node);\n }\n if (self.atStart && tokens.length !== 0) {\n self.exitStart();\n }\n return node;\n }\n\n /* Remove `subvalue` from `value`.\n * `subvalue` must be at the start of `value`. */\n function eat(subvalue) {\n var indent = getOffset();\n var pos = position();\n var current = now();\n validateEat(subvalue);\n apply.reset = reset;\n reset.test = test;\n apply.test = test;\n value = value.substring(subvalue.length);\n updatePosition(subvalue);\n indent = indent();\n return apply;\n\n /* Add the given arguments, add `position` to\n * the returned node, and return the node. */\n function apply(node, parent) {\n return pos(add(pos(node), parent), indent);\n }\n\n /* Functions just like apply, but resets the\n * content: the line and column are reversed,\n * and the eaten value is re-added.\n * This is useful for nodes with a single\n * type of content, such as lists and tables.\n * See `apply` above for what parameters are\n * expected. */\n function reset() {\n var node = apply.apply(null, arguments);\n line = current.line;\n column = current.column;\n value = subvalue + value;\n return node;\n }\n\n /* Test the position, after eating, and reverse\n * to a not-eaten state. */\n function test() {\n var result = pos({});\n line = current.line;\n column = current.column;\n value = subvalue + value;\n return result.position;\n }\n }\n }\n}","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer);\n};\nfunction isBuffer(obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer(obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0));\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.imageReferenceCompleted = exports.hasPictureRef = exports.hasActivatedPictureRefs = exports.createPictureRef = exports.createMultiplePictureRefs = exports.activatePictureRef = exports.activateMultiplePictureRefs = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar _ImageCache = require(\"./ImageCache\");\n\nvar createPictureRef = function createPictureRef(props, onLoad, index, isLoop) {\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return createMultiplePictureRefs(props, onLoad);\n }\n\n var img = new Image();\n\n img.onload = function () {\n return onLoad();\n };\n\n if (!img.complete && typeof convertedProps.onLoad === \"function\") {\n img.addEventListener('load', convertedProps.onLoad);\n }\n\n if (typeof convertedProps.onError === \"function\") {\n img.addEventListener('error', convertedProps.onError);\n }\n\n if (convertedProps.crossOrigin) {\n img.crossOrigin = convertedProps.crossOrigin;\n }\n\n if ((convertedProps.critical || convertedProps.isVisible) && !isLoop) {\n return activatePictureRef(img, convertedProps, index, isLoop);\n }\n\n return img;\n }\n\n return null;\n};\n\nexports.createPictureRef = createPictureRef;\n\nvar createMultiplePictureRefs = function createMultiplePictureRefs(props, onLoad) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n var imageRefs = imageStack.map(function (imageData, index) {\n return createPictureRef(convertedProps, onLoad, index, true);\n });\n\n if (convertedProps.critical || convertedProps.isVisible) {\n return activatePictureRef(imageRefs, convertedProps);\n }\n\n return imageRefs;\n};\n\nexports.createMultiplePictureRefs = createMultiplePictureRefs;\n\nvar activatePictureRef = function activatePictureRef(imageRef, props, selfRef, index, isLoop) {\n if (selfRef === void 0) {\n selfRef = null;\n }\n\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateMultiplePictureRefs(imageRef, props, selfRef);\n }\n\n var bodyClone = document.createElement('body');\n var imageData = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n if (!imageData) {\n return null;\n }\n\n if ((0, _SimpleUtils.isString)(imageData)) {\n return imageData;\n }\n\n if (selfRef) {\n imageRef.width = selfRef.offsetWidth;\n imageRef.height = selfRef.offsetHeight;\n }\n\n if ((0, _ImageUtils.hasPictureElement)()) {\n var pic = document.createElement('picture');\n\n if (selfRef) {\n pic.width = imageRef.width;\n pic.height = imageRef.height;\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)(convertedProps)) {\n var sources = (0, _MediaUtils.createArtDirectionSources)(convertedProps).reverse();\n sources.forEach(function (currentSource) {\n return pic.appendChild(currentSource);\n });\n }\n\n var sourcesAvif = (0, _MediaUtils.createSourceElementForSrcSet)(imageData, 'avif');\n sourcesAvif && pic.appendChild(sourcesAvif);\n var sourcesWebp = (0, _MediaUtils.createSourceElementForSrcSet)(imageData, 'webp');\n sourcesWebp && pic.appendChild(sourcesWebp);\n pic.appendChild(imageRef);\n bodyClone.appendChild(pic);\n }\n\n imageRef.sizes = imageData.sizes || \"\";\n imageRef.srcset = imageData.srcSet || \"\";\n imageRef.src = imageData.src || \"\";\n return imageRef;\n }\n\n return null;\n};\n\nexports.activatePictureRef = activatePictureRef;\n\nvar activateMultiplePictureRefs = function activateMultiplePictureRefs(imageRefs, props, selfRef) {\n return imageRefs.map(function (imageRef, index) {\n return activatePictureRef(imageRef, props, selfRef, index, true);\n });\n};\n\nexports.activateMultiplePictureRefs = activateMultiplePictureRefs;\n\nvar hasActivatedPictureRefs = function hasActivatedPictureRefs(imageRefs) {\n return Array.isArray(imageRefs) ? imageRefs.every(function (imageRef) {\n return hasPictureRef(imageRef);\n }) : hasPictureRef(imageRefs);\n};\n\nexports.hasActivatedPictureRefs = hasActivatedPictureRefs;\n\nvar hasPictureRef = function hasPictureRef(imageRef) {\n return (0, _SimpleUtils.isString)(imageRef) || !!imageRef && !!imageRef.currentSrc;\n};\n\nexports.hasPictureRef = hasPictureRef;\n\nvar imageReferenceCompleted = function imageReferenceCompleted(imageRef, props) {\n return imageRef ? Array.isArray(imageRef) ? imageRef.every(function (singleImageRef) {\n return (0, _ImageUtils.imageLoaded)(singleImageRef);\n }) || (0, _ImageCache.inImageCache)(props) : (0, _ImageUtils.imageLoaded)(imageRef) || (0, _ImageCache.inImageCache)(props) : (0, _SimpleUtils.isString)(imageRef);\n};\n\nexports.imageReferenceCompleted = imageReferenceCompleted;","'use strict';\n\nmodule.exports = locate;\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('**', fromIndex);\n var underscore = value.indexOf('__', fromIndex);\n if (underscore === -1) {\n return asterisk;\n }\n if (asterisk === -1) {\n return underscore;\n }\n return underscore < asterisk ? underscore : asterisk;\n}","'use strict';\n\nmodule.exports = locate;\nfunction locate(value, fromIndex) {\n return value.indexOf('`', fromIndex);\n}","'use strict';\n\nmodule.exports = locate;\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('*', fromIndex);\n var underscore = value.indexOf('_', fromIndex);\n if (underscore === -1) {\n return asterisk;\n }\n if (asterisk === -1) {\n return underscore;\n }\n return underscore < asterisk ? underscore : asterisk;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\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 return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require(\"react\");\nvar _react2 = _interopRequireDefault(_react);\nvar _propTypes = require(\"prop-types\");\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nvar _raf = require(\"raf\");\nvar _raf2 = _interopRequireDefault(_raf);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\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 return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\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 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}\nvar Container = function (_PureComponent) {\n _inherits(Container, _PureComponent);\n function Container() {\n var _ref;\n var _temp, _this, _ret;\n _classCallCheck(this, Container);\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Container.__proto__ || Object.getPrototypeOf(Container)).call.apply(_ref, [this].concat(args))), _this), _this.events = [\"resize\", \"scroll\", \"touchstart\", \"touchmove\", \"touchend\", \"pageshow\", \"load\"], _this.subscribers = [], _this.rafHandle = null, _this.subscribe = function (handler) {\n _this.subscribers = _this.subscribers.concat(handler);\n }, _this.unsubscribe = function (handler) {\n _this.subscribers = _this.subscribers.filter(function (current) {\n return current !== handler;\n });\n }, _this.notifySubscribers = function (evt) {\n if (!_this.framePending) {\n var currentTarget = evt.currentTarget;\n _this.rafHandle = (0, _raf2.default)(function () {\n _this.framePending = false;\n var _this$node$getBoundin = _this.node.getBoundingClientRect(),\n top = _this$node$getBoundin.top,\n bottom = _this$node$getBoundin.bottom;\n _this.subscribers.forEach(function (handler) {\n return handler({\n distanceFromTop: top,\n distanceFromBottom: bottom,\n eventSource: currentTarget === window ? document.body : _this.node\n });\n });\n });\n _this.framePending = true;\n }\n }, _this.getParent = function () {\n return _this.node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n _createClass(Container, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n subscribe: this.subscribe,\n unsubscribe: this.unsubscribe,\n getParent: this.getParent\n };\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n this.events.forEach(function (event) {\n return window.addEventListener(event, _this2.notifySubscribers);\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this3 = this;\n if (this.rafHandle) {\n _raf2.default.cancel(this.rafHandle);\n this.rafHandle = null;\n }\n this.events.forEach(function (event) {\n return window.removeEventListener(event, _this3.notifySubscribers);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n return _react2.default.createElement(\"div\", _extends({}, this.props, {\n ref: function ref(node) {\n return _this4.node = node;\n },\n onScroll: this.notifySubscribers,\n onTouchStart: this.notifySubscribers,\n onTouchMove: this.notifySubscribers,\n onTouchEnd: this.notifySubscribers\n }));\n }\n }]);\n return Container;\n}(_react.PureComponent);\nContainer.childContextTypes = {\n subscribe: _propTypes2.default.func,\n unsubscribe: _propTypes2.default.func,\n getParent: _propTypes2.default.func\n};\nexports.default = Container;","'use strict';\n\nvar slice = [].slice;\nmodule.exports = wrap;\n\n// Wrap `fn`.\n// Can be sync or async; return a promise, receive a completion handler, return\n// new values and errors.\nfunction wrap(fn, callback) {\n var invoked;\n return wrapped;\n function wrapped() {\n var params = slice.call(arguments, 0);\n var callback = fn.length > params.length;\n var result;\n if (callback) {\n params.push(done);\n }\n try {\n result = fn.apply(null, params);\n } catch (error) {\n // Well, this is quite the pickle.\n // `fn` received a callback and invoked it (thus continuing the pipeline),\n // but later also threw an error.\n // We’re not about to restart the pipeline again, so the only thing left\n // to do is to throw the thing instead.\n if (callback && invoked) {\n throw error;\n }\n return done(error);\n }\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done);\n } else if (result instanceof Error) {\n done(result);\n } else {\n then(result);\n }\n }\n }\n\n // Invoke `next`, only once.\n function done() {\n if (!invoked) {\n invoked = true;\n callback.apply(null, arguments);\n }\n }\n\n // Invoke `done` with one value.\n // Tracks if an error is passed, too.\n function then(value) {\n done(null, value);\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.isBase64 = exports.imagePropsChanged = exports.imageLoaded = exports.imageArrayPropsChanged = exports.hasPictureElement = exports.hasImageUrl = exports.hasImageArray = exports.getUrlString = exports.getSelectedImage = exports.getImageSrcKey = exports.getCurrentSrcData = exports.getCurrentFromData = exports.createDummyImageArray = void 0;\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar hasPictureElement = function hasPictureElement() {\n return typeof HTMLPictureElement !== \"undefined\" || (0, _SimpleUtils.isBrowser)();\n};\n\nexports.hasPictureElement = hasPictureElement;\n\nvar hasImageArray = function hasImageArray(props) {\n return Boolean(props.fluid && Array.isArray(props.fluid) || props.fixed && Array.isArray(props.fixed));\n};\n\nexports.hasImageArray = hasImageArray;\n\nvar getCurrentFromData = function getCurrentFromData(_ref) {\n var data = _ref.data,\n propName = _ref.propName,\n _ref$addUrl = _ref.addUrl,\n addUrl = _ref$addUrl === void 0 ? true : _ref$addUrl,\n _ref$returnArray = _ref.returnArray,\n returnArray = _ref$returnArray === void 0 ? false : _ref$returnArray,\n _ref$checkLoaded = _ref.checkLoaded,\n checkLoaded = _ref$checkLoaded === void 0 ? true : _ref$checkLoaded;\n if (!data || !propName) return \"\";\n var tracedSVG = propName === \"tracedSVG\";\n\n if (Array.isArray(data) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n })) {\n var imageString = data.map(function (dataElement) {\n if (propName === \"currentSrc\" || propName === 'src') {\n return checkLoaded ? imageLoaded(dataElement) && dataElement[propName] || \"\" : dataElement[propName];\n }\n\n if (propName === \"CSS_STRING\" && (0, _SimpleUtils.isString)(dataElement)) {\n return dataElement;\n }\n\n return (0, _SimpleUtils.isString)(dataElement) ? dataElement : dataElement && propName in dataElement ? dataElement[propName] : \"\";\n });\n return getUrlString({\n imageString: imageString,\n tracedSVG: tracedSVG,\n addUrl: addUrl,\n returnArray: returnArray\n });\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n }) && (propName === \"currentSrc\" || propName === \"src\" || propName === \"base64\" || tracedSVG)) {\n var currentData = getCurrentSrcData({\n fluid: data\n });\n return propName in currentData ? getUrlString({\n imageString: currentData[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n }\n\n if (typeof data !== 'object') {\n return '';\n }\n\n if ((propName === \"currentSrc\" || propName === 'src') && propName in data) {\n return getUrlString({\n imageString: checkLoaded ? imageLoaded(data) && data[propName] || \"\" : data[propName],\n addUrl: addUrl\n });\n }\n\n return propName in data ? getUrlString({\n imageString: data[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n};\n\nexports.getCurrentFromData = getCurrentFromData;\n\nvar getImageSrcKey = function getImageSrcKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var data = getCurrentSrcData({\n fluid: fluid,\n fixed: fixed\n });\n return data ? data.src || null : null;\n};\n\nexports.getImageSrcKey = getImageSrcKey;\n\nvar getCurrentSrcData = function getCurrentSrcData(_ref3, index) {\n var fluid = _ref3.fluid,\n fixed = _ref3.fixed,\n returnArray = _ref3.returnArray;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n if (returnArray) {\n return currentData;\n }\n\n if ((0, _SimpleUtils.isBrowser)() && (0, _MediaUtils.hasArtDirectionArray)({\n fluid: fluid,\n fixed: fixed\n })) {\n var mediaData = currentData.slice().reverse();\n var foundMedia = mediaData.findIndex(_MediaUtils.matchesMedia);\n\n if (foundMedia !== -1) {\n return mediaData[foundMedia];\n }\n }\n\n return currentData[index];\n }\n\n return currentData;\n};\n\nexports.getCurrentSrcData = getCurrentSrcData;\n\nvar getSelectedImage = function getSelectedImage(_ref4, index) {\n var fluid = _ref4.fluid,\n fixed = _ref4.fixed;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n return currentData[index] || currentData[0];\n }\n\n return currentData;\n};\n\nexports.getSelectedImage = getSelectedImage;\n\nvar getUrlString = function getUrlString(_ref5) {\n var imageString = _ref5.imageString,\n _ref5$tracedSVG = _ref5.tracedSVG,\n tracedSVG = _ref5$tracedSVG === void 0 ? false : _ref5$tracedSVG,\n _ref5$addUrl = _ref5.addUrl,\n addUrl = _ref5$addUrl === void 0 ? true : _ref5$addUrl,\n _ref5$returnArray = _ref5.returnArray,\n returnArray = _ref5$returnArray === void 0 ? false : _ref5$returnArray,\n _ref5$hasImageUrls = _ref5.hasImageUrls,\n hasImageUrls = _ref5$hasImageUrls === void 0 ? false : _ref5$hasImageUrls;\n\n if (Array.isArray(imageString)) {\n var stringArray = imageString.map(function (currentString) {\n if (currentString) {\n var _base = isBase64(currentString);\n\n var _imageUrl = hasImageUrls || hasImageUrl(currentString);\n\n var currentReturnString = currentString && tracedSVG ? \"\\\"\" + currentString + \"\\\"\" : currentString && !_base && !tracedSVG && _imageUrl ? \"'\" + currentString + \"'\" : currentString;\n return addUrl && currentString ? \"url(\" + currentReturnString + \")\" : currentReturnString;\n }\n\n return currentString;\n });\n return returnArray ? stringArray : (0, _SimpleUtils.filteredJoin)(stringArray);\n }\n\n var base64 = isBase64(imageString);\n var imageUrl = hasImageUrls || hasImageUrl(imageString);\n var returnString = imageString && tracedSVG ? \"\\\"\" + imageString + \"\\\"\" : imageString && !base64 && !tracedSVG && imageUrl ? \"'\" + imageString + \"'\" : imageString;\n return imageString ? addUrl ? \"url(\" + returnString + \")\" : returnString : \"\";\n};\n\nexports.getUrlString = getUrlString;\n\nvar isBase64 = function isBase64(base64String) {\n return (0, _SimpleUtils.isString)(base64String) && base64String.indexOf(\"base64\") !== -1;\n};\n\nexports.isBase64 = isBase64;\n\nvar hasImageUrl = function hasImageUrl(imageString) {\n return (0, _SimpleUtils.isString)(imageString) && imageString.substr(0, 4) === \"http\";\n};\n\nexports.hasImageUrl = hasImageUrl;\n\nvar imagePropsChanged = function imagePropsChanged(props, prevProps) {\n return props.fluid && !prevProps.fluid || props.fixed && !prevProps.fixed || imageArrayPropsChanged(props, prevProps) || props.fluid && prevProps.fluid && props.fluid.src !== prevProps.fluid.src || props.fixed && prevProps.fixed && props.fixed.src !== prevProps.fixed.src;\n};\n\nexports.imagePropsChanged = imagePropsChanged;\n\nvar imageArrayPropsChanged = function imageArrayPropsChanged(props, prevProps) {\n var isPropsFluidArray = Array.isArray(props.fluid);\n var isPrevPropsFluidArray = Array.isArray(prevProps.fluid);\n var isPropsFixedArray = Array.isArray(props.fixed);\n var isPrevPropsFixedArray = Array.isArray(prevProps.fixed);\n\n if (isPropsFluidArray && !isPrevPropsFluidArray || isPropsFixedArray && !isPrevPropsFixedArray || !isPropsFluidArray && isPrevPropsFluidArray || !isPropsFixedArray && isPrevPropsFixedArray) {\n return true;\n }\n\n if (isPropsFluidArray && isPrevPropsFluidArray) {\n if (props.fluid.length === prevProps.fluid.length) {\n return props.fluid.some(function (image, index) {\n return image.src !== prevProps.fluid[index].src;\n });\n }\n\n return true;\n }\n\n if (isPropsFixedArray && isPrevPropsFixedArray) {\n if (props.fixed.length === prevProps.fixed.length) {\n return props.fixed.some(function (image, index) {\n return image.src !== prevProps.fixed[index].src;\n });\n }\n\n return true;\n }\n};\n\nexports.imageArrayPropsChanged = imageArrayPropsChanged;\n\nvar createDummyImageArray = function createDummyImageArray(length) {\n var DUMMY_IMG = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n var dummyImageURI = getUrlString({\n imageString: DUMMY_IMG\n });\n return Array(length).fill(dummyImageURI);\n};\n\nexports.createDummyImageArray = createDummyImageArray;\n\nvar imageLoaded = function imageLoaded(imageRef) {\n return imageRef ? (0, _SimpleUtils.isString)(imageRef) || imageRef.complete && imageRef.naturalWidth !== 0 && imageRef.naturalHeight !== 0 : false;\n};\n\nexports.imageLoaded = imageLoaded;","'use strict';\n\nmodule.exports = factory;\n\n/* Factory to de-escape a value, based on a list at `key`\n * in `ctx`. */\nfunction factory(ctx, key) {\n return unescape;\n\n /* De-escape a string using the expression at `key`\n * in `ctx`. */\n function unescape(value) {\n var prev = 0;\n var index = value.indexOf('\\\\');\n var escape = ctx[key];\n var queue = [];\n var character;\n while (index !== -1) {\n queue.push(value.slice(prev, index));\n prev = index + 1;\n character = value.charAt(prev);\n\n /* If the following character is not a valid escape,\n * add the slash. */\n if (!character || escape.indexOf(character) === -1) {\n queue.push('\\\\');\n }\n index = value.indexOf('\\\\', prev);\n }\n queue.push(value.slice(prev));\n return queue.join('');\n }\n}","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nmodule.exports = newline;\n\n/* Tokenise newline. */\nfunction newline(eat, value, silent) {\n var character = value.charAt(0);\n var length;\n var subvalue;\n var queue;\n var index;\n if (character !== '\\n') {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n index = 1;\n length = value.length;\n subvalue = character;\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (!whitespace(character)) {\n break;\n }\n queue += character;\n if (character === '\\n') {\n subvalue += queue;\n queue = '';\n }\n index++;\n }\n eat(subvalue);\n}","'use strict';\n\nmodule.exports = locate;\nfunction locate(value, fromIndex) {\n var link = value.indexOf('[', fromIndex);\n var image = value.indexOf('![', fromIndex);\n if (image === -1) {\n return link;\n }\n\n /* Link can never be `-1` if an image is found, so we don’t need\n * to check for that :) */\n return link < image ? link : image;\n}","'use strict';\n\nvar VMessage = require('vfile-message');\nvar VFile = require('./core.js');\nmodule.exports = VFile;\nvar proto = VFile.prototype;\nproto.message = message;\nproto.info = info;\nproto.fail = fail;\n\n/* Slight backwards compatibility. Remove in the future. */\nproto.warn = message;\n\n/* Create a message with `reason` at `position`.\n * When an error is passed in as `reason`, copies the stack. */\nfunction message(reason, position, origin) {\n var filePath = this.path;\n var message = new VMessage(reason, position, origin);\n if (filePath) {\n message.name = filePath + ':' + message.name;\n message.file = filePath;\n }\n message.fatal = false;\n this.messages.push(message);\n return message;\n}\n\n/* Fail. Creates a vmessage, associates it with the file,\n * and throws it. */\nfunction fail() {\n var message = this.message.apply(this, arguments);\n message.fatal = true;\n throw message;\n}\n\n/* Info. Creates a vmessage, associates it with the file,\n * and marks the fatality as null. */\nfunction info() {\n var message = this.message.apply(this, arguments);\n message.fatal = null;\n return message;\n}","'use strict';\n\nmodule.exports = bail;\nfunction bail(err) {\n if (err) {\n throw err;\n }\n}","'use strict';\n\nvar trim = require('trim-trailing-lines');\nmodule.exports = fencedCode;\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_TILDE = '~';\nvar C_TICK = '`';\nvar MIN_FENCE_COUNT = 3;\nvar CODE_INDENT_COUNT = 4;\nfunction fencedCode(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = 0;\n var subvalue = '';\n var fenceCount;\n var marker;\n var character;\n var flag;\n var queue;\n var content;\n var exdentedContent;\n var closing;\n var exdentedClosing;\n var indent;\n var now;\n if (!settings.gfm) {\n return;\n }\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n subvalue += character;\n index++;\n }\n indent = index;\n\n /* Eat the fence. */\n character = value.charAt(index);\n if (character !== C_TILDE && character !== C_TICK) {\n return;\n }\n index++;\n marker = character;\n fenceCount = 1;\n subvalue += character;\n while (index < length) {\n character = value.charAt(index);\n if (character !== marker) {\n break;\n }\n subvalue += character;\n fenceCount++;\n index++;\n }\n if (fenceCount < MIN_FENCE_COUNT) {\n return;\n }\n\n /* Eat spacing before flag. */\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n subvalue += character;\n index++;\n }\n\n /* Eat flag. */\n flag = '';\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character === C_NEWLINE || character === C_TILDE || character === C_TICK) {\n break;\n }\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n flag += queue + character;\n queue = '';\n }\n index++;\n }\n character = value.charAt(index);\n if (character && character !== C_NEWLINE) {\n return;\n }\n if (silent) {\n return true;\n }\n now = eat.now();\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += flag;\n flag = self.decode.raw(self.unescape(flag), now);\n if (queue) {\n subvalue += queue;\n }\n queue = '';\n closing = '';\n exdentedClosing = '';\n content = '';\n exdentedContent = '';\n\n /* Eat content. */\n while (index < length) {\n character = value.charAt(index);\n content += closing;\n exdentedContent += exdentedClosing;\n closing = '';\n exdentedClosing = '';\n if (character !== C_NEWLINE) {\n content += character;\n exdentedClosing += character;\n index++;\n continue;\n }\n\n /* Add the newline to `subvalue` if its the first\n * character. Otherwise, add it to the `closing`\n * queue. */\n if (content) {\n closing += character;\n exdentedClosing += character;\n } else {\n subvalue += character;\n }\n queue = '';\n index++;\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE) {\n break;\n }\n queue += character;\n index++;\n }\n closing += queue;\n exdentedClosing += queue.slice(indent);\n if (queue.length >= CODE_INDENT_COUNT) {\n continue;\n }\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character !== marker) {\n break;\n }\n queue += character;\n index++;\n }\n closing += queue;\n exdentedClosing += queue;\n if (queue.length < fenceCount) {\n continue;\n }\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n closing += character;\n exdentedClosing += character;\n index++;\n }\n if (!character || character === C_NEWLINE) {\n break;\n }\n }\n subvalue += content + closing;\n return eat(subvalue)({\n type: 'code',\n lang: flag || null,\n value: trim(exdentedContent)\n });\n}","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar normalize = require('../util/normalize');\nmodule.exports = definition;\ndefinition.notInList = true;\ndefinition.notInBlock = true;\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_COLON = ':';\nvar C_LT = '<';\nvar C_GT = '>';\nfunction definition(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var beforeURL;\n var beforeTitle;\n var queue;\n var character;\n var test;\n var identifier;\n var url;\n var title;\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n subvalue += character;\n index++;\n }\n character = value.charAt(index);\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n index++;\n subvalue += character;\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n queue += character;\n index++;\n }\n if (!queue || value.charAt(index) !== C_BRACKET_CLOSE || value.charAt(index + 1) !== C_COLON) {\n return;\n }\n identifier = queue;\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_TAB && character !== C_SPACE && character !== C_NEWLINE) {\n break;\n }\n subvalue += character;\n index++;\n }\n character = value.charAt(index);\n queue = '';\n beforeURL = subvalue;\n if (character === C_LT) {\n index++;\n while (index < length) {\n character = value.charAt(index);\n if (!isEnclosedURLCharacter(character)) {\n break;\n }\n queue += character;\n index++;\n }\n character = value.charAt(index);\n if (character === isEnclosedURLCharacter.delimiter) {\n subvalue += C_LT + queue + character;\n index++;\n } else {\n if (commonmark) {\n return;\n }\n index -= queue.length + 1;\n queue = '';\n }\n }\n if (!queue) {\n while (index < length) {\n character = value.charAt(index);\n if (!isUnclosedURLCharacter(character)) {\n break;\n }\n queue += character;\n index++;\n }\n subvalue += queue;\n }\n if (!queue) {\n return;\n }\n url = queue;\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_TAB && character !== C_SPACE && character !== C_NEWLINE) {\n break;\n }\n queue += character;\n index++;\n }\n character = value.charAt(index);\n test = null;\n if (character === C_DOUBLE_QUOTE) {\n test = C_DOUBLE_QUOTE;\n } else if (character === C_SINGLE_QUOTE) {\n test = C_SINGLE_QUOTE;\n } else if (character === C_PAREN_OPEN) {\n test = C_PAREN_CLOSE;\n }\n if (!test) {\n queue = '';\n index = subvalue.length;\n } else if (queue) {\n subvalue += queue + character;\n index = subvalue.length;\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character === test) {\n break;\n }\n if (character === C_NEWLINE) {\n index++;\n character = value.charAt(index);\n if (character === C_NEWLINE || character === test) {\n return;\n }\n queue += C_NEWLINE;\n }\n queue += character;\n index++;\n }\n character = value.charAt(index);\n if (character !== test) {\n return;\n }\n beforeTitle = subvalue;\n subvalue += queue + character;\n index++;\n title = queue;\n queue = '';\n } else {\n return;\n }\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n subvalue += character;\n index++;\n }\n character = value.charAt(index);\n if (!character || character === C_NEWLINE) {\n if (silent) {\n return true;\n }\n beforeURL = eat(beforeURL).test().end;\n url = self.decode.raw(self.unescape(url), beforeURL, {\n nonTerminated: false\n });\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n return eat(subvalue)({\n type: 'definition',\n identifier: normalize(identifier),\n title: title || null,\n url: url\n });\n }\n}\n\n/* Check if `character` can be inside an enclosed URI. */\nfunction isEnclosedURLCharacter(character) {\n return character !== C_GT && character !== C_BRACKET_OPEN && character !== C_BRACKET_CLOSE;\n}\nisEnclosedURLCharacter.delimiter = C_GT;\n\n/* Check if `character` can be inside an unclosed URI. */\nfunction isUnclosedURLCharacter(character) {\n return character !== C_BRACKET_OPEN && character !== C_BRACKET_CLOSE && !whitespace(character);\n}","var Converter = require('./src/converter');\n\n/**\n * Function get source and destination alphabet and return convert function\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n *\n * @returns {function(number|Array)}\n */\nfunction anyBase(srcAlphabet, dstAlphabet) {\n var converter = new Converter(srcAlphabet, dstAlphabet);\n /**\n * Convert function\n *\n * @param {string|Array} number\n *\n * @return {string|Array} number\n */\n return function (number) {\n return converter.convert(number);\n };\n}\n;\nanyBase.BIN = '01';\nanyBase.OCT = '01234567';\nanyBase.DEC = '0123456789';\nanyBase.HEX = '0123456789abcdef';\nmodule.exports = anyBase;","/*!\n * html-attributes\n * https://github.com/alexmingoia/html-attributes\n */\n\n'use strict';\n\n/**\n * @module html-attributes\n */\nmodule.exports = {\n \"abbr\": \"abbr\",\n \"accept\": \"accept\",\n \"acceptCharset\": \"accept-charset\",\n \"accessKey\": \"accesskey\",\n \"action\": \"action\",\n \"allowFullScreen\": \"allowfullscreen\",\n \"allowTransparency\": \"allowtransparency\",\n \"alt\": \"alt\",\n \"async\": \"async\",\n \"autoComplete\": \"autocomplete\",\n \"autoFocus\": \"autofocus\",\n \"autoPlay\": \"autoplay\",\n \"cellPadding\": \"cellpadding\",\n \"cellSpacing\": \"cellspacing\",\n \"challenge\": \"challenge\",\n \"charset\": \"charset\",\n \"checked\": \"checked\",\n \"cite\": \"cite\",\n \"class\": \"class\",\n \"className\": \"class\",\n \"cols\": \"cols\",\n \"colSpan\": \"colspan\",\n \"command\": \"command\",\n \"content\": \"content\",\n \"contentEditable\": \"contenteditable\",\n \"contextMenu\": \"contextmenu\",\n \"controls\": \"controls\",\n \"coords\": \"coords\",\n \"crossOrigin\": \"crossorigin\",\n \"data\": \"data\",\n \"dateTime\": \"datetime\",\n \"default\": \"default\",\n \"defer\": \"defer\",\n \"dir\": \"dir\",\n \"disabled\": \"disabled\",\n \"download\": \"download\",\n \"draggable\": \"draggable\",\n \"dropzone\": \"dropzone\",\n \"encType\": \"enctype\",\n \"for\": \"for\",\n \"form\": \"form\",\n \"formAction\": \"formaction\",\n \"formEncType\": \"formenctype\",\n \"formMethod\": \"formmethod\",\n \"formNoValidate\": \"formnovalidate\",\n \"formTarget\": \"formtarget\",\n \"frameBorder\": \"frameBorder\",\n \"headers\": \"headers\",\n \"height\": \"height\",\n \"hidden\": \"hidden\",\n \"high\": \"high\",\n \"href\": \"href\",\n \"hrefLang\": \"hreflang\",\n \"htmlFor\": \"for\",\n \"httpEquiv\": \"http-equiv\",\n \"icon\": \"icon\",\n \"id\": \"id\",\n \"inputMode\": \"inputmode\",\n \"isMap\": \"ismap\",\n \"itemId\": \"itemid\",\n \"itemProp\": \"itemprop\",\n \"itemRef\": \"itemref\",\n \"itemScope\": \"itemscope\",\n \"itemType\": \"itemtype\",\n \"kind\": \"kind\",\n \"label\": \"label\",\n \"lang\": \"lang\",\n \"list\": \"list\",\n \"loop\": \"loop\",\n \"manifest\": \"manifest\",\n \"max\": \"max\",\n \"maxLength\": \"maxlength\",\n \"media\": \"media\",\n \"mediaGroup\": \"mediagroup\",\n \"method\": \"method\",\n \"min\": \"min\",\n \"minLength\": \"minlength\",\n \"multiple\": \"multiple\",\n \"muted\": \"muted\",\n \"name\": \"name\",\n \"noValidate\": \"novalidate\",\n \"open\": \"open\",\n \"optimum\": \"optimum\",\n \"pattern\": \"pattern\",\n \"ping\": \"ping\",\n \"placeholder\": \"placeholder\",\n \"poster\": \"poster\",\n \"preload\": \"preload\",\n \"radioGroup\": \"radiogroup\",\n \"readOnly\": \"readonly\",\n \"rel\": \"rel\",\n \"required\": \"required\",\n \"role\": \"role\",\n \"rows\": \"rows\",\n \"rowSpan\": \"rowspan\",\n \"sandbox\": \"sandbox\",\n \"scope\": \"scope\",\n \"scoped\": \"scoped\",\n \"scrolling\": \"scrolling\",\n \"seamless\": \"seamless\",\n \"selected\": \"selected\",\n \"shape\": \"shape\",\n \"size\": \"size\",\n \"sizes\": \"sizes\",\n \"sortable\": \"sortable\",\n \"span\": \"span\",\n \"spellCheck\": \"spellcheck\",\n \"src\": \"src\",\n \"srcDoc\": \"srcdoc\",\n \"srcSet\": \"srcset\",\n \"start\": \"start\",\n \"step\": \"step\",\n \"style\": \"style\",\n \"tabIndex\": \"tabindex\",\n \"target\": \"target\",\n \"title\": \"title\",\n \"translate\": \"translate\",\n \"type\": \"type\",\n \"typeMustMatch\": \"typemustmatch\",\n \"useMap\": \"usemap\",\n \"value\": \"value\",\n \"width\": \"width\",\n \"wmode\": \"wmode\",\n \"wrap\": \"wrap\"\n};","'use strict';\n\nmodule.exports = whitespace;\nvar fromCode = String.fromCharCode;\nvar re = /\\s/;\n\n// Check if the given character code, or the character code at the first\n// character, is a whitespace character.\nfunction whitespace(character) {\n return re.test(typeof character === 'number' ? fromCode(character) : character.charAt(0));\n}","var toString = Object.prototype.toString;\nmodule.exports = isString;\nfunction isString(obj) {\n return toString.call(obj) === \"[object String]\";\n}","'use strict';\n\nrequire(\"core-js/modules/es.array.reduce.js\");\nmodule.exports = function getDefinitions(node) {\n var defs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (node.children || []).reduce(function (definitions, child) {\n if (child.type === 'definition') {\n definitions[child.identifier] = {\n href: child.url,\n title: child.title\n };\n }\n return getDefinitions(child, definitions);\n }, defs);\n};","'use strict';\n\nrequire(\"core-js/modules/es.array.reduce.js\");\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n }\n}\nvar xtend = require('xtend');\nvar unified = require('unified');\nvar parse = require('remark-parse');\nvar PropTypes = require('prop-types');\nvar addListMetadata = require('mdast-add-list-metadata');\nvar naiveHtml = require('./plugins/naive-html');\nvar disallowNode = require('./plugins/disallow-node');\nvar astToReact = require('./ast-to-react');\nvar wrapTableRows = require('./wrap-table-rows');\nvar getDefinitions = require('./get-definitions');\nvar uriTransformer = require('./uri-transformer');\nvar defaultRenderers = require('./renderers');\nvar symbols = require('./symbols');\nvar allTypes = Object.keys(defaultRenderers);\nvar ReactMarkdown = function ReactMarkdown(props) {\n var src = props.source || props.children || '';\n var parserOptions = props.parserOptions;\n if (props.allowedTypes && props.disallowedTypes) {\n throw new Error('Only one of `allowedTypes` and `disallowedTypes` should be defined');\n }\n var renderers = xtend(defaultRenderers, props.renderers);\n var plugins = [[parse, parserOptions]].concat(props.plugins || []);\n var parser = plugins.reduce(applyParserPlugin, unified());\n var rawAst = parser.parse(src);\n var renderProps = xtend(props, {\n renderers: renderers,\n definitions: getDefinitions(rawAst)\n });\n var astPlugins = determineAstPlugins(props); // eslint-disable-next-line no-sync\n\n var transformedAst = parser.runSync(rawAst);\n var ast = astPlugins.reduce(function (node, plugin) {\n return plugin(node, renderProps);\n }, transformedAst);\n return astToReact(ast, renderProps);\n};\nfunction applyParserPlugin(parser, plugin) {\n return Array.isArray(plugin) ? parser.use.apply(parser, _toConsumableArray(plugin)) : parser.use(plugin);\n}\nfunction determineAstPlugins(props) {\n var plugins = [wrapTableRows, addListMetadata()];\n var disallowedTypes = props.disallowedTypes;\n if (props.allowedTypes) {\n disallowedTypes = allTypes.filter(function (type) {\n return type !== 'root' && props.allowedTypes.indexOf(type) === -1;\n });\n }\n var removalMethod = props.unwrapDisallowed ? 'unwrap' : 'remove';\n if (disallowedTypes && disallowedTypes.length > 0) {\n plugins.push(disallowNode.ofType(disallowedTypes, removalMethod));\n }\n if (props.allowNode) {\n plugins.push(disallowNode.ifNotMatch(props.allowNode, removalMethod));\n }\n var renderHtml = !props.escapeHtml && !props.skipHtml;\n var hasHtmlParser = (props.astPlugins || []).some(function (item) {\n var plugin = Array.isArray(item) ? item[0] : item;\n return plugin.identity === symbols.HtmlParser;\n });\n if (renderHtml && !hasHtmlParser) {\n plugins.push(naiveHtml);\n }\n return props.astPlugins ? plugins.concat(props.astPlugins) : plugins;\n}\nReactMarkdown.defaultProps = {\n renderers: {},\n escapeHtml: true,\n skipHtml: false,\n sourcePos: false,\n rawSourcePos: false,\n transformLinkUri: uriTransformer,\n astPlugins: [],\n plugins: [],\n parserOptions: {}\n};\nReactMarkdown.propTypes = {\n className: PropTypes.string,\n source: PropTypes.string,\n children: PropTypes.string,\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n escapeHtml: PropTypes.bool,\n skipHtml: PropTypes.bool,\n allowNode: PropTypes.func,\n allowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n disallowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n astPlugins: PropTypes.arrayOf(PropTypes.func),\n unwrapDisallowed: PropTypes.bool,\n renderers: PropTypes.object,\n plugins: PropTypes.array,\n parserOptions: PropTypes.object\n};\nReactMarkdown.types = allTypes;\nReactMarkdown.renderers = defaultRenderers;\nReactMarkdown.uriTransformer = uriTransformer;\nmodule.exports = ReactMarkdown;","'use strict';\n\nvar alphabetical = require('is-alphabetical');\nvar decimal = require('is-decimal');\nmodule.exports = alphanumerical;\n\n// Check if the given character code, or the character code at the first\n// character, is alphanumerical.\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character);\n}","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/code-inline');\nmodule.exports = inlineCode;\ninlineCode.locator = locate;\nvar C_TICK = '`';\n\n/* Tokenise inline code. */\nfunction inlineCode(eat, value, silent) {\n var length = value.length;\n var index = 0;\n var queue = '';\n var tickQueue = '';\n var contentQueue;\n var subqueue;\n var count;\n var openingCount;\n var subvalue;\n var character;\n var found;\n var next;\n while (index < length) {\n if (value.charAt(index) !== C_TICK) {\n break;\n }\n queue += C_TICK;\n index++;\n }\n if (!queue) {\n return;\n }\n subvalue = queue;\n openingCount = index;\n queue = '';\n next = value.charAt(index);\n count = 0;\n while (index < length) {\n character = next;\n next = value.charAt(index + 1);\n if (character === C_TICK) {\n count++;\n tickQueue += character;\n } else {\n count = 0;\n queue += character;\n }\n if (count && next !== C_TICK) {\n if (count === openingCount) {\n subvalue += queue + tickQueue;\n found = true;\n break;\n }\n queue += tickQueue;\n tickQueue = '';\n }\n index++;\n }\n if (!found) {\n if (openingCount % 2 !== 0) {\n return;\n }\n queue = '';\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n contentQueue = '';\n subqueue = '';\n length = queue.length;\n index = -1;\n while (++index < length) {\n character = queue.charAt(index);\n if (whitespace(character)) {\n subqueue += character;\n continue;\n }\n if (subqueue) {\n if (contentQueue) {\n contentQueue += subqueue;\n }\n subqueue = '';\n }\n contentQueue += character;\n }\n return eat(subvalue)({\n type: 'inlineCode',\n value: contentQueue\n });\n}","'use strict';\n\nmodule.exports = collapse;\n\n// `collapse(' \\t\\nbar \\nbaz\\t') // ' bar baz '`\nfunction collapse(value) {\n return String(value).replace(/\\s+/g, ' ');\n}","'use strict';\n\nvar repeat = require('repeat-string');\nvar trim = require('trim-trailing-lines');\nmodule.exports = indentedCode;\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar CODE_INDENT_COUNT = 4;\nvar CODE_INDENT = repeat(C_SPACE, CODE_INDENT_COUNT);\n\n/* Tokenise indented code. */\nfunction indentedCode(eat, value, silent) {\n var index = -1;\n var length = value.length;\n var subvalue = '';\n var content = '';\n var subvalueQueue = '';\n var contentQueue = '';\n var character;\n var blankQueue;\n var indent;\n while (++index < length) {\n character = value.charAt(index);\n if (indent) {\n indent = false;\n subvalue += subvalueQueue;\n content += contentQueue;\n subvalueQueue = '';\n contentQueue = '';\n if (character === C_NEWLINE) {\n subvalueQueue = character;\n contentQueue = character;\n } else {\n subvalue += character;\n content += character;\n while (++index < length) {\n character = value.charAt(index);\n if (!character || character === C_NEWLINE) {\n contentQueue = character;\n subvalueQueue = character;\n break;\n }\n subvalue += character;\n content += character;\n }\n }\n } else if (character === C_SPACE && value.charAt(index + 1) === character && value.charAt(index + 2) === character && value.charAt(index + 3) === character) {\n subvalueQueue += CODE_INDENT;\n index += 3;\n indent = true;\n } else if (character === C_TAB) {\n subvalueQueue += character;\n indent = true;\n } else {\n blankQueue = '';\n while (character === C_TAB || character === C_SPACE) {\n blankQueue += character;\n character = value.charAt(++index);\n }\n if (character !== C_NEWLINE) {\n break;\n }\n subvalueQueue += blankQueue + character;\n contentQueue += character;\n }\n }\n if (content) {\n if (silent) {\n return true;\n }\n return eat(subvalue)({\n type: 'code',\n lang: null,\n value: trim(content)\n });\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.matchesMedia = exports.hasArtDirectionSupport = exports.hasArtDirectionArray = exports.groupByMedia = exports.createSourceElementForSrcSet = exports.createArtDirectionSources = void 0;\n\nvar _sortMediaQueries = _interopRequireDefault(require(\"sort-media-queries\"));\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar groupByMedia = function groupByMedia(imageVariants) {\n var without = [];\n var sortedVariants = (0, _sortMediaQueries.default)(imageVariants, 'media');\n sortedVariants.forEach(function (variant) {\n return !variant.media && without.push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return sortedVariants;\n};\n\nexports.groupByMedia = groupByMedia;\n\nvar createSourceElementForSrcSet = function createSourceElementForSrcSet(image, type) {\n var source = document.createElement('source');\n var srcSetName = \"srcSet\" + (0, _SimpleUtils.capitalize)(type);\n\n if (srcSetName in image) {\n source.type = \"image/\" + type;\n source.srcset = image[srcSetName];\n }\n\n if (image.sizes) {\n source.sizes = image.sizes;\n }\n\n if (image.media) {\n source.media = image.media;\n }\n\n return source.srcset ? source : null;\n};\n\nexports.createSourceElementForSrcSet = createSourceElementForSrcSet;\n\nvar createArtDirectionSources = function createArtDirectionSources(_ref) {\n var fluid = _ref.fluid,\n fixed = _ref.fixed;\n var currentSource = fluid || fixed;\n return currentSource.reduce(function (sources, image) {\n if (!image.media) {\n return sources;\n }\n\n var sourceWebp = createSourceElementForSrcSet(image, 'webp');\n var sourceAvif = createSourceElementForSrcSet(image, 'avif');\n sourceWebp && sources.push(sourceWebp);\n sourceAvif && sources.push(sourceAvif);\n return sources;\n }, []);\n};\n\nexports.createArtDirectionSources = createArtDirectionSources;\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(props, prop) {\n return props[prop] && Array.isArray(props[prop]) && props[prop].some(function (image) {\n return !!image && typeof image.media !== 'undefined';\n });\n};\n\nexports.hasArtDirectionSupport = hasArtDirectionSupport;\n\nvar hasArtDirectionArray = function hasArtDirectionArray(props) {\n return hasArtDirectionSupport(props, 'fluid') || hasArtDirectionSupport(props, 'fixed');\n};\n\nexports.hasArtDirectionArray = hasArtDirectionArray;\n\nvar matchesMedia = function matchesMedia(_ref2) {\n var media = _ref2.media;\n return media ? (0, _SimpleUtils.isBrowser)() && typeof window.matchMedia !== \"undefined\" && !!window.matchMedia(media).matches : false;\n};\n\nexports.matchesMedia = matchesMedia;","'use strict';\n\nmodule.exports = interrupt;\nfunction interrupt(interruptors, tokenizers, ctx, params) {\n var bools = ['pedantic', 'commonmark'];\n var count = bools.length;\n var length = interruptors.length;\n var index = -1;\n var interruptor;\n var config;\n var fn;\n var offset;\n var bool;\n var ignore;\n while (++index < length) {\n interruptor = interruptors[index];\n config = interruptor[1] || {};\n fn = interruptor[0];\n offset = -1;\n ignore = false;\n while (++offset < count) {\n bool = bools[offset];\n if (config[bool] !== undefined && config[bool] !== ctx.options[bool]) {\n ignore = true;\n break;\n }\n }\n if (ignore) {\n continue;\n }\n if (tokenizers[fn].apply(ctx, params)) {\n return true;\n }\n }\n return false;\n}","'use strict';\n\nvar trim = require('trim');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/strong');\nmodule.exports = strong;\nstrong.locator = locate;\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nfunction strong(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n if (character !== C_ASTERISK && character !== C_UNDERSCORE || value.charAt(++index) !== character) {\n return;\n }\n pedantic = self.options.pedantic;\n marker = character;\n subvalue = marker + marker;\n length = value.length;\n index++;\n queue = '';\n character = '';\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n if (character === marker && value.charAt(index + 1) === marker && (!pedantic || !whitespace(prev))) {\n character = value.charAt(index + 2);\n if (character !== marker) {\n if (!trim(queue)) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n return eat(subvalue + queue + subvalue)({\n type: 'strong',\n children: self.tokenizeInline(queue, now)\n });\n }\n }\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n queue += character;\n index++;\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require(\"react\");\nvar _react2 = _interopRequireDefault(_react);\nvar _reactDom = require(\"react-dom\");\nvar _reactDom2 = _interopRequireDefault(_reactDom);\nvar _propTypes = require(\"prop-types\");\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\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 return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\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 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}\nvar Sticky = function (_Component) {\n _inherits(Sticky, _Component);\n function Sticky() {\n var _ref;\n var _temp, _this, _ret;\n _classCallCheck(this, Sticky);\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Sticky.__proto__ || Object.getPrototypeOf(Sticky)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n isSticky: false,\n wasSticky: false,\n style: {}\n }, _this.handleContainerEvent = function (_ref2) {\n var distanceFromTop = _ref2.distanceFromTop,\n distanceFromBottom = _ref2.distanceFromBottom,\n eventSource = _ref2.eventSource;\n var parent = _this.context.getParent();\n var preventingStickyStateChanges = false;\n if (_this.props.relative) {\n preventingStickyStateChanges = eventSource !== parent;\n distanceFromTop = -(eventSource.scrollTop + eventSource.offsetTop) + _this.placeholder.offsetTop;\n }\n var placeholderClientRect = _this.placeholder.getBoundingClientRect();\n var contentClientRect = _this.content.getBoundingClientRect();\n var calculatedHeight = contentClientRect.height;\n var bottomDifference = distanceFromBottom - _this.props.bottomOffset - calculatedHeight;\n var wasSticky = !!_this.state.isSticky;\n var isSticky = preventingStickyStateChanges ? wasSticky : distanceFromTop <= -_this.props.topOffset && distanceFromBottom > -_this.props.bottomOffset;\n distanceFromBottom = (_this.props.relative ? parent.scrollHeight - parent.scrollTop : distanceFromBottom) - calculatedHeight;\n var style = !isSticky ? {} : {\n position: \"fixed\",\n top: bottomDifference > 0 ? _this.props.relative ? parent.offsetTop - parent.offsetParent.scrollTop : 0 : bottomDifference,\n left: placeholderClientRect.left,\n width: placeholderClientRect.width\n };\n if (!_this.props.disableHardwareAcceleration) {\n style.transform = \"translateZ(0)\";\n }\n _this.setState({\n isSticky: isSticky,\n wasSticky: wasSticky,\n distanceFromTop: distanceFromTop,\n distanceFromBottom: distanceFromBottom,\n calculatedHeight: calculatedHeight,\n style: style\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n _createClass(Sticky, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n if (!this.context.subscribe) throw new TypeError(\"Expected Sticky to be mounted within StickyContainer\");\n this.context.subscribe(this.handleContainerEvent);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.context.unsubscribe(this.handleContainerEvent);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.placeholder.style.paddingBottom = this.props.disableCompensation ? 0 : (this.state.isSticky ? this.state.calculatedHeight : 0) + \"px\";\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var element = _react2.default.cloneElement(this.props.children({\n isSticky: this.state.isSticky,\n wasSticky: this.state.wasSticky,\n distanceFromTop: this.state.distanceFromTop,\n distanceFromBottom: this.state.distanceFromBottom,\n calculatedHeight: this.state.calculatedHeight,\n style: this.state.style\n }), {\n ref: function ref(content) {\n _this2.content = _reactDom2.default.findDOMNode(content);\n }\n });\n return _react2.default.createElement(\"div\", null, _react2.default.createElement(\"div\", {\n ref: function ref(placeholder) {\n return _this2.placeholder = placeholder;\n }\n }), element);\n }\n }]);\n return Sticky;\n}(_react.Component);\nSticky.propTypes = {\n topOffset: _propTypes2.default.number,\n bottomOffset: _propTypes2.default.number,\n relative: _propTypes2.default.bool,\n children: _propTypes2.default.func.isRequired\n};\nSticky.defaultProps = {\n relative: false,\n topOffset: 0,\n bottomOffset: 0,\n disableCompensation: false,\n disableHardwareAcceleration: false\n};\nSticky.contextTypes = {\n subscribe: _propTypes2.default.func,\n unsubscribe: _propTypes2.default.func,\n getParent: _propTypes2.default.func\n};\nexports.default = Sticky;","'use strict';\n\nmodule.exports = atxHeading;\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_HASH = '#';\nvar MAX_ATX_COUNT = 6;\nfunction atxHeading(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = -1;\n var now = eat.now();\n var subvalue = '';\n var content = '';\n var character;\n var queue;\n var depth;\n\n /* Eat initial spacing. */\n while (++index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n subvalue += character;\n }\n\n /* Eat hashes. */\n depth = 0;\n while (++index <= length) {\n character = value.charAt(index);\n if (character !== C_HASH) {\n index--;\n break;\n }\n subvalue += character;\n depth++;\n }\n if (depth > MAX_ATX_COUNT) {\n return;\n }\n if (!depth || !settings.pedantic && value.charAt(index + 1) === C_HASH) {\n return;\n }\n length = value.length + 1;\n\n /* Eat intermediate white-space. */\n queue = '';\n while (++index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n queue += character;\n }\n\n /* Exit when not in pedantic mode without spacing. */\n if (!settings.pedantic && queue.length === 0 && character && character !== C_NEWLINE) {\n return;\n }\n if (silent) {\n return true;\n }\n\n /* Eat content. */\n subvalue += queue;\n queue = '';\n content = '';\n while (++index < length) {\n character = value.charAt(index);\n if (!character || character === C_NEWLINE) {\n break;\n }\n if (character !== C_SPACE && character !== C_TAB && character !== C_HASH) {\n content += queue + character;\n queue = '';\n continue;\n }\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n while (character === C_HASH) {\n queue += character;\n character = value.charAt(++index);\n }\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n index--;\n }\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n return eat(subvalue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}","'use strict';\n\nmodule.exports = escapes;\nvar defaults = ['\\\\', '`', '*', '{', '}', '[', ']', '(', ')', '#', '+', '-', '.', '!', '_', '>'];\nvar gfm = defaults.concat(['~', '|']);\nvar commonmark = gfm.concat(['\\n', '\"', '$', '%', '&', \"'\", ',', '/', ':', ';', '<', '=', '?', '@', '^']);\nescapes.default = defaults;\nescapes.gfm = gfm;\nescapes.commonmark = commonmark;\n\n// Get markdown escapes.\nfunction escapes(options) {\n var settings = options || {};\n if (settings.commonmark) {\n return commonmark;\n }\n return settings.gfm ? gfm : defaults;\n}","'use strict';\n\nmodule.exports = locate;\nfunction locate(value, fromIndex) {\n return value.indexOf('~~', fromIndex);\n}","'use strict';\n\nmodule.exports = locate;\nfunction locate(value, fromIndex) {\n return value.indexOf('\\\\', fromIndex);\n}","'use strict';\n\nmodule.exports = setextHeading;\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_EQUALS = '=';\nvar C_DASH = '-';\nvar MAX_HEADING_INDENT = 3;\n\n/* Map of characters which can be used to mark setext\n * headers, mapping to their corresponding depth. */\nvar SETEXT_MARKERS = {};\nSETEXT_MARKERS[C_EQUALS] = 1;\nSETEXT_MARKERS[C_DASH] = 2;\nfunction setextHeading(eat, value, silent) {\n var self = this;\n var now = eat.now();\n var length = value.length;\n var index = -1;\n var subvalue = '';\n var content;\n var queue;\n var character;\n var marker;\n var depth;\n\n /* Eat initial indentation. */\n while (++index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE || index >= MAX_HEADING_INDENT) {\n index--;\n break;\n }\n subvalue += character;\n }\n\n /* Eat content. */\n content = '';\n queue = '';\n while (++index < length) {\n character = value.charAt(index);\n if (character === C_NEWLINE) {\n index--;\n break;\n }\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n content += queue + character;\n queue = '';\n }\n }\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n /* Ensure the content is followed by a newline and a\n * valid marker. */\n character = value.charAt(++index);\n marker = value.charAt(++index);\n if (character !== C_NEWLINE || !SETEXT_MARKERS[marker]) {\n return;\n }\n subvalue += character;\n\n /* Eat Setext-line. */\n queue = marker;\n depth = SETEXT_MARKERS[marker];\n while (++index < length) {\n character = value.charAt(index);\n if (character !== marker) {\n if (character !== C_NEWLINE) {\n return;\n }\n index--;\n break;\n }\n queue += character;\n }\n if (silent) {\n return true;\n }\n return eat(subvalue + queue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.setTransitionStyles = exports.presetBackgroundStyles = exports.kebabifyBackgroundStyles = exports.fixOpacity = exports.fixClassName = exports.escapeClassNames = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _shortUuid = _interopRequireDefault(require(\"short-uuid\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ClassCache = require(\"./ClassCache\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar _excluded = [\"className\"];\n\nvar fixClassName = function fixClassName(_ref) {\n var className = _ref.className,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var elementExists = (0, _ClassCache.inComponentClassCache)(className);\n var imageData = (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n var additionalClassname = _shortUuid.default.generate();\n\n var randomClass = \" gbi-\" + (0, _SimpleUtils.hashString)(imageData && imageData.srcSet || className || \"noclass\") + \"-\" + additionalClassname;\n var additionalClass = elementExists || !className ? randomClass : \"\";\n var componentClassNames = (\"\" + (className || \"\") + (additionalClass || \"\")).trim();\n if (!elementExists) (0, _ClassCache.activateCacheForComponentClass)(className);\n return [componentClassNames];\n};\n\nexports.fixClassName = fixClassName;\n\nvar escapeClassNames = function escapeClassNames(classNames) {\n if (classNames) {\n var specialChars = (0, _SimpleUtils.isBrowser)() && window._gbiSpecialChars ? window._gbiSpecialChars : typeof __GBI_SPECIAL_CHARS__ !== \"undefined\" ? __GBI_SPECIAL_CHARS__ : ':/';\n var specialCharRegEx = new RegExp(\"[\" + specialChars + \"]\", 'g');\n return classNames.replace(specialCharRegEx, '\\\\$&');\n }\n\n return classNames;\n};\n\nexports.escapeClassNames = escapeClassNames;\n\nvar kebabifyBackgroundStyles = function kebabifyBackgroundStyles(styles) {\n if ((0, _SimpleUtils.isString)(styles)) {\n return styles;\n }\n\n if (styles instanceof Object) {\n return Object.keys(styles).filter(function (key) {\n return key.indexOf('background') === 0 && styles[key] !== '';\n }).reduce(function (resultingStyles, key) {\n return \"\" + resultingStyles + (0, _SimpleUtils.toKebabCase)(key) + \": \" + styles[key] + \";\\n\";\n }, \"\");\n }\n\n return \"\";\n};\n\nexports.kebabifyBackgroundStyles = kebabifyBackgroundStyles;\n\nvar setTransitionStyles = function setTransitionStyles(transitionDelay, fadeIn) {\n if (transitionDelay === void 0) {\n transitionDelay = \"0.25s\";\n }\n\n if (fadeIn === void 0) {\n fadeIn = true;\n }\n\n return fadeIn ? \"transition: opacity 0.5s ease \" + transitionDelay + \";\" : \"transition: none;\";\n};\n\nexports.setTransitionStyles = setTransitionStyles;\n\nvar fixOpacity = function fixOpacity(props) {\n var styledProps = (0, _extends2.default)({}, props);\n\n if (!styledProps.preserveStackingContext) {\n try {\n if (styledProps.style && styledProps.style.opacity) {\n if (isNaN(styledProps.style.opacity) || styledProps.style.opacity > 0.99) {\n styledProps.style.opacity = 0.99;\n }\n }\n } catch (e) {}\n }\n\n return styledProps;\n};\n\nexports.fixOpacity = fixOpacity;\n\nvar presetBackgroundStyles = function presetBackgroundStyles(backgroundStyles) {\n var defaultBackgroundStyles = {\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\"\n };\n return (0, _extends2.default)({}, defaultBackgroundStyles, backgroundStyles);\n};\n\nexports.presetBackgroundStyles = presetBackgroundStyles;","'use strict';\n\nvar toString = Object.prototype.toString;\nmodule.exports = function (x) {\n var prototype;\n return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};","\"use strict\";\n\nvar protocols = ['http', 'https', 'mailto', 'tel'];\nmodule.exports = function uriTransformer(uri) {\n var url = (uri || '').trim();\n var first = url.charAt(0);\n if (first === '#' || first === '/') {\n return url;\n }\n var colon = url.indexOf(':');\n if (colon === -1) {\n return url;\n }\n var length = protocols.length;\n var index = -1;\n while (++index < length) {\n var protocol = protocols[index];\n if (colon === protocol.length && url.slice(0, protocol.length).toLowerCase() === protocol) {\n return url;\n }\n }\n index = url.indexOf('?');\n if (index !== -1 && colon > index) {\n return url;\n }\n index = url.indexOf('#');\n if (index !== -1 && colon > index) {\n return url;\n } // eslint-disable-next-line no-script-url\n\n return 'javascript:void(0)';\n};","'use strict';\n\nvar xtend = require('xtend');\nvar entities = require('parse-entities');\nmodule.exports = factory;\n\n/* Factory to create an entity decoder. */\nfunction factory(ctx) {\n decoder.raw = decodeRaw;\n return decoder;\n\n /* Normalize `position` to add an `indent`. */\n function normalize(position) {\n var offsets = ctx.offset;\n var line = position.line;\n var result = [];\n while (++line) {\n if (!(line in offsets)) {\n break;\n }\n result.push((offsets[line] || 0) + 1);\n }\n return {\n start: position,\n indent: result\n };\n }\n\n /* Handle a warning.\n * See https://github.com/wooorm/parse-entities\n * for the warnings. */\n function handleWarning(reason, position, code) {\n if (code === 3) {\n return;\n }\n ctx.file.message(reason, position);\n }\n\n /* Decode `value` (at `position`) into text-nodes. */\n function decoder(value, position, handler) {\n entities(value, {\n position: normalize(position),\n warning: handleWarning,\n text: handler,\n reference: handler,\n textContext: ctx,\n referenceContext: ctx\n });\n }\n\n /* Decode `value` (at `position`) into a string. */\n function decodeRaw(value, position, options) {\n return entities(value, xtend(options, {\n position: normalize(position),\n warning: handleWarning\n }));\n }\n}","export function LightOrDark(color) {\n\n // Variables for red, green, blue values\n var r, g, b, hsp;\nif(color!== null){\n // Check the format of the color, HEX or RGB?\n if (color.match(/^rgb/)) {\n\n // If RGB --> store the red, green, blue values in separate variables\n color = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/);\n\n r = color[1];\n g = color[2];\n b = color[3];\n }\n else {\n\n // If hex --> Convert it to RGB: http://gist.github.com/983661\n color = +(\"0x\" + color.slice(1).replace(\n color.length < 5 && /./g, '$&$&'));\n\n r = color >> 16;\n g = color >> 8 & 255;\n b = color & 255;\n }\n\n // HSP (Highly Sensitive Poo) equation from http://alienryderflex.com/hsp.html\n hsp = Math.sqrt(\n 0.299 * (r * r) +\n 0.587 * (g * g) +\n 0.114 * (b * b)\n );\n\n // Using the HSP value, determine whether the color is light or dark\n if (hsp>127.5) {\n\n return 'light';\n }\n else {\n\n return 'dark';\n }\n }\n}\n\nexport function hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport function returnImage(image,color,opacity) {\n let rgb = color !== null ? color.includes(\"#\") ? hexToRgb(color): color : hexToRgb(\"#000000\")\n let finalOp = opacity !== null ? opacity/100 : 50;\n\n\n if (image === null || image === \"\") {\n return ([\n `linear-gradient(60deg, rgba(${rgb.r},${rgb.g},${rgb.b},${finalOp*0.9430147058823529}) 0%, rgba(${rgb.r},${rgb.g},${rgb.b},100) 0%, rgba(${rgb.r},${rgb.g},${rgb.b},100) 100%)`\n ].reverse()\n )\n } else {\n return ([\n image.childImageSharp.fluid,\n `linear-gradient(60deg, rgba(${rgb.r},${rgb.g},${rgb.b},${finalOp*0.9430147058823529}) 0%, rgba(${rgb.r},${rgb.g},${rgb.b},${finalOp*0.7301295518207283}) 50%, rgba(${rgb.r},${rgb.g},${rgb.b},${finalOp*0.3}) 87%)`\n ].reverse()\n )\n }\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function TempCtor() {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n}","'use strict';\n\nvar trim = require('trim');\nvar interrupt = require('../util/interrupt');\nmodule.exports = blockquote;\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_GT = '>';\n\n/* Tokenise a blockquote. */\nfunction blockquote(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptBlockquote;\n var now = eat.now();\n var currentLine = now.line;\n var length = value.length;\n var values = [];\n var contents = [];\n var indents = [];\n var add;\n var index = 0;\n var character;\n var rest;\n var nextIndex;\n var content;\n var line;\n var startIndex;\n var prefixed;\n var exit;\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n index++;\n }\n if (value.charAt(index) !== C_GT) {\n return;\n }\n if (silent) {\n return true;\n }\n index = 0;\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n if (nextIndex === -1) {\n nextIndex = length;\n }\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n index++;\n }\n if (value.charAt(index) === C_GT) {\n index++;\n prefixed = true;\n if (value.charAt(index) === C_SPACE) {\n index++;\n }\n } else {\n index = startIndex;\n }\n content = value.slice(index, nextIndex);\n if (!prefixed && !trim(content)) {\n index = startIndex;\n break;\n }\n if (!prefixed) {\n rest = value.slice(index);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) {\n break;\n }\n }\n line = startIndex === index ? content : value.slice(startIndex, nextIndex);\n indents.push(index - startIndex);\n values.push(line);\n contents.push(content);\n index = nextIndex + 1;\n }\n index = -1;\n length = indents.length;\n add = eat(values.join(C_NEWLINE));\n while (++index < length) {\n offsets[currentLine] = (offsets[currentLine] || 0) + indents[index];\n currentLine++;\n }\n exit = self.enterBlock();\n contents = self.tokenizeBlock(contents.join(C_NEWLINE), now);\n exit();\n return add({\n type: 'blockquote',\n children: contents\n });\n}","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgODkiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48dGl0bGU+aG9tZTwvdGl0bGU+PGcgaWQ9IkxheWVyXzEiIGRhdGEtbmFtZT0iTGF5ZXIgMSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNOTUuOCwzNS4zLDc4LjMsMjIuN1Y5LjlhNCw0LDAsMCwwLTgsMHY2LjlMNTIuNCw0YTQuMDYsNC4wNiwwLDAsMC00LjcsMEw0LjIsMzUuM0E0LjEyLDQuMTIsMCwwLDAsMy4zLDQxYTQsNCwwLDAsMCw1LjYuOWw1LjMtMy44Vjc2LjhhNCw0LDAsMCwwLDQsNEg4MS43YTQsNCwwLDAsMCw0LTRWMzhMOTEsNDEuOGE0LDQsMCwwLDAsNS43LS45QTQsNCwwLDAsMCw5NS44LDM1LjNabS00MCwzNy40SDQ0LjJWNTAuNEg1NS43VjcyLjdabTIxLjksMEg2My44VjQ2LjNhNCw0LDAsMCwwLTQtNEg0MC4yYTQsNCwwLDAsMC00LDRWNzIuN0gyMi4zVjMyLjJMNTAsMTIuMmwyNy43LDIwWiIvPjwvZz48L3N2Zz4=\"","import React, {Component} from 'react';\nimport withLocation from \"./withLocation\"\nimport { Link, graphql, withPrefix,navigate } from 'gatsby'\n\nimport LogoWhite from '../images/aecom_logo_white.svg';\nimport LogoBlack from '../images/aecom_logo_black.svg';\nimport { connect } from 'react-redux';\nimport HomeImage from \"../images/home-01.svg\"\nimport {LightOrDark} from \"../actions/utils.js\"\nimport { setScrollSection} from '../actions';\n\n\n\nclass Nav extends Component {\n constructor(props) {\n super(props)\n\n\n this.menuClick = this.menuClick.bind(this);\n this.globalToggle = this.globalToggle.bind(this);\n this.clickNaviagte = this.clickNaviagte.bind(this);\n this.logoColour = \"#000000\"\n\n this.state = {\n menuOpen: false,\n globalOpen: false,\n sections:[],\n }\n }\n\nclickNaviagte(e, section){\n\n this.props.setScrollSection(section)\n if((this.props.location.pathname !== withPrefix(\"/\")) && (!this.props.subSite)){\n\n const timer = setTimeout(() => {\n navigate(\"/\")\n }, 300);\n\n\n }\n // e.stopPropagation()\n }\n\n\n\n globalToggle() {\n\n if(this.state.globalOpen){\n this.setState({globalOpen:false});\n }else{\n this.setState({globalOpen:true});\n }\n }\n\n menuClick() {\n\n if(this.state.menuOpen){\n this.setState({menuOpen:false});\n }else{\n this.setState({menuOpen:true});\n }\n }\n\n\n componentDidMount(){\n\n if(this.props.subsections.length > 0){\n this.setState({sections:this.props.subsections});\n\n }else{\n this.setState({sections:this.props.sections});\n\n }\n\n if(LightOrDark(this.props.backgroundColor) === \"dark\"){\n\n this.logoColour = \"#ffffff\"\n }\n\n\n\n }\n\n componentDidUpdate(prevProps){\n\n if(this.props.sticky !== prevProps.sticky){\n this.props.isStuck(this.props.sticky)\n }\n\n }\n\n\n\n render() {\n\n if((this.props.location.pathname === withPrefix(\"/\")) || (this.props.subSite)){\n return (\n
\n\n\n
\n \n\n \n \n \n \n \n \n\n
\n
\n
\n
    \n {this.props.parent.site_name !== undefined ?\n
  • \n {this.props.parent.menu_name} > \n
  • \n :<>}\n\n {this.props.sections.map((document, index) => (\n (document.hide_from_menu !== \"true\") && (document.hide_from_menu !== null) &&\n
  • {this.props.handleShow(document.Title)}} >{document.Title}
  • \n)\n\n)}\n\n\n\n
\n
\n\n
\n
\n
\n
\n )\n }else{\n\n return (\n
\n
\n \n \n \n \t\n \n \n\n\n
\n
\n
\n\n\n
    \n\n\n\n {this.props.parent.menu_name !== undefined ?
  • {this.props.parent.menu_name} >
  • :<>}\n{this.props.subsite.slug !== undefined ?
  • {this.props.subsite.title} >
  • :
  • Home
  • }\n\n\n\n {this.state.sections.map((document, index) => (\n (document.hide_from_menu !== \"true\") && (document.hide_from_menu !== null) &&\n\n
  • {this.clickNaviagte(e,document.Title)}} >\n {document.Title}\n
  • \n )\n )}\n
\n\n\n
\n\n
\n
\n\n
\n
\n \n
\n
\n )\n\n\n }\n\n }\n\n}\nfunction mapStateToProps(state) {\n return {\n subsite:state.subsite,\n parent:state.parent,\n subsections:state.sections\n };\n}\n\nexport default withLocation(connect(mapStateToProps,{setScrollSection})(Nav));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createStyleImage = exports.createPseudoStyles = exports.createPseudoElementWithContent = exports.createPseudoElementMediaQuery = exports.createPseudoElement = exports.createNoScriptStyles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _StyleUtils = require(\"./StyleUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar createPseudoElement = function createPseudoElement(className, appendix) {\n if (appendix === void 0) {\n appendix = \":before\";\n }\n\n var escapedClassName = (0, _StyleUtils.escapeClassNames)(className);\n var classes = (0, _SimpleUtils.stringToArray)(escapedClassName);\n var pseudoClasses = \"\";\n\n if (Array.isArray(classes)) {\n classes = classes.filter(function (c) {\n return c !== '';\n });\n\n if (classes.length > 0) {\n pseudoClasses = \".\" + classes.join('.') + appendix;\n }\n }\n\n return pseudoClasses;\n};\n\nexports.createPseudoElement = createPseudoElement;\n\nvar createPseudoElementWithContent = function createPseudoElementWithContent(pseudoElementString, imageSource) {\n return \"\\n \" + pseudoElementString + \" {\\n opacity: 1;\\n background-image: \" + imageSource + \";\\n }\";\n};\n\nexports.createPseudoElementWithContent = createPseudoElementWithContent;\n\nvar createPseudoElementMediaQuery = function createPseudoElementMediaQuery(pseudoElementString, media, imageSource, imageSourceWebP) {\n return \"\\n @media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSource) + \"\\n }\\n \" + (imageSourceWebP && \"@media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSourceWebP) + \"\\n }\") + \"\\n \";\n};\n\nexports.createPseudoElementMediaQuery = createPseudoElementMediaQuery;\n\nvar createPseudoStyles = function createPseudoStyles(_ref) {\n var className = _ref.className,\n transitionDelay = _ref.transitionDelay,\n lastImage = _ref.lastImage,\n nextImage = _ref.nextImage,\n afterOpacity = _ref.afterOpacity,\n bgColor = _ref.bgColor,\n fadeIn = _ref.fadeIn,\n backgroundStyles = _ref.backgroundStyles,\n style = _ref.style,\n finalImage = _ref.finalImage,\n originalData = _ref.originalData;\n var pseudoBefore = createPseudoElement(className);\n var pseudoAfter = createPseudoElement(className, \":after\");\n var currentBackgroundStyles = (0, _extends2.default)({}, backgroundStyles, style);\n return \"\\n \" + pseudoBefore + \",\\n \" + pseudoAfter + \" {\\n content: '';\\n display: block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n \" + (bgColor && \"background-color: \" + bgColor + \";\") + \"\\n \" + (0, _StyleUtils.setTransitionStyles)(transitionDelay, fadeIn) + \"\\n \" + (0, _StyleUtils.kebabifyBackgroundStyles)(currentBackgroundStyles) + \"\\n }\\n \" + pseudoBefore + \" {\\n z-index: -100;\\n \" + ((!afterOpacity || finalImage) && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (afterOpacity && lastImage && createStyleImage(lastImage, originalData) || \"\") + \"\\n opacity: \" + Number(!afterOpacity) + \"; \\n }\\n \" + pseudoAfter + \" {\\n z-index: -101;\\n \" + ((afterOpacity || finalImage) && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (!afterOpacity && lastImage && createStyleImage(lastImage, originalData) || \"\") + \"\\n \" + (finalImage ? \"opacity: \" + Number(afterOpacity) + \";\" : \"\") + \"\\n }\\n \";\n};\n\nexports.createPseudoStyles = createPseudoStyles;\n\nvar createStyleImage = function createStyleImage(image, originalData) {\n var hasStackedImages = (0, _ImageUtils.hasImageArray)({\n fluid: originalData\n }) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: originalData\n });\n\n if ((0, _SimpleUtils.isBrowser)() || hasStackedImages) {\n return image ? \"background-image: \" + image + \";\" : \"\";\n }\n\n return \"\";\n};\n\nexports.createStyleImage = createStyleImage;\n\nvar createNoScriptStyles = function createNoScriptStyles(_ref2) {\n var className = _ref2.className,\n image = _ref2.image;\n\n if (image) {\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var addUrl = false;\n var allSources = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"src\",\n checkLoaded: false,\n addUrl: addUrl,\n returnArray: returnArray\n });\n var sourcesAsUrl = (0, _ImageUtils.getUrlString)({\n imageString: allSources,\n hasImageUrls: true,\n returnArray: returnArray\n });\n var sourcesAsUrlWithCSS = \"\";\n\n if (returnArray) {\n var cssStrings = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n });\n sourcesAsUrlWithCSS = (0, _SimpleUtils.filteredJoin)((0, _SimpleUtils.combineArray)(sourcesAsUrl, cssStrings));\n }\n\n var pseudoBefore = createPseudoElement(className);\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n })) {\n return image.map(function (currentMedia) {\n var sourceString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.src\n });\n var webPString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.srcWebp || \"\"\n });\n\n if (currentMedia.media) {\n return createPseudoElementMediaQuery(pseudoBefore, currentMedia.media, sourceString, webPString);\n }\n\n return createPseudoElementMediaQuery(pseudoBefore, 'screen', sourceString, webPString);\n }).join('');\n }\n\n return createPseudoElementWithContent(pseudoBefore, sourcesAsUrlWithCSS || sourcesAsUrl);\n }\n\n return \"\";\n};\n\nexports.createNoScriptStyles = createNoScriptStyles;","'use strict';\n\nvar trim = require('trim');\nvar decimal = require('is-decimal');\nvar trimTrailingLines = require('trim-trailing-lines');\nvar interrupt = require('../util/interrupt');\nmodule.exports = paragraph;\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar TAB_SIZE = 4;\n\n/* Tokenise paragraph. */\nfunction paragraph(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var commonmark = settings.commonmark;\n var gfm = settings.gfm;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptParagraph;\n var index = value.indexOf(C_NEWLINE);\n var length = value.length;\n var position;\n var subvalue;\n var character;\n var size;\n var now;\n while (index < length) {\n /* Eat everything if there’s no following newline. */\n if (index === -1) {\n index = length;\n break;\n }\n\n /* Stop if the next character is NEWLINE. */\n if (value.charAt(index + 1) === C_NEWLINE) {\n break;\n }\n\n /* In commonmark-mode, following indented lines\n * are part of the paragraph. */\n if (commonmark) {\n size = 0;\n position = index + 1;\n while (position < length) {\n character = value.charAt(position);\n if (character === C_TAB) {\n size = TAB_SIZE;\n break;\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n position++;\n }\n if (size >= TAB_SIZE) {\n index = value.indexOf(C_NEWLINE, index + 1);\n continue;\n }\n }\n subvalue = value.slice(index + 1);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) {\n break;\n }\n\n /* Break if the following line starts a list, when\n * already in a list, or when in commonmark, or when\n * in gfm mode and the bullet is *not* numeric. */\n if (tokenizers.list.call(self, eat, subvalue, true) && (self.inList || commonmark || gfm && !decimal(trim.left(subvalue).charAt(0)))) {\n break;\n }\n position = index;\n index = value.indexOf(C_NEWLINE, index + 1);\n if (index !== -1 && trim(value.slice(position, index)) === '') {\n index = position;\n break;\n }\n }\n subvalue = value.slice(0, index);\n if (trim(subvalue) === '') {\n eat(subvalue);\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n now = eat.now();\n subvalue = trimTrailingLines(subvalue);\n return eat(subvalue)({\n type: 'paragraph',\n children: self.tokenizeInline(subvalue, now)\n });\n}","/*!\n * repeat-string \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\n/**\n * Results cache\n */\nvar res = '';\nvar cache;\n\n/**\n * Expose `repeat`\n */\n\nmodule.exports = repeat;\n\n/**\n * Repeat the given `string` the specified `number`\n * of times.\n *\n * **Example:**\n *\n * ```js\n * var repeat = require('repeat-string');\n * repeat('A', 5);\n * //=> AAAAA\n * ```\n *\n * @param {String} `string` The string to repeat\n * @param {Number} `number` The number of times to repeat the string\n * @return {String} Repeated string\n * @api public\n */\n\nfunction repeat(str, num) {\n if (typeof str !== 'string') {\n throw new TypeError('expected a string');\n }\n\n // cover common, quick use cases\n if (num === 1) return str;\n if (num === 2) return str + str;\n var max = str.length * num;\n if (cache !== str || typeof cache === 'undefined') {\n cache = str;\n res = '';\n } else if (res.length >= max) {\n return res.substr(0, max);\n }\n while (max > res.length && num > 1) {\n if (num & 1) {\n res += str;\n }\n num >>= 1;\n str += str;\n }\n res += str;\n res = res.substr(0, max);\n return res;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filterInvalidDOMProps;\nvar _htmlAttributes = require(\"html-attributes\");\nvar _htmlAttributes2 = _interopRequireDefault(_htmlAttributes);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nvar eventProps = {\n onCopy: true,\n onCut: true,\n onPaste: true,\n onLoad: true,\n onError: true,\n onWheel: true,\n onScroll: true,\n onCompositionEnd: true,\n onCompositionStart: true,\n onCompositionUpdate: true,\n onKeyDown: true,\n onKeyPress: true,\n onKeyUp: true,\n onFocus: true,\n onBlur: true,\n onChange: true,\n onInput: true,\n onSubmit: true,\n onClick: true,\n onContextMenu: true,\n onDoubleClick: true,\n onDrag: true,\n onDragEnd: true,\n onDragEnter: true,\n onDragExit: true,\n onDragLeave: true,\n onDragOver: true,\n onDragStart: true,\n onDrop: true,\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOut: true,\n onMouseOver: true,\n onMouseUp: true,\n onSelect: true,\n onTouchCancel: true,\n onTouchEnd: true,\n onTouchMove: true,\n onTouchStart: true,\n onAnimationStart: true,\n onAnimationEnd: true,\n onAnimationIteration: true,\n onTransitionEnd: true\n};\nfunction isValidDOMProp(prop) {\n return eventProps[prop] || _htmlAttributes2.default[prop] || /^(data|aria)-/.test(prop);\n}\nfunction filterInvalidDOMProps(props) {\n var domProps = {};\n for (var prop in props) {\n if (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n domProps[prop] = props[prop];\n }\n }\n return domProps;\n}","exports = module.exports = trim;\nfunction trim(str) {\n return str.replace(/^\\s*|\\s*$/g, '');\n}\nexports.left = function (str) {\n return str.replace(/^\\s*/, '');\n};\nexports.right = function (str) {\n return str.replace(/\\s*$/, '');\n};","'use strict';\n\nmodule.exports = text;\nfunction text(eat, value, silent) {\n var self = this;\n var methods;\n var tokenizers;\n var index;\n var length;\n var subvalue;\n var position;\n var tokenizer;\n var name;\n var min;\n var now;\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n methods = self.inlineMethods;\n length = methods.length;\n tokenizers = self.inlineTokenizers;\n index = -1;\n min = value.length;\n while (++index < length) {\n name = methods[index];\n if (name === 'text' || !tokenizers[name]) {\n continue;\n }\n tokenizer = tokenizers[name].locator;\n if (!tokenizer) {\n eat.file.fail('Missing locator: `' + name + '`');\n }\n position = tokenizer.call(self, value, 1);\n if (position !== -1 && position < min) {\n min = position;\n }\n }\n subvalue = value.slice(0, min);\n now = eat.now();\n self.decode(subvalue, now, function (content, position, source) {\n eat(source || content)({\n type: 'text',\n value: content\n });\n });\n}","'use strict';\n\nvar attributeName = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\nvar unquoted = \"[^\\\"'=<>`\\\\u0000-\\\\u0020]+\";\nvar singleQuoted = '\\'[^\\']*\\'';\nvar doubleQuoted = '\"[^\"]*\"';\nvar attributeValue = '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')';\nvar attribute = '(?:\\\\s+' + attributeName + '(?:\\\\s*=\\\\s*' + attributeValue + ')?)';\nvar openTag = '<[A-Za-z][A-Za-z0-9\\\\-]*' + attribute + '*\\\\s*\\\\/?>';\nvar closeTag = '<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>';\nvar comment = '|';\nvar processing = '<[?].*?[?]>';\nvar declaration = ']*>';\nvar cdata = '';\nexports.openCloseTag = new RegExp('^(?:' + openTag + '|' + closeTag + ')');\nexports.tag = new RegExp('^(?:' + openTag + '|' + closeTag + '|' + comment + '|' + processing + '|' + declaration + '|' + cdata + ')');","module.exports = extend;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction extend() {\n var target = {};\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n}","'use strict';\n\nvar decode = require('parse-entities');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/url');\nmodule.exports = url;\nurl.locator = locate;\nurl.notInLink = true;\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_AT_SIGN = '@';\nvar HTTP_PROTOCOL = 'http://';\nvar HTTPS_PROTOCOL = 'https://';\nvar MAILTO_PROTOCOL = 'mailto:';\nvar PROTOCOLS = [HTTP_PROTOCOL, HTTPS_PROTOCOL, MAILTO_PROTOCOL];\nvar PROTOCOLS_LENGTH = PROTOCOLS.length;\nfunction url(eat, value, silent) {\n var self = this;\n var subvalue;\n var content;\n var character;\n var index;\n var position;\n var protocol;\n var match;\n var length;\n var queue;\n var parenCount;\n var nextCharacter;\n var exit;\n if (!self.options.gfm) {\n return;\n }\n subvalue = '';\n index = -1;\n length = PROTOCOLS_LENGTH;\n while (++index < length) {\n protocol = PROTOCOLS[index];\n match = value.slice(0, protocol.length);\n if (match.toLowerCase() === protocol) {\n subvalue = match;\n break;\n }\n }\n if (!subvalue) {\n return;\n }\n index = subvalue.length;\n length = value.length;\n queue = '';\n parenCount = 0;\n while (index < length) {\n character = value.charAt(index);\n if (whitespace(character) || character === C_LT) {\n break;\n }\n if (character === '.' || character === ',' || character === ':' || character === ';' || character === '\"' || character === '\\'' || character === ')' || character === ']') {\n nextCharacter = value.charAt(index + 1);\n if (!nextCharacter || whitespace(nextCharacter)) {\n break;\n }\n }\n if (character === C_PAREN_OPEN || character === C_BRACKET_OPEN) {\n parenCount++;\n }\n if (character === C_PAREN_CLOSE || character === C_BRACKET_CLOSE) {\n parenCount--;\n if (parenCount < 0) {\n break;\n }\n }\n queue += character;\n index++;\n }\n if (!queue) {\n return;\n }\n subvalue += queue;\n content = subvalue;\n if (protocol === MAILTO_PROTOCOL) {\n position = queue.indexOf(C_AT_SIGN);\n if (position === -1 || position === length - 1) {\n return;\n }\n content = content.substr(MAILTO_PROTOCOL.length);\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n exit = self.enterLink();\n content = self.tokenizeInline(content, eat.now());\n exit();\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(subvalue, {\n nonTerminated: false\n }),\n children: content\n });\n}","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/delete');\nmodule.exports = strikethrough;\nstrikethrough.locator = locate;\nvar C_TILDE = '~';\nvar DOUBLE = '~~';\nfunction strikethrough(eat, value, silent) {\n var self = this;\n var character = '';\n var previous = '';\n var preceding = '';\n var subvalue = '';\n var index;\n var length;\n var now;\n if (!self.options.gfm || value.charAt(0) !== C_TILDE || value.charAt(1) !== C_TILDE || whitespace(value.charAt(2))) {\n return;\n }\n index = 1;\n length = value.length;\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n while (++index < length) {\n character = value.charAt(index);\n if (character === C_TILDE && previous === C_TILDE && (!preceding || !whitespace(preceding))) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n return eat(DOUBLE + subvalue + DOUBLE)({\n type: 'delete',\n children: self.tokenizeInline(subvalue, now)\n });\n }\n subvalue += previous;\n preceding = previous;\n previous = character;\n }\n}","'use strict';\n\nrequire(\"core-js/modules/es.array.reduce.js\");\nvar React = require('react');\nvar xtend = require('xtend');\nvar ReactIs = require('react-is');\nvar defaultNodePosition = {\n start: {\n line: 1,\n column: 1,\n offset: 0\n },\n end: {\n line: 1,\n column: 1,\n offset: 0\n }\n};\nfunction astToReact(node, options) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var renderer = options.renderers[node.type]; // nodes generated by plugins may not have position data\n // much of the code after this point will attempt to access properties of the node.position\n // this will set the node position to the parent node's position to prevent errors\n\n if (node.position === undefined) {\n node.position = parent.node && parent.node.position || defaultNodePosition;\n }\n var pos = node.position.start;\n var key = [node.type, pos.line, pos.column, index].join('-');\n if (!ReactIs.isValidElementType(renderer)) {\n throw new Error(\"Renderer for type `\".concat(node.type, \"` not defined or is not renderable\"));\n }\n var nodeProps = getNodeProps(node, key, options, renderer, parent, index);\n return React.createElement(renderer, nodeProps, nodeProps.children || resolveChildren() || undefined);\n function resolveChildren() {\n return node.children && node.children.map(function (childNode, i) {\n return astToReact(childNode, options, {\n node: node,\n props: nodeProps\n }, i);\n });\n }\n} // eslint-disable-next-line max-params, complexity\n\nfunction getNodeProps(node, key, opts, renderer, parent, index) {\n var props = {\n key: key\n };\n var isTagRenderer = typeof renderer === 'string'; // `sourcePos` is true if the user wants source information (line/column info from markdown source)\n\n if (opts.sourcePos && node.position) {\n props['data-sourcepos'] = flattenPosition(node.position);\n }\n if (opts.rawSourcePos && !isTagRenderer) {\n props.sourcePosition = node.position;\n } // If `includeNodeIndex` is true, pass node index info to all non-tag renderers\n\n if (opts.includeNodeIndex && parent.node && parent.node.children && !isTagRenderer) {\n props.index = parent.node.children.indexOf(node);\n props.parentChildCount = parent.node.children.length;\n }\n var ref = node.identifier !== null && node.identifier !== undefined ? opts.definitions[node.identifier] || {} : null;\n switch (node.type) {\n case 'root':\n assignDefined(props, {\n className: opts.className\n });\n break;\n case 'text':\n props.nodeKey = key;\n props.children = node.value;\n break;\n case 'heading':\n props.level = node.depth;\n break;\n case 'list':\n props.start = node.start;\n props.ordered = node.ordered;\n props.tight = !node.loose;\n props.depth = node.depth;\n break;\n case 'listItem':\n props.checked = node.checked;\n props.tight = !node.loose;\n props.ordered = node.ordered;\n props.index = node.index;\n props.children = getListItemChildren(node, parent).map(function (childNode, i) {\n return astToReact(childNode, opts, {\n node: node,\n props: props\n }, i);\n });\n break;\n case 'definition':\n assignDefined(props, {\n identifier: node.identifier,\n title: node.title,\n url: node.url\n });\n break;\n case 'code':\n assignDefined(props, {\n language: node.lang && node.lang.split(/\\s/, 1)[0]\n });\n break;\n case 'inlineCode':\n props.children = node.value;\n props.inline = true;\n break;\n case 'link':\n assignDefined(props, {\n title: node.title || undefined,\n target: typeof opts.linkTarget === 'function' ? opts.linkTarget(node.url, node.children, node.title) : opts.linkTarget,\n href: opts.transformLinkUri ? opts.transformLinkUri(node.url, node.children, node.title) : node.url\n });\n break;\n case 'image':\n assignDefined(props, {\n alt: node.alt || undefined,\n title: node.title || undefined,\n src: opts.transformImageUri ? opts.transformImageUri(node.url, node.children, node.title, node.alt) : node.url\n });\n break;\n case 'linkReference':\n assignDefined(props, xtend(ref, {\n href: opts.transformLinkUri ? opts.transformLinkUri(ref.href) : ref.href\n }));\n break;\n case 'imageReference':\n assignDefined(props, {\n src: opts.transformImageUri && ref.href ? opts.transformImageUri(ref.href, node.children, ref.title, node.alt) : ref.href,\n title: ref.title || undefined,\n alt: node.alt || undefined\n });\n break;\n case 'table':\n case 'tableHead':\n case 'tableBody':\n props.columnAlignment = node.align;\n break;\n case 'tableRow':\n props.isHeader = parent.node.type === 'tableHead';\n props.columnAlignment = parent.props.columnAlignment;\n break;\n case 'tableCell':\n assignDefined(props, {\n isHeader: parent.props.isHeader,\n align: parent.props.columnAlignment[index]\n });\n break;\n case 'virtualHtml':\n props.tag = node.tag;\n break;\n case 'html':\n // @todo find a better way than this\n props.isBlock = node.position.start.line !== node.position.end.line;\n props.escapeHtml = opts.escapeHtml;\n props.skipHtml = opts.skipHtml;\n break;\n case 'parsedHtml':\n {\n var parsedChildren;\n if (node.children) {\n parsedChildren = node.children.map(function (child, i) {\n return astToReact(child, opts, {\n node: node,\n props: props\n }, i);\n });\n }\n props.escapeHtml = opts.escapeHtml;\n props.skipHtml = opts.skipHtml;\n props.element = mergeNodeChildren(node, parsedChildren);\n break;\n }\n default:\n assignDefined(props, xtend(node, {\n type: undefined,\n position: undefined,\n children: undefined\n }));\n }\n if (!isTagRenderer && node.value) {\n props.value = node.value;\n }\n return props;\n}\nfunction assignDefined(target, attrs) {\n for (var key in attrs) {\n if (typeof attrs[key] !== 'undefined') {\n target[key] = attrs[key];\n }\n }\n}\nfunction mergeNodeChildren(node, parsedChildren) {\n var el = node.element;\n if (Array.isArray(el)) {\n var Fragment = React.Fragment || 'div';\n return React.createElement(Fragment, null, el);\n }\n if (el.props.children || parsedChildren) {\n var children = React.Children.toArray(el.props.children).concat(parsedChildren);\n return React.cloneElement(el, null, children);\n }\n return React.cloneElement(el, null);\n}\nfunction flattenPosition(pos) {\n return [pos.start.line, ':', pos.start.column, '-', pos.end.line, ':', pos.end.column].map(String).join('');\n}\nfunction getListItemChildren(node, parent) {\n if (node.loose) {\n return node.children;\n }\n if (parent.node && node.index > 0 && parent.node.children[node.index - 1].loose) {\n return node.children;\n }\n return unwrapParagraphs(node);\n}\nfunction unwrapParagraphs(node) {\n return node.children.reduce(function (array, child) {\n return array.concat(child.type === 'paragraph' ? child.children || [] : [child]);\n }, []);\n}\nmodule.exports = astToReact;","'use strict';\n\n/**\n * Converter\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n * @constructor\n */\nfunction Converter(srcAlphabet, dstAlphabet) {\n if (!srcAlphabet || !dstAlphabet || !srcAlphabet.length || !dstAlphabet.length) {\n throw new Error('Bad alphabet');\n }\n this.srcAlphabet = srcAlphabet;\n this.dstAlphabet = dstAlphabet;\n}\n\n/**\n * Convert number from source alphabet to destination alphabet\n *\n * @param {string|Array} number - number represented as a string or array of points\n *\n * @returns {string|Array}\n */\nConverter.prototype.convert = function (number) {\n var i,\n divide,\n newlen,\n numberMap = {},\n fromBase = this.srcAlphabet.length,\n toBase = this.dstAlphabet.length,\n length = number.length,\n result = typeof number === 'string' ? '' : [];\n if (!this.isValid(number)) {\n throw new Error('Number \"' + number + '\" contains of non-alphabetic digits (' + this.srcAlphabet + ')');\n }\n if (this.srcAlphabet === this.dstAlphabet) {\n return number;\n }\n for (i = 0; i < length; i++) {\n numberMap[i] = this.srcAlphabet.indexOf(number[i]);\n }\n do {\n divide = 0;\n newlen = 0;\n for (i = 0; i < length; i++) {\n divide = divide * fromBase + numberMap[i];\n if (divide >= toBase) {\n numberMap[newlen++] = parseInt(divide / toBase, 10);\n divide = divide % toBase;\n } else if (newlen > 0) {\n numberMap[newlen++] = 0;\n }\n }\n length = newlen;\n result = this.dstAlphabet.slice(divide, divide + 1).concat(result);\n } while (newlen !== 0);\n return result;\n};\n\n/**\n * Valid number with source alphabet\n *\n * @param {number} number\n *\n * @returns {boolean}\n */\nConverter.prototype.isValid = function (number) {\n var i = 0;\n for (; i < number.length; ++i) {\n if (this.srcAlphabet.indexOf(number[i]) === -1) {\n return false;\n }\n }\n return true;\n};\nmodule.exports = Converter;","'use strict';\n\n/* Expose. */\nmodule.exports = visitParents;\n\n/* Visit. */\nfunction visitParents(tree, type, visitor) {\n var stack = [];\n if (typeof type === 'function') {\n visitor = type;\n type = null;\n }\n one(tree);\n\n /* Visit a single node. */\n function one(node) {\n var result;\n if (!type || node.type === type) {\n result = visitor(node, stack.concat());\n }\n if (node.children && result !== false) {\n return all(node.children, node);\n }\n return result;\n }\n\n /* Visit children in `parent`. */\n function all(children, parent) {\n var length = children.length;\n var index = -1;\n var child;\n stack.push(parent);\n while (++index < length) {\n child = children[index];\n if (child && one(child) === false) {\n return false;\n }\n }\n stack.pop();\n return true;\n }\n}","import \"core-js/modules/es.typed-array.set.js\";\nimport \"core-js/modules/es.typed-array.sort.js\";\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","import REGEX from './regex.js';\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq; // Previous uuid creation time\n\nvar _lastMSecs = 0;\nvar _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || new Array(16);\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n var seedBytes = options.random || (options.rng || rng)();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n return buf || stringify(b);\n}\nexport default v1;","import \"core-js/modules/es.typed-array.set.js\";\nimport \"core-js/modules/es.typed-array.sort.js\";\nimport validate from './validate.js';\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\nexport default parse;","import \"core-js/modules/es.typed-array.set.js\";\nimport \"core-js/modules/es.typed-array.sort.js\";\nimport stringify from './stringify.js';\nimport parse from './parse.js';\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n return bytes;\n}\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import \"core-js/modules/es.typed-array.set.js\";\nimport \"core-js/modules/es.typed-array.sort.js\";\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return stringify(rnds);\n}\nexport default v4;","import \"core-js/modules/es.typed-array.set.js\";\nimport \"core-js/modules/es.typed-array.sort.js\";\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n case 1:\n return x ^ y ^ z;\n case 2:\n return x & y ^ x & z ^ y & z;\n case 3:\n return x ^ y ^ z;\n }\n}\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n M[_i] = arr;\n }\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n return parseInt(uuid.substr(14, 1), 16);\n}\nexport default version;","'use strict';\n\nvar alphabetical = require('is-alphabetical');\nvar locate = require('../locate/tag');\nvar tag = require('../util/html').tag;\nmodule.exports = inlineHTML;\ninlineHTML.locator = locate;\nvar EXPRESSION_HTML_LINK_OPEN = /^/i;\nfunction inlineHTML(eat, value, silent) {\n var self = this;\n var length = value.length;\n var character;\n var subvalue;\n if (value.charAt(0) !== '<' || length < 3) {\n return;\n }\n character = value.charAt(1);\n if (!alphabetical(character) && character !== '?' && character !== '!' && character !== '/') {\n return;\n }\n subvalue = value.match(tag);\n if (!subvalue) {\n return;\n }\n\n /* istanbul ignore if - not used yet. */\n if (silent) {\n return true;\n }\n subvalue = subvalue[0];\n if (!self.inLink && EXPRESSION_HTML_LINK_OPEN.test(subvalue)) {\n self.inLink = true;\n } else if (self.inLink && EXPRESSION_HTML_LINK_CLOSE.test(subvalue)) {\n self.inLink = false;\n }\n return eat(subvalue)({\n type: 'html',\n value: subvalue\n });\n}","'use strict';\n\nmodule.exports = locate;\nvar PROTOCOLS = ['https://', 'http://', 'mailto:'];\nfunction locate(value, fromIndex) {\n var length = PROTOCOLS.length;\n var index = -1;\n var min = -1;\n var position;\n if (!this.options.gfm) {\n return -1;\n }\n while (++index < length) {\n position = value.indexOf(PROTOCOLS[index], fromIndex);\n if (position !== -1 && (position < min || min === -1)) {\n min = position;\n }\n }\n return min;\n}","'use strict';\n\n/* eslint-env browser */\nvar el;\nvar semicolon = 59; // ';'\n\nmodule.exports = decodeEntity;\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';';\n var char;\n el = el || document.createElement('i');\n el.innerHTML = entity;\n char = el.textContent;\n\n // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false;\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StickyContainer = exports.Sticky = undefined;\nvar _Sticky = require(\"./Sticky\");\nvar _Sticky2 = _interopRequireDefault(_Sticky);\nvar _Container = require(\"./Container\");\nvar _Container2 = _interopRequireDefault(_Container);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nexports.Sticky = _Sticky2.default;\nexports.StickyContainer = _Container2.default;\nexports.default = _Sticky2.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.resetComponentClassCache = exports.inComponentClassCache = exports.activateCacheForComponentClass = void 0;\nvar componentClassCache = Object.create({});\n\nvar inComponentClassCache = function inComponentClassCache(className) {\n return componentClassCache[className] || false;\n};\n\nexports.inComponentClassCache = inComponentClassCache;\n\nvar activateCacheForComponentClass = function activateCacheForComponentClass(className) {\n if (className) {\n componentClassCache[className] = true;\n }\n};\n\nexports.activateCacheForComponentClass = activateCacheForComponentClass;\n\nvar resetComponentClassCache = function resetComponentClassCache() {\n for (var className in componentClassCache) {\n delete componentClassCache[className];\n }\n};\n\nexports.resetComponentClassCache = resetComponentClassCache;","'use strict';\n\nvar openCloseTag = require('../util/html').openCloseTag;\nmodule.exports = blockHTML;\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_LT = '<';\nfunction blockHTML(eat, value, silent) {\n var self = this;\n var blocks = self.options.blocks;\n var length = value.length;\n var index = 0;\n var next;\n var line;\n var offset;\n var character;\n var count;\n var sequence;\n var subvalue;\n var sequences = [[/^<(script|pre|style)(?=(\\s|>|$))/i, /<\\/(script|pre|style)>/i, true], [/^/, true], [/^<\\?/, /\\?>/, true], [/^/, true], [/^/, true], [new RegExp('^|$))', 'i'), /^$/, true], [new RegExp(openCloseTag.source + '\\\\s*$'), /^$/, false]];\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n index++;\n }\n if (value.charAt(index) !== C_LT) {\n return;\n }\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index, next);\n offset = -1;\n count = sequences.length;\n while (++offset < count) {\n if (sequences[offset][0].test(line)) {\n sequence = sequences[offset];\n break;\n }\n }\n if (!sequence) {\n return;\n }\n if (silent) {\n return sequence[2];\n }\n index = next;\n if (!sequence[1].test(line)) {\n while (index < length) {\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index + 1, next);\n if (sequence[1].test(line)) {\n if (line) {\n index = next;\n }\n break;\n }\n index = next;\n }\n }\n subvalue = value.slice(0, index);\n return eat(subvalue)({\n type: 'html',\n value: subvalue\n });\n}","'use strict';\n\nmodule.exports = decimal;\n\n// Check if the given character code, or the character code at the first\n// character, is decimal.\nfunction decimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character;\n return code >= 48 && code <= 57; /* 0-9 */\n}","'use strict';\n\nvar legacy = require('character-entities-legacy');\nvar invalid = require('character-reference-invalid');\nvar decimal = require('is-decimal');\nvar hexadecimal = require('is-hexadecimal');\nvar alphanumerical = require('is-alphanumerical');\nvar decodeEntity = require('./decode-entity');\nmodule.exports = parseEntities;\nvar own = {}.hasOwnProperty;\nvar fromCharCode = String.fromCharCode;\nvar noop = Function.prototype;\n\n// Default settings.\nvar defaults = {\n warning: null,\n reference: null,\n text: null,\n warningContext: null,\n referenceContext: null,\n textContext: null,\n position: {},\n additional: null,\n attribute: false,\n nonTerminated: true\n};\n\n// Characters.\nvar tab = 9; // '\\t'\nvar lineFeed = 10; // '\\n'\nvar formFeed = 12; // '\\f'\nvar space = 32; // ' '\nvar ampersand = 38; // '&'\nvar semicolon = 59; // ';'\nvar lessThan = 60; // '<'\nvar equalsTo = 61; // '='\nvar numberSign = 35; // '#'\nvar uppercaseX = 88; // 'X'\nvar lowercaseX = 120; // 'x'\nvar replacementCharacter = 65533; // '�'\n\n// Reference types.\nvar name = 'named';\nvar hexa = 'hexadecimal';\nvar deci = 'decimal';\n\n// Map of bases.\nvar bases = {};\nbases[hexa] = 16;\nbases[deci] = 10;\n\n// Map of types to tests.\n// Each type of character reference accepts different characters.\n// This test is used to detect whether a reference has ended (as the semicolon\n// is not strictly needed).\nvar tests = {};\ntests[name] = alphanumerical;\ntests[deci] = decimal;\ntests[hexa] = hexadecimal;\n\n// Warning types.\nvar namedNotTerminated = 1;\nvar numericNotTerminated = 2;\nvar namedEmpty = 3;\nvar numericEmpty = 4;\nvar namedUnknown = 5;\nvar numericDisallowed = 6;\nvar numericProhibited = 7;\n\n// Warning messages.\nvar messages = {};\nmessages[namedNotTerminated] = 'Named character references must be terminated by a semicolon';\nmessages[numericNotTerminated] = 'Numeric character references must be terminated by a semicolon';\nmessages[namedEmpty] = 'Named character references cannot be empty';\nmessages[numericEmpty] = 'Numeric character references cannot be empty';\nmessages[namedUnknown] = 'Named character references must be known';\nmessages[numericDisallowed] = 'Numeric character references cannot be disallowed';\nmessages[numericProhibited] = 'Numeric character references cannot be outside the permissible Unicode range';\n\n// Wrap to ensure clean parameters are given to `parse`.\nfunction parseEntities(value, options) {\n var settings = {};\n var option;\n var key;\n if (!options) {\n options = {};\n }\n for (key in defaults) {\n option = options[key];\n settings[key] = option === null || option === undefined ? defaults[key] : option;\n }\n if (settings.position.indent || settings.position.start) {\n settings.indent = settings.position.indent || [];\n settings.position = settings.position.start;\n }\n return parse(value, settings);\n}\n\n// Parse entities.\n// eslint-disable-next-line complexity\nfunction parse(value, settings) {\n var additional = settings.additional;\n var nonTerminated = settings.nonTerminated;\n var handleText = settings.text;\n var handleReference = settings.reference;\n var handleWarning = settings.warning;\n var textContext = settings.textContext;\n var referenceContext = settings.referenceContext;\n var warningContext = settings.warningContext;\n var pos = settings.position;\n var indent = settings.indent || [];\n var length = value.length;\n var index = 0;\n var lines = -1;\n var column = pos.column || 1;\n var line = pos.line || 1;\n var queue = '';\n var result = [];\n var entityCharacters;\n var namedEntity;\n var terminated;\n var characters;\n var character;\n var reference;\n var following;\n var warning;\n var reason;\n var output;\n var entity;\n var begin;\n var start;\n var type;\n var test;\n var prev;\n var next;\n var diff;\n var end;\n if (typeof additional === 'string') {\n additional = additional.charCodeAt(0);\n }\n\n // Cache the current point.\n prev = now();\n\n // Wrap `handleWarning`.\n warning = handleWarning ? parseError : noop;\n\n // Ensure the algorithm walks over the first character and the end (inclusive).\n index--;\n length++;\n while (++index < length) {\n // If the previous character was a newline.\n if (character === lineFeed) {\n column = indent[lines] || 1;\n }\n character = value.charCodeAt(index);\n if (character === ampersand) {\n following = value.charCodeAt(index + 1);\n\n // The behaviour depends on the identity of the next character.\n if (following === tab || following === lineFeed || following === formFeed || following === space || following === ampersand || following === lessThan || following !== following || additional && following === additional) {\n // Not a character reference.\n // No characters are consumed, and nothing is returned.\n // This is not an error, either.\n queue += fromCharCode(character);\n column++;\n continue;\n }\n start = index + 1;\n begin = start;\n end = start;\n if (following === numberSign) {\n // Numerical entity.\n end = ++begin;\n\n // The behaviour further depends on the next character.\n following = value.charCodeAt(end);\n if (following === uppercaseX || following === lowercaseX) {\n // ASCII hex digits.\n type = hexa;\n end = ++begin;\n } else {\n // ASCII digits.\n type = deci;\n }\n } else {\n // Named entity.\n type = name;\n }\n entityCharacters = '';\n entity = '';\n characters = '';\n test = tests[type];\n end--;\n while (++end < length) {\n following = value.charCodeAt(end);\n if (!test(following)) {\n break;\n }\n characters += fromCharCode(following);\n\n // Check if we can match a legacy named reference.\n // If so, we cache that as the last viable named reference.\n // This ensures we do not need to walk backwards later.\n if (type === name && own.call(legacy, characters)) {\n entityCharacters = characters;\n entity = legacy[characters];\n }\n }\n terminated = value.charCodeAt(end) === semicolon;\n if (terminated) {\n end++;\n namedEntity = type === name ? decodeEntity(characters) : false;\n if (namedEntity) {\n entityCharacters = characters;\n entity = namedEntity;\n }\n }\n diff = 1 + end - start;\n if (!terminated && !nonTerminated) {\n // Empty.\n } else if (!characters) {\n // An empty (possible) entity is valid, unless it’s numeric (thus an\n // ampersand followed by an octothorp).\n if (type !== name) {\n warning(numericEmpty, diff);\n }\n } else if (type === name) {\n // An ampersand followed by anything unknown, and not terminated, is\n // invalid.\n if (terminated && !entity) {\n warning(namedUnknown, 1);\n } else {\n // If theres something after an entity name which is not known, cap\n // the reference.\n if (entityCharacters !== characters) {\n end = begin + entityCharacters.length;\n diff = 1 + end - begin;\n terminated = false;\n }\n\n // If the reference is not terminated, warn.\n if (!terminated) {\n reason = entityCharacters ? namedNotTerminated : namedEmpty;\n if (settings.attribute) {\n following = value.charCodeAt(end);\n if (following === equalsTo) {\n warning(reason, diff);\n entity = null;\n } else if (alphanumerical(following)) {\n entity = null;\n } else {\n warning(reason, diff);\n }\n } else {\n warning(reason, diff);\n }\n }\n }\n reference = entity;\n } else {\n if (!terminated) {\n // All non-terminated numeric entities are not rendered, and trigger a\n // warning.\n warning(numericNotTerminated, diff);\n }\n\n // When terminated and number, parse as either hexadecimal or decimal.\n reference = parseInt(characters, bases[type]);\n\n // Trigger a warning when the parsed number is prohibited, and replace\n // with replacement character.\n if (prohibited(reference)) {\n warning(numericProhibited, diff);\n reference = fromCharCode(replacementCharacter);\n } else if (reference in invalid) {\n // Trigger a warning when the parsed number is disallowed, and replace\n // by an alternative.\n warning(numericDisallowed, diff);\n reference = invalid[reference];\n } else {\n // Parse the number.\n output = '';\n\n // Trigger a warning when the parsed number should not be used.\n if (disallowed(reference)) {\n warning(numericDisallowed, diff);\n }\n\n // Stringify the number.\n if (reference > 0xffff) {\n reference -= 0x10000;\n output += fromCharCode(reference >>> (10 & 0x3ff) | 0xd800);\n reference = 0xdc00 | reference & 0x3ff;\n }\n reference = output + fromCharCode(reference);\n }\n }\n\n // Found it!\n // First eat the queued characters as normal text, then eat an entity.\n if (reference) {\n flush();\n prev = now();\n index = end - 1;\n column += end - start + 1;\n result.push(reference);\n next = now();\n next.offset++;\n if (handleReference) {\n handleReference.call(referenceContext, reference, {\n start: prev,\n end: next\n }, value.slice(start - 1, end));\n }\n prev = next;\n } else {\n // If we could not find a reference, queue the checked characters (as\n // normal characters), and move the pointer to their end.\n // This is possible because we can be certain neither newlines nor\n // ampersands are included.\n characters = value.slice(start - 1, end);\n queue += characters;\n column += characters.length;\n index = end - 1;\n }\n } else {\n // Handle anything other than an ampersand, including newlines and EOF.\n if (character === 10 // Line feed\n ) {\n line++;\n lines++;\n column = 0;\n }\n if (character === character) {\n queue += fromCharCode(character);\n column++;\n } else {\n flush();\n }\n }\n }\n\n // Return the reduced nodes, and any possible warnings.\n return result.join('');\n\n // Get current position.\n function now() {\n return {\n line: line,\n column: column,\n offset: index + (pos.offset || 0)\n };\n }\n\n // “Throw” a parse-error: a warning.\n function parseError(code, offset) {\n var position = now();\n position.column += offset;\n position.offset += offset;\n handleWarning.call(warningContext, messages[code], position, code);\n }\n\n // Flush `queue` (normal text).\n // Macro invoked before each entity and at the end of `value`.\n // Does nothing when `queue` is empty.\n function flush() {\n if (queue) {\n result.push(queue);\n if (handleText) {\n handleText.call(textContext, queue, {\n start: prev,\n end: now()\n });\n }\n queue = '';\n }\n }\n}\n\n// Check if `character` is outside the permissible unicode range.\nfunction prohibited(code) {\n return code >= 0xd800 && code <= 0xdfff || code > 0x10ffff;\n}\n\n// Check if `character` is disallowed.\nfunction disallowed(code) {\n return code >= 0x0001 && code <= 0x0008 || code === 0x000b || code >= 0x000d && code <= 0x001f || code >= 0x007f && code <= 0x009f || code >= 0xfdd0 && code <= 0xfdef || (code & 0xffff) === 0xffff || (code & 0xffff) === 0xfffe;\n}","'use strict';\n\nmodule.exports = visit;\nvar visitParents = require('unist-util-visit-parents');\nvar CONTINUE = visitParents.CONTINUE;\nvar SKIP = visitParents.SKIP;\nvar EXIT = visitParents.EXIT;\nvisit.CONTINUE = CONTINUE;\nvisit.SKIP = SKIP;\nvisit.EXIT = EXIT;\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor;\n visitor = test;\n test = null;\n }\n visitParents(tree, test, overload, reverse);\n function overload(node, parents) {\n var parent = parents[parents.length - 1];\n var index = parent ? parent.children.indexOf(node) : null;\n return visitor(node, index, parent);\n }\n}","'use strict';\n\nvar trim = require('trim');\nvar repeat = require('repeat-string');\nvar getIndent = require('./get-indentation');\nmodule.exports = indentation;\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\n/* Remove the minimum indent from every line in `value`.\n * Supports both tab, spaced, and mixed indentation (as\n * well as possible). */\nfunction indentation(value, maximum) {\n var values = value.split(C_NEWLINE);\n var position = values.length + 1;\n var minIndent = Infinity;\n var matrix = [];\n var index;\n var indentation;\n var stops;\n var padding;\n values.unshift(repeat(C_SPACE, maximum) + '!');\n while (position--) {\n indentation = getIndent(values[position]);\n matrix[position] = indentation.stops;\n if (trim(values[position]).length === 0) {\n continue;\n }\n if (indentation.indent) {\n if (indentation.indent > 0 && indentation.indent < minIndent) {\n minIndent = indentation.indent;\n }\n } else {\n minIndent = Infinity;\n break;\n }\n }\n if (minIndent !== Infinity) {\n position = values.length;\n while (position--) {\n stops = matrix[position];\n index = minIndent;\n while (index && !(index in stops)) {\n index--;\n }\n if (trim(values[position]).length !== 0 && minIndent && index !== minIndent) {\n padding = C_TAB;\n } else {\n padding = '';\n }\n values[position] = padding + values[position].slice(index in stops ? stops[index] + 1 : 0);\n }\n }\n values.shift();\n return values.join(C_NEWLINE);\n}","'use strict';\n\nmodule.exports = locate;\nfunction locate(value, fromIndex) {\n var index = value.indexOf('\\n', fromIndex);\n while (index > fromIndex) {\n if (value.charAt(index - 1) !== ' ') {\n break;\n }\n index--;\n }\n return index;\n}","'use strict';\n\nmodule.exports = locate;\nfunction locate(value, fromIndex) {\n return value.indexOf('<', fromIndex);\n}","require(\"core-js/modules/es.array.sort.js\");\nvar extend = require('xtend');\nvar mqTypes = ['blank', 'all', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'print'];\n\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\nfunction itemsValid(rules, type, prop) {\n var flag = true;\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (typeof rules[i] !== type || prop && !rules[i].hasOwnProperty(prop)) {\n flag = false;\n break;\n }\n }\n return flag;\n}\n\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\nfunction allValid(rules, type, prop) {\n if (!rules || !rules.length || typeof rules === 'string') {\n return 'none';\n }\n if (type === 'object' && (!prop || typeof prop !== 'string') || !itemsValid(rules, type, prop)) {\n return 'some';\n }\n return 'all';\n}\n\n/**\n * Normalize between array with strings and array with objects\n *\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Object}\n */\nfunction prepareRules(rules, type, prop) {\n var collection = [];\n var o = {};\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (type === 'string') {\n o = extend({}, {\n __media: rules[i]\n });\n } else {\n o = extend({}, rules[i]);\n o.__media = rules[i][prop];\n }\n collection.push(o);\n }\n return collection;\n}\n\n/**\n * @param {Boolean} isMax\n *\n * @return {Function}\n */\nfunction determineSortOrder(isMax) {\n /**\n * Determine sort order based on provided arguments\n *\n * @param {Object} a\n * @param {Object} b\n *\n * @return {Integer}\n */\n return function (a, b) {\n var sortValA = a.sortVal;\n var sortValB = b.sortVal;\n var ruleA = a.item.__media;\n var ruleB = b.item.__media;\n isMax = typeof isMax !== 'undefined' ? isMax : false;\n\n // Consider print for sorting if sortVals are equal\n if (sortValA === sortValB) {\n if (ruleA.match(/print/)) {\n // a contains print and should be sorted after b\n return 1;\n }\n if (ruleB.match(/print/)) {\n // b contains print and should be sorted after a\n return -1;\n }\n }\n\n // Return descending sort order for max-(width|height) media queries\n if (isMax) {\n return sortValB - sortValA;\n }\n\n // Return ascending sort order\n return sortValA - sortValB;\n };\n}\n\n/**\n * @return {Object}\n */\nfunction createCollection() {\n var mqCollection = {};\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n mqCollection[mqTypes[i]] = [];\n }\n return mqCollection;\n}\n\n/**\n * @param {Object} collection\n * @param {Array} rules\n *\n * @return {Object}\n */\nfunction addRulesToCollection(collection, rules) {\n // Sort media queries by kind, this is needed to output them in the right order\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n var item = rules[i];\n var rule = item.__media;\n var collectionType = 'blank';\n var valMatch = rule.match(/\\d+/g);\n if (rule.match(/min-width/)) {\n collectionType = 'minWidth';\n } else if (rule.match(/min-height/)) {\n collectionType = 'minHeight';\n } else if (rule.match(/max-width/)) {\n collectionType = 'maxWidth';\n } else if (rule.match(/max-height/)) {\n collectionType = 'maxHeight';\n } else if (rule.match(/print/)) {\n collectionType = 'print';\n } else if (rule.match(/all/)) {\n collectionType = 'all';\n }\n collection[collectionType].push({\n item: item,\n sortVal: valMatch ? valMatch[0] : 0\n });\n }\n return collection;\n}\n\n/**\n * @param {Object} collection\n *\n * @return {Object}\n */\nfunction sortCollection(collection) {\n var sorter;\n for (var collectionType in collection) {\n if (collection.hasOwnProperty(collectionType)) {\n sorter = determineSortOrder(false);\n if (collectionType === 'maxWidth' || collectionType === 'maxHeight') {\n sorter = determineSortOrder(true);\n }\n collection[collectionType].sort(sorter);\n }\n }\n return collection;\n}\n\n/**\n * @param {Object} collection\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\nfunction transformCollection(collection, type, prop) {\n var transformed = [];\n var collectionItem;\n function iterateCollectionItem(collectionItem) {\n var resultVal;\n for (var i = 0, typeLength = collectionItem.length; i < typeLength; i++) {\n if (type === 'string') {\n resultVal = collectionItem[i].item.__media;\n } else {\n resultVal = collectionItem[i].item;\n delete resultVal.__media;\n }\n transformed.push(resultVal);\n }\n }\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n iterateCollectionItem(collection[mqTypes[i]]);\n }\n return transformed;\n}\n\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\nfunction sortInit(rules, type, prop) {\n switch (allValid(rules, type, prop)) {\n case 'none':\n return [];\n case 'some':\n return rules;\n }\n var collection = createCollection();\n rules = prepareRules(rules, type, prop);\n addRulesToCollection(collection, rules);\n sortCollection(collection);\n return transformCollection(collection, type, prop);\n}\n\n/**\n * @param {Array} rules\n * @param {String} prop\n *\n * @return {Array}\n */\nmodule.exports = function (rules, prop) {\n if (rules) {\n if (prop) {\n return sortInit(rules, 'object', prop);\n }\n return sortInit(rules, 'string');\n }\n return [];\n};","'use strict';\n\nvar trim = require('trim');\nvar word = require('is-word-character');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/emphasis');\nmodule.exports = emphasis;\nemphasis.locator = locate;\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nfunction emphasis(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n if (character !== C_ASTERISK && character !== C_UNDERSCORE) {\n return;\n }\n pedantic = self.options.pedantic;\n subvalue = character;\n marker = character;\n length = value.length;\n index++;\n queue = '';\n character = '';\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n if (character === marker && (!pedantic || !whitespace(prev))) {\n character = value.charAt(++index);\n if (character !== marker) {\n if (!trim(queue) || prev === marker) {\n return;\n }\n if (!pedantic && marker === C_UNDERSCORE && word(character)) {\n queue += marker;\n continue;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n now = eat.now();\n now.column++;\n now.offset++;\n return eat(subvalue + queue + marker)({\n type: 'emphasis',\n children: self.tokenizeInline(queue, now)\n });\n }\n queue += marker;\n }\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n queue += character;\n index++;\n }\n}","'use strict';\n\nvar visit = require('unist-util-visit');\nmodule.exports = removePosition;\nfunction removePosition(node, force) {\n visit(node, force ? hard : soft);\n return node;\n}\nfunction hard(node) {\n delete node.position;\n}\nfunction soft(node) {\n node.position = undefined;\n}","\"use strict\";\n\n/**\n * Naive, simple plugin to match inline nodes without attributes\n * This allows say foo, but not foo\n * For proper HTML support, you'll want a different plugin\n **/\nvar visit = require('unist-util-visit');\nvar type = 'virtualHtml';\nvar selfClosingRe = /^<(area|base|br|col|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)\\s*\\/?>$/i;\nvar simpleTagRe = /^<(\\/?)([a-z]+)\\s*>$/;\nmodule.exports = function (tree) {\n var open;\n var currentParent;\n visit(tree, 'html', function (node, index, parent) {\n if (currentParent !== parent) {\n open = [];\n currentParent = parent;\n }\n var selfClosing = getSelfClosing(node);\n if (selfClosing) {\n parent.children.splice(index, 1, {\n type: type,\n tag: selfClosing,\n position: node.position\n });\n return true;\n }\n var current = getSimpleTag(node, parent);\n if (!current) {\n return true;\n }\n var matching = findAndPull(open, current.tag);\n if (matching) {\n parent.children.splice(index, 0, virtual(current, matching, parent));\n } else if (!current.opening) {\n open.push(current);\n }\n return true;\n }, true // Iterate in reverse\n );\n\n return tree;\n};\nfunction findAndPull(open, matchingTag) {\n var i = open.length;\n while (i--) {\n if (open[i].tag === matchingTag) {\n return open.splice(i, 1)[0];\n }\n }\n return false;\n}\nfunction getSimpleTag(node, parent) {\n var match = node.value.match(simpleTagRe);\n return match ? {\n tag: match[2],\n opening: !match[1],\n node: node\n } : false;\n}\nfunction getSelfClosing(node) {\n var match = node.value.match(selfClosingRe);\n return match ? match[1] : false;\n}\nfunction virtual(fromNode, toNode, parent) {\n var fromIndex = parent.children.indexOf(fromNode.node);\n var toIndex = parent.children.indexOf(toNode.node);\n var extracted = parent.children.splice(fromIndex, toIndex - fromIndex + 1);\n var children = extracted.slice(1, -1);\n return {\n type: type,\n children: children,\n tag: fromNode.tag,\n position: {\n start: fromNode.node.position.start,\n end: toNode.node.position.end,\n indent: []\n }\n };\n}","'use strict';\n\nvar stringify = require('unist-util-stringify-position');\nmodule.exports = VMessage;\n\n// Inherit from `Error#`.\nfunction VMessagePrototype() {}\nVMessagePrototype.prototype = Error.prototype;\nVMessage.prototype = new VMessagePrototype();\n\n// Message properties.\nvar proto = VMessage.prototype;\nproto.file = '';\nproto.name = '';\nproto.reason = '';\nproto.message = '';\nproto.stack = '';\nproto.fatal = null;\nproto.column = null;\nproto.line = null;\n\n// Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\nfunction VMessage(reason, position, origin) {\n var parts;\n var range;\n var location;\n if (typeof position === 'string') {\n origin = position;\n position = null;\n }\n parts = parseOrigin(origin);\n range = stringify(position) || '1:1';\n location = {\n start: {\n line: null,\n column: null\n },\n end: {\n line: null,\n column: null\n }\n };\n\n // Node.\n if (position && position.position) {\n position = position.position;\n }\n if (position) {\n // Position.\n if (position.start) {\n location = position;\n position = position.start;\n } else {\n // Point.\n location.start = position;\n }\n }\n if (reason.stack) {\n this.stack = reason.stack;\n reason = reason.message;\n }\n this.message = reason;\n this.name = range;\n this.reason = reason;\n this.line = position ? position.line : null;\n this.column = position ? position.column : null;\n this.location = location;\n this.source = parts[0];\n this.ruleId = parts[1];\n}\nfunction parseOrigin(origin) {\n var result = [null, null];\n var index;\n if (typeof origin === 'string') {\n index = origin.indexOf(':');\n if (index === -1) {\n result[1] = origin;\n } else {\n result[0] = origin.slice(0, index);\n result[1] = origin.slice(index + 1);\n }\n }\n return result;\n}","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjEuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMzUgMjguNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTM1IDI4Ljc7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRkZGRkZGO30KPC9zdHlsZT4KPGc+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTIzLjEsMjguMWwwLjEtMTYuMmwtOC4xLDE2LjJoLTMuNUwxMDguNywxMkwxMDQsMjguMWgtNi45bDguNi0yNy42aDYuMmwzLjIsMTUuNmw4LTE1LjZoNi4ybDAuNSwyNy42SDEyMy4xCgkJeiBNOTIuNywxNS4zYzEtNC43LTAuNy04LjMtNC4zLTljLTMuOS0wLjgtNy40LDIuMi04LjUsNy4xYy0xLDQuNywwLjcsOC4zLDQuMyw5Qzg4LjEsMjMuMiw5MS42LDIwLjIsOTIuNywxNS4zIE04OC4xLDAuMQoJCWM3LjQsMC41LDEyLDYuNSwxMS4xLDE0LjZjLTAuOSw4LjMtNy41LDE0LjQtMTUuMSwxMy45Qzc2LjgsMjgsNzIuMiwyMiw3MywxNEM3My45LDUuNyw4MC42LTAuNSw4OC4xLDAuMSBNNzAuNiwyNy43CgkJYy0xLjgsMC45LTQuOCwxLTYuMSwxYy03LjgsMC0xMy01LjctMTIuOC0xMy43QzUyLDYuNiw1OC41LDAsNjYuNSwwYzIuOSwwLDUuMiwwLjcsNy45LDIuM2wtMS4zLDYuNmMtMS44LTEuNS0zLjgtMi4zLTYuMS0yLjMKCQljLTQuOCwwLTguMywzLjQtOC41LDhDNTguNCwxOSw2MS4yLDIyLDY1LjYsMjJjMS40LDAsNC4xLTAuMSw2LTFMNzAuNiwyNy43eiBNNDguNSwxNy42SDMxLjRsMS02LjRoMTcuMUw0OC41LDE3LjZ6IE01Mi40LDdIMzMKCQlsMS02LjRoMTkuNEw1Mi40LDd6IE01MC4yLDIxLjdIMzAuOGwtMSw2LjRoMTkuNEw1MC4yLDIxLjd6IE0xNC43LDE2LjdsNC05LjZoMC4xbDIsOS42SDE0Ljd6IE0yMy4zLDI4LjFoNi42TDIzLjUsMC41SDE2TDMsMjguMQoJCWg2LjlsMi4zLTUuNGg5LjlMMjMuMywyOC4xeiIvPgo8L2c+Cjwvc3ZnPgo=\"","// Generated by CoffeeScript 1.12.2\n(function () {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n if (typeof performance !== \"undefined\" && performance !== null && performance.now) {\n module.exports = function () {\n return performance.now();\n };\n } else if (typeof process !== \"undefined\" && process !== null && process.hrtime) {\n module.exports = function () {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function getNanoSeconds() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n}).call(this);","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar normalize = require('../util/normalize');\nmodule.exports = footnoteDefinition;\nfootnoteDefinition.notInList = true;\nfootnoteDefinition.notInBlock = true;\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_CARET = '^';\nvar C_COLON = ':';\nvar EXPRESSION_INITIAL_TAB = /^( {4}|\\t)?/gm;\nfunction footnoteDefinition(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var index;\n var length;\n var subvalue;\n var now;\n var currentLine;\n var content;\n var queue;\n var subqueue;\n var character;\n var identifier;\n var add;\n var exit;\n if (!self.options.footnotes) {\n return;\n }\n index = 0;\n length = value.length;\n subvalue = '';\n now = eat.now();\n currentLine = now.line;\n while (index < length) {\n character = value.charAt(index);\n if (!whitespace(character)) {\n break;\n }\n subvalue += character;\n index++;\n }\n if (value.charAt(index) !== C_BRACKET_OPEN || value.charAt(index + 1) !== C_CARET) {\n return;\n }\n subvalue += C_BRACKET_OPEN + C_CARET;\n index = subvalue.length;\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n queue += character;\n index++;\n }\n if (!queue || value.charAt(index) !== C_BRACKET_CLOSE || value.charAt(index + 1) !== C_COLON) {\n return;\n }\n if (silent) {\n return true;\n }\n identifier = normalize(queue);\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n subvalue += character;\n index++;\n }\n now.column += subvalue.length;\n now.offset += subvalue.length;\n queue = '';\n content = '';\n subqueue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character === C_NEWLINE) {\n subqueue = character;\n index++;\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_NEWLINE) {\n break;\n }\n subqueue += character;\n index++;\n }\n queue += subqueue;\n subqueue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character !== C_SPACE) {\n break;\n }\n subqueue += character;\n index++;\n }\n if (subqueue.length === 0) {\n break;\n }\n queue += subqueue;\n }\n if (queue) {\n content += queue;\n queue = '';\n }\n content += character;\n index++;\n }\n subvalue += content;\n content = content.replace(EXPRESSION_INITIAL_TAB, function (line) {\n offsets[currentLine] = (offsets[currentLine] || 0) + line.length;\n currentLine++;\n return '';\n });\n add = eat(subvalue);\n exit = self.enterBlock();\n content = self.tokenizeBlock(content, now);\n exit();\n return add({\n type: 'footnoteDefinition',\n identifier: identifier,\n children: content\n });\n}","'use strict';\n\nvar unherit = require('unherit');\nvar xtend = require('xtend');\nvar Parser = require('./lib/parser.js');\nmodule.exports = parse;\nparse.Parser = Parser;\nfunction parse(options) {\n var Local = unherit(Parser);\n Local.prototype.options = xtend(Local.prototype.options, this.data('settings'), options);\n this.Parser = Local;\n}","'use strict';\n\nvar xtend = require('xtend');\nvar toggle = require('state-toggle');\nvar vfileLocation = require('vfile-location');\nvar unescape = require('./unescape');\nvar decode = require('./decode');\nvar tokenizer = require('./tokenizer');\nmodule.exports = Parser;\nfunction Parser(doc, file) {\n this.file = file;\n this.offset = {};\n this.options = xtend(this.options);\n this.setOptions({});\n this.inList = false;\n this.inBlock = false;\n this.inLink = false;\n this.atStart = true;\n this.toOffset = vfileLocation(file).toOffset;\n this.unescape = unescape(this, 'escape');\n this.decode = decode(this);\n}\nvar proto = Parser.prototype;\n\n/* Expose core. */\nproto.setOptions = require('./set-options');\nproto.parse = require('./parse');\n\n/* Expose `defaults`. */\nproto.options = require('./defaults');\n\n/* Enter and exit helpers. */\nproto.exitStart = toggle('atStart', true);\nproto.enterList = toggle('inList', false);\nproto.enterLink = toggle('inLink', false);\nproto.enterBlock = toggle('inBlock', false);\n\n/* Nodes that can interupt a paragraph:\n *\n * ```markdown\n * A paragraph, followed by a thematic break.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the paragraph. */\nproto.interruptParagraph = [['thematicBreak'], ['atxHeading'], ['fencedCode'], ['blockquote'], ['html'], ['setextHeading', {\n commonmark: false\n}], ['definition', {\n commonmark: false\n}], ['footnote', {\n commonmark: false\n}]];\n\n/* Nodes that can interupt a list:\n *\n * ```markdown\n * - One\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the list. */\nproto.interruptList = [['atxHeading', {\n pedantic: false\n}], ['fencedCode', {\n pedantic: false\n}], ['thematicBreak', {\n pedantic: false\n}], ['definition', {\n commonmark: false\n}], ['footnote', {\n commonmark: false\n}]];\n\n/* Nodes that can interupt a blockquote:\n *\n * ```markdown\n * > A paragraph.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the blockquote. */\nproto.interruptBlockquote = [['indentedCode', {\n commonmark: true\n}], ['fencedCode', {\n commonmark: true\n}], ['atxHeading', {\n commonmark: true\n}], ['setextHeading', {\n commonmark: true\n}], ['thematicBreak', {\n commonmark: true\n}], ['html', {\n commonmark: true\n}], ['list', {\n commonmark: true\n}], ['definition', {\n commonmark: false\n}], ['footnote', {\n commonmark: false\n}]];\n\n/* Handlers. */\nproto.blockTokenizers = {\n newline: require('./tokenize/newline'),\n indentedCode: require('./tokenize/code-indented'),\n fencedCode: require('./tokenize/code-fenced'),\n blockquote: require('./tokenize/blockquote'),\n atxHeading: require('./tokenize/heading-atx'),\n thematicBreak: require('./tokenize/thematic-break'),\n list: require('./tokenize/list'),\n setextHeading: require('./tokenize/heading-setext'),\n html: require('./tokenize/html-block'),\n footnote: require('./tokenize/footnote-definition'),\n definition: require('./tokenize/definition'),\n table: require('./tokenize/table'),\n paragraph: require('./tokenize/paragraph')\n};\nproto.inlineTokenizers = {\n escape: require('./tokenize/escape'),\n autoLink: require('./tokenize/auto-link'),\n url: require('./tokenize/url'),\n html: require('./tokenize/html-inline'),\n link: require('./tokenize/link'),\n reference: require('./tokenize/reference'),\n strong: require('./tokenize/strong'),\n emphasis: require('./tokenize/emphasis'),\n deletion: require('./tokenize/delete'),\n code: require('./tokenize/code-inline'),\n break: require('./tokenize/break'),\n text: require('./tokenize/text')\n};\n\n/* Expose precedence. */\nproto.blockMethods = keys(proto.blockTokenizers);\nproto.inlineMethods = keys(proto.inlineTokenizers);\n\n/* Tokenizers. */\nproto.tokenizeBlock = tokenizer('block');\nproto.tokenizeInline = tokenizer('inline');\nproto.tokenizeFactory = tokenizer;\n\n/* Get all keys in `value`. */\nfunction keys(value) {\n var result = [];\n var key;\n for (key in value) {\n result.push(key);\n }\n return result;\n}","'use strict';\n\nmodule.exports = hexadecimal;\n\n// Check if the given character code, or the character code at the first\n// character, is hexadecimal.\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character;\n return code >= 97 /* a */ && code <= 102 /* z */ || code >= 65 /* A */ && code <= 70 /* Z */ || code >= 48 /* A */ && code <= 57 /* Z */;\n}","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Img from 'gatsby-image'\n\nconst StrapiImage = ({ imageInfo, style, imgStyle }) => {\n const imageStyle = style\n // console.log(imageInfo, style, imgStyle )\n // console.log(typeof imageInfo)\n // if(imageInfo !== undefined){\n // if(imageInfo.length === 0){\n // imageInfo = undefined\n // }\n // }\n // console.log(imageInfo)\n if (imageInfo === null || imageInfo === undefined || typeof imageInfo === \"string\") {\n return (<>)\n\n } else {\n\n const { alt = '', childImageSharp, image } = imageInfo\n // console.log(alt)\n if (!!image && !!image.childImageSharp) {\n return (\n {alt}\n )\n }\n\n if (!!childImageSharp) {\n return {alt}\n }\n\n if (!childImageSharp && imageInfo.extension === 'svg') {\n return {alt}\n }\n\n if (!!image && typeof image === 'string') {\n // console.log(\"hello\")\n return {alt}\n\n }\n return null\n }\n}\n\n\nexport default StrapiImage\n","var _toConsumableArray = require(\"/datadrive/gatsby/ireland-annual-review/node_modules/@babel/runtime/helpers/toConsumableArray.js\");\nvar _defineProperty = require(\"/datadrive/gatsby/ireland-annual-review/node_modules/@babel/runtime/helpers/defineProperty.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n/**\n * Created by Samuel on 6/4/2016.\n * Simple wrapper functions to produce shorter UUIDs for cookies, maybe everything?\n */\n\nvar _require = require('uuid'),\n uuidv4 = _require.v4;\nvar anyBase = require('any-base');\nvar flickrBase58 = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';\nvar cookieBase90 = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~\";\nvar baseOptions = {\n consistentLength: true\n};\n\n// A default generator, instantiated only if used.\nvar toFlickr;\n\n/**\n * Takes a UUID, strips the dashes, and translates.\n * @param {string} longId\n * @param {function(string)} translator\n * @param {Object} [paddingParams]\n * @returns {string}\n */\nvar shortenUUID = function shortenUUID(longId, translator, paddingParams) {\n var translated = translator(longId.toLowerCase().replace(/-/g, ''));\n if (!paddingParams || !paddingParams.consistentLength) return translated;\n return translated.padStart(paddingParams.shortIdLength, paddingParams.paddingChar);\n};\n\n/**\n * Translate back to hex and turn back into UUID format, with dashes\n * @param {string} shortId\n * @param {function(string)} translator\n * @returns {string}\n */\nvar enlargeUUID = function enlargeUUID(shortId, translator) {\n var uu1 = translator(shortId).padStart(32, '0');\n\n // Join the zero padding and the UUID and then slice it up with match\n var m = uu1.match(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/);\n\n // Accumulate the matches and join them.\n return [m[1], m[2], m[3], m[4], m[5]].join('-');\n};\n\n// Calculate length for the shortened ID\nvar getShortIdLength = function getShortIdLength(alphabetLength) {\n return Math.ceil(Math.log(Math.pow(2, 128)) / Math.log(alphabetLength));\n};\nmodule.exports = function () {\n /**\n * @param {string} toAlphabet - Defaults to flickrBase58 if not provided\n * @param {Object} [options]\n *\n * @returns {{new: (function()),\n * uuid: (function()),\n * fromUUID: (function(string)),\n * toUUID: (function(string)),\n * alphabet: (string)}}\n */\n var makeConvertor = function makeConvertor(toAlphabet, options) {\n // Default to Flickr 58\n var useAlphabet = toAlphabet || flickrBase58;\n\n // Default to baseOptions\n var selectedOptions = _objectSpread(_objectSpread({}, baseOptions), options);\n\n // Check alphabet for duplicate entries\n if (_toConsumableArray(new Set(Array.from(useAlphabet))).length !== useAlphabet.length) {\n throw new Error('The provided Alphabet has duplicate characters resulting in unreliable results');\n }\n var shortIdLength = getShortIdLength(useAlphabet.length);\n\n // Padding Params\n var paddingParams = {\n shortIdLength: shortIdLength,\n consistentLength: selectedOptions.consistentLength,\n paddingChar: useAlphabet[0]\n };\n\n // UUIDs are in hex, so we translate to and from.\n var fromHex = anyBase(anyBase.HEX, useAlphabet);\n var toHex = anyBase(useAlphabet, anyBase.HEX);\n var generate = function generate() {\n return shortenUUID(uuidv4(), fromHex, paddingParams);\n };\n var translator = {\n new: generate,\n generate: generate,\n uuid: uuidv4,\n fromUUID: function fromUUID(uuid) {\n return shortenUUID(uuid, fromHex, paddingParams);\n },\n toUUID: function toUUID(shortUuid) {\n return enlargeUUID(shortUuid, toHex);\n },\n alphabet: useAlphabet,\n maxLength: shortIdLength\n };\n Object.freeze(translator);\n return translator;\n };\n\n // Expose the constants for other purposes.\n makeConvertor.constants = {\n flickrBase58: flickrBase58,\n cookieBase90: cookieBase90\n };\n\n // Expose the generic v4 UUID generator for convenience\n makeConvertor.uuid = uuidv4;\n\n // Provide a generic generator\n makeConvertor.generate = function () {\n if (!toFlickr) {\n // Generate on first use;\n toFlickr = makeConvertor(flickrBase58).generate;\n }\n return toFlickr();\n };\n return makeConvertor;\n}();","\"use strict\";\n\nvar HtmlParser = '__RMD_HTML_PARSER__';\nexports.HtmlParser = typeof Symbol === 'undefined' ? HtmlParser : Symbol(HtmlParser);","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/link');\nmodule.exports = link;\nlink.locator = locate;\nvar own = {}.hasOwnProperty;\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_TICK = '`';\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\n\n/* Map of characters, which can be used to mark link\n * and image titles. */\nvar LINK_MARKERS = {};\nLINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nLINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\n\n/* Map of characters, which can be used to mark link\n * and image titles in commonmark-mode. */\nvar COMMONMARK_LINK_MARKERS = {};\nCOMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_PAREN_OPEN] = C_PAREN_CLOSE;\nfunction link(eat, value, silent) {\n var self = this;\n var subvalue = '';\n var index = 0;\n var character = value.charAt(0);\n var pedantic = self.options.pedantic;\n var commonmark = self.options.commonmark;\n var gfm = self.options.gfm;\n var closed;\n var count;\n var opening;\n var beforeURL;\n var beforeTitle;\n var subqueue;\n var hasMarker;\n var markers;\n var isImage;\n var content;\n var marker;\n var length;\n var title;\n var depth;\n var queue;\n var url;\n var now;\n var exit;\n var node;\n\n /* Detect whether this is an image. */\n if (character === '!') {\n isImage = true;\n subvalue = character;\n character = value.charAt(++index);\n }\n\n /* Eat the opening. */\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n /* Exit when this is a link and we’re already inside\n * a link. */\n if (!isImage && self.inLink) {\n return;\n }\n subvalue += character;\n queue = '';\n index++;\n\n /* Eat the content. */\n length = value.length;\n now = eat.now();\n depth = 0;\n now.column += index;\n now.offset += index;\n while (index < length) {\n character = value.charAt(index);\n subqueue = character;\n if (character === C_TICK) {\n /* Inline-code in link content. */\n count = 1;\n while (value.charAt(index + 1) === C_TICK) {\n subqueue += character;\n index++;\n count++;\n }\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n } else if (character === C_BACKSLASH) {\n /* Allow brackets to be escaped. */\n index++;\n subqueue += value.charAt(index);\n /* In GFM mode, brackets in code still count.\n * In all other modes, they don’t. This empty\n * block prevents the next statements are\n * entered. */\n } else if ((!opening || gfm) && character === C_BRACKET_OPEN) {\n depth++;\n } else if ((!opening || gfm) && character === C_BRACKET_CLOSE) {\n if (depth) {\n depth--;\n } else {\n /* Allow white-space between content and\n * url in GFM mode. */\n if (!pedantic) {\n while (index < length) {\n character = value.charAt(index + 1);\n if (!whitespace(character)) {\n break;\n }\n subqueue += character;\n index++;\n }\n }\n if (value.charAt(index + 1) !== C_PAREN_OPEN) {\n return;\n }\n subqueue += C_PAREN_OPEN;\n closed = true;\n index++;\n break;\n }\n }\n queue += subqueue;\n subqueue = '';\n index++;\n }\n\n /* Eat the content closing. */\n if (!closed) {\n return;\n }\n content = queue;\n subvalue += queue + subqueue;\n index++;\n\n /* Eat white-space. */\n while (index < length) {\n character = value.charAt(index);\n if (!whitespace(character)) {\n break;\n }\n subvalue += character;\n index++;\n }\n\n /* Eat the URL. */\n character = value.charAt(index);\n markers = commonmark ? COMMONMARK_LINK_MARKERS : LINK_MARKERS;\n queue = '';\n beforeURL = subvalue;\n if (character === C_LT) {\n index++;\n beforeURL += C_LT;\n while (index < length) {\n character = value.charAt(index);\n if (character === C_GT) {\n break;\n }\n if (commonmark && character === '\\n') {\n return;\n }\n queue += character;\n index++;\n }\n if (value.charAt(index) !== C_GT) {\n return;\n }\n subvalue += C_LT + queue + C_GT;\n url = queue;\n index++;\n } else {\n character = null;\n subqueue = '';\n while (index < length) {\n character = value.charAt(index);\n if (subqueue && own.call(markers, character)) {\n break;\n }\n if (whitespace(character)) {\n if (!pedantic) {\n break;\n }\n subqueue += character;\n } else {\n if (character === C_PAREN_OPEN) {\n depth++;\n } else if (character === C_PAREN_CLOSE) {\n if (depth === 0) {\n break;\n }\n depth--;\n }\n queue += subqueue;\n subqueue = '';\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n queue += character;\n }\n index++;\n }\n subvalue += queue;\n url = queue;\n index = subvalue.length;\n }\n\n /* Eat white-space. */\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (!whitespace(character)) {\n break;\n }\n queue += character;\n index++;\n }\n character = value.charAt(index);\n subvalue += queue;\n\n /* Eat the title. */\n if (queue && own.call(markers, character)) {\n index++;\n subvalue += character;\n queue = '';\n marker = markers[character];\n beforeTitle = subvalue;\n\n /* In commonmark-mode, things are pretty easy: the\n * marker cannot occur inside the title.\n *\n * Non-commonmark does, however, support nested\n * delimiters. */\n if (commonmark) {\n while (index < length) {\n character = value.charAt(index);\n if (character === marker) {\n break;\n }\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n index++;\n queue += character;\n }\n character = value.charAt(index);\n if (character !== marker) {\n return;\n }\n title = queue;\n subvalue += queue + character;\n index++;\n while (index < length) {\n character = value.charAt(index);\n if (!whitespace(character)) {\n break;\n }\n subvalue += character;\n index++;\n }\n } else {\n subqueue = '';\n while (index < length) {\n character = value.charAt(index);\n if (character === marker) {\n if (hasMarker) {\n queue += marker + subqueue;\n subqueue = '';\n }\n hasMarker = true;\n } else if (!hasMarker) {\n queue += character;\n } else if (character === C_PAREN_CLOSE) {\n subvalue += queue + marker + subqueue;\n title = queue;\n break;\n } else if (whitespace(character)) {\n subqueue += character;\n } else {\n queue += marker + subqueue + character;\n subqueue = '';\n hasMarker = false;\n }\n index++;\n }\n }\n }\n if (value.charAt(index) !== C_PAREN_CLOSE) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n subvalue += C_PAREN_CLOSE;\n url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, {\n nonTerminated: false\n });\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n node = {\n type: isImage ? 'image' : 'link',\n title: title || null,\n url: url\n };\n if (isImage) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n } else {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n }\n return eat(subvalue)(node);\n}","'use strict';\n\nvar collapseWhiteSpace = require('collapse-white-space');\nmodule.exports = normalize;\n\n/* Normalize an identifier. Collapses multiple white space\n * characters into a single space, and removes casing. */\nfunction normalize(value) {\n return collapseWhiteSpace(value).toLowerCase();\n}","'use strict';\n\nvar path = require('path');\nfunction replaceExt(npath, ext) {\n if (typeof npath !== 'string') {\n return npath;\n }\n if (npath.length === 0) {\n return npath;\n }\n var nFileName = path.basename(npath, path.extname(npath)) + ext;\n return path.join(path.dirname(npath), nFileName);\n}\nmodule.exports = replaceExt;","\"use strict\";\n\nexports.__esModule = true;\nexports.toKebabCase = exports.toCamelCase = exports.stringToArray = exports.isString = exports.isObject = exports.isBrowser = exports.hashString = exports.filteredJoin = exports.combineArray = exports.capitalize = void 0;\n\nvar isBrowser = function isBrowser() {\n return typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n};\n\nexports.isBrowser = isBrowser;\n\nvar isString = function isString(value) {\n return Object.prototype.toString.call(value) === '[object String]';\n};\n\nexports.isString = isString;\n\nvar isObject = function isObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n};\n\nexports.isObject = isObject;\n\nvar toCamelCase = function toCamelCase(str) {\n return isString(str) && str.indexOf('-') !== -1 && str.toLowerCase().replace(/(?:^\\w|-|[A-Z]|\\b\\w)/g, function (letter, index) {\n return index === 0 ? letter.toLowerCase() : letter.toUpperCase();\n }).replace(/\\s|\\W+/g, '') || str;\n};\n\nexports.toCamelCase = toCamelCase;\n\nvar toKebabCase = function toKebabCase(str) {\n return isString(str) && str.replace(/\\s|\\W+/g, '').replace(/[A-Z]/g, function (match) {\n return \"-\" + match.toLowerCase();\n });\n};\n\nexports.toKebabCase = toKebabCase;\n\nvar capitalize = function capitalize(str) {\n return (str === null || str === void 0 ? void 0 : str.charAt(0).toUpperCase()) + str.slice(1);\n};\n\nexports.capitalize = capitalize;\n\nvar stringToArray = function stringToArray(str, delimiter) {\n if (delimiter === void 0) {\n delimiter = \" \";\n }\n\n if (str instanceof Array) {\n return str;\n }\n\n if (isString(str)) {\n if (str.includes(delimiter)) {\n return str.split(delimiter);\n }\n\n return [str];\n }\n\n return false;\n};\n\nexports.stringToArray = stringToArray;\n\nvar hashString = function hashString(str) {\n return isString(str) && [].reduce.call(str, function (hash, item) {\n hash = (hash << 5) - hash + item.charCodeAt(0);\n return hash | 0;\n }, 0);\n};\n\nexports.hashString = hashString;\n\nvar filteredJoin = function filteredJoin(arrayToJoin) {\n return arrayToJoin.filter(function (item) {\n return item !== \"\";\n }).join();\n};\n\nexports.filteredJoin = filteredJoin;\n\nvar combineArray = function combineArray(fromArray, toArray) {\n if (!Array.isArray(fromArray)) {\n return [fromArray];\n }\n\n return fromArray.map(function (item, index) {\n return item || toArray && toArray[index];\n });\n};\n\nexports.combineArray = combineArray;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nmodule.exports = convert;\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test);\n }\n if (test === null || test === undefined) {\n return ok;\n }\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test);\n }\n if (typeof test === 'function') {\n return test;\n }\n throw new Error('Expected function, string, or object as test');\n}\nfunction convertAll(tests) {\n var results = [];\n var length = tests.length;\n var index = -1;\n while (++index < length) {\n results[index] = convert(tests[index]);\n }\n return results;\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction matchesFactory(test) {\n return matches;\n function matches(node) {\n var key;\n for (key in test) {\n if (node[key] !== test[key]) {\n return false;\n }\n }\n return true;\n }\n}\nfunction anyFactory(tests) {\n var checks = convertAll(tests);\n var length = checks.length;\n return matches;\n function matches() {\n var index = -1;\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true;\n }\n }\n return false;\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type;\n function type(node) {\n return Boolean(node && node.type === test);\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true;\n}","'use strict';\n\nmodule.exports = indentation;\n\n/* Map of characters, and their column length,\n * which can be used as indentation. */\nvar characters = {\n ' ': 1,\n '\\t': 4\n};\n\n/* Gets indentation information for a line. */\nfunction indentation(value) {\n var index = 0;\n var indent = 0;\n var character = value.charAt(index);\n var stops = {};\n var size;\n while (character in characters) {\n size = characters[character];\n indent += size;\n if (size > 1) {\n indent = Math.floor(indent / size) * size;\n }\n stops[indent] = index;\n character = value.charAt(++index);\n }\n return {\n indent: indent,\n stops: stops\n };\n}","'use strict';\n\nvar xtend = require('xtend');\nvar escapes = require('markdown-escapes');\nvar defaults = require('./defaults');\nmodule.exports = setOptions;\nfunction setOptions(options) {\n var self = this;\n var current = self.options;\n var key;\n var value;\n if (options == null) {\n options = {};\n } else if (typeof options === 'object') {\n options = xtend(options);\n } else {\n throw new Error('Invalid value `' + options + '` ' + 'for setting `options`');\n }\n for (key in defaults) {\n value = options[key];\n if (value == null) {\n value = current[key];\n }\n if (key !== 'blocks' && typeof value !== 'boolean' || key === 'blocks' && typeof value !== 'object') {\n throw new Error('Invalid value `' + value + '` for setting `options.' + key + '`');\n }\n options[key] = value;\n }\n self.options = options;\n self.escape = escapes(options);\n return self;\n}","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nexports.__esModule = true;\nexports.listenToIntersections = exports.getIO = exports.callbackIO = void 0;\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar io;\nvar listeners = new WeakMap();\n\nvar callbackIO = function callbackIO(entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var callback = listeners.get(entry.target);\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n callback();\n }\n }\n });\n};\n\nexports.callbackIO = callbackIO;\n\nvar getIO = function getIO(rootMargin) {\n if (typeof io === \"undefined\" && (0, _SimpleUtils.isBrowser)() && window.IntersectionObserver) {\n io = new window.IntersectionObserver(callbackIO, {\n rootMargin: rootMargin\n });\n }\n\n return io;\n};\n\nexports.getIO = getIO;\n\nvar listenToIntersections = function listenToIntersections(element, callback, rootMargin) {\n if (rootMargin === void 0) {\n rootMargin = \"200px\";\n }\n\n var observer = getIO(rootMargin);\n\n if (observer) {\n observer.observe(element);\n listeners.set(element, callback);\n return function () {\n observer.unobserve(element);\n listeners.delete(element);\n };\n }\n\n return function () {};\n};\n\nexports.listenToIntersections = listenToIntersections;","'use strict';\n\nmodule.exports = wordCharacter;\nvar fromCode = String.fromCharCode;\nvar re = /\\w/;\n\n// Check if the given character code, or the character code at the first\n// character, is a word character.\nfunction wordCharacter(character) {\n return re.test(typeof character === 'number' ? fromCode(character) : character.charAt(0));\n}","import React from 'react';\n\nexport const FormErrors = ({formErrors, field}) =>\n
\n\n {\n Object.keys(formErrors).map((fieldName, i) => {\n\n if(field === fieldName && formErrors[fieldName].length > 0){\n return (\n {formErrors[fieldName]}\n )\n } else {\n return '';\n }\n })}\n
\n","\"use strict\";\n\nexports.__esModule = true;\nexports.switchImageSettings = void 0;\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar switchImageSettings = function switchImageSettings(_ref) {\n var image = _ref.image,\n bgImage = _ref.bgImage,\n imageRef = _ref.imageRef,\n state = _ref.state;\n var currentSources = (0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"currentSrc\"\n });\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var lastImage = Array.isArray(bgImage) ? (0, _SimpleUtils.filteredJoin)(bgImage) : bgImage;\n var nextImage;\n var nextImageArray;\n var finalImage = returnArray && state.seenBefore && !!currentSources;\n\n if (returnArray) {\n if (!currentSources) {\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"tracedSVG\",\n returnArray: returnArray\n });\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"base64\",\n returnArray: returnArray\n }), nextImage);\n }\n\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n }), nextImage);\n\n if ((state.imgLoaded || !!currentSources) && state.isVisible) {\n if (currentSources) {\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"currentSrc\",\n returnArray: returnArray\n }), nextImage);\n finalImage = true;\n } else {\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"src\",\n returnArray: returnArray\n }), nextImage);\n finalImage = true;\n }\n }\n\n nextImage = (0, _SimpleUtils.combineArray)(nextImage, bgImage);\n var dummyArray = (0, _ImageUtils.createDummyImageArray)(image.length);\n nextImage = (0, _SimpleUtils.combineArray)(nextImage, dummyArray);\n nextImageArray = nextImage;\n nextImage = (0, _SimpleUtils.filteredJoin)(nextImage);\n } else {\n nextImage = \"\";\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"tracedSVG\"\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"base64\"\n });\n\n if (state.imgLoaded && state.isVisible) {\n nextImage = currentSources;\n finalImage = true;\n }\n }\n\n var afterOpacity = state.imageState % 2;\n\n if (!returnArray && nextImage === \"\" && state.imgLoaded && state.isVisible && imageRef && !imageRef.currentSrc) {\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"src\",\n checkLoaded: false\n });\n finalImage = true;\n }\n\n if (!nextImage) nextImage = lastImage;\n var newImageSettings = {\n lastImage: lastImage,\n nextImage: nextImage,\n afterOpacity: afterOpacity,\n finalImage: finalImage\n };\n if (nextImageArray) newImageSettings.nextImageArray = nextImageArray;\n return newImageSettings;\n};\n\nexports.switchImageSettings = switchImageSettings;","'use strict';\n\nmodule.exports = thematicBreak;\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_DASH = '-';\nvar THEMATIC_BREAK_MARKER_COUNT = 3;\nfunction thematicBreak(eat, value, silent) {\n var index = -1;\n var length = value.length + 1;\n var subvalue = '';\n var character;\n var marker;\n var markerCount;\n var queue;\n while (++index < length) {\n character = value.charAt(index);\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n subvalue += character;\n }\n if (character !== C_ASTERISK && character !== C_DASH && character !== C_UNDERSCORE) {\n return;\n }\n marker = character;\n subvalue += character;\n markerCount = 1;\n queue = '';\n while (++index < length) {\n character = value.charAt(index);\n if (character === marker) {\n markerCount++;\n subvalue += queue + marker;\n queue = '';\n } else if (character === C_SPACE) {\n queue += character;\n } else if (markerCount >= THEMATIC_BREAK_MARKER_COUNT && (!character || character === C_NEWLINE)) {\n subvalue += queue;\n if (silent) {\n return true;\n }\n return eat(subvalue)({\n type: 'thematicBreak'\n });\n } else {\n return;\n }\n }\n}","'use strict';\n\n/* eslint-disable max-params */\nvar trim = require('trim');\nvar repeat = require('repeat-string');\nvar decimal = require('is-decimal');\nvar getIndent = require('../util/get-indentation');\nvar removeIndent = require('../util/remove-indentation');\nvar interrupt = require('../util/interrupt');\nmodule.exports = list;\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_PLUS = '+';\nvar C_DASH = '-';\nvar C_DOT = '.';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_PAREN_CLOSE = ')';\nvar C_X_LOWER = 'x';\nvar TAB_SIZE = 4;\nvar EXPRESSION_LOOSE_LIST_ITEM = /\\n\\n(?!\\s*$)/;\nvar EXPRESSION_TASK_ITEM = /^\\[([ \\t]|x|X)][ \\t]/;\nvar EXPRESSION_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])( {1,4}(?! )| |\\t|$|(?=\\n))([^\\n]*)/;\nvar EXPRESSION_PEDANTIC_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])([ \\t]+)/;\nvar EXPRESSION_INITIAL_INDENT = /^( {1,4}|\\t)?/gm;\n\n/* Map of characters which can be used to mark\n * list-items. */\nvar LIST_UNORDERED_MARKERS = {};\nLIST_UNORDERED_MARKERS[C_ASTERISK] = true;\nLIST_UNORDERED_MARKERS[C_PLUS] = true;\nLIST_UNORDERED_MARKERS[C_DASH] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_MARKERS = {};\nLIST_ORDERED_MARKERS[C_DOT] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_COMMONMARK_MARKERS = {};\nLIST_ORDERED_COMMONMARK_MARKERS[C_DOT] = true;\nLIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE] = true;\nfunction list(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var pedantic = self.options.pedantic;\n var tokenizers = self.blockTokenizers;\n var interuptors = self.interruptList;\n var markers;\n var index = 0;\n var length = value.length;\n var start = null;\n var size = 0;\n var queue;\n var ordered;\n var character;\n var marker;\n var nextIndex;\n var startIndex;\n var prefixed;\n var currentMarker;\n var content;\n var line;\n var prevEmpty;\n var empty;\n var items;\n var allLines;\n var emptyLines;\n var item;\n var enterTop;\n var exitBlockquote;\n var isLoose;\n var node;\n var now;\n var end;\n var indented;\n while (index < length) {\n character = value.charAt(index);\n if (character === C_TAB) {\n size += TAB_SIZE - size % TAB_SIZE;\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n index++;\n }\n if (size >= TAB_SIZE) {\n return;\n }\n character = value.charAt(index);\n markers = commonmark ? LIST_ORDERED_COMMONMARK_MARKERS : LIST_ORDERED_MARKERS;\n if (LIST_UNORDERED_MARKERS[character] === true) {\n marker = character;\n ordered = false;\n } else {\n ordered = true;\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (!decimal(character)) {\n break;\n }\n queue += character;\n index++;\n }\n character = value.charAt(index);\n if (!queue || markers[character] !== true) {\n return;\n }\n start = parseInt(queue, 10);\n marker = character;\n }\n character = value.charAt(++index);\n if (character !== C_SPACE && character !== C_TAB) {\n return;\n }\n if (silent) {\n return true;\n }\n index = 0;\n items = [];\n allLines = [];\n emptyLines = [];\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n indented = false;\n if (nextIndex === -1) {\n nextIndex = length;\n }\n end = index + TAB_SIZE;\n size = 0;\n while (index < length) {\n character = value.charAt(index);\n if (character === C_TAB) {\n size += TAB_SIZE - size % TAB_SIZE;\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n index++;\n }\n if (size >= TAB_SIZE) {\n indented = true;\n }\n if (item && size >= item.indent) {\n indented = true;\n }\n character = value.charAt(index);\n currentMarker = null;\n if (!indented) {\n if (LIST_UNORDERED_MARKERS[character] === true) {\n currentMarker = character;\n index++;\n size++;\n } else {\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (!decimal(character)) {\n break;\n }\n queue += character;\n index++;\n }\n character = value.charAt(index);\n index++;\n if (queue && markers[character] === true) {\n currentMarker = character;\n size += queue.length + 1;\n }\n }\n if (currentMarker) {\n character = value.charAt(index);\n if (character === C_TAB) {\n size += TAB_SIZE - size % TAB_SIZE;\n index++;\n } else if (character === C_SPACE) {\n end = index + TAB_SIZE;\n while (index < end) {\n if (value.charAt(index) !== C_SPACE) {\n break;\n }\n index++;\n size++;\n }\n if (index === end && value.charAt(index) === C_SPACE) {\n index -= TAB_SIZE - 1;\n size -= TAB_SIZE - 1;\n }\n } else if (character !== C_NEWLINE && character !== '') {\n currentMarker = null;\n }\n }\n }\n if (currentMarker) {\n if (!pedantic && marker !== currentMarker) {\n break;\n }\n prefixed = true;\n } else {\n if (!commonmark && !indented && value.charAt(startIndex) === C_SPACE) {\n indented = true;\n } else if (commonmark && item) {\n indented = size >= item.indent || size > TAB_SIZE;\n }\n prefixed = false;\n index = startIndex;\n }\n line = value.slice(startIndex, nextIndex);\n content = startIndex === index ? line : value.slice(index, nextIndex);\n if (currentMarker === C_ASTERISK || currentMarker === C_UNDERSCORE || currentMarker === C_DASH) {\n if (tokenizers.thematicBreak.call(self, eat, line, true)) {\n break;\n }\n }\n prevEmpty = empty;\n empty = !trim(content).length;\n if (indented && item) {\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (prefixed) {\n if (emptyLines.length !== 0) {\n item.value.push('');\n item.trail = emptyLines.concat();\n }\n item = {\n value: [line],\n indent: size,\n trail: []\n };\n items.push(item);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (empty) {\n if (prevEmpty) {\n break;\n }\n emptyLines.push(line);\n } else {\n if (prevEmpty) {\n break;\n }\n if (interrupt(interuptors, tokenizers, self, [eat, line, true])) {\n break;\n }\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n }\n index = nextIndex + 1;\n }\n node = eat(allLines.join(C_NEWLINE)).reset({\n type: 'list',\n ordered: ordered,\n start: start,\n loose: null,\n children: []\n });\n enterTop = self.enterList();\n exitBlockquote = self.enterBlock();\n isLoose = false;\n index = -1;\n length = items.length;\n while (++index < length) {\n item = items[index].value.join(C_NEWLINE);\n now = eat.now();\n item = eat(item)(listItem(self, item, now), node);\n if (item.loose) {\n isLoose = true;\n }\n item = items[index].trail.join(C_NEWLINE);\n if (index !== length - 1) {\n item += C_NEWLINE;\n }\n eat(item);\n }\n enterTop();\n exitBlockquote();\n node.loose = isLoose;\n return node;\n}\nfunction listItem(ctx, value, position) {\n var offsets = ctx.offset;\n var fn = ctx.options.pedantic ? pedanticListItem : normalListItem;\n var checked = null;\n var task;\n var indent;\n value = fn.apply(null, arguments);\n if (ctx.options.gfm) {\n task = value.match(EXPRESSION_TASK_ITEM);\n if (task) {\n indent = task[0].length;\n checked = task[1].toLowerCase() === C_X_LOWER;\n offsets[position.line] += indent;\n value = value.slice(indent);\n }\n }\n return {\n type: 'listItem',\n loose: EXPRESSION_LOOSE_LIST_ITEM.test(value) || value.charAt(value.length - 1) === C_NEWLINE,\n checked: checked,\n children: ctx.tokenizeBlock(value, position)\n };\n}\n\n/* Create a list-item using overly simple mechanics. */\nfunction pedanticListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_PEDANTIC_BULLET, replacer);\n\n /* The initial line was also matched by the below, so\n * we reset the `line`. */\n line = position.line;\n return value.replace(EXPRESSION_INITIAL_INDENT, replacer);\n\n /* A simple replacer which removed all matches,\n * and adds their length to `offset`. */\n function replacer($0) {\n offsets[line] = (offsets[line] || 0) + $0.length;\n line++;\n return '';\n }\n}\n\n/* Create a list-item using sane mechanics. */\nfunction normalListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n var max;\n var bullet;\n var rest;\n var lines;\n var trimmedLines;\n var index;\n var length;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_BULLET, replacer);\n lines = value.split(C_NEWLINE);\n trimmedLines = removeIndent(value, getIndent(max).indent).split(C_NEWLINE);\n\n /* We replaced the initial bullet with something\n * else above, which was used to trick\n * `removeIndentation` into removing some more\n * characters when possible. However, that could\n * result in the initial line to be stripped more\n * than it should be. */\n trimmedLines[0] = rest;\n offsets[line] = (offsets[line] || 0) + bullet.length;\n line++;\n index = 0;\n length = lines.length;\n while (++index < length) {\n offsets[line] = (offsets[line] || 0) + lines[index].length - trimmedLines[index].length;\n line++;\n }\n return trimmedLines.join(C_NEWLINE);\n function replacer($0, $1, $2, $3, $4) {\n bullet = $1 + $2 + $3;\n rest = $4;\n\n /* Make sure that the first nine numbered list items\n * can indent with an extra space. That is, when\n * the bullet did not receive an extra final space. */\n if (Number($2) < 10 && bullet.length % 2 === 1) {\n $2 = C_SPACE + $2;\n }\n max = $1 + repeat(C_SPACE, $2.length) + $3;\n return max + rest;\n }\n}","'use strict';\n\nvar locate = require('../locate/escape');\nmodule.exports = escape;\nescape.locator = locate;\nfunction escape(eat, value, silent) {\n var self = this;\n var character;\n var node;\n if (value.charAt(0) === '\\\\') {\n character = value.charAt(1);\n if (self.escape.indexOf(character) !== -1) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n if (character === '\\n') {\n node = {\n type: 'break'\n };\n } else {\n node = {\n type: 'text',\n value: character\n };\n }\n return eat('\\\\' + character)(node);\n }\n }\n}","\"use strict\";\n\nvar visit = require('unist-util-visit');\nexports.ofType = function (types, mode) {\n return function (node) {\n types.forEach(function (type) {\n return visit(node, type, disallow, true);\n });\n return node;\n };\n function disallow(node, index, parent) {\n if (parent) {\n untangle(node, index, parent, mode);\n }\n }\n};\nexports.ifNotMatch = function (allowNode, mode) {\n return function (node) {\n visit(node, disallow, true);\n return node;\n };\n function disallow(node, index, parent) {\n if (parent && !allowNode(node, index, parent)) {\n untangle(node, index, parent, mode);\n }\n }\n};\nfunction untangle(node, index, parent, mode) {\n if (mode === 'remove') {\n parent.children.splice(index, 1);\n } else if (mode === 'unwrap') {\n var args = [index, 1];\n if (node.children) {\n args = args.concat(node.children);\n }\n Array.prototype.splice.apply(parent.children, args);\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.stripRemainingProps = exports.convertProps = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _filterInvalidDomProps = _interopRequireDefault(require(\"filter-invalid-dom-props\"));\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar stripRemainingProps = function stripRemainingProps(props) {\n return (0, _filterInvalidDomProps.default)(props);\n};\n\nexports.stripRemainingProps = stripRemainingProps;\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var fixed = convertedProps.fixed,\n fluid = convertedProps.fluid;\n\n if (fluid && (0, _MediaUtils.hasArtDirectionSupport)(props, 'fluid')) {\n convertedProps.fluid = (0, _MediaUtils.groupByMedia)(convertedProps.fluid);\n }\n\n if (fixed && (0, _MediaUtils.hasArtDirectionSupport)(props, 'fixed')) {\n convertedProps.fixed = (0, _MediaUtils.groupByMedia)(convertedProps.fixed);\n }\n\n return convertedProps;\n};\n\nexports.convertProps = convertProps;","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nmodule.exports = table;\nvar C_BACKSLASH = '\\\\';\nvar C_TICK = '`';\nvar C_DASH = '-';\nvar C_PIPE = '|';\nvar C_COLON = ':';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar MIN_TABLE_COLUMNS = 1;\nvar MIN_TABLE_ROWS = 2;\nvar TABLE_ALIGN_LEFT = 'left';\nvar TABLE_ALIGN_CENTER = 'center';\nvar TABLE_ALIGN_RIGHT = 'right';\nvar TABLE_ALIGN_NONE = null;\nfunction table(eat, value, silent) {\n var self = this;\n var index;\n var alignments;\n var alignment;\n var subvalue;\n var row;\n var length;\n var lines;\n var queue;\n var character;\n var hasDash;\n var align;\n var cell;\n var preamble;\n var count;\n var opening;\n var now;\n var position;\n var lineCount;\n var line;\n var rows;\n var table;\n var lineIndex;\n var pipeIndex;\n var first;\n\n /* Exit when not in gfm-mode. */\n if (!self.options.gfm) {\n return;\n }\n\n /* Get the rows.\n * Detecting tables soon is hard, so there are some\n * checks for performance here, such as the minimum\n * number of rows, and allowed characters in the\n * alignment row. */\n index = 0;\n lineCount = 0;\n length = value.length + 1;\n lines = [];\n while (index < length) {\n lineIndex = value.indexOf(C_NEWLINE, index);\n pipeIndex = value.indexOf(C_PIPE, index + 1);\n if (lineIndex === -1) {\n lineIndex = value.length;\n }\n if (pipeIndex === -1 || pipeIndex > lineIndex) {\n if (lineCount < MIN_TABLE_ROWS) {\n return;\n }\n break;\n }\n lines.push(value.slice(index, lineIndex));\n lineCount++;\n index = lineIndex + 1;\n }\n\n /* Parse the alignment row. */\n subvalue = lines.join(C_NEWLINE);\n alignments = lines.splice(1, 1)[0] || [];\n index = 0;\n length = alignments.length;\n lineCount--;\n alignment = false;\n align = [];\n while (index < length) {\n character = alignments.charAt(index);\n if (character === C_PIPE) {\n hasDash = null;\n if (alignment === false) {\n if (first === false) {\n return;\n }\n } else {\n align.push(alignment);\n alignment = false;\n }\n first = false;\n } else if (character === C_DASH) {\n hasDash = true;\n alignment = alignment || TABLE_ALIGN_NONE;\n } else if (character === C_COLON) {\n if (alignment === TABLE_ALIGN_LEFT) {\n alignment = TABLE_ALIGN_CENTER;\n } else if (hasDash && alignment === TABLE_ALIGN_NONE) {\n alignment = TABLE_ALIGN_RIGHT;\n } else {\n alignment = TABLE_ALIGN_LEFT;\n }\n } else if (!whitespace(character)) {\n return;\n }\n index++;\n }\n if (alignment !== false) {\n align.push(alignment);\n }\n\n /* Exit when without enough columns. */\n if (align.length < MIN_TABLE_COLUMNS) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n /* Parse the rows. */\n position = -1;\n rows = [];\n table = eat(subvalue).reset({\n type: 'table',\n align: align,\n children: rows\n });\n while (++position < lineCount) {\n line = lines[position];\n row = {\n type: 'tableRow',\n children: []\n };\n\n /* Eat a newline character when this is not the\n * first row. */\n if (position) {\n eat(C_NEWLINE);\n }\n\n /* Eat the row. */\n eat(line).reset(row, table);\n length = line.length + 1;\n index = 0;\n queue = '';\n cell = '';\n preamble = true;\n count = null;\n opening = null;\n while (index < length) {\n character = line.charAt(index);\n if (character === C_TAB || character === C_SPACE) {\n if (cell) {\n queue += character;\n } else {\n eat(character);\n }\n index++;\n continue;\n }\n if (character === '' || character === C_PIPE) {\n if (preamble) {\n eat(character);\n } else {\n if (character && opening) {\n queue += character;\n index++;\n continue;\n }\n if ((cell || character) && !preamble) {\n subvalue = cell;\n if (queue.length > 1) {\n if (character) {\n subvalue += queue.slice(0, queue.length - 1);\n queue = queue.charAt(queue.length - 1);\n } else {\n subvalue += queue;\n queue = '';\n }\n }\n now = eat.now();\n eat(subvalue)({\n type: 'tableCell',\n children: self.tokenizeInline(cell, now)\n }, row);\n }\n eat(queue + character);\n queue = '';\n cell = '';\n }\n } else {\n if (queue) {\n cell += queue;\n queue = '';\n }\n cell += character;\n if (character === C_BACKSLASH && index !== length - 2) {\n cell += line.charAt(index + 1);\n index++;\n }\n if (character === C_TICK) {\n count = 1;\n while (line.charAt(index + 1) === character) {\n cell += character;\n index++;\n count++;\n }\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n }\n }\n preamble = false;\n index++;\n }\n\n /* Eat the alignment row. */\n if (!position) {\n eat(C_NEWLINE + alignments);\n }\n }\n return table;\n}","'use strict';\n\nmodule.exports = visitParents;\nvar convert = require('unist-util-is/convert');\nvar CONTINUE = true;\nvar SKIP = 'skip';\nvar EXIT = false;\nvisitParents.CONTINUE = CONTINUE;\nvisitParents.SKIP = SKIP;\nvisitParents.EXIT = EXIT;\nfunction visitParents(tree, test, visitor, reverse) {\n var is;\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor;\n visitor = test;\n test = null;\n }\n is = convert(test);\n one(tree, null, []);\n\n // Visit a single node.\n function one(node, index, parents) {\n var result = [];\n var subresult;\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents));\n if (result[0] === EXIT) {\n return result;\n }\n }\n if (node.children && result[0] !== SKIP) {\n subresult = toResult(all(node.children, parents.concat(node)));\n return subresult[0] === EXIT ? subresult : result;\n }\n return result;\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1;\n var step = reverse ? -1 : 1;\n var index = (reverse ? children.length : min) + step;\n var result;\n while (index > min && index < children.length) {\n result = one(children[index], index, parents);\n if (result[0] === EXIT) {\n return result;\n }\n index = typeof result[1] === 'number' ? result[1] : index + step;\n }\n }\n}\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value;\n }\n if (typeof value === 'number') {\n return [CONTINUE, value];\n }\n return [value];\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.resetImageCache = exports.inImageCache = exports.allInImageCache = exports.activateCacheForMultipleImages = exports.activateCacheForImage = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props, index, isLoop) {\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return allInImageCache(props);\n }\n\n var src = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getImageSrcKey)(convertedProps);\n\n if ((0, _SimpleUtils.isObject)(src)) {\n var objectSrc = (0, _ImageUtils.getImageSrcKey)({\n fluid: src,\n fixed: src\n });\n return imageCache[objectSrc] || false;\n }\n\n return imageCache[src] || false;\n};\n\nexports.inImageCache = inImageCache;\n\nvar allInImageCache = function allInImageCache(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n return imageStack.every(function (imageData, index) {\n return inImageCache(convertedProps, index, true);\n });\n};\n\nexports.allInImageCache = allInImageCache;\n\nvar activateCacheForImage = function activateCacheForImage(props, index, isLoop) {\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateCacheForMultipleImages(props);\n }\n\n var src = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getImageSrcKey)(convertedProps);\n\n if (src) {\n if ((0, _SimpleUtils.isObject)(src)) {\n var objectSrc = (0, _ImageUtils.getImageSrcKey)({\n fluid: src,\n fixed: src\n });\n imageCache[objectSrc] = true;\n } else {\n imageCache[src] = true;\n }\n }\n};\n\nexports.activateCacheForImage = activateCacheForImage;\n\nvar activateCacheForMultipleImages = function activateCacheForMultipleImages(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n imageStack.forEach(function (imageData, index) {\n return activateCacheForImage(convertedProps, index, true);\n });\n};\n\nexports.activateCacheForMultipleImages = activateCacheForMultipleImages;\n\nvar resetImageCache = function resetImageCache() {\n for (var prop in imageCache) {\n delete imageCache[prop];\n }\n};\n\nexports.resetImageCache = resetImageCache;","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/link');\nvar normalize = require('../util/normalize');\nmodule.exports = reference;\nreference.locator = locate;\nvar T_LINK = 'link';\nvar T_IMAGE = 'image';\nvar T_FOOTNOTE = 'footnote';\nvar REFERENCE_TYPE_SHORTCUT = 'shortcut';\nvar REFERENCE_TYPE_COLLAPSED = 'collapsed';\nvar REFERENCE_TYPE_FULL = 'full';\nvar C_CARET = '^';\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nfunction reference(eat, value, silent) {\n var self = this;\n var character = value.charAt(0);\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var intro = '';\n var type = T_LINK;\n var referenceType = REFERENCE_TYPE_SHORTCUT;\n var content;\n var identifier;\n var now;\n var node;\n var exit;\n var queue;\n var bracketed;\n var depth;\n\n /* Check whether we’re eating an image. */\n if (character === '!') {\n type = T_IMAGE;\n intro = character;\n character = value.charAt(++index);\n }\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n index++;\n intro += character;\n queue = '';\n\n /* Check whether we’re eating a footnote. */\n if (self.options.footnotes && value.charAt(index) === C_CARET) {\n /* Exit if `![^` is found, so the `!` will be seen as text after this,\n * and we’ll enter this function again when `[^` is found. */\n if (type === T_IMAGE) {\n return;\n }\n intro += C_CARET;\n index++;\n type = T_FOOTNOTE;\n }\n\n /* Eat the text. */\n depth = 0;\n while (index < length) {\n character = value.charAt(index);\n if (character === C_BRACKET_OPEN) {\n bracketed = true;\n depth++;\n } else if (character === C_BRACKET_CLOSE) {\n if (!depth) {\n break;\n }\n depth--;\n }\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n queue += character;\n index++;\n }\n subvalue = queue;\n content = queue;\n character = value.charAt(index);\n if (character !== C_BRACKET_CLOSE) {\n return;\n }\n index++;\n subvalue += character;\n queue = '';\n while (index < length) {\n character = value.charAt(index);\n if (!whitespace(character)) {\n break;\n }\n queue += character;\n index++;\n }\n character = value.charAt(index);\n\n /* Inline footnotes cannot have an identifier. */\n if (type !== T_FOOTNOTE && character === C_BRACKET_OPEN) {\n identifier = '';\n queue += character;\n index++;\n while (index < length) {\n character = value.charAt(index);\n if (character === C_BRACKET_OPEN || character === C_BRACKET_CLOSE) {\n break;\n }\n if (character === C_BACKSLASH) {\n identifier += C_BACKSLASH;\n character = value.charAt(++index);\n }\n identifier += character;\n index++;\n }\n character = value.charAt(index);\n if (character === C_BRACKET_CLOSE) {\n referenceType = identifier ? REFERENCE_TYPE_FULL : REFERENCE_TYPE_COLLAPSED;\n queue += identifier + character;\n index++;\n } else {\n identifier = '';\n }\n subvalue += queue;\n queue = '';\n } else {\n if (!content) {\n return;\n }\n identifier = content;\n }\n\n /* Brackets cannot be inside the identifier. */\n if (referenceType !== REFERENCE_TYPE_FULL && bracketed) {\n return;\n }\n subvalue = intro + subvalue;\n if (type === T_LINK && self.inLink) {\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n if (type === T_FOOTNOTE && content.indexOf(' ') !== -1) {\n return eat(subvalue)({\n type: 'footnote',\n children: this.tokenizeInline(content, eat.now())\n });\n }\n now = eat.now();\n now.column += intro.length;\n now.offset += intro.length;\n identifier = referenceType === REFERENCE_TYPE_FULL ? identifier : content;\n node = {\n type: type + 'Reference',\n identifier: normalize(identifier)\n };\n if (type === T_LINK || type === T_IMAGE) {\n node.referenceType = referenceType;\n }\n if (type === T_LINK) {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n } else if (type === T_IMAGE) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n }\n return eat(subvalue)(node);\n}","var visitWithParents = require('unist-util-visit-parents');\nfunction addListMetadata() {\n return function (ast) {\n visitWithParents(ast, 'list', function (listNode, parents) {\n var depth = 0,\n i,\n n;\n for (i = 0, n = parents.length; i < n; i++) {\n if (parents[i].type === 'list') depth += 1;\n }\n for (i = 0, n = listNode.children.length; i < n; i++) {\n var child = listNode.children[i];\n child.index = i;\n child.ordered = listNode.ordered;\n }\n listNode.depth = depth;\n });\n return ast;\n };\n}\nmodule.exports = addListMetadata;","var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix];\nfor (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix];\n caf = root[vendors[i] + 'Cancel' + suffix] || root[vendors[i] + 'CancelRequest' + suffix];\n}\n\n// Some versions of FF have rAF but not cAF\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n raf = function raf(callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last));\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0);\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0;\n var _loop = function _loop() {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last);\n } catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n };\n for (var i = 0; i < cp.length; i++) {\n _loop();\n }\n }, Math.round(next));\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n caf = function caf(handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true;\n }\n }\n };\n}\nmodule.exports = function (fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn);\n};\nmodule.exports.cancel = function () {\n caf.apply(root, arguments);\n};\nmodule.exports.polyfill = function (object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};","'use strict';\n\nvar wrap = require('./wrap.js');\nmodule.exports = trough;\ntrough.wrap = wrap;\nvar slice = [].slice;\n\n// Create new middleware.\nfunction trough() {\n var fns = [];\n var middleware = {};\n middleware.run = run;\n middleware.use = use;\n return middleware;\n\n // Run `fns`. Last argument must be a completion handler.\n function run() {\n var index = -1;\n var input = slice.call(arguments, 0, -1);\n var done = arguments[arguments.length - 1];\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done);\n }\n next.apply(null, [null].concat(input));\n\n // Run the next `fn`, if any.\n function next(err) {\n var fn = fns[++index];\n var params = slice.call(arguments, 0);\n var values = params.slice(1);\n var length = input.length;\n var pos = -1;\n if (err) {\n done(err);\n return;\n }\n\n // Copy non-nully input into values.\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos];\n }\n }\n input = values;\n\n // Next or done.\n if (fn) {\n wrap(fn, next).apply(null, input);\n } else {\n done.apply(null, [null].concat(input));\n }\n }\n }\n\n // Add `fn` to the list.\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn);\n }\n fns.push(fn);\n return middleware;\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.getStyleRulesForClassName = exports.getStyleRules = exports.getBackgroundStylesForSingleClass = exports.default = void 0;\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar getStyleRulesForClassName = function getStyleRulesForClassName(className) {\n var styleSheets = (0, _SimpleUtils.isBrowser)() ? window.document.styleSheets : [];\n\n for (var i = 0; i < styleSheets.length; i++) {\n var classes = void 0;\n\n try {\n classes = typeof styleSheets[i].rules !== 'undefined' ? styleSheets[i].rules : typeof styleSheets[i].cssRules !== 'undefined' ? styleSheets[i].cssRules : '';\n } catch (e) {}\n\n if (classes) {\n var foundClass = Array.prototype.slice.call(classes).reduce(function (foundAcc, styleRule) {\n if (styleRule.selectorText === className) {\n foundAcc.push(styleRule);\n }\n\n return foundAcc;\n }, []);\n\n if (foundClass.length) {\n return foundClass;\n }\n }\n }\n\n return [];\n};\n\nexports.getStyleRulesForClassName = getStyleRulesForClassName;\n\nvar getStyleRules = function getStyleRules(cssStyleRules) {\n var styles = {};\n\n if (cssStyleRules.length > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n var constructorName = cssStyleRules[0].style.constructor.name || cssStyleRules[0].style.constructor.toString();\n\n switch (constructorName) {\n case 'CSS2Properties':\n case '[object MSStyleCSSProperties]':\n Object.values(cssStyleRules[0].style).forEach(function (prop) {\n styles[(0, _SimpleUtils.toCamelCase)(prop)] = cssStyleRules[0].style[prop];\n });\n break;\n\n case 'CSSStyleDeclaration':\n styles = cssStyleRules[0].style;\n break;\n\n default:\n console.error('Unknown style object prototype');\n break;\n }\n }\n\n return styles;\n};\n\nexports.getStyleRules = getStyleRules;\n\nvar getBackgroundStylesForSingleClass = function getBackgroundStylesForSingleClass(className) {\n if (className && (0, _SimpleUtils.isString)(className)) {\n var cssStyleRules = getStyleRulesForClassName(\".\" + className);\n\n if ((cssStyleRules === null || cssStyleRules === void 0 ? void 0 : cssStyleRules.length) > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n return Object.keys(getStyleRules(cssStyleRules)).filter(function (key) {\n return key.indexOf('background') === 0 && cssStyleRules[0].style[key] !== '';\n }).reduce(function (newData, key) {\n newData[(0, _SimpleUtils.toCamelCase)(key)] = cssStyleRules[0].style[key];\n return newData;\n }, {});\n }\n }\n\n return {};\n};\n\nexports.getBackgroundStylesForSingleClass = getBackgroundStylesForSingleClass;\n\nvar getBackgroundStyles = function getBackgroundStyles(className) {\n if ((0, _SimpleUtils.isBrowser)()) {\n var classes = (0, _SimpleUtils.stringToArray)(className);\n\n if (classes instanceof Array) {\n var classObjects = [];\n classes.forEach(function (item) {\n return classObjects.push(getBackgroundStylesForSingleClass(item));\n });\n return Object.assign.apply(Object, classObjects);\n }\n\n return getBackgroundStylesForSingleClass(className);\n }\n\n return {};\n};\n\nvar _default = getBackgroundStyles;\nexports.default = _default;","'use strict';\n\nvar xtend = require('xtend');\nvar removePosition = require('unist-util-remove-position');\nmodule.exports = parse;\nvar C_NEWLINE = '\\n';\nvar EXPRESSION_LINE_BREAKS = /\\r\\n|\\r/g;\n\n/* Parse the bound file. */\nfunction parse() {\n var self = this;\n var value = String(self.file);\n var start = {\n line: 1,\n column: 1,\n offset: 0\n };\n var content = xtend(start);\n var node;\n\n /* Clean non-unix newlines: `\\r\\n` and `\\r` are all\n * changed to `\\n`. This should not affect positional\n * information. */\n value = value.replace(EXPRESSION_LINE_BREAKS, C_NEWLINE);\n if (value.charCodeAt(0) === 0xFEFF) {\n value = value.slice(1);\n content.column++;\n content.offset++;\n }\n node = {\n type: 'root',\n children: self.tokenizeBlock(value, content),\n position: {\n start: start,\n end: self.eof || xtend(start)\n }\n };\n if (!self.options.position) {\n removePosition(node, true);\n }\n return node;\n}"],"sourceRoot":""}