{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/admin/login/logged-in.guard.ts","./src/app/admin/login/login.component.ts","./src/app/admin/login/login.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/form-restart/form-restart.component.ts","./src/app/components/form-restart/form-restart.component.html","./src/app/components/person-add/person-add.component.ts","./src/app/components/person-add/person-add.component.html","./src/app/components/person-canvas/canvas-utils.ts","./src/app/components/person-canvas/person-canvas.component.ts","./src/app/components/person-canvas/person-canvas.component.html","./src/app/components/person-delete/person-delete.component.ts","./src/app/components/person-delete/person-delete.component.html","./src/app/components/person-form/person-form.component.ts","./src/app/components/person-form/person-form.component.html","./src/app/components/person-questions/person-questions.component.ts","./src/app/components/person-questions/person-questions.component.html","./src/app/components/terms-dialog/terms-dialog.component.ts","./src/app/components/terms-dialog/terms-dialog.component.html","./src/app/components/toolbar/toolbar.component.ts","./src/app/components/toolbar/toolbar.component.html","./src/app/model/circle-wrapper.ts","./src/app/model/form-state.ts","./src/app/model/image-wrapper.ts","./src/app/model/person-extra.ts","./src/app/model/person-wrapper.ts","./src/app/model/point.ts","./src/app/model/rect.ts","./src/app/pages/example/example.component.ts","./src/app/pages/example/example.component.html","./src/app/pages/not-found/not-found.component.ts","./src/app/pages/not-found/not-found.component.html","./src/app/services/admin.service.ts","./src/app/services/api.service.ts","./src/app/services/base-grpc-service.ts","./src/app/services/circle.service.ts","./src/app/services/crypto.service.ts","./src/app/services/global-change.service.ts","./src/app/services/persistence.service.ts","./src/app/services/survey.service.ts","./src/app/transloco/transloco-root.module.ts","./src/app/util/base-64-converter.ts","./src/app/util/enum-translator.ts","./src/app/util/modal-helper.ts","./src/environments/environment.ts","./src/grpc/ApiServiceClientPb.ts","./src/main.ts","./src/grpc/api_pb.js","external var \"canvg\"","ignored|/angular/node_modules/node-forge/lib|crypto"],"sourcesContent":["import {inject} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot} from '@angular/router';\nimport {AdminService} from '../../services/admin.service';\nimport {map, take} from 'rxjs/operators';\n\nexport function loggedInGuard(): CanActivateFn {\n return (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const adminService = inject(AdminService);\n const router = inject(Router);\n return adminService.stateChange.pipe(take(1), map(source => {\n if (!source) {\n return router.createUrlTree(['/login']);\n }\n return source;\n }));\n };\n}\n","import {Component} from '@angular/core';\nimport {AdminService} from '../../services/admin.service';\nimport {UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms';\nimport {Router} from '@angular/router';\nimport {take} from 'rxjs/operators';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent {\n\n loginError = false;\n\n form = new UntypedFormGroup({\n username: new UntypedFormControl('', [Validators.required, Validators.minLength(2)]),\n password: new UntypedFormControl('', [Validators.required, Validators.minLength(2)]),\n });\n\n constructor(public adminService: AdminService, private router: Router) {\n adminService.stateChange.pipe(take(1)).subscribe(authenticated => {\n if (authenticated) {\n // Logout implicit and do a hard reload to ensure empty memory\n adminService.logout().subscribe(value => document.location.reload());\n }\n });\n }\n\n login(): void {\n this.adminService.login(this.form.get('username')?.value, this.form.get('password')?.value)\n .subscribe(() => this.router.navigate(['/admin']), () => this.loginError = true);\n }\n\n}\n","\n
\n
Login war leider nicht erfolgreich
\n
Login
\n \n Benutzername\n \n \n \n Passwort\n \n \n \n
\n
\n","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {LoginComponent} from './admin/login/login.component';\nimport {ExampleComponent} from './pages/example/example.component';\nimport {NotFoundComponent} from './pages/not-found/not-found.component';\nimport {PersonFormComponent} from './components/person-form/person-form.component';\nimport {loggedInGuard} from './admin/login/logged-in.guard';\n\nconst routes: Routes = [\n {path: '', component: PersonFormComponent},\n {path: 'login', component: LoginComponent},\n {\n path: 'admin',\n loadComponent: () => import('./admin/admin-dashboard/admin-dashboard.component').then(c => c.AdminDashboardComponent),\n canActivate: [ loggedInGuard() ],\n children: []\n },\n {path: 'example', component: ExampleComponent},\n {path: '**', component: NotFoundComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n}\n","import {Component} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {CircleService} from './services/circle.service';\nimport {PersistenceService} from './services/persistence.service';\nimport {ApiService} from './services/api.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n\n version = '';\n\n constructor(\n private actRoute: ActivatedRoute,\n private router: Router,\n private circles: CircleService,\n private persistence: PersistenceService,\n public api: ApiService\n ) {\n this.api.getVersion().subscribe(version => this.version = version);\n // TODO: Add recovery from persistence\n // this.actRoute.queryParamMap.subscribe(map => {\n // const previousCircleId = persistence.readFormState()?.circleId ?? -1;\n // const circleId = map.get('circleId');\n //\n // // No Circle Id was passed via URL, using previous Circle Id if\n // // available or the default one if none is available.\n // if (circleId === null) {\n // this.circles.initIfApplicable(previousCircleId);\n // this.hasLoadedCircleId = true;\n // return;\n // }\n //\n // const circleIdNum = Number.parseInt(circleId ?? '0', 10);\n //\n // // Another circleId was passed via Url than stored in Storage.\n // // Clearing current Form State to ensure clean Start.\n // if (previousCircleId !== circleIdNum) {\n // this.persistence.clearFormState();\n // const state = new FormState();\n // state.circleId = circleIdNum;\n // this.persistence.persistFormState(state);\n // }\n //\n // this.circles.setCircleId(circleIdNum);\n // this.hasLoadedCircleId = true;\n // this.router.navigate([], { queryParams: { circleId: null }, queryParamsHandling: 'merge' });\n // });\n }\n}\n","\n\n
\n \n
\n\n
\n {{ version }}\n
\n","import {BrowserModule} from '@angular/platform-browser';\nimport {NgModule} from '@angular/core';\n\nimport {AppRoutingModule} from './app-routing.module';\nimport {AppComponent} from './app.component';\nimport {PersonCanvasComponent} from './components/person-canvas/person-canvas.component';\nimport {LoginComponent} from './admin/login/login.component';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {ToolbarComponent} from './components/toolbar/toolbar.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon';\nimport {ExampleComponent} from './pages/example/example.component';\nimport {NotFoundComponent} from './pages/not-found/not-found.component';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\nimport {MAT_DATE_LOCALE, MatLine, MatNativeDateModule} from '@angular/material/core';\nimport {PersonAddComponent} from './components/person-add/person-add.component';\nimport {PersonDeleteComponent} from './components/person-delete/person-delete.component';\nimport {MatBottomSheet} from '@angular/material/bottom-sheet';\nimport {HttpClientModule} from '@angular/common/http';\nimport {TranslocoRootModule} from './transloco/transloco-root.module';\nimport {PersonFormComponent} from './components/person-form/person-form.component';\nimport {FormRestartComponent} from './components/form-restart/form-restart.component';\nimport {PersonQuestionsComponent} from './components/person-questions/person-questions.component';\nimport {TermsDialogComponent} from './components/terms-dialog/terms-dialog.component';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatListModule} from '@angular/material/list';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatTab, MatTabGroup} from '@angular/material/tabs';\n\n@NgModule({\n declarations: [\n AppComponent,\n PersonCanvasComponent,\n LoginComponent,\n ToolbarComponent,\n ExampleComponent,\n NotFoundComponent,\n PersonAddComponent,\n PersonDeleteComponent,\n PersonFormComponent,\n FormRestartComponent,\n PersonQuestionsComponent,\n TermsDialogComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatCardModule,\n MatListModule,\n MatDialogModule,\n MatSnackBarModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatCheckboxModule,\n HttpClientModule,\n TranslocoRootModule,\n MatSelectModule,\n MatRadioModule,\n MatLine,\n MatTabGroup,\n MatTab\n ],\n providers: [\n {provide: MAT_DATE_LOCALE, useValue: 'de-DE'},\n MatBottomSheet\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n","import {Component, Optional} from '@angular/core';\nimport {ModalHelper} from '../../util/modal-helper';\nimport {MatBottomSheetRef} from '@angular/material/bottom-sheet';\nimport {MatDialogRef} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-form-restart',\n templateUrl: './form-restart.component.html',\n styleUrls: ['./form-restart.component.scss']\n})\nexport class FormRestartComponent {\n\n constructor(\n @Optional() private bottomSheetRef: MatBottomSheetRef,\n @Optional() private dialogRef: MatDialogRef\n ) { }\n\n close(shouldRestart: boolean): void {\n ModalHelper.close(this.dialogRef, this.bottomSheetRef, new FormRestartResult(shouldRestart));\n }\n\n}\n\nexport class FormRestartResult {\n shouldRestart: boolean;\n\n constructor(shouldRestart: boolean) {\n this.shouldRestart = shouldRestart;\n }\n}\n","\n

{{ t('formRestart.title') }}

\n {{ t('formRestart.hint') }}\n
\n \n \n
\n
\n","import {Component, Inject, OnInit, Optional} from '@angular/core';\nimport {MAT_BOTTOM_SHEET_DATA, MatBottomSheetRef} from '@angular/material/bottom-sheet';\nimport {PersonExtra} from '../../model/person-extra';\nimport {UntypedFormControl, Validators} from '@angular/forms';\nimport {PersonWrapper} from '../../model/person-wrapper';\nimport {Circle, ContactFrequency, Relationship, YesNoMaybe} from '../../../grpc/api_pb';\nimport {TranslocoService} from '@ngneat/transloco';\nimport {EnumTranslator} from '../../util/enum-translator';\nimport {ModalHelper} from '../../util/modal-helper';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-person-add',\n templateUrl: './person-add.component.html',\n styleUrls: ['./person-add.component.scss']\n})\nexport class PersonAddComponent implements OnInit {\n\n YesNoMaybe = YesNoMaybe;\n readonly relationshipTypes = [\n Relationship.PARTNER,\n Relationship.EX_PARTNER,\n Relationship.CHILD,\n Relationship.PARENTS,\n Relationship.SIBLING,\n Relationship.RELATIVE,\n Relationship.BEST_FRIEND,\n Relationship.FRIEND,\n // Relationship.BETTER_KNOWN_PERSON,\n Relationship.COLLEAGUE,\n // Relationship.SUPERVISOR,\n Relationship.PROFESSIONAL,\n Relationship.OTHER_RELATIONSHIP\n ];\n readonly frequencies = [\n ContactFrequency.DAILY,\n ContactFrequency.SEVERAL_TIMES_A_WEEK,\n ContactFrequency.ONCE_A_WEEK,\n ContactFrequency.SEVERAL_TIMES_A_MONTH,\n ContactFrequency.ONCE_A_MONTH,\n ContactFrequency.SEVERAL_TIMES_A_YEAR,\n ContactFrequency.ONCE_A_YEAR,\n ContactFrequency.LESS\n ];\n\n\n readonly NAME = 0;\n readonly PERSON_GROUP = 1;\n readonly GENDER = 2;\n readonly AGE = 3;\n readonly RELATIONSHIP = 4;\n readonly RELATIONSHIP_DURATION = 5;\n readonly FREQUENCY_OF_CONTACT = 6;\n // TODO: Properly implement new questions and increase step count\n readonly IS_QUEER = 7;\n readonly KNOWS_ABOUT_TRANS = 8;\n readonly WOULD_CHANGE_OPINION_IF_NOT_TRANS = 9;\n\n readonly STEP_COUNT_NOW = 10;\n readonly STEP_COUNT_PAST = 2;\n\n stepCount!: number;\n currentStep = 0;\n\n data!: PersonAddData;\n\n nameControl = new UntypedFormControl(null, Validators.required);\n isGroupControl = new UntypedFormControl(null, Validators.required);\n groupSizeControl = new UntypedFormControl(null, Validators.required);\n genderControl = new UntypedFormControl(null, Validators.required);\n ageControl = new UntypedFormControl(null, Validators.required);\n relationshipTypeControl = new UntypedFormControl(null, Validators.required);\n relationshipOtherTextControl = new UntypedFormControl(null, Validators.required);\n relationshipDurationControl = new UntypedFormControl(null, Validators.required);\n isQueerControl = new UntypedFormControl(null, Validators.required);\n knowsAboutTransControl = new UntypedFormControl(null, Validators.required);\n wouldChangeOpinionIfNotTransControl = new UntypedFormControl(null, Validators.required);\n durationMonth?: Date;\n now = new Date();\n frequencyOfContactControl = new UntypedFormControl(null, Validators.required);\n\n isCancelling = false;\n\n constructor(\n private ts: TranslocoService,\n @Optional() private bottomSheetRef?: MatBottomSheetRef,\n @Optional() private dialogRef?: MatDialogRef,\n @Optional() @Inject(MAT_BOTTOM_SHEET_DATA) bottomSheetData?: PersonAddData,\n @Optional() @Inject(MAT_DIALOG_DATA) dialogData?: PersonAddData\n ) {\n ModalHelper.disableBackdropClose(dialogRef, bottomSheetRef);\n this.data = ModalHelper.extractData(dialogData, bottomSheetData);\n this.stepCount = this.data.isInPast ? this.STEP_COUNT_PAST : this.STEP_COUNT_NOW;\n }\n\n ngOnInit(): void {\n }\n\n prev(): void {\n this.currentStep--;\n if (this.currentStep === this.GENDER && this.isGroupControl.value === true) {\n this.currentStep--;\n }\n }\n\n next(): void {\n this.currentStep++;\n\n if (this.currentStep === this.GENDER && this.isGroupControl.value === true) {\n this.currentStep++;\n }\n if (this.currentStep >= this.stepCount) {\n this.close(true);\n }\n }\n\n close(shouldAdd: boolean, force = false): void {\n if (shouldAdd) {\n this.data.personWrapper.hasAnsweredPersonDetails = true;\n if (this.data.isInPast) {\n this.data.personWrapper.person.setNamePast(this.nameControl.value);\n this.data.personWrapper.person.setIsGroupPast(this.isGroupControl.value);\n } else {\n this.data.personWrapper.person.setFullName(this.nameControl.value);\n this.data.personWrapper.person.setIsGroup(this.isGroupControl.value);\n }\n if (this.isGroupControl.value) {\n this.data.personWrapper.person.setGroupSize(this.groupSizeControl.value);\n }\n this.data.personWrapper.person.setGender(this.genderControl.value);\n this.data.personWrapper.person.setAge(this.ageControl.value);\n this.data.personWrapper.person.setRelationship(this.relationshipTypeControl.value);\n if (this.isOtherRelationShipType()) {\n this.data.personWrapper.person.setOtherRelationship(this.relationshipOtherTextControl.value);\n }\n this.data.personWrapper.person.setKnownSinceMonths(this.relationshipDurationControl.value);\n this.data.personWrapper.person.setContactFrequency(this.frequencyOfContactControl.value);\n this.data.personWrapper.person.setIsQueer(this.isQueerControl.value);\n this.data.personWrapper.person.setKnowsAboutTrans(this.knowsAboutTransControl.value);\n this.data.personWrapper.person.setWouldChangeOpinionIfNotTrans(this.wouldChangeOpinionIfNotTransControl.value);\n } else {\n if (this.currentStep !== 0 && !force) {\n this.isCancelling = true;\n return;\n }\n }\n ModalHelper.close(this.dialogRef, this.bottomSheetRef, new PersonAddResult(shouldAdd, this.data.personWrapper));\n }\n\n isStepReady(): boolean {\n switch (this.currentStep) {\n case this.NAME:\n return this.nameControl.valid;\n case this.PERSON_GROUP:\n return this.isGroupControl.valid && (!this.isGroupControl.value || this.groupSizeControl.valid);\n case this.GENDER:\n return this.genderControl.valid;\n case this.AGE:\n return this.ageControl.valid;\n case this.RELATIONSHIP:\n return this.relationshipTypeControl.valid &&\n (!this.isOtherRelationShipType() || this.relationshipOtherTextControl.valid);\n case this.RELATIONSHIP_DURATION:\n return this.relationshipDurationControl.valid;\n case this.FREQUENCY_OF_CONTACT:\n return this.frequencyOfContactControl.valid;\n case this.IS_QUEER:\n return this.isQueerControl.valid;\n case this.KNOWS_ABOUT_TRANS:\n return this.knowsAboutTransControl.valid;\n case this.WOULD_CHANGE_OPINION_IF_NOT_TRANS:\n return this.wouldChangeOpinionIfNotTransControl.valid;\n }\n return true;\n }\n\n isOtherRelationShipType(): boolean {\n return this.relationshipTypeControl.value === Relationship.OTHER_RELATIONSHIP;\n }\n\n getAvatarPath(): string {\n return PersonWrapper.getAvatarPath(this.isGroupControl.value);\n }\n\n getRelationshipTypeName(relationship: Relationship): string {\n return EnumTranslator.getTextFromRelationship(this.ts, relationship);\n }\n\n getFrequencyName(frequency: ContactFrequency): string {\n return EnumTranslator.getTextFromContactFrequency(this.ts, frequency);\n }\n\n getYesNoMaybeName(yesNoMaybe: YesNoMaybe): string {\n return EnumTranslator.getYesNoMaybeName(this.ts, yesNoMaybe, this.data.circleType);\n }\n\n onDurationYearChosen(date: Date): void {\n this.durationMonth = new Date();\n this.durationMonth?.setFullYear(date.getFullYear());\n }\n\n onDurationMonthChosen(date: Date, datePicker: MatDatepicker): void {\n this.durationMonth?.setMonth(date.getMonth());\n datePicker.close();\n }\n\n onDateChosen(): void {\n if (this.durationMonth === undefined) {\n return;\n }\n this.relationshipDurationControl.setValue(this.monthDiff(this.durationMonth, new Date()));\n }\n\n getDurationDateAsString(): string {\n return this.durationMonth !== undefined ?\n ('0' + (this.durationMonth.getMonth() + 1)).slice(-2) + '.' + this.durationMonth.getFullYear() : '';\n }\n\n monthDiff(dateFrom: Date, dateTo: Date): number {\n return dateTo.getMonth() - dateFrom.getMonth() +\n (12 * (dateTo.getFullYear() - dateFrom.getFullYear()));\n }\n\n}\n\nexport class PersonAddData {\n personWrapper: PersonWrapper;\n circleType: CircleType;\n isInPast: boolean;\n\n constructor(personWrapper: PersonWrapper, circleType: CircleType, isInPast: boolean) {\n this.personWrapper = personWrapper;\n this.circleType = circleType;\n this.isInPast = isInPast;\n }\n}\n\nexport type CircleType = 'support' | 'appreciation';\n\nexport class PersonAddResult {\n shouldAdd: boolean;\n person: PersonWrapper;\n\n constructor(shouldAdd: boolean, person: PersonWrapper) {\n this.shouldAdd = shouldAdd;\n this.person = person;\n }\n}\n","\n \n
\n

{{ t('personAdd.title') }}

\n \n
\n \n {{ t('personAdd.startHint') }}\n\n \n \n \n \n\n \n {{ t('personAdd.groupHint', {name: nameControl.value}) }}\n\n
\n
\n
\n \n
\n {{ t('personAdd.person') }}\n
\n
\n
\n \n
\n {{ t('personAdd.group') }}\n
\n
\n \n {{ t('personAdd.groupSize') }}\n \n \n
\n\n \n {{ t('personAdd.genderHint', {name: nameControl.value}) }}\n \n \n \n \n\n \n {{ t('personAdd.ageQuestion', {name: nameControl.value, average: isGroupControl.value ? t('personAdd.onAverage') : '' }) }}\n\n \n \n \n \n\n \n {{ t('personAdd.relationshipHint', {name: nameControl.value}) }}\n\n \n {{ t('personAdd.relationship') }}\n \n \n {{ getRelationshipTypeName(relationshipType) }}\n \n \n \n \n {{ t('personAdd.otherHint') }}\n \n \n \n\n \n {{ t('personAdd.relationshipDurationHint', {name: nameControl.value}) }}\n \n {{ t('personAdd.monthAndYear') }}\n \n \n \n \n \n \n \n\n \n {{ t('personAdd.frequencyOfContactHint', {name: nameControl.value, average: isGroupControl.value ? t('personAdd.onAverage') : '' }) }}\n\n \n {{ t('personAdd.relationship') }}\n \n \n {{ getFrequencyName(frequency) }}\n \n \n \n \n\n \n {{ t('personAdd.isQueerHint', {name: nameControl.value}) }}\n\n \n {{ t('personAdd.pickAnswer') }}\n \n {{ getYesNoMaybeName(YesNoMaybe.YES) }}\n {{ getYesNoMaybeName(YesNoMaybe.PARTLY) }}\n {{ getYesNoMaybeName(YesNoMaybe.NO) }}\n {{ getYesNoMaybeName(YesNoMaybe.MAYBE) }}\n \n \n \n\n \n {{ t('personAdd.knowsAboutTransHint', {name: nameControl.value}) }}\n\n \n {{ t('personAdd.pickAnswer') }}\n \n {{ getYesNoMaybeName(YesNoMaybe.YES) }}\n {{ getYesNoMaybeName(YesNoMaybe.PARTLY) }}\n {{ getYesNoMaybeName(YesNoMaybe.NO) }}\n {{ getYesNoMaybeName(YesNoMaybe.MAYBE) }}\n \n \n \n\n \n {{ t(data.circleType === 'support' ? 'personAdd.wouldChangeOpinionIfNotTransSupportHint' : 'personAdd.wouldChangeOpinionIfNotTransAppreciationHint', {name: nameControl.value}) }}\n\n \n {{ t('personAdd.pickAnswer') }}\n \n {{ getYesNoMaybeName(YesNoMaybe.YES_MORE) }}\n {{ getYesNoMaybeName(YesNoMaybe.YES_LESS) }}\n {{ getYesNoMaybeName(YesNoMaybe.NO) }}\n {{ getYesNoMaybeName(YesNoMaybe.MAYBE) }}\n \n \n \n\n
\n \n
\n \n \n
\n
\n \n

{{ t('personAdd.cancelConfirm') }}

\n {{ t('personAdd.cancelExplanation') }}\n \n \n
\n\n
\n","import {Point} from '../../model/point';\nimport {Rect} from '../../model/rect';\n\nexport class CanvasUtils {\n static isInCircle(point: Point | undefined, radius: number, circleCenter: Point): boolean {\n if (!point) {\n return false;\n }\n\n return Math.pow(point.x - circleCenter.x, 2) + Math.pow(point.y - circleCenter.y, 2) < Math.pow(radius, 2);\n }\n\n static isInRect(point: Point | undefined, left: number, top: number, width: number, height: number): boolean {\n if (!point) {\n return false;\n }\n const right = left + width;\n const bottom = top + height;\n return point.x >= left && point.x <= right && point.y >= top && point.y <= bottom;\n }\n\n static isOverlappingRects(a: Rect, b: Rect): boolean {\n return a.left < b.right && a.right > b.left && a.top < b.bottom && a.bottom > b.top;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {PersonWrapper} from '../../model/person-wrapper';\nimport {ImageWrapper} from '../../model/image-wrapper';\nimport {Point} from '../../model/point';\nimport {Rect} from '../../model/rect';\nimport {CanvasUtils} from './canvas-utils';\nimport {MatBottomSheet} from '@angular/material/bottom-sheet';\nimport {PersonDeleteComponent, PersonDeleteResult} from '../person-delete/person-delete.component';\nimport {PersonExtra} from '../../model/person-extra';\nimport {PersonAddComponent, PersonAddData, PersonAddResult} from '../person-add/person-add.component';\nimport {Circle, Relationship} from '../../../grpc/api_pb';\nimport {ModalHelper} from '../../util/modal-helper';\nimport {TranslocoService} from '@ngneat/transloco';\nimport {EnumTranslator} from '../../util/enum-translator';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport {MatDialog} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-person-canvas',\n templateUrl: './person-canvas.component.html',\n styleUrls: ['./person-canvas.component.scss']\n})\nexport class PersonCanvasComponent implements AfterViewInit, OnChanges {\n\n static readonly FONT_SIZE = 16;\n static readonly FONT_COLOR = '#0000000';\n static readonly CIRCLE_STROKE_COLOR = 'rgba(0, 0, 0, .4)';\n\n @Output() personChange: EventEmitter = new EventEmitter();\n\n @ViewChild('personCanvas')\n canvas!: ElementRef;\n context!: CanvasRenderingContext2D;\n\n @Input() circle!: Circle;\n @Input() viewMode: PersonCanvasViewMode = 'drag_drop_now';\n\n get isDragDropViewMode(): boolean {\n return this.viewMode === 'drag_drop_now' || this.viewMode === 'drag_drop_past';\n }\n\n get isPrintViewMode(): boolean {\n return this.viewMode === 'print_now' || this.viewMode === 'print_past';\n }\n\n // tslint:disable-next-line:variable-name\n\n @Input() activePerson?: PersonWrapper;\n\n @Input() set savedPersons(_: PersonWrapper[]) {\n }\n\n persons: PersonWrapper[] = [];\n imageMap: { [src: string]: ImageWrapper } = {};\n\n isHoverSchedulingForDeletion = false;\n currentHoverSegment = -1;\n\n hasRunFirstDraw = false;\n canvasRect!: DOMRect;\n canvasHeight!: number;\n canvasWidth!: number;\n canvasWidthHalf!: number;\n canvasHeightHalf!: number;\n circleFullRadius!: number;\n circleRadiusPart!: number;\n circleCenter!: Point;\n imageSize!: number;\n\n constructor(\n private bottomSheet: MatBottomSheet,\n private dialog: MatDialog,\n private snackbar: MatSnackBar,\n private ts: TranslocoService\n ) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const hasChangedViewMode = changes.viewMode !== undefined;\n const hasChangedCircle = changes.circle !== undefined;\n const hasChangedPersons = changes.savedPersons !== undefined;\n\n if (hasChangedPersons) {\n if (hasChangedCircle) {\n this.persons = [...changes.savedPersons.currentValue];\n this.persons.push(this.buildNewPerson());\n } else {\n changes.savedPersons.currentValue.forEach((person: PersonWrapper) => {\n const index = this.persons.findIndex(foundPerson => foundPerson.id === person.id);\n if (index !== -1) {\n return;\n }\n this.persons.push(person);\n });\n }\n }\n\n\n if (!this.hasRunFirstDraw) {\n if (this.canvas) {\n this.onFirstDraw(this.canvas.nativeElement.getBoundingClientRect());\n }\n } else if (hasChangedViewMode) {\n if (this.hasRunFirstDraw) {\n this.onFirstDraw(this.canvas.nativeElement.getBoundingClientRect());\n }\n } else {\n this.onDraw();\n }\n }\n\n ngAfterViewInit(): void {\n console.log('Initializing Person Canvas');\n const foundContext = this.canvas.nativeElement.getContext('2d', {\n willReadFrequently: true\n });\n if (foundContext) {\n this.context = foundContext;\n console.log(`Canvas Context retrieved.`);\n\n this.onFirstDraw(this.canvas.nativeElement.getBoundingClientRect());\n }\n this.canvas.nativeElement.addEventListener('touchstart', event =>\n this.onMouseDown(new Point(\n event.changedTouches[0].clientX - this.canvas.nativeElement.offsetLeft,\n event.changedTouches[0].clientY - this.canvas.nativeElement.offsetTop\n )));\n this.canvas.nativeElement.addEventListener('touchmove', event =>\n this.onMouseMove(new Point(\n event.changedTouches[0].clientX - this.canvas.nativeElement.offsetLeft,\n event.changedTouches[0].clientY - this.canvas.nativeElement.offsetTop\n )));\n this.canvas.nativeElement.addEventListener('touchend', event =>\n this.onMouseUp(new Point(\n event.changedTouches[0].clientX - this.canvas.nativeElement.offsetLeft,\n event.changedTouches[0].clientY - this.canvas.nativeElement.offsetTop\n )));\n }\n\n onMouseDownFromEvent(event: MouseEvent): void {\n this.onMouseDown(new Point(event.clientX - this.canvas.nativeElement.offsetLeft, event.clientY - this.canvas.nativeElement.offsetTop));\n }\n\n onMouseMoveFromEvent(event: MouseEvent): void {\n this.onMouseMove(new Point(event.clientX - this.canvas.nativeElement.offsetLeft, event.clientY - this.canvas.nativeElement.offsetTop));\n }\n\n onMouseUpFromEvent(event: MouseEvent): void {\n this.onMouseUp(new Point(event.clientX - this.canvas.nativeElement.offsetLeft, event.clientY - this.canvas.nativeElement.offsetTop));\n }\n\n toImageData(): string {\n this.onFirstDraw(new DOMRect(0, 0, 1280, 720));\n return this.canvas.nativeElement.toDataURL('image/jpeg', 1);\n }\n\n onMouseDown(event: Point): void {\n if (!this.isDragDropViewMode) {\n return;\n }\n this.persons.filter(person =>\n (this.viewMode !== 'drag_drop_past' || !person.isInPresent) &&\n person.containsEvent(event, this.imageSize)\n ).forEach(person => {\n person.isDragging = true;\n person.mouseMovePoint = new Point(event.x, event.y);\n this.checkPersonHoverState(person);\n this.onDraw();\n });\n }\n\n onMouseMove(event: Point): void {\n if (!this.isDragDropViewMode) {\n return;\n }\n this.persons.filter(person => person.isDragging).forEach(person => {\n person.mouseMovePoint = new Point(event.x, event.y);\n this.checkPersonHoverState(person);\n this.onDraw();\n });\n }\n\n onMouseUp(event: Point): void {\n if (this.viewMode === 'pick') {\n const pickedPersonIndex = this.persons.findIndex(person => person.containsEvent(event, this.imageSize));\n if (pickedPersonIndex === -1) {\n return;\n }\n const importantPersonCount = this.persons.filter(person => person.isImportant).length;\n if ((importantPersonCount < 3 && !this.persons[pickedPersonIndex].isImportant) || this.persons[pickedPersonIndex].isImportant) {\n this.persons[pickedPersonIndex].isImportant = !this.persons[pickedPersonIndex].isImportant;\n this.publishPersonsChange();\n this.onDraw();\n } else {\n this.snackbar.open(this.ts.translate('canvas.maxReachedError'), undefined, {duration: 5000});\n }\n } else if (this.viewMode === 'drag_drop_past') {\n const pickedPersonIndex = this.persons.findIndex(person => person.containsEvent(event, this.imageSize));\n if (pickedPersonIndex !== -1 && this.persons[pickedPersonIndex].isAddedToCanvas() && this.persons[pickedPersonIndex].isInPresent) {\n this.persons[pickedPersonIndex].isInPast = !this.persons[pickedPersonIndex].isInPast;\n this.persons[pickedPersonIndex].isDragging = false;\n this.publishPersonsChange();\n this.onDraw();\n } else {\n this.onDragAndDropMouseUp(event);\n }\n } else if (this.viewMode === 'drag_drop_now') {\n this.onDragAndDropMouseUp(event);\n }\n }\n\n onDragAndDropMouseUp(event: Point): void {\n this.persons.filter(person => person.isDragging).forEach(person => {\n person.mouseMovePoint = undefined;\n person.tmpPoint = undefined;\n let wasAddedToCanvas = true;\n\n if (this.isHoverSchedulingForDeletion) {\n person.isDragging = false;\n ModalHelper\n .open(this.dialog, this.bottomSheet, PersonDeleteComponent, new PersonExtra(person))\n .subscribe((result: PersonDeleteResult) => this.onPersonDeletion(result));\n } else if (this.currentHoverSegment === 4) {\n // We're hovering over the Center, so reset to the Start\n // if the Person wasn't added to the Circle previously.\n person.isDragging = false;\n if (!person.isAddedToCanvas()) {\n person.tmpPoint = new Point(this.canvasWidthHalf / 2, this.canvasHeightHalf);\n }\n this.currentHoverSegment = -1;\n } else if (this.currentHoverSegment !== -1) {\n wasAddedToCanvas = person.isAddedToCanvas();\n person.rank = (this.currentHoverSegment - 4) * -1;\n person.angle = this.findPersonAngle(person, event.x, event.y);\n person.isDragging = false;\n if (this.persons.filter(foundPerson => !foundPerson.isAddedToCanvas()).length === 0) {\n this.persons.push(this.buildNewPerson());\n }\n this.publishPersonsChange();\n this.currentHoverSegment = -1;\n } else {\n person.isDragging = false;\n person.tmpPoint = new Point(event.x, event.y);\n }\n\n this.onDraw();\n\n if (!wasAddedToCanvas) {\n ModalHelper\n .open(this.dialog, this.bottomSheet, PersonAddComponent, new PersonAddData(person, this.circle.getId() === 1 ? 'support' : 'appreciation', this.viewMode === 'drag_drop_past'))\n .subscribe((result: PersonAddResult) => this.onPersonAddition(result));\n }\n });\n }\n\n publishPersonsChange(): void {\n this.personChange.emit(this.persons.filter(person => person.hasAnsweredPersonDetails));\n }\n\n onPersonAddition(result: PersonAddResult): void {\n const index = this.persons.findIndex(foundPerson => foundPerson.id === result.person.id);\n if (index === -1) {\n return;\n }\n if (result.shouldAdd) {\n this.persons[index] = result.person;\n this.publishPersonsChange();\n } else {\n this.persons.splice(index, 1);\n }\n\n this.onDraw();\n }\n\n onPersonDeletion(result: PersonDeleteResult): void {\n if (result.shouldDelete) {\n const index = this.persons.findIndex(foundPerson => foundPerson.id === result.person.id);\n if (index === -1) {\n return;\n }\n this.persons.splice(index, 1);\n this.publishPersonsChange();\n }\n this.isHoverSchedulingForDeletion = false;\n this.onDraw();\n }\n\n findPersonAngle(person: PersonWrapper, x: number, y: number): number {\n let currentAngle = Math.atan2(this.circleCenter.y - y, x - this.circleCenter.x);\n currentAngle = currentAngle * 180 / Math.PI;\n currentAngle = Math.abs(currentAngle < 0 ? currentAngle * -1 : Math.abs(currentAngle - 180) + 180);\n\n const radius = ((this.circleCenter.y - 8) / 5 + 4) * ((person.rank ?? 0) + 1);\n\n this.persons.filter(filteredPerson => filteredPerson.rank === person.rank && !filteredPerson.isDragging).forEach(foundPerson => {\n if (person.rank !== foundPerson.rank || !foundPerson.angle) {\n return;\n }\n let point: Point;\n let foundPoint: Point;\n\n currentAngle -= 1;\n do {\n point = new Point(\n this.angleToX(currentAngle, radius) - this.imageSize / 2,\n this.angleToY(currentAngle, radius) - this.imageSize / 2\n );\n foundPoint = new Point(\n this.angleToX(foundPerson.angle ?? 0, radius) - this.imageSize / 2,\n this.angleToY(foundPerson.angle ?? 0, radius) - this.imageSize / 2\n );\n currentAngle += 1;\n } while (CanvasUtils.isOverlappingRects(\n new Rect(point.x, point.y, this.imageSize, this.imageSize),\n new Rect(foundPoint.x, foundPoint.y, this.imageSize, this.imageSize),\n ));\n });\n\n person.tmpPoint = new Point(\n this.angleToX(currentAngle, radius),\n this.angleToY(currentAngle, radius)\n );\n\n return currentAngle;\n }\n\n checkPersonHoverState(person: PersonWrapper): void {\n if (\n person.isAddedToCanvas() &&\n CanvasUtils.isInRect(person.mouseMovePoint, 0, 0, this.canvasWidthHalf, this.canvasHeight)\n ) {\n this.currentHoverSegment = -1;\n this.isHoverSchedulingForDeletion = true;\n return;\n } else {\n this.isHoverSchedulingForDeletion = false;\n }\n\n for (let a = 4; a >= 0; a--) {\n const radius = this.circleFullRadius - this.circleRadiusPart * a;\n\n let isInContainer = false;\n if (a > 0) {\n isInContainer = CanvasUtils.isInCircle(person.mouseMovePoint, radius, this.circleCenter);\n } else {\n isInContainer = CanvasUtils.isInRect(person.mouseMovePoint, this.canvasWidthHalf, 0, this.canvasWidthHalf, this.canvasHeight);\n }\n\n this.currentHoverSegment = isInContainer ? a : -1;\n\n if (isInContainer) {\n return;\n }\n }\n }\n\n onFirstDraw(canvasRect: DOMRect): void {\n this.hasRunFirstDraw = true;\n this.canvasRect = canvasRect;\n this.canvasWidth = canvasRect.width;\n this.canvasHeight = canvasRect.height;\n this.canvas.nativeElement.width = this.canvasWidth;\n this.canvas.nativeElement.height = this.canvasHeight;\n this.canvasWidthHalf = this.canvasWidth / 2;\n this.canvasHeightHalf = this.canvasHeight / 2;\n this.circleFullRadius = this.canvasHeightHalf - 8;\n this.circleRadiusPart = this.circleFullRadius / 5 + 4;\n this.circleCenter = !this.isDragDropViewMode ? new Point(this.canvasWidthHalf, this.canvasHeightHalf) : new Point(\n this.canvasWidthHalf + this.canvasWidthHalf / 2,\n this.canvasHeightHalf\n );\n\n this.imageSize = (this.circleCenter.y - 8) / 5 - 8;\n console.log(`Canvas Height: ${this.canvasHeight}, Width: ${this.canvasWidth}`);\n\n this.persons\n .filter(person => !person.isAddedToCanvas())\n .forEach(person => person.tmpPoint = new Point(this.canvasWidthHalf / 2, this.canvasHeightHalf));\n\n this.onDraw();\n }\n\n onDraw(): void {\n this.context.clearRect(0, 0, this.canvasWidth, this.canvasHeight);\n\n if (this.isPrintViewMode) {\n this.context.fillStyle = 'rgba(255, 255, 255, 1)';\n this.context.fillRect(0, 0, this.canvasWidthHalf, this.canvasHeight);\n }\n\n if (this.isHoverSchedulingForDeletion) {\n this.context.fillStyle = 'rgba(255, 0, 0, .2)';\n this.context.fillRect(0, 0, this.canvasWidthHalf, this.canvasHeight);\n }\n\n if (this.isDragDropViewMode) {\n this.onDrawExplanationTexts();\n }\n this.onDrawCircles();\n\n this.persons.filter(person => this.isDragDropViewMode || person.isAddedToCanvas()).forEach(person => {\n if (person.angle !== undefined && person.rank !== undefined && !person.isDragging) {\n this.onDrawPersonRelative(person);\n } else if (person.mouseMovePoint !== undefined) {\n this.onDrawPersonAbsolute(person, person.mouseMovePoint);\n } else if (person.tmpPoint !== undefined) {\n this.onDrawPersonAbsolute(person, person.tmpPoint);\n }\n });\n }\n\n onDrawExplanationTexts(): void {\n const isDraggingAddedPersons = this.persons.filter(person => person.isDragging && person.isAddedToCanvas()).length > 0;\n if (isDraggingAddedPersons) {\n const deleteHint = this.ts.translate('canvas.deletePerson');\n this.context.font = '16px sans-serif';\n this.context.fillStyle = 'rgba(0, 0, 0, .6)';\n const deleteTextWidth = this.context.measureText(deleteHint).width;\n this.context.fillText(deleteHint, this.canvasWidthHalf / 2 - deleteTextWidth / 2, this.canvasHeight - 32);\n\n const deleteIcon = this.getAvatarFromPath('assets/delete.svg');\n\n if (deleteIcon.loaded) {\n const imageSize = 20;\n this.context.drawImage(\n deleteIcon.image,\n this.canvasWidthHalf / 2 - deleteTextWidth / 2 - imageSize - 8,\n this.canvasHeight - 32 - imageSize / 2 - 7, imageSize, imageSize);\n } else {\n deleteIcon.loadListener = () => this.onDraw();\n }\n } else {\n const lines = [this.ts.translate('canvas.addPersonSecondLine'), this.ts.translate('canvas.addPersonFirstLine')];\n this.context.font = '14px sans-serif';\n this.context.fillStyle = 'rgba(0, 0, 0, .6)';\n let currentY = this.canvasHeightHalf - this.imageSize / 2 - 16;\n lines.forEach(line => {\n this.context.fillText(line, this.canvasWidthHalf / 2 - this.context.measureText(line).width / 2, currentY);\n currentY -= 14;\n });\n\n currentY -= 8;\n this.context.font = '20px sans-serif';\n this.context.fillStyle = '#000000';\n const addTitle = this.ts.translate('canvas.addPerson');\n this.context.fillText(addTitle, this.canvasWidthHalf / 2 - this.context.measureText(addTitle).width / 2, currentY);\n }\n }\n\n onDrawCircles(): void {\n for (let a = 0; a < 5; a++) {\n const radius = this.circleFullRadius - this.circleRadiusPart * a;\n if (a !== 0) {\n this.onDrawCircle(radius, this.currentHoverSegment === a && this.currentHoverSegment !== 4);\n } else {\n this.onDrawRect(this.currentHoverSegment === a);\n }\n if (this.viewMode !== 'view') {\n this.onDrawCircleText(\n this.viewMode !== 'drag_drop_past' && this.viewMode !== 'print_past' ?\n this.circle.getTitlesNowList()[Math.abs(a - 4)] :\n this.circle.getTitlesPastList()[Math.abs(a - 4)],\n radius,\n a\n );\n }\n }\n }\n\n onDrawRect(isHovering: boolean): void {\n this.context.beginPath();\n this.context.fillStyle = isHovering ? 'rgba(0, 0, 0, .05)' : '#ffffff';\n this.context.fillRect(this.canvasWidthHalf, 0, this.canvasWidthHalf, this.canvasHeight);\n }\n\n onDrawCircle(radius: number, isHovering: boolean): void {\n this.context.beginPath();\n\n this.context.arc(this.circleCenter.x, this.circleCenter.y, radius, 0, 2 * Math.PI);\n\n this.context.fillStyle = isHovering ? 'rgba(0, 0, 0, .05)' : '#ffffff';\n this.context.fill();\n this.context.lineWidth = 1;\n this.context.strokeStyle = PersonCanvasComponent.CIRCLE_STROKE_COLOR;\n this.context.stroke();\n }\n\n onDrawCircleText(text: string, radius: number, index: number): void {\n this.context.font = `${PersonCanvasComponent.FONT_SIZE}px sans-serif`;\n const textMetrics = this.context.measureText(text);\n\n this.context.fillStyle = '#000000';\n if (index === 4) {\n this.drawCircleCenterText(text);\n } else if (index === 0) {\n this.drawCircleOuterText(text);\n } else {\n this.drawCircleInnerText(text, this.circleCenter, radius * 2);\n }\n }\n\n drawCircleCenterText(text: string): void {\n this.context.fillText(\n text,\n this.circleCenter.x - this.context.measureText(text).width / 2,\n this.canvasHeight / 2 - (PersonCanvasComponent.FONT_SIZE / 4) * -1\n );\n }\n\n drawCircleOuterText(text: string): void {\n const endOfCircle = this.circleCenter.x + this.circleFullRadius - this.circleRadiusPart;\n const textWidth = this.context.measureText(text).width;\n if (textWidth + 16 >= this.canvasWidthHalf / 2) {\n const halfSentenceLength = text.length / 2;\n const words = text.split(' ');\n\n let lastIndex = words.length - 1;\n let currentLength = 0;\n for (let a = 0; a < words.length; a++) {\n currentLength += words[a].length;\n if (currentLength >= halfSentenceLength) {\n lastIndex = a;\n break;\n }\n }\n\n const firstLine = words.slice(0, lastIndex + 1).join(' ');\n const firstLineWidth = this.context.measureText(firstLine).width;\n const secondLine = words.slice(lastIndex + 1, words.length).join(' ');\n const secondLineWidth = this.context.measureText(secondLine).width;\n this.context.fillText(\n firstLine,\n this.isDragDropViewMode ?\n this.canvasWidth - firstLineWidth - 16 : endOfCircle - firstLineWidth,\n 16\n );\n this.context.fillText(\n secondLine,\n this.isDragDropViewMode ?\n this.canvasWidth - secondLineWidth - 16 : endOfCircle - secondLineWidth,\n 32\n );\n } else {\n this.context.fillText(\n text,\n this.isDragDropViewMode ?\n this.canvasWidth - textWidth - 16 : endOfCircle - textWidth,\n 16\n );\n }\n }\n\n drawCircleInnerText(text: string, center: Point, radius: number, startAngle = 0): void {\n startAngle = startAngle * (Math.PI / 180); // convert to radians\n\n const textHeight = PersonCanvasComponent.FONT_SIZE;\n radius -= textHeight;\n\n this.context.fillStyle = '#0000000';\n this.context.font = `${textHeight}px sans-serif`;\n\n // Setup letters and positioning\n this.context.save();\n this.context.translate(center.x, center.y); // Move to center\n // startAngle += (Math.PI * !inwardFacing); // Rotate 180 if outward\n this.context.textBaseline = 'middle'; // Ensure we draw in exact center\n this.context.textAlign = 'center'; // Ensure we draw in exact center\n\n // rotate 50% of total angle for center alignment\n for (let j = 0; j < text.length; j++) {\n const charWid = this.context.measureText(text[j]).width;\n startAngle -= ((charWid + (j === text.length - 1 ? 0 : 0)) / (radius / 2 - textHeight)) / 2;\n }\n\n // Phew... now rotate into final start position\n this.context.rotate(startAngle);\n\n // Now for the fun bit: draw, rotate, and repeat\n for (const c of text) {\n const charWid = this.context.measureText(c).width; // half letter\n // rotate half letter\n this.context.rotate((charWid / 2) / (radius / 2 - textHeight));\n // draw the character at \"top\" or \"bottom\"\n // depending on inward or outward facing\n this.context.fillText(c, 0, (0 - radius / 2 + textHeight / 2));\n\n this.context.rotate((charWid / 2) / (radius / 2 - textHeight)); // rotate half letter\n }\n this.context.restore();\n }\n\n onDrawPersonAbsolute(person: PersonWrapper, point: Point): void {\n const avatar = this.getAvatarFromPerson(person);\n if (avatar.loaded) {\n this.drawImage(person, avatar.image, (point.x ?? 0) - this.imageSize / 2, (point.y ?? 0) - this.imageSize / 2);\n this.drawName(person, new Point(point.x, point.y + this.imageSize / 2 + 8));\n } else {\n avatar.loadListener = () => {\n this.onDraw();\n };\n }\n }\n\n onDrawPersonRelative(person: PersonWrapper): void {\n if (this.isPrintViewMode) {\n if (this.viewMode === 'print_now' && !person.isInPresent) {\n return;\n }\n if (this.viewMode === 'print_past' && !person.isInPast) {\n return;\n }\n }\n if (this.viewMode === 'view') {\n this.context.save();\n this.context.globalAlpha = person.id === this.activePerson?.id ? 1 : .3;\n }\n const avatar = this.getAvatarFromPerson(person);\n const radius = this.circleFullRadius - this.circleRadiusPart * (Math.abs((person.rank ?? 0) - 4)) + this.imageSize / 3;\n const point = new Point(this.angleToX(person.angle ?? 0, radius), this.angleToY(person.angle ?? 0, radius));\n person.tmpPoint = point;\n\n if (avatar.loaded) {\n this.drawImage(person, avatar.image, point.x - this.imageSize / 2, point.y - this.imageSize / 2);\n this.drawName(person, new Point(point.x, point.y + this.imageSize / 2 + 8));\n } else {\n avatar.loadListener = () => {\n this.onDraw();\n };\n }\n if (this.viewMode === 'view') {\n this.context.restore();\n }\n }\n\n getAvatarFromPerson(person: PersonWrapper): ImageWrapper {\n return this.getAvatarFromPath(person.getAvatarPath());\n }\n\n getAvatarFromPath(avatarPath: string): ImageWrapper {\n if (avatarPath in this.imageMap) {\n return this.imageMap[avatarPath];\n }\n\n const image = new ImageWrapper(avatarPath);\n this.imageMap[avatarPath] = image;\n return image;\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n this.onFirstDraw(this.canvas.nativeElement.getBoundingClientRect());\n }\n\n drawImage(person: PersonWrapper, image: HTMLImageElement, x: number, y: number): void {\n this.context.drawImage(\n image,\n x,\n y,\n this.imageSize,\n this.imageSize\n );\n if (this.viewMode !== 'drag_drop_past' || person.isInPast) {\n return;\n }\n\n const imageData = this.context.getImageData(x, y, this.imageSize, this.imageSize);\n const data = imageData.data;\n\n for (let i = 0; i < data.length; i += 4) {\n const brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];\n // red\n data[i] = brightness;\n // green\n data[i + 1] = brightness;\n // blue\n data[i + 2] = brightness;\n }\n\n // overwrite original image\n this.context.putImageData(imageData, x, y);\n }\n\n drawName(person: PersonWrapper, point: Point): void {\n if (!person.hasAnsweredPersonDetails) {\n return;\n }\n let text: string;\n if (!person.isInPresent) {\n text = `${person.person.getNamePast()}`;\n } else {\n text = `${person.person.getFullName()} (${person.person.getAge()})`;\n }\n this.context.font = 'bold 12px sans-serif';\n\n let textWidth = this.context.measureText(text).width;\n\n if (this.isPrintViewMode) {\n this.context.fillStyle = '#ffffff';\n this.context.fillRect(point.x - textWidth / 2, point.y - 12, textWidth, 16);\n }\n\n this.context.fillStyle = person.isImportant ? 'rgba(255, 0, 0, .6)' : 'rgba(0, 0, 0, .6)';\n this.context.fillText(text, point.x - textWidth / 2, point.y);\n\n if (person.isInPresent) {\n const relationshipText = person.person.getRelationship() === Relationship.OTHER_RELATIONSHIP ?\n person.person.getOtherRelationship() : EnumTranslator.getTextFromRelationship(this.ts, person.person.getRelationship());\n textWidth = this.context.measureText(relationshipText).width;\n\n if (this.isPrintViewMode) {\n this.context.fillStyle = '#ffffff';\n this.context.fillRect(point.x - textWidth / 2, point.y + 2, textWidth, 16);\n }\n\n this.context.fillStyle = person.isImportant ? 'rgba(255, 0, 0, .6)' : 'rgba(0, 0, 0, .6)';\n this.context.fillText(relationshipText, point.x - textWidth / 2, point.y + 14);\n }\n }\n\n buildNewPerson(): PersonWrapper {\n const person = new PersonWrapper();\n person.tmpPoint = new Point(this.canvasWidthHalf / 2, this.canvasHeight / 2);\n switch (this.viewMode) {\n case 'drag_drop_now':\n person.isInPresent = true;\n break;\n case 'drag_drop_past':\n person.isInPast = true;\n break;\n }\n return person;\n }\n\n angleToX(angle: number, radius: number): number {\n const x = this.circleCenter.x;\n return (radius - this.imageSize) * Math.cos(angle * Math.PI / 180) + x;\n\n }\n\n angleToY(angle: number, radius: number): number {\n const y = this.canvasHeight / 2;\n return (radius - this.imageSize) * Math.sin(angle * Math.PI / 180) + y;\n }\n\n}\n\nexport type PersonCanvasViewMode = 'drag_drop_now' | 'drag_drop_past' | 'pick' | 'view' | 'print_now' | 'print_past';\n","\n","import {Component, Inject, OnInit, Optional} from '@angular/core';\nimport {MAT_BOTTOM_SHEET_DATA, MatBottomSheetRef} from '@angular/material/bottom-sheet';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {PersonExtra} from '../../model/person-extra';\nimport {PersonWrapper} from '../../model/person-wrapper';\nimport {ModalHelper} from '../../util/modal-helper';\n\n@Component({\n selector: 'app-person-delete',\n templateUrl: './person-delete.component.html',\n styleUrls: ['./person-delete.component.scss']\n})\nexport class PersonDeleteComponent implements OnInit {\n\n data: PersonExtra;\n\n constructor(\n @Optional() @Inject(MAT_BOTTOM_SHEET_DATA) bottomSheetData: PersonExtra,\n @Optional() @Inject(MAT_DIALOG_DATA) dialogData: PersonExtra,\n @Optional() private bottomSheetRef: MatBottomSheetRef,\n @Optional() private dialogRef: MatDialogRef\n ) {\n this.data = ModalHelper.extractData(dialogData, bottomSheetData);\n }\n\n ngOnInit(): void {\n }\n\n close(shouldDelete: boolean): void {\n ModalHelper.close(this.dialogRef, this.bottomSheetRef, new PersonDeleteResult(shouldDelete, this.data.personWrapper));\n }\n}\n\nexport class PersonDeleteResult {\n shouldDelete: boolean;\n person: PersonWrapper;\n\n constructor(shouldDelete: boolean, person: PersonWrapper) {\n this.shouldDelete = shouldDelete;\n this.person = person;\n }\n}\n","\n

{{ t('personDelete.title', {name: data.personWrapper.person.getFullName()}) }}

\n {{ t('personDelete.hint', {name: data.personWrapper.person.getFullName()}) }}\n
\n \n \n
\n
\n","import {Component, OnDestroy, QueryList, ViewChild, ViewChildren} from '@angular/core';\nimport {PersonWrapper} from '../../model/person-wrapper';\nimport {TranslocoService} from '@ngneat/transloco';\nimport {UntypedFormControl, Validators} from '@angular/forms';\nimport {CircleService} from '../../services/circle.service';\nimport {PersistenceService} from '../../services/persistence.service';\nimport {FormState} from '../../model/form-state';\nimport {Subject} from 'rxjs';\nimport {filter, take, takeUntil} from 'rxjs/operators';\nimport {ModalHelper} from '../../util/modal-helper';\nimport {MatBottomSheet} from '@angular/material/bottom-sheet';\nimport {FormRestartComponent, FormRestartResult} from '../form-restart/form-restart.component';\nimport {PersonQuestionsComponent} from '../person-questions/person-questions.component';\nimport {GlobalChangeService, GlobalChangeType} from '../../services/global-change.service';\nimport {PersonCanvasComponent} from '../person-canvas/person-canvas.component';\nimport {formatDate} from '@angular/common';\nimport {TermsDialogComponent, TermsDialogOptions, TermsDialogType} from '../terms-dialog/terms-dialog.component';\nimport {MatDialog} from '@angular/material/dialog';\nimport {CircleWrapper} from '../../model/circle-wrapper';\nimport {jsPDF} from 'jspdf';\nimport {ApiService} from '../../services/api.service';\n\n@Component({\n selector: 'app-person-form',\n templateUrl: './person-form.component.html',\n styleUrls: ['./person-form.component.scss']\n})\nexport class PersonFormComponent implements OnDestroy {\n\n @ViewChild(PersonQuestionsComponent) questionsComponent?: PersonQuestionsComponent;\n @ViewChildren(PersonCanvasComponent) canvasComponents?: QueryList;\n\n // Increment / Decrement this if new question groups are added in backend\n readonly QUESTION_GROUP_COUNT = 2;\n\n private destroy$ = new Subject();\n\n readonly INITIAL_DATA = 0;\n readonly CIRCLE_NOW_DRAG_DROP = 1;\n readonly CIRCLE_NOW_PICK = 2;\n readonly QUESTIONS = 3;\n readonly CIRCLE_PAST_DRAG_DROP = 4;\n readonly FINISH = 5;\n\n STEP_COUNT = 6;\n\n formState!: FormState;\n nameControl = new UntypedFormControl(null, [Validators.required, Validators.minLength(2), Validators.maxLength(5)]);\n tosAcceptedControl = new UntypedFormControl(false);\n privacyAcceptedControl = new UntypedFormControl(false);\n surveyPeriodOptions = Array.from(Array(7), (_, x) => x + 1);\n now = new Date();\n\n constructor(\n private ts: TranslocoService,\n public circleService: CircleService,\n private persistenceService: PersistenceService,\n private dialog: MatDialog,\n private bottomSheet: MatBottomSheet,\n private globalChange: GlobalChangeService,\n private api: ApiService\n ) {\n const readState = persistenceService.readFormState();\n if (readState) {\n this.formState = readState;\n console.log(this.formState);\n this.updateFormControlsFromFormState();\n } else {\n this.initializeFormState();\n }\n\n this.startListeningForFormControlChanges();\n this.startListeningForLanguageChange();\n }\n\n initializeFormState(): void {\n this.formState = new FormState();\n this.circleService.initialized$.pipe(take(1)).subscribe(() => {\n console.log('circles loaded');\n this.formState.circles = this.circleService.getCircles().map((circle, index) => new CircleWrapper(index, circle));\n this.persist();\n });\n }\n\n persist(): void {\n this.persistenceService.persistFormState(this.formState);\n }\n\n startListeningForFormControlChanges(): void {\n this.nameControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.formState.name = value;\n this.persist();\n });\n this.tosAcceptedControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.formState.tosAccepted = value;\n this.persist();\n });\n this.privacyAcceptedControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.formState.privacyAccepted = value;\n this.persist();\n });\n }\n\n startListeningForLanguageChange(): void {\n this.globalChange.changes.pipe(filter(type => type === GlobalChangeType.LANG_CHANGE), takeUntil(this.destroy$)).subscribe(_ => {\n this.circleService.reloadCircles();\n });\n }\n\n updateFormControlsFromFormState(): void {\n this.nameControl.patchValue(this.formState.name);\n this.tosAcceptedControl.patchValue(this.formState.tosAccepted);\n this.privacyAcceptedControl.patchValue(this.formState.privacyAccepted);\n }\n\n onPersonsUpdate(persons: PersonWrapper[], circleIndex: number): void {\n this.formState.circles[circleIndex].persons = persons;\n this.persist();\n }\n\n isStepReady(): boolean {\n switch (this.formState.currentStep) {\n case this.INITIAL_DATA:\n return this.nameControl.valid &&\n this.tosAcceptedControl.value === true &&\n this.privacyAcceptedControl.value === true;\n case this.CIRCLE_NOW_DRAG_DROP:\n case this.CIRCLE_PAST_DRAG_DROP:\n return this.formState.circles[this.formState.currentCircleIndexNow].persons.length > 0;\n case this.CIRCLE_NOW_PICK:\n return this.formState.circles[this.formState.currentCircleIndexNow].persons.filter(person => person.isImportant).length > 0;\n case this.QUESTIONS:\n return this.questionsComponent?.isStepReady() ?? false;\n }\n return true;\n }\n\n prev(): void {\n switch (this.formState.currentStep) {\n case this.INITIAL_DATA:\n case this.FINISH:\n break;\n case this.CIRCLE_NOW_DRAG_DROP:\n if (this.formState.currentCircleIndexNow === 0) {\n this.navigateToPreviousStep();\n } else {\n this.navigateToPreviousCircleInNow();\n }\n break;\n case this.CIRCLE_NOW_PICK:\n this.navigateToPreviousStep();\n break;\n case this.QUESTIONS:\n if (this.questionsComponent?.isAtStart()) {\n this.navigateToPreviousStep();\n } else {\n this.questionsComponent?.prev();\n }\n break;\n case this.CIRCLE_PAST_DRAG_DROP:\n if (this.formState.currentCircleIndexPast === 0) {\n this.navigateToPreviousStep();\n } else {\n this.navigateToPreviousCircleInPast();\n }\n break;\n }\n }\n\n navigateToPreviousStep(): void {\n this.formState.currentStep--;\n this.persist();\n }\n\n navigateToPreviousCircleInNow(): void {\n this.formState.currentCircleIndexNow--;\n this.formState.currentStep = this.QUESTIONS;\n this.formState.currentPerson = this.formState\n .circles[this.formState.currentCircleIndexNow]\n .persons\n .map(person => person.isImportant).length - 1;\n this.formState.currentQuestionGroup = this.QUESTION_GROUP_COUNT - 1;\n this.persist();\n }\n\n navigateToPreviousCircleInPast(): void {\n this.formState.currentCircleIndexPast--;\n this.persist();\n }\n\n navigateToNextStep(): void {\n this.formState.currentStep++;\n this.persist();\n }\n\n navigateToNextCircleInNow(): void {\n this.formState.currentCircleIndexNow++;\n this.formState.currentStep = this.CIRCLE_NOW_DRAG_DROP;\n this.formState.currentQuestionGroup = 0;\n this.formState.currentPerson = 0;\n this.persist();\n }\n\n navigateToNextCircleInPast(): void {\n this.formState.currentCircleIndexPast++;\n this.persist();\n }\n\n next(): void {\n switch (this.formState.currentStep) {\n case this.INITIAL_DATA:\n this.navigateToNextStep();\n break;\n case this.CIRCLE_NOW_DRAG_DROP:\n this.navigateToNextStep();\n break;\n case this.CIRCLE_NOW_PICK:\n this.navigateToNextStep();\n break;\n case this.QUESTIONS:\n if (this.questionsComponent?.isAtEnd()) {\n if (this.formState.currentCircleIndexNow + 1 < this.formState.circles.length) {\n this.navigateToNextCircleInNow();\n } else {\n this.navigateToNextStep();\n }\n } else {\n this.questionsComponent?.next();\n }\n break;\n case this.CIRCLE_PAST_DRAG_DROP:\n if (this.formState.currentCircleIndexPast + 1 < this.formState.circles.length) {\n this.navigateToNextCircleInPast();\n } else {\n this.navigateToNextStep();\n this.api.saveForm(this.formState).subscribe();\n }\n break;\n case this.FINISH:\n break;\n }\n }\n\n savePdf(): void {\n if (!this.canvasComponents) {\n return;\n }\n\n const canvasComponentArray = this.canvasComponents.toArray();\n\n const pdf = new jsPDF('landscape', 'px', 'a4', true);\n\n const pdfWidth = pdf.internal.pageSize.getWidth();\n const pdfHeight = pdf.internal.pageSize.getHeight();\n\n const widthRatio = pdfWidth / 1280;\n const heightRatio = pdfHeight / 720;\n const ratio = widthRatio > heightRatio ? heightRatio : widthRatio;\n\n const canvasWidth = 1280 * ratio;\n const canvasHeight = 720 * ratio;\n\n const marginX = (pdfWidth - canvasWidth) / 2;\n const marginY = (pdfHeight - canvasHeight) / 2;\n\n const imgData = canvasComponentArray.map(canvas => canvas.toImageData());\n\n imgData?.forEach((data, index) => {\n if (index > 0) {\n pdf.addPage('a4', 'landscape');\n }\n const canvas = canvasComponentArray[index];\n const isPresent = canvas.viewMode === 'print_now';\n pdf.setFontSize(16);\n pdf.text(\n this.ts.translate(\n 'print.title' , {\n circleDescription: canvas.circle.getDescription(),\n circlePeriod: isPresent ? canvas.circle.getPeriodNow() : canvas.circle.getPeriodPast()\n }),\n 8,\n 16\n );\n pdf.addImage(data, 'JPG', marginX, marginY, canvasWidth, canvasHeight);\n });\n\n pdf.setFontSize(12);\n pdf.text(\n this.ts.translate('print.hint', {\n date: formatDate(new Date(), 'd.M.yyyy', 'en'),\n id: (this.formState.name ?? '')\n }),\n 8,\n pdfHeight - 12\n );\n\n pdf.save(this.ts.translate('form.printFileName'));\n }\n\n openTermsDialog(type: TermsDialogType): void {\n this.dialog.open(TermsDialogComponent, {data: new TermsDialogOptions(type)});\n }\n\n isAtEnd(): boolean {\n return this.formState.currentStep + 1 >= this.FINISH && (this.questionsComponent?.isAtEnd() ?? false);\n }\n\n restartWithWarning(): void {\n if (this.formState.currentStep !== this.FINISH) {\n ModalHelper.open(this.dialog, this.bottomSheet, FormRestartComponent).subscribe((result: FormRestartResult) => {\n if (result.shouldRestart) {\n this.restart();\n }\n });\n } else {\n this.restart();\n }\n }\n\n restart(): void {\n this.persistenceService.clearFormState();\n this.initializeFormState();\n this.nameControl.patchValue(null);\n this.tosAcceptedControl.patchValue(false);\n this.privacyAcceptedControl.patchValue(false);\n }\n\n\n getTitle(): string | undefined {\n switch (this.formState.currentStep) {\n case this.INITIAL_DATA:\n return this.ts.translate('form.titles.initialData');\n case this.CIRCLE_NOW_DRAG_DROP:\n case this.CIRCLE_NOW_PICK:\n return this.formState.circles[this.formState.currentCircleIndexNow].circle.getDescription();\n case this.CIRCLE_PAST_DRAG_DROP:\n return this.formState.circles[this.formState.currentCircleIndexPast].circle.getDescription();\n case this.QUESTIONS:\n return this.ts.translate('form.titles.questions');\n }\n\n return undefined;\n }\n\n getHint(): string | undefined {\n switch (this.formState.currentStep) {\n case this.CIRCLE_NOW_DRAG_DROP:\n return this.ts.translate(\n 'form.hints.circleFill',\n {timeframe: this.formState.circles[this.formState.currentCircleIndexNow].circle.getPeriodNow()}\n );\n case this.CIRCLE_NOW_PICK:\n return this.ts.translate('form.hints.circlePick');\n case this.QUESTIONS:\n return this.ts.translate('form.hints.question', {\n name: this.questionsComponent?.currentPerson?.person.getFullName() ?? '',\n current: (this.questionsComponent?.currentPersonIndex ?? 0) + 1,\n amount: this.questionsComponent?.importantPersons.length ?? ''\n });\n case this.CIRCLE_PAST_DRAG_DROP:\n return this.ts.translate(\n 'form.hints.circleFillPast',\n {timeframe: this.formState.circles[this.formState.currentCircleIndexNow].circle.getPeriodPast()}\n );\n }\n return undefined;\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","
\n
\n

{{ getTitle() }}

\n {{ getHint() }}\n\n
\n
\n \n {{ t('form.hints.namePlaceholder') }}\n \n \n
\n {{ t('form.titles.tos') }}\n {{ t('form.titles.privacy') }}\n
\n \n \n \n\n \n \n \n \n\n \n \n \n\n
\n

{{ t('form.titles.finish') }}

\n {{ t('form.hints.finish') }}\n
\n \n \n
\n \n
\n
\n \n \n \n \n
\n\n
\n \n
\n \n \n
\n
\n","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {Answer, Question, QuestionGroup} from '../../../grpc/api_pb';\nimport {PersonWrapper} from '../../model/person-wrapper';\nimport {ApiService} from '../../services/api.service';\nimport {Subject} from 'rxjs';\nimport {GlobalChangeService, GlobalChangeType} from '../../services/global-change.service';\nimport {filter, takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'app-person-questions',\n templateUrl: './person-questions.component.html',\n styleUrls: ['./person-questions.component.scss']\n})\nexport class PersonQuestionsComponent implements OnInit, OnDestroy {\n\n private destroy$ = new Subject();\n\n @Input() persons!: PersonWrapper[];\n get importantPersons(): PersonWrapper[] {\n return this.persons.filter(person => person.isImportant);\n }\n get currentPerson(): PersonWrapper {\n return this.importantPersons[this.currentPersonIndex];\n }\n @Output() personChange: EventEmitter = new EventEmitter();\n questionGroups!: QuestionGroup[];\n\n @Input() currentPersonIndex = 0;\n @Input() currentQuestionGroup = 0;\n @Output() currentPersonIndexChange: EventEmitter = new EventEmitter();\n @Output() currentQuestionGroupChange: EventEmitter = new EventEmitter();\n\n currentAnswers: Answer[] = [];\n\n constructor(private apiService: ApiService, private globalChange: GlobalChangeService) {\n this.loadQuestionGroups();\n this.globalChange.changes.pipe(filter(type => type === GlobalChangeType.LANG_CHANGE), takeUntil(this.destroy$)).subscribe(_ => {\n this.loadQuestionGroups();\n });\n }\n\n ngOnInit(): void {\n this.getAnswersFromCurrentPerson();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n loadQuestionGroups(): void {\n this.apiService.getQuestions().subscribe(groups => this.questionGroups = groups);\n }\n\n getQuestionTitleWithPersonName(question: Question): string {\n return question.getTitle().replace('%s', this.currentPerson.person.getFullName());\n }\n\n getAnswersFromCurrentPerson(): void {\n this.currentAnswers = this.currentPerson.person.getAnswersList();\n }\n\n onAnswer(question: Question, value: number): void {\n let currentAnswerIndex = this.currentAnswers.findIndex(answer => answer.getId() === question.getId());\n if (currentAnswerIndex === -1) {\n this.currentAnswers.push(new Answer().setId(question.getId()));\n currentAnswerIndex = this.currentAnswers.length - 1;\n }\n this.currentAnswers[currentAnswerIndex].setValue(value);\n\n this.currentPerson.person.setAnswersList(this.currentAnswers);\n this.personChange.emit(this.persons);\n }\n\n getCurrentValueForQuestion(question: Question): number {\n const currentAnswerIndex = this.currentAnswers.findIndex(answer => answer.getId() === question.getId());\n if (currentAnswerIndex === -1) {\n return 0;\n }\n return this.currentAnswers[currentAnswerIndex].getValue();\n }\n\n getQuestionCardOffset(index: number): number {\n const offset = index * 100 - this.currentQuestionGroup * 100;\n return offset >= 0 ? offset : -100;\n }\n\n prev(): void {\n if (this.currentQuestionGroup - 1 < 0) {\n this.currentPersonIndex -= 1;\n this.currentAnswers = this.importantPersons[this.currentPersonIndex].person.getAnswersList() ?? [];\n this.currentPersonIndexChange.emit(this.currentPersonIndex);\n this.currentQuestionGroup = this.questionGroups.length - 1;\n } else {\n this.currentQuestionGroup -= 1;\n }\n this.currentQuestionGroupChange.emit(this.currentQuestionGroup);\n }\n\n next(): void {\n if (this.currentQuestionGroup + 1 >= this.questionGroups.length) {\n this.currentPersonIndex += 1;\n this.currentAnswers = this.importantPersons[this.currentPersonIndex].person.getAnswersList() ?? [];\n this.currentPersonIndexChange.emit(this.currentPersonIndex);\n this.currentQuestionGroup = 0;\n } else {\n this.currentQuestionGroup += 1;\n }\n this.currentQuestionGroupChange.emit(this.currentQuestionGroup);\n }\n\n isStepReady(): boolean {\n const currentQuestions = this.questionGroups[this.currentQuestionGroup].getQuestionsList();\n return currentQuestions.every(question => this.currentAnswers.findIndex(answer => answer.getId() === question.getId()) !== -1);\n }\n\n isAtStart(): boolean {\n return this.currentQuestionGroup === 0 && this.currentPersonIndex === 0;\n }\n\n isAtEnd(): boolean {\n return this.currentPersonIndex + 1 >= (this.importantPersons?.length ?? 0) &&\n this.currentQuestionGroup + 1 >= (this.questionGroups?.length ?? 0);\n }\n\n}\n","\n
\n
\n \n \n {{ questionGroup.getTitle() }}\n \n \n
\n
\n
\n {{ questionAnswer }}\n
\n
\n
\n
{{ getQuestionTitleWithPersonName(question) }}
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n","import {Component, Inject} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-terms-dialog',\n templateUrl: './terms-dialog.component.html',\n styleUrls: ['./terms-dialog.component.scss']\n})\nexport class TermsDialogComponent {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: TermsDialogOptions,\n private dialog: MatDialog\n ) {\n\n }\n\n close(): void {\n this.dialog.closeAll();\n }\n}\n\nexport type TermsDialogType = 'tos' | 'privacy';\n\nexport class TermsDialogOptions {\n type: TermsDialogType;\n\n constructor(type: TermsDialogType) {\n this.type = type;\n }\n}\n","\n \n
\n
\n
\n
\n \n
\n
\n","import {Component, OnDestroy} from '@angular/core';\nimport {AdminService} from '../../services/admin.service';\nimport {Subscription} from 'rxjs';\nimport {TranslocoService} from '@ngneat/transloco';\nimport {GlobalChangeService, GlobalChangeType} from '../../services/global-change.service';\n\n@Component({\n selector: 'app-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.scss']\n})\nexport class ToolbarComponent implements OnDestroy {\n\n authenticated = false;\n\n private stateChangeSub: Subscription;\n\n constructor(\n public ts: TranslocoService,\n adminService: AdminService,\n private changes: GlobalChangeService\n ) {\n this.stateChangeSub = adminService.stateChange.subscribe(authenticated => this.authenticated = authenticated);\n }\n\n ngOnDestroy(): void {\n this.stateChangeSub.unsubscribe();\n }\n\n toggleLanguage(): void {\n const newLang = this.ts.getActiveLang() === 'de' ? 'en' : 'de';\n this.ts.setActiveLang(newLang);\n this.changes.publishChange(GlobalChangeType.LANG_CHANGE);\n }\n}\n","\n \n Soziale Netzwerkdiagnostik\n \n \n \n\n","import {Circle} from '../../grpc/api_pb';\nimport {BinaryWriter} from 'google-protobuf';\nimport {Base64Converter} from '../util/base-64-converter';\nimport {PersonWrapper} from './person-wrapper';\n\nexport class CircleWrapper {\n\n constructor(id: number, circle: Circle) {\n this.id = id;\n this.circle = circle;\n }\n id: number;\n circle: Circle;\n persons: PersonWrapper[] = [];\n\n static fromJson(json: any): CircleWrapper {\n const circle = new CircleWrapper(json.id, Circle.deserializeBinary(Base64Converter.toUint8Array(json.circle)));\n circle.persons = json.persons.map((personJson: any) => {\n const person = new PersonWrapper();\n person.fromJson(personJson);\n return person;\n });\n return circle;\n }\n\n toJson(): any {\n const circleWriter = new BinaryWriter();\n Circle.serializeBinaryToWriter(this.circle, circleWriter);\n return {\n id: this.id,\n circle: circleWriter.getResultBase64String(),\n persons: this.persons.map(person => person.toJson())\n };\n }\n}\n","import {CircleWrapper} from './circle-wrapper';\n\nexport class FormState {\n currentCircleIndexNow = 0;\n currentCircleIndexPast = 0;\n currentStep = 0;\n currentPerson = 0;\n currentQuestionGroup = 0;\n name?: string;\n start?: Date;\n tosAccepted = false;\n circles: CircleWrapper[] = [];\n privacyAccepted = false;\n\n\n toJson(): any {\n return {\n currentCircleIndexNow: this.currentCircleIndexNow,\n currentCircleIndexPast: this.currentCircleIndexPast,\n name: this.name,\n start: this.start?.toJSON(),\n circles: this.circles?.map(circle => circle.toJson()),\n currentStep: this.currentStep,\n currentPerson: this.currentPerson,\n tosAccepted: this.tosAccepted,\n privacyAccepted: this.privacyAccepted,\n currentQuestionGroup: this.currentQuestionGroup\n };\n }\n\n fromJson(json: any): void {\n this.currentCircleIndexNow = json.currentCircleIndexNow;\n this.currentCircleIndexPast = json.currentCircleIndexPast;\n this.name = json.name;\n this.start = json.start !== undefined ? new Date(json.start) : undefined;\n this.circles = json.circles.map((circleJson: any) => CircleWrapper.fromJson(circleJson));\n this.currentStep = json.currentStep;\n this.currentPerson = json.currentPerson;\n this.currentQuestionGroup = json.currentQuestionGroup;\n this.tosAccepted = json.tosAccepted;\n this.privacyAccepted = json.privacyAccepted;\n }\n}\n","export class ImageWrapper {\n image: HTMLImageElement;\n loaded = false;\n loadListener?: () => void;\n\n constructor(src: string) {\n this.image = new Image();\n this.image.src = src;\n this.image.onload = () => {\n this.loaded = true;\n if (this.loadListener) {\n this.loadListener();\n }\n };\n }\n}\n","import {PersonWrapper} from './person-wrapper';\n\nexport class PersonExtra {\n personWrapper: PersonWrapper;\n\n constructor(personWrapper: PersonWrapper) {\n this.personWrapper = personWrapper;\n }\n}\n","import {Point} from './point';\nimport {SurveyPerson} from '../../grpc/api_pb';\nimport {BinaryWriter} from 'google-protobuf';\nimport {Base64Converter} from '../util/base-64-converter';\n\nexport class PersonWrapper {\n id = new Date().getTime();\n isDragging = false;\n isImportant = false;\n isInPresent = false;\n isInPast = false;\n rank?: number;\n angle?: number;\n\n tmpPoint?: Point;\n mouseMovePoint?: Point;\n\n hasAnsweredPersonDetails = false;\n person: SurveyPerson = new SurveyPerson();\n\n static getAvatarPath(isGroup?: boolean): string {\n if (isGroup === undefined || isGroup === null) {\n return 'assets/avatar-default.svg';\n }\n\n if (isGroup) {\n return 'assets/avatar-group.svg';\n } else {\n return 'assets/avatar-person.svg';\n }\n }\n\n getAvatarPath(): string {\n if (this.hasAnsweredPersonDetails) {\n return PersonWrapper.getAvatarPath(this.isInPresent ? this.person.getIsGroup() : this.person.getIsGroupPast());\n } else {\n return PersonWrapper.getAvatarPath(undefined);\n }\n }\n\n containsEvent(event: Point, imageSize: number): boolean {\n const halfImageSize = imageSize / 2;\n const left = (this.tmpPoint?.x ?? 0) - halfImageSize;\n const right = (this.tmpPoint?.x ?? 0) + halfImageSize;\n const top = (this.tmpPoint?.y ?? 0) - halfImageSize;\n const bottom = (this.tmpPoint?.y ?? 0) + halfImageSize;\n\n return event.x >= left && event.x <= right && event.y >= top && event.y <= bottom;\n }\n\n isAddedToCanvas(): boolean {\n return this.rank !== undefined && this.angle !== undefined;\n }\n\n toJson(): any {\n const personWriter = new BinaryWriter();\n SurveyPerson.serializeBinaryToWriter(this.person, personWriter);\n return {\n id: this.id,\n isDragging: this.isDragging,\n isImportant: this.isImportant,\n rank: this.rank,\n angle: this.angle,\n tmpPoint: this.tmpPoint,\n mouseMovePoint: this.mouseMovePoint,\n hasAnsweredPersonDetails: this.hasAnsweredPersonDetails,\n isInPresent: this.isInPresent,\n isInPast: this.isInPast,\n person: personWriter.getResultBase64String()\n };\n }\n\n fromJson(json: any): void {\n this.id = json.id;\n this.isDragging = json.isDragging;\n this.isImportant = json.isImportant;\n this.rank = json.rank;\n this.angle = json.angle;\n this.tmpPoint = json.tmpPoint;\n this.mouseMovePoint = json.mouseMovePoint;\n this.hasAnsweredPersonDetails = json.hasAnsweredPersonDetails;\n this.isInPresent = json.isInPresent;\n this.isInPast = json.isInPast;\n this.person = SurveyPerson.deserializeBinary(Base64Converter.toUint8Array(json.person));\n }\n}\n","export class Point {\n x: number;\n y: number;\n\n\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n}\n","export class Rect {\n left: number;\n top: number;\n right: number;\n bottom: number;\n width: number;\n height: number;\n\n\n constructor(left: number, top: number, width: number, height: number) {\n this.left = left;\n this.top = top;\n this.width = width;\n this.height = height;\n this.right = left + width;\n this.bottom = top + height;\n }\n}\n","import {Component} from '@angular/core';\nimport {SurveyService} from '../../services/survey.service';\nimport {Answer, Circle, QuestionGroup, Survey} from '../../../grpc/api_pb';\nimport {CryptoService} from '../../services/crypto.service';\n\n@Component({\n selector: 'app-example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss']\n})\nexport class ExampleComponent {\n\n groups?: QuestionGroup[];\n circle?: Circle;\n\n constructor(private surveyService: SurveyService, private cryptoService: CryptoService) {\n surveyService.getQuestions('de').subscribe(groups => this.groups = groups);\n surveyService.getCircle(0, 'de').subscribe(circle => this.circle = circle);\n\n // For generating demo data (1577861103 = 1.1.2020)\n // surveyService.saveSurvey(new Survey().setComment('comment').setAbbreviation('AA')\n // .setPersonsList([\n // new Person().setAbbreviation('BB').setCircleNr(1).setContactFrequency(3).setKnownSinceMonths(3)\n // .setRelationship(4).setAge(2).setFullName('Max Muster 1').setAnswersList([\n // new Answer().setId(1).setValue(2),\n // new Answer().setId(2).setValue(1),\n // new Answer().setId(3).setValue(3),\n // new Answer().setId(4).setValue(4),\n // new Answer().setId(5).setValue(1),\n // new Answer().setId(6).setValue(1),\n // new Answer().setId(11).setValue(1),\n // new Answer().setId(12).setValue(2),\n // new Answer().setId(13).setValue(3),\n // new Answer().setId(14).setValue(2),\n // ]),\n // new Person().setAbbreviation('CC').setCircleNr(2).setContactFrequency(3).setKnownSinceMonths(3)\n // .setRelationship(4).setAge(2).setFullName('Max Muster 2').setAnswersList([\n // new Answer().setId(1).setValue(2),\n // new Answer().setId(2).setValue(1),\n // new Answer().setId(3).setValue(3),\n // new Answer().setId(4).setValue(4),\n // new Answer().setId(5).setValue(1),\n // new Answer().setId(6).setValue(1),\n // new Answer().setId(11).setValue(1),\n // new Answer().setId(12).setValue(2),\n // new Answer().setId(13).setValue(3),\n // new Answer().setId(14).setValue(2),\n // ]),\n // ])).subscribe();\n\n }\n\n}\n","

Questions

\n\n
    \n
  • \n {{ group.getTitle() }}\n
      \n
    1. \n {{ question.getTitle() }}\n
    2. \n
    \n
  • \n
\n\n

Circle

\n\n\n
    \n
  1. \n {{ title }}\n
  2. \n
\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent {\n\n constructor() {\n }\n\n}\n","\n

404

\n

Diese Seite wurde nicht gefunden

\n","import {Injectable} from '@angular/core';\nimport {BaseGrpcService} from './base-grpc-service';\nimport {AdminServiceClient} from '../../grpc/ApiServiceClientPb';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {\n AdminCircle,\n Empty,\n ExportSurveysRequest,\n ExportSurveysResponse,\n GetAdminCirclesResponse,\n IdRequest,\n LoginRequest,\n SearchSurveysRequest,\n SearchSurveysResponse,\n SurveyView\n} from '../../grpc/api_pb';\nimport {catchError, map} from 'rxjs/operators';\nimport {Router} from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AdminService extends BaseGrpcService {\n\n private client: AdminServiceClient;\n private authenticated?: boolean;\n\n stateChange = new ReplaySubject(1);\n\n constructor(private router: Router) {\n super();\n this.client = new AdminServiceClient('');\n this.isAuthenticated().subscribe(authenticated => this.stateChange.next(authenticated));\n }\n\n protected onSessionInvalidation(): void {\n // this.router.navigate(['/login']);\n }\n\n// returns true when the user is authenticated. Tries to check the session when the current state is unclear (page reload).\n private isAuthenticated(): Observable {\n if (this.authenticated === undefined) {\n return this.state().pipe(map(() => {\n this.authenticated = true;\n return this.authenticated;\n }), catchError(() => {\n this.authenticated = false;\n return of(this.authenticated);\n }));\n }\n return of(this.authenticated);\n }\n\n login(username: string, password: string): Observable {\n return this.callGrpc(callback => this.client.login(\n new LoginRequest().setUsername(username).setPassword(password), null, callback)).pipe(\n map(() => {\n this.authenticated = true;\n this.stateChange.next(this.authenticated);\n }),\n catchError(err => {\n this.authenticated = false;\n this.stateChange.next(this.authenticated);\n throw err;\n }));\n }\n\n logout(): Observable {\n this.authenticated = false;\n this.stateChange.next(this.authenticated);\n return this.callGrpc(callback => this.client.logout(\n new Empty(), null, callback)).pipe(map(() => {\n return;\n }));\n }\n\n state(): Observable {\n return this.callGrpc(callback => this.client.state(\n new Empty(), null, callback)).pipe(map(\n () => {\n return;\n }));\n }\n\n searchSurveys(abbreviation: string, dateOfBirth: Date): Observable {\n return this.callGrpc(callback => this.client.searchSurveys(\n new SearchSurveysRequest()\n .setAbbreviation(abbreviation), null, callback))\n .pipe(map(value => value.getSurveysList()));\n }\n\n exportSurveys(ids?: number[]): Observable> {\n return this.callGrpc(callback => this.client.exportSurveys(\n new ExportSurveysRequest().setIdsList(ids ?? []), null, callback))\n .pipe(map(value => value.getRecordsList()));\n }\n\n getCircles(): Observable {\n return this.callGrpc(callback => this.client.getAdminCircles(\n new Empty(), null, callback)).pipe(map(value => value.getCirclesList()));\n }\n\n updateCircle(circle: AdminCircle): Observable {\n return this.callGrpc(callback => this.client.updateCircle(\n circle, null, callback));\n }\n\n deleteCircle(id: number): Observable {\n return this.callGrpc(callback => this.client.deleteCircle(\n new IdRequest().setId(id), null, callback)).pipe(map(value => {\n return;\n }));\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {BaseGrpcService} from './base-grpc-service';\nimport {SurveyServiceClient} from '../../grpc/ApiServiceClientPb';\nimport {Observable} from 'rxjs';\nimport {\n ApplicationState,\n Circle,\n Empty,\n GetCircleResponse,\n GetCirclesResponse,\n GetQuestionsResponse,\n IdRequest,\n LanguageRequest,\n QuestionGroup,\n Survey, SurveyCircle\n} from '../../grpc/api_pb';\nimport {map} from 'rxjs/operators';\nimport {TranslocoService} from '@ngneat/transloco';\nimport {FormState} from '../model/form-state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService extends BaseGrpcService {\n\n private client: SurveyServiceClient;\n\n constructor(\n private ts: TranslocoService\n ) {\n super();\n this.client = new SurveyServiceClient('');\n }\n\n protected onSessionInvalidation(): void {\n // this.router.navigate(['/login']);\n }\n\n getCircle(id: number = 0): Observable {\n return this.callGrpc(callback => this.client.getCircle(\n new IdRequest().setId(id).setLang(this.ts.getActiveLang()), null, callback)).pipe(map(\n result => {\n const circle = result.getCircle();\n if (circle === undefined) {\n throw new Error('No Circle retrieved');\n }\n return circle;\n }));\n }\n\n getCircles(): Observable {\n return this.callGrpc(callback => this.client.getCircles(\n new LanguageRequest().setLang(this.ts.getActiveLang()), null, callback)).pipe(map(\n result => result.getCirclesList()));\n }\n\n getQuestions(): Observable {\n return this.callGrpc(callback => this.client.getQuestions(\n new LanguageRequest().setLang(this.ts.getActiveLang()), null, callback)).pipe(map(\n result => {\n const groups = result.getGroupsList();\n if (groups === undefined) {\n throw new Error('No Circle retrieved');\n }\n return groups;\n }));\n }\n\n getVersion(): Observable {\n return this.callGrpc(callback => this.client.getApplicationState(\n new Empty(), null, callback)).pipe(map(result => result.getVersion()));\n }\n\n saveForm(formState: FormState): Observable {\n const survey = new Survey()\n .setCirclesList(formState.circles.map(circle => {\n return new SurveyCircle()\n .setCircleId(circle.circle.getId())\n .setPersonsList(circle.persons.map(personWrapper => {\n personWrapper.person.setCircleAngle(personWrapper.angle ?? 0);\n personWrapper.person.setCircleNr(personWrapper.rank ?? 0);\n personWrapper.person.setIsImportant(personWrapper.isImportant);\n personWrapper.person.setAbbreviation(personWrapper.person.getFullName());\n personWrapper.person.setIsInPresent(personWrapper.isInPresent);\n personWrapper.person.setIsInPast(personWrapper.isInPast);\n return personWrapper.person;\n }));\n }))\n .setAbbreviation(formState.name ?? '')\n .setStartTime((formState.start ?? new Date()).getTime())\n .setEndTime(new Date().getTime())\n .setPrivacyPolicyAccepted(formState.privacyAccepted)\n .setTermsOfUseAccepted(formState.tosAccepted);\n\n return this.callGrpc(callback => this.client.saveSurvey(\n survey, null, callback));\n }\n}\n","import {Observable} from 'rxjs';\n\nexport abstract class BaseGrpcService {\n\n protected callGrpc(\n callImpl: (callback: (err: Error, response: ResponseType) => void) => void,\n responseValidityChecker?: (response: ResponseType) => boolean\n ): Observable {\n return new Observable(s => {\n callImpl((err: Error, response: ResponseType) => {\n if (err != null) {\n if (err.message === 'unauthorized') {\n s.error(err);\n this.onSessionInvalidation();\n } else {\n console.log(err.message);\n s.error(err);\n }\n return;\n }\n if (response != null && (!responseValidityChecker || responseValidityChecker(response))) {\n s.next(response);\n s.complete();\n }\n });\n });\n }\n\n protected onSessionInvalidation(): void {\n\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Circle} from '../../grpc/api_pb';\nimport {ApiService} from './api.service';\nimport {ReplaySubject} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CircleService {\n\n initialized$: ReplaySubject = new ReplaySubject(1);\n private circles?: Circle[];\n\n constructor(private apiService: ApiService) {\n this.reloadCircles();\n }\n\n isCircleLoaded(): boolean {\n return this.circles !== undefined;\n }\n\n getCircles(): Circle[] {\n // tslint:disable-next-line:no-non-null-assertion\n return this.circles!;\n }\n\n reloadCircles(): void {\n this.apiService.getCircles().subscribe(circles => {\n console.log('loaded circles');\n this.circles = circles;\n this.initialized$.next();\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {cipher, md, pki, util} from 'node-forge';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CryptoService {\n\n constructor() {\n }\n\n public parsePrivateKey(pem: string): pki.rsa.PrivateKey {\n return pki.privateKeyFromPem(pem);\n }\n\n // For more info about the encryption see README.md and api/survey.go\n public decrypt(payload: string, privateKey: pki.rsa.PrivateKey): string | undefined {\n const keyLength = (privateKey.n as any).bitLength() / 8;\n const encryptedKey = payload.substr(0, keyLength);\n const iv = payload.substr(keyLength, 16);\n const encryptedText = payload.substr(keyLength + 16);\n const key = privateKey.decrypt(encryptedKey, 'RSA-OAEP', {md: md.sha256.create()});\n const decipher = cipher.createDecipher('AES-CTR', key);\n decipher.start({iv});\n decipher.update(util.createBuffer(encryptedText));\n if (decipher.finish()) {\n // console.log(decipher.output.toString());\n return decipher.output.toString();\n }\n return undefined;\n }\n\n}\n\nexport function bin2String(array: number[]): string {\n let result = '';\n for (const item of array) {\n result += String.fromCharCode(item);\n }\n return result;\n}\n","import {Subject} from 'rxjs';\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GlobalChangeService {\n\n changes: Subject = new Subject();\n\n constructor() {}\n\n publishChange(change: GlobalChangeType): void {\n this.changes.next(change);\n }\n}\n\nexport enum GlobalChangeType {\n LANG_CHANGE\n}\n","import {Injectable} from '@angular/core';\nimport {FormState} from '../model/form-state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PersistenceService {\n\n private static readonly STORAGE_PREFIX = 'socnet_';\n\n constructor() {\n\n }\n\n persistFormState(formState: FormState): void {\n localStorage.setItem(`${PersistenceService.STORAGE_PREFIX}form_state`, JSON.stringify(formState.toJson()));\n }\n\n clearFormState(): void {\n localStorage.removeItem(`${PersistenceService.STORAGE_PREFIX}form_state`);\n }\n\n readFormState(): FormState | undefined {\n const item = localStorage.getItem(`${PersistenceService.STORAGE_PREFIX}form_state`);\n if (item === null) {\n return undefined;\n }\n const state = new FormState();\n state.fromJson(JSON.parse(item));\n return state;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {BaseGrpcService} from './base-grpc-service';\nimport {SurveyServiceClient} from '../../grpc/ApiServiceClientPb';\nimport {\n Circle,\n Empty,\n GetCircleResponse,\n GetQuestionsResponse,\n IdRequest,\n LanguageRequest,\n QuestionGroup,\n Survey\n} from '../../grpc/api_pb';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SurveyService extends BaseGrpcService {\n\n private client: SurveyServiceClient;\n\n constructor() {\n super();\n this.client = new SurveyServiceClient('');\n }\n\n saveSurvey(survey: Survey): Observable {\n return this.callGrpc(callback => this.client.saveSurvey(survey, null, callback));\n }\n\n getQuestions(lang: string): Observable {\n return this.callGrpc(callback => this.client.getQuestions(\n new LanguageRequest().setLang(lang), null, callback))\n .pipe(map(value => value.getGroupsList()));\n }\n\n getCircle(id: number, lang: string): Observable {\n return this.callGrpc(callback => this.client.getCircle(\n new IdRequest().setId(id).setLang(lang), null, callback))\n .pipe(map(value => value.getCircle()));\n }\n\n}\n","import {HttpClient} from '@angular/common/http';\nimport {provideTransloco, Translation, TranslocoLoader, TranslocoModule} from '@ngneat/transloco';\nimport {Injectable, NgModule} from '@angular/core';\nimport {environment} from '../../environments/environment';\nimport {Observable} from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslocoHttpLoader implements TranslocoLoader {\n constructor(private http: HttpClient) {}\n\n getTranslation(lang: string): Observable | Promise {\n return this.http.get(`/assets/i18n/${lang}.json`);\n }\n}\n\n@NgModule({\n exports: [ TranslocoModule ],\n providers: [\n provideTransloco({\n config: {\n availableLangs: ['de', 'en'],\n defaultLang: 'de',\n fallbackLang: 'de',\n // Remove this option if your application doesn't support changing language in runtime.\n reRenderOnLangChange: true,\n prodMode: environment.production,\n },\n loader: TranslocoHttpLoader\n }),\n ]\n})\nexport class TranslocoRootModule {}\n","export class Base64Converter {\n static toUint8Array(base64: string): Uint8Array {\n const binary = window.atob(base64);\n const len = binary.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n }\n}\n","import {ContactFrequency, Relationship, YesNoMaybe} from '../../grpc/api_pb';\nimport {TranslocoService} from '@ngneat/transloco';\nimport {CircleType} from '../components/person-add/person-add.component';\n\nexport class EnumTranslator {\n static getTextFromRelationship(ts: TranslocoService, relationship: Relationship): string {\n switch (relationship) {\n case Relationship.OTHER_RELATIONSHIP:\n return ts.translate('relationships.other');\n case Relationship.PARTNER:\n return ts.translate('relationships.partner');\n case Relationship.EX_PARTNER:\n return ts.translate('relationships.expartner');\n case Relationship.CHILD:\n return ts.translate('relationships.child');\n case Relationship.PARENTS:\n return ts.translate('relationships.parents');\n case Relationship.SIBLING:\n return ts.translate('relationships.sibling');\n case Relationship.RELATIVE:\n return ts.translate('relationships.relative');\n case Relationship.BEST_FRIEND:\n return ts.translate('relationships.bestFriend');\n case Relationship.FRIEND:\n return ts.translate('relationships.friend');\n // case Relationship.BETTER_KNOWN_PERSON:\n // return ts.translate('relationships.acquaintance');\n case Relationship.COLLEAGUE:\n return ts.translate('relationships.colleague');\n // case Relationship.SUPERVISOR:\n // return ts.translate('relationships.supervisor');\n case Relationship.PROFESSIONAL:\n return ts.translate('relationships.professional');\n default:\n return '';\n }\n }\n\n static getTextFromContactFrequency(ts: TranslocoService, frequency: ContactFrequency): string {\n switch (frequency) {\n case ContactFrequency.DAILY:\n return ts.translate('contactFrequency.daily');\n case ContactFrequency.SEVERAL_TIMES_A_WEEK:\n return ts.translate('contactFrequency.severalTimesAWeek');\n case ContactFrequency.ONCE_A_WEEK:\n return ts.translate('contactFrequency.onceAWeek');\n case ContactFrequency.SEVERAL_TIMES_A_MONTH:\n return ts.translate('contactFrequency.severalTimesAMonth');\n case ContactFrequency.ONCE_A_MONTH:\n return ts.translate('contactFrequency.onceAMonth');\n case ContactFrequency.SEVERAL_TIMES_A_YEAR:\n return ts.translate('contactFrequency.severalTimesAYear');\n case ContactFrequency.ONCE_A_YEAR:\n return ts.translate('contactFrequency.onceAYear');\n case ContactFrequency.LESS:\n return ts.translate('contactFrequency.less');\n default:\n return '';\n }\n }\n\n static getYesNoMaybeName(ts: TranslocoService, yesNoMaybe: YesNoMaybe, circleType: CircleType): string {\n switch (yesNoMaybe) {\n case YesNoMaybe.YES:\n return ts.translate('yesNoMaybe.yes');\n case YesNoMaybe.NO:\n return ts.translate('yesNoMaybe.no');\n case YesNoMaybe.MAYBE:\n return ts.translate('yesNoMaybe.maybe');\n case YesNoMaybe.PARTLY:\n return ts.translate('yesNoMaybe.partly');\n case YesNoMaybe.YES_MORE:\n return circleType === 'support' ? ts.translate('yesNoMaybe.yesMoreSupport') : ts.translate('yesNoMaybe.yesMoreAppreciation');\n case YesNoMaybe.YES_LESS:\n return circleType === 'support' ? ts.translate('yesNoMaybe.yesLessSupport') : ts.translate('yesNoMaybe.yesLessAppreciation');\n default:\n return '';\n }\n }\n}\n","import {MatBottomSheet, MatBottomSheetRef} from '@angular/material/bottom-sheet';\nimport {ComponentType} from '@angular/cdk/overlay';\nimport {Observable} from 'rxjs';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\n\nexport class ModalHelper {\n static open(\n dialogService: MatDialog,\n bottomSheetService: MatBottomSheet,\n component: ComponentType,\n data?: T\n ): Observable {\n if (window.innerWidth >= 1200) {\n return dialogService.open(component, {\n data\n }).afterClosed();\n } else {\n return bottomSheetService.open(component, {\n data\n }).afterDismissed();\n }\n }\n\n static extractData(dialogData: any, bottomSheetData: any): T {\n if (dialogData) {\n return dialogData;\n }\n return bottomSheetData;\n }\n\n static disableBackdropClose(\n dialogRef?: MatDialogRef,\n bottomSheetRef?: MatBottomSheetRef\n ): void {\n if (dialogRef) {\n dialogRef.disableClose = true;\n }\n if (bottomSheetRef) {\n bottomSheetRef.disableClose = true;\n }\n }\n\n static close(\n dialogRef?: MatDialogRef,\n bottomSheetRef?: MatBottomSheetRef,\n result?: T\n ): void {\n if (dialogRef) {\n dialogRef.close(result);\n }\n if (bottomSheetRef) {\n bottomSheetRef.dismiss(result);\n }\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","/**\n * @fileoverview gRPC-Web generated client stub for api\n * @enhanceable\n * @public\n */\n\n// Code generated by protoc-gen-grpc-web. DO NOT EDIT.\n// versions:\n// \tprotoc-gen-grpc-web v1.5.0\n// \tprotoc v3.18.1\n// source: api.proto\n\n\n/* eslint-disable */\n// @ts-nocheck\n\n\nimport * as grpcWeb from 'grpc-web';\n\nimport * as api_pb from './api_pb'; // proto import: \"api.proto\"\n\n\nexport class SurveyServiceClient {\n client_: grpcWeb.AbstractClientBase;\n hostname_: string;\n credentials_: null | { [index: string]: string; };\n options_: null | { [index: string]: any; };\n\n constructor (hostname: string,\n credentials?: null | { [index: string]: string; },\n options?: null | { [index: string]: any; }) {\n if (!options) options = {};\n if (!credentials) credentials = {};\n options['format'] = 'text';\n\n this.client_ = new grpcWeb.GrpcWebClientBase(options);\n this.hostname_ = hostname.replace(/\\/+$/, '');\n this.credentials_ = credentials;\n this.options_ = options;\n }\n\n methodDescriptorGetApplicationState = new grpcWeb.MethodDescriptor(\n '/api.SurveyService/GetApplicationState',\n grpcWeb.MethodType.UNARY,\n api_pb.Empty,\n api_pb.ApplicationState,\n (request: api_pb.Empty) => {\n return request.serializeBinary();\n },\n api_pb.ApplicationState.deserializeBinary\n );\n\n getApplicationState(\n request: api_pb.Empty,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n getApplicationState(\n request: api_pb.Empty,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.ApplicationState) => void): grpcWeb.ClientReadableStream;\n\n getApplicationState(\n request: api_pb.Empty,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.ApplicationState) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.SurveyService/GetApplicationState',\n request,\n metadata || {},\n this.methodDescriptorGetApplicationState,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.SurveyService/GetApplicationState',\n request,\n metadata || {},\n this.methodDescriptorGetApplicationState);\n }\n\n methodDescriptorSaveSurvey = new grpcWeb.MethodDescriptor(\n '/api.SurveyService/SaveSurvey',\n grpcWeb.MethodType.UNARY,\n api_pb.Survey,\n api_pb.Empty,\n (request: api_pb.Survey) => {\n return request.serializeBinary();\n },\n api_pb.Empty.deserializeBinary\n );\n\n saveSurvey(\n request: api_pb.Survey,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n saveSurvey(\n request: api_pb.Survey,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void): grpcWeb.ClientReadableStream;\n\n saveSurvey(\n request: api_pb.Survey,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.SurveyService/SaveSurvey',\n request,\n metadata || {},\n this.methodDescriptorSaveSurvey,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.SurveyService/SaveSurvey',\n request,\n metadata || {},\n this.methodDescriptorSaveSurvey);\n }\n\n methodDescriptorGetQuestions = new grpcWeb.MethodDescriptor(\n '/api.SurveyService/GetQuestions',\n grpcWeb.MethodType.UNARY,\n api_pb.LanguageRequest,\n api_pb.GetQuestionsResponse,\n (request: api_pb.LanguageRequest) => {\n return request.serializeBinary();\n },\n api_pb.GetQuestionsResponse.deserializeBinary\n );\n\n getQuestions(\n request: api_pb.LanguageRequest,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n getQuestions(\n request: api_pb.LanguageRequest,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.GetQuestionsResponse) => void): grpcWeb.ClientReadableStream;\n\n getQuestions(\n request: api_pb.LanguageRequest,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.GetQuestionsResponse) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.SurveyService/GetQuestions',\n request,\n metadata || {},\n this.methodDescriptorGetQuestions,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.SurveyService/GetQuestions',\n request,\n metadata || {},\n this.methodDescriptorGetQuestions);\n }\n\n methodDescriptorGetCircle = new grpcWeb.MethodDescriptor(\n '/api.SurveyService/GetCircle',\n grpcWeb.MethodType.UNARY,\n api_pb.IdRequest,\n api_pb.GetCircleResponse,\n (request: api_pb.IdRequest) => {\n return request.serializeBinary();\n },\n api_pb.GetCircleResponse.deserializeBinary\n );\n\n getCircle(\n request: api_pb.IdRequest,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n getCircle(\n request: api_pb.IdRequest,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.GetCircleResponse) => void): grpcWeb.ClientReadableStream;\n\n getCircle(\n request: api_pb.IdRequest,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.GetCircleResponse) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.SurveyService/GetCircle',\n request,\n metadata || {},\n this.methodDescriptorGetCircle,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.SurveyService/GetCircle',\n request,\n metadata || {},\n this.methodDescriptorGetCircle);\n }\n\n methodDescriptorGetCircles = new grpcWeb.MethodDescriptor(\n '/api.SurveyService/GetCircles',\n grpcWeb.MethodType.UNARY,\n api_pb.LanguageRequest,\n api_pb.GetCirclesResponse,\n (request: api_pb.LanguageRequest) => {\n return request.serializeBinary();\n },\n api_pb.GetCirclesResponse.deserializeBinary\n );\n\n getCircles(\n request: api_pb.LanguageRequest,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n getCircles(\n request: api_pb.LanguageRequest,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.GetCirclesResponse) => void): grpcWeb.ClientReadableStream;\n\n getCircles(\n request: api_pb.LanguageRequest,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.GetCirclesResponse) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.SurveyService/GetCircles',\n request,\n metadata || {},\n this.methodDescriptorGetCircles,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.SurveyService/GetCircles',\n request,\n metadata || {},\n this.methodDescriptorGetCircles);\n }\n\n}\n\nexport class AdminServiceClient {\n client_: grpcWeb.AbstractClientBase;\n hostname_: string;\n credentials_: null | { [index: string]: string; };\n options_: null | { [index: string]: any; };\n\n constructor (hostname: string,\n credentials?: null | { [index: string]: string; },\n options?: null | { [index: string]: any; }) {\n if (!options) options = {};\n if (!credentials) credentials = {};\n options['format'] = 'text';\n\n this.client_ = new grpcWeb.GrpcWebClientBase(options);\n this.hostname_ = hostname.replace(/\\/+$/, '');\n this.credentials_ = credentials;\n this.options_ = options;\n }\n\n methodDescriptorLogin = new grpcWeb.MethodDescriptor(\n '/api.AdminService/Login',\n grpcWeb.MethodType.UNARY,\n api_pb.LoginRequest,\n api_pb.Empty,\n (request: api_pb.LoginRequest) => {\n return request.serializeBinary();\n },\n api_pb.Empty.deserializeBinary\n );\n\n login(\n request: api_pb.LoginRequest,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n login(\n request: api_pb.LoginRequest,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void): grpcWeb.ClientReadableStream;\n\n login(\n request: api_pb.LoginRequest,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.AdminService/Login',\n request,\n metadata || {},\n this.methodDescriptorLogin,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.AdminService/Login',\n request,\n metadata || {},\n this.methodDescriptorLogin);\n }\n\n methodDescriptorLogout = new grpcWeb.MethodDescriptor(\n '/api.AdminService/Logout',\n grpcWeb.MethodType.UNARY,\n api_pb.Empty,\n api_pb.Empty,\n (request: api_pb.Empty) => {\n return request.serializeBinary();\n },\n api_pb.Empty.deserializeBinary\n );\n\n logout(\n request: api_pb.Empty,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n logout(\n request: api_pb.Empty,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void): grpcWeb.ClientReadableStream;\n\n logout(\n request: api_pb.Empty,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.AdminService/Logout',\n request,\n metadata || {},\n this.methodDescriptorLogout,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.AdminService/Logout',\n request,\n metadata || {},\n this.methodDescriptorLogout);\n }\n\n methodDescriptorState = new grpcWeb.MethodDescriptor(\n '/api.AdminService/State',\n grpcWeb.MethodType.UNARY,\n api_pb.Empty,\n api_pb.Empty,\n (request: api_pb.Empty) => {\n return request.serializeBinary();\n },\n api_pb.Empty.deserializeBinary\n );\n\n state(\n request: api_pb.Empty,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n state(\n request: api_pb.Empty,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void): grpcWeb.ClientReadableStream;\n\n state(\n request: api_pb.Empty,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.AdminService/State',\n request,\n metadata || {},\n this.methodDescriptorState,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.AdminService/State',\n request,\n metadata || {},\n this.methodDescriptorState);\n }\n\n methodDescriptorSearchSurveys = new grpcWeb.MethodDescriptor(\n '/api.AdminService/SearchSurveys',\n grpcWeb.MethodType.UNARY,\n api_pb.SearchSurveysRequest,\n api_pb.SearchSurveysResponse,\n (request: api_pb.SearchSurveysRequest) => {\n return request.serializeBinary();\n },\n api_pb.SearchSurveysResponse.deserializeBinary\n );\n\n searchSurveys(\n request: api_pb.SearchSurveysRequest,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n searchSurveys(\n request: api_pb.SearchSurveysRequest,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.SearchSurveysResponse) => void): grpcWeb.ClientReadableStream;\n\n searchSurveys(\n request: api_pb.SearchSurveysRequest,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.SearchSurveysResponse) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.AdminService/SearchSurveys',\n request,\n metadata || {},\n this.methodDescriptorSearchSurveys,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.AdminService/SearchSurveys',\n request,\n metadata || {},\n this.methodDescriptorSearchSurveys);\n }\n\n methodDescriptorExportSurveys = new grpcWeb.MethodDescriptor(\n '/api.AdminService/ExportSurveys',\n grpcWeb.MethodType.UNARY,\n api_pb.ExportSurveysRequest,\n api_pb.ExportSurveysResponse,\n (request: api_pb.ExportSurveysRequest) => {\n return request.serializeBinary();\n },\n api_pb.ExportSurveysResponse.deserializeBinary\n );\n\n exportSurveys(\n request: api_pb.ExportSurveysRequest,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n exportSurveys(\n request: api_pb.ExportSurveysRequest,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.ExportSurveysResponse) => void): grpcWeb.ClientReadableStream;\n\n exportSurveys(\n request: api_pb.ExportSurveysRequest,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.ExportSurveysResponse) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.AdminService/ExportSurveys',\n request,\n metadata || {},\n this.methodDescriptorExportSurveys,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.AdminService/ExportSurveys',\n request,\n metadata || {},\n this.methodDescriptorExportSurveys);\n }\n\n methodDescriptorGetAdminCircles = new grpcWeb.MethodDescriptor(\n '/api.AdminService/GetAdminCircles',\n grpcWeb.MethodType.UNARY,\n api_pb.Empty,\n api_pb.GetAdminCirclesResponse,\n (request: api_pb.Empty) => {\n return request.serializeBinary();\n },\n api_pb.GetAdminCirclesResponse.deserializeBinary\n );\n\n getAdminCircles(\n request: api_pb.Empty,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n getAdminCircles(\n request: api_pb.Empty,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.GetAdminCirclesResponse) => void): grpcWeb.ClientReadableStream;\n\n getAdminCircles(\n request: api_pb.Empty,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.GetAdminCirclesResponse) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.AdminService/GetAdminCircles',\n request,\n metadata || {},\n this.methodDescriptorGetAdminCircles,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.AdminService/GetAdminCircles',\n request,\n metadata || {},\n this.methodDescriptorGetAdminCircles);\n }\n\n methodDescriptorUpdateCircle = new grpcWeb.MethodDescriptor(\n '/api.AdminService/UpdateCircle',\n grpcWeb.MethodType.UNARY,\n api_pb.AdminCircle,\n api_pb.AdminCircle,\n (request: api_pb.AdminCircle) => {\n return request.serializeBinary();\n },\n api_pb.AdminCircle.deserializeBinary\n );\n\n updateCircle(\n request: api_pb.AdminCircle,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n updateCircle(\n request: api_pb.AdminCircle,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.AdminCircle) => void): grpcWeb.ClientReadableStream;\n\n updateCircle(\n request: api_pb.AdminCircle,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.AdminCircle) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.AdminService/UpdateCircle',\n request,\n metadata || {},\n this.methodDescriptorUpdateCircle,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.AdminService/UpdateCircle',\n request,\n metadata || {},\n this.methodDescriptorUpdateCircle);\n }\n\n methodDescriptorDeleteCircle = new grpcWeb.MethodDescriptor(\n '/api.AdminService/DeleteCircle',\n grpcWeb.MethodType.UNARY,\n api_pb.IdRequest,\n api_pb.Empty,\n (request: api_pb.IdRequest) => {\n return request.serializeBinary();\n },\n api_pb.Empty.deserializeBinary\n );\n\n deleteCircle(\n request: api_pb.IdRequest,\n metadata?: grpcWeb.Metadata | null): Promise;\n\n deleteCircle(\n request: api_pb.IdRequest,\n metadata: grpcWeb.Metadata | null,\n callback: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void): grpcWeb.ClientReadableStream;\n\n deleteCircle(\n request: api_pb.IdRequest,\n metadata?: grpcWeb.Metadata | null,\n callback?: (err: grpcWeb.RpcError,\n response: api_pb.Empty) => void) {\n if (callback !== undefined) {\n return this.client_.rpcCall(\n this.hostname_ +\n '/api.AdminService/DeleteCircle',\n request,\n metadata || {},\n this.methodDescriptorDeleteCircle,\n callback);\n }\n return this.client_.unaryCall(\n this.hostname_ +\n '/api.AdminService/DeleteCircle',\n request,\n metadata || {},\n this.methodDescriptorDeleteCircle);\n }\n\n}\n\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","// source: api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = Function('return this')();\n\ngoog.exportSymbol('proto.api.AdminCircle', null, global);\ngoog.exportSymbol('proto.api.AdminCircleTitle', null, global);\ngoog.exportSymbol('proto.api.Answer', null, global);\ngoog.exportSymbol('proto.api.ApplicationState', null, global);\ngoog.exportSymbol('proto.api.Circle', null, global);\ngoog.exportSymbol('proto.api.ContactFrequency', null, global);\ngoog.exportSymbol('proto.api.Empty', null, global);\ngoog.exportSymbol('proto.api.ExportSurveysRequest', null, global);\ngoog.exportSymbol('proto.api.ExportSurveysResponse', null, global);\ngoog.exportSymbol('proto.api.GetAdminCirclesResponse', null, global);\ngoog.exportSymbol('proto.api.GetCircleResponse', null, global);\ngoog.exportSymbol('proto.api.GetCirclesResponse', null, global);\ngoog.exportSymbol('proto.api.GetQuestionsResponse', null, global);\ngoog.exportSymbol('proto.api.IdRequest', null, global);\ngoog.exportSymbol('proto.api.LanguageRequest', null, global);\ngoog.exportSymbol('proto.api.LoginRequest', null, global);\ngoog.exportSymbol('proto.api.Question', null, global);\ngoog.exportSymbol('proto.api.QuestionGroup', null, global);\ngoog.exportSymbol('proto.api.QuestionType', null, global);\ngoog.exportSymbol('proto.api.Relationship', null, global);\ngoog.exportSymbol('proto.api.SearchSurveysRequest', null, global);\ngoog.exportSymbol('proto.api.SearchSurveysResponse', null, global);\ngoog.exportSymbol('proto.api.Survey', null, global);\ngoog.exportSymbol('proto.api.SurveyCircle', null, global);\ngoog.exportSymbol('proto.api.SurveyPerson', null, global);\ngoog.exportSymbol('proto.api.SurveyView', null, global);\ngoog.exportSymbol('proto.api.YesNoMaybe', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.Empty = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.Empty, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.Empty.displayName = 'proto.api.Empty';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.ApplicationState = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.ApplicationState, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.ApplicationState.displayName = 'proto.api.ApplicationState';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.IdRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.IdRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.IdRequest.displayName = 'proto.api.IdRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.LanguageRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.LanguageRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.LanguageRequest.displayName = 'proto.api.LanguageRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.SearchSurveysRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.SearchSurveysRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.SearchSurveysRequest.displayName = 'proto.api.SearchSurveysRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.SearchSurveysResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.SearchSurveysResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.api.SearchSurveysResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.SearchSurveysResponse.displayName = 'proto.api.SearchSurveysResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.ExportSurveysRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.ExportSurveysRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.api.ExportSurveysRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.ExportSurveysRequest.displayName = 'proto.api.ExportSurveysRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.ExportSurveysResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.ExportSurveysResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.api.ExportSurveysResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.ExportSurveysResponse.displayName = 'proto.api.ExportSurveysResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.GetQuestionsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.GetQuestionsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.api.GetQuestionsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.GetQuestionsResponse.displayName = 'proto.api.GetQuestionsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.GetCircleResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.GetCircleResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.GetCircleResponse.displayName = 'proto.api.GetCircleResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.GetCirclesResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.GetCirclesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.api.GetCirclesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.GetCirclesResponse.displayName = 'proto.api.GetCirclesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.GetAdminCirclesResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.GetAdminCirclesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.api.GetAdminCirclesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.GetAdminCirclesResponse.displayName = 'proto.api.GetAdminCirclesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.LoginRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.LoginRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.LoginRequest.displayName = 'proto.api.LoginRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.SurveyView = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.SurveyView, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.SurveyView.displayName = 'proto.api.SurveyView';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.Survey = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.Survey.repeatedFields_, null);\n};\ngoog.inherits(proto.api.Survey, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.Survey.displayName = 'proto.api.Survey';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.SurveyCircle = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.SurveyCircle.repeatedFields_, null);\n};\ngoog.inherits(proto.api.SurveyCircle, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.SurveyCircle.displayName = 'proto.api.SurveyCircle';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.SurveyPerson = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.SurveyPerson.repeatedFields_, null);\n};\ngoog.inherits(proto.api.SurveyPerson, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.SurveyPerson.displayName = 'proto.api.SurveyPerson';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.QuestionGroup = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.QuestionGroup.repeatedFields_, null);\n};\ngoog.inherits(proto.api.QuestionGroup, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.QuestionGroup.displayName = 'proto.api.QuestionGroup';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.Question = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.Question, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.Question.displayName = 'proto.api.Question';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.Answer = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.Answer, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.Answer.displayName = 'proto.api.Answer';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.Circle = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.Circle.repeatedFields_, null);\n};\ngoog.inherits(proto.api.Circle, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.Circle.displayName = 'proto.api.Circle';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.AdminCircle = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.api.AdminCircle.repeatedFields_, null);\n};\ngoog.inherits(proto.api.AdminCircle, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.AdminCircle.displayName = 'proto.api.AdminCircle';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.api.AdminCircleTitle = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.api.AdminCircleTitle, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.api.AdminCircleTitle.displayName = 'proto.api.AdminCircleTitle';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.Empty.prototype.toObject = function(opt_includeInstance) {\n return proto.api.Empty.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.Empty} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Empty.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.Empty}\n */\nproto.api.Empty.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.Empty;\n return proto.api.Empty.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.Empty} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.Empty}\n */\nproto.api.Empty.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.Empty.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.Empty.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.Empty} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Empty.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.ApplicationState.prototype.toObject = function(opt_includeInstance) {\n return proto.api.ApplicationState.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.ApplicationState} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.ApplicationState.toObject = function(includeInstance, msg) {\n var f, obj = {\n version: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.ApplicationState}\n */\nproto.api.ApplicationState.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.ApplicationState;\n return proto.api.ApplicationState.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.ApplicationState} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.ApplicationState}\n */\nproto.api.ApplicationState.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setVersion(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.ApplicationState.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.ApplicationState.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.ApplicationState} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.ApplicationState.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getVersion();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string version = 1;\n * @return {string}\n */\nproto.api.ApplicationState.prototype.getVersion = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.ApplicationState} returns this\n */\nproto.api.ApplicationState.prototype.setVersion = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.IdRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.api.IdRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.IdRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.IdRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n lang: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.IdRequest}\n */\nproto.api.IdRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.IdRequest;\n return proto.api.IdRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.IdRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.IdRequest}\n */\nproto.api.IdRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setLang(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.IdRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.IdRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.IdRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.IdRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getLang();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.IdRequest.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.IdRequest} returns this\n */\nproto.api.IdRequest.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string lang = 2;\n * @return {string}\n */\nproto.api.IdRequest.prototype.getLang = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.IdRequest} returns this\n */\nproto.api.IdRequest.prototype.setLang = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.LanguageRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.api.LanguageRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.LanguageRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.LanguageRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n lang: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.LanguageRequest}\n */\nproto.api.LanguageRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.LanguageRequest;\n return proto.api.LanguageRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.LanguageRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.LanguageRequest}\n */\nproto.api.LanguageRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setLang(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.LanguageRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.LanguageRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.LanguageRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.LanguageRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getLang();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string lang = 1;\n * @return {string}\n */\nproto.api.LanguageRequest.prototype.getLang = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.LanguageRequest} returns this\n */\nproto.api.LanguageRequest.prototype.setLang = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.SearchSurveysRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.api.SearchSurveysRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.SearchSurveysRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SearchSurveysRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n abbreviation: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.SearchSurveysRequest}\n */\nproto.api.SearchSurveysRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.SearchSurveysRequest;\n return proto.api.SearchSurveysRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.SearchSurveysRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.SearchSurveysRequest}\n */\nproto.api.SearchSurveysRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setAbbreviation(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.SearchSurveysRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.SearchSurveysRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.SearchSurveysRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SearchSurveysRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAbbreviation();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string abbreviation = 1;\n * @return {string}\n */\nproto.api.SearchSurveysRequest.prototype.getAbbreviation = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.SearchSurveysRequest} returns this\n */\nproto.api.SearchSurveysRequest.prototype.setAbbreviation = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.SearchSurveysResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.SearchSurveysResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.api.SearchSurveysResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.SearchSurveysResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SearchSurveysResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n surveysList: jspb.Message.toObjectList(msg.getSurveysList(),\n proto.api.SurveyView.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.SearchSurveysResponse}\n */\nproto.api.SearchSurveysResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.SearchSurveysResponse;\n return proto.api.SearchSurveysResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.SearchSurveysResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.SearchSurveysResponse}\n */\nproto.api.SearchSurveysResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.api.SurveyView;\n reader.readMessage(value,proto.api.SurveyView.deserializeBinaryFromReader);\n msg.addSurveys(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.SearchSurveysResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.SearchSurveysResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.SearchSurveysResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SearchSurveysResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSurveysList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.api.SurveyView.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SurveyView surveys = 1;\n * @return {!Array}\n */\nproto.api.SearchSurveysResponse.prototype.getSurveysList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.SurveyView, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.SearchSurveysResponse} returns this\n*/\nproto.api.SearchSurveysResponse.prototype.setSurveysList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.api.SurveyView=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.SurveyView}\n */\nproto.api.SearchSurveysResponse.prototype.addSurveys = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.api.SurveyView, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.SearchSurveysResponse} returns this\n */\nproto.api.SearchSurveysResponse.prototype.clearSurveysList = function() {\n return this.setSurveysList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.ExportSurveysRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.ExportSurveysRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.api.ExportSurveysRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.ExportSurveysRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.ExportSurveysRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n idsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.ExportSurveysRequest}\n */\nproto.api.ExportSurveysRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.ExportSurveysRequest;\n return proto.api.ExportSurveysRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.ExportSurveysRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.ExportSurveysRequest}\n */\nproto.api.ExportSurveysRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedInt64() : [reader.readInt64()]);\n for (var i = 0; i < values.length; i++) {\n msg.addIds(values[i]);\n }\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.ExportSurveysRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.ExportSurveysRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.ExportSurveysRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.ExportSurveysRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getIdsList();\n if (f.length > 0) {\n writer.writePackedInt64(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated int64 ids = 1;\n * @return {!Array}\n */\nproto.api.ExportSurveysRequest.prototype.getIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.ExportSurveysRequest} returns this\n */\nproto.api.ExportSurveysRequest.prototype.setIdsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.api.ExportSurveysRequest} returns this\n */\nproto.api.ExportSurveysRequest.prototype.addIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.ExportSurveysRequest} returns this\n */\nproto.api.ExportSurveysRequest.prototype.clearIdsList = function() {\n return this.setIdsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.ExportSurveysResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.ExportSurveysResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.api.ExportSurveysResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.ExportSurveysResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.ExportSurveysResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n recordsList: msg.getRecordsList_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.ExportSurveysResponse}\n */\nproto.api.ExportSurveysResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.ExportSurveysResponse;\n return proto.api.ExportSurveysResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.ExportSurveysResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.ExportSurveysResponse}\n */\nproto.api.ExportSurveysResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.addRecords(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.ExportSurveysResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.ExportSurveysResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.ExportSurveysResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.ExportSurveysResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRecordsList_asU8();\n if (f.length > 0) {\n writer.writeRepeatedBytes(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated bytes records = 1;\n * @return {!Array}\n */\nproto.api.ExportSurveysResponse.prototype.getRecordsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * repeated bytes records = 1;\n * This is a type-conversion wrapper around `getRecordsList()`\n * @return {!Array}\n */\nproto.api.ExportSurveysResponse.prototype.getRecordsList_asB64 = function() {\n return /** @type {!Array} */ (jspb.Message.bytesListAsB64(\n this.getRecordsList()));\n};\n\n\n/**\n * repeated bytes records = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getRecordsList()`\n * @return {!Array}\n */\nproto.api.ExportSurveysResponse.prototype.getRecordsList_asU8 = function() {\n return /** @type {!Array} */ (jspb.Message.bytesListAsU8(\n this.getRecordsList()));\n};\n\n\n/**\n * @param {!(Array|Array)} value\n * @return {!proto.api.ExportSurveysResponse} returns this\n */\nproto.api.ExportSurveysResponse.prototype.setRecordsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @param {number=} opt_index\n * @return {!proto.api.ExportSurveysResponse} returns this\n */\nproto.api.ExportSurveysResponse.prototype.addRecords = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.ExportSurveysResponse} returns this\n */\nproto.api.ExportSurveysResponse.prototype.clearRecordsList = function() {\n return this.setRecordsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.GetQuestionsResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.GetQuestionsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.api.GetQuestionsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.GetQuestionsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.GetQuestionsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n groupsList: jspb.Message.toObjectList(msg.getGroupsList(),\n proto.api.QuestionGroup.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.GetQuestionsResponse}\n */\nproto.api.GetQuestionsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.GetQuestionsResponse;\n return proto.api.GetQuestionsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.GetQuestionsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.GetQuestionsResponse}\n */\nproto.api.GetQuestionsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.api.QuestionGroup;\n reader.readMessage(value,proto.api.QuestionGroup.deserializeBinaryFromReader);\n msg.addGroups(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.GetQuestionsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.GetQuestionsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.GetQuestionsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.GetQuestionsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getGroupsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.api.QuestionGroup.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated QuestionGroup groups = 1;\n * @return {!Array}\n */\nproto.api.GetQuestionsResponse.prototype.getGroupsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.QuestionGroup, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.GetQuestionsResponse} returns this\n*/\nproto.api.GetQuestionsResponse.prototype.setGroupsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.api.QuestionGroup=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.QuestionGroup}\n */\nproto.api.GetQuestionsResponse.prototype.addGroups = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.api.QuestionGroup, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.GetQuestionsResponse} returns this\n */\nproto.api.GetQuestionsResponse.prototype.clearGroupsList = function() {\n return this.setGroupsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.GetCircleResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.api.GetCircleResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.GetCircleResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.GetCircleResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n circle: (f = msg.getCircle()) && proto.api.Circle.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.GetCircleResponse}\n */\nproto.api.GetCircleResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.GetCircleResponse;\n return proto.api.GetCircleResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.GetCircleResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.GetCircleResponse}\n */\nproto.api.GetCircleResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.api.Circle;\n reader.readMessage(value,proto.api.Circle.deserializeBinaryFromReader);\n msg.setCircle(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.GetCircleResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.GetCircleResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.GetCircleResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.GetCircleResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCircle();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.api.Circle.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Circle circle = 1;\n * @return {?proto.api.Circle}\n */\nproto.api.GetCircleResponse.prototype.getCircle = function() {\n return /** @type{?proto.api.Circle} */ (\n jspb.Message.getWrapperField(this, proto.api.Circle, 1));\n};\n\n\n/**\n * @param {?proto.api.Circle|undefined} value\n * @return {!proto.api.GetCircleResponse} returns this\n*/\nproto.api.GetCircleResponse.prototype.setCircle = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.api.GetCircleResponse} returns this\n */\nproto.api.GetCircleResponse.prototype.clearCircle = function() {\n return this.setCircle(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.api.GetCircleResponse.prototype.hasCircle = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.GetCirclesResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.GetCirclesResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.api.GetCirclesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.GetCirclesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.GetCirclesResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n circlesList: jspb.Message.toObjectList(msg.getCirclesList(),\n proto.api.Circle.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.GetCirclesResponse}\n */\nproto.api.GetCirclesResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.GetCirclesResponse;\n return proto.api.GetCirclesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.GetCirclesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.GetCirclesResponse}\n */\nproto.api.GetCirclesResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.api.Circle;\n reader.readMessage(value,proto.api.Circle.deserializeBinaryFromReader);\n msg.addCircles(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.GetCirclesResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.GetCirclesResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.GetCirclesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.GetCirclesResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCirclesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.api.Circle.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Circle circles = 1;\n * @return {!Array}\n */\nproto.api.GetCirclesResponse.prototype.getCirclesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.Circle, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.GetCirclesResponse} returns this\n*/\nproto.api.GetCirclesResponse.prototype.setCirclesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.api.Circle=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.Circle}\n */\nproto.api.GetCirclesResponse.prototype.addCircles = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.api.Circle, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.GetCirclesResponse} returns this\n */\nproto.api.GetCirclesResponse.prototype.clearCirclesList = function() {\n return this.setCirclesList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.GetAdminCirclesResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.GetAdminCirclesResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.api.GetAdminCirclesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.GetAdminCirclesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.GetAdminCirclesResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n circlesList: jspb.Message.toObjectList(msg.getCirclesList(),\n proto.api.AdminCircle.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.GetAdminCirclesResponse}\n */\nproto.api.GetAdminCirclesResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.GetAdminCirclesResponse;\n return proto.api.GetAdminCirclesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.GetAdminCirclesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.GetAdminCirclesResponse}\n */\nproto.api.GetAdminCirclesResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.api.AdminCircle;\n reader.readMessage(value,proto.api.AdminCircle.deserializeBinaryFromReader);\n msg.addCircles(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.GetAdminCirclesResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.GetAdminCirclesResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.GetAdminCirclesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.GetAdminCirclesResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCirclesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.api.AdminCircle.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated AdminCircle circles = 1;\n * @return {!Array}\n */\nproto.api.GetAdminCirclesResponse.prototype.getCirclesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.AdminCircle, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.GetAdminCirclesResponse} returns this\n*/\nproto.api.GetAdminCirclesResponse.prototype.setCirclesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.api.AdminCircle=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.AdminCircle}\n */\nproto.api.GetAdminCirclesResponse.prototype.addCircles = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.api.AdminCircle, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.GetAdminCirclesResponse} returns this\n */\nproto.api.GetAdminCirclesResponse.prototype.clearCirclesList = function() {\n return this.setCirclesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.LoginRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.api.LoginRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.LoginRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.LoginRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n username: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n password: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.LoginRequest}\n */\nproto.api.LoginRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.LoginRequest;\n return proto.api.LoginRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.LoginRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.LoginRequest}\n */\nproto.api.LoginRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setUsername(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPassword(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.LoginRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.LoginRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.LoginRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.LoginRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUsername();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPassword();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string username = 1;\n * @return {string}\n */\nproto.api.LoginRequest.prototype.getUsername = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.LoginRequest} returns this\n */\nproto.api.LoginRequest.prototype.setUsername = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.api.LoginRequest.prototype.getPassword = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.LoginRequest} returns this\n */\nproto.api.LoginRequest.prototype.setPassword = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.SurveyView.prototype.toObject = function(opt_includeInstance) {\n return proto.api.SurveyView.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.SurveyView} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SurveyView.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n createdAt: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.SurveyView}\n */\nproto.api.SurveyView.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.SurveyView;\n return proto.api.SurveyView.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.SurveyView} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.SurveyView}\n */\nproto.api.SurveyView.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCreatedAt(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.SurveyView.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.SurveyView.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.SurveyView} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SurveyView.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getCreatedAt();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.SurveyView.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyView} returns this\n */\nproto.api.SurveyView.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 created_at = 2;\n * @return {number}\n */\nproto.api.SurveyView.prototype.getCreatedAt = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyView} returns this\n */\nproto.api.SurveyView.prototype.setCreatedAt = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.Survey.repeatedFields_ = [16];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.Survey.prototype.toObject = function(opt_includeInstance) {\n return proto.api.Survey.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.Survey} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Survey.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n abbreviation: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n code: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n fullName: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n email: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n comment: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n startTime: jspb.Message.getFieldWithDefault(msg, 11, 0),\n endTime: jspb.Message.getFieldWithDefault(msg, 12, 0),\n termsOfUseAccepted: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n privacyPolicyAccepted: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),\n circlesList: jspb.Message.toObjectList(msg.getCirclesList(),\n proto.api.SurveyCircle.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.Survey}\n */\nproto.api.Survey.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.Survey;\n return proto.api.Survey.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.Survey} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.Survey}\n */\nproto.api.Survey.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAbbreviation(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setCode(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setFullName(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setEmail(value);\n break;\n case 9:\n var value = /** @type {string} */ (reader.readString());\n msg.setComment(value);\n break;\n case 11:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setStartTime(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setEndTime(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setTermsOfUseAccepted(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setPrivacyPolicyAccepted(value);\n break;\n case 16:\n var value = new proto.api.SurveyCircle;\n reader.readMessage(value,proto.api.SurveyCircle.deserializeBinaryFromReader);\n msg.addCircles(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.Survey.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.Survey.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.Survey} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Survey.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getAbbreviation();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getCode();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getFullName();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getEmail();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n f = message.getComment();\n if (f.length > 0) {\n writer.writeString(\n 9,\n f\n );\n }\n f = message.getStartTime();\n if (f !== 0) {\n writer.writeInt64(\n 11,\n f\n );\n }\n f = message.getEndTime();\n if (f !== 0) {\n writer.writeInt64(\n 12,\n f\n );\n }\n f = message.getTermsOfUseAccepted();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getPrivacyPolicyAccepted();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n f = message.getCirclesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 16,\n f,\n proto.api.SurveyCircle.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.Survey.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string abbreviation = 2;\n * @return {string}\n */\nproto.api.Survey.prototype.getAbbreviation = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setAbbreviation = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string code = 5;\n * @return {string}\n */\nproto.api.Survey.prototype.getCode = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setCode = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string full_name = 6;\n * @return {string}\n */\nproto.api.Survey.prototype.getFullName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setFullName = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string email = 7;\n * @return {string}\n */\nproto.api.Survey.prototype.getEmail = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setEmail = function(value) {\n return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string comment = 9;\n * @return {string}\n */\nproto.api.Survey.prototype.getComment = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setComment = function(value) {\n return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional int64 start_time = 11;\n * @return {number}\n */\nproto.api.Survey.prototype.getStartTime = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setStartTime = function(value) {\n return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional int64 end_time = 12;\n * @return {number}\n */\nproto.api.Survey.prototype.getEndTime = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setEndTime = function(value) {\n return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n/**\n * optional bool terms_of_use_accepted = 13;\n * @return {boolean}\n */\nproto.api.Survey.prototype.getTermsOfUseAccepted = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setTermsOfUseAccepted = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool privacy_policy_accepted = 14;\n * @return {boolean}\n */\nproto.api.Survey.prototype.getPrivacyPolicyAccepted = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.setPrivacyPolicyAccepted = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n/**\n * repeated SurveyCircle circles = 16;\n * @return {!Array}\n */\nproto.api.Survey.prototype.getCirclesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.SurveyCircle, 16));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.Survey} returns this\n*/\nproto.api.Survey.prototype.setCirclesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 16, value);\n};\n\n\n/**\n * @param {!proto.api.SurveyCircle=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.SurveyCircle}\n */\nproto.api.Survey.prototype.addCircles = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 16, opt_value, proto.api.SurveyCircle, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.Survey} returns this\n */\nproto.api.Survey.prototype.clearCirclesList = function() {\n return this.setCirclesList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.SurveyCircle.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.SurveyCircle.prototype.toObject = function(opt_includeInstance) {\n return proto.api.SurveyCircle.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.SurveyCircle} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SurveyCircle.toObject = function(includeInstance, msg) {\n var f, obj = {\n circleId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n personsList: jspb.Message.toObjectList(msg.getPersonsList(),\n proto.api.SurveyPerson.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.SurveyCircle}\n */\nproto.api.SurveyCircle.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.SurveyCircle;\n return proto.api.SurveyCircle.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.SurveyCircle} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.SurveyCircle}\n */\nproto.api.SurveyCircle.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCircleId(value);\n break;\n case 2:\n var value = new proto.api.SurveyPerson;\n reader.readMessage(value,proto.api.SurveyPerson.deserializeBinaryFromReader);\n msg.addPersons(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.SurveyCircle.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.SurveyCircle.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.SurveyCircle} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SurveyCircle.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCircleId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getPersonsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 2,\n f,\n proto.api.SurveyPerson.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional int64 circle_id = 1;\n * @return {number}\n */\nproto.api.SurveyCircle.prototype.getCircleId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyCircle} returns this\n */\nproto.api.SurveyCircle.prototype.setCircleId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * repeated SurveyPerson persons = 2;\n * @return {!Array}\n */\nproto.api.SurveyCircle.prototype.getPersonsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.SurveyPerson, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.SurveyCircle} returns this\n*/\nproto.api.SurveyCircle.prototype.setPersonsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.api.SurveyPerson=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.SurveyPerson}\n */\nproto.api.SurveyCircle.prototype.addPersons = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.api.SurveyPerson, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.SurveyCircle} returns this\n */\nproto.api.SurveyCircle.prototype.clearPersonsList = function() {\n return this.setPersonsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.SurveyPerson.repeatedFields_ = [24];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.SurveyPerson.prototype.toObject = function(opt_includeInstance) {\n return proto.api.SurveyPerson.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.SurveyPerson} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SurveyPerson.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n abbreviation: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n fullName: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n gender: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n isGroup: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n isImportant: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),\n groupSize: jspb.Message.getFieldWithDefault(msg, 7, 0),\n age: jspb.Message.getFieldWithDefault(msg, 8, 0),\n minAge: jspb.Message.getFieldWithDefault(msg, 9, 0),\n maxAge: jspb.Message.getFieldWithDefault(msg, 10, 0),\n circleNr: jspb.Message.getFieldWithDefault(msg, 11, 0),\n circleAngle: jspb.Message.getFloatingPointFieldWithDefault(msg, 12, 0.0),\n knownSinceMonths: jspb.Message.getFieldWithDefault(msg, 13, 0),\n relationship: jspb.Message.getFieldWithDefault(msg, 14, 0),\n otherRelationship: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n contactFrequency: jspb.Message.getFieldWithDefault(msg, 16, 0),\n isQueer: jspb.Message.getFieldWithDefault(msg, 17, 0),\n knowsAboutTrans: jspb.Message.getFieldWithDefault(msg, 18, 0),\n wouldChangeOpinionIfNotTrans: jspb.Message.getFieldWithDefault(msg, 19, 0),\n namePast: jspb.Message.getFieldWithDefault(msg, 20, \"\"),\n isGroupPast: jspb.Message.getBooleanFieldWithDefault(msg, 21, false),\n isInPresent: jspb.Message.getBooleanFieldWithDefault(msg, 22, false),\n isInPast: jspb.Message.getBooleanFieldWithDefault(msg, 23, false),\n answersList: jspb.Message.toObjectList(msg.getAnswersList(),\n proto.api.Answer.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.SurveyPerson}\n */\nproto.api.SurveyPerson.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.SurveyPerson;\n return proto.api.SurveyPerson.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.SurveyPerson} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.SurveyPerson}\n */\nproto.api.SurveyPerson.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAbbreviation(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setFullName(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setGender(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsGroup(value);\n break;\n case 6:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsImportant(value);\n break;\n case 7:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setGroupSize(value);\n break;\n case 8:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setAge(value);\n break;\n case 9:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMinAge(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMaxAge(value);\n break;\n case 11:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setCircleNr(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readFloat());\n msg.setCircleAngle(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setKnownSinceMonths(value);\n break;\n case 14:\n var value = /** @type {!proto.api.Relationship} */ (reader.readEnum());\n msg.setRelationship(value);\n break;\n case 15:\n var value = /** @type {string} */ (reader.readString());\n msg.setOtherRelationship(value);\n break;\n case 16:\n var value = /** @type {!proto.api.ContactFrequency} */ (reader.readEnum());\n msg.setContactFrequency(value);\n break;\n case 17:\n var value = /** @type {!proto.api.YesNoMaybe} */ (reader.readEnum());\n msg.setIsQueer(value);\n break;\n case 18:\n var value = /** @type {!proto.api.YesNoMaybe} */ (reader.readEnum());\n msg.setKnowsAboutTrans(value);\n break;\n case 19:\n var value = /** @type {!proto.api.YesNoMaybe} */ (reader.readEnum());\n msg.setWouldChangeOpinionIfNotTrans(value);\n break;\n case 20:\n var value = /** @type {string} */ (reader.readString());\n msg.setNamePast(value);\n break;\n case 21:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsGroupPast(value);\n break;\n case 22:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsInPresent(value);\n break;\n case 23:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsInPast(value);\n break;\n case 24:\n var value = new proto.api.Answer;\n reader.readMessage(value,proto.api.Answer.deserializeBinaryFromReader);\n msg.addAnswers(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.SurveyPerson.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.SurveyPerson.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.SurveyPerson} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.SurveyPerson.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getAbbreviation();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getFullName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getGender();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getIsGroup();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n f = message.getIsImportant();\n if (f) {\n writer.writeBool(\n 6,\n f\n );\n }\n f = message.getGroupSize();\n if (f !== 0) {\n writer.writeInt32(\n 7,\n f\n );\n }\n f = message.getAge();\n if (f !== 0) {\n writer.writeInt32(\n 8,\n f\n );\n }\n f = message.getMinAge();\n if (f !== 0) {\n writer.writeInt32(\n 9,\n f\n );\n }\n f = message.getMaxAge();\n if (f !== 0) {\n writer.writeInt32(\n 10,\n f\n );\n }\n f = message.getCircleNr();\n if (f !== 0) {\n writer.writeInt32(\n 11,\n f\n );\n }\n f = message.getCircleAngle();\n if (f !== 0.0) {\n writer.writeFloat(\n 12,\n f\n );\n }\n f = message.getKnownSinceMonths();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getRelationship();\n if (f !== 0.0) {\n writer.writeEnum(\n 14,\n f\n );\n }\n f = message.getOtherRelationship();\n if (f.length > 0) {\n writer.writeString(\n 15,\n f\n );\n }\n f = message.getContactFrequency();\n if (f !== 0.0) {\n writer.writeEnum(\n 16,\n f\n );\n }\n f = message.getIsQueer();\n if (f !== 0.0) {\n writer.writeEnum(\n 17,\n f\n );\n }\n f = message.getKnowsAboutTrans();\n if (f !== 0.0) {\n writer.writeEnum(\n 18,\n f\n );\n }\n f = message.getWouldChangeOpinionIfNotTrans();\n if (f !== 0.0) {\n writer.writeEnum(\n 19,\n f\n );\n }\n f = message.getNamePast();\n if (f.length > 0) {\n writer.writeString(\n 20,\n f\n );\n }\n f = message.getIsGroupPast();\n if (f) {\n writer.writeBool(\n 21,\n f\n );\n }\n f = message.getIsInPresent();\n if (f) {\n writer.writeBool(\n 22,\n f\n );\n }\n f = message.getIsInPast();\n if (f) {\n writer.writeBool(\n 23,\n f\n );\n }\n f = message.getAnswersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 24,\n f,\n proto.api.Answer.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.SurveyPerson.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string abbreviation = 2;\n * @return {string}\n */\nproto.api.SurveyPerson.prototype.getAbbreviation = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setAbbreviation = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string full_name = 3;\n * @return {string}\n */\nproto.api.SurveyPerson.prototype.getFullName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setFullName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string gender = 4;\n * @return {string}\n */\nproto.api.SurveyPerson.prototype.getGender = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setGender = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional bool is_group = 5;\n * @return {boolean}\n */\nproto.api.SurveyPerson.prototype.getIsGroup = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setIsGroup = function(value) {\n return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * optional bool is_important = 6;\n * @return {boolean}\n */\nproto.api.SurveyPerson.prototype.getIsImportant = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setIsImportant = function(value) {\n return jspb.Message.setProto3BooleanField(this, 6, value);\n};\n\n\n/**\n * optional int32 group_size = 7;\n * @return {number}\n */\nproto.api.SurveyPerson.prototype.getGroupSize = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setGroupSize = function(value) {\n return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * optional int32 age = 8;\n * @return {number}\n */\nproto.api.SurveyPerson.prototype.getAge = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setAge = function(value) {\n return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional int32 min_age = 9;\n * @return {number}\n */\nproto.api.SurveyPerson.prototype.getMinAge = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setMinAge = function(value) {\n return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional int32 max_age = 10;\n * @return {number}\n */\nproto.api.SurveyPerson.prototype.getMaxAge = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setMaxAge = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional int32 circle_nr = 11;\n * @return {number}\n */\nproto.api.SurveyPerson.prototype.getCircleNr = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setCircleNr = function(value) {\n return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional float circle_angle = 12;\n * @return {number}\n */\nproto.api.SurveyPerson.prototype.getCircleAngle = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 12, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setCircleAngle = function(value) {\n return jspb.Message.setProto3FloatField(this, 12, value);\n};\n\n\n/**\n * optional int32 known_since_months = 13;\n * @return {number}\n */\nproto.api.SurveyPerson.prototype.getKnownSinceMonths = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setKnownSinceMonths = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional Relationship relationship = 14;\n * @return {!proto.api.Relationship}\n */\nproto.api.SurveyPerson.prototype.getRelationship = function() {\n return /** @type {!proto.api.Relationship} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {!proto.api.Relationship} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setRelationship = function(value) {\n return jspb.Message.setProto3EnumField(this, 14, value);\n};\n\n\n/**\n * optional string other_relationship = 15;\n * @return {string}\n */\nproto.api.SurveyPerson.prototype.getOtherRelationship = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setOtherRelationship = function(value) {\n return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional ContactFrequency contact_frequency = 16;\n * @return {!proto.api.ContactFrequency}\n */\nproto.api.SurveyPerson.prototype.getContactFrequency = function() {\n return /** @type {!proto.api.ContactFrequency} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {!proto.api.ContactFrequency} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setContactFrequency = function(value) {\n return jspb.Message.setProto3EnumField(this, 16, value);\n};\n\n\n/**\n * optional YesNoMaybe is_queer = 17;\n * @return {!proto.api.YesNoMaybe}\n */\nproto.api.SurveyPerson.prototype.getIsQueer = function() {\n return /** @type {!proto.api.YesNoMaybe} */ (jspb.Message.getFieldWithDefault(this, 17, 0));\n};\n\n\n/**\n * @param {!proto.api.YesNoMaybe} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setIsQueer = function(value) {\n return jspb.Message.setProto3EnumField(this, 17, value);\n};\n\n\n/**\n * optional YesNoMaybe knows_about_trans = 18;\n * @return {!proto.api.YesNoMaybe}\n */\nproto.api.SurveyPerson.prototype.getKnowsAboutTrans = function() {\n return /** @type {!proto.api.YesNoMaybe} */ (jspb.Message.getFieldWithDefault(this, 18, 0));\n};\n\n\n/**\n * @param {!proto.api.YesNoMaybe} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setKnowsAboutTrans = function(value) {\n return jspb.Message.setProto3EnumField(this, 18, value);\n};\n\n\n/**\n * optional YesNoMaybe would_change_opinion_if_not_trans = 19;\n * @return {!proto.api.YesNoMaybe}\n */\nproto.api.SurveyPerson.prototype.getWouldChangeOpinionIfNotTrans = function() {\n return /** @type {!proto.api.YesNoMaybe} */ (jspb.Message.getFieldWithDefault(this, 19, 0));\n};\n\n\n/**\n * @param {!proto.api.YesNoMaybe} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setWouldChangeOpinionIfNotTrans = function(value) {\n return jspb.Message.setProto3EnumField(this, 19, value);\n};\n\n\n/**\n * optional string name_past = 20;\n * @return {string}\n */\nproto.api.SurveyPerson.prototype.getNamePast = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setNamePast = function(value) {\n return jspb.Message.setProto3StringField(this, 20, value);\n};\n\n\n/**\n * optional bool is_group_past = 21;\n * @return {boolean}\n */\nproto.api.SurveyPerson.prototype.getIsGroupPast = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 21, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setIsGroupPast = function(value) {\n return jspb.Message.setProto3BooleanField(this, 21, value);\n};\n\n\n/**\n * optional bool is_in_present = 22;\n * @return {boolean}\n */\nproto.api.SurveyPerson.prototype.getIsInPresent = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 22, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setIsInPresent = function(value) {\n return jspb.Message.setProto3BooleanField(this, 22, value);\n};\n\n\n/**\n * optional bool is_in_past = 23;\n * @return {boolean}\n */\nproto.api.SurveyPerson.prototype.getIsInPast = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 23, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.setIsInPast = function(value) {\n return jspb.Message.setProto3BooleanField(this, 23, value);\n};\n\n\n/**\n * repeated Answer answers = 24;\n * @return {!Array}\n */\nproto.api.SurveyPerson.prototype.getAnswersList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.Answer, 24));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.SurveyPerson} returns this\n*/\nproto.api.SurveyPerson.prototype.setAnswersList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 24, value);\n};\n\n\n/**\n * @param {!proto.api.Answer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.Answer}\n */\nproto.api.SurveyPerson.prototype.addAnswers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 24, opt_value, proto.api.Answer, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.SurveyPerson} returns this\n */\nproto.api.SurveyPerson.prototype.clearAnswersList = function() {\n return this.setAnswersList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.QuestionGroup.repeatedFields_ = [4,5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.QuestionGroup.prototype.toObject = function(opt_includeInstance) {\n return proto.api.QuestionGroup.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.QuestionGroup} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.QuestionGroup.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n title: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n type: jspb.Message.getFieldWithDefault(msg, 3, 0),\n optionsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n questionsList: jspb.Message.toObjectList(msg.getQuestionsList(),\n proto.api.Question.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.QuestionGroup}\n */\nproto.api.QuestionGroup.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.QuestionGroup;\n return proto.api.QuestionGroup.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.QuestionGroup} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.QuestionGroup}\n */\nproto.api.QuestionGroup.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setTitle(value);\n break;\n case 3:\n var value = /** @type {!proto.api.QuestionType} */ (reader.readEnum());\n msg.setType(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.addOptions(value);\n break;\n case 5:\n var value = new proto.api.Question;\n reader.readMessage(value,proto.api.Question.deserializeBinaryFromReader);\n msg.addQuestions(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.QuestionGroup.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.QuestionGroup.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.QuestionGroup} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.QuestionGroup.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getTitle();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getOptionsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 4,\n f\n );\n }\n f = message.getQuestionsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 5,\n f,\n proto.api.Question.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.QuestionGroup.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.QuestionGroup} returns this\n */\nproto.api.QuestionGroup.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string title = 2;\n * @return {string}\n */\nproto.api.QuestionGroup.prototype.getTitle = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.QuestionGroup} returns this\n */\nproto.api.QuestionGroup.prototype.setTitle = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional QuestionType type = 3;\n * @return {!proto.api.QuestionType}\n */\nproto.api.QuestionGroup.prototype.getType = function() {\n return /** @type {!proto.api.QuestionType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.api.QuestionType} value\n * @return {!proto.api.QuestionGroup} returns this\n */\nproto.api.QuestionGroup.prototype.setType = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * repeated string options = 4;\n * @return {!Array}\n */\nproto.api.QuestionGroup.prototype.getOptionsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.QuestionGroup} returns this\n */\nproto.api.QuestionGroup.prototype.setOptionsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.api.QuestionGroup} returns this\n */\nproto.api.QuestionGroup.prototype.addOptions = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.QuestionGroup} returns this\n */\nproto.api.QuestionGroup.prototype.clearOptionsList = function() {\n return this.setOptionsList([]);\n};\n\n\n/**\n * repeated Question questions = 5;\n * @return {!Array}\n */\nproto.api.QuestionGroup.prototype.getQuestionsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.Question, 5));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.QuestionGroup} returns this\n*/\nproto.api.QuestionGroup.prototype.setQuestionsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.api.Question=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.Question}\n */\nproto.api.QuestionGroup.prototype.addQuestions = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.api.Question, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.QuestionGroup} returns this\n */\nproto.api.QuestionGroup.prototype.clearQuestionsList = function() {\n return this.setQuestionsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.Question.prototype.toObject = function(opt_includeInstance) {\n return proto.api.Question.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.Question} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Question.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n title: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.Question}\n */\nproto.api.Question.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.Question;\n return proto.api.Question.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.Question} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.Question}\n */\nproto.api.Question.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setTitle(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.Question.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.Question.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.Question} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Question.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getTitle();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.Question.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.Question} returns this\n */\nproto.api.Question.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string title = 2;\n * @return {string}\n */\nproto.api.Question.prototype.getTitle = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Question} returns this\n */\nproto.api.Question.prototype.setTitle = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.Answer.prototype.toObject = function(opt_includeInstance) {\n return proto.api.Answer.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.Answer} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Answer.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n value: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.Answer}\n */\nproto.api.Answer.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.Answer;\n return proto.api.Answer.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.Answer} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.Answer}\n */\nproto.api.Answer.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setValue(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.Answer.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.Answer.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.Answer} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Answer.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getValue();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.Answer.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.Answer} returns this\n */\nproto.api.Answer.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int32 value = 2;\n * @return {number}\n */\nproto.api.Answer.prototype.getValue = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.Answer} returns this\n */\nproto.api.Answer.prototype.setValue = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.Circle.repeatedFields_ = [6,7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.Circle.prototype.toObject = function(opt_includeInstance) {\n return proto.api.Circle.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.Circle} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Circle.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n isDefault: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n periodNow: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n periodPast: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n titlesNowList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f,\n titlesPastList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.Circle}\n */\nproto.api.Circle.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.Circle;\n return proto.api.Circle.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.Circle} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.Circle}\n */\nproto.api.Circle.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsDefault(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeriodNow(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeriodPast(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.addTitlesNow(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.addTitlesPast(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.Circle.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.Circle.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.Circle} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.Circle.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getIsDefault();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getPeriodNow();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getPeriodPast();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getTitlesNowList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 6,\n f\n );\n }\n f = message.getTitlesPastList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 7,\n f\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.Circle.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool is_default = 2;\n * @return {boolean}\n */\nproto.api.Circle.prototype.getIsDefault = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.setIsDefault = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.api.Circle.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string period_now = 4;\n * @return {string}\n */\nproto.api.Circle.prototype.getPeriodNow = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.setPeriodNow = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string period_past = 5;\n * @return {string}\n */\nproto.api.Circle.prototype.getPeriodPast = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.setPeriodPast = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * repeated string titles_now = 6;\n * @return {!Array}\n */\nproto.api.Circle.prototype.getTitlesNowList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.setTitlesNowList = function(value) {\n return jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.addTitlesNow = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.clearTitlesNowList = function() {\n return this.setTitlesNowList([]);\n};\n\n\n/**\n * repeated string titles_past = 7;\n * @return {!Array}\n */\nproto.api.Circle.prototype.getTitlesPastList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 7));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.setTitlesPastList = function(value) {\n return jspb.Message.setField(this, 7, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.addTitlesPast = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 7, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.Circle} returns this\n */\nproto.api.Circle.prototype.clearTitlesPastList = function() {\n return this.setTitlesPastList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.api.AdminCircle.repeatedFields_ = [8,9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.AdminCircle.prototype.toObject = function(opt_includeInstance) {\n return proto.api.AdminCircle.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.AdminCircle} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.AdminCircle.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n description: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n isDefault: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n periodNowDe: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n periodNowEn: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n periodPastDe: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n periodPastEn: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n titlesNowList: jspb.Message.toObjectList(msg.getTitlesNowList(),\n proto.api.AdminCircleTitle.toObject, includeInstance),\n titlesPastList: jspb.Message.toObjectList(msg.getTitlesPastList(),\n proto.api.AdminCircleTitle.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.AdminCircle}\n */\nproto.api.AdminCircle.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.AdminCircle;\n return proto.api.AdminCircle.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.AdminCircle} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.AdminCircle}\n */\nproto.api.AdminCircle.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsDefault(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeriodNowDe(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeriodNowEn(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeriodPastDe(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeriodPastEn(value);\n break;\n case 8:\n var value = new proto.api.AdminCircleTitle;\n reader.readMessage(value,proto.api.AdminCircleTitle.deserializeBinaryFromReader);\n msg.addTitlesNow(value);\n break;\n case 9:\n var value = new proto.api.AdminCircleTitle;\n reader.readMessage(value,proto.api.AdminCircleTitle.deserializeBinaryFromReader);\n msg.addTitlesPast(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.AdminCircle.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.AdminCircle.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.AdminCircle} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.AdminCircle.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getIsDefault();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n f = message.getPeriodNowDe();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getPeriodNowEn();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getPeriodPastDe();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getPeriodPastEn();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n f = message.getTitlesNowList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 8,\n f,\n proto.api.AdminCircleTitle.serializeBinaryToWriter\n );\n }\n f = message.getTitlesPastList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 9,\n f,\n proto.api.AdminCircleTitle.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.api.AdminCircle.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string description = 2;\n * @return {string}\n */\nproto.api.AdminCircle.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool is_default = 3;\n * @return {boolean}\n */\nproto.api.AdminCircle.prototype.getIsDefault = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.setIsDefault = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional string period_now_de = 4;\n * @return {string}\n */\nproto.api.AdminCircle.prototype.getPeriodNowDe = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.setPeriodNowDe = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string period_now_en = 5;\n * @return {string}\n */\nproto.api.AdminCircle.prototype.getPeriodNowEn = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.setPeriodNowEn = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string period_past_de = 6;\n * @return {string}\n */\nproto.api.AdminCircle.prototype.getPeriodPastDe = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.setPeriodPastDe = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string period_past_en = 7;\n * @return {string}\n */\nproto.api.AdminCircle.prototype.getPeriodPastEn = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.setPeriodPastEn = function(value) {\n return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated AdminCircleTitle titles_now = 8;\n * @return {!Array}\n */\nproto.api.AdminCircle.prototype.getTitlesNowList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.AdminCircleTitle, 8));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.AdminCircle} returns this\n*/\nproto.api.AdminCircle.prototype.setTitlesNowList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.api.AdminCircleTitle=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.AdminCircleTitle}\n */\nproto.api.AdminCircle.prototype.addTitlesNow = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.api.AdminCircleTitle, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.clearTitlesNowList = function() {\n return this.setTitlesNowList([]);\n};\n\n\n/**\n * repeated AdminCircleTitle titles_past = 9;\n * @return {!Array}\n */\nproto.api.AdminCircle.prototype.getTitlesPastList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.api.AdminCircleTitle, 9));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.api.AdminCircle} returns this\n*/\nproto.api.AdminCircle.prototype.setTitlesPastList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 9, value);\n};\n\n\n/**\n * @param {!proto.api.AdminCircleTitle=} opt_value\n * @param {number=} opt_index\n * @return {!proto.api.AdminCircleTitle}\n */\nproto.api.AdminCircle.prototype.addTitlesPast = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 9, opt_value, proto.api.AdminCircleTitle, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.api.AdminCircle} returns this\n */\nproto.api.AdminCircle.prototype.clearTitlesPastList = function() {\n return this.setTitlesPastList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.api.AdminCircleTitle.prototype.toObject = function(opt_includeInstance) {\n return proto.api.AdminCircleTitle.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.api.AdminCircleTitle} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.AdminCircleTitle.toObject = function(includeInstance, msg) {\n var f, obj = {\n en: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n de: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.api.AdminCircleTitle}\n */\nproto.api.AdminCircleTitle.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.api.AdminCircleTitle;\n return proto.api.AdminCircleTitle.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.api.AdminCircleTitle} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.api.AdminCircleTitle}\n */\nproto.api.AdminCircleTitle.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEn(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setDe(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.api.AdminCircleTitle.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.api.AdminCircleTitle.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.api.AdminCircleTitle} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.api.AdminCircleTitle.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEn();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getDe();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string en = 1;\n * @return {string}\n */\nproto.api.AdminCircleTitle.prototype.getEn = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.AdminCircleTitle} returns this\n */\nproto.api.AdminCircleTitle.prototype.setEn = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string de = 2;\n * @return {string}\n */\nproto.api.AdminCircleTitle.prototype.getDe = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.api.AdminCircleTitle} returns this\n */\nproto.api.AdminCircleTitle.prototype.setDe = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * @enum {number}\n */\nproto.api.YesNoMaybe = {\n YES_NO_MAYBE_UNKNOWN: 0,\n NO: 1,\n YES: 2,\n PARTLY: 3,\n MAYBE: 4,\n YES_LESS: 5,\n YES_MORE: 6\n};\n\n/**\n * @enum {number}\n */\nproto.api.Relationship = {\n NONE: 0,\n PARTNER: 1,\n EX_PARTNER: 2,\n CHILD: 3,\n PARENTS: 4,\n SIBLING: 5,\n RELATIVE: 6,\n BEST_FRIEND: 7,\n FRIEND: 8,\n BETTER_KNOWN_PERSON: 9,\n COLLEAGUE: 10,\n SUPERVISOR: 11,\n PROFESSIONAL: 12,\n OTHER_RELATIONSHIP: 999\n};\n\n/**\n * @enum {number}\n */\nproto.api.ContactFrequency = {\n UNKNOWN: 0,\n DAILY: 1,\n SEVERAL_TIMES_A_WEEK: 2,\n ONCE_A_WEEK: 3,\n SEVERAL_TIMES_A_MONTH: 4,\n ONCE_A_MONTH: 5,\n SEVERAL_TIMES_A_YEAR: 6,\n ONCE_A_YEAR: 7,\n LESS: 8\n};\n\n/**\n * @enum {number}\n */\nproto.api.QuestionType = {\n DEFAULT: 0,\n DETAILED: 1,\n GOOD_VS_BAD: 2\n};\n\ngoog.object.extend(exports, proto.api);\n","module.exports = canvg;","/* (ignored) */"],"names":["inject","Router","AdminService","map","take","loggedInGuard","route","state","adminService","router","stateChange","pipe","source","createUrlTree","UntypedFormControl","UntypedFormGroup","Validators","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","LoginComponent","constructor","loginError","form","username","required","minLength","password","subscribe","authenticated","logout","value","document","location","reload","login","get","navigate","_","ɵɵdirectiveInject","i1","i2","_2","selectors","decls","vars","consts","template","LoginComponent_Template","rf","ctx","ɵɵtemplate","LoginComponent_div_2_Template","LoginComponent_div_3_Template","ɵɵelement","ɵɵlistener","LoginComponent_Template_button_click_12_listener","ɵɵadvance","ɵɵproperty","valid","RouterModule","ExampleComponent","NotFoundComponent","PersonFormComponent","routes","path","component","loadComponent","then","c","AdminDashboardComponent","canActivate","children","AppRoutingModule","_3","forRoot","imports","exports","AppComponent","actRoute","circles","persistence","api","version","getVersion","ActivatedRoute","CircleService","i3","PersistenceService","i4","ApiService","AppComponent_Template","ɵɵtextInterpolate1","BrowserModule","PersonCanvasComponent","FormsModule","ReactiveFormsModule","BrowserAnimationsModule","ToolbarComponent","MatToolbarModule","MatIconModule","MatDatepickerModule","MAT_DATE_LOCALE","MatLine","MatNativeDateModule","PersonAddComponent","PersonDeleteComponent","MatBottomSheet","HttpClientModule","TranslocoRootModule","FormRestartComponent","PersonQuestionsComponent","TermsDialogComponent","MatButtonModule","MatFormFieldModule","MatInputModule","MatCardModule","MatListModule","MatDialogModule","MatSnackBarModule","MatCheckboxModule","MatSelectModule","MatRadioModule","MatTab","MatTabGroup","AppModule","bootstrap","provide","useValue","declarations","ModalHelper","ɵɵelementContainerStart","FormRestartComponent_ng_container_0_Template_button_click_6_listener","ɵɵrestoreView","_r3","ctx_r2","ɵɵnextContext","ɵɵresetView","close","FormRestartComponent_ng_container_0_Template_button_click_8_listener","ctx_r4","ɵɵelementContainerEnd","ɵɵtextInterpolate","t_r1","bottomSheetRef","dialogRef","shouldRestart","FormRestartResult","MatBottomSheetRef","MatDialogRef","FormRestartComponent_Template","FormRestartComponent_ng_container_0_Template","MAT_BOTTOM_SHEET_DATA","PersonWrapper","ContactFrequency","Relationship","YesNoMaybe","EnumTranslator","MAT_DIALOG_DATA","nameControl","ctx_r15","groupSizeControl","PersonAddComponent_ng_container_0_ng_container_1_ng_container_6_Template_div_click_4_listener","_r18","ctx_r17","isGroupControl","setValue","PersonAddComponent_ng_container_0_ng_container_1_ng_container_6_Template_div_click_9_listener","ctx_r19","PersonAddComponent_ng_container_0_ng_container_1_ng_container_6_mat_form_field_14_Template","ɵɵpureFunction1","_c0","ctx_r5","ɵɵclassProp","ctx_r6","genderControl","ɵɵpureFunction2","_c1","ctx_r7","ageControl","relationshipType_r25","ctx_r23","getRelationshipTypeName","ctx_r24","relationshipOtherTextControl","PersonAddComponent_ng_container_0_ng_container_1_ng_container_9_mat_option_7_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_9_mat_form_field_8_Template","ctx_r8","relationshipTypeControl","relationshipTypes","isOtherRelationShipType","PersonAddComponent_ng_container_0_ng_container_1_ng_container_10_Template_input_click_7_listener","_r30","_r28","ɵɵreference","opened","open","PersonAddComponent_ng_container_0_ng_container_1_ng_container_10_Template_mat_datepicker_yearSelected_9_listener","$event","ctx_r31","onDurationYearChosen","PersonAddComponent_ng_container_0_ng_container_1_ng_container_10_Template_mat_datepicker_monthSelected_9_listener","ctx_r32","onDurationMonthChosen","PersonAddComponent_ng_container_0_ng_container_1_ng_container_10_Template_mat_datepicker_closed_9_listener","ctx_r33","onDateChosen","ctx_r9","now","getDurationDateAsString","frequency_r36","ctx_r35","getFrequencyName","PersonAddComponent_ng_container_0_ng_container_1_ng_container_11_mat_option_7_Template","ctx_r10","frequencyOfContactControl","frequencies","ctx_r38","PARTLY","getYesNoMaybeName","PersonAddComponent_ng_container_0_ng_container_1_ng_container_12_mat_option_9_Template","ctx_r11","isQueerControl","YES","NO","MAYBE","ctx_r40","PersonAddComponent_ng_container_0_ng_container_1_ng_container_13_mat_option_9_Template","ctx_r12","knowsAboutTransControl","ctx_r13","data","circleType","wouldChangeOpinionIfNotTransControl","YES_MORE","YES_LESS","PersonAddComponent_ng_container_0_ng_container_1_ng_container_5_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_6_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_7_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_8_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_9_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_10_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_11_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_12_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_13_Template","PersonAddComponent_ng_container_0_ng_container_1_ng_container_14_Template","PersonAddComponent_ng_container_0_ng_container_1_Template_button_click_16_listener","_r44","ctx_r43","PersonAddComponent_ng_container_0_ng_container_1_Template_button_click_19_listener","ctx_r45","prev","PersonAddComponent_ng_container_0_ng_container_1_Template_button_click_21_listener","ctx_r46","next","getAvatarPath","ɵɵsanitizeUrl","currentStep","NAME","PERSON_GROUP","GENDER","AGE","RELATIONSHIP","RELATIONSHIP_DURATION","FREQUENCY_OF_CONTACT","IS_QUEER","KNOWS_ABOUT_TRANS","WOULD_CHANGE_OPINION_IF_NOT_TRANS","isStepReady","stepCount","PersonAddComponent_ng_container_0_ng_container_2_Template_button_click_5_listener","_r49","ctx_r48","isCancelling","PersonAddComponent_ng_container_0_ng_container_2_Template_button_click_7_listener","ctx_r50","PersonAddComponent_ng_container_0_ng_container_1_Template","PersonAddComponent_ng_container_0_ng_container_2_Template","ctx_r0","ts","bottomSheetData","dialogData","PARTNER","EX_PARTNER","CHILD","PARENTS","SIBLING","RELATIVE","BEST_FRIEND","FRIEND","COLLEAGUE","PROFESSIONAL","OTHER_RELATIONSHIP","DAILY","SEVERAL_TIMES_A_WEEK","ONCE_A_WEEK","SEVERAL_TIMES_A_MONTH","ONCE_A_MONTH","SEVERAL_TIMES_A_YEAR","ONCE_A_YEAR","LESS","STEP_COUNT_NOW","STEP_COUNT_PAST","relationshipDurationControl","Date","disableBackdropClose","extractData","isInPast","ngOnInit","shouldAdd","force","personWrapper","hasAnsweredPersonDetails","person","setNamePast","setIsGroupPast","setFullName","setIsGroup","setGroupSize","setGender","setAge","setRelationship","setOtherRelationship","setKnownSinceMonths","setContactFrequency","setIsQueer","setKnowsAboutTrans","setWouldChangeOpinionIfNotTrans","PersonAddResult","relationship","getTextFromRelationship","frequency","getTextFromContactFrequency","yesNoMaybe","date","durationMonth","setFullYear","getFullYear","datePicker","setMonth","getMonth","undefined","monthDiff","slice","dateFrom","dateTo","TranslocoService","PersonAddComponent_Template","PersonAddComponent_ng_container_0_Template","PersonAddData","CanvasUtils","isInCircle","point","radius","circleCenter","Math","pow","x","y","isInRect","left","top","width","height","right","bottom","isOverlappingRects","a","b","EventEmitter","ImageWrapper","Point","Rect","PersonExtra","FONT_SIZE","FONT_COLOR","CIRCLE_STROKE_COLOR","isDragDropViewMode","viewMode","isPrintViewMode","savedPersons","bottomSheet","dialog","snackbar","personChange","persons","imageMap","isHoverSchedulingForDeletion","currentHoverSegment","hasRunFirstDraw","ngOnChanges","changes","hasChangedViewMode","hasChangedCircle","circle","hasChangedPersons","currentValue","push","buildNewPerson","forEach","index","findIndex","foundPerson","id","canvas","onFirstDraw","nativeElement","getBoundingClientRect","onDraw","ngAfterViewInit","console","log","foundContext","getContext","willReadFrequently","context","addEventListener","event","onMouseDown","changedTouches","clientX","offsetLeft","clientY","offsetTop","onMouseMove","onMouseUp","onMouseDownFromEvent","onMouseMoveFromEvent","onMouseUpFromEvent","toImageData","DOMRect","toDataURL","filter","isInPresent","containsEvent","imageSize","isDragging","mouseMovePoint","checkPersonHoverState","pickedPersonIndex","importantPersonCount","isImportant","length","publishPersonsChange","translate","duration","isAddedToCanvas","onDragAndDropMouseUp","tmpPoint","wasAddedToCanvas","result","onPersonDeletion","canvasWidthHalf","canvasHeightHalf","rank","angle","findPersonAngle","getId","onPersonAddition","emit","splice","shouldDelete","currentAngle","atan2","PI","abs","filteredPerson","foundPoint","angleToX","angleToY","canvasHeight","circleFullRadius","circleRadiusPart","isInContainer","canvasRect","canvasWidth","clearRect","fillStyle","fillRect","onDrawExplanationTexts","onDrawCircles","onDrawPersonRelative","onDrawPersonAbsolute","isDraggingAddedPersons","deleteHint","font","deleteTextWidth","measureText","fillText","deleteIcon","getAvatarFromPath","loaded","drawImage","image","loadListener","lines","currentY","line","addTitle","onDrawCircle","onDrawRect","onDrawCircleText","getTitlesNowList","getTitlesPastList","isHovering","beginPath","arc","fill","lineWidth","strokeStyle","stroke","text","textMetrics","drawCircleCenterText","drawCircleOuterText","drawCircleInnerText","endOfCircle","textWidth","halfSentenceLength","words","split","lastIndex","currentLength","firstLine","join","firstLineWidth","secondLine","secondLineWidth","center","startAngle","textHeight","save","textBaseline","textAlign","j","charWid","rotate","restore","avatar","getAvatarFromPerson","drawName","globalAlpha","activePerson","avatarPath","onResize","imageData","getImageData","i","brightness","putImageData","getNamePast","getFullName","getAge","relationshipText","getRelationship","getOtherRelationship","cos","sin","_4","MatDialog","MatSnackBar","_5","viewQuery","PersonCanvasComponent_Query","ɵɵresolveWindow","PersonCanvasComponent_Template_canvas_mousedown_0_listener","PersonCanvasComponent_Template_canvas_mousemove_0_listener","PersonCanvasComponent_Template_canvas_mouseup_0_listener","PersonDeleteComponent_ng_container_0_Template_button_click_6_listener","PersonDeleteComponent_ng_container_0_Template_button_click_8_listener","PersonDeleteResult","PersonDeleteComponent_Template","PersonDeleteComponent_ng_container_0_Template","FormState","Subject","takeUntil","GlobalChangeType","formatDate","TermsDialogOptions","CircleWrapper","jsPDF","ɵɵsanitizeHtml","ctx_r3","getTitle","getHint","PersonFormComponent_div_0_div_4_Template_span_click_7_listener","_r13","openTermsDialog","preventDefault","PersonFormComponent_div_0_div_4_Template_span_click_10_listener","ctx_r14","tosAcceptedControl","privacyAcceptedControl","PersonFormComponent_div_0_ng_container_5_app_person_canvas_1_Template_app_person_canvas_personChange_0_listener","onPersonsUpdate","formState","currentCircleIndexNow","ctx_r16","CIRCLE_NOW_PICK","PersonFormComponent_div_0_ng_container_5_app_person_canvas_1_Template","circleService","isCircleLoaded","PersonFormComponent_div_0_ng_container_6_app_person_questions_1_Template_app_person_questions_personChange_0_listener","_r21","ctx_r20","PersonFormComponent_div_0_ng_container_6_app_person_questions_1_Template_app_person_questions_currentPersonIndexChange_0_listener","ctx_r22","currentPerson","persist","PersonFormComponent_div_0_ng_container_6_app_person_questions_1_Template_app_person_questions_currentQuestionGroupChange_0_listener","currentQuestionGroup","PersonFormComponent_div_0_ng_container_6_app_person_questions_1_Template","PersonFormComponent_div_0_ng_container_7_app_person_canvas_1_Template_app_person_canvas_personChange_0_listener","_r26","ctx_r25","currentCircleIndexPast","PersonFormComponent_div_0_ng_container_7_app_person_canvas_1_Template","PersonFormComponent_div_0_div_8_ng_container_6_Template_button_click_1_listener","ctx_r29","savePdf","PersonFormComponent_div_0_div_8_ng_container_6_Template_button_click_4_listener","restartWithWarning","circleWrapper_r33","PersonFormComponent_div_0_div_8_ng_container_6_Template","PersonFormComponent_div_0_div_8_ng_container_7_Template","FINISH","PersonFormComponent_div_0_div_9_Template_button_click_1_listener","_r36","PersonFormComponent_div_0_div_9_Template_button_click_4_listener","ctx_r37","PersonFormComponent_div_0_div_9_Template_button_click_6_listener","isAtEnd","PersonFormComponent_div_0_div_1_Template","PersonFormComponent_div_0_h2_2_Template","PersonFormComponent_div_0_span_3_Template","PersonFormComponent_div_0_div_4_Template","PersonFormComponent_div_0_ng_container_5_Template","PersonFormComponent_div_0_ng_container_6_Template","PersonFormComponent_div_0_ng_container_7_Template","PersonFormComponent_div_0_div_8_Template","PersonFormComponent_div_0_div_9_Template","INITIAL_DATA","CIRCLE_NOW_DRAG_DROP","QUESTIONS","CIRCLE_PAST_DRAG_DROP","persistenceService","globalChange","QUESTION_GROUP_COUNT","destroy$","STEP_COUNT","maxLength","surveyPeriodOptions","Array","from","readState","readFormState","updateFormControlsFromFormState","initializeFormState","startListeningForFormControlChanges","startListeningForLanguageChange","initialized$","getCircles","persistFormState","valueChanges","name","tosAccepted","privacyAccepted","type","LANG_CHANGE","reloadCircles","patchValue","circleIndex","questionsComponent","navigateToPreviousStep","navigateToPreviousCircleInNow","isAtStart","navigateToPreviousCircleInPast","navigateToNextStep","navigateToNextCircleInNow","navigateToNextCircleInPast","saveForm","canvasComponents","canvasComponentArray","toArray","pdf","pdfWidth","internal","pageSize","getWidth","pdfHeight","getHeight","widthRatio","heightRatio","ratio","marginX","marginY","imgData","addPage","isPresent","setFontSize","circleDescription","getDescription","circlePeriod","getPeriodNow","getPeriodPast","addImage","restart","clearFormState","timeframe","current","currentPersonIndex","amount","importantPersons","ngOnDestroy","complete","i5","i6","GlobalChangeService","i7","PersonFormComponent_Query","PersonFormComponent_div_0_Template","Answer","questionAnswer_r6","a_r10","PersonQuestionsComponent_div_1_div_1_div_8_Template_mat_radio_group_change_3_listener","restoredCtx","_r12","question_r7","$implicit","onAnswer","PersonQuestionsComponent_div_1_div_1_div_8_div_4_Template","getQuestionTitleWithPersonName","getCurrentValueForQuestion","questionGroup_r2","getOptionsList","PersonQuestionsComponent_div_1_div_1_div_7_Template","PersonQuestionsComponent_div_1_div_1_div_8_Template","ɵɵstyleProp","ctx_r1","getQuestionCardOffset","groupIndex_r3","getQuestionsList","PersonQuestionsComponent_div_1_div_1_Template","questionGroups","apiService","currentPersonIndexChange","currentQuestionGroupChange","currentAnswers","loadQuestionGroups","getAnswersFromCurrentPerson","getQuestions","groups","question","replace","getAnswersList","currentAnswerIndex","answer","setId","setAnswersList","getValue","offset","currentQuestions","every","inputs","outputs","PersonQuestionsComponent_Template","PersonQuestionsComponent_div_1_Template","TermsDialogComponent_ng_container_0_div_2_Template","TermsDialogComponent_ng_container_0_div_3_Template","TermsDialogComponent_ng_container_0_Template_button_click_5_listener","_r7","closeAll","TermsDialogComponent_Template","TermsDialogComponent_ng_container_0_Template","stateChangeSub","unsubscribe","toggleLanguage","newLang","getActiveLang","setActiveLang","publishChange","ToolbarComponent_Template","ToolbarComponent_Template_img_click_6_listener","ToolbarComponent_button_7_Template","Circle","BinaryWriter","Base64Converter","fromJson","json","deserializeBinary","toUint8Array","personJson","toJson","circleWriter","serializeBinaryToWriter","getResultBase64String","start","toJSON","circleJson","src","Image","onload","SurveyPerson","getTime","isGroup","getIsGroup","getIsGroupPast","halfImageSize","personWriter","question_r4","ExampleComponent_li_3_li_3_Template","group_r2","title_r5","surveyService","cryptoService","getCircle","SurveyService","CryptoService","ExampleComponent_Template","ExampleComponent_li_3_Template","ExampleComponent_li_7_Template","NotFoundComponent_Template","BaseGrpcService","AdminServiceClient","of","ReplaySubject","Empty","ExportSurveysRequest","IdRequest","LoginRequest","SearchSurveysRequest","catchError","client","isAuthenticated","onSessionInvalidation","callGrpc","callback","setUsername","setPassword","err","searchSurveys","abbreviation","dateOfBirth","setAbbreviation","getSurveysList","exportSurveys","ids","setIdsList","getRecordsList","getAdminCircles","getCirclesList","updateCircle","deleteCircle","ɵɵinject","factory","ɵfac","providedIn","SurveyServiceClient","LanguageRequest","Survey","SurveyCircle","setLang","Error","getGroupsList","getApplicationState","survey","setCirclesList","setCircleId","setPersonsList","setCircleAngle","setCircleNr","setIsImportant","setIsInPresent","setIsInPast","setStartTime","setEndTime","setPrivacyPolicyAccepted","setTermsOfUseAccepted","saveSurvey","Observable","callImpl","responseValidityChecker","s","response","message","error","cipher","md","pki","util","parsePrivateKey","pem","privateKeyFromPem","decrypt","payload","privateKey","keyLength","n","bitLength","encryptedKey","substr","iv","encryptedText","key","sha256","create","decipher","createDecipher","update","createBuffer","finish","output","toString","bin2String","array","item","String","fromCharCode","change","STORAGE_PREFIX","localStorage","setItem","JSON","stringify","removeItem","getItem","parse","lang","provideTransloco","TranslocoModule","environment","TranslocoHttpLoader","http","getTranslation","HttpClient","config","availableLangs","defaultLang","fallbackLang","reRenderOnLangChange","prodMode","production","loader","base64","binary","window","atob","len","bytes","Uint8Array","charCodeAt","dialogService","bottomSheetService","innerWidth","afterClosed","afterDismissed","disableClose","dismiss","grpcWeb","api_pb","hostname","credentials","options","methodDescriptorGetApplicationState","MethodDescriptor","MethodType","UNARY","ApplicationState","request","serializeBinary","methodDescriptorSaveSurvey","methodDescriptorGetQuestions","GetQuestionsResponse","methodDescriptorGetCircle","GetCircleResponse","methodDescriptorGetCircles","GetCirclesResponse","client_","GrpcWebClientBase","hostname_","credentials_","options_","metadata","rpcCall","unaryCall","methodDescriptorLogin","methodDescriptorLogout","methodDescriptorState","methodDescriptorSearchSurveys","SearchSurveysResponse","methodDescriptorExportSurveys","ExportSurveysResponse","methodDescriptorGetAdminCircles","GetAdminCirclesResponse","methodDescriptorUpdateCircle","AdminCircle","methodDescriptorDeleteCircle","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","jspb","require","goog","global","Function","exportSymbol","proto","opt_data","Message","initialize","inherits","DEBUG","COMPILED","displayName","repeatedFields_","SurveyView","QuestionGroup","Question","AdminCircleTitle","GENERATE_TO_OBJECT","prototype","toObject","opt_includeInstance","includeInstance","msg","f","obj","$jspbMessageInstance","reader","BinaryReader","deserializeBinaryFromReader","nextField","isEndGroup","field","getFieldNumber","skipField","writer","getResultBuffer","getFieldWithDefault","readString","setVersion","writeString","setProto3StringField","readInt64","writeInt64","getLang","setProto3IntField","getAbbreviation","surveysList","toObjectList","readMessage","addSurveys","writeRepeatedMessage","getRepeatedWrapperField","setSurveysList","setRepeatedWrapperField","opt_value","opt_index","addToRepeatedWrapperField","clearSurveysList","idsList","getRepeatedField","values","isDelimited","readPackedInt64","addIds","getIdsList","writePackedInt64","setField","addToRepeatedField","clearIdsList","recordsList","getRecordsList_asB64","readBytes","addRecords","getRecordsList_asU8","writeRepeatedBytes","bytesListAsB64","bytesListAsU8","setRecordsList","clearRecordsList","groupsList","addGroups","setGroupsList","clearGroupsList","setCircle","writeMessage","getWrapperField","setWrapperField","clearCircle","hasCircle","getField","circlesList","addCircles","clearCirclesList","getUsername","getPassword","createdAt","setCreatedAt","getCreatedAt","code","fullName","email","comment","startTime","endTime","termsOfUseAccepted","getBooleanFieldWithDefault","privacyPolicyAccepted","setCode","setEmail","setComment","readBool","getCode","getEmail","getComment","getStartTime","getEndTime","getTermsOfUseAccepted","writeBool","getPrivacyPolicyAccepted","setProto3BooleanField","circleId","personsList","getPersonsList","addPersons","getCircleId","clearPersonsList","gender","groupSize","age","minAge","maxAge","circleNr","circleAngle","getFloatingPointFieldWithDefault","knownSinceMonths","otherRelationship","contactFrequency","isQueer","knowsAboutTrans","wouldChangeOpinionIfNotTrans","namePast","isGroupPast","answersList","readInt32","setMinAge","setMaxAge","readFloat","readEnum","addAnswers","getGender","getIsImportant","getGroupSize","writeInt32","getMinAge","getMaxAge","getCircleNr","getCircleAngle","writeFloat","getKnownSinceMonths","writeEnum","getContactFrequency","getIsQueer","getKnowsAboutTrans","getWouldChangeOpinionIfNotTrans","getIsInPresent","getIsInPast","setProto3FloatField","setProto3EnumField","clearAnswersList","title","optionsList","questionsList","setTitle","setType","addOptions","addQuestions","getType","writeRepeatedString","setOptionsList","clearOptionsList","setQuestionsList","clearQuestionsList","isDefault","description","periodNow","periodPast","titlesNowList","titlesPastList","setIsDefault","setDescription","setPeriodNow","setPeriodPast","addTitlesNow","addTitlesPast","getIsDefault","setTitlesNowList","clearTitlesNowList","setTitlesPastList","clearTitlesPastList","periodNowDe","periodNowEn","periodPastDe","periodPastEn","setPeriodNowDe","setPeriodNowEn","setPeriodPastDe","setPeriodPastEn","getPeriodNowDe","getPeriodNowEn","getPeriodPastDe","getPeriodPastEn","en","de","setEn","setDe","getEn","getDe","YES_NO_MAYBE_UNKNOWN","NONE","BETTER_KNOWN_PERSON","SUPERVISOR","UNKNOWN","QuestionType","DEFAULT","DETAILED","GOOD_VS_BAD","object","extend"],"sourceRoot":"webpack:///","x_google_ignoreList":[52]}