Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

{

"ns": "yt",
"el": "detailpage",
"cpn": "I10UTJ4As0hZt08S",
"docid": "kSrHmDBTDvQ",
"ver": 2,
"cmt": "2991.162",
"ei": "xHTKXKj-OpKV3LUP_5yPmAw",
"fmt": "247",
"fs": "0",
"rt": "2.639",
"of": "JrLUmILDiIQoa-T_ECxciw",
"euri": "",
"lact": 1,
"cl": "245995431",
"mos": 0,
"state": "8",
"vm": "CAEQARgE",
"volume": 100,
"c": "WEB",
"cver": "2.20190430",
"cplayer": "UNIPLAYER",
"cbr": "Chrome",
"cbrver": "73.0.3683.103",
"cos": "Macintosh",
"cosver": "10_14_3",
"hl": "en_US",
"cr": "AU",
"len": "9299.441",
"fexp":
"23723208,23736684,23744176,23751767,23752869,23753360,23755886,23755898,23778
947,23785333,23788363,23788838,23789493,23789671,23791029,23793834,23794556,238
00040,23801735,23804017,23804120,23804281,23804294,23804397,23804907,23805178,2
3805411,23807442,23808717,23809757,23809827,23810333,23810447,23811379,3300100,
3300131,3300161,3313321,3314088,3314609,3314786,3314928,3315246,9449243,9465708
,9471235,9474361",
"afmt": "251",
"vct": "2991.162",
"vd": "9299.441",
"vpl": "2990.000-2991.162",
"vbu": "2984.960-3010.560",
"vpa": "0",
"vsk": "0",
"ven": "0",
"vpr": "1",
"vrs": "4",
"vns": "2",
"vec": "null",
"vvol": "1",
"totalVideoFrames": 159,
"droppedVideoFrames": 0,
"lct": "2990.979",
"lsk": false,
"lmf": false,
"lbw": "1613527.370",
"lhd": "0.061",
"vrs": "4",
"vns": "2",
"vec": "null",
"vvol": "1",
"totalVideoFrames": 159,
"droppedVideoFrames": 0,
"lct": "2990.979",
"lsk": false,
"lmf": false,
"lbw": "1613527.370",
"lhd": "0.061",
"lst": "0.000",
"laa": "itag=251,type=3,seg=301,
<!doctype html>
<!--[if !IE]><!-->
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<!--<![endif]-->
<!--[if IE]>
<html class="ie" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/
javascript">(window.NREUM||
(NREUM={})).loader_config={xpid:"Ug8CUVVbGwIDUlVUBgkGVg=="};window.NRE
UM||(NREUM={}),__nr_require=function(t,n,e){function r(e){if(!n[e]){var
o=n[e]={exports:{}};t[e][0].call(o.exports,function(n){var o=t[e][1][n];return r(o||
n)},o,o.exports)}return n[e].exports}if("function"==typeof __nr_require)return
__nr_require;for(var o=0;o<e.length;o++)r(e[o]);return r}({1:[function(t,n,e){function r(t)
{try{s.console&&console.log(t)}catch(n){}}var
o,i=t("ee"),a=t(18),s={};try{o=localStorage.getItem("__nr_flags").split(","),console&&"fu
nction"==typeof console.log&&(s.console=!0,o.indexOf("dev")!==-1&&(s.dev=!
0),o.indexOf("nr_dev")!==-1&&(s.nrDev=!0))}catch(c){}s.nrDev&&i.on("internal-
error",function(t){r(t.stack)}),s.dev&&i.on("fn-err",function(t,n,e)
{r(e.stack)}),s.dev&&(r("NR AGENT IN DEVELOPMENT MODE"),r("flags:
"+a(s,function(t,n){return t}).join(", ")))},{}],2:[function(t,n,e){function r(t,n,e,r,s){try{p?
p-=1:o(s||new UncaughtException(t,n,e),!0)}catch(f){try{i("ierr",[f,c.now(),!0])}catch(d)
{}}return"function"==typeof u&&u.apply(this,a(arguments))}function
UncaughtException(t,n,e){this.message=t||"Uncaught error with no additional
information",this.sourceURL=n,this.line=e}function o(t,n){var e=n?null:c.now();i("err",
[t,e])}var i=t("handle"),a=t(19),s=t("ee"),c=t("loader"),f=t("gos"),u=window.onerror,d=!
1,l="nr@seenError",p=0;c.features.err=!0,t(1),window.onerror=r;try{throw new Error}
catch(h){"stack"in h&&(t(8),t(7),"addEventListener"in
window&&t(5),c.xhrWrappable&&t(9),d=!0)}s.on("fn-start",function(t,n,e)
{d&&(p+=1)}),s.on("fn-err",function(t,n,e){d&&!e[l]&&(f(e,l,function(){return!
0}),this.thrown=!0,o(e))}),s.on("fn-end",function(){d&&!this.thrown&&p>0&&(p-
=1)}),s.on("internal-error",function(t){i("ierr",[t,c.now(),!0])})},{}],3:[function(t,n,e)
{t("loader").features.ins=!0},{}],4:[function(t,n,e){function r(t){}
if(window.performance&&window.performance.timing&&window.performance.getEntries
ByType){var
o=t("ee"),i=t("handle"),a=t(8),s=t(7),c="learResourceTimings",f="addEventListener",u="re
sourcetimingbufferfull",d="bstResource",l="resource",p="-start",h="-
end",m="fn"+p,w="fn"+h,v="bstTimer",y="pushState",g=t("loader");g.features.stn=!
0,t(6);var x=NREUM.o.EV;o.on(m,function(t,n){var e=t[0];e instanceof
x&&(this.bstStart=g.now())}),o.on(w,function(t,n){var e=t[0];e instanceof x&&i("bst",
[e,n,this.bstStart,g.now()])}),a.on(m,function(t,n,e)
{this.bstStart=g.now(),this.bstType=e}),a.on(w,function(t,n){i(v,
[n,this.bstStart,g.now(),this.bstType])}),s.on(m,function()
{this.bstStart=g.now()}),s.on(w,function(t,n){i(v,
if(window.performance&&window.performance.timing&&window.performance.getEntries
ByType){var
o=t("ee"),i=t("handle"),a=t(8),s=t(7),c="learResourceTimings",f="addEventListener",u="re
sourcetimingbufferfull",d="bstResource",l="resource",p="-start",h="-
end",m="fn"+p,w="fn"+h,v="bstTimer",y="pushState",g=t("loader");g.features.stn=!
0,t(6);var x=NREUM.o.EV;o.on(m,function(t,n){var e=t[0];e instanceof
x&&(this.bstStart=g.now())}),o.on(w,function(t,n){var e=t[0];e instanceof x&&i("bst",
[e,n,this.bstStart,g.now()])}),a.on(m,function(t,n,e)
{this.bstStart=g.now(),this.bstType=e}),a.on(w,function(t,n){i(v,
[n,this.bstStart,g.now(),this.bstType])}),s.on(m,function()
{this.bstStart=g.now()}),s.on(w,function(t,n){i(v,
[n,this.bstStart,g.now(),"requestAnimationFrame"])}),o.on(y+p,function(t)
{this.time=g.now(),this.startPath=location.pathname+location.hash}),o.on(y+h,function(t)
{i("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),f in
window.performance&&(window.performance["c"+c]?window.performance[f]
(u,function(t){i(d,
[window.performance.getEntriesByType(l)]),window.performance["c"+c]()},!
1):window.performance[f]("webkit"+u,function(t){i(d,
[window.performance.getEntriesByType(l)]),window.performance["webkitC"+c]()},!
1)),document[f]("scroll",r,{passive:!0}),document[f]("keypress",r,!1),document[f]
("click",r,!1)}},{}],5:[function(t,n,e){function r(t){for(var n=t;n&&!
n.hasOwnProperty(u);)n=Object.getPrototypeOf(n);n&&o(n)}function o(t){s.inPlace(t,
[u,d],"-",i)}function i(t,n){return t[1]}var a=t("ee").get("events"),s=t(21)(a,!
0),c=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";n.expo
rts=a,"getPrototypeOf"in Object?
(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.
prototype)),a.on(u+"-start",function(t,n){var e=t[1],r=c(e,"nr@wrapped",function()
{function t(){if("function"==typeof e.handleEvent)return
e.handleEvent.apply(e,arguments)}var n={object:t,"function":e}[typeof e];return n?
s(n,"fn-",null,n.name||"anonymous"):e});this.wrapped=t[1]=r}),a.on(d+"-start",function(t)
{t[1]=this.wrapped||t[1]})},{}],6:[function(t,n,e){var r=t("ee").get("history"),o=t(21)
(r);n.exports=r,o.inPlace(window.history,["pushState","replaceState"],"-")},{}],7:
[function(t,n,e){var r=t("ee").get("raf"),o=t(21)
(r),i="equestAnimationFrame";n.exports=r,o.inPlace(window,
["r"+i,"mozR"+i,"webkitR"+i,"msR"+i],"raf-"),r.on("raf-start",function(t)
{t[0]=o(t[0],"fn-")})},{}],8:[function(t,n,e){function r(t,n,e){t[0]=a(t[0],"fn-",null,e)}
function o(t,n,e){this.method=e,this.timerDuration=isNaN(t[1])?
0:+t[1],t[0]=a(t[0],"fn-",this,e)}var i=t("ee").get("timer"),a=t(21)
(i),s="setTimeout",c="setInterval",f="clearTimeout",u="-
start",d="-";n.exports=i,a.inPlace(window,[s,"setImmediate"],s+d),a.inPlace(window,
[c],c+d),a.inPlace(window,[f,"clearImmediate"],f+d),i.on(c+u,r),i.on(s+u,o)},{}],9:
[function(t,n,e){function r(t,n){d.inPlace(n,["onreadystatechange"],"fn-",s)}function o()
{var t=this,n=u.context(t);t.readyState>3&&!n.resolved&&(n.resolved=!0,u.emit("xhr-
resolved",[],t)),d.inPlace(t,y,"fn-",s)}function i(t){g.push(t),h&&(b?b.then(a):w?w(a):(E=-
E,R.data=E))}function a(){for(var t=0;t<g.length;t++)r([],g[t]);g.length&&(g=[])}function
s(t,n){return n}function c(t,n){for(var e in t)n[e]=t[e];return n}t(5);var
f=t("ee"),u=f.get("xhr"),d=t(21)
(u),l=NREUM.o,p=l.XHR,h=l.MO,m=l.PR,w=l.SI,v="readystatechange",y=["onload","one
rror","onabort","onloadstart","onloadend","onprogress","ontimeout"],g=[];n.exports=u;var
x=window.XMLHttpRequest=function(t){var n=new p(t);try{u.emit("new-xhr",
[n],n),n.addEventListener(v,o,!1)}catch(e){try{u.emit("internal-error",[e])}catch(r){}}
return n};if(c(p,x),x.prototype=p.prototype,d.inPlace(x.prototype,["open","send"],"-
xhr-",s),u.on("send-xhr-start",function(t,n){r(t,n),i(n)}),u.on("open-xhr-start",r),h){var
b=m&&m.resolve();if(!w&&!m){var E=1,R=document.createTextNode(E);new
h(a).observe(R,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===v||
a()})},{}],10:[function(t,n,e){function r(){var t=window.NREUM,n=t.info.accountID||
null,e=t.info.agentID||null,r=t.info.trustKey||null,i="btoa"in window&&"function"==typeof
window.btoa;if(!n||!e||!i)return null;var a={v:[0,1],d:
{ty:"Browser",ac:n,ap:e,id:o.generateCatId(),tr:o.generateCatId(),ti:Date.now()}};return
r&&n!==r&&(a.d.tk=r),btoa(JSON.stringify(a))}var
o=t(16);n.exports={generateTraceHeader:r}},{}],11:[function(t,n,e){function r(t){var
n=this.params,e=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r<p;r+
return n};if(c(p,x),x.prototype=p.prototype,d.inPlace(x.prototype,["open","send"],"-
xhr-",s),u.on("send-xhr-start",function(t,n){r(t,n),i(n)}),u.on("open-xhr-start",r),h){var
b=m&&m.resolve();if(!w&&!m){var E=1,R=document.createTextNode(E);new
h(a).observe(R,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===v||
a()})},{}],10:[function(t,n,e){function r(){var t=window.NREUM,n=t.info.accountID||
null,e=t.info.agentID||null,r=t.info.trustKey||null,i="btoa"in window&&"function"==typeof
window.btoa;if(!n||!e||!i)return null;var a={v:[0,1],d:
{ty:"Browser",ac:n,ap:e,id:o.generateCatId(),tr:o.generateCatId(),ti:Date.now()}};return
r&&n!==r&&(a.d.tk=r),btoa(JSON.stringify(a))}var
o=t(16);n.exports={generateTraceHeader:r}},{}],11:[function(t,n,e){function r(t){var
n=this.params,e=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r<p;r+
+)t.removeEventListener(l[r],this.listener,!1);n.aborted||(e.duration=s.now()-
this.startTime,this.loadCaptureCalled||4!==t.readyState?
null==n.status&&(n.status=0):a(this,t),e.cbTime=this.cbTime,d.emit("xhr-done",
[t],t),c("xhr",[n,e,this.startTime]))}}function o(t,n){var
e=t.responseType;if("json"===e&&null!==n)return n;var
r="arraybuffer"===e||"blob"===e||"json"===e?t.response:t.responseText;return w(r)}
function i(t,n){var
e=f(n),r=t.params;r.host=e.hostname+":"+e.port,r.pathname=e.pathname,t.sameOrigin=e.sa
meOrigin}function a(t,n){t.params.status=n.status;var
e=o(n,t.lastSize);if(e&&(t.metrics.rxSize=e),t.sameOrigin){var
r=n.getResponseHeader("X-NewRelic-App-Data");r&&(t.params.cat=r.split(", ").pop())}
t.loadCaptureCalled=!0}var s=t("loader");if(s.xhrWrappable){var
c=t("handle"),f=t(12),u=t(10).generateTraceHeader,d=t("ee"),l=["load","error","abort","tim
eout"],p=l.length,h=t("id"),m=t(15),w=t(14),v=window.XMLHttpRequest;s.features.xhr=!
0,t(9),d.on("new-xhr",function(t){var
n=this;n.totalCbs=0,n.called=0,n.cbTime=0,n.end=r,n.ended=!
1,n.xhrGuids={},n.lastSize=null,n.loadCaptureCalled=!
1,t.addEventListener("load",function(e){a(n,t)},!1),m&&(m>34||m<10)||window.opera||
t.addEventListener("progress",function(t){n.lastSize=t.loaded},!1)}),d.on("open-xhr-
start",function(t){this.params={method:t[0]},i(this,t[1]),this.metrics={}}),d.on("open-xhr-
end",function(t,n){"loader_config"in NREUM&&"xpid"in
NREUM.loader_config&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-
ID",NREUM.loader_config.xpid);var e=!1;if("init"in NREUM&&"distributed_tracing"in
NREUM.init&&(e=!!NREUM.init.distributed_tracing.enabled),e&&this.sameOrigin){var
r=u();r&&n.setRequestHeader("newrelic",r)}}),d.on("send-xhr-start",function(t,n){var
e=this.metrics,r=t[0],o=this;if(e&&r){var i=w(r);i&&(e.txSize=i)}
this.startTime=s.now(),this.listener=function(t){try{"abort"!==t.type||o.loadCaptureCalled||
(o.params.aborted=!0),("load"!==t.type||
o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof n.onload))&&o.end(n)}
catch(e){try{d.emit("internal-error",[e])}catch(r){}}};for(var a=0;a<p;a+
+)n.addEventListener(l[a],this.listener,!1)}),d.on("xhr-cb-time",function(t,n,e)
{this.cbTime+=t,n?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!
this.onloadCalled&&"function"==typeof e.onload||this.end(e)}),d.on("xhr-load-
added",function(t,n){var e=""+h(t)+!!n;this.xhrGuids&&!
this.xhrGuids[e]&&(this.xhrGuids[e]=!0,this.totalCbs+=1)}),d.on("xhr-load-
removed",function(t,n){var e=""+h(t)+!!n;this.xhrGuids&&this.xhrGuids[e]&&(delete
this.xhrGuids[e],this.totalCbs-=1)}),d.on("addEventListener-end",function(t,n){n
instanceof v&&"load"===t[0]&&d.emit("xhr-load-added",
[t[1],t[2]],n)}),d.on("removeEventListener-end",function(t,n){n instanceof
v&&"load"===t[0]&&d.emit("xhr-load-removed",[t[1],t[2]],n)}),d.on("fn-
start",function(t,n,e){n instanceof v&&("onload"===e&&(this.onload=!0),
("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=s.now()))}),d.on("fn-
end",function(t,n){this.xhrCbStart&&d.emit("xhr-cb-time",[s.now()-
this.xhrCbStart,this.onload,n],n)})}},{}],12:[function(t,n,e){n.exports=function(t){var
n=document.createElement("a"),e=window.location,r={};n.href=t,r.port=n.port;var
o=n.href.split("://");!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")
[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=n.hostname||
e.hostname,r.pathname=n.pathname,r.protocol=o[0],"/"!
==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname);var i=!
n.protocol||":"===n.protocol||
n.protocol===e.protocol,a=n.hostname===document.domain&&n.port===e.port;return
start",function(t,n,e){n instanceof v&&("onload"===e&&(this.onload=!0),
("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=s.now()))}),d.on("fn-
end",function(t,n){this.xhrCbStart&&d.emit("xhr-cb-time",[s.now()-
this.xhrCbStart,this.onload,n],n)})}},{}],12:[function(t,n,e){n.exports=function(t){var
n=document.createElement("a"),e=window.location,r={};n.href=t,r.port=n.port;var
o=n.href.split("://");!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")
[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=n.hostname||
e.hostname,r.pathname=n.pathname,r.protocol=o[0],"/"!
==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname);var i=!
n.protocol||":"===n.protocol||
n.protocol===e.protocol,a=n.hostname===document.domain&&n.port===e.port;return
r.sameOrigin=i&&(!n.hostname||a),r}},{}],13:[function(t,n,e){function r(){}function
o(t,n,e){return function(){return i(t,[f.now()].concat(s(arguments)),n?null:this,e),n?void
0:this}}var
i=t("handle"),a=t(18),s=t(19),c=t("ee").get("tracer"),f=t("loader"),u=NREUM;"undefined"=
=typeof window.newrelic&&(newrelic=u);var
d=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace",
"inlineHit","addRelease"],l="api-",p=l+"ixn-";a(d,function(t,n){u[n]=o(l+n,!
0,"api")}),u.addPageAction=o(l+"addPageAction",!
0),u.setCurrentRouteName=o(l+"routeName",!
0),n.exports=newrelic,u.interaction=function(){return(new r).get()};var
h=r.prototype={createTracer:function(t,n){var e={},r=this,o="function"==typeof n;return
i(p+"tracer",[f.now(),t,e],r),function(){if(c.emit((o?"":"no-")+"fn-start",
[f.now(),r,o],e),o)try{return n.apply(this,arguments)}catch(t){throw c.emit("fn-err",
[arguments,this,t],e),t}finally{c.emit("fn-end",
[f.now()],e)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get
".split(","),function(t,n){h[n]=o(p+n)}),newrelic.noticeError=function(t,n)
{"string"==typeof t&&(t=new Error(t)),i("err",[t,f.now(),!1,n])}},{}],14:[function(t,n,e)
{n.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof
t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return
t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!
("undefined"!=typeof FormData&&t instanceof FormData))try{return
JSON.stringify(t).length}catch(n){return}}}},{}],15:[function(t,n,e){var
r=0,o=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);o&&(r=+o[1]),n.exports=r},{}],
16:[function(t,n,e){function r(){function t(){return n?15&n[e++]:16*Math.random()|0}var
n=null,e=0,r=window.crypto||
window.msCrypto;r&&r.getRandomValues&&(n=r.getRandomValues(new
Uint8Array(31)));for(var o,i="xxxxxxxx-xxxx-4xxx-yxxx-
xxxxxxxxxxxx",a="",s=0;s<i.length;s++)o=i[s],"x"===o?a+=t().toString(16):"y"===o?
(o=3&t()|8,a+=o.toString(16)):a+=o;return a}function o(){function t(){return n?15&n[e+
+]:16*Math.random()|0}var n=null,e=0,r=window.crypto||
window.msCrypto;r&&r.getRandomValues&&Uint8Array&&(n=r.getRandomValues(new
Uint8Array(31)));for(var o=[],i=0;i<16;i++)o.push(t().toString(16));return o.join("")}
n.exports={generateUuid:r,generateCatId:o}},{}],17:[function(t,n,e){function r(t,n){if(!
o)return!1;if(t!==o)return!1;if(!n)return!0;if(!i)return!1;for(var
e=i.split("."),r=n.split("."),a=0;a<r.length;a++)if(r[a]!==e[a])return!1;return!0}var
o=null,i=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var
s=navigator.userAgent,c=s.match(a);c&&s.indexOf("Chrome")===-1&&s.indexOf("Chro
mium")===-1&&(o="Safari",i=c[1])}n.exports={agent:o,version:i,match:r}},{}],18:
[function(t,n,e){function r(t,n){var e=[],r="",i=0;for(r in
t)o.call(t,r)&&(e[i]=n(r,t[r]),i+=1);return e}var
o=Object.prototype.hasOwnProperty;n.exports=r},{}],19:[function(t,n,e){function r(t,n,e)
{n||(n=0),"undefined"==typeof e&&(e=t?t.length:0);for(var r=-1,o=e-n||0,i=Array(o<0?
0:o);++r<o;)i[r]=t[n+r];return i}n.exports=r},{}],20:[function(t,n,e)
{n.exports={exists:"undefined"!=typeof
window.performance&&window.performance.timing&&"undefined"!=typeof
window.performance.timing.navigationStart}},{}],21:[function(t,n,e){function r(t){return!
(t&&t instanceof Function&&t.apply&&!t[a])}var
o=t("ee"),i=t(19),a="nr@original",s=Object.prototype.hasOwnProperty,c=!
1;n.exports=function(t,n){function e(t,n,e,o){function nrWrapper(){var
r,a,s,c;try{a=this,r=i(arguments),s="function"==typeof e?e(r,a):e||{}}catch(f){l([f,"",
[r,a,o],s])}u(n+"start",[r,a,o],s);try{return c=t.apply(a,r)}catch(d){throw u(n+"err",
o=Object.prototype.hasOwnProperty;n.exports=r},{}],19:[function(t,n,e){function r(t,n,e)
{n||(n=0),"undefined"==typeof e&&(e=t?t.length:0);for(var r=-1,o=e-n||0,i=Array(o<0?
0:o);++r<o;)i[r]=t[n+r];return i}n.exports=r},{}],20:[function(t,n,e)
{n.exports={exists:"undefined"!=typeof
window.performance&&window.performance.timing&&"undefined"!=typeof
window.performance.timing.navigationStart}},{}],21:[function(t,n,e){function r(t){return!
(t&&t instanceof Function&&t.apply&&!t[a])}var
o=t("ee"),i=t(19),a="nr@original",s=Object.prototype.hasOwnProperty,c=!
1;n.exports=function(t,n){function e(t,n,e,o){function nrWrapper(){var
r,a,s,c;try{a=this,r=i(arguments),s="function"==typeof e?e(r,a):e||{}}catch(f){l([f,"",
[r,a,o],s])}u(n+"start",[r,a,o],s);try{return c=t.apply(a,r)}catch(d){throw u(n+"err",
[r,a,d],s),d}finally{u(n+"end",[r,a,c],s)}}return r(t)?t:(n||
(n=""),nrWrapper[a]=t,d(t,nrWrapper),nrWrapper)}function f(t,n,o,i){o||(o="");var
a,s,c,f="-"===o.charAt(0);for(c=0;c<n.length;c++)s=n[c],a=t[s],r(a)||(t[s]=e(a,f?s+o:o,i,s))}
function u(e,r,o){if(!c||n){var i=c;c=!0;try{t.emit(e,r,o,n)}catch(a){l([a,e,r,o])}c=i}}
function d(t,n){if(Object.defineProperty&&Object.keys)try{var e=Object.keys(t);return
e.forEach(function(e){Object.defineProperty(n,e,{get:function(){return t[e]},set:function(n)
{return t[e]=n,n}})}),n}catch(r){l([r])}for(var o in t)s.call(t,o)&&(n[o]=t[o]);return n}
function l(n){try{t.emit("internal-error",n)}catch(e){}}return t||
(t=o),e.inPlace=f,e.flag=a,e}},{}],ee:[function(t,n,e){function r(){}function o(t){function
n(t){return t&&t instanceof r?t:t?c(t,s,i):i()}function e(e,r,o,i){if(!l.aborted||i)
{t&&t(e,r,o);for(var a=n(o),s=m(e),c=s.length,f=0;f<c;f++)s[f].apply(a,r);var
d=u[g[e]];return d&&d.push([x,e,r,a]),a}}function p(t,n){y[t]=m(t).concat(n)}function
h(t,n){var e=y[t];if(e)for(var r=0;r<e.length;r++)e[r]===n&&e.splice(r,1)}function m(t)
{return y[t]||[]}function w(t){return d[t]=d[t]||o(e)}function v(t,n){f(t,function(t,e)
{n=n||"feature",g[e]=n,n in u||(u[n]=[])})}var
y={},g={},x={on:p,addEventListener:p,removeEventListener:h,emit:e,get:w,listeners:m,co
ntext:n,buffer:v,abort:a,aborted:!1};return x}function i(){return new r}function a(){(u.api||
u.feature)&&(l.aborted=!0,u=l.backlog={})}var
s="nr@context",c=t("gos"),f=t(18),u={},d={},l=n.exports=o();l.backlog=u},{}],gos:
[function(t,n,e){function r(t,n,e){if(o.call(t,n))return t[n];var
r=e();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,n,
{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[n]=r,r}var
o=Object.prototype.hasOwnProperty;n.exports=r},{}],handle:[function(t,n,e){function
r(t,n,e,r){o.buffer([t],r),o.emit(t,n,e)}var o=t("ee").get("handle");n.exports=r,r.ee=o},{}],id:
[function(t,n,e){function r(t){var n=typeof t;return!t||"object"!==n&&"function"!
==n?-1:t===window?0:a(t,i,function(){return o++})}var
o=1,i="nr@id",a=t("gos");n.exports=r},{}],loader:[function(t,n,e){function r(){if(!E++)
{var t=b.info=NREUM.info,n=p.getElementsByTagName("script")
[0];if(setTimeout(u.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&n))return
u.abort();f(g,function(n,e){t[n]||(t[n]=e)}),c("mark",["onload",a()+b.offset],null,"api");var
e=p.createElement("script");e.src="https://"+t.agent,n.parentNode.insertBefore(e,n)}}
function o(){"complete"===p.readyState&&i()}function i(){c("mark",["domContent",a()
+b.offset],null,"api")}function a(){return R.exists&&performance.now?
Math.round(performance.now()):(s=Math.max((new Date).getTime(),s))-b.offset}var
s=(new
Date).getTime(),c=t("handle"),f=t(18),u=t("ee"),d=t(17),l=window,p=l.document,h="addE
ventListener",m="attachEvent",w=l.XMLHttpRequest,v=w&&w.prototype;NREUM.o={S
T:setTimeout,SI:l.setImmediate,CT:clearTimeout,XHR:w,REQ:l.Request,EV:l.Event,PR:l.
Promise,MO:l.MutationObserver};var y=""+location,g={beacon:"bam.nr-
data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/
nr-1123.min.js"},x=w&&v&&v[h]&&!/
CriOS/.test(navigator.userAgent),b=n.exports={offset:s,now:a,origin:y,features:
{},xhrWrappable:x,userAgent:d};t(13),p[h]?(p[h]("DOMContentLoaded",i,!1),l[h]
("load",r,!1)):(p[m]("onreadystatechange",o),l[m]("onload",r)),c("mark",
["firstbyte",s],null,"api");var E=0,R=t(20)},{}]},{},["loader",2,11,4,3]);</script>
<meta name="apple-itunes-app" content="app-id=922208952, affiliate-
data=ct=mobile_banner_smart&amp;pt=108036802, app-argument=courseheroapp://
upload/access/?trk=mobile_banner_smart">
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#001A96">
nr-1123.min.js"},x=w&&v&&v[h]&&!/
CriOS/.test(navigator.userAgent),b=n.exports={offset:s,now:a,origin:y,features:
{},xhrWrappable:x,userAgent:d};t(13),p[h]?(p[h]("DOMContentLoaded",i,!1),l[h]
("load",r,!1)):(p[m]("onreadystatechange",o),l[m]("onload",r)),c("mark",
["firstbyte",s],null,"api");var E=0,R=t(20)},{}]},{},["loader",2,11,4,3]);</script>
<meta name="apple-itunes-app" content="app-id=922208952, affiliate-
data=ct=mobile_banner_smart&amp;pt=108036802, app-argument=courseheroapp://
upload/access/?trk=mobile_banner_smart">
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#001A96">
<link rel="search" type="application/opensearchdescription+xml" title="Course Hero"
href="/open-search-description.xml">
<title> Upload Documents for Free Access
</title>
<meta name="description" content="">
<meta property="og:description" content="">
<link rel="canonical" href="https://www.coursehero.com/upload/access/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:image" content="https://www.coursehero.com/assets/img/
CH_Logo_FB.png">
<meta property="og:title" content=" Upload Documents for Free Access
">
<meta name="twitter:widgets:csp" content="on">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content=" Upload Documents for Free Access
">
<meta name="twitter:site" content="@CourseHero">
<meta name="twitter:image" content="https://www.coursehero.com/assets/img/
CH_Logo_Twitter.png">
<base href=/upload/access/></base>

<link rel="apple-touch-icon" href="/assets/img/apple-touch-icon.png">


<!-- CSS -->
<link rel="stylesheet" href="/assets/fonts/HaasGrotesk.css" type="text/css"
charset="utf-8">
<link rel="preload" href=https://d1azc1qln24ryf.cloudfront.net/76834/CourseHeroIconv10/
style-cf.css?6s8ncw crossorigin="anonymous" as="style" />

<link rel="stylesheet" href=https://d1azc1qln24ryf.cloudfront.net/76834/


CourseHeroIconv10/style-cf.css?6s8ncw crossorigin="anonymous">
<link href="https://www.coursehero.com/sym-assets/css/ab0882b-74d1f27.css"
rel='stylesheet' type='text/css'>

<link rel="stylesheet" href="https://www.coursehero.com/sym-assets/css/9e9234e-


e289d56.css">
<style>
.sw_search_widget_container .sw_search_bar_wrapper .mobile_sw_start_search_button{
display: none;
}
</style>
<link rel="stylesheet" href="https://www.coursehero.com/sym-assets/css/9e9234e-
e289d56.css">
<style>
.sw_search_widget_container .sw_search_bar_wrapper .mobile_sw_start_search_button{
display: none;
}
</style>
<link rel="stylesheet" href="https://www.coursehero.com/sym-assets/css/
dd9725c-757d81a.css">

<!-- Head Javascript -->


<script src="https://www.coursehero.com/sym-assets/js/bundle-9222fb3-cad0816.js"
type="text/javascript"></script>
<script type="text/javascript">
CHAnalytics.init({
env: 'prod',
random_bytes: [230,21,167,67,181,101,230,118,122,64,197,216,228,156,13,13],
enable_amplitude: false })
</script>

<link rel="shortcut icon" href="/chfavicon.ico" type="image/x-icon">

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-1389869-2', 'auto');

ga('set', 'userId', '100000786847147');

ga('set', 'dimension2', "basic");


ga('set', 'dimension3', "false");
if (typeof utmx !== 'undefined' && utmx('combination') != undefined) {
var l = document.location, s = l.search;
s = s + (s.length ? '&' : '?') + 'combination=' + utmx('combination');
ga('send', 'pageview', l.pathname + s)
} else {
ga('send', 'pageview');
}
</script>

<script>
} else {
ga('send', 'pageview');
}
</script>

<script>
window.__CH_WEBSERVER_NAME = 'rs-prod-apache-024';
window.__CH_PERSON = {
id: '100000786847147',
email: 'key.exia@gmail.com',
username: 'keyexia',
};

/* Register a Service Worker */


if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/service-worker.js').then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful: ', registration);

// Immediately unregister the Service Worker


registration.unregister().then(function(boolean) {
console.log('ServiceWorker was successfully unregistered');
});
}, function(err) {
// Registration failed
console.log('ServiceWorker registration failed: ', err);
});
});
}
</script>

<script>
// TODO: js/ gulp project and minify
function onPageLoadComplete(cb) {
if (document.readyState === 'complete') {
cb();
} else {
document.addEventListener('DOMContentLoaded', function () {
cb();
});
}
}

function image_error_backup(me, url) {


if (url == ''){
document.addEventListener('DOMContentLoaded', function () {
cb();
});
}
}

function image_error_backup(me, url) {


if (url == ''){
return false;
}
if (!me.imageErrorTries) {
me.imageErrorTries = 0;
}
me.imageErrorTries = me.imageErrorTries + 1;
if (me.imageErrorTries < 2) {
me.src = url;
} else {
me.src = '/img/reviewer_nothumb.gif';
me.alt = '';
}
}

if (!String.prototype.endsWith) {
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
}

var lazyLoadState = {};


function lazyLoadJs(opts, cb) {
if (opts.skipIf()) {
cb();
return;
}

var allSources = opts.sources;


var jsSources = [];
var cssSources = [];
for (var i = 0; i < allSources.length; i++) {
if (allSources[i].endsWith('.js')) {
jsSources.push(allSources[i]);
} else if (allSources[i].endsWith('.css')) {
cssSources.push(allSources[i]);
}
}

var onerror = function () {


if (allSources[i].endsWith('.js')) {
jsSources.push(allSources[i]);
} else if (allSources[i].endsWith('.css')) {
cssSources.push(allSources[i]);
}
}

var onerror = function () {


throw new Error('could not lazy load: ' + this.src);
};

var addToHead = function(src, onload) {


if (src.endsWith('.js')) {
var script = document.createElement('script');
script.onload = onload;
script.onerror = onerror;
script.src = src;
script.srcRaw = src; // "src" gets mangled, this property won't be
document.head.appendChild(script);
} else if (src.endsWith('.css')) {
var link = document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.onload = onload;
link.onerror = onerror;
link.href = src;
link.srcRaw = src; // "href" gets mangled, this property won't be
link.media = 'all';
document.head.appendChild(link);
}
};

// js and css sources should be loaded in order, but they can be loaded in parallel
var groupedSources = [jsSources, cssSources];
var finishedGroups = 0;
groupedSources.forEach(function(sources) {
var index = 0;

var loadNext = function () {


if (this.srcRaw) {
lazyLoadState[this.srcRaw] = 'done';
}

if (index === sources.length) {


finishedGroups += 1;
if (finishedGroups === groupedSources.length) {
cb();
}
lazyLoadState[this.srcRaw] = 'done';
}

if (index === sources.length) {


finishedGroups += 1;
if (finishedGroups === groupedSources.length) {
cb();
}
return;
}

var nextSource = sources[index];


index += 1;
if (lazyLoadState[nextSource] === 'done') {
loadNext();
} else {
addToHead(nextSource, loadNext);
}
};

// start
loadNext();
});
}

// This is a preloader for the Google Tag Manager script


// The primary purpose of this script is to collect data for tracking pixels
// Simple variables, JS code, can be written directly in GTM
// More complex code should go here for a better code review process

(function() {
var GTM_DEBUG = false;
var MESG_PREFIX = "[GTM-Data]";

try {
// Sets up data for Google Tag Manager
GTM_DEBUG_MESG('Creating dataLayer');
window.dataLayer = window.dataLayer || [];

if (window.__CH_PERSON) {
dataLayer.push({
'User ID': window.__CH_PERSON.id,
'User Email': window.__CH_PERSON.email,
'User Name': window.__CH_PERSON.username,
'isVerifiedEducator': window.__CH_PERSON.isVerifiedEducator,
'isApprovedExpert': window.__CH_PERSON.isApprovedExpert
});
}
if (window.__CH_PERSON) {
dataLayer.push({
'User ID': window.__CH_PERSON.id,
'User Email': window.__CH_PERSON.email,
'User Name': window.__CH_PERSON.username,
'isVerifiedEducator': window.__CH_PERSON.isVerifiedEducator,
'isApprovedExpert': window.__CH_PERSON.isApprovedExpert
});
}

if (window.__CH_WEBSERVER_NAME) {
dataLayer.push({
'Webserver Name': window.__CH_WEBSERVER_NAME
});
}
} catch (error){
if (typeof(console) !== 'undefined') {
console.error(MESG_PREFIX+" ERROR: "+error);
}
}

// Helper Functions

function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

//Get cookie item by name


function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}

//Formatted debug string with a single var to turn off


function GTM_DEBUG_MESG(mesg) {
if(GTM_DEBUG && typeof(console) !== 'undefined'){
console.debug(MESG_PREFIX+" "+mesg);
}
}
}

//Formatted debug string with a single var to turn off


function GTM_DEBUG_MESG(mesg) {
if(GTM_DEBUG && typeof(console) !== 'undefined'){
console.debug(MESG_PREFIX+" "+mesg);
}
}
})();

</script>

<!-- Google Tag Manager -->


<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-DK9F');</script>
<!-- Wrapping Google Tag Management event firing code in a try/catch block -->
<script>
try{
} catch (error){
if (typeof(console) !== 'undefined') {
console.error("[GTM-EVENT] ERROR: "+error);
}
}
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-DK9F"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

<header id="ch-header" itemscope="true" itemtype="http://schema.org/WPHeader"


role="navigation" class="SiteHeader translate">

<div class="ch_hamburger_icon ">


<div class="bar"></div>
<div id="ch_offCanvas_nav" class="ndbNavigationDesktop">
<div class="ch_dashboardNavbar" data-can-access-expert-dashboard="" data-is-
educator="" data-courses-to-hide-taxonomy-link="[10122614]"></div>
<header id="ch-header" itemscope="true" itemtype="http://schema.org/WPHeader"
role="navigation" class="SiteHeader translate">

<div class="ch_hamburger_icon ">


<div class="bar"></div>
<div id="ch_offCanvas_nav" class="ndbNavigationDesktop">
<div class="ch_dashboardNavbar" data-can-access-expert-dashboard="" data-is-
educator="" data-courses-to-hide-taxonomy-link="[10122614]"></div>

</div>
</div>
<a href="/" id="ch_headerLogo_action"
class=" "
data-cha-target-name="ch_logo_link"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/">
<img alt="Course Hero Logo" class="ch_header_logo " id="ch_header_logo_origin" src="/
assets/img/coursehero-logo.svg" width="210" height="40" />
<img alt="Course Hero Symbol" class="ch_headerMobile_logo "
id="ch_header_logo_small" src="/assets/img/coursehero-logotype_white.svg" width="42"
height="30" />
</a>
<div class="ch_search_wrapper ">
<div data-search-widget
data-type="old_header_sw"
data-user-id="100000786847147"
data-is-educator=""
data-show-ask-question-from-search="1"
></div>

</div>
<ul class="ch_nav_group isBrowseMenu">

<li>
<button class="ch_nav_action isHamburgerMenu hideInDesktop" aria-
label="Menu"><span class="bar"></span><span></span></button>
<div class="ch_subNav_panel">
<ul class="ch_mobileNav_group">
<li class="hasChildren">
<a href="">My Dashboard</a>
<ul class="ndbNavigationMobile isHidden">
<li class="oneLevelUpAction"><a href="#"><i class="fa fa-angle-left"></i> Main Menu</
a></li>
<div class="ch_dashboardNavbar" data-can-access-expert-dashboard="" data-is-
educator="" data-courses-to-hide-taxonomy-link="[10122614]"></div>
</ul>
<a href="/study-materials/" title="Study Resources">Find Study Resources</a>
<a href="">My Dashboard</a>
<ul class="ndbNavigationMobile isHidden">
<li class="oneLevelUpAction"><a href="#"><i class="fa fa-angle-left"></i> Main Menu</
a></li>
<div class="ch_dashboardNavbar" data-can-access-expert-dashboard="" data-is-
educator="" data-courses-to-hide-taxonomy-link="[10122614]"></div>
</ul>
<a href="/study-materials/" title="Study Resources">Find Study Resources</a>
<ul class="isHidden">
<li class="oneLevelUpAction"><a href="javascript:void(0);"><i class="fa fa-angle-
left"></i> Main Menu</a></li>
<li>
<a href="/study-materials/" rel="" title="by School">by School</a>
</li>
<li>
<a href="/subjects/" rel="" title="by Subject">by Subject</a>
<div class="ch_mobile_secondaryNav_group">
<a href="/sg/" rel="" title="Course Study Guides">Course Study Guides</a>
</div>
</li>
<li>
<a href="/lit/" rel="" title="by Book">by Book</a>
<div class="ch_mobile_secondaryNav_group">
<a href="/lit/" rel="" title="Literature Study Guides">Literature Study Guides</a>
<a href="/infographics/" rel="" title="Infographics">Infographics</a>
</div>
</li>
</ul>
<a href="/tutors/homework-help/" title="Tutoring Help">Get Instant Tutoring Help</a>
<a href="/free-access/" title="Contributing">Earn by Contributing</a>
<ul class="isHidden">
<li class="oneLevelUpAction"><a href="javascript:void(0);"><i class="fa fa-angle-
left"></i> Main Menu</a></li>
<li>
<a href="/free-access/" rel="" title="Earn Free Access">Earn Free Access</a>
</li>
<li>
<a href="/upload/" rel="nofollow" title="Upload Documents">Upload Documents</a>
</li>
<li>
<a href="/referrals/" rel="nofollow" title="Refer Your Friends">Refer Your Friends</a>
</li>
<li>
<label class="notClickable">Earn Money</label>
</li>
<li>
<a href="/become-a-tutor/" rel="" title="Become a Tutor">Become a Tutor</a>
</li>
<a href="/referrals/" rel="nofollow" title="Refer Your Friends">Refer Your Friends</a>
</li>
<li>
<label class="notClickable">Earn Money</label>
</li>
<li>
<a href="/become-a-tutor/" rel="" title="Become a Tutor">Become a Tutor</a>
</li>
<li>
<a href="/scholarships/" rel="" title="Scholarships">Scholarships</a>
</li>
</ul>
</li>
<li class="ch_mobileAppLinks">
<a href="https://itunes.apple.com/app/apple-store/id922208952?
pt=108036802&ct=nav_menu&mt=8" class="ch-external-link" target="_blank"
rel="nofollow noreferrer" >
<img alt="app store button" class="ch_mobilePromotion_button " src="/assets/img/header/
appstore.png" height="30" />
</a>
<a href="https://play.google.com/store/apps/details?
id=com.coursehero.coursehero&hl=en&utm_campaign=nav_menu" class="ch-external-
link" target="_blank" rel="nofollow noreferrer">
<img alt="google play button" class="ch_mobilePromotion_button " src="/assets/img/
header/googleplay.png" height="30" />
</a>
</li>
</ul>
</div>
</li>

<li>
<a class="ch_nav_action"
href="/study-materials/"
title="Study Resources"
id=""
rel=""
data-cha-target-name="find_study_resources_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/study-materials/">
<span class="bar"></span>
<span>
<span class="prefixVerb">Find</span>
Study Resources <i class="fa fa-chevron-down"></i> </span>
</a>
<div class="ch_subNav_panel">
<ul class="ch_subNav_group ">
data-cha-action-target-id="/study-materials/">
<span class="bar"></span>
<span>
<span class="prefixVerb">Find</span>
Study Resources <i class="fa fa-chevron-down"></i> </span>
</a>
<div class="ch_subNav_panel">
<ul class="ch_subNav_group ">
<li class="">
<a href="/study-materials/"
rel=""
title="by School"
id=""
data-cha-target-name="find_doc_by_school_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/study-materials/">
by School
</a>

</li>
<li class="">
<a href="/subjects/"
rel=""
title="by Subject"
id=""
data-cha-target-name="find_doc_by_subject_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/subjects/">
by Subject
</a>

<i class="right_arrow fa fa-chevron-right"></i>


<ul class="ch_secondaryNav_group">
<li>
<a href="/sg/"
rel=""
title="Course Study Guides"
id=""
data-cha-target-name="find_course_study_guides"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/sg/">
Course Study Guides
title="Course Study Guides"
id=""
data-cha-target-name="find_course_study_guides"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/sg/">
Course Study Guides
</a>
</li>
</ul>
</li>
<li class="">
<a href="/lit/"
rel=""
title="by Book"
id=""
data-cha-target-name="find_doc_by_book_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/lit/">
by Book
</a>

<i class="right_arrow fa fa-chevron-right"></i>


<ul class="ch_secondaryNav_group">
<li>
<a href="/lit/"
rel=""
title="Literature Study Guides"
id=""
data-cha-target-name="find_lit_study_guides_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/lit/">
Literature Study Guides
</a>
</li>
<li>
<a href="/infographics/"
rel=""
title="Infographics"
id=""
data-cha-target-name="find_infographics_link"
data-cha-location="header"
</li>
<li>
<a href="/infographics/"
rel=""
title="Infographics"
id=""
data-cha-target-name="find_infographics_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/infographics/">
Infographics
</a>
</li>
</ul>
</li>
</ul>
</div>
</li>
<li>
<a class="ch_nav_action"
href="/tutors/homework-help/"
title="Tutoring Help"
id=""
rel=""
data-cha-target-name="get_tutoring_help_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/tutors/homework-help/">
<span class="bar"></span>
<span>
<span class="prefixVerb">Get Instant</span>
Tutoring Help </span>
</a>
<div class="ch_subNav_panel">
<ul class="ch_subNav_group ">
</ul>
</div>
</li>
<li>
<a class="ch_nav_action"
href="/free-access/"
title="Contributing"
id=""
rel=""
data-cha-target-name="earn_by_contributing_link"
data-cha-location="header"
<li>
<a class="ch_nav_action"
href="/free-access/"
title="Contributing"
id=""
rel=""
data-cha-target-name="earn_by_contributing_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/free-access/">
<span class="bar"></span>
<span>
<span class="prefixVerb">Earn by</span>
Contributing <i class="fa fa-chevron-down"></i> </span>
</a>
<div class="ch_subNav_panel">
<ul class="ch_subNav_group ">
<li class="isSeparator">
Earn Free Access
<a href="/free-access/"
rel=""
title="Earn Free Access"
id=""
data-cha-target-name="earn_free_access_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/free-access/">
Learn More &gt;
</a>

</li>
<li class="">
<a href="/upload/"
rel="nofollow"
title="Upload Documents"
id=""
data-cha-target-name="upload_docs_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/upload/">
Upload Documents
</a>

</li>
<li class="">
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/upload/">
Upload Documents
</a>

</li>
<li class="">
<a href="/referrals/"
rel="nofollow"
title="Refer Your Friends"
id=""
data-cha-target-name="refer_friends_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/referrals/">
Refer Your Friends
</a>

</li>
<li class="isSeparator">
Earn Money

</li>
<li class="">
<a href="/become-a-tutor/"
rel=""
title="Become a Tutor"
id=""
data-cha-target-name="become_tutor_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/become-a-tutor/">
Become a Tutor
</a>

</li>
<li class="isSeparator">
Scholarships
<a href="/scholarships/"
rel=""
title="Scholarships"
id=""
data-cha-target-name="scholarships_link"
data-cha-location="header"
<li class="isSeparator">
Scholarships
<a href="/scholarships/"
rel=""
title="Scholarships"
id=""
data-cha-target-name="scholarships_link"
data-cha-location="header"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/scholarships/">
Learn More &gt;
</a>

</li>
</ul>
</div>
</li>
</ul>

<ul class="ch_nav_group isUserMenu" data-ng-module="notifications">


<li style="display:none">
<script type="text/ng-template" id="/notifications/template"><a data-ng-
click="notifications.togglePopup($event)"
data-ng-class="{ active: notificationsList.data.showPopupList }"
data-cha-target-name="check_notifications_btn"
data-cha-action-type="view"
data-cha-action-target-type="notifications"
onclick="amplitudeTrackNotifications('Open Notifications', '')">
<i class="fa fa-bell-o"></i><span data-ng-show="notifications.data.unseenCount >
0">{[ notifications.data.unseenCount ]}</span>
</a>
<div data-notifications-list></div></script>
<script type="text/ng-template" id="/notifications-list/template"><div
class="ch_notifications_panel" data-ng-class="{'isEnabled':
notificationsList.data.showPopupList}">
<h5>Notifications <i class="fa fa-spinner fa-spin" data-ng-
show="notificationsList.showLoading()"></i><span
class="ch_notification_number">{[notificationsList.data.notificationCount || 0]}</span></
h5>
<ul>
<li class="isEmpty" data-ng-show="!notificationsList.data.notificationsLoading &&
notificationsList.data.notifications.length == 0">
<img src="/assets/img/no-notifications.svg" width="50" height="50">
<p>You have no notifications!</p>
</li>
</ul>

<ul class="notification_dropdown_list" data-infinite-


<li class="isEmpty" data-ng-show="!notificationsList.data.notificationsLoading &&
notificationsList.data.notifications.length == 0">
<img src="/assets/img/no-notifications.svg" width="50" height="50">
<p>You have no notifications!</p>
</li>
</ul>

<ul class="notification_dropdown_list" data-infinite-


scroll="notificationsList.reachedContentEnd()" data-infinite-scroll-distance="3">
<li data-ng-repeat="item in notificationsList.data.notifications"
data-ng-click="notificationsList.performAction(item)"
data-ng-class="{ 'isUnread': item.acknowledged == null }"
data-cha-target-name="view_notification_link"
data-cha-action-type="view"
data-ng-attr-data-cha-action-target-id = "{[item.notification_id]}"
onclick="amplitudeTrackNotifications('Click Notification', 'View')"
data-cha-action-target-type = "notification" data-cha-location="header">
<i class="fa {[ item.icon_class ]} notification-type"></i>
<a data-ng-click="notificationsList.removeNotification($event, item)"
class="toRemoveNotification"
data-cha-target-name="remove_notification_btn"
data-cha-action-type="remove"
data-ng-attr-data-cha-action-target-id = "{[item.notification_id]}"
onclick="amplitudeTrackNotifications('Click Notification', 'Remove')"
data-cha-action-target-type = "notification" data-cha-location="header">
<i class="fa fa-times"></i>
</a>
<p data-ng-bind-html="item.title | to_trusted"></p>
<span class="isTimestamp"><i class="fa fa-clock-o"></i> <span data-am-time-
ago="item.notification_date"></span></span>
<a data-ng-hide="item.acknowledged != null"
data-ng-click="notificationsList.acknowledge($event, item)"
class="isReadAction"
data-cha-target-name="acknowledge_notification_btn"
data-cha-action-type="acknowledge"
data-ng-attr-data-cha-action-target-id = "{[item.notification_id]}"
onclick="amplitudeTrackNotifications('Click Notification', 'Mark As Read')"
data-cha-action-target-type = "notification" data-cha-location="header">
<i class="fa fa-eye"></i>
Mark as Read
</a>
</li>
</ul>
</div></script>
</li>
<li class="ch_notifications_action" data-notifications>
</li>
<li id="ch_userNav_action">
Mark as Read
</a>
</li>
</ul>
</div></script>
</li>
<li class="ch_notifications_action" data-notifications>
</li>
<li id="ch_userNav_action">
<a class="ch_nav_action">
<div class="ch_profile_container" style="background-image:url('/api/v1/users/photo/
100000786847147/');"></div>
<i class="fa fa-chevron-down"></i> </a>
<div class="ch_userNav_panel open-to-left">
<ul class="ch_userNav_group ch_global_drop_down ">
<li><a href="/profile/keyexia/"
rel=""
class=""
title="My Profile"
onclick=""
id=""
data-cha-target-name="view_my_profile_link"
data-cha-location="header_right"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/profile/keyexia/">My Profile</a></li>
<li><a href="/home/#/settings"
rel=""
class=""
title="Account Settings"
onclick=""
id=""
data-cha-target-name="view_account_settings_link"
data-cha-location="header_right"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/home/#/settings">Account Settings</a></li>
<li><a href="/my-account/#/rewards"
rel=""
class=""
title="My Rewards"
onclick=""
id=""
data-cha-target-name="view_rewards_link"
data-cha-location="header_right"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/my-account/#/rewards">My Rewards</a></li>
title="My Rewards"
onclick=""
id=""
data-cha-target-name="view_rewards_link"
data-cha-location="header_right"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/my-account/#/rewards">My Rewards</a></li>
<li><a href="/my-account/#/scholarships/active"
rel=""
class=""
title="My Scholarships"
onclick=""
id=""
data-cha-target-name="view_scholarships_link"
data-cha-location="header_right"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/my-account/#/scholarships/active">My Scholarships</a></li>
<li><a href="https://support.coursehero.com/"
rel=""
class=""
title="Support"
onclick=""
id=""
data-cha-target-name="get_support_link"
data-cha-location="header_right"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="https://support.coursehero.com/">Support</a></li>
<li><a href="/logout/"
rel=""
class=""
title="Logout"
onclick=""
id=""
data-cha-target-name="logout_link"
data-cha-location="header_right"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/logout/">Logout</a></li>
<li><a href="/registration/"
rel=""
class="ch_userUpgrade_button translate"
title="Upgrade to Premier"
onclick=""
id=""
data-cha-target-name="upgrade_account_link"
data-cha-action-target-id="/logout/">Logout</a></li>
<li><a href="/registration/"
rel=""
class="ch_userUpgrade_button translate"
title="Upgrade to Premier"
onclick=""
id=""
data-cha-target-name="upgrade_account_link"
data-cha-location="header_right"
data-cha-action-type="visit"
data-cha-action-target-type="page"
data-cha-action-target-id="/registration/">Upgrade to Premier</a></li>
</ul>
</div>
</li>
</ul>

<script type="text/javascript">
window.isTeacher = 0;
</script>
<script src="https://www.coursehero.com/sym-assets/js/bundle-b49a287-8c32ec0.js"
type="text/javascript"></script>
<script>
function amplitudeTrackUploadClick(source) {
var properties = {};
properties['Source'] = source;
tracker.track('[Educator] Upload Click', properties);
}

function amplitudeTrackNotifications(event, clickType) {


var eventName = '[Notifications] ' + event;
var properties = {};
if (clickType) {
properties['Click Type'] = clickType;
}
tracker.track(eventName, properties);
}
</script>

</header>
<div id="ch-body">
<script>
var _tagger_school = {"id":2505,"name":"University of Washington","country":"United
States","mine":false,"verified":0};
</header>
<div id="ch-body">
<script>
var _tagger_school = {"id":2505,"name":"University of Washington","country":"United
States","mine":false,"verified":0};
</script>
<script>
var _uploader_type = 'access';
var _inital_document_count_for_unlocks = '9';
var _inital_document_count_for_tutor_questions = '0';
var _total_documents_accepted_for_tutor_questions = '0';
var _initial_questions_count = '0';
var _redirected_from_ask_qa = false;
var _access_tiers = [{"breakpoint":10,"reward":5,"rewardPart":5}];
var _tutorQuestions_tiers = [{"breakpoint":10,"reward":3},{"breakpoint":30,"reward":9},
{"breakpoint":50,"reward":15}];
var _saved_documents = [];
var _hide_tour = true;
var _doc_types = {"essay":"Essay","homework":"Homework Help","lab":"Lab
Report","notes":"Notes","test_prep":"Test Prep"};
var _doc_types_to_keyword = {"essay":["essay","paper"],"homework":
["homework","assignment","hw","problem
set","problem","exercise","worksheet","workbook","solutions","homeworkhelp"],"lab":["
lab "],"notes":["lecture","notes","review","outline","note","syllabus"],"test_prep":["study
guide","studyguide","exam","midterm","test","final","quiz","testprep"]};
var const_FileUploadService = {"UNSUPPORTED_FILENAMES":
["thumbs.db","Thumbs.db","__MACOSX",".DS_Store","._.DS_Store","desktop.ini","Desk
top.ini"],"UNSUPPORTED_MIME_MEDIA_TYPES":
["audio","video"],"MIN_FILESIZE":1,"MAX_FILESIZE":
134217728,"METHOD_FILEPICKER":"filepicker","METHOD_REGULAR":"regular","S
OURCE_LOCAL_FILE":"local_file","SOURCE_LOCAL_FOLDER":"local_folder","SO
URCE_CLOUD":"cloud"};
var _max_bonus_for_uploads = '5';
var _docs_required_after_max_breakpoint = '10';
var educatorCourseClaim = null;
var _invalidFileTypes =
["##h","0c","0xe","10o","13_","13t","15o","15t","16-20","18afa","18awi","1c","1op","1st",
"264","2jpg","3a","3dm","3ds","3g2","3gp","3gp2","3gpp","3gpp2","3mm","3p2","45s","4
br","4c","5_9","5a","60d","6a","73k","787","7c","7z","89","89k","89y","8a","8xg","8xk","
8xp","8xu","9a","_us","a","a1p1","a51","a6p","aa8","aae","aaf","aam","ab1","abcdi","abl",
"abr","ac","ac7","acb","acc","accdb","accde","acf","acl","acq","acr","acsm","action","actm
","ad1","ada","adb","adf","adf~","adm","admx","ado","adoc","ads","ae
20","aec","aecap","aegraphic","aep","aepx","aesl","aet","aetx","aff","afl","afm","agda","ag
db","agl","ahk","ai","aid","aif","air","airs1","ajp","akp","al","alb","ale","alg","all","aln","al
p","als","am","am5","amc","ammdb","amosp","amp","amr","amv","amw","amx","anim","a
nki","anki2","anl","annot","ano","ans","ant","anx","ap12","ap13","apdb","ape","apj","apk",
"app","aps","apxt","aqm","aqt","ar","arc","arcut","arf","arff","arg","arsc","arscript","art","a
s","asar","asax","asb","asc","ascii","asd","asf","ashx","asmx","asm~","asp","aspx","ass","a
sset","astx","asx","asy","atc","atexe","ath","atn","atx","au","au3","aud","aup","auto","aux",
"auz","avb","avc","avchd","avd","ave","avi","avm","avp","avs","avv","awc","awk","awlive
","awm","aws","ax","axd","axf","axm","axv","azw","azw2","azw3","azw4","b","b#1","b#2
"abr","ac","ac7","acb","acc","accdb","accde","acf","acl","acq","acr","acsm","action","actm
","ad1","ada","adb","adf","adf~","adm","admx","ado","adoc","ads","ae
20","aec","aecap","aegraphic","aep","aepx","aesl","aet","aetx","aff","afl","afm","agda","ag
db","agl","ahk","ai","aid","aif","air","airs1","ajp","akp","al","alb","ale","alg","all","aln","al
p","als","am","am5","amc","ammdb","amosp","amp","amr","amv","amw","amx","anim","a
nki","anki2","anl","annot","ano","ans","ant","anx","ap12","ap13","apdb","ape","apj","apk",
"app","aps","apxt","aqm","aqt","ar","arc","arcut","arf","arff","arg","arsc","arscript","art","a
s","asar","asax","asb","asc","ascii","asd","asf","ashx","asmx","asm~","asp","aspx","ass","a
sset","astx","asx","asy","atc","atexe","ath","atn","atx","au","au3","aud","aup","auto","aux",
"auz","avb","avc","avchd","avd","ave","avi","avm","avp","avs","avv","awc","awk","awlive
","awm","aws","ax","axd","axf","axm","axv","azw","azw2","azw3","azw4","b","b#1","b#2
","bak","bak3","bas","bash","bat","bbl","bc","bcd","bcm","bdc","bdf","bdic","bdm","bdmv
","bdt2","bdt3","beam","bfc","bgn","bgr","bib","bif","bik","bin","bin~","bio","bit","bix","b
k","bk0","bk1","bk2","bkp","bkpj","bld","blend","blf","blip","blk","blt","blub","bluej","bm
c","bmk","bmml","bmpr","bn7","bnk","bnp","bok","bom","box","bp1","bpm","bpn","br","
brain","brd","brstm","bs","bs2","bs4","bsb","bscp","bsf","bsg","bss","bst","btm","bu","bun
","bup","bvh","bvr","bxs","byu","bz2","c#","c0","c3","c3po","caa","cab","cache","cad","ca
e","caf","caj","calc","cam","camproj","camrec","camv","cap","car","card","cards","cat","c
bf","cbl","cbp","ccap","ccd","ccp","ccs","cct","cctg2","ccw","cc~","cd","cdb","cdc","cdd",
"cdf","cdm","cdoc","cdr","cds","cdss","cdx","cdxml","ced","cel","cell","celx","cer","ces","
cfg","cfge","cfib","cfp","cft","cfu","cfxb","cgi","cgl","ch","che","chk","chm","chn","chs","
cht","chw","ci3","cia","cif","cine","cip","cir","circ","ckd","cks","ckt","cl","class","cle","clf
","clg","clj","cljc","clk","clp","clpi","cls","clus","clx","cm","cmake","cmap","cmbl","cmd"
,"cmdb","cmm","cmmp","cmmtpl","cmp","cmproj","cmrec","cms","cmv","cn3","cnc","cnf
","cnk","cnt","cob","cob~","cod","cof","col","com","command","comp","con","conf","core
","cp","cp3","cpgz","cpi","cpl","cplex","cpn","cpp#","cpp~","cpr","cpt","cpu","cpvc","cpy
","craft","crash","crd","crdow","crec","crt","crx","cs1","csf","csh","csl","csm","csp","cst","
csz","ct","ctl","cts","ctxt","cu","cu_","cube","cube3","cuh","cup","cur","cva","cvc","cwk",
"cwr","cx3","cxl","cxx","c~","d","d2v","d3v","da","dap","dash","dat","data","dav","db","d
b2","db3","dba","dbb","dbc","dbf","dbk","dbs","dcd","dce","dck","dcm","dcr","dct","dcx",
"ddat","ddb","ddd","ddf","ddl","ddp","dds","deb","dec","def","dek","del","dem","dep","der
","des","dev","dez","dfa","dfd","dft","dfw","dgml","dia","diag","dia~","dia~~","dib","dic",
"dif","diff","dip","dir","dis","disco","divx","diz","djv","djvu","dkx","dld","dlf","dll","dlx",
"dm#","dmb","dmbot","dmc","dmg","dmkit","dmp","dms","dmsd","dmsd3d","dmsm","dm
sm3d","dmss","dmx","dnc","dnd","do","doe","done","doo","dotm","dox","doxc","doxt","d
pa","dpf","dpg","dpi","dpr","dps","dream","drv","ds","dsd","dsk","dsn","dsp","dst","dsv","
dsw","dsx","dsy","dta","dtd","dtx","dum","dump","dv","dv-
avi","dv4","dvdmedia","dvi","dvp","dvr","dvr-
ms","dvx","dw1","dwa","dwf","dwg","dwl","dwl2","dwlt","dwt","dwv","dwz","dx","dxf","
dxl","dxpx","dxr","dylib","dyr","dyz","dzm","dzp","dzt","e","e200s","e2720","eac","eap","
eap~1","eap~2","ear","easur","eb20","ebm","ebo","ebs","ebs2","ecf","ech","ecore","ed","e
d5","edc","edf","edi","edl","edmx","edx","eec","eek02","ees","ees64","efi","egp","egt","eh
am","ehi","ehtml","elf","elm","emf","emlx","emp","ems","emx","en","enc","enex","ens","e
nv","enw","eot","ep","epage","epb","epf","epr","eprt","eps","epub","epz","eqp","erd","err",
"erwin","es","esav","esd","esg","esp","ess","est","esym","et","etl","eview","evo","evt","evt
x","ewb","ewl","ewstr","ex4","exc","exd","exe","exo","exopc","exp","exr","ext","ext4","ey
e","eyetv","ezs","ezt","f","f04","f06","f4f","f4m","f4p","f4v","f90","f95","f96","f97","fa","
fac","faq","fas","fasl","fasta","fb2","fbp","fbr","fbx","fbz","fc","fcarch","fcd","fcp","fcproj
ect","fdb","fdf","fdt","fdx","fem","ff","ffb2","ffb2cpugx2kd2ft2fs2fr2cwr","ffd","ffe","ffm
","ffx","fig","fil","file","final","first","fish","fits","fiw","fky","flc","flex","flh","fli","flic","fll
","flp","fls","flt","flv","flx","fm","fmp","fmp12","fmt","fnc","fnt","fodt","fog","fon","for","
form","for~","fos","fp3","fpc","fpdx","fpi","fprg","fpt","fr","fr2","fra","frag","frl","frm","fr
q","frs","frt","frx","fs","fs2","ft2","ftc","ftm","ftmt","ftr","fts","full","fvt","fwd","fx","fxcb
","fxd","fxml","fxp","fxt","g","g2m","g4","g64","ga3","gadget","game","gan","gas","gau",
"gawk","gb","gb1","gbk","gbr","gcf","gcg","gch","gcode","gcs","gct","gdoc","gdt","geo","
ger","gff","gfp","gho","ght","gift","gifv","gise","gjf","gl","glb","glo","gls","glsl","glw","g
mbl","gmk","gms","gmsh","gmx","gnu","go","gom","gov","gp","gp3","gp4","gp5","gpg","
gph","gpj","gps","gpx","gr","grasp","grf","gs","gsc","gsp","gsw","gti","gtm","gts","guess",
"gvi","gvp","gx2","gxf","gxt","gypi","gz","h1s","h264","h30","hack","hadil","ham","haml"
,"hapte","hash","hbk","hbs","hdb","hdi","hdl","hdmov","hdr","hdv","heic","hex","hfss","hi
#","hif","hin","his","hkf","hkm","hla","hlp","hlsl","hmr","hms","hmtl","hp","hpe","hpf","h
qx","hs","hsc","hsp","hst","hs~","hta","htm_","html#","html)","html1","html~","hum","hw
form","for~","fos","fp3","fpc","fpdx","fpi","fprg","fpt","fr","fr2","fra","frag","frl","frm","fr
q","frs","frt","frx","fs","fs2","ft2","ftc","ftm","ftmt","ftr","fts","full","fvt","fwd","fx","fxcb
","fxd","fxml","fxp","fxt","g","g2m","g4","g64","ga3","gadget","game","gan","gas","gau",
"gawk","gb","gb1","gbk","gbr","gcf","gcg","gch","gcode","gcs","gct","gdoc","gdt","geo","
ger","gff","gfp","gho","ght","gift","gifv","gise","gjf","gl","glb","glo","gls","glsl","glw","g
mbl","gmk","gms","gmsh","gmx","gnu","go","gom","gov","gp","gp3","gp4","gp5","gpg","
gph","gpj","gps","gpx","gr","grasp","grf","gs","gsc","gsp","gsw","gti","gtm","gts","guess",
"gvi","gvp","gx2","gxf","gxt","gypi","gz","h1s","h264","h30","hack","hadil","ham","haml"
,"hapte","hash","hbk","hbs","hdb","hdi","hdl","hdmov","hdr","hdv","heic","hex","hfss","hi
#","hif","hin","his","hkf","hkm","hla","hlp","hlsl","hmr","hms","hmtl","hp","hpe","hpf","h
qx","hs","hsc","hsp","hst","hs~","hta","htm_","html#","html)","html1","html~","hum","hw
l","hwp","hxk","hxl","hxs","hxt","h~","i","ia1","ia7","ia8","iam","ica","icc","ichat","icl","i
cm","ico","ics","idb","idc","idl","ids","idw","idx","idy","if2","ifo","iges","igs","ii","iim","i
ix","iki1","ild","ilf","ilg","ilk","ils","imb","imd","iml","imovielibrary","imoviemobile","im
ovieproj","imovieproject","imp","in","in4","in7","inal","inc","indb","indd","index","indir",
"indt","inf","inf1","info","ini","ini2","inm","ino","inp","ins","int","inv","inx","iny","io","ip
a","ipc","ipf","ipj","ipn","ips","ipynb","iqy","ircp","ird","irf","isd","isf","ism","ismc","ismc
lip","ismv","isp","ispx","isr","isu","it","itdb","itl","itp","iva","ivf","ivr","ivs","iw","izz","iz
zy","ja","jade","jam","jar","jas","jav","java#","java1","java~","jc","jcd","jck","jcp","jcu","j
cw","jdf","jdi","jdr","jdx","jed","jelib","jev","jfc","jff","jfif","jflap","jl","jmp","jmv","jnl","
jnlp","jnt","job","jok","jou","jp2","jpe","jpf","jrl","jrp","js","jsc","jse","jsi","jsl","jsm","jso
n","jsonp","jsp","jss","jsx","jtp","jts","jtv","jy","k","k3g","kd2","kdb","kdenlive","kern","k
es","key","kf","kix","kmd","kml","kmv","kmz","ko","kojo","kor","kp","kpt","ksc","ksh","k
sl","ktn","ktr","kw","k~0","l","l68","la","lab","lab2","label","lang","latex","lay","lc","lck",
"lcn","ld","lde","ldf","ldhi","ldm","ldr","lds","ldw","lean","les","less","lex","lfcn","lfr","lg
4","lgi","lgo","lgr","lhs","lib","lic","lin","link","lis","lisp","list","lit","ljp","lkr","ll","llb","l
mr","lng","lnk","lnusp","lo","lob","loc","local","lock","log","logic","lp","lpi","lpm","lpr","l
ps","lrc","lrcat","lrec","lrf","lru","lrv","ls","lsc","lsf","lso","lsp","lss","lst","lst~","lsx","ltx"
,"lua","luka","lun","lvix","lvm","lvw","lwl","lwp","lwt","lyr","lyt","lyx","lyx~","m00","m1
5","m1pg","m1v","m21","m2a","m2p","m2t","m2ts","m2v","m3u","m3u8","m4","m4a","m
4b","m4e","m4p","m4r","m4u","m4v","m51","m75","ma","mac","mag","mak","make","ma
m","mamc","man","mani","manif","map","maple","mar","mas","mat","max","mb","mbd","
mbl","mbn","mbp","mbr","mbs","mc3","mca","mcd","mcf","mcl","mclog","mcp","mcr","
mcs","md3","md5","mdb","mde","mdf","mdi","mdj","mdl","mdmp","mdown","mdp","md
x","me","mea","mel","merl","meta","mex","mf","mfa","mga","mgf","mgr","mgv","mht","
mhtm","mhtml","mhwin","mi","mid","midi","mif","mime","mip","mix","mj2","mjp","mjp
eg","mjpg","mk","mk3d","mkv","ml","mlf","mli","mlr","mm","mmap","mmc","mmd","m
mf","mmsw","mmv","mnova","mnv","mnx","mo","mob","mobi","mod","modd","moef","
mof","moff","moi","mol","mol2","moov","mos","mot","mout","mov","movie","mp","mp#"
,"mp21","mp2v","mp3","mp4","mp4infovid","mp4v","mpa","mpap#","mpat#","mpd","mpe
","mpeg","mpeg1","mpeg2","mpeg4","mpf","mpg","mpg2","mpg4","mpga","mpgindex","
mpj","mpjx","mpk","mpl","mpls","mpp","mpr","mproj","mps","mpsub","mpt","mpv","mp
v2","mpx","mq4","mqv","mrc","mrg","mrk","mrp","ms","ms1","ms10","ms11","ms9","ms
bin","msc","mscx","msdvd","mse","msg","msh","msi","msk","msm","msp","mst","msv","
mswmm","mt2s","mtc","mti","mtp","mts","mtv","mtw","mud","mui","mup","mus","mvb",
"mvc","mvd","mve","mvex","mvl","mvp","mvy","mwf","mws","mx12","mx6","mxd","mx
e","mxf","mxv","myapp","myd","myi","myox","mys","myw","m~","n","n1ql","n3r","nam"
,"nav","naz","nb","nbib","nbp","nc","ncb","ncc","ncd","ncor","ncz","nd","ndb","nec","net"
,"nex","nexe","nfo","nfv","ng3","ngc","ngd","ngm","ngr","ngs","nh","nib","nim","nl","nlo
go","nls","nml","nodes","noex","not","notes","novec","npk","nrm","nsh","nsv","nt","ntp","
nts","nut","nuv","nvc","nvi","nvl","nvram","nvu","nwc","nxc","nxt","o","oac","obj","obs",
"oc1","ocl","ocx","odb","odc","odg","odm","odt#","ofx","oga","ogm","ogv","ogx","ok","ol
b","old","olg","one","ope","opf","opj","opml","opt","opw","opx","ore","orf","org","orig","
orv","os","osav","osf","osp","osx","ot","otf","otg","otm","otp","otrkey","ott","otw","out","
ov","ovl","ovlx","ovpn","owl","ows","ox","oxins","ozt","p","p09mi","p1","p12","p2c","p2
g","p5d","p7b","p7s","p7x","pac","pad","paf","pag","paint","pak","pal","pan","pap","paper
","par","part","parti","pas","pat","patch","path","pats","pbk","pc","pcap","pcb","pce","pcf",
"pcg","pch","pci","pck","pcs","pd","pdb","pde","pdff","pdfp","pdg","pdm","pdn","pdr","pd
s","pdw","pdx","ped","pem","pen","pep","pepo","per","pet","pex","pf","pf2","pfb","pfd","
pfl","pfmp","pfx","pgf","pgi","pgm","pgn","pgr","ph","phar","phd","phl","phn","photosho
w","pic","pict","pif","pig","pim","pimx","pin","pins","pit","piv","pjs","pjt","pka","pkf","pk
g","pklg","pkt","pl","playlist","plb","plg","plist","pln","plp","plproj","pls","plt","plx","ply"
"oc1","ocl","ocx","odb","odc","odg","odm","odt#","ofx","oga","ogm","ogv","ogx","ok","ol
b","old","olg","one","ope","opf","opj","opml","opt","opw","opx","ore","orf","org","orig","
orv","os","osav","osf","osp","osx","ot","otf","otg","otm","otp","otrkey","ott","otw","out","
ov","ovl","ovlx","ovpn","owl","ows","ox","oxins","ozt","p","p09mi","p1","p12","p2c","p2
g","p5d","p7b","p7s","p7x","pac","pad","paf","pag","paint","pak","pal","pan","pap","paper
","par","part","parti","pas","pat","patch","path","pats","pbk","pc","pcap","pcb","pce","pcf",
"pcg","pch","pci","pck","pcs","pd","pdb","pde","pdff","pdfp","pdg","pdm","pdn","pdr","pd
s","pdw","pdx","ped","pem","pen","pep","pepo","per","pet","pex","pf","pf2","pfb","pfd","
pfl","pfmp","pfx","pgf","pgi","pgm","pgn","pgr","ph","phar","phd","phl","phn","photosho
w","pic","pict","pif","pig","pim","pimx","pin","pins","pit","piv","pjs","pjt","pka","pkf","pk
g","pklg","pkt","pl","playlist","plb","plg","plist","pln","plp","plproj","pls","plt","plx","ply"
,"pl~","pm","pma","pmf","pmv","pnach","pnf","pns","pnt","po","pod","pof","pol","pom","
pont","pos","potm","potx","ppa","ppam","ppd","ppj","ppm","pprj","ppsm","ppst","ppt#","p
pt--","ppt2","pptv1","ppx","ppz","prb","prc","prd","pre","pref","prefs","prel","prg","pri","p
rj","prn","pro","pro4dvd","pro5","pro5dvd","pro6","proj","prop","props","proqc","prp","pr
proj","prt","prtl","prx","ps","ps1","ps2","psb","psc","psd","psd1","pse","psh","psm","psm1
","psp","pssd","pst","psu","ptb","ptn","ptn2","pts","ptx","ptxml","pub","punk","pva","pvd"
,"pvr","pwc","pwd","pwdpl","pwi","pwz","pxm","pxv","py#","pybak","pyc","pyd","pyde",
"pyh","pylog","pyo","pyw","py~","pzf","pzfx","qar","qb","qbk","qbm","qbw","qda","qdf",
"qes","qf","qfx","qgs","qgs~","qif","qip","ql","qm","qmbl","qpc","qpf","qpx","qsf","qt","qt
ch","qtindex","qtl","qtm","qtz","qua","que","qvm","qws","qxd","qz","r1","r2","r2d","r3d","
ram","ran","rap","rar","raw","ray","rb","rbf","rbt","rbx","rbxl","rc","rcd","rcf","rcfdb","rcp
","rcproject","rcrec","rcut","rcx","rd","rda","rdata","rdb","rdf","rdp","rdx","rea","read","rec
","rees","reg","rej","rel","rep","res","ress","resx","rex","rfa","rfs","rgs","rimar","rintq","ris"
,"rkt","rlf","rlib","rll","rm","rmp","rms","rmv","rmvb","rnd","rnw","rnx","rofl","rom","rom
2","romat","roq","ros","row","rox","rp","rpc","rpd","rpf","rpj","rpm","rppkg","rpt","rs","rs
a","rsf","rsl","rsm","rsp","rss","rst","rsx","rt","rtd","rte","rtfd","rtnl","rts","rug20","rul","ru
m","run","rv","rvid","rvl","rvt","rwt","rxw64","s##","s#1","s#2","s12","s19","s2a","s2p","s
3d","s43","s7h","s94","s96","s97","sa1","sa2","sa3","sa4","sa5","sa7","sage","san","sas","s
at","sav","save","sb","sbc","sbk","sbn","sbs","sbt","sbx","sbz","sc","sca","scala","scar","sc
b","scc","sce","scf","scg","sch","sci","scm","scn","scp","scpt","scq","scr","screenflow","scr
ipt","scs","scss","sct","scut3","scv","scx","scxml","sd","sd2","sdb","sdc","sdd","sddoc","sd
f","sdr","sdvsecsec","sdx","sec","sedprj","sen","sep","seq","ser","ses","sesx","set","set3","s
ex","sf","sfc","sfd","sfdb","sfera","sfk","sft","sfv","sfvidcap","sfx","sgd","sgngl","sgp","sg
s","sgstn","sh","shb","shd","short","show","shp","shs","shsh","shtml","shx","shz","sh~","si
g","sii","sim","simp","sip","siv","sk2","skb","skp","skse","sla","slb","sld","slice","slk","sln
","slot","slt","slx","sm","smc","smcl","smd","smi","smil","smk","sml","sml~","smm","smo
k","sms","smv","sna","snag","snagproj","sng","so","sof","son","sort","sp","sp09","spe","sp
ec","spg","spi","spire","spjs","spl","spr","sps","spx","sqc","sqm","sqz","sra","src","srd","sr
m","srt","ss","ss#","ss#2#","ssa","ssay","ssc","ssf","ssm","sso","ss~","st7","sta","stat","stat
s","stc","std","ste","step","sthlp","stl","stm","stmx","stnt","story","stp","str","sts","stw","st
x","sty","styl","sub","sum","suo","sv","sv$","svd","svg","svi","sw","swd","swf","swi","swi
ft","swj","swk","swp","sws","swt","sww","sx","sxc","sxd","sxi","sxw","sy","sym","syr","s
ys","sysml","t","t07","t08","t11","t15","t2k","t49","tab1","tag","tar","tb","tb#","tbl","tbox",
"tbt","tbw","tc","tcd","tcl","tcl~","tcp","td","tda3mt","tdb","tde","tdf","tdl","tdo","tds","tdt"
,"tdx","tech","tei","temp","tes","test","text","tex~","tfw","tg","tga","tgv","tgz","th","theater
","theme","thm","thp","tid","tie","tii","tips","tis","tivo","tix","tk3","tkw","tla","tlb","tlg","tl
m3","tlog","tlx","tm","tm4","tm7","tmd","tmg","tmp","tmpl","tms","tmx","tm~","tns","tnu
","tny","toc","tod","toml","toy","tp","tp0","tpd","tpf","tpg","tpl","tpr","tpy","tr","tr0","tra",
"trace","train","trans","trc","tre","trec","tri","tri#","trk","trn","tro","trp","trx","ts","tsc","tsp
","tst","tsv","tt","tt2x","ttf","ttt","ttxt","tvlayer","tvp","tvrecording","tvs","tvshow","twb","t
wr","twx","txp","txtgf","txt~","types","u","u-
k","u1","u2","u3","u3p","u4","u5","u6","u7","u8","uc","ucd","uce","ucf","ucp","udf","udk"
,"ufo","ui","uir","uml","umlj","unity","unt","uot","up3","upx","urdf","url","user","usf","us
m","ut","utf8","uth","uv2","uvopt","uxf","v","v264","v64","val","vba","vbc","vbe","vbox",
"vbp","vbs","vbscript","vbw","vc1","vcd","vce","vcf","vcfg","vcpf","vcr","vcs","vcv","vdf
","vdo","vdr","vdw","vdx","veg","vem","vep","ver","verb","vesta","vf","vfs","vft","vfw","
vfz","vgz","vhc","vhd","vhdl","vhdl#","vhdx","vho","vi","vid","video","viewlet","virl","vi
v","vivo","vix","vkb","vl","vlab","vls","vlsig","vlw","vlx","vmdk","vmix","vmlf","vmlt","
vmss","vmx","vmxf","vnc","vob","vp","vp3","vp6","vp7","vpj","vpk","vpm","vpp","vpp~
1","vpp~2","vpp~3","vpp~4","vr","vro","vs4","vsd","vsdm","vsdx","vse","vsmdi","vsn","v
sp","vst","vstx","vtf","vtk","vts","vtt","vux","vwf","vwx","vxd","v~","w1-37","w2","w32",
wr","twx","txp","txtgf","txt~","types","u","u-
k","u1","u2","u3","u3p","u4","u5","u6","u7","u8","uc","ucd","uce","ucf","ucp","udf","udk"
,"ufo","ui","uir","uml","umlj","unity","unt","uot","up3","upx","urdf","url","user","usf","us
m","ut","utf8","uth","uv2","uvopt","uxf","v","v264","v64","val","vba","vbc","vbe","vbox",
"vbp","vbs","vbscript","vbw","vc1","vcd","vce","vcf","vcfg","vcpf","vcr","vcs","vcv","vdf
","vdo","vdr","vdw","vdx","veg","vem","vep","ver","verb","vesta","vf","vfs","vft","vfw","
vfz","vgz","vhc","vhd","vhdl","vhdl#","vhdx","vho","vi","vid","video","viewlet","virl","vi
v","vivo","vix","vkb","vl","vlab","vls","vlsig","vlw","vlx","vmdk","vmix","vmlf","vmlt","
vmss","vmx","vmxf","vnc","vob","vp","vp3","vp6","vp7","vpj","vpk","vpm","vpp","vpp~
1","vpp~2","vpp~3","vpp~4","vr","vro","vs4","vsd","vsdm","vsdx","vse","vsmdi","vsn","v
sp","vst","vstx","vtf","vtk","vts","vtt","vux","vwf","vwx","vxd","v~","w1-37","w2","w32",
"wb2","wbd","wbpj","wbs","wcfg","wcld","wcm","wcp","wcst","wdb","wdn","wdp","wdt"
,"webm","webp","wf1","wfsp","wfw","wg","wgi","who","widget","win","winmd","wk1","
wk2","wl6","wld","wlf","wlmp","wm","wm2d","wm3","wma","wmd","wmf","wmmp","w
mv","wmx","workflow","wot","wout","wp","wp2","wp3","wp5","wpd","wpk","wpl","wpm
","wpt","wri","wrl","ws","wsdl","wsf","wsh","wssp","wsv","wsve","wtd","wtk","wtv","wv
e","wvm","wvx","wwd","wx","wxm","wxp","x","x32","x3d","x68","x86","x_t","x_t-","xa
ml","xap","xba","xbap","xc","xcf","xci","xcos","xdc","xej","xel","xem","xer","xesc","xfdl"
,"xfl","xib","xin","xise","xla","xlam","xlk","xlm","xlmv","xlr","xmbl","xmcd","xmi","xml"
,"xmp","xmsgs","xmv","xplor","xpm","xpr","xproj","xpt","xqt","xrc","xrpt","xs","xsc","xs
d","xsl","xslt","xspf","xss","xst","xui","xvid","xwd","xwv","xys","y","y4m","y86","yaml",
"yawl","ydk","yft","yml","yo","yog","ypr","yrm","ys","yuv","yxmc","yxmd","yxwz","y~",
"z","zdct","zdoc","zeg","zh","zh_tw","zip","zl9","zm1","zm2","zm3","zmv","zmx","zpa","
~asm","~f","~f1","~gm","~ml","~sql","\u00e2\u20ac\u009d","enf","hdf5","aac","aiff","ani
","bmp","cbr","d8f","dot","drc","fla","flac","gba","gbc","gcm","gzip","img","ipt","iso","mn
g","mp2","nds","nes","ogg","olk14","oxps","ppl","ppsx","r","spv","ssh","swa","torrent","v
di","vmc","voc","vox","war","wav","webar","xps","glob","iwa","ogs","tpm"];
var _isNoFrictionUploaderActive = false;
var frontendData = [];
</script>
<div ng-app="UploaderApp" ng-controller="UploaderController" ng-cloak>
<div zum-waypoint="waypoints" down="uploaderHeader.down" up="uploaderHeader.up"
offset="-5%"></div>
<input class="ud_fileInput" type="file" id="fileUploadInput" multiple fileupload>
<div class="uploader_stickyHeader_wrapper" data-ng-
show="waypoints.uploaderHeader.down && !isStickyHeaderHidden">
<p class="uploader_stickyHeader_text" ng-show="type == 'access'">
Upload <span class="blue bold">{[ numberOfDocumentsToBeUploadedForUnlocks ]}</
span>
{[ moreDocumentsForUnlocks ]} <ng-pluralize
count="numberOfDocumentsToBeUploadedForUnlocks" when="{'1': 'document', 'other':
'documents'}"></ng-pluralize>
to earn <span class="blue bold">{[ numberOfUnlocks ]}</span> {[moreUnlocks]}
unlocks.
</p>

<p class="uploader_stickyHeader_text" ng-show="type == 'tutor_questions' && !


userSubmittedMaxTutorQuestionDocs()">
Upload <span class="blue bold">{[ numberOfDocumentsToBeUploadedForQuestions ]}</
span>
{[ moreDocumentsForTutorQuestions ]} <ng-pluralize
count="numberOfDocumentsToBeUploadedForQuestions" when="{'1': 'document', 'other':
'documents'}"></ng-pluralize>
to earn <span class="blue bold">{[ numberOfTutorQuestions ]}</
span>{[additionalTutorQuestions]} Tutor Questions. <a href="https://
support.coursehero.com/hc/en-us/articles/232211688" target="_blank">Restrictions
apply.</a>
userSubmittedMaxTutorQuestionDocs()">
Upload <span class="blue bold">{[ numberOfDocumentsToBeUploadedForQuestions ]}</
span>
{[ moreDocumentsForTutorQuestions ]} <ng-pluralize
count="numberOfDocumentsToBeUploadedForQuestions" when="{'1': 'document', 'other':
'documents'}"></ng-pluralize>
to earn <span class="blue bold">{[ numberOfTutorQuestions ]}</
span>{[additionalTutorQuestions]} Tutor Questions. <a href="https://
support.coursehero.com/hc/en-us/articles/232211688" target="_blank">Restrictions
apply.</a>
</p>
<p class="uploader_stickyHeader_text" ng-show="type == 'tutor_questions' &&
userSubmittedMaxTutorQuestionDocs()">
You've uploaded <span>{[ totalTutorQuestionsDocumentsUploaded ]}</span> documents
towards Tutor Questions. <a href="https://support.coursehero.com/hc/en-us/articles/
232211688" target="_blank">Restrictions apply.</a>
</p> <a href="#" class="uploader_stickyHeader_close" data-ng-
click="hideStickyHeader()"><i class="fa fa-close"></i></a>
</div>

<div id="progressModal" class="white-popup mfp-hide">


<h3>How it works</h3>
<ul class="progress">
<li>
<span class="step-title">Add course details</span>
<span class="step-description">
Select which course you'd like to upload study documents to.
</span>
</li>
<li>
<span class="step-title">Upload study documents</span>
<span class="step-description">
Upload and tag your study documents.
</span>
</li>
<li>
<span class="step-title">Submit 10 and get 5</span>
<span class="step-description" ng-show="type == 'access'">
Get access to 5 study documents in our library when you submit 10 of your own.
</span>
<span class="step-description" ng-show="type == 'tutor_questions'">
Get homework help for 5 tutor questions when you submit 10 of your own.
</span>
</li>
</ul> </div>

<div class="visualHeader_uploader_banner_wrapper">
<div ng-show="type == 'retag'">
<div class="ud_banner_wrapper">
<div class="ud_banner_container">
</span>
</li>
</ul> </div>

<div class="visualHeader_uploader_banner_wrapper">
<div ng-show="type == 'retag'">
<div class="ud_banner_wrapper">
<div class="ud_banner_container">
<h1 class="ud_banner_heading">Retag Your Documents</h1>
<div class='ud_retag_prompt info'>
<span class="ud_retag_prompt-icon"><i class="fa fa-info-circle"></i></span>
<p class="ud_retag_text">Please complete the following actions for additional access to be
granted</p>
</div>
<div class="ud_retag_panel">
<img class="ud_retag_image" src="/assets/img/uploader-icons/RetagAndRewrite-icon.svg"
alt="Edit Files Icon" />
<div class="ud_retag_intro">
<h3 class="ud_retag_title">Our system flagged these documents for one of the following
reasons: </h3>
<ul class="ud_retag_heading"><strong>Reassign your documents</strong></ul>
<ul class="ud_retag_item">Check that your documents are assigned to the correct course
and subject.</ul>
<ul class="ud_retag_heading"><strong>Retitle your documents</strong></ul>
<ul>Make sure to name your documents with correct descriptive titles.</ul>
</div>
</div>
</div>
</div>
</div>
<div ng-show="(type == 'access') || (type == 'tutor_questions')">
<h1 class="uploader_banner_heading">You choose!</h1>
<p class="uploader_banner_subheading">Earn free access or tutoring for sharing your
study resources.</p>
<div class="visualHeader_uploader_contentNav_tab">
<ul class="visualHeader_uploader_contentNavLinks_tab-group">
<li>
<a href="#earn-unlocks" class="visualHeader_uploader_contentNavLinks_tab-action"
id="earn-unlocks-tab" ng-class="{highlighted: type == 'access'}" ng-
click="updateUploaderType()">
<span>Earn Unlocks</span>
<small>Earn unlocks to view study documents.</small>
</a>
</li>
<li>
<a href="#earn-questions" class="visualHeader_uploader_contentNavLinks_tab-action"
id="earn-questions-tab" ng-class="{highlighted: type == 'tutor_questions'}" ng-
click="updateUploaderType('tutor_questions')">
<span>
Earn Tutor Questions
<small>Earn unlocks to view study documents.</small>
</a>
</li>
<li>
<a href="#earn-questions" class="visualHeader_uploader_contentNavLinks_tab-action"
id="earn-questions-tab" ng-class="{highlighted: type == 'tutor_questions'}" ng-
click="updateUploaderType('tutor_questions')">
<span>
Earn Tutor Questions
</span>
<small>
Earn Tutor Questions to get homework help.
</small>
</a>
</li>
</ul>
</div>
<div class="uploader_progressBar_wrapper">
<div class="uploader_progress_text">
<p ng-show="type == 'access'">
Upload <span class="blue bold">{[ numberOfDocumentsToBeUploadedForUnlocks ]}</
span>
{[ moreDocumentsForUnlocks ]} <ng-pluralize
count="numberOfDocumentsToBeUploadedForUnlocks" when="{'1': 'document', 'other':
'documents'}"></ng-pluralize>
to earn <span class="blue bold">{[ numberOfUnlocks ]}</span> {[moreUnlocks]}
unlocks.
<img src="/assets/img/uploader/unlock_new.svg" alt="uploader unlock" />
</p>

<p ng-show="type == 'tutor_questions' && !userSubmittedMaxTutorQuestionDocs()">


Upload <span class="blue bold">{[ numberOfDocumentsToBeUploadedForQuestions ]}</
span>
{[ moreDocumentsForTutorQuestions ]} <ng-pluralize
count="numberOfDocumentsToBeUploadedForQuestions" when="{'1': 'document', 'other':
'documents'}"></ng-pluralize>
to earn <span class="blue bold">{[ numberOfTutorQuestions ]}</
span>{[additionalTutorQuestions]} Tutor Questions. <a href="https://
support.coursehero.com/hc/en-us/articles/232211688" target="_blank">Restrictions
apply.</a>
<img src="/assets/img/uploader/tutor_questions_new.svg" alt="uploader tutor questions"/>
</p>
<p ng-show="type == 'tutor_questions' && userSubmittedMaxTutorQuestionDocs()">
You've uploaded <span>{[ totalTutorQuestionsDocumentsUploaded ]}</span> documents
towards Tutor Questions. <a href="https://support.coursehero.com/hc/en-us/articles/
232211688" target="_blank">Restrictions apply.</a>
</p> </div>
<div id="uploaderProgressBar"></div>
</div>
<p ng-show="type == 'tutor_questions' && userSubmittedMaxTutorQuestionDocs()">
You've uploaded <span>{[ totalTutorQuestionsDocumentsUploaded ]}</span> documents
towards Tutor Questions. <a href="https://support.coursehero.com/hc/en-us/articles/
232211688" target="_blank">Restrictions apply.</a>
</p> </div>
<div id="uploaderProgressBar"></div>
</div>

<div class="ud_docCounter_wrapper" ng-show="(type == 'access') || (type ==


'tutor_questions')"></div>
</div>
</div>
<div ng-if="folders.length > 0">
<div class="ud_uploader_wrapper droppable" id="{[ $index ]}" ng-repeat="folder in
folders">
<div class="ud_uploader_container">
<div class="ud_visualHeader_courseBox_panel" ng-class="{isExpanded:
folder.isExpanded, isCollapsed: !folder.isExpanded, noCourse: folder.type != 'course',
dragIsEnabled: $index === dragFolder}">

<div class="ud_visualHeader_courseBox_header" ng-click="toggleExpand($index)">


<h4>
<span class="ud_visualHeader_folderName_text">{[ folder.name ]}</span>
<a href="" ng-click="editFolder($index); $event.stopPropagation()" ng-
show="allowEditFolder($index)"><i class="fa fa-pencil"></i> Edit</a>
</h4>
<p>{[ folder.school ]}
<span class="num_docs" ng-show="folder.files.length > 0">
<strong>
{[ folder.files.length ]}
<ng-pluralize count="folder.files.length" when="{'0': '', '1': 'Document Uploaded', 'other':
'Documents Uploaded'}"></ng-pluralize>
</strong>
</span>
</p>
</div>

<div class="ud_courseBox_content_container" ng-show="folder.isExpanded">


<div class="ud_courseBox_content" ng-if="folder.state == 'init'">
<div ng-if="folder.failedFiles.length > 0 && folder.files.length == 0 &&
folder.showUploadDetails === true" class="ud_taggingState_prompt error absolute">
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw fa-times-circle"></i></
span>
<ng-pluralize count="folder.numSuccessfullyUploaded" when="{
'1': 'The document failed to upload.',
'other': 'All documents failed to upload.'}">
</ng-pluralize>
<a href="" ng-click="setUpFileDetails(folder)">Details</a>
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw fa-times-circle"></i></
span>
<ng-pluralize count="folder.numSuccessfullyUploaded" when="{
'1': 'The document failed to upload.',
'other': 'All documents failed to upload.'}">
</ng-pluralize>
<a href="" ng-click="setUpFileDetails(folder)">Details</a>
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
</div>

<div class="ud_uploadState_panel">
<img src="/assets/img/uploader/original-cloud.svg" height="120"/>
<p class="ud_uploadState_textForDesktop">
<span class="ud_uploadState_textForDesktopHeader"><strong>Drag and drop your file(s)
or folder(s) here</strong><br/>or<br/></span>
<a href='#' ng-click="clickUploadLocalFiles(folder, true)"
class="ud_visualHeader_uploadFromDevice_button">Upload from Desktop</a>
<cloud-upload callback="filepickerCallback" callback-args="[folder]" ng-
click="clickCloudUploadLink" click-args="[folder, true]">
<a href='#' class="ud_visualHeader_uploadFromCloud_button">Upload from Cloud</a></
cloud-upload>
</p>
</div>
</div>
<div class="ud_courseBox_content" ng-show="folder.state == 'upload'">
<div class="ud_uploadingState_panel">
<p class="ud_uploadingState_heading">Uploading <ng-pluralize
count="folder.totalFilesReceived" when="{'1': 'Document', 'other': 'Documents'}"></ng-
pluralize></p>
<div class="ud_uploadingState_progress wizard">
<span ng-attr-style="width:{[ folder.progress ]}%"></span>
</div>
<p>File {[ folder.totalFilesFinished ]} of {[ folder.totalFilesReceived ]}</p>
<p class="ud_uploadingFile_title">
{[ folder.lastUploadedFilename ]}
</p>
</div>
</div>
<div class="ud_courseBox_content" ng-show="folder.state == 'tag'">
<div ng-if="(folder.numSuccessfullyUploaded != folder.totalFilesFinished) &&
(folder.showUploadDetails === true)" class="ud_taggingState_prompt warning absolute">
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw fa-exclamation-circle"></
i></span>
{[folder.numSuccessfullyUploaded]} <ng-pluralize
count="folder.numSuccessfullyUploaded" when="{'1': 'document was', 'other': 'documents
were'}"></ng-pluralize> uploaded successfully, but {[folder.totalFilesFinished -
folder.numSuccessfullyUploaded]} failed. <a href="" ng-
click="setUpFileDetails(folder)">Details</a>
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw fa-exclamation-circle"></
i></span>
{[folder.numSuccessfullyUploaded]} <ng-pluralize
count="folder.numSuccessfullyUploaded" when="{'1': 'document was', 'other': 'documents
were'}"></ng-pluralize> uploaded successfully, but {[folder.totalFilesFinished -
folder.numSuccessfullyUploaded]} failed. <a href="" ng-
click="setUpFileDetails(folder)">Details</a>
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
</div>
<div ng-if="(folder.numSuccessfullyUploaded == folder.totalFilesFinished) &&
(folder.showUploadDetails === true)" class="ud_taggingState_prompt success absolute">
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw chi-check-circle-filled"></
i></span>
Congratulations! {[folder.numSuccessfullyUploaded]}
<ng-pluralize count="folder.numSuccessfullyUploaded" when="{'1': 'document ', 'other':
'documents '}"></ng-pluralize>
uploaded successfully.
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
</div>
<div class="ud_taggingState_panel">
<p class="ud_taggingState_heading">
Please add tags to
<ng-pluralize count="folder.numSuccessfullyUploaded" when="{'0': '', '1': 'this document',
'other': 'these documents'}"></ng-pluralize>.
</p>
<div class="ud_tagDocuments_field">
<fieldset class="ud_bulkAction_fieldset">
<label>
TAGS <a href="" class="ud_bulkActionHowTo_action"><i class="fa fa-fw fa-question-
circle"></i><span class="ud_bulkActionHowTo_tooltip">Tagging subjects helps you earn
more rewards!</span></a>
</label>
<category-tag
input-changed="categoryTaggerInputChanged"
debug="false"
ng-model="PendingTags[folder.index]"
placeholder="{[PendingTags[folder.index].length == 0 ? 'Add subjects, books, concepts,
keywords, etc.' : '']}"
clean-tags="false"
id="category_tag_post_upload"
maxlength="30"
current-text="currentText"
max-tags="10">
</category-tag>
</fieldset>
</div>
<a ng-click="addTagsToRecentUploads(folder, PendingTags[folder.index])" href=""
class="ud_completeTagState_action">Add Tags</a>
<a ng-click="skipAddTagsToRecentUploads(folder)" href=""
maxlength="30"
current-text="currentText"
max-tags="10">
</category-tag>
</fieldset>
</div>
<a ng-click="addTagsToRecentUploads(folder, PendingTags[folder.index])" href=""
class="ud_completeTagState_action">Add Tags</a>
<a ng-click="skipAddTagsToRecentUploads(folder)" href=""
class="ud_skipTagState_action">Not now</a>
</div>
</div>
<div class="ud_courseBox_content" id="ud_uploadedState_content" ng-show="folder.state
== 'final'">
<div ng-if="folder.showUploadDetails" class="ud_taggingState_prompt"
ng-class="{
error: (folder.numSuccessfullyUploaded == 0) && (folder.totalFilesReceived > 0),
warning: (folder.numSuccessfullyUploaded != 0) && (folder.numSuccessfullyUploaded !=
folder.totalFilesFinished),
success: (folder.numSuccessfullyUploaded == folder.totalFilesFinished) &&
(folder.totalFilesFinished != 0)
}">
<div ng-if="(folder.numSuccessfullyUploaded == 0) && (folder.totalFilesReceived > 0)
&& (folder.showUploadDetails === true)">
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw fa-times-circle"></i></
span>
<ng-pluralize count="folder.failedFiles.length" when="{
'1': 'The document failed to upload.',
'other': 'All documents failed to upload.'}">
</ng-pluralize>
<a href="" ng-click="setUpFileDetails(folder)">Details</a>
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
</div>
<div ng-if="(folder.numSuccessfullyUploaded != 0) &&
(folder.numSuccessfullyUploaded != folder.totalFilesFinished) &&
(folder.showUploadDetails === true)">
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw fa-exclamation-circle"></
i></span>
{[folder.numSuccessfullyUploaded]} <ng-pluralize
count="folder.numSuccessfullyUploaded" when="{'1': 'document was', 'other': 'documents
were'}"></ng-pluralize> uploaded successfully, but {[folder.totalFilesFinished -
folder.numSuccessfullyUploaded]} failed. <a href="" ng-
click="setUpFileDetails(folder)">Details</a>
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
</div>
<div ng-if="(folder.numSuccessfullyUploaded == folder.totalFilesFinished) &&
(folder.totalFilesFinished != 0) && (folder.showUploadDetails === true)">
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw chi-check-circle-filled"></
i></span>
Congratulations! {[folder.numSuccessfullyUploaded]}
click="setUpFileDetails(folder)">Details</a>
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
</div>
<div ng-if="(folder.numSuccessfullyUploaded == folder.totalFilesFinished) &&
(folder.totalFilesFinished != 0) && (folder.showUploadDetails === true)">
<span class="ud_taggingState_prompt-icon"><i class="fa fa-fw chi-check-circle-filled"></
i></span>
Congratulations! {[folder.numSuccessfullyUploaded]}
<ng-pluralize count="folder.numSuccessfullyUploaded" when="{'1': 'document ', 'other':
'documents '}"></ng-pluralize>
uploaded successfully.
<span class="close_detail_prompt" ng-click="closeDetailsPrompt(folder)"><i class="fa fa-
fw fa-times"></i></span>
</div>
</div>
<div class="ud_uploadedState_header">
<ul class="ud_visualHeader_bulkAction_group">
<li class='ud_bulkAction_list-item'>
<button class='ud_bulkAction_action docType_action' ng-
disabled="folder.selectedFiles.length == 0" ng-click="setUpSetDoctype(folder)">
Change Document Type
<span ng-show="folder.selectedFiles.length == 0" class='docType_action_tooltip'>Please
select a document first</span>
</button>
</li>
<li class='ud_bulkAction_list-item'>
<button class='ud_bulkAction_action moveCourses_action' ng-
disabled="folder.selectedFiles.length == 0 || educatorCourseClaim" ng-
click="setUpMoveFiles(folder)">
Change Courses
<span ng-show="folder.selectedFiles.length == 0"
class='moveCourses_action_tooltip'>Please select a document first</span>
</button>
</li>
<li class='ud_bulkAction_list-item'>
<button class='ud_bulkAction_action addTags_action' ng-
disabled="folder.selectedFiles.length == 0" ng-
click="setUpAddTagsForMultipleFiles(folder)">
Add or Edit Tags
<span ng-show="folder.selectedFiles.length == 0" class='addTags_action_tooltip'>Please
select a document first
</span>
</button>
</li>
<li class='ud_bulkAction_list-item'>
<button class='ud_bulkAction_action delete_action' ng-
disabled="folder.selectedFiles.length == 0" ng-click="setUpDeleteFiles(folder)">
Delete
<span ng-show="folder.selectedFiles.length == 0" class='delete_action_tooltip'>Please
select a document first</span>
</button>
</li>
<li class='ud_bulkAction_list-item'>
<button class='ud_bulkAction_action delete_action' ng-
disabled="folder.selectedFiles.length == 0" ng-click="setUpDeleteFiles(folder)">
Delete
<span ng-show="folder.selectedFiles.length == 0" class='delete_action_tooltip'>Please
select a document first</span>
</button>
</li>
</ul>
<div class="ud_visualHeader_uploadMore_group">
<a href="#" class="ud_visualHeader_uploadMoreFromDevice_action" ng-
click="clickUploadLocalFiles(folder, false)">Upload from Desktop</a>
<cloud-upload callback="filepickerCallback" callback-args="[folder]" ng-
click="clickCloudUploadLink" click-args="[folder, false]"><span
class="ud_visualHeader_uploadMoreFromCloud_action">Upload from Cloud</span></
cloud-upload>
</div>
</div>
<ul class="ud_uploadedFiles_group isHeader">
<li class="ud_documentSelect_item ">
<span href="#" class="ud_selectAll_group">
<input ng-model="folder.selectAll" ng-change="toggleSelectAll(folder)" type="checkbox"/
>
<span class='ud_selectAll_tooltip'>Select/Deselect All</span>
</span>
</li>
<li class="ud_documentTitle_item"><strong>Document Name</strong></li>
<li class="ud_documentType_item"><strong>Document Type</strong></li>
<li class="ud_documentTags_item"><strong>Tags</strong></li>
</ul>
<div class="ud_uploadedState_panel">
<ul class="ud_uploadedFiles_group" ng-repeat="file in folder.files" ng-
click="updateSelectedFile(folder, $index, true)">
<li class="ud_documentSelect_item">
<input ng-model="file.selected" ng-change="updateSelectedFile(folder, $index)"
type="checkbox" ng-click="$event.stopPropagation()"/>
</li>
<li class="ud_documentTitle_item">
<input type="text" class="documentTitleName" ng-model="file.title" ng-
blur="updateFileNamesInFolder(file, folder)" ng-blur-on-enter-key ng-
click="$event.stopPropagation()"/>
</li>

<li class="ud_documentType_item">
<select ng-model="file.doctype" ng-options="value.label for value in docTypes track by
value.label" ng-change="updateSingleDoctype(file, folder)" ng-
click="$event.stopPropagation()">
<option style="display:none" value="">Select a document type</option>
click="$event.stopPropagation()"/>
</li>

<li class="ud_documentType_item">
<select ng-model="file.doctype" ng-options="value.label for value in docTypes track by
value.label" ng-change="updateSingleDoctype(file, folder)" ng-
click="$event.stopPropagation()">
<option style="display:none" value="">Select a document type</option>
</select>
</li>

<li class="ud_documentTags_item">
<div ng-if="file.tags.length > 0" ng-click="$event.stopPropagation()">
<span>{[file.tags[file.tags.length - 1].disambiguatedName]} <a href="" ng-
click="deleteTagFromSingleFile(file, file.tags[file.tags.length - 1]);
$event.stopPropagation()"><i class="fa fa-fw fa-times"></i></a></span>
<span ng-if="file.tags.length > 1"><a href="" ng-
click="setUpAddTagsForSingleFile(folder, $index); $event.stopPropagation()">+
{[file.tags.length - 1]} more</a></span>
</div>
<a href="" ng-click="setUpAddTagsForSingleFile(folder, $index);
$event.stopPropagation()"><i class="fa fa-fw fa-plus"></i> Add Tags</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sticky_footer_anchor"></div>
<div class="ud_uploader_wrapper">
<div id="taggerContainer" class="ud_uploader_container" ng-show="taggerOpen">
<tagger
open="taggerOpen"
edit="taggerCourse"
is-educator="false"
callback="taggerCloseCallback"
tagger-state="taggerState"
optional="taggerOptional"
open-mode="taggerOpenMode"
enable-tests="false"
tracking-callback="taggerTrackingCallback"
educator-course-claim="educatorCourseClaim"
type="type"
>
</tagger>
</div>
open-mode="taggerOpenMode"
enable-tests="false"
tracking-callback="taggerTrackingCallback"
educator-course-claim="educatorCourseClaim"
type="type"
>
</tagger>
</div>
</div>
<div class="ud_uploader_wrapper">
<div class="ud_uploader_container">
<div class="ud_submit_error error" ng-show="submitError">
<span class='ud_submit_error_prompt-icon'><i class="fa fa-times-circle"></i></span>
<p>{[ submitError ]}</p>
</div>
<div class="ud_addCourse_panel" ng-show="folders.length > 0 && !taggerOpen">
<a href="" class="ud_visualHeader_addCourse_action" ng-click="addNewCourse('course',
'additional')">Add a Course</a>
<span class="ud_addCourse_text"><i class="fa fa-fw fa-arrow-left"></i>Add a Course to
upload more documents.</span>
</div>

<div class="ud_visualHeader_submitDocuments_panel">
<a href="" class="ud_visualHeader_submitDocuments_action" ng-
click="submitDocuments(folders)">
<span data-ng-show="!isSubmitting">Submit Documents</span>
<span data-ng-cloak data-ng-if="isSubmitting"><i class="fa fa-spinner fa-spin"></i>
Processing...</span>
</a>

</div>
<div ng-if="!isMarketplaceOrRetag()">
<p class="ud_timeSensitivity_text">It generally takes up to 1 hour to receive Unlocks or
Tutor Questions.</p>
</div>
<div ng-if="isMarketplaceOrRetag()">
<p class="ud_timeSensitivity_text">It generally takes up to 1 hour to process your
documents.</p>
</div>

<div class="ud_legal">
<p>Users are prohibited from uploading or submitting copyright infringing materials
(including without limitation copies made without the consent of the copyright owner of
testing materials, textbooks, instructor's solution manuals, test banks, lecture notes, slide
presentations or related copyrighted works, in whole or in part).</p>
<p>By submitting Documents you are representing that: (1) you own the copyrights
covering the files to be uploaded or have express permission from the copyright owners to
upload those files; (2) your uploading of the files you have selected will not violate any law,
regulation or ethics code; and (3) uploading the files to be uploaded will not violate Course
Hero's <a href="/terms-of-use/" target="_blank">Terms of Use</a>.</p>
<div class="ud_legal">
<p>Users are prohibited from uploading or submitting copyright infringing materials
(including without limitation copies made without the consent of the copyright owner of
testing materials, textbooks, instructor's solution manuals, test banks, lecture notes, slide
presentations or related copyrighted works, in whole or in part).</p>
<p>By submitting Documents you are representing that: (1) you own the copyrights
covering the files to be uploaded or have express permission from the copyright owners to
upload those files; (2) your uploading of the files you have selected will not violate any law,
regulation or ethics code; and (3) uploading the files to be uploaded will not violate Course
Hero's <a href="/terms-of-use/" target="_blank">Terms of Use</a>.</p>
<p>Documents should add value to the Course Hero community; be tagged to their relevant
course or subject; not be blank, duplicates, or have random filler content; and not contain
any obscene or offensive material. Course Hero reserves the right to remove any uploaded
content from our site at any time, for any reason in our sole discretion, and without
notice.</p>
</div>
<popup show="showUploadDetails">
<div class="ud_bulkAction_popup">
<h3><span>Failed Uploads</span></h3>
<div class="ud_bulkAction_prompt" ng-class="{'error':
uploadDetailsFolder.numSuccessfullyUploaded == 0, 'warning':
(uploadDetailsFolder.numSuccessfullyUploaded != 0) &&
(uploadDetailsFolder.numSuccessfullyUploaded !=
uploadDetailsFolder.totalFilesFinished)}">
<span class="ud_bulkAction_prompt-icon"><i class="fa fa-fw fa-exclamation-triangle"></
i></span>
{[ uploadDetailsFolder.totalFilesFinished -
uploadDetailsFolder.numSuccessfullyUploaded ]} out of
{[ uploadDetailsFolder.totalFilesFinished ]} <ng-pluralize
count="folder.totalFilesFinished" when="{'1': ' document ', 'other': ' documents '}"></ng-
pluralize> failed to upload.
</div>
<table class="ud_bulkAction_table">
<tr>
<th>Document Name</th>
<th>Status</th>
</tr>
<tr ng-repeat="file in uploadDetailsFolder.failedFiles">
<td>{[ file.title ]}</td>
<td>{[ file.reason ]}</td>
</tr>
</table>
<a href="" class="ud_bulkAction_submit" ng-click="submitFileDetails()">Ok</a>
</div>
</popup>

<popup show="editStateInfo.action == 'tag' || editStateInfo.action == 'singleTag'" on-


close="resetEditState">
<div class="ud_bulkAction_popup">
<h3><span>Add or Edit Tags</span></h3>
<div class="ud_bulkAction_prompt info">
<span class="ud_bulkAction_prompt-icon"><i class="fa fa-fw fa-info-circle"></i></span>
</popup>

<popup show="editStateInfo.action == 'tag' || editStateInfo.action == 'singleTag'" on-


close="resetEditState">
<div class="ud_bulkAction_popup">
<h3><span>Add or Edit Tags</span></h3>
<div class="ud_bulkAction_prompt info">
<span class="ud_bulkAction_prompt-icon"><i class="fa fa-fw fa-info-circle"></i></span>
You have selected {[editStateInfo.folder.selectedFiles.length]} out of
{[editStateInfo.folder.files.length]} documents from
{[editStateInfo.folder.name]}
</div>
<fieldset class="ud_bulkAction_fieldset">
<label>
TAGS <a href="" class="ud_bulkActionHowTo_action"><i class="fa fa-fw fa-question-
circle"></i><span class="ud_bulkActionHowTo_tooltip">Tagging subjects helps you earn
more rewards!</span></a>
</label>
<category-tag
input-changed="categoryTaggerInputChanged"
input-class="ud_tag_input"
ng-model="PendingTags[editStateInfo.folder.index]"
placeholder="{[PendingTags[editStateInfo.folder.index].length == 0 ? 'Add subjects,
books, concepts, keywords, etc.' : '']}"
clean-tags="false"
id="category_tag_bulk"
maxlength="30"
max-tags="10"
current-text="currentText"
>
</category-tag>
</fieldset>
<a href="" ng-click="submitTags(editStateInfo.folder,
PendingTags[editStateInfo.folder.index])" class="ud_bulkAction_submit">Submit</a>
</div>
</popup>

<popup show="editStateInfo.action == 'move'" on-close="resetEditState">


<div class="ud_bulkAction_popup">
<h3><span>Move to Another Course</span></h3>
<div class="ud_bulkAction_prompt info">
<span class="ud_bulkAction_prompt-icon"><i class="fa fa-fw fa-info-circle"></i></span>
You have selected {[editStateInfo.folder.selectedFiles.length]} out of
{[editStateInfo.folder.files.length]} documents from
{[editStateInfo.folder.name]}
</div>
<fieldset class="ud_bulkAction_fieldset">
<label>
Select a course or <a href="" ng-click="setUpMoveCourse(editStateInfo)">move to a new
<span class="ud_bulkAction_prompt-icon"><i class="fa fa-fw fa-info-circle"></i></span>
You have selected {[editStateInfo.folder.selectedFiles.length]} out of
{[editStateInfo.folder.files.length]} documents from
{[editStateInfo.folder.name]}
</div>
<fieldset class="ud_bulkAction_fieldset">
<label>
Select a course or <a href="" ng-click="setUpMoveCourse(editStateInfo)">move to a new
course</a>.
</label>
<ui-select ng-model="editStateInfo.auxData.newFolder" theme="selectize" search-
enabled="false">
<ui-select-match placeholder="Which course?">{[ $select.selected.name ]}</ui-select-
match>
<ui-select-choices repeat="folder in folders">
{[ folder.name ]}
</ui-select-choices>
</ui-select>
</fieldset>
<a href="" ng-click="submitMoveFiles(editStateInfo)"
class="ud_bulkAction_submit">Submit</a>
</div>
</popup>

<popup show="editStateInfo.action == 'doctype'" on-close="resetEditState">


<div class="ud_bulkAction_popup">
<h3><span>Select a Document Type</span></h3>
<div class="ud_bulkAction_prompt info">
<span class="ud_bulkAction_prompt-icon"><i class="fa fa-fw fa-info-circle"></i></span>
You have selected {[editStateInfo.folder.selectedFiles.length]} out of
{[editStateInfo.folder.files.length]} documents from
{[editStateInfo.folder.name]}
</div>
<fieldset class="ud_bulkAction_fieldset">
<label>
SELECT A DOCUMENT TYPE
</label>
<ui-select ng-model="editStateInfo.auxData.newDoctype" theme="selectize" search-
enabled="false">
<ui-select-match placeholder="Select a document type">{[ $select.selected.label ]}</ui-
select-match>
<ui-select-choices repeat="value in docTypes">
{[ value.label ]}
</ui-select-choices>
</ui-select>
</fieldset>
<a href="" ng-click="submitSetDoctype(editStateInfo)"
class="ud_bulkAction_submit">Submit</a>
</div>
<ui-select-choices repeat="value in docTypes">
{[ value.label ]}
</ui-select-choices>
</ui-select>
</fieldset>
<a href="" ng-click="submitSetDoctype(editStateInfo)"
class="ud_bulkAction_submit">Submit</a>
</div>
</popup>

<popup show="editStateInfo.action == 'delete'" on-close="resetEditState">


<div class="ud_bulkAction_popup">
<h3><span>Delete <ng-pluralize count="editStateInfo.folder.selectedFiles.length"
when="{'1': 'Document', 'other': 'Documents'}"></ng-pluralize></span></h3>
<div class="ud_bulkAction_prompt warning">
<span class="ud_bulkAction_prompt-icon"><i class="fa fa-fw fa-exclamation-triangle"></
i></span>
You are about to delete {[editStateInfo.folder.selectedFiles.length]} out of
{[editStateInfo.folder.files.length]} documents from
{[editStateInfo.folder.name]}.</div>
<p> Are you sure you want to delete <ng-pluralize
count="editStateInfo.folder.selectedFiles.length" when="{'1': 'this document', 'other': 'these
documents'}"></ng-pluralize>?</p>
<div class="ud_bulkDelete_group">
<a href="" ng-click="submitDeleteFiles(editStateInfo)" class="ud_bulkAction_submit
bulkDelete">Delete</a>
<a href="" ng-click="resetEditState()" class="ud_bulkCancel_group">Cancel</a>
</div>
</div>
</popup>
</div>
</div>
</div>
</div>
<footer id="ch-footer" class="SiteFooter ch-wrapper" itemscope="true" itemtype="http://
schema.org/WPFooter" role="contentinfo">
<div class="ch-trust-seals_wrapper">
<div class="ch-trust-seals_container">
<span class="ch-trust-seals_godaddy-icon">
<a href="https://seal.godaddy.com/verifySeal?
sealID=4nGuvXputH0td6HulIlkBzm7gS6p6svB6lie2k8vfnEXuPFO4v3GrpZ2i"
rel="nofollow noreferrer" target="_blank" title="Click to verify SSL site seal">
<img class="" src="/assets/img/godaddy_siteseal.png" alt="SSL site seal">
</a>
</span>
<span class="ch-trust-seals_bbb-icon">
<img class="" src="/assets/img/bbb-accredited-business.png" alt="Better Business Bureau
accredited business">
</span>
<span class="ch-trust-seals_truste-icon">
rel="nofollow noreferrer" target="_blank" title="Click to verify SSL site seal">
<img class="" src="/assets/img/godaddy_siteseal.png" alt="SSL site seal">
</a>
</span>
<span class="ch-trust-seals_bbb-icon">
<img class="" src="/assets/img/bbb-accredited-business.png" alt="Better Business Bureau
accredited business">
</span>
<span class="ch-trust-seals_truste-icon">
<a href="https://privacy.truste.com/privacy-seal/CourseHero/validation?
rid=a50533b3-15e2-472e-a9fc-0fcdc0471ef1" rel="nofollow noreferrer" target="_blank"
title="TRUSTe online privacy certification">
<img class="" src="/assets/img/truste-certified-privacy.png" alt="TRUSTe online privacy
certification">
</a>
</span>
</div>
</div>
<div class="ch-footer-links_wrapper">
<ul class="ch-footer-links_container" id="ch-footer-links_container">
<li>
<h6>Company</h6>
<a href="/about-us/" data-cha-target-name="about_us_link" data-cha-action-type = "visit"
data-cha-action-target-type = "page" data-cha-action-target-id="/about-us/">
About Us
</a>
<a href="/scholarships/" data-cha-target-name="scholarships_link" data-cha-
location="footer" data-cha-action-type = "visit" data-cha-action-target-type = "page" data-
cha-action-target-id="/scholarships/">
Scholarships
</a>
<a href="/sitemap/" data-cha-target-name="sitemap_link" data-cha-action-type = "visit"
data-cha-action-target-type = "page" data-cha-action-target-id="/sitemap/">
Sitemap
</a>
<a href="/standardized-tests/" data-cha-target-name="standardized_tests_link" data-cha-
action-type = "visit" data-cha-action-target-type = "page" data-cha-action-target-id="/
standardized-tests/">
Standardized Tests
</a>
</li>
<li>
<h6>Get Course Hero</h6>
<a href="https://itunes.apple.com/app/apple-store/id922208952?
pt=108036802&ct=footer&mt=8"
target="_blank" rel="nofollow noreferrer" data-cha-target-name="ios_download_link"
data-cha-location="footer"
data-cha-action-type="download" data-cha-action-target-type="ios_app">
iOS
</a>
<a href="https://play.google.com/store/apps/details?
<h6>Get Course Hero</h6>
<a href="https://itunes.apple.com/app/apple-store/id922208952?
pt=108036802&ct=footer&mt=8"
target="_blank" rel="nofollow noreferrer" data-cha-target-name="ios_download_link"
data-cha-location="footer"
data-cha-action-type="download" data-cha-action-target-type="ios_app">
iOS
</a>
<a href="https://play.google.com/store/apps/details?
id=com.coursehero.coursehero&referrer=utm_source%3Dcoursehero%26utm_campaign%
3Dfooter"
target="_blank" rel="nofollow noreferrer" data-cha-target-name="android_download_link"
data-cha-location="footer"
data-cha-action-type="download" data-cha-action-target-type="android_app">
Android
</a>
<a href="/faculty-club/" id="ch_educators_link" data-cha-target-name="educators_link"
data-cha-action-type = "visit" data-cha-action-target-type = "page" data-cha-action-target-
id="/faculty-club/">
Educators
</a>
<script>
onPageLoadComplete(function() {
$('#ch_educators_link').on('click', function() {
dataLayer.push({
event: 'User Tracking Event',
user_tracking_properties: {
eventName: '[Edu] Homepage Link',
properties: {
destination: 'faculty-club',
source: 'footer',
},
},
})
})
})
</script>
</li>
<li>
<h6>Careers</h6>
<a href="/leadership/" data-cha-target-name="our_team_link" data-cha-action-type =
"visit" data-cha-action-target-type = "page" data-cha-action-target-id="/leadership/">
Leadership
</a>
<a href="/jobs/" data-cha-target-name="jobs_link" data-cha-action-type = "visit" data-cha-
action-target-type = "page" data-cha-action-target-id="/jobs/">
Careers
</a>
</li>
<li>
"visit" data-cha-action-target-type = "page" data-cha-action-target-id="/leadership/">
Leadership
</a>
<a href="/jobs/" data-cha-target-name="jobs_link" data-cha-action-type = "visit" data-cha-
action-target-type = "page" data-cha-action-target-id="/jobs/">
Careers
</a>
</li>
<li>
<h6>Help</h6>
<a href="https://support.coursehero.com/hc/en-us/#/contact-us" data-cha-target-
name="contact_us_link" data-cha-action-type = "visit" data-cha-action-target-type = "page"
data-cha-action-target-id="https://support.coursehero.com/hc/en-us/#/contact-us">
Contact Us
</a>
<a href="https://support.coursehero.com" data-cha-target-name="faq_link" data-cha-
action-type = "visit" data-cha-action-target-type = "page" data-cha-action-target-id="https://
support.coursehero.com">
FAQ
</a>
<a href="/feedback.php" data-cha-target-name="feedback_link" data-cha-action-type =
"visit" data-cha-action-target-type = "page" data-cha-action-target-id="/feedback.php">
Feedback
</a>
</li>
<li>
<h6>Legal</h6>
<a href="/copyright/" data-cha-target-name="copyright_policy_link" data-cha-action-type
= "visit" data-cha-action-target-type = "page" data-cha-action-target-id="/copyright/">
Copyright Policy
</a>
<a href="/academic-integrity-policies/" data-cha-target-
name="academic_integrity_policies_link" data-cha-action-type = "visit" data-cha-action-
target-type = "page" data-cha-action-target-id="/academic-integrity-policies/">
Academic Integrity
</a>
<a href="/honor-code/" data-cha-target-name="honor_code_link" data-cha-action-type =
"visit" data-cha-action-target-type = "page" data-cha-action-target-id="/honor-code/">
Our Honor Code
</a>
<a href="/privacy-policy/" data-cha-target-name="privacy_policy_link" data-cha-action-
type = "visit" data-cha-action-target-type = "page" data-cha-action-target-id="/privacy-
policy/">
Privacy Policy
</a>
<a href="/terms-of-use/" data-cha-target-name="terms_of_use_link" data-cha-action-type =
"visit" data-cha-action-target-type = "page" data-cha-action-target-id="/terms-of-use/">
Terms of Use
</a>
</li>
<li>
Privacy Policy
</a>
<a href="/terms-of-use/" data-cha-target-name="terms_of_use_link" data-cha-action-type =
"visit" data-cha-action-target-type = "page" data-cha-action-target-id="/terms-of-use/">
Terms of Use
</a>
</li>
<li>
<h6>Connect with Us</h6>
<a href="/college-life/" data-cha-target-name="college_life_link" data-cha-action-type =
"visit" data-cha-action-target-type = "page" data-cha-action-target-id="/college-life/">
College Life
</a>
<a href="https://www.facebook.com/coursehero" target="_blank" rel="noreferrer" data-
cha-target-name="ch_facebook_link" data-cha-action-type = "visit" data-cha-action-target-
type = "page" data-cha-action-target-id="https://www.facebook.com/coursehero">
Facebook
</a>
<a href="https://twitter.com/CourseHero" target="_blank" rel="noreferrer" data-cha-target-
name="ch_twitter_link" data-cha-action-type = "visit" data-cha-action-target-type = "page"
data-cha-action-target-id="https://twitter.com/CourseHero">
Twitter
</a>
<a href="https://www.linkedin.com/company/coursehero" target="_blank" rel="noreferrer"
data-cha-target-name="ch_linkedin_link" data-cha-action-type = "visit" data-cha-action-
target-type = "page" data-cha-action-target-id="https://www.linkedin.com/company/
coursehero">
LinkedIn
</a>
<a href="https://www.youtube.com/channel/UCt_TSquDx7B-2RX6y3dx3_g"
target="_blank" rel="noreferrer" data-cha-target-name="ch_youtube_link" data-cha-action-
type = "visit" data-cha-action-target-type = "page" data-cha-action-target-id="https://
www.youtube.com/channel/UCt_TSquDx7B-2RX6y3dx3_g">
YouTube
</a>
<a href="https://www.instagram.com/coursehero/" target="_blank" rel="noreferrer" data-
cha-target-name="ch_instagram_link" data-cha-action-type = "visit" data-cha-action-target-
type = "page" data-cha-action-target-id="https://www.instagram.com/coursehero/">
Instagram
</a>
</li>
</ul>
<div class="ch-copyright_wrapper">
<div class="ch-copyright_container">
<p class="ch-copyright_info">
Copyright © 2019. Course Hero, Inc.
</p>
<p class="ch-copyright_fyi">Course Hero is not sponsored or endorsed by any college or
university.</p>
</div>
</div>
<div class="ch-copyright_wrapper">
<div class="ch-copyright_container">
<p class="ch-copyright_info">
Copyright © 2019. Course Hero, Inc.
</p>
<p class="ch-copyright_fyi">Course Hero is not sponsored or endorsed by any college or
university.</p>
</div>
</div>
</div>
</footer>

<div id="question_widget" >

</div>

<script src="https://www.coursehero.com/sym-assets/js/bundle-7482131-5bfd945.js"
type="text/javascript"></script>

<script src="https://cdn.polyfill.io/v3/polyfill.min.js?
flags=gated&features=default%2CArray.prototype.includes%2CArray.prototype.find%2Cf
etch%2CObject.entries%2CObject.values%2CObject.entries"></script>

<script src="https://www.coursehero.com/sym-assets/js/bundle-73feeba-b2721bb.js"
type="text/javascript"></script>

<script src="https://www.coursehero.com/sym-assets/js/bundle-bef34be-ab27d82.js"
type="text/javascript"></script>

<script>
var appId = 126130834105126;
</script>

<!--[if IE 9]>
<script src="https://www.coursehero.com/sym-assets/js/bundle-7f36ca4-23ad4ac.js"
type="text/javascript"></script>
<script>
$('input:not([data-ng-model]), textarea:not([data-ng-model])').placeholder();
</script>
<![endif]-->

<script type="text/javascript">
var scholarshipName = " ";
var scholarshipId = "";
var scholarshipRelativeApiUrl = "";
var userId = 100000786847147;

tracker.setUserProperties(userId, {
"docacq_breakpoints_v1": 0
<script type="text/javascript">
var scholarshipName = " ";
var scholarshipId = "";
var scholarshipRelativeApiUrl = "";
var userId = 100000786847147;

tracker.setUserProperties(userId, {
"docacq_breakpoints_v1": 0
});

tracker.setUserProperties(userId, {
"UPLOADER MESSAGING TEST V3": 0
});
</script>
<script type='text/javascript' src='https://www.coursehero.com/sym-assets/js/uploader-
progress-bar-app-ab7bfd9-fbb5e35.js'></script>

<script src="//static.filestackapi.com/filestack-js/1.x.x/filestack.min.js" defer></script>


<script type="text/javascript" src="https://www.coursehero.com/sym-assets/js/bundle-
c7b98ff-640a360.js"></script>

<script>
$(".ud_docCounter_wrapper").waypoint(function(direction) {
$(".ud_cta_wrapper").removeClass("sticky_footer");
if (direction === 'up') {
$('.ud_cta_wrapper').removeClass('sticky_footer');
}
else {
$('.ud_cta_wrapper').addClass('sticky_footer');
}
}, {
offset:'70%'
});
</script>

<div data-ng-module="courseHeroMQServices">
<div data-ng-controller="CourseHeroMQTransportController" data-ng-init="init('wss://
wss.coursehero.com/');"></div>
</div>
<script type="text/javascript">
CHAnalytics.v("initial").pageView()
</script>

<script type="text/javascript">window.NREUM||
(NREUM={});NREUM.info={"beacon":"bam.nr-
data.net","licenseKey":"404bf9505f","applicationID":"136461810,151089887","transaction
Name":"NVFbZUFUC0RTAEcLXQwbekRAQQpaHRZDDl0DUGZQUFYAREE=","queu
eTime":0,"applicationTime":
172,"atts":"GRZMEwlOGBsQAhFYSR9J","errorBeacon":"bam.nr-data.net","agent":""}</
CHAnalytics.v("initial").pageView()
</script>

<script type="text/javascript">window.NREUM||
(NREUM={});NREUM.info={"beacon":"bam.nr-
data.net","licenseKey":"404bf9505f","applicationID":"136461810,151089887","transaction
Name":"NVFbZUFUC0RTAEcLXQwbekRAQQpaHRZDDl0DUGZQUFYAREE=","queu
eTime":0,"applicationTime":
172,"atts":"GRZMEwlOGBsQAhFYSR9J","errorBeacon":"bam.nr-data.net","agent":""}</
script></body>
</html>

range=41306772-41443964,time=3010.0-3020.0,off=0,len=137193,end=1",
"lva":
"itag=247,type=3,seg=587,range=37330925-37417267,time=3005.4-3010.6,off=0,len=8634
3,end=1",
"lar":
"itag=251,type=3,seg=301,range=41306772-41443964,time=3010.0-3020.0,off=0,len=1371
93,end=1",
"lvr":
"itag=247,type=3,seg=587,range=37330925-37417267,time=3005.4-3010.6,off=0,len=8634
3,end=1",
"lvh": "r3---sn-ntqe6n7k",
"lab": "2980.001-3020.001",
"lvb": "2984.960-3010.560",
"ismb": 13510000,
"relative_loudness": "NaN",
"optimal_format": "720p",
"user_qual": "auto",
"debug_videoId": "kSrHmDBTDvQ",
"0sz": false,
"op": "",
"yof": false,
"dis": "",
"gpu": "Intel(R)_Iris(TM)_Graphics_550",
"cgr": true,
"debug_playbackQuality": "hd720",
"debug_date": "Thu May 02 2019 14:40:41 GMT+1000 (Australian Eastern Standard
Time)"
}

You might also like