{"__symbolic":"module","version":4,"metadata":{"BadgeUpClient":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"BadgeUpSettings"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@badgeup/badgeup-browser-client","name":"BadgeUp","line":40,"character":59}]}],"init":[{"__symbolic":"method"}],"setSubject":[{"__symbolic":"method"}],"subscribe":[{"__symbolic":"method"}],"unsubscribe":[{"__symbolic":"method"}],"emit":[{"__symbolic":"method"}],"fire":[{"__symbolic":"method"}],"progressHandler":[{"__symbolic":"method"}],"flush":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":41},"arguments":["BADGEUP_FORROOT_GUARD"]},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":36},"arguments":["BADGEUP_SETTINGS"]},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":37},"arguments":["BADGEUP_JS_CLIENT"]},"BadgeUpSettings":{"__symbolic":"interface"},"provideForRootGuard":{"__symbolic":"function"},"AchievementEarnedPopupComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"achievement-earned-popup","template":"<ion-content>\n    <h3 class=\"title space slide-top\"><b>Congratulations!</b></h3>\n    <div class=\"icon icon__icon-area\">\n        <div class=\"icon__shapes scale\"><svg width=\"334\" height=\"210\" viewBox=\"0 0 334 210\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n                <path d=\"M60.712 28L64.2654 28.1652L64.1002 31.7185L60.5468 31.5534L60.712 28Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M7.5229 94.4531L16.6269 101.976L9.104 111.08L0 103.557L7.5229 94.4531Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M302.473 186.963L312.211 185.926L313.248 195.664L303.51 196.701L302.473 186.963Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M59.5065 59.5935L63.5802 62.9597L60.214 67.0333L56.1404 63.6671L59.5065 59.5935Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M112.685 40.6851L112.541 44.1374L109.089 43.994L109.232 40.5417L112.685 40.6851Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M187.955 52L187.961 54.4082L185.553 54.4142L185.547 52.0061L187.955 52Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M175.479 34L176.287 39.9327L170.354 40.7404L169.547 34.8077L175.479 34Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M96.2901 65.2583L98.5697 65.7431L98.0849 68.0227L95.8053 67.5379L96.2901 65.2583Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M23.2137 12.8106L31.9422 14.6669L30.0859 23.3954L21.3574 21.5391L23.2137 12.8106Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M69.5625 116L71.893 116.016L71.8773 118.346L69.5468 118.331L69.5625 116Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M92.5918 145.968L94.2415 146.045L94.1644 147.695L92.5147 147.618L92.5918 145.968Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M97.5468 161.565L101.334 161L101.899 164.787L98.1116 165.352L97.5468 161.565Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M133.59 197L135.673 197.044L135.629 199.126L133.547 199.082L133.59 197Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M68.6657 203L73.5067 205.119L71.3878 209.96L66.5468 207.841L68.6657 203Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M264.182 172.219L271.052 170.877L272.394 177.747L265.524 179.089L264.182 172.219Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M287.319 52.4475L294.312 52.7723L293.987 59.7648L286.994 59.44L287.319 52.4475Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M40.5468 139.342L47.4169 138L48.7593 144.87L41.8892 146.212L40.5468 139.342Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M317.547 15.6205L328.62 11L333.24 22.0727L322.167 26.6931L317.547 15.6205Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M231.396 157.428L234.567 157.849L234.146 161.02L230.975 160.599L231.396 157.428Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M220.547 189.273L222.062 189L222.335 190.515L220.82 190.788L220.547 189.273Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M250.547 119.863L253.769 119L254.632 122.223L251.409 123.085L250.547 119.863Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M298.511 126.076L304.556 127.964L302.668 134.009L296.623 132.121L298.511 126.076Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M275.547 16.8626L278.769 16L279.632 19.2226L276.409 20.0852L275.547 16.8626Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M276.808 81.9236L280.127 82.2611L279.789 85.58L276.47 85.2425L276.808 81.9236Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M245.656 31.9341L250.269 33.1087L249.094 37.7223L244.481 36.5476L245.656 31.9341Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M165.94 0L171.142 4.39282L166.749 9.59505L161.547 5.20223L165.94 0Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M185.656 17L189.281 17.1089L189.172 20.7341L185.547 20.6252L185.656 17Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M238.547 54.1023L241.726 54L241.828 57.179L238.649 57.2813L238.547 54.1023Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M227.547 73.0405L228.804 73.0001L228.844 74.257L227.587 74.2974L227.547 73.0405Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M280.326 95.2817L281.769 94.7794L282.271 96.2217L280.829 96.7241L280.326 95.2817Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M256.741 147L260.072 147.195L259.877 150.525L256.547 150.33L256.741 147Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M292.83 103.407L296.16 103.601L295.966 106.932L292.635 106.737L292.83 103.407Z\" [attr.fill]=\"baseColor\" />\n                <path d=\"M292.547 104.02L294.047 104L294.066 105.5L292.566 105.519L292.547 104.02Z\" [attr.fill]=\"baseColor\" />\n            </svg>\n        </div>\n\n        <div class=\"icon__background icon__icon--absolute-center icon__icon--color-candy slide-in-blurred-bottom\"\n            [ngStyle]=\"{\n                'background-color': baseColor,\n                'box-shadow': boxShadow\n            }\">\n\n            <div class=\"ring\" [style.border-color]=\"baseColor\"></div>\n\n            <div\n                class=\"icon__icon\"\n                [ngStyle]=\"{'background-image': 'url(' + icon + ')'}\"\n            >\n            </div>\n        </div>\n    </div>\n    <ion-grid class=\"achievement\">\n        <div class=\"achievement__title-area\">\n            <h2 class=\"achievement__name slide-top\">{{ achievement.name }}</h2>\n            <h3 *ngIf=\"achievement?.description\" class=\"achievement__description slide-top\">{{ achievement?.description }}</h3>\n        </div>\n\n        <ion-row class=\"awards\">\n            <ion-col class=\"awards__list slide-top\">\n                <div class=\"awards__item awards__item--color-candy\" \n                     [style.color]=\"baseColor\"\n                     *ngFor=\"let award of earnedAwards\">{{ award.name }}</div>\n            </ion-col>\n        </ion-row>\n        <div class=\"acknowledge space-top slide-top\">\n            <button ion-button navPop>OK, Great!</button>\n        </div>\n    </ion-grid>\n</ion-content>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ionic-angular","name":"NavParams","line":21,"character":26},{"__symbolic":"reference","name":"ɵi"}]}],"ngOnInit":[{"__symbolic":"method"}],"parseRGB":[{"__symbolic":"method"}]}},"OverviewComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"overview","template":"<ion-grid>\n    <ion-row align-items-stretch>\n        <ion-col col-lg-4 col-12>\n            <recent-achmt></recent-achmt>\n        </ion-col>\n        <ion-col col-lg-4 col-12>\n            <nextup-achmt></nextup-achmt>\n        </ion-col>\n        <ion-col col-lg-4 col-12>\n            <upcoming-achmt></upcoming-achmt>\n        </ion-col>\n    </ion-row>\n</ion-grid>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵf"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"AllEarnedComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"all-earned","template":"<ion-content>\n    <div class=\"section\">\n        <h3 class=\"section-name\">Earned Awards</h3>\n        <all-earned-awards></all-earned-awards>\n    </div>\n\n    <!-- split between sections -->\n    <hr>\n\n    <ion-list class=\"scroll-wrapper\" #contents>\n        <div class=\"section\" *ngFor=\"let dataset of allEarned; let j = index\">\n            <h3 class=\"section-name\">Achievements earned {{ dataset.label }}</h3>\n            <ion-grid *ngIf=\"dataset.value?.length > 0\">\n                <div class=\"number-earned\">{{ dataset.value.length }} {{dataset.value.length === 1 ? 'achievement' : 'achievements'}} earned</div>\n                <ion-row>\n                    <ng-container *ngFor=\"let item of dataset.value; let i = index\">\n                        <ion-col class=\"achmt-item\" *ngIf=\"!item.type\" col-4 (click)=\"tapOnAchievementItem(item, $event.target, i, j)\">\n                            <icon-progress\n                                [percentComplete]=\"1\"\n                                [achievement]=\"item?.achievement\"\n                                [size]=\"'small'\"\n                                [showPercentage]=\"false\"\n                                [barColor]=\"item?.achievementColor\"\n                            ></icon-progress>\n                            <p class=\"achievement-name\">{{item?.achievement.name}}</p>\n                        </ion-col>\n\n                        <earned-achievement-details *ngIf=\"selectedAchievementIndex === (j + '-' + i)\"\n                            [achItem]=\"item\"\n                        ></earned-achievement-details>\n                    </ng-container>\n                </ion-row>\n            </ion-grid>\n            <div *ngIf=\"dataset.value?.length === 0\">\n                <div class=\"none-earned\">No achievements earned.</div>\n            </div>\n        </div>\n    </ion-list>\n\n    <div class=\"centered-spinner\" *ngIf=\"isLoading\">\n        <ion-spinner></ion-spinner>\n    </div>\n\n    <ion-infinite-scroll (ionInfinite)=\"getMore($event)\">\n        <ion-infinite-scroll-content loadingSpinner=\"none\"></ion-infinite-scroll-content>\n    </ion-infinite-scroll>\n</ion-content>\n"}]}],"members":{"contents":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":5},"arguments":["contents"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵk"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"getMore":[{"__symbolic":"method"}],"tapOnAchievementItem":[{"__symbolic":"method"}]}},"badgeUpJSClient":{"__symbolic":"function","parameters":["badgeUpSettings"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@badgeup/badgeup-browser-client","name":"BadgeUp","line":72,"character":15},"arguments":[{"__symbolic":"reference","name":"badgeUpSettings"}]}},"BadgeUpModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":75,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":76,"character":14},{"__symbolic":"reference","module":"ionic-angular","name":"IonicModule","line":76,"character":28}],"declarations":[{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"OverviewComponent"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"AchievementEarnedPopupComponent"},{"__symbolic":"reference","name":"AllEarnedComponent"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"}],"entryComponents":[{"__symbolic":"reference","name":"AchievementEarnedPopupComponent"},{"__symbolic":"reference","name":"OverviewComponent"},{"__symbolic":"reference","name":"AllEarnedComponent"}],"exports":[{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"OverviewComponent"},{"__symbolic":"reference","name":"AllEarnedComponent"}],"providers":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["badgeUpSettings"],"value":{"ngModule":{"__symbolic":"reference","name":"BadgeUpModule"},"providers":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"provide":{"__symbolic":"reference","name":"ɵb"},"useValue":{"__symbolic":"reference","name":"badgeUpSettings"}},{"provide":{"__symbolic":"reference","name":"ɵc"},"useFactory":{"__symbolic":"reference","name":"badgeUpJSClient"},"deps":[{"__symbolic":"reference","name":"ɵb"}]},{"provide":{"__symbolic":"reference","name":"ɵd"},"useClass":{"__symbolic":"reference","name":"ɵba"}},{"__symbolic":"reference","name":"BadgeUpClient"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵi"},{"provide":{"__symbolic":"reference","name":"ɵa"},"useFactory":{"__symbolic":"reference","name":"provideForRootGuard"},"deps":[[{"__symbolic":"reference","name":"BadgeUpClient"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":153,"character":47}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":153,"character":63}}]]}]}}}},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":35},"arguments":["BADGEUP_STORAGE"]},"ɵe":{"__symbolic":"interface"},"BadgeUpNotificationType":{"None":0,"NewAchievementEarned":1},"BadgeUpEarnedAchievement":{"__symbolic":"interface"},"ɵf":{"__symbolic":"class","members":{"setSubject":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ionic-angular","name":"ModalController","line":11,"character":35}]}],"showNewAchievementEarned":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"getColor":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"BadgeUpClient"},{"__symbolic":"reference","name":"ɵf"}]}],"load":[{"__symbolic":"method"}],"getMostRecent":[{"__symbolic":"method"}],"getNextUp":[{"__symbolic":"method"}],"getTop3":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":14,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"BadgeUpClient"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵi"}]}],"retrieveAchievementById":[{"__symbolic":"method"}],"getWeekOfEarnedAchievements":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵn"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1},"arguments":[{"selector":"[badgeUpClickEvent]"}]}],"members":{"badgeUpEventKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5},"arguments":["badgeUpClickEvent"]}]}],"badgeUpEventData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5},"arguments":["badgeUpClickEventData"]}]}],"badgeUpEventModifier":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5},"arguments":["badgeUpClickEventModifier"]}]}],"badgeUpEventModifierValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5},"arguments":["badgeUpClickEventModifierValue"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":52,"character":15},{"__symbolic":"reference","name":"BadgeUpClient"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"EventManager","line":55,"character":22}]}]}},"ɵm":{"__symbolic":"class","members":{}},"ɵn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":23,"character":23},{"__symbolic":"reference","name":"BadgeUpClient"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"EventManager","line":26,"character":30},{"__symbolic":"reference","name":"ɵm"}]}],"ngAfterContentInit":[{"__symbolic":"method"}],"emitEvent":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"preloader","template":"<div class=\"preloader\">\n    <div class=\"preloader__inner\">\n        <div class=\"preloader__line\"></div>\n\n        <div class=\"preloader__circle icon-progress icon-progress--size-big\">\n            <div class=\"icon-progress__icon preloader__icon\"></div>\n        </div>\n        <div class=\"preloader__body\">\n            <div class=\"preloader__line\"></div>\n            <div class=\"preloader__line\"></div>\n            <div class=\"preloader__line\"></div>\n        </div>\n    </div>\n</div>\n"}]}],"members":{}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"recent-achmt","template":"<div *ngIf=\"(mostRecentObs | async) as mostRecent; else loading\">\n    <ng-container *ngIf=\"mostRecent.length === 1; else empty\">\n        <h2 class=\"section-name\">Most Recent Achievement</h2>\n        <div>\n            <div class=\"badgeup-icon-progress badgeup-icon-progress--size-big\">\n                <div\n                    *ngIf=\"(icon$ | async)\"\n                    class=\"badgeup-icon-progress__inner\"\n                    [ngStyle]=\"{'background-image': 'url(' + (icon$ | async) + ')'}\"\n                >\n                </div>\n                <svg class=\"blue-spin\" viewBox=\"0 0 239 135\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M119 121.542C149.123 121.542 173.542 97.1226 173.542 67C173.542 36.8774 149.123 12.4583 119 12.4583C88.8775 12.4583 64.4583 36.8774 64.4583 67C64.4583 97.1226 88.8775 121.542 119 121.542ZM119 126.5C151.861 126.5 178.5 99.8609 178.5 67C178.5 34.139 151.861 7.5 119 7.5C86.1391 7.5 59.5 34.139 59.5 67C59.5 99.8609 86.1391 126.5 119 126.5Z\" fill=\"#02B0FF\"></path>\n                    <path d=\"M229.404 59.9074L232.168 66.7527L239.52 67.2703L233.875 72.0186L235.656 79.184L229.404 75.2731L223.152 79.184L224.933 72.0186L219.289 67.2703L226.641 66.7527L229.404 59.9074Z\" fill=\"#02B0FF\"></path>\n                    <path d=\"M10.6348 59.9074L13.398 66.7528L20.7501 67.2703L15.1057 72.0186L16.8863 79.184L10.6348 75.2731L4.38322 79.184L6.16385 72.0186L0.519531 67.2703L7.87161 66.7528L10.6348 59.9074Z\" fill=\"#02B0FF\"></path>\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M49.2753 70.7656C48.8428 33.5642 77.8031 2.32665 115.227 0.352173C79.6027 4.12068 51.8259 34.9639 52.1747 70.6127L49.2753 70.7656Z\" fill=\"#02B0FF\"></path>\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M192.249 63.9101C193.265 101.1 164.797 132.789 127.408 135.352C162.97 131.024 190.26 99.7475 189.352 64.1087L192.249 63.9101Z\" fill=\"#02B0FF\"></path>\n                </svg>\n            </div>\n        </div>\n        <h4 class=\"achievement-name\">{{mostRecent[0].achievement.name}}</h4>\n        <p class=\"description\">{{mostRecent[0].achievement?.description}}</p>\n\n        <span class=\"link\" *ngIf=\"!showDetails\" (click)=\"showDetails = true\">view details</span>\n\n        <recent-achmt-details\n            *ngIf=\"showDetails\"\n            [recent]=\"mostRecent[0]\"\n        >\n        </recent-achmt-details>\n    </ng-container>\n\n    <ng-template #empty>\n        <!-- TODO empty placeholder -->\n        <div>No achievements earned yet</div>\n    </ng-template>\n</div>\n<ng-template #loading>\n    <preloader></preloader>\n</ng-template>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵj"}]}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"BadgeUpClient"},{"__symbolic":"reference","name":"ɵf"}]}],"getAwardDetailsByEarnedAchievement":[{"__symbolic":"method"}],"getEarnedAwards":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"recent-achmt-details","template":"<p class=\"earned-ago\">{{timeAgo}}</p>\n\n<ng-container *ngIf=\"awards\">\n    <ng-container *ngIf=\"awards.length > 0; else empty\">\n        <div class=\"award award-group\" *ngFor=\"let container of awards\">\n            <div class=\"award award-name\">{{container.award.name}}</div>\n            <div class=\"award award-description\">{{container.award.description}}</div>\n            <div class=\"award award-redeemed\" *ngIf=\"container.earnedAward?.state === 'redeemed'\">redeemed</div>\n            <div class=\"award award-not-redeemed\" *ngIf=\"container.earnedAward?.state !== 'redeemed'\">not redeemed</div>\n        </div>\n    </ng-container>\n    <ng-template #empty>\n        <div class=\"no-awards\">This achievement has no awards.</div>\n    </ng-template>\n</ng-container>\n"}]}],"members":{"recent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵq"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"nextup-achmt","template":"<ng-container *ngIf=\"(nextUpObs | async) as nextUp; else loading\">\n    <div *ngIf=\"nextUp.length === 1; else empty\">\n        <h2 class=\"section-name\">Next Up</h2>\n        <icon-progress\n            [achievement]=\"nextUp[0].achievement\"\n            [percentComplete]=\"nextUp[0]?.progress?.percentComplete\"\n            [showPercentage]=\"false\"\n        ></icon-progress>\n        <h3 class=\"achievement-name\">{{nextUp[0].achievement.name}}</h3>\n        <p class=\"description\">{{nextUp[0].achievement?.description}}</p>\n\n        <span class=\"link\" *ngIf=\"!showDetails\" (click)=\"showDetails = true\">view details</span>\n\n        <criteria-progress-tree\n            *ngIf=\"showDetails\"\n            [criteria]=\"nextUp[0].achievement.resources.criteria\"\n            [progress]=\"nextUp[0].progress.progressTree\"\n        >\n        </criteria-progress-tree>\n    </div>\n\n    <ng-template #empty>\n        <!-- TODO empty placeholder -->\n        <div>You've got nothing left to earn!</div>\n    </ng-template>\n</ng-container>\n<ng-template #loading>\n    <preloader></preloader>\n</ng-template>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"}]}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"upcoming-achmt","template":"<div *ngIf=\"(upcomingObs | async) as upcoming; else loading\">\n    <div *ngIf=\"upcoming.length > 0; else empty\">\n        <h2 class=\"section-name\">Next Upcoming</h2>\n        <ion-grid>\n            <ion-row>\n                <ion-col col-4 *ngFor=\"let u of upcoming\" class=\"upcoming-achmt-list-item\">\n                    <icon-progress\n                        [achievement]=\"u?.achievement\"\n                        [percentComplete]=\"u?.progress?.percentComplete\"\n                        [size]=\"'small'\"\n                    ></icon-progress>\n                    <p class=\"achievement-name\">{{u?.achievement.name}}</p>\n                </ion-col>\n            </ion-row>\n        </ion-grid>\n    </div>\n\n    <ng-template #empty>\n        <!-- TODO empty placeholder -->\n        <div>No upcoming achievements</div>\n    </ng-template>\n</div>\n<ng-template #loading>\n    <preloader></preloader>\n</ng-template>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"}]}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"icon-progress","template":"<div\n    class=\"badgeup-icon-progress\"\n    [ngClass]=\"[circleGraphPercentageHiddenClass, circleGraphSizeClass]\"\n>\n    <div\n        *ngIf=\"icon\"\n        class=\"badgeup-icon-progress__inner\"\n        [ngStyle]=\"{'background-image': 'url(' + icon + ')'}\"\n    >\n    </div>\n    <div class=\"badgeup-icon-progress__circle\">\n        <svg viewBox=\"0 0 100 100\">\n            <path\n                d=\"M 50,50 m 0,-46 a 46,46 0 1 1 0,92 a 46,46 0 1 1 0,-92\"\n                stroke=\"#eee\"\n                stroke-width=\"8\"\n                fill-opacity=\"0\"\n            ></path>\n            <path #progressPath\n                d=\"M 50,50 m 0,-46 a 46,46 0 1 1 0,92 a 46,46 0 1 1 0,-92\"\n                [attr.stroke]=\"barColor\"\n                stroke-width=\"8\"\n                fill-opacity=\"0\"\n                style=\"stroke-dasharray: 289.067, 289.067\"\n            ></path>\n        </svg>\n        <div\n            class=\"badgeup-icon-progress__text\"\n            [ngClass]=\"{'badgeup-icon-progress__text--position-right': size !== 'small'}\"\n            *ngIf=\"showPercentage\"\n        >{{ percentComplete | percent }}</div>\n    </div>\n</div>\n"}]}],"members":{"achievement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"percentComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"showPercentage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}],"barColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"progressPath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":19,"character":5},"arguments":["progressPath"]}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"offline-footer","template":"<div class=\"notification\">\n    <div class=\"notification__content\">\n        <div class=\"notification__icon\">\n            <svg width=\"33\" height=\"30\" viewBox=\"0 0 33 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.1658 5.24382C7.89456 6.07145 3.81775 8.13491 0.515941 11.4342C-0.17198 12.1221 -0.17198 13.2417 0.515941 13.9363C1.20386 14.6243 2.32342 14.6243 3.01809 13.9363C5.67949 11.2725 8.93934 9.56259 12.3694 8.80653L12.1658 5.24382ZM12.562 12.1787C9.92278 12.8561 7.42636 14.2266 5.3651 16.2901C4.67718 16.9781 4.67718 18.0976 5.3651 18.7923C6.05302 19.4802 7.17258 19.4802 7.86725 18.7923C9.28808 17.3714 10.9749 16.3746 12.7691 15.8017L12.562 12.1787ZM14.2502 15.429L14.047 11.8727C15.6715 11.6185 17.3285 11.6185 18.953 11.8727L18.7498 15.4278C17.2638 15.1519 15.7361 15.1523 14.2502 15.429ZM12.9608 19.1561C11.9355 19.5934 10.9755 20.2298 10.1401 21.0651C9.45223 21.753 9.45223 22.8726 10.1401 23.5672C10.8281 24.2552 11.9476 24.2552 12.6423 23.5672C13.1143 23.0937 13.6527 22.7254 14.2278 22.4622C13.4878 21.8301 13.0146 20.8948 13.0003 19.8486L12.9608 19.1561ZM18.7722 22.4622C19.3474 22.7253 19.8857 23.0937 20.3578 23.5672C20.7018 23.9112 21.1536 24.0865 21.6055 24.0865C22.0574 24.0865 22.5092 23.9112 22.8532 23.5672C23.5411 22.8793 23.5411 21.7598 22.8532 21.0718C22.0202 20.2357 21.0624 19.5985 20.039 19.1602L19.9997 19.8486C19.9854 20.8948 19.5122 21.83 18.7722 22.4622ZM18.5643 18.6753L18.5 19.8C18.5 20.9046 17.6046 21.8 16.5 21.8C15.3954 21.8 14.5 20.9046 14.5 19.8L14.4356 18.6733C15.7921 18.3558 17.2084 18.3564 18.5643 18.6753ZM20.231 15.7996C22.0276 16.3721 23.7169 17.3697 25.1395 18.7923C25.4834 19.1362 25.9353 19.3116 26.3872 19.3116C26.839 19.3116 27.2909 19.1362 27.6349 18.7923C28.3228 18.1044 28.3228 16.9848 27.6349 16.2901C25.5736 14.2266 23.0772 12.8561 20.4379 12.1787L20.231 15.7996ZM20.6307 8.80608C24.0621 9.5619 27.3243 11.272 29.9887 13.9363C30.3326 14.2803 30.7845 14.4557 31.2364 14.4557C31.6882 14.4557 32.1401 14.2803 32.4841 13.9363C33.172 13.2484 33.172 12.1289 32.4841 11.4342C29.1822 8.13491 25.1054 6.07145 20.8342 5.24382L20.6307 8.80608ZM13.6546 5.00625L13.8566 8.53979C15.6095 8.29628 17.3902 8.2962 19.1435 8.53954L19.3454 5.00625C17.4566 4.76875 15.5434 4.76875 13.6546 5.00625Z\"\n                    fill=\"#C4C4C4\"></path>\n                <path d=\"M16.5 29.7721C17.8 29.7721 18.8538 28.7182 18.8538 27.4183C18.8538 26.1183 17.8 25.0645 16.5 25.0645C15.2001 25.0645 14.1462 26.1183 14.1462 27.4183C14.1462 28.7182 15.2001 29.7721 16.5 29.7721Z\"\n                    fill=\"#919191\"></path>\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.5 0C18.3732 0 19.5 1.19543 19.5 2.3L18.5 19.8C18.5 20.9046 17.6046 21.8 16.5 21.8C15.3954 21.8 14.5 20.9046 14.5 19.8L13.5 2.3C13.5 1.19543 14.6268 0 16.5 0Z\"\n                    fill=\"#919191\"></path>\n            </svg>\n\n        </div>\n        <div class=\"notification__text-wrapper\">\n            <h4 class=\"notification__title\">Whoops, looks like you are offline.</h4>\n            <p class=\"notificaton__text\">Please reconnect to see your latest accomplishments.</p>\n        </div>\n    </div>\n</div>\n"}]}],"members":{}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"all-earned-awards","template":"<ng-container *ngIf=\"awards?.length > 0; else empty\">\n    <ion-grid>\n        <ion-row>\n            <ion-col col-6 class=\"award award-group\" *ngFor=\"let container of awards\">\n                <div class=\"award award-name\">{{container.award.name}}</div>\n                <div class=\"award award-description\">{{container.award.description}}</div>\n                <div class=\"award award-redeemed\" *ngIf=\"container.earnedAward?.state === 'redeemed'\">redeemed</div>\n                <div class=\"award award-not-redeemed\" *ngIf=\"container.earnedAward?.state !== 'redeemed'\">not redeemed</div>\n            </ion-col>\n        </ion-row>\n    </ion-grid>\n</ng-container>\n<ng-template #empty>\n    <div class=\"no-awards\">No awards to redeem.</div>\n</ng-template>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵq"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"earned-achievement-details","template":"<ion-row class=\"achmt-details-wrapper\">\n    <ion-col col-12 class=\"achmt-details-content\">\n        <h3 class=\"achmt__title\">{{achItem.achievement.name}}</h3>\n        <p class=\"achmt__description\">{{achItem.achievement.description}}</p>\n        <p class=\"achmt__time-ago\">{{timeAgo}}</p>\n        <!-- TODO criteria/awards from other PR -->\n    </ion-col>\n</ion-row>\n"}]}],"members":{"achItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"criteria-progress-tree","template":"<div class=\"group\" *ngFor=\"let cp of critProgress\">\n    <div class=\"name\">{{cp.name}} - <span class=\"percent-text\">{{cp.percentage}}%</span></div>\n    <div *ngIf=\"cp.description\" class=\"description\">{{cp.description}}</div>\n\n    <criteria-progress-tree-element\n        [percentComplete]=\"cp.percentage\"\n    >\n    </criteria-progress-tree-element>\n</div>\n"}]}],"members":{"progress":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}],"criteria":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"criteria-progress-tree-element","template":"<div class=\"progress-bar\">\n    <svg viewBox=\"0 0 100 4\" preserveAspectRatio=\"none\" style=\"display: block; width: 100%; height: 100%;\">\n        <path class=\"background\" d=\"M 0,2 L 100,2\" stroke-width=\"1\" fill-opacity=\"0\"></path>\n        <path class=\"foreground\" #progressPath d=\"M 0,2 L 100,2\" stroke-width=\"3\" fill-opacity=\"0\" style=\"stroke-dasharray: 100, 100;\"></path>\n    </svg>\n</div>\n"}]}],"members":{"progressPath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":8,"character":5},"arguments":["progressPath"]}]}],"percentComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":5}}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"storeEvent":[{"__symbolic":"method"}],"getEvents":[{"__symbolic":"method"}],"removeEvents":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"BadgeUpClient"},{"__symbolic":"reference","name":"ɵf"}]}],"getAchievementProgressDetails":[{"__symbolic":"method"}]}}},"origins":{"BadgeUpClient":"./core/badgeUpClient","ɵa":"./config","ɵb":"./config","ɵc":"./config","BadgeUpSettings":"./config","provideForRootGuard":"./index","AchievementEarnedPopupComponent":"./components/achievement-earned-popup/achievement-earned-popup","OverviewComponent":"./components/overview/overview","AllEarnedComponent":"./components/all-earned/all-earned","badgeUpJSClient":"./index","BadgeUpModule":"./index","ɵd":"./declarations","ɵe":"./declarations","BadgeUpNotificationType":"./declarations","BadgeUpEarnedAchievement":"./declarations","ɵf":"./core/providers/subject","ɵg":"./core/badgeUpLogger","ɵh":"./core/badgeUpNotification","ɵi":"./core/providers/color-loader","ɵj":"./core/providers/overview","ɵk":"./core/providers/earned-achievements","ɵl":"./core/directives/badgeUpClickEventListener","ɵm":"./core/directives/badgeUpEventListener","ɵn":"./core/directives/badgeUpEventListener","ɵo":"./components/preloader/preloader","ɵp":"./components/recent-achmt/recent-achmt","ɵq":"./core/providers/earned-awards","ɵr":"./components/recent-achmt-details/recent-achmt-details","ɵs":"./components/nextup-achmt/nextup-achmt","ɵt":"./components/upcoming-achmt/upcoming-achmt","ɵu":"./components/icon-progress/icon-progress","ɵv":"./components/offline-footer/offline-footer","ɵw":"./components/all-earned/all-earned-awards/all-earned-awards","ɵx":"./components/earned-achievement-details/earned-achievement-details","ɵy":"./components/criteria-progress-tree/criteria-progress-tree","ɵz":"./components/criteria-progress-tree/criteria-progress-tree-element/criteria-progress-tree-element","ɵba":"./core/badgeUpLocalStorage","ɵbb":"./core/providers/achievement-details"},"importAs":"@badgeup/badgeup-ionic-client"}