"use strict" define("kredits-web/app",["exports","ember-resolver","ember-load-initializers","kredits-web/config/environment"],(function(e,t,n,r){function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1 if(Reflect.construct.sham)return!1 if("function"==typeof Proxy)return!0 try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}() return function(){var n,r=c(e) if(t){var o=c(this).constructor n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments) return a(this,n)}}function a(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?l(e):t}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called") return e}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var f=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function") e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)})(o,Ember.Application) var n=u(o) function o(){var e i(this,o) for(var s=arguments.length,u=new Array(s),a=0;ae.length)&&(t=e.length) for(var n=0,r=new Array(t);n0})),isValidDescription:Ember.computed.notEmpty("description"),isValidUrl:Ember.computed.notEmpty("url"),isValid:Ember.computed.and("isValidContributor","isValidKind","isValidAmount","isValidDescription"),init:function(){this._super.apply(this,arguments),this.set("defaultDate",(0,t.default)().startOf("hour").toDate()),this.set("defaultAttr",{contributorId:null,kind:null,date:this.defaultDate,amount:null,description:null,url:null,details:null}),this.set("attributes",Ember.assign({},this.defaultAttr,this.attributes)),this.reset()},reset:function(){this.setProperties(this.attributes)},actions:{submit:function(e){var t=this if(e.preventDefault(),this.isValid){var r=this.getProperties(Object.keys(this.attributes)),o=n((r.date instanceof Array?r.date[0]:r.date).toISOString().split("T"),2),i=[o[0],o[1]] r.date=i[0],r.time=i[1],this.set("inProgress",!0),this.save(r).then((function(){t.reset()}),(function(e){console.warn(e),window.alert("Something went wrong. Check the browser console for details.")})).finally((function(){return t.set("inProgress",!1)}))}else alert("Invalid data. Please review and try again.")}}}) e.default=o})),define("kredits-web/components/add-contribution/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.HTMLBars.template({id:"taBLFOzB",block:'{"symbols":["contributor","@contributors"],"statements":[[10,"form"],[15,"onsubmit",[30,[36,1],[[32,0],"submit"],null]],[12],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Contributor:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"select"],[14,"required",""],[15,"onchange",[30,[36,1],[[32,0],[30,[36,2],[[32,0,["contributorId"]]],null]],[["value"],["target.value"]]]],[12],[2,"\\n "],[10,"option"],[14,2,""],[14,"selected",""],[14,"disabled",""],[14,"hidden",""],[12],[13],[2,"\\n"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[32,2]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"option"],[15,2,[32,1,["id"]]],[15,"selected",[30,[36,0],[[32,0,["contributorId"]],[32,1,["id"]]],null]],[12],[1,[32,1,["name"]]],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Kind:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"select"],[14,"required",""],[15,"onchange",[30,[36,1],[[32,0],[30,[36,2],[[32,0,["kind"]]],null]],[["value"],["target.value"]]]],[12],[2,"\\n "],[10,"option"],[14,2,""],[14,"selected",""],[14,"disabled",""],[14,"hidden",""],[12],[13],[2,"\\n "],[10,"option"],[14,2,"bureaucracy"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"bureaucracy"],null]],[12],[2,"Bureaucracy"],[13],[2,"\\n "],[10,"option"],[14,2,"community"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"community"],null]],[12],[2,"Community"],[13],[2,"\\n "],[10,"option"],[14,2,"design"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"design"],null]],[12],[2,"Design"],[13],[2,"\\n "],[10,"option"],[14,2,"dev"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"dev"],null]],[12],[2,"Development"],[13],[2,"\\n "],[10,"option"],[14,2,"docs"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"docs"],null]],[12],[2,"Documentation"],[13],[2,"\\n "],[10,"option"],[14,2,"ops"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"ops"],null]],[12],[2,"IT Operations"],[13],[2,"\\n "],[10,"option"],[14,2,"outreach"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"outreach"],null]],[12],[2,"Outreach"],[13],[2,"\\n "],[10,"option"],[14,2,"qa"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"qa"],null]],[12],[2,"Quality Assurance"],[13],[2,"\\n "],[10,"option"],[14,2,"special"],[15,"selected",[30,[36,0],[[32,0,["kind"]],"special"],null]],[12],[2,"Special"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Date:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[1,[30,[36,5],null,[["date","defaultDate","maxDate","enableTime","time_24hr","onChange"],[[32,0,["date"]],[32,0,["defaultDate"]],[32,0,["defaultDate"]],true,true,[30,[36,1],[[32,0],[30,[36,2],[[32,0,["date"]]],null]],null]]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Amount:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[1,[30,[36,7],null,[["type","placeholder","value","class"],["text","500",[32,0,["amount"]],[30,[36,6],[[32,0,["isValidAmount"]],"valid",""],null]]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Description:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[1,[30,[36,7],null,[["type","value","class"],["text",[32,0,["description"]],[30,[36,6],[[32,0,["isValidDescription"]],"valid",""],null]]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"URL (optional):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[1,[30,[36,7],null,[["type","value","class"],["text",[32,0,["url"]],[30,[36,6],[[32,0,["isValidUrl"]],"valid",""],null]]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,6],[[32,0,["details"]]],null,[["default"],[{"statements":[[2," "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Details:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"pre"],[12],[2," "],[1,[32,0,["details"]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[1,[30,[36,7],null,[["type","disabled","value"],["submit",[32,0,["inProgress"]],[30,[36,6],[[32,0,["inProgress"]],"Processing","Save"],null]]]]],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"]],"hasEval":false,"upvars":["eq","action","mut","-track-array","each","ember-flatpickr","if","input"]}',meta:{moduleName:"kredits-web/components/add-contribution/template.hbs"}}) e.default=t})),define("kredits-web/components/add-contributor/component",["exports","web3-utils"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var n=Ember.Component.extend({router:Ember.inject.service(),kredits:Ember.inject.service(),attributes:null,isValidAccount:Ember.computed("account",(function(){return(0,t.isAddress)(this.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"),isValidZoomDisplayName:Ember.computed.notEmpty("zoom_display_name"),isValid:Ember.computed.and("isValidAccount","isValidName","isValidGithubUID"),inProgress:!1,init:function(){this._super.apply(this,arguments),this.setDefaultAttributes(),this.reset()},setDefaultAttributes:function(){Ember.isPresent(this.attributes)||this.set("attributes",{account:null,name:null,kind:"person",url:null,github_username:null,github_uid:null,gitea_username:null,wiki_username:null,zoom_display_name:null})},reset:function(){this.setProperties(this.attributes)},actions:{submit:function(e){var t=this if(e.preventDefault(),this.kredits.currentUserIsCore)if(this.isValid){var n=Object.keys(this.attributes),r=this.getProperties(n) this.set("inProgress",!0),this.save(r).then((function(){t.reset()})).catch((function(e){console.warn(e),window.alert("Something went wrong. Please check the browser console.")})).finally((function(){t.set("inProgress",!1),t.router.transitionTo("dashboard")}))}else window.alert("Invalid data. Please review and try again.") else window.alert("Only core team members can edit profiles. Please ask someone to set you up.")}}}) e.default=n})),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:"M5Q03SON",block:'{"symbols":[],"statements":[[10,"form"],[15,"onsubmit",[30,[36,0],[[32,0],"submit"],null]],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-account"],[12],[2,"Ethereum account"],[13],[2,"\\n "],[8,"input",[[24,3,"account"],[24,1,"c-account"],[24,"placeholder","0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4"],[16,0,[30,[36,1],[[32,0,["isValidAccount"]],"valid",""],null]]],[["@type","@value"],["text",[32,0,["account"]]]],null],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-kind"],[12],[2,"Kind"],[13],[2,"\\n "],[10,"select"],[14,"required",""],[15,"onchange",[30,[36,0],[[32,0],[30,[36,2],[[32,0,["kind"]]],null]],[["value"],["target.value"]]]],[14,1,"c-kind"],[12],[2,"\\n "],[10,"option"],[14,2,"person"],[15,"selected",[30,[36,3],[[32,0,["kind"]],"person"],null]],[12],[2,"Person"],[13],[2,"\\n "],[10,"option"],[14,2,"organization"],[15,"selected",[30,[36,3],[[32,0,["kind"]],"organization"],null]],[12],[2,"Organization"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-name"],[12],[2,"Name"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["name","text",[32,0,["name"]],"Zero Cool",[30,[36,1],[[32,0,["isValidName"]],"valid",""],null],"c-name"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-url"],[12],[2,"URL"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["url","text",[32,0,["url"]],"http://zerocool.bit",[30,[36,1],[[32,0,["isValidURL"]],"valid",""],null],"c-url"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-github-uid"],[12],[2,"GitHub UID"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["github_uid","text",[32,0,["github_uid"]],"2342",[30,[36,1],[[32,0,["isValidGithubUID"]],"valid",""],null],"c-github-uid"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-github-username"],[12],[2,"GitHub username"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["github_username","text",[32,0,["github_username"]],"zerocool",[30,[36,1],[[32,0,["isValidGithubUsername"]],"valid",""],null],"c-github-username"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-gitea-username"],[12],[2,"Gitea username"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["gitea_username","text",[32,0,["gitea_username"]],"zerocool",[30,[36,1],[[32,0,["isValidGiteaUsername"]],"valid",""],null],"c-gitea-username"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-wiki-username"],[12],[2,"Wiki username"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["wiki_username","text",[32,0,["wiki_username"]],"ZeroCool",[30,[36,1],[[32,0,["isValidWikiUsername"]],"valid",""],null],"c-wiki-username"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-zoom-display-name"],[12],[2,"Zoom display name"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["zoom_display_name","text",[32,0,["zoom_display_name"]],"Zero Cool",[30,[36,1],[[32,0,["isValidZoomDisplayName"]],"valid",""],null],"c-zoom-display-name"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[1,[30,[36,4],null,[["type","disabled","value"],["submit",[32,0,["inProgress"]],[30,[36,1],[[32,0,["inProgress"]],"Processing","Save"],null]]]]],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["action","if","mut","eq","input"]}',meta:{moduleName:"kredits-web/components/add-contributor/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",o="#97fb68",i="#8f68fb",s=Ember.Component.extend({contributions:null,chartOptions:Object.freeze({legend:{display:!1}}),chartData:Ember.computed("contributions",(function(){var e=this.contributions.filterBy("vetoed",!1).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,i,o],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:"wfd6i6On",block:'{"symbols":[],"statements":[[10,"div"],[14,0,"chart"],[12],[2,"\\n "],[8,"ember-chart",[],[["@type","@data","@options","@width","@height"],["doughnut",[32,0,["chartData"]],[32,0,["chartOptions"]],"200","200"]],null],[2,"\\n"],[13]],"hasEval":false,"upvars":[]}',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({router:Ember.inject.service(),tagName:"div",classNames:["contributions"],selectedContribution:null,showQuickFilter:!1,hideSmallContributions:!1,contributorId:null,contributionKind:null,kredits:Ember.inject.service(),contributorsSorting:Object.freeze(["name:asc"]),contributors:Ember.computed.sort("kredits.contributors","contributorsSorting"),contributorsActive:Ember.computed("contributors.[]","contributions",(function(){var e=new Set(this.contributions.mapBy("contributorId").map((function(e){return e.toString()}))) return this.contributors.filter((function(t){return e.has(t.id.toString())}))})),contributionKinds:Ember.computed("contributions.[]",(function(){return this.contributions.mapBy("kind").uniq()})),contributionsFiltered:Ember.computed("contributions.[]","hideSmallContributions","contributorId","contributionKind",(function(){var e=this return this.contributions.filter((function(t){var n=!0 return e.hideSmallContributions&&t.amount<=500&&(n=!1),Ember.isPresent(e.contributorId)&&t.contributorId.toString()!==e.contributorId.toString()&&(n=!1),Ember.isPresent(e.contributionKind)&&t.kind!==e.contributionKind&&(n=!1),n}))})),actions:{veto:function(e){this.contractInteractionEnabled?this.vetoContribution(e):window.alert("Only members can veto contributions. Please ask someone to set you up.")},openContributionDetails:function(e){this.router.transitionTo("dashboard.contributions.show",e)}}}) 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:"Q/419luL",block:'{"symbols":["contribution","kind","contributor","@selectedContributionId","@showQuickFilter","@loading"],"statements":[[6,[37,5],[[32,5]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"quick-filter"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,0,"filter-contributor"],[12],[2,"\\n Contributor:\\n "],[10,"select"],[15,"onchange",[30,[36,0],[[32,0],[30,[36,8],[[32,0,["contributorId"]]],null]],[["value"],["target.value"]]]],[12],[2,"\\n "],[10,"option"],[14,2,""],[14,"selected",""],[12],[2,"all"],[13],[2,"\\n"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,["contributorsActive"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"option"],[15,2,[32,3,["id"]]],[15,"selected",[30,[36,4],[[32,0,["contributorId"]],[32,3,["id"]]],null]],[12],[1,[32,3,["name"]]],[13],[2,"\\n"]],"parameters":[3]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"label"],[14,0,"filter-contribution-kind"],[12],[2,"\\n Kind:\\n "],[10,"select"],[15,"onchange",[30,[36,0],[[32,0],[30,[36,8],[[32,0,["contributionKind"]]],null]],[["value"],["target.value"]]]],[12],[2,"\\n "],[10,"option"],[14,2,""],[14,"selected",""],[12],[2,"all"],[13],[2,"\\n"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,["contributionKinds"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"option"],[15,2,[32,2]],[15,"selected",[30,[36,4],[[32,0,["contributionKind"]],[32,2]],null]],[12],[1,[30,[36,7],[[32,2]],null]],[13],[2,"\\n"]],"parameters":[2]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"label"],[14,0,"filter-contribution-size"],[12],[2,"\\n "],[8,"input",[],[["@type","@checked"],["checkbox",[32,0,["hideSmallContributions"]]]],null],[2,"\\n Hide small contributions\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[10,"ul"],[15,0,[31,["contribution-list ",[30,[36,5],[[32,6],"loading"],null]]]],[12],[2,"\\n"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,["contributionsFiltered"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"li"],[24,"role","button"],[16,"data-contribution-id",[32,1,["id"]]],[16,0,[31,[[30,[36,6],[[32,1]],null],[30,[36,5],[[30,[36,4],[[32,1,["id"]],[32,4]],null]," selected"],null]]]],[4,[38,0],[[32,0],"openContributionDetails",[32,1]],null],[12],[2,"\\n "],[10,"p"],[14,0,"meta"],[12],[2,"\\n "],[10,"span"],[14,0,"recipient"],[12],[8,"user-avatar",[],[["@contributor"],[[32,1,["contributor"]]]],null],[13],[2,"\\n "],[10,"span"],[15,0,[31,["category ",[32,1,["kind"]]]]],[12],[2,"("],[1,[32,1,["kind"]]],[2,")"],[13],[2,"\\n "],[10,"span"],[14,0,"title"],[12],[1,[32,1,["description"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"kredits-amount"],[12],[2,"\\n "],[10,"span"],[14,0,"amount"],[12],[1,[32,1,["amount"]]],[13],[10,"span"],[14,0,"symbol"],[12],[2,"₭S"],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,3],[[32,1,["vetoed"]]],null,[["default"],[{"statements":[[6,[37,3],[[30,[36,2],[[32,1]],null]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"voting"],[12],[2,"\\n "],[1,[30,[36,1],null,[["type","class","value","click","disabled"],["button","button small danger","veto",[30,[36,0],[[32,0],"veto",[32,1,["id"]]],null],[32,1,["hasPendingChanges"]]]]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[1]}]]],[13]],"hasEval":false,"upvars":["action","input","is-confirmed-contribution","unless","eq","if","contribution-status","capitalize-string","mut","-track-array","each"]}',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:"",router:Ember.inject.service(),selectedContributorId:null,actions:{openContributorDetails:function(e){this.router.transitionTo("dashboard.contributors.show",e)}}}) 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:"H19rOGuf",block:'{"symbols":["c","@selectedContributorId","@showUnconfirmedKredits","@loading","@contributorList"],"statements":[[10,"table"],[15,0,[31,["contributor-list ",[30,[36,2],[[32,4],"loading"],null]]]],[12],[2,"\\n "],[10,"thead"],[12],[2,"\\n "],[13],[2,"\\n "],[10,"tbody"],[12],[2,"\\n"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,5]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"tr"],[14,"role","button"],[15,"onclick",[30,[36,0],[[32,0],"openContributorDetails",[32,1,["contributor"]]],null]],[15,0,[31,[[30,[36,2],[[30,[36,3],[[32,1,["contributor"]]],null],"current-user"],null]," ",[30,[36,2],[[30,[36,1],[[32,1,["contributor","id"]],[32,2]],null],"selected"],null]]]],[12],[2,"\\n "],[10,"td"],[14,0,"person"],[12],[2,"\\n "],[8,"user-avatar",[],[["@contributor"],[[32,1,["contributor"]]]],null],[2," "],[1,[32,1,["contributor","name"]]],[2,"\\n "],[13],[2,"\\n "],[10,"td"],[14,0,"kredits"],[12],[2,"\\n "],[10,"span"],[14,0,"amount"],[12],[2,"\\n"],[6,[37,2],[[32,3]],null,[["default","else"],[{"statements":[[2," "],[1,[32,1,["amountTotal"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[1,[32,1,["amountConfirmed"]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"span"],[14,0,"symbol"],[12],[2,"₭S"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["action","eq","if","is-current-user","-track-array","each"]}',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/ember-flatpickr",["exports","ember-flatpickr/components/ember-flatpickr"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/components/external-account-link/component",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.Component.extend({tagName:"",account:null,iconComponentName:Ember.computed("account.site",(function(){return this.account.site.match(/github|gitea|wiki|zoom/)?"icon-account-"+this.account.site.replace(/\./g,"-"):"icon-web-globe"}))}) e.default=t})),define("kredits-web/components/external-account-link/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.HTMLBars.template({id:"rwjEP1kx",block:'{"symbols":[],"statements":[[10,"a"],[15,6,[32,0,["account","url"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[15,"title",[31,[[32,0,["account","username"]]," on ",[32,0,["account","site"]]]]],[12],[2,"\\n "],[10,"span"],[14,0,"site"],[12],[1,[32,0,["account","site"]]],[13],[2,"\\n "],[1,[30,[36,0],[[32,0,["iconComponentName"]]],null]],[2,"\\n"],[13]],"hasEval":false,"upvars":["component"]}',meta:{moduleName:"kredits-web/components/external-account-link/template.hbs"}}) e.default=t})),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:"RDvW8Yf/",block:'{"symbols":[],"statements":[[10,"p"],[12],[2,"\\n "],[10,"svg"],[14,"xmlns","http://www.w3.org/2000/svg","http://www.w3.org/2000/xmlns/"],[14,"xmlns:xlink","http://www.w3.org/1999/xlink","http://www.w3.org/2000/xmlns/"],[14,"version","1.1"],[14,"x","0px"],[14,"y","0px"],[14,"viewBox","0 0 132 100"],[14,"enable-background","new 0 0 100 100"],[14,"xml:space","preserve","http://www.w3.org/XML/1998/namespace"],[12],[2,"\\n "],[10,"path"],[14,1,"path-comet"],[14,"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"],[12],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[10,"p"],[12],[2,"\\n Loading data...\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":[]}',meta:{moduleName:"kredits-web/components/loading-spinner/template.hbs"}}) e.default=t})),define("kredits-web/components/topbar-account-panel/component",["exports"],(function(e){function t(e,t,n,r,o,i,s){try{var u=e[i](s),a=u.value}catch(l){return void n(l)}u.done?t(a):Promise.resolve(a).then(r,o)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var n=Ember.Component.extend({tagName:"",kredits:Ember.inject.service(),router:Ember.inject.service(),setupInProgress:!1,userHasEthereumWallet:Ember.computed((function(){return Ember.isPresent(window.ethereum)})),showConnectButton:Ember.computed("userHasEthereumWallet","kredits.hasAccounts",(function(){return this.userHasEthereumWallet&&!this.kredits.hasAccounts})),actions:{signup:function(){this.router.transitionTo("signup")},connectAccount:function(){var e,n=this return(e=regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,window.ethereum.enable() case 3:return n.set("setupInProgress",!0),e.next=6,n.kredits.setup() case 6:n.set("setupInProgress",!1),n.router.transitionTo("dashboard"),e.next=14 break case 10:e.prev=10,e.t0=e.catch(0),n.set("setupInProgress",!1),console.log("Opening Ethereum wallet failed:",e.t0) case 14:case"end":return e.stop()}}),e,null,[[0,10]])})),function(){var n=this,r=arguments return new Promise((function(o,i){var s=e.apply(n,r) function u(e){t(s,o,i,u,a,"next",e)}function a(e){t(s,o,i,u,a,"throw",e)}u(void 0)}))})()}}}) e.default=n})),define("kredits-web/components/topbar-account-panel/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.HTMLBars.template({id:"tHJ6yVSg",block:'{"symbols":[],"statements":[[10,"section"],[14,1,"user-account"],[12],[2,"\\n"],[6,[37,1],[[32,0,["setupInProgress"]]],null,[["default","else"],[{"statements":[[2," Connecting account...\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[30,[36,2],[[32,0,["kredits","hasAccounts"]],[32,0,["kredits","currentUser"]]],null]],null,[["default","else"],[{"statements":[[2," "],[1,[32,0,["kredits","currentUser","name"]]],[2,"\\n"],[6,[37,1],[[32,0,["kredits","currentUserIsCore"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"core-flag"],[12],[2,"(core)"],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"anonymous"],[12],[2,"Anonymous"],[13],[2,"\\n "],[10,"button"],[15,"onclick",[30,[36,0],[[32,0],"signup"],null]],[14,0,"small"],[14,4,"button"],[12],[2,"Sign up"],[13],[2,"\\n"],[6,[37,1],[[32,0,["showConnectButton"]]],null,[["default"],[{"statements":[[2," "],[10,"button"],[15,"onclick",[30,[36,0],[[32,0],"connectAccount"],null]],[14,0,"small green"],[14,4,"button"],[12],[2,"Connect account"],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[13]],"hasEval":false,"upvars":["action","if","and"]}',meta:{moduleName:"kredits-web/components/topbar-account-panel/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={small:"128",medium:"256",large:"512"},n=Ember.Component.extend({contributor:null,tagName:"img",classNames:["avatar"],classNameBindings:["size"],attributeBindings:["src","title"],size:"small",src:Ember.computed.alias("avatarURL"),title:Ember.computed.alias("contributor.name"),avatarURL:Ember.computed("contributor.github_uid","size",(function(){var e=this.contributor.github_uid return e?"https://avatars2.githubusercontent.com/u/".concat(e,"?v=3&s=").concat(t[this.size]):""}))}) e.default=n})),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:"PL5L75/g",block:'{"symbols":[],"statements":[],"hasEval":false,"upvars":[]}',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/contributions/new",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.Controller.extend({kredits:Ember.inject.service(),queryParams:["contributorId","kind","amount"],contributors:Ember.computed.alias("kredits.contributors"),minedContributors:Ember.computed.filterBy("contributors","id"),contributorsSorting:Object.freeze(["name:asc"]),sortedContributors:Ember.computed.sort("minedContributors","contributorsSorting"),actions:{save:function(e){var t=this,n=this.contributors.findBy("id",e.contributorId) return e.contributorIpfsHash=n.ipfsHash,this.kredits.addContribution(e).then((function(e){return t.transitionToRoute("index"),e}))}}}) e.default=t})),define("kredits-web/controllers/contributions/resubmit",["exports","kredits-web/controllers/contributions/new"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var n=t.default.extend({attributes:null}) e.default=n})),define("kredits-web/controllers/contributors/edit",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.Controller.extend({kredits:Ember.inject.service(),actions:{save:function(e){return this.kredits.updateContributor(this.model.id,e)}}}) e.default=t})),define("kredits-web/controllers/contributors/new",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.Controller.extend({kredits:Ember.inject.service(),actions:{save:function(e){return this.kredits.addContributor(e)}}}) e.default=t})),define("kredits-web/controllers/dashboard",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var t=Ember.Controller.extend({kredits:Ember.inject.service(),showDetailsPane:!1,selectedContributorId:null,selectedContributionId:null,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(["date:desc","time:desc","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"),showQuickFilterUnconfirmed:!1,showQuickFilterConfirmed:!1,showIntroText:Ember.computed("kredits.{hasAccounts,currentUser}",(function(){return!this.kredits.hasAccounts||!this.kredits.currentUser})),actions:{vetoContribution:function(e){this.kredits.veto(e).then((function(e){console.debug("[controllers:index] Veto submitted to Ethereum blockhain: "+e.hash)}))},toggleQuickFilterUnconfirmed:function(){this.toggleProperty("showQuickFilterUnconfirmed")},toggleQuickFilterConfirmed:function(){this.toggleProperty("showQuickFilterConfirmed")}}}) e.default=t})),define("kredits-web/controllers/dashboard/contributions/show",["exports","kredits-web/config/environment"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var n=Ember.Controller.extend({ipfsGatewayUrl:Ember.computed((function(){return t.default.ipfs.gatewayUrl}))}) e.default=n})),define("kredits-web/controllers/dashboard/contributors/show",["exports","kredits-web/config/environment"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var n=Ember.Controller.extend({roleName:Ember.computed("model.isCore","totalKreditsEarned",(function(){return this.model.isCore?"Core Contributor":this.model.totalKreditsEarned<=5e3?"Newcomer":"Contributor"})),ipfsGatewayUrl:Ember.computed((function(){return t.default.ipfs.gatewayUrl}))}) e.default=n})) define("kredits-web/controllers/signup/eth-account",["exports","web3-utils","kredits-web/config/environment"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var r=Ember.Controller.extend({kredits:Ember.inject.service(),ethAddress:null,githubAccessToken:Ember.computed.alias("kredits.githubAccessToken"),isValidEthAccount:Ember.computed("ethAddress",(function(){return(0,t.isAddress)(this.ethAddress)})),signupButtonDisabled:Ember.computed.not("isValidEthAccount"),actions:{completeSignup:function(){var e=this,t={accessToken:this.githubAccessToken,account:this.ethAddress} fetch(n.default.githubSignupUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){return e.json()})).then((function(t){console.log("Created contributor:",t),e.setProperties({githubAccessToken:null,ethAddress:null}),e.transitionToRoute("signup.complete")}))}}}) e.default=r})),define("kredits-web/controllers/signup/index",["exports","kredits-web/config/environment"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0 var n=Ember.Controller.extend({actions:{connectGithub:function(){window.location=t.default.githubConnectUrl}}}) e.default=n})),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]:{},o=t.default.APP.version,i=r.versionOnly||r.hideSha,s=r.shaOnly||r.hideVersion,u=null return i&&(r.showExtended&&(u=o.match(n.versionExtendedRegExp)),u||(u=o.match(n.versionRegExp))),s&&(u=o.match(n.shaRegExp)),u?u[0]:o}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r,e.default=void 0 var o=Ember.Helper.helper(r) e.default=o})),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/cancel-all",["exports","ember-concurrency/helpers/cancel-all"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/capitalize-string",["exports"],(function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return var n=[],r=!0,o=!1,i=void 0 try{for(var s,u=e[Symbol.iterator]();!(r=(s=u.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(a){o=!0,i=a}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}(e,t)||function(e,t){if(!e)return if("string"==typeof e)return n(e,t) var r=Object.prototype.toString.call(e).slice(8,-1) "Object"===r&&e.constructor&&(r=e.constructor.name) if("Map"===r||"Set"===r)return Array.from(e) if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length) for(var n=0,r=new Array(t);ne.length)&&(t=e.length) for(var n=0,r=new Array(t);nthis.currentBlock?r.push("unconfirmed"):r.push("confirmed"),n.hasPendingChanges&&r.push("pending"),r.join(" ")},destroy:function(){this.teardown&&this.teardown(),this._super.apply(this,arguments)},setupRecompute:function(e){var t=this this.teardown&&this.teardown(),e.addObserver("vetoed",this,this.triggerRecompute),e.addObserver("confirmedAt",this,this.triggerRecompute),e.addObserver("currentBlock",this,this.triggerRecompute),e.addObserver("hasPendingChanges",this,this.triggerRecompute),this.teardown=function(){e.removeObserver("vetoed",t,t.triggerRecompute),e.removeObserver("confirmedAt",t,t.triggerRecompute),e.removeObserver("currentBlock",t,t.triggerRecompute),e.removeObserver("hasPendingChanges",t,t.triggerRecompute)}},triggerRecompute:function(){Ember.run.once(this,this.recompute)}}) e.default=r})),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-after",["exports","ember-moment/helpers/is-after"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),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-before",["exports","ember-moment/helpers/is-before"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/is-between",["exports","ember-moment/helpers/is-between"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),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){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return var n=[],r=!0,o=!1,i=void 0 try{for(var s,u=e[Symbol.iterator]();!(r=(s=u.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(a){o=!0,i=a}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}(e,t)||function(e,t){if(!e)return if("string"==typeof e)return n(e,t) var r=Object.prototype.toString.call(e).slice(8,-1) "Object"===r&&e.constructor&&(r=e.constructor.name) if("Map"===r||"Set"===r)return Array.from(e) if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length) for(var n=0,r=new Array(t);ne.length)&&(t=e.length) for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,u=!1 return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next() return s=e.done,e},e:function(e){u=!0,i=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw i}}}}function b(e,t){if(e){if("string"==typeof e)return m(e,t) var n=Object.prototype.toString.call(e).slice(8,-1) return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}function m(e,t){(null==t||t>e.length)&&(t=e.length) for(var n=0,r=new Array(t);ne.currentBlock}))})),contributionsConfirmed:Ember.computed("contributions.[]","currentBlock",(function(){var e=this return this.contributions.filterBy("vetoed",!1).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,o.default)(t,"contributorId"),r=n.map((function(e){return e.value.toString()})),i=this.contributors.reject((function(e){return r.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 i.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("contributions",[])},getEthProvider:function(){var e,n=this return new Promise((function(r){function o(){console.debug("[kredits] Creating new instance from npm module class"),console.debug("[kredits] providerURL: ".concat(a.default.web3ProviderUrl)),e=new t.default.providers.JsonRpcProvider(a.default.web3ProviderUrl),r({ethProvider:e,ethSigner:null})}function i(e,t){return s.apply(this,arguments)}function s(){return(s=h(regeneratorRuntime.mark((function n(i,s){var u return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return console.debug("[kredits] Using user-provided instance, e.g. from Mist browser or Metamask"),e=new t.default.providers.Web3Provider(i),n.next=4,e.getNetwork() case 4:if(u=n.sent,!Ember.isPresent(a.default.web3RequiredNetwork)||u.name===a.default.web3RequiredNetwork){n.next=8 break}return window.alert('Please switch your Ethereum wallet to the "'.concat(a.default.web3RequiredNetwork,'" network before connecting your account.')),n.abrupt("return",o()) case 8:e.listAccounts().then((function(t){s.set("currentUserAccounts",t) var n=0===t.length?null:e.getSigner() r({ethProvider:e,ethSigner:n})})) case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}window.ethereum?window.ethereum.isConnected()?i(window.ethereum,n):o():window.web3?i(window.web3.currentProvider,n):o()}))},setup:function(){var e=this return this.getEthProvider().then((function(t){return new n.default(t.ethProvider,t.ethSigner,{addresses:{Kernel:a.default.kreditsKernelAddress},apm:a.default.kreditsApmDomain,ipfsConfig:a.default.ipfs}).init().then(function(){var t=h(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,u.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 h(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.browserCache.contributors.length() case 2:if(!(t.sent>0)){t.next=9 break}return t.next=6,e.loadContributorsFromCache() case 6:e.set("contributorsNeedSync",!0),t.next=11 break case 9:return t.next=11,e.fetchContributors() case 11:return t.next=13,e.browserCache.contributions.length() case 13:if(!(t.sent>0)){t.next=20 break}return t.next=17,e.loadContributionsFromCache() case 17:e.set("contributionsNeedSync",!0),t.next=22 break case 20:return t.next=22,e.fetchContributions({page:{size:30}}) case 22:return t.abrupt("return",Promise.resolve()) case 23:case"end":return t.stop()}}),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(e){console.debug("[kredits] add contributor response",e)}))},updateContributor:function(e,t){if(t.github_uid){var n=parseInt(t.github_uid) t.github_uid=n}return console.debug("[kredits] update contributor",t),this.kredits.Contributor.updateProfile(e,t,{gasLimit:35e4}).then((function(e){console.debug("[kredits] updateProfile response",e)}))},fetchContributors:function(){var e=this return console.debug("[kredits] Fetching all contributors from the network"),this.kredits.Contributor.all().then((function(t){return t.forEach((function(t){e.loadContributorFromData(t)}))})).then((function(){return e.cacheLoadedContributors()}))},loadContributorFromData:function(e){var t=l.default.create((0,i.default)(e)),n=this.contributors.findBy("id",t.id) return n&&this.contributors.removeObject(n),this.contributors.pushObject(t),t},cacheLoadedContributors:function(){var e=this return h(regeneratorRuntime.mark((function t(){var n,r,o return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=f(e.contributors),t.prev=1,n.s() case 3:if((r=n.n()).done){t.next=9 break}return o=r.value,t.next=7,e.browserCache.contributors.setItem(o.id,o.serialize()) case 7:t.next=3 break case 9:t.next=14 break case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0) case 14:return t.prev=14,n.f(),t.finish(14) case 17:return console.debug("[kredits] Cached ".concat(e.contributors.length," contributors in browser storage")),t.abrupt("return",Promise.resolve()) case 19:case"end":return t.stop()}}),t,null,[[1,11,14,17]])})))()},loadContributorsFromCache:function(){var e=this return h(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributors.iterate((function(t){e.contributors.pushObject(l.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributors.length," contributors from cache"))}))) case 1:case"end":return t.stop()}}),t)})))()},syncContributors:(0,r.task)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fetchContributors() case 2:case"end":return e.stop()}}),e,this)}))),addContribution:function(e){var t=this return console.debug("[kredits] add contribution",e),this.kredits.Contribution.addContribution(e,{gasLimit:3e5}).then((function(n){console.debug("[kredits] add contribution response",n),e.contributor=t.contributors.findBy("id",e.contributorId) var r=c.default.create(e) return r.set("pendingTx",n),r.set("confirmedAtBlock",n.blockNumber+40320),t.contributions.pushObject(r),r}))},fetchContributions:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{page:{size:200}} return console.debug("[kredits] Fetching contributions from the network"),this.kredits.Contribution.all(t).then((function(t){return t.map((function(t){return e.loadContributionFromData(t)}))})).then((function(t){var n=t.map((function(t){return e.browserCache.contributions.setItem(t.id.toString(),t.serialize())})) return Promise.all(n).then((function(){console.debug("[kredits] Cached ".concat(t.length," contributions in browser storage"))}))}))},loadContributionFromData:function(e){var t=c.default.create((0,s.default)(e)) t.set("contributor",this.contributors.findBy("id",e.contributorId.toString())) var n=this.contributions.findBy("id",t.id) return n&&this.contributions.removeObject(n),this.contributions.pushObject(t),t},cacheLoadedContributions:function(){var e=this return h(regeneratorRuntime.mark((function t(){var n,r,o return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=f(e.contributions),t.prev=1,n.s() case 3:if((r=n.n()).done){t.next=9 break}return o=r.value,t.next=7,e.browserCache.contributions.setItem(o.id,o.serialize()) case 7:t.next=3 break case 9:t.next=14 break case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0) case 14:return t.prev=14,n.f(),t.finish(14) case 17:return console.debug("[kredits] Cached ".concat(e.contributions.length," contributions in browser storage")),t.abrupt("return",Promise.resolve()) case 19:case"end":return t.stop()}}),t,null,[[1,11,14,17]])})))()},loadContributionsFromCache:function(){var e=this return h(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributions.iterate((function(t){e.contributions.pushObject(c.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributions.length," contributions from cache"))}))) case 1:case"end":return t.stop()}}),t)})))()},contributionTasks:(0,r.taskGroup)().enqueue(),syncContributions:(0,r.task)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fetchNewContributions.perform() case 2:return e.next=4,this.syncUnconfirmedContributions.perform() case 4:case"end":return e.stop()}}),e,this)}))).group("contributionTasks"),fetchNewContributions:(0,r.task)(regeneratorRuntime.mark((function e(){var t,n,r,o,i,s return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.kredits.Contribution.functions.contributionsCount() case 2:if(t=e.sent,n=Math.max.apply(null,this.contributions.mapBy("id")),!((r=t-n)>0)){e.next=20 break}console.debug("[kredits] Fetching ".concat(r," new contributions")),o=n case 8:if(!(o<=t)){e.next=18 break}return e.next=11,this.kredits.Contribution.getById(o) case 11:return i=e.sent,s=this.loadContributionFromData(i),e.next=15,this.browserCache.contributions.setItem(s.id.toString(),s.serialize()) case 15:o++,e.next=8 break case 18:e.next=21 break case 20:console.debug("[kredits] No new contributions to fetch") case 21:case"end":return e.stop()}}),e,this)}))),fetchMissingContributions:(0,r.task)(regeneratorRuntime.mark((function e(){var t,n,r,o,i,s,u,a return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.kredits.Contribution.functions.contributionsCount() case 2:if(t=e.sent,(n=d(Array(t+1).keys())).shift(),r=new Set(this.contributions.mapBy("id")),0!==(o=n.filter((function(e){return!r.has(e)}))).length){e.next=10 break}return console.debug("[kredits] No contributions left to fetch"),e.abrupt("return") case 10:console.debug("[kredits] Fetching ".concat(o.length," past contributions")),i=0,s=t case 13:if(!(s>0)){e.next=29 break}if(!r.has(s)){e.next=18 break}return e.abrupt("continue",26) case 18:return e.next=20,this.kredits.Contribution.getById(s) case 20:return u=e.sent,a=this.loadContributionFromData(u),e.next=24,this.browserCache.contributions.setItem(a.id.toString(),a.serialize()) case 24:++i%20==0&&console.debug("[kredits] Fetched ".concat(i," more contributions")) case 26:s--,e.next=13 break case 29:console.debug("[kredits] Cached ".concat(i," past contributions")) case 30:case"end":return e.stop()}}),e,this)}))).group("contributionTasks"),syncUnconfirmedContributions:(0,r.task)(regeneratorRuntime.mark((function e(){var t,n,r,o,i return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(this.contributionsUnconfirmed.length>0)){e.next=25 break}console.debug("[kredits] Syncing unconfirmed contributions"),t=f(this.contributionsUnconfirmed),e.prev=3,t.s() case 5:if((n=t.n()).done){e.next=15 break}return r=n.value,e.next=9,this.kredits.Contribution.getById(r.id) case 9:return o=e.sent,i=this.loadContributionFromData(o),e.next=13,this.browserCache.contributions.setItem(r.id.toString(),i.serialize()) case 13:e.next=5 break case 15:e.next=20 break case 17:e.prev=17,e.t0=e.catch(3),t.e(e.t0) case 20:return e.prev=20,t.f(),e.finish(20) case 23:e.next=26 break case 25:console.debug("[kredits] No unconfirmed contributions to sync") case 26:case"end":return e.stop()}}),e,this,[[3,17,20,23]])}))),veto:function(e){console.debug("[kredits] veto against",e) var t=this.contributions.findBy("id",e) return this.kredits.Contribution.functions.veto(e,{gasLimit:3e5}).then((function(e){return console.debug("[kredits] veto response",e),t.set("pendingTx",e),e}))},getCurrentUser:Ember.computed("kredits.provider","currentUserAccounts.[]",(function(){var e=this return Ember.isEmpty(this.currentUserAccounts)?Promise.resolve():this.kredits.Contributor.functions.getContributorIdByAddress(this.currentUserAccounts.firstObject).then((function(t){return 0===t?Promise.resolve():e.kredits.Contributor.getById(t)}))})),addContractEventHandlers:function(){this.kredits.Contributor.on("ContributorProfileUpdated",this.handleContributorChange.bind(this)).on("ContributorAccountUpdated",this.handleContributorChange.bind(this)).on("ContributorAdded",this.handleContributorChange.bind(this)),this.kredits.Contribution.on("ContributionAdded",this.handleContributionAdded.bind(this)).on("ContributionVetoed",this.handleContributionVetoed.bind(this)),this.kredits.Token.on("Transfer",this.handleTransfer.bind(this))},handleContributorChange:function(e){var t=arguments,n=this return h(regeneratorRuntime.mark((function r(){var o,i,s,u,a,c return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:for(console.debug("[kredits] Contributor add/update event received for ID",e),o=t.length,i=new Array(o>1?o-1:0),s=1;s1&&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),o=n.findBy("value",r) Ember.isPresent(o)?Ember.get(o,"items").push(e):(o={property:t,value:r,items:[e]},n.push(o))})) return n}})),define("kredits-web/utils/process-contribution-data",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var t={} e.confirmedAtBlock&&"function"==typeof e.confirmedAtBlock.toNumber?t.confirmedAt=e.confirmedAtBlock.toNumber():"undefined"!==e.confirmedAt&&(t.confirmedAt=e.confirmedAt) return["id","contributorId","amount","vetoed","ipfsHash","kind","description","details","url","date","time","pendingTx"].forEach((function(n){t[n]=e[n]})),t}})),define("kredits-web/utils/process-contributor-data",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var t,n={id:e.id.toString(),balance:e.balanceInt,totalKreditsEarned:e.totalKreditsEarned,contributionsCount:null===(t=e.contributionsCount)||void 0===t?void 0:t.toNumber()} return["account","accounts","ipfsHash","isCore","kind","name","url","github_username","github_uid","wiki_username","zoom_display_name"].forEach((function(t){n[t]=e[t]})),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.17.0+733e5e36"}) //# sourceMappingURL=kredits-web-9c6bfc3b7a0946cf5e7de1b8d91e1062.map