1/* 2* Built by 3* ____ _____ 4* __ __________ ____ _/ / / / __(_) _____ 5* / / / / ___/ _ \ / __ `/ / / / /_/ / | / / _ \ 6* / /_/ (__ ) __/ / /_/ / / / / __/ /| |/ / __/ 7* \__,_/____/\___/ \__,_/_/_/ /_/ /_/ |___/\___/ 8* 9* 10* http://useallfive.com 11* 12* artifax - v0.0.1 - 2020-06-16 13*/ 14angular.module("ua5Templates",[]),angular.module("ua5App.home",[]),angular.module("ua5App.about",[]),angular.module("ua5App.contribute",[]),angular.module("ua5App.artworks",[]),angular.module("ua5App.terms",[]),angular.module("ua5App",["ngFileUpload","monospaced.elastic","ngResource","ngSanitize","ngTouch","ngAnimate","ua5Templates","ui.router","angulartics","angulartics.google.analytics","angular-loading-bar","angularModalService","ngMeta","ua5App.terms","ua5App.artworks","ua5App.contribute","ua5App.about","ua5App.home"]).constant("BREAKPOINTS",{PHONE_ONLY:599,TABLET_PORTRAIT_UP:600,TABLET_LANDSCAPE_UP:900,DESKTOP_UP:1200,BIG_DESKTOP_UP:1800}).config(["$analyticsProvider","$locationProvider","ngMetaProvider",function(a,b,c){b.html5Mode(!0),a.firstPageview(!1),c.setDefaultTitle("Artifax â Fax Congress with Art"),c.setDefaultTag("url","http://mysite.com"),c.setDefaultTag("description","Page description"),c.setDefaultTag("image","http://mysite.com/assets/img/share.jpg")}]).run(["ngMeta","$animate",function(a,b){a.init(),b.enabled(!1)}]).directive("app",["$rootScope","$animate","$window","$location","BrowserFactory",function(a,b,c,d,e){return{link:function(f,g,h){function i(){"https"!==d.protocol()&&"artifax.us"===d.host()&&(c.location.href=d.absUrl().replace("http","https"))}var j,k,l,m,n=e.isFirefox(),o=e.isSafari(),p=e.isExplorer()||e.isEdge();k=!0,j=$(window),i(),j.on("resize",function(){a.$broadcast("app:resized")}),j.on("click",function(b){a.$broadcast("app:clicked",b.target)}),j.on("scroll",function(b){a.$broadcast("app:scrolled")}),j.on("keydown",function(b){var c,d=27;c=b.keyCode,c===d&&a.$broadcast("app:escape:pressed")}),a.$on("$stateChangeSuccess",function(c,d,e,f){var g=/^([^.]*).*/,h=d.name,i=h.match(g)[1];a.pageClass="page-"+d.name.replace(".","-"),f!==i&&setTimeout(function(){$("[ui-view] [ui-view]").css({opacity:1,position:"static"})},1),k&&($("[ui-view]").css({opacity:1,position:"static"}),b.enabled(!0),(n||o||p)&&(l=document.createElement("style"),l.appendChild(document.createTextNode("")),document.head.appendChild(l),p?(l.sheet.insertRule(".shape-logo__path { fill: #2a2a2a !important; transition: fill 0.3s 1s }",0),l.sheet.insertRule(".logo.intro-showing .shape-logo__path { fill: #d5d5d5 !important; }",1)):(m=n?"2.1rem":"2.17rem",l.sheet.insertRule("textarea { line-height: "+m+" !important; }",0))),k=!1)})}}}]),angular.module("ua5App").animation(".fade-child",[function(){var a=.5;return{enter:function(b,c){TweenMax.to(b,a,{alpha:1,onComplete:function(){TweenMax.set(b,{position:"static"}),c()},ease:Quint.easeInOut})},leave:function(b,c){TweenMax.to(b,a,{alpha:0,onComplete:c,ease:Quint.easeInOut})}}}]),angular.module("ua5App").animation(".fade",[function(){var a=.5;return{enter:function(b,c){TweenMax.to(b,a,{delay:a,alpha:1,onComplete:function(){TweenMax.set(b,{position:"static"}),c()},ease:Quint.easeInOut})},leave:function(b,c){TweenMax.to(b,a,{alpha:0,onComplete:function(){document.body.scrollTop=0,document.documentElement.scrollTop=0,c()},ease:Quint.easeInOut})}}}]),angular.module("ua5App").directive("artwork",["$timeout",function(a){return{restrict:"A",scope:{artworkData:"="},templateUrl:"components/artwork/artwork.html",link:function(a,b,c){}}}]),angular.module("ua5App").directive("contactForm",["$timeout",function(a){return{restrict:"A",templateUrl:"components/contact-form/contact-form.html",link:function(a,b,c){a.formSubmit=function(b){return a.disableButton=!0,b&&b.name&&b.email&&b.message?void $.ajax({type:"POST",url:"https://liveformhq.com/form/059c7668-40ca-4d09-9cea-b0edb9a958e4",data:b}).done(function(a){TweenMax.to($(".contact-form"),.2,{display:"none"}),TweenMax.to($(".contact-form__succcess"),.2,{display:"block"})}).fail(function(a){TweenMax.to($(".contact-form"),.2,{display:"none"}),TweenMax.to($(".contact-form__succcess"),.2,{display:"block"})}):(a.formSubmitError="Please fill in required fields.",a.disableButton=!1,!1)}}}}]),angular.module("ua5App").directive("contributeForm",["$timeout","Upload",function(a,b){return{restrict:"A",templateUrl:"components/contribute-form/contribute-form.html",link:function(a,c,d){a.formSubmit=function(a){},a.agreed=!1,a.agreeToTerms=function(){a.agreed=!a.agreed},a.mediaValidate=function(b){var c=!0;return b&&b.type&&("image/jpeg"!==b.type&&"image/jpg"!==b.type||(c=!1)),c?(a.mediaFileError="Only JPG Images are allowed.",!1):(a.mediaFileError=null,!0)},a.uploadMedia=function(c,d){a.disableButton=!0,c.name&&c.email&&c.title&&d?b.upload({url:"https://liveformhq.com/form/059c7668-40ca-4d09-9cea-b0edb9a958e4",data:{name:c.name,email:c.email,title:c.title,file:d}}).then(function(a){TweenMax.to($(".contribute-form"),.2,{display:"none"}),TweenMax.to($(".contribute-form__succcess"),.2,{display:"block"})},function(a){TweenMax.to($(".contribute-form"),.2,{display:"none"}),TweenMax.to($(".contribute-form__succcess"),.2,{display:"block"})}):(a.disableButton=!0,a.formSubmitError="Please fill in required fields.")}}}}]),angular.module("ua5App").directive("faxGenerator",["$rootScope","$q",function(a,b){return{restrict:"A",templateUrl:"components/fax-generator/fax-generator.html",link:function(c,d,e){function f(){function d(a,b,c,d,f,g){for(var h=b.split(" "),i="",j=0;j<h.length;j++){var k=i+h[j]+" ",l=a.measureText(k),m=l.width;m>f&&j>0?(a.fillText(i,c,d),i=h[j]+" ",d+=g):i=k}a.fillText(i,c,d),e=d+g}c.faxArtwork=c.faxArtwork||{},c.selectedRepresentative=c.selectedRepresentative||{},c.name=c.name||{};var e=i,f=b.defer(),l=b.defer(),m=c.registered?"I am registered to vote":"",n=c.title||"",o=c.faxArtwork.title||"",p=c.faxArtwork.artist||"",q=c.selectedRepresentative.prefix||"",r=c.selectedRepresentative.name||"",s=c.message||"",t=c.name.first||"",u=c.name.last||"",v=c.address||"",w=moment().format("ll");k.clearRect(0,0,j.width,j.height),g=new Image,g.onload=function(){f.resolve()},g.src=c.faxArtwork.image||"/assets/images/artworks/small/A-New-Home---Alexandra-Velasco.jpg",h=new Image,h.onload=function(){l.resolve()},h.src=c.signatureImage||"/assets/images/sign.png",b.all([f.promise,l.promise]).then(function(){var b;j.width=1275,j.height=1650,k.fillStyle="#fff",k.fillRect(0,0,j.width,j.height),k.fillStyle="#000",k.font="30px Poppins",e+=49;var c=e;d(k,n,i,e,540,49),e=c,k.font="22.5px Poppins",k.fillText("Title of artwork:",580,e),k.fillText("Artwork by:",980,e),b=e+=30,d(k,o,580,b,350,30),k.fillText(p,980,b),e+=3*i,k.drawImage(g,0,e,1275,876),e+=4*i+876,k.fillText("Dear "+q+" "+r+",",i,e),e+=2*i,d(k,s,i,e,j.width-2*i,30),e+=i,k.fillText("Sincerely,",i,e),e+=3*i,k.fillText(m,i,e+64),k.drawImage(h,i,e-2*i,360,87.5),
14k.fillText(t+" "+u+" "+w,450+i,e),e+=1.5*i,d(k,v,450+i,e,700,30),a.$broadcast("faxCanvasRendered")})}var g,h,i=22.5,j=$(".canvas",d)[0],k=j.getContext("2d");a.$on("createFaxCanvas",f)}}}]),angular.module("ua5App").directive("faxPage",[function(){return{restrict:"A",templateUrl:"components/fax-page/fax-page.html",link:function(a,b,c){}}}]),angular.module("ua5App").directive("fax",["$rootScope","$timeout","$q","$analytics",function(a,b,c,d){return{restrict:"A",scope:{faxArtwork:"=",exitFax:"&",prevArtwork:"&",nextArtwork:"&"},templateUrl:"components/fax/fax.html",link:function(e,f,g){function h(){e.autocomplete=new google.maps.places.Autocomplete(document.querySelector("#address")),e.stepIndex=0,e.formStep=e.steps[e.stepIndex],e.stepValid=!0,e.stage="entering-info",e.zipcode=null,e.validZip=!0,e.selectedRepresentative=null,e.representatives=[],e.registered=void 0,e.message="",e.title="",e.selectedItem="Custom",e.messageWordCount=0,e.name={first:null,last:null},e.date=moment().format("ll"),e.signatureImage=null,e.returningToForm=!1,e.agreed=!1,B&&C&&m(),r&&TweenMax.set(r,{y:"100%",scrollTo:{y:0}})}function i(){var b,f=$("#fax-canvas")[0],g="artifax.us"===window.location.hostname?e.selectedRepresentative.fax:G,h=new TimelineMax({paused:!0,onComplete:function(){E.restart()}});a.$broadcast("createFaxCanvas"),h.to([x,y,z],.2,{opacity:1}).to(w,.2,{opacity:0}),H.promise.then(function(){H=c.defer(),b=f.toDataURL(),b=b.slice(22),$.ajax("https://9v8s5kzn7d.execute-api.us-west-1.amazonaws.com/test/artifax/",{type:"POST",data:JSON.stringify({to:g,data:b}),success:function(){F.pause(),h.restart()}}),d.eventTrack("submitted",{category:"title",label:e.title})})}function j(b,c){var d="https://www.googleapis.com/civicinfo/v2/representatives?address="+b;d+="&levels=administrativeArea1&levels=country&levels=locality&key=AIzaSyCv5BuW9Az43nDG26snoyEkpjROc-0d7WQ",$.get({url:d},function(b){var d=[];return _.each(b.offices,function(c){"President of the United States"!==c.name&&"Vice-President of the United States"!==c.name&&"Lieutenant Governor"!==c.name&&"Governor"!==c.name&&_.each(c.officialIndices,function(e){var f=b.officials[e],g=_.findWhere(a.LEGISLATORS,{name:f.name});g&&(f.fax=g.fax,f.office=c,d.push(f))})}),D=d,!D||D.length<1?(e.stepIndex=1,e.validZip=!1,void e.$apply()):(e.validZip=!0,e.$apply(),e.representatives=_.map(D,function(a){var b="";return b=a.photoUrl&&a.photoUrl.indexOf("https://")>-1?a.photoUrl:a.photoUrl&&a.photoUrl.indexOf("http://bioguide.congress.gov")>-1?a.photoUrl.replace("http://bioguide.congress.gov","https://d116m5omwy40mk.cloudfront.net"):"assets/images/no-picture.svg",{image:b,name:a.name,title:a.office.name,prefix:"",fax:a.fax}}),void c())})}function k(){e.signatureDrawn=!0,e.$apply()}function l(){C.isEmpty()?(e.signatureDrawn=!1,e.signatureImage=null):e.signatureImage=C.toDataURL(),e.name.first&&e.name.last&&e.signatureDrawn?e.stepValid=!0:e.stepValid=!1,e.$apply()}function m(){var a=Math.max(window.devicePixelRatio||1,1);B.width=B.offsetWidth*a,B.height=B.offsetHeight*a,B.getContext("2d").scale(a,a),C.clear(),e.signatureImage&&C.fromDataURL(e.signatureImage)}function n(){v.length&&t.length&&u.length||(t=$(".fax__confirmation__page"),u=$(".fax__confirmation__cta"),v=Modernizr.touch&&window.innerWidth<900?$(".fax__confirmation__stamp--mobile"):$(".fax__confirmation__stamp")),TweenMax.set(v,{autoAlpha:0,scale:2,z:100}),TweenMax.set(t,{autoAlpha:0}),TweenMax.set(u,{autoAlpha:0})}function o(){p=$(f).find(".fax"),q=p.find(".fax__form"),r=p.find(".fax__review"),s=p.find(".fax__confirmation"),t=s.find(".fax__confirmation__page"),u=s.find(".fax__confirmation__cta"),v=Modernizr.touch&&window.innerWidth<900?s.find(".fax__confirmation__stamp--mobile"):s.find(".fax__confirmation__stamp"),w=s.find(".fax__confirmation__loader"),x=w.find(".one"),y=w.find(".two"),z=w.find(".three"),A=p.find(".fax__form__zipcode__input"),B=p.find(".fax__form__signature__pad")[0],C=new SignaturePad(B,{onBegin:k,onEnd:l}),window.addEventListener("resize",m),h(),n(),E=new TimelineMax({paused:!0}),E.set(s,{display:"block"}).to(v,.5,{autoAlpha:1,scale:1,z:0}).to(t,.5,{autoAlpha:1},"+=1").to(u,.5,{autoAlpha:1},"+=1"),(!Modernizr.touch||window.innerWidth>=900)&&E.set(v,{display:"none"}).to(v,.5,{autoAlpha:0}),F=new TimelineMax({paused:!0}),F.to(x,.2,{opacity:1}).to(y,.2,{opacity:1}).to(z,.2,{opacity:1}
14),a.$watch("preparingFax",function(a,b){a===!1&&(h(),n())})}var p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G="3103057880",H=c.defer(),I=120;e.stepIndex=0,e.steps=[{number:1,name:"artwork",title:"Select Your Artwork",continueText:"Next: Find Your Elected Official"},{number:2,name:"zipcode",title:"Find Your Elected Official",continueText:"Next: Select Your Elected Official"},{number:3,name:"representative",title:"Select Your Elected Official",continueText:"Next: Confirm Your Registration Status"},{number:4,name:"registration",title:"Your Registration Status",continueText:"Next: Write Your Message"},{number:5,name:"message",title:"Write Your Message",continueText:"Next: Add Your Name & Sign!"},{number:6,name:"signature",title:"Add Your Name & Sign!",continueText:"Next: Review & Send Your Fax"}],e.prefilledMessages=[{name:"Black Lives Matter",title:"Black Lives Matter",message:"I am outraged, fed up, in pain and aggrieved. Police are disproportionately overfunded while our communities are crumbling. Itâs time that you commit to building a better future for America. Black and brown people live in a constant state of fear. Fear that those paid to keep them safe may, instead, murder them in cold blood without retribution. How we fund and regulate the groups sworn to protect us must change, and it must change in a dramatic way. Iâm asking that you step up and pursue justice for those who have been murdered, and that you act swiftly to reform our disgraceful, broken law enforcement system. Do the right thing; America is watching."},{name:"Border Separation",title:"End Border Separations â Reunite Families",message:"As your constituent, I am writing to urge you to take action in reuniting families separated by the Trump administrationâs border policy. The executive order reversing this separation policy, does nothing to address the situation of the thousands of children already separated from their parents. The American Medical Association has spoken out against the physical and emotional trauma a child faces when forcibly separated from their family. Doctors, psychologists, and child advocates have warned that this trauma may have lifelong implications. Thus, I hope that you consider creating legislation that would reunite these children with their family. Thank you."},{name:"Supreme Court",title:"Keep the Courts Fair",message:"According to Sen. Mitch McConnell, the Senate shouldn't vote on a new Supreme Court nominee during an election year. Let's make sure he follows his own rule.\nTrump is the subject of a criminal investigation that could eventually come before the Supreme Courtâhe has a clear conflict of interest as it relates to picking a new #SCOTUS justice. The investigation must conclude before considering any nominations. Thus, I hope that you will do anything in your power to ensure no justices are confirmed until after November and after the investigation has concluded."},{name:"Gun Violence Prevention",title:"End Gun Violence â Pass Common Sense Laws",message:"As your constituent, I am deeply concerned about gun violence in our country. I am writing to urge you to take action in passing strict gun control laws. \n\nI need you to take action to ensure:\n- Background checks are be required for every gun owner â including removing gun show loopholes, the Charleston loophole, and family gun transfers\n- That assault weapons and high-capacity firearms are illegal\n- Gun trafficking becomes a federal offense\n\nThus, I hope that you will consider enacting these common-sense measures to reduce gun violence.\n"},{name:"The National Endowment for the Arts",title:"Protect the Arts â Save the NEA!",message:"As your constituent, I am writing to urge you to defend the National Endowment for the Arts. The NEA does the important work of making the arts accessible to communities from every state and territory. I believe that everyone deserves an opportunity to experience the arts. This opportunity comes at a low cost, compared with the rest of the budgetâthe NEA only figured for 0.004 percent of federal spending in 2016. Thus, I hope that you will c
14onsider defending the NEA from its proposed elimination in the Trump Administration Budget. Thank you."},{name:"Custom",title:"",message:""}],h(),e.changeStep=function(c){if(e.stepValid=!1,e.returningToForm=!1,c&&e.stepIndex<e.steps.length-1)1===e.stepIndex?(e.selectedRepresentative=null,e.address="",e.autocomplete.getPlace()&&e.autocomplete.getPlace().formatted_address?(e.address=e.autocomplete.getPlace().formatted_address,j(e.address,function(){e.formStep=e.steps[e.stepIndex],e.$apply()}),e.stepValid=!0,e.stepIndex++,e.stepValid=!1):(e.stepValid=!1,e.validZip=!1)):e.stepIndex++;else if(!c&&e.stepIndex>0){if(e.stepIndex--,1===e.stepIndex)return e.selectedRepresentative=null,e.representatives=[],e.formStep=e.steps[e.stepIndex],void b(function(){A.focus()},200);2===e.stepIndex&&e.selectedRepresentative&&(e.stepValid=!0)}else if(e.stepIndex===e.steps.length-1)return e.stepValid=!0,e.returningToForm=!0,e.signatureImage=C.toDataURL(),e.date=moment().format("ll"),e.stage="finalizing",TweenMax.set(r,{scrollTo:{y:0}}),void TweenMax.fromTo(r,1,{y:"100%"},{y:"0%",ease:Linear.easeNone,delay:1});0===e.stepIndex?(a.selectingArtwork=!0,e.stepValid=!0):1===e.stepIndex?$("[data-auto-focus]").focus():3===e.stepIndex?void 0!==e.registered&&(e.stepValid=!0):4===e.stepIndex?e.message&&(e.stepValid=!0):5===e.stepIndex&&(b(m,200),e.name.first&&e.name.last&&e.signatureImage&&(e.stepValid=!0)),e.stepIndex>0&&(a.selectingArtwork=!1),e.stage="entering-info",e.formStep=e.steps[e.stepIndex]},e.returnToForm=function(){e.stage="signing",TweenMax.set(r,{scrollTo:{y:"max"}}),TweenMax.to(r,1,{y:"-100%",ease:Linear.easeNone}),b(m,200)},e.agreeToTerms=function(){e.agreed=!e.agreed},a.$on("faxCanvasRendered",function(){H.resolve()}),e.submitFax=function(){e.time=moment().format("h:mmA"),e.stage="confirming",TweenMax.set(r,{scrollTo:{y:"max"}}),TweenMax.to(r,1.5,{y:"-100%",onComplete:function(){TweenMax.set(w,{opacity:1}),F.restart(),i()}})},e.selectPrefilled=function(a){var b=e.prefilledMessages[e.selectedItem];e.message=b.message,e.title=b.title,e.countMessageWords()},e.setRepresentative=function(a){e.selectedRepresentative===a?(e.selectedRepresentative=null,e.stepValid=!1):(e.selectedRepresentative=a,e.stepValid=!0,TweenMax.to(".fax__form__step.representative",.5,{scrollTo:{y:"max"}}))},e.setRegistration=function(a){e.registered=a,e.stepValid=!0,TweenMax.to(".fax__form__step.registration",.5,{scrollTo:{y:"max"}})},e.prefillMessage=function(){e.message="As your constituent, I am writing to urge you to defend the National Endowment for the Arts. The NEA does the important work of making the arts accessible to communities from every state and territory. I believe that everyone deserves an opportunity to experience the arts. This opportunity comes at a low cost, compared with the rest of the budgetâthe NEA only figured for 0.004 percent of federal spending in 2016. Thus, I hope that you will consider defending the NEA from its proposed elimination in the Trump Administration Budget. Thank you.",e.countMessageWords(),TweenMax.to(".fax__form__step.message",.5,{scrollTo:{y:"max"}})},e.clearMessage=function(){e.message="",e.title="",e.countMessageWords()},e.countMessageWords=function(a){var b=_.reject(e.message.split(/\s+/),function(a){return!a.length});e.messageWordCount=b.length,e.messageWordCount>=I?(e.wordLimitReached=!0,9!==a.which&&13!==a.which&&32!==a.which||a.preventDefault()):e.wordLimitReached&&(e.wordLimitReached=!1),e.message?e.stepValid=!0:e.stepValid=!1},e.checkFullName=function(){e.name.first&&e.name.last&&e.signatureDrawn?e.stepValid=!0:e.stepValid=!1},e.faxAddressFocus=function(){A.attr("autocomplete","new-password")},e.download=function(a){function b(a){for(var b=a.split(","),c=b[0].match(/:(.*?);/)[1],d=atob(b[1]),e=d.length,f=new Uint8Array(e);e--;)f[e]=d.charCodeAt(e);return new Blob([f],{type:c})}var c,d,f,g;c=document.getElementById("fax-canvas").toDataURL({format:"png",multiplier:4}),a.target.download="Artifax-"+e.selectedRepresentative.name.replace(/ /g,"")+"-"+e.title.replace(/ /g,"")+".png",d=c.substr(22,c.length),f=b(c),g=URL.createObjectURL(f),a.target.href=g},e.clearSignature=function(){C.clear(),e.signatureImage=null,e.signatureDrawn=!1,e.stepValid=!1},b(o)}}}]),angular.module("ua5App").directive("footer",[function(){return{restrict:"A",templateUrl:"components/footer/footer.html",link:function(a,b,c){var d;
14d=$(".footer__company__text",$(b)),a.showText=function(){TweenMax.to(d,.4,{left:0,opacity:1})},a.hideText=function(){TweenMax.to(d,.4,{left:40,opacity:0})}}}}]),angular.module("ua5App").directive("intro",["$rootScope","$timeout","$q",function(a,b,c){return{restrict:"A",templateUrl:"components/intro/intro.html",link:function(d,e,f){function g(){$(window).on("beforeunload",function(){$(window).scrollTop(0)}),c.all([n.promise,o.promise,p.promise]).then(function(){b(function(){h(),m.restart()},1e3)})}function h(){j=q.find(".intro__exclamation.one"),k=q.find(".intro__exclamation.two"),l=q.find(".intro__exclamation.three"),m=new TimelineMax({paused:!0}),m.set(j,{opacity:1}).from(j,.2,{scale:.5,z:-5e3}).set(k,{opacity:1}).from(k,.2,{scale:.5,z:-5e3}).set(l,{opacity:1}).from(l,.2,{scale:.5,z:-5e3,onComplete:function(){b(i,500)}})}function i(){q.off(),a.introDismissed=!0,a.$applyAsync(),b(function(){d.hideIntro=!0},1e3)}var j,k,l,m,n,o,p,q=$(e);n=c.defer(),o=c.defer(),p=c.defer(),d.hideIntro=!1,b(g),d.finishedLoading1=function(){n.resolve()},d.finishedLoading2=function(){o.resolve()},d.finishedLoading3=function(){p.resolve()}}}}]),angular.module("ua5App").directive("logo",["$timeout","BREAKPOINTS",function(a,b){return{restrict:"A",templateUrl:"components/logo/logo.html",link:function(a,b,c){}}}]),angular.module("ua5App").directive("nav",[function(){return{restrict:"A",templateUrl:"components/nav/nav.html",link:function(a,b,c){a.mobileNavOpen=!1,a.toggleMobileNav=function(){a.mobileNavOpen=!a.mobileNavOpen}}}}]),angular.module("ua5App").directive("scrollReveal",["$timeout",function(a){return{restrict:"A",scope:{scrollRevealSettings:"="},link:function(b,c,d){a(function(){window.scrollReveal||(window.scrollReveal=new ScrollReveal),window.scrollReveal.reveal(c,b.scrollRevealSettings)},0)}}}]),angular.module("ua5App").directive("shareE",["$location",function(a){return{restrict:"A",scope:{shareEBody:"@",shareESubject:"@"},link:function(b,c,d){var e,f;e=b.shareEBody||a.absUrl(),f=b.shareESubject||a.absUrl(),c[0].href="mailto:?subject="+f+"&body="+e,c[0].target="_blank"}}}]),angular.module("ua5App").directive("shareFb",["popup","$location",function(a,b){return{restrict:"A",scope:{shareFbUrl:"@"},link:function(c,d,e){var f,g;f=c.shareFbUrl||b.absUrl(),g="https://www.facebook.com/sharer.php?u="+encodeURIComponent(f),d.on("click",function(){a.show(g)}),c.$on("$destroy",function(){d.off("click")})}}}]),angular.module("ua5App").directive("shareTw",["popup","$location",function(a,b){return{restrict:"A",scope:{shareTwUrl:"@",shareTwText:"@"},link:function(c,d,e){var f,g,h;h=c.shareTwUrl||b.absUrl(),f=encodeURIComponent(c.shareTwText||""),g="https://twitter.com/intent/tweet?text="+f+"&url="+h,d.on("click",function(){a.show(g,600,253)}),c.$on("$destroy",function(){d.off("click")})}}}]),angular.module("ua5App").directive("ticker",["$rootScope","$timeout",function(a,b){return{restrict:"A",templateUrl:"components/ticker/ticker.html",link:function(c,d,e){function f(){g=$(d),h=$(d).find(".ticker__inner"),i=g.find(".ticker__messages"),i.clone().appendTo(h),j=i.width(),k=TweenMax.to(h,j/50,{x:-j,ease:Linear.easeNone,repeat:-1}).timeScale(0),g.hover(function(){TweenMax.to(k,1,{timeScale:0})},function(){TweenMax.killTweensOf(k),TweenMax.set(k,{timeScale:4})}),g.bind("touchend mouseout",function(){l||(TweenMax.killTweensOf(k),TweenMax.set(k,{timeScale:4}),l=!0)}).bind("touchstart mouseover",function(){l&&(TweenMax.to(k,1,{timeScale:0}),l=!1)})}var g,h,i,j,k,l=!1;c.messages=['<a target="_blank" href="https://www.washingtonpost.com/business/economy/trump-federal-budget-2018-massive-cuts-to-the-arts-science-and-the-poor/2017/03/15/0a0a0094-09a1-11e7-a15f-a58d4a988474_story.html?utm_term=.f9882c453ec8">Trump Federal Budget 2018: Massive Cuts to the Arts, Science and the Poor</a>','<a target="_blank" href="https://www.nytimes.com/2017/01/30/arts/design/donald-trump-arts-humanities-public-television.html?_r=1">What if Trump Really Does End Money for the Arts?</a>','<a target="_blank" href="https://www.good.is/articles/why-government-wants-to-cut-national-endowment-arts-nea">Cutting Public Funds For The Arts Could Cost America Billions</a>'],a.$watch("introDismissed",function(a,b){a&&(k.timeScale(4),l=!0)}),b(f)}}}]),angular.module("ua5App").directive("unorphanize",[function(){return{restrict:"A",scope:{unorphanize:"@"},link:function(a,b,c){var d;d=parseInt(a.unorphanize,10)||1,_.defer(function(){$(b).unorphanize(d)})}}}]),angular.module("ua5App").factory("ArtworksFactory",["$resource","$rootScope","$q",function(a,b,c){var d,e="data/artworks.json?v=2",f=c.defer();return{get:function(){return d||(d=!0,a(e,{},{retrieve:{method:"GET"}}).retrieve(function(a){f.resolve(a.artworks)})),f.promise}}}]),angular.module("ua5App").factory("BrowserFactory",[function(){var a,b,c,d,e,f,g,h=!1,i=!1,j=!1;if(a=navigator.userAgent.indexOf("Chrome")>-1,b=navigator.userAgent.indexOf("MSIE")>-1||navigator.userAgent.indexOf("Trident")>-1,c=navigator.userAgent.indexOf("Firefox")>-1,d=navigator.userAgent.indexOf("Safari")>-1,e=navigator.userAgent.toLowerCase().indexOf("op")>-1,f=navigator.userAgent.toLowerCase().indexOf("android")>-1,g=navigator.userAgent.toLowerCase().indexOf("edge")>-1,a&&d&&(d=!1),a&&e&&(a=!1),a&&g&&(a=!1),"iP"===navigator.platform.substr(0,2)){var k=/constructor/i.test(window.HTMLElement),l=window.navigator,m=l.userAgent,n=!!window.indexedDB;(m.indexOf("Safari")===-1||m.indexOf("Version")===-1||l.standalone)&&(!n&&k||!window.statusbar.visible||(window.webkit&&window.webkit.messageHandlers||!k||n)&&(h=!0))}return(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
14sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4)))&&(i=!0),j=window.self!==window.top,{isSafari:function(){return d},isChrome:function(){return a},isFirefox:function(){return c},isExplorer:function(){return b},isEdge:function(){return g},isFastBrowser:function(){return(a||c)&&!Modernizr.touch},hasTouch:function(){return Modernizr.touch},hasWebGl:function(){return Modernizr.webgl},isAndroid:function(){return f},isWkWebView:function(){return h},isMobile:function(){return i},isIframe:function(){return j}}}]),angular.module("ua5App").factory("LegislatorsFactory",["$resource","$rootScope","$q",function(a,b,c){var d,e="data/legislators/legislators-current-06-01-2020.json",f=c.defer(),g=[{first_name:"Mike",last_name:"Lee",fax:"2022281168"},{first_name:"Tom",last_name:"Cotton",fax:"4799271092"},{first_name:"Eric",last_name:"Swalwell",fax:"9254605320"},{first_name:"Ted",last_name:"Yoho",fax:"9254605320"},{first_name:"Tammy",last_name:"Duckworth",fax:"2022280618"},{first_name:"Garland",last_name:"Barr",fax:"2022252122"},{first_name:"Hakeem",last_name:"Jeffries",fax:"2022251018"},{first_name:"Derek",last_name:"Kilmer",fax:"2022263575"},{first_name:"Bruce",last_name:"Westerman",fax:"2022251314"},{first_name:"Ruben",last_name:"Gallego",fax:"6022579103"},{first_name:"Will",last_name:"Hurd",fax:"2022252237"},{first_name:"Dan",last_name:"Sullivan",fax:"2022246501"},{first_name:"David",last_name:"Perdue",fax:"2022240103"},{first_name:"Joni",last_name:"Ernst",fax:"2022249369"},{first_name:"Thom",last_name:"Tillis",fax:"2022282563"},{first_name:"Mike",last_name:"Rounds",fax:"2022247482"},{first_name:"Benjamin",last_name:"Sasse",fax:"2022280436"},{first_name:"Trent",last_name:"Kelly",fax:"2022253549"},{first_name:"Darin",last_name:"LaHood",fax:"2022259249"},{first_name:"Warren",last_name:"Davidson",fax:"2022250704"},{first_name:"James",last_name:"Comer",fax:"5025646543"},{first_name:"Dwight",last_name:"Evans",fax:"2152762939"},{first_name:"Kamala",last_name:"Harris",fax:"2022242200"},{first_name:"John",last_name:"Kennedy",fax:"2022280447"},{first_name:"Margaret",last_name:"Hassan",fax:"2022244952"},{first_name:"Catherine",last_name:"Cortez Masto",fax:"2022247327"},{first_name:"Tom",last_name:"OâHalleran",fax:"2022253462"},{first_name:"Andy",last_name:"Biggs",fax:"2022264386"},{first_name:"Ro",last_name:"Khanna",fax:"2022252699"},{first_name:"Jimmy",last_name:"Panetta",fax:"2022256791"},{first_name:"Salud",last_name:"Carbajal",fax:"2022255632"},{first_name:"Nanette",last_name:"Barragán",fax:"2022267290"},{first_name:"J.",last_name:"Correa",fax:"2022255859"},{first_name:"Lisa",last_name:"Blunt Rochester",fax:"2022252291"},{first_name:"Matt",last_name:"Gaetz",fax:"2022253414"},{first_name:"Neal",last_name:"Dunn",fax:"2022255615"},{first_name:"John",last_name:"Rutherford",fax:"2022252504"},{first_name:"Al",last_name:"Lawson",fax:"2022252256"},{first_name:"Stephanie",last_name:"Murphy",fax:"2022260821"},{first_name:"Darren",last_name:"Soto",fax:"2022259742"},{first_name:"Val",last_name:"Demings",fax:"2022250999"},{first_name:"Charlie",last_name:"Crist",fax:"2022259764"},{first_name:"Brian",last_name:"Mast",fax:"2022258398"},{first_name:"A.",last_name:"Ferguson",fax:"2022252515"},{first_name:"Raja",last_name:"Krishnamoorthi",fax:"2022257830"},{first_name:"Jim",last_name:"Banks",fax:"2022269870"},{first_name:"Trey",last_name:"Hollingsworth",fax:"2022266866"},{first_name:"Roger",last_name:"Marshall",fax:"2022255124"},{first_name:"Clay",last_name:"Higgins",fax:"2022255724"},{first_name:"Mike",last_name:"Johnson",fax:"2022258039"},{first_name:"Anthony",last_name:"Brown",fax:"2022258714"},{first_name:"Jamie",last_name:"Raskin",fax:"4108413850"},{first_name:"Jack",last_name:"Bergman",fax:"2022254710"},{first_name:"Paul",last_name:"Mitchell",fax:"2022261169"},{first_name:"Ted",last_name:"Budd",fax:"2022255662"},{first_name:"Don",last_name:"Bacon",fax:"2022265452"},{first_name:"Josh",last_name:"Gottheimer",fax:"2022259048"},{first_name:"Jacky",last_name:"Rosen",fax:"2022252185"},{first_name:"Brian",last_name:"Fitzpatrick",fax:"2022259511"},{first_name:"Lloyd",last_name:"Smucker",fax:"2022252013"}
14,{first_name:"Jenniffer",last_name:"González-Colón",fax:"2022252154"},{first_name:"David",last_name:"Kustoff",fax:"2022251765"},{first_name:"Vicente",last_name:"Gonzalez",fax:"2022255688"},{first_name:"Jodey",last_name:"Arrington",fax:"2022259615"},{first_name:"A.",last_name:"McEachin",fax:"2022261170"},{first_name:"Pramila",last_name:"Jayapal",fax:"2022256197"},{first_name:"Mike",last_name:"Gallagher",fax:"2022255729"},{first_name:"Liz",last_name:"Cheney",fax:"2022253057"},{first_name:"Ron",last_name:"Estes",fax:"2022253489"},{first_name:"Ralph",last_name:"Norman",fax:"2022250464"},{first_name:"Jimmy",last_name:"Gomez",fax:"2134811427"},{first_name:"John",last_name:"Curtis",fax:"2022255629"},{first_name:"Doug",last_name:"Jones",fax:"2022243149"},{first_name:"Tina",last_name:"Smith",fax:"2022240044"},{first_name:"Cindy",last_name:"Hyde-Smith",fax:"2022245321"},{first_name:"Conor",last_name:"Lamb",fax:"2022251844" 15},{first_name:"Debbie",last_name:"Lesko",fax:"6237767832"},{first_name:"Michael",last_name:"Cloud",fax:"2022261134"},{first_name:"Troy",last_name:"Balderson",fax:"2022264523"},{first_name:"Kevin",last_name:"Hern",fax:"2022259187"},{first_name:"Joseph",last_name:"Morelle",fax:"5852321954"},{first_name:"Mary",last_name:"Scanlon",fax:"6106262380"},{first_name:"Susan",last_name:"Wild",fax:"8773474103"},{first_name:"Ed",last_name:"Case",fax:"2022250688"},{first_name:"Steven",last_name:"Horsford",fax:"2022259783"},{first_name:"Greg",last_name:"Stanton",fax:"2022259731"},{first_name:"Josh",last_name:"Harder",fax:"2022253402"},{first_name:"TJ",last_name:"Cox",fax:"8332849090"},{first_name:"Gilbert",last_name:"Cisneros",fax:"2022250335"},{first_name:"Katie",last_name:"Porter",fax:"2022259177"},{first_name:"Harley",last_name:"Rouda",fax:"2022262263"},{first_name:"Mike",last_name:"Levin",fax:"2022253303"},{first_name:"Joe",last_name:"Neguse",fax:"2022267840"},{first_name:"Jason",last_name:"Crow",fax:"2022264623"},{first_name:"Jahana",last_name:"Hayes",fax:"8602257289"},{first_name:"Michael",last_name:"Waltz",fax:"3862835164"},{first_name:"Ross",last_name:"Spano",fax:"2022260585"},{first_name:"W.",last_name:"Stuebe",fax:"2022253132"},{first_name:"Debbie",last_name:"Mucarsel-Powell",fax:"2022260346"},{first_name:"Donna",last_name:"Shalala",fax:"2022255620"},{first_name:"Lucy",last_name:"McBath",fax:"2022254656"},{first_name:"Michael",last_name:"San Nicolas",fax:"2022260341"},{first_name:"Abby",last_name:"Finkenauer",fax:"2022256666"},{first_name:"Cynthia",last_name:"Axne",fax:"2022253301"},{first_name:"Russ",last_name:"Fulcher",fax:"2022253029"},{first_name:"Jesús",last_name:"GarcÃa",fax:"2022257810"},{first_name:"Sean",last_name:"Casten",fax:"2022251166"},{first_name:"Lauren",last_name:"Underwood",fax:"2022250697"},{first_name:"James",last_name:"Baird",fax:"2022260544"},{first_name:"Greg",last_name:"Pence",fax:"7652167993"},{first_name:"Steven",last_name:"Watkins",fax:"2022257986"},{first_name:"Sharice",last_name:"Davids",fax:"2022252807"},{first_name:"Lori",last_name:"Trahan",fax:"2022260771"},{first_name:"Ayanna",last_name:"Pressley",fax:"2022259322"},{first_name:"David",last_name:"Trone",fax:"2022252193"},{first_name:"Elissa",last_name:"Slotkin",fax:"8442394485"},{first_name:"Andy",last_name:"Levin",fax:"2022261033"},{first_name:"Haley",last_name:"Stevens",fax:"2022252667"},{first_name:"Rashida",last_name:"Tlaib",fax:"2022250072"},{first_name:"Jim",last_name:"Hagedorn",fax:"2022253433"},{first_name:"Angie",last_name:"Craig",fax:"2022252595"},{first_name:"Dean",last_name:"Phillips",fax:"2022256351"},{first_name:"Ilhan",last_name:"Omar",fax:"2022254886"},{first_name:"Pete",last_name:"Stauber",fax:"2022250699"},{first_name:"Michael",last_name:"Guest",fax:"2022255797"},{first_name:"Kelly",last_name:"Armstrong",fax:"2022260893"},{first_name:"Chris",last_name:"Pappas",fax:"2022255822"},{first_name:"Jefferson",last_name:"Van Drew",fax:"2022253318"},{first_name:"Andy",last_name:"Kim",fax:"2022250778"},{first_name:"Tom",last_name:"Malinowski",fax:"2022259460"},{first_name:"Mikie",last_name:"Sherrill",fax:"2022253186"},{first_name:"Debra",last_name:"Haaland",fax:"2022254975"},{first_name:"Xochitl",last_name:"Torres Small",fax:"2022259599"},{first_name:"Susie",last_name:"Lee",fax:"2022252185"},{first_name:"Max",last_name:"Rose",fax:"2022261272"},{first_name:"Alexandria",last_name:"Ocasio-Cortez",fax:"2022251909"},{first_name:"Antonio",last_name:"Delgado",fax:"2022251168"},{first_name:"Anthony",last_name:"Brindisi",fax:"2022251891"},{first_name:"Anthony",last_name:"Gonzalez",fax:"2022253059"},{first_name:"Kendra",last_name:"Horn",fax:"2022261463"},{first_name:"Madeleine",last_name:"Dean",fax:"6102751759"},{first_name:"Chrissy",last_name:"Houlahan",fax:"2022258440"},{first_name:"Daniel",last_name:"Meuser",fax:"2022252486"},{first_name:"John",last_name:"Joyce",fax:"2022252486"},{first_name:"Guy",last_name:"Reschenthaler",fax:"2022253084"},{first_name:"Joe",last_name:"Cunningham",fax:"2022253407"},{first_name:"William",last_name:"Timmons",fax:"2022261177"},{first_name:"Dusty",last_name:"Johnson",fax:"2022255823"},{first_name:"Tim",last_name:"Burchett",fax:"2022256440"},{first_name:"John",last_name:"Rose",fax:"2022256887"},{first_name:"Mark",last_name:"Green",fax:"2022253004"},{first_name:"Dan",last_name:"Crenshaw",fax:"2022255547"},{first_name:"Van",last_name:"Taylor",fax:"2022251485"},{first_name:"Lance",last_name:"Gooden",fax:"2022264888"},{first_name:"Ron",last_name:"Wright",fax:"2022253052"},{first_name:"Lizzie",last_name:"Fletcher",fax:"2022254381"},{first_name:"Veronica",last_name:"Escobar",fax:"2022252016"},{first_name:"Chip",last_name:"Roy",fax:"2022258628"},{first_name:"Sylvia",last_name:"Garcia",fax:"2022259903"},{first_name:"Colin",last_name:"Allred",fax:"2022255878"},{first_name:"Ben",last_name:"McAdams",fax:"2022255638"},{first_name:"Elaine",last_name:"Luria",fax:"2022254218"},{first_name:"Denver",last_name:"Riggleman",fax:"2022255681"},{first_name:"Ben",last_name:"Cline",fax:"2022259681"},{first_name:"Abigail",last_name:"Spanberger",fax:"2022250011"},{first_name:"Jennifer",last_name:"Wexton",fax:"2022250437"},{first_name:"Kim",last_name:"Schrier",fax:"2022254282"},{first_name:"Bryan",last_name:"Steil",fax:"2022253393"},{first_name:"Carol",last_name:"Miller",fax:"2022259061"},{first_name:"Rick",last_name:"Scott",fax:"2022280104"},{first_name:"Mike",last_name:"Braun",fax:"2022245011"},{first_name:"Joshua",last_name:"Hawley",fax:"2022280526"},{first_name:"Mitt",last_name:"Romney",fax:"2022280836"},{first_name:"Jared",last_name:"Golden",fax:"2022252943"},{first_name:"Fred",last_name:"Keller",fax:"7177822887"},{first_name:"Dan",last_name:"Bishop",fax:"2022253389"},{first_name:"Gregory",last_name:"Murphy",fax:"2022253286"},{first_name:"Kelly",last_name:"Loeffler",fax:"2022280724"},{first_name:"Kweisi",last_name:"Mfume",fax:"2022253178"},{first_name:"Thomas",last_name:"Tiffany",fax:"2022253240"},{first_name:"Mike",last_name:"Garcia",fax:"2022260683"}],h=[{full_name:"Bill de Blasio",fax:"2124063587"},{full_name:"Eric Garcetti",fax:"2139780656"},{full_name:"Lori Lightfoot",fax:"3127448045"},{full_name:"Sylvester Turner",fax:"8323931084"},{full_name:"Kate Gallego",fax:"6024955583"},{full_name:"Jim Kenney",fax:"2156861910"},{full_name:"Ron Nirenberg",fax:"2102074168"},{full_name:"Kevin Faulconer",fax:"6192367228"},{full_name:"Eric Johnson",fax:"2146700646"},{full_name:"Sam Liccardo",fax:"4082926207"},{full_name:"Jacob Frey",fax:"6126732305"}];return{get:function(){return d||(d=!0,a(e,{},{retrieve:{method:"GET",isArray:!0}}).retrieve(function(a){var b=[];_.each(a,function(a){var c={};if(c.name=a.name.official_full,_.each(a.terms,function(a){a.fax&&(c.fax=a.fax)}),!c.fax){var d=_.findWhere(g,{first_name:a.name.first,last_name:a.name.last});d&&(c.fax=d.fax)}b.push(c)}),_.each(h,function(a){b.push({name:a.full_name,fax:a.fax})}),f.resolve(b)})),f.promise}}}]),angular.module("ua5App").factory("popup",[function(){function a(a,b,c){var d,e,f,g;return g=b||600,d=c||600,e=window.screen.width/2-(g/2+10),f=window.screen.height/2-(d/2+50),window.open(a,"Window2","status=no,height="+d+",width="+g+",resizable=yes,left="+e+",top="+f+",screenX="+e+",screenY="+f+",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no"),!1}return{show:a}}]),angular.module("ua5App").factory("preloader",["$q","$rootScope",function(a,b){function c(b){this.imageLocations=b,this.imageCount=this.imageLocations.length,this.loadCount=0,this.errorCount=0,this.states={PENDING:1,LOADING:2,RESOLVED:3,REJECTED:4},this.state=this.states.PENDING,this.deferred=a.defer(),this.promise=this.deferred.promise}return c.preloadImages=function(a){var b=new c(a);return b.load()},c.prototype={constructor:c,isInitiated:function(){return this.state!==this.states.PENDING},isRejected:function(){return this.state===this.states.REJECTED},isResolved:function(){return this.state===this.states.RESOLVED},load:function(){if(this.isInitiated())return this.promise;this.state=this.states.LOADING;
15for(var a=0;a<this.imageCount;a++)this.loadImageLocation(this.imageLocations[a]);return this.promise},handleImageError:function(a){this.errorCount++,this.isRejected()||(this.state=this.states.REJECTED,this.deferred.reject(a))},handleImageLoad:function(a){this.loadCount++,this.isRejected()||(this.deferred.notify({percent:Math.ceil(this.loadCount/this.imageCount*100),imageLocation:a}),this.loadCount===this.imageCount&&(this.state=this.states.RESOLVED,this.deferred.resolve(this.imageLocations)))},loadImageLocation:function(a){var c=this,d=$(new Image).on("load",function(a){b.$apply(function(){c.handleImageLoad(a.target.src),c=d=a=null})}).prop("src",a)}},c}]),angular.module("ua5App.about").config(["$stateProvider","$urlRouterProvider",function(a,b){a.state("about",{url:"/about",templateUrl:"states/about/about.html",controller:"aboutCtrl",controllerAs:"ctrl"})}]).controller("aboutCtrl",["$scope","$timeout",function(a,b){function c(){var a=$("[data-image-tilt]");_.each(a,function(a,b){var c,d,e,f,g,h=$(a),i=b%2;switch(i){case 0:c="100%",d="-100%",e=2,f=100;break;case 1:c="50%",d="-50%",e=-2,f=120}!Modernizr.touch||window.innerWidth>=900?(g={left:c,rotation:e,top:f,x:d||0},TweenMax.set(h,_.clone(g))):TweenMax.set(h,{rotation:Math.random()<.5?5:-5})})}b(c)}]),angular.module("ua5App.contribute").config(["$stateProvider","$urlRouterProvider",function(a,b){a.state("contribute",{url:"/contribute",templateUrl:"states/contribute/contribute.html",controller:"contributeCtrl",controllerAs:"ctrl"})}]).controller("contributeCtrl",[function(){}]),angular.module("ua5App.home").config(["$stateProvider","$urlRouterProvider",function(a,b){b.when("","/"),b.otherwise("/"),a.state("home",{url:"/",templateUrl:"states/home/home.html",controller:"HomeCtrl",controllerAs:"ctrl",resolve:{artworks:["ArtworksFactory",function(a){return a.get().then(function(a){return a})}],legislators:["LegislatorsFactory",function(a){return a.get().then(function(a){return a})}]}})}]).controller("HomeCtrl",["$rootScope","artworks","$scope","$timeout","preloader","legislators",function(a,b,c,d,e,f){function g(){m=0===l?a.artworks.length-1:l-1,o=l===a.artworks.length-1?0:l+1,c.prevFaxArtwork=a.artworks[m],c.nextFaxArtwork=a.artworks[o]}function h(){c.loadingArtwork=!1,j=$(".home__artworks"),i=$(".artwork"),k=$(".home__artworks__list"),_.each(i,function(b,d){var e,f,h,i,k=$(b),m=d%3;switch(m){case 0:e="5%",f=0,h=-15,p+=700;break;case 1:e="50%",f="-50%",h=Math.random()<.5?-10:10,p+=300;break;case 2:e="95%",f="-100%",h=15,p-=200}p>q&&(q=p),!Modernizr.touch||window.innerWidth>=900?(i={left:e,rotation:h,top:p,x:f||0},a.artworks[d].tweenObj=i,a.artworks[d].$el=k,TweenMax.set(k,_.clone(i)),k.hover(function(){TweenMax.to(k,.3,{rotation:0})},function(){TweenMax.to(k,.3,{rotation:i.rotation})}),j.css({height:q+700})):TweenMax.set(k,{rotation:Math.random()<.5?5:-5}),k.on("click",function(){l=d,c.faxArtwork=a.artworks[d],g(),a.preparingFax=!0,a.selectingArtwork=!0,a.$apply()})}),Modernizr.touch&&window.innerWidth<900&&k.slick({arrows:!1}
15),$("body").keydown(function(b){c.faxArtwork&&(37===b.keyCode&&a.selectingArtwork?c.changeArtwork(!1):39===b.keyCode&&a.selectingArtwork?c.changeArtwork(!0):27===b.keyCode&&c.exitFax(),c.$apply())})}var i,j,k;a.LEGISLATORS=f;var l,m,n,o,p=-500,q=p;a.artworks=b,c.artworksList=a.artworks,c.faxArtwork=null,a.preparingFax=!1,c.exitFax=function(){$(".fax__form__step").scrollTop(0),a.preparingFax=!1,a.selectingArtwork=!1,c.faxArtwork=null},c.changeArtwork=function(b){l=b?l===a.artworks.length-1?0:l+1:0===l?a.artworks.length-1:l-1,c.faxArtwork=a.artworks[l],g()},c.artists=_.uniq(_.map(b,function(a){return{name:a.artist,url:a.website}}),!1,function(a){return a.name}),n=_.map(b,function(a){return a.image}),thumbs=_.map(b,function(a){return a.image_small}),c.loadingArtwork=!0,e.preloadImages(thumbs).then(h)}]),angular.module("ua5App.terms").config(["$stateProvider","$urlRouterProvider",function(a,b){a.state("terms",{url:"/terms",templateUrl:"states/terms/terms.html",controller:"termsCtrl",controllerAs:"ctrl",resolve:{terms:["$http",function(a){return a.get("/data/terms.json")}],privacy:["$http",function(a){return a.get("/data/privacy.json")}]}})}]).controller("termsCtrl",["$rootScope","$scope","terms","privacy",function(a,b,c,d){a.introDismissed=!0,b.terms=c&&c.data?c.data.terms:null,b.privacy=d&&d.data?d.data.privacy:null}]),angular.module("ua5Templates").run(["$templateCache",function(a){"use strict";a.put("components/artwork/artwork.html",'<div\n class="artwork"\n analytics-on analytics-event="click"\n analytics-category="artwork"\n analytics-label="{{artworkData.artist}}"\n ng-class="{\'preparing-fax\': artworkData.preparingFax}">\n <div class="artwork__image">\n <img ng-src="{{artworkData.image_small}}">\n </div>\n\t<div class="artwork__page">\n <div class="artwork__page__placeholder header">\n <div class="artwork__page__placeholder__line"></div><div class="artwork__page__placeholder__line"></div><div class="artwork__page__placeholder__line"></div>\n </div>\n <div class="artwork__page__placeholder-image"></div>\n <div class="artwork__page__placeholder body">\n <div class="artwork__page__placeholder__line"></div><div class="artwork__page__placeholder__line"></div><div class="artwork__page__placeholder__line"></div><div class="artwork__page__placeholder__line"></div><div class="artwork__page__placeholder__line"></div><div class="artwork__page__placeholder__line"></div>\n </div>\n <div class="artwork__page__placeholder footer-artwork">\n <div class="artwork__page__placeholder__line"></div><div class="artwork__page__placeholder__line"></div>\n </div>\n </div>\n <div class="artwork__info">\n <div class="artwork__info__title">\n <span ng-bind="artworkData.title"></span> <span class="artwork__info__new" ng-if="artworkData.new">New</span>\n </div>\n <div\n class="artwork__info__artist"\n ng-bind="artworkData.artist">\n </div>\n </div>\n</div>\n'),a.put("components/contact-form/contact-form.html",'<form\n class="contact-form"\n ng-submit="formSubmit(model)"\n name="contactForm">\n\t<div class="contact-form__title">\n Got questions or comments?\n </div>\n <div class="contact-form__name-inputs">\n <input\n class="contact-form__input name"\n type="text"\n id="name"\n name="name"\n placeholder="Name*"\n ng-model="model.name"\n data-form-field\n required>\n <input\n class="contact-form__input email"\n type="email"\n id="email"\n name="email"\n placeholder="Email*"\n ng-pattern="/^[a-zA-Z0-9.!#$%&â*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/"\n ng-init="emailFocus=false"\n ng-focus="emailFocus=true"\n ng-blur="emailFocus=false"\n ng-class="{\'error\': contactForm.email.$error.email && !emailFocus}"\n ng-model="model.email"\n data-form-field\n required>\n </div>\n <div class="contact-form__field contact-form__field-message">\n <textarea\n id="message"\n name="message"\n placeholder="Message*"\n class="contact-form__textarea"\n ng-model="model.message"\n rows=6\n data-form-field\n msd-elastic\n required>\n </textarea>\n </div>\n <div class="contact-form__submit-wrapper">\n <input\n type="submit"\n value="Submit"\n class="contact-form__submit"\n ng-disabled="contactForm.$invali
15d || disableButton">\n </div>\n <div\n class="contact-form__error"\n ng-if="formSubmitError"\n ng-bind-html="formSubmitError">\n </div>\n</form>\n<div class="contact-form__succcess">\n <div class="contact-form__succcess__header">\n <div\n class="contact-form__succcess__checkmark"\n ng-include="\'assets/images/checkmark.svg\'">\n </div>\n <div>Thank You!</div>\n </div>\n <div class="contact-form__succcess__subheader">\n We\'ve received your message.\n </div>\n</div>\n'),a.put("components/contribute-form/contribute-form.html",'<form\n class="contribute-form"\n ng-submit="uploadMedia(model, file)"\n enctype="multipart/form-data"\n name="contributeForm">\n <div class="contribute-form__name-inputs">\n <input\n class="contribute-form__input name"\n type="text"\n id="name"\n name="name"\n placeholder="Name*"\n ng-model="model.name"\n data-form-field\n required>\n <input\n class="contribute-form__input email"\n type="email"\n id="email"\n name="email"\n placeholder="Email*"\n ng-pattern="/^[a-zA-Z0-9.!#$%&â*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/"\n ng-init="emailFocus=false"\n ng-focus="emailFocus=true"\n ng-blur="emailFocus=false"\n ng-class="{\'error\': contributeForm.email.$error.email && !emailFocus}"\n ng-model="model.email"\n data-form-field\n required>\n </div>\n <input\n class="contribute-form__input title"\n type="text"\n id="title"\n name="title"\n placeholder="Title of Artwork*"\n ng-model="model.title"\n data-form-field\n required>\n <div class="contribute-form__field contribute-form__field-artwork">\n <div class="contribute-form__field-artwork-label">\n <span>Artwork Specifications</span>\n <span>JPG file / 8.5 x 6.5 in / 300dpi / Black and White</span>\n </div>\n <div\n class="contribute-form__field__upload"\n name="file"\n ngf-select=""\n ngf-drop=""\n ng-model="file"\n ngf-max-files="1"\n ngf-accept="\'image/jpeg,image/jpg\'"\n ngf-validate-fn="mediaValidate($file)"\n ngf-fix-orientation="true"\n required>\n <span class="contribute-form__field__upload__title">\n Drop Image Here\n <div\n ng-if="mediaFileError"\n class="contribute-form__field__upload__file__error"\n ng-bind-html="mediaFileError">\n </div>\n </span>\n <div\n class="contribute-form__field__upload__thumbnail"\n ngf-thumbnail="file"\n ngf-as-background="true">\n </div>\n </div>\n </div>\n <div class="contribute-form__field contribute-form__field-terms">\n <div\n class="contribute-form__field-radio"\n ng-class="{agreed: agreed}"\n ng-click="agreeToTerms()"\n ng-include="\'assets/images/checkmark.svg\'">\n </div>\n <div class="contribute-form__radio-label">I agree to the <a ui-sref="terms" target="_black">terms of service</a></div>\n </div>\n <div class="contribute-form__submit-wrapper">\n <input\n type="submit"\n value="Submit Your Artwork"\n class="contribute-form__submit"\n ng-disabled="contributeForm.$invalid || !agreed || disableButton">\n </div>\n <div\n class="contribute-form__error"\n ng-if="formSubmitError"\n ng-bind-html="formSubmitError">\n </div>\n</form>\n<div class="contribute-form__succcess">\n <div class="contribute-form__succcess__header">\n <div\n class="contribute-form__field-radio"\n ng-include="\'assets/images/checkmark.svg\'">\n </div>\n <div>Thank You!</div>\n </div>\n <div class="contribute-form__succcess__subheader">\n We\'ve received your contribution.\n </div>\n</div>\n'),a.put("components/fax-generator/fax-generator.html",'<!-- width: 80%; position: absolute; z-index: 1000 -->
15\n<canvas id="fax-canvas" class="canvas" width="1275" height="1650"></canvas>\n'),a.put("components/fax-page/fax-page.html",'<div class="fax-page">\n <div class="fax-page__header">\n <div class="fax-page__slogan">\n {{title}}\n </div>\n <div class="fax-page__title">\n <p class="fax-page__header__key">\n Title of artwork:\n </p>\n <p\n class="fax-page__header__value"\n ng-bind="faxArtwork.title">\n </p>\n </div>\n <div class="fax-page__artist">\n <p class="fax-page__header__key">\n Artwork by:\n </p>\n <p\n class="fax-page__header__value"\n ng-bind="faxArtwork.artist">\n </p>\n </div>\n </div>\n <div class="fax-page__artwork">\n <img ng-src="{{faxArtwork.image}}">\n </div>\n <div class="fax-page__body">\n <div class="fax-page__message">\n <p class="fax-page__message__salutation">\n Dear <span ng-bind="selectedRepresentative.prefix"></span> <span ng-bind="selectedRepresentative.name"></span>,\n </p>\n <p\n class="fax-page__message__body"\n ng-bind="message">\n </p>\n <p class="fax-page__message__closing">Sincerely,</p>\n </div>\n <div class="fax-page__footer">\n <div class="fax-page__signature">\n <img\n class="fax-page__signature__image"\n ng-src="{{signatureImage}}">\n <div\n class="fax-page__registration"\n ng-if="registered">\n <p>\n I am registered to vote\n </p>\n </div>\n </div>\n <div class="fax-page__sender">\n <p class="fax-page__sender__name">\n <span ng-bind="name.first"></span> <span ng-bind="name.last"></span> <span ng-bind="date"></span>\n </p>\n <p\n class="fax-page__sender__zipcode"\n ng-bind="address">\n </p>\n </div>\n </div>\n </div>\n</div>\n'),a.put("components/fax/fax.html",'<div\n class="fax {{stage}}"\n ng-class="{\'first-step\': stepIndex === 0, \'last-step\': stepIndex === steps.length - 1}">\n <div\n class="fax__exit"\n ng-click="exitFax()">\n <span></span>\n <span></span>\n </div>\n <div class="fax__inner">\n <div\n class="fax__form"\n ng-class="{returning: returningToForm}">\n <div\n class="fax__form__back"\n ng-click="changeStep(false)">\n <div\n class="fax__back__arrow"\n ng-include="\'assets/images/up-arrow.svg\'">\n </div>\n <div class="fax__back__text">Back</div>\n </div>\n <div class="fax__form__steps step--{{formStep.number}}">\n <div\n class="fax__form__step fax__form__step--1 artwork-info"\n ng-class="{current: formStep.number === 1, prev: formStep.number > 1}">\n <div class="fax__form__step-header outside">\n <div class="fax__form__step-header__number">\n Step 1 of 6\n </div>\n <div\n class="fax__form__step-header__title"\n ng-bind="steps[0].title">\n </div>\n </div>\n <div class="fax__form__step__component">\n <div class="fax__artwork">\n <button\n analytics-on analytics-event="click"\n analytics-category="step1"\n analytics-category="Next: Top Find Your Elected Official CTA"\n class="fax__form__continue__button fax__form__continue__button--top"\n ng-click="changeStep(true)"\n ng-disabled="!stepValid">
15Select this Artwork\n </button>\n <img ng-src="{{faxArtwork.image}}">\n <div\n class="fax__artwork__mobile-toggle back"\n ng-include="\'assets/images/carat-arrow.svg\'"\n ng-click="prevArtwork()">\n </div>\n <div\n class="fax__artwork__mobile-toggle forward"\n ng-include="\'assets/images/carat-arrow.svg\'"\n ng-click="nextArtwork()">\n </div>\n </div>\n <div\n class="fax__artwork__title"\n ng-bind="faxArtwork.title"></div>\n <div class="fax__artwork__artist">\n by <a\n ng-if="faxArtwork.website"\n ng-bind="faxArtwork.artist"\n href="{{faxArtwork.website}}"\n target="blank_"></a>\n <span ng-if="!faxArtwork.website" ng-bind="faxArtwork.artist"></span>\n </div>\n <div\n class="fax__artwork__subartists"\n ng-if="faxArtwork.subartists"\n ng-bind="faxArtwork.subartists">\n </div>\n </div>\n <div class="fax__form__continue">\n <button\n analytics-on analytics-event="click"\n analytics-category="step1"\n analytics-category="Next: Find Your Elected Official CTA"\n class="fax__form__continue__button"\n ng-click="changeStep(true)"\n ng-disabled="!stepValid"\n ng-bind="steps[0].continueText">\n </button>\n </div>\n </div>\n <div\n class="fax__form__step fax__form__step--2 zipcode"\n ng-class="{current: formStep.number === 2, prev: formStep.number > 2, next: formStep.number < 2}">\n <div class="fax__form__step-header">\n <div class="fax__form__step-header__number">\n Step 2 of 6\n </div>\n <div\n class="fax__form__step-header__title"\n ng-bind="steps[1].title">\n </div>\n </div>\n <div class="fax__form__step__component">\n <div class="fax__form__explanation">\n Enter your full address and zip code to find your elected officials. Including your address will verify that you are a constituent to your representative.\n </div>\n <div class="fax__form__zipcode">\n <input\n class="fax__form__zipcode__input"\n data-auto-focus\n type="text"\n ng-focus="faxAddressFocus()"\n id="address"\n name="zipcode"\n placeholder="Your full address"\n autocomplete="new-password"\n ng-model="zipcode">\n <div\n class="fax__form__zipcode__invalid"\n ng-class="{visible: !validZip}">\n Please enter a valid address\n </div>\n </div>\n </div>\n <div class="fax__form__continue">\n <button\n analytics-on analytics-event="click"\n analytics-category="step2"\n analytics-label="select official cta"\n class="fax__form__continue__button"\n ng-click="changeStep(true)"\n ng-bind="steps[1].continueText">\n </button>\n </div>\n </div>\n <div\n class="fax__form__step fax__form__step--3 representative"\n ng-class="{current: formStep.number === 3, prev: formStep.number > 3, next: formStep.number < 3}">\n <div class="fax__form__step-header">\n <div class="fax__form__step-header__number">\n Step 3 of 6\n </div>\n <div\n class="fax__form__step-header__title"\n ng-bind="steps[2].title">\n </div>\n </div>\n <div class="fax__form__step__component">\n <div class="fax__form__representative__zipcode">
15\n <span ng-bind="address"></span>\n <a ng-click="changeStep(false)">Change</a>\n </div>\n <div class="fax__form__explanation">\n Below is a list of your stateâs Senators and Representatives within your area.\n </div>\n <div\n class="fax__form__representative__list"\n ng-class="{\'representative-selected\': !!selectedRepresentative}">\n <div\n class="fax__form__representative__person"\n ng-class="{selected: representative === selectedRepresentative}"\n analytics-on analytics-event="click"\n analytics-category="step3"\n analytics-label="select rep: {{representative.name}}"\n ng-repeat="representative in representatives"\n ng-click="setRepresentative(representative)">\n <div\n class="fax__form__representative__person__photo"\n ng-style={\'background-image\':\'url({{representative.image}})\'}>\n </div>\n <div class="fax__form__representative__person__info">\n <div\n class="fax__form__representative__person__checkmark"\n ng-include="\'assets/images/checkmark.svg\'">\n </div>\n <div\n class="fax__form__representative__person__info__name"\n ng-bind="representative.name">\n </div>\n <div\n class="fax__form__representative__person__info__title"\n ng-bind="representative.title">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="fax__form__continue">\n <button\n class="fax__form__continue__button"\n analytics-on analytics-event="click"\n analytics-category="step3"\n analytics-label="confirm status"\n ng-click="changeStep(true)"\n ng-disabled="!stepValid"\n ng-bind="steps[2].continueText">\n </button>\n </div>\n </div>\n <div\n class="fax__form__step fax__form__step--4 registration"\n ng-class="{current: formStep.number === 4, prev: formStep.number > 4, next: formStep.number < 4}">\n <div class="fax__form__step-header">\n <div class="fax__form__step-header__number">\n Step 4 of 6\n </div>\n <div\n class="fax__form__step-header__title"\n ng-bind="steps[3].title">\n </div>\n </div>\n <div class="fax__form__step__component">\n <div class="fax__form__explanation">\n Knowing your registration status helps your elected official confirm that you are a valued constituent.\n </div>\n <div\n class="fax__form__registration__options"\n ng-class="{\'option-selected\': registered !== undefined}">\n <div\n class="fax__form__registration__option"\n ng-class="{selected: registered === true}">\n <div\n class="fax__form__registration__option__radio"\n analytics-on analytics-event="click"\n analytics-category="step4"\n analytics-label="registered voter"\n ng-click="setRegistration(true)">\n <div\n class="fax__form__registration__option__radio__inner"\n ng-include="\'assets/images/checkmark.svg\'">\n </div>\n </div>\n <div ng-click="setRegistration(true)" class="fax__form__registration__option__description">\n Yes, Iâm a registered voter!\n </div>\n </div>\n <div\n class="fax__form__registration__option"\n ng-class="{selected: registered === false}">\n <div\n analytics-on analytics-event="click"\n analytics-category="step4"\n analytics-label="not registered voter"\n class="fax__form__registration__option__radio"\n ng-click="setRegistration(false)">\n <div\n class="fax__form__registration__option__radio__inner"\n ng-include="\'assets/images/checkmark.svg\'">\n </div>\n </div>\n <div class="fax__form__registration__option__description">\n <div ng-click="setRegistration(false)">No, Iâm not a registered voter</div>\n <a\n class="fax__form__registration__option__link"\n href="https://www.vote.org/am-i-registered-to-vote/"\n target="_blank">\n Find out if youâre registered\n </a>\n </div>\n </div>\n </div>\n </div>\n <div class="fax__form__continue">\n <button\n analytics-on analytics-event="click"\n analytics-category="step4"\n analytics-label="Next: Write Your Message"\n class="fax__form__continue__button"\n ng-click="changeStep(true)"\n ng-disabled="!stepValid"\n ng-bind="steps[3].continueText">\n </button>\n </div>\n </div>\n <div\n class="fax__form__step fax__form__step--5 message"\n ng-class="{current: formStep.number === 5, prev: formStep.number > 5, next: formStep.number < 5}">\n <div class="fax__form__step-header">\n <div class="fax__form__step-header__number">\n Step 5 of 6\n </div>\n <div\n class="fax__form__step-header__title"\n ng-bind="steps[4].title">\n </div>\n </div>\n <div class="fax__form__step__component">\n <div class="fax__form__explanation">\n Congress works for YOU! If there is a policy you support or oppose, let your congressperson know.\n <p>Or - select from one of our pre-filled topics:</p>\n <select ng-model="selectedItem" ng-change="selectPrefilled()">\n <option ng-repeat="(index, option) in prefilledMessages" value="{{index}}">{{option.name}}</option>\n </select>\n </div>\n <div class="fax__form__message">\n <label for="subject">Subject:</label>\n <input\n id="subject"\n class="fax__form__title"\n type="text"\n maxlength="60"\n ng-model="title"\n placeholder="Subject">\n <div class="fax__form__message__salutation">\n Dear <span ng-bind="selectedRepresentative.prefix"></span> <span ng-bind="selectedRepresentative.name"></span>,\n </div>\n <textarea\n class="fax__form__message__textarea"\n placeholder="Here are some suggestions your fax:\nKeep the fax short, focused, direct and polite\nMake your position explicit from the beginning. What bill or issue are you concerned about, and should your congressperson support or oppose it?\nExplain why you support or oppose the issue\nIf you are a constituent, let them know. Do not lie about being a constituent, as this can diminish the effect of actual constituent communication"\n ng-model="message"\n ng-keydown="countMessageWords($event)"\n ng-keyup="countMessageWords($event)"\n rows=10\n msd-elastic>\n </textarea>\n <div class="fax__form__message__inner">\n <div class="fax__form__message__clear-info">\n <div\n class="fax__form__message__wordcount"\n ng-class="{visible: messageWordCount > 0, max: wordLimitReached}">\n (<span ng-bind="messageWordCount"></span>)\n </div>\n <div\n class="fax__form__message__clear"\n ng-class="{visible: messageWordCount > 0}"\n ng-click="clearMessage()">\n Clear\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="fax__form__continue">\n <button\n analytics-on analytics-event="click"\n analytics-category="step5"\n analytics-label="Next: Add Your Name & Sign!"\n class="fax__form__continue__button"\n ng-click="changeStep(true)"\n ng-disabled="!stepValid"\n ng-bind="steps[4].continueText">\n </button>\n </div>\n </div>\n <div\n class="fax__form__step fax__form__step--6 signature"\n ng-class="{current: formStep.number === 6, next: formStep.number < 6}">\n <div class="fax__form__step-header">\n <div class="fax__form__step-header__number">\n Step 6 of 6\n </div>\n <div\n class="fax__form__step-header__title"\n ng-bind="steps[5].title">\n </div>\n </div>\n <div class="fax__form__step__component">\n <div class="fax__form__explanation">\n Use your cursor to sign your name:\n </div>\n <div class="fax__form__signature">\n <div class="fax__form__signature__name">\n <input\n class="fax__form__signature__name__input"\n type="text"\n maxlength="40"\n name="first-name"\n placeholder="First Name"\n ng-model="name.first"\n ng-keyup="checkFullName()"\n ng-keydown="checkFullName()">\n <input\n class="fax__form__signature__name__input"\n type="text"\n maxlength="40"\n name="last-name"\n placeholder="Last Name"\n ng-model="name.last"\n ng-keyup="checkFullName()"\n ng-keydown="checkFullName()">\n </div>\n <div class="fax__form__signature__pad-wrapper">\n <div class="fax__form__signature__icon"></div>\n <canvas\n class="fax__form__signature__pad"\n width="100%"\n height="100%">\n </canvas>\n <div class="fax__form__signature__label">\n Your Signature\n </div>
15\n <span class="fax__form__signature__corner"></span>\n <span class="fax__form__signature__corner"></span>\n <span class="fax__form__signature__corner"></span>\n <span class="fax__form__signature__corner"></span>\n <div\n class="fax__form__signature__icon"\n ng-class="{hidden: signatureDrawn}"\n ng-include="\'assets/images/signature-pen.svg\'">\n </div>\n <div\n class="fax__form__signature__clear"\n ng-class="{visible: signatureDrawn}"\n ng-click="clearSignature()">\n <span></span>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n <div class="fax__form__continue outside">\n <button\n analytics-on analytics-event="click"\n analytics-category="step6"\n analytics-label="Next: Review & Send Your Fax"\n class="fax__form__continue__button"\n ng-click="changeStep(true)"\n ng-disabled="!stepValid"\n ng-bind="steps[5].continueText">\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class="fax__review">\n <div class="fax__review__inner">\n <div class="fax__review__header">\n Review & Send Your Fax\n </div>\n <div\n class="fax__review__page"\n fax-page>\n </div>\n <div class="fax__review__bottom">\n <div class="fax__review__edit">\n <a ng-click="returnToForm()">Edit Fax</a>\n </div>\n <div\n analytics-on analytics-event="click"\n analytics-category="agree to terms"\n analytics-label="{{faxArtwork.artist}}, {{selectedRepresentative.name}}"\n class="fax__review__agreement"\n ng-class="{agreed: agreed}"\n ng-click="agreeToTerms()">\n <div class="fax__review__agreement__radio">\n <div\n class="fax__review__agreement__radio__inner"\n ng-include="\'assets/images/checkmark.svg\'">\n </div>\n </div>\n <div class="fax__review__agreement__text">I agree to the <a href="/terms" target="_blank">terms of service</a></div>\n </div>\n <div class="fax__review__submit">\n <button\n analytics-on analytics-event="submit"\n analytics-category="success"\n analytics-label="{{faxArtwork.artist}}, {{selectedRepresentative.name}}"\n class="fax__review__submit__button"\n ng-click="submitFax()"\n ng-disabled="!agreed">\n Send Fax\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class="fax__confirmation">\n <div class="fax__confirmation__inner">\n <div class="fax__confirmation__stamp--mobile">\n <div ng-include="\'assets/images/fax-sent.svg\'"></div>\n </div>\n <div\n class="fax__confirmation__page"\n fax-page>\n </div>\n <div class="fax__confirmation__cta">\n <div class="fax__confirmation__cta__congrats">\n Congratulations!\n </div>\n <div class="fax__confirmation__cta__info">\n Your fax to <span ng-bind="selectedRepresentative.prefix"></span> <span ng-bind="selectedRepresentative.name"></span>
15 was sent at <span ng-bind="time"></span> on <span ng-bind="date"></span>.\n </div>\n <a\n class="fax__confirmation__cta__download"\n analytics-on analytics-event="click"\n analytics-category="download"\n analytics-label="{{faxArtwork.artist}}, {{selectedRepresentative.name}}"\n ng-click="download($event)">Download Your Fax</a>\n <div class="fax__confirmation__cta__share">\n <p>Share Artifax with your friends and family:</p>\n <div class="fax__confirmation__cta__share__outlets">\n <a\n class="fax__confirmation__cta__share__outlet twitter"\n share-tw\n share-tw-text="Let your voice be heard! Fax your elected representatives with #Artifax"\n share-tw-url="https://artifax.us/"\n ng-include="\'assets/images/twitter.svg\'">\n </a>\n <a\n class="fax__confirmation__cta__share__outlet facebook"\n share-fb\n share-fb-url="https://artifax.us/"\n ng-include="\'assets/images/facebook.svg\'">\n </a>\n <a\n share-e\n share-e-body="Fax%20your%20elected%20representatives%20and%20let%20them%20know%20your%20views%20with%20https%3A%2F%2Fartifax.us"\n share-e-subject="Let%20your%20voice%20be%20heard%21"\n class="fax__confirmation__cta__share__outlet email"\n ng-include="\'assets/images/email.svg\'">\n </a>\n </div>\n </div>\n <div class="fax__confirmation__cta__send-more">\n <button\n class="fax__confirmation__cta__send-more__button"\n analytics-on analytics-event="click"\n analytics-category="send another fax"\n analytics-label="{{faxArtwork.artist}}, {{selectedRepresentative.name}}"\n ng-click="exitFax()">\n Send Another Fax\n </button>\n </div>\n </div>\n <div class="fax__confirmation__stamp">\n <div ng-include="\'assets/images/fax-sent.svg\'"></div>\n </div>\n <div class="fax__confirmation__loader">\n <div class="fax__confirmation__loader__exclamations">\n <div class="fax__confirmation__loader__exclamation one">\n <div ng-include="\'assets/images/exclamation.svg\'"></div>\n </div>\n <div class="fax__confirmation__loader__exclamation two">\n <div ng-include="\'assets/images/exclamation.svg\'"></div>\n </div>\n <div class="fax__confirmation__loader__exclamation three">\n <div ng-include="\'assets/images/exclamation.svg\'"></div>\n </div>\n </div>\n <div class="fax__confirmation__loader__text">Faxing...</div>\n </div>\n </div>\n </div>\n <div\n class="fax__generator"\n fax-generator>\n </div>\n <canvas id="fax__canvas" width="1275" height="1650"></canvas>\n </div>\n</div>\n'), 16a.put("components/footer/footer.html",'<div class="footer">\n\t<div class="footer__inner">\n <div class="footer__social">\n <a\n class="footer__item"\n share-tw\n share-tw-text="Let your voice be heard! Fax your elected representatives with #Artifax"\n share-tw-url="https://artifax.us/"\n ng-include="\'assets/images/twitter.svg\'">\n </a>\n <a\n class="footer__item"\n share-fb\n share-fb-url="https://artifax.us/"\n ng-include="\'assets/images/facebook.svg\'">\n </a>\n <a\n class="footer__item"\n share-e\n share-e-body="Fax%20your%20elected%20representatives%20and%20let%20them%20know%20your%20views%20with%20https%3A%2F%2Fartifax.us"\n share-e-subject="Let%20your%20voice%20be%20heard%21"\n ng-include="\'assets/images/email.svg\'">\n </a>\n </div>
16\n <div class="footer__company">\n <span class="footer__company__text">Made by</span>\n <a\n class="footer__item footer__logo"\n href="http://useallfive.com"\n target="_blank"\n ng-mouseenter="showText()"\n ng-mouseleave="hideText()"\n ng-include="\'assets/images/UA5_Artifax_Hand.svg\'">\n </a>\n </div>\n </div>\n</div>\n'),a.put("components/intro/intro.html",'<div\n class="intro"\n ng-class="{dismissed: introDismissed, \'hide-intro\': hideIntro}">\n\t<div class="intro__exclamations">\n <div\n class="intro__exclamation one"\n ng-include="\'assets/images/exclamation.svg\'"\n onload="finishedLoading1()">\n </div>\n <div\n class="intro__exclamation two"\n ng-include="\'assets/images/exclamation.svg\'"\n onload="finishedLoading2()">\n </div>\n <div\n class="intro__exclamation three"\n ng-include="\'assets/images/exclamation.svg\'"\n onload="finishedLoading3()">\n </div>\n </div>\n</div>\n'),a.put("components/logo/logo.html",'<div\n class="logo"\n ng-class="{\'intro-showing\': !introDismissed}">\n <img width="100%" src="/assets/images/Artifax-Logo-july2018Update.png">\n</div>\n'),a.put("components/nav/nav.html",'<div class="nav">\n\t<a\n class="nav__link"\n ui-sref-active="active"\n ui-sref="about">\n About Artifax\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </a>\n <a\n class="nav__link"\n ui-sref-active="active"\n ui-sref="contribute">\n Contribute an Artwork\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </a>\n <a\n class="nav__link"\n href="https://useallfive.com"\n target="_blank">\n Organized by Use All Five\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </a>\n</div>\n<div\n class="nav-mobile"\n ng-class="{open: mobileNavOpen}">\n <div\n class="nav-mobile__toggle"\n ng-click="toggleMobileNav()">\n <span></span>\n <span></span>\n <span></span>\n </div>\n <div class="nav-mobile__body">\n <a\n class="nav-mobile__link"\n ui-sref="home"\n ui-sref-active="active"\n ng-click="mobileNavOpen = false">\n Home\n </a>\n <a\n class="nav-mobile__link"\n ui-sref="about"\n ui-sref-active="active"\n ng-click="mobileNavOpen = false">\n About Artifax\n </a>\n <a\n class="nav-mobile__link"\n href="https://www.arts.gov/partners/state-regional"\n target="_blank"\n ng-click="mobileNavOpen = false">\n Support Local Arts\n </a>\n </div>\n</div>\n'),a.put("components/ticker/ticker.html",'<div\n class="ticker"\n ng-class="{\'intro-dismissed\': introDismissed}">\n <div class="ticker__inner">\n \t<div class="ticker__messages">\n <div\n class="ticker__message"\n ng-repeat="message in messages">\n <div class="ticker__message__inner">\n <span class="ticker__message__leadin">\n Latest News\n </span>\n <span class="ticker__message__dash">\n </span>\n <span\n class="ticker__message__text"\n ng-bind-html="message">\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n'),a.put("index.unprocessed.html",'<!DOCTYPE html>\n<html\n class="no-js"\n ng-class="{\'intro-showing\': !introDismissed, \'preparing-fax\': preparingFax}"\n lang="en"\n data-ng-app="ua5App"\n ng-strict-di="true"\n data-ng-cloak\n data-app>\n <head>\n <meta charset="utf-8">\n <meta name="fragment" content="!">\n <base href="/">\n <!-- @if PRODUCTION=\'false\' -->
16\n <script src="bower_components/angular/angular.js"></script>\n <!-- @endif -->\n <link\n href="https://fonts.googleapis.com/css?family=Poppins:500"\n rel="stylesheet"\n type="text/css">\n <!-- @if TESTING=\'true\' -->\n <link\n href="_build/assets/css/app.css"\n rel="stylesheet"\n type="text/css">\n <!-- @endif -->\n <!-- @if TESTING=\'false\' -->\n <link\n href="assets/css/app.css?v=2"\n rel="stylesheet"\n type="text/css">\n <!-- @endif -->\n <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">\n <title ng-bind="ngMeta.title">\n Artifax â Take Action! Fax Congress with Art\n </title>\n <meta\n name="description"\n content="Let your voice be heard! Fax your elected representatives and let them know your views.">\n <meta\n property="og:description"\n content="Let your voice be heard! Fax your elected representatives and let them know your views.">\n <meta\n property="og:image"\n content="https://artifax.us/assets/images/artifax-social.jpg">\n <meta\n property="og:site_name"\n content="Artifax">\n <meta\n property="og:url"\n content="https://artifax.us">\n <meta\n property="og:type"\n content="website">\n <meta\n name="twitter:site"\n content="@useallfive">\n <meta\n name="twitter:card"\n content="summary_large_image">\n <meta\n property="twitter:description"\n content="Let your voice be heard! Fax your elected representatives and let them know your views.">\n <meta\n name="twitter:title"\n content="Artifax â Fax Congress with Art">\n <meta name="twitter:creator" content="@useallfive">\n <meta name="twitter:image" content="https://artifax.us/assets/images/artifax-social.jpg">\n\n <link\n href="assets/images/favicon.png"\n rel="icon"\n type="image/png">\n </head>\n <body ng-class="pageClass">\n <noscript>\n <div class="noscript">\n Please enable JavaScript on your browser or upgrade to <a href="http://www.google.com/chrome/" target="_blank">Google Chrome</a> to use Artifax.\n </div>\n </noscript>\n <!--<div fax-generator></div>-->\n <div\n class="index__intro"\n intro>\n </div>\n <a\n class="index__logo"\n ng-class="{\'intro-showing\': !introDismissed}"\n ui-sref="home"\n logo>\n </a>\n <!--<div-->\n <!--class="index__ticker"-->\n <!--ticker>-->\n </div>\n <div\n class="index__nav"\n nav>\n </div>\n <div\n ui-view\n class="index__view fade">\n </div>\n <div footer></div>\n <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB92j-FuwnfETYLvSWfeiKRJkJdfYsFNoY&libraries=places"></script>\n <script>\n (function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,\'script\',\'https://www.google-analytics.com/analytics.js\',\'ga\');\n\n ga(\'create\', \'UA-729216-35\', \'auto\');\n </script>\n <!-- @if PRODUCTION=\'true\' -->\n <!-- @if TESTING=\'true\' -->\n <script src="_build/vendor.js"></script>\n <script src="_build/app.js"></script>\n <!-- @endif -->\n <!-- @if TESTING=\'false\' -->\n <script src="vendor.js?v=2"></script>\n <script src="app.js?v=2"></script>\n <!-- @endif -->\n <!-- @endif -->\n <!-- @if PRODUCTION=\'false\' -->\n <!-- start bower_components -->\n <script src="bower_components/jquery/dist/jquery.js"></script>
16\n <script src="bower_components/angulartics/src/angulartics.js"></script>\n <script src="bower_components/angulartics-google-analytics/lib/angulartics-google-analytics.js"></script>\n <script src="bower_components/angular-resource/angular-resource.js"></script>\n <script src="bower_components/angular-sanitize/angular-sanitize.js"></script>\n <script src="bower_components/angular-touch/angular-touch.js"></script>\n <script src="bower_components/angular-animate/angular-animate.js"></script>\n <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>\n <script src="bower_components/angular-loading-bar/build/loading-bar.js"></script>\n <script src="bower_components/gsap/src/uncompressed/TweenMax.js"></script>\n <script src="bower_components/gsap/src/uncompressed/TimelineMax.js"></script>\n <script src="bower_components/gsap/src/uncompressed/plugins/ScrollToPlugin.js"></script>\n <script src="bower_components/imagesloaded/imagesloaded.pkgd.js"></script>\n <script src="bower_components/underscore/underscore.js"></script>\n <script src="bower_components/slick-carousel/slick/slick.js"></script>\n <script src="bower_components/ngMeta/dist/ngMeta.js"></script>\n <script src="bower_components/jquery-unorphanize/unorphanize.jquery.js"></script>\n <script src="bower_components/angular-modal-service/dst/angular-modal-service.js"></script>\n <script src="bower_components/modernizr/modernizr.js"></script>\n <script src="bower_components/signature_pad/signature_pad.min.js"></script>\n <script src="bower_components/moment/moment.js"></script>\n <script src="bower_components/angular-elastic/elastic.js"></script>\n <script src="bower_components/ng-file-upload/ng-file-upload.js"></script>\n <!-- end bower_components -->\n <script src="app.js"></script>\n <!-- resources scripts -->\n <script src="resources/artworks.js"></script>\n <script src="resources/browsers.js"></script>\n <script src="resources/legislators.js"></script>\n <!-- end resources scripts -->\n <!-- state scripts -->\n <script src="states/home/home.js"></script>\n <script src="states/about/about.js"></script>\n <script src="states/contribute/contribute.js"></script>\n <script src="states/terms/terms.js"></script>\n <!-- end state scripts -->\n <!-- component scripts -->\n <script src="components/unorphanize/unorphanize.js"></script>\n <script src="components/scroll-reveal/scroll-reveal.js"></script>\n <script src="components/share-fb/share-fb.js"></script>\n <script src="components/share-tw/share-tw.js"></script>\n <script src="components/share-e/share-e.js"></script>\n <script src="components/intro/intro.js"></script>\n <script src="components/logo/logo.js"></script>\n <script src="components/ticker/ticker.js"></script>\n <script src="components/nav/nav.js"></script>\n <script src="components/fax/fax.js"></script>\n <script src="components/artwork/artwork.js"></script>\n <script src="components/fax-page/fax-page.js"></script>\n <script src="components/fax-generator/fax-generator.js"></script>\n <script src="components/contact-form/contact-form.js"></script>\n <script src="components/contribute-form/contribute-form.js"></script>\n <script src="components/footer/footer.js"></script>\n <!-- end component scripts -->\n <!-- services scripts -->\n <script src="services/preloader.js"></script>\n <script src="services/popup.js"></script>\n <!-- end services scripts -->\n <!-- animations scripts -->\n <script src="animations/fade.js"></script>\n <script src="animations/fade-child.js"></script>\n <!-- end animations scripts -->\n <!-- @endif -->\n </body>\n</html>\n'),a.put("states/about/about.html",'<div class="about">\n <div\n class="about__intro-image"\n ng-style={\'background-image\':\'url(/assets/images/about/1.jpg)\'}>\n </div>\n <div class="about__intro-text">\n Artifax is a project organized by <a href="http://www.useallfive.com/" target="_blank">Use All Five</a> to connect people with their elected representatives. It began as a tool to urge congress to protect the National Endowment for the Arts; however, we have been inspired to expand it.\n </div>\n <div class="about__faq">\n <div class="about__faq__question">\n How did Artifax begin?\n </div>\n <div class="about__faq__answer">
16\n When Trumpâs <a href="https://www.nytimes.com/interactive/2017/03/16/us/politics/document-Trump-2018-Budget.html" target="_blank">First Budget Proposal</a> was released in 2017, the National Endowment of the Arts (NEA) was on the chopping block. The Proposal described this decision as part of a move to veer away from programs unfit for âthe proper role of the Federal Governmentâ and reduce spending in the national budget. But hereâs the thing: the NEA makes only <a href="https://www.washingtonpost.com/news/the-fix/wp/2017/01/19/trump-reportedly-wants-to-cut-cultural-programs-that-make-up-0-02-percent-of-federal-spending/?utm_term=.cdab35f762c1" target="_blank">a tiny fraction</a> of the nationâs discretionary spending. And some suspected that this threat is part of a broader, ideologically-motivated attack on the arts themselves.<br><br>\n In response, Use All Five created Artifax to help spread the word to Congress on exactly how and why the NEA is a vital piece of the funding-pie for the arts in this country.\n </div>\n </div>\n <div class="about__faq">\n <div class="about__faq__question">\n What inspired it to expand?\n </div>\n <div class="about__faq__answer">\n Since the initial budget proposal that was released in 2017, there has been a deluge of issues that have inspired people to organize and raise their voice. Some of these issues may only have a short period under the national spotlight, and require us to immediately make our views known in order to have the greatest impact on decision-makers. We broadened the platform to help anyone reach out to their representatives at anytime and on any issue they care about via fax.\n </div>\n </div>\n <div class="about__images">\n <div\n class="about__images-item"\n data-image-tilt>\n <div\n class="about__images-item__image"\n ng-style={\'background-image\':\'url(/assets/images/about/protest.jpg)\'}>\n </div>\n </div>\n </div>\n <div class="about__faq">\n <div class="about__faq__question">\n Why fax?\n </div>\n <div class="about__faq__answer">\n Calling Congress is important. The aspect of human, direct contact that phone calls provide <a href="https://www.wired.com/2017/02/call-congress-phone-system-broken/" target="_blank">make them much more impactful than emails</a>, which can be easy for staffers to ignore. However voicemails get full, and faxes still have that material impact that commands attention; theyâre physical, and inconveniencing, and thatâs what it takes to convey an impactful message to your representatives.<br><br>\n We do want to acknowledge that some faxes may not be physically printed. A fax\'s final format really depends on the individual congressional office, and what tools they choose to use; older fax machines print physical copies, while newer ones may convert digitally. While we donât have the data on which congressional offices field print or digital faxes, we do know that your message has the most impact when it is more personalized. Your unique message, signature, address, registered voter confirmation, and the special artwork you choose, will help make staffers pay attention.\n </div>\n </div>\n <div\n class="about__fax-image"\n ng-style={\'background-image\':\'url(/assets/images/about/4.jpg)\'}>\n </div>\n <div\n class="about__contact"\n contact-form>\n </div>\n</div>\n'),a.put("states/contribute/contribute.html",'<div class="contribute">\n\t<div class="contribute__intro">\n <div class="contribute__intro__header">\n Interested in contributing an artwork?\n </div>\n <div class="contribute__intro__subheader">\n Weâd love to hear from you! Please submit the following form and attach your artwork at the specifications listed for our consideration.\n </div>\n </div>\n <div\n class="contribute__submission"\n contribute-form>\n </div>\n</div>\n'),a.put("states/home/home.html",'<div class="home">\n <div\n class="home__artworks"\n ng-class="{\'preparing-fax\': preparingFax, \'selecting-artwork\': selectingArtwork}">\n <div class="home__artworks__intro">\n <div class="home__artworks__intro__text">\n Let your voice be heard! Fax your elected representatives and let them know your views. Select an artwork that resonates the most with you, add your message, and weâll fax it to your congressperson.\n </div>\n <div class="home__artworks__intro__cta">
16\n <span class="home__artworks__intro__cta__desktop-text">Select an artwork to begin</span>\n <span class="home__artworks__intro__cta__mobile-text">Swipe to select an artwork</span>\n <div\n class="home__artworks__intro__cta__arrow"\n ng-include="\'assets/images/down-arrow.svg\'"></div>\n </div>\n </div>\n <div\n class="home__artworks__loading"\n ng-show="loadingArtwork">\n <div class="home__artworks__loading__inner">\n Loading...\n </div>\n </div>\n <div class="home__artworks__list">\n <div\n class="home__artworks__artwork"\n ng-repeat="artwork in artworksList"\n artwork\n artwork-data="artwork">\n </div>\n </div>\n <div class="home__artworks__overlay">\n <div class="home__artworks__fax-artwork-choice prev">\n <div\n class="home__artworks__fax-artwork-choice__arrow"\n ng-click="changeArtwork()"\n ng-include="\'assets/images/back-arrow.svg\'">\n </div>\n <div\n class="home__artworks__fax-artwork-choice__artwork"\n ng-click="changeArtwork()">\n <img\n class="home__artworks__fax-artwork-choice__artwork__image"\n ng-src="{{prevFaxArtwork.image}}">\n </div>\n </div>\n <div class="home__artworks__fax-artwork-choice next">\n <div\n class="home__artworks__fax-artwork-choice__arrow"\n ng-click="changeArtwork(true)"\n ng-include="\'assets/images/back-arrow.svg\'">\n </div>\n <div\n class="home__artworks__fax-artwork-choice__artwork"\n ng-click="changeArtwork(true)">\n <img\n class="home__artworks__fax-artwork-choice__artwork__image"\n ng-src="{{nextFaxArtwork.image}}">\n </div>\n </div>\n </div>\n <div\n class="fax-wrapper"\n fax\n fax-artwork="faxArtwork"\n exit-fax="exitFax()"\n prev-artwork="changeArtwork()"\n next-artwork="changeArtwork(true)">\n </div>\n </div>\n <div class="home__artists">\n <div class="home__artists__title">Contributors</div>\n <ul class="home__artists__list">\n <li\n class="home__artists__artist"\n ng-repeat="artist in artists">\n <a\n class="home__artsits__link"\n ng-class="{\'home__artsits__link--none\': artist.url === \'\'}"\n href="{{artist.url}}"\n target="_blank">\n {{artist.name}}\n </a>\n </li>\n </ul>\n <a\n class="home__artists__contribute"\n ui-sref="contribute">\n Contribute an artwork\n </a>\n </div>\n</div>\n'),a.put("states/terms/terms.html",'<div class="terms">\n\t<div class="terms-headline">\n Terms of Agreement\n </div>\n <ol class="terms__group">\n <li\n class="terms__item"\n ng-repeat="term in terms">\n <div\n class="terms__item__title"\n ng-bind-html="term.title">\n </div>\n <div\n ng-if="term.description"\n class="terms__item__description"\n ng-bind-html="term.description">\n </div>\n <ol\n ng-if="term.subpoints"\n class="term__item__subgroup">\n <li\n class="term__subgroup__item"\n ng-repeat="subitem in term.subpoints">\n <div\n class="subitem__description"\n ng-bind-html="subitem.description">\n </div>\n <ol\n ng-if="subitem.secondarySubpoints"\n class="subitem__subgroup">\n <li\n class="subitem__subgroup__item"\n ng-repeat="sub in subitem.secondarySubpoints"\n ng-bind-html="sub.description">\n </li>\n </ol>\n </li>\n </ol>\n </li>\n </ol>\n <div class="terms-headline terms-headline__policy">\n Privacy Policy\n </div>\n <div class="terms__group terms__group-policy">\n <div\n class="terms__item"\n ng-repeat="policy in privacy">\n <div\n ng-if="policy.title"\n class="terms__item__title"\n ng-bind-html="policy.title">\n </div>\n <div\n ng-if="policy.description"\n class="terms__item__description"\n ng-bind-html="policy.description">\n </div>\n <ul\n ng-if="policy.subpoints"\n class="term__item__subgroup term__item__subgroup-bullet">\n <li\n class="term__subgroup__item"\n ng-repeat="subitem in policy.subpoints"\n ng-bind-html="subitem.description">\n </li>\n </ul>\n </div>\n </div>\n</div>\n')}]); 17//# sourceMappingURL=app.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.