{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./components/partials/page_text.tsx","webpack:///./index.tsx","webpack:///./utils/validation.tsx","webpack:///../node_modules/axios/lib/helpers/bind.js","webpack:///../node_modules/classnames/index.js","webpack:///../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./app.tsx","webpack:///./components/partials/full_stars.tsx","webpack:///../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack:///../node_modules/react-dropdown/dist/index.js","webpack:///../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./utils/branding.ts","webpack:///../node_modules/webpack/buildin/amd-options.js","webpack:///../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack:///../node_modules/prop-types/factoryWithThrowingShims.js","webpack:///../node_modules/decode-uri-component/index.js","webpack:///../node_modules/split-on-first/index.js","webpack:///../node_modules/filter-obj/index.js","webpack:///../node_modules/query-string/base.js","webpack:///../node_modules/query-string/index.js","webpack:///../node_modules/preact-cli/src/lib/entry.js","webpack:///./utils/authenticate.ts","webpack:///./api/branding.ts","webpack:///../node_modules/prop-types/index.js","webpack:///../node_modules/axios/lib/core/AxiosError.js","webpack:///../node_modules/axios/lib/helpers/toFormData.js","webpack:///../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack:///../node_modules/axios/lib/helpers/buildURL.js","webpack:///../node_modules/axios/lib/core/InterceptorManager.js","webpack:///../node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack:///../node_modules/axios/lib/core/AxiosHeaders.js","webpack:///../node_modules/axios/lib/core/transformData.js","webpack:///../node_modules/axios/lib/cancel/isCancel.js","webpack:///../node_modules/axios/lib/cancel/CanceledError.js","webpack:///../node_modules/axios/lib/core/buildFullPath.js","webpack:///../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///../node_modules/axios/lib/helpers/combineURLs.js","webpack:///../node_modules/axios/lib/adapters/xhr.js","webpack:///../node_modules/axios/lib/core/dispatchRequest.js","webpack:///../node_modules/axios/lib/core/mergeConfig.js","webpack:///../node_modules/axios/lib/helpers/validator.js","webpack:///../node_modules/axios/lib/core/Axios.js","webpack:///../node_modules/axios/lib/cancel/CancelToken.js","webpack:///../node_modules/axios/lib/helpers/null.js","webpack:///../node_modules/axios/lib/platform/browser/index.js","webpack:///../node_modules/axios/lib/defaults/transitional.js","webpack:///../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack:///../node_modules/axios/lib/platform/browser/classes/FormData.js","webpack:///../node_modules/axios/lib/platform/browser/classes/Blob.js","webpack:///../node_modules/axios/lib/helpers/formDataToJSON.js","webpack:///../node_modules/axios/lib/defaults/index.js","webpack:///../node_modules/axios/lib/helpers/parseHeaders.js","webpack:///../node_modules/axios/lib/helpers/cookies.js","webpack:///../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///../node_modules/axios/lib/helpers/speedometer.js","webpack:///../node_modules/axios/lib/adapters/adapters.js","webpack:///../node_modules/axios/lib/core/settle.js","webpack:///../node_modules/axios/lib/helpers/parseProtocol.js","webpack:///../node_modules/axios/lib/env/data.js","webpack:///../node_modules/axios/lib/helpers/HttpStatusCode.js","webpack:///../node_modules/axios/lib/axios.js","webpack:///../node_modules/axios/lib/helpers/spread.js","webpack:///../node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./utils/request.ts","webpack:///./containers/layout/header.tsx","webpack:///../node_modules/preact/src/util.js","webpack:///../node_modules/preact/src/create-element.js","webpack:///../node_modules/preact/src/component.js","webpack:///../node_modules/preact/src/diff/children.js","webpack:///../node_modules/preact/src/diff/props.js","webpack:///../node_modules/preact/src/diff/index.js","webpack:///../node_modules/preact/src/render.js","webpack:///../node_modules/preact/src/clone-element.js","webpack:///../node_modules/preact/src/create-context.js","webpack:///../node_modules/preact/src/options.js","webpack:///../node_modules/preact/src/constants.js","webpack:///../node_modules/preact/src/diff/catch-error.js","webpack:///./api/review.ts","webpack:///../node_modules/react-google-recaptcha/lib/esm/recaptcha.js","webpack:///../node_modules/react-async-script/lib/esm/async-script-loader.js","webpack:///../node_modules/react-google-recaptcha/lib/esm/recaptcha-wrapper.js","webpack:///../node_modules/react-google-recaptcha/lib/esm/index.js","webpack:///../node_modules/preact/hooks/src/index.js","webpack:///../node_modules/preact/compat/src/util.js","webpack:///../node_modules/preact/compat/src/PureComponent.js","webpack:///../node_modules/preact/compat/src/memo.js","webpack:///../node_modules/preact/compat/src/forwardRef.js","webpack:///../node_modules/preact/compat/src/suspense.js","webpack:///../node_modules/preact/compat/src/suspense-list.js","webpack:///../node_modules/preact/compat/src/portals.js","webpack:///../node_modules/preact/compat/src/render.js","webpack:///../node_modules/preact/compat/src/index.js","webpack:///../node_modules/preact/compat/src/Children.js","webpack:///./store/storage_context.tsx","webpack:///./config/keys.ts","webpack:///../node_modules/axios/lib/utils.js","webpack:///../node_modules/webpack/buildin/global.js","webpack:///./components/partials/top_tips.tsx","webpack:///./containers/create_review.tsx"],"names":["__webpack_require__","moduleId","installedModules","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","PageText","_Component","_super","apply","arguments","_inherits","_createSuper","text","this","props","h","className","dangerouslySetInnerHTML","__html","Component","widgetAttrMap","Map","CreateReview","script","document","getElementById","WIDGET_SCRIPT_ID","accessToken","dataset","access","memberID","branding","headerFooter","websiteUserID","domainOwnerID","_loop","_Object$entries$_i","_slicedToArray","_Object$entries","_i","widgetName","widgetRootStr","widget","split","forEach","id","console","log","concat","render","App","Widget","ref","tgReviewWidget","window","renderWidget","trim","entries","length","renderWidgets","validateCreateReviewForm","payload","errors","payloadToValidate","_objectSpread","ratings","ReviewRating","overallRating","find","rating","RatingTypeID","filter","ReviewRatingOverall","keys","push","message","Fragment","type","onClick","_document$getElementB","focus","_document$getElementB2","_document$getElementB3","validateEmail","_document$getElementB4","validateTelephone","_document$getElementB5","_document$getElementB6","_document$getElementB7","_document$getElementB8","_document$getElementB9","_document$getElementB10","Number","_document$getElementB11","_document$getElementB12","_document$getElementB13","_document$getElementB14","terms","checked","_document$getElementB15","sort","a","b","pageYOffset","getBoundingClientRect","top","email","test","telephone","fn","thisArg","classNames","classes","arg","argType","_typeof","Array","isArray","inner","toString","includes","hasOwn","join","default","define","_this","_defineProperty","_assertThisInitialized","theme","localStorage","setItem","TG_WIDGET_X_THEME","params","inviteToken","overallRatingValue","firstName","lastName","emailAddress","rs","cid","ct","location","search","queryParams","queryString","parse","parseInt","isNaN","decodeURIComponent","CID","CT","state","loaded","memberError","_componentDidMount","_this$props","clear","setXTheme","setAccessToken","setMemberID","setHeaderFooter","setWebsiteUserID","setDomainOwnerID","authenticateAccessToken","Error","err","error","_getAllBranding","getAllBranding","themeData","TG_WIDGET_BRANDING","JSON","stringify","brandingData","TG_WIDGET_THEME","loadQueryParams","setState","TG_WIDGET_MEMBER_ID","TG_WIDGET_HEADER_FOOTER","TG_WIDGET_WEBSITE_USER_ID","TG_WIDGET_DOMAIN_OWNER_ID","TG_WIDGET_ACCESS_TOKEN","jwt","TG_WIDGET_JWT","_this$state","getItem","siteName","SiteName","src","Logo","alt","memberData","TG_WIDGET_MEMBER_DATA","storageData","auth","xTheme","StorageContext","Provider","FullStars","_len","args","_key","ratingTypes","ratingValues","reviewScheme","RatingValues","Value","e","_this$props2","naRatingValue","showLabels","isOverallRating","map","typeKey","naActive","checkActiveTypeValue","ratingError","Name","isAllowedNA","setTypeValueAndRating","RatingValueID","htmlFor","replace","index","activeClass","renderRatings","require","_typeof2","obj","iterator","constructor","_getRequireWildcardCache","WeakMap","cache","_extends","assign","target","source","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","configurable","writable","_defineProperties","descriptor","_possibleConstructorReturn","self","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","_react","has","newObj","hasPropertyDescriptor","desc","set","_interopRequireWildcard","_classnames","DEFAULT_PLACEHOLDER_STRING","Dropdown","selected","parseValue","options","label","placeholder","isOpen","dropdownRef","createRef","mounted","handleDocumentClick","fireChangeEvent","Constructor","protoProps","staticProps","subClass","superClass","TypeError","prevProps","addEventListener","removeEventListener","event","onFocus","button","stopPropagation","preventDefault","disabled","option","num","match","items","item","newState","onChange","_classes","isSelected","baseClassName","optionClass","dataAttributes","data","reduce","acc","dataKey","getOwnPropertyDescriptors","defineProperties","createElement","onMouseDown","setValue","role","_this2","ops","groupTitle","_options","renderOption","tabIndex","current","contains","_classNames","_classNames2","_classNames3","_classNames4","_classNames5","controlClassName","placeholderClassName","menuClassName","arrowClassName","arrowClosed","arrowOpen","disabledClass","placeHolderValue","dropdownClass","controlClass","placeholderClass","isValueSelected","menuClass","arrowClass","menu","buildMenu","handleMouseDown","onTouchEnd","defaultProps","getStatics","component","reactIs","isMemo","MEMO_STATICS","TYPE_STATICS","REACT_STATICS","childContextTypes","contextType","contextTypes","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","compare","ForwardRef","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","getSiteName","DEFAULT_SITE_NAME","__webpack_amd_options__","z","u","$$typeof","g","f","k","A","for","q","v","w","x","y","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","emptyFunction","emptyFunctionWithReset","ReactPropTypesSecret","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","decodeComponents","components","_unused","left","slice","right","decode","input","_unused2","tokens","singleMatcher","decodeUriComponent","encodedURI","_unused4","replaceMap","multiMatcher","exec","_unused3","result","_entries","RegExp","customDecodeURIComponent","splitOnFirst","separator","separatorIndex","indexOf","includeKeys","predicate","_step","_iterator","_createForOfIteratorHelper","done","_step2","_iterator2","Reflect","validateArrayFormatSeparator","encode","strict","strictUriEncode","encodeURIComponent","decodeComponent","keysSorter","removeHash","hashStart","parseNumbers","parseBooleans","toLowerCase","extract","queryStart","query","arrayFormat","arrayFormatSeparator","formatter","accumulator","undefined","_toConsumableArray","isEncodedArray","newValue","arrayValue","flat","parserForArrayFormat","returnValue","parameter","parameter_","_splitOnFirst2","_i2","_Object$entries2","_Object$entries2$_i","Boolean","shouldFilter","skipNull","isNullOrUndefined","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","_i3","_Object$entries3","_Object$entries3$_i","parseUrl","url","_url_$split$","_url_","_url_$split","_splitOnFirst4","url_","hash","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","encodeFragmentIdentifier","getHash","urlObjectForFragmentEncode","URL","pick","_parseUrl","exclude","token","charCodeAt","toUpperCase","Preact","interopDefault","root","body","firstElementChild","app","preRenderData","inlineDataElement","querySelector","decodeURI","innerHTML","CLI_DATA","init","Promise","resolve","reject","authUrl","BASE_API_URL","http","post","AccessToken","then","res","reviewSchemeData","widgetMemberData","TG_WIDGET_REVIEW_SCHEMES","catch","getPortletGroups","getPageMeta","AxiosError","code","config","request","response","captureStackTrace","stack","isVisitable","thing","utils","isPlainObject","removeBrackets","endsWith","renderKey","path","dots","str","charMap","AxiosURLSearchParams","_pairs","toFormData","val","buildURL","serializedParams","_encode","serializeFn","serialize","isURLSearchParams","hashmarkIndex","hint","prim","toPrimitive","String","_toPrimitive","arr","_arrayWithHoles","_s","_e","_x","_r","_arr","_n","_d","next","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","_unsupportedIterableToArray","_nonIterableRest","len","arr2","normalizeHeader","header","normalizeValue","matchHeaderValue","context","isHeaderNameFilter","isFunction","isString","isRegExp","transformData","fns","defaults","headers","AxiosHeaders","normalize","status","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","speedometer","total","lengthComputable","progressBytes","rate","progress","bytes","estimated","throwIfCancellationRequested","cancelToken","throwIfRequested","signal","aborted","dispatchRequest","transformRequest","method","setContentType","adapters","adapter","transformResponse","reason","mergeConfig","config1","config2","getMergedValue","caseless","merge","mergeDeepProperties","isUndefined","valueFromConfig2","defaultToConfig2","mergeDirectKeys","prop","mergeMap","paramsSerializer","timeout","timeoutMessage","withCredentials","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","validateStatus","headersToObject","configValue","inherits","toJSON","description","fileName","lineNumber","columnNumber","toJSONObject","descriptors","customProps","axiosError","toFlatObject","cause","predicates","formData","convertValue","isDate","toISOString","useBlob","isBlob","isArrayBuffer","isTypedArray","Blob","Buffer","defaultVisitor","metaTokens","some","isFlatArray","isFileList","toArray","el","append","indexes","isObject","PlatformFormData","FormData","visitor","isSpecCompliantForm","exposedHelpers","build","pop","encoder","pair","product","InterceptorManager","handlers","fulfilled","rejected","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","URLSearchParams","isStandardBrowserEnv","navigator","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","formDataToJSON","buildPath","isNumericKey","isFinite","isLast","hasOwnProp","arrayToObject","isFormData","forEachEntry","matchAll","parsePropPath","DEFAULT_CONTENT_TYPE","transitional","transitionalDefaults","contentType","getContentType","hasJSONContentType","isObjectPayload","isHTMLForm","isBuffer","isStream","isFile","isArrayBufferView","buffer","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","stringifySafely","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","common","ignoreDuplicateOf","toObjectSet","$internals","_Symbol$iterator","_Symbol$toStringTag","instance","_classCallCheck","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","findKey","rawHeaders","parsed","setHeaders","line","substring","tokensRE","parseTokens","matcher","deleteHeader","deleted","format","normalized","char","formatHeader","_this$constructor","targets","asStrings","_ref","_ref2","first","computed","_len2","_key2","defineAccessor","accessors","accessorName","toCamelCase","methodName","arg1","arg2","arg3","buildAccessors","accessor","freezeMethods","write","expires","domain","secure","cookie","isNumber","Date","toGMTString","read","remove","now","resolveURL","href","msie","urlParsingNode","setAttribute","protocol","host","hostname","port","pathname","charAt","originURL","userAgent","requestURL","samplesCount","min","firstSampleTS","timestamps","head","tail","chunkLength","startedAt","bytesCount","passed","Math","round","isXHRAdapterSupported","XMLHttpRequest","knownAdapters","httpAdapter","xhr","unsubscribe","onCanceled","onloadend","responseHeaders","getAllResponseHeaders","ERR_BAD_REQUEST","floor","settle","responseText","statusText","requestData","requestHeaders","username","password","unescape","btoa","fullPath","open","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","isURLSameOrigin","cookies","setRequestHeader","upload","cancel","abort","subscribe","send","nameOrAdapter","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","opts","ERR_DEPRECATED","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","promise","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","extend","allOwnKeys","Cancel","all","promises","spread","callback","isAxiosError","formToJSON","BaseRequest","httpService","use","customError","_all","_createClass","requests","SecureRequest","_BaseRequest","secureHttp","Header","_this$context","ThemeID","history","back","backLink","renderLogo","renderBackLink","parentNode","removeChild","children","__k","__","__b","__e","__d","__c","__h","__v","vnode","_","base","__r","debounceRendering","shift","__P","L","__n","ownerSVGElement","M","C","$","nextSibling","S","O","P","appendChild","insertBefore","I","setProperty","T","style","cssText","j","removeAttribute","H","__E","sub","_sb","__s","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","N","diffed","localName","nodeType","createTextNode","createElementNS","is","childNodes","attributes","unmount","componentWillUnmount","B","firstChild","D","E","F","Consumer","componentDidCatch","forceUpdate","createReview","_asyncToGenerator","_x2","ReCAPTCHA","_React$Component","handleExpired","handleErrored","handleChange","handleRecaptchaRef","_proto","getValue","grecaptcha","_widgetId","getResponse","getWidgetId","execute","_executeRequested","executeAsync","executionResolve","executionReject","reset","onExpired","onErrored","explicitRender","wrapper","sitekey","tabindex","size","stoken","hl","badge","captcha","delayOfCaptchaIframeRemoving","temporaryNode","display","elem","childProps","excluded","sourceKeys","_objectWithoutPropertiesLoose","React","getScriptURL","SCRIPT_MAP","idCount","callbackName","makeAsyncScriptLoader","recaptchaOptions","useRecaptchaNet","globalName","WrappedComponent","wrappedComponentName","AsyncScriptLoader","__scriptURL","asyncScriptLoaderGetScriptLoaderID","__scriptLoaderID","setupScriptURL","asyncScriptLoaderHandleLoad","asyncScriptOnLoad","asyncScriptLoaderTriggerOnScriptLoaded","mapEntry","obsKey","observers","_this3","scriptURL","scriptId","entry","errored","attribute","async","callObserverFuncAndRemoveObserver","observersMap","onload","observer","removeOnUnmount","allScripts","getElementsByTagName","forwardedRef","ForwardedComponent","forwardRef","hoistStatics","RecaptchaWrapper","__H","__V","__N","every","useDebugValue","V","__m","clearTimeout","cancelAnimationFrame","requestAnimationFrame","isReactComponent","__f","U","__u","__a","containerInfo","G","textContent","J","Q","X","cancelBubble","nn","defaultPrevented","an","sn","hn","vn","yn","bn","gn","isPureReactComponent","R","count","only","__R","__O","fallback","W","delete","revealOrder","reverse","Z","Y","K","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","tn","en","class","rn","multiple","defaultValue","un","on","ln","ReactCurrentDispatcher","readContext","cn","dn","pn","mn","Sn","Cn","useState","useId","useReducer","useEffect","useLayoutEffect","useInsertionEffect","useTransition","useDeferredValue","useSyncExternalStore","startTransition","useRef","useImperativeHandle","useMemo","useCallback","useContext","Children","hydrate","unmountComponentAtNode","createPortal","createContext","createFactory","cloneElement","isValidElement","findDOMNode","PureComponent","memo","flushSync","unstable_batchedUpdates","SuspenseList","lazy","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","XTheme","process","_ref$allOwnKeys","TypedArray","kindOf","kindOfTest","typeOfTest","_global","globalThis","global","isContextDefined","Uint8Array","reduceDescriptors","reducer","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","kind","ArrayBuffer","isView","isBoolean","pipe","assignValue","targetKey","stripBOM","content","superConstructor","sourceObj","destObj","propFilter","merged","searchString","position","lastIndex","regExp","matches","arrayOrString","delimiter","p1","p2","noop","toFiniteNumber","generateString","alphabet","random","visit","reducedValue","Function","TopTips","handleClose","widgetThemeVariables","textValue","variableValue","keyChunks","chunk","lastChunk","keyName","Meta","substr","widgetKeyNames","getThemeVariableKeyName","recaptcha","recaptchaError","typeID","valueID","_this$state$reviewSch","RatingTypeItem","RatingTypes","RatingValueItem","RatingTypeKeyName","KeyName","RatingValue","currentRatingIndex","findIndex","currentRatings","updatePayload","showRecaptcha","clearError","classList","processErrors","memberCategories","Categories","reviewSchemes","memberCategoryIDs","CategoryID","reviewMemberCategoriesMap","intersection","MemberCategory","mcItem","rscItem","ReviewSchemeID","selReviewSchemeID","updatedPayload","MemberID","Theme","DomainOwnerID","scheme","setReviewScheme","loadData","add","serverSideErrors","regExIsFieldNameInErrorMessage","errorElementID","elementID","scrollToError","_ref4","submitting","validate","ReferrerSource","sourceID","getUrlParam","campaignID","CollectionSourceID","CampaignID","success","processServerSideErrors","pageMeta","WidgetIntroduction","Address2","PostalCode","RegionCode","Address1","reviewContentEl","viewBox","preserveAspectRatio","typeValues","removeRating","setRating","reviewRating","rr","portletGroups","portlet","initRating","_this$state$reviewSch2","ratingValue","loading","getThemeVariables","setNARatingID","getPageText","WidgetContactDetailsDescription","ReviewerFirstName","onBlur","setDisplayName","ReviewerLastName","ReviewerEmailAddress","ExperienceTypes","et","ExperienceTypeID","WidgetExperienceDescription","ReactDropdown","selectedOption","renderConnection","experienceTypeID","reviewerConnections","ReviewerConnections","rc","ReviewerConnectionID","displayedMemberCategories","MemberCategoryID","WidgetCategoryOfCareDescription","cat","WidgetReviewAndRatingDescription","WidgetDisplayNameDescription","setDisplayNameManuallySet","ReviewerDisplayName","WidgetReviewTitle","showTopTips","cols","rows","maxLength","reviewContentCount","WidgetReviewContentDescription","isOverall","_this$state2","handleRatingErrors","WidgetOverallRatingDescription","WidgetOtherRatingsDescription","WidgetTermsAndConditionsLink","rel","updateCaptcha","displayNameManuallySet","lastNameInitial","_this$context2","ProfileURL","Website","profileURL","btnText","WidgetConfirmationMessage","initialPayload","ReviewTitle","ReviewerTelephoneNumber","ReviewContent","Cost","InviteToken","WebsiteUserID","urlChunks","segmentIndex","part","getReviewSchemes","_this$context3","setInitialOverallRating","_this$state3","renderSuccess","registerStarSymbol","onSubmit","renderTitle","renderReviewSchemeForReview","renderPortletGroups","renderErrors"],"mappings":"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","file":"bundle.517e9.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://apfmblob.blob.core.windows.net/widgets/current/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"Pq/i\");\n","import React, { Component } from 'preact';\n\ninterface IPageTextProps {\n text: any;\n}\n\nclass PageText extends Component {\n render() {\n const { text } = this.props;\n\n if (text) {\n return \n }\n return '';\n }\n}\n\nexport default PageText;\n","import React, { createElement, render } from 'preact';\n\n// import React from 'react';\n// import ReactDOM from 'react-dom';\n// import { BrowserRouter as Router } from 'react-router-dom';\nimport App from './app';\nimport CreateReview from './containers/create_review';\nimport { WIDGET_SCRIPT_ID } from './config/keys';\n\nconst testAccessToken = 'db9e6d2b-90d3-4091-ba20-4f82cee203a6';\nconst testMemberID = '69685';\nconst testBranding = 'apfm';\nconst testHeaderFooter = 'true';\nconst testWebsiteUserID = '123';\nconst testDomainOwnerID = '1';\n\nconst createReview: any = CreateReview;\n\nconst widgetAttrMap = new Map([\n ['createreview', createReview]\n]);\n\ninterface tgWindow extends Window {\n tgReviewWidget: object;\n}\n\ndeclare const window: tgWindow;\n\nconst renderWithClientRouter = () => {\n\n render(\n ,\n document.getElementById('root')!\n );\n};\n\nconst renderWidget = (widget: any, accessToken: string, memberID: string, id: string, \n branding: string, headerFooter: string, websiteUserID: string, domainOwnerID: string) => {\n\n render(\n { \n window['tgReviewWidget'] = tgReviewWidget;\n }} \n accessToken={accessToken}\n memberID={memberID}\n branding={branding}\n headerFooter={headerFooter}\n websiteUserID={websiteUserID}\n domainOwnerID={domainOwnerID}\n />,\n document.getElementById(id)!\n );\n};\n\nconst renderWidgets = () => {\n\n const script = document.getElementById(WIDGET_SCRIPT_ID);\n\n if (!script) {\n console.log(`script tag with ID: ${WIDGET_SCRIPT_ID} not found`);\n return;\n }\n\n const accessToken: string = script.dataset.access || '';\n const memberID: string = script.dataset['memberid'] || '';\n const branding: string = script.dataset['theme'] || '';\n const headerFooter: string = script.dataset['headerfooter'] || '';\n const websiteUserID: string = script.dataset['websiteuserid'] || '';\n const domainOwnerID: string = script.dataset['domainownerid'] || '';\n\n for (const [widgetName, widgetRootStr] of Object.entries(script.dataset)) {\n const widget = widgetAttrMap.get(widgetName);\n\n if (widget) {\n const widgetRootIDs = (widgetRootStr || '').split(',');\n\n widgetRootIDs.forEach(id => {\n console.log(`USING Widget: ${widgetName} at ID: ${id}`);\n renderWidget(widget, accessToken, memberID, id.trim(), branding, headerFooter, websiteUserID, domainOwnerID);\n });\n }\n }\n};\n\nconst main = (() => {\n\n const useClientRouter = process.env.REACT_APP_USE_CLIENT_ROUTER;\n\n if (useClientRouter) {\n renderWithClientRouter();\n } else {\n renderWidgets();\n }\n\n})();\n","\nexport const validateCreateReviewForm = (payload: any) => {\n let errors: any = [];\n\n let payloadToValidate = {\n ...payload\n };\n\n let ratings = payloadToValidate.ReviewRating;\n const overallRating = ratings.find((rating: any) => rating.RatingTypeID === 6);\n\n ratings = ratings.filter((rating: any) => rating.RatingTypeID !== 6);\n\n payloadToValidate.ReviewRating = ratings;\n payloadToValidate.ReviewRatingOverall = overallRating;\n\n Object.keys(payloadToValidate).forEach((key: any) => {\n const value = payloadToValidate[key];\n\n if (key === \"ReviewTitle\" && (!value || !value.length)) {\n errors.push({\n key: 'ReviewTitle',\n message: <>Please provide a Title for the Review. \n }); \n }\n\n if (key === \"ReviewerFirstName\" && (!value || !value.length)) {\n errors.push({\n key: 'ReviewerFirstName',\n message: <>Please provide a First Name for the Review. \n }); \n }\n\n if (key === \"ReviewerLastName\" && (!value || !value.length)) {\n errors.push({\n key: 'ReviewerLastName',\n message: <>Please provide a Last Name for the Review. \n }); \n }\n\n if (key === \"ReviewerEmailAddress\" && (!value || !value.length || !validateEmail(value))) {\n errors.push({\n key: 'ReviewerEmailAddress',\n message:<>Please provide a valid Email Address for the Review. \n }); \n }\n\n if (key === \"ReviewerTelephoneNumber\" && (!value || !value.length || !validateTelephone(value))) {\n errors.push({\n key: 'ReviewerTelephoneNumber',\n message: <>Please provide a valid Telephone Number for the Review. \n }); \n }\n\n if (key === \"ReviewerDisplayName\" && (!value || !value.length)) {\n errors.push({\n key: 'ReviewerDisplayName',\n message: <>Please provide a Display Name for the Review. \n }); \n }\n\n if (key === \"ReviewContent\") {\n if (!value || !value.length) {\n errors.push({\n key: 'ReviewContent',\n message: <>Please enter your Review \n });\n }\n\n if (value && value.length > 1000) {\n errors.push({\n key: 'ReviewContent',\n message: <>Please enter less than 1000 characters \n });\n }\n\n if (value && value.length < 200) {\n errors.push({\n key: 'ReviewContent',\n message: <>Please use more than 200 characters for the review comment \n });\n }\n }\n\n if (key === \"ExperienceTypeID\" && !value) {\n errors.push({\n key: 'ExperienceTypeID',\n message: <>Please choose the Experience that relates to the Review. \n }); \n }\n\n if (Number(payload['ExperienceTypeID']) === 4 && key === 'ReviewerConnectionID' && !value) {\n errors.push({\n key: 'ReviewerConnectionID',\n message: <>Please choose the Connection that relates to the Review. \n });\n }\n\n if (key === 'ReviewRatingOverall' && !value) {\n errors.push({\n key: 'ReviewRatingOverall',\n message: <>Please select an Overall Rating. \n });\n }\n\n if (key === 'ReviewRating' && (!value || value.length < 7)) {\n errors.push({\n key: 'ReviewRating',\n message: <>\n Please complete all Ratings. {document.getElementById('ReviewRating')?.focus()}}\n >Go to input\n \n });\n }\n\n if (key === 'MemberCategoryID' && !value) {\n errors.push({\n key: 'MemberCategoryID',\n message: <>Please choose a Category of Care. \n });\n }\n });\n\n const terms: any = document.getElementById('Terms');\n\n if (terms && !terms.checked) {\n errors.push({\n key: 'Terms',\n message: <>Please accept our Terms and Conditions. \n });\n }\n\n const sortedErrors = errors.sort((a: any, b: any) => {\n const aElScrollTop = document.getElementById(a.key) ? (window.pageYOffset + document.getElementById(a.key).getBoundingClientRect().top) : null;\n const bElScrollTop = document.getElementById(b.key) ? (window.pageYOffset + document.getElementById(b.key).getBoundingClientRect().top) : null;\n\n return (aElScrollTop < bElScrollTop) ? -1 : 1;\n });\n\n return sortedErrors;\n}\n\nexport const validateEmail = (email: string) => {\n const re = /\\S+@\\S+\\.\\S+/;\n return re.test(email);\n}\n\nexport const validateTelephone = (telephone: any) => {\n const re = /[0-9\\+()\\-\\s]/;\n return telephone.length < 14 && re.test(telephone);\n}\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import { Component } from 'preact';\nimport StorageContext from './store/storage_context';\nimport queryString from 'query-string';\nimport CreateReview from './containers/create_review';\n\nimport {\n TG_WIDGET_ACCESS_TOKEN,\n TG_WIDGET_JWT,\n TG_WIDGET_MEMBER_ID,\n TG_WIDGET_THEME,\n TG_WIDGET_MEMBER_DATA,\n TG_WIDGET_BRANDING,\n TG_WIDGET_HEADER_FOOTER,\n TG_WIDGET_WEBSITE_USER_ID,\n TG_WIDGET_DOMAIN_OWNER_ID,\n TG_WIDGET_X_THEME\n} from './config/keys';\n\nimport './app.scss';\nimport { IQueryParams } from './interfaces/query_params';\nimport { authenticateAccessToken } from './utils/authenticate';\nimport { getAllBranding } from './api/branding';\n\ninterface IAppProps {\n Widget: any;\n memberID: string;\n accessToken?: string;\n branding?: string;\n headerFooter?: string;\n websiteUserID?: string;\n domainOwnerID?: string;\n}\n\ninterface IAppState {\n loaded: boolean;\n queryParams: IQueryParams;\n memberError: boolean;\n}\n\nclass App extends Component {\n\n constructor(props: IAppProps) {\n super(props);\n\n this.state = {\n loaded: false,\n memberError: false,\n queryParams: null\n };\n }\n\n async componentDidMount () {\n const {\n accessToken,\n memberID,\n headerFooter,\n websiteUserID,\n domainOwnerID,\n branding\n } = this.props;\n\n localStorage.clear();\n\n this.setXTheme(branding);\n\n if (accessToken) {\n this.setAccessToken(accessToken);\n }\n\n if (memberID) {\n this.setMemberID(memberID);\n }\n\n if (headerFooter) {\n this.setHeaderFooter(headerFooter);\n }\n\n if (websiteUserID) {\n this.setWebsiteUserID(websiteUserID);\n }\n\n if (domainOwnerID) {\n this.setDomainOwnerID(domainOwnerID);\n }\n\n let memberError = false;\n\n try {\n const jwt = await authenticateAccessToken(branding);\n if (!jwt) {\n throw new Error('JWT Is null ');\n }\n } catch(err) {\n console.error(`authenticate access toke failed: ${err.message}`);\n memberError = true;\n }\n\n const { themeData, brandingData } = getAllBranding(branding);\n localStorage.setItem(TG_WIDGET_BRANDING, JSON.stringify(brandingData));\n localStorage.setItem(TG_WIDGET_THEME, JSON.stringify(themeData));\n\n const queryParams: IQueryParams = this.loadQueryParams();\n\n this.setState({\n loaded: true,\n queryParams,\n memberError\n });\n\n console.log(`componentDidMount: accessToken ${accessToken} memberID ${memberID}`);\n }\n\n setXTheme = (theme: string) => localStorage.setItem(TG_WIDGET_X_THEME, theme);\n\n setMemberID(memberID: string) {\n localStorage.setItem(TG_WIDGET_MEMBER_ID, memberID);\n }\n\n setHeaderFooter(headerFooter: string) {\n localStorage.setItem(TG_WIDGET_HEADER_FOOTER, headerFooter);\n }\n\n setWebsiteUserID(websiteUserID: string) {\n localStorage.setItem(TG_WIDGET_WEBSITE_USER_ID, websiteUserID);\n }\n\n setDomainOwnerID(domainOwnerID: string) {\n localStorage.setItem(TG_WIDGET_DOMAIN_OWNER_ID, domainOwnerID);\n }\n\n setAccessToken(accessToken: string) {\n localStorage.setItem(TG_WIDGET_ACCESS_TOKEN, accessToken);\n }\n\n setJWT(jwt: string) {\n localStorage.setItem(TG_WIDGET_JWT, jwt);\n }\n\n loadQueryParams = (): IQueryParams => {\n \n const params: IQueryParams = {\n inviteToken: null,\n overallRatingValue: null,\n firstName: null,\n lastName:null,\n emailAddress: null,\n rs: null,\n cid: null,\n ct: null\n };\n\n if (window.location.search) {\n const queryParams: any = queryString.parse(window.location.search);\n \n if (queryParams.inviteToken) {\n params.inviteToken = queryParams.inviteToken;\n }\n\n if (queryParams.overallRatingValue) {\n\n const rating = parseInt(queryParams.overallRatingValue, 10);\n if (!isNaN(rating)) {\n params.overallRatingValue = rating;\n }\n }\n\n if (queryParams.firstName) {\n params.firstName = queryParams.firstName;\n }\n\n if (queryParams.lastName) {\n params.lastName = queryParams.lastName;\n }\n\n if (queryParams.emailAddress) {\n params.emailAddress = decodeURIComponent(queryParams.emailAddress);\n }\n\n if (queryParams.rs) {\n params.rs = queryParams.rs;\n }\n\n if (queryParams.CID) {\n params.cid = queryParams.CID;\n }\n\n if (queryParams.CT) {\n params.ct = queryParams.CT;\n }\n }\n\n return params;\n };\n\n render() {\n\n const { loaded, memberError, queryParams } = this.state;\n\n if (!loaded) {\n return
;\n }\n\n if (memberError) {\n const branding = localStorage.getItem(TG_WIDGET_BRANDING) ? JSON.parse(localStorage.getItem(TG_WIDGET_BRANDING)) : {};\n const logo: any = branding ? branding.Logo : '';\n const siteName: any = branding ? branding.SiteName : '';\n\n return (\n
\n
\n {siteName}\n

\n

Sorry we could not find this Community

\n \n
\n
\n );\n }\n\n const { Widget } = this.props;\n const jwt = localStorage.getItem(TG_WIDGET_JWT); \n const accessToken = localStorage.getItem(TG_WIDGET_ACCESS_TOKEN); \n const memberID = localStorage.getItem(TG_WIDGET_MEMBER_ID);\n const theme = JSON.parse(localStorage.getItem(TG_WIDGET_THEME));\n const memberData = JSON.parse(localStorage.getItem(TG_WIDGET_MEMBER_DATA));\n const branding = JSON.parse(localStorage.getItem(TG_WIDGET_BRANDING));\n const headerFooter = JSON.parse(localStorage.getItem(TG_WIDGET_HEADER_FOOTER));\n const websiteUserID = JSON.parse(localStorage.getItem(TG_WIDGET_WEBSITE_USER_ID));\n const domainOwnerID = JSON.parse(localStorage.getItem(TG_WIDGET_DOMAIN_OWNER_ID));\n const xTheme = localStorage.getItem(TG_WIDGET_X_THEME);\n\n const storageData: any = {\n auth: { accessToken, jwt, memberID, websiteUserID },\n branding,\n headerFooter,\n memberData,\n theme,\n queryParams,\n domainOwnerID,\n memberID,\n xTheme\n };\n\n if (Widget) {\n return (\n
\n \n \n \n
\n );\n }\n\n return (\n
\n \n \n \n
\n );\n }\n}\n\nexport default App;\n","import React, { Component } from 'preact';\n\ninterface IFullStarsProps {\n naRatingValue: any;\n reviewScheme: any;\n ratingTypes: any;\n setTypeValueAndRating: any;\n checkActiveTypeValue: any;\n showLabels: boolean;\n error: any;\n isOverallRating: boolean;\n}\n\nclass FullStars extends Component {\n\n renderRatings = () => {\n const { reviewScheme, ratingTypes } = this.props;\n\n if (!ratingTypes.length) {\n return null;\n }\n\n let ratingValues = reviewScheme.RatingValues || [];\n\n ratingValues = ratingValues.filter((value: any) => value.Value).filter((e: any, i: number) => e.Value % 1 === 0);\n\n const { naRatingValue, showLabels, error, isOverallRating } = this.props;\n\n return (\n <>\n { \n ratingTypes.map((type: any, typeKey: number) => {\n const naActive = naRatingValue ? this.props.checkActiveTypeValue(type.RatingTypeID, naRatingValue.Value) ? 'active' : '' : '';\n const ratingError = isOverallRating ? error(type.RatingTypeID) : error(type.RatingTypeID, 'ReviewRatingOverall');\n\n return (\n
\n
\n {\n showLabels\n ?\n \n { type.Name }\n {\n ratingError\n ? \"\"/\n : ''\n }\n \n : ''\n }\n {\n type.isAllowedNA && naRatingValue\n ?\n
\n this.props.setTypeValueAndRating(type.RatingTypeID, naRatingValue.Value, naRatingValue.RatingValueID)}\n >\n \n { naRatingValue.Name }\n \n
\n
\n : ''\n }\n {\n ratingValues.map((value: any, index: number) => {\n const activeClass = this.props.checkActiveTypeValue(type.RatingTypeID, value.Value) ? 'active' : '';\n return (\n
\n this.props.setTypeValueAndRating(type.RatingTypeID, value.Value, value.RatingValueID)}\n >\n \n
\n
\n )\n })\n }\n
\n \n )\n })\n }\n \n );\n }\n\n render() {\n return this.renderRatings();\n }\n}\n\nexport default FullStars;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar DEFAULT_PLACEHOLDER_STRING = 'Select...';\n\nvar Dropdown =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Dropdown, _Component);\n\n function Dropdown(props) {\n var _this;\n\n _classCallCheck(this, Dropdown);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Dropdown).call(this, props));\n _this.state = {\n selected: _this.parseValue(props.value, props.options) || {\n label: typeof props.placeholder === 'undefined' ? DEFAULT_PLACEHOLDER_STRING : props.placeholder,\n value: ''\n },\n isOpen: false\n };\n _this.dropdownRef = (0, _react.createRef)();\n _this.mounted = true;\n _this.handleDocumentClick = _this.handleDocumentClick.bind(_assertThisInitialized(_this));\n _this.fireChangeEvent = _this.fireChangeEvent.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Dropdown, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.value !== prevProps.value) {\n if (this.props.value) {\n var selected = this.parseValue(this.props.value, this.props.options);\n\n if (selected !== this.state.selected) {\n this.setState({\n selected: selected\n });\n }\n } else {\n this.setState({\n selected: {\n label: typeof this.props.placeholder === 'undefined' ? DEFAULT_PLACEHOLDER_STRING : this.props.placeholder,\n value: ''\n }\n });\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, false);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, false);\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown(event) {\n if (this.props.onFocus && typeof this.props.onFocus === 'function') {\n this.props.onFocus(this.state.isOpen);\n }\n\n if (event.type === 'mousedown' && event.button !== 0) return;\n event.stopPropagation();\n event.preventDefault();\n\n if (!this.props.disabled) {\n this.setState({\n isOpen: !this.state.isOpen\n });\n }\n }\n }, {\n key: \"parseValue\",\n value: function parseValue(value, options) {\n var option;\n\n if (typeof value === 'string') {\n for (var i = 0, num = options.length; i < num; i++) {\n if (options[i].type === 'group') {\n var match = options[i].items.filter(function (item) {\n return item.value === value;\n });\n\n if (match.length) {\n option = match[0];\n }\n } else if (typeof options[i].value !== 'undefined' && options[i].value === value) {\n option = options[i];\n }\n }\n }\n\n return option || value;\n }\n }, {\n key: \"setValue\",\n value: function setValue(value, label) {\n var newState = {\n selected: {\n value: value,\n label: label\n },\n isOpen: false\n };\n this.fireChangeEvent(newState);\n this.setState(newState);\n }\n }, {\n key: \"fireChangeEvent\",\n value: function fireChangeEvent(newState) {\n if (newState.selected !== this.state.selected && this.props.onChange) {\n this.props.onChange(newState.selected);\n }\n }\n }, {\n key: \"renderOption\",\n value: function renderOption(option) {\n var _classes;\n\n var value = option.value;\n\n if (typeof value === 'undefined') {\n value = option.label || option;\n }\n\n var label = option.label || option.value || option;\n var isSelected = value === this.state.selected.value || value === this.state.selected;\n var classes = (_classes = {}, _defineProperty(_classes, \"\".concat(this.props.baseClassName, \"-option\"), true), _defineProperty(_classes, option.className, !!option.className), _defineProperty(_classes, 'is-selected', isSelected), _classes);\n var optionClass = (0, _classnames[\"default\"])(classes);\n var dataAttributes = Object.keys(option.data || {}).reduce(function (acc, dataKey) {\n return _objectSpread({}, acc, _defineProperty({}, \"data-\".concat(dataKey), option.data[dataKey]));\n }, {});\n return _react[\"default\"].createElement(\"div\", _extends({\n key: value,\n className: optionClass,\n onMouseDown: this.setValue.bind(this, value, label),\n onClick: this.setValue.bind(this, value, label),\n role: \"option\",\n \"aria-selected\": isSelected ? 'true' : 'false'\n }, dataAttributes), label);\n }\n }, {\n key: \"buildMenu\",\n value: function buildMenu() {\n var _this2 = this;\n\n var _this$props = this.props,\n options = _this$props.options,\n baseClassName = _this$props.baseClassName;\n var ops = options.map(function (option) {\n if (option.type === 'group') {\n var groupTitle = _react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-title\")\n }, option.name);\n\n var _options = option.items.map(function (item) {\n return _this2.renderOption(item);\n });\n\n return _react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-group\"),\n key: option.name,\n role: \"listbox\",\n tabIndex: \"-1\"\n }, groupTitle, _options);\n } else {\n return _this2.renderOption(option);\n }\n });\n return ops.length ? ops : _react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-noresults\")\n }, \"No options found\");\n }\n }, {\n key: \"handleDocumentClick\",\n value: function handleDocumentClick(event) {\n if (this.mounted) {\n if (!this.dropdownRef.current.contains(event.target)) {\n if (this.state.isOpen) {\n this.setState({\n isOpen: false\n });\n }\n }\n }\n }\n }, {\n key: \"isValueSelected\",\n value: function isValueSelected() {\n return typeof this.state.selected === 'string' || this.state.selected.value !== '';\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames, _classNames2, _classNames3, _classNames4, _classNames5;\n\n var _this$props2 = this.props,\n baseClassName = _this$props2.baseClassName,\n controlClassName = _this$props2.controlClassName,\n placeholderClassName = _this$props2.placeholderClassName,\n menuClassName = _this$props2.menuClassName,\n arrowClassName = _this$props2.arrowClassName,\n arrowClosed = _this$props2.arrowClosed,\n arrowOpen = _this$props2.arrowOpen,\n className = _this$props2.className;\n var disabledClass = this.props.disabled ? 'Dropdown-disabled' : '';\n var placeHolderValue = typeof this.state.selected === 'string' ? this.state.selected : this.state.selected.label;\n var dropdownClass = (0, _classnames[\"default\"])((_classNames = {}, _defineProperty(_classNames, \"\".concat(baseClassName, \"-root\"), true), _defineProperty(_classNames, className, !!className), _defineProperty(_classNames, 'is-open', this.state.isOpen), _classNames));\n var controlClass = (0, _classnames[\"default\"])((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(baseClassName, \"-control\"), true), _defineProperty(_classNames2, controlClassName, !!controlClassName), _defineProperty(_classNames2, disabledClass, !!disabledClass), _classNames2));\n var placeholderClass = (0, _classnames[\"default\"])((_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(baseClassName, \"-placeholder\"), true), _defineProperty(_classNames3, placeholderClassName, !!placeholderClassName), _defineProperty(_classNames3, 'is-selected', this.isValueSelected()), _classNames3));\n var menuClass = (0, _classnames[\"default\"])((_classNames4 = {}, _defineProperty(_classNames4, \"\".concat(baseClassName, \"-menu\"), true), _defineProperty(_classNames4, menuClassName, !!menuClassName), _classNames4));\n var arrowClass = (0, _classnames[\"default\"])((_classNames5 = {}, _defineProperty(_classNames5, \"\".concat(baseClassName, \"-arrow\"), true), _defineProperty(_classNames5, arrowClassName, !!arrowClassName), _classNames5));\n\n var value = _react[\"default\"].createElement(\"div\", {\n className: placeholderClass\n }, placeHolderValue);\n\n var menu = this.state.isOpen ? _react[\"default\"].createElement(\"div\", {\n className: menuClass,\n \"aria-expanded\": \"true\"\n }, this.buildMenu()) : null;\n return _react[\"default\"].createElement(\"div\", {\n ref: this.dropdownRef,\n className: dropdownClass\n }, _react[\"default\"].createElement(\"div\", {\n className: controlClass,\n onMouseDown: this.handleMouseDown.bind(this),\n onTouchEnd: this.handleMouseDown.bind(this),\n \"aria-haspopup\": \"listbox\"\n }, value, _react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-arrow-wrapper\")\n }, arrowOpen && arrowClosed ? this.state.isOpen ? arrowOpen : arrowClosed : _react[\"default\"].createElement(\"span\", {\n className: arrowClass\n }))), menu);\n }\n }]);\n\n return Dropdown;\n}(_react.Component);\n\nDropdown.defaultProps = {\n baseClassName: 'Dropdown'\n};\nvar _default = Dropdown;\nexports[\"default\"] = _default;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import { TG_WIDGET_BRANDING, DEFAULT_SITE_NAME } from \"../config/keys\";\n\nexport const getSiteName = () => {\n const branding = localStorage.getItem(TG_WIDGET_BRANDING) ? JSON.parse(localStorage.getItem(TG_WIDGET_BRANDING)) : null;\n\n if (!branding) {\n return DEFAULT_SITE_NAME;\n }\n\n const { SiteName } = branding;\n\n return SiteName;\n}\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replace(/\\+/g, ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {encode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',', ...options};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","/* global __webpack_public_path__ */\n\nimport * as Preact from 'preact';\nconst { h, render, hydrate } = Preact;\n\nconst interopDefault = m => (m && m.default ? m.default : m);\n\nconst normalizeURL = url => (url[url.length - 1] === '/' ? url : url + '/');\n\nif (process.env.NODE_ENV === 'development') {\n\t// enable preact devtools\n\trequire('preact/debug');\n\n\t// only add a debug sw if webpack service worker is not requested.\n\tif (process.env.ADD_SW === undefined && 'serviceWorker' in navigator) {\n\t\tnavigator.serviceWorker.register(\n\t\t\tnormalizeURL(__webpack_public_path__) + 'sw-debug.js'\n\t\t);\n\t} else if (process.env.ADD_SW && 'serviceWorker' in navigator) {\n\t\tnavigator.serviceWorker.register(\n\t\t\tnormalizeURL(__webpack_public_path__) +\n\t\t\t\t(process.env.ES_BUILD ? 'sw-esm.js' : 'sw.js')\n\t\t);\n\t}\n} else if (process.env.ADD_SW && 'serviceWorker' in navigator) {\n\tnavigator.serviceWorker.register(\n\t\tnormalizeURL(__webpack_public_path__) +\n\t\t\t(process.env.ES_BUILD ? 'sw-esm.js' : 'sw.js')\n\t);\n}\n\nlet app = interopDefault(require('preact-cli-entrypoint'));\n\nif (typeof app === 'function') {\n\tlet root =\n\t\tdocument.getElementById('preact_root') || document.body.firstElementChild;\n\n\tlet init = () => {\n\t\tlet app = interopDefault(require('preact-cli-entrypoint'));\n\t\tlet preRenderData = {};\n\t\tconst inlineDataElement = document.querySelector(\n\t\t\t'[type=\"__PREACT_CLI_DATA__\"]'\n\t\t);\n\t\tif (inlineDataElement) {\n\t\t\tpreRenderData =\n\t\t\t\tJSON.parse(decodeURI(inlineDataElement.innerHTML)).preRenderData ||\n\t\t\t\tpreRenderData;\n\t\t}\n\t\t/* An object named CLI_DATA is passed as a prop,\n\t\t * this keeps us future proof if in case we decide,\n\t\t * to send other data like at some point in time.\n\t\t */\n\t\tconst CLI_DATA = { preRenderData };\n\t\tconst currentURL = preRenderData.url ? normalizeURL(preRenderData.url) : '';\n\t\tconst canHydrate =\n\t\t\tprocess.env.PRERENDER &&\n\t\t\tprocess.env.NODE_ENV === 'production' &&\n\t\t\thydrate &&\n\t\t\tcurrentURL === normalizeURL(location.pathname);\n\t\tconst doRender = canHydrate ? hydrate : render;\n\t\tdoRender(h(app, { CLI_DATA }), document.body, root);\n\t};\n\n\tif (module.hot) module.hot.accept('preact-cli-entrypoint', init);\n\n\tinit();\n}\n","import { http } from './request';\nimport {\n BASE_API_URL,\n TG_WIDGET_JWT,\n TG_WIDGET_ACCESS_TOKEN,\n TG_WIDGET_REVIEW_SCHEMES,\n TG_WIDGET_MEMBER_DATA\n\n} from '../config/keys';\n\nexport const authenticateAccessToken = (theme: string): Promise => {\n return new Promise((resolve, reject) => {\n const accessToken = localStorage.getItem(TG_WIDGET_ACCESS_TOKEN);\n\n if (!(accessToken || {}).length) {\n return reject('No access Token');\n }\n\n const authUrl = `${BASE_API_URL}/authenticate/submission`;\n\n http.post(authUrl, {\n AccessToken: accessToken,\n 'x-theme': theme\n }).then((res: any) => {\n const data = ((res || {}).data || {}).data;\n\n console.log(data);\n\n if (!data) {\n throw new Error('Failed to get response from authenticateAccessToken');\n }\n\n if (!data.jwt) {\n throw new Error('Failed to get JWT from authenticateAccessToken');\n }\n\n if (!data.reviewSchemeData) {\n throw new Error('Failed to get reviewSchemeData from authenticateAccessToken');\n }\n\n if (!data.widgetMemberData) {\n throw new Error('Failed to get widgetMemberData from authenticateAccessToken');\n }\n \n localStorage.setItem(TG_WIDGET_JWT, data.jwt);\n localStorage.setItem(TG_WIDGET_MEMBER_DATA, JSON.stringify(data.widgetMemberData)); \n localStorage.setItem(TG_WIDGET_REVIEW_SCHEMES, JSON.stringify(data.reviewSchemeData));\n\n resolve(data.jwt);\n\n }).catch((err: any) => {\n resolve(null);\n });\n });\n};\n","export const getPortletGroups = () => {\n return [\n 'renderOverallRating',\n 'renderYourReviewAndRating',\n 'renderReviewTitle',\n 'renderReviewContent',\n 'renderOtherRatings',\n 'renderExperienceTypes',\n 'renderMemberCategories',\n 'renderFirstName',\n 'renderLastName',\n 'renderDisplayName',\n 'renderContactDetails',\n 'renderTelephone',\n 'renderEmailAddress',\n 'renderTermsAndCondition',\n 'renderRecaptcha'\n ];\n}\n\nexport const getPageMeta = () => {\n return {\n \"WidgetIntroduction\": \"Sharing your insights and experiences can help others learn more about this member\",\n \"WidgetReviewTitle\": \"\",\n \"WidgetOverallRatingDescription\": \"\",\n \"WidgetCategoryOfCareDescription\": \"\",\n \"WidgetExperienceDescription\": \"\",\n \"WidgetDisplayNameDescription\": \"Please edit if you wish, but it is now our policy not to publish the last name of the reviewer.\",\n \"WidgetReviewAndRatingDescription\": \"\",\n \"WidgetReviewContentDescription\": \"Reviews comments must comply with our ${widget_terms_and_conditions_link} Reviewer Guidelines${widget_terms_and_conditions_link_end} Please do not use names (job titles / positions are acceptable) of any individual or identifying features, abusive remarks, or allegations of negligence or criminal activity. \",\n \"WidgetContactDetailsDescription\": \"We respect your privacy. Your phone number and email will NOT be published with your review. By providing this information you allow us to verify your status with participating senior communities and senior referral services. We include special stamps on verified reviews.\",\n \"WidgetConfirmationMessage\": \"Thank you for submitting your review, you will be notified by email once the review has been verified and published.\"\n }\n}\n\nexport const getAllBranding = (branding: string) => {\n\n console.log('Branding ' + branding);\n\n const themeData = branding === 'apfm' ? {\n \"ThemeID\": \"apfm\",\n \"SiteName\": \"A Place For Mom\",\n \"Meta\": {\n \"GuidlinesLink\": \"https://www.aplaceformom.com/terms-of-use\",\n \"TermsAndConditionsLink\": \"https://www.aplaceformom.com/terms-of-use\",\n \"WidgetTermsAndConditionsLink\": \"https://support.aplaceformom.com/docs/review-policy\",\n \"WidgetGuidlinesLink\": \"https://www.aplaceformom.com/terms-of-use\"\n } \n }: {\n \"ThemeID\": \"sa\",\n \"SiteName\": \"Senior Advisor\",\n \"Meta\": {\n \"GuidlinesLink\": \"https://www.aplaceformom.com/terms-of-use\",\n \"TermsAndConditionsLink\": \"https://www.aplaceformom.com/terms-of-use\",\n \"WidgetTermsAndConditionsLink\": \"https://support.aplaceformom.com/docs/review-policy\",\n \"WidgetGuidlinesLink\": \"https://www.aplaceformom.com/terms-of-use\"\n }\n };\n\n const brandingData = branding === 'apfm' ? {\n \"SiteName\": \"apfm\",\n \"Logo\": \"https://stagingapfmblob.blob.core.windows.net/widgetassets/apfm.png\",\n \"Website\": \"https://www.aplaceformom.com\",\n \"ParentSiteName\": \"apfm\",\n } : {\n \"SiteName\": \"sa\",\n \"Logo\": \"https://stagingapfmblob.blob.core.windows.net/widgetassets/sa.png\",\n \"Website\": \"https://www.senioradvisor.com\",\n \"ParentSiteName\": \"apfm\",\n };\n\n return { \n themeData, \n brandingData \n };\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","// eslint-disable-next-line strict\nexport default null;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","export const VERSION = \"1.3.6\";","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from 'axios';\nimport {\n BASE_API_URL,\n TG_WIDGET_JWT,\n TG_WIDGET_ACCESS_TOKEN,\n TG_WIDGET_MEMBER_ID,\n TG_WIDGET_BRANDING,\n TG_WIDGET_X_THEME\n} from '../config/keys';\n\nimport { authenticateAccessToken } from './authenticate';\n\nclass BaseRequest {\n httpService: any;\n\n constructor () {\n this.httpService = axios.create({\n baseURL: BASE_API_URL\n });\n\n this.httpService.interceptors.request.use((config: any): any => {\n const memberID = config.memberID || localStorage.getItem(TG_WIDGET_MEMBER_ID);\n const xTheme = localStorage.getItem(TG_WIDGET_X_THEME);\n\n config.headers['x-member-key'] = Number(memberID);\n config.headers['x-widget'] = 'review-submission';\n config.headers['x-theme'] = xTheme;\n\n return config;\n });\n\n this.httpService.interceptors.response.use(\n (response:any) => {\n return Promise.resolve(response);\n },\n (error:any) => {\n if (error.response) {\n const errors = (error.response.data || {}).errors || [];\n error.response.customError = errors.length ? errors[0] : 'An error occurred';\n return Promise.reject(error.response);\n } else {\n return Promise.reject(error);\n }\n }\n );\n }\n\n get (path: string, params?: any) {\n return this.httpService.get(path, params);\n }\n\n patch (path: string, payload?: any) {\n\n return this.httpService.request({\n method: 'PATCH',\n url: path,\n responseType: 'json',\n data: payload || {}\n });\n }\n\n put (path: string, payload?: any) {\n\n return this.httpService.request({\n method: 'PUT',\n url: path,\n responseType: 'json',\n data: payload || {}\n });\n }\n\n post (path: string, payload?: any) {\n return this.httpService.request({\n method: 'POST',\n url: path,\n responseType: 'json',\n data: payload || {}\n });\n }\n\n delete (path: string, payload?: any) {\n return this.httpService.request({\n method: 'DELETE',\n url: path,\n responseType: 'json',\n data: payload || {}\n });\n }\n\n async all (requests: any) {\n return axios.all(requests);\n }\n}\n\nclass SecureRequest extends BaseRequest {\n\n constructor() {\n super();\n\n this.httpService.interceptors.request.use((config: any): any => {\n const accessToken = localStorage.getItem(TG_WIDGET_ACCESS_TOKEN);\n const jwt = localStorage.getItem(TG_WIDGET_JWT);\n\n if (!accessToken.length) {\n return Promise.reject('SecureRequest: No accessToken');\n }\n\n config.headers['x-access-token'] = accessToken;\n config.headers['x-jwt'] = jwt || '';\n return config;\n });\n\n this.httpService.interceptors.response.use(null, (error: any) => {\n const branding = localStorage.getItem(TG_WIDGET_BRANDING) ? JSON.parse(localStorage.getItem(TG_WIDGET_BRANDING)) : '';\n const { SiteName } = branding;\n\n if (error.config && error.status === 403) {\n return authenticateAccessToken(SiteName).then(jwt => {\n\n if (!jwt) {\n return Promise.reject(new Error('Failed to get JWT'));\n }\n\n error.config.headers['x-jwt'] = jwt;\n return axios.request(error.config);\n });\n }\n \n return Promise.reject(error);\n });\n }\n}\n\nexport const http = new BaseRequest();\nexport const secureHttp = new SecureRequest();\n","import React, { Component } from 'preact';\nimport { TG_WIDGET_HEADER_FOOTER } from '../../config/keys';\nimport StorageContext from '../../store/storage_context';\n\nclass Header extends Component {\n\n backLink = (e: any) => {\n e.preventDefault();\n\n const { theme, memberID } = this.context;\n\n if (theme?.ThemeID === 'apfm') {\n window.location.href = `https://www.aplaceformom.com/community/${memberID}`;\n\n return;\n }\n\n window.history.back();\n }\n\n renderBackLink = () => {\n return (\n this.backLink(e)} id=\"back-link\">\n Back\n \n );\n }\n\n renderLogo = () => {\n const { branding } = this.context;\n\n if (!branding) {\n return '';\n }\n\n const { SiteName, Logo } = branding;\n\n return {SiteName}\n }\n\n render() {\n const showHeader = localStorage.getItem(TG_WIDGET_HEADER_FOOTER);\n\n if (showHeader !== 'true') {\n return '';\n }\n\n return (\n
\n
\n { this.renderLogo() }\n { this.renderBackLink() }\n
\n
\n );\n }\n}\n\nHeader.contextType = StorageContext;\nexport default Header;\n","import { EMPTY_ARR } from './constants';\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-ignore We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * constructor for this virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the virtual node\n * @returns {import('./internal').VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor === undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {import('./internal').Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function (update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) {\n\t\t\tthis._stateCallbacks.push(callback);\n\t\t}\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {import('./internal').Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {import('./internal').Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet vnode = component._vnode,\n\t\toldDom = vnode._dom,\n\t\tparentDom = component._parentDom;\n\n\tif (parentDom) {\n\t\tlet commitQueue = [];\n\t\tconst oldVNode = assign({}, vnode);\n\t\toldVNode._original = vnode._original + 1;\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tvnode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\tvnode._hydrating != null ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom,\n\t\t\tvnode._hydrating\n\t\t);\n\t\tcommitRoot(commitQueue, vnode);\n\n\t\tif (vnode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/**\n * @param {import('./internal').Component} a\n * @param {import('./internal').Component} b\n */\nconst depthSort = (a, b) => a._vnode._depth - b._vnode._depth;\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort(depthSort);\n\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t// process() calls from getting scheduled while `queue` is still being consumed.\n\twhile ((c = rerenderQueue.shift())) {\n\t\tif (c._dirty) {\n\t\t\tlet renderQueueLength = rerenderQueue.length;\n\t\t\trenderComponent(c);\n\t\t\tif (rerenderQueue.length > renderQueueLength) {\n\t\t\t\t// When i.e. rerendering a provider additional new items can be injected, we want to\n\t\t\t\t// keep the order from top to bottom with those new items so we can handle them in a\n\t\t\t\t// single pass\n\t\t\t\trerenderQueue.sort(depthSort);\n\t\t\t}\n\t\t}\n\t}\n\tprocess._rerenderCount = 0;\n}\n\nprocess._rerenderCount = 0;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').ComponentChildren[]} renderResult\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet i, j, oldVNode, childVNode, newDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < renderResult.length; i++) {\n\t\tchildVNode = renderResult[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.
{reuse}{reuse}
) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (Array.isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
\n\t\t\t//
{reuse}{reuse}
\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tchildVNode.ref ? childVNode.ref : null,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Terser removes the `continue` here and wraps the loop body\n\t\t// in a `if (childVNode) { ... } condition\n\t\tif (childVNode == null) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t// Check if we find a corresponding element in oldChildren.\n\t\t// If found, delete the array item by setting to `undefined`.\n\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t// (holes).\n\t\toldVNode = oldChildren[i];\n\n\t\tif (\n\t\t\toldVNode === null ||\n\t\t\t(oldVNode &&\n\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\tchildVNode.type === oldVNode.type)\n\t\t) {\n\t\t\toldChildren[i] = undefined;\n\t\t} else {\n\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\n\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\n\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t// We always match by type (in either case).\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\tchildVNode.type === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\toldVNode = null;\n\t\t\t}\n\t\t}\n\n\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating\n\t\t);\n\n\t\tnewDom = childVNode._dom;\n\n\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\n\t\t\tif (!refs) refs = [];\n\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\n\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\n\t\t}\n\n\t\tif (newDom != null) {\n\t\t\tif (firstChildDom == null) {\n\t\t\t\tfirstChildDom = newDom;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\t\tchildVNode._children === oldVNode._children\n\t\t\t) {\n\t\t\t\tchildVNode._nextDom = oldDom = reorderChildren(\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldDom,\n\t\t\t\t\tparentDom\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldVNode,\n\t\t\t\t\toldChildren,\n\t\t\t\t\tnewDom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (typeof newParentVNode.type == 'function') {\n\t\t\t\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t\t\t\t// _nextDom property to the nextSibling of its last child DOM node.\n\t\t\t\t//\n\t\t\t\t// `oldDom` contains the correct value here because if the last child\n\t\t\t\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t\t\t\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t\t\t\t// node's nextSibling.\n\t\t\t\tnewParentVNode._nextDom = oldDom;\n\t\t\t}\n\t\t} else if (\n\t\t\toldDom &&\n\t\t\toldVNode._dom == oldDom &&\n\t\t\toldDom.parentNode != parentDom\n\t\t) {\n\t\t\t// The above condition is to handle null placeholders. See test in placeholder.test.js:\n\t\t\t// `efficiently replace null placeholders in parent rerenders`\n\t\t\toldDom = getDomSibling(oldVNode);\n\t\t}\n\t}\n\n\tnewParentVNode._dom = firstChildDom;\n\n\t// Remove remaining oldChildren if there are any.\n\tfor (i = oldChildrenLength; i--; ) {\n\t\tif (oldChildren[i] != null) {\n\t\t\tif (\n\t\t\t\ttypeof newParentVNode.type == 'function' &&\n\t\t\t\toldChildren[i]._dom != null &&\n\t\t\t\toldChildren[i]._dom == newParentVNode._nextDom\n\t\t\t) {\n\t\t\t\t// If the newParentVNode.__nextDom points to a dom node that is about to\n\t\t\t\t// be unmounted, then get the next sibling of that vnode and set\n\t\t\t\t// _nextDom to it\n\t\t\t\tnewParentVNode._nextDom = getLastDom(oldParentVNode).nextSibling;\n\t\t\t}\n\n\t\t\tunmount(oldChildren[i], oldChildren[i]);\n\t\t}\n\t}\n\n\t// Set refs only after unmount\n\tif (refs) {\n\t\tfor (i = 0; i < refs.length; i++) {\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\n\t\t}\n\t}\n}\n\nfunction reorderChildren(childVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\tlet c = childVNode._children;\n\tlet tmp = 0;\n\tfor (; c && tmp < c.length; tmp++) {\n\t\tlet vnode = c[tmp];\n\t\tif (vnode) {\n\t\t\t// We typically enter this code path on sCU bailout, where we copy\n\t\t\t// oldVNode._children to newVNode._children. If that is the case, we need\n\t\t\t// to update the old children's _parent pointer to point to the newVNode\n\t\t\t// (childVNode here).\n\t\t\tvnode._parent = childVNode;\n\n\t\t\tif (typeof vnode.type == 'function') {\n\t\t\t\toldDom = reorderChildren(vnode, oldDom, parentDom);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(parentDom, vnode, vnode, c, vnode._dom, oldDom);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {import('../index').ComponentChildren} children The unflattened\n * children of a virtual node\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (Array.isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\nfunction placeChild(\n\tparentDom,\n\tchildVNode,\n\toldVNode,\n\toldChildren,\n\tnewDom,\n\toldDom\n) {\n\tlet nextDom;\n\tif (childVNode._nextDom !== undefined) {\n\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\n\t\t// of last DOM child of this child VNode\n\t\tnextDom = childVNode._nextDom;\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\n\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\n\t\t// can clean up the property\n\t\tchildVNode._nextDom = undefined;\n\t} else if (\n\t\toldVNode == null ||\n\t\tnewDom != oldDom ||\n\t\tnewDom.parentNode == null\n\t) {\n\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\n\t\t\tparentDom.appendChild(newDom);\n\t\t\tnextDom = null;\n\t\t} else {\n\t\t\t// `j= 0; i--) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child) {\n\t\t\t\tlet lastDom = getLastDom(child);\n\t\t\t\tif (lastDom) {\n\t\t\t\t\treturn lastDom;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\n/**\n * Diff the old and new properties of a VNode and apply changes to the DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to apply\n * changes to\n * @param {object} newProps The new props\n * @param {object} oldProps The old props\n * @param {boolean} isSvg Whether or not this node is an SVG node\n * @param {boolean} hydrate Whether or not we are in hydration mode\n */\nexport function diffProps(dom, newProps, oldProps, isSvg, hydrate) {\n\tlet i;\n\n\tfor (i in oldProps) {\n\t\tif (i !== 'children' && i !== 'key' && !(i in newProps)) {\n\t\t\tsetProperty(dom, i, null, oldProps[i], isSvg);\n\t\t}\n\t}\n\n\tfor (i in newProps) {\n\t\tif (\n\t\t\t(!hydrate || typeof newProps[i] == 'function') &&\n\t\t\ti !== 'children' &&\n\t\t\ti !== 'key' &&\n\t\t\ti !== 'value' &&\n\t\t\ti !== 'checked' &&\n\t\t\toldProps[i] !== newProps[i]\n\t\t) {\n\t\t\tsetProperty(dom, i, newProps[i], oldProps[i], isSvg);\n\t\t}\n\t}\n}\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value == null ? '' : value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture = name !== (name = name.replace(/Capture$/, ''));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (name.toLowerCase() in dom) name = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else if (name !== 'dangerouslySetInnerHTML') {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'width' &&\n\t\t\tname !== 'height' &&\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// aria- and data- attributes have no boolean representation.\n\t\t// A `false` value is different from the attribute not being\n\t\t// present, so we can't remove it. For non-boolean aria\n\t\t// attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost too many bytes. On top of\n\t\t// that other frameworks generally stringify `false`.\n\n\t\tif (typeof value === 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (value != null && (value !== false || name[4] === '-')) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\treturn this._listeners[e.type + false](options.event ? options.event(e) : e);\n}\n\nfunction eventProxyCapture(e) {\n\treturn this._listeners[e.type + true](options.event ? options.event(e) : e);\n}\n","import { EMPTY_OBJ } from '../constants';\nimport { Component, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps, setProperty } from './props';\nimport { assign, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} [isHydrating] Whether or not we are in hydration\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._hydrating != null) {\n\t\tisHydrating = oldVNode._hydrating;\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\t// if we resume, we want the tree to be \"unlocked\"\n\t\tnewVNode._hydrating = null;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType == 'function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-ignore The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\t\t\tc._vnode = newVNode;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!c._force &&\n\t\t\t\t\t\tc.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\tnewVNode._original === oldVNode._original\n\t\t\t\t) {\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) {\n\t\t\t\t\t\t// When we are dealing with a bail because of sCU we have to update\n\t\t\t\t\t\t// the props, state and dirty-state.\n\t\t\t\t\t\t// when we are dealing with strict-equality we don't as the child could still\n\t\t\t\t\t\t// be dirtied see #3883\n\t\t\t\t\t\tc.props = newProps;\n\t\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t\tc._dirty = false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// In cases of bailing due to strict-equality we have to reset force as well\n\t\t\t\t\tc._force = false;\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t\t}\n\t\t\t\t\tc._stateCallbacks = [];\n\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t}\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tArray.isArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._hydrating = null;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\n\t\t\tc._force = false;\n\t\t} else if (\n\t\t\texcessDomChildren == null &&\n\t\t\tnewVNode._original === oldVNode._original\n\t\t) {\n\t\t\tnewVNode._children = oldVNode._children;\n\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t} else {\n\t\t\tnewVNode._dom = diffElementNodes(\n\t\t\t\toldVNode._dom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\n\t} catch (e) {\n\t\tnewVNode._original = null;\n\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\tnewVNode._dom = oldDom;\n\t\t\tnewVNode._hydrating = !!isHydrating;\n\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t// ^ could possibly be simplified to:\n\t\t\t// excessDomChildren.length = 0;\n\t\t}\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').VNode} root\n */\nexport function commitRoot(commitQueue, root) {\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-ignore Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-ignore See above ts-ignore on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = newVNode.type;\n\tlet i = 0;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (; i < excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tchild &&\n\t\t\t\t'setAttribute' in child === !!nodeType &&\n\t\t\t\t(nodeType ? child.localName === nodeType : child.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\t// @ts-ignore createTextNode returns Text, we expect PreactElement\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS(\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType\n\t\t\t);\n\t\t} else {\n\t\t\tdom = document.createElement(\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType,\n\t\t\t\tnewProps.is && newProps\n\t\t\t);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\t// But, if we are in a situation where we are using existing DOM (e.g. replaceNode)\n\t\t\t// we should read the existing DOM attributes to diff them\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\toldProps = {};\n\t\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (\n\t\t\t\t\t!newHtml ||\n\t\t\t\t\t((!oldHtml || newHtml.__html != oldHtml.__html) &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML)\n\t\t\t\t) {\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\ti = newVNode.props.children;\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tArray.isArray(i) ? i : [i],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (\n\t\t\t\t'value' in newProps &&\n\t\t\t\t(i = newProps.value) !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(i !== dom.value ||\n\t\t\t\t\t(nodeType === 'progress' && !i) ||\n\t\t\t\t\t// This is only for IE 11 to fix \n\tif (\n\t\ttype == 'select' &&\n\t\tnormalizedProps.multiple &&\n\t\tArray.isArray(normalizedProps.value)\n\t) {\n\t\t// forEach() always returns undefined, which we abuse here to unset the value prop.\n\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\tchild.props.selected =\n\t\t\t\tnormalizedProps.value.indexOf(child.props.value) != -1;\n\t\t});\n\t}\n\n\t// Adding support for defaultValue in select tag\n\tif (type == 'select' && normalizedProps.defaultValue != null) {\n\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\tif (normalizedProps.multiple) {\n\t\t\t\tchild.props.selected =\n\t\t\t\t\tnormalizedProps.defaultValue.indexOf(child.props.value) != -1;\n\t\t\t} else {\n\t\t\t\tchild.props.selected =\n\t\t\t\t\tnormalizedProps.defaultValue == child.props.value;\n\t\t\t}\n\t\t});\n\t}\n\n\tif (props.class && !props.className) {\n\t\tnormalizedProps.class = props.class;\n\t\tObject.defineProperty(\n\t\t\tnormalizedProps,\n\t\t\t'className',\n\t\t\tclassNameDescriptorNonEnumberable\n\t\t);\n\t} else if (props.className && !props.class) {\n\t\tnormalizedProps.class = normalizedProps.className = props.className;\n\t} else if (props.class && props.className) {\n\t\tnormalizedProps.class = normalizedProps.className = props.className;\n\t}\n\n\tvnode.props = normalizedProps;\n}\n\nlet oldVNodeHook = options.vnode;\noptions.vnode = vnode => {\n\t// only normalize props on Element nodes\n\tif (typeof vnode.type === 'string') {\n\t\thandleDomVNode(vnode);\n\t}\n\n\tvnode.$$typeof = REACT_ELEMENT_TYPE;\n\n\tif (oldVNodeHook) oldVNodeHook(vnode);\n};\n\n// Only needed for react-relay\nlet currentComponent;\nconst oldBeforeRender = options._render;\noptions._render = function (vnode) {\n\tif (oldBeforeRender) {\n\t\toldBeforeRender(vnode);\n\t}\n\tcurrentComponent = vnode._component;\n};\n\nconst oldDiffed = options.diffed;\n/** @type {(vnode: import('./internal').VNode)} */\noptions.diffed = function (vnode) {\n\tif (oldDiffed) {\n\t\toldDiffed(vnode);\n\t}\n\n\tconst props = vnode.props;\n\tconst dom = vnode._dom;\n\tif (\n\t\tdom != null &&\n\t\tvnode.type === 'textarea' &&\n\t\t'value' in props &&\n\t\tprops.value !== dom.value\n\t) {\n\t\tdom.value = props.value == null ? '' : props.value;\n\t}\n\n\tcurrentComponent = null;\n};\n\n// This is a very very private internal function for React it\n// is used to sort-of do runtime dependency injection. So far\n// only `react-relay` makes use of it. It uses it to read the\n// context value.\nexport const __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {\n\tReactCurrentDispatcher: {\n\t\tcurrent: {\n\t\t\treadContext(context) {\n\t\t\t\treturn currentComponent._globalContext[context._id].props.value;\n\t\t\t}\n\t\t}\n\t}\n};\n","import {\n\tcreateElement,\n\trender as preactRender,\n\tcloneElement as preactCloneElement,\n\tcreateRef,\n\tComponent,\n\tcreateContext,\n\tFragment\n} from 'preact';\nimport {\n\tuseState,\n\tuseId,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue\n} from 'preact/hooks';\nimport { PureComponent } from './PureComponent';\nimport { memo } from './memo';\nimport { forwardRef } from './forwardRef';\nimport { Children } from './Children';\nimport { Suspense, lazy } from './suspense';\nimport { SuspenseList } from './suspense-list';\nimport { createPortal } from './portals';\nimport { is } from './util';\nimport {\n\thydrate,\n\trender,\n\tREACT_ELEMENT_TYPE,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n} from './render';\n\nconst version = '17.0.2'; // trick libraries to think we are react\n\n/**\n * Legacy version of createElement.\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component constructor\n */\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n/**\n * Check if the passed element is a valid (p)react node.\n * @param {*} element The element to check\n * @returns {boolean}\n */\nfunction isValidElement(element) {\n\treturn !!element && element.$$typeof === REACT_ELEMENT_TYPE;\n}\n\n/**\n * Wrap `cloneElement` to abort if the passed element is not a valid element and apply\n * all vnode normalizations.\n * @param {import('./internal').VNode} element The vnode to clone\n * @param {object} props Props to add when cloning\n * @param {Array} rest Optional component children\n */\nfunction cloneElement(element) {\n\tif (!isValidElement(element)) return element;\n\treturn preactCloneElement.apply(null, arguments);\n}\n\n/**\n * Remove a component tree from the DOM, including state and event handlers.\n * @param {import('./internal').PreactElement} container\n * @returns {boolean}\n */\nfunction unmountComponentAtNode(container) {\n\tif (container._children) {\n\t\tpreactRender(null, container);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * Get the matching DOM node for a component\n * @param {import('./internal').Component} component\n * @returns {import('./internal').PreactElement | null}\n */\nfunction findDOMNode(component) {\n\treturn (\n\t\t(component &&\n\t\t\t(component.base || (component.nodeType === 1 && component))) ||\n\t\tnull\n\t);\n}\n\n/**\n * Deprecated way to control batched rendering inside the reconciler, but we\n * already schedule in batches inside our rendering code\n * @template Arg\n * @param {(arg: Arg) => void} callback function that triggers the updated\n * @param {Arg} [arg] Optional argument that can be passed to the callback\n */\n// eslint-disable-next-line camelcase\nconst unstable_batchedUpdates = (callback, arg) => callback(arg);\n\n/**\n * In React, `flushSync` flushes the entire tree and forces a rerender. It's\n * implmented here as a no-op.\n * @template Arg\n * @template Result\n * @param {(arg: Arg) => Result} callback function that runs before the flush\n * @param {Arg} [arg] Optional argument that can be passed to the callback\n * @returns\n */\nconst flushSync = (callback, arg) => callback(arg);\n\n/**\n * Strict Mode is not implemented in Preact, so we provide a stand-in for it\n * that just renders its children without imposing any restrictions.\n */\nconst StrictMode = Fragment;\n\nexport function startTransition(cb) {\n\tcb();\n}\n\nexport function useDeferredValue(val) {\n\treturn val;\n}\n\nexport function useTransition() {\n\treturn [false, startTransition];\n}\n\n// TODO: in theory this should be done after a VNode is diffed as we want to insert\n// styles/... before it attaches\nexport const useInsertionEffect = useLayoutEffect;\n\n/**\n * This is taken from https://github.com/facebook/react/blob/main/packages/use-sync-external-store/src/useSyncExternalStoreShimClient.js#L84\n * on a high level this cuts out the warnings, ... and attempts a smaller implementation\n */\nexport function useSyncExternalStore(subscribe, getSnapshot) {\n\tconst value = getSnapshot();\n\n\tconst [{ _instance }, forceUpdate] = useState({\n\t\t_instance: { _value: value, _getSnapshot: getSnapshot }\n\t});\n\n\tuseLayoutEffect(() => {\n\t\t_instance._value = value;\n\t\t_instance._getSnapshot = getSnapshot;\n\n\t\tif (!is(_instance._value, getSnapshot())) {\n\t\t\tforceUpdate({ _instance });\n\t\t}\n\t}, [subscribe, value, getSnapshot]);\n\n\tuseEffect(() => {\n\t\tif (!is(_instance._value, _instance._getSnapshot())) {\n\t\t\tforceUpdate({ _instance });\n\t\t}\n\n\t\treturn subscribe(() => {\n\t\t\tif (!is(_instance._value, _instance._getSnapshot())) {\n\t\t\t\tforceUpdate({ _instance });\n\t\t\t}\n\t\t});\n\t}, [subscribe]);\n\n\treturn value;\n}\n\nexport * from 'preact/hooks';\nexport {\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\tflushSync,\n\t// eslint-disable-next-line camelcase\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n};\n\n// React copies the named exports to the default one.\nexport default {\n\tuseState,\n\tuseId,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseInsertionEffect,\n\tuseTransition,\n\tuseDeferredValue,\n\tuseSyncExternalStore,\n\tstartTransition,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue,\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\tflushSync,\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n};\n","import { toChildArray } from 'preact';\n\nconst mapFn = (children, fn) => {\n\tif (children == null) return null;\n\treturn toChildArray(toChildArray(children).map(fn));\n};\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nexport const Children = {\n\tmap: mapFn,\n\tforEach: mapFn,\n\tcount(children) {\n\t\treturn children ? toChildArray(children).length : 0;\n\t},\n\tonly(children) {\n\t\tconst normalized = toChildArray(children);\n\t\tif (normalized.length !== 1) throw 'Children.only';\n\t\treturn normalized[0];\n\t},\n\ttoArray: toChildArray\n};\n","import { createContext } from 'preact';\n\nconst StorageContext: any = createContext({\n auth: null,\n memberID: null,\n branding: null,\n headerFooter: null,\n memberData: null,\n theme: null,\n queryParams: null,\n domainOwnerID: null,\n XTheme: null\n});\n\nexport default StorageContext;\n","export const BASE_API_URL = process.env.REACT_APP_API || 'http://localhost:1081/api/widgets';\nexport const WIDGET_SCRIPT_ID = 'widgetScript';\nexport const TG_WIDGET_ACCESS_TOKEN = 'tg_widget_access_token';\nexport const TG_WIDGET_JWT = 'tg_widget_jwt';\nexport const TG_WIDGET_MEMBER_ID = 'tg_widget_member_id';\nexport const TG_WIDGET_THEME = 'tg_widget_theme';\nexport const TG_WIDGET_MEMBER_DATA = 'tg_widget_member';\nexport const TG_WIDGET_REVIEW_SCHEMES = 'tg_widget_review_schemes';\nexport const TG_WIDGET_BRANDING = 'tg_widget_branding';\nexport const TG_WIDGET_HEADER_FOOTER = 'tg_widget_header_footer';\nexport const TG_WIDGET_WEBSITE_USER_ID = 'tg_widget_website_user_id';\nexport const TG_WIDGET_DOMAIN_OWNER_ID = 'tg_widget_domain_owner_id';\nexport const TG_WIDGET_X_THEME = 'tg_widget_x_theme';\n\nexport const DEFAULT_SITE_NAME = 'apfm';","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import React from 'preact';\n\ninterface IProps {\n handleClose: any;\n}\n\nconst TopTips = ({ handleClose }: IProps) => {\n return (\n
\n
\n
\n
\n
Top Tips for writing a review
\n \n
\n
\n
\n
Do's
\n
    \n
  • Do make sure the review is current and relevant
  • \n
  • Do write about your own first-hand personal experiences
  • \n
  • Do provide useful and honest feedback
  • \n
  • Do make sure your review is a minimum of 200 characters and a maximum of 1,000 characters
  • \n
  • Do proofread your review to check your review makes sense
  • \n
\n
\n
\n
Don'ts
\n
    \n
  • Don't do a review on behalf of someone else but if required, the caregiver can provide assistance
  • \n
  • Don't copy another review
  • \n
  • Don't use the names of any individual or identifying features
  • \n
  • Don't include abusive remarks or allegations of negligence or criminal activity
  • \n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default TopTips;\n","import React, { Component } from 'preact';\nimport StorageContext from '../store/storage_context';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport Header from './layout/header';\nimport PageText from '../components/partials/page_text';\nimport FullStars from '../components/partials/full_stars';\nimport ReactDropdown from 'react-dropdown';\nimport { getSiteName } from '../utils/branding';\nimport { validateCreateReviewForm } from '../utils/validation';\nimport { createReview } from '../api/review';\nimport { getPageMeta, getPortletGroups } from '../api/branding';\nimport TopTips from '../components/partials/top_tips';\nimport { TG_WIDGET_REVIEW_SCHEMES } from '../config/keys';\n\ninterface ICreateReviewProps {\n avar?: number;\n}\n\ninterface ICreateReviewState {\n payload: any;\n reviewScheme: any;\n success: boolean;\n recaptcha: string;\n recaptchaError: boolean;\n errors: any;\n submitting: boolean;\n typeValues: any;\n portletGroups: any;\n pageMeta: any;\n naRatingValue: any;\n loading: boolean;\n widgetThemeVariables: any;\n displayNameManuallySet: boolean;\n reviewSchemes: any;\n theme: any;\n serverSideErrors: any;\n showTopTips: boolean;\n showRecaptcha: boolean;\n}\n\nclass CreateReview extends Component {\n\n private regExIsFieldNameInErrorMessage = new RegExp(/\"([^\"]+)\"/);\n\n constructor (props: ICreateReviewProps) {\n super(props);\n\n this.state = {\n payload: this.initialPayload,\n reviewScheme: null,\n success: false,\n recaptcha: '',\n recaptchaError: false,\n errors: [],\n submitting: false,\n typeValues: {},\n portletGroups: getPortletGroups(),\n pageMeta: getPageMeta(),\n naRatingValue: null,\n loading: true,\n widgetThemeVariables: {},\n displayNameManuallySet: false,\n reviewSchemes: [],\n theme: {},\n serverSideErrors: [],\n showTopTips: false,\n showRecaptcha: false\n };\n }\n\n get initialPayload() {\n const payload: any = {\n ReviewRating: [],\n MemberID: 0,\n MemberCategoryID: null,\n ReviewSchemeID: 0,\n ReviewTitle: '',\n ReviewerFirstName: '',\n ReviewerLastName: '',\n ReviewerEmailAddress: '',\n ReviewerTelephoneNumber: '',\n ReviewerDisplayName: '',\n ReviewerConnectionID: null,\n ReviewContent: '',\n ExperienceTypeID: null,\n Cost: '',\n Theme: 'apfm',\n InviteToken: null,\n WebsiteUserID: null,\n CID: null,\n CT: null\n };\n\n return payload;\n }\n\n getPageText = (text: string) => {\n if (!text) {\n return '';\n }\n\n const { widgetThemeVariables } = this.state;\n let textValue = text;\n\n if (widgetThemeVariables && Object.keys(widgetThemeVariables).length) {\n Object.keys(widgetThemeVariables).forEach((key: any) => {\n if (text.includes(key)) {\n const variableValue = widgetThemeVariables[key];\n const keyChunks = key.replace(/[^a-zA-Z0-9]/g,'_').split('_').filter((chunk: any) => chunk);\n const lastChunk = keyChunks[keyChunks.length -1]; \n\n if (lastChunk === 'link') {\n textValue = textValue.replace(key, ``);\n } else if (lastChunk === 'end') {\n textValue = textValue.replace(key, '');\n } else {\n textValue = textValue.replace(key, variableValue);\n }\n } \n });\n }\n\n return textValue;\n };\n\n getThemeVariableKeyName = (str: string) => {\n const keyName = str.split(/(?=[A-Z])/).join('_').toLowerCase();\n const keyChunks = keyName.split('_');\n const lastKeyChunk = keyChunks[keyChunks.length -1];\n\n if (lastKeyChunk === 'link') {\n return [\n `\\${${keyName}}`,\n `\\${${keyName}_end}`\n ];\n }\n\n return `\\${${keyName}}`;\n };\n\n getThemeVariables = () => {\n\n const { theme } = this.context;\n\n if (!theme) {\n return;\n }\n\n try {\n const { Meta } = theme;\n const widgetThemeVariables: any = {};\n const widgetThemeVariablesKeys = Object.keys(Meta).filter((key: any) => key.substr(0, 6) === 'Widget');\n\n widgetThemeVariablesKeys.forEach((key: string) => {\n const widgetKeyNames = this.getThemeVariableKeyName(key);\n\n if (Array.isArray(widgetKeyNames)) {\n widgetKeyNames.forEach((keyName: string) => {\n widgetThemeVariables[keyName] = Meta[key];\n });\n } else {\n widgetThemeVariables[widgetKeyNames] = Meta[key];\n }\n });\n\n this.setState({\n theme,\n widgetThemeVariables\n });\n } catch (e) {\n console.error(e);\n }\n };\n\n updateCaptcha = (value: string) => {\n this.setState({\n recaptcha: value,\n recaptchaError: false\n });\n };\n\n setRating = (typeID: number, valueID: number) => {\n const {\n reviewScheme: {\n RatingTypes,\n RatingValues\n }\n } = this.state;\n\n const RatingTypeItem: any = RatingTypes.find((item: any) => item.RatingTypeID === typeID);\n const RatingValueItem: any = RatingValues.find((item: any) => item.RatingValueID === valueID);\n\n const RatingTypeKeyName: string = RatingTypeItem ? RatingTypeItem.KeyName : null;\n const RatingValue: number = RatingValueItem ? RatingValueItem.Value : null;\n\n const rating: any = {\n RatingTypeID: typeID,\n RatingValueID: valueID,\n RatingTypeKeyName,\n RatingValue\n };\n\n const currentRatingIndex = this.state.payload.ReviewRating.findIndex((rating: any) => rating.RatingTypeID === typeID);\n\n if (currentRatingIndex === -1) {\n this.updatePayload('ReviewRating', [\n ...this.state.payload.ReviewRating,\n rating\n ]);\n return;\n }\n\n const currentRatings = this.state.payload.ReviewRating;\n currentRatings[currentRatingIndex] = rating;\n\n this.updatePayload('ReviewRating', currentRatings);\n };\n\n updatePayload = (key: string, value: any) => {\n\n if (key === 'ReviewerEmailAddress' && value?.length) {\n this.setState({showRecaptcha: true});\n }\n this.setState({\n payload: {\n ...this.state.payload,\n [key]: value\n }\n }, () => {\n if (key === 'ReviewRating') {\n if (value[value.length - 1].RatingTypeID === 6) {\n this.clearError('ReviewRatingOverall');\n } else {\n this.clearError(key);\n }\n return;\n }\n\n this.clearError(key);\n });\n };\n\n clearError = async (key: string) => {\n const { errors } = this.state;\n const validateErrors: any = await validateCreateReviewForm(this.state.payload);\n\n const isNotValid = validateErrors.find((error: any) => {\n return error.key === key;\n }) ? true : false;\n\n if (isNotValid) {\n return;\n }\n\n const element = document.getElementById(key);\n\n if (element) {\n element.classList.remove('is-invalid');\n }\n\n this.setState({\n errors: errors.filter((error: any) => error.key !== key)\n });\n };\n\n validate = async (): Promise => {\n const errors = await validateCreateReviewForm(this.state.payload);\n\n if (errors.length === 0) {\n return true;\n }\n\n this.setState({\n errors\n }, () => this.processErrors());\n\n return false;\n };\n\n getReviewSchemes = async () => {\n\n const { memberData, domainOwnerID } = this.context;\n const memberCategories = memberData ? memberData.Categories : [];\n\n try {\n let reviewSchemes = JSON.parse(localStorage.getItem(TG_WIDGET_REVIEW_SCHEMES));\n\n if (!reviewSchemes || !reviewSchemes.length) {\n this.setState({ reviewSchemes: [] });\n return;\n }\n\n const memberCategoryIDs = memberCategories.map((item: any) => item.CategoryID);\n\n const reviewMemberCategoriesMap = new Map();\n reviewSchemes = reviewSchemes.filter((item: any) => {\n const reviewSchemeCategoryIDs = item.MemberCategory.map((mcItem: any) => mcItem.CategoryID);\n const intersection = reviewSchemeCategoryIDs.filter((rscItem: any) => memberCategoryIDs.includes(rscItem));\n reviewMemberCategoriesMap.set(item.ReviewSchemeID, intersection);\n return !!intersection.length;\n });\n\n if (!reviewSchemes.length) {\n throw new Error('Review Scheme with members not found');\n }\n\n const selReviewSchemeID = reviewSchemes[0].ReviewSchemeID;\n\n const updatedPayload: any = {\n ...this.state.payload,\n MemberID: Number(memberData.MemberID),\n Theme: getSiteName(),\n ReviewSchemeID: selReviewSchemeID \n };\n\n if (domainOwnerID) {\n updatedPayload.DomainOwnerID = Number(domainOwnerID);\n }\n\n this.setState({ \n reviewScheme: reviewSchemes[0],\n payload: updatedPayload,\n reviewSchemes\n });\n } catch (e) {\n console.error(e);\n }\n };\n\n renderReviewSchemeForReview = () => {\n const { reviewSchemes } = this.state;\n\n if (reviewSchemes.length < 2) {\n return '';\n }\n\n return (\n
\n
\n
\n
\n

Please choose the relevant 'Review Scheme' for this review

\n
\n {\n reviewSchemes.map((scheme: any) => {\n return (\n \n );\n })\n }\n
\n
\n
\n
\n
\n );\n };\n\n setReviewScheme = (scheme: any) => {\n this.setState({\n reviewScheme: scheme,\n payload: {\n ...this.state.payload,\n ReviewSchemeID: scheme.ReviewSchemeID\n },\n }, () => this.loadData());\n };\n\n processErrors = () => {\n this.state.errors.forEach((error: any) => {\n const el = document.getElementById(error.key);\n\n if (el) {\n el.classList.add('is-invalid');\n }\n });\n };\n\n processServerSideErrors = () => {\n const errors: any = [];\n\n for (const error of this.state.serverSideErrors) {\n // Least-Surprise fail? Server side validation errors can return the Joi validation error message which will contain the DB column name\n // in question in double quotes. This is then extracted and used to create a link in the displayed message to the DOM element\n // in question on the assumption that the DB field name has a DOM element with the same id.\n\n // Check if any string appears in double quotes\n const isAnElementIdInTheMessage = this.regExIsFieldNameInErrorMessage.test(error);\n if (!isAnElementIdInTheMessage) {\n errors.push({\n // Don't push an element id to the errors list (to stop the error text featuring as a link)\n message: error\n });\n break;\n }\n\n const errorElementID = error.match(this.regExIsFieldNameInErrorMessage)[1];\n errors.push({\n elementID: errorElementID,\n // Add spaces between the words of the pascal-cased DB field name (which is expected to also be a DOM element id)\n message: error.replace(`\"${errorElementID}\"`, errorElementID.replace(/([A-Z])/g, ' $1').trim())\n });\n }\n\n this.setState({\n errors\n });\n };\n\n renderErrors = () => {\n const { errors } = this.state;\n\n if (!errors.length) {\n return '';\n }\n\n return (\n
\n
    \n {\n errors.map((error: any, key: number) => {\n return (\n
  • \n {\n error.elementID === undefined ?\n \n {error.message}\n \n :\n this.scrollToError(error.elementID)}>\n {error.message}\n \n }\n
  • \n );\n })\n }\n
\n
\n );\n };\n\n getUrlParam(key: string) {\n const url = window.location.href;\n const urlChunks = url.split('/');\n\n if (!urlChunks.includes(key)) return null;\n\n const segmentIndex = urlChunks.findIndex((part: string) => part === key);\n\n return urlChunks[(segmentIndex + 1)].split('?')[0];\n }\n\n createReview = async (e: any) => {\n e.preventDefault();\n\n if (this.state.submitting || !await this.validate()) {\n return;\n }\n\n this.setState({ submitting: true });\n\n if (!this.state.recaptcha) {\n this.setState({\n recaptchaError: true,\n submitting: false\n });\n return;\n }\n\n try {\n const payload = { ...this.state.payload };\n\n const {\n queryParams: {\n rs\n }\n } = this.context;\n\n if (rs) {\n payload.ReferrerSource = rs;\n }\n\n const sourceID = this.getUrlParam('sourceid');\n const campaignID = this.getUrlParam('campaignid');\n\n if (sourceID && !isNaN(Number(sourceID))) {\n payload.CollectionSourceID = Number(sourceID.replace(/[^a-zA-Z0-9 ]/g, ''));\n }\n\n if (campaignID && !isNaN(Number(campaignID))) {\n payload.CampaignID = Number(campaignID.replace(/[^a-zA-Z0-9 ]/g, ''));\n }\n\n await createReview(payload);\n\n this.setState({\n success: true\n });\n } catch (e) {\n const err: any = e;\n console.error(err);\n this.setState({\n serverSideErrors: err?.data.errors\n }, () => this.processServerSideErrors());\n } finally {\n this.setState({\n submitting: false\n });\n }\n };\n\n scrollToError = (elementID: string) => {\n const element = document.getElementById(elementID);\n\n if (!element) {\n return;\n }\n\n element.focus();\n };\n\n renderTitle = () => {\n const { memberData } = this.context;\n\n if (!memberData) {\n return

Write a review

;\n }\n\n const { Name } = memberData;\n\n return (\n
\n

Write a review for { Name }

\n

\n \n

\n
\n );\n };\n \n renderAddress = () => {\n const { memberData } = this.context;\n\n const {\n Address1,\n Address2,\n PostalCode,\n RegionCode\n } = memberData;\n\n return

{ Address1 }, { Address2 ? `${Address2}, ` : '' } { RegionCode || '' } { PostalCode || '' }

;\n };\n\n reviewContentCount = () => {\n const reviewContentEl: any = document.getElementById('ReviewContent');\n\n if (!reviewContentEl) {\n return;\n }\n\n return reviewContentEl.value.length;\n };\n\n registerStarSymbol = () => {\n return (\n
\n \n \n Star Rating\n \n \n \n
\n );\n };\n\n checkActiveTypeValue = (typeID: number, value: any) => {\n const { typeValues } = this.state;\n\n if (value === null) {\n return typeValues[typeID] === value;\n }\n\n if (!typeValues[typeID]) {\n return false;\n }\n\n return typeValues[typeID] >= value;\n };\n\n setTypeValueAndRating = (typeID: number, value: any, valueID: number) => {\n const { typeValues } = this.state;\n\n if (typeValues[typeID] && typeValues[typeID] === value) {\n this.removeRating(typeID);\n return;\n }\n\n this.setState({\n typeValues: {\n ...this.state.typeValues,\n [typeID]: value\n }\n }, () => this.setRating(typeID, valueID));\n };\n\n removeRating = (typeID: number) => {\n const reviewRating = this.state.payload.ReviewRating;\n const index = reviewRating.findIndex((rr: any) => rr.RatingTypeID === typeID);\n\n const typeValues = this.state.typeValues;\n delete typeValues[typeID];\n\n reviewRating.splice(index, 1);\n\n this.setState({\n payload: {\n ...this.state.payload,\n ReviewRating: reviewRating\n }\n });\n };\n\n renderPortletGroups = () => {\n return this.state.portletGroups.map((portlet: string, key: number) => {\n if (typeof(this[portlet as keyof CreateReview]) === 'function') {\n return this[portlet as keyof CreateReview](key);\n } else {\n return false;\n }\n });\n };\n\n setNARatingID = async () => {\n const { reviewScheme } = this.state;\n\n if (!reviewScheme) {\n return;\n }\n\n const naRatingValue = reviewScheme.RatingValues.find((value: any) => !value.Value);\n\n this.setState({\n naRatingValue\n });\n };\n\n setInitialOverallRating = (initRating: number) => {\n const OVERALL_RATING_TYPE_ID = 6;\n const { RatingTypes, RatingValues } = this.state.reviewScheme;\n \n if (!RatingTypes) {\n console.error('Failed to get RatingTypes');\n }\n\n if (!RatingValues) {\n console.error('Failed to get RatingValues');\n }\n\n const ratingValue = RatingValues.find((ratingValue: any) => ratingValue.Value === initRating);\n\n if (ratingValue) {\n this.setTypeValueAndRating(OVERALL_RATING_TYPE_ID, ratingValue.Value, ratingValue.RatingValueID);\n }\n };\n\n async componentDidMount () {\n await this.getReviewSchemes();\n await this.loadData();\n\n const { queryParams, auth } = this.context;\n if (queryParams.inviteToken) {\n this.updatePayload('InviteToken', queryParams.inviteToken);\n } \n\n if (queryParams.overallRatingValue) {\n this.setInitialOverallRating(queryParams.overallRatingValue);\n } \n \n if (auth.websiteUserID) {\n this.updatePayload('WebsiteUserID', auth.websiteUserID);\n }\n\n if (queryParams.firstName) {\n this.updatePayload('ReviewerFirstName', queryParams.firstName);\n } \n\n if (queryParams.lastName) {\n this.updatePayload('ReviewerLastName', queryParams.lastName);\n } \n\n if ((queryParams.firstName || {}).length && (queryParams.lastName || {}).length) {\n\n const displayName = `${queryParams.firstName} ${queryParams.lastName.charAt(0)}`;\n this.updatePayload('ReviewerDisplayName' ,displayName);\n }\n\n if (queryParams.emailAddress) {\n this.updatePayload('ReviewerEmailAddress', queryParams.emailAddress);\n }\n\n if (queryParams.cid) {\n this.updatePayload('CID', queryParams.cid);\n }\n\n if (queryParams.ct) {\n this.updatePayload('CT', queryParams.ct);\n }\n\n this.setState({\n loading: false\n });\n }\n\n loadData = async () => {\n try {\n this.setState({ loading: true });\n this.getThemeVariables();\n this.setNARatingID();\n this.setState({ loading: false });\n } catch (e) {\n console.error(e);\n }\n };\n\n handleRatingErrors = (typeID: number, key?: string) => {\n const { errors, typeValues } = this.state;\n const ratingError = errors.find((error: any) => error.key === key || 'ReviewRating');\n\n if (!ratingError) {\n return null;\n }\n\n if (typeValues[typeID]) {\n return null;\n }\n\n return {\n error: ratingError\n };\n };\n\n // Render function start\n\n renderContactDetails = (key: number) => {\n return (\n
\n
\n
\n \n
\n
\n
\n );\n };\n\n renderFirstName = (key: number) => {\n\n const { payload } = this.state;\n\n return (\n
\n
\n
\n \n this.updatePayload('ReviewerFirstName', (e.target as any).value)}\n onBlur={(e :any) => this.setDisplayName ? this.setDisplayName(e.target) : null }\n placeholder=\"John\"\n />\n
\n
\n
\n );\n };\n\n renderLastName = (key: number) => {\n\n const { payload } = this.state;\n\n return (\n
\n
\n
\n \n this.updatePayload('ReviewerLastName', (e.target as any).value)}\n onBlur={(e :any) => this.setDisplayName ? this.setDisplayName(e.target) : null }\n placeholder=\"Smith\"\n />\n
\n
\n
\n );\n };\n\n renderEmailAddress = (key: number) => {\n\n const { payload } = this.state;\n\n return (\n
\n
\n
\n \n this.updatePayload('ReviewerEmailAddress', (e.target as any).value)}\n placeholder=\"john.smith@gmail.com\"\n />\n
\n
\n
\n );\n };\n\n renderTelephone = (key: number) => {\n return (\n
\n
\n
\n \n this.updatePayload('ReviewerTelephoneNumber', (e.target as any).value)}\n placeholder=\"(917) 251-3398\"\n />\n
\n
\n
\n );\n };\n\n renderExperienceTypes = (key: number) => {\n const experienceTypes = this.state.reviewScheme.ExperienceTypes;\n const options = experienceTypes.map((et: any) => {\n return {\n value: et.ExperienceTypeID,\n label: et.Name\n };\n });\n\n return (\n
\n
\n
\n
\n \n

\n \n

\n { \n this.updatePayload('ExperienceTypeID', (selectedOption as any).value);\n }}\n options={options}\n className=\"ui-select\"\n />\n
\n
\n
\n { this.renderConnection() }\n
\n );\n };\n\n renderConnection = () => {\n const experienceTypeID = this.state.payload.ExperienceTypeID;\n const reviewerConnections = this.state.reviewScheme.ReviewerConnections;\n\n if (!experienceTypeID) {\n return '';\n }\n\n if (Number(experienceTypeID) !== 4) {\n return '';\n }\n\n const options = reviewerConnections.map((rc: any) => {\n return {\n value: rc.ReviewerConnectionID,\n label: rc.Name\n };\n });\n\n return (\n
\n
\n
\n \n {\n this.updatePayload('ReviewerConnectionID', (selectedOption as any).value);\n }}\n options={options}\n className=\"ui-select\"\n />\n
\n
\n
\n );\n };\n\n renderMemberCategories = (key: number) => {\n const { memberData } = this.context;\n\n const { reviewScheme } = this.state;\n const memberCategoryIDs = memberData.Categories.map((item: any) => item.CategoryID);\n let displayedMemberCategories = [];\n\n const reviewSchemeCategories = (reviewScheme || {}).MemberCategory || [];\n\n displayedMemberCategories = reviewSchemeCategories.filter((rscItem: any) => memberCategoryIDs.includes(rscItem.CategoryID));\n\n if (displayedMemberCategories.length === 0) {\n return null;\n }\n\n if (displayedMemberCategories.length === 1) {\n this.state.payload.MemberCategoryID = displayedMemberCategories[0].CategoryID;\n return null;\n }\n\n const error = this.state.errors.find((error: any) => error.key === 'MemberCategoryID');\n\n return (\n
\n \n

\n \n

\n
\n {\n displayedMemberCategories.map((cat: any) => {\n return (\n \n );\n })\n }\n
\n
\n );\n };\n\n renderYourReviewAndRating = (key: number) => {\n const { WidgetReviewAndRatingDescription } = this.state.pageMeta;\n\n if (!WidgetReviewAndRatingDescription) {\n return '';\n }\n\n return (\n
\n
\n
\n \n
\n
\n
\n );\n };\n\n renderDisplayName = (key: number) => {\n return (\n
\n
\n
\n \n

\n \n

\n {\n this.updatePayload('ReviewerDisplayName', (e.target as any).value);\n if (this.setDisplayNameManuallySet) {\n console.log('setDisplayNameManuallySet');\n this.setDisplayNameManuallySet();\n }\n }}\n id=\"ReviewerDisplayName\"\n value={this.state.payload.ReviewerDisplayName || ''}\n \n />\n
\n
\n
\n );\n };\n\n renderReviewTitle = (key: number) => {\n return (\n
\n
\n
\n \n

\n \n

\n this.updatePayload('ReviewTitle', (e.target as any).value)}\n id=\"ReviewTitle\"\n placeholder=\"Summarize your experience\"\n />\n
\n
\n
\n );\n };\n\n renderReviewContent = (key: number) => {\n return (\n
\n
\n
\n
\n
\n \n
\n
\n this.setState({ showTopTips: true })}\n >\n Top Tips for Writing a Review\n \n
\n
\n

A minimum of 200 characters and max of 1,000 characters required.

\n {\n if ((e.target as any).value && (e.target as any).value.length > 1000) return;\n\n this.updatePayload('ReviewContent', (e.target as any).value);\n }}\n placeholder=\"Tell others about your experience\"\n \n >\n
\n
\n

\n Currently { this.reviewContentCount() ? this.reviewContentCount() : 0 } characters\n

\n \n
\n
\n
\n );\n };\n\n renderCost = (key: number) => {\n return (\n
\n
\n
\n \n

Based on the level of care required by you or your loved one. Will not be displayed with your review.

\n
\n
\n
\n
\n
\n $\n
\n this.updatePayload('Cost', (e.target as any).value)}\n id=\"Cost\"\n />\n
\n .00\n
\n
\n
\n
\n );\n };\n\n renderRatings = (ratingTypes: any, showLabels: boolean, isOverall?: boolean) => {\n const {\n naRatingValue,\n reviewScheme,\n } = this.state;\n\n return ;\n };\n\n renderOverallRating = (key: number) => {\n const { RatingTypes } = this.state.reviewScheme;\n const ratingTypes = RatingTypes.filter((type: any) => type.KeyName === 'overall');\n const overallRating = this.state.payload.ReviewRating.find((rating: any) => rating.RatingTypeID === 6);\n const ratingError = this.handleRatingErrors(overallRating ? overallRating.RatingTypeID : null);\n\n return (\n
\n
\n
\n \n How would you rate your overall experience with this community?\n {\n ratingError\n ?\n \"\"/\n : ''\n }\n \n
\n
\n
\n
\n \n
\n Overall Experience\n { this.renderRatings(ratingTypes, false, true) }\n
\n
\n
\n
\n );\n };\n\n renderOtherRatings = (key: number) => {\n const { RatingTypes } = this.state.reviewScheme;\n const ratingTypes = RatingTypes.filter((type: any) => type.KeyName !== 'overall');\n\n return (\n
\n
\n
\n \n

\n \n

\n { this.renderRatings(ratingTypes, true) }\n
\n
\n
\n );\n };\n\n renderTermsAndCondition = (key: number) => {\n const error = this.state.errors.find((error: any) => error.key === 'Terms');\n return (\n
\n
\n
\n
\n this.clearError('Terms')}\n />\n \n  \n \n Terms of Use\n \n
\n
\n
\n
\n );\n };\n\n renderRecaptcha = (key: number) => {\n\n if (!this.state.showRecaptcha) {\n return null;\n }\n\n return (\n
\n
\n
\n \n { this.state.recaptchaError ?\n

Please complete the reCAPTCHA

\n : '' \n }\n
\n
\n
\n );\n };\n\n setDisplayNameManuallySet = () =>{\n this.setState({\n displayNameManuallySet : true\n });\n };\n\n setDisplayName = (target : any) =>{\n if(!this.state.displayNameManuallySet){\n if(target.id === 'ReviewerFirstName'){\n let lastNameInitial = this.state.payload.ReviewerDisplayName ? this.state.payload.ReviewerDisplayName.split(' ')[1] ? this.state.payload.ReviewerDisplayName.split(' ')[1].substr(1) : '' : '';\n\n if (!lastNameInitial.length) {\n lastNameInitial = this.state.payload.ReviewerDisplayName ? this.state.payload.ReviewerDisplayName.trim().length === 1 ? this.state.payload.ReviewerDisplayName.trim() : '' : '';\n }\n\n this.updatePayload('ReviewerDisplayName', `${target.value} ${lastNameInitial}`);\n }\n\n if (target.id === 'ReviewerLastName') {\n const firstName = this.state.payload.ReviewerDisplayName.split(' ')[0];\n this.updatePayload('ReviewerDisplayName', `${firstName} ${target.value.substr(0,1)}`);\n }\n }\n };\n\n // Render functions end\n\n renderLogo = () => {\n\n const { branding } = this.context;\n\n if (!branding) {\n return '';\n }\n\n const { Logo, SiteName } = branding;\n\n return {`${SiteName}-logo`};\n };\n\n renderSuccess = () => {\n const { memberData, branding } = this.context;\n\n const {\n ProfileURL,\n Name\n } = memberData;\n\n const { Website } = branding;\n const profileURL = getSiteName() === 'sa' ? Website : ProfileURL;\n const btnText = getSiteName() === 'sa' ? 'Return to Home Page' : `Return to ${Name}`;\n\n return (\n
\n
\n
\n { this.renderLogo() }\n

\n \n

\n {\n profileURL\n ?\n \n { btnText }\n \n :\n ''\n }\n
\n
\n
\n );\n };\n\n render() {\n const {\n loading,\n success,\n submitting,\n showTopTips\n } = this.state;\n\n if (loading) {\n return '';\n }\n\n const { memberData } = this.context;\n\n if (!memberData) {\n return '';\n }\n\n if (success) {\n return this.renderSuccess();\n }\n\n if (loading) {\n return '';\n }\n\n return (\n
\n { this.registerStarSymbol() }\n
\n
\n
\n
\n
\n
\n
\n { this.renderTitle() }\n { this.renderReviewSchemeForReview() }\n { this.renderPortletGroups() }\n
\n
\n
\n
\n { this.renderErrors() }\n {\n submitting\n ?\n
\n :\n \n }\n
\n
\n
\n
\n
\n
\n { showTopTips ? this.setState({ showTopTips: false })} /> : <> }\n
\n );\n }\n}\n\nCreateReview.contextType = StorageContext;\n\nexport default CreateReview;\n"],"sourceRoot":""}