diff --git a/assets/kredits-web-2c64bb46c2cfb64fb29cca8d259748a0.js b/assets/kredits-web-2c64bb46c2cfb64fb29cca8d259748a0.js
new file mode 100644
index 0000000..6976da0
--- /dev/null
+++ b/assets/kredits-web-2c64bb46c2cfb64fb29cca8d259748a0.js
@@ -0,0 +1,158 @@
+"use strict"
+define("kredits-web/app",["exports","kredits-web/resolver","ember-load-initializers","kredits-web/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var i=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(i,r.default.modulePrefix)
+var o=i
+e.default=o}),define("kredits-web/components/add-contributor/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Component.extend({kredits:Ember.inject.service(),attributes:null,isValidAccount:Ember.computed.notEmpty("account"),isValidName:Ember.computed.notEmpty("name"),isValidURL:Ember.computed.notEmpty("url"),isValidGithubUID:Ember.computed.notEmpty("github_uid"),isValidGithubUsername:Ember.computed.notEmpty("github_username"),isValidGiteaUsername:Ember.computed.notEmpty("gitea_username"),isValidWikiUsername:Ember.computed.notEmpty("wiki_username"),isValid:Ember.computed.and("isValidAccount","isValidName","isValidGithubUID"),inProgress:!1,init:function(){this._super.apply(this,arguments),this.set("attributes",{account:null,name:null,kind:"person",url:null,github_username:null,github_uid:null,gitea_username:null,wiki_username:null})},didInsertElement:function(){this._super.apply(this,arguments),this.reset()},reset:function(){this.setProperties(this.attributes)},actions:{submit:function(){var e=this
+if(this.isValid){var t=Object.keys(this.attributes),n=this.getProperties(t)
+this.set("inProgress",!0),this.save(n).then(function(){e.reset(),window.scroll(0,0)}).catch(function(e){console.log(e),window.alert("Something went wrong. Please check the browser console.")}).finally(function(){e.set("inProgress",!1)})}else alert("Invalid data. Please review and try again.")}}})
+e.default=t}),define("kredits-web/components/add-contributor/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"tTvY+kme",block:'{"symbols":[],"statements":[[7,"form"],[9],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["name","type","placeholder","value","class"],["account","text","0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4",[23,["account"]],[27,"if",[[23,["isValidAccount"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[7,"select"],[11,"required",""],[12,"onchange",[27,"action",[[22,0,[]],[27,"mut",[[23,["kind"]]],null]],[["value"],["target.value"]]]],[9],[0,"\\n "],[7,"option"],[11,"value","person"],[12,"selected",[27,"eq",[[23,["kind"]],"person"],null]],[9],[0,"Person"],[10],[0,"\\n "],[7,"option"],[11,"value","organization"],[12,"selected",[27,"eq",[[23,["kind"]],"organization"],null]],[9],[0,"Organization"],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["name","type","placeholder","value","class"],["name","text","Name",[23,["name"]],[27,"if",[[23,["isValidName"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["name","type","placeholder","value","class"],["url","text","URL",[23,["url"]],[27,"if",[[23,["isValidURL"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["name","type","placeholder","value","class"],["github_uid","text","GitHub UID (123)",[23,["github_uid"]],[27,"if",[[23,["isValidGithubUID"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["name","type","placeholder","value","class"],["github_username","text","GitHub username",[23,["github_username"]],[27,"if",[[23,["isValidGithubUsername"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["name","type","placeholder","value","class"],["gitea_username","text","Gitea username",[23,["gitea_username"]],[27,"if",[[23,["isValidGiteaUsername"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["name","type","placeholder","value","class"],["wiki_username","text","Wiki Username",[23,["wiki_username"]],[27,"if",[[23,["isValidWikiUsername"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[11,"class","actions"],[9],[0,"\\n "],[1,[27,"input",null,[["type","disabled","value"],["submit",[23,["inProgress"]],[27,"if",[[23,["inProgress"]],"Processing","Save"],null]]]],false],[0,"\\n "],[10],[0,"\\n"],[3,"action",[[22,0,[]],"submit"],[["on"],["submit"]]],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"kredits-web/components/add-contributor/template.hbs"}})
+e.default=t}),define("kredits-web/components/add-proposal/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Component.extend({attributes:null,contributors:Object.freeze([]),isValidContributor:Ember.computed.notEmpty("contributorId"),isValidAmount:Ember.computed("amount",function(){return parseInt(this.amount,10)>0}),isValidDescription:Ember.computed.notEmpty("description"),isValidUrl:Ember.computed.notEmpty("url"),isValid:Ember.computed.and("isValidContributor","isValidAmount","isValidDescription"),init:function(){this._super.apply(this,arguments),this.set("attributes",{contributorId:null,kind:"community",amount:null,description:null,url:null})},didInsertElement:function(){this._super.apply(this,arguments),this.reset()},reset:function(){this.setProperties(this.attributes)},actions:{submit:function(){var e=this
+if(this.isValid){var t=Object.keys(this.attributes),n=this.getProperties(t),r=this.save(n)
+this.set("inProgress",r),r.then(function(){e.reset(),window.scroll(0,0),window.alert("Proposal added.")})}else alert("Invalid data. Please review and try again.")}}})
+e.default=t}),define("kredits-web/components/add-proposal/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"3DOgBCvD",block:'{"symbols":["contributor"],"statements":[[7,"form"],[9],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[7,"select"],[11,"required",""],[12,"onchange",[27,"action",[[22,0,[]],[27,"mut",[[23,["contributorId"]]],null]],[["value"],["target.value"]]]],[9],[0,"\\n "],[7,"option"],[11,"value",""],[11,"selected",""],[11,"disabled",""],[11,"hidden",""],[9],[0,"Contributor"],[10],[0,"\\n"],[4,"each",[[23,["contributors"]]],null,{"statements":[[0," "],[7,"option"],[12,"value",[22,1,["id"]]],[12,"selected",[27,"eq",[[23,["contributorId"]],[22,1,["id"]]],null]],[9],[1,[22,1,["github_username"]],false],[10],[0,"\\n"]],"parameters":[1]},null],[0," "],[10],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[7,"select"],[11,"required",""],[12,"onchange",[27,"action",[[22,0,[]],[27,"mut",[[23,["kind"]]],null]],[["value"],["target.value"]]]],[9],[0,"\\n "],[7,"option"],[11,"value","community"],[12,"selected",[27,"eq",[[23,["kind"]],"community"],null]],[9],[0,"Community"],[10],[0,"\\n "],[7,"option"],[11,"value","design"],[12,"selected",[27,"eq",[[23,["kind"]],"design"],null]],[9],[0,"Design"],[10],[0,"\\n "],[7,"option"],[11,"value","dev"],[12,"selected",[27,"eq",[[23,["kind"]],"dev"],null]],[9],[0,"Development"],[10],[0,"\\n "],[7,"option"],[11,"value","docs"],[12,"selected",[27,"eq",[[23,["kind"]],"docs"],null]],[9],[0,"Documentation"],[10],[0,"\\n "],[7,"option"],[11,"value","ops"],[12,"selected",[27,"eq",[[23,["kind"]],"ops"],null]],[9],[0,"IT Operations"],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["type","placeholder","value","class"],["text","100",[23,["amount"]],[27,"if",[[23,["isValidAmount"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["type","placeholder","value","class"],["text","Description",[23,["description"]],[27,"if",[[23,["isValidDescription"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[9],[0,"\\n "],[1,[27,"input",null,[["type","placeholder","value","class"],["text","URL (optional)",[23,["url"]],[27,"if",[[23,["isValidUrl"]],"valid",""],null]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[11,"class","actions"],[9],[0,"\\n "],[1,[27,"input",null,[["type","disabled","value"],["submit",[27,"is-pending",[[23,["inProgress"]]],null],[27,"if",[[27,"is-pending",[[23,["inProgress"]]],null],"Processing","Save"],null]]]],false],[0,"\\n "],[4,"link-to",["index"],null,{"statements":[[0,"Back"]],"parameters":[]},null],[0,"\\n "],[10],[0,"\\n"],[3,"action",[[22,0,[]],"submit"],[["on"],["submit"]]],[10],[0,"\\n\\n"]],"hasEval":false}',meta:{moduleName:"kredits-web/components/add-proposal/template.hbs"}})
+e.default=t}),define("kredits-web/components/chart-contributions-by-type/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t="#fb6868",n="#fbe468",r="#e068fb",i="#97fb68",o="#8f68fb",s=Ember.Component.extend({contributions:null,chartOptions:Object.freeze({legend:{display:!1}}),chartData:Ember.computed("contributions",function(){var e=this.contributions.map(function(e){return{kind:e.kind,amount:e.amount}}).reduce(function(e,t){return t.kind in e?e[t.kind]=e[t.kind]+t.amount:e[t.kind]=t.amount,e},{})
+return{datasets:[{data:[e.community,e.design,e.dev,e.ops,e.docs],borderColor:[t,n,r,o,i],borderWidth:1}],labels:["Community","Design","Development","Operations & Infrastructure","Documentation"]}})})
+e.default=s}),define("kredits-web/components/chart-contributions-by-type/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"knNRD8x3",block:'{"symbols":[],"statements":[[7,"div"],[11,"class","chart"],[9],[0,"\\n "],[1,[27,"ember-chart",null,[["type","data","options","width","height"],["doughnut",[23,["chartData"]],[23,["chartOptions"]],200,200]]],false],[0,"\\n"],[10]],"hasEval":false}',meta:{moduleName:"kredits-web/components/chart-contributions-by-type/template.hbs"}})
+e.default=t}),define("kredits-web/components/contribution-list/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Component.extend({tagName:"ul",classNames:["contribution-list"],actions:{veto:function(e){this.contractInteractionEnabled?this.vetoContribution(e):window.alert("Only members can veto contributions. Please ask someone to set you up.")}}})
+e.default=t}),define("kredits-web/components/contribution-list/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"xYW3ZUYB",block:'{"symbols":["contribution"],"statements":[[4,"each",[[23,["contributions"]]],null,{"statements":[[0," "],[7,"li"],[12,"data-contribution-id",[22,1,["id"]]],[12,"class",[28,[[27,"contribution-status",[[22,1,[]]],null]," ",[27,"if",[[22,1,["vetoed"]],"vetoed"],null]]]],[9],[0,"\\n "],[7,"p"],[11,"class","meta"],[9],[0,"\\n "],[7,"span"],[11,"class","recipient"],[9],[1,[27,"user-avatar",null,[["contributor"],[[22,1,["contributor"]]]]],false],[10],[0,"\\n "],[7,"span"],[12,"class",[28,["category ",[22,1,["kind"]]]]],[9],[0,"("],[1,[22,1,["kind"]],false],[0,")"],[10],[0,"\\n "],[7,"span"],[11,"class","title"],[9],[0,"\\n"],[4,"if",[[22,1,["url"]]],null,{"statements":[[0," "],[7,"a"],[12,"href",[22,1,["url"]]],[11,"target","_blank"],[11,"rel","noopener"],[9],[1,[22,1,["description"]],false],[10],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[22,1,["description"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[10],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[11,"class","kredits-amount"],[9],[0,"\\n "],[7,"span"],[11,"class","amount"],[9],[1,[22,1,["amount"]],false],[10],[7,"span"],[11,"class","symbol"],[9],[0,"₭S"],[10],[0,"\\n "],[10],[0,"\\n"],[4,"unless",[[22,1,["vetoed"]]],null,{"statements":[[4,"unless",[[27,"is-confirmed-contribution",[[22,1,[]]],null]],null,{"statements":[[0," "],[7,"p"],[11,"class","voting"],[9],[0,"\\n "],[7,"button"],[11,"class","small danger"],[9],[0,"veto"],[3,"action",[[22,0,[]],"veto",[22,1,["id"]]]],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null],[0," "],[10],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"kredits-web/components/contribution-list/template.hbs"}})
+e.default=t}),define("kredits-web/components/contributor-list/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Component.extend({tagName:"table",classNames:"contributor-list",selectedContributor:null,actions:{toggleContributorInfo:function(e){e.showMetadata?e.set("showMetadata",!1):(this.contributorList.setEach("showMetadata",!1),e.set("showMetadata",!0))}}})
+e.default=t}),define("kredits-web/components/contributor-list/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"TJ50ruBI",block:'{"symbols":["c"],"statements":[[7,"tbody"],[9],[0,"\\n"],[4,"each",[[23,["contributorList"]]],null,{"statements":[[0," "],[7,"tr"],[11,"role","button"],[12,"class",[27,"if",[[27,"is-current-user",[[22,1,["contributor"]]],null],"current-user"],null]],[9],[0,"\\n "],[7,"td"],[11,"class","person"],[9],[0,"\\n "],[1,[27,"user-avatar",null,[["contributor"],[[22,1,["contributor"]]]]],false],[0," "],[1,[22,1,["contributor","name"]],false],[0,"\\n "],[10],[0,"\\n "],[7,"td"],[11,"class","kredits"],[9],[0,"\\n "],[7,"span"],[11,"class","amount"],[9],[0,"\\n"],[4,"if",[[23,["showUnconfirmedKredits"]]],null,{"statements":[[0," "],[1,[22,1,["amountTotal"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[22,1,["amountConfirmed"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[10],[0,"\\n "],[7,"span"],[11,"class","symbol"],[9],[0,"₭S"],[10],[0,"\\n "],[10],[0,"\\n "],[3,"action",[[22,0,[]],"toggleContributorInfo",[22,1,[]]]],[10],[0,"\\n "],[7,"tr"],[12,"class",[28,["metadata ",[27,"if",[[27,"is-current-user",[[22,1,["contributor"]]],null],"current-user"],null]," ",[27,"if",[[22,1,["showMetadata"]],"visible"],null]]]],[9],[0,"\\n "],[7,"td"],[11,"colspan","2"],[9],[0,"\\n "],[7,"ul"],[9],[0,"\\n "],[7,"li"],[9],[0,"\\n "],[7,"a"],[12,"href",[28,["https://rinkeby.etherscan.io/address/",[22,1,["contributor","account"]]]]],[11,"target","_blank"],[11,"rel","noopener"],[9],[0,"Inspect Ethereum transactions"],[10],[0,"\\n "],[10],[0,"\\n"],[4,"if",[[22,1,["contributor","ipfsHash"]]],null,{"statements":[[0," "],[7,"li"],[9],[0,"\\n "],[7,"a"],[12,"href",[28,["https://ipfs.io/ipfs/",[22,1,["contributor","ipfsHash"]]]]],[11,"target","_blank"],[11,"rel","noopener"],[9],[0,"Inspect IPFS profile"],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[10],[0,"\\n"],[4,"if",[[22,1,["showMetadata"]]],null,{"statements":[[0," "],[7,"pre"],[9],[1,[22,1,["contributor","ipfsData"]],false],[10],[0,""]],"parameters":[]},null],[0," "],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[1]},null],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"kredits-web/components/contributor-list/template.hbs"}})
+e.default=t}),define("kredits-web/components/ember-chart",["exports","ember-cli-chart/components/ember-chart"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n=t.default
+e.default=n}),define("kredits-web/components/loading-spinner/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Component.extend({classNames:["loading-spinner"]})
+e.default=t}),define("kredits-web/components/loading-spinner/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"b6SWTOaj",block:'{"symbols":[],"statements":[[7,"p"],[9],[0,"\\n "],[7,"svg"],[11,"xmlns","http://www.w3.org/2000/svg","http://www.w3.org/2000/xmlns/"],[11,"xmlns:xlink","http://www.w3.org/1999/xlink","http://www.w3.org/2000/xmlns/"],[11,"version","1.1"],[11,"x","0px"],[11,"y","0px"],[11,"viewBox","0 0 132 100"],[11,"enable-background","new 0 0 100 100"],[11,"xml:space","preserve","http://www.w3.org/XML/1998/namespace"],[9],[0,"\\n "],[7,"path"],[11,"id","path-comet"],[11,"d","M79.062,24.173L79.062,24.173l-0.021-0.011c-0.068-0.03-0.137-0.062-0.204-0.093L42.392,7.337\\n c0,0,3.065,14.104,4.458,18.019l0,0c0,0-41.754-12.481-46.85-13.67c1.67,6.52,30.607,62.492,30.607,62.492\\n c5.848,11.873,19.394,18.485,33.522,18.485c19.811,0,35.87-16.059,35.87-35.869C100,42.313,91.418,29.837,79.062,24.173z"],[9],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"],[7,"p"],[9],[0,"\\n Loading data...\\n"],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"kredits-web/components/loading-spinner/template.hbs"}})
+e.default=t}),define("kredits-web/components/proposal-list/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Component.extend({tagName:"ul",classNames:["proposal-list"],actions:{confirm:function(e){this.contractInteractionEnabled?this.confirmProposal(e):window.alert("Only members can vote on proposals. Please ask someone to set you up.")}}})
+e.default=t}),define("kredits-web/components/proposal-list/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"pZHMSOZc",block:'{"symbols":["proposal"],"statements":[[4,"each",[[23,["proposals"]]],null,{"statements":[[0," "],[7,"li"],[12,"data-proposal-id",[22,1,["id"]]],[12,"class",[27,"if",[[22,1,["isExecuted"]],"confirmed","unconfirmed"],null]],[9],[0,"\\n "],[7,"p"],[11,"class","meta"],[9],[0,"\\n "],[7,"span"],[12,"class",[28,["category ",[22,1,["kind"]]]]],[9],[0,"♥ ("],[1,[22,1,["kind"]],false],[0,")"],[10],[0,"\\n "],[7,"span"],[11,"class","recipient"],[9],[1,[22,1,["contributor","name"]],false],[0,":"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[11,"class","kredits-amount"],[9],[0,"\\n "],[7,"span"],[11,"class","amount"],[9],[1,[22,1,["amount"]],false],[10],[7,"span"],[11,"class","symbol"],[9],[0,"₭S"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[11,"class","description"],[9],[0,"\\n "],[7,"span"],[11,"class","description"],[9],[1,[22,1,["description"]],false],[10],[0,"\\n "],[10],[0,"\\n "],[7,"p"],[11,"class","voting"],[9],[0,"\\n"],[4,"unless",[[22,1,["isExecuted"]]],null,{"statements":[[0," "],[7,"span"],[11,"class","votes"],[9],[0,"("],[1,[22,1,["votesCount"]],false],[0,"/"],[1,[22,1,["votesNeeded"]],false],[0," votes)"],[10],[0,"\\n "],[7,"button"],[9],[0,"+1"],[3,"action",[[22,0,[]],"confirm",[22,1,["id"]]]],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"kredits-web/components/proposal-list/template.hbs"}})
+e.default=t}),define("kredits-web/components/user-avatar/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Component.extend({contributor:null,tagName:"img",classNames:["avatar"],attributeBindings:["src","title"],src:Ember.computed.alias("contributor.avatarURL"),title:Ember.computed.alias("contributor.name")})
+e.default=t}),define("kredits-web/components/user-avatar/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"rnnAjEgP",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"kredits-web/components/user-avatar/template.hbs"}})
+e.default=t}),define("kredits-web/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Controller.extend({kredits:Ember.inject.service()})
+e.default=t}),define("kredits-web/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Controller.extend({kredits:Ember.inject.service(),currentBlock:Ember.computed.alias("kredits.currentBlock"),contributions:Ember.computed.alias("kredits.contributions"),contributionsConfirmed:Ember.computed.alias("kredits.contributionsConfirmed"),contributionsUnconfirmed:Ember.computed.alias("kredits.contributionsUnconfirmed"),contributionsSorting:Object.freeze(["id:desc"]),contributionsUnconfirmedSorted:Ember.computed.sort("contributionsUnconfirmed","contributionsSorting"),contributionsConfirmedSorted:Ember.computed.sort("contributionsConfirmed","contributionsSorting"),kreditsByContributor:Ember.computed.alias("kredits.kreditsByContributor"),kreditsToplistSorting:Ember.computed("showUnconfirmedKredits",function(){return this.showUnconfirmedKredits?["amountTotal:desc"]:["amountConfirmed:desc"]}),kreditsToplist:Ember.computed.sort("kreditsByContributor","kreditsToplistSorting"),showUnconfirmedKredits:!0,hideUnconfirmedKredits:Ember.computed.not("showUnconfirmedKredits"),actions:{vetoContribution:function(e){this.kredits.veto(e).then(function(e){console.debug("[controllers:index] Veto submitted to Ethereum blockhain: "+e.hash)})},confirmProposal:function(e){this.kredits.vote(e).then(function(e){console.debug("[controllers:index] Vote submitted to Ethereum blockhain: "+e.hash)})},save:function(e){var t=this
+return this.kredits.addContributor(e).then(function(e){return t.contributors.pushObject(e),e})}}})
+e.default=t}),define("kredits-web/controllers/proposals/new",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Controller.extend({kredits:Ember.inject.service(),contributors:Ember.computed.alias("kredits.contributors"),minedContributors:Ember.computed.filterBy("contributors","id"),actions:{save:function(e){var t=this,n=this.contributors.findBy("id",e.contributorId)
+return e.contributorIpfsHash=n.get("ipfsHash"),this.kredits.addProposal(e).then(function(e){return t.transitionToRoute("index"),e})}}})
+e.default=t}),define("kredits-web/helpers/and",["exports","ember-truth-helpers/helpers/and"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"and",{enumerable:!0,get:function(){return t.and}})}),define("kredits-web/helpers/app-version",["exports","kredits-web/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.default.APP.version,o=r.versionOnly||r.hideSha,s=r.shaOnly||r.hideVersion,a=null
+return o&&(r.showExtended&&(a=i.match(n.versionExtendedRegExp)),a||(a=i.match(n.versionRegExp))),s&&(a=i.match(n.shaRegExp)),a?a[0]:i}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r,e.default=void 0
+var i=Ember.Helper.helper(r)
+e.default=i}),define("kredits-web/helpers/await",["exports","ember-promise-helpers/helpers/await"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("kredits-web/helpers/contribution-status",["exports"],function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0
+try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(u){i=!0,o=u}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n=Ember.Helper.extend({kredits:Ember.inject.service(),currentBlock:Ember.computed.alias("kredits.currentBlock"),compute:function(e){var n=t(e,1)[0]
+return n.vetoed?"vetoed":n.confirmedAt>this.currentBlock?"unconfirmed":"confirmed"}})
+e.default=n}),define("kredits-web/helpers/eq",["exports","ember-truth-helpers/helpers/equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"equal",{enumerable:!0,get:function(){return t.equal}})}),define("kredits-web/helpers/gt",["exports","ember-truth-helpers/helpers/gt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return t.gt}})}),define("kredits-web/helpers/gte",["exports","ember-truth-helpers/helpers/gte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return t.gte}})}),define("kredits-web/helpers/is-array",["exports","ember-truth-helpers/helpers/is-array"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return t.isArray}})}),define("kredits-web/helpers/is-confirmed-contribution",["exports"],function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0
+try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(u){i=!0,o=u}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n=Ember.Helper.extend({kredits:Ember.inject.service(),currentBlock:Ember.computed.alias("kredits.currentBlock"),compute:function(e){var n=t(e,1)[0]
+return!n.vetoed&&n.confirmedAt<=this.currentBlock}})
+e.default=n})
+define("kredits-web/helpers/is-current-user",["exports"],function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0
+try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(u){i=!0,o=u}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n=Ember.Helper.extend({kredits:Ember.inject.service(),currentUser:Ember.computed.alias("kredits.currentUser"),compute:function(e){var n=t(e,1)[0]
+return Ember.isPresent(n)&&Ember.isPresent(this.currentUser)&&n.account===this.currentUser.account}})
+e.default=n}),define("kredits-web/helpers/is-equal",["exports","ember-truth-helpers/helpers/is-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isEqual",{enumerable:!0,get:function(){return t.isEqual}})}),define("kredits-web/helpers/is-fulfilled",["exports","ember-promise-helpers/helpers/is-fulfilled"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isFulfilled",{enumerable:!0,get:function(){return t.isFulfilled}})}),define("kredits-web/helpers/is-pending",["exports","ember-promise-helpers/helpers/is-pending"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isPending",{enumerable:!0,get:function(){return t.isPending}})}),define("kredits-web/helpers/is-rejected",["exports","ember-promise-helpers/helpers/is-rejected"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isRejected",{enumerable:!0,get:function(){return t.isRejected}})}),define("kredits-web/helpers/lt",["exports","ember-truth-helpers/helpers/lt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lt",{enumerable:!0,get:function(){return t.lt}})}),define("kredits-web/helpers/lte",["exports","ember-truth-helpers/helpers/lte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lte",{enumerable:!0,get:function(){return t.lte}})}),define("kredits-web/helpers/not-eq",["exports","ember-truth-helpers/helpers/not-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"notEq",{enumerable:!0,get:function(){return t.notEq}})}),define("kredits-web/helpers/not",["exports","ember-truth-helpers/helpers/not"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return t.not}})}),define("kredits-web/helpers/or",["exports","ember-truth-helpers/helpers/or"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return t.or}})}),define("kredits-web/helpers/promise-all",["exports","ember-promise-helpers/helpers/promise-all"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"promiseAll",{enumerable:!0,get:function(){return t.promiseAll}})}),define("kredits-web/helpers/promise-hash",["exports","ember-promise-helpers/helpers/promise-hash"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"promiseHash",{enumerable:!0,get:function(){return t.promiseHash}})}),define("kredits-web/helpers/promise-rejected-reason",["exports","ember-promise-helpers/helpers/promise-rejected-reason"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("kredits-web/helpers/xor",["exports","ember-truth-helpers/helpers/xor"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"xor",{enumerable:!0,get:function(){return t.xor}})}),define("kredits-web/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","kredits-web/config/environment"],function(e,t,n){var r,i
+Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,n.default.APP&&(r=n.default.APP.name,i=n.default.APP.version)
+var o={name:"App Version",initialize:(0,t.default)(r,i)}
+e.default=o}),define("kredits-web/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
+e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}
+e.default=n}),define("kredits-web/initializers/export-application-global",["exports","kredits-web/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
+if(!1!==t.default.exportApplicationGlobal){var n
+if("undefined"!=typeof window)n=window
+else if("undefined"!=typeof global)n=global
+else{if("undefined"==typeof self)return
+n=self}var r,i=t.default.exportApplicationGlobal
+r="string"==typeof i?i:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default=void 0
+var r={name:"export-application-global",initialize:n}
+e.default=r}),define("kredits-web/models/contribution",["exports","kredits-web/utils/cps/bignumber"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n=Ember.Object.extend({id:null,contributorId:null,amount:null,confirmedAt:(0,t.default)("confirmedAtBlock","toNumber"),vetoed:null,ipfsHash:null,creatorAccount:null,kind:null,description:null,details:null,url:null,ipfsData:"",init:function(){this._super.apply(this,arguments),this.set("details",{})}})
+e.default=n}),define("kredits-web/models/contributor",["exports","kredits-web/utils/cps/bignumber","kredits-web/utils/cps/kredits"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var r=Ember.Object.extend({id:(0,t.default)("idRaw","toString"),account:null,balance:(0,n.default)("balanceRaw"),totalKreditsEarned:(0,t.default)("totalKreditsEarnedRaw","toNumber"),contributionsCount:(0,t.default)("contributionsCountRaw","toNumber"),isCore:!1,ipfsHash:null,kind:null,name:null,url:null,github_username:null,github_uid:null,wiki_username:null,ipfsData:"",avatarURL:Ember.computed("github_uid",function(){var e=this.github_uid
+if(e)return"https://avatars2.githubusercontent.com/u/".concat(e,"?v=3&s=128")})})
+e.default=r}),define("kredits-web/models/proposal",["exports","kredits-web/utils/cps/bignumber"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n=Ember.Object.extend({id:(0,t.default)("idRaw","toString"),creatorAccount:null,contributorId:(0,t.default)("contributorIdRaw","toString"),amount:(0,t.default)("amountRaw","toNumber"),votesCount:(0,t.default)("votesCountRaw","toNumber"),votesNeeded:(0,t.default)("votesNeededRaw","toNumber"),executed:null,ipfsHash:null,isExecuted:Ember.computed.alias("executed"),kind:null,description:null,details:null,url:null,ipfsData:"",init:function(){this._super.apply(this,arguments),this.set("details",{})}})
+e.default=n}),define("kredits-web/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n=t.default
+e.default=n}),define("kredits-web/router",["exports","kredits-web/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
+n.map(function(){this.route("proposals",function(){this.route("new")})})
+var r=n
+e.default=r}),define("kredits-web/routes/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.Route.extend({kredits:Ember.inject.service(),beforeModel:function(e){var t=this.kredits
+return t.setup().then(function(){t.get("kredits").preflightChecks().catch(function(e){console.error("Kredits preflight check failed!"),console.error(e)}),t.get("accountNeedsUnlock")&&confirm("It looks like you have an Ethereum wallet available. Please unlock your account.")&&e.retry()}).catch(function(e){console.log("Error initializing Kredits",e)})},afterModel:function(){var e=this
+return this.kredits.loadInitialData().then(function(){e.kredits.addContractEventHandlers()})}})
+e.default=t}),define("kredits-web/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("kredits-web/services/kredits",["exports","npm:ethers","npm:kredits-contracts","kredits-web/utils/group-by","kredits-web/utils/format-kredits","kredits-web/config/environment","kredits-web/models/contributor","kredits-web/models/proposal","kredits-web/models/contribution"],function(e,t,n,r,i,o,s,a,u){function l(e,t,n,r,i,o,s){try{var a=e[o](s),u=a.value}catch(l){return void n(l)}a.done?t(u):Promise.resolve(u).then(r,i)}function d(e){return function(){var t=this,n=arguments
+return new Promise(function(r,i){var o=e.apply(t,n)
+function s(e){l(o,r,i,s,a,"next",e)}function a(e){l(o,r,i,s,a,"throw",e)}s(void 0)})}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var c=Ember.Service.extend({currentBlock:null,currentUserAccounts:null,currentUser:null,contributors:null,contributions:null,proposals:null,currentUserIsContributor:Ember.computed.notEmpty("currentUser"),currentUserIsCore:Ember.computed.alias("currentUser.isCore"),hasAccounts:Ember.computed.notEmpty("currentUserAccounts"),accountNeedsUnlock:Ember.computed("currentUserAccounts",function(){return this.currentUserAccounts&&Ember.isEmpty(this.currentUserAccounts)}),contributionsUnconfirmed:Ember.computed("contributions.[]","currentBlock",function(){var e=this
+return this.contributions.filter(function(t){return t.confirmedAt>e.currentBlock})}),contributionsConfirmed:Ember.computed("contributions.[]","currentBlock",function(){var e=this
+return this.contributions.filter(function(t){return t.confirmedAt<=e.currentBlock})}),kreditsByContributor:Ember.computed("contributionsUnconfirmed.@each.vetoed","contributors",function(){var e=this,t=this.contributionsUnconfirmed.filterBy("vetoed",!1),n=(0,r.default)(t,"contributorId"),i=n.map(function(e){return e.value.toString()}),o=this.contributors.reject(function(e){return i.includes(e.id)}),s=n.map(function(t){var n=t.items.mapBy("amount").reduce(function(e,t){return e+t}),r=e.contributors.findBy("id",t.value.toString())
+return Ember.Object.create({contributor:r,amountUnconfirmed:n,amountConfirmed:r.totalKreditsEarned,amountTotal:r.totalKreditsEarned+n})})
+return o.forEach(function(e){s.push(Ember.Object.create({contributor:e,amountUnconfirmed:0,amountConfirmed:e.totalKreditsEarned,amountTotal:e.totalKreditsEarned}))}),s}),init:function(){this._super.apply(this,arguments),this.set("contributors",[]),this.set("proposals",[]),this.set("contributions",[])},getEthProvider:function(){var e,n=this
+return new Ember.RSVP.Promise(function(){var r=d(regeneratorRuntime.mark(function r(i){var s,a,u
+return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(u=function(){return(u=d(regeneratorRuntime.mark(function n(r,o){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:console.debug("[kredits] Using user-provided instance, e.g. from Mist browser or Metamask"),(e=new t.default.providers.Web3Provider(r)).listAccounts().then(function(t){o.set("currentUserAccounts",t)
+var n=0===t.length?null:e.getSigner()
+i({ethProvider:e,ethSigner:n})})
+case 3:case"end":return n.stop()}},n)}))).apply(this,arguments)},a=function(e,t){return u.apply(this,arguments)},s=function(){console.debug("[kredits] Creating new instance from npm module class"),console.debug("[kredits] providerURL: ".concat(o.default.web3ProviderUrl)),e=new t.default.providers.JsonRpcProvider(o.default.web3ProviderUrl),i({ethProvider:e,ethSigner:null})},!window.ethereum){r.next=15
+break}return r.prev=4,r.next=7,window.ethereum.enable()
+case 7:a(window.ethereum,n),r.next=13
+break
+case 10:r.prev=10,r.t0=r.catch(4),s()
+case 13:r.next=16
+break
+case 15:window.web3?a(window.web3.currentProvider,n):s()
+case 16:case"end":return r.stop()}},r,null,[[4,10]])}))
+return function(e){return r.apply(this,arguments)}}())},setup:function(){var e=this
+return this.getEthProvider().then(function(t){return new n.default(t.ethProvider,t.ethSigner,{addresses:{Kernel:o.default.kreditsKernelAddress},apm:o.default.kreditsApmDomain,ipfsConfig:o.default.ipfs}).init().then(function(){var t=d(regeneratorRuntime.mark(function t(n){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.set("kredits",n),t.t0=e,t.next=4,n.provider.getBlockNumber()
+case 4:return t.t1=t.sent,t.t0.set.call(t.t0,"currentBlock",t.t1),e.currentUserAccounts&&e.currentUserAccounts.length>0&&e.getCurrentUser.then(function(t){e.set("currentUser",t)}),t.abrupt("return",n)
+case 8:case"end":return t.stop()}},t)}))
+return function(e){return t.apply(this,arguments)}}())})},totalSupply:Ember.computed(function(){return this.kredits.Token.functions.totalSupply().then(function(e){return(0,i.default)(e)})}),totalKreditsEarned:Ember.computed(function(){return this.kredits.Contribution.functions.totalKreditsEarned(!0).then(function(e){return e.toNumber()})}),loadInitialData:function(){var e=this
+return this.getContributors().then(function(t){return e.contributors.pushObjects(t)}).then(function(){return e.getContributions()}).then(function(t){return e.contributions.pushObjects(t)})},addContributor:function(e){if(e.github_uid){var t=parseInt(e.github_uid)
+e.github_uid=t}return console.debug("[kredits] add contributor",e),this.kredits.Contributor.add(e,{gasLimit:35e4}).then(function(t){return console.debug("[kredits] add contributor response",t),s.default.create(e)})},getContributors:function(){return this.kredits.Contributor.all().then(function(e){return e.map(function(e){return s.default.create(e)})})},addProposal:function(e){var t=this
+return console.debug("[kredits] add proposal",e),this.kredits.Proposal.addProposal(e).then(function(n){return console.debug("[kredits] add proposal response",n),e.contributor=t.contributors.findBy("id",e.contributorId),a.default.create(e)})},getProposals:function(){var e=this
+return this.kredits.Proposal.all().then(function(t){return t.map(function(t){return t.contributor=e.contributors.findBy("id",t.contributorId.toString()),a.default.create(t)})})},getContributions:function(){var e=this
+return this.kredits.Contribution.all({page:{size:200}}).then(function(t){return t.map(function(t){return t.contributor=e.contributors.findBy("id",t.contributorId.toString()),u.default.create(t)})})},vote:function(e){return console.debug("[kredits] vote for",e),this.kredits.Proposal.functions.vote(e).then(function(e){return console.debug("[kredits] vote response",e),e})},veto:function(e){return console.debug("[kredits] veto against",e),this.kredits.Contribution.functions.veto(e,{gasLimit:3e5}).then(function(e){return console.debug("[kredits] veto response",e),e})},getCurrentUser:Ember.computed("kredits.provider",function(){var e=this
+return Ember.isEmpty(this.currentUserAccounts)?Ember.RSVP.resolve():this.kredits.Contributor.functions.getContributorIdByAddress(this.get("currentUserAccounts.firstObject")).then(function(t){return 0===t?Ember.RSVP.resolve():e.kredits.Contributor.getById(t)})}),findProposalById:function(e){return this.proposals.findBy("id",e.toString())},addContractEventHandlers:function(){this.kredits.Contribution.on("ContributionVetoed",this.handleContributionVetoed.bind(this)),this.kredits.Proposal.on("ProposalCreated",this.handleProposalCreated.bind(this)).on("ProposalVoted",this.handleProposalVoted.bind(this)).on("ProposalExecuted",this.handleProposalExecuted.bind(this)),this.kredits.Token.on("Transfer",this.handleTransfer.bind(this))},handleContributionVetoed:function(e){console.debug("[kredits] ContributionVetoed event received for ",e)
+var t=this.contributions.findBy("id",e)
+console.debug("[kredits] contribution",t),t&&t.set("vetoed",!0)},handleProposalCreated:function(e){var t=this
+this.findProposalById(e)?console.debug("[events] proposal exists, not adding from event"):this.kredits.Proposal.getById(e).then(function(e){e.contributor=t.contributors.findBy("id",e.contributorId.toString()),t.proposals.pushObject(a.default.create(e))})},handleProposalVoted:function(e,t,n){var r=this.findProposalById(e)
+r&&r.set("votesCount",n)},handleProposalExecuted:function(e,t,n){var r=this.findProposalById(e)
+r.get("isExecuted")?console.debug("[events] proposal already executed, not adding from event"):(r.set("executed",!0),this.contributors.findBy("id",t.toString()).incrementProperty("balance",n))},handleTransfer:function(e,t,n){n=n.toNumber(),this.contributors.findBy("address",e).decrementProperty("balance",n),this.contributors.findBy("address",t).incrementProperty("balance",n)}})
+e.default=c}),define("kredits-web/templates/application-loading",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"/K85jZFR",block:'{"symbols":[],"statements":[[1,[21,"loading-spinner"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"kredits-web/templates/application-loading.hbs"}})
+e.default=t}),define("kredits-web/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"M6vaFJ5T",block:'{"symbols":[],"statements":[[7,"header"],[11,"id","topbar"],[9],[0,"\\n "],[7,"h1"],[9],[0,"Kosmos Kredits"],[10],[0,"\\n\\n "],[7,"section"],[11,"id","user-account"],[9],[0,"\\n"],[4,"if",[[23,["kredits","hasAccounts"]]],null,{"statements":[[4,"if",[[23,["kredits","currentUser"]]],null,{"statements":[[0," "],[1,[23,["kredits","currentUser","name"]],false],[0,"\\n "],[4,"if",[[23,["kredits","currentUserIsCore"]]],null,{"statements":[[0,"(core)"]],"parameters":[]},null],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," Anonymous\\n"]],"parameters":[]}],[0," "],[10],[0,"\\n"],[10],[0,"\\n\\n"],[1,[21,"outlet"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"kredits-web/templates/application.hbs"}})
+e.default=t}),define("kredits-web/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"mk8W6Kxd",block:'{"symbols":[],"statements":[[7,"main"],[11,"id","index"],[9],[0,"\\n\\n "],[7,"div"],[11,"id","stats"],[9],[0,"\\n "],[7,"section"],[11,"id","people"],[9],[0,"\\n "],[7,"header"],[9],[0,"\\n "],[7,"h2"],[9],[0,"Contributors"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"div"],[11,"class","content"],[9],[0,"\\n "],[1,[27,"contributor-list",null,[["contributorList","showUnconfirmedKredits"],[[23,["kreditsToplist"]],[23,["showUnconfirmedKredits"]]]]],false],[0,"\\n\\n "],[7,"p"],[11,"class","stats"],[9],[0,"\\n "],[7,"span"],[11,"class","number"],[9],[1,[27,"await",[[23,["kredits","totalKreditsEarned"]]],null],false],[10],[0," kredits confirmed and issued to\\n "],[7,"span"],[11,"class","number"],[9],[1,[23,["contributorsWithKredits","length"]],false],[10],[0," contributors\\n "],[10],[0,"\\n "],[7,"p"],[11,"class","stats"],[9],[0,"\\n "],[1,[27,"input",null,[["type","id","checked"],["checkbox","hide-unnconfirmed-kredits",[23,["showUnconfirmedKredits"]]]]],false],[0,"\\n "],[7,"label"],[11,"for","hide-unnconfirmed-kredits"],[9],[0,"Show unconfirmed kredits in toplist"],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n\\n "],[7,"section"],[11,"id","contributions-by-type"],[9],[0,"\\n "],[7,"header"],[9],[0,"\\n "],[7,"h2"],[9],[0,"Contributions by type"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"div"],[11,"class","content"],[9],[0,"\\n "],[1,[27,"chart-contributions-by-type",null,[["contributions"],[[23,["contributions"]]]]],false],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n\\n "],[7,"div"],[11,"id","contributions"],[9],[0,"\\n"],[4,"if",[[23,["contributionsUnconfirmed"]]],null,{"statements":[[0," "],[7,"section"],[11,"id","contributions-unconfirmed"],[9],[0,"\\n "],[7,"header"],[9],[0,"\\n "],[7,"h2"],[9],[0,"Latest Contributions"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"div"],[11,"class","content"],[9],[0,"\\n"],[0," "],[1,[27,"contribution-list",null,[["contributions","vetoContribution","contractInteractionEnabled"],[[23,["contributionsUnconfirmedSorted"]],[27,"action",[[22,0,[]],"vetoContribution"],null],[23,["kredits","hasAccounts"]]]]],false],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null],[0,"\\n "],[7,"section"],[11,"id","contributions-confirmed"],[9],[0,"\\n "],[7,"header"],[9],[0,"\\n "],[7,"h2"],[9],[0,"Confirmed Contributions"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"div"],[11,"class","content"],[9],[0,"\\n "],[1,[27,"contribution-list",null,[["contributions","vetoContribution"],[[23,["contributionsConfirmedSorted"]],[27,"action",[[22,0,[]],"vetoContribution"],null]]]],false],[0,"\\n "],[10],[0,"\\n\\n"],[4,"if",[[23,["kredits","hasAccounts"]]],null,{"statements":[[0," "],[7,"p"],[11,"class","actions"],[9],[0,"\\n "],[4,"link-to",["proposals.new"],null,{"statements":[[0,"Create new proposal"]],"parameters":[]},null],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[10],[0,"\\n "],[10],[0,"\\n\\n"],[4,"if",[[23,["kredits","hasAccounts"]]],null,{"statements":[[0," "],[7,"section"],[11,"id","add-contributor"],[9],[0,"\\n "],[7,"header"],[9],[0,"\\n "],[7,"h2"],[9],[0,"Add Contributor"],[10],[0,"\\n "],[10],[0,"\\n\\n "],[7,"div"],[11,"class","content"],[9],[0,"\\n"],[4,"if",[[23,["kredits","currentUser","isCore"]]],null,{"statements":[[0," "],[1,[27,"add-contributor",null,[["contributors","save"],[[23,["contributors"]],[27,"action",[[22,0,[]],"save"],null]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," Only core team members can add new contributors. Please ask someone to set you up.\\n"]],"parameters":[]}],[0," "],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null],[0,"\\n"],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"kredits-web/templates/index.hbs"}})
+e.default=t}),define("kredits-web/templates/proposals/new",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
+var t=Ember.HTMLBars.template({id:"vauAEy3a",block:'{"symbols":[],"statements":[[7,"section"],[11,"id","add-proposal"],[9],[0,"\\n "],[7,"header"],[9],[0,"\\n "],[7,"h2"],[9],[0,"Add Proposal"],[10],[0,"\\n "],[10],[0,"\\n\\n "],[7,"div"],[11,"class","content"],[9],[0,"\\n "],[1,[27,"add-proposal",null,[["contributors","save"],[[23,["minedContributors"]],[27,"action",[[22,0,[]],"save"],null]]]],false],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n\\n"]],"hasEval":false}',meta:{moduleName:"kredits-web/templates/proposals/new.hbs"}})
+e.default=t}),define("kredits-web/utils/cps/bignumber",["exports","npm:ethers"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e,n){return Ember.computed(e,{get:function(){var r=this.get(e)
+return r&&t.default.utils.BigNumber.isBigNumber(r)?r[n]():r},set:function(r,i){var o=t.default.utils.bigNumberify(i)
+return this.set(e,o),o[n]()}})}})
+define("kredits-web/utils/cps/kredits",["exports","npm:ethers","kredits-web/utils/format-kredits"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
+return Ember.computed(e,{get:function(){var t=this.get(e)
+return(0,n.default)(t,r)},set:function(i,o){var s=t.default.utils.bigNumberify(o)
+return this.set(e,s),(0,n.default)(s,r)}})}}),define("kredits-web/utils/format-kredits",["exports","npm:ethers"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.default.utils.formatEther(e)
+n.decimals||(r=parseInt(r).toString())
+return r}}),define("kredits-web/utils/group-by",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e,t){var n=Ember.A(),r=e
+r&&r.forEach(function(e){var r=Ember.get(e,t),i=n.findBy("value",r)
+Ember.isPresent(i)?Ember.get(i,"items").push(e):(i={property:t,value:r,items:[e]},n.push(i))})
+return n}}),define("kredits-web/config/environment",[],function(){try{var e="kredits-web/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(decodeURIComponent(t))}
+return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("kredits-web/app").default.create({name:"kredits-web",version:"1.0.0+4c2d95f8"})
+
+//# sourceMappingURL=kredits-web-f60c75d6ff7a9c4afb0c9272d7945362.map
\ No newline at end of file
diff --git a/assets/kredits-web-f60c75d6ff7a9c4afb0c9272d7945362.map b/assets/kredits-web-f60c75d6ff7a9c4afb0c9272d7945362.map
new file mode 100644
index 0000000..75f1942
--- /dev/null
+++ b/assets/kredits-web-f60c75d6ff7a9c4afb0c9272d7945362.map
@@ -0,0 +1 @@
+{"version":3,"sources":["vendor/ember-cli/app-prefix.js","kredits-web/app.js","kredits-web/components/add-contributor/component.js","kredits-web/components/add-contributor/template.js","kredits-web/components/add-proposal/component.js","kredits-web/components/add-proposal/template.js","kredits-web/components/chart-contributions-by-type/component.js","kredits-web/components/chart-contributions-by-type/template.js","kredits-web/components/contribution-list/component.js","kredits-web/components/contribution-list/template.js","kredits-web/components/contributor-list/component.js","kredits-web/components/contributor-list/template.js","kredits-web/components/ember-chart.js","kredits-web/components/loading-spinner/component.js","kredits-web/components/loading-spinner/template.js","kredits-web/components/proposal-list/component.js","kredits-web/components/proposal-list/template.js","kredits-web/components/user-avatar/component.js","kredits-web/components/user-avatar/template.js","kredits-web/controllers/application.js","kredits-web/controllers/index.js","kredits-web/controllers/proposals/new.js","kredits-web/helpers/and.js","kredits-web/helpers/app-version.js","kredits-web/helpers/await.js","kredits-web/helpers/contribution-status.js","kredits-web/helpers/eq.js","kredits-web/helpers/gt.js","kredits-web/helpers/gte.js","kredits-web/helpers/is-array.js","kredits-web/helpers/is-confirmed-contribution.js","kredits-web/helpers/is-current-user.js","kredits-web/helpers/is-equal.js","kredits-web/helpers/is-fulfilled.js","kredits-web/helpers/is-pending.js","kredits-web/helpers/is-rejected.js","kredits-web/helpers/lt.js","kredits-web/helpers/lte.js","kredits-web/helpers/not-eq.js","kredits-web/helpers/not.js","kredits-web/helpers/or.js","kredits-web/helpers/promise-all.js","kredits-web/helpers/promise-hash.js","kredits-web/helpers/promise-rejected-reason.js","kredits-web/helpers/xor.js","kredits-web/initializers/app-version.js","kredits-web/initializers/container-debug-adapter.js","kredits-web/initializers/export-application-global.js","kredits-web/models/contribution.js","kredits-web/models/contributor.js","kredits-web/models/proposal.js","kredits-web/resolver.js","kredits-web/router.js","kredits-web/routes/application.js","kredits-web/services/ajax.js","kredits-web/services/kredits.js","kredits-web/templates/application-loading.js","kredits-web/templates/application.js","kredits-web/templates/index.js","kredits-web/templates/proposals/new.js","kredits-web/utils/cps/bignumber.js","kredits-web/utils/cps/kredits.js","kredits-web/utils/format-kredits.js","kredits-web/utils/group-by.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"names":["define","_exports","_resolver","_emberLoadInitializers","_environment","Object","defineProperty","value","default","App","Ember","Application","extend","modulePrefix","podModulePrefix","Resolver","_default","Component","kredits","inject","service","attributes","isValidAccount","computed","notEmpty","isValidName","isValidURL","isValidGithubUID","isValidGithubUsername","isValidGiteaUsername","isValidWikiUsername","isValid","and","inProgress","init","this","_super","apply","arguments","set","account","name","kind","url","github_username","github_uid","gitea_username","wiki_username","didInsertElement","reset","setProperties","actions","submit","_this","keys","contributor","getProperties","save","then","window","scroll","catch","err","console","log","alert","finally","HTMLBars","template","id","block","meta","moduleName","contributors","freeze","isValidContributor","isValidAmount","parseInt","amount","isValidDescription","isValidUrl","contributorId","description","proposal","saved","categoryColors","contributions","chartOptions","legend","display","chartData","map","c","reduce","kinds","datasets","data","borderColor","borderWidth","labels","tagName","classNames","veto","contributionId","contractInteractionEnabled","vetoContribution","selectedContributor","toggleContributorInfo","showMetadata","contributorList","setEach","_emberChart","confirm","proposalId","confirmProposal","attributeBindings","src","alias","title","Controller","currentBlock","contributionsConfirmed","contributionsUnconfirmed","contributionsSorting","contributionsUnconfirmedSorted","sort","contributionsConfirmedSorted","kreditsByContributor","kreditsToplistSorting","showUnconfirmedKredits","kreditsToplist","hideUnconfirmedKredits","not","transaction","debug","hash","vote","addContributor","pushObject","minedContributors","filterBy","findBy","contributorIpfsHash","get","addProposal","transitionToRoute","_and","enumerable","_regexp","appVersion","_","length","undefined","version","APP","versionOnly","hideSha","shaOnly","hideVersion","match","showExtended","versionExtendedRegExp","versionRegExp","shaRegExp","Helper","helper","_await","_slicedToArray","arr","i","Array","isArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","Symbol","iterator","next","done","push","_iterableToArrayLimit","TypeError","_nonIterableRest","compute","_ref","contribution","vetoed","confirmedAt","_equal","equal","_gt","gt","_gte","gte","_isArray","currentUser","isPresent","_isEqual","isEqual","_isFulfilled","isFulfilled","_isPending","isPending","_isRejected","isRejected","_lt","lt","_lte","lte","_notEqual","notEq","_not","_or","or","_promiseAll","promiseAll","_promiseHash","promiseHash","_promiseRejectedReason","_xor","xor","_initializerFactory","initialize","_containerDebugAdapter","app","register","application","exportApplicationGlobal","theGlobal","global","self","globalName","String","classify","reopen","willDestroy","_bignumber","ipfsHash","creatorAccount","details","ipfsData","_kredits","balance","totalKreditsEarned","contributionsCount","isCore","avatarURL","concat","votesCount","votesNeeded","executed","isExecuted","_emberResolver","Router","location","locationType","rootURL","route","Route","beforeModel","transition","setup","preflightChecks","error","retry","afterModel","loadInitialData","addContractEventHandlers","_ajax","_npmEthers","_npmKreditsContracts","_groupBy","_formatKredits","_contributor","_proposal","_contribution","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","Promise","_asyncToGenerator","fn","args","Service","currentUserAccounts","proposals","currentUserIsContributor","currentUserIsCore","hasAccounts","accountNeedsUnlock","isEmpty","filter","_this2","_this3","contributionsGrouped","contributorsWithUnconfirmed","toString","contributorsWithOnlyConfirmed","includes","amountUnconfirmed","items","mapBy","a","b","create","amountConfirmed","amountTotal","forEach","getEthProvider","ethProvider","_this4","RSVP","regeneratorRuntime","mark","_callee2","instantiateWithoutAccount","instantiateWithAccount","_instantiateWithAccount","wrap","_context2","prev","_callee","web3Provider","context","_context","providers","Web3Provider","listAccounts","accounts","ethSigner","getSigner","stop","_x2","_x3","web3ProviderUrl","JsonRpcProvider","ethereum","enable","t0","web3","currentProvider","_x","_this5","providerAndSigner","addresses","Kernel","kreditsKernelAddress","apm","kreditsApmDomain","ipfsConfig","ipfs","_ref5","_callee3","_context3","provider","getBlockNumber","t1","sent","call","getCurrentUser","contributorData","abrupt","_x4","totalSupply","Token","functions","total","Contribution","toNumber","_this6","getContributors","pushObjects","getContributions","uidInt","Contributor","add","gasLimit","all","_this7","Proposal","getProposals","_this8","_this9","page","size","_this10","getContributorIdByAddress","getById","findProposalById","on","handleContributionVetoed","bind","handleProposalCreated","handleProposalVoted","handleProposalExecuted","handleTransfer","_this11","voterId","totalVotes","incrementProperty","from","to","decrementProperty","dependentKey","converterMethod","utils","BigNumber","isBigNumber","bnValue","bigNumberify","options","etherValue","formatEther","decimals","collection","property","groups","A","item","group","metaName","prefix","rawConfig","document","querySelector","getAttribute","exports","JSON","parse","decodeURIComponent","Error","runningTests","require"],"mappings":"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","file":"kredits-web.js","sourcesContent":["'use strict';\n\n\n","define(\"kredits-web/app\", [\"exports\", \"kredits-web/resolver\", \"ember-load-initializers\", \"kredits-web/config/environment\"], function (_exports, _resolver, _emberLoadInitializers, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var App = Ember.Application.extend({\n modulePrefix: _environment.default.modulePrefix,\n podModulePrefix: _environment.default.podModulePrefix,\n Resolver: _resolver.default\n });\n (0, _emberLoadInitializers.default)(App, _environment.default.modulePrefix);\n var _default = App;\n _exports.default = _default;\n});","define(\"kredits-web/components/add-contributor/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n kredits: Ember.inject.service(),\n attributes: null,\n // TODO: add proper address validation\n isValidAccount: Ember.computed.notEmpty('account'),\n isValidName: Ember.computed.notEmpty('name'),\n isValidURL: Ember.computed.notEmpty('url'),\n isValidGithubUID: Ember.computed.notEmpty('github_uid'),\n isValidGithubUsername: Ember.computed.notEmpty('github_username'),\n isValidGiteaUsername: Ember.computed.notEmpty('gitea_username'),\n isValidWikiUsername: Ember.computed.notEmpty('wiki_username'),\n isValid: Ember.computed.and('isValidAccount', 'isValidName', 'isValidGithubUID'),\n inProgress: false,\n init: function init() {\n this._super.apply(this, arguments);\n\n this.set('attributes', {\n account: null,\n name: null,\n kind: 'person',\n url: null,\n github_username: null,\n github_uid: null,\n gitea_username: null,\n wiki_username: null\n });\n },\n didInsertElement: function didInsertElement() {\n this._super.apply(this, arguments);\n\n this.reset();\n },\n reset: function reset() {\n this.setProperties(this.attributes);\n },\n actions: {\n submit: function submit() {\n var _this = this;\n\n if (!this.isValid) {\n alert('Invalid data. Please review and try again.');\n return;\n }\n\n var attributes = Object.keys(this.attributes);\n var contributor = this.getProperties(attributes);\n this.set('inProgress', true);\n this.save(contributor).then(function () {\n _this.reset();\n\n window.scroll(0, 0);\n }).catch(function (err) {\n console.log(err);\n window.alert('Something went wrong. Please check the browser console.');\n }).finally(function () {\n _this.set('inProgress', false);\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-contributor/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"tTvY+kme\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"form\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"account\\\",\\\"text\\\",\\\"0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4\\\",[23,[\\\"account\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidAccount\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"select\\\"],[11,\\\"required\\\",\\\"\\\"],[12,\\\"onchange\\\",[27,\\\"action\\\",[[22,0,[]],[27,\\\"mut\\\",[[23,[\\\"kind\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[9],[0,\\\"\\\\n \\\"],[7,\\\"option\\\"],[11,\\\"value\\\",\\\"person\\\"],[12,\\\"selected\\\",[27,\\\"eq\\\",[[23,[\\\"kind\\\"]],\\\"person\\\"],null]],[9],[0,\\\"Person\\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"option\\\"],[11,\\\"value\\\",\\\"organization\\\"],[12,\\\"selected\\\",[27,\\\"eq\\\",[[23,[\\\"kind\\\"]],\\\"organization\\\"],null]],[9],[0,\\\"Organization\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"name\\\",\\\"text\\\",\\\"Name\\\",[23,[\\\"name\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidName\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"url\\\",\\\"text\\\",\\\"URL\\\",[23,[\\\"url\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidURL\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"github_uid\\\",\\\"text\\\",\\\"GitHub UID (123)\\\",[23,[\\\"github_uid\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidGithubUID\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"github_username\\\",\\\"text\\\",\\\"GitHub username\\\",[23,[\\\"github_username\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidGithubUsername\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"gitea_username\\\",\\\"text\\\",\\\"Gitea username\\\",[23,[\\\"gitea_username\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidGiteaUsername\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"name\\\",\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"wiki_username\\\",\\\"text\\\",\\\"Wiki Username\\\",[23,[\\\"wiki_username\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidWikiUsername\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"actions\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"type\\\",\\\"disabled\\\",\\\"value\\\"],[\\\"submit\\\",[23,[\\\"inProgress\\\"]],[27,\\\"if\\\",[[23,[\\\"inProgress\\\"]],\\\"Processing\\\",\\\"Save\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"],[3,\\\"action\\\",[[22,0,[]],\\\"submit\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[10],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-contributor/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-proposal/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n attributes: null,\n contributors: Object.freeze([]),\n isValidContributor: Ember.computed.notEmpty('contributorId'),\n isValidAmount: Ember.computed('amount', function () {\n return parseInt(this.amount, 10) > 0;\n }),\n isValidDescription: Ember.computed.notEmpty('description'),\n isValidUrl: Ember.computed.notEmpty('url'),\n isValid: Ember.computed.and('isValidContributor', 'isValidAmount', 'isValidDescription'),\n init: function init() {\n this._super.apply(this, arguments); // Default attributes used by reset\n\n\n this.set('attributes', {\n contributorId: null,\n kind: 'community',\n amount: null,\n description: null,\n url: null\n });\n },\n didInsertElement: function didInsertElement() {\n this._super.apply(this, arguments);\n\n this.reset();\n },\n reset: function reset() {\n this.setProperties(this.attributes);\n },\n actions: {\n submit: function submit() {\n var _this = this;\n\n if (!this.isValid) {\n alert('Invalid data. Please review and try again.');\n return;\n }\n\n var attributes = Object.keys(this.attributes);\n var proposal = this.getProperties(attributes);\n var saved = this.save(proposal); // The promise handles inProgress\n\n this.set('inProgress', saved);\n saved.then(function () {\n _this.reset();\n\n window.scroll(0, 0);\n window.alert('Proposal added.');\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/add-proposal/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"3DOgBCvD\",\n \"block\": \"{\\\"symbols\\\":[\\\"contributor\\\"],\\\"statements\\\":[[7,\\\"form\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"select\\\"],[11,\\\"required\\\",\\\"\\\"],[12,\\\"onchange\\\",[27,\\\"action\\\",[[22,0,[]],[27,\\\"mut\\\",[[23,[\\\"contributorId\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[9],[0,\\\"\\\\n \\\"],[7,\\\"option\\\"],[11,\\\"value\\\",\\\"\\\"],[11,\\\"selected\\\",\\\"\\\"],[11,\\\"disabled\\\",\\\"\\\"],[11,\\\"hidden\\\",\\\"\\\"],[9],[0,\\\"Contributor\\\"],[10],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[23,[\\\"contributors\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"option\\\"],[12,\\\"value\\\",[22,1,[\\\"id\\\"]]],[12,\\\"selected\\\",[27,\\\"eq\\\",[[23,[\\\"contributorId\\\"]],[22,1,[\\\"id\\\"]]],null]],[9],[1,[22,1,[\\\"github_username\\\"]],false],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\" \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"select\\\"],[11,\\\"required\\\",\\\"\\\"],[12,\\\"onchange\\\",[27,\\\"action\\\",[[22,0,[]],[27,\\\"mut\\\",[[23,[\\\"kind\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[9],[0,\\\"\\\\n \\\"],[7,\\\"option\\\"],[11,\\\"value\\\",\\\"community\\\"],[12,\\\"selected\\\",[27,\\\"eq\\\",[[23,[\\\"kind\\\"]],\\\"community\\\"],null]],[9],[0,\\\"Community\\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"option\\\"],[11,\\\"value\\\",\\\"design\\\"],[12,\\\"selected\\\",[27,\\\"eq\\\",[[23,[\\\"kind\\\"]],\\\"design\\\"],null]],[9],[0,\\\"Design\\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"option\\\"],[11,\\\"value\\\",\\\"dev\\\"],[12,\\\"selected\\\",[27,\\\"eq\\\",[[23,[\\\"kind\\\"]],\\\"dev\\\"],null]],[9],[0,\\\"Development\\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"option\\\"],[11,\\\"value\\\",\\\"docs\\\"],[12,\\\"selected\\\",[27,\\\"eq\\\",[[23,[\\\"kind\\\"]],\\\"docs\\\"],null]],[9],[0,\\\"Documentation\\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"option\\\"],[11,\\\"value\\\",\\\"ops\\\"],[12,\\\"selected\\\",[27,\\\"eq\\\",[[23,[\\\"kind\\\"]],\\\"ops\\\"],null]],[9],[0,\\\"IT Operations\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",\\\"100\\\",[23,[\\\"amount\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidAmount\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",\\\"Description\\\",[23,[\\\"description\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidDescription\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"type\\\",\\\"placeholder\\\",\\\"value\\\",\\\"class\\\"],[\\\"text\\\",\\\"URL (optional)\\\",[23,[\\\"url\\\"]],[27,\\\"if\\\",[[23,[\\\"isValidUrl\\\"]],\\\"valid\\\",\\\"\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"actions\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"type\\\",\\\"disabled\\\",\\\"value\\\"],[\\\"submit\\\",[27,\\\"is-pending\\\",[[23,[\\\"inProgress\\\"]]],null],[27,\\\"if\\\",[[27,\\\"is-pending\\\",[[23,[\\\"inProgress\\\"]]],null],\\\"Processing\\\",\\\"Save\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[4,\\\"link-to\\\",[\\\"index\\\"],null,{\\\"statements\\\":[[0,\\\"Back\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"],[3,\\\"action\\\",[[22,0,[]],\\\"submit\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[10],[0,\\\"\\\\n\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/add-proposal/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/chart-contributions-by-type/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var categoryColors = {\n community: \"#fb6868\",\n design: \"#fbe468\",\n dev: \"#e068fb\",\n docs: \"#97fb68\",\n ops: \"#8f68fb\"\n };\n\n var _default = Ember.Component.extend({\n contributions: null,\n chartOptions: Object.freeze({\n legend: {\n display: false\n }\n }),\n chartData: Ember.computed('contributions', function () {\n var kredits = this.contributions.map(function (c) {\n return {\n kind: c.kind,\n amount: c.amount\n };\n }).reduce(function (kinds, c) {\n if (c.kind in kinds) {\n kinds[c.kind] = kinds[c.kind] + c.amount;\n } else {\n kinds[c.kind] = c.amount;\n }\n\n return kinds;\n }, {});\n return {\n datasets: [{\n data: [kredits['community'], kredits['design'], kredits['dev'], kredits['ops'], kredits['docs']],\n borderColor: [categoryColors.community, categoryColors.design, categoryColors.dev, categoryColors.ops, categoryColors.docs],\n borderWidth: 1\n }],\n labels: ['Community', 'Design', 'Development', 'Operations & Infrastructure', 'Documentation']\n };\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/chart-contributions-by-type/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"knNRD8x3\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"div\\\"],[11,\\\"class\\\",\\\"chart\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"ember-chart\\\",null,[[\\\"type\\\",\\\"data\\\",\\\"options\\\",\\\"width\\\",\\\"height\\\"],[\\\"doughnut\\\",[23,[\\\"chartData\\\"]],[23,[\\\"chartOptions\\\"]],200,200]]],false],[0,\\\"\\\\n\\\"],[10]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/chart-contributions-by-type/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contribution-list/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n tagName: 'ul',\n classNames: ['contribution-list'],\n actions: {\n veto: function veto(contributionId) {\n if (this.contractInteractionEnabled) {\n this.vetoContribution(contributionId);\n } else {\n window.alert('Only members can veto contributions. Please ask someone to set you up.');\n }\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contribution-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"xYW3ZUYB\",\n \"block\": \"{\\\"symbols\\\":[\\\"contribution\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[23,[\\\"contributions\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"li\\\"],[12,\\\"data-contribution-id\\\",[22,1,[\\\"id\\\"]]],[12,\\\"class\\\",[28,[[27,\\\"contribution-status\\\",[[22,1,[]]],null],\\\" \\\",[27,\\\"if\\\",[[22,1,[\\\"vetoed\\\"]],\\\"vetoed\\\"],null]]]],[9],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"meta\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"recipient\\\"],[9],[1,[27,\\\"user-avatar\\\",null,[[\\\"contributor\\\"],[[22,1,[\\\"contributor\\\"]]]]],false],[10],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[12,\\\"class\\\",[28,[\\\"category \\\",[22,1,[\\\"kind\\\"]]]]],[9],[0,\\\"(\\\"],[1,[22,1,[\\\"kind\\\"]],false],[0,\\\")\\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"title\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,1,[\\\"url\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"a\\\"],[12,\\\"href\\\",[22,1,[\\\"url\\\"]]],[11,\\\"target\\\",\\\"_blank\\\"],[11,\\\"rel\\\",\\\"noopener\\\"],[9],[1,[22,1,[\\\"description\\\"]],false],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[1,[22,1,[\\\"description\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"kredits-amount\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"amount\\\"],[9],[1,[22,1,[\\\"amount\\\"]],false],[10],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"symbol\\\"],[9],[0,\\\"₭S\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,1,[\\\"vetoed\\\"]]],null,{\\\"statements\\\":[[4,\\\"unless\\\",[[27,\\\"is-confirmed-contribution\\\",[[22,1,[]]],null]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"voting\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\"],[11,\\\"class\\\",\\\"small danger\\\"],[9],[0,\\\"veto\\\"],[3,\\\"action\\\",[[22,0,[]],\\\"veto\\\",[22,1,[\\\"id\\\"]]]],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/contribution-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contributor-list/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n tagName: 'table',\n classNames: 'contributor-list',\n selectedContributor: null,\n actions: {\n toggleContributorInfo: function toggleContributorInfo(contributor) {\n if (contributor.showMetadata) {\n contributor.set('showMetadata', false);\n } else {\n this.contributorList.setEach('showMetadata', false);\n contributor.set('showMetadata', true);\n }\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/contributor-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"TJ50ruBI\",\n \"block\": \"{\\\"symbols\\\":[\\\"c\\\"],\\\"statements\\\":[[7,\\\"tbody\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[23,[\\\"contributorList\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"tr\\\"],[11,\\\"role\\\",\\\"button\\\"],[12,\\\"class\\\",[27,\\\"if\\\",[[27,\\\"is-current-user\\\",[[22,1,[\\\"contributor\\\"]]],null],\\\"current-user\\\"],null]],[9],[0,\\\"\\\\n \\\"],[7,\\\"td\\\"],[11,\\\"class\\\",\\\"person\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"user-avatar\\\",null,[[\\\"contributor\\\"],[[22,1,[\\\"contributor\\\"]]]]],false],[0,\\\" \\\"],[1,[22,1,[\\\"contributor\\\",\\\"name\\\"]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"td\\\"],[11,\\\"class\\\",\\\"kredits\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"amount\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,[\\\"showUnconfirmedKredits\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[1,[22,1,[\\\"amountTotal\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[1,[22,1,[\\\"amountConfirmed\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"symbol\\\"],[9],[0,\\\"₭S\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[3,\\\"action\\\",[[22,0,[]],\\\"toggleContributorInfo\\\",[22,1,[]]]],[10],[0,\\\"\\\\n \\\"],[7,\\\"tr\\\"],[12,\\\"class\\\",[28,[\\\"metadata \\\",[27,\\\"if\\\",[[27,\\\"is-current-user\\\",[[22,1,[\\\"contributor\\\"]]],null],\\\"current-user\\\"],null],\\\" \\\",[27,\\\"if\\\",[[22,1,[\\\"showMetadata\\\"]],\\\"visible\\\"],null]]]],[9],[0,\\\"\\\\n \\\"],[7,\\\"td\\\"],[11,\\\"colspan\\\",\\\"2\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"ul\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"li\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\"],[12,\\\"href\\\",[28,[\\\"https://rinkeby.etherscan.io/address/\\\",[22,1,[\\\"contributor\\\",\\\"account\\\"]]]]],[11,\\\"target\\\",\\\"_blank\\\"],[11,\\\"rel\\\",\\\"noopener\\\"],[9],[0,\\\"Inspect Ethereum transactions\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,1,[\\\"contributor\\\",\\\"ipfsHash\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"li\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\"],[12,\\\"href\\\",[28,[\\\"https://ipfs.io/ipfs/\\\",[22,1,[\\\"contributor\\\",\\\"ipfsHash\\\"]]]]],[11,\\\"target\\\",\\\"_blank\\\"],[11,\\\"rel\\\",\\\"noopener\\\"],[9],[0,\\\"Inspect IPFS profile\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[10],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,1,[\\\"showMetadata\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"pre\\\"],[9],[1,[22,1,[\\\"contributor\\\",\\\"ipfsData\\\"]],false],[10],[0,\\\"\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[10],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/contributor-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/ember-chart\", [\"exports\", \"ember-cli-chart/components/ember-chart\"], function (_exports, _emberChart) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _emberChart.default;\n _exports.default = _default;\n});","define(\"kredits-web/components/loading-spinner/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n classNames: ['loading-spinner']\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/loading-spinner/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"b6SWTOaj\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"p\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"svg\\\"],[11,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[11,\\\"xmlns:xlink\\\",\\\"http://www.w3.org/1999/xlink\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[11,\\\"version\\\",\\\"1.1\\\"],[11,\\\"x\\\",\\\"0px\\\"],[11,\\\"y\\\",\\\"0px\\\"],[11,\\\"viewBox\\\",\\\"0 0 132 100\\\"],[11,\\\"enable-background\\\",\\\"new 0 0 100 100\\\"],[11,\\\"xml:space\\\",\\\"preserve\\\",\\\"http://www.w3.org/XML/1998/namespace\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"path\\\"],[11,\\\"id\\\",\\\"path-comet\\\"],[11,\\\"d\\\",\\\"M79.062,24.173L79.062,24.173l-0.021-0.011c-0.068-0.03-0.137-0.062-0.204-0.093L42.392,7.337\\\\n c0,0,3.065,14.104,4.458,18.019l0,0c0,0-41.754-12.481-46.85-13.67c1.67,6.52,30.607,62.492,30.607,62.492\\\\n c5.848,11.873,19.394,18.485,33.522,18.485c19.811,0,35.87-16.059,35.87-35.869C100,42.313,91.418,29.837,79.062,24.173z\\\"],[9],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"],[10],[0,\\\"\\\\n\\\"],[7,\\\"p\\\"],[9],[0,\\\"\\\\n Loading data...\\\\n\\\"],[10],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/loading-spinner/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/proposal-list/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n tagName: 'ul',\n classNames: ['proposal-list'],\n actions: {\n confirm: function confirm(proposalId) {\n if (this.contractInteractionEnabled) {\n this.confirmProposal(proposalId);\n } else {\n window.alert('Only members can vote on proposals. Please ask someone to set you up.');\n }\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/proposal-list/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"pZHMSOZc\",\n \"block\": \"{\\\"symbols\\\":[\\\"proposal\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[23,[\\\"proposals\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"li\\\"],[12,\\\"data-proposal-id\\\",[22,1,[\\\"id\\\"]]],[12,\\\"class\\\",[27,\\\"if\\\",[[22,1,[\\\"isExecuted\\\"]],\\\"confirmed\\\",\\\"unconfirmed\\\"],null]],[9],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"meta\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[12,\\\"class\\\",[28,[\\\"category \\\",[22,1,[\\\"kind\\\"]]]]],[9],[0,\\\"♥ (\\\"],[1,[22,1,[\\\"kind\\\"]],false],[0,\\\")\\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"recipient\\\"],[9],[1,[22,1,[\\\"contributor\\\",\\\"name\\\"]],false],[0,\\\":\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"kredits-amount\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"amount\\\"],[9],[1,[22,1,[\\\"amount\\\"]],false],[10],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"symbol\\\"],[9],[0,\\\"₭S\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"description\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"description\\\"],[9],[1,[22,1,[\\\"description\\\"]],false],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"voting\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,1,[\\\"isExecuted\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"votes\\\"],[9],[0,\\\"(\\\"],[1,[22,1,[\\\"votesCount\\\"]],false],[0,\\\"/\\\"],[1,[22,1,[\\\"votesNeeded\\\"]],false],[0,\\\" votes)\\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"button\\\"],[9],[0,\\\"+1\\\"],[3,\\\"action\\\",[[22,0,[]],\\\"confirm\\\",[22,1,[\\\"id\\\"]]]],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/proposal-list/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/user-avatar/component\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n contributor: null,\n tagName: 'img',\n classNames: ['avatar'],\n attributeBindings: ['src', 'title'],\n src: Ember.computed.alias('contributor.avatarURL'),\n title: Ember.computed.alias('contributor.name')\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/components/user-avatar/template\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"rnnAjEgP\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/components/user-avatar/template.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service()\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/index\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n contributions: Ember.computed.alias('kredits.contributions'),\n contributionsConfirmed: Ember.computed.alias('kredits.contributionsConfirmed'),\n contributionsUnconfirmed: Ember.computed.alias('kredits.contributionsUnconfirmed'),\n contributionsSorting: Object.freeze(['id:desc']),\n contributionsUnconfirmedSorted: Ember.computed.sort('contributionsUnconfirmed', 'contributionsSorting'),\n contributionsConfirmedSorted: Ember.computed.sort('contributionsConfirmed', 'contributionsSorting'),\n kreditsByContributor: Ember.computed.alias('kredits.kreditsByContributor'),\n kreditsToplistSorting: Ember.computed('showUnconfirmedKredits', function () {\n return this.showUnconfirmedKredits ? ['amountTotal:desc'] : ['amountConfirmed:desc'];\n }),\n kreditsToplist: Ember.computed.sort('kreditsByContributor', 'kreditsToplistSorting'),\n showUnconfirmedKredits: true,\n hideUnconfirmedKredits: Ember.computed.not('showUnconfirmedKredits'),\n actions: {\n vetoContribution: function vetoContribution(contributionId) {\n this.kredits.veto(contributionId).then(function (transaction) {\n console.debug('[controllers:index] Veto submitted to Ethereum blockhain: ' + transaction.hash);\n });\n },\n confirmProposal: function confirmProposal(proposalId) {\n this.kredits.vote(proposalId).then(function (transaction) {\n console.debug('[controllers:index] Vote submitted to Ethereum blockhain: ' + transaction.hash);\n });\n },\n save: function save(contributor) {\n var _this = this;\n\n return this.kredits.addContributor(contributor).then(function (contributor) {\n _this.contributors.pushObject(contributor);\n\n return contributor;\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/controllers/proposals/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend({\n kredits: Ember.inject.service(),\n contributors: Ember.computed.alias('kredits.contributors'),\n minedContributors: Ember.computed.filterBy('contributors', 'id'),\n actions: {\n save: function save(proposal) {\n var _this = this;\n\n // contributorIpfsHash is needed for the proposal ipfs data. I'm not happy to do this here but I think to load all the contributors in addProposal again is a bit too much. I hope we can refactor it later.\n var contributor = this.contributors.findBy('id', proposal.contributorId);\n proposal.contributorIpfsHash = contributor.get('ipfsHash');\n return this.kredits.addProposal(proposal).then(function (proposal) {\n _this.transitionToRoute('index');\n\n return proposal;\n });\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/and\", [\"exports\", \"ember-truth-helpers/helpers/and\"], function (_exports, _and) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _and.default;\n }\n });\n Object.defineProperty(_exports, \"and\", {\n enumerable: true,\n get: function get() {\n return _and.and;\n }\n });\n});","define(\"kredits-web/helpers/app-version\", [\"exports\", \"kredits-web/config/environment\", \"ember-cli-app-version/utils/regexp\"], function (_exports, _environment, _regexp) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.appVersion = appVersion;\n _exports.default = void 0;\n\n function appVersion(_) {\n var hash = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var version = _environment.default.APP.version; // e.g. 1.0.0-alpha.1+4jds75hf\n // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n\n var versionOnly = hash.versionOnly || hash.hideSha;\n var shaOnly = hash.shaOnly || hash.hideVersion;\n var match = null;\n\n if (versionOnly) {\n if (hash.showExtended) {\n match = version.match(_regexp.versionExtendedRegExp); // 1.0.0-alpha.1\n } // Fallback to just version\n\n\n if (!match) {\n match = version.match(_regexp.versionRegExp); // 1.0.0\n }\n }\n\n if (shaOnly) {\n match = version.match(_regexp.shaRegExp); // 4jds75hf\n }\n\n return match ? match[0] : version;\n }\n\n var _default = Ember.Helper.helper(appVersion);\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/await\", [\"exports\", \"ember-promise-helpers/helpers/await\"], function (_exports, _await) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _await.default;\n }\n });\n});","define(\"kredits-web/helpers/contribution-status\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\n function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n contribution = _ref2[0];\n\n if (contribution.vetoed) {\n return 'vetoed';\n } else if (contribution.confirmedAt > this.currentBlock) {\n return 'unconfirmed';\n } else {\n return 'confirmed';\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/eq\", [\"exports\", \"ember-truth-helpers/helpers/equal\"], function (_exports, _equal) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _equal.default;\n }\n });\n Object.defineProperty(_exports, \"equal\", {\n enumerable: true,\n get: function get() {\n return _equal.equal;\n }\n });\n});","define(\"kredits-web/helpers/gt\", [\"exports\", \"ember-truth-helpers/helpers/gt\"], function (_exports, _gt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _gt.default;\n }\n });\n Object.defineProperty(_exports, \"gt\", {\n enumerable: true,\n get: function get() {\n return _gt.gt;\n }\n });\n});","define(\"kredits-web/helpers/gte\", [\"exports\", \"ember-truth-helpers/helpers/gte\"], function (_exports, _gte) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _gte.default;\n }\n });\n Object.defineProperty(_exports, \"gte\", {\n enumerable: true,\n get: function get() {\n return _gte.gte;\n }\n });\n});","define(\"kredits-web/helpers/is-array\", [\"exports\", \"ember-truth-helpers/helpers/is-array\"], function (_exports, _isArray) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isArray.default;\n }\n });\n Object.defineProperty(_exports, \"isArray\", {\n enumerable: true,\n get: function get() {\n return _isArray.isArray;\n }\n });\n});","define(\"kredits-web/helpers/is-confirmed-contribution\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\n function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentBlock: Ember.computed.alias('kredits.currentBlock'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n contribution = _ref2[0];\n\n return !contribution.vetoed && contribution.confirmedAt <= this.currentBlock;\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/is-current-user\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\n function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\n function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\n function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n var _default = Ember.Helper.extend({\n kredits: Ember.inject.service(),\n currentUser: Ember.computed.alias('kredits.currentUser'),\n compute: function compute(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n contributor = _ref2[0];\n\n return Ember.isPresent(contributor) && Ember.isPresent(this.currentUser) && contributor.account === this.currentUser.account;\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/helpers/is-equal\", [\"exports\", \"ember-truth-helpers/helpers/is-equal\"], function (_exports, _isEqual) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isEqual.default;\n }\n });\n Object.defineProperty(_exports, \"isEqual\", {\n enumerable: true,\n get: function get() {\n return _isEqual.isEqual;\n }\n });\n});","define(\"kredits-web/helpers/is-fulfilled\", [\"exports\", \"ember-promise-helpers/helpers/is-fulfilled\"], function (_exports, _isFulfilled) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isFulfilled.default;\n }\n });\n Object.defineProperty(_exports, \"isFulfilled\", {\n enumerable: true,\n get: function get() {\n return _isFulfilled.isFulfilled;\n }\n });\n});","define(\"kredits-web/helpers/is-pending\", [\"exports\", \"ember-promise-helpers/helpers/is-pending\"], function (_exports, _isPending) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isPending.default;\n }\n });\n Object.defineProperty(_exports, \"isPending\", {\n enumerable: true,\n get: function get() {\n return _isPending.isPending;\n }\n });\n});","define(\"kredits-web/helpers/is-rejected\", [\"exports\", \"ember-promise-helpers/helpers/is-rejected\"], function (_exports, _isRejected) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _isRejected.default;\n }\n });\n Object.defineProperty(_exports, \"isRejected\", {\n enumerable: true,\n get: function get() {\n return _isRejected.isRejected;\n }\n });\n});","define(\"kredits-web/helpers/lt\", [\"exports\", \"ember-truth-helpers/helpers/lt\"], function (_exports, _lt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _lt.default;\n }\n });\n Object.defineProperty(_exports, \"lt\", {\n enumerable: true,\n get: function get() {\n return _lt.lt;\n }\n });\n});","define(\"kredits-web/helpers/lte\", [\"exports\", \"ember-truth-helpers/helpers/lte\"], function (_exports, _lte) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _lte.default;\n }\n });\n Object.defineProperty(_exports, \"lte\", {\n enumerable: true,\n get: function get() {\n return _lte.lte;\n }\n });\n});","define(\"kredits-web/helpers/not-eq\", [\"exports\", \"ember-truth-helpers/helpers/not-equal\"], function (_exports, _notEqual) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _notEqual.default;\n }\n });\n Object.defineProperty(_exports, \"notEq\", {\n enumerable: true,\n get: function get() {\n return _notEqual.notEq;\n }\n });\n});","define(\"kredits-web/helpers/not\", [\"exports\", \"ember-truth-helpers/helpers/not\"], function (_exports, _not) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _not.default;\n }\n });\n Object.defineProperty(_exports, \"not\", {\n enumerable: true,\n get: function get() {\n return _not.not;\n }\n });\n});","define(\"kredits-web/helpers/or\", [\"exports\", \"ember-truth-helpers/helpers/or\"], function (_exports, _or) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _or.default;\n }\n });\n Object.defineProperty(_exports, \"or\", {\n enumerable: true,\n get: function get() {\n return _or.or;\n }\n });\n});","define(\"kredits-web/helpers/promise-all\", [\"exports\", \"ember-promise-helpers/helpers/promise-all\"], function (_exports, _promiseAll) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseAll.default;\n }\n });\n Object.defineProperty(_exports, \"promiseAll\", {\n enumerable: true,\n get: function get() {\n return _promiseAll.promiseAll;\n }\n });\n});","define(\"kredits-web/helpers/promise-hash\", [\"exports\", \"ember-promise-helpers/helpers/promise-hash\"], function (_exports, _promiseHash) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseHash.default;\n }\n });\n Object.defineProperty(_exports, \"promiseHash\", {\n enumerable: true,\n get: function get() {\n return _promiseHash.promiseHash;\n }\n });\n});","define(\"kredits-web/helpers/promise-rejected-reason\", [\"exports\", \"ember-promise-helpers/helpers/promise-rejected-reason\"], function (_exports, _promiseRejectedReason) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _promiseRejectedReason.default;\n }\n });\n});","define(\"kredits-web/helpers/xor\", [\"exports\", \"ember-truth-helpers/helpers/xor\"], function (_exports, _xor) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _xor.default;\n }\n });\n Object.defineProperty(_exports, \"xor\", {\n enumerable: true,\n get: function get() {\n return _xor.xor;\n }\n });\n});","define(\"kredits-web/initializers/app-version\", [\"exports\", \"ember-cli-app-version/initializer-factory\", \"kredits-web/config/environment\"], function (_exports, _initializerFactory, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var name, version;\n\n if (_environment.default.APP) {\n name = _environment.default.APP.name;\n version = _environment.default.APP.version;\n }\n\n var _default = {\n name: 'App Version',\n initialize: (0, _initializerFactory.default)(name, version)\n };\n _exports.default = _default;\n});","define(\"kredits-web/initializers/container-debug-adapter\", [\"exports\", \"ember-resolver/resolvers/classic/container-debug-adapter\"], function (_exports, _containerDebugAdapter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n name: 'container-debug-adapter',\n initialize: function initialize() {\n var app = arguments[1] || arguments[0];\n app.register('container-debug-adapter:main', _containerDebugAdapter.default);\n app.inject('container-debug-adapter:main', 'namespace', 'application:main');\n }\n };\n _exports.default = _default;\n});","define(\"kredits-web/initializers/export-application-global\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.initialize = initialize;\n _exports.default = void 0;\n\n function initialize() {\n var application = arguments[1] || arguments[0];\n\n if (_environment.default.exportApplicationGlobal !== false) {\n var theGlobal;\n\n if (typeof window !== 'undefined') {\n theGlobal = window;\n } else if (typeof global !== 'undefined') {\n theGlobal = global;\n } else if (typeof self !== 'undefined') {\n theGlobal = self;\n } else {\n // no reasonable global, just bail\n return;\n }\n\n var value = _environment.default.exportApplicationGlobal;\n var globalName;\n\n if (typeof value === 'string') {\n globalName = value;\n } else {\n globalName = Ember.String.classify(_environment.default.modulePrefix);\n }\n\n if (!theGlobal[globalName]) {\n theGlobal[globalName] = application;\n application.reopen({\n willDestroy: function willDestroy() {\n this._super.apply(this, arguments);\n\n delete theGlobal[globalName];\n }\n });\n }\n }\n }\n\n var _default = {\n name: 'export-application-global',\n initialize: initialize\n };\n _exports.default = _default;\n});","define(\"kredits-web/models/contribution\", [\"exports\", \"kredits-web/utils/cps/bignumber\"], function (_exports, _bignumber) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: null,\n contributorId: null,\n amount: null,\n confirmedAt: (0, _bignumber.default)('confirmedAtBlock', 'toNumber'),\n vetoed: null,\n ipfsHash: null,\n creatorAccount: null,\n // IPFS\n kind: null,\n description: null,\n details: null,\n url: null,\n ipfsData: '',\n init: function init() {\n this._super.apply(this, arguments);\n\n this.set('details', {});\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/models/contributor\", [\"exports\", \"kredits-web/utils/cps/bignumber\", \"kredits-web/utils/cps/kredits\"], function (_exports, _bignumber, _kredits) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: (0, _bignumber.default)('idRaw', 'toString'),\n account: null,\n balance: (0, _kredits.default)('balanceRaw'),\n totalKreditsEarned: (0, _bignumber.default)('totalKreditsEarnedRaw', 'toNumber'),\n contributionsCount: (0, _bignumber.default)('contributionsCountRaw', 'toNumber'),\n isCore: false,\n ipfsHash: null,\n // IPFS\n kind: null,\n name: null,\n url: null,\n github_username: null,\n github_uid: null,\n wiki_username: null,\n ipfsData: '',\n avatarURL: Ember.computed('github_uid', function () {\n var github_uid = this.github_uid;\n\n if (github_uid) {\n return \"https://avatars2.githubusercontent.com/u/\".concat(github_uid, \"?v=3&s=128\");\n }\n })\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/models/proposal\", [\"exports\", \"kredits-web/utils/cps/bignumber\"], function (_exports, _bignumber) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Object.extend({\n // Contract\n id: (0, _bignumber.default)('idRaw', 'toString'),\n creatorAccount: null,\n contributorId: (0, _bignumber.default)('contributorIdRaw', 'toString'),\n amount: (0, _bignumber.default)('amountRaw', 'toNumber'),\n votesCount: (0, _bignumber.default)('votesCountRaw', 'toNumber'),\n votesNeeded: (0, _bignumber.default)('votesNeededRaw', 'toNumber'),\n executed: null,\n ipfsHash: null,\n // Shortcuts\n isExecuted: Ember.computed.alias('executed'),\n // IPFS\n kind: null,\n description: null,\n details: null,\n url: null,\n ipfsData: '',\n init: function init() {\n this._super.apply(this, arguments);\n\n this.set('details', {});\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/resolver\", [\"exports\", \"ember-resolver\"], function (_exports, _emberResolver) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _emberResolver.default;\n _exports.default = _default;\n});","define(\"kredits-web/router\", [\"exports\", \"kredits-web/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var Router = Ember.Router.extend({\n location: _environment.default.locationType,\n rootURL: _environment.default.rootURL\n });\n Router.map(function () {\n this.route('proposals', function () {\n this.route('new');\n });\n });\n var _default = Router;\n _exports.default = _default;\n});","define(\"kredits-web/routes/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n kredits: Ember.inject.service(),\n beforeModel: function beforeModel(transition) {\n var kredits = this.kredits;\n return kredits.setup().then(function () {\n kredits.get('kredits').preflightChecks().catch(function (error) {\n console.error('Kredits preflight check failed!');\n console.error(error);\n });\n\n if (kredits.get('accountNeedsUnlock')) {\n if (confirm('It looks like you have an Ethereum wallet available. Please unlock your account.')) {\n transition.retry();\n }\n }\n }).catch(function (error) {\n console.log('Error initializing Kredits', error);\n });\n },\n afterModel: function afterModel() {\n var _this = this;\n\n return this.kredits.loadInitialData().then(function () {\n _this.kredits.addContractEventHandlers();\n });\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/services/ajax\", [\"exports\", \"ember-ajax/services/ajax\"], function (_exports, _ajax) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _ajax.default;\n }\n });\n});","define(\"kredits-web/services/kredits\", [\"exports\", \"npm:ethers\", \"npm:kredits-contracts\", \"kredits-web/utils/group-by\", \"kredits-web/utils/format-kredits\", \"kredits-web/config/environment\", \"kredits-web/models/contributor\", \"kredits-web/models/proposal\", \"kredits-web/models/contribution\"], function (_exports, _npmEthers, _npmKreditsContracts, _groupBy, _formatKredits, _environment, _contributor, _proposal, _contribution) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\n function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n var _default = Ember.Service.extend({\n currentBlock: null,\n currentUserAccounts: null,\n // default to not having an account. this is the wen web3 is loaded.\n currentUser: null,\n contributors: null,\n contributions: null,\n proposals: null,\n currentUserIsContributor: Ember.computed.notEmpty('currentUser'),\n currentUserIsCore: Ember.computed.alias('currentUser.isCore'),\n hasAccounts: Ember.computed.notEmpty('currentUserAccounts'),\n accountNeedsUnlock: Ember.computed('currentUserAccounts', function () {\n return this.currentUserAccounts && Ember.isEmpty(this.currentUserAccounts);\n }),\n contributionsUnconfirmed: Ember.computed('contributions.[]', 'currentBlock', function () {\n var _this = this;\n\n return this.contributions.filter(function (contribution) {\n return contribution.confirmedAt > _this.currentBlock;\n });\n }),\n contributionsConfirmed: Ember.computed('contributions.[]', 'currentBlock', function () {\n var _this2 = this;\n\n return this.contributions.filter(function (contribution) {\n return contribution.confirmedAt <= _this2.currentBlock;\n });\n }),\n kreditsByContributor: Ember.computed('contributionsUnconfirmed.@each.vetoed', 'contributors', function () {\n var _this3 = this;\n\n var contributionsUnconfirmed = this.contributionsUnconfirmed.filterBy('vetoed', false);\n var contributionsGrouped = (0, _groupBy.default)(contributionsUnconfirmed, 'contributorId');\n var contributorsWithUnconfirmed = contributionsGrouped.map(function (c) {\n return c.value.toString();\n });\n var contributorsWithOnlyConfirmed = this.contributors.reject(function (c) {\n return contributorsWithUnconfirmed.includes(c.id);\n });\n var kreditsByContributor = contributionsGrouped.map(function (c) {\n var amountUnconfirmed = c.items.mapBy('amount').reduce(function (a, b) {\n return a + b;\n });\n\n var contributor = _this3.contributors.findBy('id', c.value.toString());\n\n return Ember.Object.create({\n contributor: contributor,\n amountUnconfirmed: amountUnconfirmed,\n amountConfirmed: contributor.totalKreditsEarned,\n amountTotal: contributor.totalKreditsEarned + amountUnconfirmed\n });\n });\n contributorsWithOnlyConfirmed.forEach(function (c) {\n kreditsByContributor.push(Ember.Object.create({\n contributor: c,\n amountUnconfirmed: 0,\n amountConfirmed: c.totalKreditsEarned,\n amountTotal: c.totalKreditsEarned\n }));\n });\n return kreditsByContributor;\n }),\n init: function init() {\n this._super.apply(this, arguments);\n\n this.set('contributors', []);\n this.set('proposals', []);\n this.set('contributions', []);\n },\n // This is called in the application route's beforeModel(). So it is\n // initialized before everything else, and we can rely on the ethProvider and\n // the potential currentUserAccounts to be available\n getEthProvider: function getEthProvider() {\n var _this4 = this;\n\n var ethProvider;\n return new Ember.RSVP.Promise(\n /*#__PURE__*/\n function () {\n var _ref = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee2(resolve) {\n var instantiateWithoutAccount, instantiateWithAccount, _instantiateWithAccount;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _instantiateWithAccount = function _ref4() {\n _instantiateWithAccount = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee(web3Provider, context) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n console.debug('[kredits] Using user-provided instance, e.g. from Mist browser or Metamask');\n ethProvider = new _npmEthers.default.providers.Web3Provider(web3Provider); // const network = await ethProvider.getNetwork();\n\n ethProvider.listAccounts().then(function (accounts) {\n context.set('currentUserAccounts', accounts);\n var ethSigner = accounts.length === 0 ? null : ethProvider.getSigner();\n resolve({\n ethProvider: ethProvider,\n ethSigner: ethSigner\n });\n });\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _instantiateWithAccount.apply(this, arguments);\n };\n\n instantiateWithAccount = function _ref3(_x2, _x3) {\n return _instantiateWithAccount.apply(this, arguments);\n };\n\n instantiateWithoutAccount = function _ref2() {\n console.debug('[kredits] Creating new instance from npm module class');\n console.debug(\"[kredits] providerURL: \".concat(_environment.default.web3ProviderUrl));\n ethProvider = new _npmEthers.default.providers.JsonRpcProvider(_environment.default.web3ProviderUrl);\n resolve({\n ethProvider: ethProvider,\n ethSigner: null\n });\n };\n\n if (!window.ethereum) {\n _context2.next = 15;\n break;\n }\n\n _context2.prev = 4;\n _context2.next = 7;\n return window.ethereum.enable();\n\n case 7:\n // Acccounts now exposed\n instantiateWithAccount(window.ethereum, _this4);\n _context2.next = 13;\n break;\n\n case 10:\n _context2.prev = 10;\n _context2.t0 = _context2[\"catch\"](4);\n instantiateWithoutAccount();\n\n case 13:\n _context2.next = 16;\n break;\n\n case 15:\n // Legacy dapp browsers...\n if (window.web3) {\n instantiateWithAccount(window.web3.currentProvider, _this4);\n } // Non-dapp browsers...\n else {\n instantiateWithoutAccount();\n }\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[4, 10]]);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n },\n setup: function setup() {\n var _this5 = this;\n\n return this.getEthProvider().then(function (providerAndSigner) {\n var kredits = new _npmKreditsContracts.default(providerAndSigner.ethProvider, providerAndSigner.ethSigner, {\n addresses: {\n Kernel: _environment.default.kreditsKernelAddress\n },\n apm: _environment.default.kreditsApmDomain,\n ipfsConfig: _environment.default.ipfs\n });\n return kredits.init().then(\n /*#__PURE__*/\n function () {\n var _ref5 = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee3(kredits) {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _this5.set('kredits', kredits);\n\n _context3.t0 = _this5;\n _context3.next = 4;\n return kredits.provider.getBlockNumber();\n\n case 4:\n _context3.t1 = _context3.sent;\n\n _context3.t0.set.call(_context3.t0, 'currentBlock', _context3.t1);\n\n if (_this5.currentUserAccounts && _this5.currentUserAccounts.length > 0) {\n _this5.getCurrentUser.then(function (contributorData) {\n _this5.set('currentUser', contributorData);\n });\n }\n\n return _context3.abrupt(\"return\", kredits);\n\n case 8:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function (_x4) {\n return _ref5.apply(this, arguments);\n };\n }());\n });\n },\n totalSupply: Ember.computed(function () {\n return this.kredits.Token.functions.totalSupply().then(function (total) {\n return (0, _formatKredits.default)(total);\n });\n }),\n totalKreditsEarned: Ember.computed(function () {\n return this.kredits.Contribution.functions.totalKreditsEarned(true).then(function (total) {\n return total.toNumber();\n });\n }),\n loadInitialData: function loadInitialData() {\n var _this6 = this;\n\n return this.getContributors().then(function (contributors) {\n return _this6.contributors.pushObjects(contributors);\n }).then(function () {\n return _this6.getContributions();\n }).then(function (contributions) {\n return _this6.contributions.pushObjects(contributions);\n });\n },\n addContributor: function addContributor(attributes) {\n if (attributes.github_uid) {\n var uidInt = parseInt(attributes.github_uid);\n attributes.github_uid = uidInt;\n }\n\n console.debug('[kredits] add contributor', attributes);\n return this.kredits.Contributor.add(attributes, {\n gasLimit: 350000\n }).then(function (data) {\n console.debug('[kredits] add contributor response', data);\n return _contributor.default.create(attributes);\n });\n },\n getContributors: function getContributors() {\n return this.kredits.Contributor.all().then(function (contributors) {\n return contributors.map(function (contributor) {\n return _contributor.default.create(contributor);\n });\n });\n },\n addProposal: function addProposal(attributes) {\n var _this7 = this;\n\n console.debug('[kredits] add proposal', attributes);\n return this.kredits.Proposal.addProposal(attributes).then(function (data) {\n console.debug('[kredits] add proposal response', data);\n attributes.contributor = _this7.contributors.findBy('id', attributes.contributorId);\n return _proposal.default.create(attributes);\n });\n },\n getProposals: function getProposals() {\n var _this8 = this;\n\n return this.kredits.Proposal.all().then(function (proposals) {\n return proposals.map(function (proposal) {\n proposal.contributor = _this8.contributors.findBy('id', proposal.contributorId.toString());\n return _proposal.default.create(proposal);\n });\n });\n },\n getContributions: function getContributions() {\n var _this9 = this;\n\n return this.kredits.Contribution.all({\n page: {\n size: 200\n }\n }).then(function (contributions) {\n return contributions.map(function (contribution) {\n contribution.contributor = _this9.contributors.findBy('id', contribution.contributorId.toString());\n return _contribution.default.create(contribution);\n });\n });\n },\n vote: function vote(proposalId) {\n console.debug('[kredits] vote for', proposalId);\n return this.kredits.Proposal.functions.vote(proposalId).then(function (data) {\n console.debug('[kredits] vote response', data);\n return data;\n });\n },\n veto: function veto(contributionId) {\n console.debug('[kredits] veto against', contributionId);\n return this.kredits.Contribution.functions.veto(contributionId, {\n gasLimit: 300000\n }).then(function (data) {\n console.debug('[kredits] veto response', data);\n return data;\n });\n },\n getCurrentUser: Ember.computed('kredits.provider', function () {\n var _this10 = this;\n\n if (Ember.isEmpty(this.currentUserAccounts)) {\n return Ember.RSVP.resolve();\n }\n\n return this.kredits.Contributor.functions.getContributorIdByAddress(this.get('currentUserAccounts.firstObject')).then(function (id) {\n // check if the user is a contributor or not\n if (id === 0) {\n return Ember.RSVP.resolve();\n } else {\n return _this10.kredits.Contributor.getById(id);\n }\n });\n }),\n findProposalById: function findProposalById(proposalId) {\n return this.proposals.findBy('id', proposalId.toString());\n },\n // Contract events\n addContractEventHandlers: function addContractEventHandlers() {\n this.kredits.Contribution.on('ContributionVetoed', this.handleContributionVetoed.bind(this));\n this.kredits.Proposal.on('ProposalCreated', this.handleProposalCreated.bind(this)).on('ProposalVoted', this.handleProposalVoted.bind(this)).on('ProposalExecuted', this.handleProposalExecuted.bind(this));\n this.kredits.Token.on('Transfer', this.handleTransfer.bind(this));\n },\n handleContributionVetoed: function handleContributionVetoed(contributionId) {\n console.debug('[kredits] ContributionVetoed event received for ', contributionId);\n var contribution = this.contributions.findBy('id', contributionId);\n console.debug('[kredits] contribution', contribution);\n\n if (contribution) {\n contribution.set('vetoed', true);\n }\n },\n handleProposalCreated: function handleProposalCreated(proposalId) {\n var _this11 = this;\n\n var proposal = this.findProposalById(proposalId);\n\n if (proposal) {\n console.debug('[events] proposal exists, not adding from event');\n return;\n }\n\n this.kredits.Proposal.getById(proposalId).then(function (proposal) {\n proposal.contributor = _this11.contributors.findBy('id', proposal.contributorId.toString());\n\n _this11.proposals.pushObject(_proposal.default.create(proposal));\n });\n },\n // TODO: We may want to reload that proposal to show the voter as voted\n handleProposalVoted: function handleProposalVoted(proposalId, voterId, totalVotes) {\n var proposal = this.findProposalById(proposalId);\n\n if (proposal) {\n proposal.set('votesCount', totalVotes);\n }\n },\n handleProposalExecuted: function handleProposalExecuted(proposalId, contributorId, amount) {\n var proposal = this.findProposalById(proposalId);\n\n if (proposal.get('isExecuted')) {\n console.debug('[events] proposal already executed, not adding from event');\n return;\n }\n\n proposal.set('executed', true);\n this.contributors.findBy('id', contributorId.toString()).incrementProperty('balance', amount);\n },\n handleTransfer: function handleTransfer(from, to, value) {\n value = value.toNumber();\n this.contributors.findBy('address', from).decrementProperty('balance', value);\n this.contributors.findBy('address', to).incrementProperty('balance', value);\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/application-loading\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"/K85jZFR\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[21,\\\"loading-spinner\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/application-loading.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"M6vaFJ5T\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"header\\\"],[11,\\\"id\\\",\\\"topbar\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h1\\\"],[9],[0,\\\"Kosmos Kredits\\\"],[10],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"section\\\"],[11,\\\"id\\\",\\\"user-account\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,[\\\"kredits\\\",\\\"hasAccounts\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[23,[\\\"kredits\\\",\\\"currentUser\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[1,[23,[\\\"kredits\\\",\\\"currentUser\\\",\\\"name\\\"]],false],[0,\\\"\\\\n \\\"],[4,\\\"if\\\",[[23,[\\\"kredits\\\",\\\"currentUserIsCore\\\"]]],null,{\\\"statements\\\":[[0,\\\"(core)\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" Anonymous\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[10],[0,\\\"\\\\n\\\"],[10],[0,\\\"\\\\n\\\\n\\\"],[1,[21,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/application.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/index\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"mk8W6Kxd\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"main\\\"],[11,\\\"id\\\",\\\"index\\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\"],[11,\\\"id\\\",\\\"stats\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"section\\\"],[11,\\\"id\\\",\\\"people\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"header\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h2\\\"],[9],[0,\\\"Contributors\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"div\\\"],[11,\\\"class\\\",\\\"content\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"contributor-list\\\",null,[[\\\"contributorList\\\",\\\"showUnconfirmedKredits\\\"],[[23,[\\\"kreditsToplist\\\"]],[23,[\\\"showUnconfirmedKredits\\\"]]]]],false],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"stats\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"number\\\"],[9],[1,[27,\\\"await\\\",[[23,[\\\"kredits\\\",\\\"totalKreditsEarned\\\"]]],null],false],[10],[0,\\\" kredits confirmed and issued to\\\\n \\\"],[7,\\\"span\\\"],[11,\\\"class\\\",\\\"number\\\"],[9],[1,[23,[\\\"contributorsWithKredits\\\",\\\"length\\\"]],false],[10],[0,\\\" contributors\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"stats\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"input\\\",null,[[\\\"type\\\",\\\"id\\\",\\\"checked\\\"],[\\\"checkbox\\\",\\\"hide-unnconfirmed-kredits\\\",[23,[\\\"showUnconfirmedKredits\\\"]]]]],false],[0,\\\"\\\\n \\\"],[7,\\\"label\\\"],[11,\\\"for\\\",\\\"hide-unnconfirmed-kredits\\\"],[9],[0,\\\"Show unconfirmed kredits in toplist\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"section\\\"],[11,\\\"id\\\",\\\"contributions-by-type\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"header\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h2\\\"],[9],[0,\\\"Contributions by type\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"div\\\"],[11,\\\"class\\\",\\\"content\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"chart-contributions-by-type\\\",null,[[\\\"contributions\\\"],[[23,[\\\"contributions\\\"]]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\"],[11,\\\"id\\\",\\\"contributions\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,[\\\"contributionsUnconfirmed\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"section\\\"],[11,\\\"id\\\",\\\"contributions-unconfirmed\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"header\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h2\\\"],[9],[0,\\\"Latest Contributions\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"div\\\"],[11,\\\"class\\\",\\\"content\\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[1,[27,\\\"contribution-list\\\",null,[[\\\"contributions\\\",\\\"vetoContribution\\\",\\\"contractInteractionEnabled\\\"],[[23,[\\\"contributionsUnconfirmedSorted\\\"]],[27,\\\"action\\\",[[22,0,[]],\\\"vetoContribution\\\"],null],[23,[\\\"kredits\\\",\\\"hasAccounts\\\"]]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n \\\"],[7,\\\"section\\\"],[11,\\\"id\\\",\\\"contributions-confirmed\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"header\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h2\\\"],[9],[0,\\\"Confirmed Contributions\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n \\\"],[7,\\\"div\\\"],[11,\\\"class\\\",\\\"content\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"contribution-list\\\",null,[[\\\"contributions\\\",\\\"vetoContribution\\\"],[[23,[\\\"contributionsConfirmedSorted\\\"]],[27,\\\"action\\\",[[22,0,[]],\\\"vetoContribution\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,[\\\"kredits\\\",\\\"hasAccounts\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"p\\\"],[11,\\\"class\\\",\\\"actions\\\"],[9],[0,\\\"\\\\n \\\"],[4,\\\"link-to\\\",[\\\"proposals.new\\\"],null,{\\\"statements\\\":[[0,\\\"Create new proposal\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,[\\\"kredits\\\",\\\"hasAccounts\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"section\\\"],[11,\\\"id\\\",\\\"add-contributor\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"header\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h2\\\"],[9],[0,\\\"Add Contributor\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\"],[11,\\\"class\\\",\\\"content\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,[\\\"kredits\\\",\\\"currentUser\\\",\\\"isCore\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[1,[27,\\\"add-contributor\\\",null,[[\\\"contributors\\\",\\\"save\\\"],[[23,[\\\"contributors\\\"]],[27,\\\"action\\\",[[22,0,[]],\\\"save\\\"],null]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" Only core team members can add new contributors. Please ask someone to set you up.\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[10],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/index.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/templates/proposals/new\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"vauAEy3a\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"section\\\"],[11,\\\"id\\\",\\\"add-proposal\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"header\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h2\\\"],[9],[0,\\\"Add Proposal\\\"],[10],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\"],[11,\\\"class\\\",\\\"content\\\"],[9],[0,\\\"\\\\n \\\"],[1,[27,\\\"add-proposal\\\",null,[[\\\"contributors\\\",\\\"save\\\"],[[23,[\\\"minedContributors\\\"]],[27,\\\"action\\\",[[22,0,[]],\\\"save\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[10],[0,\\\"\\\\n\\\"],[10],[0,\\\"\\\\n\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"kredits-web/templates/proposals/new.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"kredits-web/utils/cps/bignumber\", [\"exports\", \"npm:ethers\"], function (_exports, _npmEthers) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default(dependentKey, converterMethod) {\n return Ember.computed(dependentKey, {\n get: function get() {\n var value = this.get(dependentKey);\n\n if (value && _npmEthers.default.utils.BigNumber.isBigNumber(value)) {\n return value[converterMethod]();\n } else {\n return value;\n }\n },\n set: function set(key, value) {\n var bnValue = _npmEthers.default.utils.bigNumberify(value);\n\n this.set(dependentKey, bnValue);\n return bnValue[converterMethod]();\n }\n });\n }\n});","define(\"kredits-web/utils/cps/kredits\", [\"exports\", \"npm:ethers\", \"kredits-web/utils/format-kredits\"], function (_exports, _npmEthers, _formatKredits) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default(dependentKey) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Ember.computed(dependentKey, {\n get: function get() {\n var value = this.get(dependentKey);\n return (0, _formatKredits.default)(value, options);\n },\n set: function set(key, value) {\n var bnValue = _npmEthers.default.utils.bigNumberify(value);\n\n this.set(dependentKey, bnValue);\n return (0, _formatKredits.default)(bnValue, options);\n }\n });\n }\n});","define(\"kredits-web/utils/format-kredits\", [\"exports\", \"npm:ethers\"], function (_exports, _npmEthers) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n\n function _default(value) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var etherValue = _npmEthers.default.utils.formatEther(value);\n\n if (!options.decimals) {\n etherValue = parseInt(etherValue).toString();\n }\n\n return etherValue;\n }\n});","define(\"kredits-web/utils/group-by\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = groupBy;\n\n function groupBy(collection, property) {\n var groups = Ember.A();\n var items = collection;\n\n if (items) {\n items.forEach(function (item) {\n var value = Ember.get(item, property);\n var group = groups.findBy('value', value);\n\n if (Ember.isPresent(group)) {\n Ember.get(group, 'items').push(item);\n } else {\n group = {\n property: property,\n value: value,\n items: [item]\n };\n groups.push(group);\n }\n });\n }\n\n return groups;\n }\n});","define('kredits-web/config/environment', [], function() {\n var prefix = 'kredits-web';\ntry {\n var metaName = prefix + '/config/environment';\n var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n var config = JSON.parse(decodeURIComponent(rawConfig));\n\n var exports = { 'default': config };\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n}\ncatch(err) {\n throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n if (!runningTests) {\n require(\"kredits-web/app\")[\"default\"].create({\"name\":\"kredits-web\",\"version\":\"1.0.0+4c2d95f8\"});\n }\n \n"]}
\ No newline at end of file
diff --git a/index.html b/index.html
index 74f09bb..7c193cf 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,7 @@
-
+
@@ -25,7 +25,7 @@
-
+