{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./App/advocacy-quiz/components/advocacy-quiz-app.tsx","webpack:///./App/advocacy-quiz/components/timer/stopwatch-component.tsx","webpack:///./App/advocacy-quiz/components/timer/timer-component.tsx","webpack:///./App/advocacy-quiz/index.tsx","webpack:///./node_modules/dom-helpers/esm/addClass.js","webpack:///./node_modules/dom-helpers/esm/hasClass.js","webpack:///./node_modules/dom-helpers/esm/removeClass.js","webpack:///./node_modules/react-transition-group/esm/CSSTransition.js","webpack:///./node_modules/react-transition-group/esm/ReplaceTransition.js","webpack:///./node_modules/react-transition-group/esm/SwitchTransition.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/index.js","webpack:///./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///./node_modules/react-transition-group/esm/utils/PropTypes.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js"],"names":["addClass","element","className","classList","add","hasClass","setAttribute","baseVal","contains","indexOf","replaceClassName","origClass","classToRemove","replace","RegExp","removeClass","remove","_addClass","node","classes","split","forEach","c","addOneClass","removeOneClass","CSSTransition","_React$Component","_inheritsLoose","_this","_len","arguments","length","args","Array","_key","call","apply","concat","appliedClasses","appear","enter","exit","onEnter","maybeNode","maybeAppearing","_this$resolveArgument","resolveArguments","appearing","removeClasses","props","onEntering","_this$resolveArgument2","type","onEntered","_this$resolveArgument3","onExit","_this$resolveArgument4","onExiting","_this$resolveArgument5","onExited","_this$resolveArgument6","nodeRef","current","getClassNames","classNames","isStringClassNames","prefix","baseClassName","activeClassName","doneClassName","_proto","prototype","phase","_this$getClassNames","forceReflow","_this$appliedClasses$","base","active","done","render","_this$props","_","_objectWithoutPropertiesLoose","React","createElement","Transition","_extends","Component","defaultProps","propTypes","process","classNamesShape","PropTypes","func","ReplaceTransition","_args","handleEnter","_len2","_key2","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","handler","idx","originalArgs","_child$props","children","child","Children","toArray","undefined","ReactDOM","findDOMNode","inProp","in","_React$Children$toArr","first","second","TransitionGroup","cloneElement","key","bool","isRequired","propName","count","Error","_leaveRenders","_enterRenders","areChildrenDifferent","oldChildren","newChildren","isValidElement","modes","out","callHook","name","cb","_element$props","leaveRenders","_ref","changeState","ENTERING","_ref2","enterRenders","_ref3","ENTERED","_ref4","SwitchTransition","state","status","appeared","setState","componentDidMount","getDerivedStateFromProps","mode","EXITING","_this$state","data","component","TransitionGroupContext","Provider","value","isMounting","oneOf","oneOfType","UNMOUNTED","EXITED","context","parentGroup","initialStatus","appearStatus","unmountOnExit","mountOnEnter","nextCallback","prevState","nextIn","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","timeout","mounting","performEnter","performExit","_this2","timeouts","enterTimeout","config","disabled","safeSetState","onTransitionEnd","_this3","cancel","nextState","callback","setNextCallback","_this4","event","doesNotHaveTimeoutOrListener","addEndListener","setTimeout","maybeNextCallback","_in","_mountOnEnter","_unmountOnExit","_appear","_enter","_exit","_timeout","_addEndListener","_onEnter","_onEntering","_onEntered","_onExit","_onExiting","_onExited","_nodeRef","childProps","only","contextType","shape","Element","any","propValue","componentName","location","propFullName","secret","instanceOf","ownerDocument","defaultView","pt","timeoutsShape","noop","values","Object","obj","keys","map","k","childFactory","bind","_assertThisInitialized","contextValue","firstRender","mounted","nextProps","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","createContext","mapFn","mapper","result","create","mergeChildMappings","prev","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","push","i","childMapping","nextKey","pendingNextKey","getProp","prop","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","number","string","enterDone","enterActive","exitDone","exitActive","scrollTop"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEzB,YAAU,EAAE2B,gEArEuF;;AAuEnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEjD,SAAO,EAAEkD,iDAAS,CAACC,IA/EgF;;AAiFnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE3C,YAAU,EAAE0C,iDAAS,CAACC,IAzF6E;;AA2FnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACExC,WAAS,EAAEuC,iDAAS,CAACC,IAnG8E;;AAqGnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEtC,QAAM,EAAEqC,iDAAS,CAACC,IA7GiF;;AA+GnG;AACF;AACA;AACA;AACA;AACA;AACA;AACEpC,WAAS,EAAEmC,iDAAS,CAACC,IAtH8E;;AAwHnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACElC,UAAQ,EAAEiC,iDAAS,CAACC;AAhI+E,CAA3B,CAAhD,GAiIrB,SAjIL;AAkIepE,4EAAf,E;;;;;;;;;;;;AC3ZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIqE,iBAAiB,GAAG,aAAa,UAAUpE,gBAAV,EAA4B;AAC/DC,0FAAc,CAACmE,iBAAD,EAAoBpE,gBAApB,CAAd;;AAEA,WAASoE,iBAAT,GAA6B;AAC3B,QAAIlE,KAAJ;;AAEA,SAAK,IAAIC,IAAI,GAAGC,SAAS,CAACC,MAArB,EAA6BgE,KAAK,GAAG,IAAI9D,KAAJ,CAAUJ,IAAV,CAArC,EAAsDK,IAAI,GAAG,CAAlE,EAAqEA,IAAI,GAAGL,IAA5E,EAAkFK,IAAI,EAAtF,EAA0F;AACxF6D,WAAK,CAAC7D,IAAD,CAAL,GA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EAAE,CAAC,KAAKZ;AADb;AADgE,KAArD,EAIjBQ,SAJiB,CAApB;AAKD,GAjCD;;AAmCA,SAAOX,gBAAP;AACD,CAnGmC,CAmGlC7E,4CAAK,CAACI,SAnG4B,CAApC;;AAqGAyE,gBAAgB,CAACvE,SAAjB,GAA6BC,KAAA,GAAwC;AACnE;AACF;AACA;AACA;AACA;AACA;AACA;AACE6E,MAAI,EAAE3E,iDAAS,CAACoF,KAAV,CAAgB,CAAC/B,KAAK,CAAClB,EAAP,EAAWkB,KAAK,CAACC,GAAjB,CAAhB,CAR6D;;AAUnE;AACF;AACA;AACE3B,UAAQ,EAAE3B,iDAAS,CAACqF,SAAV,CAAoB,CAACrF,iDAAS,CAAC3F,OAAV,CAAkBsI,UAAnB,CAApB;AAbyD,CAAxC,GAczB,SAdJ;AAeAyB,gBAAgB,CAACxE,YAAjB,GAAgC;AAC9B+E,MAAI,EAAEtB,KAAK,CAACC;AADkB,CAAhC;AAGec,+EAAf,E;;;;;;;;;;;;AChQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAIkB,SAAS,GAAG,WAAhB;AACA,IAAIC,MAAM,GAAG,QAAb;AACA,IAAIzB,QAAQ,GAAG,UAAf;AACA,IAAII,OAAO,GAAG,SAAd;AACA,IAAIU,OAAO,GAAG,SAAd;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAInF,UAAU,GAAG,aAAa,UAAU3D,gBAAV,EAA4B;AACxDC,0FAAc,CAAC0D,UAAD,EAAa3D,gBAAb,CAAd;;AAEA,WAAS2D,UAAT,CAAoBpC,KAApB,EAA2BmI,OAA3B,EAAoC;AAClC,QAAIxJ,KAAJ;;AAEAA,SAAK,GAAGF,gBAAgB,CAACS,IAAjB,CAAsB,IAAtB,EAA4Bc,KAA5B,EAAmCmI,OAAnC,KAA+C,IAAvD;AACA,QAAIC,WAAW,GAAGD,OAAlB,CAJkC,CAIP;;AAE3B,QAAI7I,MAAM,GAAG8I,WAAW,IAAI,CAACA,WAAW,CAACN,UAA5B,GAAyC9H,KAAK,CAACT,KAA/C,GAAuDS,KAAK,CAACV,MAA1E;AACA,QAAI+I,aAAJ;AACA1J,SAAK,CAAC2J,YAAN,GAAqB,IAArB;;AAEA,QAAItI,KAAK,CAAC8E,EAAV,EAAc;AACZ,UAAIxF,MAAJ,EAAY;AACV+I,qBAAa,GAAGH,MAAhB;AACAvJ,aAAK,CAAC2J,YAAN,GAAqB7B,QAArB;AACD,OAHD,MAGO;AACL4B,qBAAa,GAAGxB,OAAhB;AACD;AACF,KAPD,MAOO;AACL,UAAI7G,KAAK,CAACuI,aAAN,IAAuBvI,KAAK,CAACwI,YAAjC,EAA+C;AAC7CH,qBAAa,GAAGJ,SAAhB;AACD,OAFD,MAEO;AACLI,qBAAa,GAAGH,MAAhB;AACD;AACF;;AAEDvJ,SAAK,CAACqI,KAAN,GAAc;AACZC,YAAM,EAAEoB;AADI,KAAd;AAGA1J,SAAK,CAAC8J,YAAN,GAAqB,IAArB;AACA,WAAO9J,KAAP;AACD;;AAEDyD,YAAU,CAACiF,wBAAX,GAAsC,SAASA,wBAAT,CAAkCd,IAAlC,EAAwCmC,SAAxC,EAAmD;AACvF,QAAIC,MAAM,GAAGpC,IAAI,CAACzB,EAAlB;;AAEA,QAAI6D,MAAM,IAAID,SAAS,CAACzB,MAAV,KAAqBgB,SAAnC,EAA8C;AAC5C,aAAO;AACLhB,cAAM,EAAEiB;AADH,OAAP;AAGD;;AAED,WAAO,IAAP;AACD,GAVD,CAUE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzBA;;AA4BA,MAAI7G,MAAM,GAAGe,UAAU,CAACd,SAAxB;;AAEAD,QAAM,CAAC+F,iBAAP,GAA2B,SAASA,iBAAT,GAA6B;AACtD,SAAKwB,YAAL,CAAkB,IAAlB,EAAwB,KAAKN,YAA7B;AACD,GAFD;;AAIAjH,QAAM,CAACwH,kBAAP,GAA4B,SAASA,kBAAT,CAA4BC,SAA5B,EAAuC;AACjE,QAAIC,UAAU,GAAG,IAAjB;;AAEA,QAAID,SAAS,KAAK,KAAK9I,KAAvB,EAA8B;AAC5B,UAAIiH,MAAM,GAAG,KAAKD,KAAL,CAAWC,MAAxB;;AAEA,UAAI,KAAKjH,KAAL,CAAW8E,EAAf,EAAmB;AACjB,YAAImC,MAAM,KAAKR,QAAX,IAAuBQ,MAAM,KAAKJ,OAAtC,EAA+C;AAC7CkC,oBAAU,GAAGtC,QAAb;AACD;AACF,OAJD,MAIO;AACL,YAAIQ,MAAM,KAAKR,QAAX,IAAuBQ,MAAM,KAAKJ,OAAtC,EAA+C;AAC7CkC,oBAAU,GAAGxB,OAAb;AACD;AACF;AACF;;AAED,SAAKqB,YAAL,CAAkB,KAAlB,EAAyBG,UAAzB;AACD,GAlBD;;AAoBA1H,QAAM,CAAC2H,oBAAP,GAA8B,SAASA,oBAAT,GAAgC;AAC5D,SAAKC,kBAAL;AACD,GAFD;;AAIA5H,QAAM,CAAC6H,WAAP,GAAqB,SAASA,WAAT,GAAuB;AAC1C,QAAIC,OAAO,GAAG,KAAKnJ,KAAL,CAAWmJ,OAAzB;AACA,QAAI3J,IAAJ,EAAUD,KAAV,EAAiBD,MAAjB;AACAE,QAAI,GAAGD,KAAK,GAAGD,MAAM,GAAG6J,OAAxB;;AAEA,QAAIA,OAAO,IAAI,IAAX,IAAmB,OAAOA,OAAP,KAAmB,QAA1C,EAAoD;AAClD3J,UAAI,GAAG2J,OAAO,CAAC3J,IAAf;AACAD,WAAK,GAAG4J,OAAO,CAAC5J,KAAhB,CAFkD,CAE3B;;AAEvBD,YAAM,GAAG6J,OAAO,CAAC7J,MAAR,KAAmBoF,SAAnB,GAA+ByE,OAAO,CAAC7J,MAAvC,GAAgDC,KAAzD;AACD;;AAED,WAAO;AACLC,UAAI,EAAEA,IADD;AAELD,WAAK,EAAEA,KAFF;AAGLD,YAAM,EAAEA;AAHH,KAAP;AAKD,GAjBD;;AAmBA+B,QAAM,CAACuH,YAAP,GAAsB,SAASA,YAAT,CAAsBQ,QAAtB,EAAgCL,UAAhC,EAA4C;AAChE,QAAIK,QAAQ,KAAK,KAAK,CAAtB,EAAyB;AACvBA,cAAQ,GAAG,KAAX;AACD;;AAED,QAAIL,UAAU,KAAK,IAAnB,EAAyB;AACvB;AACA,WAAKE,kBAAL;;AAEA,UAAIF,UAAU,KAAKtC,QAAnB,EAA6B;AAC3B,YAAI,KAAKzG,KAAL,CAAWuI,aAAX,IAA4B,KAAKvI,KAAL,CAAWwI,YAA3C,EAAyD;AACvD,cAAIvK,IAAI,GAAG,KAAK+B,KAAL,CAAWY,OAAX,GAAqB,KAAKZ,KAAL,CAAWY,OAAX,CAAmBC,OAAxC,GAAkD8D,gDAAQ,CAACC,WAAT,CAAqB,IAArB,CAA7D,CADuD,CACkC;AACzF;AACA;;AAEA,cAAI3G,IAAJ,EAAUwD,iEAAW,CAACxD,IAAD,CAAX;AACX;;AAED,aAAKoL,YAAL,CAAkBD,QAAlB;AACD,OAVD,MAUO;AACL,aAAKE,WAAL;AACD;AACF,KAjBD,MAiBO,IAAI,KAAKtJ,KAAL,CAAWuI,aAAX,IAA4B,KAAKvB,KAAL,CAAWC,MAAX,KAAsBiB,MAAtD,EAA8D;AACnE,WAAKf,QAAL,CAAc;AACZF,cAAM,EAAEgB;AADI,OAAd;AAGD;AACF,GA3BD;;AA6BA5G,QAAM,CAACgI,YAAP,GAAsB,SAASA,YAAT,CAAsBD,QAAtB,EAAgC;AACpD,QAAIG,MAAM,GAAG,IAAb;;AAEA,QAAIhK,KAAK,GAAG,KAAKS,KAAL,CAAWT,KAAvB;AACA,QAAIO,SAAS,GAAG,KAAKqI,OAAL,GAAe,KAAKA,OAAL,CAAaL,UAA5B,GAAyCsB,QAAzD;;AAEA,QAAI1C,KAAK,GAAG,KAAK1G,KAAL,CAAWY,OAAX,GAAqB,CAACd,SAAD,CAArB,GAAmC,CAAC6E,gDAAQ,CAACC,WAAT,CAAqB,IAArB,CAAD,EAA6B9E,SAA7B,CAA/C;AAAA,QACIJ,SAAS,GAAGgH,KAAK,CAAC,CAAD,CADrB;AAAA,QAEI/G,cAAc,GAAG+G,KAAK,CAAC,CAAD,CAF1B;;AAIA,QAAI8C,QAAQ,GAAG,KAAKN,WAAL,EAAf;AACA,QAAIO,YAAY,GAAG3J,SAAS,GAAG0J,QAAQ,CAAClK,MAAZ,GAAqBkK,QAAQ,CAACjK,KAA1D,CAXoD,CAWa;AACjE;;AAEA,QAAI,CAAC6J,QAAD,IAAa,CAAC7J,KAAd,IAAuBmK,+CAAM,CAACC,QAAlC,EAA4C;AAC1C,WAAKC,YAAL,CAAkB;AAChB3C,cAAM,EAAEJ;AADQ,OAAlB,EAEG,YAAY;AACb0C,cAAM,CAACvJ,KAAP,CAAaI,SAAb,CAAuBV,SAAvB;AACD,OAJD;AAKA;AACD;;AAED,SAAKM,KAAL,CAAWP,OAAX,CAAmBC,SAAnB,EAA8BC,cAA9B;AACA,SAAKiK,YAAL,CAAkB;AAChB3C,YAAM,EAAER;AADQ,KAAlB,EAEG,YAAY;AACb8C,YAAM,CAACvJ,KAAP,CAAaC,UAAb,CAAwBP,SAAxB,EAAmCC,cAAnC;;AAEA4J,YAAM,CAACM,eAAP,CAAuBJ,YAAvB,EAAqC,YAAY;AAC/CF,cAAM,CAACK,YAAP,CAAoB;AAClB3C,gBAAM,EAAEJ;AADU,SAApB,EAEG,YAAY;AACb0C,gBAAM,CAACvJ,KAAP,CAAaI,SAAb,CAAuBV,SAAvB,EAAkCC,cAAlC;AACD,SAJD;AAKD,OAND;AAOD,KAZD;AAaD,GArCD;;AAuCA0B,QAAM,CAACiI,WAAP,GAAqB,SAASA,WAAT,GAAuB;AAC1C,QAAIQ,MAAM,GAAG,IAAb;;AAEA,QAAItK,IAAI,GAAG,KAAKQ,KAAL,CAAWR,IAAtB;AACA,QAAIgK,QAAQ,GAAG,KAAKN,WAAL,EAAf;AACA,QAAIxJ,SAAS,GAAG,KAAKM,KAAL,CAAWY,OAAX,GAAqB8D,SAArB,GAAiCC,gDAAQ,CAACC,WAAT,CAAqB,IAArB,CAAjD,CAL0C,CAKmC;;AAE7E,QAAI,CAACpF,IAAD,IAASkK,+CAAM,CAACC,QAApB,EAA8B;AAC5B,WAAKC,YAAL,CAAkB;AAChB3C,cAAM,EAAEiB;AADQ,OAAlB,EAEG,YAAY;AACb4B,cAAM,CAAC9J,KAAP,CAAaU,QAAb,CAAsBhB,SAAtB;AACD,OAJD;AAKA;AACD;;AAED,SAAKM,KAAL,CAAWM,MAAX,CAAkBZ,SAAlB;AACA,SAAKkK,YAAL,CAAkB;AAChB3C,YAAM,EAAEM;AADQ,KAAlB,EAEG,YAAY;AACbuC,YAAM,CAAC9J,KAAP,CAAaQ,SAAb,CAAuBd,SAAvB;;AAEAoK,YAAM,CAACD,eAAP,CAAuBL,QAAQ,CAAChK,IAAhC,EAAsC,YAAY;AAChDsK,cAAM,CAACF,YAAP,CAAoB;AAClB3C,gBAAM,EAAEiB;AADU,SAApB,EAEG,YAAY;AACb4B,gBAAM,CAAC9J,KAAP,CAAaU,QAAb,CAAsBhB,SAAtB;AACD,SAJD;AAKD,OAND;AAOD,KAZD;AAaD,GA9BD;;AAgCA2B,QAAM,CAAC4H,kBAAP,GAA4B,SAASA,kBAAT,GAA8B;AACxD,QAAI,KAAKR,YAAL,KAAsB,IAA1B,EAAgC;AAC9B,WAAKA,YAAL,CAAkBsB,MAAlB;AACA,WAAKtB,YAAL,GAAoB,IAApB;AACD;AACF,GALD;;AAOApH,QAAM,CAACuI,YAAP,GAAsB,SAASA,YAAT,CAAsBI,SAAtB,EAAiCC,QAAjC,EAA2C;AAC/D;AACA;AACA;AACAA,YAAQ,GAAG,KAAKC,eAAL,CAAqBD,QAArB,CAAX;AACA,SAAK9C,QAAL,CAAc6C,SAAd,EAAyBC,QAAzB;AACD,GAND;;AAQA5I,QAAM,CAAC6I,eAAP,GAAyB,SAASA,eAAT,CAAyBD,QAAzB,EAAmC;AAC1D,QAAIE,MAAM,GAAG,IAAb;;AAEA,QAAIvI,MAAM,GAAG,IAAb;;AAEA,SAAK6G,YAAL,GAAoB,UAAU2B,KAAV,EAAiB;AACnC,UAAIxI,MAAJ,EAAY;AACVA,cAAM,GAAG,KAAT;AACAuI,cAAM,CAAC1B,YAAP,GAAsB,IAAtB;AACAwB,gBAAQ,CAACG,KAAD,CAAR;AACD;AACF,KAND;;AAQA,SAAK3B,YAAL,CAAkBsB,MAAlB,GAA2B,YAAY;AACrCnI,YAAM,GAAG,KAAT;AACD,KAFD;;AAIA,WAAO,KAAK6G,YAAZ;AACD,GAlBD;;AAoBApH,QAAM,CAACwI,eAAP,GAAyB,SAASA,eAAT,CAAyBV,OAAzB,EAAkCjF,OAAlC,EAA2C;AAClE,SAAKgG,eAAL,CAAqBhG,OAArB;AACA,QAAIjG,IAAI,GAAG,KAAK+B,KAAL,CAAWY,OAAX,GAAqB,KAAKZ,KAAL,CAAWY,OAAX,CAAmBC,OAAxC,GAAkD8D,gDAAQ,CAACC,WAAT,CAAqB,IAArB,CAA7D;AACA,QAAIyF,4BAA4B,GAAGlB,OAAO,IAAI,IAAX,IAAmB,CAAC,KAAKnJ,KAAL,CAAWsK,cAAlE;;AAEA,QAAI,CAACrM,IAAD,IAASoM,4BAAb,EAA2C;AACzCE,gBAAU,CAAC,KAAK9B,YAAN,EAAoB,CAApB,CAAV;AACA;AACD;;AAED,QAAI,KAAKzI,KAAL,CAAWsK,cAAf,EAA+B;AAC7B,UAAI1D,KAAK,GAAG,KAAK5G,KAAL,CAAWY,OAAX,GAAqB,CAAC,KAAK6H,YAAN,CAArB,GAA2C,CAACxK,IAAD,EAAO,KAAKwK,YAAZ,CAAvD;AAAA,UACI/I,SAAS,GAAGkH,KAAK,CAAC,CAAD,CADrB;AAAA,UAEI4D,iBAAiB,GAAG5D,KAAK,CAAC,CAAD,CAF7B;;AAIA,WAAK5G,KAAL,CAAWsK,cAAX,CAA0B5K,SAA1B,EAAqC8K,iBAArC;AACD;;AAED,QAAIrB,OAAO,IAAI,IAAf,EAAqB;AACnBoB,gBAAU,CAAC,KAAK9B,YAAN,EAAoBU,OAApB,CAAV;AACD;AACF,GArBD;;AAuBA9H,QAAM,CAACS,MAAP,GAAgB,SAASA,MAAT,GAAkB;AAChC,QAAImF,MAAM,GAAG,KAAKD,KAAL,CAAWC,MAAxB;;AAEA,QAAIA,MAAM,KAAKgB,SAAf,EAA0B;AACxB,aAAO,IAAP;AACD;;AAED,QAAIlG,WAAW,GAAG,KAAK/B,KAAvB;AAAA,QACIsE,QAAQ,GAAGvC,WAAW,CAACuC,QAD3B;AAAA,QAEImG,GAAG,GAAG1I,WAAW,CAAC+C,EAFtB;AAAA,QAGI4F,aAAa,GAAG3I,WAAW,CAACyG,YAHhC;AAAA,QAIImC,cAAc,GAAG5I,WAAW,CAACwG,aAJjC;AAAA,QAKIqC,OAAO,GAAG7I,WAAW,CAACzC,MAL1B;AAAA,QAMIuL,MAAM,GAAG9I,WAAW,CAACxC,KANzB;AAAA,QAOIuL,KAAK,GAAG/I,WAAW,CAACvC,IAPxB;AAAA,QAQIuL,QAAQ,GAAGhJ,WAAW,CAACoH,OAR3B;AAAA,QASI6B,eAAe,GAAGjJ,WAAW,CAACuI,cATlC;AAAA,QAUIW,QAAQ,GAAGlJ,WAAW,CAACtC,OAV3B;AAAA,QAWIyL,WAAW,GAAGnJ,WAAW,CAAC9B,UAX9B;AAAA,QAYIkL,UAAU,GAAGpJ,WAAW,CAAC3B,SAZ7B;AAAA,QAaIgL,OAAO,GAAGrJ,WAAW,CAACzB,MAb1B;AAAA,QAcI+K,UAAU,GAAGtJ,WAAW,CAACvB,SAd7B;AAAA,QAeI8K,SAAS,GAAGvJ,WAAW,CAACrB,QAf5B;AAAA,QAgBI6K,QAAQ,GAAGxJ,WAAW,CAACnB,OAhB3B;AAAA,QAiBI4K,UAAU,GAAGvJ,uGAA6B,CAACF,WAAD,EAAc,CAAC,UAAD,EAAa,IAAb,EAAmB,cAAnB,EAAmC,eAAnC,EAAoD,QAApD,EAA8D,OAA9D,EAAuE,MAAvE,EAA+E,SAA/E,EAA0F,gBAA1F,EAA4G,SAA5G,EAAuH,YAAvH,EAAqI,WAArI,EAAkJ,QAAlJ,EAA4J,WAA5J,EAAyK,UAAzK,EAAqL,SAArL,CAAd,CAjB9C;;AAmBA;AACE;AACA;AACAG,kDAAK,CAACC,aAAN,CAAoBwF,+DAAsB,CAACC,QAA3C,EAAqD;AACnDC,aAAK,EAAE;AAD4C,OAArD,EAEG,OAAOvD,QAAP,KAAoB,UAApB,GAAiCA,QAAQ,CAAC2C,MAAD,EAASuE,UAAT,CAAzC,GAAgEtJ,4CAAK,CAACiD,YAAN,CAAmBjD,4CAAK,CAACsC,QAAN,CAAeiH,IAAf,CAAoBnH,QAApB,CAAnB,EAAkDkH,UAAlD,CAFnE;AAHF;AAOD,GAjCD;;AAmCA,SAAOpJ,UAAP;AACD,CAlT6B,CAkT5BF,4CAAK,CAACI,SAlTsB,CAA9B;;AAoTAF,UAAU,CAACsJ,WAAX,GAAyB/D,+DAAzB;AACAvF,UAAU,CAACI,SAAX,GAAuBC,KAAA,GAAwC;AAC7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE7B,SAAO,EAAE+B,iDAAS,CAACgJ,KAAV,CAAgB;AACvB9K,WAAO,EAAE,OAAO+K,OAAP,KAAmB,WAAnB,GAAiCjJ,iDAAS,CAACkJ,GAA3C,GAAiD,UAAUC,SAAV,EAAqB1G,GAArB,EAA0B2G,aAA1B,EAAyCC,QAAzC,EAAmDC,YAAnD,EAAiEC,MAAjE,EAAyE;AACjI,UAAIrE,KAAK,GAAGiE,SAAS,CAAC1G,GAAD,CAArB;AACA,aAAOzC,iDAAS,CAACwJ,UAAV,CAAqBtE,KAAK,IAAI,mBAAmBA,KAA5B,GAAoCA,KAAK,CAACuE,aAAN,CAAoBC,WAApB,CAAgCT,OAApE,GAA8EA,OAAnG,EAA4GE,SAA5G,EAAuH1G,GAAvH,EAA4H2G,aAA5H,EAA2IC,QAA3I,EAAqJC,YAArJ,EAAmKC,MAAnK,CAAP;AACD;AAJsB,GAAhB,CAZoD;;AAmB7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE5H,UAAQ,EAAE3B,iDAAS,CAACqF,SAAV,CAAoB,CAACrF,iDAAS,CAACC,IAAV,CAAe0C,UAAhB,EAA4B3C,iDAAS,CAAC3F,OAAV,CAAkBsI,UAA9C,CAApB,EAA+EA,UAjC5B;;AAmC7D;AACF;AACA;AACER,IAAE,EAAEnC,iDAAS,CAAC0C,IAtC+C;;AAwC7D;AACF;AACA;AACA;AACA;AACA;AACEmD,cAAY,EAAE7F,iDAAS,CAAC0C,IA9CqC;;AAgD7D;AACF;AACA;AACA;AACEkD,eAAa,EAAE5F,iDAAS,CAAC0C,IApDoC;;AAsD7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE/F,QAAM,EAAEqD,iDAAS,CAAC0C,IAjE2C;;AAmE7D;AACF;AACA;AACE9F,OAAK,EAAEoD,iDAAS,CAAC0C,IAtE4C;;AAwE7D;AACF;AACA;AACE7F,MAAI,EAAEmD,iDAAS,CAAC0C,IA3E6C;;AA6E7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE8D,SAAO,EAAE,SAASA,OAAT,CAAiBnJ,KAAjB,EAAwB;AAC/B,QAAIsM,EAAE,GAAGC,8DAAT;AACA,QAAI,CAACvM,KAAK,CAACsK,cAAX,EAA2BgC,EAAE,GAAGA,EAAE,CAAChH,UAAR;;AAE3B,SAAK,IAAI1G,IAAI,GAAGC,SAAS,CAACC,MAArB,EAA6BC,IAAI,GAAG,IAAIC,KAAJ,CAAUJ,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,CAAlB,GAAsB,CAAhC,CAApC,EAAwEK,IAAI,GAAG,CAApF,EAAuFA,IAAI,GAAGL,IAA9F,EAAoGK,IAAI,EAAxG,EAA4G;AAC1GF,UAAI,CAACE,IAAI,GAAG,CAAR,CAAJ,GAAiBJ,SAAS,CAACI,IAAD,CAA1B;AACD;;AAED,WAAOqN,EAAE,CAACnN,KAAH,CAAS,KAAK,CAAd,EAAiB,CAACa,KAAD,EAAQZ,MAAR,CAAeL,IAAf,CAAjB,CAAP;AACD,GAhH4D;;AAkH7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEuL,gBAAc,EAAE3H,iDAAS,CAACC,IAhImC;;AAkI7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEnD,SAAO,EAAEkD,iDAAS,CAACC,IA1I0C;;AA4I7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE3C,YAAU,EAAE0C,iDAAS,CAACC,IApJuC;;AAsJ7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACExC,WAAS,EAAEuC,iDAAS,CAACC,IA9JwC;;AAgK7D;AACF;AACA;AACA;AACA;AACA;AACA;AACEtC,QAAM,EAAEqC,iDAAS,CAACC,IAvK2C;;AAyK7D;AACF;AACA;AACA;AACA;AACA;AACA;AACEpC,WAAS,EAAEmC,iDAAS,CAACC,IAhLwC;;AAkL7D;AACF;AACA;AACA;AACA;AACA;AACA;AACElC,UAAQ,EAAEiC,iDAAS,CAACC;AAzLyC,CAAxC,GA0LnB,SA1LJ,C,CA0LQ;;AAER,SAAS4J,IAAT,GAAgB,CAAE;;AAElBpK,UAAU,CAACG,YAAX,GAA0B;AACxBuC,IAAE,EAAE,KADoB;AAExB0D,cAAY,EAAE,KAFU;AAGxBD,eAAa,EAAE,KAHS;AAIxBjJ,QAAM,EAAE,KAJgB;AAKxBC,OAAK,EAAE,IALiB;AAMxBC,MAAI,EAAE,IANkB;AAOxBC,SAAO,EAAE+M,IAPe;AAQxBvM,YAAU,EAAEuM,IARY;AASxBpM,WAAS,EAAEoM,IATa;AAUxBlM,QAAM,EAAEkM,IAVgB;AAWxBhM,WAAS,EAAEgM,IAXa;AAYxB9L,UAAQ,EAAE8L;AAZc,CAA1B;AAcApK,UAAU,CAAC6F,SAAX,GAAuBA,SAAvB;AACA7F,UAAU,CAAC8F,MAAX,GAAoBA,MAApB;AACA9F,UAAU,CAACqE,QAAX,GAAsBA,QAAtB;AACArE,UAAU,CAACyE,OAAX,GAAqBA,OAArB;AACAzE,UAAU,CAACmF,OAAX,GAAqBA,OAArB;AACenF,yEAAf,E;;;;;;;;;;;;AChnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIqK,MAAM,GAAGC,MAAM,CAACD,MAAP,IAAiB,UAAUE,GAAV,EAAe;AAC3C,SAAOD,MAAM,CAACE,IAAP,CAAYD,GAAZ,EAAiBE,GAAjB,CAAqB,UAAUC,CAAV,EAAa;AACvC,WAAOH,GAAG,CAACG,CAAD,CAAV;AACD,GAFM,CAAP;AAGD,CAJD;;AAMA,IAAIvK,YAAY,GAAG;AACjBmF,WAAS,EAAE,KADM;AAEjBqF,cAAY,EAAE,SAASA,YAAT,CAAsBxI,KAAtB,EAA6B;AACzC,WAAOA,KAAP;AACD;AAJgB,CAAnB;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIW,eAAe,GAAG,aAAa,UAAUzG,gBAAV,EAA4B;AAC7DC,0FAAc,CAACwG,eAAD,EAAkBzG,gBAAlB,CAAd;;AAEA,WAASyG,eAAT,CAAyBlF,KAAzB,EAAgCmI,OAAhC,EAAyC;AACvC,QAAIxJ,KAAJ;;AAEAA,SAAK,GAAGF,gBAAgB,CAACS,IAAjB,CAAsB,IAAtB,EAA4Bc,KAA5B,EAAmCmI,OAAnC,KAA+C,IAAvD;;AAEA,QAAIpE,YAAY,GAAGpF,KAAK,CAACoF,YAAN,CAAmBiJ,IAAnB,CAAwBC,gGAAsB,CAACtO,KAAD,CAA9C,CAAnB,CALuC,CAKoC;;;AAG3EA,SAAK,CAACqI,KAAN,GAAc;AACZkG,kBAAY,EAAE;AACZpF,kBAAU,EAAE;AADA,OADF;AAIZ/D,kBAAY,EAAEA,YAJF;AAKZoJ,iBAAW,EAAE;AALD,KAAd;AAOA,WAAOxO,KAAP;AACD;;AAED,MAAI0C,MAAM,GAAG6D,eAAe,CAAC5D,SAA7B;;AAEAD,QAAM,CAAC+F,iBAAP,GAA2B,SAASA,iBAAT,GAA6B;AACtD,SAAKgG,OAAL,GAAe,IAAf;AACA,SAAKjG,QAAL,CAAc;AACZ+F,kBAAY,EAAE;AACZpF,kBAAU,EAAE;AADA;AADF,KAAd;AAKD,GAPD;;AASAzG,QAAM,CAAC2H,oBAAP,GAA8B,SAASA,oBAAT,GAAgC;AAC5D,SAAKoE,OAAL,GAAe,KAAf;AACD,GAFD;;AAIAlI,iBAAe,CAACmC,wBAAhB,GAA2C,SAASA,wBAAT,CAAkCgG,SAAlC,EAA6C9G,IAA7C,EAAmD;AAC5F,QAAI+G,gBAAgB,GAAG/G,IAAI,CAACjC,QAA5B;AAAA,QACIP,YAAY,GAAGwC,IAAI,CAACxC,YADxB;AAAA,QAEIoJ,WAAW,GAAG5G,IAAI,CAAC4G,WAFvB;AAGA,WAAO;AACL7I,cAAQ,EAAE6I,WAAW,GAAGI,kFAAsB,CAACF,SAAD,EAAYtJ,YAAZ,CAAzB,GAAqDyJ,+EAAmB,CAACH,SAAD,EAAYC,gBAAZ,EAA8BvJ,YAA9B,CADxF;AAELoJ,iBAAW,EAAE;AAFR,KAAP;AAID,GARD,CAQE;AARF;;AAWA9L,QAAM,CAAC0C,YAAP,GAAsB,SAASA,YAAT,CAAsBQ,KAAtB,EAA6BtG,IAA7B,EAAmC;AACvD,QAAIwP,mBAAmB,GAAGC,2EAAe,CAAC,KAAK1N,KAAL,CAAWsE,QAAZ,CAAzC;AACA,QAAIC,KAAK,CAACa,GAAN,IAAaqI,mBAAjB,EAAsC;;AAEtC,QAAIlJ,KAAK,CAACvE,KAAN,CAAYU,QAAhB,EAA0B;AACxB6D,WAAK,CAACvE,KAAN,CAAYU,QAAZ,CAAqBzC,IAArB;AACD;;AAED,QAAI,KAAKmP,OAAT,EAAkB;AAChB,WAAKjG,QAAL,CAAc,UAAUH,KAAV,EAAiB;AAC7B,YAAI1C,QAAQ,GAAGjC,kFAAQ,CAAC,EAAD,EAAK2E,KAAK,CAAC1C,QAAX,CAAvB;;AAEA,eAAOA,QAAQ,CAACC,KAAK,CAACa,GAAP,CAAf;AACA,eAAO;AACLd,kBAAQ,EAAEA;AADL,SAAP;AAGD,OAPD;AAQD;AACF,GAlBD;;AAoBAjD,QAAM,CAACS,MAAP,GAAgB,SAASA,MAAT,GAAkB;AAChC,QAAIC,WAAW,GAAG,KAAK/B,KAAvB;AAAA,QACIsC,SAAS,GAAGP,WAAW,CAAC2F,SAD5B;AAAA,QAEIqF,YAAY,GAAGhL,WAAW,CAACgL,YAF/B;AAAA,QAGI/M,KAAK,GAAGiC,uGAA6B,CAACF,WAAD,EAAc,CAAC,WAAD,EAAc,cAAd,CAAd,CAHzC;;AAKA,QAAImL,YAAY,GAAG,KAAKlG,KAAL,CAAWkG,YAA9B;AACA,QAAI5I,QAAQ,GAAGmI,MAAM,CAAC,KAAKzF,KAAL,CAAW1C,QAAZ,CAAN,CAA4BuI,GAA5B,CAAgCE,YAAhC,CAAf;AACA,WAAO/M,KAAK,CAACV,MAAb;AACA,WAAOU,KAAK,CAACT,KAAb;AACA,WAAOS,KAAK,CAACR,IAAb;;AAEA,QAAI8C,SAAS,KAAK,IAAlB,EAAwB;AACtB,aAAO,aAAaJ,4CAAK,CAACC,aAAN,CAAoBwF,+DAAsB,CAACC,QAA3C,EAAqD;AACvEC,aAAK,EAAEqF;AADgE,OAArD,EAEjB5I,QAFiB,CAApB;AAGD;;AAED,WAAO,aAAapC,4CAAK,CAACC,aAAN,CAAoBwF,+DAAsB,CAACC,QAA3C,EAAqD;AACvEC,WAAK,EAAEqF;AADgE,KAArD,EAEjB,aAAahL,4CAAK,CAACC,aAAN,CAAoBG,SAApB,EAA+BtC,KAA/B,EAAsCsE,QAAtC,CAFI,CAApB;AAGD,GArBD;;AAuBA,SAAOY,eAAP;AACD,CA3FkC,CA2FjChD,4CAAK,CAACI,SA3F2B,CAAnC;;AA6FA4C,eAAe,CAAC1C,SAAhB,GAA4BC,KAAA,GAAwC;AAClE;AACF;AACA;AACA;AACA;AACA;AACA;AACEiF,WAAS,EAAE/E,iDAAS,CAACkJ,GAR6C;;AAUlE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEvH,UAAQ,EAAE3B,iDAAS,CAAC1E,IAvB8C;;AAyBlE;AACF;AACA;AACA;AACA;AACEqB,QAAM,EAAEqD,iDAAS,CAAC0C,IA9BgD;;AAgClE;AACF;AACA;AACA;AACA;AACE9F,OAAK,EAAEoD,iDAAS,CAAC0C,IArCiD;;AAuClE;AACF;AACA;AACA;AACA;AACE7F,MAAI,EAAEmD,iDAAS,CAAC0C,IA5CkD;;AA8ClE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE0H,cAAY,EAAEpK,iDAAS,CAACC;AAxD0C,CAAxC,GAyDxB,SAzDJ;AA0DAsC,eAAe,CAAC3C,YAAhB,GAA+BA,YAA/B;AACe2C,8EAAf,E;;;;;;;;;;;;AC5LA;AAAA;AAAA;AAAA;AACehD,2GAAK,CAACyL,aAAN,CAAoB,IAApB,CAAf,E;;;;;;;;;;;;ACDA;AAAe;AACbhE,UAAQ,EAAE;AADG,CAAf,E;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAAS+D,eAAT,CAAyBpJ,QAAzB,EAAmCsJ,KAAnC,EAA0C;AAC/C,MAAIC,MAAM,GAAG,SAASA,MAAT,CAAgBtJ,KAAhB,EAAuB;AAClC,WAAOqJ,KAAK,IAAI7H,4DAAc,CAACxB,KAAD,CAAvB,GAAiCqJ,KAAK,CAACrJ,KAAD,CAAtC,GAAgDA,KAAvD;AACD,GAFD;;AAIA,MAAIuJ,MAAM,GAAGpB,MAAM,CAACqB,MAAP,CAAc,IAAd,CAAb;AACA,MAAIzJ,QAAJ,EAAcE,8CAAQ,CAACqI,GAAT,CAAavI,QAAb,EAAuB,UAAUjG,CAAV,EAAa;AAChD,WAAOA,CAAP;AACD,GAFa,EAEXD,OAFW,CAEH,UAAUmG,KAAV,EAAiB;AAC1B;AACAuJ,UAAM,CAACvJ,KAAK,CAACa,GAAP,CAAN,GAAoByI,MAAM,CAACtJ,KAAD,CAA1B;AACD,GALa;AAMd,SAAOuJ,MAAP;AACD;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAASE,kBAAT,CAA4BC,IAA5B,EAAkCC,IAAlC,EAAwC;AAC7CD,MAAI,GAAGA,IAAI,IAAI,EAAf;AACAC,MAAI,GAAGA,IAAI,IAAI,EAAf;;AAEA,WAASC,cAAT,CAAwB/I,GAAxB,EAA6B;AAC3B,WAAOA,GAAG,IAAI8I,IAAP,GAAcA,IAAI,CAAC9I,GAAD,CAAlB,GAA0B6I,IAAI,CAAC7I,GAAD,CAArC;AACD,GAN4C,CAM3C;AACF;;;AAGA,MAAIgJ,eAAe,GAAG1B,MAAM,CAACqB,MAAP,CAAc,IAAd,CAAtB;AACA,MAAIM,WAAW,GAAG,EAAlB;;AAEA,OAAK,IAAIC,OAAT,IAAoBL,IAApB,EAA0B;AACxB,QAAIK,OAAO,IAAIJ,IAAf,EAAqB;AACnB,UAAIG,WAAW,CAACvP,MAAhB,EAAwB;AACtBsP,uBAAe,CAACE,OAAD,CAAf,GAA2BD,WAA3B;AACAA,mBAAW,GAAG,EAAd;AACD;AACF,KALD,MAKO;AACLA,iBAAW,CAACE,IAAZ,CAAiBD,OAAjB;AACD;AACF;;AAED,MAAIE,CAAJ;AACA,MAAIC,YAAY,GAAG,EAAnB;;AAEA,OAAK,IAAIC,OAAT,IAAoBR,IAApB,EAA0B;AACxB,QAAIE,eAAe,CAACM,OAAD,CAAnB,EAA8B;AAC5B,WAAKF,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGJ,eAAe,CAACM,OAAD,CAAf,CAAyB5P,MAAzC,EAAiD0P,CAAC,EAAlD,EAAsD;AACpD,YAAIG,cAAc,GAAGP,eAAe,CAACM,OAAD,CAAf,CAAyBF,CAAzB,CAArB;AACAC,oBAAY,CAACL,eAAe,CAACM,OAAD,CAAf,CAAyBF,CAAzB,CAAD,CAAZ,GAA4CL,cAAc,CAACQ,cAAD,CAA1D;AACD;AACF;;AAEDF,gBAAY,CAACC,OAAD,CAAZ,GAAwBP,cAAc,CAACO,OAAD,CAAtC;AACD,GApC4C,CAoC3C;;;AAGF,OAAKF,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGH,WAAW,CAACvP,MAA5B,EAAoC0P,CAAC,EAArC,EAAyC;AACvCC,gBAAY,CAACJ,WAAW,CAACG,CAAD,CAAZ,CAAZ,GAA+BL,cAAc,CAACE,WAAW,CAACG,CAAD,CAAZ,CAA7C;AACD;;AAED,SAAOC,YAAP;AACD;;AAED,SAASG,OAAT,CAAiBrK,KAAjB,EAAwBsK,IAAxB,EAA8B7O,KAA9B,EAAqC;AACnC,SAAOA,KAAK,CAAC6O,IAAD,CAAL,IAAe,IAAf,GAAsB7O,KAAK,CAAC6O,IAAD,CAA3B,GAAoCtK,KAAK,CAACvE,KAAN,CAAY6O,IAAZ,CAA3C;AACD;;AAEM,SAAStB,sBAAT,CAAgCvN,KAAhC,EAAuCU,QAAvC,EAAiD;AACtD,SAAOgN,eAAe,CAAC1N,KAAK,CAACsE,QAAP,EAAiB,UAAUC,KAAV,EAAiB;AACtD,WAAOY,0DAAY,CAACZ,KAAD,EAAQ;AACzB7D,cAAQ,EAAEA,QAAQ,CAACsM,IAAT,CAAc,IAAd,EAAoBzI,KAApB,CADe;AAEzBO,QAAE,EAAE,IAFqB;AAGzBxF,YAAM,EAAEsP,OAAO,CAACrK,KAAD,EAAQ,QAAR,EAAkBvE,KAAlB,CAHU;AAIzBT,WAAK,EAAEqP,OAAO,CAACrK,KAAD,EAAQ,OAAR,EAAiBvE,KAAjB,CAJW;AAKzBR,UAAI,EAAEoP,OAAO,CAACrK,KAAD,EAAQ,MAAR,EAAgBvE,KAAhB;AALY,KAAR,CAAnB;AAOD,GARqB,CAAtB;AASD;AACM,SAASwN,mBAAT,CAA6BH,SAA7B,EAAwCC,gBAAxC,EAA0D5M,QAA1D,EAAoE;AACzE,MAAIoO,gBAAgB,GAAGpB,eAAe,CAACL,SAAS,CAAC/I,QAAX,CAAtC;AACA,MAAIA,QAAQ,GAAG0J,kBAAkB,CAACV,gBAAD,EAAmBwB,gBAAnB,CAAjC;AACApC,QAAM,CAACE,IAAP,CAAYtI,QAAZ,EAAsBlG,OAAtB,CAA8B,UAAUgH,GAAV,EAAe;AAC3C,QAAIb,KAAK,GAAGD,QAAQ,CAACc,GAAD,CAApB;AACA,QAAI,CAACW,4DAAc,CAACxB,KAAD,CAAnB,EAA4B;AAC5B,QAAIwK,OAAO,IAAI3J,GAAG,IAAIkI,gBAAX,CAAX;AACA,QAAI0B,OAAO,IAAI5J,GAAG,IAAI0J,gBAAX,CAAX;AACA,QAAIG,SAAS,GAAG3B,gBAAgB,CAAClI,GAAD,CAAhC;AACA,QAAI8J,SAAS,GAAGnJ,4DAAc,CAACkJ,SAAD,CAAd,IAA6B,CAACA,SAAS,CAACjP,KAAV,CAAgB8E,EAA9D,CAN2C,CAMuB;;AAElE,QAAIkK,OAAO,KAAK,CAACD,OAAD,IAAYG,SAAjB,CAAX,EAAwC;AACtC;AACA5K,cAAQ,CAACc,GAAD,CAAR,GAAgBD,0DAAY,CAACZ,KAAD,EAAQ;AAClC7D,gBAAQ,EAAEA,QAAQ,CAACsM,IAAT,CAAc,IAAd,EAAoBzI,KAApB,CADwB;AAElCO,UAAE,EAAE,IAF8B;AAGlCtF,YAAI,EAAEoP,OAAO,CAACrK,KAAD,EAAQ,MAAR,EAAgB8I,SAAhB,CAHqB;AAIlC9N,aAAK,EAAEqP,OAAO,CAACrK,KAAD,EAAQ,OAAR,EAAiB8I,SAAjB;AAJoB,OAAR,CAA5B;AAMD,KARD,MAQO,IAAI,CAAC2B,OAAD,IAAYD,OAAZ,IAAuB,CAACG,SAA5B,EAAuC;AAC5C;AACA;AACA5K,cAAQ,CAACc,GAAD,CAAR,GAAgBD,0DAAY,CAACZ,KAAD,EAAQ;AAClCO,UAAE,EAAE;AAD8B,OAAR,CAA5B;AAGD,KANM,MAMA,IAAIkK,OAAO,IAAID,OAAX,IAAsBhJ,4DAAc,CAACkJ,SAAD,CAAxC,EAAqD;AAC1D;AACA;AACA;AACA3K,cAAQ,CAACc,GAAD,CAAR,GAAgBD,0DAAY,CAACZ,KAAD,EAAQ;AAClC7D,gBAAQ,EAAEA,QAAQ,CAACsM,IAAT,CAAc,IAAd,EAAoBzI,KAApB,CADwB;AAElCO,UAAE,EAAEmK,SAAS,CAACjP,KAAV,CAAgB8E,EAFc;AAGlCtF,YAAI,EAAEoP,OAAO,CAACrK,KAAD,EAAQ,MAAR,EAAgB8I,SAAhB,CAHqB;AAIlC9N,aAAK,EAAEqP,OAAO,CAACrK,KAAD,EAAQ,OAAR,EAAiB8I,SAAjB;AAJoB,OAAR,CAA5B;AAMD;AACF,GAjCD;AAkCA,SAAO/I,QAAP;AACD,C;;;;;;;;;;;;AC3ID;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,IAAIiI,aAAa,GAAG9J,KAAA,GAAwCE,iDAAS,CAACqF,SAAV,CAAoB,CAACrF,iDAAS,CAACwM,MAAX,EAAmBxM,iDAAS,CAACgJ,KAAV,CAAgB;AACxHpM,OAAK,EAAEoD,iDAAS,CAACwM,MADuG;AAExH3P,MAAI,EAAEmD,iDAAS,CAACwM,MAFwG;AAGxH7P,QAAM,EAAEqD,iDAAS,CAACwM;AAHsG,CAAhB,EAIvG7J,UAJoF,CAApB,CAAxC,GAIT,SAJX;AAKA,IAAI5C,eAAe,GAAGD,KAAA,GAAwCE,iDAAS,CAACqF,SAAV,CAAoB,CAACrF,iDAAS,CAACyM,MAAX,EAAmBzM,iDAAS,CAACgJ,KAAV,CAAgB;AAC1HpM,OAAK,EAAEoD,iDAAS,CAACyM,MADyG;AAE1H5P,MAAI,EAAEmD,iDAAS,CAACyM,MAF0G;AAG1HxN,QAAM,EAAEe,iDAAS,CAACyM;AAHwG,CAAhB,CAAnB,EAIrFzM,iDAAS,CAACgJ,KAAV,CAAgB;AAClBpM,OAAK,EAAEoD,iDAAS,CAACyM,MADC;AAElBC,WAAS,EAAE1M,iDAAS,CAACyM,MAFH;AAGlBE,aAAW,EAAE3M,iDAAS,CAACyM,MAHL;AAIlB5P,MAAI,EAAEmD,iDAAS,CAACyM,MAJE;AAKlBG,UAAQ,EAAE5M,iDAAS,CAACyM,MALF;AAMlBI,YAAU,EAAE7M,iDAAS,CAACyM;AANJ,CAAhB,CAJqF,CAApB,CAAxC,GAWtB,SAXA,C;;;;;;;;;;;;ACNP;AAAA;AAAO,IAAI3N,WAAW,GAAG,SAASA,WAAT,CAAqBxD,IAArB,EAA2B;AAClD,SAAOA,IAAI,CAACwR,SAAZ;AACD,CAFM,C","file":"advocacy-quiz-bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"advocacy-quiz\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([37,\"common\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { first } from 'lodash';\r\nimport React, { useCallback, useEffect, useRef, useState, createRef } from 'react'\r\nimport StopWatch from './timer/stopwatch-component';\r\nimport { CSSTransition, TransitionGroup} from 'react-transition-group';\r\nimport { LoadingSpinner } from '../../global/components/loading-spinner';\r\n\r\n//todo types and refactor into smaller components potentially pull timer into parent for reuse of time state in place like results\r\n\r\n//init audio outside of react so that the audio itmes arent rerendered\r\nconst featured = new Audio('/Static/audio/correct-answer.mp3');\r\nconst wrong = new Audio('/Static/audio/feedback-incorrect.mp3');\r\nconst resultSound = new Audio('/Static/audio/crowd-cheers.mp3');\r\n\r\nconst AdvocacyQuizApp = ({questions , contentId } ) => {\r\n const [activeQuestion, setActiveQuestion] = useState(0);\r\n const [epiProps, setEpiProps] = useState(null);\r\n const [quizStart, setQuizStart] = useState(false);\r\n const [showResult, setShowResult] = useState(false);\r\n const [audioOn, setAudioOn] = useState(false);\r\n const [soundOn, setSoundOn] = useState(true);\r\n const [themeLight, setThemeLight] = useState(false);\r\n const [isAnimating, setIsAnimating] = useState(false);\r\n const [items, setItems] = useState(() => []);\r\n const [inAnswerResult, setInAnswerResult] = useState(false);\r\n const [timerOn, setTimerOn] = useState(false);\r\n const answerResultNodeRef = useRef(null);\r\n const resultNodeRef = useRef(null);\r\n const animationTiming = 400;\r\n\r\n const answersRef = useRef([]);\r\n const [numAnswersChecked, setNumAnswersChecked] = useState(0);\r\n\r\n const [questionAnswers, setQuestionAnswers] = useState({\r\n correct: 0,\r\n incorrect: 0\r\n });\r\n const [totalAnswers, setTotalAnswers] = useState({\r\n correct: 0,\r\n partiallyCorrect: 0,\r\n incorrect: 0\r\n });\r\n const [submitDisabled, setSubmitDisabled] = useState(true);\r\n const [totalPossibleScore, setTotalPossibleScore] = useState(0);\r\n const [score, setScore] = useState(0);\r\n const [dataLayerContent, setDataLayerContent] = useState({\r\n questionNumber: 0,\r\n questionText: \"\",\r\n isCorrect: \"\"\r\n });\r\n useEffect(() => {\r\n fetch(`/api/v1/epi/properties?contentId=${contentId}`)\r\n .then(response => response.json())\r\n .then(setEpiProps);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (numAnswersChecked > 0) {\r\n setSubmitDisabled(false);\r\n } else {\r\n setSubmitDisabled(true);\r\n }\r\n }, [numAnswersChecked]);\r\n\r\n const htmlEncode = function (stringToEncode) {\r\n return { __html: stringToEncode };\r\n }\r\n\r\n function shuffleArray(arr) {\r\n var j, x, index;\r\n for (index = arr.length - 1; index > 0; index--) {\r\n j = Math.floor(Math.random() * (index + 1));\r\n x = arr[index];\r\n arr[index] = arr[j];\r\n arr[j] = x;\r\n }\r\n return arr;\r\n }\r\n const questionArray: any = Object.values(questions);\r\n const {pointValue, allowOneAnswer, wrongFeedback, correctFeedback, partiallyCorrectFeedback, answers} = questionArray[activeQuestion];\r\n const choices = [answers];\r\n const [choiceArray, setChoiceArray] = useState(shuffleArray(choices));\r\n\r\n useEffect(() => {\r\n setChoiceArray(shuffleArray(choices))\r\n }, [activeQuestion])\r\n\r\n const onClickStart = () => {\r\n setTotalPossibleScore(questionArray.length);\r\n if (quizStart) {\r\n quizReset();\r\n }\r\n else {\r\n setQuizStart(true);\r\n setTimerOn(true);\r\n setIsAnimating(true);\r\n setItems(() => [{\r\n questionContent: questionArray[0],\r\n nodeRef: createRef()\r\n }]);\r\n \r\n // playAudio(bg);\r\n }\r\n }\r\n\r\n const quizReset = () => {\r\n setQuizStart(false);\r\n setActiveQuestion(0);\r\n setTimerOn(false);\r\n setShowResult(false);\r\n setTotalAnswers({\r\n correct: 0,\r\n partiallyCorrect: 0,\r\n incorrect: 0\r\n });\r\n setTotalPossibleScore(0);\r\n setScore(0);\r\n }\r\n\r\n const onChange = (event, isCorrect, currentQuestionNumber, question) => {\r\n if (allowOneAnswer) {\r\n setNumAnswersChecked(1);\r\n if (event.target.checked) {\r\n if (isCorrect === true) {\r\n setQuestionAnswers(questionAnswers => ({ ...questionAnswers, correct: 1, incorrect: 0 }));\r\n } else {\r\n setQuestionAnswers(questionAnswers => ({ ...questionAnswers, correct: 0, incorrect: 1 }));\r\n }\r\n }\r\n }\r\n else {\r\n if (event.target.checked) {\r\n setNumAnswersChecked(prev => prev + 1);\r\n if (isCorrect === true) {\r\n setQuestionAnswers(questionAnswers => ({ ...questionAnswers, correct: questionAnswers.correct + 1 }));\r\n } else {\r\n setQuestionAnswers(questionAnswers => ({ ...questionAnswers, incorrect: questionAnswers.incorrect + 1 }));\r\n }\r\n } else {\r\n setNumAnswersChecked(prev => prev - 1);\r\n if (isCorrect === true) {\r\n setQuestionAnswers(questionAnswers => ({ ...questionAnswers, correct: questionAnswers.correct - 1 }));\r\n } else {\r\n setQuestionAnswers(questionAnswers => ({ ...questionAnswers, incorrect: questionAnswers.incorrect - 1 }));\r\n }\r\n }\r\n }\r\n\r\n updateDataLayerObject(isCorrect, currentQuestionNumber, question);\r\n };\r\n\r\n const updateDataLayerObject = (isCorrect, currentQuestionNumber, question) => {\r\n let updatedContent = {\r\n questionNumber: currentQuestionNumber,\r\n questionText: question,\r\n isCorrect: isCorrect\r\n };\r\n setDataLayerContent(updatedContent);\r\n };\r\n\r\n const sendToGoogleAnalytics = () => {\r\n (window as any).dataLayer = (window as any).dataLayer || [];\r\n (window as any).dataLayer.push({\r\n 'event': 'user_quiz_results',\r\n 'question_number': dataLayerContent.questionNumber,\r\n 'question_text': dataLayerContent.questionText,\r\n 'answer': dataLayerContent.isCorrect ? 'correct' : 'incorrect',\r\n 'quiz_name': epiProps.data.quizTitle\r\n });\r\n }\r\n\r\n const onClickSubmit = () => {\r\n sendToGoogleAnalytics();\r\n if (questionAnswers.correct === questionArray[activeQuestion].pointValue) {\r\n setTotalAnswers(totalAnswers => ({ ...totalAnswers, correct: totalAnswers.correct + 1 }));\r\n } else if (\r\n questionAnswers.correct > 0 &&\r\n questionAnswers.correct < questionArray[activeQuestion].pointValue\r\n ) {\r\n setTotalAnswers(totalAnswers => ({ ...totalAnswers, partiallyCorrect: totalAnswers.partiallyCorrect + 1 }));\r\n } else {\r\n setTotalAnswers(totalAnswers => ({ ...totalAnswers, incorrect: totalAnswers.incorrect + 1 }));\r\n }\r\n setInAnswerResult(true);\r\n setSubmitDisabled(true);\r\n questionAnswers.correct === pointValue && questionAnswers.incorrect === 0 ? playSound(featured) : playSound(wrong);\r\n answersRef.current.forEach((ref) => {\r\n if (ref) {\r\n ref.checked = false;\r\n }\r\n });\r\n }\r\n\r\n const onClickNext = () => {\r\n setQuestionAnswers({\r\n correct: 0,\r\n incorrect: 0\r\n });\r\n setTimerOn(true);\r\n setInAnswerResult(false);\r\n setNumAnswersChecked(0);\r\n if (activeQuestion !== questionArray.length - 1) {\r\n setItems(() => [{\r\n questionContent: questionArray[activeQuestion + 1],\r\n nodeRef: createRef()\r\n }]);\r\n setActiveQuestion((prev) => prev + 1);\r\n } else {\r\n if (totalAnswers.correct > 0) {\r\n setScore(totalAnswers.correct / totalPossibleScore);\r\n }\r\n setActiveQuestion(0);\r\n setItems(() => []);\r\n setTimerOn(false);\r\n setTimeout(() => {\r\n setShowResult(true);\r\n scrollIntoView();\r\n score > .8 ? playSound(resultSound) : null;\r\n }, animationTiming)\r\n }\r\n }\r\n\r\n const addLeadingZero = (number) => (number > 9 ? number : `0${number}`)\r\n\r\n const playSound = (sound) => {\r\n if (soundOn) {\r\n sound.volume = 0.5;\r\n sound.play(); // Play sound\r\n }\r\n }\r\n const playAudio = (sound) => {\r\n if (audioOn) {\r\n sound.loop = true;\r\n sound.volume = 0.3;\r\n sound.play(); // Play sound\r\n }\r\n }\r\n\r\n /* const onClickAudio = () => {\r\n setAudioOn(!audioOn);\r\n bg.volume = audioOn ? 0 : .3; \r\n }*/\r\n const onClickSound = () => {\r\n setSoundOn(!soundOn);\r\n }\r\n\r\n const onClickTheme = () => {\r\n setThemeLight(!themeLight);\r\n }\r\n\r\n const scrollIntoView = () => {\r\n document.querySelector(\"[quiz-container]\").scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
sound effect controls
\r\n {themeLight ? \r\n : }\r\n
\r\n
\r\n
sound effect controls
\r\n \r\n
\r\n
\r\n {(epiProps && epiProps.data.toggleTimer && (showResult || quizStart)) &&\r\n \r\n }\r\n {(!showResult && !quizStart) &&\r\n
\r\n

{epiProps && epiProps.data.quizTitle}

\r\n
\r\n
\r\n }\r\n
\r\n {!epiProps && }\r\n {(!showResult && quizStart) &&\r\n
\r\n \r\n {addLeadingZero(activeQuestion + 1)}\r\n \r\n \r\n /{addLeadingZero(questionArray.length)}\r\n \r\n
}\r\n \r\n \r\n {items.map(({ questionContent, nodeRef }) => (\r\n \r\n
\r\n

{questionContent.question}

\r\n {!allowOneAnswer && choiceArray[0].map((answer, index) => (\r\n
\r\n (answersRef.current[index] = el)}\r\n id={index}\r\n name={`answer-${index + 1}`}\r\n value={index}\r\n onChange={(event) =>\r\n onChange(\r\n event,\r\n answer.advocacyQuizAnswerCorrectness,\r\n (activeQuestion + 1),\r\n questionContent.question\r\n )\r\n }\r\n />\r\n \r\n
\r\n ))}\r\n {allowOneAnswer && choiceArray[0].map((answer, index) => (\r\n
\r\n (answersRef.current[index] = el)}\r\n id={index}\r\n name=\"answer\"\r\n value={index}\r\n onChange={(event) =>\r\n onChange(\r\n event,\r\n answer.advocacyQuizAnswerCorrectness,\r\n (activeQuestion + 1),\r\n questionContent.question\r\n )\r\n }\r\n />\r\n \r\n
\r\n ))}\r\n
\r\n \r\n ))}\r\n
\r\n { setTimeout(onClickNext, 800) }}\r\n >\r\n <>\r\n {!allowOneAnswer &&\r\n
\r\n {questionAnswers.correct === pointValue &&\r\n questionAnswers.incorrect === 0 &&

}\r\n\r\n {questionAnswers.correct > 0 && questionAnswers.correct < pointValue && questionAnswers.incorrect === 0 &&\r\n

\r\n }\r\n\r\n {questionAnswers.correct > 0 && questionAnswers.incorrect > 0 &&\r\n

\r\n }\r\n\r\n {questionAnswers.correct === 0 &&

}\r\n
\r\n }\r\n {allowOneAnswer &&\r\n
\r\n {questionAnswers.correct === pointValue ?

:

}\r\n
\r\n }\r\n \r\n \r\n\r\n {(!showResult && quizStart) &&\r\n
\r\n \r\n Submit\r\n \r\n \r\n {activeQuestion === questionArray.length - 1 ? 'Finish' : 'Next'}\r\n \r\n
}\r\n
\r\n { setTimeout(onClickNext, 800) }}\r\n >\r\n
\r\n
\r\n
\r\n

Results

\r\n \r\n {epiProps &&\r\n

\r\n {(score > .8) && epiProps.data.rankGood} {(score < .8 && score > .64) && epiProps.data.rankAverage} {(score <= .64) && epiProps.data.rankPoor}\r\n

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

Correct Answers: {totalAnswers.correct}

\r\n\r\n

Partially Correct Answers: {totalAnswers.partiallyCorrect}

\r\n\r\n

Wrong Answers: {totalAnswers.incorrect}

\r\n
\r\n
\r\n\r\n {(score > .8) &&
}\r\n {(score < .8 && score > .64) &&
}\r\n {(score <= .64) &&
}\r\n\r\n
\r\n {questionArray.map((item, index) => (\r\n
\r\n

{index + 1}. {item.question}

\r\n
    \r\n {item.answers\r\n .filter(\r\n (answer) => answer.advocacyQuizAnswerCorrectness === true\r\n )\r\n .map((answer) => (\r\n \r\n ))}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n\r\n {((showResult || !quizStart) && epiProps) &&\r\n \r\n {!showResult ? 'Start' : 'Restart'}\r\n \r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default AdvocacyQuizApp","import React, { useState, useEffect } from \"react\";\r\nimport Timer from \"./timer-component\";\r\n\r\nfunction StopWatch(props) {\r\n const [isActive, setIsActive] = useState(false);\r\n const [isPaused, setIsPaused] = useState(true);\r\n const [quizStarted, setQuizStarted] = useState(props.quizStarted)\r\n const [timerOn, setTimerOn] = useState(props.timerOn)\r\n const [time, setTime] = useState(0);\r\n\r\n if (props.quizStarted !== quizStarted || props.timerOn !== timerOn) {\r\n setTimerOn(props.timerOn);\r\n setQuizStarted(props.quizStarted);\r\n \r\n }\r\n\r\n useEffect(() => {\r\n if (quizStarted && !timerOn) {\r\n setIsActive(true);\r\n setIsPaused(!isPaused);\r\n }\r\n if (quizStarted && timerOn) {\r\n setIsActive(true);\r\n setIsPaused(!isPaused);\r\n }\r\n if (!quizStarted && !timerOn) {\r\n setIsActive(false);\r\n setTime(0);\r\n }\r\n }, [timerOn, quizStarted])\r\n\r\n useEffect(() => {\r\n let interval = null;\r\n\r\n if (isActive && isPaused === false) {\r\n interval = setInterval(() => {\r\n setTime((time) => time + 10);\r\n }, 10);\r\n } else {\r\n clearInterval(interval);\r\n }\r\n return () => {\r\n clearInterval(interval);\r\n };\r\n }, [isActive, isPaused]);\r\n return (\r\n
\r\n {props.quizStarted &&\r\n \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default StopWatch;","import React from \"react\";\r\n\r\nexport default function Timer(props) {\r\n return (\r\n
\r\n \r\n {(\"0\" + Math.floor((props.time / 60000) % 60)).slice(-2)}:\r\n \r\n \r\n {(\"0\" + Math.floor((props.time / 1000) % 60)).slice(-2)}\r\n \r\n
\r\n );\r\n}","import React from 'react';\r\nimport { createRoot } from 'react-dom/client';\r\nimport AdvocacyQuizApp from './components/advocacy-quiz-app'\r\n\r\nconst advocacyQuiz = document.getElementById('advocacy-quiz-app');\r\n\r\nif (advocacyQuiz) {\r\n const root = createRoot(advocacyQuiz);\r\n\r\n const { questions, contentId} = (window as any).bootstrap;\r\n\r\n root.render(\r\n \r\n );\r\n}","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport TransitionGroup from './TransitionGroup';\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\n\nvar ReplaceTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n var child = React.Children.toArray(children)[idx];\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n\n if (this.props[handler]) {\n var maybeNode = child.props.nodeRef ? undefined : ReactDOM.findDOMNode(this);\n this.props[handler](maybeNode);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = React.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return /*#__PURE__*/React.createElement(TransitionGroup, props, inProp ? React.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : React.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(React.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: PropTypes.bool.isRequired,\n children: function children(props, propName) {\n if (React.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nexport default ReplaceTransition;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\n\nvar _leaveRenders, _enterRenders;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ENTERED, ENTERING, EXITING } from './Transition';\nimport TransitionGroupContext from './TransitionGroupContext';\n\nfunction areChildrenDifferent(oldChildren, newChildren) {\n if (oldChildren === newChildren) return false;\n\n if (React.isValidElement(oldChildren) && React.isValidElement(newChildren) && oldChildren.key != null && oldChildren.key === newChildren.key) {\n return false;\n }\n\n return true;\n}\n/**\n * Enum of modes for SwitchTransition component\n * @enum { string }\n */\n\n\nexport var modes = {\n out: 'out-in',\n in: 'in-out'\n};\n\nvar callHook = function callHook(element, name, cb) {\n return function () {\n var _element$props;\n\n element.props[name] && (_element$props = element.props)[name].apply(_element$props, arguments);\n cb();\n };\n};\n\nvar leaveRenders = (_leaveRenders = {}, _leaveRenders[modes.out] = function (_ref) {\n var current = _ref.current,\n changeState = _ref.changeState;\n return React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERING, null);\n })\n });\n}, _leaveRenders[modes.in] = function (_ref2) {\n var current = _ref2.current,\n changeState = _ref2.changeState,\n children = _ref2.children;\n return [current, React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERING);\n })\n })];\n}, _leaveRenders);\nvar enterRenders = (_enterRenders = {}, _enterRenders[modes.out] = function (_ref3) {\n var children = _ref3.children,\n changeState = _ref3.changeState;\n return React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n });\n}, _enterRenders[modes.in] = function (_ref4) {\n var current = _ref4.current,\n children = _ref4.children,\n changeState = _ref4.changeState;\n return [React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n }), React.cloneElement(children, {\n in: true\n })];\n}, _enterRenders);\n/**\n * A transition component inspired by the [vue transition modes](https://vuejs.org/v2/guide/transitions.html#Transition-Modes).\n * You can use it when you want to control the render between state transitions.\n * Based on the selected mode and the child's key which is the `Transition` or `CSSTransition` component, the `SwitchTransition` makes a consistent transition between them.\n *\n * If the `out-in` mode is selected, the `SwitchTransition` waits until the old child leaves and then inserts a new child.\n * If the `in-out` mode is selected, the `SwitchTransition` inserts a new child first, waits for the new child to enter and then removes the old child.\n *\n * **Note**: If you want the animation to happen simultaneously\n * (that is, to have the old child removed and a new child inserted **at the same time**),\n * you should use\n * [`TransitionGroup`](https://reactcommunity.org/react-transition-group/transition-group)\n * instead.\n *\n * ```jsx\n * function App() {\n * const [state, setState] = useState(false);\n * return (\n * \n * node.addEventListener(\"transitionend\", done, false)}\n * classNames='fade'\n * >\n * \n * \n * \n * );\n * }\n * ```\n *\n * ```css\n * .fade-enter{\n * opacity: 0;\n * }\n * .fade-exit{\n * opacity: 1;\n * }\n * .fade-enter-active{\n * opacity: 1;\n * }\n * .fade-exit-active{\n * opacity: 0;\n * }\n * .fade-enter-active,\n * .fade-exit-active{\n * transition: opacity 500ms;\n * }\n * ```\n */\n\nvar SwitchTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(SwitchTransition, _React$Component);\n\n function SwitchTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n status: ENTERED,\n current: null\n };\n _this.appeared = false;\n\n _this.changeState = function (status, current) {\n if (current === void 0) {\n current = _this.state.current;\n }\n\n _this.setState({\n status: status,\n current: current\n });\n };\n\n return _this;\n }\n\n var _proto = SwitchTransition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n };\n\n SwitchTransition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (props.children == null) {\n return {\n current: null\n };\n }\n\n if (state.status === ENTERING && props.mode === modes.in) {\n return {\n status: ENTERING\n };\n }\n\n if (state.current && areChildrenDifferent(state.current, props.children)) {\n return {\n status: EXITING\n };\n }\n\n return {\n current: React.cloneElement(props.children, {\n in: true\n })\n };\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n mode = _this$props.mode,\n _this$state = this.state,\n status = _this$state.status,\n current = _this$state.current;\n var data = {\n children: children,\n current: current,\n changeState: this.changeState,\n status: status\n };\n var component;\n\n switch (status) {\n case ENTERING:\n component = enterRenders[mode](data);\n break;\n\n case EXITING:\n component = leaveRenders[mode](data);\n break;\n\n case ENTERED:\n component = current;\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: {\n isMounting: !this.appeared\n }\n }, component);\n };\n\n return SwitchTransition;\n}(React.Component);\n\nSwitchTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Transition modes.\n * `out-in`: Current element transitions out first, then when complete, the new element transitions in.\n * `in-out`: New element transitions in first, then when complete, the current element transitions out.\n *\n * @type {'out-in'|'in-out'}\n */\n mode: PropTypes.oneOf([modes.in, modes.out]),\n\n /**\n * Any `Transition` or `CSSTransition` component.\n */\n children: PropTypes.oneOfType([PropTypes.element.isRequired])\n} : {};\nSwitchTransition.defaultProps = {\n mode: modes.out\n};\nexport default SwitchTransition;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import React from 'react';\nexport default React.createContext(null);","export default {\n disabled: false\n};","export { default as CSSTransition } from './CSSTransition';\nexport { default as ReplaceTransition } from './ReplaceTransition';\nexport { default as SwitchTransition } from './SwitchTransition';\nexport { default as TransitionGroup } from './TransitionGroup';\nexport { default as Transition } from './Transition';\nexport { default as config } from './config';","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import PropTypes from 'prop-types';\nexport var timeoutsShape = process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n enter: PropTypes.number,\n exit: PropTypes.number,\n appear: PropTypes.number\n}).isRequired]) : null;\nexport var classNamesShape = process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.string, PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string,\n active: PropTypes.string\n}), PropTypes.shape({\n enter: PropTypes.string,\n enterDone: PropTypes.string,\n enterActive: PropTypes.string,\n exit: PropTypes.string,\n exitDone: PropTypes.string,\n exitActive: PropTypes.string\n})]) : null;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};"],"sourceRoot":""}