{"version":3,"sources":["polyfills.js","serviceWorker.js","components/general/Button.js","components/general/HereMessageTile.js","components/general/ReflectionTile.js","components/general/VideoTile.js","components/general/Map.js","components/general/DefaultVideo.js","components/general/Navigation.js","components/general/NavTabs.js","components/general/CallToActionTile.js","components/general/BasicForm.js","components/general/ModalForm.js","components/general/MasonryLayout.js","components/general/Footer.js","components/general/SupportMuster.js","pages/home.js","components/general/FloatingActionButtons.js","pages/reflectionsOfTheFallen.js","pages/muster50thgallery.js","index.js","assets/candle-stick.png","assets/rotate.png","assets/eye.png","assets/live-stream-maroon-marker.png","assets/maroon-muster-marker.png","assets/afsringlogo-maroon.svg","assets/close-btn.png","assets/logo-association.png","assets/inventive-heart.png","assets/candle-stick-light.png","assets/candle-stick-dark.png","assets/french-horn-light.png","assets/french-horn-dark.png","assets/search.png","assets/plus.png"],"names":["String","prototype","padStart","targetLength","padString","this","length","repeat","slice","Boolean","window","location","hostname","match","PrimaryButton","props","children","to","action","size","margin","uppercase","className","Button","onClick","Component","HereMessageTile","heading","subheading","hashTags","onHashTagSelect","Row","Col","xs","md","lg","xl","alt","src","candleStick","style","cursor","ReflectionTile","backgroundImage","messageTo","message","hashtags","messageFrom","containerSize","rotation","postedBy","hashTagItems","split","map","h","replace","hashTag","key","position","zIndex","right","Math","abs","transform","height","width","background","bottom","left","VideoTile","stream","titleParts","title","setCurrentVideo","borderRadius","encode","frameBorder","webkitallowfullscreen","mozallowfullscreen","allowFullScreen","data-ready","e","stopPropagation","isLive","t","MusterMarker","muster","ref","id","infoWindowId","display","name","link","rel","target","href","onStreamingClick","LiveMusterMapMarker","MusterMapPinMaroon","Map","openInfoWindow","state","previousMusterId","infoWindowOpen","document","getElementById","previousMuster","setState","allMusters","mobile","center","lat","lng","zoom","streamingMusters","allmusters","musters","forEach","elem","push","addEventListener","resize","bind","screenSize","innerWidth","user","bootstrapURLKeys","process","defaultCenter","defaultZoom","gestureHandling","mapTypeControl","streetViewControl","streetViewControlOptions","google","maps","ControlPosition","LEFT_CENTER","fullscreenControl","fullscreenControlOptions","LEFT_TOP","zoomControl","zoomControlOptions","LEFT_MIDDLE","scaleControl","scaleControlOptions","BOTTOM_LEFT","index","long","console","log","DefaultVideo","toggleMap","getDefaultVideo","videoSrc","viewers","eye","Navigation","useState","isOpen","setIsOpen","Navbar","color","light","expand","class","ringLogo","NavbarToggler","Collapse","navbar","Nav","NavItem","NavLink","NavTabs","toggle","tab","activeTab","onTabChanged","tabs","flexDirection","containerPadding","containerFlex","classnames","active","icon","iconLight","iconDark","tabName","TabContent","TabPane","tabId","containerClass","CallToActionTile","content","heromode","BasicForm","toggleForm","showForm","handleChange","selectedOption","formInputs","formElement","current","getElementsByTagName","newValue","JSON","stringify","i","input","value","defaultHashTag","populateImage","imageData","URL","createObjectURL","files","rotateImageCounterClockwise","preventDefault","rotateImageClockwise","errors","isSubmitting","React","createRef","registeredUser","newProps","setTimeout","formData","FormData","validationErrors","undefined","performValidation","onSubmitForm","toggleModal","selectOptions","fields","rememberMe","formAction","formMethod","submitBtnText","formClass","hrWidth","hrClass","submitBtn","optionLabel","inputValue","classOf","toString","optionValue","Form","innerRef","onSubmit","submitForm","method","field","FormGroup","inputType","classNamePrefix","placeholder","options","isSearchable","getOptionLabel","getOptionValue","defaultOptions","required","onChange","type","maxWidth","alignItems","justifyContent","border","rotateIcon","backgroundColor","Input","hidden","defaultValue","maxLength","accept","check","Label","ModalFrom","modal","hereFor","get","hereForData","parse","openButtonText","openButtonSize","Modal","ModalBody","darkRedClose","hereNames","ReflectionMasonry","reflections","masonryType","userInfoMessage","imageRotation","hereForMessage","imageUrl","reflection","itemIndex","topItem","Footer","footerClass","inventiveHeart","associationLogo","SupportMuster","Homepage","defaultHereFeedUpdateFrequency","defaultReflectionFeedUpdateFrequency","defaultStreamsUpdateFrequency","minUpdateFrequency","HERE_FEED_TAB","REFLECTIONS_FEED_TAB","HERE_FEED_PAGE_SIZE","DATE_MAX","getHereMessages","messages","messageTiles","CSSTransition","timeout","classNames","onHereForHashTagSelect","tabChanged","activeFeed","stopReflectionsFeedUpdates","startHereFeedUpdates","stopHereFeedUpdates","startReflectionsFeedUpdates","logout","localStorage","removeItem","sessionStorage","registerUser","userLat","userLng","currentVideo","userSelectedVideo","hereFeedUpdateFrequency","reflectionsFeedUpdateFrequency","streamsUpdateFrequency","top10reflections","topReflections","streams","lastMessagesMax","lastReflectionsMax","hereForHashTag","hereForNameFilter","moreHereFor","minHereFor","clearHereForHashTag","getHereFeedUpdates","loadMoreHereFeed","localUser","getItem","sessionUser","navigator","setUserPosition","getStreams","getAttendance","getUiConfig","clearTimeout","hereFeedTimeoutId","uiConfigTimeoutId","hereMessagesTimeoutId","streamsTimeoutId","geolocation","getCurrentPosition","coords","latitude","longitude","userLocation","convertUserLatLng","videoUrl","setItem","Promise","resolve","reject","city","geocoder","latlng","Geocoder","geocode","results","status","address_components","comp","types","long_name","short_name","axios","url","headers","response","uiConfig","data","max","attendance","min","floor","random","formattedAttendance","toLocaleString","substring","Array","isArray","reflectionsFeedTimeoutId","getReflectionFeedUpdates","reflectionsFeedQuery","reflectionsMessagesTimeoutId","addReflections","reflectionsToAdd","firstReflection","shift","some","m","unshift","pop","tag","a","currentMin","hereFeedQuery","searchParams","set","addHereMessages","messagesToAdd","firstMessage","sort","b","createdAt","hereMessagesElement","querySelector","scrollHeight","clientHeight","scrollTop","error","email","userLatLng","userId","userName","hereForId","hereForName","hereForClassOf","ReactGA","event","Date","getTime","append","delete","candleStickLight","candleStickDark","overflow","minHeight","maxHeight","TransitionGroup","sendMessage","frenchHornLight","frenchHornDark","searchIcon","shareReflection","group","featured_streams","FloatingActionButtons","plus","ReflectionsOfTheFallen","selectedHashTagOption","history","params","label","lastMin","isLoadingMore","getCurrentVideo","getReflections","getHashTags","newHashTag","encodeURIComponent","reverse","addReflectionToTop","reflectionToAdd","showLoadMore","isClearable","offset","loadMoreReflections","withRouter","ClassOfSeventyPhotos","marginBottom","host","initialize","trackingId","testMode","routing","exact","path","component","Home","muster50thGallery","ReactDOM","render","serviceWorker","ready","then","registration","unregister","catch","module","exports"],"mappings":"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","file":"static/js/main.957ad02d.chunk.js","sourcesContent":["if (!String.prototype.padStart) {\r\n // eslint-disable-next-line no-extend-native\r\n String.prototype.padStart = function padStart(targetLength, padString) {\r\n targetLength = targetLength >> 0; //floor if number or convert non-number to 0;\r\n padString = String(typeof padString !== 'undefined' ? padString : ' ');\r\n if (this.length > targetLength) {\r\n return String(this);\r\n } else {\r\n targetLength = targetLength - this.length;\r\n if (targetLength > padString.length) {\r\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\r\n }\r\n return padString.slice(0, targetLength) + String(this);\r\n }\r\n };\r\n }","// 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 React, { Component } from 'react';\r\nimport { Button } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\n\r\n\r\nexport default class PrimaryButton extends Component {\r\n render(){\r\n let { children, to, action, size, margin, uppercase } = this.props;\r\n return (\r\n <>\r\n { to ? {children} : }\r\n \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nimport { Row, Col } from 'reactstrap';\r\nimport candleStick from '../../assets/candle-stick.png'\r\n\r\n\r\nexport default class HereMessageTile extends Component {\r\n render(){\r\n let { heading, subheading, hashTags, onHashTagSelect } = this.props;\r\n\r\n return (\r\n \r\n \r\n
\r\n \"Candle\r\n
\r\n \r\n \r\n

{heading}. \"Here.\"

\r\n

{subheading}

\r\n {hashTags && onHashTagSelect(hashTags,heading)}>{hashTags}}\r\n \r\n
\r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Row } from 'reactstrap';\r\nimport candleStick from '../../assets/candle-stick.png'\r\nimport { Link } from 'react-router-dom'\r\n\r\nexport default class ReflectionTile extends Component {\r\n render(){\r\n let { backgroundImage, messageTo, message, hashtags, messageFrom, containerSize, className, rotation, size = \"small\", postedBy = true } = this.props;\r\n const individualHashTags = (hashtags ? hashtags.split(\" \") : []).map(h => h.replace(\"#\", \"\"));\r\n const hashTagItems = individualHashTags.map(hashTag => #{hashTag} );\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n \"Candle\r\n
\r\n
\r\n { Math.abs(rotation % 180) === 0 ? \r\n <>\r\n \"\"\r\n
\r\n :\r\n <>\r\n \"\"\r\n
\r\n \r\n }\r\n
\r\n
\r\n

{messageTo}: {message}

\r\n

{hashTagItems}

\r\n { postedBy ?

Posted by {messageFrom}

: '' }\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nexport default class VideoTile extends Component {\r\n\r\n\r\n render() {\r\n let { stream } = this.props;\r\n let interceptIframeClick = (e) => {\r\n e.stopPropagation();\r\n this.props.setCurrentVideo();\r\n };\r\n\r\n let titleParts = stream.title ? stream.title.split(\"|\") : \"\";\r\n\r\n return (\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n {stream.isLive === \"Yes\" ?
LIVE
: false}\r\n
\r\n
\r\n\r\n {titleParts.map(t =>

{t}

)}\r\n\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport GoogleMapReact from 'google-map-react';\r\n\r\nimport musters from '../../json/streams.json';\r\n\r\nimport LiveMusterMapMarker from '../../assets/live-stream-maroon-marker.png';\r\nimport MusterMapPinMaroon from '../../assets/maroon-muster-marker.png';\r\n\r\nconst MusterMarker = props => {\r\n let { muster } = props;\r\n\r\n return (\r\n
\r\n \r\n
\r\n

{muster.name ? muster.name : muster.title}

\r\n { muster.link ? Visit this Muster : }\r\n
\r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default class Map extends Component{\r\n constructor(props){\r\n super(props);\r\n\r\n this.state = {\r\n allMusters: [],\r\n previousMusterId: '',\r\n infoWindowOpen: false,\r\n mobile: false,\r\n // Default is the United States\r\n center: {\r\n lat: 37.09024,\r\n lng: -95.712891\r\n },\r\n zoom: 4,\r\n }\r\n }\r\n\r\n componentDidMount(){\r\n let { streamingMusters } = this.props;\r\n let allmusters = []\r\n\r\n if(musters) {\r\n musters.forEach(function(elem) {\r\n allmusters.push(elem);\r\n });\r\n }\r\n \r\n if(streamingMusters) {\r\n streamingMusters.forEach(function(elem) {\r\n allmusters.push(elem);\r\n });\r\n }\r\n\r\n this.setState({allMusters: allmusters});\r\n\r\n window.addEventListener(\"resize\", this.resize.bind(this));\r\n this.resize(); \r\n }\r\n\r\n resize() {\r\n let screenSize = (window.innerWidth <= 760);\r\n\r\n if (screenSize !== this.state.mobile) {\r\n this.setState({mobile: screenSize});\r\n }\r\n }\r\n\r\n openInfoWindow = (infoWindowId) => {\r\n let { previousMusterId, infoWindowOpen } = this.state;\r\n let muster = document.getElementById(infoWindowId);\r\n let previousMuster = document.getElementById(previousMusterId);\r\n \r\n\r\n if(infoWindowOpen === false && previousMusterId === infoWindowId){\r\n muster.style.display = \"block\";\r\n this.setState({previousMusterId: infoWindowId, infoWindowOpen: true});\r\n\r\n } else if (infoWindowOpen === false) {\r\n muster.style.display = \"block\";\r\n if(previousMuster){\r\n previousMuster.style.display = \"none\";\r\n }\r\n\r\n this.setState({previousMusterId: infoWindowId, infoWindowOpen: true});\r\n\r\n } else {\r\n muster.style.display = \"block\"\r\n previousMuster.style.display = \"none\";\r\n\r\n this.setState({ previousMusterId: infoWindowId, infoWindowOpen: false});\r\n }\r\n }\r\n\r\n render(){\r\n let { children, className, user } = this.props;\r\n let { center, allMusters, mobile } = this.state;\r\n\r\n return (\r\n
\r\n {children}\r\n \r\n {\r\n allMusters.map((muster, index) => {\r\n if( (muster.lat && muster.long) || ( muster.lat && muster.lng) ){\r\n return ( \r\n this.openInfoWindow(index)}\r\n onStreamingClick={() => this.props.setCurrentVideo(muster.encode)}\r\n />\r\n )\r\n } else {\r\n console.log(\"Couldn't add this to the map: \", index, muster)\r\n return '';\r\n }\r\n })\r\n }\r\n\r\n \r\n
\r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n// import PrimaryButton from './Button';\r\nimport eye from '../../assets/eye.png';\r\n// import musterPoint from '../../assets/muster-point-two.png';\r\nimport Map from './Map';\r\n\r\n// import musters from '../../json/streams.json';\r\n\r\nexport default class DefaultVideo extends Component {\r\n constructor(props){\r\n super(props);\r\n\r\n this.state = {\r\n map: false,\r\n }\r\n }\r\n\r\n toggleMap = () => {\r\n this.setState({\r\n map: !this.state.map\r\n });\r\n }\r\n\r\n getDefaultVideo = (videoSrc, size) => {\r\n\r\n if(videoSrc){\r\n return \r\n } else {\r\n return \r\n }\r\n\r\n }\r\n\r\n render() {\r\n let { videoSrc, user, streamingMusters, viewers} = this.props;\r\n let { map } = this.state;\r\n\r\n return (\r\n
\r\n { this.getDefaultVideo(videoSrc, map ? \"map-video\" : \"large\") }\r\n { \r\n map \r\n ? \r\n this.props.setCurrentVideo(encode)} streamingMusters={streamingMusters} user={user} className=\"map-container-with-video\">\r\n : ''\r\n }\r\n \r\n
\r\n
\r\n {/* this.toggleMap()} size=\"small\" margin=\"mt-3 mr-2\" uppercase={false}>{map ? \"Show Video\" : \"View Map\"} */}\r\n
\r\n
\r\n

\"fish {viewers}+ Viewers

\r\n {/*

\"muster {musters.length + streamingMusters.length} Musters

*/}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { useState } from 'react';\r\nimport ringLogo from '../../assets/afsringlogo-maroon.svg'\r\nimport {\r\n Collapse,\r\n Navbar,\r\n NavbarToggler,\r\n // Col,\r\n // Row,\r\n Nav,\r\n NavItem,\r\n NavLink\r\n} from 'reactstrap';\r\n\r\n\r\nconst Navigation = (props) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const toggle = () => setIsOpen(!isOpen);\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\n \r\n \r\n \r\n \r\n\r\n
\r\n );\r\n}\r\n\r\nexport default Navigation;\r\n\r\n","import React, { Component } from 'react';\r\nimport { TabContent, TabPane, Nav, NavItem, NavLink, Row } from 'reactstrap';\r\nimport classnames from 'classnames';\r\n\r\nexport default class NavTabs extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n activeTab: 0\r\n }\r\n }\r\n\r\n toggle = (tab) => {\r\n this.setState({ activeTab: tab })\r\n if (this.props.onTabChanged) {\r\n this.props.onTabChanged(tab);\r\n }\r\n }\r\n\r\n render() {\r\n\r\n let { tabs, flexDirection, containerPadding, containerFlex } = this.props;\r\n let { activeTab } = this.state;\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n {\r\n tabs.map((tab, index) => {\r\n return (\r\n \r\n \r\n {tab.children ? tab.children :

We currently don't have any previous musters.

}\r\n
\r\n
\r\n )\r\n })\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\n// Example of NavTabs\r\n// }, \r\n// {tabName: \"Musters Near Me\"}, \r\n// {tabName: \"Previous Musters\"}, \r\n// {tabName: \"The Muster Documentary\"}\r\n// ]}\r\n// >\r\n// ","import React, { Component } from 'react';\r\n\r\n\r\nexport default class CallToActionTile extends Component {\r\n render(){\r\n let { title, content, children, heromode } = this.props;\r\n\r\n if(heromode){\r\n return (\r\n
\r\n

{content}

\r\n {children}\r\n
\r\n )\r\n } \r\n else{\r\n return (\r\n
\r\n

{title}

\r\n
\r\n

{content}

\r\n {children}\r\n
\r\n )\r\n };\r\n } \r\n}","import React, { Component } from 'react';\r\n\r\nimport Select from 'react-select';\r\n\r\nimport { Form, FormGroup, Label, Input } from 'reactstrap';\r\nimport PrimaryButton from './Button';\r\nimport rotateIcon from '../../assets/rotate.png';\r\n\r\nexport default class BasicForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showForm: true,\r\n errors: \"\",\r\n isSubmitting: false,\r\n rotation: 0\r\n }\r\n\r\n this.formElement = React.createRef();\r\n this.populateImage = this.populateImage.bind(this);\r\n this.rotateImageCounterClockwise = this.rotateImageCounterClockwise.bind(this);\r\n this.rotateImageClockwise = this.rotateImageClockwise.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n let registeredUser = this.props.registeredUser;\r\n if (registeredUser) {\r\n this.setState({ showForm: false })\r\n }\r\n }\r\n\r\n componentWillReceiveProps(newProps) {\r\n let registeredUser = newProps.registeredUser;\r\n if (registeredUser) {\r\n // Weird race condition here with toggleForm after register causes modal to stay opened sometimes.\r\n setTimeout(() => {\r\n this.setState({ showForm: false })\r\n }, 100);\r\n } else {\r\n this.setState({ showForm: true });\r\n }\r\n\r\n }\r\n\r\n toggleForm = () => {\r\n this.setState({ showForm: !this.state.showForm });\r\n }\r\n\r\n async submitForm(e) {\r\n e.preventDefault();\r\n\r\n if (this.state.isSubmitting) {\r\n return;\r\n }\r\n\r\n this.setState({ isSubmitting: true });\r\n try {\r\n const formData = new FormData(this.formElement.current);\r\n let validationErrors = undefined;\r\n\r\n // ensure a validation method was provided\r\n if (this.props.performValidation) {\r\n validationErrors = this.props.performValidation(formData);\r\n this.setState({ errors: validationErrors });\r\n }\r\n\r\n // if there are no validation errors, proceed with submit\r\n if (!validationErrors) {\r\n\r\n // dismiss the modal if we are successful\r\n const submitResult = await this.props.onSubmitForm(formData);\r\n if (!submitResult) {\r\n if (this.props.toggleModal) { this.props.toggleModal(); }\r\n return this.toggleForm();\r\n }\r\n\r\n }\r\n }\r\n finally {\r\n this.setState({ isSubmitting: false });\r\n }\r\n\r\n\r\n }\r\n\r\n handleChange = (selectedOption, action) => {\r\n\r\n if (action.action === \"select-option\") {\r\n let formInputs = this.formElement.current.getElementsByTagName('input');\r\n let newValue = JSON.stringify(selectedOption);\r\n\r\n for (let i = 0; i < formInputs.length; i++) {\r\n let input = formInputs[i];\r\n if (input.name === \"hereFor\") {\r\n input.value = newValue;\r\n } else if (input.name === \"hashTags\") {\r\n input.value = selectedOption.defaultHashTag;\r\n }\r\n }\r\n }\r\n\r\n };\r\n\r\n populateImage = (e) => {\r\n this.setState({ imageData: URL.createObjectURL(e.target.files[0]) });\r\n }\r\n rotateImageCounterClockwise = (e) => {\r\n let { rotation } = this.state;\r\n e.preventDefault();\r\n this.setState({ rotation: rotation - 90 });\r\n }\r\n rotateImageClockwise = (e) => {\r\n let { rotation } = this.state;\r\n e.preventDefault();\r\n this.setState({ rotation: rotation + 90 });\r\n }\r\n\r\n render() {\r\n let { title, content, selectOptions, uppercase, fields, rememberMe, formAction, formMethod, submitBtnText, children, containerClass, formClass, hrWidth, hrClass, submitBtn } = this.props;\r\n let { showForm, imageData, rotation } = this.state;\r\n const optionLabel = (inputValue) => {\r\n if (typeof inputValue.classOf === \"number\") {\r\n\r\n if (inputValue.classOf < 100) {\r\n return `${inputValue.name} '${inputValue.classOf.toString().padStart(2, 0)}`;\r\n } else {\r\n return `${inputValue.name}, Class of ${inputValue.classOf}`;\r\n }\r\n } else {\r\n return `${inputValue.name}`;\r\n }\r\n }\r\n\r\n const optionValue = (inputValue) => {\r\n return `${inputValue.id}`;\r\n }\r\n\r\n return (\r\n
\r\n
this.submitForm(e)} className={`${formClass} ${showForm ? \"show\" : \"hide\"}`} action={formAction ? formAction : \"POST\"} method={formMethod}>\r\n
\r\n

{title}

\r\n
\r\n

{content}

\r\n
\r\n\r\n {fields.map((field, index) => {\r\n return (\r\n\r\n \r\n {field.inputType && field.inputType === \"select\" ?\r\n : field.type === \"file\" ? <>\r\n\r\n {imageData &&
\r\n \"uploaded\r\n
\r\n \r\n \r\n
\r\n \r\n
}\r\n \r\n : \r\n }\r\n
\r\n )\r\n })}\r\n\r\n {\r\n rememberMe ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n\r\n {this.state.errors &&\r\n
\r\n
\r\n {this.state.errors}\r\n
\r\n
\r\n }\r\n\r\n {submitBtn ? submitBtn : {submitBtnText}}\r\n
\r\n\r\n\r\n {children}\r\n
\r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nimport { PrimaryButton, BasicForm} from '../index';\r\nimport { Modal, ModalBody } from 'reactstrap';\r\nimport darkRedClose from '../../assets/close-btn.png';\r\n\r\nimport hereNames from '../../json/fallen.json';\r\n\r\n\r\nexport default class ModalFrom extends Component {\r\n constructor(props){\r\n super(props);\r\n\r\n this.state = {\r\n modal: false\r\n }\r\n }\r\n\r\n toggleModal = () => {\r\n this.setState({modal: !this.state.modal})\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ registeredUser: this.props.registeredUser });\r\n }\r\n\r\n componentWillReceiveProps(newProps) {\r\n let registeredUser = newProps.registeredUser;\r\n this.setState({registeredUser});\r\n }\r\n\r\n \r\n performValidation(formData) {\r\n \r\n let hereFor = formData.get('hereFor');\r\n let hereForData = hereFor ? JSON.parse(hereFor) : undefined;\r\n let hashTags = formData.get('hashTags');\r\n\r\n let errors = \"\";\r\n\r\n if(!hereForData) { errors += \"You must select the Aggie you're here for. \"};\r\n if(hashTags && (hashTags.match(/#/g) || []).length > 3) { errors += \"You may only use up to three hashtags. \"};\r\n\r\n return errors;\r\n }\r\n \r\n render(){\r\n let { modal } = this.state;\r\n let { openButtonText, openButtonSize } = this.props;\r\n\r\n return(\r\n <>\r\n this.toggleModal()} uppercase={true} size={openButtonSize ? openButtonSize : \"large\"}>{openButtonText ? openButtonText : \"Share A Reflection\"}\r\n\r\n \r\n \r\n \r\n\r\n this.toggleModal()}\r\n onSubmitForm={(formData) => this.props.onSubmit(formData)}\r\n performValidation={(formData) => this.performValidation(formData)}\r\n registeredUser={this.state.registeredUser}\r\n fields={[\r\n { type: \"file\", name: 'image', required: false },\r\n { hidden: true, type: \"text\", name: 'hereFor', required: false },\r\n { inputType: 'select', type: \"text\", name: 'hereForName', placeholder: \"I am Here for...\", required: true},\r\n { type: \"textarea\", name: 'message', placeholder: \"Thoughts... (maximum 125 characters)\", required: false, maxLength: \"125\" },\r\n { type: \"text\", name: 'hashTags', placeholder: \"#Tags (max 3 hashtags)\", required: false }\r\n ]}\r\n rememberMe={false}\r\n submitBtnText=\"Post\"\r\n >\r\n\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nimport { Row } from 'reactstrap';\r\nimport { ReflectionTile } from '..';\r\n\r\n\r\nexport default class ReflectionMasonry extends Component {\r\n\r\n render() {\r\n let { reflections, masonryType, className, containerClass } = this.props;\r\n\r\n return (\r\n
\r\n {masonryType === \"top-ten\"\r\n ?\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n : false}\r\n\r\n {masonryType === \"dynamic\"\r\n ?\r\n \r\n {reflections.map((reflection, itemIndex) => {\r\n\r\n let firstItemInColumn = (reflections.length + 1) / 4;\r\n\r\n let topItem = itemIndex % firstItemInColumn === 0 ? (\"top-item \" + itemIndex) : '';\r\n\r\n // console.log(\"Top Item Data: \", itemIndex % firstItemInColumn === 0, itemIndex)\r\n\r\n return ;\r\n }\r\n )}\r\n \r\n : false}\r\n\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport associationLogo from '../../assets/logo-association.png';\r\n\r\nimport inventiveHeart from '../../assets/inventive-heart.png';\r\n\r\nexport default class Footer extends Component {\r\n\r\n render() {\r\n let footerClass = this.props.footerClass;\r\n\r\n return (\r\n \r\n \r\n
\r\n

Security & Privacy Policy

\r\n

© 2023 The Association of Former Students of Texas A&M University. All Rights Reserved.

\r\n

Made with \"Made by Inventive

\r\n
\r\n \r\n \r\n
\r\n \r\n
\"The
\r\n \r\n
\r\n \r\n {/* \r\n
\r\n

Made with ♥ by Inventive

\r\n
\r\n */}\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { CallToActionTile } from '../index';\r\n\r\nexport default class SupportMuster extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n Help Support Aggie Musters\r\n \r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Row, Col, Button } from 'reactstrap';\r\nimport { Navigation, PrimaryButton, NavTabs, VideoTile, HereMessageTile, ReflectionTile, DefaultVideo, BasicForm, CallToActionTile, ModalForm, MasonryLayout, Footer, SupportMuster } from '../components/index';\r\nimport {\r\n CSSTransition,\r\n TransitionGroup,\r\n} from 'react-transition-group';\r\n\r\nimport candleStickLight from '../assets/candle-stick-light.png';\r\nimport candleStickDark from '../assets/candle-stick-dark.png';\r\nimport candleStick from '../assets/candle-stick.png'\r\n\r\nimport frenchHornLight from '../assets/french-horn-light.png';\r\nimport frenchHornDark from '../assets/french-horn-dark.png';\r\nimport searchIcon from '../assets/search.png';\r\n\r\nimport axios from 'axios';\r\nimport hereNames from '../json/fallen.json';\r\nimport topReflections from '../json/top10reflections.json';\r\nimport featured_streams from '../json/featured-streams.json';\r\nimport ReactGA from 'react-ga4';\r\n\r\nexport default class Homepage extends Component {\r\n hereFeedTimeoutId;\r\n hereMessagesTimeoutId;\r\n reflectionsFeedTimeoutId;\r\n reflectionsMessagesTimeoutId;\r\n streamsTimeoutId;\r\n uiConfigTimeoutId;\r\n attendanceTimeoutId;\r\n defaultHereFeedUpdateFrequency = 5000;\r\n defaultReflectionFeedUpdateFrequency = 5000;\r\n defaultStreamsUpdateFrequency = 90000;\r\n minUpdateFrequency = 3000;\r\n HERE_FEED_TAB = 0;\r\n REFLECTIONS_FEED_TAB = 1;\r\n HERE_FEED_PAGE_SIZE = 50;\r\n DATE_MAX = 2648037074570\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n registerUser: null,\r\n userLat: '',\r\n userLng: '',\r\n location: '',\r\n currentVideo: '',\r\n userSelectedVideo: '',\r\n hereFeedUpdateFrequency: this.defaultHereFeedUpdateFrequency,\r\n reflectionsFeedUpdateFrequency: this.defaultReflectionFeedUpdateFrequency,\r\n streamsUpdateFrequency: this.defaultStreamsUpdateFrequency,\r\n messages: [],\r\n reflections: [],\r\n top10reflections: topReflections,\r\n streams: [],\r\n viewers: \"...\",\r\n lastMessagesMax: null,\r\n lastReflectionsMax: null,\r\n activeFeed: 0,\r\n hereForHashTag: null,\r\n hereForNameFilter: null,\r\n moreHereFor: true,\r\n minHereFor: this.DATE_MAX\r\n }\r\n this.onHereForHashTagSelect = this.onHereForHashTagSelect.bind(this);\r\n this.clearHereForHashTag = this.clearHereForHashTag.bind(this);\r\n this.getHereFeedUpdates = this.getHereFeedUpdates.bind(this);\r\n this.loadMoreHereFeed = this.loadMoreHereFeed.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ reflections: [] });\r\n\r\n let localUser = JSON.parse(localStorage.getItem('musterRegisteredUser'));\r\n let sessionUser = JSON.parse(window.sessionStorage.getItem('musterRegisteredUser'));\r\n\r\n let registerUser = null;\r\n if (localUser) {\r\n registerUser = localUser;\r\n\r\n }\r\n\r\n if (sessionUser) {\r\n registerUser = sessionUser;\r\n\r\n }\r\n\r\n if (\"geolocation\" in navigator) {\r\n this.setUserPosition();\r\n }\r\n\r\n this.setState({ registerUser }, () => {\r\n this.startHereFeedUpdates();\r\n });\r\n\r\n await this.getStreams();\r\n\r\n setTimeout(this.getAttendance.bind(this), 2500);\r\n\r\n this.getUiConfig();\r\n }\r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.hereFeedTimeoutId);\r\n clearTimeout(this.uiConfigTimeoutId);\r\n clearTimeout(this.hereMessagesTimeoutId);\r\n clearTimeout(this.streamsTimeoutId);\r\n }\r\n\r\n setUserPosition() {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.setState({ userLat: position.coords.latitude, userLng: position.coords.longitude });\r\n\r\n // Checks to see if use location is already there before running another geocode call\r\n let userLocation = JSON.parse(localStorage.getItem('musterUserLocation'));\r\n if (userLocation) {\r\n this.setState({ location: userLocation });\r\n return userLocation;\r\n } else {\r\n return this.convertUserLatLng(position.coords.latitude, position.coords.longitude);\r\n }\r\n });\r\n }\r\n\r\n setCurrentVideo(videoUrl) {\r\n localStorage.setItem(\"userSelectedVideo\", videoUrl);\r\n\r\n this.setState({ userSelectedVideo: videoUrl });\r\n }\r\n\r\n convertUserLatLng(lat, lng) {\r\n const promise = new Promise((resolve, reject) => {\r\n var latlng = { lat: lat, lng: lng };\r\n\r\n let location = { city: \"\", state: \"\" }\r\n let city;\r\n let state;\r\n\r\n var geocoder;\r\n if (window) {\r\n geocoder = new window.google.maps.Geocoder();\r\n }\r\n geocoder.geocode({ 'location': latlng }, (results, status) => {\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n results[0].address_components.map((comp) => {\r\n if (comp.types[0] === 'locality') {\r\n city = comp.long_name;\r\n location.city = comp.long_name;\r\n }\r\n if (comp.types[0] === 'administrative_area_level_1') {\r\n state = comp.short_name;\r\n location.state = comp.short_name;\r\n }\r\n\r\n localStorage.setItem(\"musterUserLocation\", JSON.stringify(`${city}, ${state}`));\r\n\r\n return this.setState({ location: `${city}, ${state}` });\r\n })\r\n\r\n resolve(location);\r\n } else {\r\n reject(\"No results found\");\r\n }\r\n } else {\r\n reject(status);\r\n }\r\n });\r\n });\r\n\r\n\r\n return promise;\r\n }\r\n\r\n async getUiConfig() {\r\n try {\r\n const response = await axios({\r\n method: 'get',\r\n url: process.env.REACT_APP_UI_CONFIG_URL,\r\n headers: {\r\n 'x-functions-key': process.env.REACT_APP_UI_CONFIG_KEY\r\n }\r\n });\r\n const uiConfig = response.data;\r\n if (uiConfig && uiConfig.reflectionsFeedUpdateFrequency && uiConfig.hereFeedUpdateFrequency && uiConfig.streamsUpdateFrequency) {\r\n this.setState({\r\n hereFeedUpdateFrequency: Math.max(uiConfig.hereFeedUpdateFrequency, this.minUpdateFrequency),\r\n reflectionsFeedUpdateFrequency: Math.max(uiConfig.reflectionsFeedUpdateFrequency, this.minUpdateFrequency),\r\n streamsUpdateFrequency: Math.max(uiConfig.streamsUpdateFrequency, this.minUpdateFrequency)\r\n });\r\n }\r\n\r\n }\r\n finally {\r\n const twoMinutesInMilliseconds = 2 * 60 * 1000;\r\n this.hereFeedTimeoutId = setTimeout(this.getUiConfig.bind(this), twoMinutesInMilliseconds);\r\n }\r\n }\r\n\r\n async getAttendance() {\r\n try {\r\n const response = await axios({\r\n method: 'get',\r\n url: process.env.REACT_APP_ATTENDANCE_URL,\r\n headers: {\r\n 'x-functions-key': process.env.REACT_APP_ATTENDANCE_KEY\r\n }\r\n });\r\n let attendance = response.data;\r\n if (attendance && attendance > 0) {\r\n const min = Math.floor(Math.random() * 30) + 90;\r\n attendance = Math.max(min, attendance);\r\n let formattedAttendance = attendance.toLocaleString('en-US');\r\n if (formattedAttendance.length > 5) { // Assuming we aren't going to have millions of viewers\r\n formattedAttendance = formattedAttendance.substring(0, formattedAttendance.length - 4) + 'K'\r\n };\r\n this.setState({\r\n viewers: attendance\r\n });\r\n }\r\n\r\n }\r\n finally {\r\n const fiveMinutesInMilliseconds = 5 * 60 * 1000;\r\n this.hereFeedTimeoutId = setTimeout(this.getAttendance.bind(this), fiveMinutesInMilliseconds);\r\n }\r\n }\r\n\r\n async getStreams() {\r\n try {\r\n const response = await axios({\r\n method: 'get',\r\n url: process.env.REACT_APP_STREAMS_URL,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_STREAMS_KEY\r\n }\r\n });\r\n\r\n if (response\r\n && response.data\r\n && response.data.streams\r\n && Array.isArray(response.data.streams)) {\r\n\r\n this.setState({ streams: response.data.streams, currentVideo: response.data.currentVideo });\r\n }\r\n\r\n } finally {\r\n this.streamsTimeoutId = setTimeout(this.getStreams.bind(this), this.state.streamsUpdateFrequency);\r\n }\r\n\r\n }\r\n\r\n startHereFeedUpdates() {\r\n if (this.state.registerUser) {\r\n this.stopHereFeedUpdates();\r\n this.hereFeedTimeoutId = setTimeout(this.getHereFeedUpdates.bind(this), 500);\r\n }\r\n }\r\n\r\n stopHereFeedUpdates() {\r\n clearTimeout(this.hereFeedTimeoutId);\r\n }\r\n\r\n startReflectionsFeedUpdates() {\r\n if (this.state.registerUser) {\r\n this.stopReflectionsFeedUpdates();\r\n this.reflectionsFeedTimeoutId = setTimeout(this.getReflectionFeedUpdates.bind(this), 500);\r\n }\r\n }\r\n\r\n stopReflectionsFeedUpdates() {\r\n clearTimeout(this.reflectionsFeedTimeoutId);\r\n }\r\n\r\n async getReflectionFeedUpdates() {\r\n try {\r\n const max = this.state.lastReflectionsMax;\r\n let reflectionsFeedQuery = `${process.env.REACT_APP_REFLECTIONS_FEED_URL}?count=${15}`;\r\n if (max) {\r\n reflectionsFeedQuery = `${reflectionsFeedQuery}>=${max}`;\r\n }\r\n let response = await axios({\r\n method: 'get',\r\n url: reflectionsFeedQuery,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_REFLECTIONS_FEED_KEY\r\n }\r\n });\r\n\r\n if (response && response.data\r\n && response.data.messages\r\n && Array.isArray(response.data.messages)) {\r\n this.reflectionsMessagesTimeoutId = setTimeout(this.addReflections.bind(this, response.data.messages), 25);\r\n }\r\n\r\n } finally {\r\n if (this.state.activeFeed === this.REFLECTIONS_FEED_TAB) {\r\n this.reflectionsFeedTimeoutId = setTimeout(this.getReflectionFeedUpdates.bind(this), this.state.reflectionsFeedUpdateFrequency);\r\n }\r\n }\r\n\r\n }\r\n\r\n addReflections(reflectionsToAdd) {\r\n if (reflectionsToAdd && reflectionsToAdd.length > 0) {\r\n const firstReflection = reflectionsToAdd.shift();\r\n let reflections = this.state.reflections;\r\n if (!reflections.some(m => m.id === firstReflection.id)) {\r\n reflections.unshift(firstReflection);\r\n if (reflections.length > 25) {\r\n reflections.pop();\r\n }\r\n }\r\n this.setState({ reflections }, () => {\r\n if (reflectionsToAdd.length > 0)\r\n this.reflectionsFeedTimeoutId = setTimeout(this.addReflections.bind(this, reflectionsToAdd), 25);\r\n });\r\n }\r\n }\r\n\r\n async loadMoreHereFeed() {\r\n let { minHereFor } = this.state;\r\n await this.getHereFeedUpdates(minHereFor);\r\n }\r\n\r\n async onHereForHashTagSelect(tag,name) {\r\n this.setState({\r\n hereForHashTag: tag.replace(\"#\", \"\"),\r\n hereForNameFilter: name,\r\n lastMessagesMax: 0,\r\n messages: [],\r\n moreHereFor: true,\r\n minHereFor: this.DATE_MAX\r\n }, async () => await this.getHereFeedUpdates());\r\n\r\n }\r\n\r\n async clearHereForHashTag() {\r\n this.setState({\r\n hereForHashTag: null,\r\n hereForNameFilter: null,\r\n lastMessagesMax: 0,\r\n messages: [],\r\n moreHereFor: true,\r\n minHereFor: this.DATE_MAX\r\n }, async () => await this.getHereFeedUpdates());\r\n }\r\n\r\n async getHereFeedUpdates(min = 0) {\r\n try {\r\n const max = this.state.lastMessagesMax;\r\n const currentMin = this.state.minHereFor;\r\n let hereFeedQuery = new URL(process.env.REACT_APP_HERE_FEED_URL);\r\n if (min) {\r\n hereFeedQuery.searchParams.set('lt', min);\r\n }\r\n else if (max) {\r\n hereFeedQuery.searchParams.set('gt', max);\r\n }\r\n if (this.state.hereForHashTag) {\r\n hereFeedQuery.searchParams.set('hashtag', this.state.hereForHashTag);\r\n }\r\n const response = await axios({\r\n method: 'get',\r\n url: hereFeedQuery.href,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_HERE_FEED_KEY\r\n }\r\n });\r\n if (response && response.data\r\n && response.data.messages\r\n && Array.isArray(response.data.messages)) {\r\n this.hereMessagesTimeoutId = setTimeout(this.addHereMessages.bind(this, response.data.messages), 25);\r\n this.setState({ lastMessagesMax: response.data.max });\r\n if ((min && min <= currentMin) || currentMin === this.DATE_MAX) {\r\n this.setState({ minHereFor: response.data.min, moreHereFor: response.data.messages.length === this.HERE_FEED_PAGE_SIZE });\r\n }\r\n }\r\n }\r\n finally {\r\n if (this.state.activeFeed === this.HERE_FEED_TAB) {\r\n this.hereFeedTimeoutId = setTimeout(this.getHereFeedUpdates.bind(this), this.state.hereFeedUpdateFrequency);\r\n }\r\n }\r\n }\r\n\r\n addHereMessages(messagesToAdd) {\r\n if (messagesToAdd && messagesToAdd.length > 0) {\r\n const firstMessage = messagesToAdd.shift();\r\n let messages = this.state.messages;\r\n if (!messages.some(m => m.id === firstMessage.id)) {\r\n messages.unshift(firstMessage);\r\n if (messages.length > 400) {\r\n messages.pop();\r\n }\r\n messages = messages.sort((a, b) => {\r\n return a.createdAt - b.createdAt;\r\n });\r\n }\r\n this.setState({ messages }, () => {\r\n if (messagesToAdd.length > 0)\r\n this.hereMessagesTimeoutId = setTimeout(this.addHereMessages.bind(this, messagesToAdd), 25);\r\n\r\n // if the user is near the end of the list then they probably want to scroll so new messages are visible\r\n // otherwise they have scroll back and new messages should append silently at the end \r\n let hereMessagesElement = document.querySelector(\".here-messages\");\r\n if ((hereMessagesElement.scrollHeight - hereMessagesElement.clientHeight) - hereMessagesElement.scrollTop < 150) {\r\n hereMessagesElement.scrollTop = hereMessagesElement.scrollHeight;\r\n }\r\n });\r\n }\r\n }\r\n\r\n async registerUser(formData) {\r\n let { userLat, userLng, location } = this.state;\r\n let userLocation;\r\n try {\r\n userLocation = location;\r\n\r\n if (formData.get('location') !== userLocation) {\r\n userLocation = formData.get('location');\r\n }\r\n\r\n } catch (error) {\r\n console.log(\"An error has occurred with the users location: \", error);\r\n }\r\n\r\n let classOf = formData.get('classOf');\r\n if (!classOf) {\r\n classOf = null;\r\n }\r\n\r\n var response = await axios({\r\n method: 'post',\r\n url: process.env.REACT_APP_REGISTER_URL,\r\n data: {\r\n name: formData.get('name'),\r\n email: formData.get('email'),\r\n classOf: classOf,\r\n location: userLocation,\r\n userLatLng: { lat: userLat, long: userLng }\r\n },\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_REGISTER_KEY\r\n }\r\n });\r\n\r\n localStorage.removeItem(\"musterRegisteredUser\");\r\n sessionStorage.removeItem(\"musterRegisteredUser\");\r\n\r\n const rememberMe = formData.get(\"rememberMe\");\r\n\r\n if (rememberMe) {\r\n localStorage.setItem(\"musterRegisteredUser\", JSON.stringify(response.data));\r\n } else {\r\n this.setState({ registerUser: response.data });\r\n sessionStorage.setItem(\"musterRegisteredUser\", JSON.stringify(response.data))\r\n }\r\n this.setState({ registerUser: response.data }, () => {\r\n this.startHereFeedUpdates();\r\n });\r\n\r\n }\r\n\r\n getHereMessages = () => {\r\n let { messages } = this.state;\r\n let messageTiles = [];\r\n\r\n messages.map((message) =>\r\n messageTiles.push(\r\n \r\n \r\n \r\n )\r\n )\r\n\r\n return messageTiles;\r\n }\r\n\r\n async sendMessage(formData) {\r\n let user = this.state.registerUser;\r\n let hereFor = JSON.parse(formData.get('hereFor'));\r\n const response = await axios({\r\n method: 'post',\r\n url: process.env.REACT_APP_POST_HERE_URL,\r\n data: {\r\n userId: user.id,\r\n userName: user.name,\r\n classOf: user.classOf,\r\n location: user.location,\r\n hereForId: hereFor.id,\r\n hereForName: hereFor.name,\r\n hereForClassOf: hereFor.classOf,\r\n hashTags: hereFor.defaultHashTag\r\n },\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_POST_HERE_KEY\r\n }\r\n });\r\n ReactGA.event(\"iamhere\",{hashTags: hereFor.defaultHashTag});\r\n this.addHereMessages([{ ...response.data, createdAt: new Date().getTime() }]);\r\n let hereMessagesElement = document.querySelector(\".here-messages\");\r\n hereMessagesElement.scrollTop = hereMessagesElement.scrollHeight;\r\n }\r\n\r\n performValidation(formData) {\r\n\r\n let hereFor = formData.get('hereFor');\r\n let hereForData = hereFor ? JSON.parse(hereFor) : undefined;\r\n let hashTags = formData.get('hashTags');\r\n\r\n let errors = \"\";\r\n\r\n if (!hereForData) { errors += \"You must select the Aggie you're here for. \" };\r\n if (hashTags && (hashTags.match(/#/g) || []).length > 3) { errors += \"You may only use up to three hashtags. \" };\r\n\r\n return errors;\r\n }\r\n\r\n async shareReflection(formData) {\r\n let user = this.state.registerUser;\r\n let hereFor = JSON.parse(formData.get('hereFor'));\r\n\r\n formData.append('hereForId', hereFor.id);\r\n formData.append('hereForName', hereFor.name);\r\n formData.append('hereForClassOf', hereFor.classOf);\r\n\r\n formData.append('userId', user.id);\r\n formData.append('userName', user.name);\r\n formData.append('classOf', user.classOf);\r\n formData.append('location', user.location);\r\n\r\n formData.delete('hereFor');\r\n\r\n var response = await axios({\r\n method: 'post',\r\n url: process.env.REACT_APP_POST_REFLECTION_URL,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n 'x-functions-key': process.env.REACT_APP_POST_REFLECTION_KEY\r\n }\r\n });\r\n\r\n this.addReflections([response.data]);\r\n\r\n return undefined;\r\n }\r\n\r\n tabChanged = (activeTab) => {\r\n this.setState({ activeFeed: activeTab }, () => {\r\n if (this.state.activeFeed === this.HERE_FEED_TAB) {\r\n this.stopReflectionsFeedUpdates();\r\n this.startHereFeedUpdates();\r\n } else if (this.state.activeFeed === this.REFLECTIONS_FEED_TAB) {\r\n this.stopHereFeedUpdates();\r\n this.startReflectionsFeedUpdates();\r\n }\r\n });\r\n }\r\n\r\n logout = () => {\r\n localStorage.removeItem('musterRegisteredUser');\r\n sessionStorage.removeItem('musterRegisteredUser');\r\n\r\n this.setState({\r\n registerUser: null\r\n });\r\n }\r\n\r\n render() {\r\n let { reflections, userLat, userLng, streams, registerUser, currentVideo, userSelectedVideo, viewers, top10reflections, hereForHashTag, moreHereFor, hereForNameFilter } = this.state;\r\n let clearHereForHashTag = this.clearHereForHashTag;\r\n let loadMoreHereFeed = this.loadMoreHereFeed;\r\n //ReactGA.send({hitType: \"pageview\", page: window.location.pathname + window.location.search});\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n this.setCurrentVideo(encode)} streamingMusters={streams} user={{ lat: userLat, lng: userLng }} viewers={viewers} videoSrc={userSelectedVideo ? userSelectedVideo : currentVideo}>\r\n \r\n \r\n this.registerUser(formData)}\r\n registeredUser={this.state.registerUser}\r\n fields={[\r\n { type: \"text\", name: 'name', placeholder: \"Name*\", required: true },\r\n { type: \"number\", name: 'classOf', placeholder: \"Class (e.g. 1997 or 97)\", required: false },\r\n { type: \"text\", name: 'location', placeholder: \"Location\", required: false, defaultValue: this.state.location },\r\n { type: \"text\", name: 'email', placeholder: \"Email\", required: false }\r\n ]}\r\n rememberMe={true}\r\n submitBtnText=\"JOIN\"\r\n >\r\n \r\n {hereForHashTag && hereForNameFilter &&

Showing all \"Heres\" for
{hereForNameFilter}
Clear Filter

}\r\n \r\n \r\n \r\n {\r\n this.getHereMessages()\r\n }\r\n \r\n \r\n
,\r\n this.sendMessage(formData)}\r\n fields={[\r\n { id: 'hereFor', hidden: true, type: \"text\", name: 'hereFor', required: false },\r\n { style: 'w-100 d-flex align-items-center m-0 mr-2', inputType: 'select', type: \"text\", name: 'hereForName', placeholder: \"I am Here for...\", required: true },\r\n ]}\r\n rememberMe={false}\r\n submitBtn={\r\n \r\n }\r\n >\r\n ,\r\n\r\n\r\n ]\r\n },\r\n {\r\n flexDirection: \"column\", icon: true, iconLight: frenchHornLight, iconDark: frenchHornDark, tabName: \"Reflections\", children: [\r\n\r\n
\r\n \"Search\r\n
,\r\n\r\n \r\n\r\n\r\n {\r\n reflections.map((reflection) =>\r\n \r\n \r\n \r\n\r\n )\r\n }\r\n ,\r\n\r\n registerUser ?\r\n\r\n this.shareReflection(formData)}>\r\n\r\n \r\n\r\n : ''\r\n\r\n ]\r\n },\r\n ]}\r\n >\r\n \r\n {registerUser ?\r\n
\r\n

Posting as {this.state.registerUser.name} | Logout

\r\n
\r\n : ''}\r\n \r\n \r\n \r\n \r\n stream.group === \"Upcoming\" ? this.setCurrentVideo(stream.encode)} stream={stream} lat={stream.lat} lng={stream.long}> : ''\r\n )\r\n ]\r\n },\r\n {\r\n tabName: \"Previous Musters\",\r\n containerClass: \"children-container video-list\",\r\n children: [\r\n streams.map((stream) =>\r\n stream.group === \"Previous\" ? this.setCurrentVideo(stream.encode)} stream={stream} lat={stream.lat} lng={stream.long}> : ''\r\n )\r\n ]\r\n },\r\n {\r\n tabName: \"Featured Stories\",\r\n containerClass: \"children-container video-list\",\r\n children: [\r\n featured_streams.map((stream) =>\r\n this.setCurrentVideo(stream.encode)} stream={stream}>\r\n )\r\n ]\r\n },\r\n ]}\r\n >\r\n \r\n \r\n \r\n \r\n View Reflections Gallery\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nimport { Row } from 'reactstrap';\r\nimport { ModalForm, BasicForm } from '../index';\r\n\r\nimport hereNames from '../../json/fallen.json'\r\nimport plus from '../../assets/plus.png';\r\n\r\nexport default class FloatingActionButtons extends Component {\r\n render(){\r\n let { videoSrc } = this.props;\r\n\r\n return (\r\n \r\n
\r\n { videoSrc ? : ''}\r\n
\r\n
\r\n }>\r\n this.shareReflection(formData)}\r\n fields={[\r\n { type: \"file\", name: 'image', required: false },\r\n { hidden: true, type: \"text\", name: 'hereFor', required: false },\r\n { inputType: 'select', type: \"text\", name: 'hereForName', placeholder: \"I am Here for...\", required: true },\r\n { type: \"textarea\", name: 'message', placeholder: \"Thoughts...\", required: true },\r\n { type: \"text\", name: 'hashTags', placeholder: \"#Tags\", required: false }\r\n ]}\r\n rememberMe={false}\r\n submitBtnText=\"POST\"\r\n >\r\n\r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Form, FormGroup, Row, Col } from 'reactstrap';\r\nimport { Navigation, MasonryLayout, Footer, ModalForm } from '../components/index';\r\nimport axios from 'axios';\r\nimport Select from 'react-select';\r\nimport {\r\n withRouter\r\n} from 'react-router-dom';\r\nimport FloatingActionButtons from '../components/general/FloatingActionButtons';\r\nimport PrimaryButton from '../components/general/Button';\r\n\r\nclass ReflectionsOfTheFallen extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n let selectedHashTagOption = null;\r\n if (props.match.params.hashTag) {\r\n selectedHashTagOption = { label: `#${props.match.params.hashTag}`, value: props.match.params.hashTag }\r\n }\r\n this.state = {\r\n currentVideo: '',\r\n userSelectedVideo: '',\r\n hashTag: props.match.params.hashTag,\r\n selectedHashTagOption,\r\n reflections: [],\r\n lastMin: -1,\r\n isLoadingMore: false,\r\n registerUser: null,\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n \r\n let localUser = JSON.parse(localStorage.getItem('musterRegisteredUser'));\r\n let sessionUser = JSON.parse(window.sessionStorage.getItem('musterRegisteredUser'));\r\n\r\n let registerUser = null;\r\n if (localUser) {\r\n registerUser = localUser;\r\n }\r\n\r\n if (sessionUser) {\r\n registerUser = sessionUser;\r\n }\r\n\r\n this.setState({ \r\n registerUser: registerUser \r\n });\r\n \r\n await this.getCurrentVideo();\r\n await this.getReflections();\r\n await this.getHashTags();\r\n }\r\n\r\n componentWillUnmount() {\r\n \r\n }\r\n\r\n async componentWillReceiveProps(newProps) {\r\n const newHashTag = newProps.match.params.hashTag;\r\n if (this.state.hashTag !== newHashTag) {\r\n let selectedHashTagOption = null;\r\n if (newHashTag) {\r\n selectedHashTagOption = { label: `#${newHashTag}`, value: newHashTag }\r\n }\r\n this.setState({ hashTag: newHashTag, selectedHashTagOption }, async () => {\r\n await this.getReflections();\r\n });\r\n\r\n }\r\n }\r\n\r\n async getCurrentVideo() {\r\n const response = await axios({\r\n method: 'get',\r\n url: process.env.REACT_APP_STREAMS_URL,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_STREAMS_KEY\r\n }\r\n });\r\n\r\n if (response\r\n && response.data\r\n && response.data.currentVideo) {\r\n\r\n this.setState({ currentVideo: response.data.currentVideo });\r\n } \r\n\r\n let videoUrl = localStorage.getItem('userSelectedVideo');\r\n\r\n if (videoUrl) {\r\n this.setState({ userSelectedVideo: videoUrl });\r\n }\r\n }\r\n\r\n async getHashTags() {\r\n const hashTags = await axios({\r\n method: 'get',\r\n url: process.env.REACT_APP_REFLECTIONS_HASHTAGS_URL,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_REFLECTIONS_HASHTAGS_KEY\r\n }\r\n });\r\n if (hashTags.data \r\n && Array.isArray(hashTags.data) \r\n && hashTags.data.length > 0) {\r\n this.setState({ hashTags: [...hashTags.data.map(h => { return { label: `#${h}`, value: h } })] });\r\n }\r\n }\r\n\r\n async getReflections() {\r\n this.setState({ reflections: [] });\r\n\r\n let url = process.env.REACT_APP_REFLECTIONS_FEED_URL;\r\n if (this.state.hashTag) {\r\n url = url + `?hashTag=${encodeURIComponent(this.state.hashTag)}`;\r\n }\r\n const reflections = await axios({\r\n method: 'get',\r\n url: url,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_REFLECTIONS_FEED_KEY\r\n }\r\n });\r\n\r\n if (reflections && reflections.data \r\n && reflections.data.messages\r\n && Array.isArray(reflections.data.messages)) {\r\n this.setState({ \r\n reflections: [...reflections.data.messages.reverse()],\r\n lastMin: reflections.data.min\r\n });\r\n }\r\n }\r\n\r\n async loadMoreReflections() {\r\n \r\n this.setState({isLoadingMore: true});\r\n let url = process.env.REACT_APP_REFLECTIONS_FEED_URL + `?lt=${this.state.lastMin}`;\r\n if (this.state.hashTag) {\r\n url = url + `&hashTag=${encodeURIComponent(this.state.hashTag)}`;\r\n }\r\n const reflections = await axios({\r\n method: 'get',\r\n url: url,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-functions-key': process.env.REACT_APP_REFLECTIONS_FEED_KEY\r\n }\r\n });\r\n\r\n if (reflections && reflections.data \r\n && reflections.data.messages\r\n && Array.isArray(reflections.data.messages)) {\r\n this.setState({ \r\n reflections: [...this.state.reflections, ...reflections.data.messages.reverse()],\r\n lastMin: reflections.data.min,\r\n isLoadingMore: false\r\n });\r\n }\r\n else {\r\n this.setState({isLoadingMore: false});\r\n }\r\n }\r\n\r\n async shareReflection(formData) {\r\n let user = this.state.registerUser;\r\n let hereFor = JSON.parse(formData.get('hereFor'));\r\n\r\n formData.append('hereForId', hereFor.id);\r\n formData.append('hereForName', hereFor.name);\r\n formData.append('hereForClassOf', hereFor.classOf);\r\n\r\n formData.append('userId', user.id);\r\n formData.append('userName', user.name);\r\n formData.append('classOf', user.classOf);\r\n formData.append('location', user.location);\r\n\r\n formData.delete('hereFor');\r\n\r\n var response = await axios({\r\n method: 'post',\r\n url: process.env.REACT_APP_POST_REFLECTION_URL,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n 'x-functions-key': process.env.REACT_APP_POST_REFLECTION_KEY\r\n }\r\n });\r\n this.addReflectionToTop(response.data);\r\n }\r\n\r\n addReflectionToTop(reflectionToAdd) {\r\n if (reflectionToAdd) {\r\n let reflections = this.state.reflections;\r\n if (!reflections.some(m => m.id === reflectionToAdd.id)) {\r\n reflections.unshift(reflectionToAdd);\r\n }\r\n this.setState({ reflections });\r\n }\r\n }\r\n\r\n handleChange = (selectedOption, action) => {\r\n\r\n if (action.action === \"select-option\") {\r\n\r\n this.setState({ selectedHashTagOption: selectedOption });\r\n this.props.history.push(`/reflections/${selectedOption.value}`);\r\n } else if (action.action === \"clear\") {\r\n this.setState({ selectedHashTagOption: null });\r\n this.props.history.push(\"/reflections\");\r\n }\r\n\r\n };\r\n\r\n\r\n render() {\r\n let { reflections, userSelectedVideo, currentVideo, selectedHashTagOption, hashTags, lastMin, isLoadingMore, registerUser } = this.state;\r\n\r\n let showLoadMore = reflections && reflections.length >= 50 && lastMin > 0 && !isLoadingMore;\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 registerUser ?\r\n\r\n this.shareReflection(formData)}>\r\n \r\n\r\n : \r\n
\r\n

Log in on the home page to share reflections.

\r\n
\r\n }\r\n
\r\n
\r\n \r\n \r\n

Muster Reflections

\r\n \r\n \r\n \r\n {showLoadMore ? this.loadMoreReflections()}>LOAD MORE : <>}\r\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 withRouter(ReflectionsOfTheFallen)","import React, { Component } from 'react';\r\nimport { Navigation, Footer } from '../components/index';\r\n\r\nexport default class ClassOfSeventyPhotos extends Component {\r\n render() {\r\n let classOfSeventyStyle = {\r\n marginBottom: 20,\r\n };\r\n //ReactGA.send({hitType: \"pageview\", page: window.location.pathname + window.location.search});\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Route, BrowserRouter as Router } from 'react-router-dom'\r\n\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nimport Home from './pages/home';\r\nimport ReflectionsOfTheFallen from './pages/reflectionsOfTheFallen';\r\nimport muster50thGallery from './pages/muster50thgallery';\r\n\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport './styles/css/index.css';\r\n\r\nimport './polyfills.js';\r\nimport ReactGA from 'react-ga4';\r\nif (window.location.host === 'musterlive.aggienetwork.com'){\r\n ReactGA.initialize(\"G-BL6976S8JL\");\r\n} else {\r\n ReactGA.initialize([{trackingId:\"G-BL6976S8JL\", testMode: true}]); //test mode on all sites that aren't production.\r\n}\r\n\r\nconst routing = (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n)\r\n\r\nReactDOM.render(routing, document.getElementById('root'))\r\n\r\nserviceWorker.unregister();\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAttJREFUaAXtWTFrFEEUfm/2IkEMWFyRC0ECYrAT0qu9NsHGTgP6A9LZaGV6/QOCpRaWl1bJD4jaSUQ4QshZXCFcCrnb3eeMZpNh93bMvX2zTDELy87Om/fe973vZuaGBWjxSo+W72eHvectpoROW8myo942ET4kBNAkIbk23Gkjt07n/5oeLr9AVPfsTEjUb4Okd4KzyBVENckDTfJx8e7jqXwELWK6yJkxhLjue056I2gWlPLPsiBuPzVJrwuPF4I0WNkAUhdeLQ1JUxCbuFRbfA7St+5SdnnhAyAuzQsyySYPcG00nNfPNV5cwfzKwhMOOQMyU5curLqLlG0TJUiDbs/sdXaCapu+V/tOexA26Lh3p9bOMIgSTFXnqRMDwWdE2HeNydL/FcjlXbWJEkTEG9UUVo/K+yqdvrd6qk2tYrWT3yNKEKCeoAIadlZ/9v8uIlpJF+TfP7rrLvs8NmGC9alzlZ8pl3ToXf1IWYsoQaNSHbxknO0WNlwZ7rnGLl4fHRRjmz5FCeqTwt5MQGZxuTka27a6sQj57Bi28xxtUYLqZPoGiE4q+WesnASztwuVqbOfciUOo0OUoFEp6cBLBo5/Lpjv4NqxcxuZN7YoQZPczK90MtFHoHOF9LHodhkY5efbgZmPSULPzCpbHtf03cuJ/nSReGT+laQp3QVQvTJQpXCc5/kuKthXHoiV88X3WIFAKyB/HiS6qrneYvL9qv/P/mL6+nUjTUzfr/Td9DIxTJHCujSoT02ZWf4fg2KngW1Z4KSaWxIkpTb6TQkwpRgiMaUI+pgzIjGlCJaKH85rJBiOFjwkUUFe3cLxigqGowUPSVSQV7dwvKKC4WjBQxIV5NUtHK+oYDha8JBEBXl1C8crKhiOFjwkUUFe3cLxigqGowUPiZSCA156p5dITCmCb51QeUYfMXlIjJf+IPFa6qOEjrPNR+LRUwPb1PeXBkSNr8g3iYLmH0DmMInvmkx9AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAmCAYAAAC/H3lnAAAAAXNSR0IArs4c6QAAA9hJREFUWAntmEtSGzEQhm2qeOziG2RuEG4Q5wTxDTAnyGTBYxdnx2OR4QSZGwROkOEG9gkCJwjseBSQ7ydql0ZIM2NS2VlVVLf6+avVI8n0esuxrMCyAssKNFWg36RcRLe/v589Pj6+xycL/fr9/hW66fHx8XmoW3T+T4D39vY+Pj09jUk6BNSgY/IKn/Lu7u6sKIqrjj5zs4UB53k+WFtb+0SEfAGQ84QBUxLj68HBwUUgT04XAry7uzsiwTeiZamIVO8S3QV2U/hN2cGrVZIDuwkVP+lS8U6AXVW/k3iUzNrrnaAvYtWS/8bGxghgBf5vYjHQaYHb9Pk0pjdZK+CdnZ3NlZWVHzhk5hTQmRYSAxrY9dzCC+y3Qp3mAL4i12dilTG9ZI2ABZbgP/kbJALMbm9vh+FWCtjq6uq7+/v7WahTHFprQswviZhqoe0U6CTgNrBU45K+20wAUg+/FSBVDVKEPQroEptopeWXAr0iZThUIRzUs6nK9ti6cQysi1VaTMXgb8LJ8lNxTc4Ccvhrm4eUhX5X0UJ5FDDBBfaFsec8Y8sqb97KKp5Am6EWC6jC5jGKT22RsnkB2B1do1gAk5GoND6kbneiWy3Q3Ihj8yHOqfExir3O/NqiaoBdMp2zjYN2mJqBts22WtezdgddZvqQckWPTeaOsGRbyA7QW8Qdmk8NMMnGKDJTpujNzc0cMAHz9fX13+zMbyr2i/ko5Sc5+ve+Hp95LF/u89jkNq8BRjgwRRMNPrZMtgDp5NsUN6UD8Dx2DTBbXaacfLm/RcgrX9fGk/zSt2Ghb/15gq9MXgPsbqsTUzbQzHQssjK+CwXgqdm53s9sHqNa4NHR0cR0NcAScnNJ2fgh8OEMsXkeOt4Iem7zFnoN4MJs9L4wPkV13vu6F4DVnz4g39h4kurLzWzugs5snqL45W4Xn01YaPT4M3/0enpWNhd9AVhCHTcE3xafGixqfvwJhN4U2J7F7LWtxPuAXWl6FjyGH9o8Qs/8VjB935gYfc0jRZVnMdrqgWKqx8Mqtb1TcIs+qhSvEbAMVAkqpMsgNfLDw8MuH+qzfxtYcp3zzhgFR+c8dytgWbrruoSNPr6RV2ohtQZ8dOhE4GL6hN0kavBXeMLi8wZ9e4XN2W11ScLaTWV6RyvoKS0xNTn2GX9DKjeCPreJ6Tyq00M/AipPFmU7Vdj3VIsAaEKCLge+7xrjr1mI3sp0QLdf0AsDtqyut0fMP5psAToDqH7ql12BWuxXA7YArlU23baLatvfmR6qKqpFLnRiPDw86B8qmi/HsgLLCiwr8B8q8Ad8obO6P1qR+AAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/afsringlogo-maroon.2cb88d36.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABVRJREFUaAXFmktsG0UYx2fW9FC4hHVIkBAH5KylJJQU2ko9cAgHEChSVERtCZWWp0BFqOIhhHqDG1Il4AKU8hA4EKG4UQwokaJeIsQReqsP2VbyvXg5IvHw8P9sz2a6sT3f7NpmpGR3Z7755v+bmZ3XWopEKBcKjyjP+wDR9+DvQjUMLyRMxvp4slg87wnxphKiIZV6ay0MfzYFSPOhFARLQsoaIm8z4j9f2919Bc/wMdYgy8Xi1yjxjC4VAv4RSp1ApW7quJy+6SOeko/M5/P3XWs2f9C2Y7juE09lomI9VHB53vev1qMopLg2wADxZENhYYwQPcV3ZOyHkCcLhSe8XG5LG1iuFXSnZy02mZJLxWIFNX2a40Qp9VhufnJyS0qZ52SAzcJcPl+oN5sbTHsnM/T5Fa54cgzbox7+TbuUQgWUg+Bblzwc267PZzi2sY2Ud3t4sz+LI7g3Up4aJgR8reLlPMUt3rC7iAoVAg4+hIPXjQTWLfrghgjDUlWIf1kZEkYlGkSCoIou/GQiyf6o1EeYE95oj0LXomh7zven4eiYPeeeBexnhe8fmo+iy3XHeWIRc80dGcWTkngewLi6mQViKorWG0K0yKktLEL8XUFQQwUs22yT6Wj1TzGRndPxMQBFZIG43fePAGKtYYFY3BO/RGW6hK74V808twBQQgaIog1iccjiSe8+AIrMCvFwFFV/S7TEy0Ic8DrdZig1Tzop9ASghCwQf/r+cUB8ryFI/B9BsIk+/zj5dgm9uo2Zvz2MmhHJewyxX2KIfSEZb3tGwVfuDMN2bXfFP2rLk0y3iSd7KwAZAeIiIGhJ7Rq2IOIAat5ZPAr6GOuu12wFsgDgRALiizQtYRPQM12przBJvdgzLRHZ9x1I2AlMdj9hHX4vIB5Mpg31uSP+Ja5PNgA5HDnEnnj27s8JwICYQUs8wK0lll0K8eQX+2XnoObC8Az2pt855+yXIaV4cufcApRpBwu3UhTVbvp+9pbIIJ60pAKgjDvDgEArYrR5Hu7YfZ7KNkOaLmTmz3z/LnMu6ldQ6hZAwV49CCp4mdPspDp6MBBQN6TuuJOyFVIBDEV8BwH134HAEJ3qoCANgJwKgpVMNa/F6ysgaJKkeUZHca+uAHpJMfyzIczwaSBcALR455UptzbRqs4QXIDRi9eUjhAsAJyYXULtsBdYWguutJxuYDldMOLstx2IabwT8Sl0v0w2AKp52tA4i+9uaJYPRtEq7dBSQBylUxLaGfYTT/EDAbrinft8V/zSJSH+pm0lbS/TQAD6mA2iLwCO3D+BA2xn3QLEb2IruUzidU4D4iH4LOp4ztUG0ROgK/4spwDThsTfDMMT6/QlJREIYgrnRnT0MkyIfQBZxe/0EK9ZGiOAuAUgg/gN1PxTg8QPCwKT3QRGp23tLwbIIp5OqPGJh31CbbTEIXSnWS2GdZXyuAnRBsgqPs3xOkHQqTadbmeBkOWZmXeE573PojeM8MKu4pQ4/VLa8IXhmj5wPG1E8W6Vejs3Nzn5Iw6HDvJydKywfVqBeNaHOI5f9Ol1fAWdga3TQQF0HKZvZL9zColtlPqmursbf3yO4zPe4BSOKqTi4gbam55oteKPBYzMFexhn2PYpTKhT7jUuuzMUp7LofluYLr+FX2wDKJBe2T6Rjwy8Vo0PuHW6KM6nhd0XPIKSPrJwTK68XZ7FMKCKcTQdHUAhBaPvKMP9LOGfhBd8fHvJeJ5YAAE/diDVqNjEa+rpxdEUjzZxgD0QBD3T0z8oqSk5qO099BM5ynt/wiAqM3m83+hay9AfF21WqcvX79+xdTyH0wdbq3nMAtcAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/logo-association.64b1eed8.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAANCAYAAAB2HjRBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDM1MiwgMjAyMC8wMS8zMC0xNTo1MDozOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjI2NkMxODg3NzZCMTFFQThCMEZCNzJCQjhBRjMxMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkU1ODA1OTA3NzZDMTFFQThCMEZCNzJCQjhBRjMxMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMjY2QzE4Njc3NkIxMUVBOEIwRkI3MkJCOEFGMzEwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMjY2QzE4Nzc3NkIxMUVBOEIwRkI3MkJCOEFGMzEwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkaVJnwAAAFrSURBVHjalJK9S8NgEMYvbz6aNraEGJpmcHbtIrg4+DELIgoOTiLO4uaiKIKL4OLSwcXBwUXQ0cF/QBwdOjllcSq0+WoSn4stlNAgPfiRN+/dc5e7i0R/Ng+uTNPctG1bsyzrXdf1k263++153oIQ4gZ3ayBGzEulUjnF3Y8C0Rx4A+1+v59ngmO7Xq8vSpJ0hNe7NE3bvV6P8CRFUQ6r1eoyfCsynOdgh0XsDIKAOInv+80wDA+iKGplWUZJkvAdDQYDMgzDqdVqCotvQZMmbDgc5kEQU9HiOCZZlqnRaFj82S0qMa44zTgpkjsC5w+a0dAvJ/hkcWcWoaZpuRiVO9zzF3DA0n9C7hWT5ol3MNzrSd8Dt1kGhBmEGQb1iH+BXNclMSHeL2sBlfLPxf7vMcS9cd9yIe6V1w1WxxcQkKqqHHwBjlnEybgFMaXQJdjijYzWFYNdHM+KgaJkNs9gfbTGDfDEFYv2K8AAes5/low8aCkAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAYVJREFUWAntWO0RgjAMFSdgBEZgBEZwBEdxBEfACXQEnEA20A1kA3zhqPZC1aaG4o/mLtd8NXm8iiKrlaL0fV9Dt4ot9VqN4LAM8l8gAYmY4/IfIIHKBc6AXRYkUOwMkg9rqfdBEnQCoOoDKDt1hZMLWuuUYmhroxjtmyNGoZ3OVM8uGPiOvRo5F8i7Z+tJ2XoS8QtUb8pqxEm55HRRPOjjhwJ09T5nWdYgsXclQ2OhAFvHwJpiANlhOZDNxLWHlSi5OC46sg5qS2HaI7i1E7Abk4u2YugG+gRpDx5zWAahm6aw89FsDC6hpwEGAJvB8OluJvC05ia+2EogbCCwi8XApMEaDOAIN9AL1FeOKIxz7BhU+aJidRcNcr72wFBz17L5Xm71dQArCPkl+eVrIwpAdo3zuiEMzouIdU8AGSFiNzEopoxtSAwyQsRuYlBMGduQGGSEiN3EoJgytiExyAgRuyEM3sRTXhualzmThQf70uvhfloU9d0M/XFqpxickQ7R4DcMD/02nlDFt6RiAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAhtJREFUWAntWEFOwkAUbYuwJnCBLoAFG+EG9QZdGOJObiCeAI/AEXBn1EQ8gfUGsHEBLMoFCG4LdnyDnQamI85MKyamk5CZ/+f9/x+vf1powchwdOr1YbNaLb8tl+Os0haySkTJGaZ5aZqm26xUFlmRzIQgI8e+bJYkUxPkyWVN0mQJdeZOo3GDuP6hWEJI+2E20+5JbYLntZpjWdbLIXLRnh8EQXvk+ysJbAJiJTySDpAb8FBiGAveB9sulUo9gV/KpUWQqofsp3wFkxBPRBKX+YrHytpaBKGeIyoQEjJEzwz5PZzqcvSl+K0fbS2CoqxQ6fVxPvfQb4lLL8LL+nQJjgUFhtS3PQyE3PL7m81GFMPDErYWQajkQbH33WyF9dpjNvowXlMfVfeop5gWQ191d0ne+b5PydCBvdXXCuRwskG+y2zVWUtBWuR+Oh1hckDgmdq4abt03g5C3C15XOp1ELR2yTPIUWfXtsv0w4pe2LbN1vn81wrgvqo+aL+hx/o4DC3J6JEVBNc6vXgiWSCGRU+EJ5CLfRIL96NYtIFrS2D3IMqn2LSs3l4GSYOqrfO4UyaIu258WiW5xbDvnuExQLBQJyhI8puunGBadXMFcwXTKpA2Pu/BXMG0CqSNz3swVzCtAmnj/18P4oe+r6tKGIaeaqyygvijPlAtEuEn9OWSaqwyQfo6F0qcodBEphh7w4D3OY4Mnsd8AtoIuTjqPQUGAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAgtJREFUaAXtlo1RwkAQhYljAenAdGA6MCVgBaEDKcES6ADsACsQKzBWAB0YK4jfjgQPbu+ETEAYd2fe3N3e/r5LLhkMTIwBY8AYMAaMAWPAGPifDDRNk19s5xQ/Bc1FNtAWf3ENUHAK3qTwVi7mBCi4BB9t4e04YJKD9Fw7obYSvABVpIEFWILyHJqgDiG0BFPgMY5uSxJWCwq/c4qvmNfO+hRTeQLyLomuFadOgZQ4J1FdnSTLEZNYA0ckd6/Q7jvwjscMVI7nkPmDs3anTyzE1rV39915yiIHI3ADNLlHKTbZerxl/F24hSZgpFmin4NdqVFIok6Cr+TTZOgGxCAFIyDXfFBcH28e8NpK5DntoSCuVtQs5Ip9EfAJ/8zhkAFPQkkO0RN05AX+/h5Fw+AzBvIEbCR2C2VKtFdF10W16uKUJMkEvwJ8tv6xBqrWyBndL7ajPniaKx61ovNUNCF1FWDThGfUKjin1easfibjdr/rSKitX+J16MdD4uGTg1nURwzWwd1BfrCGUcfAJn5ys0yBJlnALapOYrtkkaDLgI0c5Tywp6kzlAWQcVeeeTQ6kbIbyFvTxESjq0ed3CqZl7hPBQm0R6mvHoo+aw3Gotq+T6IiZh5MeIwNSQjkNOTYu4oUPu6rvuhLHEtCEcJeGrNR9ipe1lrRm8oYMAaMAWPAGDAGjIG/YOAL8Jd/R1xxo20AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAstJREFUaAXtVz1y00AUlhQ7LcIXQJmJXYQiKulQS+fMkAxdxAkwN/ANkhsgd4xDYTo6QkeHUkBhZxLlAh7TRh6J7zlaj/y8siyZ8USw20jvd9/37e5bSdPUUAwoBhQDigHFgGJAMfB/MnDcbNpGVaGj+A+6rv/QqwggKd6l2isFoG1ZZr1e/wrmbUF8ZbbQSat1iuJv08XPVoAOQhiGwSAIJgLVY3pS4XEcuyjckdWlA8AljM9g7PaHw57MaZs6IhT1HKJoB/O28W6uml8AeCmcEOjjfdurYaJQW9RQ5FnjzmUT8TzbkitziLMIUQCymNmWPn0GrqIo8jAxHeLZwHmgLvBOyAvPOO5FDwd+7r9gTwmGYZgQ7VjTXNyc1PFk4whKW4tjS3s40IcyJ64jAD46j3cxGnnceNxqdbgOvr+hc+CfWziLHUDuok2eZ5GCNt4VMcmt24ZMd8C8Swq7eK78lMAlAtKWxhEmomJKj+TuWSwKK9ofjVxZ0tf7+w5AdGVAMg/xG8uyZMk2LT7J6fHcYMriOiF/ur6+xIo72OLvkx0gTFomgGmttpQQwd/mkRu8IE9QJhxAzhHnpEFkA5hOfT6JbAm5z5qyveSn65MlnUSRnL05iEwA9HGHZb3jObAfO1xXVAYRpzxGT3U/buOyAIGO1UNc9jhpNj20tIXJsHwTFPC2zFlIOssZ4l0+q3F/v/cxCAKuz5NXAqCDHO3u3sqSAIiPQgYym0wHfwv+DmwWt2OlP18Mh22uX0deCYASrOrb60yQ50MHcicM7TLsU+6dvAl+jcdfnjcae9hKdp5vGTsAvOrf3PhlYikmFwA5/RyPBweNxlNsgRck/6VxRcWjNX7fJF/uFkonn/0taVoHe5a+kZ6kbQXeZ99cSU8vECZ3LQQgnYLAgEEzrct7n+Jueaz/3nm1K7tiQDGgGFAMKAYUA/8kA38AuuPtuLx9orwAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAABCNJREFUWAnNWDty1EAQbYkCDAk+ABRybKpYMuMEcQKbAENm+wRrbmBOgDmBN+QTeH0CRGIIoQpILRcOCE1C8Sl2eG8lrea3q9F6XWaqtOqZ6c+b7p6e0UbSoj1MlzuRqPVIpFOIRWnxVjneuRI5EVH93/Jzv599AH36BluT22ramb8kV7sAtiESJRLYFIDGop6/yN5ngSJetokA19KldZF4B0zzXumAwRLoEwDNA9gdFi/AwmtXdiOJVh0JbQDG37ILJQl+b2pTBsnQxzJ4MI03HYBlSN9gomNYKTr7Axn0/8jPvi/HmKMI6wZYsTAXMGQ3X2fve4WqsF8D4Dhw9BQMb4d6oNSzhQ2zhShc06G0BWkAXEvv7tlhRXievsoOtnUjoXThUemB/3Ylw3Djuf86O/hQjU16x9Xkw3RpwwbH1U4LjnoJ4pf8SEF+ZJ8NHplHNPaKXvPvECBDEkn8TGen59rmiy5f0cxVgkSafK/GADNZS5e36/54aggQdQ65UpcS5txpPGebI0h4DRvHaF06xhjxdIYAeTroc9wQen8WNDdYVZaojw65KHM2aMdUzESmy7WZ/dDdqskEkfbCY4mbAUJoQ9fOOqf3Z0kXC1dHms6VpjDH2AzwYN1YhOvemVCG/jmZM+zbFkdlpprwnRDV3CzeSqKTNnpi1L57lYCexNXYrN84kzNd50DiVO/btONBm+G8+wBYJy22/s2zBvR3ePOprSgZ5HXPpbhJNIYocVlmO4ITy7BxwbDv2mIOGklb1EWXcVYjiJK9a/NJumO77tl1cZJw27my5q3UcuoItTGv+y4Ve+peY/F01YSN8My3OPtW3+nGZd3br2eixKOonp6SKr3X1cVxB2gGSIFIBju6IOjurHPxslx9xgtCZYc1N+TMH9bBknHkRSrCs9t0TlbGmt68DIOHz6jZF4fRhEWMCjW8uIVVjS6V3G0I9ZvTgnyU3u3i1rKr20VpexriPcqMAHI3YVWruqIS5OHjdCnVx0NoLuxRugxgkZE+AMdP0F6IDvIAg9kYDnvFBYfKkNSNKycweJ6bwbilm1aGvd7L7GDTM24MOQA5W35A7aCIXzO4hx3F/2D6WNuJilTGoUipBMHAozr2hxfn2Zg+Hn2NIL0AqbD4ZGQZcD/AOd+mMecYViXxoUduIkgchf72Jf/67XN+vLOY3MAi1B2sfs7POX6UpQR5vfkye9f7lB+fLCbXF6CnY0l0biU3ks/511EV0efHelBnYl7xA6f8hljR51x6eDvqswj7dir+HOgB5LorJ15PBgHUlRFsdU2vLpu8MpW3kpzVQOf30W1AtgboMzjNWCjIsTk4jdE2MsjvfkhOnhtALiYE5LmFWPf2pHCfqwcrkOM8iTK18F8A9IWbJw++odP/BqAOEvQCwfH/xX+6go1Nf0xfogAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAQZJREFUWAntmLENwjAQRXEUXIcN0qRnA9iANMwBI8AkUCOGMBukjjIELJDwkSis7yjGtoRSnKVI/nfn0/n5JFtRi4RRl2WhtT7YKfq+f9y7zti2kHkeEsyxS62vsO1su1LqCb2ybSHzLCTYiR2Ggm0oyLFxzJROK2gqc6RPCvKBE0JCyEfA55ceEkI+Aj7/7HpIfZ8Ql2HkovTtBv712GWKXOaHtU4I1p1zvGeO8NRI7ATEGpBrG7lWze7IpCDfUWZ4Axs008sX+Cd/k9TJ+6oyaOANF3tr2+i80kNMk7UQYiKshRATYS2EmAhrIcREWAshJsJ6doSS/qDh2XLCDj+fPRpbhM7fB/0qq7Yb6fcAAAAASUVORK5CYII=\""],"sourceRoot":""}