{"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/Indonesia.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_mandiri.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/images/axamandaranew.png","components/footer/Footer.js","components/images/mgnew.png","components/images/nhfoodsnew.png","components/toTop/ToTop.js","components/header/HeaderBlank.js","components/images/axa-krung.png","App.js","serviceWorker.js","index.js"],"names":["LoadingCircle","className","config","cognito","REGION","USER_POOL_ID","APP_CLIENT_ID","dataUris","devRoot","lfcStageRoot","prod","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","ValidateEmail","inputText","match","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","Date","activityDate","toLocaleDateString","pace","PrivacyPolicy","TermsOfUse","SvgAccountIcon","HeaderNavButton","HeaderNavFold","SvgLogoKoprun","clipPath","stroke","strokeWidth","SvgFlagOfTheUnitedKingdom","strokeMiterlimit","SvgIndonesia","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","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","marginLeft","axaID","AuthenticatedRoute","rest","useLocation","pathname","search","isAuthenticated","UnauthenticatedRoute","ExchangeToken","pageReady","setPageReady","localStorage","getItem","submitCode","ClearCache","caches","names","delete","ConnectGoogleFitButton","intro","oauthUrl","setItem","prepAwsSub","Routes","dataLayer","navbarWithBackLink","path","Footer","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","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.22b2f94e.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 lfcStageRoot: \"https://koprun-api-id.lfcstage.com\",\r\n prod: \"https://koprun-api-id.liverpoolfc.com\",\r\n\r\n env: \"prod\",\r\n apiuri: () => {\r\n if (config.dataUris.env === \"devRoot\")\r\n return config.dataUris.devRoot;\r\n if (config.dataUris.env === \"lfcStageRoot\")\r\n return config.dataUris.lfcStageRoot;\r\n if (config.dataUris.env === \"prod\")\r\n return config.dataUris.prod;\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 if (message.toString() !== \"[object Object]\" && message != \"[object Object]\") {\r\n alert(message);\r\n console.log(message);\r\n }\r\n else {\r\n console.log(message);\r\n }\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,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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,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\"","export default \"data:image/png;base64,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\"","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 = \"id-id\" ){\r\n const storageKey = 'kr-id.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}&firstname=${userinfo.attributes.name}&lastname=${userinfo.attributes.family_name}`);\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, input } 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\n\r\n\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: \"ID\",\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 ValidateEmail(inputText) {\r\n if (inputText.length > 0) {\r\n var mailformat = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]| \\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?| \\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]: (?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\r\n if (inputText.match(mailformat)) {\r\n return true;\r\n }\r\n else {\r\n alert(\"Please check your email address\");\r\n return false;\r\n }\r\n }\r\n }\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 if(ValidateEmail(fields.email) === false){\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n // Indonesia should not apply the no-under-18s rule\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 {handleFieldChange(e)}}\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 console.log(e)\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\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 setFaqs([]);\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 }, [lang])\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 === \"id-id\") {\r\n return (\r\n
    \r\n\r\n

    \r\n Kebijakan Privasi Kop Run\r\n

    \r\n

    \r\n Pemberitahuan Privasi ini menjelaskan secara rinci mengenai jenis data pribadi Anda yang kami kumpulkan saat Anda berinteraksi dengan kami. Ini juga menjelaskan bagaimana kami menyimpan dan menangani data tersebut, dan menjaganya agar tetap aman.\r\n

    \r\n

    \r\n Ada banyak informasi di sini, tetapi kami ingin Anda mengetahui sepenuhnya tentang hak-hak Anda, dan bagaimana Liverpool Football Club menggunakan data Anda; misalnya, kami akan menjelaskan bagaimana kami menganalisis dan menggabungkan semua data yang kami miliki tentang Anda untuk memastikan komunikasi terpersonalisasi dan relevan.\r\n

    \r\n

    \r\n Kami berharap bagian berikut akan menjawab pertanyaan yang Anda miliki, tetapi jika tidak, silakan hubungi kami.\r\n

    \r\n\r\n

    \r\n Ringkasan tentang bagaimana kami menggunakan data Anda\r\n

    \r\n

    \r\n Situs web dan aplikasi kami dirancang untuk memungkinkan para penggemar Liverpool Football Club (\"LFC\", \"kami\" atau \"kita\") untuk berinteraksi dengan klub. Kami menggunakan data pribadi Anda dengan berbagai cara untuk melakukan ini. Penggunaan LFC atas data pribadi Anda memungkinkan kami untuk menyediakan produk, tiket, dan layanan yang telah Anda beli, untuk berkomunikasi dengan para penggemar, untuk memberi Anda informasi tentang kami dan tentang produk, layanan, dan kegiatan kami dan mungkin juga termasuk, menghubungi Anda tentang produk dan layanan serta acara yang menurut kami akan menarik bagi Anda. Pemberitahuan privasi kami menjelaskan bagaimana LFC akan menggunakan informasi pribadi Anda saat Anda mengunjungi situs web atau aplikasi kami, saat kami berkomunikasi dengan Anda dan saat Anda membeli tiket atau produk dari kami:\r\n

    \r\n

    \r\n Informasi apa yang kami kumpulkan dan mengapa; Penggunaan analitik data kami; Dasar hukum yang mengatur kami dalam memproses informasi Anda; Dengan siapa kami membagikan informasi pribadi Anda, di mana dan kapan; Hak Anda atas informasi pribadi Anda; Bagaimana Anda dapat menghubungi kami untuk mendiskusikan informasi pribadi Anda; Bagaimana untuk keluar dari pemasaran langsung; Siapa pengontrol data atas informasi pribadi Anda; dan Berapa lama kami akan menyimpan informasi pribadi Anda. Saat kami mentransfer data Anda secara internasional, kami memastikan bahwa data tersebut dilindungi sesuai dengan standar yang disyaratkan oleh hukum yang berlaku. Anda juga memiliki berbagai hak atas data pribadi Anda termasuk hak untuk menolak beberapa pemrosesan data pribadi Anda yang dilakukan LFC. Situs web dan aplikasi kami dapat menyertakan tautan ke situs web pihak ketiga, plug-in, dan aplikasi. Dengan mengklik tautan tersebut memungkinkan pihak ketiga untuk mengumpulkan atau berbagi data tentang Anda. Kami tidak mengontrol situs web pihak ketiga ini dan tidak bertanggung jawab atas pemberitahuan privasi mereka. Ketika Anda meninggalkan situs web kami, kami menyarankan Anda untuk membaca pemberitahuan privasi dari setiap situs web yang Anda kunjungi.\r\n

    \r\n\r\n

    \r\n Informasi apa yang kami kumpulkan dan mengapa kami mengumpulkannya?\r\n

    \r\n

    \r\n Kami mengumpulkan dan memproses data pribadi milik Anda ketika Anda mendaftar untuk menggunakan situs web kami atau aplikasi kami atau membeli atau menyatakan minat untuk menerima produk atau layanan dari kami atau berlangganan komunikasi kami. Ini termasuk:\r\n

    \r\n

    \r\n Rincian kontak Anda termasuk nama, alamat pos dan email serta nomor telepon Anda.\r\n

    \r\n

    \r\n Untuk menghubungi Anda agar kami dapat mengelola, menyusun, dan menyediakan produk dan layanan kami kepada Anda. Untuk menanggapi setiap korespondensi dan pertanyaan terkait layanan yang Anda kirimkan kepada kami terkait produk atau layanan kami. Untuk memberi Anda informasi yang relevan seperti pembaruan operasional (termasuk informasi akses, informasi pengumpulan tiket, dan perubahan jadwal) terkait dengan hari pertandingan dan acara lainnya. Kami akan menggunakan informasi tersebut untuk memasarkan produk dan layanan kepada Anda jika Anda telah menyetujuinya. Kami juga akan menggunakan informasi tersebut untuk memasarkan produk dan layanan LFC kepada Anda (termasuk melalui sarana elektronik) dan untuk memberi tahu Anda tentang berita, kompetisi, acara, dan informasi LFC lainnya, sejauh Anda belum memilih untuk keluar dan sejauh pemasaran tersebut terkait dengan produk dan/atau layanan yang sebelumnya Anda pesan atau beli atau dengan produk atau layanan yang Anda komunikasikan dengan kami atau telah menyatakan minat Anda. Kami dapat menggunakan informasi tersebut untuk mengumpulkan pembayaran hutang dari Anda, misalnya di mana pembayaran untuk hospitalitas sudah lewat waktu. Kami menerima informasi tersebut dari Liga Premier dan tidak mengumpulkannya langsung dari Anda sendiri, hanya jika Anda memilih untuk ikut (misalnya di situs web Liga Premier) untuk menerima informasi dari kami. Kami juga dapat menerima informasi ini dari pemegang lisensi merek kami (misalnya aplikasi pihak ketiga, permainan, dan outlet ritel) di mana Anda telah memilih untuk ikut serta dengan penerima lisensi tersebut agar informasi Anda dibagikan kepada kami. Untuk mengkomunikasikan pembaruan apa pun kepada Anda termasuk setiap perubahan pada layanan kami, syarat dan ketentuan dari setiap layanan yang telah kami berikan kepada Anda, setiap perubahan pada Pemberitahuan Privasi ini dan pada situs web kami. Untuk mengundang Anda memberikan umpan balik dan/atau mengambil bagian dalam riset pasar atau survei untuk membantu kami meningkatkan pengalaman penggemar serta produk dan layanan kami. Detail identitas termasuk gelar, nama, tanggal lahir, jenis kelamin, nama pengguna, akun media sosial, atau pengenal serupa lainnya.\r\n

    \r\n

    \r\n Untuk mendaftarkan Anda sebagai penggemar, untuk menetapkan identitas Anda dan untuk memastikan bahwa kami sesuai dengan dan menyediakan produk dan layanan kepada orang yang tepat. Untuk mengikutsertakan partisipasi Anda dalam undian berhadiah atau kompetisi yang telah Anda ikuti. Untuk memasarkan produk/layanan kepada Anda di mana Anda telah menyetujui ini. Kami juga akan menggunakan informasi tersebut untuk memasarkan produk dan layanan LFC kepada Anda (termasuk melalui sarana elektronik) dan untuk memberi tahu Anda tentang berita, kompetisi, acara, dan informasi LFC lainnya, sejauh Anda belum memilih untuk keluar dan sejauh pemasaran tersebut terkait dengan produk dan/atau layanan yang sebelumnya Anda pesan atau beli atau dengan produk atau layanan yang Anda komunikasikan dengan kami atau telah menyatakan minat Anda. Kami dapat menggunakan informasi tersebut untuk mengumpulkan pembayaran hutang dari Anda, misalnya di mana pembayaran untuk hospitalitas sudah lewat waktu. Kami dapat menerima informasi ini dari Liga Premier dan tidak mengumpulkannya langsung dari Anda sendiri, tetapi hanya jika Anda telah memilih untuk ikut serta (misalnya di situs web Liga Premier) untuk menerima informasi dari kami. Kami juga dapat menerima informasi ini dari pemegang lisensi merek kami (misalnya aplikasi pihak ketiga, permainan, dan outlet ritel) di mana Anda telah memilih untuk ikut serta dengan penerima lisensi tersebut agar informasi Anda dibagikan kepada kami. Kami hanya mengumpulkan informasi tentang jenis kelamin Anda untuk tujuan statistik dan untuk mempersonalisasi produk dan layanan yang kami tawarkan kepada Anda. Informasi keuangan termasuk rekening bank dan detail kartu pembayaran.\r\n

    \r\n

    \r\n Detail kartu pembayaran Anda dapat dikumpulkan melalui situs web atau aplikasi kami. Informasi ini hanya digunakan untuk tujuan penagihan oleh penyedia layanan pembayaran bersertifikat PCI-DSS kami. Informasi kartu pembayaran Anda dienkripsi dan dikirimkan ke penyedia layanan pembayaran kami dengan aman melalui HTTPS. Detail kartu pembayaran Anda tidak pernah disimpan di sistem kami, dan tidak ada seorang pun di LFC yang dapat mengaksesnya. Pilihan terbatas staf kami dapat mengakses tanggal kedaluwarsa kartu pembayaran Anda untuk memastikan informasi pembayaran Anda tetap valid. Kami dapat mengumpulkan detail rekening bank Anda untuk memproses langganan apa pun (misalnya, langganan TV, pembayaran tiket musiman) yang Anda lakukan bersama kami. Detail pembayaran ke dan dari Anda dan detail lain dari produk dan layanan yang telah Anda beli dari kami termasuk umpan balik apa pun.\r\n

    \r\n

    \r\n Untuk memungkinkan kami menyediakan produk atau layanan apa pun yang telah Anda beli dari kami. Untuk mengelola pengembalian dana yang kami berikan kepada Anda. Untuk memungkinkan Anda melacak riwayat pembayaran melalui akun Anda. Untuk menentukan apakah produk/layanan lain yang mungkin ingin kami beritahukan kepada Anda (di mana kami berhak melakukannya) relevan. Untuk menanggapi komentar/keluhan yang mungkin Anda atau orang lain kirimkan kepada kami. Untuk meningkatkan dan melindungi produk, platform, konten, layanan, dan situs web kami. Untuk memeriksa kelayakan Anda untuk tiket dan acara lain yang ingin Anda hadiri. Preferensi Anda dalam menerima komunikasi pemasaran dari kami dan pihak ketiga mana pun (termasuk persetujuan yang Anda berikan kepada kami) dan konfirmasi apakah kami harus menghubungi Anda atau tidak.\r\n

    \r\n

    \r\n Untuk memastikan bahwa kami hanya mengirimkan informasi pemasaran kepada Anda di mana kami berhak melakukannya. Kami menerima jawaban 'ya' atau 'tidak' atas permintaan kami dari Layanan Preferensi Telepon dan sebagai akibat dari mortalitas dan perjudian/taruhan/pemeriksaan keuangan sebagai indikasi apakah kami harus menghubungi Anda untuk tujuan pemasaran. Status keanggotaan klub pendukung resmi Anda.\r\n

    \r\n

    \r\n Kami menerima jawaban 'ya' atau 'tidak' atas permintaan kami dari klub pendukung resmi di mana Anda adalah anggota. Hal ini membantu pengelolaan tiket dan memberikan manfaat bagi anggota. Nama pengguna dan kata sandi Anda, pembelian atau pesanan yang Anda lakukan, minat, preferensi, umpan balik, dan tanggapan survei Anda.\r\n

    \r\n

    \r\n Kami akan menggunakan informasi ini untuk menunjukkan kepada Anda informasi yang relevan dengan Anda termasuk informasi akun dan riwayat Anda untuk mempermudah Anda mengelola akun Anda. Kami juga menggunakan beberapa informasi ini untuk tujuan analitik, yang dijelaskan lebih detail di bawah ini tentang 'Penggunaan analitik data'. Data teknis tentang akses dan penggunaan Anda ke situs web dan aplikasi.\r\n

    \r\n

    \r\n Termasuk alamat IP (dari mana kami dapat menyimpulkan negara lokasi Anda), jenis perangkat yang Anda gunakan, data login Anda, jenis dan versi browser, pengaturan zona waktu dan lokasi, jenis dan versi plugin browser, sistem operasi dan platform dan teknologi lain pada perangkat yang Anda gunakan untuk mengakses situs web atau aplikasi kami dan informasi tentang apakah Anda membuka komunikasi kami, konten mana yang telah Anda lihat dan informasi interaksi halaman lainnya. Ini terutama untuk membantu kami lebih memahami bagaimana penggemar kami menggunakan platform digital kami untuk memungkinkan kami membuat konten yang lebih baik dan komunikasi yang lebih relevan. Untuk informasi lebih lanjut tentang ini, silakan lihat Kebijakan Cookies kami. Sebagai bagian dari Champions Trophy Experience dalam Aplikasi Resmi, 'Champion Presented by Standard Charted’ kami menggunakan Truedepth API untuk mengakses kamera depan pada perangkat iOS. Satu-satunya penggunaan informasi ini adalah untuk menyediakan fitur pengguna yang berharga. Tidak ada informasi yang dikumpulkan oleh TrueDepth API dari perangkat pengguna. Kami tidak membagikan informasi seputar TrueDepth API dengan pihak ketiga dan kami tidak menyimpan atau memproses data yang kami akses dan gunakan melalui TrueDepth API dengan cara lain. Sebagai bagian dari fitur ini di Aplikasi LFC Resmi, pengguna dapat memilih untuk menggunakan fungsi stiker wajah dan dapat memilih untuk menyimpan foto diri mereka sendiri. LFC tidak menyimpan data wajah ini di dalam Aplikasi atau server.\r\n

    \r\n\r\n

    \r\n Informasi yang berkaitan dengan akses, kecacatan dan/atau persyaratan dietary yang mungkin Anda miliki.\r\n

    \r\n

    \r\n Umumnya, kami hanya akan meminta informasi ini jika diperlukan untuk keperluan tiket atau hospitalitas, misalnya di mana Anda telah membeli tiket ke suatu acara sehingga kami dapat memastikan ada pengaturan aksesibilitas yang sesuai. Informasi yang diwajibkan oleh hukum.\r\n

    \r\n

    \r\n Ini mungkin termasuk, misalnya, di mana kami memerlukan persetujuan orang tua untuk memberikan layanan online kepada anak-anak di bawah 13 tahun (namun, sebagian besar situs web kami tidak dirancang untuk anak-anak di bawah 13 tahun) atau sebagai tanggapan atas permintaan pemerintah atau otoritas penegak hukum yang melakukan penyelidikan. Salinan dokumen identitas di mana Anda adalah pemegang tiket musiman (dalam hal ini kami dapat mengumpulkan detail termasuk tempat lahir dan alamat tempat tinggal Anda) yang mungkin termasuk foto.\r\n

    \r\n

    \r\n Jika Anda adalah pemegang tiket musiman, kami dapat mengambil salinan dokumen identitas Anda untuk memverifikasi identitas Anda. Kami hanya akan menyimpan salinan dokumen identitas Anda selama kami perlu memverifikasi identitas Anda dan kemudian kami akan menghapus salinan tersebut dengan aman. Kami menggunakan perangkat lunak yang menganalisis salinan dokumen identitas yang Anda berikan kepada kami yang secara otomatis dapat membuat keputusan tentang identitas Anda. Namun, di mana keputusan otomatis semacam ini dibuat, Anda akan selalu memiliki kesempatan untuk menangguhakannya jika Anda tidak setuju dengan keputusan yang dibuat. Kami tidak akan menggunakan salinan yang kami ambil dari dokumen identitas Anda untuk tujuan lain. Kami dapat mengambil foto Anda untuk mengonfirmasi identitas Anda selama proses Amnesti Tiket Musim. Ini akan dihapus setelah amnesti selesai dan tidak akan disimpan oleh LFC lebih lama dari ini. Harap diperhatikan bahwa kami dapat menggunakan data apa pun yang dijelaskan di atas untuk mencegah, menyelidiki dan/atau melaporkan penipuan, terorisme, representasi yang keliru, insiden keamanan atau kejahatan (termasuk namun tidak terbatas pada pelanggaran tiket), sesuai dengan hukum yang berlaku.\r\n

    \r\n

    \r\n Penggunaan data analitik\r\n

    \r\n

    \r\n Kami mengevaluasi, mengkategorikan, dan membuat profil data pribadi untuk membantu kami menyesuaikan materi, layanan, dan komunikasi di platform kami dan di platform pihak ketiga seperti media sosial. Ini juga membantu mencegah komunikasi yang tidak diinginkan dalam kotak masuk Anda. Ini juga membantu kami memahami dan memberikan pengalaman yang lebih baik kepada penggemar kami, meningkatkan dan melindungi organisasi kami, serta melakukan penelitian yang terkait dengan tujuan kami.\r\n

    \r\n

    \r\n Penelitian dan analisis internal: Kami melakukan penelitian dan analisis terhadap pendukung, anggota, dan relawan kami, untuk menentukan keberhasilan kampanye dan banding, lebih memahami perilaku dan tanggapan, serta mengidentifikasi pola dan tren. Ini membantu menginformasikan pendekatan kami dan membuat LFC menjadi organisasi yang lebih kuat dan efektif. Memahami penggemar kami, minat mereka, dan apa yang mereka pedulikan juga membantu kami memberikan pengalaman yang lebih baik.\r\n

    \r\n

    \r\n Analisis dan pengelompokan: Kami menganalisis data yang kami kumpulkan tentang penggemar untuk mengidentifikasi karakteristik dan preferensi umum. Kami melakukan ini dengan menilai berbagai jenis informasi termasuk perilaku, misalnya, informasi aktivitas atau demografis sebelumnya, seperti usia atau lokasi. Ini memungkinkan kami untuk memastikan Anda menerima komunikasi, produk, dan informasi yang penting bagi Anda.\r\n

    \r\n

    \r\n Pembuatan profil untuk membantu kami memahami penggemar kami: Kami membuat profil penggemar berdasarkan berbagai kriteria termasuk minat, lokasi geografis umum, aktivitas situs web/aplikasi, dan kelompok sosial ekonomi dan usia. Kami juga menggunakan data gaya hidup yang dikumpulkan dan dianonimkan dan diperoleh dari pihak ketiga untuk melengkapi profil kami. Informasi ini membantu kami memastikan komunikasi relevan dan tepat waktu serta menawarkan produk dan layanan baru yang mungkin menarik bagi penggemar kami.\r\n

    \r\n

    \r\n Beberapa dari aktivitas analitik ini bergantung pada penggunaan cookie. Anda dapat mengatur browser Anda untuk menolak semua atau beberapa cookie browser, atau untuk mengingatkan Anda ketika situs web mengatur atau mengakses cookie. Jika Anda menonaktifkan atau menolak cookie, harap dicatat bahwa beberapa bagian dari situs web atau platform kami mungkin menjadi tidak dapat diakses atau tidak berfungsi dengan baik. Untuk informasi lebih lanjut tentang cookie yang kami gunakan, silakan lihat Kebijakan Cookie kami.\r\n

    \r\n

    \r\n Penggunaan Google Fit\r\n

    \r\n

    \r\n Situs Kop Run akan terintegrasi dengan aplikasi Google Fit di perangkat Anda.\r\n

    \r\n

    \r\n Saat Anda telah mendaftar untuk Situs Kop Run, Anda akan diminta di aplikasi Google Fit untuk memberikan akses Situs Kop Run ke data pengguna dan data aktivitas fisik yang diunggah ke aplikasi Google Fit Anda. Secara khusus, kami akan mengumpulkan tanggal dan waktu sesi aktivitas Anda, serta jarak yang ditempuh untuk aktivitas yang memenuhi syarat (Berjalan, Berlari, atau Jogging).\r\n

    \r\n

    \r\n Data tersebut akan dibagikan dan diunggah ke Situs LFC Kop Run, dan kemudian akan digunakan untuk menghitung dan mengatribusikan poin untuk menyusun peringkat dan menentukan kelayakan hadiah selama Periode Layanan.\r\n

    \r\n

    \r\n Dasar hukum untuk memproses data pribadi\r\n

    \r\n

    \r\n Dasar hukum kami untuk mengumpulkan dan menggunakan data pribadi Anda akan bergantung pada data pribadi yang terkait dan konteks spesifik tempat kami mengumpulkannya.\r\n

    \r\n

    \r\n Jika kami meminta Anda untuk memberikan data pribadi untuk mematuhi persyaratan hukum atau untuk melakukan kontrak dengan Anda atau dengan persetujuan eksplisit Anda, kami dapat memberikan rinciannya kepada Anda berdasarkan permintaan. Kami akan memberi tahu Anda pada saat penyediaan data pribadi Anda diwajibkan atau tidak (serta konsekuensi yang mungkin terjadi jika Anda tidak memberikan data pribadi Anda).\r\n

    \r\n

    \r\n Jika kami mengumpulkan dan menggunakan data pribadi Anda dengan mengandalkan kepentingan sah kami (atau kepentingan pihak ketiga mana pun), Anda dapat meminta agar kami memberikan informasi kepada Anda tentang kepentingan sah tersebut dengan menghubungi kami menggunakan perincian di 'Bagaimana saya berhubungan dengan Anda?' di bawah.\r\n

    \r\n

    \r\n Dengan siapa kami akan membagikan data ini, di mana dan kapan?\r\n

    \r\n\r\n

    \r\n Data juga akan dibagikan dengan penyedia layanan pihak ketiga, yang akan memprosesnya atas nama LFC untuk tujuan yang disebutkan di atas. Pihak ketiga tersebut termasuk penyedia platform media sosial dan mesin pencari, penyedia layanan klub seperti hosting situs web, pengembang aplikasi, penyedia perangkat lunak, penyedia pemeliharaan, penyedia pembayaran, penyedia verifikasi identitas, perusahaan streaming video, perusahaan surat dan layanan pemasaran,\r\n

    \r\n

    \r\n Data pribadi dapat dibagikan dengan otoritas pemerintah dan/atau pejabat penegak hukum jika diperlukan untuk tujuan di atas, jika diamanatkan oleh hukum atau jika diperlukan untuk perlindungan hukum dari kepentingan sah kami sesuai dengan hukum yang berlaku.\r\n

    \r\n

    \r\n Kami hanya akan membagikan data Anda dengan pihak ketiga apabila mereka secara langsung memasarkan kepada Anda di mana Anda telah menyetujui untuk berbagi data tersebut (misalnya, saat memasuki kompetisi tertentu di mana kami telah bermitra dengan pihak ketiga tersebut).\r\n

    \r\n

    \r\n Kami mungkin perlu menyimpan atau mentransfer informasi pribadi Anda ke negara-negara di luar Wilayah European Econimic Area (EEA), beberapa di antaranya tidak melindungi hak privasi seluas di Inggris. Namun, kami telah melakukan pengamanan yang sesuai untuk mewajibkan informasi pribadi Anda tetap terlindungi sesuai dengan Pemberitahuan Privasi ini. Rincian lebih lanjut dari pengamanan ini dapat diberikan untuk tinjauan Anda atas permintaan dengan mengontrak Petugas Perlindungan Data kami menggunakan informasi kontak yang ditetapkan di bawah judul 'Bagaimana saya menghubungi Anda atau petugas perlindungan data?' di bawah.\r\n

    \r\n

    \r\n Jika bisnis terjual atau diintegrasikan dengan bisnis lain, detail Anda akan diungkapkan kepada penasihat kami dan penasihat calon pembeli dan akan diteruskan ke pemilik baru bisnis tersebut.\r\n

    \r\n

    \r\n Hak apa yang saya miliki?\r\n

    \r\n

    \r\n Anda berhak meminta salinan data pribadi Anda kepada kami; untuk mengoreksi, menghapus atau membatasi (menghentikan keaktifan) pemrosesan data pribadi Anda; dan untuk mendapatkan data pribadi yang Anda berikan kepada kami untuk kontrak atau dengan persetujuan Anda dalam format terstruktur yang dapat dibaca mesin.\r\n

    \r\n

    \r\n Selain itu, Anda dapat menolak pemrosesan data pribadi Anda dalam beberapa keadaan (khususnya, saat kami tidak perlu memproses data untuk memenuhi persyaratan kontrak atau persyaratan hukum lainnya, atau saat kami menggunakan data tersebut untuk pemasaran langsung).\r\n

    \r\n

    \r\n Di mana pun kami mengutamakan persetujuan Anda, Anda akan selalu dapat menarik persetujuan itu, meskipun kami mungkin memiliki dasar hukum lain untuk memproses data Anda untuk tujuan lain, seperti yang disebutkan di atas. Dalam beberapa kasus, kami dapat mengirimi Anda pemasaran langsung tanpa persetujuan Anda, di mana kami mengandalkan kepentingan sah kami. Anda memiliki hak mutlak untuk memilih keluar dari pemasaran langsung, atau pembuatan profil yang kami lakukan untuk pemasaran langsung, kapan saja. Anda dapat melakukan ini dengan mengikuti petunjuk dalam komunikasi di mana ini adalah pesan elektronik, atau dengan menghubungi kami menggunakan rincian yang ditetapkan di bawah ini:\r\n

    \r\n

    \r\n Hak-hak ini mungkin terbatas, misalnya jika memenuhi permintaan Anda akan mengungkapkan data pribadi tentang orang lain, atau jika Anda meminta kami untuk menghapus informasi yang menurut undang-undang harus kami simpan atau memiliki kepentingan yang sah untuk disimpan.\r\n

    \r\n

    \r\n Untuk menggunakan salah satu dari hak-hak ini, Anda dapat menghubungi kami atau petugas perlindungan data kami menggunakan rincian yang ditetapkan di bawah ini. Jika Anda memiliki masalah yang belum terselesaikan, Anda berhak untuk mengajukan keluhan kepada otoritas perlindungan data EU tempat Anda tinggal, bekerja, atau pada tempat dimana telah terjadi pelanggaran. Ini kemungkinan besar adalah Kantor Komisaris Informasi di Inggris.\r\n

    \r\n

    \r\n Bagaimana cara saya menghubungi Anda atau petugas perlindungan data Anda?\r\n

    \r\n

    \r\n Kami berharap bahwa kami dapat memenuhi pertanyaan yang mungkin Anda miliki tentang cara kami memproses data Anda. Anda dapat menghubungi Petugas Perlindungan Data LFC jika Anda memiliki kekhawatiran atau pertanyaan tentang bagaimana kami memproses data Anda di DPO@liverpoolfc.com atau dengan menulis ke alamat berikut:\r\n

    \r\n

    \r\n
    FAO: Petugas Perlindungan Data\r\n
    The Liverpool Football Club and Athletic Grounds Limited\r\n
    Lantai 10\r\n
    Jalan Kapel 20\r\n
    Liverpool\r\n
    L3 9AG\r\n

    \r\n

    \r\n Bagaimana cara keluar dari pemasaran langsung?\r\n

    \r\n

    \r\n Ada beberapa cara untuk menghentikan komunikasi pemasaran langsung dari kami:\r\n

    \r\n

    \r\n klik tautan 'berhenti berlangganan' di setiap komunikasi pemasaran email yang kami kirimkan kepada Anda dan buat perubahan di pusat preferensi kami jika Anda memiliki pendaftaran akun di situs web kami atau salah satu area produk atau layanan kami, masuk ke 'LFC Saya' atau Bagian 'Akun Saya' dan memperbarui atau mengubah preferensi Anda; atau hubungi tim Pengalaman Penggemar kami melalui halaman Hubungi Kami. Harap dicatat bahwa Anda dapat terus menerima komunikasi untuk waktu yang singkat setelah mengubah preferensi Anda sementara semua sistem kami diperbarui sepenuhnya.\r\n

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

    \r\n Entitas Liverpool apa yang menjadi pengontrol data saya, dan dengan afiliasi apa data saya dapat dibagikan?\r\n

    \r\n

    \r\n Pengontrol data untuk informasi Anda adalah The Liverpool Football Club & Athletic Grounds Limited, kecuali jika Anda telah menyetujui kami membagikan data Anda dengan mitra pihak ketiga untuk tujuan pemasaran langsung di mana pengontrol datanya akan menjadi mitra pihak ketiga tersebut.\r\n

    \r\n

    \r\n Berapa lama Anda akan menyimpan data saya?\r\n

    \r\n

    \r\n Kami menyimpan informasi pribadi yang kami kumpulkan dari Anda di mana kami memiliki kebutuhan bisnis sah yang sedang berlangsung untuk melakukannya (misalnya, untuk memberi Anda layanan yang Anda minta atau untuk mematuhi persyaratan hukum, pajak, atau akuntansi yang berlaku).\r\n

    \r\n

    \r\n Ketika kami tidak memiliki kebutuhan bisnis yang sah untuk memproses informasi pribadi Anda, kami akan menghapus atau menganonimkannya atau, jika ini tidak memungkinkan (misalnya, karena informasi pribadi Anda telah disimpan dalam arsip cadangan), maka kami akan menyimpan data Anda dengan aman dan mengisolasinya dari pemrosesan lebih lanjut hingga penghapusan data dapat dilakukan.\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 === \"id-id\") {\r\n return (\r\n
    \r\n

    \r\n SYARAT DAN KETENTUAN AKSES Situs LFC Kop Run\r\n

    \r\n

    \r\n Ini adalah syarat dan ketentuan (\"Ketentuan\") untuk akses ke Situs LFC Kop Run (\"Kop Run Site\") sebagai bagian dari partisipasi Anda dalam Acara LFC Kop Run (\"LFC Kop Run\"). Situs Kop Run tersedia untuk Anda, peserta (\"Anda\") atas dasar bahwa Anda telah membayar Biaya kepada promotor kami, Personal Best Indonesia (\"Promotor\") dan telah menerima kode untuk mengakses Situs Kop Run (\"Kode Akses\"), dan menerima persyaratan kontrak ini. Ini adalah perjanjian hukum yang menetapkan hak dan kewajiban Anda dan The Liverpool Football Club dan Athletic Grounds Limited termasuk agen dan perusahaan grupnya (\"kami\", \"kita\"). Dengan mendaftar untuk mendapatkan akses ke Situs Kop Run maka pihak yang bersangkutan setuju untuk terikat oleh Ketentuan ini dan Ketentuan Umum (didefinisikan di bawah).\r\n

    \r\n

    \r\n Apabila Ketentuan ini bertentangan dengan Syarat dan Ketentuan umum penggunaan Situs Web Liverpool FC (\"Ketentuan Umum\") maka urutan prioritasnya adalah: (i) Ketentuan ini; lalu (ii) Ketentuan Umum.\r\n

    \r\n\r\n

    \r\n Situs Kop Run\r\n

    \r\n

    \r\n Kami memberi Anda akses ke Situs Kop Run. Sebagai bagian dari Situs Kop Run, kami akan menyediakan akses ke media lain dan kekayaan intelektual yang terkait dengan Klub Sepak Bola Liverpool. Semua desain, teks, grafik, footage, dan pemilihan atau pengaturannya adalah hak cipta kami atau pemegang lisensi kami masing-masing. Kami, dapat dari waktu ke waktu, mengubah atau menghentikan Situs Kop Run tanpa memberi tahu Anda, dan dalam keadaan apa pun Anda tidak diizinkan untuk menyalin, mereproduksi, merekam, memodifikasi, mengirimkan ke situs web lain, menghapus pemberitahuan merek dagang atau hak cipta dari, atau mengeksploitasi secara komersial, konten atau materi apa pun yang disediakan sebagai bagian dari Situs Kop Run. Selanjutnya, kami berhak menolak untuk menerima aplikasi Anda dengan alasan apa pun, termasuk namun tidak terbatas pada keyakinan apa pun bahwa Anda tidak bertindak sesuai dengan Ketentuan ini.\r\n

    \r\n

    \r\n Kami dapat mengubah cara kami memberikan akses ke Situs Kop Run dan akan menggunakan upaya yang wajar untuk tidak membuat perubahan yang secara material mempengaruhi Anda selama jangka waktu berlangganan Anda, kecuali jika itu terjadi di luar jangkauan kami untuk alasan kontrol yang wajar (misalnya tetapi tidak terbatas pada alasan hukum atau peraturan).

    \r\n Konten LFC (sebagaimana didefinisikan dalam nomor 6, Bagian A dari Syarat dan Ketentuan ini), yang termasuk namun tidak terbatas pada semua konten di Situs Kop Run dan/atau konten lain yang disediakan sebagai bagian dari LFC Kop Run yang dimiliki oleh atau dilisensikan kepada kami dan semua hak dalam, dan yang disebutkan di atas, dilindungi oleh kami.\r\n

    \r\n\r\n

    \r\n Anda mengakses dan menggunakan Situs Kop Run\r\n

    \r\n

    \r\n Situs Kop Run hanya akan digunakan oleh satu individu per nama pengguna - namun untuk menghindari keraguan, di mana peserta berusia di bawah delapan belas (18) tahun dan orang tua atau wali diharuskan untuk mendaftar dan/atau membayar atas nama dari peserta, aktivitas tersebut tidak akan menyebabkan pelanggaran klausul ini. Untuk menggunakan Situs Kop Run atau mengakses konten, Anda harus (a) memperoleh akses ke World Wide Web dan membayar biaya layanan apa pun yang terkait dengan akses tersebut; (b) menyediakan semua peralatan yang diperlukan untuk membuat sambungan tersebut ke World Wide Web, termasuk komputer dan modem atau perangkat akses lain yang diperlukan (c) menggunakan browser modern yang mendukung video HTML 5 (misalnya, Chrome, Safari, Firefox); dan (d) mendaftar LFC Kop Run melalui Promotor kami menggunakan URL https://www.runlah.com/events/kopvr20. Penggunaan Anda atas perangkat lunak apa pun yang berlaku tunduk pada persyaratan lisensi yang diberikan kepada Anda oleh pemberi lisensi. Kami tidak menyediakan dan tidak bertanggung jawab atas perangkat lunak apa pun, atau untuk masalah apa pun yang disebabkan oleh perangkat lunak, perangkat keras komputer, atau sistem operasi komputer.\r\n

    \r\n

    \r\n Hak Anda untuk menggunakan Situs Kop Run bersifat pribadi bagi Anda. Anda sepenuhnya bertanggung jawab atas penggunaan Situs Kop Run dan setuju bahwa Anda tidak boleh mentransfer, atau mengizinkan akses ke, Situs Kop Run melalui akun Anda tanpa persetujuan tertulis sebelumnya dari LFC. Anda setuju untuk menggunakan Situs Kop Run dengan cara yang sesuai dengan setiap dan semua hukum dan peraturan yang berlaku di negara tempat Anda mengakses Situs Kop Run.\r\n

    \r\n

    \r\n Anda tidak boleh (atau memberi akses atau mengizinkan pihak lain untuk):\r\n
    • menyalahgunakan Situs Kop Run atau menggunakannya untuk tujuan yang melanggar hukum;\r\n
    • menyebarkan virus komputer atau kontaminan yang mengganggu atau berbahaya melalui Situs Kop Run;\r\n
    • menggunakan Situs Kop Run dengan cara yang dapat menyebabkannya dan/atau peralatan apa pun yang kami gunakan untuk menyediakan Situs Kop Run (bersama-sama disebut \"Sistem\") terputus, rusak, menjadi kurang efisien atau terganggu;\r\n
    • menyimpan sandi Anda di mana saja di komputer dalam teks biasa;\r\n
    • menggunakan Situs Kop Run dengan cara apa pun yang melanggar atau menyalahi hak orang, perusahaan atau firma (termasuk namun tidak terbatas pada hak kekayaan intelektual, kerahasiaan atau privasi);\r\n
    • mereproduksi, memodifikasi, mendistribusikan, mengubah, membongkar, mendekompilasi, merekayasa balik, mengunduh atau menerbitkan konten apa pun dari Situs Kop Run tanpa izin tertulis sebelumnya dari kami meskipun Anda dapat menyalin dan mencetak secara elektronik dalam bagian hard copy dari Situs Kop Run untuk penggunaan pribadi Anda saja dan bukan untuk keuntungan komersial apa pun;\r\n
    • menjual, mengalihkan, mentransfer atau mendelegasikan semua atau sebagian dari hak dan kewajiban Anda kepada orang atau entitas lain, atau berbagi penggunaan Situs Kop Run atau konten apa pun yang terkandung di dalamnya.\r\n

    \r\n

    \r\n Untuk menghindari keraguan, Anda sepenuhnya bertanggung jawab untuk memastikan bahwa Anda mampu secara medis, dan memiliki tingkat keterampilan yang diperlukan, untuk melakukan salah satu atau semua latihan, keterampilan, atau aktivitas fisik lainnya yang ditunjukkan dalam video dan/atau konten lain yang disediakan sebagai bagian dari Situs Kop Run, dan LFC tidak akan bertanggung jawab dengan cara apa pun atas cedera apa pun yang Anda derita akibat latihan, keterampilan, atau aktivitas fisik lainnya tersebut.\r\n

    \r\n

    \r\n Registrasi\r\n

    \r\n

    \r\n Akses Anda ke Situs Kop Run adalah untuk jangka waktu yang diberitahukan kepada Anda atau dipilih oleh Anda ketika Anda mendaftar untuk mendapatkan akses ke Situs Kop Run (\"Periode Layanan\").\r\n

    \r\n

    \r\n Anda menjamin bahwa informasi yang Anda berikan saat mendaftar adalah benar, akurat, dan lengkap dalam segala hal dan Anda setuju untuk segera memberi tahu kami jika ada perubahan dengan mengubah detail Anda menggunakan fungsi situs 'Akun Saya'. Jika Anda berusia di bawah delapan belas (18) tahun, Anda menjamin bahwa Anda telah memperoleh persetujuan orang tua/wali yang sesuai untuk mendaftar ke LFC Kop Run dan mendaftar ke Situs Kop Run, dan LFC dapat melakukan upaya yang wajar untuk memverifikasi apakah persetujuan tersebut telah diperoleh.\r\n

    \r\n

    \r\n Saat mendaftar ke Situs Kop Run Anda akan diminta untuk memasukkan nama pengguna (Anda harus memastikan bahwa nama pengguna yang Anda pilih tidak merujuk ke pengidentifikasian nama Anda secara pribadi) dan kata sandi. Anda harus menjaga keamanan kata sandi dan tidak menunjukkannya kepada orang lain. Jika diketahui oleh pihak ketiga, Anda harus segera mengubah kata sandi Anda menggunakan fungsi situs 'Akun Saya' dan memberi tahu Situs Kop Run. Kami tidak bertanggung jawab atas kerugian atau kerusakan yang timbul dari kegagalan Anda dalam mematuhi kewajiban ini.\r\n

    \r\n

    \r\n Situs Kop Run, dalam beberapa hal, dapat berintegrasi dengan layanan atau platform pihak ketiga, seperti Google ID, Facebook dan/atau Twitter. Anda diizinkan untuk mengakses Situs Kop Run (atau fungsi bersama lainnya) melalui pendaftaran Anda dengan layanan pihak ketiga tersebut. Layanan atau platform pihak ketiga ini umumnya mengharuskan Anda untuk memiliki akun dan/atau pendaftaran terpisah dengan platform pihak ketiga dan ketentuan yang digunakan platform tersebut untuk terlibat dengan Anda dan berbagi informasi atau data dengan kami akan bervariasi antara layanan dan platform. Oleh karenanya, kami menyarankan agar Anda memahami syarat dan ketentuan pihak tersebut sebelum Anda mengasosiasikan aktivitas Anda di Situs Kop Run dengan layanan atau platform tersebut.\r\n

    \r\n

    \r\n Keterangan lebih lanjut, Situs Kop Run akan terintegrasi dengan aplikasi Google Fit di perangkat Anda. Di mana Anda telah mendaftar untuk Situs Kop Run, Anda akan diminta pada aplikasi Google Fit Anda untuk memberikan akses Situs Kop Run ke data pengguna dan data aktivitas fisik yang diunggah ke aplikasi Google Fit Anda. Data tersebut akan dibagikan dan diunggah ke Situs LFC Kop Run, dan kemudian akan digunakan untuk menghitung dan mengatribusikan poin untuk menyusun peringkat dan menentukan kelayakan hadiah selama Periode Layanan.\r\n

    \r\n\r\n

    \r\n Pembayaran\r\n

    \r\n

    \r\n Anda harus membayar biaya partisipasi (\"Biaya\") yang berlaku untuk Promotor kami, sesuai dengan rencana biaya yang diberitahukan kepada Anda pada saat pendaftaran dengan pemilih. Kecuali jika dinyatakan lain, biaya tidak termasuk PPN dan pajak lainnya yang berlaku dari waktu ke waktu, yang menjadi tanggung jawab Anda untuk pembayarannya. Hanya setelah Promotor melakukan konfirmasi penerimaan Biaya, maka Promotor akan memberikan Kode Akses kepada Anda, yang kemudian dapat digunakan untuk mendaftar di Situs Kop Run.\r\n

    \r\n

    \r\n Silakan lihat syarat dan ketentuan pendaftaran Promotor untuk detail mengenai opsi pembayaran, pembatalan dan pengembalian uang.\r\n

    \r\n

    \r\n Penolakan jaminan\r\n

    \r\n

    \r\n Kami menyediakan Situs Kop Run atas dasar \"sebagaimana adanya\" dan tidak membuat pernyataan atau jaminan apa pun sehubungan dengan Situs Kop Run atau konten di dalamnya selain yang diwajibkan oleh hukum. Sejauh diizinkan oleh hukum yang berlaku, kami tidak menyatakan atau menjamin bahwa akses ke Situs Kop Run tidak akan terganggu atau bahwa tidak akan ada kegagalan, kesalahan atau kelalaian atau kehilangan informasi yang dikirimkan, atau bahwa tidak ada virus yang tertransmisi di Situs Kop Run. Kami tidak menjamin bahwa Anda akan dapat mengakses atau menggunakan Situs Kop Run pada waktu atau lokasi yang Anda pilih, atau bahwa kami akan memiliki kapasitas yang memadai untuk Situs Kop Run secara keseluruhan atau pada wilayah geografis tertentu.\r\n

    \r\n

    \r\n Batasan tanggung jawab\r\n

    \r\n

    \r\n Sejauh diizinkan oleh undang-undang yang berlaku, baik kami maupun direktur, karyawan, atau perwakilan kami lainnya tidak akan bertanggung jawab atas segala kerusakan (baik kerusakan langsung, tidak langsung, khusus, konsekuensial, atau hukuman), dalam kontrak, kesalahan atau sebaliknya termasuk kelalaian, atau setiap kerugian atau pendapatan, keuntungan, niat baik, data, kontrak, yang timbul dari atau sehubungan dengan penggunaan (atau gangguan bisnis atau virus yang diduga telah diperoleh dari) Situs Kop Run (atau materi apa pun yang terkandung di dalamnya ). Anda mengonfirmasi bahwa kami tidak akan bertanggung jawab kepada Anda atau pihak ketiga mana pun atas modifikasi, penangguhan, atau penghentian Situs Kop Run. Ini adalah batasan tanggung jawab komprehensif yang berlaku untuk semua kerusakan dalam bentuk apa pun, termasuk (tanpa batasan) kompensasi, kerusakan langsung, tidak langsung atau konsekuensial, kehilangan data, pendapatan atau keuntungan, kerugian atau kerusakan properti dan klaim pihak ketiga. Kami tidak membatasi atau mengecualikan tanggung jawab kami atas kematian atau cedera pribadi akibat kelalaian kami atau tanggung jawab lain yang mungkin tidak dikecualikan atau dibatasi secara hukum.\r\n

    \r\n

    \r\n Penangguhan dan Penghentian\r\n

    \r\n

    \r\n Kami dapat menangguhkan atau menutup Situs Kop Run atau akses Anda ke Situs Kop Run secara mendadak dan kapan pun atas kebijakan mutlak kami jika:\r\n
    (a) penggunaan Anda atas Situs Kop Run dianggap menghina, berlebihan, atau bertentangan dengan kepentingan peserta lain\r\n
    (b) penggunaan Anda atas Situs Kop Run dianggap melanggar Ketentuan ini dan/atau Ketentuan Umum; atau\r\n
    (c) otoritas regulasi yang kompeten mengharuskan Kop Run Site ditutup; atau\r\n
    (d) biaya apa pun (atau bagian dari Biaya apa pun) tetap terutang selama lebih dari tujuh hari sejak tanggal jatuh tempo (selain karena kesalahan kami atau penyedia pembayaran pihak ketiga kami.\r\n

    \r\n

    \r\n Kami juga dapat menangguhkan atau menutup Situs Kop Run atau akses Anda ke Situs Kop Run secara mendadak dan kapan pun atas kebijakan mutlak kami (dengan memberi Anda pemberitahuan dalam keadaan tersebut) jika alasan teknis atau operasional di luar kendali kami.\r\n

    \r\n

    \r\n Pemeliharaan\r\n

    \r\n

    \r\n Dari waktu ke waktu, Situs Kop Run dapat ditutup dan akses Anda ke situs tersebut ditangguhkan sehubungan dengan pemeliharaan yang akan dilakukan berkaitan dengan peningkatan atau pemeliharaan Sistem sebagaimana yang diperlukan untuk keberlangsungan Situs Kop Run. Kami akan memberikan pemberitahuan sebanyak mungkin sesuai keadaan dan akan berusaha untuk memastikan bahwa pekerjaan tersebut dilakukan secepat mungkin dalam keadaan tersebut.\r\n

    \r\n\r\n

    \r\n Ganti rugi\r\n

    \r\n

    \r\n Anda setuju untuk sepenuhnya mengganti kerugian kami segera atas permintaan terhadap semua klaim, kewajiban, kerusakan, biaya dan pengeluaran, termasuk biaya hukum, yang timbul dari:\r\n

    \r\n

    \r\n
    (a) setiap pelanggaran Ketentuan ini oleh Anda (atau pengguna lain yang mengakses Situs Kop Run menggunakan nama pengguna Anda);\r\n
    (b) pernyataan yang keliru, tindakan atau kelalaian yang Anda buat sehubungan dengan penggunaan Anda atas Situs Kop Run; atau\r\n
    (c) klaim yang diajukan oleh pihak ketiga yang timbul dari atau terkait dengan akses atau penggunaan Anda atas Situs Kop Run,\r\n

    \r\n

    \r\n atau kewajiban lainnya yang timbul dari penggunaan Anda atau mereka atas Situs Kop Run dan/atau Sistem. Anda harus memberi tahu kami tentang klaim tersebut, kewenangan penuh untuk membela, berkompromi atau menyelesaikan klaim tersebut dan bantuan wajar yang diperlukan untuk mempertahankan klaim tersebut, atas biaya Anda sendiri.\r\n

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

    \r\n Pajak\r\n

    \r\n

    \r\n Anda mungkin akan dikenakan pajak atas pendaftaran Anda, yang dikenakan sehubungan dengan Situs Kop Run. Bea masuk dan pajak ini ditambah biaya administrasi tambahan untuk bea cukai harus ditanggung oleh Anda; kami tidak memiliki kendali atas tagihan ini dan tidak dapat memprediksi berapa jumlahnya. Kebijakan bea cukai dan perpajakan sangat bervariasi dari satu negara ke negara lain; Anda harus menghubungi kantor bea cukai atau pajak setempat untuk informasi lebih lanjut.\r\n

    \r\n

    \r\n Umum\r\n

    \r\n

    \r\n Pemberitahuan apa pun yang kami kirim akan dikirim ke alamat email yang Anda berikan selama proses pendaftaran. Pemberitahuan apa pun yang Anda kirimkan kepada kami harus dikirim melalui bagian Hubungi Kami.\r\n

    \r\n

    \r\n Pemberitahuan akan dianggap telah dikirimkan pada waktu dan tanggal pengiriman email, yang waktu dan tanggalnya ditentukan dalam email. Jika kami gagal menjalankan atau menegakkan hak yang kami miliki berdasarkan Ketentuan ini, kegagalan tersebut tidak akan dianggap sebagai pengabaian hak dan ini tidak akan menghalangi kami untuk menjalankan atau menegakkan hak tersebut di lain waktu. Jika ada bagian dari Ketentuan ini terbukti melanggar hukum atau tidak dapat dilaksanakan, bagian tersebut akan dianggap terhapus, dan tidak ada yang mempengaruhi validitas dari syarat dan ketentuan lainnya yang akan terus berlaku terhadap Anda. Kami tidak akan bertanggung jawab kepada Anda atas pelanggaran Persyaratan ini oleh kami atas sebab apa pun di luar kendali kami.\r\n

    \r\n

    \r\n Kami berhak untuk mengubah dan/atau memperbarui Ketentuan ini dari waktu ke waktu tanpa memberi tahu Anda. Ketentuan yang Diperbarui akan diposting di beranda Situs Web Liverpool FC dan dapat dilihat oleh Anda kapan saja. Kami menyarankan Anda untuk memeriksa Situs Web Liverpool FC secara teratur untuk memastikan bahwa Anda mengetahui adanya perubahan. Perubahan Persyaratan akan dianggap telah diterima oleh Anda jika Anda terus menggunakan Layanan setelah jangka waktu satu minggu sejak tanggal Persyaratan yang diperbarui diposting dengan cara yang ditetapkan di atas. Kami dapat memasang atau mengalihkan semua atau sebagian dari hak dan kewajiban kami berdasarkan Ketentuan ini ke perusahaan grup atau pihak ketiga lainnya. Dalam hal penugasan atau transfer, pemberitahuan akan diberikan kepada Anda melalui email atau postingan di Website Liverpool FC. Anda tidak boleh mengalihkan atau mentransfer semua atau sebagian dari hak dan kewajiban Anda berdasarkan Ketentuan ini kepada orang lain atau pihak ketiga mana pun. Ketentuan ini, bersama dengan Ketentuan Umum, merupakan keseluruhan perjanjian antara kami dan Anda sehubungan dengan pokok bahasan ini dan tidak termasuk pernyataan atau jaminan apa pun yang sebelumnya diberikan atau dibuat selain dari kesalahan penyajian yang curang dan dapat diubah hanya oleh kami dengan sepengetahuan Anda.\r\n

    \r\n

    \r\n Syarat ini dan akses Anda ke dan penggunaan Situs Liverpool FC dan Situs Kop Run tunduk pada hukum Inggris dan Wales dan Anda tunduk pada yurisdiksi eksklusif pengadilan Inggris dan Wales. Jika Anda ingin memberikan saran atau keluhan tentang masalah apa pun sehubungan dengan Situs ini, silakan hubungi kami melalui bagian Hubungi Kami.\r\n

    \r\n

    \r\n Untuk mengakses Situs Kop Run Anda akan diminta untuk mendaftar dan memberikan informasi pribadi tertentu. Silakan merujuk ke Kebijakan Privasi kami yang menjelaskan tentang bagaimana informasi tersebut dapat dikumpulkan dan digunakan.\r\n

    \r\n

    \r\n PENERIMAAN SYARAT DAN KETENTUAN\r\n

    \r\n

    \r\n Dengan ini Anda mengakui bahwa Anda telah membaca dan setuju untuk terikat oleh Syarat di atas guna akses ke Situs Kop Run serta Syarat dan Ketentuan Umum.\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, Personal Best Indonesia (“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(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 10,\n cy: 10,\n r: 10,\n transform: \"translate(-5661.868 15344.5)\",\n fill: \"none\",\n stroke: \"#fff\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n})));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Indonisia\",\n transform: \"translate(5661.868 -15344.5)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Mask_Group_10\",\n \"data-name\": \"Mask Group 10\",\n clipPath: \"url(#clip-path)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_722\",\n \"data-name\": \"Group 722\",\n transform: \"translate(-5734.368 15216.167)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_7073\",\n \"data-name\": \"Rectangle 7073\",\n width: 29.999,\n height: 10.999,\n transform: \"translate(67.5 128.333)\",\n fill: \"#de2910\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_7074\",\n \"data-name\": \"Rectangle 7074\",\n width: 29.999,\n height: 9.999,\n transform: \"translate(67.5 138.333)\",\n fill: \"#f7f7f7\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Oval-2\",\n \"data-name\": \"Oval\",\n transform: \"translate(-5661.868 15344.5)\",\n fill: \"none\",\n stroke: \"#fff\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10,\n cy: 10,\n r: 10,\n stroke: \"none\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10,\n cy: 10,\n r: 9,\n fill: \"none\"\n})));\n\nfunction SvgIndonesia(_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: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\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(SvgIndonesia);\nexport default __webpack_public_path__ + \"static/media/Indonesia.cf8cea3d.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 IDFlag } from \"../images/Indonesia.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-id\") } onKeyDown={ e => flagEnter(e, \"en-id\")} {...flagProps} />\r\n let altFlag = flagClick(\"id-id\")} onKeyDown={ e => flagEnter(e, \"id-id\")} {...flagProps} style={{margin: \"0\"}}/>\r\n let screenReaderText = {\r\n active: \"English\",\r\n inactive: \"Indonesian\",\r\n }\r\n\r\n if( lang.toLowerCase() === \"id-id\"){\r\n altFlag = flag;\r\n flag = flagClick(\"id-id\")} onKeyDown={ e => flagEnter(e, \"id-id\")} {...flagProps} style={{margin: \"0\"}} />\r\n screenReaderText = {\r\n inactive: \"English\",\r\n active: \"Indonesian\",\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 __webpack_public_path__ + \"static/media/axa_mandiri.1329a4b6.png\";","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 axaID from \"../images/axa_mandiri.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/indonesia/exchange_token/`;\r\n const redirectURLProd = `https://koprun.liverpoolfc.com/indonesia/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, useLocation } 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\nimport { useEffect } from \"react\";\r\n\r\nexport default function Routes() {\r\n const { isAuthenticated } = useAppContext();\r\n\r\n // for GA tracking...\r\n const location = useLocation();\r\n useEffect(() => {\r\n let dataLayer = window.dataLayer || [];\r\n // console.log(dataLayer);\r\n // console.log(location.pathname)\r\n dataLayer.push({\r\n 'event': 'KopRunIdPV',\r\n 'pagePath': '/indonesia' + location.pathname\r\n })\r\n }, [location])\r\n\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\";","export default __webpack_public_path__ + \"static/media/axamandaranew.2cb00815.png\";","import \"./Footer.css\";\r\nimport krungthai from \"../images/axakrungfooter.png\";\r\nimport axaID from \"../images/axamandaranew.png\";\r\nimport mg from \"../images/mgnew.png\";\r\nimport nhFood from \"../images/nhfoodsnew.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 return (\r\n
    \r\n
    \r\n
    \r\n \"Partnered\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 2021, All Rights Reserved

    \r\n
    \r\n );\r\n}\r\n\r\nexport default Footer;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAoKADAAQAAAABAAAAeAAAAAA9oQ8rAAALI0lEQVR4Ae2dTZLbyBGF1Q7vTZ9geAPRJxD6BKJPIHjthXpO0JgTiHOACUEnEHWChjbeeCH2xtumTiBOhBfeyd+jqjhgEQTAJgHiJzMiWVWZWVmFl6/xw4ZaL16YGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAITBUBG6GemBVx/X9+/cJMQ/orCq2Yf+G/Lc3NzerhtfpZPpRErBD5POkGC0JR0fADpIvT8K/cSZce8MY2j+N4SD9MXaYfNriBP3o9ui3PPh2NGfAjpMvTzTdC+qeUJflwcsoCNgj8nnCjYaEgyfgCeR7pPptnXUmrPXSs+1IOxoSHjn+/ptFPvQLWiVp20fLhtKqTeHX3kVWk74hoMK5AtKUSnqtY2NXRsJrgd/kuhS28+Tzxz92Eg7uHlDko7h1fsPxgSfN2BMhbF2esvu0x/BJlTlT8vwU5sqNf2eO7u32RCTE8GbPeDiwe8JDTLplEWnQi9zzkWeBlkkUHj3BSdkE54vDeRrjs8txETB9sVHAi5HPEeJbBZmiEBvi6xBQaeNwrsbYjYRFwHTdRuEuTb65WFIhUYgL8XUJqNRxOF9j7EbCImC6aqNgFyWfI8FSDKmQKMSE+FMIqPRxmENj7EbCImC6ZqNQTZBPOetIFOLBpFMJqHXiMI/G2I2ERcB0xUaBLk4+V/g7saKGRCEWzHkOAbVUHObSGLuRsAiYa9soTCPkc0Wv8xQt0kQhDtieS0Dli8N8GmM3EhYBcy0bBWmSfFMxoaZEIQbMO4eAWjYOc2qM3UhYBEzbNgrRGPlcoRdiQU2JwuNnXhkBNzXzxmFejZlrJCwCpi0bBTiLfMyP0aRsv/if0LoShbmYWEbADL/2UEfiMLfGTExrTLYXGIrAO9cG8HXuzdKidZjrC68vlwvfLsE+R0+RKFyLyUlJgkzx+P1eSkK3rljxoeBJqyYqJpxn4zMReC7ozAsLnhRtRUWrsUY+JArz4EzyAUE/8/HYwz0Fobth7OfkW7xVe83y8da/AAK7khR30qIlCH1XEH5wFiRGl/dTJQrXJEEtAmoesYuaCx6s4+aXkTBTTB9kCP8o6VPRWy0U9z0FuCsogi7BoX1eENeoiT1rDx9qLPKRY5mFce6Y9RZ3r2UIBFyFFXDki0N7bvyWmEl+nOu31nUkqiKh9vlQRELsm9Y229BCQyDgHjQU6g5DvGc8HKioitOlcEozU/8aciIJp9fYY5NrDo6AgCVy1RF/FtwSsc6EpmJOIOG0qT1cK+8QCVgXSxF1jr6uO6HJuJokbHILV8k9ZgIKcD2oTNXpgjgSfu7CXtraw9gJWIZz1cNB2dxzfMk5k/s21wh4vGLL4y7zXAqBP18q0cDyfOVyuOQJ+RqHtWbRX44sLN+gZGwE/J3q/aVGBa929oP4a/aX1NjjIELGdgmuS6zFIKrbg4MYGwGTGjX57M5CNUIt5FwERkVAR6xPFaClFX5zXxCBsd0DCjpdXo99+ax7xLqXaeU6S9zvd+vck/p1Dv4ciHf0tR0dATkLZhReX/a+KijaEv+mwN6UST8MRfs4tt4tjuyYs4/2UV2CcwVKc/18V4QwaRGBURKQs1wKxl8DnL9iXwU2GzaMwCgJ6DANz3bhuGHoLb0QGDMBU45fDx1elr5jbXsIjJaA7mEjdVDrtf51e7DbSh6B0T0F+wN3rS67b9HUjdtu7lhwEiwq27GviYLQ/g9HTUCd9fhK5lfa5TVKybqrcF32I0KOhoCjvQT7wkMCnXE6IY58953YTEubGD0BW8K5chlHvgcCZ5XBAwowAnagmGMln6AfIgGXHFf+65UOUKxyC++JqDrzPRKzqszUs4DBEdDd2EfUofMk1JkP/cJe5xW8Efkijm1TEdc79xAI+CZEvQ8kPOGyW0g+5uuM+TI89r6Nh0DAKcXQJWxPukzCC5FPDyyTvYPu4WAIBBTscV9IaOTb/ynpEwE/7W/9YNR5ErZIvvQAHTOch4CKh67QKjm4HGtlJume6SSpWCgKkxGflMzR3r+U+L1LcQeXVmwz9JsPKmnjcF82vhACgD5BVaAqKSThqduoWCQK8xFfRsCKdFu3kS8EtWtjylSXhA+KPWf/W0oc/4jC3ISeQ0AjXwhoV8ciFqqCVYkuec8mYUXySxLQyNdVsh3bl4iFNkrClgho5DtW5K7bmyZhCwQ08nWdZFX7a5KEDRPQyFdV3L74myJhgwQ08vWFXHX32QQJGyKgkS9X1MG8kq83RSBMxLFlaNkv6fWF9AOxt5pDv0z0FxSOSdHcNcFVc+JwXfay3RNzJ8cWc/Z/MDetiDH3NRGgmBNUZ5kqOesrmksdI5ucofYbjksB2oU8FLQXJDTydYEtDe2h6yQ08jVU+C6l7SoJjXx/sOTmj+4weyIhR5ahZQ8mOng9VKzUaUGiGmuM4oFj8ARUoU8gYQ1etBIyCvIJyVEQUAfaIxKOhnyqy6hEJETrfEVD2FUkHlVBxniw0KqrJDTyjYWQHSThaMk3mnvA8IdLJMS2QKehr+Vxar9eaxlxW84QMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUOgUQR6+TKCe5HgDcjohYIN2rn/bJA9/pN9/Y8XDX6j3RN8Uwzav0R7X/3o/vjEP6P32tk+4F+7fmFDfIwjq4ornGzG0xAAbL3P94SGoqLpzWf9jb74tKyXj2YP/0H/FWbW3tBQEh+HYxE49W+G594ftvh8vij02bgBBFyBNrSecCKkirYtAG2GLhtY+qSU7OGAgNi0VxFqpb4S0qaoJHLjJf3Y9SP6G/SbxqFgn8mHSqLQb+MGEABoEexLA6kvmpI9FhFQhJLszmj0J1sLZ25tQOP8Rhgnzj8L7Jr3hIqgkijv70u/T38l32Oa0dFP/r035FvssVQ22qniXHtH+1HjfLyLU7536INrpz6Gsc+huW/RPYL4uJrtxsXtyMR9m7dF8uXGLvTF2nXCdTPs+t+gFs5vTRsIiABohkq+oFF+XcbyZbLJh0q+oUt0oQGyKxr9eGv5/n1Nm6FqEzdfxNRc2TRXba2zL3EHZ0CXU2tI3qH36AMq2e1JcV6wp+jGj9V6G+0ETVBJlI+xfsMIALiA3wh5JPbL0c+kGtNGqOQu508Z7+6p6CuH5kxyMVP1sS3RtfoSxaCSeGso+SDmGAGVQ+t5WbvObo8+LfaZ8yU5W+xsb2lfoe9RicZTH2dtCwgIcHSFSiItSZtJXT+SA4k0ltBPZHD9A/82yH0oDnlA73P6RH+RjyvqE1NIwDCWuAzdoLsfAB/jfGvvo52iZZL4uX1pe/33AfW9F9WYA/YTGqEZemn5SsLPuaTqb3LjZ3fd3l+R4Jfw3g9fgl2+25xP696ieYkZvEF/Rpdor6R3BKQwCxBOgqI8F/S1mzinzVw/3+h/qnzJWns+9jDJBz2nT44Z896jj+RP8jnwRYzv0Z/za7tjzrDvxMVqvMK/3jl60ukdAcFVhXsC+JR2g85RyfJHU/9TBSPPr8zQ/dNPtCs3+6/47ugn6Ed8evDw+SP6Ogsm6LOEfDET36F6ip2jO8E3ZfDRGV4zfu2d7Ck8+3lXb9s+EjAG7QT9OyrSiAy3FMeTx7eYtwSVf6OBkzWtbFsR0Siy/HOnIsVCTnxLfFoncSrf0ilNqfwb73+PRKyxP6Jz1tDaebljIJ/k5kdT+rnGGx5j6QRzGgKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAItIHA/wFO/dVhjZ6CQwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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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","export default \"data:image/png;base64,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\"","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":""}