{"version":3,"sources":["components/loadingSpinner/LoadingCircle.js","config.js","components/button/Button.js","components/loadingSpinner/LoadingSpinner.js","components/button/LoaderButton.js","components/heading/Heading.js","components/labeledInput/LabeledInput.js","components/toast/ToastContext.js","components/toast/Toast.js","components/main/Main.js","components/toast/withToastProvider.js","libs/contextLib.js","libs/languageStringsHelper.js","components/runlahConnect/ConnectRunlah.js","components/stravaConnect/ConnectStravaButton.js","libs/errorLib.js","components/kopRunLevel/Achievement.js","components/images/volume.png","components/badge/Badge.js","components/loadingClay/LoadingClay.js","components/kopRunLevel/Level.js","components/kopRunLevel/LevelContainer.js","components/images/Badges-6K.svg","components/images/Badges-19K.svg","components/images/Badges-48K.svg","components/images/Badges-99K.svg","data/challenges/index.js","components/images/Badges-3KAXAPartnership.png","components/images/Badges-5Kachievement.png","components/images/Badges-10Kachievement.png","components/images/Badges-21Kachievement.png","components/images/Badges-42Kachievement.png","components/images/Badges-100Kachievement.png","components/carousel/Carousel.js","components/images/arrow.svg","libs/hooksLib.js","containers/homePageContainer/HomePageClay.js","containers/homePageContainer/HomePageContainer.js","containers/Home.js","containers/NotFound.js","components/accordion/Accordion.js","containers/landingContainer/LandingContainer.js","containers/landingContainer/LandingStrings.js","components/select/Select.js","components/labeledSelect/LabeledSelect.js","components/buttonStrap/ButtonStrap.js","components/stats/Stat.js","components/stats/StatsContainer.js","components/challengeBadge/ChallengeBadge.js","components/challengeBadge/ChallengeContainer.js","containers/myAccountContainer/MyAccountClay.js","components/images/sync.svg","containers/myAccountContainer/MyAccountContainer.js","containers/myAccountContainer/MyAccountStrings.js","components/leaderboard/Leaderboard.js","containers/leaderboardContainer/LeaderboardContainer.js","libs/queryStringLib.js","components/checkbox/Checkbox.js","containers/signupContainer/SignupContainer.js","containers/signupContainer/SignUpStrings.js","containers/loginContainer/LoginContainer.js","containers/loginContainer/LoginStrings.js","components/images/holding1.png","components/images/holding_splash.png","components/images/holding2.png","containers/faqContainer/FAQContainer.js","containers/allChallengesContainer/AllChallengesContainer.js","components/images/play.svg","components/images/playaudio.svg","components/mediaPlayer/MediaPlayer.js","containers/completeRaceContainer/CompleteRaceClay.js","components/images/complete-race.png","containers/completeRaceContainer/CompleteRaceContainer.js","containers/completeRaceContainer/CompleteRaceStrings.js","containers/ManualEntryContainer/ManualEntryContainer.js","containers/privacyPolicy/PrivacyPolicy.js","containers/termsOfUse/TermsOfUse.js","components/images/AccountIcon.svg","components/header/HeaderNavButton.js","components/header/HeaderNavFold.js","components/images/logo-koprun.svg","components/images/Flag_of_the_United_Kingdom.svg","components/images/Flag_of_Thailand.svg","components/languageSelectCircle/LanguageSelectCircle.js","components/images/Social-Facebook.svg","components/images/Social-Instagram.svg","components/images/Social-Twitter.svg","components/images/menu.svg","components/images/close.svg","components/navigation/Navigation.js","components/header/NavBar.js","components/images/axa-krung.png","components/launchCountdown/LaunchCountdown.js","components/header/Header.js","components/AuthenticatedRoute.js","components/UnauthenticatedRoute.js","components/stravaConnect/ExchangeToken.js","ClearCache.js","components/googlefitConnect/ConnectGoogleFitButton.js","components/images/googlesignin.png","Routes.js","components/images/axakrungfooter.png","components/footer/Footer.js","components/images/mg.png","components/toTop/ToTop.js","components/header/HeaderBlank.js","App.js","serviceWorker.js","index.js"],"names":["LoadingCircle","className","config","cognito","REGION","USER_POOL_ID","APP_CLIENT_ID","dataUris","devRoot","stageRoot","lfcStageRoot","prod","demo","env","apiuri","languageCookie","Button","children","id","type","to","href","block","outline","disabled","props","classes","buttonProps","join","ThisButton","defaultProps","LoadingSpinner","style","LoaderButton","isLoading","Heading","level","colour","bold","uppercase","spacing","safeHeading","toLowerCase","safeColour","SelectedHeading","includes","SelectedColour","push","LabeledInput","autoComplete","autoFocus","labelText","name","failedValidation","placeholder","value","required","min","max","useState","isEmpty","setIsEmpty","inputRef","useRef","ref","onKeyDown","e","onChange","current","length","htmlFor","ToastContext","createContext","Toast","remove","removeRef","useEffect","setTimeout","clearTimeout","onClick","withToastProvider","Component","toasts","setToasts","add","content","v4","filter","t","providerValue","useMemo","Provider","map","background","borderedPage","border","gutter","AppContext","useAppContext","useContext","langField","page","field","ConnectRunlah","history","useHistory","code","setCode","setIsLoading","event","a","preventDefault","Auth","currentUserInfo","userinfo","Axios","post","sub","attributes","data","alert","message","langStr","languageStrings","pg","title","helpText","helpUrl","buttonText","onSubmit","target","rel","ConnectStravaButton","console","log","firstname","lastname","family_name","window","location","reload","setupKoprunner","textAlign","onError","error","toString","status","Error","Achievement","points","icon","description","complete","soundSrc","audioRef","role","play","src","alt","Badge","LoadingClay","width","height","Level","pointsValue","distance","safeText","LevelContainer","_extends","Object","assign","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","transform","d","SvgBadges6K","_ref","svgRef","titleId","viewBox","ForwardRef","SvgBadges19K","rx","SvgBadges48K","cx","cy","r","SvgBadges99K","Badges","badgeForRef","b","shift","Carousel","dots","arrows","infinite","speed","slidesToShow","slidesToScroll","SvgArrow","x","y","enableBackground","xmlSpace","INITAL_FN","usePullToRefresh","initalFn","onRefreshFn","PullToRefresh","init","mainElement","onRefresh","iconArrow","ReactDOMServer","renderToString","iconRefreshing","instructionsPullToRefresh","instructionsReleaseToRefresh","instructionsRefreshing","destroyAll","useFormFields","initialState","fields","setValues","HomePageClay","HomePageContainer","slides","setSlides","userLevels","setUserLevels","lang","getUserLevels","IntroText","FaqText","then","get","response","groupedData","forEach","slide","catch","levelsGen","level1","level2","level3","index","completed","overview","distanceDescription","levelDescription","badges","badge","pointsString","audioUrl","defaultSlideStyle","minHeight","backgroundSize","backgroundPosition","position","lineHeight","SlideHeadingStyle","left","right","bottom","backgroundColor","slideStyle","backgroundImage","field_kr_slider_hero_image","dangerouslySetInnerHTML","__html","field_kr_slider_h1","createdOn","l","Home","stravaStatus","setStravaStatus","runlahStatus","setRunlahStatus","pageReadyStrava","setPageReadyStrava","pageReadyRunlah","setPageReadyRunlah","checkUserStravaStatus","checkUserRunlahStatus","NotFound","Accordion","defaultOpen","titleColour","titleLevel","dangerousChildren","scrollHeight","setScrollHeight","useCallback","node","useScrollHeight","isOpen","setIsOpen","setHeight","aria-expanded","LandingContainer","strs","Intro_Title","Intro_Text","Outro_Title","Outro_Text","RunlahTitle","RunlahText","RunlahLinkText","RunlahLinkUrl","StravaTitle","StravaText","StravaLinkText","StravaLinkUrl","RegisterButtonText","LoginButtonText","LandingStrings","runlahURL","stravaURL","marginBottom","Select","LabeledSelect","ButtonStrap","Stat","result","StatsContainer","ChallengeBadge","completeStr","incompleteStr","textTransform","ChallengeContainer","MyAccountClay","fill","SvgSync","MyAccountContainer","userdetails","setUserdetails","setAthleteName","userAthlete","setUserAthlete","setLang","userHasAuthenticated","getUserAthelete","resetUserSpecifics","strings","StatsTitle","DistanceTitle","AvgSpeedTitle","PointsTitle","RPWTitle","LeaderboardButtonText","PageTitle","TotalTimeTitle","RemainingTitle","ChallengesTitle","PaceTitle","ChallengesHeader","CompleteText","IncompleteText","ViewChallengesButtonText","AccountHeader","DetailsSubheaderText","EditText","EditTextURL","StravaConnectedText","StravaDisconnectedText","ChangePasswordText","LogoutText","Language","DistanceRemaining","MyAccountStrings","refreshData","finally","stravaData","athlete","handleLogout","signOut","stats","totalTimeRan","distCompleted","distRemaining","challengesComplete","avgPace","challenge","displayName","lfcRef","currentTarget","dummyUser","username","pos","Leaderboard","before","currentUser","after","usersAndScores","totalRunners","userRank","renderUsers","user","colSpan","LeaderboardContainer","leaderboardData","setLeaderboardData","LeaderboardText","me","topTen","queryString","url","replace","regex","RegExp","results","exec","decodeURIComponent","Checkbox","SignupContainer","email","password","confirmPassword","confirmationCode","forename","surname","telephone","dob","country","language","optina","optinb","tanda","handleFieldChange","newUser","setNewUser","header","mob","signinInfo","pwHelpTitle","pwHelp","contactPermissionTitle","contactPermissionText","lFCOptin1Title","lFCOptin1Text","lFCOptin2Title","lFCOptin2Text","termsText","termsURL","continue","thailand","signUpStrings","isChecked","setIsChecked","redirect","getAge","DOB","today","Date","birthDate","age","getFullYear","m","getMonth","getDate","signUp","birthdate","signIn","defaultValue","padding","fontSize","color","checked","maxWidth","LoginContainer","PageText","ButtonText","Email","Password","ForgotPassword","ForgotPasswordUrl","LoginStrings","disable","FAQContainer","faqs","setFaqs","faq","field_kr_faq_accordion_text","AllChallengesContainer","UserChallenges","setUserChallenges","getUserChallenges","updateChallenges","challenges","renderableChallenges","_ref5","SvgPlayaudio","MediaPlayer","poster","isPlaying","mediaRef","isPlayingClass","CompleteRaceClay","ClayHr","opacity","margin","CompleteRaceContainer","setLevel","ChallengesStat","CompleteRaceStrings","useParams","titleText","subtitleText","completedAudio","bannerImgSrc","achievements","pop","time","avgSpeed","pointsCollected","runsPerWeek","challengesCompleted","ManualEntryContainer","previousActivites","setPreviousActivites","date","hour","sec","activity","userInfo","class","active","activityDate","toLocaleDateString","pace","PrivacyPolicy","TermsOfUse","SvgAccountIcon","HeaderNavButton","HeaderNavFold","SvgLogoKoprun","clipPath","stroke","strokeWidth","SvgFlagOfTheUnitedKingdom","SvgFlagOfThailand","LanguageSelectCircle","flagClick","inputFlag","flagEnter","flagProps","tabIndex","flag","altFlag","screenReaderText","inactive","aria-pressed","aria-label","xmlns","version","in","stdDeviation","mode","values","dx","dy","in2","SvgSocialFacebook","SvgSocialInstagram","SvgSocialTwitter","SvgMenu","SvgClose","fillRule","clipRule","strokeLinejoin","strokeMiterlimit","Navigation","navStrings","HomeText","MyAccountText","FAQText","DiscoverLFCText","PrivPolText","exact","NavBar","isActive","backLink","languageSelect","borderBottom","goBack","kopRunDate","doTimeLeftCalc","now","difference","getTime","days","Math","floor","hours","minutes","seconds","LaunchCountdown","timeLeft","setTimeLeft","starts","timer","setInterval","clearInterval","renderAboveZero","string","fontWeight","letterSpacing","Header","navbarOptions","headerOpen","setHeaderOpen","navBarOpen","setNavBarOpen","backLinkActive","axaKrung","AuthenticatedRoute","rest","useLocation","pathname","search","isAuthenticated","UnauthenticatedRoute","ExchangeToken","pageReady","setPageReady","localStorage","getItem","submitCode","ClearCache","caches","names","delete","ConnectGoogleFitButton","intro","oauthUrl","setItem","prepAwsSub","Routes","navbarWithBackLink","path","Footer","krungthai","ToTop","document","body","scrollTop","documentElement","isVisible","setIsVisible","debouncedScroll","useDebouncedCallback","addEventListener","callback","removeEventListener","HeaderBlank","reducer","state","action","levels","challengenges","App","initalLanguage","storageKey","undefined","languageState","setLanguageState","useLanguageCookie","useReducer","setUser","setStrings","setLanguageStrings","networkError","setNetworkError","isAuthenticating","setIsAuthenticating","getUserType","endpoint","currentSession","onLoad","field_kr_language","appContext","str","Boolean","hostname","match","Amplify","configure","mandatorySignIn","region","userPoolId","identityPoolId","IDENTITY_POOL_ID","userPoolWebClientId","ReactDOM","render","basename","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.aecedfb0.chunk.js","sourcesContent":["import \"./LoadingCircle.css\"\r\nfunction LoadingCircle() {\r\n return
\r\n}\r\n\r\nexport default LoadingCircle;","const config = {\r\n cognito: {\r\n REGION: \"eu-west-1\",\r\n USER_POOL_ID: \"eu-west-1_evU6aPh7A\",\r\n APP_CLIENT_ID: \"68tv4cq52984ppnrnu5muod2pg\"\r\n },\r\n dataUris: {\r\n devRoot: \"https://localhost:44351\",\r\n stageRoot: \"https://koprunapi.1cctech.net\",\r\n lfcStageRoot: \"https://koprun-api.lfcstage.com\",\r\n prod: \"https://koprun-api.liverpoolfc.com\",\r\n demo: \"https://koprundemo-api.lfcstage.com\",\r\n\r\n env: \"prod\",\r\n apiuri: () => {\r\n if (config.dataUris.env === \"dev\")\r\n return config.dataUris.devRoot;\r\n if (config.dataUris.env === \"stage\")\r\n return config.dataUris.stageRoot;\r\n if (config.dataUris.env === \"lfcstage\")\r\n return config.dataUris.lfcStageRoot;\r\n if (config.dataUris.env === \"prod\")\r\n return config.dataUris.prod;\r\n if (config.dataUris.env === \"demo\")\r\n return config.dataUris.demo;\r\n },\r\n },\r\n languageCookie: \"lfc-koprun-language\",\r\n};\r\n\r\nexport default config;\r\n\r\n/* YO! update this file AND ConnectGoogleFitButton.js */\r\n\r\n\r\n\r\n/* stripe.env use only dev,stage,prod */\r\n\r\n/*\r\n\r\nprod cognito\r\ncognito: {\r\n REGION: \"eu-west-1\",\r\n USER_POOL_ID: \"eu-west-1_evU6aPh7A\",\r\n APP_CLIENT_ID: \"68tv4cq52984ppnrnu5muod2pg\"\r\n },\r\n\r\n stage cognito\r\n cognito: {\r\n REGION: \"eu-west-1\",\r\n USER_POOL_ID: \"eu-west-1_OjZ5OA1K0\",\r\n APP_CLIENT_ID: \"53m6jjn62uldcjm1tb8g4e78\"\r\n },\r\n\r\n*/","import { Link } from \"react-router-dom\";\r\nimport \"./Button.css\"\r\n\r\nfunction Button( {\r\n children,\r\n className,\r\n id,\r\n type,\r\n to,\r\n href,\r\n block,\r\n outline,\r\n disabled,\r\n ...props\r\n } ) {\r\n\r\n const classes = [\r\n \"button\",\r\n ...( className ? [className] : [] ),\r\n ...( outline ? [\"outline\"] : [] ),\r\n ...( block ? [\"block\"] : [] ),\r\n ]\r\n const buttonProps = { \r\n ...props,\r\n id: id,\r\n className: classes.join(\" \")\r\n }\r\n let ThisButton = \r\n if(disabled){\r\n return ThisButton\r\n }\r\n const isInternalLink = to && to !== \"\";\r\n if(isInternalLink){\r\n ThisButton = {children}\r\n }\r\n const isExternalLink = href && href !== \"\";\r\n if(isExternalLink){\r\n ThisButton = {children}\r\n }\r\n\r\n return ThisButton\r\n}\r\n\r\nButton.defaultProps = {\r\n children: null,\r\n className: \"\",\r\n block: false,\r\n outline: false,\r\n id: null,\r\n type: null,\r\n to: null,\r\n href: null,\r\n}\r\n\r\nexport default Button;","import \"./LoadingSpinner.css\"\r\n\r\nfunction LoadingSpinner( { className, style= null } ){\r\n return(\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LoadingSpinner;","import Button from \"./Button\";\r\nimport LoadingSpinner from \"../loadingSpinner/LoadingSpinner\";\r\nimport \"./LoaderButton.css\";\r\n\r\nexport default function LoaderButton({\r\n isLoading,\r\n className = \"\",\r\n disabled = false,\r\n block = false,\r\n ...props\r\n}) {\r\n return (\r\n \r\n { isLoading && }\r\n \r\n \r\n { props.children }\r\n \r\n \r\n );\r\n}","import './Heading.css';\r\n\r\nfunction Heading ({ className, id, children, level, colour, bold, uppercase, spacing, ...props }) {\r\n const validHeadingLevels = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\r\n const validColours = ['red', 'white', 'black'];\r\n\r\n const safeHeading = level ? level.toLowerCase() : '';\r\n const safeColour = colour ? colour.toLowerCase() : '';\r\n const SelectedHeading = validHeadingLevels.includes(safeHeading) ? safeHeading : 'p';\r\n const SelectedColour = validColours.includes(safeColour) ? safeColour : 'red';\r\n\r\n let classes = [\r\n className,\r\n `Heading`,\r\n `Heading__${SelectedColour}`,\r\n ];\r\n if( uppercase ){\r\n classes.push(`Heading__uppercase`);\r\n }\r\n if( bold ){\r\n classes.push(`Heading__bold`);\r\n }\r\n if( spacing ) {\r\n classes.push(`Heading__spacing`);\r\n }\r\n\r\n return(\r\n \r\n {children}\r\n \r\n )\r\n\r\n}\r\n\r\nHeading.defaultProps = {\r\n colour : `red`,\r\n className : ``,\r\n id : null,\r\n level : ``,\r\n bold: false,\r\n uppercase: false,\r\n}\r\n\r\nexport default Heading;","import { useState, useRef } from 'react';\r\nimport \"./LabeledInput.css\"\r\nfunction LabeledInput({\r\n autoComplete = null,\r\n autoFocus = false,\r\n className,\r\n disabled = false,\r\n id = null,\r\n labelText =\"\",\r\n name,\r\n failedValidation = false,\r\n type = \"text\",\r\n placeholder = \"\",\r\n value,\r\n required = false,\r\n min = null,\r\n max = null,\r\n ...props\r\n }) {\r\n\r\n const [isEmpty, setIsEmpty] = useState( value ? false : true )\r\n const inputRef = useRef(null);\r\n\r\n return( \r\n
\r\n {\r\n if(props.onKeyDown)\r\n {\r\n props.onKeyDown(e);\r\n }\r\n }}\r\n onChange={ ( e )=> { \r\n if(inputRef.current.value.length > 0){\r\n setIsEmpty(false) \r\n }\r\n else{\r\n setIsEmpty(true) \r\n }\r\n if(props.onChange) {\r\n props.onChange(e);\r\n }\r\n }}\r\n >\r\n \r\n
\r\n )\r\n }\r\n\r\nexport default LabeledInput","import { createContext } from 'react';\r\n\r\nconst ToastContext = createContext(null);\r\n\r\nexport default ToastContext;","import { useEffect, useRef } from 'react';\r\nimport \"./Toast.css\"\r\n\r\nfunction Toast({ children, remove }) {\r\n const removeRef = useRef();\r\n removeRef.current = remove;\r\n\r\n useEffect(() => {\r\n const duration = 5000;\r\n const id = setTimeout(() => removeRef.current(), duration);\r\n return () => clearTimeout(id);\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n { children }\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Toast;","import { withToastProvider } from \"../toast\";\r\n\r\n/* \r\n** Really simple wrapper so that we can have the toasts\r\n** in the correct place (below the nav bar)\r\n*/\r\nfunction Main({ \r\n className = \"\",\r\n children, \r\n background,\r\n borderedPage = false,\r\n border = false,\r\n gutter = false,\r\n ...props }){\r\n\r\n const validColours = ['red', 'white', 'grey', 'light-grey'];\r\n const safeColour = background ? background.toLowerCase() : '';\r\n const SelectedColour = validColours.includes(safeColour) ? safeColour : 'light-grey';\r\n\r\n \r\n const classes = [\r\n ...( className ? [className] : [] ),\r\n ...( borderedPage ? [\"borderedPage\"] : [] ),\r\n ...( gutter ? [\"gutterPage\"] : [] ),\r\n ...( border ? [\"borderPage\"] : [] ),\r\n ]\r\n\r\n return( \r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n\r\nexport default withToastProvider(Main)","import { useState, useMemo } from 'react';\r\nimport { v4 } from \"uuid\";\r\nimport ToastContext from './ToastContext';\r\nimport Toast from './Toast';\r\n\r\nfunction withToastProvider(Component) {\r\n function WithToastProvider(props) {\r\n const [toasts, setToasts] = useState([]);\r\n const add = content => {\r\n const id = v4();\r\n\r\n setToasts([...toasts, { id, content }]);\r\n };\r\n const remove = id => setToasts(toasts.filter(t => t.id !== id));\r\n const providerValue = useMemo(() => { return { add, remove } }, [toasts]);\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n { toasts.map(t => (\r\n remove(t.id)}>\r\n {t.content}\r\n \r\n )) }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n return WithToastProvider;\r\n}\r\n\r\nexport default withToastProvider;","import { useContext, createContext } from \"react\";\r\n\r\nexport const AppContext = createContext(null);\r\n\r\nexport function useAppContext() {\r\n return useContext(AppContext);\r\n}","function langField(page, field ){\r\n return `field_kr_${page}_${field}`;\r\n}\r\n\r\nfunction getLangField(fields, page, field ){\r\n return fields[`field_kr_${page}_${field}`];\r\n}\r\nexport { langField, getLangField }","import { Auth } from \"aws-amplify\";\r\nimport Axios from \"axios\";\r\nimport { useState } from \"react\";\r\nimport config from \"../../config\";\r\nimport { LoaderButton } from \"../button\";\r\nimport Heading from \"../heading/Heading\";\r\nimport LabeledInput from \"../labeledInput/LabeledInput\";\r\nimport Main from \"../main/Main\";\r\nimport './ConnectRunlah.css';\r\n\r\nimport { useAppContext } from '../../libs/contextLib';\r\nimport { langField } from \"../../libs/languageStringsHelper\"\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nexport default function ConnectRunlah() {\r\n const history = useHistory();\r\n const [code, setCode] = useState('');\r\n const [isLoading, setIsLoading] = useState();\r\n\r\n async function handleSubmit(event) {\r\n event.preventDefault();\r\n setIsLoading(true);\r\n\r\n try {\r\n const userinfo = await Auth.currentUserInfo();\r\n const { data } = await Axios.post(`${config.dataUris.apiuri()}/runlah/submitcode`, {\r\n sub: userinfo.attributes.sub,\r\n code: code\r\n });\r\n if (!data) {\r\n alert(\"Invalid code. Please try again\");\r\n setIsLoading(false);\r\n return;\r\n }\r\n else {\r\n alert(\"Accepted!\");\r\n // window.location.reload();\r\n // offer them to connect google fit.\r\n history.push('/googlefitconnect');\r\n }\r\n\r\n } catch (e) {\r\n setIsLoading(false);\r\n alert(e.message);\r\n }\r\n }\r\n\r\n function validateForm() {\r\n return code.length === 8 || code.length === 9;\r\n }\r\n\r\n const { languageStrings } = useAppContext();\r\n const langStr = languageStrings;\r\n const pg = 'runlah'\r\n const title = langStr[langField(pg, 'page_title')];\r\n const placeholder = langStr[langField(pg, 'input_placeholde')];\r\n const helpText = langStr[langField(pg, 'help_url_text')];\r\n const helpUrl = langStr[langField(pg, 'help_url')];\r\n const buttonText = langStr['field_kr_runla_button_text'];\r\n\r\n return (\r\n
\r\n {title}\r\n
\r\n setCode(e.target.value) }\r\n />\r\n\r\n {helpText}\r\n\r\n \r\n {buttonText}\r\n \r\n\r\n \r\n
\r\n );\r\n}","import './ConnectStravaButton.css';\r\nimport Heading from \"../heading/Heading\";\r\nimport Main from \"../main/Main\";\r\nimport { Button } from \"../button\";\r\nimport { useAppContext } from '../../libs/contextLib';\r\nimport { langField } from \"../../libs/languageStringsHelper\"\r\nimport LoadingCircle from '../loadingSpinner/LoadingCircle';\r\nimport { useEffect } from 'react';\r\nimport { Auth } from 'aws-amplify';\r\nimport Axios from 'axios';\r\nimport config from '../../config';\r\n\r\nexport default function ConnectStravaButton() {\r\n const { languageStrings } = useAppContext();\r\n const langStr = languageStrings;\r\n\r\n // const pg = \"strava\"\r\n // const title = langStr[langField(pg, 'setup_page_t')];\r\n // const intro = langStr[langField(pg,'setup_pa')];\r\n // const buttonText = langStr[langField(pg,'page_button_text')];\r\n\r\n // const redirectURL = `http://localhost:3000/exchange_token`;\r\n // const redirectURLStage = `https://koprun.lfcstage.com/thailand/exchange_token`;\r\n // const stravaUrl = `http://www.strava.com/oauth/authorize?client_id=54593&response_type=code&redirect_uri=${redirectURLStage}&approval_prompt=force&scope=read,activity:read`\r\n\r\n // return (\r\n //
\r\n // {title}\r\n //
\r\n // {/* \r\n // \r\n // */}\r\n // \r\n //
\r\n // );\r\n\r\n\r\n // now we're using strava, just display a loader circle whilst we collect data from Cognito, and send it up to create the KopRunner entry\r\n \r\n\r\n useEffect(() => {\r\n\r\n async function setupKoprunner() { \r\n try {\r\n const userinfo = await Auth.currentUserInfo();\r\n console.log(userinfo);\r\n const { data } = await Axios.post(`${config.dataUris.apiuri()}/stravaconnect/setup`, {\r\n sub: userinfo.attributes.sub,\r\n firstname: userinfo.attributes.name,\r\n lastname: userinfo.attributes.family_name,\r\n });\r\n if (!data) {\r\n alert(\"An error has occured\");\r\n window.location.reload();\r\n }\r\n else {\r\n window.location.reload();\r\n }\r\n \r\n } catch (e) {\r\n alert(e.message);\r\n window.location.reload();\r\n }\r\n }\r\n\r\n setupKoprunner();\r\n\r\n }, [])\r\n\r\n return (\r\n


\r\n )\r\n}","export function onError(error) {\r\n console.log(error);\r\n let message = error.toString();\r\n\r\n if(error.status === 404){\r\n message = \"Page Not Found\";\r\n }\r\n if(error.status === 400){\r\n message = error.data.message;\r\n }\r\n // if(message === \"Error: Network Error\"){\r\n // }\r\n\r\n // Auth errors\r\n if (!(error instanceof Error) && error.message) {\r\n message = error.message;\r\n }\r\n\r\n alert(message);\r\n}","import { useRef } from \"react\";\r\nimport volume from \"../images/volume.png\"\r\nimport \"./Achievement.css\";\r\n\r\nfunction Achievement({\r\n points = \"\",\r\n icon = \"\",\r\n description = \"\",\r\n complete = false,\r\n soundSrc = \"\"\r\n}){\r\n\r\n const audioRef = useRef(null);\r\n const handleAudioClick = (e) => {\r\n if( audioRef.current ){\r\n audioRef.current.play();\r\n }\r\n }\r\n return(\r\n
\r\n
{ icon }
\r\n
\r\n { points }\r\n

{description}

\r\n
\r\n
\r\n { (complete && soundSrc) && \r\n <>\r\n \"Volume\"\r\n \r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Achievement;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQ0SURBVGhD5Zo9LDRBGMfn7hQKhUIhoZCQKCgkJEoKnYJOoZEo0Ct0SgWFhERBp6RTKBQiJAoShYaKhEKiICEh733MO//Js3Ozc3szs2vd7Zv3l4x7dudm5/nP1z4zJ/enWOQsIblcjuVFyuXzLEf34oLKeaXCKpwzLlJSEgmBgAKcF59pAiFlISqJoFhCfkuASRJBefp0AgEthcKviwCoA3WhTl+c34TbeGg+xkPTAnXKxqNrG1bvZMu0tDSkF+rh60NdIUH3ZgXXsI4UkjURATYxNULwtSyKCJBiyNapEVLIsIiAKB9DQhrxjkgD+GguzeoKmc1YYpMCX/VGV57HeflkBd1naUFZmkOqVCqxzc1NtrS0xO7u7uhu+oT8RqxVqYjYMyWOjo54X18fgiSZRkdHKcdNUfgSF/gu48ViqUS3fsbt7S2fmJhQAoLU09ND37BzeXnJ29vbeUdHB7+5uaG7fkADK5fLdJmM19dXvri4yEUYUSMijpCFhQVVZmRkJFbvQAM2NIlARevr67IVdcfN5Cvk9PQ0VA7P9gUaEPPHxpwHtuQrBMzOzqpyGGJfX1+U48YpBA9D68zNzfGtra3IeWBLphA8D62PIWmCe62trars7u4u5bhxCtHHbpJkCpmcnJT3Ozs7I8Xo9cVZ8ZxC+vv71YOTJFNIV1eXykMvm1xdXYXKv729UY4dpxA4oj84bjKFrK2tqTysdE9PT5RTRV9Ajo+P6a6dhscly8vLTAwraSMCODw8lLbO+Pg4WYxdX1+TZafhQrBtnZqaoivGzs7OyKrS29tLFmMvLy9k2WlKpDg0NEQWY+/v72RVaWtrIys6P4qmCPkNmiLk/v6eLMbExCaryufnJ1nh3rHRcCHmBB8bGyOryuPjI1lMLQwuGi5ke3ubPT8/SxsTf3p6Wto6FxcXZIXnkxVahuuS9ntEfyHOzMzQ3SoI4fXyvi9EZ494t4gng4OD8lMEhWxjY0PaOnt7e2QxNjw8HDmHInGF8Q8PD1x0PxdruwwpEP+IYt7J7JGPjw9+cHAQ+UZH64vJrcru7OxQjh0ZxifZWO3v7/Pu7u6Qw/WSKcTG/Py8KocwxTeMlxurpFtdVLK6uhoKu6OSr5Dz8/NQOcRkvsit7k8PHzBE9A2RmXyF6OH7wMCA91ZXHT7gTxoHEDg8iJo/vkJOTk5k72JIIZT3Bb4rIT/tFR1z/oiVh3LcYCGIs70NegNJ/YaIg660TuG/v7/l0orDuZWVFbXkpk2pXMZ7UNqhH0NxBPmvnP+K3pA/mAaEvE7603CjgY+6CFDT/GJNJiu7RPlYIwT9gbGXVeS8IFsnckKg67IoRp/cJnVndtbE2ESAukKAFCM2QrYH/Da+PliFABRHa2C5azSoU/YEXdtwCgnAcufq3rSQvSDqMpdYG//nvzmZQEg2/vGMsb/uhr2cKSRrIgAAAABJRU5ErkJggg==\"","import \"./Badge.css\"\r\n\r\nfunction Badge({ children, className, id, ...props}){\r\n return (\r\n
{ children }
\r\n )\r\n}\r\n\r\nBadge.defaultProps = {\r\n className: \"\",\r\n id: null,\r\n}\r\n\r\nexport default Badge;","import React from \"react\";\r\nimport \"./LoadingClay.css\"\r\n\r\nfunction LoadingClay({\r\n className = '',\r\n width = '12rem',\r\n height = '1.6rem',\r\n colour = 'grey',\r\n}){\r\n\r\n const validColours = ['red', 'grey', 'white', 'black'];\r\n const safeColour = colour ? colour.toLowerCase() : '';\r\n const selectedColour = validColours.includes(safeColour) ? safeColour : 'grey';\r\n\r\n const classes = [\r\n 'LoadingClay',\r\n className,\r\n selectedColour\r\n ]\r\n return (\r\n \r\n \r\n )\r\n}\r\n\r\nexport default LoadingClay;","import Heading from \"../heading/Heading\";\r\nimport Button from \"../button/Button\";\r\nimport Badge from \"../badge/Badge\";\r\nimport LoadingClay from \"../loadingClay/LoadingClay\";\r\nimport \"./Level.css\"\r\n\r\nfunction Level({\r\n title = ,\r\n pointsValue,\r\n distance = ,\r\n description = ,\r\n children = null,\r\n to = null,\r\n complete = false,\r\n buttonText = \r\n}){\r\n\r\n const safeText = buttonText || \"View Race Details\"\r\n\r\n return(\r\n
\r\n
\r\n
\r\n {title}\r\n { pointsValue && \r\n {pointsValue ? pointsValue + \" PTS\" : }\r\n }\r\n
\r\n

{distance}

\r\n

{description}

\r\n
\r\n
\r\n { children }\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Level;","import \"./LevelContainer.css\"\r\n\r\nfunction LevelContainer({\r\n children\r\n}){\r\n\r\n return(\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\nexport default LevelContainer;","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fc0;}.b{fill:#cf001b;}.c{fill:#a50c1b;}.d{isolation:isolate;}.e{fill:#fff;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(155.739 -358.704)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-155.739 358.704)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M-145.739,368.7h56.1v59.25l-27.623,21.567-28.479-21.567Z\",\n transform: \"translate(147.688 -366.755)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M-125.293,443.929l-30.446-23.053V358.7h60v62.154Zm-26.594-24.968,26.558,20.109,25.737-20.091V362.557h-52.295Z\",\n transform: \"translate(155.739 -358.704)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-149.744 364.585)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M-124.98,388.878h48.232v52.693l-23.748,19.18-24.484-19.18Z\",\n transform: \"translate(124.98 -388.878)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n className: \"d\",\n transform: \"translate(-132.973 409.661)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"d\",\n transform: \"translate(0 0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M-31.634,625.438a2.677,2.677,0,0,1,.6,1.635h-1.135a2.1,2.1,0,0,0-.325-.848,1.447,1.447,0,0,0-1.256-.574,1.739,1.739,0,0,0-1.53.889,5.126,5.126,0,0,0-.631,2.547,2.5,2.5,0,0,1,.995-.867,2.872,2.872,0,0,1,1.224-.255,2.979,2.979,0,0,1,2,.733,2.724,2.724,0,0,1,.854,2.187,3.318,3.318,0,0,1-.81,2.2,2.853,2.853,0,0,1-2.308.96,2.96,2.96,0,0,1-2.213-.973A4.662,4.662,0,0,1-37.1,629.8a8.81,8.81,0,0,1,.415-2.888,2.942,2.942,0,0,1,2.914-2.27A2.522,2.522,0,0,1-31.634,625.438Zm-.861,6.982a2.354,2.354,0,0,0,.449-1.438,2.458,2.458,0,0,0-.4-1.336,1.592,1.592,0,0,0-1.46-.635,1.9,1.9,0,0,0-1.3.491,1.867,1.867,0,0,0-.558,1.479,2.157,2.157,0,0,0,.507,1.457,1.754,1.754,0,0,0,1.406.59A1.576,1.576,0,0,0-32.494,632.419Z\",\n transform: \"translate(37.095 -624.446)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M.139,623.629H1.376v4.585l4.686-4.585H7.836l-4,3.78L7.919,633H6.258L2.9,628.289l-1.526,1.442V633H.139Z\",\n transform: \"translate(7.118 -623.629)\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-142.887 373.189)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M-85.11,439.679l-2.869-2.168h3.609l1.09-3.28v-.054l.009.027.011-.034v.069l1.088,3.274h3.6l-2.865,2.163,1.059,3.372-2.893-2.015-2.9,2.022Z\",\n transform: \"translate(87.979 -434.171)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 11.373)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M-85.11,498.034l-2.869-2.168h3.609l1.09-3.28v-.054l.009.027.011-.034v.069l1.088,3.274h3.6l-2.865,2.163,1.059,3.372-2.893-2.015-2.9,2.022Z\",\n transform: \"translate(87.979 -492.526)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(12.317 0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M-21.914,439.679l-2.869-2.168h3.609l1.09-3.28v-.054l.009.027.011-.034v.069l1.088,3.274h3.6l-2.865,2.163,1.059,3.372-2.893-2.015-2.9,2.022Z\",\n transform: \"translate(24.783 -434.171)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(12.317 11.373)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M-21.914,498.034l-2.869-2.168h3.609l1.09-3.28v-.054l.009.027.011-.034v.069l1.088,3.274h3.6l-2.865,2.163,1.059,3.372-2.893-2.015-2.9,2.022Z\",\n transform: \"translate(24.783 -492.526)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24.934 0.03)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M42.821,439.835l-2.869-2.168h3.609l1.09-3.28v-.054l.009.027.012-.034v.069l1.088,3.274h3.6L46.5,439.833l1.059,3.372-2.893-2.015-2.9,2.022Z\",\n transform: \"translate(-39.952 -434.327)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24.934 11.404)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M42.821,498.189l-2.869-2.168h3.609l1.09-3.28v-.054l.009.027.012-.034v.069l1.088,3.274h3.6L46.5,498.187l1.059,3.372-2.893-2.015-2.9,2.022Z\",\n transform: \"translate(-39.952 -492.681)\"\n}))));\n\nfunction SvgBadges6K(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 60,\n height: 85.225,\n viewBox: \"0 0 60 85.225\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBadges6K);\nexport default __webpack_public_path__ + \"static/media/Badges-6K.fbff98bf.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fc0;}.b{fill:#cf001b;}.c{fill:#a50c1b;}.d{isolation:isolate;}.e{fill:#fff;}.f{fill:#ca9f18;}.g{fill:#af8a24;}.h{fill:#353536;}.i{fill:#151515;}.j{fill:#e0b011;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-265.094 -181.204)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(265.094 181.204)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M275.094,191.2h55.572v58.68L303.3,271.243l-28.21-21.36Z\",\n transform: \"translate(-273.187 -189.297)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M295.228,265.555l-30.134-22.817V181.2h59.385v61.517Zm-26.321-24.712,26.285,19.9,25.473-19.885V185.017H268.907Z\",\n transform: \"translate(-265.094 -181.204)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(270.958 186.957)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M295.852,211.378h47.874v52.265l-23.571,19.025-24.3-19.025Z\",\n transform: \"translate(-295.852 -211.378)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n className: \"d\",\n transform: \"translate(285.16 232.095)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"d\",\n transform: \"translate(0 0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M370.34,452.106v-.861a4.573,4.573,0,0,0,1.7-.4,1.952,1.952,0,0,0,.717-1.313h.886v8.894h-1.2v-6.325Z\",\n transform: \"translate(-370.34 -449.268)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M402.207,456.055a1.419,1.419,0,0,0,.717,1.285,1.589,1.589,0,0,0,.774.187,1.738,1.738,0,0,0,1.372-.671,5.517,5.517,0,0,0,.8-2.722,2.079,2.079,0,0,1-.926.833,2.944,2.944,0,0,1-1.188.24,2.661,2.661,0,0,1-2.043-.8,2.907,2.907,0,0,1-.752-2.069,3.309,3.309,0,0,1,.742-2.137,2.643,2.643,0,0,1,2.189-.922,2.692,2.692,0,0,1,2.694,1.758,6.191,6.191,0,0,1,.412,2.418,7.963,7.963,0,0,1-.493,2.9,2.85,2.85,0,0,1-2.769,2.107,2.682,2.682,0,0,1-1.99-.686,2.346,2.346,0,0,1-.68-1.722Zm2.922-2.273a1.858,1.858,0,0,0,.552-1.535,1.962,1.962,0,0,0-.5-1.467,1.736,1.736,0,0,0-1.263-.483,1.65,1.65,0,0,0-1.307.551,2.152,2.152,0,0,0-.483,1.473,2.11,2.11,0,0,0,.424,1.386,1.656,1.656,0,0,0,1.353.514A1.913,1.913,0,0,0,405.129,453.782Z\",\n transform: \"translate(-395.127 -449.057)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M438.33,448.129h1.21v4.485l4.584-4.485h1.735l-3.915,3.7,4,5.465h-1.624l-3.283-4.6L439.54,454.1v3.193h-1.21Z\",\n transform: \"translate(-425.367 -448.129)\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(284.686 195.589)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(4.041)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M395.24,279.013h-3.96v-.629a16.171,16.171,0,0,0,1.733-1.929c.7-.96,1.712-2.779,1.547-3.765s-2.957-3.408-4.314-7.239-1.364-8.645-.978-8.748,5.639-.007,5.99,0,5.617-.1,5.99,0,.379,4.917-.978,8.748-4.148,6.254-4.314,7.24.85,2.8,1.547,3.764a16.161,16.161,0,0,0,1.733,1.929v.629Z\",\n transform: \"translate(-389.049 -256.657)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5.836 22.218)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"g\",\n d: \"M398.657,373.189h8.389a.191.191,0,0,1,.191.191h0a.191.191,0,0,1-.191.191h-8.389a.191.191,0,0,1-.191-.191h0A.191.191,0,0,1,398.657,373.189Z\",\n transform: \"translate(-398.466 -373.189)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5.646 22.599)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h\",\n width: 9.151,\n height: 3.813\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(4.66 25.234)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"i\",\n d: \"M392.663,389.012H403.09c.2,0,.367.349.367.778v1.257H392.3V389.79C392.3,389.361,392.46,389.012,392.663,389.012Z\",\n transform: \"translate(-392.296 -389.012)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0.816)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M369.712,264.574s1.475,1.34,2.327,0a2.362,2.362,0,0,0,0-2.55,2.3,2.3,0,0,0-1.918-1.089c-1.308,0-2.333.763-2.265,2.8a7.79,7.79,0,0,0,2.536,5.343c1.434,1.287,3.667,2.383,4.214,3.653s-.313,1.688-.313,1.688,1.133-.066.923-1.688-3.113-2.8-4.368-4.254-2.375-2.781-2.375-4.741a1.83,1.83,0,0,1,1.648-2.04,1.566,1.566,0,0,1,1.586,1.731C371.708,265.2,369.712,264.574,369.712,264.574Z\",\n transform: \"translate(-367.853 -260.935)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(13.079 0.816)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M441.984,264.574s-1.475,1.34-2.327,0a2.362,2.362,0,0,1,0-2.55,2.3,2.3,0,0,1,1.918-1.089c1.308,0,2.332.763,2.265,2.8a7.79,7.79,0,0,1-2.536,5.343c-1.434,1.287-3.667,2.383-4.214,3.653s.313,1.688.313,1.688-1.133-.066-.923-1.688,3.113-2.8,4.368-4.254,2.375-2.781,2.375-4.741a1.83,1.83,0,0,0-1.648-2.04,1.566,1.566,0,0,0-1.586,1.731C439.989,265.2,441.984,264.574,441.984,264.574Z\",\n transform: \"translate(-436.454 -260.935)\"\n}))));\n\nfunction SvgBadges19K(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 59.385,\n height: 84.351,\n viewBox: \"0 0 59.385 84.351\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBadges19K);\nexport default __webpack_public_path__ + \"static/media/Badges-19K.b383054c.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fc0;}.b{fill:#cf001b;}.c{fill:#a50c1b;}.d{isolation:isolate;}.e{fill:#fff;}.f{fill:#ca9f18;}.g{fill:#af8a24;}.h{fill:#353536;}.i{fill:#151515;}.j{fill:#e0b011;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-515.279 -216.089)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(515.279 216.089)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M525.278,226.089h56.148v59.288L553.78,306.958l-28.5-21.581Z\",\n transform: \"translate(-523.352 -224.163)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M545.725,301.315l-30.446-23.053V216.089h60v62.155Zm-26.594-24.969,26.558,20.109,25.737-20.092V219.942h-52.3Z\",\n transform: \"translate(-515.279 -216.089)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(521.204 221.901)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M546.037,246.262h48.37v52.807l-23.816,19.222-24.554-19.222Z\",\n transform: \"translate(-546.037 -246.262)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n className: \"d\",\n transform: \"translate(534.645 267.122)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"d\",\n transform: \"translate(0 0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M619.772,491.143v-2.206h-3.958v-1.109l4.134-5.735h.958v5.854h1.33v.989h-1.33v2.206Zm-.019-3.2v-4.1l-2.893,4.1Z\",\n transform: \"translate(-615.814 -481.886)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M651.734,485.862a1.785,1.785,0,0,1-.5-1.311,2.356,2.356,0,0,1,.73-1.733,2.815,2.815,0,0,1,2.071-.725,2.872,2.872,0,0,1,2.033.684,2.117,2.117,0,0,1,.737,1.6,2.088,2.088,0,0,1-.428,1.367,2.553,2.553,0,0,1-.743.58,2.9,2.9,0,0,1,.885.593,2.275,2.275,0,0,1,.6,1.639,2.8,2.8,0,0,1-.8,2.02,3,3,0,0,1-2.262.829,3.494,3.494,0,0,1-2.228-.715,2.481,2.481,0,0,1-.911-2.076,2.3,2.3,0,0,1,1.55-2.275A2.251,2.251,0,0,1,651.734,485.862Zm3.658,4.081a1.544,1.544,0,0,0,.52-1.27,1.645,1.645,0,0,0-.536-1.33A2.052,2.052,0,0,0,654,486.89a1.9,1.9,0,0,0-1.326.463,1.638,1.638,0,0,0-.514,1.282,1.746,1.746,0,0,0,.47,1.219,1.876,1.876,0,0,0,1.453.514A2,2,0,0,0,655.392,489.943Zm-.21-4.463a1.366,1.366,0,0,0,.421-1,1.323,1.323,0,0,0-.4-.928,1.619,1.619,0,0,0-1.226-.423,1.366,1.366,0,0,0-1.547,1.415,1.185,1.185,0,0,0,.472,1,1.782,1.782,0,0,0,1.113.36A1.584,1.584,0,0,0,655.182,485.48Z\",\n transform: \"translate(-644.158 -481.886)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M688.514,481.014h1.223v4.531l4.632-4.531h1.753l-3.956,3.736,4.037,5.521h-1.641l-3.317-4.652-1.509,1.425v3.227h-1.223Z\",\n transform: \"translate(-674.51 -481.014)\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(526.405 236.823)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(12.144)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.556)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M653.265,337.86h-2.5v-.4a10.221,10.221,0,0,0,1.1-1.22,4.407,4.407,0,0,0,.978-2.38c-.1-.623-1.869-2.155-2.727-4.577s-.862-5.466-.618-5.532,3.566,0,3.787,0,3.551-.063,3.787,0,.24,3.109-.618,5.532-2.624,3.954-2.728,4.577a4.41,4.41,0,0,0,.978,2.38,10.255,10.255,0,0,0,1.1,1.22v.4Z\",\n transform: \"translate(-649.35 -323.724)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(3.779 14.129)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"g\",\n d: \"M655.794,397.072H661a.1.1,0,0,1,.1.1h0a.1.1,0,0,1-.1.1h-5.2a.1.1,0,0,1-.1-.1h0A.1.1,0,0,1,655.794,397.072Z\",\n transform: \"translate(-655.698 -397.072)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(3.586 14.322)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h\",\n width: 5.779,\n height: 2.504\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.947 16.076)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"i\",\n d: \"M651.614,407.178h6.593c.128,0,.232.22.232.492v.795h-7.057v-.795C651.382,407.4,651.486,407.178,651.614,407.178Z\",\n transform: \"translate(-651.382 -407.178)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0.516)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M637.258,328.7s.932.848,1.471,0a1.493,1.493,0,0,0,0-1.612,1.451,1.451,0,0,0-1.214-.689c-.827,0-1.475.482-1.432,1.768a4.925,4.925,0,0,0,1.6,3.378c.907.814,2.319,1.507,2.664,2.31s-.2,1.068-.2,1.068.717-.042.584-1.068-1.968-1.772-2.762-2.69a4.549,4.549,0,0,1-1.5-3,1.158,1.158,0,0,1,1.042-1.291.99.99,0,0,1,1,1.094C638.519,329.1,637.258,328.7,637.258,328.7Z\",\n transform: \"translate(-636.082 -326.401)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(8.272 0.516)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M682.518,328.7s-.932.848-1.471,0a1.494,1.494,0,0,1,0-1.612,1.452,1.452,0,0,1,1.214-.689c.827,0,1.475.482,1.432,1.768a4.926,4.926,0,0,1-1.6,3.378c-.907.814-2.319,1.507-2.664,2.31s.2,1.068.2,1.068-.717-.042-.584-1.068,1.968-1.772,2.762-2.69a4.548,4.548,0,0,0,1.5-3,1.158,1.158,0,0,0-1.042-1.291.99.99,0,0,0-1,1.094C681.257,329.1,682.518,328.7,682.518,328.7Z\",\n transform: \"translate(-679.022 -326.401)\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 2.447)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M576.772,347.445v-.322a11.2,11.2,0,0,0,.816-1.253,5.533,5.533,0,0,0,0-2.291h0a6.71,6.71,0,0,1-2.432-1.85c-1.523-1.663-1.957-2.413-2.107-3.718s.9-1.789,1.506-1.506a1.694,1.694,0,0,1,.817.816h6.7a1.109,1.109,0,0,1,.816-.816c.713-.2,1.661.2,1.506,1.506a5.932,5.932,0,0,1-2.127,3.718,7.356,7.356,0,0,1-2.535,1.85h.079a3.433,3.433,0,0,0,.781,3.544v.322Z\",\n transform: \"translate(-573.038 -336.426)\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.632 10.912)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"g\",\n width: 6.164,\n height: 0.385\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.632 11.297)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h\",\n width: 6.164,\n height: 2.312\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1.668 13.609)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"i\",\n width: 7.898,\n height: 1.348\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.601 0.628)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M577.644,340.888s-.678-1.464-1.233-1.16-.081,1.625.233,2.219a15.722,15.722,0,0,0,1,1.519Z\",\n transform: \"translate(-576.155 -339.686)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(9.262 0.628)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M621.121,340.888s.678-1.464,1.233-1.16.081,1.625-.233,2.219a15.689,15.689,0,0,1-1,1.519Z\",\n transform: \"translate(-621.121 -339.686)\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(25.547 2.424)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.113)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M720.7,348.437h-1.129a8.164,8.164,0,0,0,.516-1.476,2.52,2.52,0,0,0,0-1.093,6.727,6.727,0,0,1-2.768-4.094,17.194,17.194,0,0,1-.686-5.469h8.17a17.194,17.194,0,0,1-.686,5.469,6.728,6.728,0,0,1-2.768,4.094,2.524,2.524,0,0,0,0,1.093,8.179,8.179,0,0,0,.516,1.476Z\",\n transform: \"translate(-716.626 -336.306)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 1.73)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M707.8,345.286h-1.812a.338.338,0,0,0-.333.333s1,4.485,1.618,5.186,2.395.755,2.395.755l-.379-.755s-1.291-.087-1.648-.6a33.359,33.359,0,0,1-1.264-4.29h1.608Z\",\n transform: \"translate(-705.659 -345.286)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(8.386 1.73)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M751.06,345.286h1.812a.338.338,0,0,1,.333.333s-1,4.485-1.618,5.186-2.395.755-2.395.755l.379-.755s1.291-.087,1.648-.6a33.4,33.4,0,0,0,1.264-4.29h-1.608Z\",\n transform: \"translate(-749.192 -345.286)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(4.438 12.091)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"g\",\n d: \"M728.794,399.072h3.467a.1.1,0,0,1,.1.1h0a.1.1,0,0,1-.1.1h-3.467a.1.1,0,0,1-.1-.1h0A.1.1,0,0,1,728.794,399.072Z\",\n transform: \"translate(-728.698 -399.072)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(4.053 12.283)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"g\",\n width: 4.238,\n height: 0.385\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(3.282 12.669)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h\",\n width: 5.972,\n height: 1.541,\n rx: 0.771\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.319 14.017)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"i\",\n width: 7.705,\n height: 0.963\n})))));\n\nfunction SvgBadges48K(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 60.001,\n height: 85.226,\n viewBox: \"0 0 60.001 85.226\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBadges48K);\nexport default __webpack_public_path__ + \"static/media/Badges-48K.328117b7.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fc0;}.b{fill:#cf001b;}.c{fill:#a50c1b;}.d,.f,.g{isolation:isolate;}.e{fill:#fff;}.f{opacity:0.547;}.g{opacity:0.553;}.h{fill:#ca9f18;}.i{fill:#353536;}.j{fill:#af8a24;}.k{fill:#151515;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-631.469 -289.559)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(631.469 289.559)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M641.469,299.559h56.154v59.293l-27.648,21.583-28.505-21.583Z\",\n transform: \"translate(-639.546 -297.636)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M661.915,374.784l-30.446-23.053V289.559h60v62.154Zm-26.594-24.969,26.558,20.109,25.737-20.091V293.412H635.322Z\",\n transform: \"translate(-631.469 -289.559)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(637.384 295.362)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M662.227,319.733h48.388v52.823L686.79,391.783l-24.563-19.227Z\",\n transform: \"translate(-662.227 -319.733)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n className: \"d\",\n transform: \"translate(650.792 340.602)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"d\",\n transform: \"translate(0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M732.943,562.469a1.431,1.431,0,0,0,.724,1.3,1.6,1.6,0,0,0,.78.189,1.753,1.753,0,0,0,1.384-.676,5.566,5.566,0,0,0,.812-2.746,2.1,2.1,0,0,1-.934.84,2.97,2.97,0,0,1-1.2.242,2.684,2.684,0,0,1-2.06-.811,2.932,2.932,0,0,1-.758-2.087,3.339,3.339,0,0,1,.749-2.156,2.666,2.666,0,0,1,2.208-.93,2.716,2.716,0,0,1,2.718,1.773,6.245,6.245,0,0,1,.415,2.439,8.038,8.038,0,0,1-.5,2.93,2.876,2.876,0,0,1-2.794,2.125,2.706,2.706,0,0,1-2.007-.692,2.367,2.367,0,0,1-.686-1.737Zm2.948-2.293a1.875,1.875,0,0,0,.557-1.548,1.979,1.979,0,0,0-.5-1.479,1.751,1.751,0,0,0-1.274-.487,1.664,1.664,0,0,0-1.318.556,2.173,2.173,0,0,0-.487,1.486,2.128,2.128,0,0,0,.428,1.4,1.671,1.671,0,0,0,1.365.518A1.93,1.93,0,0,0,735.891,560.177Z\",\n transform: \"translate(-731.691 -555.41)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M767.592,562.469a1.431,1.431,0,0,0,.723,1.3,1.6,1.6,0,0,0,.78.189,1.753,1.753,0,0,0,1.384-.676,5.565,5.565,0,0,0,.812-2.746,2.1,2.1,0,0,1-.934.84,2.972,2.972,0,0,1-1.2.242,2.685,2.685,0,0,1-2.06-.811,2.933,2.933,0,0,1-.758-2.087,3.338,3.338,0,0,1,.749-2.156,2.666,2.666,0,0,1,2.208-.93,2.716,2.716,0,0,1,2.718,1.773,6.246,6.246,0,0,1,.415,2.439,8.033,8.033,0,0,1-.5,2.93,2.875,2.875,0,0,1-2.793,2.125,2.706,2.706,0,0,1-2.007-.692,2.367,2.367,0,0,1-.686-1.737Zm2.948-2.293a1.874,1.874,0,0,0,.557-1.548,1.979,1.979,0,0,0-.5-1.479,1.75,1.75,0,0,0-1.274-.487,1.664,1.664,0,0,0-1.318.556,2.173,2.173,0,0,0-.487,1.486,2.127,2.127,0,0,0,.428,1.4,1.67,1.67,0,0,0,1.365.518A1.93,1.93,0,0,0,770.54,560.177Z\",\n transform: \"translate(-759.676 -555.41)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M803.7,554.485h1.221v4.524l4.624-4.524h1.75l-3.949,3.73,4.031,5.513h-1.638l-3.311-4.644-1.506,1.423v3.221H803.7Z\",\n transform: \"translate(-789.854 -554.485)\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(639.541 304.312)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"f\",\n transform: \"translate(3.229 10.087)\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"a\",\n cx: 0.962,\n cy: 0.962,\n r: 0.962\n})), /*#__PURE__*/React.createElement(\"g\", {\n className: \"f\",\n transform: \"translate(3.229 15.279)\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"a\",\n cx: 0.962,\n cy: 0.962,\n r: 0.962\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5.804 5.172)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M731.4,394.717H704.482a.865.865,0,0,1,0-1.731H731.4a.865.865,0,0,1,0,1.731Z\",\n transform: \"translate(-703.616 -392.986)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n className: \"g\",\n transform: \"translate(5.804 10.263)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M731.4,421.191H704.482a.865.865,0,0,1,0-1.731H731.4a.865.865,0,0,1,0,1.731Z\",\n transform: \"translate(-703.616 -419.46)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n className: \"g\",\n transform: \"translate(5.804 15.355)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M729.217,447.667H704.482a.865.865,0,0,1,0-1.731h24.735a.865.865,0,0,1,0,1.731Z\",\n transform: \"translate(-703.616 -445.936)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(19.759)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.58 0.577)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"h\",\n d: \"M792.242,389.321h-5.415l.381-.82a12.381,12.381,0,0,0,.769-2.191,3.777,3.777,0,0,0,.047-1.246,9.431,9.431,0,0,1-2.285-2.25,11.3,11.3,0,0,1-1.459-.207,4.351,4.351,0,0,1-2.394-1.156,5.775,5.775,0,0,1-.92-1.931c-.256-.735-.539-1.673-.841-2.79-.512-1.891-.91-3.671-.914-3.689l-.016-.074,0-.075a1.26,1.26,0,0,1,.138-.5,1.049,1.049,0,0,1,.962-.572h2.242a18.876,18.876,0,0,1,0-2.189l.041-.532H796.49l.042.532a18.928,18.928,0,0,1,0,2.188h2.212a1.048,1.048,0,0,1,.962.572,1.258,1.258,0,0,1,.138.5l0,.075-.016.074c0,.018-.4,1.8-.914,3.689-.3,1.116-.585,2.055-.841,2.79a5.769,5.769,0,0,1-.92,1.931,4.287,4.287,0,0,1-2.327,1.141,11.146,11.146,0,0,1-1.495.219,9.429,9.429,0,0,1-2.287,2.252,3.787,3.787,0,0,0,.047,1.246,12.292,12.292,0,0,0,.77,2.19Zm-10.6-15.361c.144.581.364,1.45.605,2.345.245.912.464,1.67.649,2.255a5.946,5.946,0,0,0,.471,1.239,1.6,1.6,0,0,0,.877.466l.046.013a15.051,15.051,0,0,1-.656-1.848,29.925,29.925,0,0,1-.908-4.469Zm14.7,0a29.974,29.974,0,0,1-.909,4.469,15.089,15.089,0,0,1-.651,1.838l.037-.011a1.569,1.569,0,0,0,.852-.459,5.96,5.96,0,0,0,.471-1.239c.186-.585.4-1.344.65-2.256.241-.894.46-1.762.6-2.343Z\",\n transform: \"translate(-779.194 -369.096)\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M788.9,386.321a12.861,12.861,0,0,1-.812-2.32,3.971,3.971,0,0,1,0-1.717,8.326,8.326,0,0,0,2.5-2.453c.43-.021,2.815-.183,3.7-1.184.972-1.1,2.545-8.153,2.545-8.153a.531.531,0,0,0-.523-.524h-2.825a20.178,20.178,0,0,0,.041-2.721H780.678a20.246,20.246,0,0,0,.042,2.754l-.01-.033h-2.848a.532.532,0,0,0-.524.524s1.574,7.051,2.545,8.153c.907,1.029,3.4,1.171,3.729,1.185a8.325,8.325,0,0,0,2.5,2.451,3.971,3.971,0,0,1,0,1.717,12.88,12.88,0,0,1-.812,2.32H788.9m-10.43-15.361h2.334a29.41,29.41,0,0,0,.949,4.888,13.862,13.862,0,0,0,1.116,2.782c-.509-.055-1.951-.266-2.411-.926-.562-.808-1.988-6.745-1.988-6.745m14.919,0h2.3s-1.425,5.937-1.988,6.745c-.451.646-1.844.862-2.379.922a13.843,13.843,0,0,0,1.114-2.779,29.453,29.453,0,0,0,.95-4.888m-2.681,16.515h-7.221l.759-1.64a11.5,11.5,0,0,0,.727-2.062,3.33,3.33,0,0,0,.063-.81A10.135,10.135,0,0,1,783,380.947c-1.155-.107-3.024-.449-3.983-1.536-1.054-1.195-2.313-6.458-2.806-8.665l-.033-.147.006-.151a1.667,1.667,0,0,1,1.677-1.631h1.643c-.027-1.017.019-1.622.022-1.656l.083-1.064H794.59l.083,1.065c0,.034.048.639.021,1.656h1.613a1.667,1.667,0,0,1,1.676,1.631l.006.151-.033.147c-.492,2.207-1.752,7.47-2.806,8.665-.948,1.074-2.8,1.421-3.95,1.532a10.135,10.135,0,0,1-2.043,2.021,3.36,3.36,0,0,0,.064.81,11.437,11.437,0,0,0,.727,2.06Z\",\n transform: \"translate(-776.18 -366.096)\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(6.163 20.665)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"i\",\n width: 9.616,\n height: 2.5,\n rx: 1\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(7.51 20.087)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M815.229,470.543h6.731v.577h-6.731Z\",\n transform: \"translate(-815.229 -470.543)\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(4.817 22.78)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"k\",\n d: \"M801.614,484.543h11.347a.385.385,0,0,1,.385.385v1.154H801.229v-1.154A.385.385,0,0,1,801.614,484.543Z\",\n transform: \"translate(-801.229 -484.543)\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0.978)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1.215 1.18)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M681.3,384.558l.845-2.5.092-.272-.235-.165-2.247-1.581h3.133l.091-.255.88-2.463.88,2.465.091.255h3.127l-2.242,1.577-.235.165.092.272.843,2.5-2.343-1.519-.209-.136-.209.136Z\",\n transform: \"translate(-679.76 -377.317)\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M676.918,378.679l1.428-.926.418-.271.418.271,1.416.918-.49-1.452-.184-.544.47-.331,1.248-.878H679.46l-.182-.511-.518-1.45-.517,1.449-.182.511h-2.189l1.253.881.47.331-.184.545-.492,1.458m-1.436,1.847,1.2-3.551-3.241-2.28h4.078l1.232-3.449v-.057l.01.028.013-.036v.072L680,374.7h4.071l-3.236,2.276,1.2,3.545-3.27-2.119Z\",\n transform: \"translate(-673.44 -371.182)\"\n})))));\n\nfunction SvgBadges99K(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 60,\n height: 85.225,\n viewBox: \"0 0 60 85.225\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBadges99K);\nexport default __webpack_public_path__ + \"static/media/Badges-99K.799f0c1f.svg\";\nexport { ForwardRef as ReactComponent };","import axaBadge from \"../../components/images/Badges-3KAXAPartnership.png\"\r\n// import x2 from \"../../components/images/Badges-X2Daily.png\"\r\n// import x3 from \"../../components/images/Badges-X3Daily.png\"\r\n// import x5 from \"../../components/images/Badges-X5Daily.png\"\r\nimport RefBadge5K from \"../../components/images/Badges-5Kachievement.png\"\r\nimport achieve10k from \"../../components/images/Badges-10Kachievement.png\"\r\nimport achieve21k from \"../../components/images/Badges-21Kachievement.png\"\r\nimport achieve42k from \"../../components/images/Badges-42Kachievement.png\"\r\nimport achieve100k from \"../../components/images/Badges-100Kachievement.png\"\r\n\r\n// import {ReactComponent as RefBadge5K} from \"../../components/images/Badges-5K.svg\"\r\nimport {ReactComponent as RefBadge6K} from \"../../components/images/Badges-6K.svg\"\r\nimport {ReactComponent as RefBadge19K} from \"../../components/images/Badges-19K.svg\"\r\nimport {ReactComponent as RefBadge48K} from \"../../components/images/Badges-48K.svg\"\r\nimport {ReactComponent as RefBadge99K} from \"../../components/images/Badges-99K.svg\"\r\n\r\nconst Badge3K = \"3K;\r\nconst Badge5K = \"5K;\r\nconst Badge6K = <>;\r\nconst Badge10K = \"10K;\r\nconst Badge19K = <>;\r\nconst Badge21K = \"21K;\r\nconst Badge42K = \"42K;\r\nconst Badge48K = <>\r\nconst Badge99K = <>\r\nconst Badge100K = \"100K;\r\n\r\nconst Badges = [ \r\n { value: 3, ref: \"3k\", icon: Badge3K },\r\n { value: 5, ref: \"5k\", icon: Badge5K },\r\n { value: 6, ref: \"6k\", icon: Badge6K },\r\n { value: 10, ref: \"10k\", icon: Badge10K },\r\n { value: 19, ref: \"19k\", icon: Badge19K },\r\n { value: 21, ref: \"21k\", icon: Badge21K },\r\n { value: 42, ref: \"42k\", icon: Badge42K },\r\n { value: 48, ref: \"48k\", icon: Badge48K },\r\n { value: 99, ref: \"99k\", icon: Badge99K },\r\n { value: 100, ref: \"100k\", icon: Badge100K },\r\n]\r\n\r\nconst badgeForRef = ref => Badges.filter( b => b.ref === ref ).shift().icon;\r\n\r\nexport {\r\n Badge3K,\r\n Badge5K,\r\n Badge6K,\r\n Badge10K,\r\n Badge19K,\r\n Badge21K,\r\n Badge42K,\r\n Badge48K,\r\n Badge99K,\r\n Badge100K, \r\n Badges,\r\n badgeForRef\r\n}","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAABWCAYAAABVVmH3AAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAVqADAAQAAAABAAAAVgAAAAA6XCzdAAASbklEQVR4Ae1caZBU1RU+r5fZV/ZhAIfNEFllRImSaIylxkJAo1juaJkY/aFJJeWSxIprZTMV/aMmLiHGHRMNYMokrrEEC0EYBVkGZGRA9gFmGGbp6b75vnf7Mq97Xu/dM50qTtXr995dz/3uueece+6bsSRPSK2RevGUnSHegoli+epEeWvF8laLWOViWaW4ivEsEgp14tYuKtQmolpEgntEBZqkJ9AoqnWFVS9r8mFI4HRgSG2QAukp/R5wu0W8RbPEW1Ik4smQGQWcO7ol1PmJhNqfFt+RZ63J0p1ho2lV71dg1acCCay8WaTkGvGVTBJPsTctrpOtFOoKSejYFlEdL0l7yx+s2dKabNVMy/ULsGpt2Tnir/iTeEoniqcwU57Tqx8KQI20bxPVfrs19dAb6TWSfK2cAqs2lk6VQMWL4q+aDH2ZPFe5LKlCALh1i0jrtdbk1lW56ionwKrVUiOFw5eIt/os8fhyxXtm7YaC0MdHVkuoZaE1vXN7Zo31rZ1VYNVaqRJP9ePiH7IQSz5TS9SX21ykhAJKAi3Lxdp/vTVNDmWri6wBq9aVzxXf4FfFVzZASjRDSOhNyKGrrcktr2bYkl09K1KlGoY8LIW1SwcMVE+5SN0SkcG3iBR+LT1cvMUF4h3ximoY8Vh6DUTWykhiVaMUSlftSvFVnWo775Ftx38jGCWn4ZoFMCaJdG2CwDwnEvgqfj233LJzRWof7c0Jwatqe0fk4OPptRds2yg9nbOs6XvbextN7SltYNXq4jFSNKJBfKVVKXU55FaR4jCgbhV33S5yFKCkQjUPilTMF+nBpHRiggi0oT2/EDnyD/OW/D3Y0SaBfadZM9rgQaROaakC1VB0rhSPbEwZVPJXfY2WUoLQigETSF5dmzX3w+5IfRSUehIBZFuNZ+q2mcb2uDpSJW9xuRTUbFBrKy5KtSrLpwysWlt8h/hHvyXUSemQkUYu+d2QJr7z2v1z3Zq/NjU9SZ3qG6nrtr2t7wwj7P2NfvZUiBRB1aRDngKfFNUsVw3ld6daPSVg1brC86Vw1K/hSqWtQuTYx5pHqgOnJBGMdMhIK+s69XO5Qx0EdqXTsq5j+S0pGPkQwJ2XSiNJe+9qQ+EEkVHLMwKVnNGojAizSFAINI0YdS+pY3WvWtAp8X/Lv9ObP3GFNoJBTFJR2Dtge07Ae0sn/0Rw/TV/UxvUdGvy0c+TqZiU5KlNUi4943YhcJKGsnJhow6uIpcwJYlL3xD17I4bsOVMUnop8QSTRHXCJW/UAtOow6kSErVneyiYZKOmWNeNgp3HpGz/KOukI4fcsp1pCVWBUoh+BkauzRqo7N0MgKAaI9Z8o0jTZYlBcHLvVAPU19su6JX2fQCUaYlA5QTTB6a75mzP2Y959haVSFvFKhsTkxbjnhBYWVexWHzV42PUj0wmk9SdicjoWZajhBIAZ1qi+ibf6FFKugGQ/jApGYNFIMc8o1cN6/vDRlC34P7rq5wgDYNecs/sTY0LrFrjvVoKa65D9L63htsTGRz3JmYeS3zMn7E8P4QefSDSODnrEUQDhNPndJZJ5tlImFkBrEM/lsRJjkeV80VGA1R6DeSFE5ysv1s4bKFa40eF2BQTWNUgw6RgxDPi8ceuzRwOjgw6dSWZrVwgMh5gxxqgkVADTvxe3HO59KlCjrzem2/8Ye7mYtGwOzHx2FSQWJ4qyNTTqfF/Ldj8wpo/qo8EA3WnmMBKqOwR8Vcn9lW56yFRp22eqp1zbiVJBJhLzQ1cI2WZSCz74AQ5rT7fTdtuk0Z+uUkh0WOgpDrrM531Em1UfBV+Ka5+gsXdyHWN4whlnPgmNIqnKDbwbM1Iq5l1Zw8Ek2qBFpfW/4sLnblan1GqDAiRudl5o850gmb4Zev0GKjbo4kqwkgzBeRAnJiM6g5JT3OdNbWjOboZd+CsES8nBNXZktGXzjSCTWkgUU2QYSdxwLkElX05QeW74YH9uoEarSKcKob1o8kqAH7Vf49O5nsfYKGU66EC6t0K90kLhs/m6Am4LXeCS8kgOXWwTun/XwN0tD7lqqp9JLGKcOPYX1mv1pdOj87qA6z4B/9FxOuqIqIr2wrfMBlLl5rB9Kk8AAnGYyj7tlZRZIGgkvey8A6OgsCV5rYKXVkGVqriueisCGDVKt/Z9sFfdKl47yZ4YgyV0xiR6Yp5urYZVLy2cp1HFcCLut3eFEBKbc8l7EEwxOimIhLx5auaotb6YfF6KUIyVcPQLTgEnNibneQTdRf1E4Ek0UmndSbIVAHG+urcgf0lj8PBK+O3hiidBDQTnd+9b7M1bV94hhxhfzseoCYcFiuBJ2CYib5Tx9Y81FfXEtSdt6WwtKIbztE7+WUAhx4LA0NJL/0Y/IS6lLQ2VpmPQo5LrPq0+i4pqP1VjGrJJ9Ol4UWi1PLqF+JQ8InRQFL37nusaQdtx74X2PWjcSKAfXAs4rLOZKnEajftdGMeQohojRApGItJXJl2a3ErUlDMcRJ3erGop3WbNWWHjaGPZfCBhV+8peNjlbfTB12rJZE7rHyggpM0oJ0Nmi9PcfaAdQJpVp8ZM99jrUJv6ThiaZ0mARtY8Q9FoMV3XHpNGxF3zhgvNpoPkuuvESmdA6nogpH8JvhaG8FuSi/xgIxuyBjo6HS+W3C9ioYswnbtSQ2s5b/SrVxEGsGkOqh5AEELWP1o/5Qd0j9kKO/I0szBt/wI/U2BVA4Hw1j2XdsQu90HI3MM70XImwx3exCk9QzNpkJ6umROjp31GSemENGroUCR6I4lFKqCK1AyDKzHH+bOru7+Q3dkLMKCjNAzKNx0uXavDJjGwWbtXT9ybyOV1OKZIlXog8D6hmrr3bocA/svwMRAqVODRzBwSG7wKPJ3p9J6ZFkbQIyLd3NRcOy4QdgtS/oYXWNpQSdMkpJJG5P6eM0ZWKGv6haa40cXmeph2xiNBnh1WOo9IoNuxCRCh26/FNIzAwO+GNJ7gEsP+TBeOOSQ/b/TZSMhS//NBvVBXT9pUFE8BH6Pbfq6T6ySs+OCyiXOKBG3rrwIGqM/BlT6f1we9AUTLpMkx1lyupbS4CFII9qnHu2GRFZcABUwDdK5Bw3BtVKdGvyW5/sX1OiomXNY/LrSKvqWT/zFUGRxiIqdS5+OtFkmdPqpd/gpT+NZcSqnmcUJpOtUNB2BkYXopx3ANmsQg4fRaBASXBpWEQC8G/o3W+QmqdHGLdFOEpgCXv+EuDyxUZId+mP4b4F+5y/jAwwIH3gcg4dkZYu6tqKfubguQx+FekIJrn8MDFY1Vs5G3TeltnM9cIZkZ4OcoFLVcdtrYrPO9o0xc6ZFPBdOsNT60euxMZgckR79YrZ/Zuai8/lORghwNtQBDSJjDwSYExaAtNITqERAp2sLYg8NeuvcA5XQshj5MDSZEsfIM7tYZLwEs2rj9Rk4vA4SK5Wx2jqebvSrSSDAdL14J0Mk6txkTjlpbBSWMpczv6qOIG5JC7D8r8MdBqnjM/RxKqQSAJfPRhIMWA9UQRCuFXXvUaikdkwoda2F8jRm9if54but7+C2JUMco5NSAdJZj8+WbzCMF0UhRTKzxmo0bgS4pB6DXKEHzT+kUN24YHTsexhEWvhERN+VaodB9MBe6HIASy/BW6Xb6mpCC5CHDgDaskRLc6I26QfzAFAbFjxjyF6oGB6UWphIQzTMXCEcXzyJNOVj3S2r3Ac1VRIrPyKdoNiAAbQgJER16HdKXuvKiKKZvRB8tOkbgj7YJwZKQ8WdlbcMF/Q6vQL6s3S5kiF7lWCiQ7gE0h5NtqQD5M6H0Bfg8GJlEHCPA/ToOnHfvSWQWNESy+WJP/qzO6eUkQlFycNFQPuLuncANEh+1SUwHucBh8+wGuBiCUDuhNHibovS17UdvIHfbBDHbsYvmEgnGdBt6aaE47I/CQjf3cC3PH5uEOi/JNazzs5y/Vw8FS4epKdsjlYJPoDJrWzbB+gZOpqSSlWxH8aSE5F/dMQDVYB1lWfUAReq6SZsjX+mdR1BpaRWnA9w3wWokKrCsZDqSyFB0JX5RsAUWj0PgaV/yoBLG/Qo4wAHn4Wheg5LELqPoHKX1/oWDBsMHfVv/lG+AhtGikD6h0Ja4RG0f6KXP0OE3bu0j5tJ4CW3kwFgrXyU2PCoQ/A8qBba3kcocjkMGcDt+gIA05eF5B79ECoXZfKNgCnMa74CCye/+BQdI2j9T1g1vK09AsYtuMXNpmeQ3cnJR4mF2vfCSaEfW3omdOuLAHU/AIVPeXiZ1qvcIDAWG2wBHNyt5RnlncTSJ6yE/zpoIUCD0aK/WjBGgzj4BjzXan077FaogY+gGtYAUfig+UYhabLUOqmF790M3rDZHmDyYK9SeDKEEJsBO5ANoGn1ucsrglqgfuVOzDsY3EKyqQpCmID8kloFPKs81gyBwpJVAwyp7r70Gzrm0N2kdSpBLJuNoMxlANKvgeU+nzsxBmeq5gP4krxg3cHEKn60gWm36XVHxsA98vyKl/MjSP8oCCS21Ma1Gnoz3kPwY2HIOjfjOe9UgY2lBtYrbw4cms6eARjjFGZp489T7DAgI2e+auANaS07S28QAjuhYz9G0SzFC5xsZPIcxtIG1jpV1mEs4DSfCIaLxNBj67+xQYChYpCI+teWambCJcsv+srGEjyFube5ewO/WGcDSFzy3GUNvg4bgw3aG+AGILAPYI7Q73t/D6/hSkjtcO0ltK+GPt6rywwg63bXSpYZFo57AohyLUDiaybjxD0tBC7B50UOHcs2euQd/GLdnaA0EegOY2hXN16BhL/rfC/NRk9UE3nXfBtLMI4DayOj5KcnEEoTAZ/8xFkzAlhrlqyHd/Cys8CJ5yQQAGbYaMHa9tJx42WS8L+z6qArtmKDm3e+jOExr+4KwQqvjLdmypdOviIklhnww5pwe4rPJygpBJ6KBpW1+kgsE+0/UO7GDJgTXCaeoL4IKOmEtI4BsIhrRlIfiWW2NV32AdRHI4ueeOuDADByA5XlXCWWGfafjPtkBx7z62iczOUD4Y+P8A9dRlmToj9E0MzFBJbZ+PfOCwfESyg/B507TgZ4WlCAKFc1jru/uh/HNU1kD6cJM/DHcLdjq3sY6ffpu87J/a+Sy+FFvRqrI2esoE8Z/L/rV7DVnYmMO/tk5iqBsYJxS7CWHKwxoN3xKWII1+ujcAJLUE9GUI7HOM1wIe3vZnPFVFS7Su6LBypLO7iPqmxe6+VuWS11UBpXmKSc3ksAGM+7Wv+FwMoe3RVPap3fRxtQ+fUhQd3/WE5Zimp8CUC9Nyqtz2tCYPF1pFLbZZEckJMBLsL2OaaCOh3FOrpSL3kefVNC6xbrjgnq0B/o561zcfb1gX7uj1+F8OoQQegtMSUElk1YY6UTLtg8CQgO9mVo4mYzKEH9yuOWmrugZxn4Rgx29696Gxz+Y33AyE+N+hNUrAt8unsxsehlJvaTq7vlVhwu2E4YskuQh6BpDom6kkcujd8V2YTTAn5oPNyxDeen853YPZbOFhkJQ9Y/FIC/usDGIMn+kgaW7UG3fIjbbUm2nV6xw6/jz46uRSD7PRisdVoq+bU2A92kL38IwOdodTHk+9qI6Zxc/t6GHemKVDpICVg2jEDuE4iJnQfpPZhKR0mXpS4d94I+SaCHQGMWbO81ZPbnRYfxp/oIxPHbrrEoz3K5ID3Gc+0xp9h+ysCyfew23sbSqMfjphT7S1x8z2+1Dp38uciURnxnMB5fwzzftx7T7C8Op2MiXuybn2mKks0w1jMBKpR56pSU8XJrloEH/POI0+Wo/BX5893KpJVG16kToA5epKsfXKzVAo0avYMuXIa+vAll4YqRKLXZ82WXY1d1Vaxdle4w/i+UV2Zk/wPFNUKz3X+biMxYTlT7YazFO+hmJioYLz9jYE3j2KFdhecnceXdpymGx7h3JR2wHYu424xbLsnMtHSsW9vQRS9AJ0HhCRUiHND/E+KXViJPg/dJ2QKVI8+axDphVJ/IKYir34/WETXJTR/O/tJ85uS/BO5+CUC3ptlGzGo5Adb0pj7GFtiSB/F+kUnLg7uC9nwNXs09MMCwkrmhnAJrWEb4cTYGcw/eBxZgJUvBw73Y6Kw1vOXq3i/AGubDwfO5AHkeJPlCpFeavJzclfCT73/CKC3DRvxN57l/TvpzNNqvwDr61f85SWSODbLYQI9z5qf9rOQLTNoyXEsRSX4fblMw7bYyqDhgwEbzDHetEtHhUYBhNMAeZV8W7vh/yrj0OytZ9leRDAjtxFuz/c60EC5LmuGd4Lhh4Ol/1FngSXZ561wAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFUAAABVCAYAAAA49ahaAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAVaADAAQAAAABAAAAVQAAAAAuZg2JAAAVnUlEQVR4Ae1dCZSU1ZW+/1JL03s39EY3CDQBESMawSXIIqJk0GYxgx6dY8a4JC5JzETAHKOHo5mTaNRxSeAgmMk4JhNRUTBBCCoqAoqoaAAhNFsvdAO977X8/z/3e8Ur/qqu6q7qrqYr5/jOqX7vf8v97/vqvnvvu+8VKJQEadNv8lMVp2uhqpsXO1RznKbTGIWsLFWlFM6dikI6fxTLIos/fosUr2lSh2UpjX6TDpuG9pXXr+5q0TvWL7rnVNtgT0kZDAasZaRuK8ibZViO21XVmu7QzTwGsN+8mKZiMbi1lqlsIcVYOf2HNR8Mxvz6PZF4mH73meGzNJf1sMthXsYgOuIZ25e+DLLX51M+URR1+bezq15WFpHRFzrxjjkroL63YvhyXbO+53SYQ+JlMFH9DYsMn099M0/33jL+trrWRNGNRGfAQD34LLlqnIVPOxz0fU21nJFePhh1hmn5fYa+2hhb/aOZM8k/EDwMCKhbny94TNfop9pZWOJ9BcVvKF1+Pz0y7Yc1v+orjWjjEgrq+8tHfM/p9D6naZQe7YXJVu/zq/VdXrp11j3H30wUbwkB9YsX81Nbvdo7Ts28JFGMxUPHmVZC3rbKeIZ069vl0zZMu7N6breGPlT0G9RdL2Wf7/O4tvJSz+zD+xMy5Lyyt8mVVkwttdup6dhGaqzcSIa3JW7aLLXHNWq+6NI72k/EPdg2oF+gbl9d+ANNNZcr7LPYaPZaTC+4nLJHXEPIh+RMFP0bK96i47ufpI6Gvb2Ot3fQnBl00U0H7FWiXFf+MlXsfDhucOGGmYZRdvmdJzd1IxpjRZ9B3baqaDk77XfF+B7RbWjpDTRq6tMhQwDikJzzRJ3hbaYvXp0SFxB2mvs3Xs9f1hxCHcDuaNhDqItXarFz8/jonmk/qF0RwmyMD3FJmKS57fmiTfECirF+Bk0mSBEA3Lv+KvHBxDVnpgBE9oklh7QjNVVspFZe/gG6kwWQWAXZI74TC5mQPtgSuxy0/P0Vxc+FNMT4EBeoa9aQ9uHzRXsdDvPqGOmHdMOkZQKI0rhAWmWbi41OPAmSiQR9KhNoe04brnjpSRoMLKW4/fe+u7xkI+Yt62PJ4wK1qHn427wrmhAL4Uh9MNnW2h2iSUoYHrBUpQqQYEQaH16HMRiLhHJWyTWijOUv6dnBFo1x/kl1e68ZWlfyTDzD9Fg7b11VuNKpGzNi7R+tHwxSesFllMEfgJBRePlpHZgpjBQMTKwJ4MmEsv0Z9fgC5QqQ/eLN2QhTqtt3D2+19864qzomHRuTpLKV/4lLt+6Ml6FI/eUk4VuOnfUHyp9wp9CldeVr2KgsjMuoSGnH2CMf3hdcBd62KqFbQa+3BIk+r2xzUOIj9ReqwGX87v0Vw6+M1B5e1yuo21cUXahp1lPhA/v6DP2JSSNBkgDGZ38ax/lP4gIUX4pc4pB+SDhyJL+3iU7sWyXKPf2BZI+f8xrTmUhjr/xDT10Jxkt3mBu2P1Wc02NHbuxx+e9aWTTEq5kfsM7uEXzotaGliwRz0Im9LTvoOfRHime5iwGn/2Sctvp4hOVHkj6u9H1FZZQ/+RPuoBFTHhGtGFex86EoPc9UOzTL5Uk1P+eakWdqu5d6BLVLoR1OjdK6DztTA2nBtw13yJ6wzA+zFEoLH94GUKFb+5rgnkkwJQ2pWvAM1WB/ln2Qj5r6TPBLBaDxqB2X0xzxzvKSNbPurgxIhZ3w6XJUCdy6vOhWtvTfjDAmWAUJlYBigvYdESY1kXWVXKLBQVyQyxR1WaddInt7LGW87+C7t4qPvf8ZaQ1sKOxtkt8zq2RN0Ee294Nq6Smx4frXjc+WXBGtT0RQEQt1uMxeHd/hk+4XEionWL37CcEkJiudeYAezqR0rTAO5UQm6GZsACKl0Syh0rhBANA3PEElXPDdnRGFQfZV4cM6jZfkc3gecZv64aqi1U7dvC28c/jz+DlrxRLGVjB8qQXUwlphVQPWufsEwukN5DP4QeAFCcYxXJdDigGodMukoPTEU3u7fsfMe6tWh/fpJqmfvTC0KBZA7YTsRkPWB5R/QGLkcpNtg5HL1QIjGglQrCgJKIQAq6235HQbEb2ibqB2GHpMDi5eKHVj/oTbIy6XcOZ7Y3Ig26Wa0Zyh8XNIcGC5B6JlkOJIaiESb+wNpG9ZUbQsvC0E1L2rM3IcOl0b3inaM0Cz685woySlQ04oGp2zUQ/1BCmFu4VIGXgbOmZR0NCCR0hnvILg0mkJR7VC1GhIoODGubl/dujW+FgnaRkeaq7eQrmj5guDlTfuFjHUw849Ahljpq8gR0oenTrwougXK92B6gf/OIejVjBWBeynZo/8DqmaWwgG3CqAHm/iewuO/dsy01/c0Po3OTaI8JbfDUsb4taaOdwcIr2yY085JBQ7EidH38NTvH5g+PhEPwcM0qMi7grajeyBwPHvz2rq8qidV9QeT1OWkQmaQVC3rcz/scOpxBWNAQGZwGwB7+Oh7AEumMRWsXbf8/1iWNJP5pxj2tTc5pp69Y8qtoHPM6CuKtzPS39cMjMfiTd8mbormzytFdxsReqSkDqsRrmxiESwvVN7c+bd1WVoE0t91/8OLewNUPikSZNYRw3JOZ9UPYXcGaM5jPhtDnjErbV6nA5AhFdTeuXv+Qxsv/Bx5cYh0kCn05wu68Xe3+9XF/TEEohhnw7nONpuRRI8G7miOiizeCZppzIoJXMsG8Nh/X4tQMQcMVf43eGxDLwA9eGbHPlidq8y3vlt4chZ99YcE6Aafu1mVY++dOSRBCI7sKDYbURKWIpgKlp7pDFR6xSNFFVn/aTy/Uk/WSZu6AR4dKUOp7RhF5GqOkl3554mEdRkUUlGasBWGxIZCUTYBcwJCUsf9qGnpKr6fdz+UwGqppmTbeq12zj4bgALO6PR7OPtWT87GH3CS7NL5lDWyDnikA2A9hdUAJVROFVIjnNIAXU0fiXcnU7OLb6YOuwbNwvjB3dN0ZzUdupThlsY3m6891aBaJcEFHFeCA2kESex8Gfh18bqwSiqeZ0A9ZPVwy60FKXXa41wO7BE8BnLeubE3lVBIO2Mg6n+JIWlz5U2glKyxpFleLk8kqXyW2T6u8jf1SCABpiGr5Vfw1eC/Z3U2cjn/uyB9yXBpYJEgm8ZpoSgYNsKQNEWawCdb+iM2rWSHHqHqc5NCdkCRGZNEofBEruSK854X2gDc9i29ldK3RnniKVtMlj1h14jB0uq5khjCfVRRtE0sanwe5oY1BaxsehsOkidTfuZ6b6BCiDDd1EjpjwaBBSbgp6svh0tXbfUmpPFF/K1USWw6bW32srQo5DO1prt1HJihzBU8kIEdiDQM/0F0vY6oTs7mw6Qt72G0vInC4A7G/eTM7VISKvha2cJ7iJ35hgBtKf1KJm+DjuJfpVlABuCYgdUGmudg/E9GWtXqjJZV1WltKdvGc48QJURHOgafLuBfb2VUECBRlfLYfJ11RO2vIXn38tL+ytqr9vNutNFmJDf0yg2FwobMk9HJXXU7xGGrF9Inh5sBxSxYQTQ4fEAUHvqCVT+zcJE7bZ56b/kq+Kp9kH2spP1F3SX9ACgz6RiRx0uM6AOq8/bXmUf2qey7srhndntfHw9m4HUeSWsFlLqTj+Hv9wJvNQPkMM9lD0DjdpOfkrt/CVbprdP77IPkoCiTuUvMHP4TOFCyXmjHmqg4cg66mwuj7pLNAytXVcVKzQWhtG2hG9MJnxjABE5pBcJ+hUfmkTiGo9U9nJMXDlLH3zFLL68BgnU3TnCqXdwnpI9XkgpXCtYfF/nSWqv/5KXfmJ+jBItJgxPQHoEUAm9JVUxC/FTmhjMVIBUIHwWsO7SJwUz8r6SHVCTJZc3FWRaCvFNOpHDQJumSgZ7P6gPd+NgkHIzLiNLSaPGpjbKHJFDqcXXM7iZpLmGUuPJw9ThzyHV66Sqg7up9kg9G6w0wRxHi4gFhH1XW44yLyG+Hs/SZ5GumfyJbNAAnLAdcYLYDWSFsnTmg73sbk1RKwCWwcB42tup9eDbVHXgbV5+j5LqyCKPx02moZCfQTSMnvZokck7Vdabriy29imsV5tZV5qUU3gBtTUcpa62k2yoAsu8tb6cGo7vZkDPGCjxxWEiRmTashbA8+U6BtoUQOMZ5f3v/gfx/QYBvOzbl5xppOn8VXabPfvXAjiDwfEzOMh9fo0/LHlcjpw6uVrsJSI3x1BrcHy2o+U4Od1ZlJYzmuoqPqKCMVeSz9vG3sdBGpJRTOm5pVT+yQvUyf36krBCPD4szugL1KEb5HQYpDPYABqSDuD52n2vib8kt97a4TR4WWoAC6ABxMDS7HV8wjsYvk46cfgDGlpyCRWWXkUN1Z8KkFOzRvCtkzbydjWxXm0jd9owNlaZQpoTzgQTDAhQZAR598lg20EOVSesTi1twfShd3v9ehoIYVmHnQwMBM890vR01FF74zFemg7K5qWvO4aw5GYKa9/ZUsNANtGwkZeTe0guNZ3cJ/zaHgkmuJF/uilw8hkaeVniwz8er3qKMVdqE/zefpGDda+v+oT2bX2Kmk7sofbmKqopf4ccrgwus1/Ky/7I7j9SbskUSsse1a93DcRg4Il7AUkFanCirJOwxF1Dcqi+ehc7+vWUznq2rfEotdQdpLb6Q+RMyQ52T5YC8GTLYjGo0YzP4LHq87RSY82XvCX1CxDrWb9CJXg7m8idmkfNpw4w0HWDx2DUN1u1HEVVapMPUhISmpU/gQ7ufEF4ASlp+Wyg8lhSj7AeNYQ71d5UEXVqg9egHOXlbybV8seeXmPjVDBmFp04spXqKj8W+LTyctedqaTp8IW9hGeDw4HJljiui+WvHE0OxhSWxHy27JcKKU3PHUu1h7awb+jiSNV4yhl+IaWkF7K7NYXamyqphZd/Mia+G1zLewu2VknBHf7ZCb/wQz3tdaxP/y64QlBF5Q8MVeW+deyvdrAnwOEKHPRZvWyfBmFewFNPSaF9XZ3kZafVOQg8BF+p6i7h9Def2CcsPMJe2AQUj7+WfJ4WVgM7eWtcRxl54ygrl08gMoezrv2YXazqII3BLrDD4tWpaa/6Lz8ub2FDtWWwGdJZVxaPn8vHzvhuA7uUlPQCyi2+mKW0QTj/BWNmUsm5ZdRQ87nwV12pQweb7ZD3A8d5S+taxWadlesbfGp5TUiPs/yAWx4wQDJogtf7eduKuKnJRyk48IPDX71/A0GakzEBR/Al1KnlNNaxdIRuYpOEa/yOKXA8zczykTV81eRMluVSAqCKqMGaTc1tN87OxY84u98wO0szgKtUMmEehwz5BJV3UVAB6bmjxfa05uBmfuZQHUtt/ujp7KN2cRRrFEethgu3CoGYwU/KzrIlh8WvmYOxOhZTVgF0yWAx5+cd1GdvLRUgCefe8FH1gbfEvh+GCmoW4J46toPVAuKo2LLwghMx1sFfZMBPYhcE1aH63/Cb+q9kw9nOEZDuaj8V8lq/18fP7cE6w887Kb8n+JxMBeAn+Qm6qNfdf3Q/q9Xk9Kglt8maM24Cv9P8BUEVzwr9Oln5Tmq+wnALAXV+x6EXWVoDW5mknkXyMMeu4B6Bm42lEFCVZeKW18O29q+LvSOw+DRuwZ4wod3S2sfGbGX/cGq3hq8rQhBgi//+wiXlM0Iq+SFEUmWjoioPyfLXeQ8IKPTzSK0RQV2wuPw9dgE3RRrwdV0AAdal6xYuLt8RCY+IoKKjpVr3RxrwdR22HJahm8qD0bCIfLjNvV/e3Hjyhtk5Hla6V0UbPNj1iKtmF00SeyucacmEkGEKhwZhMOz1sr3/ufLg/KXlr0ejE9FQ2Tu//viYP/OW8AZ7XSLLl3/395RVMJE2/HaKIJuZdy5dsmAFR/ydHLXy0d4PnqSqr9ZTMYf8zpv2Mz5qcfPhXyN9vukXfHlNo6k3vkQVe9aKLS4IXHztk1Q09hrydDbQu/89N+GgsnF6hY3Top4wiLr85aCsDuPfWd4/l8+Jyksn30bTbn6FMvP4Np/YywcoX3ztU+JgD+dTqP/mrAcpJaOIzp/JNoEjVrWH3hNnWFPKnuvGCgAtLJ1NdXxvYCAA5Rfuzu7w39LtxWEVvYI6c9nRLpOojAODoRvzMELxPiIi5eYgs2U7EsFVH9yVqtq3XkjePpZSZ0oOTZr9CCEg/Y+PVor6ir/ztXV3BgewvxV87ZR5z1H+qOkcgNlM21+5NfESyvPny3nXAY/gS6MUegUV465fWl6lKdYCFn1EOBKStvxPGf3t+Zl8dFIRpFc4drYon6r4SOTQhzguQZgPecPxz4LtKqsHqAqk4ePmUNE35gh1sesvPxN1ifzDhqlTtaz5wCEWujGBCkLzlhzaxjfX7omFaH/64CKaTM18VwoJ0X+k5pNfiVz+0R2poojfW0HPQpqhAhKdVMu8Zf4Dh7bHSjdmUEFw4QOHVrEaeCxW4vH2Q9xUdwYu8WJsZt4EcvHVHhyz6PyTSSmZkm5b0zFRBNibV80SoOPqJYxaohLmO3/pkVfjoRcXqCC8cGn5A4pi3swv6/9F+zBOYcUhqedcEDCuw0ZcylKqU+XeN/gycBpb9avFiNEX/ZvoV1+1SzzjYgVUBYLcGA8vQRxjh9GP51HMz6QbMN94xqFv3KBi0PzFh//EI2ewV3Acz4lKkDjcmIa0wVUaNekmaq0rpwM7lou8dPL3hceAdgCJI2t7wvhjX75KTj6OmXrDS/amuMr8317UqKp/2oIH+B9T6UOK6vz3RuvlzQ1Vi+am/59iaFeyl13YW/9o7bi5ByBPsguFhAsTadkj2QsYy8t5L338+l1i+Vfv/ytl5p/Lt1QKhIX/bMMSPkrxCC/g+D82nr4rQOKaEDwDL/upna213YCPxoesZwn9wqUYV5QtOXpA1sWb9+r890ZwzVPFKbrPvYpdyJt765v87dbL8MtjcZt6mku/QZXEOVz4IAP7qPDQZeU/TY7/58ZatnDJ4UcSwXLCQAUzrz9+ziT+McV/cXEGnv8ZEsP5V81UHpr38/KE7RoTCqoEce3jpdPZiP2aJfdSWZdsOYvmR2yM7pu/+GjgrmYCGRwQUCV/6x4rLTMU6z/5euFEWTfYOS/zPRxD+AXHQvlWzsCkAQVVsvzGb0bfZFnqYn5m9TBoaTffLXhi4dLDfxxoDs4KqHISrz0xaqRqqtjulPG1+On8codsS3SOOAX/V2sfcL7e0sx1199/5Fii3xGN3lkF1c7EhmdLM7we81r+XRIiYHP4oDHT3t6XMhudZtbjGxXFWu90qX/BNdG+0OnvmEED1c44g6qsfXpkgepVS7hYzMCUsGtWwsauhDcWJQw8P1Mef04yYJVcX8n1lXywUcljK/leYJXpNCsX3neslseycA5u+n/9Whee4VkHoQAAAABJRU5ErkJggg==\"","import Slider from \"react-slick\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\n \r\nfunction Carousel({ children }){\r\n\r\n var settings = {\r\n dots: false,\r\n arrows: false,\r\n infinite: true,\r\n speed: 500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1\r\n };\r\n return (\r\n \r\n { children }\r\n \r\n );\r\n}\r\n\r\nexport default Carousel","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M10.6,0L6,4.6L1.4,0L0,1.4l6,6l6-6L10.6,0z\"\n});\n\nfunction SvgArrow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 12 7.4\",\n style: {\n enableBackground: \"new 0 0 12 7.4\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrow);\nexport default __webpack_public_path__ + \"static/media/arrow.9fe7fcd7.svg\";\nexport { ForwardRef as ReactComponent };","import { useState, useEffect } from \"react\";\r\nimport { useCookies } from \"react-cookie\"\r\nimport ReactDOMServer from 'react-dom/server';\r\nimport PullToRefresh from 'pulltorefreshjs';\r\nimport LoadingCircle from \"../components/loadingSpinner/LoadingCircle\";\r\nimport { ReactComponent as Arrow } from \"../components/images/arrow.svg\";\r\n\r\nimport config from \"../config\"\r\nconst INITAL_FN = () => {\r\n window.location.reload()\r\n}\r\n\r\nfunction usePullToRefresh( initalFn = INITAL_FN ){\r\n const [onRefreshFn, ] = useState( () => initalFn );\r\n \r\n useEffect( () => {\r\n PullToRefresh.init({\r\n mainElement: 'body',\r\n onRefresh(){\r\n onRefreshFn();\r\n },\r\n iconArrow: ReactDOMServer.renderToString(\r\n \r\n ),\r\n iconRefreshing: ReactDOMServer.renderToString(\r\n \r\n ),\r\n instructionsPullToRefresh:\" \",\r\n instructionsReleaseToRefresh:\" \",\r\n instructionsRefreshing: \" \",\r\n });\r\n return () => PullToRefresh.destroyAll();\r\n }, [onRefreshFn])\r\n\r\n return [ \r\n onRefreshFn\r\n ]\r\n\r\n}\r\n\r\nfunction useFormFields(initialState) {\r\n const [fields, setValues] = useState(initialState);\r\n\r\n return [\r\n fields,\r\n function (event) {\r\n setValues({\r\n ...fields,\r\n [event.target.id]: event.target.value\r\n });\r\n },\r\n setValues\r\n ];\r\n}\r\n\r\nfunction useLanguageCookie( initalLanguage = \"th\" ){\r\n const storageKey = 'kr.lang';\r\n let lang = window.localStorage.getItem( storageKey );\r\n if( lang === undefined || lang === null ) {\r\n lang = initalLanguage\r\n }\r\n const [languageState, setLanguageState] = useState(lang);\r\n \r\n useEffect( () => {\r\n window.localStorage.setItem( storageKey , languageState );\r\n }, [ languageState ] );\r\n\r\n return [\r\n languageState,\r\n setLanguageState\r\n ]\r\n}\r\n\r\nexport {\r\n useLanguageCookie,\r\n useFormFields,\r\n usePullToRefresh\r\n}","import LoadingClay from \"../../components/loadingClay/LoadingClay\"\r\nimport Main from \"../../components/main/Main\"\r\nimport {Level, LevelContainer} from \"../../components/kopRunLevel\"\r\n\r\nfunction HomePageClay(){\r\n return (\r\n
\r\n \r\n
\r\n

\r\n

\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default HomePageClay","import { useEffect, useState } from \"react\";\r\nimport Axios from \"axios\";\r\nimport { Link } from \"react-router-dom\"\r\nimport { Level, LevelContainer, Achievement } from \"../../components/kopRunLevel\";\r\nimport Main from \"../../components/main/Main\";\r\nimport { badgeForRef } from \"../../data/challenges\"\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\nimport Carousel from \"../../components/carousel/Carousel\";\r\nimport Heading from \"../../components/heading/Heading\";\r\nimport { usePullToRefresh } from \"../../libs/hooksLib\";\r\nimport { onError } from \"../../libs/errorLib\";\r\nimport config from \"../../config\"\r\nimport \"./HomePageContainer.css\";\r\nimport HomePageClay from \"./HomePageClay\";\r\n\r\nfunction HomePageContainer(){\r\n const [ slides, setSlides ] = useState(null);\r\n const [ userLevels, setUserLevels] = useState(null);\r\n const { lang, getUserLevels, languageStrings } = useAppContext();\r\n const IntroText = languageStrings['field_kr_home_page_intro_text'];\r\n const FaqText = languageStrings['field_kr_home_page_'];\r\n usePullToRefresh()\r\n const {apiuri} = config.dataUris;\r\n\r\n useEffect( () => {\r\n getUserLevels().then( data => setUserLevels(data))\r\n }, [])\r\n\r\n useEffect( () => {\r\n getUserLevels().then( data => setUserLevels(data) )\r\n }, [ languageStrings ])\r\n\r\n useEffect( ()=> {\r\n Axios.get( `${apiuri()}/koprun_sliders` ).then( response => {\r\n let { data } = response;\r\n let groupedData = [];\r\n data.forEach( slide => {\r\n if( groupedData[ slide['field_kr_language'].toLowerCase() ] ){\r\n groupedData[ slide['field_kr_language'].toLowerCase() ].push( slide );\r\n } else {\r\n groupedData[ slide['field_kr_language'].toLowerCase() ] = [slide];\r\n }\r\n })\r\n setSlides( groupedData ) \r\n }).catch ( e => onError(e) )\r\n }, [])\r\n\r\n if( ! userLevels ) { \r\n return \r\n }\r\n\r\n const { level1, level2, level3 } = userLevels;\r\n const levelList = [level1, level2, level3];\r\n const levelsGen = levelList.map( ( level, index ) => { \r\n return {\r\n complete: level.completed,\r\n description: level.overview,\r\n distance:level.distanceDescription,\r\n buttonText: level.buttonText,\r\n key: `Level-${index}`,\r\n pointsValue: level.points,\r\n title: level.levelDescription,\r\n to: `/complete-race/level${index + 1}`,\r\n children: level.badges.map( \r\n badge => \r\n )\r\n }\r\n } )\r\n\r\n const defaultSlideStyle = { \r\n minHeight:\"400px\",\r\n backgroundSize:\"cover\",\r\n backgroundPosition:\"center\",\r\n position:\"relative\",\r\n lineHeight:\"33px\",\r\n }\r\n const SlideHeadingStyle = { \r\n position:\"absolute\",\r\n left: \"var(--body-gutter)\",\r\n right: \"var(--body-gutter)\",\r\n bottom: \"0\",\r\n }\r\n return (\r\n
\r\n
\r\n \r\n { slides[lang] && slides[lang].map( slide => {\r\n const slideStyle = { ...defaultSlideStyle, backgroundImage: `url(${ slide.field_kr_slider_hero_image })`}\r\n return
\r\n \r\n
\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/*

Unlock digital trophies and medals at milestone distances. The top 3 of the leaderboard every fortnight will win prizes including the grand prize of a virtual chat with an LFC legend after your 8 weeks of challenge.

\r\n

For more details please refer to the FAQs

*/}\r\n
\r\n
\r\n \r\n { levelsGen.map( (l, i) => )}\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default HomePageContainer;","import { Auth } from \"aws-amplify\";\r\nimport Axios from \"axios\";\r\nimport { useEffect, useState } from \"react\";\r\nimport LoadingCircle from \"../components/loadingSpinner/LoadingCircle\";\r\nimport ConnectRunlah from \"../components/runlahConnect/ConnectRunlah\";\r\nimport ConnectStravaButton from \"../components/stravaConnect/ConnectStravaButton\";\r\nimport config from \"../config\";\r\nimport { onError } from \"../libs/errorLib\";\r\nimport \"./Home.css\";\r\nimport { HomePageContainer } from \"./homePageContainer\";\r\n\r\nexport default function Home() {\r\n const [stravaStatus, setStravaStatus] = useState(false);\r\n const [runlahStatus, setRunlahStatus] = useState(false);\r\n const [pageReadyStrava, setPageReadyStrava] = useState(false);\r\n const [pageReadyRunlah, setPageReadyRunlah] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n async function checkUserStravaStatus() {\r\n try {\r\n const userinfo = await Auth.currentUserInfo();\r\n const { data } = await Axios.get(`${config.dataUris.apiuri()}/stravaconnect/checkstatus?sub=${userinfo.attributes.sub}`);\r\n setStravaStatus(data);\r\n if (!data) {\r\n setPageReadyStrava(true);\r\n return;\r\n }\r\n setPageReadyStrava(true);\r\n } catch (e) {\r\n onError(e);\r\n setPageReadyStrava(true);\r\n }\r\n\r\n }\r\n checkUserStravaStatus();\r\n }, [])\r\n\r\n useEffect(() => {\r\n async function checkUserRunlahStatus() {\r\n try {\r\n const userinfo = await Auth.currentUserInfo();\r\n const { data } = await Axios.get(`${config.dataUris.apiuri()}/runlah/checkstatus?sub=${userinfo.attributes.sub}`);\r\n setRunlahStatus(data);\r\n if (!data) {\r\n setPageReadyRunlah(true);\r\n return;\r\n }\r\n setPageReadyRunlah(true);\r\n } catch (e) {\r\n onError(e);\r\n setPageReadyRunlah(true);\r\n }\r\n\r\n }\r\n checkUserRunlahStatus();\r\n }, [])\r\n\r\n\r\n if (!pageReadyStrava || !pageReadyRunlah) {\r\n return


;\r\n }\r\n\r\n if (!stravaStatus) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (!runlahStatus){\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n return (\r\n \r\n );\r\n}","import \"./NotFound.css\";\r\n\r\nexport default function NotFound() {\r\n return (\r\n
\r\n

Sorry, page not found!

\r\n
\r\n );\r\n}","import { useState, useCallback, useEffect } from \"react\";\r\nimport { ReactComponent as Arrow } from \"../images/arrow.svg\";\r\nimport Heading from \"../heading/Heading\";\r\nimport \"./Accordion.css\";\r\n\r\n\r\nfunction useScrollHeight() {\r\n const [scrollHeight, setScrollHeight] = useState(null);\r\n const ref = useCallback(node => {\r\n if (node !== null) {\r\n setScrollHeight(node.scrollHeight);\r\n }\r\n }, []);\r\n return [scrollHeight, ref];\r\n }\r\n\r\nfunction Accordion ({\r\n title = null,\r\n children = null,\r\n defaultOpen = false,\r\n titleColour = \"red\",\r\n titleLevel = \"h2\",\r\n dangerousChildren = null,\r\n}){\r\n const [scrollHeight, ref] = useScrollHeight();\r\n const [isOpen, setIsOpen] = useState( defaultOpen );\r\n const [height, setHeight] = useState( defaultOpen ? \"100%\" : \"0px\");\r\n\r\n function toggle() {\r\n setIsOpen( !isOpen )\r\n setHeight(\r\n isOpen ? \"0px\" : `${scrollHeight}px`\r\n );\r\n }\r\n\r\n useEffect( ()=>{\r\n if( scrollHeight !== null && isOpen ){\r\n setHeight( `${scrollHeight}px`)\r\n }\r\n }, [scrollHeight, isOpen])\r\n\r\n return (\r\n
\r\n \r\n { dangerousChildren ?\r\n
\r\n :\r\n
{children}
\r\n }\r\n\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default Accordion","import {Link} from \"react-router-dom\"\r\nimport { useAppContext } from \"../../libs/contextLib\"\r\nimport Accordion from \"../../components/accordion/Accordion\";\r\nimport Button from \"../../components/button/Button\";\r\nimport Heading from \"../../components/heading/Heading\"\r\nimport Main from \"../../components/main/Main\"\r\nimport LandingStrings from \"./LandingStrings\";\r\n\r\nfunction LandingContainer(){\r\n const { languageStrings } = useAppContext();\r\n const strs = LandingStrings(languageStrings);\r\n\r\n const runlahURL = strs.RunlahLinkUrl;\r\n const stravaURL = strs.StravaLinkUrl;\r\n return (\r\n
\r\n \r\n { strs.Intro_Title }\r\n \r\n
\r\n \r\n
\r\n \r\n { strs.RunlahLinkText }\r\n \r\n
\r\n \r\n
\r\n \r\n { strs.StravaLinkText }\r\n \r\n
\r\n { strs.FaqText }\r\n \r\n {strs.Outro_Title}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n\r\n}\r\n\r\nexport default LandingContainer;","export default function LandingStrings( languageStrings ) {\r\n return {\r\n Intro_Title: languageStrings['field_kr_landing_intro_title'],\r\n Intro_Text: languageStrings['field_kr_landing_intro_text'],\r\n Outro_Title: languageStrings['field_kr_landing_outro_title'],\r\n Outro_Text: languageStrings['field_kr_landing_outro_text'],\r\n RunlahTitle: languageStrings['field_kr_landing_runlah_title'],\r\n RunlahText: languageStrings['field_kr_landing_runlah_text'],\r\n RunlahLinkText: languageStrings['field_kr_landing_runlah_link_tex'],\r\n RunlahLinkUrl: languageStrings['field_kr_landing_runlah_link_url'],\r\n StravaTitle: languageStrings['field_kr_landing_strava_title'],\r\n StravaText: languageStrings['field_kr_landing_strava_text'],\r\n StravaLinkText: languageStrings['field_kr_landing_strava_link_tex'],\r\n StravaLinkUrl: languageStrings['field_kr_landing_strava_link_url'],\r\n RegisterButtonText: languageStrings['field_kr_register_button'],\r\n LoginButtonText: languageStrings['field_kr_login_button_text'],\r\n FaqText: languageStrings['field_kr_home_page_'],\r\n }\r\n}","import \"./Select.css\"\r\n\r\nfunction Select( { \r\n children = null,\r\n className = null,\r\n id = null,\r\n labelText = \"Select\",\r\n onChange = null,\r\n autoFocus = false,\r\n ...props\r\n} ){\r\n return(\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\nexport default Select;","import Select from \"../select/Select\"\r\nimport \"./LabeledSelect.css\"\r\n\r\nfunction LabeledSelect({\r\n children = null,\r\n className = null,\r\n id = \"\",\r\n labelText = \"Select\",\r\n onChange = null,\r\n autoFocus = false,\r\n ...props\r\n}){\r\n\r\n return(\r\n
\r\n \r\n { children }\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default LabeledSelect;","import { Link } from \"react-router-dom\";\r\n\r\nimport \"./ButtonStrap.css\";\r\n\r\nfunction ButtonStrap ( {\r\n children,\r\n className,\r\n id,\r\n type,\r\n to,\r\n ...props\r\n } ) {\r\n\r\n const buttonProps = { \r\n ...props,\r\n id: id,\r\n className: `buttonStrap${ className ? \" \" + className : \"\" }`\r\n }\r\n const ThisButton = to ?\r\n ({children}) :\r\n ();\r\n return ThisButton\r\n}\r\n\r\nexport default ButtonStrap;","import \"./Stat.css\";\r\n\r\nfunction Stat({\r\n name,\r\n result\r\n}) {\r\n\r\n return(\r\n
\r\n { name }\r\n { result }\r\n
\r\n )\r\n}\r\n\r\nexport default Stat","import \"./StatsContainer.css\";\r\n\r\nfunction StatsContainer({ children, }){\r\n\r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\nexport default StatsContainer","import { useAppContext } from \"../../libs/contextLib\";\r\nimport \"./ChallengeBadge.css\"\r\nfunction ChallengeBadge({ title =\"\", complete = false, icon }){\r\n const {languageStrings} = useAppContext();\r\n\r\n const completeStr = languageStrings['field_kr_account_page_complete_'] || \"complete\"\r\n const incompleteStr = languageStrings['field_kr_account_page_incomplete'] || \"incomplete\"\r\n\r\n return (\r\n
\r\n
\r\n { icon }\r\n
\r\n
\r\n

{ title }

\r\n

{ complete ? completeStr : incompleteStr }

\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ChallengeBadge;","import \"./ChallengeContainer.css\"\r\n\r\nfunction ChallengeContainer({ children }){\r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\nexport default ChallengeContainer;","import LoadingClay from \"../../components/loadingClay/LoadingClay\"\r\nimport Main from \"../../components/main/Main\"\r\nimport {ChallengeContainer} from \"../../components/challengeBadge\"\r\nimport { StatsContainer } from \"../../components/stats\"\r\n\r\nfunction MyAccountClay(){\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n
\r\n
\r\n

\r\n

\r\n

\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default MyAccountClay","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z\"\n});\n\nfunction SvgSync(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 512 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSync);\nexport default __webpack_public_path__ + \"static/media/sync.6cc190f7.svg\";\nexport { ForwardRef as ReactComponent };","import { useEffect, useState } from \"react\";\r\nimport Axios from \"axios\"\r\nimport { Auth } from \"aws-amplify\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\nimport { usePullToRefresh } from \"../../libs/hooksLib\";\r\nimport { Button } from \"../../components/button\";\r\nimport Heading from \"../../components/heading/Heading\"\r\nimport LabeledSelect from \"../../components/labeledSelect/LabeledSelect\"\r\nimport ButtonStrap from \"../../components/buttonStrap/ButtonStrap\"\r\nimport Main from \"../../components/main/Main\";\r\nimport { Stat, StatsContainer } from \"../../components/stats\";\r\nimport { onError } from \"../../libs/errorLib\";\r\nimport { ChallengeContainer, ChallengeBadge } from \"../../components/challengeBadge\";\r\nimport { badgeForRef } from \"../../data/challenges\"\r\nimport MyAccountStrings from \"./MyAccountStrings\"\r\nimport MyAccountClay from \"./MyAccountClay\";\r\nimport config from \"../../config\";\r\nimport \"./MyAccountContainer.css\";\r\nimport { ReactComponent as Syncsvg } from \"../../components/images/sync.svg\";\r\n \r\n\r\nfunction MyAccountContainer() {\r\n const [userdetails, setUserdetails] = useState({});\r\n const [stravaStatus, setStravaStatus] = useState(false);\r\n const [athleteName, setAthleteName] = useState('');\r\n const [userAthlete, setUserAthlete] = useState(false);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const { lang, setLang, userHasAuthenticated, getUserAthelete, resetUserSpecifics, languageStrings } = useAppContext();\r\n const history = useHistory();\r\n const { apiuri } = config.dataUris;\r\n const strings = MyAccountStrings(languageStrings);\r\n\r\n\r\n const refreshData = () => {\r\n Auth.currentUserInfo().then( userinfo => {\r\n\r\n setIsLoading(true);\r\n \r\n resetUserSpecifics('athlete');\r\n const {sub} = userinfo.attributes;\r\n Axios.get(`${apiuri()}/GoogleActivities/Pull?sub=${sub}`).then( () => {\r\n getUserAthelete().then( data => setUserAthlete(data) );\r\n } ).finally(() => setIsLoading(false))\r\n\r\n })\r\n }\r\n usePullToRefresh( refreshData )\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n const userinfo = await Auth.currentUserInfo();\r\n const stravaData = await Axios.get(`${apiuri()}/googleconnect/checkstatus?sub=${userinfo.attributes.sub}`);\r\n const athlete = await Axios.get(`${apiuri()}/stravaconnect/getAthleteName?sub=${userinfo.attributes.sub}`);\r\n\r\n if(athlete.data === false){\r\n // they're brand new, need to go through first time setup.\r\n history.push(\"/\");\r\n }\r\n\r\n setUserdetails(userinfo);\r\n setStravaStatus(stravaData.data)\r\n setAthleteName(athlete.data)\r\n getUserAthelete()\r\n .then( data => setUserAthlete(data))\r\n .catch( e => onError(e))\r\n } catch (e) {\r\n onError(e);\r\n }\r\n setIsLoading(false);\r\n })()\r\n }, []);\r\n\r\n const handleLogout = async () => {\r\n await Auth.signOut();\r\n userHasAuthenticated(false);\r\n history.push(\"/\");\r\n }\r\n\r\n \r\n if ( isLoading || ! userdetails ) {\r\n return \r\n }\r\n const { attributes } = userdetails;\r\n const strava = () => stravaStatus ? strings.StravaConnectedText : { strings.StravaDisconnectedText }\r\n \r\n const stats = (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n const badgeSection = () => {\r\n if( userAthlete ){\r\n return userAthlete.badges.map( challenge => (\r\n ))\r\n }\r\n return \"\"\r\n }\r\n\r\n return (\r\n
\r\n
\r\n\r\n \r\n { strings.StravaTitle }\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n { strings.PageTitle } \r\n \r\n { stats }\r\n
\r\n
\r\n \r\n { strings.ChallengesTitle }\r\n \r\n \r\n { badgeSection() }\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n { strings.AccountHeader }\r\n \r\n { strings.DetailsSubheaderText }\r\n

\r\n {attributes['custom:title'] && attributes['custom:title'] + \" \"}\r\n {attributes['name'] + \" \" + attributes['family_name']}\r\n

\r\n

{attributes['email']}

\r\n

{attributes['custom:telephone']}

\r\n\r\n {/* \r\n { strings.EditText }\r\n */}\r\n\r\n
\r\n
\r\n\r\n Google Fit\r\n

\r\n {strava()} {attributes['name'] + \" \" + attributes['family_name']}\r\n {/*
\r\n { languageStrings['field_kr_add_manual_run_text'] } */}\r\n

\r\n
\r\n\r\n
\r\n setLang(e.currentTarget.value) }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n { strings.LogoutText }\r\n
\r\n )\r\n}\r\n\r\nexport default MyAccountContainer;","\r\nexport default function MyAccountStrings( languageStrings ){\r\n return {\r\n StatsTitle: languageStrings['field_kr_race_page_stats_title'],\r\n DistanceTitle: languageStrings['field_kr_accou'],\r\n AvgSpeedTitle: languageStrings['field_kr_race_page_avg_speed_tit'],\r\n PointsTitle: languageStrings['field_kr_race_page_points_title'],\r\n RPWTitle: languageStrings['field_kr_race_page_runs_per_week'],\r\n LeaderboardButtonText: languageStrings['field_kr_race_page_leaderboard_b'],\r\n PageTitle: languageStrings['field_kr_account_page_page_title'],\r\n TotalTimeTitle: languageStrings['field_kr_account_page_total_time'],\r\n RemainingTitle: languageStrings['field_kr_account_page_remaining_'],\r\n ChallengesTitle: languageStrings['field_kr_acount_page_challenges_'],\r\n PaceTitle: languageStrings['field_kr_account_page_'],\r\n ChallengesHeader: languageStrings['field_kr_account_page_challenges_'],\r\n CompleteText: languageStrings['field_kr_account_page_complete_'],\r\n IncompleteText: languageStrings['field_kr_account_page_incomplete'],\r\n ViewChallengesButtonText: languageStrings['field_kr_account_page_view_chall'],\r\n AccountHeader: languageStrings['field_kr_account_page_account_he'],\r\n DetailsSubheaderText: languageStrings['field_kr_account_page_details_su'],\r\n EditText: languageStrings['field_kr_account_page_edit'],\r\n EditTextURL: languageStrings['field_kr_account_page_edit_url'],\r\n StravaConnectedText: languageStrings['field_kr_account_page_strava_con'],\r\n StravaDisconnectedText: languageStrings['field_kr_account_page_strava_dis'],\r\n ChangePasswordText: languageStrings['field_kr_account_page_change_pas'],\r\n LogoutText: languageStrings['field_kr_account_page_logout_tex'],\r\n Language: languageStrings['field_kr_accountfields_language'],\r\n DistanceRemaining: languageStrings['field_kr_account_page_distance_r'],\r\n StravaTitle: languageStrings['field_kr_landing_strava_title'],\r\n StravaText: languageStrings['field_kr_landing_strava_text'],\r\n StravaLinkText: languageStrings['field_kr_landing_strava_link_tex'],\r\n StravaLinkUrl: languageStrings['field_kr_landing_strava_link_url']\r\n }\r\n\r\n}","import { useAppContext } from \"../../libs/contextLib\"\r\nimport \"./Leaderboard.css\"\r\n\r\nconst dummyUser = { username: \"\", points: \"0\", pos: \"\"}\r\n\r\nfunction Leaderboard({\r\n before = dummyUser,\r\n currentUser = dummyUser,\r\n after = dummyUser,\r\n usersAndScores = [dummyUser],\r\n totalRunners = \"\"\r\n}){\r\n const userRank = currentUser.pos;\r\n const { languageStrings } = useAppContext();\r\n\r\n const renderUsers = usersAndScores.map( user => \r\n { user.pos }\r\n { user.username }\r\n { user.points }\r\n )\r\n\r\n const renderAdditionalUser = () => {\r\n if( currentUser.pos < 10 || ( ! before && ! after )){\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n \r\n { before &&\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n { after &&\r\n \r\n \r\n \r\n \r\n }\r\n \r\n
{ before.pos }{ before.username }{ before.points }
{ currentUser.pos }{ currentUser.username }{ currentUser.points }
{ after.pos }{ after.username }{ after.points }
\r\n
\r\n )\r\n }\r\n return(\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { renderUsers }\r\n \r\n
\r\n {languageStrings['field_kr_leaderboard_user_title']}\r\n \r\n {languageStrings['field_kr_leaderboard_points_titl']}\r\n
\r\n { renderAdditionalUser() }\r\n
\r\n {totalRunners} {languageStrings['field_kr_leaderboard_runners_tex']}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Leaderboard","import { useState, useEffect } from \"react\";\r\nimport LeaderBoard from \"../../components/leaderboard/Leaderboard\"\r\nimport Heading from \"../../components/heading/Heading\"\r\nimport \"./LeaderboardContainer.css\"\r\nimport Main from \"../../components/main/Main\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport Axios from \"axios\";\r\nimport { onError } from \"../../libs/errorLib\";\r\nimport config from \"../../config\";\r\nimport { useAppContext } from \"../../libs/contextLib\"\r\n\r\nconst { apiuri } = config.dataUris \r\n\r\nfunction LeaderboardContainer(){\r\n const [ isLoading, setIsLoading ] = useState(false)\r\n const [ leaderboardData, setLeaderboardData ] = useState( null )\r\n const { languageStrings } = useAppContext();\r\n const LeaderboardText = languageStrings['field_kr_leaderboard_text'];\r\n\r\n useEffect( () => {\r\n setIsLoading( true );\r\n ( async () => {\r\n try{\r\n const userinfo = await Auth.currentUserInfo();\r\n const { data } = await Axios.get(`${apiuri()}/leaderboard?sub=${userinfo.attributes.sub}`);\r\n setLeaderboardData( data )\r\n setIsLoading( false )\r\n } catch (e) {\r\n onError(e);\r\n setIsLoading( false );\r\n }\r\n })()\r\n }, [] )\r\n\r\n if( isLoading || ! leaderboardData){\r\n return \"...\"\r\n }\r\n\r\n return (\r\n
\r\n \r\n { languageStrings['field_kr_lead'] }\r\n \r\n
\r\n \r\n \r\n
\r\n )\r\n\r\n}\r\n\r\nexport default LeaderboardContainer;","\r\nexport function queryString(name, url = window.location.href) {\r\n name = name.replace(/[[]]/g, \"\\\\$&\");\r\n\r\n const regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\", \"i\");\r\n const results = regex.exec(url);\r\n\r\n if (!results) {\r\n return null;\r\n }\r\n if (!results[2]) {\r\n return \"\";\r\n }\r\n\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\n","import { useRef } from 'react';\r\nimport \"./Checkbox.css\"\r\n\r\nfunction Checkbox ({\r\n autoComplete = null,\r\n autoFocus = false,\r\n className,\r\n disabled = false,\r\n id = null,\r\n labelText =\"\",\r\n name,\r\n failedValidation = false,\r\n value,\r\n required = false,\r\n ...props \r\n }) {\r\n const inputRef = useRef(null);\r\n\r\n return ( \r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Checkbox","import { useState } from \"react\";\r\nimport { Redirect } from \"react-router-dom\"\r\nimport { Auth } from \"aws-amplify\";\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\nimport { useFormFields } from \"../../libs/hooksLib\";\r\nimport { onError } from \"../../libs/errorLib\";\r\nimport { queryString } from \"../../libs/queryStringLib\";\r\nimport { LoaderButton } from \"../../components/button\";\r\nimport Heading from \"../../components/heading/Heading\";\r\nimport Main from \"../../components/main/Main\";\r\nimport LabeledInput from \"../../components/labeledInput/LabeledInput\";\r\nimport LabeledSelect from \"../../components/labeledSelect/LabeledSelect\";\r\nimport Select from \"../../components/select/Select\";\r\nimport Checkbox from \"../../components/checkbox/Checkbox\";\r\nimport signUpStrings from \"./SignUpStrings\"\r\nimport \"./SignupContainer.css\"\r\n\r\nfunction SignupContainer() {\r\n const [fields, handleFieldChange] = useFormFields({\r\n email: \"\",\r\n password: \"\",\r\n confirmPassword: \"\",\r\n confirmationCode: \"\",\r\n forename: \"\",\r\n surname: \"\",\r\n telephone: \"\",\r\n dob: \"\",\r\n country: \"TH\",\r\n language: \"\",\r\n optina: \"false\",\r\n optinb: \"false\",\r\n title: \"\",\r\n tanda: \"\",\r\n });\r\n const [ newUser, setNewUser ] = useState(false);\r\n const [ isLoading, setIsLoading ] = useState(false);\r\n const { userHasAuthenticated, languageStrings } = useAppContext();\r\n const strs = signUpStrings(languageStrings);\r\n const [isChecked, setIsChecked] = useState(false);\r\n \r\n const redirect = queryString(\"redirect\");\r\n \r\n function validateForm() {\r\n return (\r\n isChecked === true &&\r\n fields.email.length > 0 &&\r\n fields.password.length > 0 &&\r\n fields.password === fields.confirmPassword &&\r\n fields.forename.length > 1 &&\r\n fields.forename.length < 150 &&\r\n fields.surname.length > 1 &&\r\n fields.surname.length < 150 &&\r\n (\r\n fields.telephone.length > 1 || fields.telephone.length === 0\r\n )\r\n );\r\n }\r\n\r\n function getAge(DOB) {\r\n var today = new Date();\r\n var birthDate = new Date(DOB);\r\n var age = today.getFullYear() - birthDate.getFullYear();\r\n var m = today.getMonth() - birthDate.getMonth();\r\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\r\n age--;\r\n }\r\n return age;\r\n }\r\n\r\n async function handleSubmit(event) {\r\n event.preventDefault();\r\n setIsLoading(true);\r\n\r\n console.log(new Date(fields.dob));\r\n let age = getAge(new Date(fields.dob));\r\n if (age < 18) {\r\n alert(\"Sorry, users must be over 18 to continue.\");\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n try {\r\n const newUser = await Auth.signUp({\r\n username: fields.email.toLowerCase(),\r\n password: fields.password,\r\n attributes:\r\n {\r\n email: fields.email.toLowerCase(),\r\n family_name: fields.surname,\r\n name: fields.forename,\r\n 'custom:countryCode': fields.country,\r\n birthdate: fields.dob,\r\n 'custom:optInEmailMarketing': fields.optina,\r\n 'custom:optInEmailPartnerMar': fields.optinb,\r\n 'custom:title': fields.title,\r\n 'custom:telephone': fields.telephone,\r\n 'custom:registrationType': \"KopRun\",\r\n }\r\n\r\n });\r\n setIsLoading(false);\r\n setNewUser(newUser);\r\n\r\n await Auth.signIn(fields.email, fields.password);\r\n userHasAuthenticated(true);\r\n \r\n } catch (e) {\r\n onError(e);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n\r\n if( newUser ){\r\n return ;\r\n }\r\n return(\r\n
\r\n
\r\n \r\n { strs.header }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n { strs.language }\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n { strs.signinInfo }\r\n\r\n \r\n \r\n
\r\n {strs.pwHelpTitle}\r\n
\r\n
\r\n {/*
\r\n \r\n \r\n
  • Between 8 and 30 characters long
  • \r\n
  • Contain a mix of upper (capital) and lower case letters
  • \r\n
  • Contain at least one number
  • \r\n
  • Contain at least one special character
    (*:~|#\\%,.;[]{}?-_#$&<>'\"^()/!`)
  • \r\n
    \r\n
    */}\r\n \r\n\r\n {strs.contactPermissionTitle}\r\n
    \r\n {strs.lFCOptin1Title}\r\n \r\n \r\n \r\n \r\n \r\n\r\n {strs.lFCOptin2Title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n setIsChecked(event.currentTarget.checked)}\r\n checked={isChecked}\r\n required\r\n value={fields.tanda}\r\n labelText={\r\n
    \r\n // <>Please agree to our
    terms and conditions\r\n }\r\n />\r\n\r\n \r\n { strs.continue }\r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default SignupContainer;","export default function SignUpStrings (languageStrings) {\r\n return {\r\n header: languageStrings['field_kr_account_fields_header_t'],\r\n title: languageStrings['field_kr_account_field_title'],\r\n forename: languageStrings['field_kr_account_field_forename'],\r\n surname: languageStrings['field_kr_account_field_surname'],\r\n dob: languageStrings['field_kr_accountfields_dob'],\r\n mob: languageStrings['field_kr_accountfields_mob'],\r\n country: languageStrings['field_kr_accountfields_country'],\r\n language: languageStrings['field_kr_accountfields_language'],\r\n signinInfo: languageStrings['field_kr_accountfields_signininf'],\r\n email: languageStrings['field_kr_account_fields_email'],\r\n password: languageStrings['field_kr_account_fields_password'],\r\n pwHelpTitle: languageStrings['field_kr_account_fields_pht'],\r\n pwHelp: languageStrings['field_kr_account_fields_pw_help_'],\r\n confirmPassword: languageStrings['field_kr_account_fields_confirm_'],\r\n contactPermissionTitle: languageStrings['field_kr_account_fields_contactp'],\r\n contactPermissionText: languageStrings['field_kr_accountfields_cp_text'],\r\n lFCOptin1Title: languageStrings['field_kr_af_optin1_title'],\r\n lFCOptin1Text: languageStrings['field_kr_af_optin1_text'],\r\n lFCOptin2Title: languageStrings['field_kr_af_optin2_title'],\r\n lFCOptin2Text: languageStrings['field_kr_af_optin2_text'],\r\n termsText: languageStrings['field_kr_af_terms_text'],\r\n termsURL: languageStrings['field_kr_af_terms_url'],\r\n continue: languageStrings['field_kr_af_continue'],\r\n thailand: languageStrings['field_kr_account_page_change_pas'],\r\n }\r\n}","import { useState } from \"react\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\nimport { useFormFields } from \"../../libs/hooksLib\";\r\nimport { Button, LoaderButton } from \"../../components/button\";\r\nimport Heading from \"../../components/heading/Heading\";\r\nimport LabeledInput from \"../../components/labeledInput/LabeledInput\";\r\nimport Main from \"../../components/main/Main\";\r\nimport LoginStrings from \"./LoginStrings\";\r\nimport \"./LoginContainer.css\";\r\n\r\nexport default function LoginContainer() {\r\n const { userHasAuthenticated, languageStrings } = useAppContext();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [fields, handleFieldChange] = useFormFields({\r\n username: \"\",\r\n email: \"\",\r\n password: \"\"\r\n });\r\n\r\n const { PageTitle, PageText, ButtonText, Email, Password, ForgotPassword, ForgotPasswordUrl, RegisterButtonText } = LoginStrings( languageStrings );\r\n\r\n function validateForm() {\r\n return fields.username.length > 0 && fields.password.length > 0;\r\n }\r\n\r\n async function handleSubmit(event) {\r\n event.preventDefault();\r\n setIsLoading(true);\r\n\r\n try {\r\n await Auth.signIn(fields.username.toLowerCase(), fields.password);\r\n userHasAuthenticated(true);\r\n } catch (e) {\r\n setIsLoading(false);\r\n alert(e.message);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n {PageTitle}\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n {ButtonText}\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}","export default function LoginStrings( languageStrings ) {\r\n return {\r\n PageTitle: languageStrings['field_kr_login_page_title'],\r\n PageText: languageStrings['field_kr_login_page_text'],\r\n ButtonText: languageStrings['field_kr_lo'],\r\n Email: languageStrings['field_kr_account_fields_email'],\r\n Password: languageStrings['field_kr_account_fields_password'],\r\n ForgotPassword: languageStrings['field_kr_forgot_password'],\r\n ForgotPasswordUrl: languageStrings['field_kr_forgot_password_url'],\r\n RegisterButtonText: languageStrings['field_kr_register_button'],\r\n }\r\n}","export default __webpack_public_path__ + \"static/media/holding1.4a874a1b.png\";","export default __webpack_public_path__ + \"static/media/holding_splash.c546c7bf.png\";","export default __webpack_public_path__ + \"static/media/holding2.03598697.png\";","import Axios from \"axios\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport Accordion from \"../../components/accordion/Accordion\"\r\nimport Heading from \"../../components/heading/Heading\"\r\nimport LoadingClay from \"../../components/loadingClay/LoadingClay\";\r\nimport Main from \"../../components/main/Main\"\r\nimport config from \"../../config\"\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\nimport { onError } from \"../../libs/errorLib\"\r\nimport \"./FAQContainer.css\"\r\n\r\nfunction FAQContainer(){\r\n const { lang } = useAppContext();\r\n const [faqs, setFaqs] = useState( null )\r\n const {apiuri} = config.dataUris;\r\n\r\n useEffect( ()=> {\r\n Axios.get( `${apiuri()}/koprun_faqs` ).then( response => {\r\n let { data } = response;\r\n let groupedData = [];\r\n data.forEach( faq => {\r\n if( groupedData[ faq['field_kr_language'].toLowerCase() ] ){\r\n groupedData[ faq['field_kr_language'].toLowerCase() ].push( faq );\r\n } else {\r\n groupedData[ faq['field_kr_language'].toLowerCase() ] = [faq];\r\n }\r\n })\r\n setFaqs( groupedData ) \r\n }).catch ( e => onError(e) )\r\n }, [])\r\n\r\n return (\r\n
    \r\n FAQs\r\n { ( faqs && faqs[lang] ) ? faqs[lang].map( (faq, i) => (\r\n \r\n
    \r\n
    ))\r\n :\r\n <>\r\n \r\n

    \r\n
    \r\n \r\n

    \r\n \r\n }\r\n
    \r\n )\r\n}\r\n\r\nexport default FAQContainer","import { useState } from \"react\";\r\nimport { ChallengeBadge, ChallengeContainer } from \"../../components/challengeBadge\";\r\nimport Heading from \"../../components/heading/Heading\";\r\nimport Main from \"../../components/main/Main\"\r\nimport { useAppContext } from \"../../libs/contextLib\"\r\nimport { badgeForRef } from \"../../data/challenges\";\r\nimport { usePullToRefresh } from \"../../libs/hooksLib\";\r\nimport LoadingClay from \"../../components/loadingClay/LoadingClay\";\r\n\r\nfunction AllChallengesContainer(){\r\n const [ UserChallenges, setUserChallenges] = useState( null );\r\n const [ isLoading, setIsLoading ] = useState(false);\r\n const { getUserChallenges, languageStrings } = useAppContext();\r\n\r\n const updateChallenges = () => getUserChallenges()\r\n .then( challenges => {\r\n const renderableChallenges = challenges.map( badge => \r\n )\r\n setUserChallenges(renderableChallenges);\r\n setIsLoading(false);\r\n });\r\n\r\n usePullToRefresh( () => updateChallenges() )\r\n if( ! UserChallenges && ! isLoading ){\r\n setIsLoading(true);\r\n updateChallenges()\r\n }\r\n\r\n return (\r\n
    \r\n { languageStrings['field_challenge_page_title'] }\r\n { isLoading ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n {UserChallenges && UserChallenges}\r\n \r\n }\r\n
    \r\n )\r\n}\r\n\r\nexport default AllChallengesContainer\r\n","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-168 -332)\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 24,\n cy: 24,\n r: 24,\n transform: \"translate(168 332)\",\n fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.286 354.3a2 2 0 010 3.392l-10.226 6.396a2 2 0 01-3.06-1.7v-12.78a2 2 0 013.06-1.7z\",\n fill: \"#384750\"\n}));\n\nfunction SvgPlay(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 48,\n height: 48,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlay);\nexport default __webpack_public_path__ + \"static/media/play.bc21033d.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\r\\n\\t.st0{opacity:0.8;}\\r\\n\\t.st1{fill:#FFFFFF;}\\r\\n\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-168 -332)\",\n className: \"st0\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st1\",\n cx: 192,\n cy: 356,\n r: 24\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 4.461)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.3,14.1c-0.5-0.6-1.5-0.7-2.1-0.2c-0.6,0.5-0.7,1.4-0.2,2.1l0,0c1.5,2.1,1.5,5,0,7.1c-0.5,0.6-0.4,1.6,0.3,2.1 c0.6,0.5,1.5,0.4,2-0.2l0,0C33.7,21.7,33.7,17.3,31.3,14.1z\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5.947)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.3,14.1c-0.5-0.6-1.5-0.7-2.1-0.2c-0.6,0.5-0.7,1.4-0.2,2.1l0,0c3.5,4.7,3.5,11.2,0,16c-0.5,0.6-0.5,1.6,0.2,2.1 c0.6,0.5,1.6,0.5,2.1-0.2c0,0,0,0,0,0l0,0C35.7,28,35.7,20,31.3,14.1z\"\n})));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.4,16.6h2.7c0.4,0,0.7-0.1,1.1-0.3l7.8-4.5c1.4-0.8,3.2,0.2,3.2,1.8V24l0,0l0,0v10.4c0,1.6-1.8,2.6-3.2,1.8l-7.8-4.5 c-0.3-0.2-0.7-0.3-1.1-0.3H8.4c-0.7,0-1.2-0.5-1.2-1.2V17.8C7.2,17.1,7.7,16.6,8.4,16.6z\"\n});\n\nfunction SvgPlayaudio(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 48 48\",\n style: {\n enableBackground: \"new 0 0 48 48\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlayaudio);\nexport default __webpack_public_path__ + \"static/media/playaudio.10dde01c.svg\";\nexport { ForwardRef as ReactComponent };","import { useEffect, useState, useRef } from \"react\";\r\nimport Heading from \"../heading/Heading\";\r\nimport { ReactComponent as PlayVideoButton } from \"../images/play.svg\"\r\nimport { ReactComponent as PlayAudioButton } from \"../images/playaudio.svg\"\r\nimport \"./MediaPlayer.css\"\r\n\r\nfunction MediaPlayer({\r\n src,\r\n poster,\r\n title, \r\n titleLevel = \"h1\",\r\n children = null,\r\n style,\r\n}){\r\n\r\n const [ isPlaying, setIsPlaying ] = useState( false );\r\n const mediaRef = useRef(null);\r\n\r\n const handleAudioClick = e => {\r\n if( mediaRef.current ){\r\n mediaRef.current.play();\r\n }\r\n }\r\n\r\n const isPlayingClass = isPlaying ? \"MediaPlayer__video-isPlaying\" : \"MediaPlayer__video-notPlaying\";\r\n return(\r\n
    \r\n { children &&
    {children}
    }\r\n { title && {title} }\r\n { poster && \"preview\" }\r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default MediaPlayer","import LoadingClay from \"../../components/loadingClay/LoadingClay\"\r\nimport Main from \"../../components/main/Main\"\r\n\r\nfunction CompleteRaceClay(){\r\n const ClayHr = () =>
    \r\n return (\r\n
    \r\n

    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n

    \r\n
    \r\n

    \r\n
    \r\n \r\n

    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default CompleteRaceClay","export default __webpack_public_path__ + \"static/media/complete-race.ad883a20.png\";","import { useEffect, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport Axios from \"axios\";\r\nimport Heading from \"../../components/heading/Heading\";\r\nimport { Achievement } from \"../../components/kopRunLevel\"\r\nimport Main from \"../../components/main/Main\";\r\nimport { badgeForRef } from \"../../data/challenges\"\r\nimport { Stat, StatsContainer } from \"../../components/stats\"\r\nimport MediaPlayer from \"../../components/mediaPlayer/MediaPlayer\"\r\nimport Button from \"../../components/button/Button\";\r\nimport CompleteRaceClay from \"./CompleteRaceClay\"\r\nimport config from \"../../config\"\r\nimport completeImg from \"../../components/images/complete-race.png\"\r\nimport { onError } from \"../../libs/errorLib\";\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\nimport CompleteRaceStrings from \"./CompleteRaceStrings\";\r\n\r\nfunction CompleteRaceContainer() {\r\n const [level, setLevel] = useState(null)\r\n const [isLoading, setIsLoading] = useState(null)\r\n const { lang, languageStrings } = useAppContext()\r\n const strs = CompleteRaceStrings(languageStrings);\r\n const { apiuri } = config.dataUris\r\n const { id } = useParams();\r\n\r\n useEffect( () => {\r\n setIsLoading( true );\r\n ( async () => {\r\n try{\r\n const userinfo = await Auth.currentUserInfo();\r\n const { data } = await Axios.get(`${apiuri()}/levels/${id}?sub=${userinfo.attributes.sub}&lang=${lang}`);\r\n setLevel( data )\r\n setIsLoading( false )\r\n } catch (e) {\r\n onError(e);\r\n setIsLoading( false );\r\n }\r\n })()\r\n }, [] )\r\n \r\n if(isLoading || ! level){\r\n return \r\n }\r\n const { titleText, subtitleText, stats, badges, completedAudio, bannerImgSrc } = level;\r\n const achievements = badges.map( badge => (\r\n )\r\n )\r\n\r\n return (\r\n
    \r\n \r\n
    { badgeForRef( badges.pop().ref ) }
    \r\n {titleText}\r\n {subtitleText}\r\n
    \r\n
    \r\n {strs.StatsTitle}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {strs.ChallengesTitle} \r\n { achievements }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default CompleteRaceContainer\r\n","export default function CompleteRaceStrings( languageStrings ){\r\n return {\r\n StatsTitle: languageStrings['field_kr_race_page_stats_title'],\r\n DistanceTitle: languageStrings['field_kr_'],\r\n DistanceRemaining: languageStrings['field_kr_account_page_distance_r'],\r\n AvgSpeedTitle: languageStrings['field_kr_race_page_avg_speed_tit'],\r\n PointsTitle: languageStrings['field_kr_race_page_points_title'],\r\n RPWTitle: languageStrings['field_kr_race_page_runs_per_week'],\r\n ChallengesTitle: languageStrings['field_kr_race_page'],\r\n ChallengesStat: languageStrings['field_kr_acount_page_challenges_'],\r\n TotalTimeTitle: languageStrings['field_kr_account_page_total_time'],\r\n LeaderboardButtonText: languageStrings['field_kr_race_page_leaderboard_b'],\r\n }\r\n}","import Axios from \"axios\"\r\nimport { Button, LoaderButton } from \"../../components/button\"\r\nimport Heading from \"../../components/heading/Heading\"\r\nimport LabeledInput from \"../../components/labeledInput/LabeledInput\"\r\nimport LabeledSelect from \"../../components/labeledSelect/LabeledSelect\"\r\nimport Main from \"../../components/main/Main\"\r\nimport { useFormFields } from \"../../libs/hooksLib\"\r\nimport config from \"../../config\";\r\nimport \"./ManualEntryContainer.css\"\r\nimport { Auth } from \"aws-amplify\"\r\nimport { useEffect, useState } from \"react\"\r\nimport { onError } from \"../../libs/errorLib\"\r\nimport LoadingCircle from \"../../components/loadingSpinner/LoadingCircle\"\r\nimport { useAppContext } from \"../../libs/contextLib\"\r\n\r\nfunction ManualEntryContainer() {\r\n const { apiuri } = config.dataUris;\r\n const [previousActivites, setPreviousActivites] = useState(false)\r\n const [isLoading, setIsLoading] = useState(true)\r\n const [isSending, setIsSending] = useState(false)\r\n const { lang } = useAppContext();\r\n const { languageStrings } = useAppContext();\r\n const [fields, handleChange] = useFormFields({\r\n distance: \"\",\r\n date: \"\",\r\n hour: \"\",\r\n min: \"\",\r\n sec: \"\",\r\n activity: \"walk\"\r\n })\r\n\r\n useEffect( () => {\r\n ( async () => {\r\n try {\r\n const userInfo = await Auth.currentUserInfo();\r\n const { sub } = userInfo.attributes;\r\n const { data } = await Axios.get(`${apiuri()}/stravaactivities/?sub=${sub}&lang=${lang}`);\r\n setPreviousActivites ( data );\r\n } catch (e ) {\r\n onError(e);\r\n }\r\n setIsLoading( false )\r\n })()\r\n }, [])\r\n\r\n const submitFn = async e => {\r\n setIsSending(true)\r\n e.preventDefault();\r\n try {\r\n const userInfo = await Auth.currentUserInfo();\r\n const { sub } = userInfo.attributes;\r\n const { data } = await Axios.post(`${apiuri()}/stravaactivities/create?sub=${sub}`,\r\n { \r\n \"distance\": Number(fields.distance),\r\n \"activity\": fields.activity,\r\n \"hour\": parseInt(fields.hour),\r\n \"min\": parseInt( fields.min),\r\n \"sec\": parseInt(fields.sec),\r\n \"date\": fields.date\r\n })\r\n } catch (e) {\r\n onError(e)\r\n }\r\n setIsSending(false)\r\n }\r\n\r\n return
    \r\n
    \r\n { languageStrings['field_kr_manual_entry_title'] }\r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n :\r\n :\r\n \r\n
    \r\n \r\n { languageStrings['field_kr_submit_run'] }\r\n */}\r\n
    \r\n { isLoading || ! previousActivites ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n}\r\n\r\nexport default ManualEntryContainer","import Main from \"../../components/main/Main\"\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\nimport \"./PrivacyPolicy.css\"\r\n\r\nfunction PrivacyPolicy() {\r\n const { lang } = useAppContext();\r\n\r\n\r\n if (lang === \"th\") {\r\n return (\r\n
    \r\n\r\n\r\n

    \r\n นโยบายความเป็นส่วนตัวของ\r\n  \r\n Kop Run

    \r\n ประกาศนโยบายความเป็นส่วนตัวฉบับนี้ อธิบายในรายละเอียดเกี่ยวกับประเภทข้อมูลส่วนบุคคลที่สโมสรฯ อาจเก็บรวบรวมไว้เกี่ยวกับตัวท่านเมื่อท่านติดต่อสื่อสารกับสโมสรฯ และยังได้อธิบายถึงวิธีการที่สโมสรฯ จะจัดเก็บและดูแลจัดการข้อมูลนั้นและทำการเก็บรักษาอย่างปลอดภัย

    \r\n
    \r\n มีข้อมูลมากมายในประกาศนี้ แต่สโมสรฯ ประสงค์ให้ท่านได้รับแจ้งเกี่ยวกับสิทธิต่างๆ ของท่านอย่างครบถ้วน รวมถึงวิธีการที่สโมสรฟุตบอลลิเวอร์พูลใช้ข้อมูลของท่าน ตัวอย่างเช่น สโมสรฯ อธิบายวิธีการที่สโมสรฯ ทำการวิเคราะห์และประสานรวมข้อมูลทั้งหมดที่สโมสรฯ มีอยู่เกี่ยวกับตัวท่านเพื่อที่จะให้มั่นใจว่า การติดต่อสื่อสารมีลักษณะเป็นส่วนบุคคลและตรงประเด็น

    \r\n
    \r\n สโมสรฯ หวังว่าหัวข้อต่างๆ ดังต่อไปนี้ จะตอบปัญหาใดๆ ที่ท่านมีอยู่ แต่ถ้ายังไม่ได้รับคำตอบ โปรดติดต่อกับสโมสรฯ

    \r\n
    \r\n วิธีการที่สโมสรฯ ใช้ข้อมูลของท่านโดยสังเขป

    \r\n

    \r\n เว็บไซต์และแอพพลิเคชั่นของสโมสรฯ ออกแบบมาเพื่อให้แฟนของสโมสรฟุตบอลลิเวอร์พูล (\"สโมสรฟุตบอลลิเวอร์พูล\" \"สโมสร\" หรือ \"เรา\") ใช้ติดต่อสื่อสารกับสโมสรฯ ซึ่งเราใช้ข้อมูลส่วนบุคคลของท่านในหลายๆ ทางเพื่ออำนวยความสะดวกในเรื่องนี้ การที่สโมสรฟุตบอลลิเวอร์พูลใช้ข้อมูลส่วนบุคคลของท่านทำให้เราสามารถที่จะจัดส่งผลิตภัณฑ์สินค้า ตั๋วและการบริการต่างๆ ที่ท่านได้ซื้อไว้ ติดต่อสื่อสารกับแฟนของสโมสรฯ จัดส่งข้อมูลให้แก่ท่านเกี่ยวกับสโมสรฯ และผลิตภัณฑ์สินค้า การบริการและงานการแข่งขันต่างๆ ของสโมสรฯ และในกรณีที่สโมสรฯ ได้รับอนุญาตให้ดำเนินการได้ ยังอาจรวมถึงการติดต่อกับท่านเกี่ยวกับผลิตภัณฑ์สินค้าและการบริการและการแข่งขันรายการต่างๆ ที่สโมสรฯ เห็นว่าท่านจะรู้สึกสนใจ โดยที่ประกาศนโยบายความเป็นส่วนตัวของสโมสรฯ อธิบายถึงวิธีการที่สโมสรฟุตบอลลิเวอร์พูลจะทำการใช้ข้อมูลส่วนบุคคลของท่านเมื่อท่านเข้าเยี่ยมเว็บไซต์หรือแอพพลิเคชั่นของเรา เมื่อสโมสรฯ ติดต่อสื่อสารกับท่าน และเมื่อท่านซื้อตั๋วหรือผลิตภัณฑ์สินค้าจากสโมสร

    \r\n
    \r\n ข้อมูลอะไรที่สโมสรฯ เก็บรวบรวมและเพราะเหตุใด, การใช้วิทยาการของสโมสรฯ ในการวิเคราะห์ข้อมูล, พื้นฐานทางด้านกฎหมายเกี่ยวกับการที่สโมสรฯ ประเมินผลข้อมูลของท่าน, ใครคือผู้ที่สโมสรส่งต่อข้อมูลส่วนบุคคลของท่านไปให้ ที่ใดและเมื่อใด, สิทธิต่างๆ ของท่านอันเกี่ยวกับข้อมูลส่วนบุคคลของท่าน, วิธีการที่ท่านสามารถติดต่อกับสโมสรฯ เพื่อพูดคุยเกี่ยวกับข้อมูลส่วนบุคคลของท่าน, วิธีการตลาดทางตรงแบบเลือกตัดออกได้, ใครคือผู้ควบคุมข้อมูลส่วนบุคคลของท่าน, และสโมสรจะเก็บข้อมูลส่วนบุคคลของท่านเป็นระยะเวลานานเท่าใด โดยในกรณีที่สโมสรฯ ถ่ายโอนข้อมูลของท่านระหว่างประเทศ ในกรณีดังกล่าว สโมสรฯ จะดำเนินการให้มั่นใจว่า ข้อมูลได้รับการปกป้องคุ้มครองตามมาตรฐานต่างๆ ที่กฎมายซึ่งใช้บังคับกำหนดไว้ นอกจากนั้น ท่านยังมีสิทธิต่างๆ เกี่ยวกับข้อมูลส่วนบุคคลของท่าน ซึ่งรวมถึงสิทธิในการคัดค้านการประมวลผลบางประการในข้อมูลส่วนบุคคลของท่านซึ่งดำเนินการโดยสโมสรฟุตบอลลิเวอร์พูล ทั้งนี้ เว็บไซต์และแอพพลิเคชั่นของเราอาจรวมถึงลิงก์ต่างๆ ที่เชื่อมต่อกับเว็บไซต์ ปลั๊ก-อิน และแอพพลิเคชั่นต่างๆ ของบุคคลภายนอก โดยที่การกดคลิกลิงก์ต่างๆ เหล่านั้นอาจทำให้บุคคลภายนอกสามารถเก็บรวบรวมหรือส่งต่อข้อมูลของท่านได้ ซึ่งสโมสรฯ มิได้ควบคุมดูแลเว็บไซต์ของบุคคลภายนอกเหล่านี้ และไม่รับผิดชอบสำหรับประกาศในเรื่องความเป็นส่วนตัวของบุคคลภายนอกดังกล่าว โดยเมื่อท่านออกจากเว็บไซต์ของเรา สโมสรฯ ขอสนับสนุนให้ท่านอ่านประกาศนโยบายความเป็นส่วนตัวของทุกๆ เว็บไซต์ที่ท่านเข้าเยี่ยม

    \r\n ข้อมูลอะไรที่สโมสรฯ เก็บรวบรวม และเพราะเหตุใด?

    \r\n สโมสรฯ เก็บรวบรวมและประมวลผลข้อมูลส่วนบุคคลเกี่ยวกับตัวท่านเมื่อท่านลงทะเบียนเข้าใช้เว็บไซต์นี้หรือเว็บไซต์อื่นๆ ของสโมสรฯ หรือแอพพลิเคชั่นของสโมสรฯ หรือซื้อหรือแสดงความสนใจในการรับผลิตภัณฑ์สินค้าหรือการบริการต่างๆ  จากสโมสร หรือติดตามการติดต่อสื่อสารของสโมสร ซึ่งเหล่านี้ประกอบด้วย

    \r\n
    \r\n รายละเอียดการติดต่อต่างๆ ของท่าน ซึ่งรวมถึงชื่อ รหัสไปรษณีย์และที่อยู่อีเมล และหมายเลขโทรศัพท์ของท่าน

    \r\n
    \r\n ในการติดต่อกับท่านเพื่อให้สโมสรฯ สามารถจัดการ บริหารและจัดหาผลิตภัณฑ์สินค้าและการบริการต่างๆ ของสโมสรฯ ให้แก่ท่าน, ในการตอบจดหมายและคำถามที่เกี่ยวข้องกับการบริการใดๆ ซึ่งท่านส่งมายังสโมสรฯ เกี่ยวกับผลิตภัณฑ์สินค้าและการบริการต่างๆ ของเรา, ในการให้ข้อมูลที่ตรงประเด็นแก่ท่าน เช่น การแจ้งข้อมูลที่เป็นปัจจุบันเกี่ยวกับการดำเนินงาน (ซึ่งรวมถึงข้อมูลการเข้าถึง ข้อมูลชุดตั๋วและการเปลี่ยนแปลงกำหนดการแข่งขันต่างๆ) ที่เกี่ยวข้องกับวันแข่งขันและรายการแข่งขันอื่นๆ ซึ่งสโมสรฯ จะใช้ข้อมูลนี้ในการทำการตลาดขายผลิตภัณฑ์สินค้าและการบริการต่างๆ ให้แก่ท่านในกรณีที่ท่านได้ยินยอมในเรื่องนี้ นอกจากนั้น สโมสรฯ จะใช้ข้อมูลนี้ในการทำการตลาดขายผลิตภัณฑ์สินค้าและการบริการต่างๆ ของสโมสรฟุตบอลลิเวอร์พูล ให้แก่ท่าน (ซึ่งรวมถึงโดยผ่านทางวิธีการอิเล็กทรอนิกส์) และเพื่อแจ้งแก่ท่านเกี่ยวกับข่าว การแข่งขัน รายการกิจกรรมของสโมสรฟุตบอลลิเวอร์พูลและข้อมูลอื่นๆ ตามขอบเขตที่ท่านมิได้เลือกตัดออก และตามขอบเขตที่การตลาดดังกล่าวเกี่ยวข้องกับผลิตภัณฑ์สินค้า และ/หรือ การบริการซึ่งท่านได้สั่งซื้อหรือซื้อไว้ก่อนหน้านี้ หรือที่เกี่ยวข้องกับผลิตภัณฑ์สินค้าหรือการบริการซึ่งท่านอยู่ระหว่างติดต่อกับเรา หรือได้แสดงความสนใจไว้ โดยที่สโมสรฯ อาจใช้ข้อมูลนี้เพื่อเรียกเก็บเงินที่เป็นหนี้สินจากท่าน ตัวอย่างเช่นในกรณีการชำระเงินสำหรับการต้อนรับซึ่งเกินกำหนดชำระ สโมสรฯ อาจได้รับข้อมูลนี้จากพรีเมียร์ลีกนอกเหนือจากการเก็บรวบรวมข้อมูลดังกล่าวโดยตรงจากท่านด้วยตัวของเราเอง แต่โดยปกติทั่วไปเฉพาะในกรณีที่ท่านได้เลือกที่จะเข้าร่วมเท่านั้น (เช่น บนเว็บไซต์พรีเมียร์ลีก) เพื่อที่จะได้รับข้อมูลจากเรา และโดยที่สโมสรฯ อาจได้รับข้อมูลนี้จากผู้ได้รับอนุญาตสิทธิ์ในตรายี่ห้อของสโมสรฯ (เช่น แอพพลิเคชั่น เกมส์และร้านค้าปลีกของบุคคลภายนอก) ในกรณีที่ท่านได้เลือกที่จะเข้าร่วมกับผู้ได้รับอนุญาตสิทธิ์รายนั้นสำหรับข้อมูลของท่านซึ่งถูกส่งต่อให้กับเรา, ในการติดต่อสื่อสารข้อมูลที่เป็นปัจจุบันใดๆ ให้แก่ท่าน ซึ่งรวมถึงการเปลี่ยนแปลงใดๆ เกี่ยวกับการบริการ เงื่อนไขและข้อกำหนดต่างๆ ของการบริการใดๆ ของสโมสรฯ ซึ่งสโมสรฯ ได้จัดให้แก่ท่าน การเปลี่ยนแปลงใดๆ เกี่ยวกับประกาศนโยบายความเป็นส่วนตัวฉบับนี้และเกี่ยวกับเว็บไซต์ของสโมสรฯ, ในการเชิญชวนท่านให้ส่งข้อเสนอแนะ และ/หรือ เข้ามีส่วนร่วมในการวิจัยหรือการสำรวจตลาดเพื่อช่วยเหลือสโมสรในการปรับปรุงพัฒนาประสบการณ์ต่างๆ ของแฟนและผลิตภัณฑ์สินค้าและการบริการต่างๆ ของสโมสร, รายละเอียดอัตลักษณ์ต่างๆ ซึ่งรวมถึงตำแหน่ง ชื่อ วันเกิด เพศ ชื่อผู้ใช้โซเชียลมีเดียหรือชื่อที่กำหนดซึ่งมีลักษณะคล้ายคลึงกันอื่นๆ

    \r\n
    \r\n ในการลงทะเบียนท่านเข้าเป็นแฟนของสโมสรฯ, เพื่อกำหนดอัตลักษณ์ของท่านและเพื่อที่จะทำให้มั่นใจว่า สโมสรฯ อยู่ระหว่างติดต่อสื่อสารและจัดส่งผลิตภัณฑ์สินค้าและการบริการต่างๆ ให้แก่บุคคลที่ถูกต้อง, ในการทำให้ท่านมีส่วนร่วมในการจับฉลากรางวัลหรือการแข่งขันซึ่งท่านได้เข้าร่วม, ในการวางตลาดผลิตภัณฑ์/การบริการต่างๆ ให้แก่ท่านในกรณีที่ท่านได้ยินยอมในเรื่องนี้ นอกจากนั้น สโมสรฯ จะใช้ข้อมูลนี้ในการวางตลาดขายผลิตภัณฑ์สินค้าและการบริการต่างๆ ของสโมสรฟุตบอลลิเวอร์พูล ให้แก่ท่าน (ซึ่งรวมถึงโดยผ่านทางวิธีการอิเล็กทรอนิกส์) และเพื่อแจ้งแก่ท่านเกี่ยวกับข่าว การแข่งขัน รายการกิจกรรมของสโมสรฟุตบอลลิเวอร์พูลและข้อมูลอื่นๆ ตามขอบเขตที่ท่านมิได้เลือกตัดออก และตามขอบเขตที่การตลาดดังกล่าวเกี่ยวข้องกับผลิตภัณฑ์สินค้า และ/หรือ การบริการซึ่งท่านได้สั่งซื้อหรือซื้อไว้ก่อนหน้านี้ หรือที่เกี่ยวข้องกับผลิตภัณฑ์สินค้าหรือการบริการซึ่งท่านอยู่ระหว่างติดต่อกับเรา หรือได้แสดงความสนใจไว้ โดยที่สโมสรฯ อาจใช้ข้อมูลนี้เพื่อเรียกเก็บเงินที่เป็นหนี้สินจากท่าน ตัวอย่างเช่นในกรณีการชำระเงินสำหรับการต้อนรับซึ่งเกินกำหนดชำระ สโมสรฯ อาจได้รับข้อมูลนี้จากพรีเมียร์ลีกนอกเหนือจากการเก็บรวบรวมข้อมูลดังกล่าวโดยตรงจากท่านด้วยตัวของเราเอง แต่เฉพาะในกรณีที่ท่านได้เลือกที่จะเข้าร่วมเท่านั้น (เช่น บนเว็บไซต์พรีเมียร์ลีก) เพื่อที่จะได้รับข้อมูลจากเรา และโดยที่สโมสรฯ อาจได้รับข้อมูลนี้จากผู้ได้รับอนุญาตสิทธิ์ในตรายี่ห้อของสโมสรฯ (เช่น แอพพลิเคชั่น เกมส์และร้านค้าปลีกของบุคคลภายนอก) ซึ่งท่านได้เลือกที่จะเข้าร่วมกับผู้ได้รับอนุญาตสิทธิ์รายนั้นสำหรับข้อมูลของท่านซึ่งถูกส่งต่อให้กับเรา โดยที่สโมสรฯ เก็บรวบรวมข้อมูลเฉพาะเกี่ยวกับเพศของท่านเท่านั้นตามความมุ่งหมายทางด้านสถิติ และทำให้ผลิตภัณฑ์สินค้าและการบริการต่างๆ  ที่สโมสรฯ เสนอให้แก่ท่านเหมาะเป็นการเฉพาะตัว ทั้งนี้ ข้อมูลทางด้านการเงินรวมถึงรายละเอียดบัญชีธนาคารและบัตรชำระเงิน

    \r\n
    \r\n รายละเอียดบัตรชำระเงินของท่านอาจถูกเก็บรวบรวมโดยผ่านเว็บไซต์หรือแอพพลิเคชั่นของสโมสรฯ ข้อมูลนี้ใช้เฉพาะแต่เพียงสำหรับวัตถุประสงค์ในการเรียกเก็บเงินโดยผู้ให้บริการสำหรับการชำระเงิน PCI-DSS ที่ได้รับอนุญาต โดยที่ข้อมูลบัตรชำระเงินของท่านจะถูกสร้างรหัสลับและถ่ายโอนไปยังผู้ให้บริการสำหรับการชำระเงินของเราอย่างปลอดภัยโดยผ่านเกณฑ์วิธี HTTPS ซึ่งข้อมูลบัตรชำระเงินของท่านจะไม่ถูกจัดเก็บไว้บนระบบของสโมสรฯ และไม่มีบุคคลใดที่สโมสรฟุตบอลลิเวอร์พูลจะสามารถเข้าถึงข้อมูลดังกล่าว ทั้งนี้ พนักงานของสโมสรฯ ที่ได้รับการคัดเลือกจำนวนที่จำกัด สามารถเข้าถึงวันที่หมดอายุของบัตรชำระเงินของท่านเพื่อให้มั่นใจว่า ข้อมูลการชำระเงินของท่านยังคงใช้ได้สมบูรณ์ โดยสโมสรฯ อาจเก็บรวบรวมรายละเอียดบัญชีธนาคารของท่านเพื่อประมวลผลการบอกรับเป็นสมาชิกใดๆ (เช่น การบอกรับเป็นสมาชิกทีวี การชำระค่าตั๋วฤดูกาลปกติ) ที่ท่านได้ลงไว้กับสโมสรฯ ทั้งนี้ รายละเอียดการชำระเงินต่างๆ ให้แก่และจากท่าน และรายละเอียดอื่นๆ เกี่ยวกับผลิตภัณฑ์สินค้าและการบริการต่างๆ ที่ท่านได้ซื้อจากสโมสรฯ ซึ่งรวมถึงข้อเสนอแนะใดๆ

    \r\n
    \r\n ในการทำให้สโมสรฯ สามารถจัดส่งผลิตภัณฑ์สินค้าหรือการบริการใดๆ ให้แก่ท่านซึ่งท่านได้ซื้อจากสโมสรฯ, ในการบริหารเกี่ยวกับการคืนเงินใดๆ ที่สโมสรฯ จัดให้แก่ท่าน, ในการทำให้ท่านสามารถติดตามประวัติการชำระเงินต่างๆ ของท่านโดยผ่านบัญชีของท่าน, ในการกำหนดว่าผลิตภัณฑ์สินค้า/การบริการอื่นๆ ที่สโมสรฯ อาจประสงค์ที่จะติดต่อท่าน (ในกรณีที่สโมสรฯ มีสิทธิที่จะดำเนินการดังกล่าว) ตรงตามความต้องการหรือไม่, ในการตอบสนองต่อข้อคิดเห็น/ข้อร้องเรียน ซึ่งท่านหรือบุคคลอื่นๆ อาจส่งมายังสโมสรฯ, ในการปรับปรุงและปกป้องคุ้มครองผลิตภัณฑ์ แพลตฟอร์ม เนื้อหา การบริการและเว็บไซต์ของสโมสรฯ, ในการตรวจสอบสิทธิของท่านสำหรับตั๋วและรายการแข่งขันอื่นๆ ที่ท่านประสงค์จะเข้าชม, สิทธิพิเศษของท่านในการได้รับการติดต่อสื่อสารทางการตลาดจากสโมสรฯ และบุคคลภายนอกใดๆ (ซึ่งรวมถึงความยินยอมใดๆ ที่ท่านได้ให้ไว้แก่สโมสรฯ) และการยืนยันว่า สโมสรฯ ควรติดต่อท่าน หรือไม่

    \r\n
    \r\n ในการทำให้มั่นใจว่า สโมสรฯ ส่งข้อมูลทางด้านการตลาดให้แก่ท่านในกรณีที่สโมสรฯ มีสิทธิที่จะดำเนินการดังกล่าวเท่านั้น, สโมสรฯ ได้รับคำตอบ 'ได้' หรือ 'ไม่ได้' ตามคำร้องขอของสโมสรฯ จากบริการตั้งค่าโทรศัพท์ และซึ่งเป็นผลเนื่องมาจากการเสียชีวิตและการพนัน/ขันต่อ/การตรวจสอบทางด้านการเงิน ซึ่งเป็นเครื่องบ่งชี้ว่า สโมสรฯ ควรจะติดต่อท่านเพื่อวัตถุประสงค์ทางการตลาดหรือไม่, สถานะการเป็นสมาสชิกของชมรมผู้สนับสนุนอย่างเป็นทางการของท่าน

    \r\n
    \r\n สโมสรฯ ได้รับคำตอบ 'ได้' หรือ 'ไม่ได้' ตามคำร้องขอของสโมสรฯ จากชมรมของผู้สนับสนุนอย่างเป็นทางการ เกี่ยวกับว่าท่านเป็นสมาชิกหรือไม่ ซึ่งในเรื่องนี้ช่วยในการออกตั๋วและจัดให้ผลประโยชน์แก่สมาชิก, ชื่อผู้ใช้และรหัสผ่านของท่าน การซื้อและคำสั่งซื้อที่ท่านได้ทำขึ้น ความสนใจของท่าน สิทธิพิเศษ การตอบสนองข้อเสนอแนะและการสำรวจต่างๆ

    \r\n
    \r\n สโมสรฯ จะใช้ข้อมูลนี้เพื่อแสดงต่อท่านเกี่ยวกับข้อมูลที่เกี่ยวข้องกับท่าน ซึ่งรวมถึงข้อมูลและประวัติทางบัญชีของท่าน เพื่อที่จะทำให้ท่านสามารถจัดการกับบัญชีของท่านได้ นอกจากนั้น สโมสรฯ ใช้ข้อมูลนี้บางประเภทเพื่อวัตถุประสงค์ทางด้านสถิติ โดยระบุไว้เป็นรายละเอียดเพิ่มเติมตามด้านล่างนี้ ภายใต้หัวข้อ 'การใช้วิทยาการของสโมสรฯ ในการวิเคราะห์ข้อมูล ' ซึ่งข้อมูลทางด้านเทคนิคเกี่ยวกับการเข้าถึงของท่านและการใช้เว็บไซต์และแอพพลิเคชั่น

    \r\n
    \r\n ในเรื่องนี้อาจเป็นไปได้ในการรวมเลขที่อยู่ IP (จากการที่สโมสรฯ อาจอนุมานจากตำแหน่งที่ตั้งของประเทศของท่าน) ประเภทของอุปกรณ์ที่ท่านกำลังใช้ ข้อมูลการเข้าสู่ระบบของท่าน ประเภทและเวอร์ชั่นของเบราว์เซอร์ การกำหนดโซนพื้นที่เวลาและตำแหน่งที่ตั้ง ประเภทและเวอร์ชั่นของปลั๊ก-อินเบราว์เซอร์ ระบบและแพลต์ฟอร์มปฏิบัติการ และเทคโนโลยีอื่นๆ บนอุปกรณ์ที่ท่านใช้ในการเข้าถึงเว็บไซต์หรือแอพพลิเคชั่นของสโมสรฯ และข้อมูลเกี่ยวกับว่า ท่านเปิดการติดต่อสื่อสารของสโมสรฯ หรือไม่ ซึ่งเนื้อหาที่ท่านได้เข้าชมและข้อมูลการสื่อสารหน้าอื่นๆ ซึ่งในการนี้เป็นพื้นฐานที่จะช่วยให้สโมสรฯ เข้าใจได้อย่างดีขึ้นเกี่ยวกับวิธีการที่แฟนของสโมสรฯ ใช้แพลตฟอร์มดิจิทัลของเรา เพื่อให้สโมสรฯ สามารถสร้างสรรค์เนื้อหาที่ดีขึ้นและการติดต่อสื่อสารที่ตรงประเด็นมากยิ่งขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้   โปรดดูนโยบายการใช้คุกกี้ของสโมสรฯ    ทั้งนี้    ในฐานะเป็นส่วนหนึ่งของประสบการณ์ถ้วยรางวัลแชมเปี้ยนในแอพพลิเคชั่นที่เป็นทางการ 'Champions Presented by Standard Charted’ สโมสรฯ ใช้ TrueDepth API ในการเข้าถึงกล้องถ่ายภาพด้านหน้าบนอุปกรณ์ iOS โดยการใช้ข้อมูลนี้เท่านั้นในการส่งรูปภาพผู้ใช้ที่มีคุณค่า ซึ่งไม่มีข้อมูลใดๆ ที่เก็บรวบรวมโดย TrueDepth API ซึ่งหลุดออกไปจากอุปกรณ์ของผู้ใช้ โดยที่สโมสรฯ ไม่ส่งต่อข้อมูลเกี่ยวกับ TrueDepth API ให้แก่บุคคลภายนอก และสโมสรฯ ไม่จัดเก็บหรือประมวลผลในทางใดๆ เกี่ยวกับข้อมูลที่สโมสรฯ เข้าถึงและใช้ประโยชน์ผ่าน TrueDepth API ซึ่งในฐานะเป็นรูปภาพพิเศษนี้ในแอพพลิเคชั่นที่เป็นทางการของสโมสรฟุตบอลลิเวอร์พูล ผู้ใช้สามารถเลือกที่จะใช้ฟังก์ชั่นในการติดสติกเกอร์บนใบหน้า และสามารถเลือกที่จะบันทึกรูปภาพของตนเองได้ ทั้งนี้ สโมสรฟุตบอลลิเวอร์พูลไม่จัดเก็บข้อมูลใบหน้าภายในแอพพลิเคชั่นหรือเซิร์ฟเวอร์

    \r\n
    \r\n ข้อมูลที่เกี่ยวข้องกับข้อกำหนดในด้านการเข้าถึง การไร้ความสามารถ และ/หรือ ความต้องการอื่นๆ ในด้านอาหาร ซึ่งท่านอาจมีอยู่

    \r\n

    \r\n โดยทั่วไป สโมสรฯ จะร้องขอเฉพาะข้อมูลนี้ในกรณีที่จำเป็นสำหรับวัตถุประสงค์ในการการออกตั๋วหรือการต้อนรับ ตัวอย่างเช่น กรณีที่ท่านได้ซื้อตั๋วสำหรับการแข่งขันรายการหนึ่ง เพื่อให้สโมสรฯ สามารถมั่นใจได้ว่ามีการจัดเตรียมการเข้าถึงที่เหมาะสม, ข้อมูลที่กฎหมายกำหนดไว้

    \r\n
    \r\n ในเรื่องนี้อาจรวมถึง ตัวอย่างเช่น ในกรณีที่สโมสรฯ จำเป็นต้องได้รับความยินยอมของผู้ปกครอง เพื่อที่จะให้บริการทางออนไลน์แก่เด็กๆ ที่มีอายุต่ำกว่า 13 (อย่างไรก็ตาม เว็บไซต์ของเราโดยส่วนใหญ่ไม่ได้ออกแบบมาสำหรับเด็กที่มีอายุต่ำกว่า 13) หรือในการตอบสนองต่อการร้องขอต่างๆ จากรัฐบาลหรือหน่วยงานที่มีอำนาจบังคับใช้กฎหมายซึ่งดำเนินการตรวจสอบ, สำเนาเอกสารการระบุตัวตนในกรณีที่ท่านเป็นผู้ถือตั๋วปี (ซึ่งในกรณีนี้ สโมสรฯ อาจเก็บรวบรวมรายละเอียดต่างๆ ซึ่งรวมถึงสถานที่เกิดและที่อยู่ซึ่งเป็นที่พักอาศัยของท่าน) โดยอาจรวมถึงรูปถ่ายด้วยก็ได้

    \r\n
    \r\n ในกรณีที่ท่านเป็นผู้ถือตั๋วปี สโมสรฯ อาจถ่ายสำเนาเอกสารการระบุตัวตนของท่านก็ได้ เพื่อที่จะตรวจสอบอัตลักษณ์ตัวตนของท่าน โดยสโมสรฯ จะเก็บรักษาเฉพาะสำเนาเอกสารการระบุตัวตนของท่านเท่านั้นเป็นระยะเวลาตราบเท่าที่สโมสรใช้ในการตรวจสอบอัตลักษณ์ตัวตนของท่าน และจะลบสำเนาต่างๆ เหล่านั้นออกอย่างปลอดภัยในภายหลังจากนั้น ทั้งนี้ สโมสรฯ ใช้ซอฟต์แวร์ที่วิเคราะห์สำเนาเอกสารการระบุตัวตนซึ่งท่านจัดส่งให้แก่สโมสรฯ ซึ่งอาจทำการตัดสินใจได้โดยอัตโนมัติเกี่ยวกับอัตลักษณ์ตัวตนของท่าน อย่างไรก็ตาม ในกรณีที่มีการตัดสินโดยอัตโนมัติในลักษณะนี้ ท่านมีโอกาสที่จะโต้แย้งคัดค้านคำตัดสินได้ตลอดเวลาหากท่านไม่เห็นด้วยกับคำตัดสินที่เกิดขึ้น โดยที่สโมสรฯ จะไม่ใช้สำเนาต่างๆ ที่สโมสรฯ มีเกี่ยวกับเอกสารการระบุตัวตนของท่านเพื่อวัตถุประสงค์อื่นใด สโมสรฯ อาจถ่ายรูปท่านเพื่อยืนยันอัตลักษณ์ตัวตนของท่านในระหว่างกระบวนการระยะเวลาผ่อนผันที่กำหนดไว้สำหรับตั๋วปี (Season Ticket Amnesty) ซึ่งรูปถ่ายนี้จะถูกลบออกทันทีภายหลังจากระยะเวลาผ่อนผันที่กำหนดไว้สิ้นสุดลง และสโมสรฟุตบอลลิเวอร์พูลจะไม่จัดเก็บไว้เป็นระยะเวลายาวนานกว่านี้ โปรดทราบว่า สโมสรฯ อาจใช้ข้อมูลใดๆ ตามที่ได้ระบุไว้ข้างต้นเพื่อป้องกัน ตรวจสอบ และ/หรือ รายงานเกี่ยวกับการทุจริต การก่อการร้าย การแถลงข้อความอันเป็นเท็จ เหตุการความมั่นคงหรืออาชญากรรม (ซึ่งรวมถึงแต่ไม่จำกัดเพียงความผิดในการออกตั๋ว) ตามกฎหมายที่ใช้บังคับ

    \r\n
    \r\n การใช้วิทยาการของสโมสรฯ ในการวิเคราะห์ข้อมูล

    \r\n

    \r\n สโมสรฯ ทำการประเมิน จำแนกและรวบรวมข้อมูลส่วนบุคคลเพื่อช่วยให้สโมสรฯ ปรับแต่งเนื้อหา การบริการและการติดต่อสื่อสารให้เหมาะสมบนแพลตฟอร์มต่างๆ ของสโมสรฯ และบนแพลตฟอร์มของบุคคลภายนอก เช่น โซเชียลมีเดีย นอกจากนั้น สิ่งนี้ยังช่วยป้องกันการติดต่อสื่อสารที่ไม่พึงประสงค์จากการทำให้กล่องจดหมายของท่านเต็ม นอกจากนั้น ยังช่วยสโมสรฯ สามารถเข้าใจและสร้างประสบการณ์ที่ดียิ่งขึ้นให้แก่แฟนของสโมสรฯ ปรับปรุงพัฒนาและปกป้ององค์กรของเรา และทำการวิจัยที่เกี่ยวเนื่องกับจุดมุ่งหมายของสโมสรฯ

    \r\n
    \r\n การวิจัยและการวิเคราะห์ภายใน: สโมสรฯ ดำเนินการวิจัยและการวิเคราะห์เกี่ยวกับผู้สนับสนุน สมาชิกและอาสาสมัครของสโมสรฯ เพื่อที่จะตัดสินความสำเร็จของการรณรงค์และความดึงดูดน่าสนใจต่างๆ เข้าใจพฤติกรรมและการตอบสนองที่ดียิ่งขึ้น รวมทั้งบ่งชี้รูปแบบและแนวโน้มต่างๆ ซึ่งสิ่งนี้ช่วยในการแจ้งถึงวิธีการของสโมสรฯ และทำให้สโมสรฟุตบอลลิเวอร์พูลเป็นองค์กรที่แข็งแกร่งยิ่งขึ้นและมีประสิทธิภาพมากขึ้น ซึ่งความเข้าใจแฟนๆ ของสโมสรฯ ความสนใจของพวกเขาเหล่านั้น และสิ่งที่พวกเขาห่วงใย ช่วยให้สโมสรฯ สร้างประสบการณ์ที่ดียิ่งขึ้น

    \r\n
    \r\n การวิเคราะห์และการจัดกลุ่ม: สโมสรฯ วิเคราะห์ข้อมูลที่สโมสรฯ เก็บรวบรวมเกี่ยวกับแฟนๆ เพื่อบ่งชี้ถึงลักษณะและความพึงพอใจร่วมกัน โดยสโมสรฯ ทำเรื่องนี้โดยการประเมินข้อมูลหลายประเภทซึ่งรวมถึงพฤติกรรม ตัวอย่างเช่น ข้อมูลทางด้านกิจกรรมที่ผ่านมาหรือที่เกี่ยวกับสถิติจำนวนประชากร เช่น อายุหรือตำแหน่งที่ตั้ง ซึ่งสิ่งนี้ช่วยให้สโมสรฯ ในการให้ความมั่นใจว่า ท่านได้รับการติดต่อสื่อสาร ผลิตภัณฑ์สินค้าต่างๆ และข้อมูลที่สำคัญมากกับท่าน

    \r\n
    \r\n การรวบรวมข้อมูลช่วยให้เราเข้าใจแฟนๆ ของสโมสรฯ: สโมสรฯ รวบรวมข้อมูลของแฟนๆ บนหลักการที่หลากหลาย ซึ่งรวมถึงความสนใจของแฟนๆ เหล่านั้น ตำแหน่งที่ตั้งทางภูมิศาสตร์ทั่วไป กิจกรรมทางเว็บไซต์/แอพพลิเคชั่น และกลุ่มเศรษฐกิจสังคมและอายุ นอกจากนั้น สโมสรฯ ยังใช้ข้อมูลเกี่ยวกับวิถีทางการดำเนินชีวิตโดยรวมและที่ไม่เปิดเผยตัวตน ซึ่งได้รับจากบุคคลภายนอกในการสนับสนุนการรวบรวมข้อมูลของสโมสรฯ ซึ่งข้อมูลนี้ช่วยให้สโมสรฯ ในการสร้างความมั่นใจว่า การติดต่อสื่อสารต่างๆ ตรงประเด็นและในเวลาที่เหมาะสม และในการเสนอผลิตภัณฑ์สินค้าและการบริการต่างๆ ซึ่งอาจเป็นที่สนใจของแฟนๆ ของสโมสรฯ\r\n

    \r\n การดำเนินการทางด้านการวิเคราะห์ต่างๆ ที่หลากหลายเหล่านี้อาศัยการใช้คุกกี้ โดยท่านสามารถตั้งค่าเบราว์เซอร์ของท่านในการปฏิเสธคุกกี้เบราว์เซอร์ทั้งหมดหรือในบางประเภท หรือในการแจ้งเตือนท่านเมื่อเว็บไซต์ตั้งค่าหรือเข้าถึงคุกกี้ โดยในกรณีที่ท่านปิดการใช้งานหรือปฏิเสธคุกกี้ โปรดทราบว่า เว็บไซต์หรือแพลตฟอร์มบางส่วนของสโมสรฯ อาจไม่สามารถเข้าถึงได้หรือไม่สามารถใช้งานได้อย่างเหมาะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคุกกี้ที่สโมสรฯ ใช้ โปรดดูนโยบายการใช้คุกกี้ของสโมสรฯ    \r\n

    \r\n การใช้กูเกิลฟิต

    \r\n
    \r\n เว็บไซต์ Kop Run จะรวมเข้ากับแอพพลิเคชั่นกูเกิลฟิตบนอุปกรณ์ของท่าน

    \r\n
    \r\n ในกรณีที่ท่านได้ลงทะเบียนสำหรับเว็บไซต์ Kop Run ท่านจะได้รับแจ้งเตือนโดยทันทีบนแอพพลิเคชั่นกูเกิลฟิตในการอนุญาตสำหรับการเข้าถึงเว็บไซต์ Kop Run เกี่ยวกับข้อมูลผู้ใช้ใดๆ และข้อมูลกิจกรรมทางกายที่ถูกอัพโหลดขึ้นบนแอพพลิเคชั่นกูเกิลฟิตของท่าน โดยเฉพาะอย่างยิ่ง สโมสรฯ จะเก็บรวบรวมวันที่และเวลาต่างๆ ของรอบกิจกรรมของท่าน ตลอดจนระยะทางที่ครอบคลุมสำหรับกิจกรรมที่เหมาะสม (การเดิน การวิ่งหรือการวิ่งเหยาะ)

    \r\n
    \r\n ข้อมูลดังกล่าวจะถูกส่งต่อและอัพโหลดขึ้นบนเว็บไซต์ Kop Run ของสโมสรฟุตบอลลิเวอร์พูล และจะถูกนำไปใช้ในการคำนวณและระบุคะแนน เพื่อที่จะแจ้งกระดานผู้นำการแข่งขัน และตัดสินสิทธิ์รับรางวัลตลอดระยะเวลาของการบริการ

    \r\n
    \r\n พื้นฐานทางด้านกฎหมายสำหรับการประเมินผล\r\n ข้อมูลส่วนบุคคล

    \r\n
    \r\n พื้นฐานทางด้านกฎหมายของสโมสรฯ สำหรับการเก็บรวบรวมและการใช้ข้อมูลส่วนบุคคลของท่าน จะขึ้นอยู่กับข้อมูลส่วนบุคคลที่เกี่ยวข้องและบริบทที่เฉพาะเจาะจงซึ่งสโมสรฯ ทำการเก็บรวบรวมข้อมูลดังกล่าว

    \r\n
    \r\n ในกรณีที่สโมสรฯ ร้องขอให้ท่านจัดส่งข้อมูลส่วนบุคคลเพื่อปฏิบัติตามข้อกำหนดทางกฎหมาย หรือดำเนินการตามสัญญากับท่าน หรือด้วยความยินยอมโดยชัดแจ้งของท่าน ในกรณีดังกล่าว สโมสรฯ สามารถส่งรายละเอียดต่างๆ ในเรื่องนี้ให้แก่ท่านตามคำร้องขอ โดยที่สโมสรฯ จะแจ้งต่อท่าน ณ เวลานั้นว่า การให้ข้อมูลส่วนบุคคลของท่านถือเป็นคำสั่งบังคับหรือไม่ (ตลอดจนผลสืบเนื่องต่างๆ ที่อาจเกิดขึ้นในกรณีหากท่านไม่จัดส่งข้อมูลส่วนบุคคลของท่าน)

    \r\n
    \r\n ในการที่สโมสรฯ เก็บรวบรวมและใช้ข้อมูลส่วนบุคคลของท่านโดยอาศัยการกล่าวอ้างผลประโยชน์โดยชอบด้วยกฎหมายของสโมสรฯ (หรือผลประโยชน์โดยชอบด้วยกฎหมายของของบุคคลภายนอกใดๆ) ท่านอาจร้องขอให้สโมสรฯ ส่งข้อมูลให้แก่ท่านเกี่ยวกับสิ่งที่เป็นผลประโยชน์โดยชอบด้วยกฎหมายเหล่านั้น โดยติดต่อมายังสโมสรฯ โดยใช้รายละเอียดในหัวข้อ 'ข้าพเจ้าจะสามารถติดต่อสโมสรฯได้อย่างไร?' ตามด้านล่าง

    \r\n
    \r\n ใครคือผู้ที่สโมสรฯ จะส่งต่อข้อมูลนี้ให้, ที่ใดและเมื่อใด?

    \r\n
    \r\n ข้อมูลจะถูกส่งต่อไปให้แก่ผู้ให้บริการที่เป็นบุคคลภายนอก ซึ่งเป็นผู้ที่ประมวลผลข้อมูลนั้นในนามของสโมสรฟุตบอลลิเวอร์พูลเพื่อวัตถุประสงค์ต่างๆ ตามที่ได้ระบุไว้ข้างต้น โดยที่บุคคลภายนอกดังกล่าวหมายรวมถึงผู้จัดหาแพลตฟอร์มโซเชียลมีเดียและเครื่องมือค้นหา ผู้ให้บริการต่างๆ ต่อสโมสร เช่น เว็บโฮสติ้ง ผู้พัฒนาแอพพลิเคชั่น ผู้จัดหาซอฟต์แวร์ ผู้ให้บริการด้านการซ่อมบำรุง ผู้ให้บริการด้านการชำระเงิน ผู้ให้บริการด้านการตรวจสอบอัตลักษณ์ตัวตน บริษัทต่างๆ ที่ให้บริการการดูสื่อมีเดียแบบตามความต้องการ บริษัทรับส่งไปรษณีย์และการบริการทางด้านการตลาดต่างๆ

    \r\n
    \r\n ข้อมูลส่วนบุคคลอาจถูกส่งต่อไปให้แก่หน่วยงานต่างๆ ที่มีอำนาจหน้าที่ของรัฐบาล และ/หรือ เจ้าหน้าที่ต่างๆ ที่บังคับใช้กฎหมาย หากจำเป็นเพื่อวัตถุประสงค์ตามข้างต้น ในกรณีที่กฎหมายบังคับหรือหากจำเป็นเพื่อการปกป้องคุ้มครองตามกฎหมายเกี่ยวกับผลประโยชน์โดบชอบด้วยกฎหมายของสโมสรฯ ซึ่งเป็นไปตามกฎหมายต่างๆ ที่ใช้บังคับ

    \r\n
    \r\n สโมสรฯ จะส่งต่อข้อมูลของท่านให้แก่บุคคลภายนอกเฉพาะสำหรับวัตถุประสงค์ในการทำการตลาดโดยตรงกับท่านเท่านั้นในกรณีที่ท่านได้ให้ความยินยอมในการส่งต่อข้อมูลดังกล่าว (ตัวอย่างเช่น เมื่อเข้าร่วมในการแข่งขันที่เฉพาะเจาะจงซึ่งสโมสรฯ ได้เข้าร่วมเป็นหุ้นส่วนกับบุคคลภายนอกนั้น)

    \r\n
    \r\n สโมสรฯ อาจจำเป็นต้องจัดเก็บหรือถ่ายโอนข้อมูลส่วนบุคคลของท่านไปยังประเทศต่างๆ ภายนอกเขตเศรษฐกิจยุโรป (EEA) ซึ่งบางประเทศไม่ปกป้องคุ้มครองสิทธิความเป็นส่วนตัวอย่างกว้างขวางครอบคลุมเท่ากับสหราชอาณาจักร อย่างไรก็ตาม สโมสรฯ ได้ดำเนินการคุ้มครองที่เหมาะสมซึ่งจำเป็นสำหรับข้อมูลส่วนบุคคลของท่านซึ่งจะยังคงได้รับการคุ้มครองตามประกาศนโยบายความเป็นส่วนตัวฉบับนี้ ทั้งนี้ รายละเอียดเพิ่มเติมอื่นๆ ของการคุ้มครองเหล่านี้สามารถจัดส่งให้ท่านเพื่อตรวจสอบตามคำร้องขอ โดยติดต่อมายังเจ้าหน้าที่คุ้มครองข้อมูลของเรา โดยใช้รายละเอียดการติดต่อตามที่ได้ระบุไว้ภายใต้หัวข้อ 'ข้าพเจ้าจะสามารถติดต่อสโมสรฯ หรือเจ้าหน้าที่คุ้มครองข้อมูลของสโมสรฯ ได้อย่างไร?' ตามด้านล่าง

    \r\n
    \r\n ในกรณีที่มีการขายหรือควบรวมธุรกิจกับกิจการอื่น รายละเอียดต่างๆ ของท่านจะเปิดเผยให้แก่ที่ปรึกษาของสโมสรฯ และที่ปรึกษาของผู้ซื้อที่มุ่งหวังรายใดๆ และจะถ่ายโอนไปยังเจ้าของกิจการรายใหม่

    \r\n
    \r\n สิทธิอะไรที่ข้าพเจ้ามี?

    \r\n
    \r\n ท่านมีสิทธิในการขอให้สโมสรฯ จัดส่งสำเนาข้อมูลส่วนบุคคลของท่าน แก้ไขให้ถูกต้อง ลบหรือจำกัด (หยุดความเคลื่อนไหวใดๆ) ในการประมวลผลข้อมูลส่วนบุคคลของท่าน และรับข้อมูลส่วนบุคคลที่ท่านจัดส่งให้แก่สโมสรฯ สำหรับสัญญาหรือด้วยความยินยอมของท่าน ในรูปแบบที่มีการจัดทำและซึ่งสามารถใช้เครื่องมืออ่านได้

    \r\n
    \r\n นอกจากนี้ ท่านสามารถที่จะคัดค้านการประมวลผลข้อมูลส่วนบุคคลของท่านได้ในบางกรณี (โดยเฉพาะอย่างยิ่ง ในกรณีที่สโมสรฯ ไม่ต้องทำการประมวลผลข้อมูลตามข้อกำหนดทางด้านสัญญาหรือทางด้านกฎหมายอื่นๆ หรือในกรณีที่สโมสรฯ กำลังใช้ข้อมูลสำหรับการตลาดทางตรง)

    \r\n
    \r\n ในกรณีใดๆ ก็ตามที่สโมสรฯ อาศัยความยินยอมของท่าน ท่านสามารถเพิกถอนความยินยอมนั้นได้ตลอดเวลา ถึงแม้ว่าสโมสรฯ อาจมีมูลเหตุทางกฎหมายอื่นๆ สำหรับการประมวลผลข้อมูลของท่านเพื่อวัตถุประสงค์อื่น เช่น วัตถุประสงค์ต่างๆ ซึ่งระบุไว้ข้างต้น โดยในบางกรณี สโมสรฯ สามารถส่งการตลาดทางตรงไปยังท่านโดยปราศจากความยินยอมของท่านก็ได้หากว่าสโมสรฯ เชื่อในประโยชน์โดยชอบด้วยกฎหมายของของสโมสร ทั้งนี้ ท่านมีสิทธิโดยสมบูรณ์ในการเลือกตัดการตลาดทางตรงออกไป หรือในการรวบรวมข้อมูลที่เป็นประโยชน์ให้สโมสรฯ ดำเนินการสำหรับการตลาดทางตรง ณ เวลาใดๆ โดยท่านสามารถทำเรื่องนี้โดยดำเนินการตามคำแนะนำต่างๆ ในการติดต่อสื่อสารซึ่งเป็นข้อความอิเล็กทรอนิกส์ หรือโดยติดต่อสโมสรฯ โดยใช้รายละเอียดตามที่ได้ระบุไว้ด้านล่าง:

    \r\n
    \r\n สิทธิต่างๆ เหล่านี้อาจถูกจำกัดไว้ ตัวอย่างเช่น หากการดำเนินการตามคำร้องขอของท่านจะเป็นการเปิดเผยข้อมูลส่วนบุคคลเกี่ยวกับบุคคลอื่น หรือหากท่านขอให้สโมสรฯ ลบข้อมูลที่สโมสรฯ จำเป็นต้องเก็บรักษาตามกฎหมายหรือมีประโยชน์โดยชอบด้วยกฎหมายที่กำหนดบังคับไว้ในการเก็บรักษา

    \r\n
    \r\n ในการใช้สิทธิใดๆ เหล่านี้ ท่านสามารถติดต่อกับสโมสรฯ หรือเจ้าหน้าที่คุ้มครองข้อมูลของสโมสรฯ  โดยใช้รายละเอียดตามที่ได้ระบุไว้ด้านล่าง ในกรณีที่ท่านมีปัญหาไม่สามารถแก้ไขได้ ท่านมีสิทธิที่จะร้องเรียนต่อหน่วยงานที่มีอำนาจหน้าที่ในการคุ้มครองข้อมูลของสหภาพยุโรปในที่ซึ่งท่านพักอาศัย ทำงาน หรือในที่ซึ่งท่านเชื่อว่ามีการละเมิดอาจได้เกิดขึ้น โดยในที่นี้น่าจะเป็นสำนักงานคณะกรรมาธิการด้านข้อมูลข่าวสาร ในสหราชอาณาจักร

    \r\n
    \r\n ข้าพเจ้าจะสามารถติดต่อสโมสรฯ หรือเจ้าหน้าที่คุ้มครองข้อมูลของสโมสรฯ ได้อย่างไร?

    \r\n
    \r\n สโมสรฯ หวังว่า สโมสรฯ สามารถตอบข้อซักถามต่างๆ ซึ่งท่านมีอยู่เกี่ยวกับวิธีการที่สโมสรฯ ประมวลผลข้อมูลของท่าน โดยท่านสามารถติดต่อเจ้าหน้าที่คุ้มครองข้อมูลของสโมสรฟุตบอลลิเวอร์พูลหากท่านมีข้อกังวลหรือข้อซักถามใดๆ เกี่ยวกับวิธีการที่สโมสรฯ ประมวลผลข้อมูลของท่าน ได้ที่ DPO@liverpoolfc.com หรือโดยทางจดหมายส่งไปยังที่อยู่ดังต่อไปนี้

    \r\n
    \r\n FAO: เจ้าหน้าที่คุ้มครองข้อมูล

    \r\n
    \r\n สโมสรฟุตบอลลิเวอร์พูลและบริษัท แอธเลติกกราวด์ จำกัด

    \r\n
    \r\n ชั้น 10

    \r\n
    \r\n 20 \r\n ถนนชาเปล

    \r\n
    ลิเวอร์พูล

    \r\n

    \r\n L3 9AG

    \r\n
    \r\n ข้าพ\r\n เลือกตัดการตลาดทางตรงออกไปได้โดยวิธีการใด?

    \r\n
    \r\n มีหลากหลายวิธีการที่ท่านสามารถระงับการติดต่อสื่อสารต่างๆ เกี่ยวกับการตลาดทางตรงจากสโมสรฯ:

    \r\n
    \r\n กดคลิกที่ลิงก์ 'unsubscribe' ในอีเมลการติดต่อสื่อสารเกี่ยวกับการตลาดใดๆ ที่สโมสรฯ ส่งให้ท่าน และทำการเปลี่ยนในศูนย์การตั้งค่าของสโมสรฯ ในกรณีหากท่านมีการลงทะเบียนใดๆ บนเว็บไซต์ของสโมสรฯ หรือพื้นที่ผลิตภัณฑ์หรือการบริการใดๆ ของสโมสรฯ, ทำการเข้าสู่ระบบพื้นที่ 'My LFC' หรือ 'My Account' และปรับหรือเปลี่ยนแปลงการตั้งค่าความพึงพอใจของท่าน หรือติดต่อทีมงาน Fan Experience ของสโมสรฯ โดยใช้หน้า Contact Us ของสโมสรฯ ทั้งนี้ โปรดทราบว่า ท่านอาจยังคงได้รับการติดต่อสื่อสารต่างๆ เป็นระยะเวลาไม่นานนักภายหลังจากการเปลี่ยนการตั้งค่าความพึงพอใจของท่าน ในขณะที่ระบบต่างๆ ของสโมสรฯ ได้รับการปรับทั้งหมด

    \r\n
    \r\n หน่วยงานใดในลิเวอร์พูลคือผู้ควบคุมข้อมูลของข้าพเจ้า และบุคคลที่เกี่ยวข้องใดที่ข้อมูลของข้าพเจ้าถูกส่งต่อไปให้?

    \r\n
    \r\n ผู้ควบคุมข้อมูลสำหรับข้อมูลของท่านคือสโมสรฟุตบอลลิเวอร์พูลและบริษัท แอธเลติกกราวด์ จำกัด เว้นแต่ในกรณีที่ท่านได้ให้ความยินยอมแก่สโมสรฯ ในการส่งต่อข้อมูลของท่านไปยังผู้ร่วมดำเนินการที่เป็นบุคคลภายนอกรายต่างๆ สำหรับวัตถุประสงค์การตลาดทางตรง ซึ่งในกรณีนี้ ผู้ควบคุมข้อมูลจะเป็นผู้ร่วมดำเนินการที่เป็นบุคคลภายนอกดังกล่าว

    \r\n
    \r\n สโมสรจะเก็บรักษาข้อมูลของข้าพเจ้าเป็นระยะเวลานานเท่าใด?

    \r\n

    \r\n สโมสรฯ เก็บรักษาข้อมูลส่วนบุคคลที่สโมสรฯ เก็บรวบรวมมาจากท่านในกรณีที่สโมสรฯ มีธุรกิจต่อเนื่องที่ถูกต้องตามกฎหมายซึ่งมีความจำเป็นที่จะต้องดำเนินการเช่นนั้น (ตัวอย่างเช่น เพื่อจัดหาการบริการให้แก่ท่านตามที่ท่านได้ร้องขอ หรือเพื่อปฏิบัติตามข้อกำหนดต่างๆ ทางกฎหมาย ทางภาษีหรือทางบัญชีที่เกี่ยวข้อง)

    \r\n
    \r\n เมื่อสโมสรฯ ไม่มีธุรกิจต่อเนื่องที่ถูกต้องตามกฎหมายซึ่งมีความจำเป็นที่จะต้องทำการประมวลผลข้อมูลส่วนบุคคลของท่าน สโมสรฯ จะลบหรือปกปิดชื่อในข้อมูลนั้น หรือในกรณีที่ไม่สามารถกระทำดังกล่าวนี้ได้ (ตัวอย่างเช่น เนื่องเพราะข้อมูลส่วนบุคคลของท่านได้ถูกจัดเก็บไว้ในแฟ้มจัดเก็บสำรองข้อมูล) สโมสรฯ จะจัดเก็บข้อมูลส่วนบุคคลของท่านอย่างปลอดภัยและแยกข้อมูลนั้นออกจากการประมวลผลต่อมาใดๆ จนกว่าจะสามารถลบออกได้

    \r\n\r\n
    \r\n )\r\n }\r\n\r\n\r\n return (\r\n
    \r\n

    KopRun Privacy Policy

    \r\n This Privacy Notice explains in detail the types of personal data we may collect about you when you interact with us. It also explains how we’ll store and handle that data, and keep it safe.\r\n

    \r\nThere’s a lot of information here, but we want you to be fully informed about your rights, and how Liverpool Football Club uses your data; for example, we will explain how we analyse and combine all the data we hold about you to ensure communications are personalised and relevant.\r\n

    \r\nWe hope the following sections will answer any questions you have but if not, please do get in touch with us.\r\n

    \r\n

    Summary of how we use your data

    \r\n

    \r\nOur website and app are designed to allow fans of Liverpool Football Club (\"LFC\", \"we\" or \"us\") to interact with the club. We use your personal data in various ways to facilitate this.\r\nLFC's use of your personal data allows us to provide products, tickets and services that you have purchased, to communicate with our fans, to provide you with information about us and about our products, services and events and may also include, where we are allowed to do so, contacting you about products and services and events that we think you'll be interested in.\r\nOur privacy notice describes how LFC will make use of your personal information when you visit our website or app, when we communicate with you and when you buy tickets or products from us:\r\n\r\n

    \r\nWhat information we collect and why;\r\nOur use of data analytics;\r\nThe legal basis on which we process your information;\r\nWho we share your personal information with, where and when;\r\nYour rights over your personal information;\r\nHow you can get in contact with us to discuss your personal information;\r\nHow to opt-out of direct marketing;\r\nWho the data controller over your personal information is; and\r\nHow long we will keep your personal information.\r\nWhere we transfer your data internationally we make sure that it is protected according to the standards required by applicable law.\r\nYou also have various rights over your personal data including a right to object to some of the processing of your personal data that LFC carries out.\r\nThe website and our app may include links to third-party websites, plug-ins and applications. Clicking on those links may allow third parties to collect or share data about you. We do not control these third-party websites and are not responsible for their privacy notices. When you leave our website, we encourage you to read the privacy notice of every website you visit.\r\n\r\n

    \r\n

    What information do we collect and why?

    \r\n

    \r\nWe collect and process personal data about you when you register to use this or our other websites or our app or purchase or express an interest in receiving products or services from us or subscribing to our communications. This includes:\r\n

    \r\nYour contact details including your name, postal and email address and telephone number.\r\n

    \r\nTo contact you in order for us to manage, administer and provide our products and services to you.\r\nTo respond to any correspondence and service-related enquiries you send to us in respect of our products or services.\r\nTo provide you with relevant information such as operational updates (including access information, ticket collection information and fixture changes) relating to match days and other events.\r\nWe will use this information to market products and services to you where you have consented to this.\r\nWe will also use this information to market LFC products and services to you (including via electronic means) and to inform you about LFC news, competitions, events and other information, to the extent you have not opted-out and to the extent such marketing relates to a product and/or service you have previously ordered or purchased or to a product or service you are communicating with us or have expressed an interest in.\r\nWe may use this information to collect payment of debts from you, for example where payments for hospitality are overdue.\r\nWe may receive this information from the Premier League rather than collecting it directly from you ourselves, but usually only where you have opted-in (e.g. on the Premier League website) to receiving information from us.\r\nWe may also receive this information from licensees of our brand (e.g. third party apps, games and retail outlets) where you have opted-in with that licensee for your information being shared with us.\r\nTo communicate any updates to you including any changes to our services, the terms and conditions of any services which we have provided to you, any changes to this Privacy Notice and to our websites.\r\nTo invite you to give feedback and/or take part in market research or surveys to assist us with improving fan experiences and our products and services.\r\nIdentity details including your title, name, date of birth, gender, user name, social media handles or other similar identifier.\r\n

    \r\nTo register you as a fan, to establish your identity and to ensure that we are corresponding with and providing products and services to the correct person.\r\nTo enable your participation in a prize draw or competition which you have entered.\r\nTo market products / services to you where you have consented to this. We will also use this information to market LFC products and services to you (including via electronic means) and to inform you about LFC news, competitions, events and other information, to the extent you have not opted-out and to the extent such marketing relates to a product and/or service you have previously ordered or purchased or to a product or service you are communicating with us or have expressed an interest in.\r\nWe may use this information to collect payment of debts from you, for example where payments for hospitality are overdue.\r\nWe may receive this information from the Premier League rather than collecting it directly from you ourselves, but only where you have opted-in (e.g. on the Premier League website) to receiving information from us.\r\nWe may also receive this information from licensees of our brand (e.g. third party apps, games and retail outlets) where you have opted-in with that licensee for your information being shared with us.\r\nWe only collect information about your gender for statistical purposes and to personalise the products and services we offer to you.\r\nFinancial information including bank account and payment card details.\r\n

    \r\nYour payment card details may be collected via our website or app. This information is used solely for billing purposes by our PCI-DSS certified payment services provider. Your payment card information is encrypted and transmitted to our payment services provider securely via HTTPS. Your payment card details are never stored on our systems, and no one at LFC can access them. A limited selection of our staff can access your payment card's expiration date to ensure your payment information remains valid.\r\nWe may collect your bank account details to process any subscriptions (e.g. TV subscriptions, regular season ticket payments) you enter into with us.\r\nDetails of payments to and from you and other details of products and services you have purchased from us including any feedback.\r\n

    \r\nTo allow us to provide you with any products or services you have purchased from us.\r\nTo administer any refunds that we provide to you.\r\nTo enable you to track your payments history through your account.\r\nTo establish whether other products / services that we may wish to contact you about (where we are entitled to do so) are relevant.\r\nTo respond to comments / complaints you or others may send to us.\r\nTo improve and protect our products, platforms, content, services and websites.\r\nTo check your eligibility for tickets and other events which you wish to attend.\r\nYour preferences in receiving marketing communications from us and any third parties (including any consents you have given us) and confirmation of whether or not we should contact you.\r\n

    \r\nTo make sure that we only send marketing information to you where we are entitled to do so.\r\nWe receive a 'yes' or 'no' answer at our request from the Telephone Preference Service and as a result of mortality and gambling/betting/financial screening as an indication of whether we should contact you for marketing purposes.\r\nYour official supporters' club membership status.\r\n

    \r\nWe receive a 'yes' or 'no' answer at our request from the official supporters' club as to whether you are a member.\r\nThis assists with ticketing and providing benefits to members.\r\nYour username and password, purchases or orders made by you, your interests, preferences, feedback and survey responses.\r\n

    \r\nWe will use this information to show you information that is relevant to you including your account information and history to allow you to administer your account.\r\nWe also use some of this information for analytics purposes, which are described in more detail below under 'Our use of data analytics'.\r\nTechnical data about your access to and use of the website and app.\r\n

    \r\nThis is likely to include IP address (from which we may infer your country of location), the type of device you are using, your login data, browser type and version, time zone setting and location, browser plug-in types and versions, operating system and platform and other technology on the device you use to access our website or app and information about whether you open our communications, which content you have viewed and other page interaction information.\r\nThis is primarily to help us better understand how our fans use our digital platforms to enable us to create better content and more relevant communications. For more information on this, please see our Cookies Policy.\r\nAs part of the Champions Trophy Experience within the Official App, 'Champions Presented by Standard Charted’ we use Truedepth API to access the Front facing camera on iOS devices. The only use of this information is to provide valuable user features. None of the information collected by the TrueDepth API ever leaves the user's device. We do not share information around the TrueDepth API with third parties and we do not store or process in any other way the data which we access and use via TrueDepth API. As part of this feature in the Official LFC App a user can opt to use the function to place stickers on their face and can opt to save photographs of themselves. LFC do not store any of this face data within the App or on a server.\r\n

    \r\n

    Information relating to any access, disability and/or dietary requirements you may have.

    \r\n

    \r\nWe will generally only request this information where it is needed for ticketing or hospitality purposes, for example where you have bought a ticket to an event so that we can make sure there are suitable accessibility arrangements in place.\r\nInformation required by law.\r\n

    \r\nThis may include, for example, where we need parental consent to provide online services to children under 13 (however, most of our websites are not designed for children under 13) or in response to requests by government or law enforcement authorities conducting an investigation.\r\nCopies of identity documents where you are a season ticket holder (in which case we may collect details including your place of birth and residential address) which may include a photograph.\r\n

    \r\nWhere you are a season ticket holder, we may take copies of your identity documents in order to verify your identity.\r\nWe will only keep copies of your identity documents for as long as it takes us to verify your identity and will then securely delete those copies.\r\nWe use software that analyses the copies of identity documents that you provide to us which may automatically make a decision about your identity. However, where an automatic decision of this kind is made, you will always have the opportunity to challenge it if you disagree with the decision made.\r\nWe will not use the copies we take of your identity documents for any other purpose.\r\nWe may take a photograph of you to confirm your identity during the Season Ticket Amnesty process. This will be deleted once the amnesty has been completed and will not be stored by LFC for longer than this.\r\nPlease note that we may use any of the data described above to prevent, investigate and/or report fraud, terrorism, misrepresentation, security incidents or crime (including but not limited to ticketing offences), in accordance with applicable law.\r\n

    \r\n____________________________________________________________________________________\r\n

    \r\n

    Our use of data analytics

    \r\n

    \r\nWe evaluate, categorise and profile personal data to help us tailor materials, services and communications on our platforms and on third party platforms such as social media. This also helps prevent unwanted communications from filling up your inbox. This also helps us understand and provide a better experience to our fans, improve and protect our organisation and carry out research connected to our aims.\r\n

    \r\nInternal research and analysis: We carry out research and analysis on our supporters, members and volunteers, to determine the success of campaigns and appeals, better understand behaviour and responses and identify patterns and trends. This helps inform our approach and make LFC a stronger and more effective organisation. Understanding our fans, their interests and what they care about also helps us provide a better experience.\r\n

    \r\nAnalysis and grouping: We analyse the data we collect about fans to identify common characteristics and preferences. We do this by assessing various types of information including behaviour, for example, previous activity or demographic information, such as age or location. This allows us to ensure you receive the communications, products and information which are most important to you.\r\n

    \r\nProfiling to help us understand our fans: We profile fans on the basis of various criteria including their interests, general geographic location, website/app activity and socioeconomic and age groups. We also use aggregated, anonymised lifestyle data obtained from third parties to supplement our profiles. This information helps us to ensure communications are relevant and timely and to offer new products and services that may be of interest to our fans.\r\n

    \r\nSeveral of these analytics activities rely on the use of cookies. You can set your browser to refuse all or some browser cookies, or to alert you when websites set or access cookies. If you disable or refuse cookies, please note that some parts of our website or platforms may become inaccessible or not function properly. For more information about the cookies we use, please see our Cookies Policy.\r\n

    \r\n____________________________________________________________________________________\r\n

    \r\n

    Use of Google Fit

    \r\n

    \r\nThe Kop Run Site shall integrate with the Google Fit app on your device.

    \r\nWhere you have registered for the Kop Run Site, you will be prompted on your Google Fit app to grant the Kop Run Site access to any user data and physical activity data uploaded onto your Google Fit app. Specifically we will collect your activity session dates and times, as well as distances covered for eligibile activities (Walking, Running or Jogging).\r\n

    \r\nSuch data shall be shared and uploaded onto the LFC Kop Run Site, and will then be used to calculate and attribute points to inform a race leaderboard and determine prize eligibility throughout the Service Period.\r\n

    \r\n____________________________________________________________________________________\r\n

    \r\n

    Legal basis for processing personal data

    \r\n

    \r\nOur legal basis for collecting and using your personal data will depend on the personal data concerned and the specific context in which we collect it.\r\n

    \r\nIf we ask you to provide personal data to comply with a legal requirement or to perform a contract with you or with your explicit consent, we can provide details of this to you on request. We will advise you at the time whether the provision of your personal data is mandatory or not (as well as of the possible consequences if you do not provide your personal data).\r\n

    \r\nIf we collect and use your personal data in reliance on our legitimate interests (or those of any third party), you may request that we provide with you information about what those legitimate interests are by contacting us using the details at 'How do I get in touch with you?' below.\r\n

    \r\n____________________________________________________________________________________\r\n

    \r\n

    Who will we share this data with, where and when?

    \r\n

    \r\nData will also be shared with third party service providers, who will process it on behalf of LFC for the purposes identified above. Such third parties include providers of social media platforms and search engines, providers of services to the club such as website hosting, app developers, software providers, maintenance providers, payment providers, identity verification providers, video streaming companies, mailing companies and marketing services,\r\n

    \r\nPersonal data may be shared with government authorities and/or law enforcement officials if required for the purposes above, if mandated by law or if required for the legal protection of our legitimate interests in compliance with applicable laws.\r\n

    \r\nWe will only share your data with a third party for the purpose of them directly marketing to you where you have consented to such data sharing (for example, when entering into a specific competition for which we have partnered with that third party).\r\n

    \r\nWe may need to store or transfer your personal information to countries outside the European Economic Area (EEA), some of which do not protect privacy rights as extensively as in the United Kingdom. However, we have taken appropriate safeguards to require that your personal information will remain protected in accordance with this Privacy Notice. Further details of these safeguards can be provided for your review on request by contracting our Data Protection Officer using the contact information set out under the heading ‘How do I get in touch with you or your data protection officer?’ below.\r\n

    \r\nIn the event that the business is sold or integrated with another business, your details will be disclosed to our advisers and any prospective purchaser’s adviser and will be passed to the new owners of the business.\r\n

    \r\n____________________________________________________________________________________\r\n

    \r\n

    What rights do I have?

    \r\n

    \r\nYou have the right to ask us for a copy of your personal data; to correct, delete or restrict (stop any active) processing of your personal data; and to obtain the personal data you provide to us for a contract or with your consent in a structured, machine readable format.\r\n

    \r\nIn addition, you can object to the processing of your personal data in some circumstances (in particular, where we don’t have to process the data to meet a contractual or other legal requirement, or where we are using the data for direct marketing).\r\n

    \r\nWherever we rely on your consent, you will always be able to withdraw that consent, although we may have other legal grounds for processing your data for other purposes, such as those set out above. In some cases, we are able to send you direct marketing without your consent, where we rely on our legitimate interests. You have an absolute right to opt-out of direct marketing, or profiling we carry out for direct marketing, at any time. You can do this by following the instructions in the communication where this is an electronic message, or by contacting us using the details set out below:\r\n

    \r\nThese rights may be limited, for example if fulfilling your request would reveal personal data about another person, or if you ask us to delete information which we are required by law to keep or have compelling legitimate interests in keeping.\r\n

    \r\nTo exercise any of these rights, you can get in touch with us or our data protection officer using the details set out below. If you have unresolved concerns, you have the right to complain to an EU data protection authority where you live, work or where you believe a breach may have occurred. This likely to be the Information Commissioner’s Office in the UK.\r\n

    \r\n____________________________________________________________________________________\r\n

    \r\n

    How do I get in touch with you or your data protection officer?

    \r\n

    \r\nWe hope that we can satisfy queries you may have about the way we process your data. You can get in touch with LFC's Data Protection Officer if you have any concerns or queries about how we process your data at DPO@liverpoolfc.com or by writing to the following address:\r\n

    \r\nFAO: Data Protection Officer\r\n

    \r\nThe Liverpool Football Club and Athletic Grounds Limited\r\n

    \r\n10th Floor\r\n

    \r\n20 Chapel Street\r\n

    \r\nLiverpool\r\n

    \r\nL3 9AG\r\n

    \r\n____________________________________________________________________________________\r\n

    \r\n

    How do I opt-out of direct marketing?

    \r\n

    \r\nThere are several ways you can stop direct marketing communications from us:\r\n

    \r\nclick the 'unsubscribe' link in any email marketing communications which we send you and make changes in our preference centre\r\nif you have any account registration on our website or any of our product or service areas, log-in to the 'My LFC' or 'My Account' area and update or change your preferences; or\r\ncontact our Fan Experience team using our Contact Us page.\r\nPlease note that you may continue to receive communications for a short period after changing your preferences while all our systems are fully updated.\r\n

    \r\n___________________________________________________________________________________\r\n

    \r\n

    Which Liverpool entity is my data controller, and which affiliates might my data be shared with?

    \r\n

    \r\nThe data controller for your information is The Liverpool Football Club & Athletic Grounds Limited, except where you have consented to us sharing your data with third party partners for direct marketing purposes where the data controller will be such third party partner.\r\n

    \r\n____________________________________________________________________________________\r\n

    \r\n

    How long will you retain my data?

    \r\n

    \r\nWe retain personal information we collect from you where we have an ongoing legitimate business need to do so (for example, to provide you with a service you have requested or to comply with applicable legal, tax or accounting requirements).\r\n

    \r\nWhen we have no ongoing legitimate business need to process your personal information, we will either delete or anonymise it or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible.\r\n
    \r\n )\r\n}\r\n\r\nexport default PrivacyPolicy","import Main from \"../../components/main/Main\"\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\nimport \"./TermsOfUse.css\"\r\n\r\nfunction TermsOfUse() {\r\n const { lang } = useAppContext();\r\n\r\n\r\n if (lang === \"th\") {\r\n return (\r\n
    \r\n

    \r\nเงื่อนไขและข้อกำหนดสำหรับการเข้าถึงเว็บไซต์ \r\nLFC Kop Run

    \r\nเงื่อนไข และข้อกำหนดฉบับนี้ (\"เงื่อนไขฯ\") สำหรับการเข้าถึงเว็บไซต์ LFC Kop Run (\"เว็บไซต์ Kop Run\") เป็นส่วนหนึ่งของการมีส่วนร่วมของท่านในการแข่งขัน LFC Kop Run Event (“LFC Kop Run”) โดยเว็บไซต์ Kop Run จัดไว้ให้แก่ท่านซึ่งเป็นผู้เข้าร่วม (\"ท่าน\",\"ของท่าน\") บนหลักเกณฑ์ว่า ท่านได้ชำระค่าธรรมเนียมให้แก่ผู้จัดของสโมสรฯ กล่าวคือ บริษัท มูฟ เอเชีย จำกัด (“ผู้จัด”) และได้รับรหัสในการเข้าถึงเว็บไซต์ Kop Run (“รหัสการเข้าถึง”) และยอมรับเงื่อนไขของสัญญาฉบับนี้ โดยถือเป็นข้อตกลงทางกฎหมายและกำหนดถึงสิทธิและหน้าที่ต่างๆ ของท่านและสโมสรฟุตบอลลิเวอร์พูลและบริษัท แอธเลติกกราวด์ จำกัด ซึ่งรวมถึงตัวแทนและบริษัทต่างๆ ในกลุ่ม (\"สโมสรฟุตบอลลิเวอร์พูล\", \"สโมสรฯ\", \"ของสโมสรฯ\") ทั้งนี้ โดยการลงทะเบียนเพื่อให้สามารถเข้าถึงเว็บไซต์ ถือเป็นการตกลงที่จะเข้าผูกพันตามเงื่อนไขฯ ฉบับนี้ และเงื่อนไขทั่วไปฯ (ตามที่ได้ระบุไว้ด้านล่าง)

    \r\nตามขอบเขตว่า หากเงื่อนไขฯ ฉบับนี้ขัดแย้งกับเงื่อนไขและข้อกำหนดทั่วไปในการใช้เว็บไซต์ Liverpool FC (\"เงื่อนไขทั่วไปฯ\") ในกรณีดังกล่าว ให้เรียงลำดับความสำคัญในการใช้บังคับดังต่อไปนี้: (1) เงื่อนไขฯ ฉบับนี้ และภายหลังจากนั้น (2) เงื่อนไขทั่วไปฯ

    \r\n

    \r\nเว็บไซต์ \r\nKop Run

    \r\nสโมสรฯ จัดให้ท่านเข้าถึงเว็บไซต์ Kop Run โดยในฐานะเป็นส่วนหนึ่งของเว็บไซต์ Kop Run สโมสรฯ จะจัดให้มีการเข้าถึงสื่ออื่นๆ และทรัพย์สินทางปัญญาที่เกี่ยวข้องกับสโมสรฟุตบอลลิเวอร์พูล โดยที่การออกแบบ ข้อความ ภาพกราฟฟิก คลิปภาพยนตร์ และการคัดสรรหรือการจัดเตรียมสิ่งดังกล่าวทั้งปวง ถือเป็นลิขสิทธิ์ของสโมสรฯ หรือผู้รับอนุญาตสิทธิ์ที่เกี่ยวข้องของสโมสรฯ ทั้งนี้ สโมสรฯ อาจดัดแปลงหรือหยุดระงับเว็บไซต์ Kop Run เป็นครั้งคราวโดยไม่จำต้องมีคำบอกกล่าวให้แก่ท่านก็ได้ และไม่ว่าภายใต้กรณีใดๆ ท่านไม่ได้รับอนุญาตให้ทำสำเนา ทำซ้ำ บันทึก ดัดแปลง ส่งผ่านไปยังเว็บไซต์อื่นใด ลบประกาศเครื่องหมายการค้าหรือลิขสิทธิ์ออกจาก หรือใช้ประโยชน์ในเชิงพาณิชย์ อันเกี่ยวเนื่องกับเนื้อหาหรือข้อมูลใดๆ ที่ได้จัดให้ไว้เป็นส่วนหนึ่งของเว็บไซต์ Kop Run นอกจากนั้น สโมสรฯ สงวนสิทธิ์ที่จะปฏิเสธในการยอมรับการสมัครของท่านด้วยเหตุผลใดๆ ซึ่งรวมถึงแต่ไม่จำกัดเพียงความเชื่อใดๆ ว่า ท่านจะไม่ปฏิบัติตามเงื่อนไขฯ ฉบับนี้

    \r\n
    สโมสรฯ อาจเปลี่ยนแปลงวิธีการที่สโมสรฯ จัดให้การเข้าถึงเว็บไซต์ Kop Run และจะใช้ความพยายามอย่างเหมาะสมที่จะไม่ทำการเปลี่ยนแปลงใดๆ อันมีผลกระทบในทางที่เป็นผลร้ายอย่างมีนัยสำคัญต่อท่านในระหว่างระยะเวลาใดๆ ที่ท่านได้ชำระค่าธรรมเนียมตามกำหนดเวลา เว้นแต่อยู่นอกเหนือการควบคุมที่เหมาะสมของสโมสรฯ (ตัวอย่างเช่น แต่ไม่จำกัดเพียงเหตุผลทางด้านกฎหมายหรือการกำกับดูแลต่างๆ) เนื้อหา LFC Content (ตามที่ได้ระบุไว้ในข้อ 6 ส่วน A ของเงื่อนไขและข้อกำหนดฉบับนี้) ซึ่งจะรวมถึงแต่ไม่จำกัดเพียงเนื้อหาทั้งหมดบนเว็บไซต์ Kop Run และ/หรือ เนื้อหาอื่นใดที่ได้จัดไว้เป็นส่วนหนึ่งของการแข่งขัน มีเจ้าของเป็น หรือได้ให้อนุญาตสิทธิ์ไว้แก่สโมสรฯ และโดยที่สิทธิ์ใดๆ ทั้งปวงในและต่อสิ่งที่ระบุไว้ข้างต้นดังกล่าว ได้สงวนไว้ให้แก่สโมสรฯ

    \r\n
    \r\nการเข้าถึงของท่านและการใช้เว็บไซต์ \r\nKop Run

    \r\nเว็บไซต์ Kop Run จะต้องใช้โดยบุคคลเพียงคนเดียวเท่านั้นต่อหนึ่งชื่อผู้ใช้ – อย่างไรก็ตาม เพื่อหลีกเลี่ยงข้อสงสัย ในกรณีที่ผู้เข้าร่วมมีอายุต่ำกว่าสิบแปด (18) ปี และบิดามารดาหรือผู้ปกครองจำเป็นที่จะต้องลงชื่อ และ/หรือ ชำระเงินในนามของผู้เข้าร่วม ในกรณีเช่นนี้ การดำเนินการดังกล่าวจะไม่ถือเป็นการละเมิดเงื่อนไขในข้อนี้ โดยเพื่อที่จะใช้เว็บไซต์ Kop Run หรือเข้าถึงเนื้อหา ท่านจะต้อง (เอ) ได้รับการเข้าถึง World Wide Web และชำระค่าบริการใดๆ ที่เกี่ยวข้องกับการเข้าถึงดังกล่าว, (บี) จัดหาอุปกรณ์ทั้งปวงที่จำเป็นในการทำการเชื่อมต่อกับ World Wide Web ซึ่งประกอบด้วยคอมพิวเตอร์และโมเด็มหรืออุปกรณ์การเข้าถึงที่จำเป็นอื่นๆ, (ซี) ใช้เบราว์เซอร์ที่ทันสมัยซึ่งสนับสนุนวิดีโอ HTML 5 (ตัวอย่าง เช่น Chrome, Safari, Firefox), และ (ดี) ลงทะเบียนสำหรับ LFC Kop Run โดยผ่านผู้จัดของสโมสรฯ โดยใช้ URL https://www.runlah.com/events/kopvr20 ทั้งนี้ การใช้ซอฟต์แวร์ที่เกี่ยวข้องของท่านอยู่ภายใต้เงื่อนไขของการอนุญาตสิทธิที่ผู้ให้อนุญาตสิทธิได้ให้ไว้แก่ท่าน โดยที่สโมสรฯ มิได้จัดหาและไม่รับผิดชอบสำหรับซอฟต์แวร์ใดๆ หรือเกี่ยวกับปัญหาใดๆ ที่เกิดขึ้นจากซอฟต์แวร์ คอมพิวเตอร์ฮาร์ดแวร์หรือระบบปฏิบัติการคอมพิวเตอร์ต่างๆ

    \r\n

    \r\nสิทธิของท่านในการใช้เว็บไซต์ Kop Run ถือเป็นการเฉพาะตัวของท่าน โดยที่ท่านรับผิดชอบอย่างเต็มที่สำหรับการใช้เว็บไซต์ Kop Run และตกลงว่า ท่านจะไม่โอนหรือยินยอมให้มีการเข้าถึงเว็บไซต์ Kop Run ผ่านบัญชีของท่านโดยปราศจากความยินยอมล่วงหน้าเป็นลายลักษณ์อักษรของสโมสรฟุตบอลลิเวอร์พูล ท่านตกลงจะใช้เว็บไซต์ Kop Run ในลักษณะที่สอดคล้องกับกฎหมายและกฎระเบียบที่ใช้บังคับใดๆ ทั้งปวงในประเทศที่ท่านได้เข้าถึงเว็บไซต์ Kop Run

    \r\n
    \r\nท่านจะต้องไม่ (และจะไม่มอบหมายหรือยินยอมให้บุคคลอื่นใด):

    • \r\nใช้เว็บไซต์ Kop Run ไปในทางที่ไม่ถูกต้อง หรือใช้เว็บไซต์ดังกล่าวเพื่อวัตถุประสงค์ที่ไม่ผิดกฎหมาย
    • \r\nส่งไวรัสคอมพิวเตอร์ใดๆ หรือสิ่งปะปนที่ก่อกวนหรือเป็นอันตรายอื่นใดผ่านเว็บไซต์ Kop Run
    • \r\nใช้เว็บไซต์ Kop Run ไปในทางที่อาจทำให้เว็บไซต์ดังกล่าว และ/หรือ อุปกรณ์ใดๆ ที่สโมสรฯ ใช้ในการให้บริการเว็บไซต์ Kop Run (รวมทั้ง \"ระบบ\") เกิดการหยุดชะงัก เสียหาย ทำให้ประสิธิภาพน้อยลงหรือบกพร่อง
    • \r\nจัดเก็บรหัสผ่านของท่านในที่ใดๆ บนคอมพิวเตอร์เป็นข้อความเรียบในรูปแบบตัวอักษรแบบปกติทั่วไป
    • \r\nใช้เว็บไซต์ Kop Run ในลักษณะใดๆ ที่ฝ่าฝืนหรือละเมิดสิทธิของบุคคล กิจการหรือบริษัทใดๆ (ซึ่งรวมถึงแต่ไม่จำกัดเพียงสิทธิต่างๆ ในทรัพย์สินทางปัญญา, ความลับหรือความเป็นส่วนตัว)
    • \r\nทำซ้ำ ดัดแปลง แจกจ่าย เปลี่ยนแปลง ถอด แยก ทำวิศวกรรมย้อนกลับ ดาวน์โหลดหรือเผยแพร่เนื้อหาใดๆ ของเว็บไซต์โดยปราศจากการอนุญาตล่วงหน้าเป็นลายลักษณ์อักษรของสโมสรฯ แม้ว่าท่านอาจทำสำเนาในรูปอิเล็กทรอนิกส์หรือพิมพ์เป็นส่วนสำเนากระดาษจากเว็บไซต์ Kop Run สำหรับการใช้ส่วนตัวของท่านเองเท่านั้นและมิได้เพื่อได้รับประโยชน์ในเชิงพาณิชย์ก็ตาม
    • \r\nขาย กำหนด โอนหรือมอบหมายสิทธิและหน้าที่ทั้งหมดหรือในส่วนใดๆ ของท่านให้แก่บุคคลหรือกิจการอื่น หรือส่งต่อการใช้เว็บไซต์ Kop Run หรือเนื้อหาใดๆ ที่มีอยู่ภายในเว็บไซต์

    \r\n
    \r\nเพื่อหลีกเลี่ยงข้อสงสัย ท่านรับผิดชอบแต่เพียงผู้เดียวในการดำเนินการให้มั่นใจว่า ท่านมีความสามารถในเชิงสุขภาพ และมีระดับทักษะที่จำเป็นในการออกกำลังกายใดๆ ทั้งปวง ทักษะหรือกิจกรรมทางร่างกายอื่นๆ ซึ่งได้แสดงไว้ในวิดีโอ และ/หรือ เนื้อหาอื่นๆ ที่จัดให้ไว้เป็นส่วนหนึ่งของเว็บไซต์ Kop Run และโดยที่สโมสรฟุตบอลลิเวอร์พูลจะไม่รับผิดไม่ว่าในทางใดๆ สำหรับการบาดเจ็บใดๆ ที่ประสบซึ่งเป็นผลเนื่องมาจากการที่ท่านพยายามในการออกกำลังกาย ทักษะหรือกิจกรรมทางร่างกายอื่นๆ ดังกล่าว

    \r\n

    \r\nการลงทะเบียน

    \r\nการเข้าถึงเว็บไซต์ Kop Run ของท่าน จะมีกำหนดระยะเวลาตามที่ได้แจ้งให้ท่านทราบ หรือตามที่ท่านได้เลือกเมื่อท่านได้ลงทะเบียนเพื่อให้สามารถเข้าถึงเว็บไซต์ Kop Run (“ระยะเวลาการบริการ”)

    \r\nท่านรับรองว่า ข้อมูลที่ท่านให้ไว้ในเวลาเมื่อท่านลงทะเบียน เป็นความจริง ถูกต้องและครบถ้วนสมบูรณ์ในทุกประการ และท่านตกลงแจ้งต่อสโมสรโดยทันทีเกี่ยวกับการเปลี่ยนแปลงใดๆ ในการแก้ไขเปลี่ยนแปลงรายละเอียดต่างๆ ของท่านโดยใช้ฟังก์ชั่นไซต์ 'My Account' ทั้งนี้ ในกรณีที่ท่านมีอายุต่ำกว่า (18) ปี ในกรณีดังกล่าว ท่านรับรองว่า ท่านได้รับความยินยอมของบิดามารดา/ผู้ปกครองอย่างเหมาะสมในการลงทะเบียนสำหรับ LFC Kop Run และลงชื่อเข้าเว็บไซต์ Kop Run และโดยที่สโมสรฟุตบอลลิเวอร์พูลอาจใช้ความพยายามที่เหมาะสมในการตรวจสอบว่า ได้รับความยินยอมนี้แล้วหรือไม่

    \r\n
    เกี่ยวกับการลงทะเบียนเข้าเว็บไซต์ Kop Run ท่านจะต้องใส่ชื่อผู้ใช้ (ท่านควรต้องดำเนินการให้มั่นใจว่า ไม่มีความเป็นไปได้ใดๆ ในการระบุตัวตนท่านจากทางเลือกของชื่อผู้ใช้) และรหัสผ่าน ท่านจะต้องเก็บรักษารหัสผ่านให้ปลอดภัยและไม่เปิดเผยต่อบุคคลอื่นใด โดยในกรณีที่บุคคลภายนอกรู้รหัสผ่าน ในกรณีดังกล่าว ท่านจะต้องเปลี่ยนรหัสผ่านของท่านในทันทีโดยใช้ฟังก์ชั่นไซต์ 'My Account'  และแจ้งเว็บไซต์ Kop Run ทั้งนี้ สโมสรฯ ไม่รับผิดใดๆ สำหรับการสูญเสียหรือความเสียหายใดๆ ที่เกิดขึ้นจากความผิดพลาดบกพร่องของท่านในการปฏิบัติตามหน้าที่ดังกล่าวนี้

    \r\n
    ในบางกรณี เว็บไซต์ Kop Run อาจรวมเข้ากับการบริการหรือแพลตฟอร์มต่างๆ ของบุคคลภายนอก เช่น Google ID, Facebook และ/หรือ Twitter โดยท่านอาจได้รับอนุญาตให้เข้าถึงเว็บไซต์ Kop Run (หรือฟังก์ชันการทำงานที่ส่งต่ออื่นๆ) โดยผ่านการลงทะเบียนของท่านกับการบริการของบุคคลภายนอกดังกล่าว ซึ่งโดยทั่วไปการบริการหรือแพลตฟอร์มต่างๆ ของบุคคลภายนอกเหล่านี้กำหนดให้ท่านต้องมีบัญชีแยกต่างหาก และ/หรือ การลงทะเบียนกับบุคคลภายนอกเหล่านั้น และโดยที่เงื่อนไขเกี่ยวกับการที่บุคคลภายนอกเหล่านั้นเข้าร่วมกับท่านและส่งต่อข้อมูลหรือรายละเอียดกับทางสโมสรฯ จะแตกต่างกันไปในระหว่างการบริการและแพลตฟอร์ม ดังนั้น สโมสรฯ เสนอแนะท่านปฏิบัติตัวให้รับรู้ถึงเงื่อนไขและข้อกำหนดต่างๆ ของบุคคลภายนอกเหล่านั้นก่อนที่ท่านจะร่วมกิจกรรมของท่านบนเว็บไซต์ Kop Run กับบริการหรือแพลตฟอร์มเหล่านั้

    \r\n
    นอกจากที่ระบุไว้ข้างต้น เว็บไซต์ Kop Run จะรวมเข้ากับแอพพลิเคชั่นกูเกิลฟิตบนอุปกรณ์ของท่าน ในกรณีที่ท่านได้ลงทะเบียนไว้สำหรับเว็บไซต์ Kop Run ท่านจะได้รับแจ้งเตือนโดยทันทีบนแอพพลิเคชั่นกูเกิลฟิตของท่านในการอนุญาตสำหรับการเข้าถึงเว็บไซต์ Kop Run เกี่ยวกับข้อมูลผู้ใช้ใดๆ และข้อมูลกิจกรรมทางกายที่ถูกอัพโหลดขึ้นบนแอพพลิเคชั่นกูเกิลฟิตของท่าน โดยข้อมูลดังกล่าวจะถูกส่งต่อและอัพโหลดขึ้นบนเว็บไซต์ Kop Run ของสโมสรฟุตบอลลิเวอร์พูล และจะถูกนำไปใช้ในการคำนวณและระบุคะแนน เพื่อที่จะแจ้งกระดานผู้นำการแข่งขัน และตัดสินสิทธิ์รับรางวัลตลอดระยะเวลาการบริการ

    \r\n

    \r\nการชำระเงิน

    \r\nท่านจะต้องชำระค่าธรรมเนียมการเข้าร่วม (\"ค่าธรรมเนียม\") ที่เกี่ยวข้องให้แก่ผู้จัดตามแผนค่าธรรมเนียมซึ่งได้แจ้งต่อท่าน ณ เวลาที่ทำการลงทะเบียนพร้อมกับการออกเสียง ทั้งนี้ เว้นแต่ที่ระบุไว้เป็นประการอื่น ค่าใช้จ่ายต่างๆ ไม่รวมภาษีมูลค่าเพิ่มและภาษีอื่นใดที่เรียกเก็บเป็นครั้งคราวไปสำหรับการชำระเงินซึ่งท่านรับผิดชอบ โดยเฉพาะเมื่อผู้จัดได้ยืนยันการรับค่าธรรมเนียมแล้วเท่านั้น จึงจะออกรหัสการเข้าถึงให้แก่ท่าน ซึ่งในภายหลังจากนั้นสามารถนำไปใช้ในการลงทะเบียนบนเว็บไซต์ Kop Run

    \r\nโปรดดูเงื่อนไขและข้อกำหนดของผู้จัดในการลงทะเบียนสำหรับรายละเอียดต่างๆ ที่เกี่ยวข้องกับทางเลือกในการการชำระเงิน การยกเลิกและการคืนเงิน

    \r\n

    \r\nการปฏิเสธความรับผิดสำหรับการรับประกัน

    \r\nสโมสรฯ จัดให้มีเว็บไซต์ Kop Run บนพื้นฐาน \"ตามสภาพที่เป็นอยู่\" และมิได้ให้คำยืนยันหรือการรับประกันในลักษณะใดๆ เกี่ยวกับเว็บไซต์ Kop Run หรือเนื้อหาของเว็บไซต์ นอกเหนือจากตามที่กฎหมายกำหนด ทั้งนี้ ตามขอบเขตสูงสุดที่กฎหมายซึ่งใช้บังคับได้อนุญาตไว้ สโมสรฯ มิได้ยืนยันหรือรับประกันว่า การเข้าถึงเว็บไซต์ Kop Run จะไม่หยุดชะงักหรือไม่มีความบกพร่อง ความผิดพลาดหรือการตกหล่น หรือการสูญหายของข้อมูลที่ส่งผ่าน หรือไม่มีไวรัสที่จะถูกส่งผ่านเว็บไซต์ Kop Run โดยที่สโมสรฯ ไม่รับประกันว่า ท่านจะสามารถเข้าถึงหรือใช้เว็บไซต์ Kop Run ณ เวลาหรือสถานที่ต่างๆ ที่ท่านเลือก หรือสโมสรฯ จะมีประสิทธิภาพความสามารถที่เพียงพอสำหรับเว็บไซต์ Kop Run โดยรวมหรือในพื้นที่ทางภูมิศาสตร์ที่เฉพาะเจาะจงใดๆ

    \r\n

    \r\nการจำกัดความรับผิด

    \r\nตามขอบเขตที่กฎหมายซึ่งใช้บังคับได้อนุญาตไว้ สโมสรฯ และกรรมการ ลูกจ้างหรือตัวแทนใดๆ ของสโมสรฯ จะไม่รับผิดสำหรับความเสียหาย (ไม่ว่าความเสียหายโดยตรง ความเสียหายโดยอ้อม ค่าเสียหายพิเศษ ความเสียหายที่เป็นผลสืบเนื่องหรือค่าเสียหายในเชิงลงโทษ) ในสัญญา การละเมิดหรือในประการอื่น ซึ่งรวมถึงความประมาทเลินเล่อ หรือการสูญเสียอื่นใด หรือรายได้ ผลกำไร ค่าความนิยม ข้อมูล สัญญา อันเกิดขึ้นหรือที่เกี่ยวเนื่องกับการใช้ (หรือการหยุดชะงักทางธุรกิจหรือไวรัสต่างๆ ที่ถูกกล่าวหาว่าได้รับจาก) เว็บไซต์ Kop Run (หรือสิ่งใดๆ ที่มีอยู่บนเว็บไซต์) โดยที่ท่านรับรองว่า สโมสรฯ ไม่จำต้องรับผิดต่อท่านหรือบุคคลภายนอกรายใดๆ สำหรับการดัดแปลง การระงับหรือการหยุดดำเนินการเว็บไซต์ Kop Run ซึ่งนี้ถือเป็นการจำกัดความรับผิดที่กว้างขวางครอบคลุมที่ใช้บังคับต่อความเสียหายทั้งหมดในลักษณะใดๆ ซึ่งรวมถึง (แต่ไม่จำกัดเพียง) ค่าเสียหายในการชดเชย ความเสียหายโดยตรง ความเสียหายโดยอ้อมหรือความเสียหายที่เป็นผลสืบเนื่อง การสูญเสียข้อมูล รายได้หรือผลกำไร การสูญเสียหรือความเสียหายต่อทรัพย์สินและการเรียกร้องของบุคคลภายนอก ทั้งนี้ สโมสรฯ ไม่จำกัดหรือยกเว้นความรับผิดของสโมสรฯ สำหรับการสูญเสียชีวิตหรือการบาดเจ็บของบุคคลอันเป็นผลเนื่องมาจากความประมาทเลินเล่อของสโมสรฯ หรือสำหรับความรับผิดอื่นใด ที่ไม่อาจยกเว้นหรือจำกัดตามกฎหมาย

    \r\n
    \r\nการหยุดระงับและการยกเลิก

    \r\nสโมสรฯ อาจหยุดระงับหรือปิดเว็บไซต์ Kop Run หรือการเข้าถึงของท่านบนเว็บไซต์ Kop Run ณ เวลาใดๆ ก็ได้โดยทันทีตามดุลพินิจโดยเด็ดขาดของสโมสรฯ ในกรณีหากว่า:

    \r\n(เอ) การใช้เว็บไซต์ Kop Run ของท่านถูกพิจารณาว่าเป็นการใช้ในทางที่ไม่เหมาะสม มากเกินความจำเป็นหรือขัดต่อประโยชน์ของผู้เข้าร่วมรายอื่นๆ

    \r\n(บี) การใช้เว็บไซต์ Kop Run ของท่านถูกพิจารณาว่าเป็นการฝ่าฝืนเงื่อนไขฯ ฉบับนี้ และ/หรือ เงื่อนไขทั่วไปฯ; หรือ

    \r\n(ซี) หน่วยงานที่มีอำนาจหน้าที่กำกับดูแล กำหนดให้ปิดเว็บไซต์ Kop Run หรือ

    \r\n(ดี) ค่าธรรมเนียมใดๆ (หรือค่าธรรมเนียมใดๆ บางส่วน) ยังคงค้างชำระเป็นระยะเวลาเกินกว่าเจ็ดวันนับจากวันครบกำหนดชำระ (นอกเหนือจากเพราะเหตุความผิดของสโมสรฯ หรือผู้ให้บริการภายนอกด้านการชำระเงินของสโมสรฯ)

    \r\nนอกจากนั้น สโมสรฯ อาจหยุดระงับหรือปิดเว็บไซต์ Kop Run หรือการเข้าถึงของท่านบนเว็บไซต์ Kop Run ณ เวลาใดๆ ก็ได้โดยทันทีตามดุลพินิจโดยเด็ดขาดของสโมสรฯ (แต่จะส่งคำบอกกล่าวให้แก่ท่านมากเท่าที่จะสามารถดำเนินการได้อย่างเหมาะสมในสถานการณ์ต่างๆ) ในกรณีหากว่าเป็นเหตุผลทางด้านเทคนิคหรือทางด้านการปฏิบัติการที่อยู่นอกเหนือการควบคุมของสโมสรฯซึ่งทำให้จำเป็นในการระงับหรือปิดเว็บไซต์นี้ตามที่สมควร

    \r\n
    \r\nการซ่อมบำรุงรักษา

    \r\nเว็บไซต์ Kop Run อาจถูกปิดลงและระงับการเข้าถึงของท่านเป็นครั้งคราวไป เพื่อที่จะดำเนินการงานที่เกี่ยวข้องกับการปรับปรุงให้ทันสมัยหรือการบำรุงรักษาระบบตามที่จำเป็นสำหรับการจัดให้บริการเว็บไซต์ Kop Run โดยที่สโมสรฯ จะส่งคำบอกกล่าวมากเท่าที่เหมาะสมในสถานการณ์ต่างๆ และจะพยายามเพื่อให้มั่นใจว่า งานต่างๆ ดังกล่าวได้ดำเนินการอย่างรวดเร็วเท่าที่จะเป็นไปได้ในสถานการณ์ต่างๆ

    \r\n

    \r\nการชดใช้ค่าเสียหาย

    \r\nท่านตกลงจะชดใช้ให้แก่สโมสรฯ อย่างครบถ้วนในทันทีเมื่อมีการทวงถาม ต่อการเรียกร้อง ความรับผิด ความเสียหาย ต้นทุนและค่าใช้จ่ายต่างๆ ทั้งปวง ซึ่งรวมถึงค่าธรรมเนียมต่างๆ ทางด้านกฎหมาย อันเกิดขึ้นจาก:

    \r\n(เอ) การฝ่าฝืนเงื่อนไขฯ ฉบับนี้ของท่าน (หรือผู้ใช้รายอื่นใดซึ่งเป็นผู้ที่เข้าถึงเว็บไซต์ Kop Run โดยใช้ชื่อผู้ใช้ของท่าน)
    (บี) การแถลงข้อความอันเป็นเท็จ การกระทำการหรือการเพิกเฉยใดๆ ที่ท่านได้กระทำขึ้น อันเกี่ยวเนื่องกับการใช้เว็บไซต์ Kop Run ของท่าน หรือ

    \r\n(ซี) การเรียกร้องที่กระทำโดยบุคคลภายนอก ซึ่งเกิดขึ้นจากหรือที่เกี่ยวข้องกับการเข้าถึงหรือการใช้เว็บไซต์ Kop Run ของท่าน

    หรือความรับผิดอื่นใดที่เกิดขึ้นจากการใช้เว็บไซต์ Kop Run และ/หรือ ระบบโดยท่านหรือบุคคลเหล่านั้น โดยที่ท่านจะส่งคำบอกกล่าวในเรื่องการเรียกร้องดังกล่าวมายังสโมสรฯ สิทธิอำนาจในการต่อสู้คดี การประนีประนอมหรือตกลงสำหรับการชดใช้เกี่ยวกับการเรียกร้องดังกล่าว และความช่วยเหลือที่เหมาะสมซึ่งจำเป็นในการต่อสู้การเรียกร้องดังกล่าว ด้วยค่าใช้จ่ายของท่านแต่เพียงฝ่ายเดียว
    \r\n

    \r\n
    \r\nภาษี

    \r\nท่านอาจอยู่ภายใต้เงื่อนไขทางด้านภาษีต่างๆ เกี่ยวกับการลงทะเบียนของท่าน ซึ่งเรียกเก็บในส่วนที่เกี่ยวข้องกับเว็บไซต์ Kop Run โดยค่าอากรและภาษีต่างๆ เหล่านี้ บวกด้วยค่าใช้จ่ายการบริหารจัดการเพิ่มเติมใดๆ สำหรับพิธีการทางศุลกากร จะต้องตกเป็นภาระของท่าน ทั้งนี้ สโมสรฯ ไม่มีอำนาจควบคุมเกี่ยวกับค่าใช้จ่ายต่างๆ เหล่านี้ และไม่สามารถคาดหมายว่าอาจเป็นค่าใช้จ่ายอะไร ซึ่งนโยบายต่างๆ ทางด้านศุลกากรและการภาษีมีความแตกต่างกันอย่างหลากหลายจากประเทศหนึ่งไปอีกประเทศ โดยที่ท่านควรต้องติดต่อสำนักงานศุลกากรและภาษีในท้องถิ่นของท่านสำหรับข้อมูลเพิ่มเติม

    \r\n
    \r\nบทบัญญัติทั่วไป

    \r\nคำบอกกล่าวใดๆ ที่สโมสรฯ ส่ง จะถูกจัดส่งไปยังที่อยู่อีเมลซึ่งท่านได้ให้ไว้ในระหว่างขั้นตอนการลงทะเบียน คำบอกกล่าวใดๆ ที่ท่านส่งให้สโมสรฯ ควรต้องถูกจัดส่งผ่านส่วนงาน Contact Us ของสโมสรฯ

    \r\n
    ทั้งนี้ ให้ถือว่าคำบอกกล่าวต่างๆ ได้ถูกจัดส่ง ณ เวลาและวันที่ของการส่งอีเมล ซึ่งเวลาและวันที่นั้นระบุอยู่ในอีเมล โดยในกรณีที่สโมสรฯ ไม่ดำเนินการใช้หรือบังคับตามสิทธิใดๆ ที่สโมสรฯ มีอยู่ภายใต้เงื่อนไขฯ ฉบับนี้ ในกรณีเช่นนี้ การไม่ดำเนินการดังกล่าวจะไม่ถือว่าเป็นการสละสิทธินั้น และจะไม่ถือเป็นการห้ามสโมสรฯ ในการดำเนินการใช้หรือบังคับตามสิทธินั้นในโอกาสต่อไปภายหลัง ทั้งนี้ ในกรณีที่ส่วนใดๆ ของเงื่อนไขฯ ฉบับนี้ ถูกตัดสินว่าไม่ชอบด้วยกฎหมายหรือไม่สามารถใช้บังคับได้ ให้ถือว่าส่วนดังกล่าวถูกตัดออกไป แต่จะไม่กระทบต่อความสมบูรณ์ของเงื่อนไขและข้อกำหนดส่วนที่เหลือซึ่งจะยังคงใช้บังคับต่อท่าน โดยที่สโมสรฯ จะไม่รับผิดใดๆ ต่อท่านสำหรับการฝ่าฝืนใดๆ ต่อเงื่อนไขฯ ฉบับนี้ที่กระทำโดยสโมสรฯ อันเนื่องมาจากสาเหตุใดๆ ที่อยู่นอกเหนือการควบคุมที่เหมาะสมของสโมสรฯ

    \r\n
    สโมสรฯ สงวนสิทธิในการเปลี่ยนแปลง และ/หรือ ปรับปรุงเงื่อนไขฯ ฉบับนี้เป็นครั้งคราวไปโดยไม่จำต้องแจ้งแก่ท่าน เงื่อนไขและข้อกำหนดฯ ที่ได้ปรับปรุงแล้วจะโพสต์ลงบนหน้าโฮมเพจของเว็บไซต์สโมสรฟุตบอลลิเวอร์พูล และท่านสามารถเข้าดูได้ ณ เวลาใดๆ โดยที่สโมสรฯ แนะนำให้ท่านตรวจดูเว็บไซต์สโมสรฟุตบอลลิเวอร์พูลเป็นประจำเพื่อให้มั่นใจได้ว่า ท่านรับรู้ถึงการเปลี่ยนแปลงใดๆ ทั้งนี้ ให้ถือว่าท่านได้ยอมรับการเปลี่ยนแปลงเงื่อนไขฯ นั้นแล้วหากว่าท่านยังคงใช้การบริการต่อไปภายหลังจากระยะเวลาหนึ่งสัปดาห์นับจากวันที่โพสต์เงื่อนไขฯ ที่ปรับปรุงนั้นตามวิธีการที่ได้ระบุไว้ข้างต้น โดยที่สโมสรฯ อาจมอบหมายหรือโอนสิทธิและหน้าที่ใดๆ ทั้งปวงของสโมสรฯ ภายใต้เงื่อนไขฯ ฉบับนี้ ให้แก่บริษัทในกลุ่มหรือบุคคลภายนอกก็ได้ โดยในกรณีของการมอบหมายหรือการโอน จะมีการส่งคำบอกกล่าวไปยังท่านโดยทางอีเมลหรือโดยโพสต์ลงบนเว็บไซต์สโมสรฟุตบอลลิเวอร์พูล ทั้งนี้ ท่านไม่อาจมอบหมายหรือโอนสิทธิและหน้าที่ใดๆ ทั้งปวงของท่านภายใต้เงื่อนไขฯ ฉบับนี้ ให้แก่บุคคลอื่นใดหรือบุคคลภายนอก ซึ่งเงื่อนไขฯ ฉบับนี้พร้อมทั้งเงื่อนไขทั่วไป ประกอบรวมเข้าเป็นข้อตกลงทั้งหมดระหว่างสโมสรฯ และท่าน อันเกี่ยวข้องกับเนื้อหาสาระในเรื่องนี้ และงดเว้นคำยืนยันหรือคำรับรองใดๆ ที่ได้ให้ไว้หรือกระทำขึ้นก่อนหน้านี้ นอกเหนือจากการแถลงข้อความอันเป็นเท็จโดยฉ้อฉล และอาจแก้ไขเปลี่ยนแปลงได้เฉพาะจากสโมสรฯ โดยมีคำบอกกล่าวไปยังท่าน

    \r\n
    \r\nเงื่อนไขฯ ฉบับนี้ รวมถึงการเข้าถึงและการใช้เว็บไซต์สโมสรฟุตบอลลิเวอร์พูลและเว็บไซต์ Kop Run ของท่าน อยู่ภายใต้กฎหมายของประเทศอังกฤษและเวลส์ และท่านจะต้องยื่นเรื่องต่อศาลแห่งประเทศอังกฤษและเวลส์ที่มีเขตอํานาจเฉพาะเหนือคดี ทั้งนี้ ในกรณีที่ท่านประสงค์ที่จะให้ข้อเสนอแนะหรือการร้องเรียนใดๆ เกี่ยวกับเรื่องใดๆ ในส่วนของเว็บไซต์นี้ โปรดติดต่อสโมสรฯ ผ่านทางส่วนงาน Contact Us ของสโมสรฯ

    \r\n
    ในการเข้าถึงเว็บไซต์ Kop Run ท่านจะได้รับการร้องขอให้ลงทะเบียนและให้ข้อมูลส่วนบุคคลบางประการ โปรดอ้างอิงไปยังนโยบายความเป็นส่วนตัวของสโมสรฯ ซึ่งอธิบายถึงวิธีการที่ข้อมูลดังกล่าวอาจถูกเก็บรวบรวมและนำไปใช้

    \r\n
    \r\nการยอมรับเงื่อนไขและข้อกำหนด

    \r\nท่านรับทราบว่า ท่านได้อ่านและและตกลงที่จะเข้าผูกพันเงื่อนไขฯ ตามข้างต้นสำหรับการเข้าถึงเว็บไซต์ Kop Run ตลอดจนเงื่อนไขและข้อกำหนดทั่วไป

    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n\r\n\r\n return (\r\n
    \r\n

    TERMS AND CONDITIONS FOR ACCESS TO LFC Kop Run Site

    \r\n
    These are the terms and conditions (the \"Terms\") for access to the LFC Kop Run Site (the \"Kop Run Site\") as part of your participation in the LFC Kop Run Event (“LFC Kop Run”). The Kop Run Site is provided to you, the participant (\"you\",\"your\") on the basis that you have paid the Fee to our promoter, Move Asia Co. Ltd (“Promoter”) and have received a code to access the Kop Run Site (“Access Code”), and accept the terms of this contract. It is a legal agreement and it sets out the rights and obligations of you and The Liverpool Football Club and Athletic Grounds Limited including its agents and group companies (\"we\", \"us\", \"our\"). By registering to gain access to the Kop Run Site are agreeing to be bound by these Terms and the General Terms (defined below).\r\n

    To the extent that these Terms conflict with the general Terms and Conditions of use of the Liverpool FC Website (\"General Terms\") the order of priority shall be: (i) these Terms; then (ii) General Terms.\r\n
    \r\n

    Kop Run Site

    \r\n
    We provide you with access to Kop Run Site. As part of the Kop Run Site we will provide access to other media and intellectual property related to the Liverpool Football Club. All design, text, graphics, footage and the selection or arrangement thereof are the copyright of us or our respective licensees. We may from time to time modify or discontinue the Kop Run Site without giving you notice, and under no circumstances are you allowed to copy, reproduce, record, modify, transmit to any other website, remove trademark or copyright notices from, or commercially exploit any content or materials provided as part of the Kop Run Site. Further, we reserve the right to refuse to accept your application for any reason, including but not limited to any belief that you are not acting in accordance with these Terms.\r\n

    We may change the way in which we provide access to the Kop Run Site and will use reasonable endeavours not to make changes that materially adversely affect you during any period for which you have already paid the Fee at the relevant time, unless it is beyond our reasonable control (for example but without limitation for legal or regulatory reasons).\r\n
    The LFC Content (as defined in section 6 of Part A of these Terms and Conditions), which shall include but not be limited to all content on the Kop Run Site and/or any other content provided as part of the LFC Kop Run is owned by or licensed to us and all rights in and to the aforementioned are reserved to us.\r\n

    \r\n

    Your accessing and use of the Kop Run Site

    \r\n
    The Kop Run Site is to be used by only one individual per username - however for the avoidance of doubt, where the participant is under eighteen (18) years of age and a parent or guardian is required to sign up and/or pay on behalf of the participant, such activity shall not cause a breach of this clause. In order to use the Kop Run Site or access the content, you must (a) obtain access to the World Wide Web and pay any service fees associated with such access; (b) provide all equipment necessary to make such connection to the World Wide Web, including a computer and modem or other necessary access device (c) use a modern browser which supports HTML 5 video (for example, Chrome, Safari, Firefox); and (d) register for the LFC Kop Run via our Promoter using the URL https://www.runlah.com/events/kopvr20. Your use of any applicable software is subject to the terms of the licence granted to you by the licensor. We are not providing and are not responsible for any software, or for any problems caused by the software, computer hardware or computer operations systems.\r\n

    Your right to use the Kop Run Site is personal to you. You are wholly responsible for the use of the Kop Run Site and agree that you shall not transfer, or allow access to, the Kop Run Site via your account without the prior written consent of LFC. You agree to use the Kop Run Site in a manner consistent with any and all applicable laws and regulations in the country from which you have accessed the Kop Run Site.\r\n

    You must not (nor authorise or permit any other party to):\r\n
    •\tabuse the Kop Run Site or use it for any unlawful purpose;\r\n
    •\ttransmit any computer viruses or any other disruptive or harmful contaminants through the Kop Run Site;\r\n
    •\tuse the Kop Run Site in a way that may cause it and/or any equipment used by us to provide the Kop Run Site (together the \"System\") to be interrupted, damaged, rendered less efficient or impaired;\r\n
    •\tstore your password anywhere on a computer in plain text;\r\n
    •\tuse the Kop Run Site in any manner which violates or infringes the rights of any person, firm or company (including without limitation rights of intellectual property, confidentiality or privacy);\r\n
    •\treproduce, modify, distribute, alter, disassemble, decompile, reverse engineer, download or publish any of the content of the Kop Run Site without our prior written permission although you may electronically copy and print in hard copy portions of the Kop Run Site for your personal use only and not for any commercial gain;\r\n
    •\tsell, assign, transfer or delegate all or any of your rights and obligations to another person or entity, or share use of the Kop Run Site or any content contained within it.\r\n
    For the avoidance of doubt, you are solely responsible for ensuring that you are medically able, and have the requisite skill level, to perform any or all of the exercises, skills or other physical activities demonstrated in the videos and/or other content provided as part of the Kop Run Site, and LFC shall not be liable in any way for any injuries suffered as a result of you attempting to perform said exercises, skills or other physical activities.\r\n
    \r\n

    Registration


    \r\n
    Your access to the Kop Run Site shall be for the period of time notified to you or selected by you when you registered to gain access to the Kop Run Site (“Service Period”).\r\n
    You warrant that the information which you provide when you register is true, accurate and complete in all respects and you agree to notify us immediately of any changes by amending your details using the 'My Account' site function. Where you are under eighteen (18) years of age, you warrant that you have obtained the appropriate parent/guardian consent to register for the LFC Kop Run and sign up to the Kop Run Site, and LFC may use reasonable endeavours to verify whether this consent has been obtained.\r\n

    On registration to the Kop Run Site you will be required to enter a user name (you should ensure that it is not possible to personally identify you from your choice of user name) and password. You must keep the password secure and not disclose it to any other person. If it becomes known by a third party, you must immediately change your password using the 'My Account' site function and notify the Kop Run Site. We are not liable for any loss or damage arising from your failure to comply with this obligation.\r\n

    The Kop Run Site may in some regards integrate with third party services or platforms, such as Google ID, Facebook and/or Twitter. You may be permitted to access the Kop Run Site (or other shared functionality) via your registration with such third party service. These third party services or platforms generally require you to have a separate account and/or registration with them and the terms on which they engage with you and share information or data with us will vary between service and platform. We therefore suggest you make yourself aware of their own terms and conditions before you associate your activity on the Kop Run Site with those services or platforms.\r\n

    Further to the above, the Kop Run Site shall integrate with the Google Fit app on your device. Where you have registered for the Kop Run Site, you will be prompted on your Google Fit app to grant the Kop Run Site access to to any user data and physical activity data uploaded onto your Google Fit app. Such data shall be shared and uploaded onto the LFC Kop Run Site, and will then be used to calculate and attribute points to inform a race leaderboard and determine prize eligibility throughout the Service Period.\r\n

    \r\n

    Payment


    \r\n
    You must pay the participation fee (the \"Fee\") applicable to our Promoter, in accordance with the fee plan notified to you at the time of registration with the voter. Unless otherwise stated, charges are exclusive of VAT and any other taxes applicable from time to time, for which payment you shall be liable. Only when the Promoter has confirmed receipt of the Fee will it issue you with an Access Code, which can then be used to register on the Kop Run Site.\r\n

    Please see the Promoter’s terms and conditions of registration for details regarding payment options, cancellations and refunds.\r\n

    \r\n

    Disclaimer of warranties


    \r\n
    We are providing the Kop Run Site on an \"as is\" basis and make no representations or warranties of any kind with respect to the Kop Run Site or its content other than as required by law. To the maximum extent permitted by applicable law, we do not represent or warrant that access to the Kop Run Site will be uninterrupted or that there will be no failures, errors or omissions or loss of transmitted information, or that no viruses will be transmitted via the Kop Run Site. We do not guarantee that you will be able to access or use the Kop Run Site at times or locations of your choosing, or that we will have adequate capacity for the Kop Run Site as a whole or in any specific geographic area.\r\n

    \r\n

    Limitation of liability


    \r\n
    To the extent permitted by applicable law, neither we nor any of our directors, employees or other representatives will be liable for any damages (whether direct, indirect, special, consequential or punitive damages), in contract, tort or otherwise including negligence, or any other loss or income, profits, goodwill, data, contracts, arising out of or in connection with the use of (or any business interruption to or viruses alleged to have been obtained from) the Kop Run Site (or any materials contained on it). You confirm that we shall not be liable to you or any third party for any modification to, suspension of or discontinuance of the Kop Run Site. This is a comprehensive limitation of liability that applies to all damages of any kind, including (without limitation) compensatory, direct, indirect or consequential damages, loss of data, income or profit, loss of or damage to property and claims of third parties. We do not limit or exclude our liability for death or personal injury resulting from our negligence or for any other liability which may not lawfully be excluded or restricted.\r\n

    \r\n

    Suspension and Termination


    \r\n
    We may suspend or close the Kop Run Site or your access to the Kop Run Site immediately at any time in our absolute discretion if:\r\n
    (a) your use of the Kop Run Site is considered abusive, excessive, or against the interests of other participants\r\n
    (b) your use of the Kop Run Site is considered in breach of these Terms and/or the General Terms; or\r\n
    (c) a competent regulatory authority requires the Kop Run Site to be closed; or\r\n
    (d) any Fee (or part of any Fee) remains outstanding for more than seven days from the due date (other than because of a fault of ours or our third party payment provider.\r\n

    We may also suspend or close the Kop Run Site or your access to the Kop Run Site immediately at any time in our absolute discretion (but giving you as much notice as is reasonably practicable in the circumstances) if technical or operational reasons beyond our control make this reasonably necessary.\r\n

    \r\n

    Maintenance

    \r\n
    From time to time, the Kop Run Site may be taken down and your access to it suspended in order for work to be carried out relating to the upgrading or maintenance of the System as necessary for the provision of the Kop Run Site. We shall give as much notice as is reasonable in the circumstances and shall endeavour to ensure that such works are carried out as expeditiously as is possible in the circumstances.\r\n
    \r\n

    Indemnity

    \r\n
    You agree to fully indemnify us immediately on demand against all claims, liability, damages, costs and expenses, including legal fees, arising out of:\r\n

    (a) any breach of these Terms by you (or any other user who accesses the Kop Run Site using your user name);\r\n
    (b) any misrepresentation, act or omission made by you in connection with your use of the Kop Run Site; or\r\n
    (c) claims brought by third parties arising from or related to your access or use of the Kop Run Site,\r\n

    or any other liabilities arising out of your or their use of the Kop Run Site and/or the System. You shall provide us with notice of such claims, full authority to defend, compromise or settle such claims and reasonable assistance necessary to defend such claims, at your sole expense.\r\n

    \r\n

    Tax

    \r\nYou may be subject to taxes on your registration, which are levied in respect of the Kop Run Site. These duties and taxes plus any additional administrative charges for customs clearance must be borne by you; we have no control over these charges and cannot predict what they may be. Customs and taxation policies vary widely from country to country; you should contact your local customs or tax office for further information.\r\n

    \r\n

    General

    \r\nAny notices we send will be sent to the email address you supply during the registration process. Any notices you send us should be sent through our Contact Us section.

    Notices will be deemed to have been delivered at the time and date of sending of the email, which time and date are specified in the email. If we fail to exercise or enforce any right we have under these Terms such failure will not be deemed to be a waiver of that right nor will it prevent us exercising or enforcing that right on a later occasion. If any part of these Terms are found unlawful or unenforceable, they will be deemed deleted, but nothing shall affect the validity of the rest of the terms and conditions which will continue to apply to you. We will not be liable to you for any breach of these Terms by us due to any cause beyond our reasonable control.

    We reserve the right to vary and/or update these Terms from time to time without notifying you. Updated Terms will be posted on the homepage of the Liverpool FC Website and can be viewed by you at any time. We recommend you check the Liverpool FC Website regularly to ensure you are aware of any changes. Changes to the Terms will be deemed to have been accepted by you if you continue to use the Service after a period of one week from the date the updated Terms are posted in the manner set out above. We may assign or transfer all or any of our rights and obligations under these Terms to a group company or other third party. In the event of assignment or transfer, notification will either be given to you by e-mail or posted on the Liverpool FC Website. You may not assign or transfer all or any of your rights and obligations under these Terms to any other person or third party. These Terms, along with the General Terms, constitutes the entire agreement between us and you with respect to this subject-matter and excludes any representations or warranties previously given or made other than any fraudulent misrepresentation and it may be amended only by us on notice to you.

    These Terms and your access to and use of the Liverpool FC Website and the Kop Run Site are subject to the laws of England and Wales and you submit to the exclusive jurisdiction of the courts of England and Wales. If you wish to make any suggestions or complain about any matter in respect of this Site please contact us through our Contact Us section.\r\n

    In order to access to the Kop Run Site you will be asked to register and provide certain personal information. Please refer to our Privacy policy which explains how such information may be collected and used.\r\n

    \r\n

    ACCEPTANCE OF THE TERMS AND CONDITIONS

    \r\nYou hereby acknowledge that you have read and agree to be bound by the above Terms for access to Kop Run Site as well as the General Terms and Conditions.\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n )\r\n}\r\n\r\nexport default TermsOfUse","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m0 0h24v24h-24z\",\n fill: \"none\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m0 20v-1c0-4.01 4.035-7 9-7s9 2.99 9 7v1zm4-15a5 5 0 1 1 5 5 5 5 0 0 1 -5-5z\",\n fill: \"#fff\",\n transform: \"translate(3 2)\"\n});\n\nfunction SvgAccountIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAccountIcon);\nexport default __webpack_public_path__ + \"static/media/AccountIcon.b8baadd7.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as Arrow } from \"../images/arrow.svg\";\r\nimport \"./HeaderNavButton.css\";\r\n\r\nfunction HeaderNavButton( {className, id, isOpen, onClick} ) {\r\n\r\n return(\r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nHeaderNavButton.defaultProps = {\r\n className: \"\",\r\n id: \"\",\r\n children: null,\r\n onClick: null,\r\n isOpen: false,\r\n}\r\n\r\nexport default HeaderNavButton;","import \"./HeaderNavFold.css\";\r\n\r\nfunction HeaderNavFold( {className, id, isOpen} ) {\r\n\r\n return(\r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nHeaderNavFold.defaultProps = {\r\n className: \"\",\r\n id: null,\r\n}\r\n\r\nexport default HeaderNavFold;","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 9.5)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m30.537 11.3c0-6.8 4.83-11.3 11.612-11.3a26.555 26.555 0 0 1 6.022.822v3.778a11.558 11.558 0 0 0 -6.121-1.87c-4.566 0-7.742 3.318-7.742 8.084 0 4.83 3.308 9.136 8.4 9.136a14.63 14.63 0 0 0 7.046-2.071h.1l-1.686 3.812a11.8 11.8 0 0 1 -5 .988c-7.801 0-12.631-4.339-12.631-11.379zm-13.865 10.852v-.1c1.689-.592 1.49-3.024 1.49-4.5v-12.392c0-1.512.2-3.91-1.49-4.534v-.1h10.586a3.381 3.381 0 0 0 1.556-.165h.1v3.815h-.1c-1.025-1.152-2.382-1.284-3.9-1.284a18.619 18.619 0 0 0 -3.376.232v6.112h3.97a3.327 3.327 0 0 0 1.423-.2h.1v3.483h-.1c-.53-.985-1.919-.921-2.945-.921h-2.451v5.95c0 1.479-.263 3.877 1.39 4.5v.1zm-16.672 0v-.1c1.687-.592 1.489-3.024 1.489-4.5v-12.392c0-1.512.2-3.91-1.489-4.534v-.1h6.319v.1c-1.688.623-1.456 3.057-1.456 4.534v14.33l4.5.3a8.178 8.178 0 0 0 5.854-2.006h.1l-1.717 4.368z\",\n fill: \"#dc0916\",\n transform: \"translate(4 1)\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#dc0916\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m155.96 318.776a26.3 26.3 0 0 0 1.966-2.659c.031-.068.037-.015.037.017a2.847 2.847 0 0 0 .052.7c.09.358.606 1.946.606 1.946zm-4.743 4.185c-.09-.249-.184-.522-.28-.808l-.285-.909.716-.931.25-.323.578 1.677c-.193.258-.639.853-.978 1.295m-3.517-4.2h-2.651a26.314 26.314 0 0 0 1.966-2.659c.031-.068.038-.015.038.017a2.827 2.827 0 0 0 .052.7c.09.358.605 1.946.605 1.946zm13.185.421-1.217-4.233a5.021 5.021 0 0 1 -.1-.741h-1.945a6.069 6.069 0 0 1 -.4.756c-.1.189-1.28 1.767-2.193 2.961l-1.322 1.75c-.083-.254-.149-.458-.157-.489-.089-.311-.273-.937-.273-.937l2.328-2.961a6.221 6.221 0 0 1 1-1.075h-1.993a1.328 1.328 0 0 1 -.2.608c-.1.147-1.735 2.206-1.735 2.206s-.515-1.865-.612-2.164a2.085 2.085 0 0 1 -.078-.65h-2.399a6.473 6.473 0 0 1 .366.785l1.181 3.644-.928 1.2-.1-.332c-.014-.021-.3-.943-.6-1.929-.339-1.1-.7-2.287-.728-2.378a3.176 3.176 0 0 1 -.07-.437c-.03-.269-.053-.552-.053-.552h-2.061a11.566 11.566 0 0 1 -.673 1.266c-.108.158-1.292 1.744-2.6 3.441l-.195.252c-.328.437-.673.89-1 1.31l-.353.446-.727.917c-.487.612-.988 1.24-1.171 1.459-.075.091-.194.218-.317.345-.234.243-.485.487-.485.487h1.982s.064-.154.214-.432l.04-.072c.19-.282.408-.584.457-.634.089-.092 2.358-3.073 2.358-3.073h3.985s.329.931.635 1.81c-.321.418-1.078 1.4-1.32 1.685-.184.215-.711.716-.711.716h1.714l.025-.066c.012-.029.08-.183.217-.439.021-.039.049-.084.084-.138s.067-.1.108-.157c.068-.095.151-.2.245-.325l.126-.163.036-.045.018.055.065.2.03.091c.009.027.015.046.018.061.045.158.088.35.129.573.032.172.047.32.051.345v.013h2.305l.025-.066c.012-.029.08-.183.217-.439.021-.039.049-.084.084-.138s.067-.1.109-.157c.068-.095.15-.2.245-.325l.126-.163.036-.045.012.038.006.017.065.2.03.091c.009.027.015.046.018.061.044.158.088.35.129.573.032.172.047.32.051.345v.013h2.278s-.36-.624-.441-.833c-.037-.091-.507-1.556-.709-2.188l.6-.8.286-.378h3.937s1.056 2.923 1.164 3.309a4.174 4.174 0 0 1 .118.887h2.415c-.38-.27-1.338-3.65-1.8-4.949\",\n transform: \"translate(-22.247 -283.489)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m32.02 322.762v1.957h-1.12v-5.566h1.9a1.741 1.741 0 0 1 1.317.512 1.843 1.843 0 0 1 .483 1.335 1.723 1.723 0 0 1 -.485 1.292 1.845 1.845 0 0 1 -1.346.474zm0-.937h.772a.612.612 0 0 0 .5-.21.932.932 0 0 0 .176-.612 1.1 1.1 0 0 0 -.18-.663.576.576 0 0 0 -.481-.25h-.787z\",\n transform: \"translate(39.644 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m42.354 322.685h-.554v2.034h-1.128v-5.566h1.793a1.821 1.821 0 0 1 1.305.438 1.9 1.9 0 0 1 -.346 2.8l.975 2.278v.053h-1.208zm-.558-.937h.639a.591.591 0 0 0 .5-.223.972.972 0 0 0 .168-.6q0-.838-.653-.837h-.65z\",\n transform: \"translate(34.051 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m53.394 322.311h-1.75v1.475h2.072v.933h-3.2v-5.566h3.188v.937h-2.06v1.31h1.751z\",\n transform: \"translate(28.417 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m61.446 323.156a.7.7 0 0 0 -.174-.514 2 2 0 0 0 -.633-.362 2.949 2.949 0 0 1 -1.2-.743 1.5 1.5 0 0 1 -.367-1.007 1.411 1.411 0 0 1 .5-1.13 2.072 2.072 0 0 1 2.18-.21 1.5 1.5 0 0 1 .617.61 1.827 1.827 0 0 1 .216.895h-1.12a.927.927 0 0 0 -.166-.595.583.583 0 0 0 -.48-.2.6.6 0 0 0 -.459.174.654.654 0 0 0 -.164.469.574.574 0 0 0 .183.414 2.1 2.1 0 0 0 .65.385 2.784 2.784 0 0 1 1.183.722 1.607 1.607 0 0 1 .369 1.089 1.438 1.438 0 0 1 -.463 1.136 1.833 1.833 0 0 1 -1.258.409 2.164 2.164 0 0 1 -.982-.222 1.666 1.666 0 0 1 -.694-.634 1.846 1.846 0 0 1 -.25-.975h1.127a1.064 1.064 0 0 0 .188.7.764.764 0 0 0 .611.218q.586-.006.586-.629z\",\n transform: \"translate(23.604 -286.216)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m71.705 322.311h-1.75v1.475h2.072v.933h-3.2v-5.566h3.188v.937h-2.06v1.31h1.75z\",\n transform: \"translate(17.94 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m81.426 324.719h-1.126l-1.644-3.651v3.651h-1.121v-5.566h1.124l1.647 3.655v-3.655h1.12z\",\n transform: \"translate(12.961 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m91.73 320.09h-1.376v4.629h-1.128v-4.629h-1.353v-.937h3.857z\",\n transform: \"translate(7.046 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m101 322.311h-1.75v1.475h2.071v.933h-3.2v-5.566h3.188v.937h-2.062v1.31h1.753z\",\n transform: \"translate(1.182 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m106.827 324.719v-5.566h1.473a2.025 2.025 0 0 1 1.554.619 2.427 2.427 0 0 1 .59 1.7v.9a2.435 2.435 0 0 1 -.579 1.722 2.067 2.067 0 0 1 -1.6.625zm1.124-4.629v3.7h.336a.943.943 0 0 0 .791-.3 1.768 1.768 0 0 0 .241-1.023v-.967a1.975 1.975 0 0 0 -.218-1.087.879.879 0 0 0 -.741-.323z\",\n transform: \"translate(-3.798 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m121.38 324.719v-5.566h1.72a1.986 1.986 0 0 1 1.325.388 1.414 1.414 0 0 1 .453 1.137 1.376 1.376 0 0 1 -.187.731 1.107 1.107 0 0 1 -.512.447.973.973 0 0 1 .577.43 1.473 1.473 0 0 1 .2.8 1.587 1.587 0 0 1 -.445 1.223 1.829 1.829 0 0 1 -1.29.413zm1.124-3.238h.585a.594.594 0 0 0 .661-.684.786.786 0 0 0 -.153-.543.652.652 0 0 0 -.5-.164h-.6zm0 .819v1.487h.719a.565.565 0 0 0 .459-.187.8.8 0 0 0 .157-.532q0-.749-.543-.768z\",\n transform: \"translate(-12.124 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m131.672 321.653.837-2.5h1.223l-1.491 3.548v2.018h-1.141v-2.019l-1.495-3.548h1.223z\",\n transform: \"translate(-16.832 -286.318)\"\n}), /*#__PURE__*/React.createElement(\"text\", {\n transform: \"translate(112 24)\"\n}, /*#__PURE__*/React.createElement(\"tspan\", {\n x: -42.3,\n y: 0\n}, \"KOP RUN\")));\n\nfunction SvgLogoKoprun(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 40.642,\n viewBox: \"0 0 155 40.642\",\n width: 155,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoKoprun);\nexport default __webpack_public_path__ + \"static/media/logo-koprun.6fe51c40.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"s\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,0 v30 h60 v-30 z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"t\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#s)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,0 v30 h60 v-30 z\",\n fill: \"#012169\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,0 L60,30 M60,0 L0,30\",\n stroke: \"#fff\",\n strokeWidth: 6\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,0 L60,30 M60,0 L0,30\",\n clipPath: \"url(#t)\",\n stroke: \"#C8102E\",\n strokeWidth: 4\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,0 v30 M0,15 h60\",\n stroke: \"#fff\",\n strokeWidth: 10\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,0 v30 M0,15 h60\",\n stroke: \"#C8102E\",\n strokeWidth: 6\n}));\n\nfunction SvgFlagOfTheUnitedKingdom(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 60 30\",\n width: 1200,\n height: 600,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagOfTheUnitedKingdom);\nexport default __webpack_public_path__ + \"static/media/Flag_of_the_United_Kingdom.fd46970f.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A51931\",\n d: \"M0 0h900v600H0z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F4F5F8\",\n d: \"M0 100h900v400H0z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#2D2A4A\",\n d: \"M0 200h900v200H0z\"\n});\n\nfunction SvgFlagOfThailand(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 900 600\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlagOfThailand);\nexport default __webpack_public_path__ + \"static/media/Flag_of_Thailand.4bc9851f.svg\";\nexport { ForwardRef as ReactComponent };","import { useState } from \"react\";\r\nimport { ReactComponent as UKFlag } from \"../images/Flag_of_the_United_Kingdom.svg\";\r\nimport { ReactComponent as THFlag } from \"../images/Flag_of_Thailand.svg\";\r\nimport \"./LanguageSelectCircle.css\"\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\n\r\nfunction LanguageSelectCircle(){\r\n const [ isOpen, setIsOpen ] = useState( false );\r\n const { lang, setLang } = useAppContext();\r\n\r\n const flagClick = inputFlag => {\r\n setLang( inputFlag )\r\n setIsOpen( false )\r\n }\r\n\r\n const flagEnter = (e, inputFlag) => {\r\n if (e.key === \"Enter\" || e.key === \" \"){\r\n setLang( inputFlag )\r\n setIsOpen( false )\r\n }\r\n }\r\n\r\n const flagProps = {className:\"LanguageSelectCircle__flag\", tabIndex:\"0\", role:\"button\", \"aria-pressed\":\"false\"}\r\n\r\n let flag = flagClick(\"en\") } onKeyDown={ e => flagEnter(e, \"en\")} {...flagProps} />\r\n let altFlag = flagClick(\"th\")} onKeyDown={ e => flagEnter(e, \"th\")} {...flagProps} />\r\n let screenReaderText = {\r\n active: \"English\",\r\n inactive: \"Thai\",\r\n }\r\n\r\n if( lang.toLowerCase() === \"th\"){\r\n altFlag = flag;\r\n flag = flagClick(\"th\")} onKeyDown={ e => flagEnter(e, \"th\")} {...flagProps} />\r\n screenReaderText = {\r\n inactive: \"English\",\r\n active: \"Thai\",\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    setIsOpen( !isOpen ) }\r\n onKeyDown={ e => {\r\n if (e.key === \"Enter\" || e.key === \" \")\r\n setIsOpen( !isOpen ) \r\n }}\r\n role=\"button\"\r\n >\r\n {screenReaderText.active}\r\n { flag }\r\n
    \r\n \r\n
    \r\n {screenReaderText.inactive}\r\n { altFlag }\r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default LanguageSelectCircle;","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h26.953v27H0z\",\n fill: \"none\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.792 23.411v-8.353H8.984v-3.481h2.808V8.793c0-2.877 1.837-4.293 4.424-4.293a24.371 24.371 0 012.616.132v3.007h-1.795c-1.407 0-1.736.663-1.736 1.637v2.3h3.51l-.7 3.48h-2.81l.056 8.353\",\n fill: \"#fff\"\n});\n\nfunction SvgSocialFacebook(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 27,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSocialFacebook);\nexport default __webpack_public_path__ + \"static/media/Social-Facebook.2d93fe57.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.908 19.607a7.561 7.561 0 01-2.44-.457 4.931 4.931 0 01-1.78-1.135 4.8 4.8 0 01-1.16-1.742 7.135 7.135 0 01-.467-2.387C.012 12.834 0 12.486 0 9.833s.012-3 .061-4.054a7.153 7.153 0 01.466-2.387 4.8 4.8 0 011.16-1.742A4.931 4.931 0 013.468.516a7.6 7.6 0 012.44-.457C6.984.012 7.341 0 10.052 0S13.12.012 14.2.059a7.581 7.581 0 012.44.457 4.928 4.928 0 011.78 1.135 4.8 4.8 0 011.16 1.742 7.117 7.117 0 01.467 2.387c.049 1.053.061 1.4.061 4.054s-.012 3-.061 4.054a7.108 7.108 0 01-.467 2.387 4.8 4.8 0 01-1.16 1.742 4.928 4.928 0 01-1.78 1.135 7.552 7.552 0 01-2.44.457c-1.077.048-1.433.059-4.144.059s-3.072-.013-4.148-.061zM5.99 1.829a5.676 5.676 0 00-1.866.338 3.116 3.116 0 00-1.156.733 3.035 3.035 0 00-.753 1.13 5.343 5.343 0 00-.345 1.83c-.049 1.03-.059 1.34-.059 3.974s.01 2.944.059 3.974a5.328 5.328 0 00.346 1.826 3.046 3.046 0 00.753 1.131 3.122 3.122 0 001.155.735 5.676 5.676 0 001.866.338c1.053.048 1.37.058 4.062.058s3.01-.01 4.062-.058a5.66 5.66 0 001.866-.338 3.121 3.121 0 001.156-.735 3.04 3.04 0 00.752-1.131 5.328 5.328 0 00.346-1.826c.049-1.03.059-1.34.059-3.974s-.01-2.944-.059-3.974a5.343 5.343 0 00-.346-1.826 3.041 3.041 0 00-.752-1.13 3.127 3.127 0 00-1.156-.736 5.66 5.66 0 00-1.866-.338c-1.053-.048-1.37-.058-4.062-.058s-3.009.01-4.062.057zm-1.1 8a5.163 5.163 0 0110.323 0 5.163 5.163 0 01-10.323 0zm1.811 0a3.351 3.351 0 103.351-3.278A3.319 3.319 0 006.7 9.833zm7.511-5.249a1.207 1.207 0 111.206 1.18 1.193 1.193 0 01-1.206-1.176z\",\n fill: \"#dc0714\"\n})), /*#__PURE__*/React.createElement(\"style\", null));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.692 21.026a7.326 7.326 0 01-2.37-.445 4.789 4.789 0 01-1.73-1.106 4.679 4.679 0 01-1.127-1.7 6.973 6.973 0 01-.454-2.326c-.047-1.024-.058-1.364-.058-3.949s.011-2.925.059-3.951a6.99 6.99 0 01.453-2.326 4.682 4.682 0 011.127-1.7 4.789 4.789 0 011.73-1.106 7.363 7.363 0 012.37-.442c1.046-.047 1.392-.058 4.027-.058s2.98.011 4.026.058a7.344 7.344 0 012.37.442 4.785 4.785 0 011.73 1.106 4.682 4.682 0 011.127 1.7 6.955 6.955 0 01.454 2.326c.047 1.026.059 1.366.059 3.951s-.011 2.925-.059 3.951a6.946 6.946 0 01-.454 2.326 4.679 4.679 0 01-1.127 1.7 4.785 4.785 0 01-1.73 1.106 7.316 7.316 0 01-2.37.445c-1.046.047-1.392.058-4.026.058s-2.981-.014-4.027-.06zM7.772 3.7a5.5 5.5 0 00-1.813.329 3.026 3.026 0 00-1.122.718 2.959 2.959 0 00-.731 1.1 5.222 5.222 0 00-.336 1.779c-.047 1-.057 1.306-.057 3.873s.01 2.869.057 3.873a5.207 5.207 0 00.336 1.779 2.969 2.969 0 00.731 1.1 3.032 3.032 0 001.122.717 5.5 5.5 0 001.813.329c1.023.047 1.331.056 3.946.056s2.924-.009 3.946-.056a5.483 5.483 0 001.813-.329 3.031 3.031 0 001.123-.717 2.964 2.964 0 00.73-1.1 5.207 5.207 0 00.336-1.779c.047-1 .057-1.306.057-3.873s-.01-2.869-.057-3.873a5.222 5.222 0 00-.336-1.779 2.964 2.964 0 00-.73-1.1 3.037 3.037 0 00-1.123-.718 5.483 5.483 0 00-1.813-.329c-1.023-.047-1.331-.056-3.946-.056s-2.923.009-3.946.056zm-1.069 7.8a5.015 5.015 0 0110.029 0 5.015 5.015 0 01-10.029 0zm1.76 0a3.256 3.256 0 103.256-3.194A3.229 3.229 0 008.463 11.5zm7.3-5.115a1.172 1.172 0 111.172 1.15 1.161 1.161 0 01-1.175-1.15z\",\n fill: \"#fff\"\n});\n\nfunction SvgSocialInstagram(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23.438,\n height: 23,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSocialInstagram);\nexport default __webpack_public_path__ + \"static/media/Social-Instagram.fdb0a169.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.782 6.904a9.682 9.682 0 01-2.762.751 4.792 4.792 0 002.114-2.639 9.689 9.689 0 01-3.053 1.158 4.818 4.818 0 00-8.318 3.265 4.755 4.755 0 00.125 1.087A13.687 13.687 0 013.976 5.54a4.753 4.753 0 001.488 6.37 4.812 4.812 0 01-2.177-.6v.06a4.783 4.783 0 003.857 4.682 4.872 4.872 0 01-2.172.082 4.809 4.809 0 004.492 3.313 9.7 9.7 0 01-5.972 2.042 9.96 9.96 0 01-1.148-.065 13.69 13.69 0 007.371 2.143A13.532 13.532 0 0023.396 9.991q0-.311-.014-.618a9.711 9.711 0 002.4-2.47\",\n fill: \"#fff\"\n});\n\nfunction SvgSocialTwitter(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28.125,\n height: 28,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSocialTwitter);\nexport default __webpack_public_path__ + \"static/media/Social-Twitter.c84b2af8.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\r\\n\\t\\t\\t.cls-2{fill:#dc0714;}\\r\\n\\t\\t\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M5,18V16H19v2ZM3,13V11H21v2ZM5,8V6H19V8Z\",\n transform: \"translate(0 0)\"\n});\n\nfunction SvgMenu(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMenu);\nexport default __webpack_public_path__ + \"static/media/menu.d1b58af2.svg\";\nexport { ForwardRef as ReactComponent };","function _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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgClose(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 15 14\",\n xmlSpace: \"preserve\",\n style: {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n strokeLinejoin: \"round\",\n strokeMiterlimit: 2\n },\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.063,1.41l-1.417,-1.41l-5.615,5.59l-5.615,-5.59l-1.416,1.41l5.615,5.59l-5.615,5.59l1.416,1.41l5.615,-5.59l5.615,5.59l1.416,-1.41l-5.614,-5.59l5.615,-5.59Z\",\n style: {\n fill: \"#fff\",\n fillRule: \"nonzero\"\n }\n }));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"static/media/close.cfbb3d56.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment } from \"react\";\r\nimport { Link, NavLink } from \"react-router-dom\";\r\nimport { ReactComponent as Facebook } from \"../images/Social-Facebook.svg\";\r\nimport { ReactComponent as Instagram } from \"../images/Social-Instagram.svg\";\r\nimport { ReactComponent as Twitter } from \"../images/Social-Twitter.svg\";\r\nimport { ReactComponent as Menu } from \"../images/menu.svg\";\r\nimport { ReactComponent as Close } from \"../images/close.svg\";\r\nimport \"./Navigation.css\";\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\n\r\nfunction Navigation( { isOpen,\r\n\t\tonClick\r\n\t} ) {\r\n\r\n\tconst { languageStrings } = useAppContext()\r\n\tconst navStrings = {\r\n\t\tHomeText: languageStrings['field_field_kr_app_na'],\r\n\t\tMyAccountText: languageStrings['field_kr_app_nav_my_account'],\r\n\t\tLeaderboardText: languageStrings['field_kr_app_nav_leaderboard_tex'],\r\n\t\tFAQText: languageStrings['field_kr_app_nav_faq_text'],\r\n\t\tDiscoverLFCText: languageStrings['field_kr_app_nav_discover_lfc_'],\r\n\t\tPrivPolText: languageStrings['field_kr_nav_privacy_policy'],\r\n\t}\r\n\r\n\tconst navLinks = () => {\r\n\t\treturn (<>\r\n\t\t\t
  • onClick(e) }>{navStrings.HomeText}
  • \r\n\t\t\t
  • {navStrings.MyAccountText}
  • \r\n\t\t\t
  • {navStrings.LeaderboardText}
  • \r\n\t\t\t
  • {navStrings.FAQText}
  • \r\n\t\t\t
  • {navStrings.PrivPolText}
  • \r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
      \r\n\r\n\t\t\t\t\t\t\t{ navLinks() }\r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t onClick(e) }\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t
    {navStrings.DiscoverLFCText}
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{/*

    We accept the following payment methods

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\"MasterCard\"\"Visa\"\"MasterCard\"\"Visa\"\r\n\t\t\t\t\t\t\t
    */}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n}\r\n\r\nexport default Navigation;\r\n","import { Link, useHistory } from \"react-router-dom\";\r\nimport { ReactComponent as LfcLogo } from \"../images/logo-koprun.svg\";\r\nimport LanguageSelectCircle from \"../languageSelectCircle/LanguageSelectCircle\";\r\nimport { Navigation } from \"../navigation\";\r\n// import config from \"../../config\"\r\nimport \"./NavBar.css\";\r\n\r\n// const SEARCHCOOKIE = config.searchCookie\r\n// const SEARCHCOOKIEDELIMITER = config.searchCookieDelimiter\r\n\r\nfunction NavBar({ \r\n isOpen,\r\n isActive,\r\n onClick,\r\n backLink,\r\n languageSelect,\r\n ...props }) {\r\n // const [ searchIsOpen, setSearchIsOpen ] = useState( false )\r\n const history = useHistory();\r\n const handleBackLink = (e) => {\r\n e.preventDefault();\r\n history.goBack();\r\n }\r\n\r\n\r\n return(\r\n
    \r\n
    \r\n
    \r\n { backLink && <}\r\n \r\n
    \r\n
    \r\n
    \r\n { languageSelect && }\r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n}\r\n\r\nexport default NavBar;","export default \"data:image/png;base64,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\"","import { useEffect, useState } from \"react\";\r\nimport { useAppContext } from \"../../libs/contextLib\";\r\n\r\nconst kopRunDate = new Date(\"Nov 22, 2020 00:00:00\");\r\nconst doTimeLeftCalc = () => {\r\n const now = new Date();\r\n const difference = kopRunDate.getTime() - now.getTime()\r\n if (difference > 0) {\r\n return {\r\n days: Math.floor(difference / (1000 * 60 * 60 * 24)),\r\n hours: Math.floor((difference / (1000 * 60 * 60)) % 24),\r\n minutes: Math.floor((difference / 1000 / 60) % 60),\r\n seconds: Math.floor((difference / 1000) % 60),\r\n }\r\n }\r\n return { days: 0, hours: 0, minutes: 0, seconds: 0, };\r\n}\r\n\r\nfunction LaunchCountdown(){\r\n const { lang } = useAppContext();\r\n const [ timeLeft, setTimeLeft ] = useState( doTimeLeftCalc() )\r\n\r\n const strings = ( () => {\r\n if( lang === \"en\"){\r\n return {\r\n starts: \"Starts in:\",\r\n days: \"days\",\r\n hours: \"hours\",\r\n minutes: \"mins\",\r\n }\r\n }\r\n return {\r\n starts: \"นับถอยหลัง:\",\r\n days: \"วัน\",\r\n hours: \"ชั่วโมง\",\r\n minutes: \"นาที\",\r\n }\r\n })()\r\n\r\n useEffect(() => {\r\n const timer = setInterval(() => {\r\n setTimeLeft( doTimeLeftCalc() )\r\n }, 1000);\r\n\r\n return () => clearInterval(timer);\r\n }, []);\r\n\r\n\r\n const { days, hours, minutes, seconds } = timeLeft\r\n if( (days + hours + minutes + seconds) === 0 ){\r\n return \"\"\r\n }\r\n\r\n const renderAboveZero = ( time, string ) => time > 0 ? time + \" \" + string : \"\";\r\n return (\r\n
    \r\n \r\n {strings.starts}\r\n {renderAboveZero(days, strings.days)} {renderAboveZero(hours,strings.hours)} {renderAboveZero(minutes,strings.minutes)}\r\n
    \r\n )\r\n}\r\n\r\nexport default LaunchCountdown;","import { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { ReactComponent as Account } from \"../images/AccountIcon.svg\";\r\nimport HeaderNavButton from \"./HeaderNavButton\";\r\nimport HeaderNavFold from \"./HeaderNavFold\";\r\nimport NavBar from \"./NavBar\";\r\nimport axaKrung from \"../images/axa-krung.png\";\r\nimport \"./Header.css\";\r\nimport LanguageSelectCircle from \"../languageSelectCircle/LanguageSelectCircle\";\r\nimport LaunchCountdown from \"../launchCountdown/LaunchCountdown\";\r\n\r\nfunction Header( { navbarOptions } ) {\r\n\tconst [ headerOpen, setHeaderOpen ] = useState( false );\r\n\tconst [ navBarOpen, setNavBarOpen ] = useState( false );\r\n\tconst { active, backLinkActive, languageSelect } = navbarOptions\r\n\tconst isActive = active;\r\n\t\r\n\tuseEffect( ()=> {\r\n\t\tif(isActive)\r\n\t\t\tsetHeaderOpen(false)\r\n\t}, [isActive, setHeaderOpen])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t setHeaderOpen( !headerOpen ) } isOpen={ headerOpen } />\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\"Partnered\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t setNavBarOpen( !navBarOpen ) }\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\nHeader.defaultProps = {\r\n\tnavbarOptions: {\r\n\t\tactive: false,\r\n\t\tbackLinkActive: false,\r\n\t\tlanguageSelect: false,\r\n\t}\r\n}\r\n\r\nexport default Header;\r\n","import { Route, Redirect, useLocation } from \"react-router-dom\";\r\nimport { useAppContext } from \"../libs/contextLib\";\r\nimport Header from \"../components/header/Header\";\r\nimport Main from \"../components/main/Main\";\r\n\r\nfunction AuthenticatedRoute({ \r\n children,\r\n borderedPage = false,\r\n navbarOptions = {\r\n active: false,\r\n backLinkActive: false,\r\n languageSelect: false,\r\n },\r\n ...rest }) {\r\n const { pathname, search } = useLocation();\r\n const { isAuthenticated } = useAppContext();\r\n return (\r\n \r\n { isAuthenticated ? (\r\n <>\r\n
    \r\n
    { children }
    \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default AuthenticatedRoute;","import { Route, Redirect } from \"react-router-dom\";\r\nimport { useAppContext } from \"../libs/contextLib\";\r\nimport Header from \"../components/header/Header\";\r\nimport Main from \"../components/main/Main\";\r\nimport { queryString } from \"../libs/queryStringLib\";\r\n\r\nfunction UnauthenticatedRoute({\r\n children,\r\n borderedPage = false,\r\n navbarOptions = {\r\n active: false,\r\n backLinkActive: false,\r\n languageSelect: false,\r\n },\r\n ...rest } ) {\r\n const { isAuthenticated } = useAppContext();\r\n const redirect = queryString(\"redirect\");\r\n\r\n return (\r\n \r\n {!isAuthenticated ? (\r\n <>\r\n
    \r\n
    {children}
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nexport default UnauthenticatedRoute;","import { useEffect, useState } from \"react\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport Axios from \"axios\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport config from \"../../config\";\r\nimport { onError } from \"../../libs/errorLib\";\r\nimport { queryString } from \"../../libs/queryStringLib\";\r\nimport LoadingCircle from \"../loadingSpinner/LoadingCircle\";\r\n\r\n/* \r\nthis page exists for New Users only. \r\nIt captures the first time code from strava, to send to our API, \r\nto create their API-Local account for future use\r\n*/\r\nfunction ExchangeToken() {\r\n const [pageReady, setPageReady] = useState(false);\r\n const code = queryString(\"code\");\r\n\r\n useEffect(() => {\r\n async function submitCode() {\r\n \r\n try { \r\n \r\n const sub = localStorage.getItem('aws.sub');\r\n if(sub === null){\r\n alert (\"no sub\");\r\n }\r\n\r\n const { data } = await Axios.post(`${config.dataUris.apiuri()}/googleconnect/createuser`, {\r\n sub: localStorage.getItem('aws.sub'),\r\n code: code\r\n });\r\n\r\n if (!data) {\r\n alert(\"Google Fit Connection failure, please try again\");\r\n setPageReady(true);\r\n return;\r\n }\r\n else {\r\n alert(\"Google Fit connected!\");\r\n }\r\n setPageReady(true);\r\n } catch (e) {\r\n onError(e);\r\n setPageReady(true);\r\n }\r\n }\r\n submitCode();\r\n }, [])\r\n\r\n\r\n if (!pageReady) {\r\n return
    ;\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default ExchangeToken;","\r\nexport default function ClearCache(){\r\n\r\n caches.keys().then(function(names) {\r\n for (let name of names)\r\n caches.delete(name);\r\n });\r\n\r\n window.location.href = \"./\";\r\n\r\n \r\n return (\r\n\r\n \"cleared\"\r\n\r\n );\r\n}","import './ConnectGoogleFitButton.css';\r\nimport Heading from \"../heading/Heading\";\r\nimport Main from \"../main/Main\";\r\nimport { Button } from \"../button\";\r\nimport { useAppContext } from '../../libs/contextLib';\r\nimport { langField } from \"../../libs/languageStringsHelper\"\r\nimport LoadingCircle from '../loadingSpinner/LoadingCircle';\r\nimport { useEffect } from 'react';\r\nimport { Auth } from 'aws-amplify';\r\nimport Axios from 'axios';\r\nimport config from '../../config';\r\nimport { Link } from 'react-router-dom';\r\nimport Google from \"../images/googlesignin.png\";\r\n\r\nexport default function ConnectGoogleFitButton() {\r\n const { languageStrings } = useAppContext();\r\n const langStr = languageStrings;\r\n\r\n const pg = \"strava\"\r\n const title = langStr[langField(pg, 'setup_page_t')];\r\n const intro = langStr[langField(pg, 'page_te')];\r\n const buttonText = langStr[langField(pg, 'button_text')];\r\n\r\n const redirectURL = `http://localhost:3000/exchange_token/`;\r\n const redirectURLStage = `https://koprun.lfcstage.com/thailand/exchange_token/`;\r\n const redirectURLProd = `https://koprun.liverpoolfc.com/thailand/exchange_token/`;\r\n const redirectURLDemo = `https://koprundemo.lfcstage.com/thailand/exchange_token/`;\r\n const oauthUrl = `https://accounts.google.com/o/oauth2/v2/auth?client_id=621140034343-1hgslkql39mttjj2jsfbsquunmqe09f1.apps.googleusercontent.com&response_type=code&scope=https://www.googleapis.com/auth/fitness.activity.read https://www.googleapis.com/auth/fitness.location.read&access_type=offline&prompt=consent&redirect_uri=${redirectURLProd}`\r\n\r\n useEffect(() => {\r\n\r\n // set \r\n async function prepAwsSub() {\r\n const userinfo = await Auth.currentUserInfo();\r\n localStorage.setItem('aws.sub', userinfo.attributes.sub);\r\n }\r\n prepAwsSub();\r\n\r\n }, [])\r\n\r\n return (\r\n
    \r\n {title}\r\n
    \r\n {/* \r\n \r\n */}\r\n
    \r\n\r\n { languageStrings['field_kr_set_up_google_not_now'] }\r\n
    \r\n );\r\n\r\n}\r\n\r\n","export default \"data:image/png;base64,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\"","import { Route, Switch } from \"react-router-dom\";\r\nimport Home from \"./containers/Home\";\r\nimport NotFound from \"./containers/NotFound\";\r\nimport {\r\n HomePageContainer,\r\n FAQContainer,\r\n PrivacyPolicy,\r\n TermsOfUse,\r\n LoginContainer as Login,\r\n LeaderboardContainer,\r\n LandingContainer,\r\n SignupContainer as Signup,\r\n MyAccountContainer as MyAccount,\r\n AllChallengesContainer,\r\n ManualEntryContainer\r\n} from \"./containers/\";\r\nimport AuthenticatedRoute from \"./components/AuthenticatedRoute\"\r\nimport UnauthenticatedRoute from \"./components/UnauthenticatedRoute\"\r\nimport ExchangeToken from \"./components/stravaConnect/ExchangeToken\";\r\nimport ClearCache from \"./ClearCache\";\r\nimport ConnectStravaButton from \"./components/stravaConnect/ConnectStravaButton\";\r\nimport Header from \"./components/header/Header\";\r\nimport { useAppContext } from \"./libs/contextLib\";\r\nimport { CompleteRaceContainer } from \"./containers/completeRaceContainer\";\r\nimport ConnectGoogleFitButton from \"./components/googlefitConnect/ConnectGoogleFitButton\";\r\n\r\nexport default function Routes() {\r\n const { isAuthenticated } = useAppContext();\r\n\r\n const navbarWithLang = {\r\n active: true,\r\n backLinkActive: false,\r\n languageSelect: true,\r\n }\r\n const navbarWithBackLink = {\r\n active: true,\r\n backLinkActive: true,\r\n languageSelect: false,\r\n }\r\n return (\r\n \r\n \r\n\r\n
    \r\n {\r\n ! isAuthenticated ? : \r\n }\r\n\r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n\r\n \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n {/* \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n\r\n {/* Remove when complete\r\n \r\n \r\n */}\r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n {/* Finally, catch all unmatched routes */}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}","export default __webpack_public_path__ + \"static/media/axakrungfooter.253a7391.png\";","import \"./Footer.css\";\r\nimport krungthai from \"../images/axakrungfooter.png\";\r\nimport mg from \"../images/mg.png\";\r\nimport Accordion from \"../accordion/Accordion\"\r\nimport { Link } from \"react-router-dom\";\r\n\r\nfunction Footer() {\r\n const baseProps = {\r\n target: \"_blank\",\r\n rel: \"noreferrer noopener\",\r\n }\r\n\r\n const tandc = \"https://www.liverpoolfc.com/legal/terms-and-conditions\";\r\n const privacy = \"https://www.liverpoolfc.com/legal/privacy-policy\";\r\n\r\n\treturn (\r\n
    \r\n
    \r\n
    \r\n \"Partnered\r\n \"Partnered\r\n
    \r\n
    \r\n \r\n Privacy Policy | \r\n Terms & Conditions\r\n \r\n \r\n
    \r\n

    © Liverpoolfc.com 2020, All Rights Reserved

    \r\n
    \r\n\t);\r\n}\r\n\r\nexport default Footer;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAACACAYAAABtJLUPAAAEtGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTI4IgogICB0aWZmOkltYWdlV2lkdGg9Ijk1IgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSI5Ni4wIgogICB0aWZmOllSZXNvbHV0aW9uPSI5Ni4wIgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iOTUiCiAgIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSIxMjgiCiAgIGV4aWY6Q29sb3JTcGFjZT0iMSIKICAgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIKICAgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0x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\"","import { useEffect, useState } from \"react\";\r\nimport { useDebouncedCallback } from 'use-debounce';\r\nimport \"./ToTop.css\"\r\n\r\nfunction ToTop(){\r\n const [ isVisible, setIsVisible ] = useState( document.body.scrollTop > 20 || document.documentElement.scrollTop > 20 );\r\n const debouncedScroll = useDebouncedCallback(\r\n () => setIsVisible(document.body.scrollTop > 20 || document.documentElement.scrollTop > 20),\r\n 100\r\n );\r\n\r\n useEffect( ()=> {\r\n document.addEventListener(\"scroll\", debouncedScroll.callback );\r\n return () => document.removeEventListener(\"scroll\", debouncedScroll.callback );\r\n }, [] )\r\n\r\n const goToTop = () => {\r\n document.body.scrollTop = 0; // For Safari\r\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\r\n }\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default ToTop;","import { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { ReactComponent as Account } from \"../images/AccountIcon.svg\";\r\nimport HeaderNavButton from \"./HeaderNavButton\";\r\nimport HeaderNavFold from \"./HeaderNavFold\";\r\nimport axaKrung from \"../images/axa-krung.png\";\r\nimport \"./Header.css\";\r\nimport LanguageSelectCircle from \"../languageSelectCircle/LanguageSelectCircle\";\r\nimport LaunchCountdown from \"../launchCountdown/LaunchCountdown\";\r\n\r\nfunction HeaderBlank( { navbarOptions } ) {\r\n\tconst [ headerOpen, setHeaderOpen ] = useState( false );\r\n\tconst { active } = navbarOptions\r\n\tconst isActive = active;\r\n\t\r\n\tuseEffect( ()=> {\r\n\t\tif(isActive)\r\n\t\t\tsetHeaderOpen(false)\r\n\t}, [isActive, setHeaderOpen])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t setHeaderOpen( !headerOpen ) } isOpen={ headerOpen } />\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\"Partnered\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t{/* setNavBarOpen( !navBarOpen ) }\r\n\t\t\t/> */}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\nHeaderBlank.defaultProps = {\r\n\tnavbarOptions: {\r\n\t\tactive: false,\r\n\t\tbackLinkActive: false,\r\n\t\tlanguageSelect: false,\r\n\t}\r\n}\r\n\r\nexport default HeaderBlank;\r\n","import { useState, useEffect, useReducer } from \"react\";\r\nimport Routes from \"./Routes\";\r\nimport { AppContext } from \"./libs/contextLib\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport Axios from \"axios\";\r\nimport Footer from \"./components/footer/Footer\";\r\nimport ToTop from \"./components/toTop/ToTop\";\r\nimport { onError } from \"./libs/errorLib\";\r\nimport config from \"./config\";\r\nimport { useLanguageCookie } from \"./libs/hooksLib\";\r\nimport HeaderBlank from \"./components/header/HeaderBlank\";\r\nimport LoadingCircle from \"./components/loadingSpinner/LoadingCircle\";\r\nimport Heading from \"./components/heading/Heading\";\r\n\r\nfunction reducer(state, action) {\r\n switch (action.type) {\r\n case 'init':\r\n case 'reset':\r\n return { ...initialState};\r\n case 'challenges':\r\n return {...state, challenges: action.value};\r\n case 'athlete':\r\n return {...state, athlete: action.value};\r\n case 'levels':\r\n return {...state, levels: action.value}\r\n default:\r\n throw new Error();\r\n }\r\n}\r\n\r\nconst initialState = { \r\n challengenges: null,\r\n athlete: null,\r\n levels: null,\r\n}\r\nconst { apiuri } = config.dataUris;\r\n\r\nfunction App() {\r\n const [ lang, setLang ] = useLanguageCookie();\r\n const [ /* user */, setUser ] = useReducer( reducer, initialState )\r\n const [ strings, setStrings ] = useState(null);\r\n const [ languageStrings, setLanguageStrings ] = useState(null);\r\n const [ networkError, setNetworkError ] = useState(false);\r\n\r\n const [isAuthenticating, setIsAuthenticating] = useState( true );\r\n const [isAuthenticated, userHasAuthenticated] = useState( false );\r\n\r\n const getUserType = async ( type, endpoint )=>{ \r\n if( ! isAuthenticated ){\r\n return {}\r\n }\r\n // if( user.challengenges ) {\r\n // return user.challengenges;\r\n // }\r\n try { \r\n const userinfo = await Auth.currentUserInfo();\r\n if ( userinfo ){\r\n const { data } = await Axios.get(`${apiuri() + endpoint}?sub=${userinfo.attributes.sub}&lang=${lang}`);\r\n setUser({ type :type, value: data });\r\n return data;\r\n }\r\n } catch (e) {\r\n onError(e)\r\n }\r\n }\r\n\r\n const getUserChallenges = async () => await getUserType( 'challenges', '/ChallengeSummary/Update') \r\n const getUserAthelete = async () => await getUserType( 'athlete', '/Athlete') \r\n const getUserLevels = async () => await getUserType( 'levels', '/levels/summary') \r\n\r\n const resetUserSpecifics = str => {\r\n const possibilities = ['levels', 'athlete', 'challenges']\r\n if( possibilities.includes( str.toLowerCase() ) ){\r\n setUser({ type:str, value: null });\r\n }\r\n }\r\n\r\n useEffect( () => {\r\n onLoad();\r\n }, [] );\r\n\r\n async function onLoad() {\r\n try {\r\n await Auth.currentSession();\r\n userHasAuthenticated(true);\r\n }\r\n catch (e) {\r\n if (e !== 'No current user') {\r\n alert(e);\r\n }\r\n }\r\n setIsAuthenticating(false);\r\n }\r\n\r\n useEffect( () => {\r\n if( ! networkError )\r\n Axios.get( `${apiuri()}/koprun_pages` ).then( response => {\r\n let { data } = response;\r\n if( ! data.length ){ \r\n throw new Error(\"Unable to retrieve critical resource.\");\r\n }\r\n let groupedData = [];\r\n data.forEach( lang => groupedData[lang.field_kr_language] = lang );\r\n setStrings( groupedData ) \r\n }).catch ( e => e.toString() === 'Error: Network Error' ? setNetworkError( true ) : onError(e))\r\n \r\n }, [] );\r\n\r\n useEffect( () => {\r\n console.log({lang}) \r\n if( strings )\r\n setLanguageStrings( strings[lang.toLowerCase()] )\r\n }, [lang, strings, setLanguageStrings]);\r\n\r\n useEffect( ()=>{\r\n if( !isAuthenticated ){\r\n setUser({ type: 'reset'});\r\n }\r\n }, [ isAuthenticated ])\r\n\r\n const appContext = { \r\n lang,\r\n setLang,\r\n isAuthenticated,\r\n userHasAuthenticated,\r\n getUserChallenges,\r\n getUserAthelete,\r\n getUserLevels,\r\n resetUserSpecifics,\r\n languageStrings,\r\n }\r\n\r\n if ( networkError )\r\n {\r\n return <>\r\n \r\n
    \r\n Network Error\r\n Please check your connection and try again\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n }\r\n\r\n if( ! languageStrings ){\r\n return <>\r\n {/*
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n }\r\n return (\r\n !isAuthenticating &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default App;","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import ReactDOM from 'react-dom';\r\nimport ScrollMemory from 'react-router-scroll-memory';\r\nimport { BrowserRouter as Router } from 'react-router-dom';\r\nimport { Amplify } from 'aws-amplify';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport config from './config';\r\nimport './index.css';\r\n\r\n\r\nAmplify.configure({\r\n Auth: {\r\n mandatorySignIn: true,\r\n region: config.cognito.REGION,\r\n userPoolId: config.cognito.USER_POOL_ID,\r\n identityPoolId: config.cognito.IDENTITY_POOL_ID,\r\n userPoolWebClientId: config.cognito.APP_CLIENT_ID\r\n },\r\n});\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}