{"version":3,"sources":["../bower_components/pace/pace.js"],"names":["AjaxMonitor","Bar","DocumentMonitor","ElementMonitor","ElementTracker","EventLagMonitor","Evented","Events","NoTargetError","Pace","RequestIntercept","SOURCE_KEYS","Scaler","SocketRequestTracker","XHRRequestTracker","animation","avgAmplitude","bar","cancelAnimation","cancelAnimationFrame","defaultOptions","extend","extendNative","getFromDOM","getIntercept","handlePushState","ignoreStack","init","now","options","requestAnimationFrame","result","runAnimation","scalers","shouldIgnoreURL","shouldTrack","source","sources","uniScaler","_WebSocket","_XDomainRequest","_XMLHttpRequest","_i","_intercept","_len","_pushState","_ref","_ref1","_replaceState","__slice","slice","__hasProp","hasOwnProperty","__extends","child","parent","ctor","this","constructor","key","call","prototype","__super__","__indexOf","indexOf","item","i","l","length","catchupTime","initialRate","minTime","ghostTime","maxProgressPerFrame","easeFactor","startOnPageLoad","restartOnPushState","restartOnRequestAfter","target","elements","checkInterval","selectors","eventLag","minSamples","sampleCount","lagThreshold","ajax","trackMethods","trackWebSockets","ignoreURLs","performance","Date","window","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","mozCancelAnimationFrame","fn","setTimeout","id","clearTimeout","last","tick","diff","args","obj","arguments","apply","out","val","arr","count","sum","v","Math","abs","json","data","e","el","document","querySelector","getAttribute","JSON","parse","_error","console","error","on","event","handler","ctx","once","_base","bindings","push","off","_results","splice","trigger","paceOptions","_super","Error","progress","getElement","targetElement","createElement","className","body","replace","innerHTML","firstChild","insertBefore","appendChild","finish","update","prog","render","destroy","parentNode","removeChild","progressStr","transform","_j","_len1","_ref2","children","style","lastRenderedProgress","setAttribute","done","name","binding","XMLHttpRequest","XDomainRequest","WebSocket","to","from","Object","defineProperty","get","configurable","enumerable","ignore","ret","unshift","shift","track","method","toUpperCase","monitorXHR","_this","req","_open","open","type","url","async","request","flags","protocols","pattern","test","_arg","after","running","stillActive","_ref3","readyState","restart","watch","tracker","size","_onreadystatechange","ProgressEvent","addEventListener","evt","lengthComputable","loaded","total","onreadystatechange","selector","check","states","loading","interactive","complete","avg","interval","points","samples","setInterval","clearInterval","sinceLastUpdate","rate","catchup","lastProgress","frameTime","scaling","pow","min","max","history","pushState","replaceState","_k","_len2","_ref4","extraSources","stop","start","go","enqueueNextFrame","element","j","remaining","scaler","scalerList","_options","define","amd","exports","module"],"mappings":"CAAA,WACA,GAAAA,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACAC,KAAAC,MACAC,KAAAC,eACAC,EAAA,SAAAC,EAAAC,GAAA,QAAAC,KAAAC,KAAAC,YAAAJ,EAAA,IAAA,GAAAK,KAAAJ,GAAAJ,EAAAS,KAAAL,EAAAI,KAAAL,EAAAK,GAAAJ,EAAAI,GAAA,OAAAH,GAAAK,UAAAN,EAAAM,UAAAP,EAAAO,UAAA,GAAAL,GAAAF,EAAAQ,UAAAP,EAAAM,UAAAP,GACAS,KAAAC,SAAA,SAAAC,GAAA,IAAA,GAAAC,GAAA,EAAAC,EAAAV,KAAAW,OAAAF,EAAAC,EAAAD,IAAA,GAAAA,IAAAT,OAAAA,KAAAS,KAAAD,EAAA,MAAAC,EAAA,QAAA,EAgNA,KA9MA9C,GACAiD,YAAA,IACAC,YAAA,IACAC,QAAA,IACAC,UAAA,IACAC,oBAAA,GACAC,WAAA,KACAC,iBAAA,EACAC,oBAAA,EACAC,sBAAA,IACAC,OAAA,OACAC,UACAC,cAAA,IACAC,WAAA,SAEAC,UACAC,WAAA,GACAC,YAAA,EACAC,aAAA,GAEAC,MACAC,cAAA,OACAC,iBAAA,EACAC,gBAIA7D,EAAA,WACA,GAAAkB,EACA,OAAA,QAAAA,EAAA,mBAAA4C,cAAA,OAAAA,aAAA,kBAAAA,aAAA9D,IAAA8D,YAAA9D,MAAA,QAAAkB,GAAA,GAAA6C,OAGA7D,EAAA8D,OAAA9D,uBAAA8D,OAAAC,0BAAAD,OAAAE,6BAAAF,OAAAG,wBAEA5E,EAAAyE,OAAAzE,sBAAAyE,OAAAI,wBAEA,MAAAlE,IACAA,EAAA,SAAAmE,GACA,MAAAC,YAAAD,EAAA,KAEA9E,EAAA,SAAAgF,GACA,MAAAC,cAAAD,KAIAnE,EAAA,SAAAiE,GACA,GAAAI,GAAAC,CAcA,OAbAD,GAAAzE,KACA0E,EAAA,WACA,GAAAC,EAEA,OADAA,GAAA3E,IAAAyE,EACAE,GAAA,IACAF,EAAAzE,IACAqE,EAAAM,EAAA,WACA,MAAAzE,GAAAwE,MAGAJ,WAAAI,EAAA,GAAAC,QAMAxE,EAAA,WACA,GAAAyE,GAAA7C,EAAA8C,CAEA,OADAA,GAAAC,UAAA,GAAA/C,EAAA+C,UAAA,GAAAF,EAAA,GAAAE,UAAAtC,OAAAnB,EAAAW,KAAA8C,UAAA,MACA,kBAAAD,GAAA9C,GACA8C,EAAA9C,GAAAgD,MAAAF,EAAAD,GAEAC,EAAA9C,IAIAtC,EAAA,WACA,GAAAsC,GAAAiD,EAAAxE,EAAAC,EAAAwE,EAAAnE,EAAAE,CAEA,KADAgE,EAAAF,UAAA,GAAArE,EAAA,GAAAqE,UAAAtC,OAAAnB,EAAAW,KAAA8C,UAAA,MACAhE,EAAA,EAAAE,EAAAP,EAAA+B,OAAA1B,EAAAE,EAAAF,IAEA,GADAN,EAAAC,EAAAK,GAEA,IAAAiB,IAAAvB,GACAe,EAAAS,KAAAxB,EAAAuB,KACAkD,EAAAzE,EAAAuB,GACA,MAAAiD,EAAAjD,IAAA,gBAAAiD,GAAAjD,IAAA,MAAAkD,GAAA,gBAAAA,GACAxF,EAAAuF,EAAAjD,GAAAkD,GAEAD,EAAAjD,GAAAkD,EAKA,OAAAD,IAGA5F,EAAA,SAAA8F,GACA,GAAAC,GAAAC,EAAAC,EAAAvE,EAAAE,CAEA,KADAoE,EAAAD,EAAA,EACArE,EAAA,EAAAE,EAAAkE,EAAA1C,OAAA1B,EAAAE,EAAAF,IACAuE,EAAAH,EAAApE,GACAsE,GAAAE,KAAAC,IAAAF,GACAF,GAEA,OAAAC,GAAAD,GAGAxF,EAAA,SAAAoC,EAAAyD,GACA,GAAAC,GAAAC,EAAAC,CAQA,IAPA,MAAA5D,IACAA,EAAA,WAEA,MAAAyD,IACAA,GAAA,GAEAG,EAAAC,SAAAC,cAAA,cAAA9D,EAAA,KACA,CAIA,GADA0D,EAAAE,EAAAG,aAAA,aAAA/D,IACAyD,EACA,MAAAC,EAEA,KACA,MAAAM,MAAAC,MAAAP,GACA,MAAAQ,GAEA,MADAP,GAAAO,EACA,mBAAAC,UAAA,OAAAA,QAAAA,QAAAC,MAAA,oCAAAT,GAAA,UAIAhH,EAAA,WACA,QAAAA,MAgEA,MA9DAA,GAAAuD,UAAAmE,GAAA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,GAAAC,EAUA,OATA,OAAAD,IACAA,GAAA,GAEA,MAAA3E,KAAA6E,WACA7E,KAAA6E,aAEA,OAAAD,EAAA5E,KAAA6E,UAAAL,KACAI,EAAAJ,OAEAxE,KAAA6E,SAAAL,GAAAM,MACAL,QAAAA,EACAC,IAAAA,EACAC,KAAAA,KAIA9H,EAAAuD,UAAAuE,KAAA,SAAAH,EAAAC,EAAAC,GACA,MAAA1E,MAAAuE,GAAAC,EAAAC,EAAAC,GAAA,IAGA7H,EAAAuD,UAAA2E,IAAA,SAAAP,EAAAC,GACA,GAAAhE,GAAApB,EAAA2F,CACA,IAAA,OAAA,OAAA3F,EAAAW,KAAA6E,UAAAxF,EAAAmF,GAAA,QAAA,CAGA,GAAA,MAAAC,EACA,aAAAzE,MAAA6E,SAAAL,EAIA,KAFA/D,EAAA,EACAuE,KACAvE,EAAAT,KAAA6E,SAAAL,GAAA7D,QACAX,KAAA6E,SAAAL,GAAA/D,GAAAgE,UAAAA,EACAO,EAAAF,KAAA9E,KAAA6E,SAAAL,GAAAS,OAAAxE,EAAA,IAEAuE,EAAAF,KAAArE,IAGA,OAAAuE,KAIAnI,EAAAuD,UAAA8E,QAAA,WACA,GAAAnC,GAAA2B,EAAAF,EAAAC,EAAAhE,EAAAkE,EAAAtF,EAAAC,EAAA0F,CAEA,IADAR,EAAAvB,UAAA,GAAAF,EAAA,GAAAE,UAAAtC,OAAAnB,EAAAW,KAAA8C,UAAA,MACA,OAAA5D,EAAAW,KAAA6E,UAAAxF,EAAAmF,GAAA,OAAA,CAGA,IAFA/D,EAAA,EACAuE,KACAvE,EAAAT,KAAA6E,SAAAL,GAAA7D,QACArB,EAAAU,KAAA6E,SAAAL,GAAA/D,GAAAgE,EAAAnF,EAAAmF,QAAAC,EAAApF,EAAAoF,IAAAC,EAAArF,EAAAqF,KACAF,EAAAvB,MAAA,MAAAwB,EAAAA,EAAA1E,KAAA+C,GACA4B,EACAK,EAAAF,KAAA9E,KAAA6E,SAAAL,GAAAS,OAAAxE,EAAA,IAEAuE,EAAAF,KAAArE,IAGA,OAAAuE,KAIAnI,KAIAG,EAAAmF,OAAAnF,SAEAmF,OAAAnF,KAAAA,EAEAY,EAAAZ,EAAAH,EAAAuD,WAEAhC,EAAApB,EAAAoB,QAAAR,KAAAD,EAAAwE,OAAAgD,YAAArH,KAEAuB,GAAA,OAAA,WAAA,WAAA,YACAJ,EAAA,EAAAE,EAAAE,EAAAsB,OAAA1B,EAAAE,EAAAF,IACAN,EAAAU,EAAAJ,GACAb,EAAAO,MAAA,IACAP,EAAAO,GAAAhB,EAAAgB,GAIA5B,GAAA,SAAAqI,GAGA,QAAArI,KAEA,MADAuC,GAAAvC,EAAAsD,UAAAJ,YAAAiD,MAAAlD,KAAAiD,WAIA,MAPArD,GAAA7C,EAAAqI,GAOArI,GAEAsI,OAEA7I,EAAA,WACA,QAAAA,KACAwD,KAAAsF,SAAA,EA4EA,MAzEA9I,GAAA4D,UAAAmF,WAAA,WACA,GAAAC,EACA,IAAA,MAAAxF,KAAA8D,GAAA,CAEA,GADA0B,EAAAzB,SAAAC,cAAA5F,EAAAiD,SACAmE,EACA,KAAA,IAAAzI,EAEAiD,MAAA8D,GAAAC,SAAA0B,cAAA,OACAzF,KAAA8D,GAAA4B,UAAA,mBACA3B,SAAA4B,KAAAD,UAAA3B,SAAA4B,KAAAD,UAAAE,QAAA,aAAA,IACA7B,SAAA4B,KAAAD,WAAA,gBACA1F,KAAA8D,GAAA+B,UAAA,oHACA,MAAAL,EAAAM,WACAN,EAAAO,aAAA/F,KAAA8D,GAAA0B,EAAAM,YAEAN,EAAAQ,YAAAhG,KAAA8D,IAGA,MAAA9D,MAAA8D,IAGAtH,EAAA4D,UAAA6F,OAAA,WACA,GAAAnC,EAKA,OAJAA,GAAA9D,KAAAuF,aACAzB,EAAA4B,UAAA5B,EAAA4B,UAAAE,QAAA,cAAA,IACA9B,EAAA4B,WAAA,iBACA3B,SAAA4B,KAAAD,UAAA3B,SAAA4B,KAAAD,UAAAE,QAAA,eAAA,IACA7B,SAAA4B,KAAAD,WAAA,cAGAlJ,EAAA4D,UAAA8F,OAAA,SAAAC,GAEA,MADAnG,MAAAsF,SAAAa,EACAnG,KAAAoG,UAGA5J,EAAA4D,UAAAiG,QAAA,WACA,IACArG,KAAAuF,aAAAe,WAAAC,YAAAvG,KAAAuF,cACA,MAAAnB,GACArH,EAAAqH,EAEA,MAAApE,MAAA8D,GAAA,QAGAtH,EAAA4D,UAAAgG,OAAA,WACA,GAAAtC,GAAA5D,EAAAsG,EAAAC,EAAAC,EAAAC,EAAAC,CACA,IAAA,MAAA7C,SAAAC,cAAA5F,EAAAiD,QACA,OAAA,CAKA,KAHAyC,EAAA9D,KAAAuF,aACAkB,EAAA,eAAAzG,KAAAsF,SAAA,WACAsB,GAAA,kBAAA,cAAA,aACAF,EAAA,EAAAC,EAAAC,EAAAjG,OAAA+F,EAAAC,EAAAD,IACAxG,EAAA0G,EAAAF,GACA5C,EAAA+C,SAAA,GAAAC,MAAA5G,GAAAuG,CAYA,SAVAzG,KAAA+G,sBAAA/G,KAAA+G,qBAAA,IAAA/G,KAAAsF,SAAA,KACAxB,EAAA+C,SAAA,GAAAG,aAAA,qBAAA,IAAA,EAAAhH,KAAAsF,UAAA,KACAtF,KAAAsF,UAAA,IACAkB,EAAA,MAEAA,EAAAxG,KAAAsF,SAAA,GAAA,IAAA,GACAkB,GAAA,EAAAxG,KAAAsF,UAEAxB,EAAA+C,SAAA,GAAAG,aAAA,gBAAA,GAAAR,IAEAxG,KAAA+G,qBAAA/G,KAAAsF,UAGA9I,EAAA4D,UAAA6G,KAAA,WACA,MAAAjH,MAAAsF,UAAA,KAGA9I,KAIAM,EAAA,WACA,QAAAA,KACAkD,KAAA6E,YAwBA,MArBA/H,GAAAsD,UAAA8E,QAAA,SAAAgC,EAAA9D,GACA,GAAA+D,GAAAT,EAAAC,EAAAC,EAAA5B,CACA,IAAA,MAAAhF,KAAA6E,SAAAqC,GAAA,CAGA,IAFAN,EAAA5G,KAAA6E,SAAAqC,GACAlC,KACA0B,EAAA,EAAAC,EAAAC,EAAAjG,OAAA+F,EAAAC,EAAAD,IACAS,EAAAP,EAAAF,GACA1B,EAAAF,KAAAqC,EAAAhH,KAAAH,KAAAoD,GAEA,OAAA4B,KAIAlI,EAAAsD,UAAAmE,GAAA,SAAA2C,EAAA1E,GACA,GAAAoC,EAIA,OAHA,QAAAA,EAAA5E,KAAA6E,UAAAqC,KACAtC,EAAAsC,OAEAlH,KAAA6E,SAAAqC,GAAApC,KAAAtC,IAGA1F,KAIAkC,EAAAmD,OAAAiF,eAEArI,EAAAoD,OAAAkF,eAEAvI,EAAAqD,OAAAmF,UAEAzJ,EAAA,SAAA0J,EAAAC,GACA,GAAA3D,GAAA3D,EAAA8E,CACAA,KACA,KAAA9E,IAAAsH,GAAApH,UACA,IACA,MAAAmH,EAAArH,IAAA,kBAAAsH,GAAAtH,GACA,kBAAAuH,QAAAC,eACA1C,EAAAF,KAAA2C,OAAAC,eAAAH,EAAArH,GACAyH,IAAA,WACA,MAAAH,GAAApH,UAAAF,IAEA0H,cAAA,EACAC,YAAA,KAGA7C,EAAAF,KAAAyC,EAAArH,GAAAsH,EAAApH,UAAAF,IAGA8E,EAAAF,KAAA,QAEA,MAAAV,GACAP,EAAAO,EAGA,MAAAY,IAGA/G,KAEAjB,EAAA8K,OAAA,WACA,GAAA/E,GAAAP,EAAAuF,CAKA,OAJAvF,GAAAS,UAAA,GAAAF,EAAA,GAAAE,UAAAtC,OAAAnB,EAAAW,KAAA8C,UAAA,MACAhF,EAAA+J,QAAA,UACAD,EAAAvF,EAAAU,MAAA,KAAAH,GACA9E,EAAAgK,QACAF,GAGA/K,EAAAkL,MAAA,WACA,GAAAnF,GAAAP,EAAAuF,CAKA,OAJAvF,GAAAS,UAAA,GAAAF,EAAA,GAAAE,UAAAtC,OAAAnB,EAAAW,KAAA8C,UAAA,MACAhF,EAAA+J,QAAA,SACAD,EAAAvF,EAAAU,MAAA,KAAAH,GACA9E,EAAAgK,QACAF,GAGArJ,EAAA,SAAAyJ,GACA,GAAAvB,EAIA,IAHA,MAAAuB,IACAA,EAAA,OAEA,UAAAlK,EAAA,GACA,MAAA,OAEA,KAAAA,EAAA0C,QAAAvC,EAAAyD,KAAA,CACA,GAAA,WAAAsG,GAAA/J,EAAAyD,KAAAE,gBACA,OAAA,CACA,IAAA6E,EAAAuB,EAAAC,cAAA9H,EAAAH,KAAA/B,EAAAyD,KAAAC,aAAA8E,IAAA,EACA,OAAA,EAGA,OAAA,GAGA3J,EAAA,SAAAmI,GAGA,QAAAnI,KACA,GAAAoL,GACAC,EAAAtI,IACA/C,GAAAoD,UAAAJ,YAAAiD,MAAAlD,KAAAiD,WACAoF,EAAA,SAAAE,GACA,GAAAC,EAEA,OADAA,GAAAD,EAAAE,KACAF,EAAAE,KAAA,SAAAC,EAAAC,EAAAC,GAQA,MAPAlK,GAAAgK,IACAJ,EAAApD,QAAA,WACAwD,KAAAA,EACAC,IAAAA,EACAE,QAAAN,IAGAC,EAAAtF,MAAAqF,EAAAtF,aAGAd,OAAAiF,eAAA,SAAA0B,GACA,GAAAP,EAGA,OAFAA,GAAA,GAAAvJ,GAAA8J,GACAT,EAAAE,GACAA,EAEA,KACA1K,EAAAsE,OAAAiF,eAAApI,GACA,MAAAoF,IACA,GAAA,MAAArF,EAAA,CACAoD,OAAAkF,eAAA,WACA,GAAAkB,EAGA,OAFAA,GAAA,GAAAxJ,GACAsJ,EAAAE,GACAA,EAEA,KACA1K,EAAAsE,OAAAkF,eAAAtI,GACA,MAAAqF,KAEA,GAAA,MAAAtF,GAAAV,EAAAyD,KAAAE,gBAAA,CACAI,OAAAmF,UAAA,SAAAqB,EAAAI,GACA,GAAAR,EAcA,OAZAA,GADA,MAAAQ,EACA,GAAAjK,GAAA6J,EAAAI,GAEA,GAAAjK,GAAA6J,GAEAjK,EAAA,WACA4J,EAAApD,QAAA,WACAwD,KAAA,SACAC,IAAAA,EACAI,UAAAA,EACAF,QAAAN,IAGAA,EAEA,KACA1K,EAAAsE,OAAAmF,UAAAxI,GACA,MAAAsF,MAIA,MAhEAxE,GAAA3C,EAAAmI,GAgEAnI,GAEAH,GAEAoC,EAAA,KAEAnB,EAAA,WAIA,MAHA,OAAAmB,IACAA,EAAA,GAAAjC,IAEAiC,GAGAT,EAAA,SAAAkK,GACA,GAAAK,GAAAtC,EAAAC,EAAAC,CAEA,KADAA,EAAAxI,EAAAyD,KAAAG,WACA0E,EAAA,EAAAC,EAAAC,EAAAjG,OAAA+F,EAAAC,EAAAD,IAEA,GADAsC,EAAApC,EAAAF,GACA,gBAAAsC,IACA,GAAAL,EAAApI,QAAAyI,MAAA,EACA,OAAA,MAGA,IAAAA,EAAAC,KAAAN,GACA,OAAA,CAIA,QAAA,GAGA5K,IAAAwG,GAAA,UAAA,SAAA2E,GACA,GAAAC,GAAApG,EAAA8F,EAAAH,EAAAC,CAEA,IADAD,EAAAQ,EAAAR,KAAAG,EAAAK,EAAAL,QAAAF,EAAAO,EAAAP,KACAlK,EAAAkK,GAGA,MAAA3L,GAAAoM,SAAAhL,EAAAgD,yBAAA,GAAA,UAAA1C,EAAAgK,GAAA,QACA3F,EAAAE,UACAkG,EAAA/K,EAAAgD,uBAAA,EACA,iBAAA+H,KACAA,EAAA,GAEA1G,WAAA,WACA,GAAA4G,GAAA3C,EAAAC,EAAAC,EAAA0C,EAAAtE,CAMA,IAJAqE,EADA,WAAAX,EACAG,EAAAU,WAAA,EAEA,GAAA3C,EAAAiC,EAAAU,aAAA3C,EAAA,EAEA,CAIA,IAHA5J,EAAAwM,UACAF,EAAAtM,EAAA4B,QACAoG,KACA0B,EAAA,EAAAC,EAAA2C,EAAA3I,OAAA+F,EAAAC,EAAAD,IAAA,CAEA,GADA/H,EAAA2K,EAAA5C,GACA/H,YAAApC,GAAA,CACAoC,EAAA8K,MAAAvG,MAAAvE,EAAAoE,EACA,OAEAiC,EAAAF,KAAA,QAGA,MAAAE,KAEAmE,MAIA5M,EAAA,WACA,QAAAA,KACA,GAAA+L,GAAAtI,IACAA,MAAAsB,YACAvD,IAAAwG,GAAA,UAAA,WACA,MAAA+D,GAAAmB,MAAAvG,MAAAoF,EAAArF,aAkBA,MAdA1G,GAAA6D,UAAAqJ,MAAA,SAAAP,GACA,GAAAL,GAAAa,EAAAhB,EAAAC,CAEA,IADAD,EAAAQ,EAAAR,KAAAG,EAAAK,EAAAL,QAAAF,EAAAO,EAAAP,KACAlK,EAAAkK,GAQA,MAJAe,GADA,WAAAhB,EACA,GAAAtL,GAAAyL,GAEA,GAAAxL,GAAAwL,GAEA7I,KAAAsB,SAAAwD,KAAA4E,IAGAnN,KAIAc,EAAA,WACA,QAAAA,GAAAwL,GACA,GAAArE,GAAAmF,EAAAjD,EAAAC,EAAAiD,EAAAhD,EACA0B,EAAAtI,IAEA,IADAA,KAAAsF,SAAA,EACA,MAAAnD,OAAA0H,cAUA,IATAF,EAAA,KACAd,EAAAiB,iBAAA,WAAA,SAAAC,GACA,MAAAA,GAAAC,iBACA1B,EAAAhD,SAAA,IAAAyE,EAAAE,OAAAF,EAAAG,MAEA5B,EAAAhD,SAAAgD,EAAAhD,UAAA,IAAAgD,EAAAhD,UAAA,IAEA,GACAsB,GAAA,OAAA,QAAA,UAAA,SACAF,EAAA,EAAAC,EAAAC,EAAAjG,OAAA+F,EAAAC,EAAAD,IACAlC,EAAAoC,EAAAF,GACAmC,EAAAiB,iBAAAtF,EAAA,WACA,MAAA8D,GAAAhD,SAAA,MACA,OAGAsE,GAAAf,EAAAsB,mBACAtB,EAAAsB,mBAAA,WACA,GAAAb,EAMA,OALA,MAAAA,EAAAT,EAAAU,aAAA,IAAAD,EACAhB,EAAAhD,SAAA,IACA,IAAAuD,EAAAU,aACAjB,EAAAhD,SAAA,IAEA,kBAAAsE,GAAAA,EAAA1G,MAAA,KAAAD,WAAA,QAKA,MAAA5F,MAIAD,EAAA,WACA,QAAAA,GAAAyL,GACA,GAAArE,GAAAkC,EAAAC,EAAAC,EACA0B,EAAAtI,IAGA,KAFAA,KAAAsF,SAAA,EACAsB,GAAA,QAAA,QACAF,EAAA,EAAAC,EAAAC,EAAAjG,OAAA+F,EAAAC,EAAAD,IACAlC,EAAAoC,EAAAF,GACAmC,EAAAiB,iBAAAtF,EAAA,WACA,MAAA8D,GAAAhD,SAAA,MACA,GAIA,MAAAlI,MAIAV,EAAA,WACA,QAAAA,GAAA0B,GACA,GAAAgM,GAAA1D,EAAAC,EAAAC,CASA,KARA,MAAAxI,IACAA,MAEA4B,KAAAsB,YACA,MAAAlD,EAAAoD,YACApD,EAAAoD,cAEAoF,EAAAxI,EAAAoD,UACAkF,EAAA,EAAAC,EAAAC,EAAAjG,OAAA+F,EAAAC,EAAAD,IACA0D,EAAAxD,EAAAF,GACA1G,KAAAsB,SAAAwD,KAAA,GAAAnI,GAAAyN,IAIA,MAAA1N,MAIAC,EAAA,WACA,QAAAA,GAAAyN,GACApK,KAAAoK,SAAAA,EACApK,KAAAsF,SAAA,EACAtF,KAAAqK,QAkBA,MAfA1N,GAAAyD,UAAAiK,MAAA,WACA,GAAA/B,GAAAtI,IACA,OAAA+D,UAAAC,cAAAhE,KAAAoK,UACApK,KAAAiH,OAEAxE,WAAA,WACA,MAAA6F,GAAA+B,SACAjM,EAAAkD,SAAAC,gBAIA5E,EAAAyD,UAAA6G,KAAA,WACA,MAAAjH,MAAAsF,SAAA,KAGA3I,KAIAF,EAAA,WAOA,QAAAA,KACA,GAAAmN,GAAAhD,EACA0B,EAAAtI,IACAA,MAAAsF,SAAA,OAAAsB,EAAA5G,KAAAsK,OAAAvG,SAAAwF,aAAA3C,EAAA,IACAgD,EAAA7F,SAAAoG,mBACApG,SAAAoG,mBAAA,WAIA,MAHA,OAAA7B,EAAAgC,OAAAvG,SAAAwF,cACAjB,EAAAhD,SAAAgD,EAAAgC,OAAAvG,SAAAwF,aAEA,kBAAAK,GAAAA,EAAA1G,MAAA,KAAAD,WAAA,QAIA,MAnBAxG,GAAA2D,UAAAkK,QACAC,QAAA,EACAC,YAAA,GACAC,SAAA,KAgBAhO,KAIAG,EAAA,WACA,QAAAA,KACA,GAAA8N,GAAAC,EAAA/H,EAAAgI,EAAAC,EACAvC,EAAAtI,IACAA,MAAAsF,SAAA,EACAoF,EAAA,EACAG,KACAD,EAAA,EACAhI,EAAAzE,IACAwM,EAAAG,YAAA,WACA,GAAAhI,EAQA,OAPAA,GAAA3E,IAAAyE,EAAA,GACAA,EAAAzE,IACA0M,EAAA/F,KAAAhC,GACA+H,EAAAlK,OAAAvC,EAAAqD,SAAAE,aACAkJ,EAAA5C,QAEAyC,EAAAnN,EAAAsN,KACAD,GAAAxM,EAAAqD,SAAAC,YAAAgJ,EAAAtM,EAAAqD,SAAAG,cACA0G,EAAAhD,SAAA,IACAyF,cAAAJ,IAEArC,EAAAhD,SAAA,KAAA,GAAAoF,EAAA,KAEA,IAGA,MAAA9N,MAIAO,EAAA,WACA,QAAAA,GAAAwB,GACAqB,KAAArB,OAAAA,EACAqB,KAAA4C,KAAA5C,KAAAgL,gBAAA,EACAhL,KAAAiL,KAAA7M,EAAAyC,YACAb,KAAAkL,QAAA,EACAlL,KAAAsF,SAAAtF,KAAAmL,aAAA,EACA,MAAAnL,KAAArB,SACAqB,KAAAsF,SAAAhH,EAAA0B,KAAArB,OAAA,aAkCA,MA9BAxB,GAAAiD,UAAAyC,KAAA,SAAAuI,EAAAhI,GACA,GAAAiI,EA0BA,OAzBA,OAAAjI,IACAA,EAAA9E,EAAA0B,KAAArB,OAAA,aAEAyE,GAAA,MACApD,KAAAiH,MAAA,GAEA7D,IAAApD,KAAA4C,KACA5C,KAAAgL,iBAAAI,GAEApL,KAAAgL,kBACAhL,KAAAiL,MAAA7H,EAAApD,KAAA4C,MAAA5C,KAAAgL,iBAEAhL,KAAAkL,SAAA9H,EAAApD,KAAAsF,UAAAlH,EAAAwC,YACAZ,KAAAgL,gBAAA,EACAhL,KAAA4C,KAAAQ,GAEAA,EAAApD,KAAAsF,WACAtF,KAAAsF,UAAAtF,KAAAkL,QAAAE,GAEAC,EAAA,EAAA5H,KAAA6H,IAAAtL,KAAAsF,SAAA,IAAAlH,EAAA6C,YACAjB,KAAAsF,UAAA+F,EAAArL,KAAAiL,KAAAG,EACApL,KAAAsF,SAAA7B,KAAA8H,IAAAvL,KAAAmL,aAAA/M,EAAA4C,oBAAAhB,KAAAsF,UACAtF,KAAAsF,SAAA7B,KAAA+H,IAAA,EAAAxL,KAAAsF,UACAtF,KAAAsF,SAAA7B,KAAA8H,IAAA,IAAAvL,KAAAsF,UACAtF,KAAAmL,aAAAnL,KAAAsF,SACAtF,KAAAsF,UAGAnI,KAIAyB,EAAA,KAEAJ,EAAA,KAEAhB,EAAA,KAEAqB,EAAA,KAEAvB,EAAA,KAEAG,EAAA,KAEAT,EAAAoM,SAAA,EAEApL,EAAA,WACA,GAAAI,EAAA+C,mBACA,MAAAnE,GAAAwM,WAIA,MAAArH,OAAAsJ,QAAAC,YACAtM,EAAA+C,OAAAsJ,QAAAC,UACAvJ,OAAAsJ,QAAAC,UAAA,WAEA,MADA1N,KACAoB,EAAA8D,MAAAf,OAAAsJ,QAAAxI,aAIA,MAAAd,OAAAsJ,QAAAE,eACApM,EAAA4C,OAAAsJ,QAAAE,aACAxJ,OAAAsJ,QAAAE,aAAA,WAEA,MADA3N,KACAuB,EAAA2D,MAAAf,OAAAsJ,QAAAxI,aAIA/F,GACA2E,KAAAtF,EACA+E,SAAA5E,EACAqH,SAAAtH,EACAgF,SAAA7E,IAGAsB,EAAA,WACA,GAAAwK,GAAAhC,EAAAkF,EAAAjF,EAAAkF,EAAAjF,EAAA0C,EAAAwC,CAGA,KAFA9O,EAAA4B,QAAAA,KACAgI,GAAA,OAAA,WAAA,WAAA,YACAF,EAAA,EAAAC,EAAAC,EAAAjG,OAAA+F,EAAAC,EAAAD,IACAgC,EAAA9B,EAAAF,GACAtI,EAAAsK,MAAA,GACA9J,EAAAkG,KAAA,GAAA5H,GAAAwL,GAAAtK,EAAAsK,IAIA,KADAoD,EAAA,OAAAxC,EAAAlL,EAAA2N,cAAAzC,KACAsC,EAAA,EAAAC,EAAAC,EAAAnL,OAAAiL,EAAAC,EAAAD,IACAjN,EAAAmN,EAAAF,GACAhN,EAAAkG,KAAA,GAAAnG,GAAAP,GAIA,OAFApB,GAAAQ,IAAAA,EAAA,GAAAhB,GACAgC,KACAK,EAAA,GAAA1B,OAGAH,EAAAgP,KAAA,WAWA,MAVAhP,GAAAkI,QAAA,QACAlI,EAAAoM,SAAA,EACA5L,EAAA6I,UACA5I,GAAA,EACA,MAAAH,IACA,kBAAAI,IACAA,EAAAJ,GAEAA,EAAA,MAEAY,KAGAlB,EAAAwM,QAAA,WAGA,MAFAxM,GAAAkI,QAAA,WACAlI,EAAAgP,OACAhP,EAAAiP,SAGAjP,EAAAkP,GAAA,WACA,GAAAD,EAKA,OAJAjP,GAAAoM,SAAA,EACA5L,EAAA4I,SACA6F,EAAA9N,IACAV,GAAA,EACAH,EAAAiB,EAAA,SAAA6M,EAAAe,GACA,GAAAzB,GAAApH,EAAA2D,EAAAmF,EAAA9K,EAAAb,EAAA4L,EAAAC,EAAAC,EAAAC,EAAAjJ,EAAAmD,EAAAkF,EAAAjF,EAAAkF,EAAAjF,CAIA,KAHA0F,EAAA,IAAA9O,EAAA8H,SACAhC,EAAAC,EAAA,EACA0D,GAAA,EACAxG,EAAAiG,EAAA,EAAAC,EAAA/H,EAAA+B,OAAA+F,EAAAC,EAAAlG,IAAAiG,EAIA,IAHA/H,EAAAC,EAAA6B,GACA+L,EAAA,MAAAhO,EAAAiC,GAAAjC,EAAAiC,GAAAjC,EAAAiC,MACAa,EAAA,OAAAsF,EAAAjI,EAAA2C,UAAAsF,GAAAjI,GACA0N,EAAAT,EAAA,EAAAC,EAAAvK,EAAAX,OAAAiL,EAAAC,EAAAQ,IAAAT,EACAQ,EAAA9K,EAAA+K,GACAE,EAAA,MAAAC,EAAAH,GAAAG,EAAAH,GAAAG,EAAAH,GAAA,GAAAlP,GAAAiP,GACAnF,GAAAsF,EAAAtF,KACAsF,EAAAtF,OAGA3D,IACAC,GAAAgJ,EAAA1J,KAAAuI,GAKA,OAFAV,GAAAnH,EAAAD,EACA9F,EAAA0I,OAAArH,EAAAgE,KAAAuI,EAAAV,IACAlN,EAAAyJ,QAAAA,GAAAxJ,GACAD,EAAA0I,OAAA,KACAlJ,EAAAkI,QAAA,QACAzC,WAAA,WAGA,MAFAjF,GAAAyI,SACAjJ,EAAAoM,SAAA,EACApM,EAAAkI,QAAA,SACAzB,KAAA+H,IAAApN,EAAA2C,UAAA0C,KAAA+H,IAAApN,EAAA0C,SAAA3C,IAAA8N,GAAA,MAEAE,OAKAnP,EAAAiP,MAAA,SAAAQ,GACA7O,EAAAQ,EAAAqO,GACAzP,EAAAoM,SAAA,CACA,KACA5L,EAAA4I,SACA,MAAAhC,GACArH,EAAAqH,EAEA,MAAAL,UAAAC,cAAA,UAGAhH,EAAAkI,QAAA,SACAlI,EAAAkP,MAHAzJ,WAAAzF,EAAAiP,MAAA,KAOA,kBAAAS,SAAAA,OAAAC,IACAD,QAAA,QAAA,WACA,MAAA1P,KAEA,gBAAA4P,SACAC,OAAAD,QAAA5P,EAEAoB,EAAA8C,iBACAlE,EAAAiP,UAIA9L,KAAAH","file":"pace.js","sourcesContent":["(function() {\n var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, Pace, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState,\n __slice = [].slice,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n defaultOptions = {\n catchupTime: 100,\n initialRate: .03,\n minTime: 250,\n ghostTime: 100,\n maxProgressPerFrame: 20,\n easeFactor: 1.25,\n startOnPageLoad: true,\n restartOnPushState: true,\n restartOnRequestAfter: 500,\n target: 'body',\n elements: {\n checkInterval: 100,\n selectors: ['body']\n },\n eventLag: {\n minSamples: 10,\n sampleCount: 3,\n lagThreshold: 3\n },\n ajax: {\n trackMethods: ['GET'],\n trackWebSockets: true,\n ignoreURLs: []\n }\n };\n\n now = function() {\n var _ref;\n return (_ref = typeof performance !== \"undefined\" && performance !== null ? typeof performance.now === \"function\" ? performance.now() : void 0 : void 0) != null ? _ref : +(new Date);\n };\n\n requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;\n\n cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;\n\n if (requestAnimationFrame == null) {\n requestAnimationFrame = function(fn) {\n return setTimeout(fn, 50);\n };\n cancelAnimationFrame = function(id) {\n return clearTimeout(id);\n };\n }\n\n runAnimation = function(fn) {\n var last, tick;\n last = now();\n tick = function() {\n var diff;\n diff = now() - last;\n if (diff >= 33) {\n last = now();\n return fn(diff, function() {\n return requestAnimationFrame(tick);\n });\n } else {\n return setTimeout(tick, 33 - diff);\n }\n };\n return tick();\n };\n\n result = function() {\n var args, key, obj;\n obj = arguments[0], key = arguments[1], args = 3 <= arguments.length ? __slice.call(arguments, 2) : [];\n if (typeof obj[key] === 'function') {\n return obj[key].apply(obj, args);\n } else {\n return obj[key];\n }\n };\n\n extend = function() {\n var key, out, source, sources, val, _i, _len;\n out = arguments[0], sources = 2 <= arguments.length ? __slice.call(arguments, 1) : [];\n for (_i = 0, _len = sources.length; _i < _len; _i++) {\n source = sources[_i];\n if (source) {\n for (key in source) {\n if (!__hasProp.call(source, key)) continue;\n val = source[key];\n if ((out[key] != null) && typeof out[key] === 'object' && (val != null) && typeof val === 'object') {\n extend(out[key], val);\n } else {\n out[key] = val;\n }\n }\n }\n }\n return out;\n };\n\n avgAmplitude = function(arr) {\n var count, sum, v, _i, _len;\n sum = count = 0;\n for (_i = 0, _len = arr.length; _i < _len; _i++) {\n v = arr[_i];\n sum += Math.abs(v);\n count++;\n }\n return sum / count;\n };\n\n getFromDOM = function(key, json) {\n var data, e, el;\n if (key == null) {\n key = 'options';\n }\n if (json == null) {\n json = true;\n }\n el = document.querySelector(\"[data-pace-\" + key + \"]\");\n if (!el) {\n return;\n }\n data = el.getAttribute(\"data-pace-\" + key);\n if (!json) {\n return data;\n }\n try {\n return JSON.parse(data);\n } catch (_error) {\n e = _error;\n return typeof console !== \"undefined\" && console !== null ? console.error(\"Error parsing inline pace options\", e) : void 0;\n }\n };\n\n Evented = (function() {\n function Evented() {}\n\n Evented.prototype.on = function(event, handler, ctx, once) {\n var _base;\n if (once == null) {\n once = false;\n }\n if (this.bindings == null) {\n this.bindings = {};\n }\n if ((_base = this.bindings)[event] == null) {\n _base[event] = [];\n }\n return this.bindings[event].push({\n handler: handler,\n ctx: ctx,\n once: once\n });\n };\n\n Evented.prototype.once = function(event, handler, ctx) {\n return this.on(event, handler, ctx, true);\n };\n\n Evented.prototype.off = function(event, handler) {\n var i, _ref, _results;\n if (((_ref = this.bindings) != null ? _ref[event] : void 0) == null) {\n return;\n }\n if (handler == null) {\n return delete this.bindings[event];\n } else {\n i = 0;\n _results = [];\n while (i < this.bindings[event].length) {\n if (this.bindings[event][i].handler === handler) {\n _results.push(this.bindings[event].splice(i, 1));\n } else {\n _results.push(i++);\n }\n }\n return _results;\n }\n };\n\n Evented.prototype.trigger = function() {\n var args, ctx, event, handler, i, once, _ref, _ref1, _results;\n event = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];\n if ((_ref = this.bindings) != null ? _ref[event] : void 0) {\n i = 0;\n _results = [];\n while (i < this.bindings[event].length) {\n _ref1 = this.bindings[event][i], handler = _ref1.handler, ctx = _ref1.ctx, once = _ref1.once;\n handler.apply(ctx != null ? ctx : this, args);\n if (once) {\n _results.push(this.bindings[event].splice(i, 1));\n } else {\n _results.push(i++);\n }\n }\n return _results;\n }\n };\n\n return Evented;\n\n })();\n\n Pace = window.Pace || {};\n\n window.Pace = Pace;\n\n extend(Pace, Evented.prototype);\n\n options = Pace.options = extend({}, defaultOptions, window.paceOptions, getFromDOM());\n\n _ref = ['ajax', 'document', 'eventLag', 'elements'];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n source = _ref[_i];\n if (options[source] === true) {\n options[source] = defaultOptions[source];\n }\n }\n\n NoTargetError = (function(_super) {\n __extends(NoTargetError, _super);\n\n function NoTargetError() {\n _ref1 = NoTargetError.__super__.constructor.apply(this, arguments);\n return _ref1;\n }\n\n return NoTargetError;\n\n })(Error);\n\n Bar = (function() {\n function Bar() {\n this.progress = 0;\n }\n\n Bar.prototype.getElement = function() {\n var targetElement;\n if (this.el == null) {\n targetElement = document.querySelector(options.target);\n if (!targetElement) {\n throw new NoTargetError;\n }\n this.el = document.createElement('div');\n this.el.className = \"pace pace-active\";\n document.body.className = document.body.className.replace(/pace-done/g, '');\n document.body.className += ' pace-running';\n this.el.innerHTML = '
\\n
\\n
\\n
';\n if (targetElement.firstChild != null) {\n targetElement.insertBefore(this.el, targetElement.firstChild);\n } else {\n targetElement.appendChild(this.el);\n }\n }\n return this.el;\n };\n\n Bar.prototype.finish = function() {\n var el;\n el = this.getElement();\n el.className = el.className.replace('pace-active', '');\n el.className += ' pace-inactive';\n document.body.className = document.body.className.replace('pace-running', '');\n return document.body.className += ' pace-done';\n };\n\n Bar.prototype.update = function(prog) {\n this.progress = prog;\n return this.render();\n };\n\n Bar.prototype.destroy = function() {\n try {\n this.getElement().parentNode.removeChild(this.getElement());\n } catch (_error) {\n NoTargetError = _error;\n }\n return this.el = void 0;\n };\n\n Bar.prototype.render = function() {\n var el, key, progressStr, transform, _j, _len1, _ref2;\n if (document.querySelector(options.target) == null) {\n return false;\n }\n el = this.getElement();\n transform = \"translate3d(\" + this.progress + \"%, 0, 0)\";\n _ref2 = ['webkitTransform', 'msTransform', 'transform'];\n for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {\n key = _ref2[_j];\n el.children[0].style[key] = transform;\n }\n if (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) {\n el.children[0].setAttribute('data-progress-text', \"\" + (this.progress | 0) + \"%\");\n if (this.progress >= 100) {\n progressStr = '99';\n } else {\n progressStr = this.progress < 10 ? \"0\" : \"\";\n progressStr += this.progress | 0;\n }\n el.children[0].setAttribute('data-progress', \"\" + progressStr);\n }\n return this.lastRenderedProgress = this.progress;\n };\n\n Bar.prototype.done = function() {\n return this.progress >= 100;\n };\n\n return Bar;\n\n })();\n\n Events = (function() {\n function Events() {\n this.bindings = {};\n }\n\n Events.prototype.trigger = function(name, val) {\n var binding, _j, _len1, _ref2, _results;\n if (this.bindings[name] != null) {\n _ref2 = this.bindings[name];\n _results = [];\n for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {\n binding = _ref2[_j];\n _results.push(binding.call(this, val));\n }\n return _results;\n }\n };\n\n Events.prototype.on = function(name, fn) {\n var _base;\n if ((_base = this.bindings)[name] == null) {\n _base[name] = [];\n }\n return this.bindings[name].push(fn);\n };\n\n return Events;\n\n })();\n\n _XMLHttpRequest = window.XMLHttpRequest;\n\n _XDomainRequest = window.XDomainRequest;\n\n _WebSocket = window.WebSocket;\n\n extendNative = function(to, from) {\n var e, key, _results;\n _results = [];\n for (key in from.prototype) {\n try {\n if ((to[key] == null) && typeof from[key] !== 'function') {\n if (typeof Object.defineProperty === 'function') {\n _results.push(Object.defineProperty(to, key, {\n get: function() {\n return from.prototype[key];\n },\n configurable: true,\n enumerable: true\n }));\n } else {\n _results.push(to[key] = from.prototype[key]);\n }\n } else {\n _results.push(void 0);\n }\n } catch (_error) {\n e = _error;\n }\n }\n return _results;\n };\n\n ignoreStack = [];\n\n Pace.ignore = function() {\n var args, fn, ret;\n fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];\n ignoreStack.unshift('ignore');\n ret = fn.apply(null, args);\n ignoreStack.shift();\n return ret;\n };\n\n Pace.track = function() {\n var args, fn, ret;\n fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];\n ignoreStack.unshift('track');\n ret = fn.apply(null, args);\n ignoreStack.shift();\n return ret;\n };\n\n shouldTrack = function(method) {\n var _ref2;\n if (method == null) {\n method = 'GET';\n }\n if (ignoreStack[0] === 'track') {\n return 'force';\n }\n if (!ignoreStack.length && options.ajax) {\n if (method === 'socket' && options.ajax.trackWebSockets) {\n return true;\n } else if (_ref2 = method.toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref2) >= 0) {\n return true;\n }\n }\n return false;\n };\n\n RequestIntercept = (function(_super) {\n __extends(RequestIntercept, _super);\n\n function RequestIntercept() {\n var monitorXHR,\n _this = this;\n RequestIntercept.__super__.constructor.apply(this, arguments);\n monitorXHR = function(req) {\n var _open;\n _open = req.open;\n return req.open = function(type, url, async) {\n if (shouldTrack(type)) {\n _this.trigger('request', {\n type: type,\n url: url,\n request: req\n });\n }\n return _open.apply(req, arguments);\n };\n };\n window.XMLHttpRequest = function(flags) {\n var req;\n req = new _XMLHttpRequest(flags);\n monitorXHR(req);\n return req;\n };\n try {\n extendNative(window.XMLHttpRequest, _XMLHttpRequest);\n } catch (_error) {}\n if (_XDomainRequest != null) {\n window.XDomainRequest = function() {\n var req;\n req = new _XDomainRequest;\n monitorXHR(req);\n return req;\n };\n try {\n extendNative(window.XDomainRequest, _XDomainRequest);\n } catch (_error) {}\n }\n if ((_WebSocket != null) && options.ajax.trackWebSockets) {\n window.WebSocket = function(url, protocols) {\n var req;\n if (protocols != null) {\n req = new _WebSocket(url, protocols);\n } else {\n req = new _WebSocket(url);\n }\n if (shouldTrack('socket')) {\n _this.trigger('request', {\n type: 'socket',\n url: url,\n protocols: protocols,\n request: req\n });\n }\n return req;\n };\n try {\n extendNative(window.WebSocket, _WebSocket);\n } catch (_error) {}\n }\n }\n\n return RequestIntercept;\n\n })(Events);\n\n _intercept = null;\n\n getIntercept = function() {\n if (_intercept == null) {\n _intercept = new RequestIntercept;\n }\n return _intercept;\n };\n\n shouldIgnoreURL = function(url) {\n var pattern, _j, _len1, _ref2;\n _ref2 = options.ajax.ignoreURLs;\n for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {\n pattern = _ref2[_j];\n if (typeof pattern === 'string') {\n if (url.indexOf(pattern) !== -1) {\n return true;\n }\n } else {\n if (pattern.test(url)) {\n return true;\n }\n }\n }\n return false;\n };\n\n getIntercept().on('request', function(_arg) {\n var after, args, request, type, url;\n type = _arg.type, request = _arg.request, url = _arg.url;\n if (shouldIgnoreURL(url)) {\n return;\n }\n if (!Pace.running && (options.restartOnRequestAfter !== false || shouldTrack(type) === 'force')) {\n args = arguments;\n after = options.restartOnRequestAfter || 0;\n if (typeof after === 'boolean') {\n after = 0;\n }\n return setTimeout(function() {\n var stillActive, _j, _len1, _ref2, _ref3, _results;\n if (type === 'socket') {\n stillActive = request.readyState < 2;\n } else {\n stillActive = (0 < (_ref2 = request.readyState) && _ref2 < 4);\n }\n if (stillActive) {\n Pace.restart();\n _ref3 = Pace.sources;\n _results = [];\n for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) {\n source = _ref3[_j];\n if (source instanceof AjaxMonitor) {\n source.watch.apply(source, args);\n break;\n } else {\n _results.push(void 0);\n }\n }\n return _results;\n }\n }, after);\n }\n });\n\n AjaxMonitor = (function() {\n function AjaxMonitor() {\n var _this = this;\n this.elements = [];\n getIntercept().on('request', function() {\n return _this.watch.apply(_this, arguments);\n });\n }\n\n AjaxMonitor.prototype.watch = function(_arg) {\n var request, tracker, type, url;\n type = _arg.type, request = _arg.request, url = _arg.url;\n if (shouldIgnoreURL(url)) {\n return;\n }\n if (type === 'socket') {\n tracker = new SocketRequestTracker(request);\n } else {\n tracker = new XHRRequestTracker(request);\n }\n return this.elements.push(tracker);\n };\n\n return AjaxMonitor;\n\n })();\n\n XHRRequestTracker = (function() {\n function XHRRequestTracker(request) {\n var event, size, _j, _len1, _onreadystatechange, _ref2,\n _this = this;\n this.progress = 0;\n if (window.ProgressEvent != null) {\n size = null;\n request.addEventListener('progress', function(evt) {\n if (evt.lengthComputable) {\n return _this.progress = 100 * evt.loaded / evt.total;\n } else {\n return _this.progress = _this.progress + (100 - _this.progress) / 2;\n }\n }, false);\n _ref2 = ['load', 'abort', 'timeout', 'error'];\n for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {\n event = _ref2[_j];\n request.addEventListener(event, function() {\n return _this.progress = 100;\n }, false);\n }\n } else {\n _onreadystatechange = request.onreadystatechange;\n request.onreadystatechange = function() {\n var _ref3;\n if ((_ref3 = request.readyState) === 0 || _ref3 === 4) {\n _this.progress = 100;\n } else if (request.readyState === 3) {\n _this.progress = 50;\n }\n return typeof _onreadystatechange === \"function\" ? _onreadystatechange.apply(null, arguments) : void 0;\n };\n }\n }\n\n return XHRRequestTracker;\n\n })();\n\n SocketRequestTracker = (function() {\n function SocketRequestTracker(request) {\n var event, _j, _len1, _ref2,\n _this = this;\n this.progress = 0;\n _ref2 = ['error', 'open'];\n for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {\n event = _ref2[_j];\n request.addEventListener(event, function() {\n return _this.progress = 100;\n }, false);\n }\n }\n\n return SocketRequestTracker;\n\n })();\n\n ElementMonitor = (function() {\n function ElementMonitor(options) {\n var selector, _j, _len1, _ref2;\n if (options == null) {\n options = {};\n }\n this.elements = [];\n if (options.selectors == null) {\n options.selectors = [];\n }\n _ref2 = options.selectors;\n for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {\n selector = _ref2[_j];\n this.elements.push(new ElementTracker(selector));\n }\n }\n\n return ElementMonitor;\n\n })();\n\n ElementTracker = (function() {\n function ElementTracker(selector) {\n this.selector = selector;\n this.progress = 0;\n this.check();\n }\n\n ElementTracker.prototype.check = function() {\n var _this = this;\n if (document.querySelector(this.selector)) {\n return this.done();\n } else {\n return setTimeout((function() {\n return _this.check();\n }), options.elements.checkInterval);\n }\n };\n\n ElementTracker.prototype.done = function() {\n return this.progress = 100;\n };\n\n return ElementTracker;\n\n })();\n\n DocumentMonitor = (function() {\n DocumentMonitor.prototype.states = {\n loading: 0,\n interactive: 50,\n complete: 100\n };\n\n function DocumentMonitor() {\n var _onreadystatechange, _ref2,\n _this = this;\n this.progress = (_ref2 = this.states[document.readyState]) != null ? _ref2 : 100;\n _onreadystatechange = document.onreadystatechange;\n document.onreadystatechange = function() {\n if (_this.states[document.readyState] != null) {\n _this.progress = _this.states[document.readyState];\n }\n return typeof _onreadystatechange === \"function\" ? _onreadystatechange.apply(null, arguments) : void 0;\n };\n }\n\n return DocumentMonitor;\n\n })();\n\n EventLagMonitor = (function() {\n function EventLagMonitor() {\n var avg, interval, last, points, samples,\n _this = this;\n this.progress = 0;\n avg = 0;\n samples = [];\n points = 0;\n last = now();\n interval = setInterval(function() {\n var diff;\n diff = now() - last - 50;\n last = now();\n samples.push(diff);\n if (samples.length > options.eventLag.sampleCount) {\n samples.shift();\n }\n avg = avgAmplitude(samples);\n if (++points >= options.eventLag.minSamples && avg < options.eventLag.lagThreshold) {\n _this.progress = 100;\n return clearInterval(interval);\n } else {\n return _this.progress = 100 * (3 / (avg + 3));\n }\n }, 50);\n }\n\n return EventLagMonitor;\n\n })();\n\n Scaler = (function() {\n function Scaler(source) {\n this.source = source;\n this.last = this.sinceLastUpdate = 0;\n this.rate = options.initialRate;\n this.catchup = 0;\n this.progress = this.lastProgress = 0;\n if (this.source != null) {\n this.progress = result(this.source, 'progress');\n }\n }\n\n Scaler.prototype.tick = function(frameTime, val) {\n var scaling;\n if (val == null) {\n val = result(this.source, 'progress');\n }\n if (val >= 100) {\n this.done = true;\n }\n if (val === this.last) {\n this.sinceLastUpdate += frameTime;\n } else {\n if (this.sinceLastUpdate) {\n this.rate = (val - this.last) / this.sinceLastUpdate;\n }\n this.catchup = (val - this.progress) / options.catchupTime;\n this.sinceLastUpdate = 0;\n this.last = val;\n }\n if (val > this.progress) {\n this.progress += this.catchup * frameTime;\n }\n scaling = 1 - Math.pow(this.progress / 100, options.easeFactor);\n this.progress += scaling * this.rate * frameTime;\n this.progress = Math.min(this.lastProgress + options.maxProgressPerFrame, this.progress);\n this.progress = Math.max(0, this.progress);\n this.progress = Math.min(100, this.progress);\n this.lastProgress = this.progress;\n return this.progress;\n };\n\n return Scaler;\n\n })();\n\n sources = null;\n\n scalers = null;\n\n bar = null;\n\n uniScaler = null;\n\n animation = null;\n\n cancelAnimation = null;\n\n Pace.running = false;\n\n handlePushState = function() {\n if (options.restartOnPushState) {\n return Pace.restart();\n }\n };\n\n if (window.history.pushState != null) {\n _pushState = window.history.pushState;\n window.history.pushState = function() {\n handlePushState();\n return _pushState.apply(window.history, arguments);\n };\n }\n\n if (window.history.replaceState != null) {\n _replaceState = window.history.replaceState;\n window.history.replaceState = function() {\n handlePushState();\n return _replaceState.apply(window.history, arguments);\n };\n }\n\n SOURCE_KEYS = {\n ajax: AjaxMonitor,\n elements: ElementMonitor,\n document: DocumentMonitor,\n eventLag: EventLagMonitor\n };\n\n (init = function() {\n var type, _j, _k, _len1, _len2, _ref2, _ref3, _ref4;\n Pace.sources = sources = [];\n _ref2 = ['ajax', 'elements', 'document', 'eventLag'];\n for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {\n type = _ref2[_j];\n if (options[type] !== false) {\n sources.push(new SOURCE_KEYS[type](options[type]));\n }\n }\n _ref4 = (_ref3 = options.extraSources) != null ? _ref3 : [];\n for (_k = 0, _len2 = _ref4.length; _k < _len2; _k++) {\n source = _ref4[_k];\n sources.push(new source(options));\n }\n Pace.bar = bar = new Bar;\n scalers = [];\n return uniScaler = new Scaler;\n })();\n\n Pace.stop = function() {\n Pace.trigger('stop');\n Pace.running = false;\n bar.destroy();\n cancelAnimation = true;\n if (animation != null) {\n if (typeof cancelAnimationFrame === \"function\") {\n cancelAnimationFrame(animation);\n }\n animation = null;\n }\n return init();\n };\n\n Pace.restart = function() {\n Pace.trigger('restart');\n Pace.stop();\n return Pace.start();\n };\n\n Pace.go = function() {\n var start;\n Pace.running = true;\n bar.render();\n start = now();\n cancelAnimation = false;\n return animation = runAnimation(function(frameTime, enqueueNextFrame) {\n var avg, count, done, element, elements, i, j, remaining, scaler, scalerList, sum, _j, _k, _len1, _len2, _ref2;\n remaining = 100 - bar.progress;\n count = sum = 0;\n done = true;\n for (i = _j = 0, _len1 = sources.length; _j < _len1; i = ++_j) {\n source = sources[i];\n scalerList = scalers[i] != null ? scalers[i] : scalers[i] = [];\n elements = (_ref2 = source.elements) != null ? _ref2 : [source];\n for (j = _k = 0, _len2 = elements.length; _k < _len2; j = ++_k) {\n element = elements[j];\n scaler = scalerList[j] != null ? scalerList[j] : scalerList[j] = new Scaler(element);\n done &= scaler.done;\n if (scaler.done) {\n continue;\n }\n count++;\n sum += scaler.tick(frameTime);\n }\n }\n avg = sum / count;\n bar.update(uniScaler.tick(frameTime, avg));\n if (bar.done() || done || cancelAnimation) {\n bar.update(100);\n Pace.trigger('done');\n return setTimeout(function() {\n bar.finish();\n Pace.running = false;\n return Pace.trigger('hide');\n }, Math.max(options.ghostTime, Math.max(options.minTime - (now() - start), 0)));\n } else {\n return enqueueNextFrame();\n }\n });\n };\n\n Pace.start = function(_options) {\n extend(options, _options);\n Pace.running = true;\n try {\n bar.render();\n } catch (_error) {\n NoTargetError = _error;\n }\n if (!document.querySelector('.pace')) {\n return setTimeout(Pace.start, 50);\n } else {\n Pace.trigger('start');\n return Pace.go();\n }\n };\n\n if (typeof define === 'function' && define.amd) {\n define(['pace'], function() {\n return Pace;\n });\n } else if (typeof exports === 'object') {\n module.exports = Pace;\n } else {\n if (options.startOnPageLoad) {\n Pace.start();\n }\n }\n\n}).call(this);\n"],"sourceRoot":"assets/scripts/"}