{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/btn_google_signin_light_normal_web.png","webpack:///./src/components/security/Login.vue?609b","webpack:///./src/components/banners/BannerNetworkError.vue?cf7a","webpack:///./src/components/banners/BannerUnverifiedEmail.vue?32fb","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/staticConfig.js","webpack:///./src/logic/general/apiUtils.js","webpack:///./src/logic/general/authenticationUtils.js","webpack:///./src/App.vue?c524","webpack:///./src/logic/family/treeUtils.js","webpack:///./src/components/modals/APIUnexpectedErrorModal.vue?0f96","webpack:///src/components/modals/APIUnexpectedErrorModal.vue","webpack:///./src/components/modals/APIUnexpectedErrorModal.vue?9a55","webpack:///./src/components/modals/APIUnexpectedErrorModal.vue","webpack:///./src/components/modals/AuthenticationModal.vue?5e4e","webpack:///./src/components/security/Login.vue?2941","webpack:///./src/logic/enums.js","webpack:///./src/logic/general/analyticsUtils.js","webpack:///./src/logic/general/validationUtils.js","webpack:///./src/components/ApiPostFeedback.vue?4e46","webpack:///src/components/ApiPostFeedback.vue","webpack:///./src/components/ApiPostFeedback.vue?0a57","webpack:///./src/components/ApiPostFeedback.vue","webpack:///./src/components/security/LoginOptions.vue?e078","webpack:///src/components/security/LoginOptions.vue","webpack:///./src/components/security/LoginOptions.vue?04d0","webpack:///./src/components/security/LoginOptions.vue","webpack:///src/components/security/Login.vue","webpack:///./src/components/security/Login.vue?5738","webpack:///./src/components/security/Login.vue","webpack:///./src/components/security/PasswordForgot.vue?4b97","webpack:///src/components/security/PasswordForgot.vue","webpack:///./src/components/security/PasswordForgot.vue?5737","webpack:///./src/components/security/PasswordForgot.vue","webpack:///./src/components/security/Register.vue?7e04","webpack:///src/components/security/Register.vue","webpack:///./src/components/security/Register.vue?fa66","webpack:///./src/components/security/Register.vue","webpack:///src/components/modals/AuthenticationModal.vue","webpack:///./src/components/modals/AuthenticationModal.vue?cb35","webpack:///./src/components/modals/AuthenticationModal.vue","webpack:///./src/components/modals/DisplayOptionsModal.vue?c074","webpack:///./src/logic/general/objectUtils.js","webpack:///src/components/modals/DisplayOptionsModal.vue","webpack:///./src/components/modals/DisplayOptionsModal.vue?be57","webpack:///./src/components/modals/DisplayOptionsModal.vue","webpack:///./src/components/modals/InfoModal.vue?117f","webpack:///./src/logic/culture/labelMaps.js","webpack:///./src/logic/culture/cultureUtils.js","webpack:///./src/logic/family/familyFactDefinitions.js","webpack:///./src/logic/family/familyFactUtils.js","webpack:///./src/logic/family/FamilyFactFactory.js","webpack:///./src/components/familyInfo/InfoCitationSection.vue?ce6e","webpack:///./src/components/familyInfo/InfoSubfact.vue?1764","webpack:///./src/components/familyInfo/InfoIndividual.vue?09e7","webpack:///./src/components/tree/IndividualName.vue?1d66","webpack:///./src/logic/family/individualUtils.js","webpack:///./src/logic/general/urlUtils.js","webpack:///src/components/tree/IndividualName.vue","webpack:///./src/components/tree/IndividualName.vue?0bae","webpack:///./src/components/tree/IndividualName.vue","webpack:///./src/components/tree/IndividualSummary.vue?4dd3","webpack:///./src/components/tree/GenderIcon.vue?1f5c","webpack:///src/components/tree/GenderIcon.vue","webpack:///./src/components/tree/GenderIcon.vue?1fff","webpack:///./src/components/tree/GenderIcon.vue","webpack:///src/components/tree/IndividualSummary.vue","webpack:///./src/components/tree/IndividualSummary.vue?0a3d","webpack:///./src/components/tree/IndividualSummary.vue","webpack:///src/components/familyInfo/InfoIndividual.vue","webpack:///./src/components/familyInfo/InfoIndividual.vue?e1e6","webpack:///./src/components/familyInfo/InfoIndividual.vue","webpack:///src/components/familyInfo/InfoSubfact.vue","webpack:///./src/components/familyInfo/InfoSubfact.vue?ec91","webpack:///./src/components/familyInfo/InfoSubfact.vue","webpack:///src/components/familyInfo/InfoCitationSection.vue","webpack:///./src/components/familyInfo/InfoCitationSection.vue?05eb","webpack:///./src/components/familyInfo/InfoCitationSection.vue","webpack:///./src/components/familyInfo/InfoCouple.vue?1aec","webpack:///./src/components/familyInfo/InfoFactSection.vue?b0ee","webpack:///./src/components/familyInfo/InfoFact.vue?c020","webpack:///src/components/familyInfo/InfoFact.vue","webpack:///./src/components/familyInfo/InfoFact.vue?1331","webpack:///./src/components/familyInfo/InfoFact.vue","webpack:///src/components/familyInfo/InfoFactSection.vue","webpack:///./src/components/familyInfo/InfoFactSection.vue?95df","webpack:///./src/components/familyInfo/InfoFactSection.vue","webpack:///src/components/familyInfo/InfoCouple.vue","webpack:///./src/components/familyInfo/InfoCouple.vue?fac2","webpack:///./src/components/familyInfo/InfoCouple.vue","webpack:///./src/components/familyInfo/InfoKidList.vue?b21a","webpack:///src/components/familyInfo/InfoKidList.vue","webpack:///./src/components/familyInfo/InfoKidList.vue?2ce9","webpack:///./src/components/familyInfo/InfoKidList.vue","webpack:///./src/logic/family/familyUtils.js","webpack:///src/components/modals/InfoModal.vue","webpack:///./src/components/modals/InfoModal.vue?4625","webpack:///./src/components/modals/InfoModal.vue","webpack:///./src/components/modals/NewInvitationsModal.vue?9e87","webpack:///./src/components/familyAdmin/AcceptInvitations.vue?2b30","webpack:///./src/components/TableBusy.vue?9f4d","webpack:///./src/components/TableBusy.vue","webpack:///src/components/familyAdmin/AcceptInvitations.vue","webpack:///./src/components/familyAdmin/AcceptInvitations.vue?3874","webpack:///./src/components/familyAdmin/AcceptInvitations.vue","webpack:///src/components/modals/NewInvitationsModal.vue","webpack:///./src/components/modals/NewInvitationsModal.vue?eab4","webpack:///./src/components/modals/NewInvitationsModal.vue","webpack:///./src/components/modals/SaveTreeModal.vue?fead","webpack:///./src/logic/file/pageSizes.js","webpack:///./src/logic/file/treeSave.js","webpack:///src/components/modals/SaveTreeModal.vue","webpack:///./src/components/modals/SaveTreeModal.vue?6b0d","webpack:///./src/components/modals/SaveTreeModal.vue","webpack:///./src/components/Header.vue?cdc7","webpack:///./src/logic/family/individualNameSearchSet.js","webpack:///./src/components/banners/BannerCookieWarning.vue?430c","webpack:///src/components/banners/BannerCookieWarning.vue","webpack:///./src/components/banners/BannerCookieWarning.vue?d49c","webpack:///./src/components/banners/BannerCookieWarning.vue","webpack:///./src/components/banners/BannerNetworkError.vue?2004","webpack:///src/components/banners/BannerNetworkError.vue","webpack:///./src/components/banners/BannerNetworkError.vue?91f6","webpack:///./src/components/banners/BannerNetworkError.vue","webpack:///./src/components/banners/BannerUnverifiedEmail.vue?39c1","webpack:///src/components/banners/BannerUnverifiedEmail.vue","webpack:///./src/components/banners/BannerUnverifiedEmail.vue?21de","webpack:///./src/components/banners/BannerUnverifiedEmail.vue","webpack:///./src/components/family/FamilyDescription.vue?f938","webpack:///src/components/family/FamilyDescription.vue","webpack:///./src/components/family/FamilyDescription.vue?dfda","webpack:///./src/components/family/FamilyDescription.vue","webpack:///src/components/Header.vue","webpack:///./src/components/Header.vue?4c35","webpack:///./src/components/Header.vue","webpack:///./src/components/Footer.vue?e023","webpack:///src/components/Footer.vue","webpack:///./src/components/Footer.vue?a982","webpack:///./src/components/Footer.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/views/AccountSettings.vue?c640","webpack:///./src/components/security/AddPassword.vue?a98d","webpack:///src/components/security/AddPassword.vue","webpack:///./src/components/security/AddPassword.vue?9014","webpack:///./src/components/security/AddPassword.vue","webpack:///./src/components/security/EditDeleteAccount.vue?f380","webpack:///src/components/security/EditDeleteAccount.vue","webpack:///./src/components/security/EditDeleteAccount.vue?1d19","webpack:///./src/components/security/EditDeleteAccount.vue","webpack:///./src/components/security/EditEmail.vue?d7e3","webpack:///src/components/security/EditEmail.vue","webpack:///./src/components/security/EditEmail.vue?39d9","webpack:///./src/components/security/EditEmail.vue","webpack:///./src/components/email/EditEmailSettings.vue?4422","webpack:///src/components/email/EditEmailSettings.vue","webpack:///./src/components/email/EditEmailSettings.vue?91d1","webpack:///./src/components/email/EditEmailSettings.vue","webpack:///./src/components/security/EditPassword.vue?2cc0","webpack:///src/components/security/EditPassword.vue","webpack:///./src/components/security/EditPassword.vue?d6df","webpack:///./src/components/security/EditPassword.vue","webpack:///./src/components/security/EditSubscription.vue?e65c","webpack:///src/components/security/EditSubscription.vue","webpack:///./src/components/security/EditSubscription.vue?d245","webpack:///./src/components/security/EditSubscription.vue","webpack:///./src/components/security/EditUserName.vue?160d","webpack:///src/components/security/EditUserName.vue","webpack:///./src/components/security/EditUserName.vue?aef5","webpack:///./src/components/security/EditUserName.vue","webpack:///src/views/AccountSettings.vue","webpack:///./src/views/AccountSettings.vue?e790","webpack:///./src/views/AccountSettings.vue","webpack:///./src/views/ContactUs.vue?a9ce","webpack:///src/views/ContactUs.vue","webpack:///./src/views/ContactUs.vue?d610","webpack:///./src/views/ContactUs.vue","webpack:///./src/views/EmailManageSettings.vue?ea3e","webpack:///src/views/EmailManageSettings.vue","webpack:///./src/views/EmailManageSettings.vue?c731","webpack:///./src/views/EmailManageSettings.vue","webpack:///./src/views/EmailVerify.vue?54bb","webpack:///src/views/EmailVerify.vue","webpack:///./src/views/EmailVerify.vue?9b0c","webpack:///./src/views/EmailVerify.vue","webpack:///./src/views/ErrorAuthorization.vue?2001","webpack:///./src/views/ErrorAuthorization.vue","webpack:///./src/views/ErrorRoute.vue?3f02","webpack:///src/views/ErrorRoute.vue","webpack:///./src/views/ErrorRoute.vue?edd4","webpack:///./src/views/ErrorRoute.vue","webpack:///./src/views/ErrorStackOverflow.vue?32e5","webpack:///./src/views/ErrorStackOverflow.vue","webpack:///./src/views/ErrorUnexpected.vue?2924","webpack:///./src/views/ErrorUnexpected.vue","webpack:///./src/views/FamilyDetails.vue?6957","webpack:///./src/logic/general/dateUtils.js","webpack:///./src/logic/general/stringUtils.js","webpack:///./src/logic/gedcom/handlingTypes.js","webpack:///./src/logic/gedcom/gedcomToJson.js","webpack:///./src/logic/seo/sitemapUtils.js","webpack:///./src/logic/family/familyAdminUtils.js","webpack:///./src/components/familyAdmin/EditFamilyDetails.vue?e5f5","webpack:///src/components/familyAdmin/EditFamilyDetails.vue","webpack:///./src/components/familyAdmin/EditFamilyDetails.vue?14a2","webpack:///./src/components/familyAdmin/EditFamilyDetails.vue","webpack:///./src/components/familyAdmin/EditFamilyUserDetails.vue?34f5","webpack:///src/components/familyAdmin/EditFamilyUserDetails.vue","webpack:///./src/components/familyAdmin/EditFamilyUserDetails.vue?95a7","webpack:///./src/components/familyAdmin/EditFamilyUserDetails.vue","webpack:///./src/components/familyAdmin/FamilyInvitationsGiven.vue?9e85","webpack:///./src/components/familyAdmin/SendInvitation.vue?7d5e","webpack:///src/components/familyAdmin/SendInvitation.vue","webpack:///./src/components/familyAdmin/SendInvitation.vue?7b47","webpack:///./src/components/familyAdmin/SendInvitation.vue","webpack:///src/components/familyAdmin/FamilyInvitationsGiven.vue","webpack:///./src/components/familyAdmin/FamilyInvitationsGiven.vue?7434","webpack:///./src/components/familyAdmin/FamilyInvitationsGiven.vue","webpack:///./src/components/familyAdmin/FamilyUsers.vue?048b","webpack:///src/components/familyAdmin/FamilyUsers.vue","webpack:///./src/components/familyAdmin/FamilyUsers.vue?ad5b","webpack:///./src/components/familyAdmin/FamilyUsers.vue","webpack:///./src/components/familyAdmin/ImportExistingFamily.vue?c9bf","webpack:///./src/logic/gedcom/anselToUtf8Map.js","webpack:///./src/logic/gedcom/characterSetUtils.js","webpack:///src/components/familyAdmin/ImportExistingFamily.vue","webpack:///./src/components/familyAdmin/ImportExistingFamily.vue?f0ea","webpack:///./src/components/familyAdmin/ImportExistingFamily.vue","webpack:///src/views/FamilyDetails.vue","webpack:///./src/views/FamilyDetails.vue?7159","webpack:///./src/views/FamilyDetails.vue","webpack:///./src/views/FamilyIndividualList.vue?f14d","webpack:///./src/logic/seo/analyticsUtils.js","webpack:///./src/logic/seo/structuredDataUtils.js","webpack:///./src/logic/seo/headerUtils.js","webpack:///src/views/FamilyIndividualList.vue","webpack:///./src/views/FamilyIndividualList.vue?a8ae","webpack:///./src/views/FamilyIndividualList.vue","webpack:///./src/views/FamilyInvitations.vue?bee8","webpack:///src/views/FamilyInvitations.vue","webpack:///./src/views/FamilyInvitations.vue?e35f","webpack:///./src/views/FamilyInvitations.vue","webpack:///./src/views/FamilyManagement.vue?caa6","webpack:///./src/components/familyAdmin/ImportNewFamily.vue?4e74","webpack:///src/components/familyAdmin/ImportNewFamily.vue","webpack:///./src/components/familyAdmin/ImportNewFamily.vue?17c1","webpack:///./src/components/familyAdmin/ImportNewFamily.vue","webpack:///src/views/FamilyManagement.vue","webpack:///./src/views/FamilyManagement.vue?64a7","webpack:///./src/views/FamilyManagement.vue","webpack:///./src/views/FamilySelection.vue?d5e9","webpack:///./src/components/family/FamilySelectionTable.vue?be6a","webpack:///src/components/family/FamilySelectionTable.vue","webpack:///./src/components/family/FamilySelectionTable.vue?f8b1","webpack:///./src/components/family/FamilySelectionTable.vue","webpack:///src/views/FamilySelection.vue","webpack:///./src/views/FamilySelection.vue?cf0a","webpack:///./src/views/FamilySelection.vue","webpack:///./src/views/Home.vue?bbe5","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?493c","webpack:///./src/views/Home.vue","webpack:///./src/views/PasswordReset.vue?5554","webpack:///src/views/PasswordReset.vue","webpack:///./src/views/PasswordReset.vue?b508","webpack:///./src/views/PasswordReset.vue","webpack:///./src/views/Privacy.vue?607e","webpack:///src/views/Privacy.vue","webpack:///./src/views/Privacy.vue?1c8c","webpack:///./src/views/Privacy.vue","webpack:///./src/views/SiteAdministrationReimportAll.vue?0f80","webpack:///src/views/SiteAdministrationReimportAll.vue","webpack:///./src/views/SiteAdministrationReimportAll.vue?f4e5","webpack:///./src/views/SiteAdministrationReimportAll.vue","webpack:///./src/views/Terms.vue?7edb","webpack:///src/views/Terms.vue","webpack:///./src/views/Terms.vue?756b","webpack:///./src/views/Terms.vue","webpack:///./src/views/Tree.vue?1ec6","webpack:///./src/components/tree/AncestorGrid.vue?473f","webpack:///./src/components/tree/AncestorCell.vue?a825","webpack:///./src/components/tree/Child.vue?3782","webpack:///./src/components/tree/Individual.vue?357f","webpack:///src/components/tree/Individual.vue","webpack:///./src/components/tree/Individual.vue?db7f","webpack:///./src/components/tree/Individual.vue","webpack:///./src/logic/family/unionUtils.js","webpack:///src/components/tree/Child.vue","webpack:///./src/components/tree/Child.vue?26b0","webpack:///./src/components/tree/Child.vue","webpack:///src/components/tree/AncestorCell.vue","webpack:///./src/components/tree/AncestorCell.vue?7fb6","webpack:///./src/components/tree/AncestorCell.vue","webpack:///./src/models/AncestorUnit.js","webpack:///./src/models/Generation.js","webpack:///./src/models/Household.js","webpack:///./src/logic/family/AncestorFactory.js","webpack:///src/components/tree/AncestorGrid.vue","webpack:///./src/components/tree/AncestorGrid.vue?f398","webpack:///./src/components/tree/AncestorGrid.vue","webpack:///./src/logic/general/dragScrollUtils.js","webpack:///src/views/Tree.vue","webpack:///./src/views/Tree.vue?2e71","webpack:///./src/views/Tree.vue","webpack:///./src/router.js","webpack:///./src/logic/routerExtensions.js","webpack:///./src/store/state.js","webpack:///./src/store/mutations.js","webpack:///./src/store/actions.js","webpack:///./src/store/authentication/actions.js","webpack:///./src/store/authentication/getters.js","webpack:///./src/store/authentication/mutations.js","webpack:///./src/store/authentication/state.js","webpack:///./src/store/authentication/index.js","webpack:///./src/store/family/actions.js","webpack:///./src/store/family/getters.js","webpack:///./src/store/family/mutations.js","webpack:///./src/store/family/state.js","webpack:///./src/store/family/index.js","webpack:///./src/logic/general/browserUtils.js","webpack:///./src/store/viewState/actions.js","webpack:///./src/store/viewState/mutations.js","webpack:///./src/store/viewState/state.js","webpack:///./src/store/viewState/index.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./src/App.vue?c650","webpack:///./src/assets/female.png","webpack:///./src/assets/male.png","webpack:///./src/components/banners/BannerCookieWarning.vue?4063","webpack:///./src/assets sync nonrecursive \\.png$","webpack:///./src/logic/general/gzipUtils.js","webpack:///./src/assets/CompanyLogo.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","code","keys","acceptedCookieVersion","googleClientId","googleGtagId","passwordRegex","passwordText","tokenRefreshNetworkFailureRetrySeconds","tokenRefreshPreexpirySeconds","APIErrorTypes","NETWORK","UNKNOWN","USER","OK","buildAPIUrl","suffix","process","handleAPIError","vm","postState","errorMessages","inProgress","response","error_description","modelState","ignore","RegExp","keyParts","split","messages","test","urlText","config","url","log","$bvModal","show","$store","dispatch","handleGeneralFailure","resetPostState","handleAPISuccess","isPostError","determineStorageLocation","stayLoggedIn","determineCookieDomain","determineCookieSecure","location","protocol","isAuthenticated","jwt","exp","Math","round","Date","getTime","checkRouteLoggedIn","next","isLoggedIn","$route","fullPath","$gtag","exception","checkRouteSiteAdministrator","isSiteAdministrator","_vm","this","_h","$createElement","_c","_self","attrs","on","resize","staticClass","style","staticRenderFns","widthFactorNormal","widthFactorAncestor","zoomDimensions","childContainerOffsetAncestor","childContainerOffsetDescendent","charMinWidth","fontIndividualLarge","fontIndividualSmall","relationshipHeight","relationshipOffset","treeDimensions","renderedIndividuals","generationRelativeWidth","treeZoom","maxCharacters","getMaxCharacters","dimensions","minWidth","ceil","widthAncestor","widthNormal","relationshipWidthAncestor","relationshipWidthNormal","max","getOwnPropertyNames","startsWith","renderedIndividual","nameLength","scopedSlots","_u","fn","ref","close","$event","_v","_s","getTimeLocal","getTimeUtc","component","onModalHidden","displayMode","onSetDisplayMode","_e","handleSubmit","stopPropagation","preventDefault","onRelativeToMe","model","form","callback","$$v","$set","expression","class","classGoogle","iconGoogle","onGoogle","postStateGoogle","required","email","validationContext","getValidationState","errors","isLoginInprogress","showForm","postStateRelativeToMe","familyAuthorityText","authorityId","accountProviderText","accountProvider","eventLogin","state","authentication","loginProvider","resetFormDelayed","$nextTick","$refs","observer","reset","resetFormImmediate","dirty","validated","valid","pushRight","singleError","_l","errorMessage","index","isCompleteOk","successMessage","$emit","onSubmit","reCaptchaSiteKey","onCaptchaVerified","onCaptchaExpired","onCancelRegistration","submitTitle","recaptchaToken","regex","confirmed","allowFalse","onShow","switchFamily","onRenderOptionChange","renderOptions","directives","rawName","modifiers","proxy","browserMaxGenerations","inputAncestorGenerations","_n","dotStyle","labelStyle","marksGeneration","sliderValueMax","sliderValueAncestor","inputDescendentGenerations","sliderValueDescendent","marksZoom","sliderValueZoom","marksWidth","sliderValueGenerationWidth","filter","obj","predicate","ifExists","isLoading","hasTarget","familyName","domProps","familyDescriptionHtml","author","sourceUrl","entity","coupleTitle","unionSpouses","tabIndex","facts","generalFacts","primaryFact","citationNumber","eventFacts","ldsEventFacts","attributeFacts","noteFacts","otherFacts","citations","hasFacts","image","title","parents","pointer","spouses","familyUnionFacts","familyRelationship","union","spouse","unionChildren","generalMap","default","ADOP","ANUL","BAPL","BAPM","BARM","BASM","BIRT","BLES","BURI","CAST","CENS","CHR","CHRA","CONF","CONL","CREM","DEAT","DIV","DIVF","DSCR","EDUC","EMIG","ENDL","ENGA","EVEN","FACT","FCOM","GRAD","IDNO","IMMI","MARR","MARB","MARC","MARL","MARS","NATI","NATU","NCHI","NMR","OCCU","ORDN","PROB","PROP","RELI","RESI","RETI","SLGC","SSN","TITL","WAC","WILL","ageReplacer","dateReplacer","ldsStatusMap","noteReplacer","pedigreeMap","quayMap","restrictionMap","roleMap","sexMap","statusMap","typeMap","ynReplacer","getLabel","labelKey","language","labelMaps","warn","getLocalizedValue","mapName","valueMap","replace","formatAge","join","replaceTranslatableItems","formatDate","formatEventValue","special","trim","toUpperCase","formatNote","replacerName","wrapLeft","wrapRight","replacer","replacement","re","substr","individualEventCodes","individualLDSEventCodes","individualAttributeCodes","unionEventCodes","unionLDSEventCodes","unionAttributeCodes","headerGeneralFactMap","pathList","separator","specialHandlingType","subfacts","individualGeneralFactMap","multivaluePath","citationPath","factFormatType","factDisplayType","pointerType","individualOtherFactMap","private","alternatePathList","isSensitive","unionGeneralFactMap","unionOtherFactMap","childToFamilyMap","eventSubfactMap","ldsEventSubfactMap","mediaFactMap","repositoryFactMap1","repositoryFactMap2","getGroupMemberByCodes","individual","group","codes","gm","_","forEach","f","getGroupMemberByCode","g","getGroupMemberByCodeFirst","getGroupMemberByCodePrimaryOrFirst","fp","primary","getGroupMemberByCodeLast","getGroupMemberByPrimaryOrFirst","pushValue","targetArray","surroundLeft","surroundRight","pushValueByPath","path","displayableFormats","Fact","FactDefinition","FactResult","FamilyFactFactory","familyData","canViewSensitive","cultureUtils","sourceProperty","eventCodes","factArray","factMap","items","item","fact","pushFactByPath","forceCreation","addFactsFromMap","factDefinition","addMultimediaFacts","addNoteFacts","addPlaceReferenceFacts","addSubmissionFacts","addSubmittorFacts","notesPath","supportsCitations","notes","note","buildCitation","record","objectPath","multimediaLinks","multiMediaLink","multimedia","pushFact","baseForm","baseTitle","files","file","formparts","toLowerCase","isDisplayable","includes","URL","hostname","linkTitle","link","urlFact","displayableFileNumber","familyFactDefinitions","submissionPath","submission","submittorPath","submittors","submittor","placePath","placeReference","places","repositoryReference","repositories","sources","citation","footnote","footnotes","source","footnoteParts","nameParts","includeFactDetails","publication","titlePublication","addRepositoryFacts","generalFactMap","ldsEventCodes","attributeCodes","otherFactMap","displayableImages","addCodeFacts","header","buildFacts","Array","isArray","toString","pick","label","formatValue","pushFactDetail","values","a","cardinal","subfact","b","classSubfact","subsubfact","individualId","hideDetailButton","unionId","classIndividualName","onShowTree","showButtons","onShowIndividualDetails","onShowUnionDetails","referenceErrorIndividual","names","fullName","getGenderAvatarUrl","gender","female","male","getIndividual","showReferenceError","individuals","getName","familyFactUtils","fullname","nameSuffix","nickname","word","findIndex","getFormalName","titleAttribute","getGender","getGenderIcon","getBirthDeathSummary","birthEvent","deathEvent","birth","death","getUrlSEOSafeName","base","latin","removeAccents","regex1","urlSafe","regex2","clean","getFamilyURL","familyId","familySEO","params","getIndividualURL","individualSEO","individualName","classIndividualDetails","isInTree","genderIcon","classWrapper","classLeft","legend","valueWithCitation","kids","kid","k","hasMoreKids","getFamilyRelationships","familyUnions","fu","enhanceFamilyRelationship","getFamilyParents","getFamilyUnions","eunion","enhanceUnion","eFamilyUnion","cloneDeep","getSpouses","families","eUnion","spouseId","find","x","individualUtils","getChildren","children","merge","omit","eIndividual","getBirthParents","birthParents","pedigree","getParents","getParentsChildren","sort","namesA","namesB","nameA","nameB","onClose","showModal","onNoMoreInvitations","tablePerPage","tableRows","tableCurrentPage","busy","tableData","tableFields","row","familyNameBase","isProcessing","onAcceptInvitation","hasRowError","rowError","components","TableBusy","props","showViewed","tableRowErrors","tableRowsProcessing","viewSession","computed","hasPageTwo","methods","familyInvitationId","axios","post","created","AcceptInvitations","load","watch","isLoggedInFully","oldValue","newValue","fileTypes","fileType","paperTypes","paperType","layouts","layout","printCutGuides","marksSize","scalingFactor","onGenerate","paperSizes","h","w","imperial","metric","useName","displayName","getPaperDimensions","dim","height","width","paperSizesSorted","ps","paperSize","details","translated","marginMM","cutGuideLengthPTs","topOfPageAdjustment","generateFile","elementId","scaling","paper","marginPt","paperImageMaxHeight","getPixelDimension","paperImageMaxWidth","element","getElementById","options","imageTimeout","scale","y","getTopPx","scrollX","scrollY","scrollHeight","scrollWidth","isValidCanvas","canvasSize","html2canvas","then","canvas","toDataURL","download","href","dataset","downloadurl","body","click","removeChild","pdf","jsPDF","sourceX","sourceY","isPage1","subCanvas","context","getContext","imageHeight","imageWidth","drawImage","addPage","imageHeightPts","imageWidthPts","addImage","drawCutGuides","save","line","pts","styles","cssText","matches","match","parseInt","familyDescription","isIndividualListShowing","onShowIndividualList","searchText","onShowIndividual","isIndividualTree","onLogout","buildIndividualNameSearchMap","individualsArray","Map","names1","names2","names3","names4","Set","from","set","add","loadIndividuals","individualNameSearch","individualSearchMap","minimumSearchChars","defaultResult","searchNames","totalSearchCharacters","reduce","accumulator","currentValue","individualIds","searchName","subset","has","birthDeathSummary","namea","nameb","individualNameSearchHeader","limit","freeze","individualNameSearchGrid","areCookiesAccepted","acceptCookies","$bvToast","EmailSendVerificationRequest","onShowHeaderDetails","arguments","displayInfoModal","placement","getInfoTableRowClass","hasRelativeToMeLogin","setMode","userInfo","givenName","getEmailPreference","emailPreferences","receiveOffers","receiveProductInformation","receiveInvitations","refreshTokens","refreshTokenFields","forceLogoff","refreshTokenId","staticStyle","resetPage","onUnsubscribeAll","isStandAlone","AddPassword","EditDeleteAccount","EditEmail","EditEmailSettings","EditPassword","EditSubscription","EditUserName","beforeRouteEnter","xla","isSelected","$router","emailManagementInfo","manageEmailToken","status","attemptFailed","attemptedVerify","token","initialize","query","setStatus","forceAuthenticationReactivity","mounted","lead","onBack","isAdministrator","suppressGender","isPublic","isShowcased","familyUserOperator","familyNameAlias","isEmailVisible","operatorFamilyAuthorityId","familyUsers","familyInvitations","lastImportFormatted","standardDateFormat","Intl","DateTimeFormat","year","month","day","hour","minute","removeChar","substring","handlingTypes","ABBR","ADDR","isObject","basePropertyValue","ADR1","ADR2","ADR3","filterPreviousCode","includeCode","AFN","AGE","AGNC","ALIA","basePropertyReference","cleanSlashes","ANCE","ANCI","ASSO","AUTH","BLOB","CALN","CAUS","CHAN","CHAR","CHIL","CITY","CLNDR","CONC","CONT","COPR","CORP","CTRY","DATA","DATE","DESC","DESI","DEST","EMAI","EMAIL","FAM","recordProperty","FAMC","FAMF","FAMS","FAX","FILE","FONE","FORM","GEDC","GIVN","HEAD","HUSB","filterLevel","INDI","LANG","LATI","LEGA","LONG","MAP","MEDI","NAME","removeUnderscores","NICK","NOTE","NPFX","NSFX","OBJE","ORDI","PAGE","PEDI","PHON","PLAC","POST","PUBL","QUAY","REFN","RELA","REPO","RESN","RFN","RIN","ROLE","ROMN","SEX","SLGS","SOUR","SPFX","STAE","STAT","SUBM","SUBN","SURN","TEMP","TEXT","TIME","filterLevel0Code","TRLR","TYPE","VERS","WIFE","WWW","_ASSO","_DESCRIPTION_AWARE","_DISABLED","_FREL","_PHOTO_RIN","_PRIM","valueFormatter","formatYN","_MARNM","_MREL","_PLAC","_PUBLISH","_RINS","_RTLSAVE","_SDATE","_SHAR","_TIMEZONE","_UID","_UPD","_USERNAME","_WITN","Y","N","lineFormat","NumberFormat","navigator","notation","minimumIntegerDigits","useGrouping","convert","rawData","gedcomRows","recordProperties","scaffold","referencesMade","inErrorInvalidCode","inErrorInvalidCodeLevel","inErrorNotObject","level0Code","lastSuccessfulGedcomRow","lastSuccessfulHandling","lastSuccessfulLevel","lastSuccessfulLineNumber","previousCode","buildBaseObject","gedcomRow","lineNumber","parts","level","isReference","cleanId","getTrailingText","recordReferencesMade","fill","printLine","handling","getHandlingType","continueLookahead","setPropertyObject","setPropertyArrayValue","setPropertySimpleValue","reportInvalidReferences","totalSlashes","raw","stringUtils","lastIndexOf","currentPosition","lastKeyPart","controlStart","indexOf","textStart","text","xssFilters","inDoubleQuotedAttr","matchLevel","matchLevel0Code","matchPreviousCode","invalidReferences","reference","found","some","list","setPropertyArray","format","generateSitemapFile","today","moment","utc","origin","urlset","builder","dec","att","collectionUrl","collectionPath","generateSitemapUrl","isSufficientlyComplex","hasGenericName","individualUrl","individualPath","end","pretty","loc","lastmod","urlNode","ele","locNode","lastmodNode","txt","part","familyAuthorityId","isOwner","canUpdateFamilyUser","targetFamilyAuthorityId","canDeleteInvitation","operatorUserId","sponsorUserId","processFamilyData","cleanData","stringToGzippedBase64","gedcomDataCompressed","gedcomToJson","objToJsonGzippedBase64","familyDataCompressed","sitemap","sitemapCompressed","isPersonal","isAuthorityAvailable","invitationsPerPage","invitationsRows","invitationsCurrentPage","invitationsFilter","invitationsFields","invitationsFilterFields","onInvitationsFiltered","isInvitationProcessing","revokeInvitation","resetForm","SendInvitation","invitationProcessingRows","invitationRowErrors","currentUser","nameid","hasInvitationsPageTwo","filteredItems","usersPerPage","usersRows","usersCurrentPage","usersFilter","usersFields","onUsersFiltered","detailsShowing","isFamilyUserEditable","showRowDetails","EditFamilyUserDetails","hasUsersPageTwo","formatFamilyAuthority","userId","toggleDetails","ext","fileName","anselToUtf8Map","convertToUtf8","binary","Uint8Array","testConversion","TextDecoder","decode","characterSet","groups","hasUTF8BOM","info","processAnselSource","byte","char","jump","String","fromCharCode","span","keyArray","buildKey","longkey","EditFamilyDetails","FamilyInvitationsGiven","FamilyUsers","ImportExistingFamily","lastImport","_onShowDetails","_m","individualsPerPage","individualsRows","individualsCurrentPage","individualsFilter","individualsFields","onShowIndividualTree","onShowDetails","buildTreeEvent","toParams","buildFamilyIndividualListEvent","addStructuredDataScript","structuredData","tag","innerHTML","JSON","stringify","buildFamilyStructuredData","familyState","urlUtils","abstract","isBasedOn","buildIndividualStructuredData","family","viewState","person","buildIndividual","parentFamily","buildParentChildren","familyParents","parent","sibling","unionFamilies","isTopLevel","sex","standardName","formalName","birthDate","deathDate","birthPlace","joinValues","deathPlace","titleAttributes","titles","occupationAttribute","occupation","description","alternateName","jobTitle","familyIds","individualIdExcluded","parentChildren","buildFamilyIndividuals","individualIdListProperty","setHeaderTags","to","nearestWithTitle","matched","reverse","meta","nearestWithMeta","metaTags","performSubstitutions","querySelectorAll","el","parentNode","tagDef","template","familyTitle","individualTitle","individualDescription","stateFamilyDescription","birthDeathSummaryText","titleOccupationText","unescape","IndividualName","IndividualSummary","familyindividuals","seo","beforeRouteUpdate","onIndividualsFiltered","pathNew","debouncedGetIndividualList","perPage","rows","currentPage","familyFields","filterOn","onFilterChange","onManageFamily","FamilyDescription","ImportNewFamily","determinePageTwo","newVal","privateFamilies","publicFamilies","tableId","classTr","onSelection","FamilySelectionTable","ApiPostFeedback","confirmPassword","password","cancelPending","onStop","stopText","progressValue","progressMax","treeKey","showAncestors","classAncestorGrid","gridStyle","cell","cellKeyAncestor","rowIndex","columnIndex","cellStyle","ancestorUnit","cellStyleSiblings","siblingIndex","classAncestorWrapper","classChildLineage","showUnions","classParentLineage","classesChildContainer","classesTitle","classIndividual","hasUnions","hasSpouse","unions","u","orderKey","spacerCount","unionDetails","showOffspring","offspringGeneration","getDetails","marriageEvent","divorceEvent","start","isFirstRender","renderedUnions","AncestorUnit","Generation","households","Number","MIN_SAFE_INTEGER","endRow","lastHousehold","lastHouseholdEndRow","childHouseholdEndRow","childHousehold","Household","focusIndividual","startRow","siblings","parentHouseholds","isDuplicate","familyUtils","AncestorFactory","maxGenerations","MAX_SAFE_INTEGER","generateAncestryGrids","gridAncestors","gridSiblings","generations","generation","household","first","last","parentInformation","buildParentInformation","cellA","generationId","isOrphan","isParent","hasMoreChildren","isFirstParentHousehold","isBetweenParents","focusIndividualOffset","isSecondParentHousehold","firstSiblingRow","cellB","rotated","rotate","ancestryGrid","flatten","siblingGrid","isFirstParent","ancestorsFound","duplicateId","duplicateAncestorCount","nextAvailableRow","buildGeneration","positionFirstParent","positionSecondParent","buildHousehold","positionChildHousehold","hasFirstParentHousehold","hasSecondParentHousehold","rotatedGrid","flattenedGrid","count","isRenderable","maxColumn","shiftdown","buildAncestryGrid","parentHousehold","childHouseholdStart","minRow","endAncestorsRow","minimum","grid","maxRow","mobileOS","allowDragScroll","browser","Bowser","parse","userAgent","os","Vue","use","Router","router","routes","beforeEnter","ErrorAuthorization","ErrorStackOverflow","ErrorUnexpected","Home","content","AccountSettings","FamilyInvitations","FamilyManagement","SiteAdministrationReimportAll","FamilyDetails","FamilySelection","ContactUs","Terms","Privacy","EmailManageSettings","PasswordReset","EmailVerify","Tree","skipMetaLoadInBeforeEach","FamilyIndividualList","ErrorRoute","patchRouterMethod","methodName","catch","currentRoute","beforeEachGlobal","forceReaction","commit","logoff","$auth","removeToken","localStorage","setItem","shortUUID","$gapi","logout","processAccessToken","getPayload","now","timeUntilExpiry","timeUntilRefresh","staticConfig","expiryTimer","refreshTimer","refreshAccessToken","$http","apiUtils","errorCode","reason","promptRelogin","storageType","authenticationUtils","setToken","finally","signalNewAccessToken","email_verified","isLoggedInUnverified","role","hasSubscription","expiry","clearAccessToken","clearTimers","incrementVersion","setAccessToken","setExpiryTimer","setRefreshTimer","Vuex","namespaced","actions","getters","mutations","loadDefaultFamily","routeFamilyId","storedFamilyId","getItem","storedFamilyDataHash","familyDataHash","loadFamily","postUpdateReload","setFamily","storedfamilyDataCompressed","useLocal","base64GzippedToObj","fd","payload","removeItem","familyStartLoad","familyStopLoad","familyEndLoad","maxStackSize","inc","loadHasNetworkError","hasNetworkError","loadInfoModal","infoModalOptions","updateRenderOptions","recordRenderedIndividual","recordRenderedUnion","resetModalIds","resetRenderedEntities","setInitialState","initialState","floor","infoModalEntityId","infoModalEntityType","setCookiesAccepted","setHasNetworkError","setInfoModalIndividualId","setRenderOptions","maxAncestorGenerations","maxDescendentGenerations","showDecendents","showGenderInTree","treeRenderOptionVersion","generate","setRenderedIndividual","instant","setRenderedUnion","measurement","Store","rules","rule","extend","validate","localize","en","ValidationObserver","ValidationProvider","library","faBlind","faBinoculars","faBook","faClipboardList","faExchangeAlt","faGenderless","faLink","faMars","faProjectDiagram","faSpinner","faTree","faVenus","FontAwesomeIcon","BootstrapVue","BootstrapVueIcons","VueCookies","Fragment","Plugin","VueAxios","VueTheMask","VueSlider","VueScrollTo","easing","duration","offset","VueAuthenticate","baseUrl","loginUrl","logoutUrl","storageNamespace","tokenPrefix","cookie","domain","secure","VueGapi","clientId","scope","errorHandler","stack","productionTip","VueGtag","enabled","VueDragscroll","store","render","App","customMap","beforeEach","defaults","withCredentials","interceptors","marked","setOptions","breaks","$mount","jsonString","gzip","compressed","Buffer","base64GzippedToString","ungzip","uncompressed"],"mappings":"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,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,GAAK,GAEL,GAAK,IACL,GAAK,IACL,GAAK,IAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,GAAK,GAEL,GAAK,IAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,WAAW,IACX,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,GAAK,GAEL,QAAQ,IACR,QAAQ,IACR,GAAK,GAEL,GAAK,IAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,GAAK,GAEL,GAAK,IACL,GAAK,IAEL,QAAQ,IACR,QAAQ,IACR,GAAK,GAEL,GAAK,IACL,GAAK,IAEL,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,QAAQ,IACR,GAAK,GAEL,GAAK,KCplBA,SAASC,GAAcvmB,GAC5B,IAAMwmB,EAAS,IAAIC,WAAWzmB,GACxB0mB,EAAiB,IAAIC,YAAY,SAASC,OAAOJ,GACjDzX,EAAQ2X,EAAe3X,MAAf,gBAAqB,iCAArB,mBACR8X,EAAe9X,EAAM+X,OAAS/X,EAAM+X,OAAOD,aAAe,cAC1DE,EAA2B,MAAdP,EAAO,IAA4B,MAAdA,EAAO,IAA4B,MAAdA,EAAO,GAOpE,OANA3iC,QAAQmjC,KAAR,wBAA8BH,EAA9B,YAEqB,UAAjBA,GAA4BE,GAC9BljC,QAAQ2T,KAAR,yDAA+DqvB,EAA/D,mBAGMA,GAEN,IAAK,QACH,OAAOI,GAAmBT,EAAQO,GACpC,IAAK,OACL,IAAK,QACH,OAAO,IAAIJ,YAAY,gBAAgBC,OAAOJ,GAChD,IAAK,UACL,IAAK,QACH,OAAOE,EACT,QAEE,OADA7iC,QAAQ2T,KAAR,qCAA2CqvB,EAA3C,yBACOH,GAIN,SAASO,GAAmBT,EAAQO,GACzC,IAAI3nC,EAAS,GACToE,EAAI,EAGJujC,IACFvjC,EAAI,GAGN,EAAG,CACD,IAAM0jC,EAAOV,EAAOhjC,GAChB2jC,EAAO,GACPC,EAAO,EAEX,GAAIF,GAAQ,IACVC,EAAOE,OAAOC,aAAaJ,QACtB,GAAIA,GAAQ,KAAQA,GAAQ,IAAM,CACvC,IAAM5jC,EAAM4jC,EAAKjmB,SAAS,IAAI7I,cAC9B+uB,EAAOb,GAAehjC,IAAQgjC,GAAe,YACxC,GAAIY,GAAQ,IAAM,CACvBC,EAAOb,GAAe,OAEtB,IAHuB,iBAGlB,IAAMiB,EAAI,KACPC,EAAW,GACjBhB,EAAOviC,MAAMT,EAAGA,EAAE+jC,GAAMvsB,SAAQ,SAAAwL,GAAMghB,EAAS3oC,KAAK4oC,GAASjhB,OAC7D,IAAMkhB,EAAUF,EAAS1vB,KAAK,KAG9B,GAFAqvB,EAAOb,GAAeoB,GAElBP,EAEF,OADAC,EAAOG,EACP,SARJ,MAAmB,CAAC,EAAG,EAAG,GAA1B,eAA8B,0BAQ1B,OAKNnoC,GAAU+nC,EACV3jC,GAAK4jC,QAEE5jC,EAAIgjC,EAAOjoC,QAEpB,OAAOa,EAGF,SAASqoC,GAASP,GACvB,OAAOA,EAAKjmB,SAAS,IAAI7I,cC5B3B,QACE,KAAF,uBACE,WAAF,CACI,gBAAJ,IAEE,MAAF,CACI,WAAJ,CAAM,KAAN,SAEE,KARF,WASI,MAAJ,CACM,KAAN,CACQ,qBAAR,KACQ,qBAAR,KACQ,kBAAR,MAEM,SAAN,KACM,UAAN,KAGE,QAAF,CACI,mBAAJ,YACM,OAAN,OAEI,SAAJ,WAAM,IAAN,OACM,KAAN,cACM,IAAN,8BACA,mCAEM,EAAN,8BAAQ,IAAR,uJACA,QADA,KAEA,OAFA,KAEA,OAFA,SAEA,qBAFA,wBAEA,OAFA,qBAIA,wDACA,kBACA,sCAEA,yCACA,iBACA,wBACA,gDACA,qBAEA,mBACA,wBACA,YAGA,mBACA,wBACA,SArBA,2CAAQ,OAAR,gDAuBA,mBACQ,EAAR,WACU,UAAV,OACU,cAAV,EAAY,QAAZ,uFAKI,UAAJ,WACM,KAAN,aACM,KAAN,MACQ,qBAAR,KACQ,qBAAR,MAEM,GAAN,OAEI,UAAJ,WACM,KAAN,wBCnH6W,MCOzW,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCmJf,IACEoQ,WAAY,CACVmf,kBAAJ,GACI5B,sBAAJ,GACI6B,uBAAJ,GACIC,YAAJ,GACIC,qBAAJ,IAEE/pC,KARF,WASI,MAAO,CACLgqB,MAAM,EACN7kB,KAAM,EACNmZ,WAAY,CACVyY,mBAAoB,GACpBI,YAAa,GACbC,kBAAmB,MAIzB1B,iBAnBF,SAmBA,OACIzrB,GAAK,SAAT,qBAEE+gB,SAAU,OAAZ,OAAY,CAAZ,iCACA,iCACA,gBAEA,iCACA,SALA,IAOImc,YAAa,WACX,OAAOz8B,KAAKhB,IAAI09B,QAElB73B,oBAAqB,WACnB,OAAO,GAAb,uDAEIiE,sBAAuB,WACrB,OAAO,EAAb,sDAEIiT,SAAU,WACR,OAAO/b,KAAKP,OAAOwc,OAAOF,UAE5BnT,WAAY,WACV,OAAO5I,KAAK4T,WAAWyY,mBAAmBC,iBAAmBtsB,KAAK4T,WAAW8L,gBAE/EuM,gBAAiB,WACf,OAAO,GAAb,iCAEI0O,QAAS,WACP,OAAO,GAAb,iCAEIhO,oBAAqB,WACnB,GAAI3sB,KAAK4T,WAAW0rB,WAAY,CAC9B,IAAR,uCACQ,OAAO1S,GAAmBmM,OAAOuG,GAEjC,MAAO,IAGX9S,0BAA2B,WACzB,OAAOxsB,KAAK4T,WAAWyY,mBAAmBqO,qBAG9Cla,QAAS,CACP+I,qBAAsB,SAA1B,GACM,MAAO,CAAb,gCAEIyC,OAAQ,WACNhsB,KAAKmrB,QAAQ/0B,KAAK,CAAxB,mCAEIqP,MAAO,WAAX,WACMzF,KAAKsf,MAAO,EACZtf,KAAKvF,KAAO,EACZuF,KAAK0gB,MAAMvmB,IAAI,EAArB,uCACA,kBACQ,EAAR,kBACQ,EAAR,YAGIsvB,QAAS,SAAb,cACMzpB,KAAKvF,KAAOA,EACZuF,KAAK4T,WAAW6Y,YAAYla,SAAQ,SAA1C,GACYhY,EAAMglC,gBACR,EAAV,iCAKE3e,QAvFF,WAwFI5gB,KAAKyF,SAEPsb,MAAO,CACLvhB,WAAY,SAAhB,IACuB,IAAb0hB,GACFlhB,KAAKmrB,QAAQ/0B,KAAK,CAA1B,cClQuV,MCOnV,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI2J,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,aAAa,CAAGT,EAAI2I,UAAqwB3I,EAAIsD,KAA9vBlD,EAAG,MAAM,CAACK,YAAY,4CAA4C,CAACT,EAAIy/B,GAAG,GAAGr/B,EAAG,MAAM,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,WAAWN,EAAI0/B,mBAAmB,aAAa1/B,EAAI2/B,gBAAgB,gBAAgB,WAAW,MAAQ,SAASh8B,MAAM,CAACnJ,MAAOwF,EAA0B,uBAAE6D,SAAS,SAAUC,GAAM9D,EAAI4/B,uBAAuB97B,GAAKE,WAAW,6BAA6B,GAAG5D,EAAG,MAAM,CAACA,EAAG,eAAe,CAACK,YAAY,qBAAqBH,MAAM,CAAC,gBAAgB,IAAI,MAAQ,eAAe,iBAAiB,QAAQ,YAAY,2BAA2B,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,GAAK,yBAAyB,KAAO,OAAO,SAAW,KAAKqD,MAAM,CAACnJ,MAAOwF,EAAqB,kBAAE6D,SAAS,SAAUC,GAAM9D,EAAI6/B,kBAAkB/7B,GAAKE,WAAW,wBAAwB,IAAI,KAAc5D,EAAG,UAAU,CAACE,MAAM,CAAC,eAAeN,EAAI4/B,uBAAuB,MAAQ5/B,EAAIsa,YAAY,OAASta,EAAI8/B,kBAAkB,WAAW9/B,EAAI0/B,mBAAmB,MAAQ,GAAG,WAAa,GAAG,aAAa,GAAG,QAAU,KAAK,QAAU,IAAIl9B,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,gBAAgB4H,GAAG,SAASgd,GAAK,MAAO,CAACtf,EAAG,WAAW,CAACK,YAAY,cAAcH,MAAM,CAAC,QAAU,UAAU,KAAO,MAAMC,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAO7C,EAAI+/B,qBAAqBrgB,MAAQ,CAACtf,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,CAAC,MAAO,sBAAsBN,EAAI8C,GAAG,SAAS,GAAG1C,EAAG,WAAW,CAACK,YAAY,cAAcH,MAAM,CAAC,QAAU,UAAU,KAAO,MAAMC,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAO7C,EAAIggC,cAActgB,MAAQ,CAACtf,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,CAAC,MAAO,WAAWN,EAAI8C,GAAG,gBAAgB,MAAM,CAAChI,IAAI,aAAa4H,GAAG,SAASgd,GAAK,MAAO,CAACtf,EAAG,kBAAkB,CAACE,MAAM,CAAC,gBAAgBof,EAAIrL,KAAKgF,aAAa,mBAAkB,QAAW,CAACve,IAAI,gBAAgB4H,GAAG,SAASgd,GAAK,MAAO,CAACtf,EAAG,qBAAqB,CAACE,MAAM,CAAC,gBAAgBof,EAAIrL,KAAKgF,wBAAwB,IACp5D,GAAkB,CAAC,WAAa,IAAIrZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,iCCD7H,SAASm9B,GAAehjC,EAAIijC,GACjC,IAAM7mB,EAAe6mB,EAAS7mB,aACxB+C,EAAgB8jB,EAAS9jB,cACzBJ,EAAWkkB,EAASlkB,SACpBC,EAAYikB,EAASjkB,UAEvB5C,GACFpc,EAAG2C,MAAMhH,MAAM,OAAQ,CACrBojB,WACAC,YACA5C,eACA+C,kBAKC,SAAS+jB,GAA+BljC,EAAIijC,GACjD,IAAMlkB,EAAWkkB,EAASlkB,SACpBC,EAAYikB,EAASjkB,UAE3Bhf,EAAG2C,MAAMhH,MAAM,yBAA0B,CACvCojB,WACAC,cChBG,SAASmkB,GAAwBC,GACtC,IAAMC,EAAMnoC,SAASC,cAAc,UACnCkoC,EAAI9nC,aAAa,OAAQ,uBACzB8nC,EAAI9nC,aAAa,6BAA8B,IAC/C8nC,EAAIC,UAAYC,KAAKC,UAAUJ,EAAgB,KAAM,GAErDloC,SAASuB,KAAKC,YAAY2mC,GAGrB,SAASI,GAA0BC,EAAaT,GACrD,IAAQl3B,EAA+D23B,EAA/D33B,OAAQyd,EAAuDka,EAAvDla,kBAAmBzK,EAAoC2kB,EAApC3kB,SAAUnT,EAA0B83B,EAA1B93B,WAAYI,EAAc03B,EAAd13B,UACnDjL,EAAM,GAAH,OAAMc,SAASu6B,QAAf,OAAwBuH,GAAsB5kB,EAAUnT,GAAY0K,MACvEqR,EAAU,CACd,WAAY,qBACZ,QAAS,aACT,eAAW/b,EAAX,gBACA,IAAO7K,GAGLgL,IAAQ4b,EAAQ5b,OAAS,CAC3B,QAAS,SACT,KAAQA,IAGNyd,IAAmB7B,EAAQic,SAAWpa,GACtCxd,IAAW2b,EAAQkc,UAAY73B,GAEnCm3B,GAAwBxb,GAGnB,SAASmc,GAA8B57B,EAAO+6B,GACnD,IAAMS,EAAcx7B,EAAM67B,OACpBlyB,EAAW3J,EAAM87B,UAAUnyB,SAC3BuK,EAAe6mB,EAAS7mB,aACxB6nB,EAASC,GAAgBryB,EAAU6xB,EAAatnB,GAAc,GAC9DlH,EAAawuB,EAAY9sB,WAAWyG,YAAYjB,GAChD+nB,EAAeC,GAAoBvyB,EAAU6xB,EAAaxuB,EAAWmvB,cAAejoB,GACtF+nB,EAAaj3B,QAAQpU,OAAS,IAAGmrC,EAAOK,OAASH,EAAaj3B,SAC9Di3B,EAAajjB,SAASpoB,OAAS,IAAGmrC,EAAOM,QAAUJ,EAAajjB,UAEpE,IAAMsjB,EAAgBJ,GAAoBvyB,EAAU6xB,EAAaxuB,EAAW+K,aAAc7D,GACtFooB,EAAct3B,QAAQpU,OAAS,IAAGmrC,EAAOz2B,OAASg3B,EAAct3B,SAChEs3B,EAActjB,SAASpoB,OAAS,IAAGmrC,EAAO/iB,SAAWsjB,EAActjB,UAEvEiiB,GAAwBc,GAGnB,SAASC,GAAgBryB,EAAzB,EAAyEuK,EAAcqoB,GAAY,IAA9D7tB,EAA8D,EAA9DA,WAAYmI,EAAkD,EAAlDA,SAAUnT,EAAwC,EAAxCA,WAC1Dq4B,EAAS,GAEXQ,IAAYR,EAAO,YAAc,sBAErC,IAAM/uB,EAAa0B,EAAWyG,YAAYjB,GACpCsoB,EAAMpvB,KAAEnY,IAAI+X,EAAY,OACxByvB,EAAe3jB,GAAwB9L,GACvC0vB,EAAa5jB,GAA8B9L,GAC3CnU,EAAM,GAAH,OAAMc,SAASu6B,QAAf,OAAwBuH,GAA0B5kB,EAAUnT,EAAYwQ,EAAcuoB,GAAcruB,MACvG4H,EAAaX,GAAmDrI,EAAY,SAAS,QACrFiJ,EAAaZ,GAAmDrI,EAAY,SAAS,QACrF2vB,EAAY/tB,GAAwBxB,KAAEnY,IAAI+gB,EAAY,aAAcrM,GACpEizB,EAAYhuB,GAAwBxB,KAAEnY,IAAIghB,EAAY,aAActM,GACpEkzB,EAAaC,GAAW9mB,EAAY,CAAC,cAAe,oBACpD+mB,EAAaD,GAAW7mB,EAAY,CAAC,cAAe,oBACpD+mB,EAAkB3nB,GAAqCrI,EAAY,aAAa,QAChFiwB,EAASD,EAAgBzmC,KAAI,SAAA2Y,GAAI,OAAI9B,KAAEnY,IAAIia,EAAM,YAAU/E,KAAK,MAChE+yB,EAAsB7nB,GAAmDrI,EAAY,aAAa,QAClGmwB,EAAa/vB,KAAEnY,IAAIioC,EAAqB,SAM9C,GAJAnB,EAAO,SAAW,SAClBA,EAAO5nC,KAAOsoC,EACdV,EAAOljC,IAAMA,EAET0jC,EAAY,CACdR,EAAOqB,YAAP,yBAAuCX,GACvC,IAAMnZ,EAAoBxK,GAAqC9L,EAAYrD,GAEvE2Z,IAAmByY,EAAOqB,aAAP,YAA2B9Z,EAA3B,OACnB2Z,GAAUE,KAAYpB,EAAOqB,aAAP,YAA2BH,GAAUE,EAArC,MAe5B,OAPIV,GAAgBC,IAAYX,EAAOsB,cAAgBX,GACnDC,IAAWZ,EAAOY,UAAYA,GAC9BE,IAAYd,EAAOc,WAAaA,GAChCE,IAAYhB,EAAOgB,WAAaA,GAChCH,IAAWb,EAAOa,UAAYA,IAC9BK,GAAUE,KAAYpB,EAAOuB,SAAWL,GAAUE,GAE9CX,GAEN,IAAK,IACHT,EAAOjnB,OAAS,SAChB,MACF,IAAK,IACHinB,EAAOjnB,OAAS,OAChB,MAGJ,OAAOinB,EAGF,SAASe,GAAW/4B,EAAQ0H,GACjC,IAAMvW,EAAI,GAOV,OALAuW,EAAS4B,SAAQ,SAAAe,GACf,IAAM/Y,EAAQ+X,KAAEnY,IAAI8O,EAAQqK,GACxB/Y,GAAOH,EAAEhE,KAAKmE,MAGbH,EAAEiV,KAAK,MAGT,SAAS+xB,GAAoBvyB,EAAU6xB,GAAmD,IAAtC+B,EAAsC,uDAA1B,GAAIC,EAAsB,uCACvF9uB,EAAe8sB,EAAf9sB,WACF+uB,EAAiB,CACrBz4B,QAAS,GACTgU,SAAU,IASZ,OANAukB,EAAUlwB,SAAQ,SAAA6B,GAChB,IAAM2sB,EAASntB,EAAW+J,SAASvJ,EAAKjK,SACxCw4B,EAAez4B,QAAf,0BAA6By4B,EAAez4B,SAA5C,gBAAwD04B,GAAuB/zB,EAAU6xB,EAAaK,EAAQ,UAAW2B,KACzHC,EAAezkB,SAAf,0BAA8BykB,EAAezkB,UAA7C,gBAA0D0kB,GAAuB/zB,EAAU6xB,EAAaK,EAAQ,WAAY2B,QAGvHC,EAGF,SAASC,GAAuB/zB,EAAU6xB,EAAaK,EAAQ8B,EAA0BH,GAC9F,OAAOpwB,KAAEnY,IAAI4mC,EAAQ8B,EAA0B,IACpCpnC,KAAI,SAAA2Y,GAAI,OAAIA,EAAKjK,SAAWiK,KAC5B9L,QAAO,SAAA1M,GAAE,OAAIA,GAAM8mC,KACnBjnC,KAAI,SAAA2d,GAAY,OAAI8nB,GAAgBryB,EAAU6xB,EAAatnB,MC1IjE,SAAS0pB,GAAcC,EAAI/lC,GAIhC,IAAMgmC,EAAmBD,EAAGE,QAAQznC,QAAQ0nC,UAAUplB,MAAK,SAAA1jB,GAAC,OAAIA,EAAE+oC,MAAQ/oC,EAAE+oC,KAAKl5B,SAG3Em5B,EAAkBL,EAAGE,QAAQznC,QAAQ0nC,UAAUplB,MAAK,SAAA1jB,GAAC,OAAIA,EAAE+oC,MAAQ/oC,EAAE+oC,KAAKE,YAG5EL,IAAkB9qC,SAAS+R,MAAQq5B,GAAqBN,EAAiBG,KAAKl5B,MAAO84B,EAAG9mB,OAAQjf,IAGpGsb,MAAMiP,KAAKrvB,SAASqrC,iBAAiB,iCAAiC9nC,KAAI,SAAA+nC,GAAE,OAAIA,EAAGC,WAAW1e,YAAYye,MAGtGJ,GAGFA,EAAgBD,KAAKE,SAAS5nC,KAAI,SAAAioC,GAChC,IAAMrD,EAAMnoC,SAASC,cAAc,QASnC,OAPApC,OAAOgG,KAAK2nC,GAAQnxB,SAAQ,SAAA1X,GAC1BwlC,EAAI9nC,aAAasC,EAAKyoC,GAAqBI,EAAO7oC,GAAMkoC,EAAG9mB,OAAQjf,OAIrEqjC,EAAI9nC,aAAa,6BAA8B,IAExC8nC,KAER9tB,SAAQ,SAAA8tB,GAAG,OAAInoC,SAASuB,KAAKC,YAAY2mC,MAIvC,SAASiD,GAAqBK,EAAU1nB,EAAQ/W,GACrD,IAAI0+B,EAAc3nB,EAAOrT,YAAcqT,EAAOD,UAC1CwK,EAAoBvK,EAAOrT,YAAcqT,EAAOD,UAChD6nB,EAAiB5nB,EAAOG,gBAAkBH,EAAOE,cACjD2nB,EAAwB7nB,EAAOG,gBAAkBH,EAAOE,cAE5D,GAAIjX,EAAO,CACT,IAAM6+B,EAAyB7+B,EAAM67B,OAAOva,kBAI5C,GAHAod,EAAc,OAAH,OAAU1+B,EAAM67B,OAAOn4B,WAAvB,sBACX4d,EAAoBud,GAAsB,UAA+BH,EAA/B,KAEtC3nB,EAAO7C,aAAc,CACvB,IAAMvK,EAAW3J,EAAM87B,UAAUnyB,SAC3B+E,EAAa1O,EAAM67B,OAAOntB,WAC1B1B,EAAa0B,EAAWyG,YAAY4B,EAAO7C,cAC3CuoB,EAAe3jB,GAAwB9L,GACvC0vB,EAAa5jB,GAA8B9L,GAC3CgwB,EAAkB3nB,GAAqCrI,EAAY,aAAa,QAChFiwB,EAASD,EAAgBzmC,KAAI,SAAA2Y,GAAI,OAAI9B,KAAEnY,IAAIia,EAAM,YAAU/E,KAAK,MAChE+yB,EAAsB7nB,GAAmDrI,EAAY,aAAa,QAClGmwB,EAAa/vB,KAAEnY,IAAIioC,EAAqB,SACxC5Z,EAAoBxK,GAAqC9L,EAAYrD,GACrEm1B,EAAwBxb,EAAoB,KAAH,OAAQA,EAAR,KAA+B,GACxEyb,EAAsB9B,GAAUE,EAAV,YAA4BF,GAAUE,EAAtC,KAAsD,GAClFwB,EAAkB,GAAH,OAAMjC,EAAN,gBACfkC,EAAwB,+BAAH,OAAkCnC,GAAlC,OAAiDqC,GAAjD,OAAyEC,EAAzE,qBAAyG/+B,EAAM67B,OAAOn4B,WAAtH,wBAIzB,OAAO+6B,EACEx0B,QAAQ,eAAgBmD,KAAE4xB,SAASN,IACnCz0B,QAAQ,qBAAsBmD,KAAE4xB,SAAS1d,IACzCrX,QAAQ,mBAAoBmD,KAAE4xB,SAASL,IACvC10B,QAAQ,yBAA0BmD,KAAE4xB,SAASJ,ICPxD,QACE/jB,WAAY,CACVokB,eAAJ,GACIC,kBAAJ,IAEEnkB,MAAO,CACLokB,kBAAmB,CAAvB,YACI7X,0BAA2B,CAA/B,cAEEl3B,KATF,WAUI,MAAO,CACLgqB,MAAM,EACNugB,kBAAmB,CACzB,CAAQ,IAAR,UAAQ,QAAR,iCACA,CAAQ,IAAR,QACA,CAAQ,IAAR,YAEMxlB,YAAa,GACbulB,kBAAmB,GACnBD,uBAAwB,EACxBF,mBAAoB,GACpBC,gBAAiB,IAGrB1U,iBAxBF,SAwBA,OACIzrB,GAAK,SAAT,GACMvC,EAAGsnC,IAAIvB,OAGXwB,kBA7BF,SA6BA,OACIvkC,KAAKskC,IAAIvB,GACTxjC,KAEF+gB,SAAU,OAAZ,OAAY,CAAZ,kBACA,yBACA,WACA,aACA,aACA,mBACA,YACA,yBAEA,4BACA,cAGEE,QAAS,CACPgkB,sBAAuB,WACrBxkC,KAAKqa,YAAcyO,GAAyB9oB,KAAK4/B,kBAAmB5/B,KAAK4T,WAAY5T,KAAK4nB,oBAAqB5nB,KAAKgnB,iBAAkBhnB,KAAK6O,UAC3I7O,KAAK0/B,gBAAkB1/B,KAAKqa,YAAYvkB,OACxCkK,KAAK2/B,uBAAyB,GAEhCG,qBAAsB,SAA1B,GACM,IAAN,oEACM9/B,KAAKmrB,QAAQ/0B,KAAKquC,IAEpB1E,cAAe,SAAnB,GACM//B,KAAK7B,OAAOC,SAAS,0BAA3B,0EACM4B,KAAK/B,SAASC,KAAK,cAErBomC,IAAK,SAAT,GACWtkC,KAAK0I,YACRw3B,GAA+BlgC,KAAM+iC,EAAG9mB,QACxC6mB,GAAcC,EAAI/iC,KAAK7B,OAAO+G,OAC9Bu7B,GAA0BzgC,KAAK7B,OAAO+G,MAAM67B,OAAQgC,EAAG9mB,WAI7D6P,QApEF,YAqE2B,IAAnB9rB,KAAK0I,WACP1I,KAAKwkC,yBAGT5jB,QAzEF,WA2EI5gB,KAAK0kC,2BAA6B,GAAtC,4CAEE3jB,MAAO,CACL6e,kBAAmB,SAAvB,GACM5/B,KAAK0kC,8BAEPh8B,UAAW,SAAf,IACuB,IAAbwY,IACFlhB,KAAKwkC,wBACLxkC,KAAKskC,IAAItkC,KAAKP,YCrJwU,MCO1V,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,aAAa,CAACL,EAAG,oBAAoB,CAACE,MAAM,CAAC,eAAc,MAAS,IACtL,GAAkB,GCUtB,IACE0f,WAAY,CACVc,kBAAJ,IAEEvrB,KAJF,WAKI,MAAO,IAGT01B,iBARF,SAQA,OACIzrB,GAAK,SAAT,qBAEE+gB,SAAU,OAAZ,OAAY,CAAZ,GACA,iCACA,gBAGES,MAAO,CACLvhB,WAAY,SAAhB,IACuB,IAAb0hB,GACFlhB,KAAKmrB,QAAQ/0B,KAAK,CAA1B,cC9B2V,MCOvV,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI2J,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,aAAa,CAACL,EAAG,KAAK,CAACJ,EAAI8C,GAAG,sBAAkC,IAAX9C,EAAItF,KAAU0F,EAAG,UAAU,CAACK,YAAY,cAAcH,MAAM,CAAC,QAAU,WAAWC,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAO7C,EAAI0pB,QAAQ,MAAM,CAACtpB,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,YAAYN,EAAI8C,GAAG,WAAW,GAAG9C,EAAIsD,MAAM,GAAGlD,EAAG,MAAM,CAAC6D,MAAMjE,EAAIwpB,qBAAqB,IAAI,CAAa,IAAXxpB,EAAItF,KAAU0F,EAAG,kBAAkB,CAACG,GAAG,CAAC,cAAc,SAASsC,GAAQ,OAAO7C,EAAI0F,YAAY1F,EAAIsD,MAAM,GAAGlD,EAAG,MAAM,CAACK,YAAY,4CAA4C,CAACT,EAAIy/B,GAAG,GAAGr/B,EAAG,MAAM,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,WAAWN,EAAI4kC,QAAQ,aAAa5kC,EAAI6kC,KAAK,gBAAgB,WAAW,MAAQ,SAASlhC,MAAM,CAACnJ,MAAOwF,EAAe,YAAE6D,SAAS,SAAUC,GAAM9D,EAAI8kC,YAAYhhC,GAAKE,WAAW,kBAAkB,GAAG5D,EAAG,MAAM,CAACA,EAAG,eAAe,CAACK,YAAY,qBAAqBH,MAAM,CAAC,gBAAgB,IAAI,MAAQ,eAAe,iBAAiB,QAAQ,YAAY,2BAA2B,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,GAAK,yBAAyB,KAAO,OAAO,SAAW,KAAKqD,MAAM,CAACnJ,MAAOwF,EAAU,OAAE6D,SAAS,SAAUC,GAAM9D,EAAIuI,OAAOzE,GAAKE,WAAW,aAAa,IAAI,KAAK5D,EAAG,UAAU,CAACE,MAAM,CAAC,eAAeN,EAAI8kC,YAAY,KAAO9kC,EAAIuf,KAAK,OAASvf,EAAIuI,OAAO,MAAQvI,EAAI4d,SAAS,OAAS5d,EAAI+kC,aAAa,yBAAyB/kC,EAAIglC,SAAS,WAAWhlC,EAAI4kC,QAAQ,sBAAsB,+BAA+B,WAAa,GAAG,aAAa,GAAG,QAAU,KAAK,QAAU,IAAIrkC,GAAG,CAAC,SAAWP,EAAIilC,gBAAgBziC,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,mBAAmB4H,GAAG,SAASgd,GAAK,MAAO,CAAC1f,EAAI8C,GAAG,IAAI9C,EAAI+C,GAAG2c,EAAIrL,KAAKxL,YAAY,KAAKzI,EAAG,oBAAoB,CAACE,MAAM,CAAC,qBAAqBof,EAAIrL,KAAKoS,kBAAkB,OAAS/G,EAAIrL,KAAKrL,OAAO,aAAa0W,EAAIrL,KAAKpL,UAAU,GAAM,OAAUyW,EAAIrL,KAAa,SAAG,UAAY,oBAAoB,CAACvZ,IAAI,iBAAiB4H,GAAG,SAASgd,GAAK,MAAO,CAAEA,EAAIrL,KAAa,SAAEjU,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,WAAWN,EAAIsD,QAAQ,CAACxI,IAAI,oBAAoB4H,GAAG,SAASgd,GAAK,MAAO,CAAEA,EAAIrL,KAAgB,YAAEjU,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,WAAWN,EAAIsD,QAAQ,CAACxI,IAAI,uBAAuB4H,GAAG,SAASgd,GAAK,MAAO,CAAEA,EAAIrL,KAAmB,eAAEjU,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,WAAWN,EAAIsD,QAAQ,CAACxI,IAAI,gBAAgB4H,GAAG,SAASgd,GAAK,MAAO,CAACtf,EAAG,WAAW,CAACK,YAAY,cAAcH,MAAM,CAAC,QAAU,UAAU,KAAO,MAAMC,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAO7C,EAAIklC,eAAexlB,MAAQ,CAACtf,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,WAAWN,EAAI8C,GAAG,WAAW,MAAM,CAAChI,IAAI,aAAa4H,GAAG,WAAW,MAAO,CAACtC,EAAG,eAAeoH,OAAM,QAAW,IACpgF,GAAkB,CAAC,WAAa,IAAIxH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,4CCDhI,GAAS,WAAa,IAAI9C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,sBAAsB,CAACuC,IAAI,WAAWH,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAASC,GACxL,IAAIY,EAAeZ,EAAIY,aACvB,MAAO,CAACnD,EAAG,SAAS,CAACG,GAAG,CAAC,OAAS,SAASsC,GAAyD,OAAjDA,EAAOW,kBAAkBX,EAAOY,iBAAwBF,EAAavD,EAAIuG,aAAa,CAACnG,EAAG,SAAS,CAACK,YAAY,OAAOH,MAAM,CAAC,aAAa,QAAQ,IAAM,YAAY,CAACF,EAAG,cAAc,CAACJ,EAAI8C,GAAG,8MAA8M,GAAG1C,EAAG,QAAQ,CAACkqB,YAAY,CAAC,QAAU,QAAQhqB,MAAM,CAAC,GAAK,gBAAgB,KAAO,OAAO,aAAe,cAAcF,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,cAAc,MAAQ,CAACgE,UAAU,IAAO9B,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAAS8B,GAAmB,MAAO,CAACpE,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgB,IAAI,MAAQ,eAAe,iBAAiB,QAAQ,YAAY,yBAAyB,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,GAAK,uBAAuB,KAAO,OAAO,MAAQN,EAAIyE,mBAAmBD,GAAmB,SAAW,KAAKb,MAAM,CAACnJ,MAAOwF,EAAI4D,KAAmB,eAAEC,SAAS,SAAUC,GAAM9D,EAAI+D,KAAK/D,EAAI4D,KAAM,iBAAkBE,IAAME,WAAW,yBAAyB5D,EAAG,0BAA0B,CAACE,MAAM,CAAC,GAAK,wBAAwB,CAACN,EAAI8C,GAAG9C,EAAI+C,GAAGyB,EAAkBE,OAAO,QAAQ,OAAO,MAAK,KAAQtE,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,eAAekC,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAAS8B,GAAmB,MAAO,CAACpE,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgB,IAAI,MAAQ,eAAe,iBAAiB,QAAQ,YAAY,gCAAgC,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAK,8BAA8B,MAAQN,EAAIyE,mBAAmBD,GAAmB,YAAc,gCAAgC,KAAO,IAAI,SAAW,KAAKb,MAAM,CAACnJ,MAAOwF,EAAI4D,KAAsB,kBAAEC,SAAS,SAAUC,GAAM9D,EAAI+D,KAAK/D,EAAI4D,KAAM,oBAAqBE,IAAME,WAAW,4BAA4B5D,EAAG,0BAA0B,CAACE,MAAM,CAAC,GAAK,+BAA+B,CAACN,EAAI8C,GAAG9C,EAAI+C,GAAGyB,EAAkBE,OAAO,QAAQ,OAAO,MAAK,KAAQtE,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,UAAUkC,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAAS8B,GAAmB,MAAO,CAACpE,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgB,IAAI,MAAQ,UAAU,iBAAiB,QAAQ,YAAY,eAAe,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,GAAK,aAAa,KAAO,OAAO,MAAQN,EAAIyE,mBAAmBD,GAAmB,SAAW,KAAKb,MAAM,CAACnJ,MAAOwF,EAAI4D,KAAW,OAAEC,SAAS,SAAUC,GAAM9D,EAAI+D,KAAK/D,EAAI4D,KAAM,SAAUE,IAAME,WAAW,iBAAiB5D,EAAG,0BAA0B,CAACE,MAAM,CAAC,GAAK,oBAAoB,CAACN,EAAI8C,GAAG9C,EAAI+C,GAAGyB,EAAkBE,OAAO,QAAQ,OAAO,MAAK,KAAQtE,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,gBAAgB,MAAQ,CAACtC,KAAK,IAAOwE,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAAS8B,GAAmB,MAAO,CAACpE,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgB,IAAI,MAAQ,cAAc,iBAAiB,QAAQ,YAAY,mBAAmB,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,GAAK,iBAAiB,KAAO,OAAO,MAAQN,EAAIyE,mBAAmBD,GAAmB,SAAW,KAAKb,MAAM,CAACnJ,MAAOwF,EAAI4D,KAAc,UAAEC,SAAS,SAAUC,GAAM9D,EAAI+D,KAAK/D,EAAI4D,KAAM,YAAaE,IAAME,WAAW,oBAAoB5D,EAAG,0BAA0B,CAACE,MAAM,CAAC,GAAK,uBAAuB,CAACN,EAAI8C,GAAG9C,EAAI+C,GAAGyB,EAAkBE,OAAO,QAAQ,OAAO,MAAK,KAAQtE,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,YAAY,MAAQ,CAAEs9B,IAAI,MAAOt5B,UAAU,GAAO,kBAAkB,CAAE,IAAM,4BAA6B,SAAY,4BAA6B9B,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAAS8B,GAAmB,MAAO,CAACpE,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgB,IAAI,MAAQ,YAAY,iBAAiB,QAAQ,YAAY,kBAAkB,CAACF,EAAG,cAAc,CAACuC,IAAI,YAAYlC,YAAY,OAAOH,MAAM,CAAC,GAAK,gBAAgB,MAA4C,IAApCkE,EAAkBE,OAAO3O,OAAa,YAAc,wCAAwC,mBAAmB,yBAAyB,SAAW,KAAK4N,MAAM,CAACnJ,MAAOwF,EAAY,SAAE6D,SAAS,SAAUC,GAAM9D,EAAI69B,SAAS/5B,GAAKE,WAAW,cAAc5D,EAAG,0BAA0B,CAACE,MAAM,CAAC,GAAK,uBAAuB,CAACN,EAAI8C,GAAG9C,EAAI+C,GAAGyB,EAAkBE,OAAO,QAAQ,OAAO,MAAK,KAAQtE,EAAG,MAAM,CAACK,YAAY,8BAA8B,CAACL,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,SAAS,QAAU,oBAAoB,SAAW,MAAMC,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAO7C,EAAIuqB,eAAe,CAACvqB,EAAI8C,GAAG,YAAY1C,EAAG,WAAW,CAACK,YAAY,OAAOH,MAAM,CAAC,SAAWN,EAAI9C,UAAUE,WAAW,KAAO,SAAS,QAAU,UAAU,SAAW,OAAO,CAAC4C,EAAI8C,GAAG,eAAe,GAAG1C,EAAG,kBAAkB,CAACE,MAAM,CAAC,aAAaN,EAAI9C,cAAc,WACv9I,GAAkB,GC8GtB,IACE,KAAF,kBACE,WAAF,CACI,gBAAJ,IAEE,MAAF,CACI,SAAJ,CACM,KAAN,SAGE,KAVF,WAWI,MAAJ,CACM,KAAN,CACQ,SAAR,KACQ,eAAR,GACQ,qBAAR,KACQ,kBAAR,KACQ,qBAAR,KACQ,OAAR,KACQ,UAAR,MAEM,SAAN,KACM,UAAN,KAGE,QAAF,CACI,mBAAJ,YACM,OAAN,OAEI,SAAJ,WAAM,IAAN,OACM,KAAN,cACM,KAAN,0BACM,IAAN,mCAEM,EAAN,8BAAQ,IAAR,uJACA,QADA,KAEA,OAFA,KAEA,OAFA,SAEA,4CAFA,wBAEA,OAFA,qBAIA,iDACA,kBACA,sCAEA,yCACA,iBACA,wBACA,gDACA,qBAEA,mBACA,wBACA,YAGA,mBACA,wBACA,SArBA,2CAAQ,OAAR,gDAuBA,mBACQ,EAAR,WACU,UAAV,OACU,cAAV,EAAY,QAAZ,uFAKI,UAAJ,WACM,KAAN,aACM,KAAN,MACQ,eAAR,GACQ,qBAAR,KACQ,kBAAR,KACQ,OAAR,KACQ,UAAR,KACQ,qBAAR,MAEM,GAAN,OAEI,UAAJ,WACM,KAAN,wBC/LwW,MCOpW,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCmEf,IACE8iB,WAAY,CACVmlB,kBAAJ,GACIC,gBAAJ,GACInlB,UAAJ,IAEE1qB,KANF,WAOI,MAAO,CACLgqB,MAAM,EACNulB,YAAa,EACblnB,SAAU,GACVrV,OAAQ,GACRy8B,SAAU,CAAC,aAAjB,kBACMxkB,YAAY,EACZ9lB,KAAM,EACNkqC,QAAS,GACTC,KAAM,IAGV5Z,iBAnBF,SAmBA,OACIzrB,GAAK,SAAT,qBAEE+gB,SAAU,OAAZ,OAAY,CAAZ,kBACA,iCACA,aACA,yBAHA,IAKIwkB,aAAc,WACZ,IAAN,KAaM,OAZAtyB,EAAEpc,KAAK,CAAb,4CACMoc,EAAEpc,KAAK,CAAb,gCACMoc,EAAEpc,KAAK,CAAb,yCAEU4J,KAAKF,sBACP0S,EAAEpc,KAAK,CAAf,oDACQoc,EAAEpc,KAAK,CAAf,0DACQoc,EAAEpc,KAAK,CAAf,gEAGMoc,EAAEpc,KAAK,CAAb,+EAEaoc,KAGXgO,QAAS,CACP4kB,iBAAkB,WAChBplC,KAAKugB,WAAavgB,KAAK4kC,KAAO5kC,KAAK2kC,SAErCnH,sBAAuB,SAA3B,OACM,OAAO,GAAb,IAEIjU,qBAAsB,SAA1B,GACM,MAAO,CACL,kBAAkB,EAClB,gBAAiBvpB,KAAKvF,OAA9B,EACQ,OAAQuF,KAAKvF,OAArB,EACQ,sBAAsB,IAG1BuqC,eAAgB,SAApB,GACMhlC,KAAK4kC,KAAOhI,EAAc9mC,OAC1BkK,KAAK6kC,YAAc,EACnB7kC,KAAKolC,oBAEPH,eAAgB,SAApB,GACMjlC,KAAKmrB,QAAQ/0B,KAAK,CAAxB,iDAEIqP,MAAO,WAAX,WACMzF,KAAKsf,MAAO,EACZtf,KAAKvF,KAAO,EACZuF,KAAK0gB,MAAMvmB,IAAI,EAArB,wBACA,kBACQ,EAAR,gBACQ,EAAR,uBACQ,EAAR,YAGIsvB,QAAS,SAAb,GACMzpB,KAAKvF,KAAOA,IAGhBmmB,QAjFF,WAkFI5gB,KAAKyF,SAEPsb,MAAO,CACLvhB,WAAY,SAAhB,IACuB,IAAb0hB,GACFlhB,KAAKmrB,QAAQ/0B,KAAK,CAA1B,YAGI2qB,MAAO,CACLpD,SAAU,SAAhB,GACQ3d,KAAK4kC,KAAOS,EAAOvvC,OACnBkK,KAAKolC,uBClL6U,MCOtV,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIrlC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,gCAAgC,CAACL,EAAG,MAAM,CAACK,YAAY,4CAA4C,CAACT,EAAIy/B,GAAG,GAAGr/B,EAAG,MAAM,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgB,IAAI,MAAQ,eAAe,iBAAiB,QAAQ,YAAY,eAAe,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,GAAK,aAAa,KAAO,QAAQqD,MAAM,CAACnJ,MAAOwF,EAAU,OAAE6D,SAAS,SAAUC,GAAM9D,EAAIuI,OAAOzE,GAAKE,WAAW,aAAa,IAAI,KAAK5D,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAAEN,EAAIulC,gBAAgBxvC,OAAS,EAAGqK,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,+BAA+B,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,KAAON,EAAIuf,KAAK,SAAWvf,EAAIulC,gBAAgB,OAASvlC,EAAIuI,OAAO,WAAW,GAAG,WAAW,+BAA+B,GAAGvI,EAAIsD,KAAMtD,EAAIwlC,eAAezvC,OAAS,EAAGqK,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,8BAA8B,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,KAAON,EAAIuf,KAAK,SAAWvf,EAAIwlC,eAAe,OAASxlC,EAAIuI,OAAO,WAAW,GAAG,WAAW,8BAA8B,GAAGvI,EAAIsD,MAAM,IAAI,IAC9jC,GAAkB,CAAC,WAAa,IAAItD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,uBCDhI,GAAS,WAAa,IAAI9C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,MAAM,CAACK,YAAY,iBAAiB,CAACL,EAAG,MAAM,CAACK,YAAY,OAAO,CAAET,EAAc,WAAEI,EAAG,eAAe,CAACE,MAAM,CAAC,WAAWN,EAAI4kC,QAAQ,aAAa5kC,EAAI6kC,KAAK,gBAAgB,WAAW,MAAQ,SAASlhC,MAAM,CAACnJ,MAAOwF,EAAe,YAAE6D,SAAS,SAAUC,GAAM9D,EAAI8kC,YAAYhhC,GAAKE,WAAW,iBAAiBhE,EAAIsD,MAAM,KAAKlD,EAAG,UAAU,CAACE,MAAM,CAAC,GAAKN,EAAIylC,QAAQ,KAAOzlC,EAAIuf,KAAK,eAAevf,EAAI8kC,YAAY,MAAQ9kC,EAAI4d,SAAS,OAAS5d,EAAIyf,YAAY,OAASzf,EAAIuI,OAAO,yBAAyBvI,EAAIglC,SAAS,WAAWhlC,EAAI4kC,QAAQ,sBAAsB,+BAA+B,WAAa,GAAG,aAAa,GAAG,cAAc,SAAS,iBAAiB5kC,EAAI0lC,SAASnlC,GAAG,CAAC,SAAWP,EAAIilC,eAAe,cAAcjlC,EAAI2lC,aAAanjC,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,mBAAmB4H,GAAG,SAASgd,GAAK,MAAO,CAAC1f,EAAI8C,GAAG,IAAI9C,EAAI+C,GAAG2c,EAAIrL,KAAKxL,YAAY,KAAKzI,EAAG,oBAAoB,CAACE,MAAM,CAAC,qBAAqBof,EAAIrL,KAAKoS,kBAAkB,OAAS/G,EAAIrL,KAAKrL,OAAO,aAAa0W,EAAIrL,KAAKpL,UAAU,GAAM,OAAUyW,EAAIrL,KAAa,SAAG,UAAY,eAAe,CAACvZ,IAAI,aAAa4H,GAAG,WAAW,MAAO,CAACtC,EAAG,eAAeoH,OAAM,QAAW,IAC1sC,GAAkB,GC+CtB,IACE,WAAF,CACI,kBAAJ,GACI,UAAJ,IAEE,KAAF,uBACE,MAAF,CACI,KAAJ,CAAM,KAAN,SACI,SAAJ,CAAM,KAAN,OACI,OAAJ,CAAM,KAAN,QACI,QAAJ,CAAM,KAAN,QACI,QAAJ,CAAM,KAAN,SAEE,KAbF,WAcI,MAAJ,CACM,YAAN,EACM,SAAN,mCACM,YAAN,EACM,KAAN,qBACM,YAAN,CACA,CAAQ,IAAR,aAAQ,MAAR,WAIE,SAAF,GAEE,QAAF,CACI,QAAJ,WACM,IAAN,cACM,MAAN,CACQ,gBAAR,EACQ,mBAAR,IAGI,iBAAJ,WACM,KAAN,mCAEI,eAAJ,YACM,KAAN,cACM,KAAN,cACM,KAAN,oBAEI,YAAJ,gBAAM,IAAN,OACA,GAAQ,GAAR,KAAQ,SAAR,YACM,KAAN,uCACA,iBACQ,IAAR,8BACQ,EAAR,mBAEA,wBAKE,MAAF,CACI,SAAJ,YACM,KAAN,cACM,KAAN,sBCzG6W,MCOzW,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCwBf,IACEwY,WAAY,CACV4lB,qBAAJ,IAEErwC,KAJF,WAKI,MAAO,CACLgqB,MAAM,EACNhX,OAAQ,GACRg9B,gBAAiB,GACjBC,eAAgB,KAGpBjlB,SAAU,OAAZ,OAAY,CAAZ,GACA,iCACA,gBAGEE,QAAS,CACP/a,MAAO,WAAX,WACMzF,KAAKsf,MAAO,EACZtf,KAAK0gB,MAAMvmB,IAAI,EAArB,0BACA,kBACQ,EAAR,2CACQ,EAAR,yCACQ,EAAR,WAEA,yBAKEymB,QA/BF,WAgCI5gB,KAAKyF,SAEPsb,MAAO,CACLvhB,WAAY,SAAhB,GACMQ,KAAKyF,WC9E8U,MCOrV,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI1F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACE,MAAM,CAAC,OAAS,6BAA6B,KAAO,KAAK,CAACF,EAAG,KAAK,CAACK,YAAY,sBAAsB,CAACL,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,sCAAsC1C,EAAG,IAAI,CAACK,YAAY,QAAQ,CAACT,EAAI8C,GAAG,6NAA6N1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,mGAAuG1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,gCAAgC1C,EAAG,IAAI,CAACK,YAAY,QAAQ,CAACT,EAAI8C,GAAG,uHAAuH1C,EAAG,SAAS,CAACiH,WAAW,CAAC,CAAC/N,KAAK,UAAUgO,QAAQ,gCAAgCC,UAAU,CAAC,qBAAsB,MAAS,CAACvH,EAAI8C,GAAG,qBAAqB9C,EAAI8C,GAAG,oBAAoB,KAAK1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,+BAA+B1C,EAAG,IAAI,CAACK,YAAY,QAAQ,CAACT,EAAI8C,GAAG,iDAAiD1C,EAAG,SAAS,CAACiH,WAAW,CAAC,CAAC/N,KAAK,UAAUgO,QAAQ,gCAAgCC,UAAU,CAAC,qBAAsB,MAAS,CAACvH,EAAI8C,GAAG,qBAAqB9C,EAAI8C,GAAG,WAAW1C,EAAG,SAAS,CAACE,MAAM,CAAC,GAAK,sBAAsB,CAACN,EAAI8C,GAAG,cAAc9C,EAAI8C,GAAG,8DAA8D,KAAK1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,6BAA6B1C,EAAG,IAAI,CAACK,YAAY,QAAQ,CAACT,EAAI8C,GAAG,gGAAgG1C,EAAG,SAAS,CAACiH,WAAW,CAAC,CAAC/N,KAAK,UAAUgO,QAAQ,gCAAgCC,UAAU,CAAC,qBAAsB,MAAS,CAACvH,EAAI8C,GAAG,WAAW9C,EAAI8C,GAAG,0NAA0N,KAAK1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,uBAAuB1C,EAAG,IAAI,CAACK,YAAY,QAAQ,CAACT,EAAI8C,GAAG,+DAA+D1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,yHAAyH1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,gCAAgC1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,4BAA4B1C,EAAG,OAAO,CAACK,YAAY,WAAW,CAACL,EAAG,IAAI,CAACA,EAAG,IAAI,CAACJ,EAAI8C,GAAG,iCAAiC1C,EAAG,IAAI,CAACK,YAAY,QAAQ,CAACT,EAAI8C,GAAG,0JAC1gF,GAAkB,GCwCtB,IACEvN,KADF,WAEI,MAAO,KC3CmU,MCO1U,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIyK,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,OAAS,mBAAmB,CAAe,IAAbN,EAAIurB,OAAYnrB,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,WAAW1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,6MAA6M9C,EAAIsD,KAAmB,IAAbtD,EAAIurB,OAAYnrB,EAAG,MAAM,CAACA,EAAG,sBAAsB,CAACuC,IAAI,WAAWH,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAASC,GAC9iB,IAAIY,EAAeZ,EAAIY,aACvB,MAAO,CAACnD,EAAG,SAAS,CAACG,GAAG,CAAC,OAAS,SAASsC,GAAyD,OAAjDA,EAAOW,kBAAkBX,EAAOY,iBAAwBF,EAAavD,EAAIuG,aAAa,CAACnG,EAAG,KAAK,CAACJ,EAAI8C,GAAG,sCAAsC1C,EAAG,sBAAsB,CAACE,MAAM,CAAC,IAAM,WAAW,KAAO,WAAW,MAAQ,CAACgE,UAAU,EAAMwC,MAAO,6CAA8CtE,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAAS8B,GAAmB,MAAO,CAACpE,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgB,IAAI,MAAQ,YAAY,iBAAiB,QAAQ,YAAY,iBAAiB,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,GAAK,eAAe,KAAO,WAAW,MAAQN,EAAIyE,mBAAmBD,GAAmB,aAAe,eAAe,SAAW,KAAKb,MAAM,CAACnJ,MAAOwF,EAAI4D,KAAa,SAAEC,SAAS,SAAUC,GAAM9D,EAAI+D,KAAK/D,EAAI4D,KAAM,WAAYE,IAAME,WAAW,mBAAmB5D,EAAG,0BAA0B,CAACE,MAAM,CAAC,GAAK,sBAAsB,CAACN,EAAI8C,GAAG,qIAAqI,OAAO,MAAK,KAAQ1C,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,mBAAmB,MAAQ,CAACgE,UAAU,EAAMyC,UAAU,aAAcvE,YAAYxC,EAAIyC,GAAG,CAAC,CAAC3H,IAAI,UAAU4H,GAAG,SAAS8B,GAAmB,MAAO,CAACpE,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgB,IAAI,MAAQ,oBAAoB,iBAAiB,QAAQ,YAAY,iBAAiB,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,GAAK,sBAAsB,KAAO,WAAW,MAAQN,EAAIyE,mBAAmBD,GAAmB,aAAe,eAAe,SAAW,KAAKb,MAAM,CAACnJ,MAAOwF,EAAI4D,KAAoB,gBAAEC,SAAS,SAAUC,GAAM9D,EAAI+D,KAAK/D,EAAI4D,KAAM,kBAAmBE,IAAME,WAAW,0BAA0B5D,EAAG,0BAA0B,CAACE,MAAM,CAAC,GAAK,6BAA6B,CAACN,EAAI8C,GAAG,gCAAgC,OAAO,MAAK,KAAQ1C,EAAG,MAAM,CAACK,YAAY,8BAA8B,CAACL,EAAG,WAAW,CAACK,YAAY,OAAOH,MAAM,CAAC,SAAWN,EAAI9C,UAAUE,WAAW,KAAO,SAAS,QAAU,UAAU,SAAW,MAAM,CAAC4C,EAAI8C,GAAG,eAAe,GAAG1C,EAAG,kBAAkB,CAACE,MAAM,CAAC,aAAaN,EAAI9C,cAAc,OAAO,MAAK,EAAM,eAAe,GAAG8C,EAAIsD,QAAQ,IAC/jE,GAAkB,GC8DtB,IACE0c,WAAY,CACV6lB,gBAAJ,IAEEtwC,KAJF,WAKI,MAAO,CACLqO,KAAM,CACJkiC,gBAAiB,GACjBpa,MAAO,GACPgS,OAAQ,GACRqI,SAAU,IAEZ7oC,UAAW,GACXquB,OAAQ,IAGZhL,SAAU,OAAZ,OAAY,CAAZ,kBACA,iCACA,gBAEA,iCACA,SAGEE,QAAS,CACPhc,mBAAoB,SAAxB,GACM,OAAO,GAAb,IAEIknB,WAAY,WAEV1rB,KAAK2D,KAAK8nB,MAAQzrB,KAAKP,OAAOksB,MAAMF,MACpCzrB,KAAK2D,KAAK85B,OAASz9B,KAAKP,OAAOksB,MAAM8R,OACrCz9B,KAAK4rB,aAEPtlB,SAAU,WAAd,WACMtG,KAAK/C,UAAY,IACjB+C,KAAK0gB,MAAMC,KAAK,EAAtB,oCACA,kBACQ,EAAR,sBACQ,EAAR,wBACQ,EAAR,uBACQ,EAAR,YACQ,EAAR,yDACQ,EAAR,cAAU,KAAV,UAGI0b,UAAW,WACTr8B,KAAK/C,UAAY,GACjB+C,KAAK2D,KAAO,CACVkiC,gBAAiB,GACjBpa,MAAO,GACPgS,OAAQ,GACRqI,SAAU,IAEZ,GAAN,OAEIla,UAAW,WACL5rB,KAAKR,YAAcQ,KAAKhB,IAAI09B,SAAW18B,KAAK2D,KAAK85B,OACnDz9B,KAAKsrB,OAAS,EAEdtrB,KAAKsrB,OAAS,IAIpBvK,MAAO,CACLthB,OAAQ,SAAZ,KAEMO,KAAK0rB,eAGTI,QAtEF,WAwEI9rB,KAAK0rB,eCzI8U,MCOnV,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI3rB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACE,MAAM,CAAC,OAAS,iBAAiB,KAAO,KAAK,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,aAAa1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,+IAA+I1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,6dAA6d1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,2NAA2N1C,EAAG,SAAS,CAACE,MAAM,CAAC,GAAK,gBAAgB,CAACN,EAAI8C,GAAG,iCAAiC9C,EAAI8C,GAAG,ycAAyc,KAAK1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,4BAA4B1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,wDAAwD1C,EAAG,KAAK,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,uBAAuB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,qNAAqN1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,iBAAiB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,mWAAmW1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,mBAAmB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,kIAAkI1C,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,aAAa,CAACN,EAAI8C,GAAG,aAAa9C,EAAI8C,GAAG,OAAO,GAAG1C,EAAG,IAAI,CAACK,YAAY,mBAAmB,CAACT,EAAI8C,GAAG,qEAAqE1C,EAAG,KAAK,CAACK,YAAY,aAAa,CAACL,EAAG,KAAK,CAACJ,EAAI8C,GAAG,WAAW1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,qBAAqB1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,iBAAiB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,wCAAwC1C,EAAG,KAAK,CAACK,YAAY,mBAAmB,CAACT,EAAI8C,GAAG,gBAAgB1C,EAAG,KAAK,CAACK,YAAY,aAAa,CAACL,EAAG,KAAK,CAACJ,EAAI8C,GAAG,aAAa1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,iBAAiB1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,sBAAsB1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,qBAAqB1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,kBAAkB1C,EAAG,KAAK,CAACK,YAAY,mBAAmB,CAACT,EAAI8C,GAAG,gBAAgB1C,EAAG,KAAK,CAACK,YAAY,aAAa,CAACL,EAAG,KAAK,CAACJ,EAAI8C,GAAG,mBAAmB1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,eAAe1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,oBAAoB1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,wBAAwB1C,EAAG,KAAK,CAACK,YAAY,kBAAkBH,MAAM,CAAC,GAAK,YAAY,CAACN,EAAI8C,GAAG,YAAY1C,EAAG,KAAK,CAACK,YAAY,aAAa,CAACL,EAAG,KAAK,CAACJ,EAAI8C,GAAG,0BAA0B1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,0BAA0B1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,kBAAkB1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,WAAW1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,oBAAoB1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,2BAA2B1C,EAAG,KAAK,CAACK,YAAY,qBAAqB,CAACL,EAAG,KAAK,CAACJ,EAAI8C,GAAG,aAAa1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,sJAAsJ1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,8dAA+d1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,2EAA2E1C,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,mCAAmC,CAACN,EAAI8C,GAAG,oCAAoC9C,EAAI8C,GAAG,OAAO,GAAG1C,EAAG,KAAK,CAACK,YAAY,mBAAmB,CAACT,EAAI8C,GAAG,SAAS1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,uIAAuI1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,uKAAuK1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,8DAA8D1C,EAAG,IAAI,CAACE,MAAM,CAAC,KAAO,sCAAsC,OAAS,SAAS,IAAM,aAAa,CAACN,EAAI8C,GAAG,kBAAkB9C,EAAI8C,GAAG,0GAA0G1C,EAAG,IAAI,CAACE,MAAM,CAAC,KAAO,oCAAoC,OAAS,SAAS,IAAM,aAAa,CAACN,EAAI8C,GAAG,uBAAuB9C,EAAI8C,GAAG,WAAW1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,2CAA2C1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,kpBAAkpB1C,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,6CAA6C,CAACN,EAAI8C,GAAG,8CAA8C9C,EAAI8C,GAAG,OAAO,KAAK1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,iDAAiD1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,2DAA2D1C,EAAG,KAAK,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,uBAAuB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,qVAAqV1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,iBAAiB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,kYAAkY1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,mBAAmB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,kdAAkd1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,mDAAmD1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,qIAAqI1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,sLAAsL1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,skBAAskB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,uVAAuV1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,kLAAkL1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,4CAA4C1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,6CAA6C1C,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,2BAA2B,CAACN,EAAI8C,GAAG,oDAAoD9C,EAAI8C,GAAG,sDAAsD,GAAG1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,sIAAsI1C,EAAG,KAAK,CAACK,YAAY,aAAa,CAACL,EAAG,KAAK,CAACJ,EAAI8C,GAAG,+EAA+E1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,sFAAsF1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,+DAA+D1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,6HAA6H1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,wIAAwI1C,EAAG,KAAK,CAACJ,EAAI8C,GAAG,6GAA6G1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,gQAAgQ1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,4WAA4W1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,0JAA0J1C,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,gFAAgF,CAACN,EAAI8C,GAAG,iFAAiF9C,EAAI8C,GAAG,sBAAsB1C,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,0CAA0C,CAACN,EAAI8C,GAAG,2CAA2C9C,EAAI8C,GAAG,ukBAAukB,KAAK1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,oCAAoC1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,utBAAutB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,goBAAgoB1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,0BAA0B1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,4XAA4X1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,kBAAkB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,iGAAiG1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,gBAAgB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,kEAAkE1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,sDAAsD1C,EAAG,MAAMJ,EAAI8C,GAAG,yBAAyB1C,EAAG,MAAMJ,EAAI8C,GAAG,kBAAkB1C,EAAG,MAAMJ,EAAI8C,GAAG,sBAAsB1C,EAAG,MAAMJ,EAAI8C,GAAG,YAAY1C,EAAG,QAAQA,EAAG,IAAI,CAACJ,EAAI8C,GAAG,sLAC/td,GAAkB,GCmQtB,IACEvN,KADF,WAEI,MAAO,KCtQsU,MCO7U,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIyK,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,gCAAgC,CAACL,EAAG,KAAK,CAACJ,EAAI8C,GAAG,2BAA2B1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,kWAAkW1C,EAAG,MAAM,CAACK,YAAY,8BAA8B,CAAET,EAAI9C,UAAoB,WAAEkD,EAAG,WAAW,CAACE,MAAM,CAAC,SAAWL,KAAK+lC,cAAc,KAAO,SAAS,QAAU,oBAAoB,SAAW,MAAMzlC,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAO7C,EAAIimC,YAAY,CAACjmC,EAAI8C,GAAG,IAAI9C,EAAI+C,GAAG/C,EAAIkmC,UAAU,OAAOlmC,EAAIsD,KAAKlD,EAAG,WAAW,CAACK,YAAY,OAAOH,MAAM,CAAC,SAAWN,EAAI9C,UAAUE,WAAW,KAAO,SAAS,QAAU,UAAU,SAAW,MAAMmD,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAO7C,EAAIuG,cAAc,CAACvG,EAAI8C,GAAG,eAAe,GAAG1C,EAAG,kBAAkB,CAACE,MAAM,CAAC,aAAaN,EAAI9C,aAAc8C,EAAI9C,UAAoB,WAAEkD,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAImmC,cAAc,IAAMnmC,EAAIomC,YAAY,SAAW,MAAMpmC,EAAIsD,MAAM,IACluC,GAAkB,G,aCiCtB,IACE0c,WAAY,CACV6lB,gBAAJ,IAEEtwC,KAJF,WAKI,MAAO,CACLywC,eAAe,EACfpoB,SAAU,GACV1gB,UAAW,GACXkpC,YAAa,IACbD,cAAe,IAGnBlb,iBAbF,SAaA,OACIzrB,GAAK,SAAT,qBAEE+gB,SAAU,OAAZ,OAAY,CAAZ,kBACA,iCACA,aACA,yBAHA,IAKI2lB,SAAU,WACR,OAAOjmC,KAAK+lC,cAAgB,eAAiB,UAGjDvlB,QAAS,CACPwlB,OAAQ,WACNhmC,KAAK+lC,eAAgB,GAEvBz/B,SAAU,WAAd,+JACA,sBACA,qBACA,mBAHA,SAKA,sDACA,KADA,0DACA,mHACA,kBACA,kCAFA,qJAKA,EALA,EAMA,mBAGA,gBATA,uBAUA,aACA,iBACA,kDAZA,kDAkBA,sEACA,KADA,0DACA,8GACA,kBACA,oBAFA,SAGA,kCAHA,cAGA,EAHA,OAIA,kBAJA,SAMA,4DACA,kBACA,qBAEA,mBACA,2BAXA,2CADA,uDAcA,mBACA,aACA,iBACA,8GAnCA,UAwCA,4BAxCA,0HAKA,YALA,4mBA6CA,0BA7CA,4EADA,uDA+CA,mBACA,2BArDA,qGAAc,KC/DyV,MCOnW,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIvG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACE,MAAM,CAAC,OAAS,eAAe,KAAO,KAAK,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,aAAa1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,klCAAklC1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,wCAAwC1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,qQAAqQ1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,kBAAkB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,2kBAA2kB1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,yCAAyC1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,0tBAA0tB1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,uBAAuB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,wjBAAwjB1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,qCAAqC1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,+nBAA+nB1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,eAAe1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,yoBAAyoB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,6yBAA6yB1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,wBAAwB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,+dAA+d1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,mBAAmB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,+UAA+U1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,4CAA4C1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,+rBAA+rB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,6eAA6e1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,sDAAsD1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,wjCAAwjC1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,4DAA4D1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,krCAAkrC1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,iBAAiB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,+rBAA+rB1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,mCAAmC1C,EAAG,KAAK,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,KAAK,CAACA,EAAG,IAAI,CAACJ,EAAI8C,GAAG,k9BAAo9B1C,EAAG,KAAK,CAACA,EAAG,IAAI,CAACJ,EAAI8C,GAAG,y3BAAy3B1C,EAAG,KAAK,CAACA,EAAG,IAAI,CAACJ,EAAI8C,GAAG,gUAAgU1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,gBAAgB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,sfAAsf1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,aAAa1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,8FAA8F1C,EAAG,SAAS,CAACE,MAAM,CAAC,GAAK,kBAAkB,CAACN,EAAI8C,GAAG,mCAAmC9C,EAAI8C,GAAG,4EAA4E,KAAK1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,mBAAmB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,ifAAif1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,cAAc1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,6LAA6L1C,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAI8C,GAAG,mBAAmB1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,44BAA44B1C,EAAG,IAAI,CAACJ,EAAI8C,GAAG,yCAC7lgB,GAAkB,GCqOtB,IACEvN,KADF,WAEI,MAAO,KCxOoU,MCO3U,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIyK,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAASF,EAAI2I,UAAoc3I,EAAIsD,KAA7blD,EAAG,MAAM,CAACiH,WAAW,CAAC,CAAC/N,KAAK,aAAagO,QAAQ,oBAAoB9M,MAAOwF,EAAgB,aAAEgE,WAAW,eAAeuD,UAAU,CAAC,MAAO,KAAQ5E,IAAI,kBAAkBlC,YAAY,YAAYH,MAAM,CAAC,GAAK,wBAAwB,CAAEN,EAAiB,cAAEI,EAAG,eAAe,CAACtF,IAAIkF,EAAIqmC,QAAQ/lC,MAAM,CAAC,gBAAgBN,EAAIqZ,gBAAgBrZ,EAAIsD,KAAOtD,EAAIsmC,cAAsFtmC,EAAIsD,KAA3ElD,EAAG,QAAQ,CAACtF,IAAIkF,EAAIqmC,QAAQ/lC,MAAM,CAAC,gBAAgBN,EAAIqZ,iBAA0B,IACniB,GAAkB,GCDlB,GAAS,WAAa,IAAIrZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC6D,MAAMjE,EAAIumC,kBAAkB7lC,MAAOV,EAAIwmC,aAAc,CAACxmC,EAAIiG,GAAIjG,EAAgB,cAAE,SAASymC,GAAM,OAAOrmC,EAAG,MAAM,CAACtF,IAAIkF,EAAI0mC,gBAAgBD,EAAKE,SAAUF,EAAKG,aAAalmC,MAAOV,EAAI6mC,UAAUJ,EAAKE,SAAUF,EAAKG,cAAe,CAAEH,EAAiB,aAAErmC,EAAG,eAAe,CAACE,MAAM,CAAC,gBAAgBmmC,EAAKK,aAAa,mBAAkB,KAAS9mC,EAAIsD,MAAM,MAAKlD,EAAG,MAAM,CAACM,MAAOV,EAAI+mC,qBAAsB,CAAC/mC,EAAIiG,GAAIjG,EAAe,aAAE,SAAS8mC,EAAaE,GAAc,MAAO,CAAC5mC,EAAG,eAAe,CAACtF,IAAIksC,EAAa1mC,MAAM,CAAC,gBAAgBwmC,EAAa,mBAAkB,UAAY,IAAI,IAC7pB,GAAkB,GCDlB,GAAS,WAAa,IAAI9mC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC6D,MAAMjE,EAAIinC,sBAAsB,CAAC7mC,EAAG,MAAM,CAAC6D,MAAMjE,EAAIknC,kBAAkBlnC,EAAI8mC,gBAAgB1mC,EAAG,MAAM,CAACK,YAAY,uBAAuB,CAAET,EAAI8mC,aAAuB,WAAE1mC,EAAG,QAAQ,CAACtF,IAAIkF,EAAI8mC,aAAa30B,WAAWtW,GAAGyE,MAAM,CAAC,gBAAgBN,EAAI8mC,aAAa30B,WAAWtW,GAAG,cAAcmE,EAAImnC,WAAWnnC,EAAI8mC,iBAAiB9mC,EAAIsD,MAAM,GAAGlD,EAAG,MAAM,CAAC6D,MAAMjE,EAAIonC,mBAAmBpnC,EAAI8mC,mBAC5d,GAAkB,GCDlB,GAAS,WAAa,IAAI9mC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC6D,MAAMjE,EAAIqnC,uBAAuB,CAACjnC,EAAG,MAAM,CAAC6D,MAAMjE,EAAIsnC,cAAc,CAAClnC,EAAG,aAAa,CAAC6D,MAAMjE,EAAIunC,iBAAgB,GAAOjnC,MAAM,CAAC,gBAAgBN,EAAIqZ,gBAAiBrZ,EAAIwnC,WAAaxnC,EAAIynC,UAAUznC,EAAI0nC,OAAO,IAAKtnC,EAAG,aAAa,CAAC6D,MAAMjE,EAAIunC,iBAAgB,GAAMjnC,MAAM,CAAC,gBAAgBN,EAAI0nC,OAAO,GAAGj9B,OAAO5O,MAAMmE,EAAIsD,MAAM,GAAGtD,EAAIiG,GAAIjG,EAAU,QAAE,SAASwK,EAAMm9B,GAAG,OAAOvnC,EAAG,WAAW,CAACtF,IAAI0P,EAAM3O,IAAI,CAAEmE,EAAIynC,UAAUj9B,GAAQpK,EAAG,MAAM,CAACtF,IAAI0P,EAAMo9B,SAASnnC,YAAY,0BAA0B,CAACL,EAAG,QAAQ,CAAM,IAAJunC,EAAOvnC,EAAG,KAAK,CAACJ,EAAIiG,GAAIjG,EAAI6nC,YAAYF,IAAI,SAAS3sC,GAAG,OAAOoF,EAAG,KAAK,CAACtF,IAAIE,EAAEyF,YAAY,2BAA0BL,EAAG,KAAK,CAACK,YAAY,qBAAqB,CAAET,EAAIynC,UAAUj9B,GAAQpK,EAAG,aAAa,CAACK,YAAY,qCAAqCH,MAAM,CAAC,gBAAgBkK,EAAMC,OAAO5O,MAAMmE,EAAIsD,MAAM,IAAI,GAAGtD,EAAIsD,KAAKlD,EAAG,KAAK,CAACJ,EAAIiG,GAAIjG,EAAI6nC,YAAYF,IAAI,SAAS3sC,GAAG,OAAOoF,EAAG,KAAK,CAACtF,IAAIE,EAAEyF,YAAY,2BAA0BL,EAAG,KAAK,CAACK,YAAY,uBAAuBqI,SAAS,CAAC,UAAY9I,EAAI+C,GAAG/C,EAAI8nC,aAAat9B,KAASjK,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAO7C,EAAI4Z,mBAAmBpP,EAAM3O,SAAS,OAAOmE,EAAIsD,KAAMtD,EAAI+nC,cAAcv9B,GAAQpK,EAAG,QAAQ,CAACK,YAAY,uBAAuBT,EAAIiG,GAAIuE,EAAU,MAAE,SAASsS,EAAIC,GAAG,OAAO3c,EAAG,WAAW,CAACtF,IAAIgiB,EAAIjhB,IAAI,CAACuE,EAAG,KAAK,CAACJ,EAAIiG,GAAIjG,EAAI6nC,YAAYF,IAAI,SAAS3sC,GAAG,OAAOoF,EAAG,KAAK,CAACtF,IAAIE,EAAEyF,YAAY,wBAAuBL,EAAG,KAAK,CAACK,YAAY,kBAAkBL,EAAG,KAAK,CAACE,MAAM,CAAC,QAAU,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,gBAAgBwc,EAAIjhB,GAAG,WAAamE,EAAIgoC,oBAAoB,cAAchoC,EAAImnC,eAAe,IAAI,GAAG/mC,EAAG,KAAK,CAACJ,EAAIiG,GAAIjG,EAAI6nC,YAAYF,IAAI,SAAS3sC,GAAG,OAAOoF,EAAG,KAAK,CAACtF,IAAIE,EAAEyF,YAAY,wBAAuBL,EAAG,KAAK,CAAC6D,MAAM,CAAE,iBAAkBjE,EAAIgd,YAAYxS,EAAOuS,OAAQ,QAAO,GAAG/c,EAAIsD,WAAU,IAC/zD,GAAkB,GCDlB,GAAS,WAAa,IAAItD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,uBAAuBF,GAAG,CAAC,MAAQP,EAAIggC,gBAAgB,CAAC5/B,EAAG,kBAAkB,CAACE,MAAM,CAAC,gBAAgBN,EAAIqZ,aAAa,cAAa,KAAQjZ,EAAG,qBAAqB,CAACE,MAAM,CAAC,gBAAgBN,EAAIqZ,aAAa,cAAa,MAAS,IACpV,GAAkB,GCUtB,IACE,KAAF,aACE,WAAF,CACI,eAAJ,GACI,kBAAJ,IAEE,MAAF,CACI,aAAJ,CAAM,KAAN,OAAM,UAAN,IAEE,KATF,WAUI,MAAJ,IAGE,QAAF,CACI,cAAJ,YACM,KAAN,2CAAQ,kBAAR,kBAAQ,oBAAR,eACM,KAAN,8BC3BmW,MCO/V,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCdR,SAAS4uB,GAAWz9B,EAAMsE,GAC/B,IAAMo5B,EAAgB1tB,GAA0ChQ,EAAO,SAAS,QAC1E29B,EAAe3tB,GAA0ChQ,EAAO,SAAS,OAEzE49B,EAAQr0B,GAAwBxB,KAAEnY,IAAI8tC,EAAe,aAAcp5B,GACnEmrB,EAAMlmB,GAAwBxB,KAAEnY,IAAI+tC,EAAc,aAAcr5B,GAEtE,OAAIs5B,GAASnO,EACJ,GAAP,OAAUmO,EAAV,cAAqBnO,EAArB,KAEOmO,GAASnO,GAAO,SCwC3B,QACE,KAAF,QACE,WAAF,CACI,WAAJ,IAEE,MAAF,CACI,aAAJ,CAAM,KAAN,OAAM,UAAN,GACI,WAAJ,CAAM,KAAN,OAAM,QAAN,GACI,WAAJ,CAAM,KAAN,QAAM,SAAN,IAEE,KAVF,WAWI,MAAJ,IAGE,SAAF,gDACA,yBACA,gBAEA,4BACA,WACA,2BACA,iBACA,oBARA,IAUI,sBAAJ,WACM,MAAN,CACQ,mBAAR,EACQ,yBAAR,kBAGI,aAAJ,WACM,MAAN,CACQ,IAAR,gBACQ,eAAR,EACQ,qBAAR,kBAGI,kBAAJ,WACM,OAAN,iCAEI,UAAJ,WACM,OAAN,wBAEI,WAAJ,WACM,OAAN,uCAEI,oBAAJ,WACM,OAAN,mBAEI,OAAJ,WACM,OAAN,gDAGE,QAAF,CACI,gBAAJ,YACM,MAAN,CACQ,SAAR,gBACQ,aAAR,EACQ,aAAR,EACQ,mBAAR,6CAGI,mBAAJ,WACM,IADN,EACA,uDAAQ,OAAR,WADA,iBAOA,GAPM,IAOE,IAAK,EAAb,oCACA,wCACUzvB,EAAMo9B,SAAW,GAA3B,wCACUp9B,EAAM69B,cAAgB79B,EAAMo9B,YAAc3nC,KAAKqoC,eAAe99B,EAAM3O,KAAO2O,EAAMo9B,UAE7Ep9B,EAAM69B,eACRpoC,KAAK7B,OAAOC,SAAS,gCAAjC,IAbA,8BAiBM,OAAN,GAEI,UAAJ,YACM,QAAN,UAEI,YAAJ,cACM,OAAN,mBAEI,mBAAJ,YACM,KAAN,2CAAQ,kBAAR,EAAQ,oBAAR,UACM,KAAN,4BAEI,cAAJ,YACM,OAAN,gHAEI,YAAJ,YACM,OAAN,wBAEI,aAAJ,YACM,OAAN,uBCxJ8V,MCO1V,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCAf,IACE,KAAF,eACE,WAAF,CACI,MAAJ,IAEE,MAAF,CACI,aAAJ,CAAM,KAAN,OAAM,UAAN,GACI,cAAJ,CAAM,KAAN,QAAM,UAAN,IAEE,KATF,WAUI,MAAJ,IAGE,SAAF,iCACA,4BACA,2BACA,gBACA,oBAJA,IAMI,qBAAJ,WACM,MAAN,CACQ,oBAAR,MAIE,QAAF,CACI,kBAAJ,YACM,MAAN,CACQ,SAAR,kBACQ,QAAR,4BAGI,mBAAJ,YACM,MAAN,CACQ,kBAAR,EACQ,UAAR,mBACQ,QAAR,aAGI,WAAJ,YACM,QAAN,6CC1DqW,MCOjW,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBMkqC,I,mFACJ,G,kCACF,M,yCACM,G,iCACR,G,iCACA,G,wCACO,KCNCC,I,yFACV,WACP,OAA+B,IAA3B,EAAKC,WAAW1yC,OACX2yC,OAAOC,iBAEPxpC,KAAKgD,IAAL,MAAAhD,KAAI,gBAAQ,EAAKspC,WAAW/sC,KAAI,SAAAsiB,GAAC,OAAIA,EAAE4qB,iB,kCAGrC,I,yCACM,WACjB,GAA+B,IAA3B,EAAKH,WAAW1yC,OAClB,OAAO2yC,OAAOC,iBAGd,IAAME,EAAgB,EAAKJ,WAAW,EAAKA,WAAW1yC,OAAS,GACzD+yC,EAAsBD,EAAcD,SACpCG,EAAuBF,EAAcG,eAAiBH,EAAcG,eAAeJ,SAAWF,OAAOC,iBAE3G,OAAOxpC,KAAKgD,IAAI2mC,EAAqBC,GAAwB,OChB9CE,GAUnB,WAAYp1B,EAAYq1B,GAAiB,0EATvB,MASuB,6CARjB,GAQiB,+BAP/B,IAO+B,wCANtB,IAMsB,gCAL7B,IAK6B,gCAJ9B,GAI8B,+BAHhC,WAAQ,OAAO,EAAKC,SAAW,EAAKC,SAASrzC,OAAS,KAGtB,wCAFvB,WAAQ,OAAOoJ,KAAKgD,IAAL,MAAAhD,KAAI,CAAK,EAAKypC,UAAV,uBAAuB,EAAKS,iBAAiB3tC,KAAI,SAAAsiB,GAAC,OAAIA,EAAE4qB,kBAG3F3oC,KAAKipC,gBAAkBA,EAGlBA,EAAgBI,cACnBrpC,KAAKkK,QAAUo/B,GAAuB11B,EAAYq1B,GAE9CA,EAAgB5H,eAAiB4H,EAAgB5H,cAAcvrC,OAAS,IAE1EkK,KAAKmpC,SAAWG,GAA+B11B,EAAYq1B,KAKlC,IAAzBjpC,KAAKmpC,SAASrzC,SAChBkK,KAAKmpC,SAAW,CAACF,KCtBFM,G,WAYnB,WAAY31B,EAAYwF,GAAiC,IAAnBowB,EAAmB,uDAAF,EAAE,4DAX1C,IAW0C,uCAVvCf,OAAOgB,kBAUgC,mCAT3C,IAS2C,sCARxC,GAQwC,kCAP5C,GAO4C,8BANhD,GAMgD,8BALhD,GAKgD,mCAJ3C,IAI2C,sCAHxC,IAGwC,8CAFhC,GAGvBzpC,KAAK4T,WAAaA,EAClB5T,KAAKoZ,aAAeA,EACpBpZ,KAAKwpC,eAAiBA,EACtBxpC,KAAKkS,WAAa8L,GAA8Bhe,KAAK4T,WAAY5T,KAAKoZ,cACtEpZ,KAAK0pC,wB,yDAMP,WAAqB,WACbC,EAAgB,GAChBC,EAAe,GACrB5pC,KAAK6pC,YAAY3G,UAEjBljC,KAAK6pC,YAAYt3B,SAAQ,SAACu3B,EAAW5jC,GACnC,IAAM0+B,EAAO,GAEbkF,EAAWtB,WAAWj2B,SAAQ,SAACw3B,GAK7B,IAJA,IAAMC,EAAQD,EAAUb,SAClBe,EAAOF,EAAUpB,SACjBuB,EAAoB,EAAKC,uBAAuBL,EAAYC,GAEzDhvC,EAAIivC,EAAOjvC,GAAKkvC,EAAMlvC,IAAK,CAClC,IAAMqvC,EAAQ,IAAI9B,GAClB8B,EAAMC,aAAeP,EAAWO,aAChCD,EAAMl4B,WAAa63B,EAAUZ,SAASpuC,EAAIgvC,EAAUb,UACpDkB,EAAME,SAAwC,IAA7BP,EAAU7/B,QAAQpU,OACnCs0C,EAAMG,SAAWT,EAAWO,aAAe,GAAKD,EAAMl4B,WAAWtW,KAAOmuC,EAAUd,gBAAgBrtC,GAClGwuC,EAAMI,gBAAkBzvC,EAAIkvC,EAGqB,GAA7CC,EAAkBd,iBAAiBtzC,SACjCo0C,EAAkBO,uBACpBL,EAAMM,iBAAmB3vC,GAAKgvC,EAAUb,SAAWa,EAAUY,sBACpDT,EAAkBU,0BAC3BR,EAAMM,iBAAmB3vC,EAAIgvC,EAAUb,SAAWa,EAAUY,wBAMrC,IAAvBP,EAAMC,cACJtvC,EAAI,EAAK8vC,kBACX,EAAKA,gBAAkB9vC,GAEzB6uC,EAAaxzC,KAAKg0C,IAGlBxF,EAAK7pC,GAAKqvC,EAKd,GAAiD,GAA7CF,EAAkBd,iBAAiBtzC,QAAeo0C,EAAkBO,uBACtE,IAAK,IAAI70C,EAAIs0C,EAAkBd,iBAAiB,GAAGT,SAAW,EAAG/yC,GAAKs0C,EAAkBd,iBAAiB,GAAGF,SAAW,EAAItzC,IAAK,CAC9H,IAAMk1C,EAAQ,IAAIxC,GAClBwC,EAAMT,aAAeP,EAAWO,aAChCS,EAAMJ,kBAAmB,EACzB9F,EAAKhvC,GAAKk1C,MAKhBnB,EAAcvzC,KAAKwuC,MAGrB,IAAMmG,EAAU/qC,KAAKgrC,OAAOrB,GAC5B3pC,KAAKirC,aAAejrC,KAAKkrC,QAAQH,GACjC/qC,KAAKmrC,YAAcvB,I,4BAKrB,SAAeX,EAAiBoB,EAActB,EAAgBqC,GAAe,WAE3E,GAAInC,EAAgBrtC,MAAMoE,KAAKqrC,eAAgB,CAC7CpC,EAAgBI,aAAc,EAC9B,IAAMiC,EAActrC,KAAKqrC,eAAepC,EAAgBrtC,IACxDoE,KAAKqrC,eAAepC,EAAgBrtC,IAAsB,IAAhB0vC,IAAsBtrC,KAAKurC,uBAAyBD,OAE9FtrC,KAAKqrC,eAAepC,EAAgBrtC,IAAM,EAC1CqtC,EAAgBI,aAAc,EAGhC,IAAMU,EAAY,IAAIf,GAAUhpC,KAAK4T,WAAYq1B,GAC3CuC,EAAmBxrC,KAAKyrC,gBAAgB1B,EAAWM,GAGrDtB,IACFgB,EAAUhB,eAAiBA,EAC3BA,EAAeK,iBAAiBhzC,KAAK2zC,IAIvCA,EAAUY,sBAAwBZ,EAAUZ,SAASvuB,WAAU,SAAC1I,GAAD,OAAgBA,EAAWtW,KAAOqtC,EAAgBrtC,MAG7F,GAAhByuC,EAEFN,EAAUb,SAAW,EACZkC,EAETprC,KAAK0rC,oBAAoB3B,EAAWyB,GAGpCxrC,KAAK2rC,qBAAqB5B,GAIxBM,EAAerqC,KAAKwpC,gBACtBO,EAAU7/B,QAAQqI,SAAQ,SAAC+uB,EAAQp7B,GACjC,EAAK0lC,eAAetK,EAAQ+I,EAAe,EAAGN,EAAqB,IAAV7jC,GAE3C,IAAVA,GAEF,EAAK2lC,uBAAuB9B,Q,oCAMpC,SAAuBD,EAAYC,GACjC,IAAMG,EAAoB,CACxB4B,yBAAyB,EACzBC,0BAA0B,EAC1BtB,wBAAwB,EACxBG,yBAAyB,EACzBxB,iBAAkB,IAGpB,GAAIU,EAAWO,aAAe,EAAG,CAC/B,IAAMjB,EAAmBW,EAAUhB,eAAeK,iBAClDc,EAAkBd,iBAAmBA,EAEjCA,EAAiBtzC,OAAS,IAC5Bo0C,EAAkB4B,yBAA0B,EAC5C5B,EAAkBO,uBAAyBrB,EAAiB,KAAOW,GAGtC,GAA3BX,EAAiBtzC,SACnBo0C,EAAkB6B,0BAA2B,EAC7C7B,EAAkBU,wBAA0BxB,EAAiB,KAAOW,GAIxE,OAAOG,I,qBAGT,SAAQ8B,GAAa,WACbC,EAAgB,GAClBlxC,GAAK,EACLmxC,EAAQ,EAoBZ,OAfAF,EAAYz5B,SAAQ,SAACkN,EAAKinB,GACxBjnB,EAAIjkB,MAAM,EAAEikB,EAAI3pB,OAAO,GAAGyc,SAAQ,SAACs0B,EAAcF,GAC/CsF,IAAgBlxC,GAAK,CACjB8rC,aAAcA,EACdsF,eAActF,EACdH,WACAC,eAGAA,EAAc,EAAKyF,YAAW,EAAKA,UAAYzF,GAC/CE,GAAcqF,UAItB9wC,QAAQ4C,IAAR,wCAA6CkuC,IACtCD,I,mCAGT,WACEjsC,KAAK4rC,eAAe5rC,KAAKkS,WAAY,EAAG,MACxClS,KAAKqsC,YACLrsC,KAAKssC,sB,oCAGP,SAAuBvC,GAIrB,IAAMwC,EAAkBxC,EAAUX,iBAAiB,GACnDW,EAAUb,SAAWqD,EAAgBrD,SAAWqD,EAAgB5B,wB,iCAGlE,SAAoBZ,EAAWyB,GAG7B,IAAMgB,EAAsBzC,EAAUhB,eAAeG,SACrDa,EAAUb,SAAWhqC,KAAKgD,IAAIsqC,EAAsBzC,EAAUY,sBAAuBa,GAGjFzB,EAAUb,SAAWlpC,KAAKysC,SAC5BzsC,KAAKysC,OAAS1C,EAAUb,Y,kCAG5B,SAAqBa,GAGnB,IAAMhB,EAAiBgB,EAAUhB,eACjCgB,EAAUb,SAAWH,EAAeK,iBAAiB,GAAGsD,kBAAoB,EAI5E,IAAMC,EAAU5D,EAAeJ,SAAWoB,EAAUY,sBAEhDZ,EAAUb,SAAWyD,IACvB5C,EAAUb,SAAWyD,K,oBAGzB,SAAOC,GAKL,IAFA,IAAMZ,EAAc,GAEXnyC,EAAI,EAAGA,EAAI+yC,EAAK92C,OAAQ+D,IAC/B,IAAK,IAAIO,EAAI,EAAGA,GAAK4F,KAAK6sC,OAAQzyC,IACxB,IAAJP,IACFmyC,EAAY5xC,GAAK,IAGnB4xC,EAAY5xC,GAAGP,GAAK+yC,EAAK/yC,GAAGO,GAIhC,OAAO4xC,I,6BAGT,SAAgBjC,EAAWM,GACpBrqC,KAAK6pC,YAAYQ,KACpBrqC,KAAK6pC,YAAYQ,GAAgB,IAAI9B,IAGvC,IAAMuB,EAAa9pC,KAAK6pC,YAAYQ,GAC9BmB,EAAmB1B,EAAW0B,mBAIpC,OAHA1B,EAAWO,aAAeA,EAC1BP,EAAWtB,WAAWpyC,KAAK2zC,GAEpByB,I,uBAGT,WAEE,GAAIxrC,KAAKysC,OAAS,EAAG,CACnB,IAAMl2C,EAAQ,EAAIyJ,KAAKysC,OACvBzsC,KAAKysC,OAAS,EAFK,uBAIMzsC,KAAK6pC,aAJX,IAInB,2BAA2C,OAAhCC,EAAgC,yBACjBA,EAAWtB,YADM,IACzC,2BAA+C,KAApCuB,EAAoC,QAC7CA,EAAUb,UAAY3yC,GAFiB,gCAJxB,+BAWrByJ,KAAK6sC,OAAS3tC,KAAKgD,IAAL,MAAAhD,KAAI,CAAK,GAAL,uBAAWc,KAAK6pC,YAAYpuC,KAAI,SAAAsiB,GAAC,OAAIA,EAAE4qB,mB,KC/P7D,IACE,KAAF,eACE,WAAF,CACI,aAAJ,IAEE,MAAF,CACI,aAAJ,CAAM,KAAN,OAAM,UAAN,IAEE,KARF,WASI,MAAJ,IAGE,SAAF,gDACA,yBACA,gBAEA,4BACA,4BALA,IAOI,aAAJ,WACM,OAAN,kDAEI,gBAAJ,WACM,IAAN,wEACM,OAAN,kBAEI,kBAAJ,WACM,MAAN,CACQ,iBAAR,IAGI,YAAJ,WACM,OAAN,mDAGE,QAAF,CACI,gBAAJ,cACM,MAAN,4BAEI,UAAJ,cACM,MAAN,CACQ,YAAR,mCAGI,kBAAJ,WACM,IAAN,uBAIM,MAAN,CACQ,WAAR,4DACQ,cAAR,gBAGI,UAAJ,WAQM,MAAN,MCnFqW,MCOjW,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,gCChBTmE,GAAW,CAAC,MAAM,UAAU,aAAa,iBAExC,SAASC,KACd,IAAMC,EAAUC,KAAOC,MAAM5xC,OAAO+5B,UAAU8X,WACxCC,EAAKJ,EAAQI,GAAG/zC,KACtB,QAAO2zC,IAAWF,GAAShvB,MAAK,SAAArmB,GAAC,OAAI21C,IAAO31C,KCa9C,QACE,WAAF,CACI,aAAJ,GACI,MAAJ,IAEE,KALF,WAMI,MAAJ,IAGE,iBATF,SASA,OACI,GAAJ,YACM,EAAN,WAGE,kBAdF,SAcA,OACI,KAAJ,OACI,KAEF,SAAF,+DACA,iCACA,gBAEA,yBACA,aACA,WACA,aACA,WACA,eAEA,4BACA,yBACA,2BACA,gBACA,iBACA,6BAhBA,IAkBI,aAAJ,WACM,IAAN,OAEM,OAAN,GAEI,aAAJ,WACM,OAAN,iCAEI,QAAJ,WACM,MAAN,yEAGE,QAAF,CACI,IAAJ,YACA,iBACQ,GAAR,eACQ,GAAR,qBACQ,GAAR,+BAIE,QAzDF,WA0DI,KAAJ,oDAEE,QA5DF,WA6DI,IAAJ,OAGA,2BACA,4BACQ,EAAR,gCAEQ,aAAR,GACQ,EAAR,oBAEA,KAEE,MAAF,CACI,WAAJ,aACA,2BACQ,KAAR,cAAU,KAAV,OAGI,UAAJ,WACM,KAAN,oBCpG8U,MCO1U,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCIf41C,aAAIC,IAAIC,SAER,IAAMC,GAAS,IAAID,QAAO,CACxB9yC,KAAM,UACN8gB,KAAMze,IACN2wC,OAAQ,CACN,CACEn6B,KAAM,OACNo6B,YAAa,SAAC3K,EAAIxb,EAAMhoB,GACtB,IAAM8W,EAAOne,SAASC,cAAc,KACpCke,EAAKoO,SAAL,wBACApO,EAAKqO,KAAO,i5BACZrO,EAAKsO,QAAQC,YAAc,CAAC,YAAavO,EAAKoO,SAAUpO,EAAKqO,MAAMrV,KAAK,KAExEnX,SAAS2sB,KAAKnrB,YAAY2c,GAC1BA,EAAKyO,QACL5sB,SAAS2sB,KAAKE,YAAY1O,GAC1B9W,GAAK,KAGT,CACE+T,KAAM,uBACNja,KAAM,sBACN4J,UAAW0qC,GACXxK,KAAM,CACJl5B,MAAO,0BAGX,CACEqJ,KAAM,uBACNja,KAAM,uBACN4J,UAAW2qC,GACXzK,KAAM,CACJl5B,MAAO,qBAGX,CACEqJ,KAAM,oBACNja,KAAM,mBACN4J,UAAW4qC,GACX1K,KAAM,CACJl5B,MAAO,uBAGX,CACEqJ,KAAM,IACNja,KAAM,OACN4J,UAAW6qC,GACX3K,KAAM,CACJl5B,MAAO,OACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,yKAKjB,CACEz6B,KAAM,yBACNja,KAAM,mBACN4J,UAAW+qC,GACX7K,KAAM,CACJl5B,MAAO,mBACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,oCAKjB,CACEz6B,KAAM,4BACNja,KAAM,qBACN4J,UAAWgrC,GACX9K,KAAM,CACJl5B,MAAO,qBACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,uFAKjB,CACEz6B,KAAM,2BACNja,KAAM,oBACN4J,UAAWirC,GACX/K,KAAM,CACJl5B,MAAO,oBACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,+FAKjB,CACEz6B,KAAM,yBACNja,KAAM,eACN4J,UAAWkrC,GACXhL,KAAM,CACJl5B,MAAO,eACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,6BAKjB,CACEz6B,KAAM,0BACNja,KAAM,qBACN4J,UAAWmrC,GACXjL,KAAM,CACJl5B,MAAO,iBACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,mGAKjB,CACEz6B,KAAM,oBACNja,KAAM,mBACN4J,UAAWorC,GACXlL,KAAM,CACJl5B,MAAO,mBACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,gFAKjB,CACEz6B,KAAM,kBACNja,KAAM,aACN4J,UAAWqrC,GACXnL,KAAM,CACJl5B,MAAO,aACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,yKAKjB,CACEz6B,KAAM,cACNja,KAAM,QACN4J,UAAWsrC,GACXpL,KAAM,CACJl5B,MAAO,QACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,2DAKjB,CACEz6B,KAAM,gBACNja,KAAM,UACN4J,UAAWurC,GACXrL,KAAM,CACJl5B,MAAO,UACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,0BAKjB,CACEz6B,KAAM,yCACNja,KAAM,wBACN4J,UAAWwrC,GACXtL,KAAM,CACJl5B,MAAO,wBACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,mDAKjB,CACEz6B,KAAM,2BACNja,KAAM,iBACN4J,UAAWyrC,GACXvL,KAAM,CACJl5B,MAAO,mBAGX,CACEqJ,KAAM,yBACNja,KAAM,eACN4J,UAAW0rC,GACXxL,KAAM,CACJl5B,MAAO,iBAGX,CACEqJ,KAAM,0DACNja,KAAM,kBACN4J,UAAW2rC,GACXC,0BAA0B,EAC1B1L,KAAM,CACJl5B,MAAO,oCACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,6BAKjB,CACEz6B,KAAM,6BACNja,KAAM,SACN4J,UAAW6rC,GACXD,0BAA0B,EAC1B1L,KAAM,CACJl5B,MAAO,gCACPo5B,SAAU,CACR,CACEhqC,KAAM,cACN00C,QAAS,yBAKjB,CACEz6B,KAAM,IACNja,KAAM,gBACN4J,UAAW8rC,GACX5L,KAAM,CACJl5B,MAAO,uBAMAujC,MCjRR,SAASwB,GAAkBxB,EAAQyB,GAEtCzB,EAAO,MAAQyB,GAAczB,EAAOyB,GACpCzB,EAAOyB,GAAP,0DAAqB,WAAgBpwC,GAAhB,qHAEV2uC,EAAO,MAAQyB,GAAYpwC,GAAUqwC,OAAM,SAACz2C,GAE/C,GAAmB,yBAAfA,EAAMY,KAEN,OAAO,EAAK81C,aAEhB,MAAM12C,MARO,2CAArB,sDAcG,SAAS22C,GAAiBrM,EAAIxb,EAAMhoB,GAEpCwjC,EAAG8L,0BACN/L,GAAcC,GAGhB3nC,QAAQ4C,IAAR,iBAAsB+kC,EAAGzvB,OACzB/T,IC5Ba,UCAA,MCAA,MCKA,IACb8vC,cADa,SACC/pB,GACZA,EAAQgqB,OAAO,qBAGjBC,OALa,SAKNjqB,EAAStoB,GACVA,EAAGwyC,OAAOxyC,EAAGwyC,MAAMC,cAEvBnqB,EAAQgqB,OAAO,oBACfhqB,EAAQgqB,OAAO,eACfI,aAAaC,QAAQ,UAAWC,kBAChC5yC,EAAG6yC,MAAMC,UAGXC,mBAda,SAcMzqB,EAAStoB,GAC1B,IAAOsyC,EAAoBhqB,EAApBgqB,OAAQlxC,EAAYknB,EAAZlnB,SACTY,EAAMhC,EAAGwyC,MAAMQ,aAGrB,GAFAV,EAAO,eAEHtwC,EAAK,CACPsmB,EAAQgqB,OAAO,iBAAkBtwC,GAGjC,IAAMC,EAAMD,EAAIC,IACVgxC,EAAM7wC,KAAK6wC,MAAQ,IACnBC,EAAkBjxC,EAAMgxC,EACxBE,EAAmBlxC,EAAMgxC,EAAMG,EAAa9zC,6BAGlD,GAAI4zC,EAAkB,EAAG,CAGvB,IAAMG,EAAc72C,YAAW,kBAAM4E,EAAS,mBAAqC,IAAlB8xC,EAA0B,GAC3FZ,EAAO,iBAAkBe,GAI3B,KAAIF,EAAmB,GAMrB,OAAO/xC,EAAS,qBAAqBpB,GAJrC,IAAMszC,EAAe92C,YAAW,kBAAM4E,EAAS,qBAAqBpB,KAAwB,IAAnBmzC,GACzEb,EAAO,kBAAmBgB,QAM5BhrB,EAAQgqB,OAAO,qBAInBiB,mBAlDa,WAkD0BvzC,GAAI,IAAvBsyC,EAAuB,EAAvBA,OAAQlxC,EAAe,EAAfA,SAC1B,OAAO,IAAIvG,SAAQ,SAACC,EAASC,GAC3Bu3C,EAAO,kBAAmB,MAK1BtyC,EAAGwyC,MAAMgB,MAAM7vB,KAAK8vB,EAAqB,oBACtCnsB,MAAK,SAAAlnB,GACJ,IAAO9H,EAAQ8H,EAAR9H,KAEHA,EAAKo7C,WAEPt1C,QAAQmjC,KAAR,4CAAkDjpC,EAAKo7C,UAAvD,sBAA8Ep7C,EAAKq7C,SACnFvyC,EAAS,SAASpB,IAES,IAAvB1H,EAAKs7C,eACP5zC,EAAGiB,SAASC,KAAK,yBAGnBlB,EAAGwyC,MAAMqB,YAAcC,EAA6Cx7C,EAAKoJ,cACzE1B,EAAGwyC,MAAMuB,SAASz7C,GAClB8I,EAAS,uBAAuBpB,OAGnCkyC,OAAM,SAAAz2C,GACL,IAAMwE,EAAYxE,EAAMwE,UAExB,GAAIA,EAAUjE,YAAcy3C,EAAuBj0C,QAAS,CAE1D,IAAM8zC,EAAe92C,YAAW,kBAAM4E,EAAS,qBAAqBpB,KAA2D,IAAtDozC,EAAa/zC,wCACtFizC,EAAO,kBAAmBgB,QAG1Bl1C,QAAQmjC,KAAR,yCACAngC,EAAS,SAASpB,MAGrBg0C,SAAQ,WAGP5yC,EAAS,iBAKTtG,WAKRm5C,qBArGa,WAqGoBj0C,GAAI,IAAfoB,EAAe,EAAfA,SACpBsxC,aAAaC,QAAQ,UAAWC,kBAChCxxC,EAAS,qBAAqBpB,KCvGnB,IACbgI,gBAAiB,SAACE,GAChB,OAAOA,EAAMlG,IAAI,aAEnB+F,oBAAqB,SAACG,GACpB,OAAOH,GAAoBG,EAAMlG,IAAI,cAEvCQ,WAAY,SAAC0F,GAEX,OADAA,EAAM2mB,8BACCilB,EAAoC5rC,EAAMlG,MAEnDgiB,gBAAiB,SAAC9b,GAEhB,OADAA,EAAM2mB,8BACCilB,EAAoC5rC,EAAMlG,MAAQkG,EAAMlG,IAAIkyC,gBAErEC,qBAAsB,SAACjsC,GAErB,OADAA,EAAM2mB,8BACCilB,EAAoC5rC,EAAMlG,OAAUkG,EAAMlG,IAAIkyC,gBAEvEpxC,oBAAqB,SAACoF,GAGpB,GAFAA,EAAM2mB,8BAEFilB,EAAoC5rC,EAAMlG,KAAM,CAClD,IAAMoyC,EAAOlsC,EAAMlG,IAAIoyC,KAEvB,GAAIA,EACF,OAAI94B,MAAMC,QAAQ64B,GACTA,EAAKn7B,SAAS,SAEL,UAATm7B,EAKb,OAAO,GAETC,gBAAiB,SAACnsC,GAGhB,GAFAA,EAAM2mB,8BAEF3mB,EAAMlG,IAAI,gBAAiB,CAC7B,IAAMsyC,EAASpsC,EAAMlG,IAAI,gBAAkB,IAC3C,OAAOI,KAAK6wC,MAAQqB,EAGtB,OAAO,ICjDI,IACbC,iBADa,SACKrsC,GAChBA,EAAM2mB,gCACN3mB,EAAMlG,IAAM,MAEdwyC,YALa,SAKAtsC,GACPA,EAAMmrC,cACRv3C,aAAaoM,EAAMmrC,aACnBnrC,EAAMmrC,YAAc,MAGlBnrC,EAAMorC,eACRx3C,aAAaoM,EAAMorC,cACnBprC,EAAMorC,aAAe,OAGzBmB,iBAhBa,SAgBKvsC,GAChBA,EAAM2mB,iCAER6lB,eAnBa,SAmBGxsC,EAAOlG,GACrBkG,EAAM2mB,gCACN3mB,EAAMlG,IAAMA,GAEd2yC,eAvBa,SAuBGzsC,EAAOmrC,GACrBv3C,aAAaoM,EAAMmrC,aACnBnrC,EAAMmrC,YAAcA,GAEtBuB,gBA3Ba,SA2BI1sC,EAAOorC,GACtBx3C,aAAaoM,EAAMorC,cACnBprC,EAAMorC,aAAeA,IC3BV,IACbzkB,8BAA+B,EAC/BwkB,YAAa,KACbrxC,IAAK,KACLsxC,aAAc,MCEhBjD,aAAIC,IAAIuE,QAEO,QACbC,YAAY,EACZC,WACAC,WACAC,aACA/sC,UCVa,IACbgtC,kBADa,SACK5sB,EAAStoB,GACzBsoB,EAAQgqB,OAAO,mBAEf,IAAM6C,EAAgBn1C,EAAGyC,OAAOwc,OAAOF,SACjCq2B,EAAiB1C,aAAa2C,QAAQ,SACtCC,EAAuB5C,aAAa2C,QAAQ,UAC5Ct2B,EAAQ,OAAGo2B,QAAH,IAAGA,IAAiBC,EAElCp1C,EAAGmB,OAAOC,SAAS,2BACnB,IAAM6d,EAAS,CACbF,SAAUA,EACVw2B,eAAgBD,GAElBt1C,EAAG0jB,MAAMvmB,IAAIs2C,EAAqB,kBAAmB,CAAEx0B,WACpDqI,MAAK,SAAAlnB,GACJ,IAAM2jC,EAAS3jC,EAAS9H,KAGxB,GAAI68C,GAAiBpR,EAAOhlB,WAAao2B,EAAe,CACtD,IAAM1N,EAAU9D,GAAsBI,EAAOhlB,SAAUglB,EAAOn4B,YAC9D5L,EAAGmuB,QAAQ/0B,KAAKquC,GAGlBznC,EAAGmB,OAAOC,SAAS,mBAAoB,CAACpB,KAAI+jC,cAE7CmO,OAAM,SAAAz2C,GACLe,YAAW,WAAO8rB,EAAQlnB,SAAS,oBAAqBpB,KAAM,SAIpEw1C,WA/Ba,SA+BFltB,EA/BE,GA+ByB,IAAhBtoB,EAAgB,EAAhBA,GAAI+e,EAAY,EAAZA,SACxB,OAAO,IAAIlkB,SAAQ,SAACC,EAASC,GAC3ButB,EAAQgqB,OAAO,mBACftyC,EAAGmB,OAAOC,SAAS,2BACnBpB,EAAG0jB,MAAMvmB,IAAIs2C,EAAA,iBAA+B10B,KACzCuI,MAAK,SAAAlnB,GACJ,IAAM2jC,EAAS3jC,EAAS9H,KACxB0H,EAAGmB,OAAOC,SAAS,mBAAoB,CAACpB,KAAI+jC,WAC5CjpC,OAEDo3C,OAAM,SAAAz2C,GACL6sB,EAAQgqB,OAAO,kBACfv3C,EAAOU,UAKfg6C,iBAhDa,SAgDIntB,EAhDJ,GAgD+B,IAAhBtoB,EAAgB,EAAhBA,GAAI+e,EAAY,EAAZA,SAC1BuJ,EAAQpgB,MAAM6W,WAAaA,GAC7B/e,EAAGmB,OAAOC,SAAS,oBAAqB,CAAEpB,KAAI+e,cAIlD22B,UAtDa,SAsDHptB,EAtDG,GAsDsB,IAAdtoB,EAAc,EAAdA,GAAI+jC,EAAU,EAAVA,OAIjB4R,EAA6BjD,aAAa2C,QAAQ,UAClD9W,GAAwBwF,EAAO6R,SAAWD,EAA6B5R,EAAOxF,uBAAyB,mCAE7GsX,gBAAmBtX,GAChBjX,MAAK,SAAAwuB,GACJ/R,EAAOntB,WAAa7d,OAAO8yB,OAAOiqB,GAClC,IAAM9rB,EAAmBjxB,OAAO8yB,OAAOnB,GAAgBqZ,EAAOntB,aACxDgU,EAAsB7xB,OAAO8yB,OAAO9B,GAA6BC,IACjE+rB,EAAU,iCACXhS,GADQ,IAEX/Z,mBACAY,wBAGFtC,EAAQgqB,OAAO,gBAAiByD,GAChCrD,aAAaC,QAAQ,QAAS5O,EAAOhlB,UACrC2zB,aAAaC,QAAQ,SAAU5O,EAAOxF,sBACtCmU,aAAaC,QAAQ,SAAU5O,EAAOwR,mBAEvCrD,OAAM,SAAAz2C,GAEHi3C,aAAasD,WAAW,UACxBtD,aAAasD,WAAW,UACxB1tB,EAAQlnB,SAAS,oBAAqBpB,QCtFjC,IACb6W,iBAAkB,SAAC3O,GACjB,OAAOA,EAAMw1B,kBAAoB,ICFtB,IACXuY,gBADW,SACM/tC,GACfA,EAAMwD,WAAY,GAEpBwqC,eAJW,SAIKhuC,GACdA,EAAMwD,WAAY,GAEpByqC,cAPW,SAOIjuC,EAAO6tC,GACpB7tC,EAAM0O,WAAam/B,EAAQn/B,YAAc,GACzC1O,EAAMw1B,kBAAoBqY,EAAQrY,mBAAqB,EACvDx1B,EAAMshB,kBAAoBusB,EAAQvsB,mBAAqB,KACvDthB,EAAM6W,SAAWg3B,EAAQh3B,SACzB7W,EAAM0D,WAAamqC,EAAQnqC,YAAc,GACzC1D,EAAM8hB,iBAAmB+rB,EAAQ/rB,kBAAoB,GACrD9hB,EAAM0iB,oBAAsBmrB,EAAQnrB,qBAAuB,KAC3D1iB,EAAMinB,SAAW4mB,EAAQ5mB,WAAY,EACrCjnB,EAAMwD,WAAY,EAClBxD,EAAM6D,OAASgqC,EAAQhqC,QAAU,KACjC7D,EAAM8D,UAAY+pC,EAAQ/pC,WAAa,KACvC9D,EAAMgnB,eAAiB6mB,EAAQ7mB,iBAAkB,ICnBxC,IACbnjB,OAAQ,KACR6K,WAAY,GACZ8mB,kBAAmB,EACnBlU,kBAAmB,KACnBzK,SAAU,KACVnT,WAAY,GACZoe,iBAAkB,GAClBY,oBAAqB,KACrBuE,UAAU,EACVzjB,WAAW,EACXM,UAAW,KACXkjB,gBAAgB,GCJlBmhB,aAAIC,IAAIuE,QAEO,QACbC,YAAY,EACZC,WACAC,WACAC,aACA/sC,UCbK,SAASkuC,KACd,IAAIx9C,EAAI,EAER,SAASy9C,IACPz9C,IACAy9C,IAGF,IACEA,IAEF,MAAM57C,GACJ,OAAO7B,GCXI,QACbozB,cADa,SACC1D,GACZoqB,aAAaC,QAAQ,SAAUS,EAAap0C,uBAC5CspB,EAAQgqB,OAAO,uBAEjBgE,oBALa,SAKOhuB,EAASiuB,GAC3BjuB,EAAQgqB,OAAO,qBAAsBiE,IAEvCC,cARa,SAQCluB,EAASmuB,GACrBnuB,EAAQgqB,OAAO,2BAA4BmE,IAE7CC,oBAXa,SAWOpuB,EAASne,GAC3Bme,EAAQgqB,OAAO,mBAAoBnoC,GACnCme,EAAQgqB,OAAO,0BAEjBqE,yBAfa,SAeYruB,EAASpT,GAChCoT,EAAQgqB,OAAO,wBAAyBp9B,IAE1C0hC,oBAlBa,SAkBOtuB,EAAS/a,GAC3B+a,EAAQgqB,OAAO,mBAAoB/kC,IAErCspC,cArBa,SAqBCvuB,GACZA,EAAQgqB,OAAO,kBAEjBwE,sBAxBa,SAwBSxuB,GACpBA,EAAQgqB,OAAO,0BAEjByE,gBA3Ba,SA2BGzuB,GACd,IAAM0uB,EAAe,CACnBjrB,mBAAoB2mB,aAAa2C,QAAQ,YAAcjC,EAAap0C,sBACpEwL,sBAAuBtI,KAAK+0C,MAAMb,KAAiB,MAErD9tB,EAAQgqB,OAAO,kBAAmB0E,KC/BvB,IACbH,cADa,SACE3uC,GACbA,EAAMgvC,kBAAoB,KAC1BhvC,EAAMivC,oBAAsB,MAE9BL,sBALa,SAKU5uC,GACrBA,EAAM5D,oBAAsB,GAC5B4D,EAAMmjC,eAAiB,IAEzB+L,mBATa,SASMlvC,GACjBA,EAAM6jB,oBAAqB,GAE7BsrB,mBAZa,SAYOnvC,EAAOquC,GACzBruC,EAAMquC,gBAAkBA,GAE1Be,yBAfa,SAeapvC,EAfb,GAe8D,IAAzCgvC,EAAyC,EAAzCA,kBAAmBC,EAAsB,EAAtBA,oBACnDjvC,EAAMgvC,kBAAoBA,EAC1BhvC,EAAMivC,oBAAsBA,GAE9BJ,gBAnBa,SAmBI7uC,EAAO8uC,GACtB9uC,EAAM6jB,mBAAqBirB,EAAajrB,mBACxC7jB,EAAMsC,sBAAwBwsC,EAAaxsC,uBAE7C+sC,iBAvBa,SAuBKrvC,EAAOiC,GACvBjC,EAAM3D,wBAA0B4F,EAAc5F,wBAC9C2D,EAAMsvC,uBAAyBrtC,EAAcqtC,uBAC7CtvC,EAAMuvC,yBAA2BttC,EAAcstC,yBAC/CvvC,EAAMmhC,cAAgBl/B,EAAck/B,cACpCnhC,EAAMwvC,eAAiBvtC,EAAcutC,eACrCxvC,EAAMyvC,iBAAmBxtC,EAAcwtC,iBACvCzvC,EAAM0vC,wBAA0BhF,KAAUiF,WAC1C3vC,EAAM1D,SAAW2F,EAAc3F,UAEjCszC,sBAjCa,SAiCU5vC,EAAOgN,GAC5B,IAAMkH,EAAelH,EAAWtW,GAC1Bm5C,EAAU7vC,EAAM5D,oBAAoB8X,GAE1C,GAAI27B,EACFA,EAAQ7I,QACRmB,aAAI7lB,IAAItiB,EAAM5D,oBAAqB8X,EAAc27B,OAC5C,CACL,IAAM17C,EAAO2kB,GAAwB9L,GAC/B5P,EAAajJ,EAAOA,EAAKvD,OAAS,EACxCu3C,aAAI7lB,IAAItiB,EAAM5D,oBAAqB8X,EAAc,CAAE8yB,MAAO,EAAG5pC,WAAYA,MAG7E0yC,iBA9Ca,SA8CK9vC,EAAOqF,GACvB8iC,aAAI7lB,IAAItiB,EAAMmjC,eAAgB99B,EAAM3O,GAAI2O,EAAMo9B,YCjDnC,IACb5e,oBAAoB,EACpBvhB,sBAAuB,IACvB+rC,iBAAiB,EACjBW,kBAAmB,KACnBC,oBAAqB,KACrB5yC,wBAAyB,GACzBsN,SAAU,KACV2lC,uBAAwB,IACxBC,yBAA0B,IAC1BQ,YAAa,WACb5O,eAAe,EACfqO,gBAAgB,EAChBC,kBAAkB,EAClBC,wBAAyBhF,KAAUiF,WACnCrzC,SAAU,EACVF,oBAAqB,GACrB+mC,eAAgB,ICZlBgF,aAAIC,IAAIuE,QAEO,QACbC,YAAY,EACZC,WACAE,aACA/sC,UCFFmoC,aAAIC,IAAIuE,QAEO,WAAIA,OAAKqD,MAAM,CAC5BhwC,SACA+sC,aACAF,WAEA17C,QAAS,CACP8O,eAAgBA,GAChB47B,OAAQA,GACRC,UAAWA,M,kCCqBf5lC,QAAQ4C,IAAI,2BAGZjI,OAAOgG,KAAKo5C,GAAO5iC,SAAQ,SAAA6iC,GACzBC,eAAOD,EAAMD,EAAMC,OAKrBC,eAAO,MAAO,CACZC,SAAU,SAAC/6C,GACT,QAAIA,GAEK,0HAA0HqD,KAAKrD,IAK1InB,QAAS,mCAGXm8C,eAAS,KAAMC,GAGfnI,aAAIpqC,UAAU,qBAAsBwyC,QACpCpI,aAAIpqC,UAAU,qBAAsByyC,QAGpCC,OAAQluB,IAAImuB,OAASC,OAAcC,OAAQC,OAAiBC,OAAeC,OAAcC,OAAQC,OAAQC,OAAkBC,OAAWC,OAAQC,QAC9IlJ,aAAIpqC,UAAU,kBAAmBuzC,QAGjCnJ,aAAIC,IAAImJ,QACRpJ,aAAIC,IAAIoJ,QAGRrJ,aAAIC,IAAIqJ,KACRtJ,aAAIC,IAAIsJ,OAASC,QACjBxJ,aAAIC,IAAIwJ,IAAUp2B,KAClB2sB,aAAIC,IAAIyJ,KACR1J,aAAIpqC,UAAU,YAAa+zC,MAG3B3J,aAAIC,IAAI2J,IAAa,CACnBC,OAAQ,UACRC,SAAU,IACVC,QAAS,IACTr5B,GAAG,IAKLsvB,aAAIC,IAAI+J,OAAiB,CACvBC,QAASx6C,+BACTy6C,SAAU,gBACVC,UAAW,qBACXC,iBAAkB,OAClBC,YAAa,MACbC,OAAQ,CACNC,OAAQ9G,IACR+G,OAAQ/G,OAKZzD,aAAIC,IAAIwK,IAAS,CACfC,SAAU3H,EAAan0C,eACvB+7C,MAAO,qDAIT3K,aAAIvvC,OAAOm6C,aAAe,SAAU98C,EAAK6B,EAAIuhC,GAC3CnjC,QAAQ4C,IAAI7C,GAER6B,IAEFA,EAAG2C,MAAMC,UAAU,CACjB,YAAezE,EAAI/B,QACnB,OAAS,IAGP+B,EAAI+8C,OAAS/8C,EAAI+8C,MAAM91C,WAAW,cACpCpF,EAAGmuB,QAAQ/0B,KAAK,CAAEkd,KAAM,yBAExBtW,EAAGmuB,QAAQ/0B,KAAK,CAAEkd,KAAM,wBAI9B+5B,aAAIvvC,OAAOq6C,eAAgB,EAG3B9K,aAAIC,IAAI8K,OAAS,CACft6C,OAAQ,CAAElC,GAAIw0C,EAAal0C,cAC3Bm8C,SAA2D,GAC1D7K,IAGHH,aAAIC,IAAIgL,QAGR,IAAMt7C,GAAK,IAAIqwC,aAAI,CACjBG,UACA+K,SACAC,OAAQ,SAAA12B,GAAC,OAAIA,EAAE22B,OAIjBz7C,GAAG2C,MAAM+4C,UAAU,CACjB,WAAc,WACd,WAAc,YACd,WAAc,eACd,WAAc,kBAKhBlL,GAAOmL,YAAW,SAAC5V,EAAIxb,EAAMhoB,GAAU6vC,GAAiBrM,EAAIxb,EAAMhoB,MAGlEyvC,GAAkBxB,GAAQ,QAC1BwB,GAAkBxB,GAAQ,WAG1B9sB,IAAMk4B,SAASC,iBAAkB,EAIjCn4B,IAAMo4B,aAAa17C,SAASkwC,KAC1B,SAAAlwC,GAEE,OADAA,EAASH,UAAYwzC,EAA0BzzC,GAAII,GAC5CA,KAET,SAAA3E,GAEE,OADAA,EAAMwE,UAAYwzC,EAAwBzzC,GAAIvE,GACvCZ,QAAQE,OAAOU,MAI1BsgD,IAAOC,WAAW,CAChBC,QAAQ,IAIVj8C,GAAGk8C,OAAO,S,oCCzLV,W,qBCAA3hD,EAAOD,QAAU,IAA0B,2B,qBCA3CC,EAAOD,QAAU,IAA0B,yB,oCCA3C,W,qBCAA,IAAImE,EAAM,CACT,oBAAqB,OACrB,2CAA4C,OAC5C,eAAgB,OAChB,aAAc,QAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAO1E,EAAoB2E,GAE5B,SAASC,EAAsBF,GAC9B,IAAI1E,EAAoB+C,EAAEyB,EAAKE,GAAM,CACpC,IAAIlE,EAAI,IAAIiB,MAAM,uBAAyBiD,EAAM,KAEjD,MADAlE,EAAEqE,KAAO,mBACHrE,EAEP,OAAOgE,EAAIE,GAEZD,EAAeK,KAAO,WACrB,OAAOhG,OAAOgG,KAAKN,IAEpBC,EAAe5D,QAAU+D,EACzBtE,EAAOD,QAAUoE,EACjBA,EAAeE,GAAK,Q,iTCvBb,SAAe0/B,EAAtB,kC,8DAAO,WAAsC/yB,GAAtC,8FACC4wC,EAAa5Y,KAAKC,UAAUj4B,GAD7B,SAEQ4yB,EAAsBge,GAF9B,mF,wBAKA,SAAehe,EAAtB,kC,8DAAO,WAAqC5jB,GAArC,uGACoB6hC,kBAAK7hC,GADzB,cACC8hC,EADD,yBAEEC,EAAO/xB,KAAK8xB,GAAY7gC,SAAS,WAFnC,2C,wBAKA,SAAe+gC,EAAtB,kC,8DAAO,WAAqChiC,GAArC,kGACC8hC,EAAaC,EAAO/xB,KAAKhQ,EAAQ,UADlC,SAEsBiiC,oBAAOH,GAF7B,cAECI,EAFD,OAGC9iD,EAAS8iD,EAAajhC,SAAS,SAHhC,kBAIE7hB,GAJF,2C,wBAOA,SAAek8C,EAAtB,kC,8DAAO,WAAkCt7B,GAAlC,uGACoBgiC,EAAsBhiC,GAD1C,cACC4hC,EADD,yBAEE5Y,KAAK2M,MAAMiM,IAFb,2C,6ECnBP5hD,EAAOD,QAAU,IAA0B","file":"js/app.45bff0d1.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d216214\":\"9b6331c5\",\"chunk-f0fc54c0\":\"2d4ed087\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/btn_google_signin_light_normal_web.3a33ebe2.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=445b08e2&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerNetworkError.vue?vue&type=style&index=0&id=0d187201&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerUnverifiedEmail.vue?vue&type=style&index=0&id=372c72e3&scoped=true&lang=css&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf755\",\n\t\"./tlh.js\": \"cf755\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export default {\r\n acceptedCookieVersion: \"1\",\r\n googleClientId: '656331298441-8bb78tsu8el4gv4p5rbvne01r2pbdn88.apps.googleusercontent.com',\r\n googleGtagId: 'G-GHP20LYE47',\r\n passwordRegex: /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{10,}$/,\r\n passwordText: 'The password must be at least 10 characters long containing the following: upper case letters, lower case letters, and digits.',\r\n tokenRefreshNetworkFailureRetrySeconds: 30,\r\n tokenRefreshPreexpirySeconds: 120 \r\n}","export const APIErrorTypes = {\r\n NETWORK: \"Network\",\r\n UNKNOWN: \"Unknown\",\r\n USER: \"User\",\r\n OK: \"Ok\"\r\n} \r\n\r\nexport function buildAPIUrl(suffix) {\r\n return process.env.VUE_APP_BASE_API + `/api/${suffix}`\r\n}\r\n\r\nexport function handleAPIError(vm, error) {\r\n const postState = {\r\n errorMessages: [],\r\n errorType: APIErrorTypes.OK,\r\n inProgress: false\r\n }\r\n\r\n // Set Error Details\r\n if (error.response) {\r\n const data = error.response.data\r\n\r\n if (data) {\r\n if (data.error_description) {\r\n // OAuth errors\r\n postState.errorType = APIErrorTypes.USER\r\n postState.errorMessages.push({message: data.error_description})\r\n\r\n } else if (data.modelState) {\r\n // Other RESTful errors\r\n postState.errorType = APIErrorTypes.USER\r\n const ignore = RegExp('^Name(.*)?is already taken.$') // This message, generated by .Net Owin, will be ignored\r\n\r\n for (const property in data.modelState) {\r\n const keyParts = property.split('.')\r\n const key = keyParts[keyParts.length - 1]\r\n const messages = data.modelState[property]\r\n\r\n for (const message of messages) {\r\n if (ignore.test(message))\r\n continue\r\n\r\n postState.errorMessages.push({key, message})\r\n }\r\n }\r\n } else if (data.message) {\r\n postState.errorType = APIErrorTypes.USER\r\n postState.errorMessages.push({message: data.message})\r\n } else {\r\n postState.errorType= APIErrorTypes.UNKNOWN\r\n postState.errorMessages.push({message: \"Unexpected Error\"})\r\n }\r\n }\r\n } else {\r\n postState.errorType = APIErrorTypes.NETWORK\r\n postState.errorMessages.push({message: error.message})\r\n }\r\n\r\n const urlText = error.config && error.config.url ? `(${error.config.url})` : \"\"\r\n\r\n // For Unknown errors, tell the user that something unexpected happened\r\n if (postState.errorType === APIErrorTypes.UNKNOWN) {\r\n console.log(`Unexpected Failure${urlText}: ${error.message}`)\r\n vm.$bvModal.show('apiUnexpectedErrorModal')\r\n }\r\n\r\n // If network error, update global view state so we can show banner\r\n if (postState.errorType === APIErrorTypes.NETWORK) {\r\n console.log(`Network Failure${urlText}: ${error.message}`)\r\n vm.$store.dispatch('viewState/loadHasNetworkError',true)\r\n } else {\r\n vm.$store.dispatch('viewState/loadHasNetworkError',false)\r\n }\r\n\r\n return postState\r\n}\r\n\r\nexport function handleGeneralFailure(error) {\r\n return {\r\n errorMessages: [{message: error}],\r\n errorType: APIErrorTypes.USER,\r\n inProgress: false\r\n }\r\n}\r\n\r\nexport function resetPostState() {\r\n return {\r\n errorMessages: [],\r\n errorType: APIErrorTypes.OK,\r\n inProgress: true \r\n }\r\n}\r\n\r\nexport function handleAPISuccess(vm, response) {\r\n vm.$store.dispatch('viewState/loadHasNetworkError',false)\r\n\r\n return {\r\n errorMessages: [],\r\n errorType: APIErrorTypes.OK,\r\n inProgress: false \r\n }\r\n}\r\n\r\nexport function isPostError(postState) {\r\n return postState.errorType ? postState.errorType !== APIErrorTypes.OK : false\r\n}","export function determineStorageLocation (stayLoggedIn) {\r\n return stayLoggedIn ? 'localStorage' : 'cookieStorage'\r\n\r\n // Note: cookieStorage is used as it allows the same session to span multiple tabs. While, in a SPA, this is not normally important, when you are \r\n // verifying the email, it is likely that another tab will be opened. The system allows for login; however, it is nice if they are already logged in on \r\n // another tab to not have to log in again.\r\n}\r\n\r\nexport function determineCookieDomain() {\r\n return process.env.VUE_APP_COOKIE_DOMAIN\r\n}\r\n\r\nexport function determineCookieSecure () {\r\n return location.protocol === 'https:' ? true : false\r\n}\r\n\r\nexport function isAuthenticated (jwt) {\r\n if (jwt && jwt.exp && typeof jwt.exp === 'number') {\r\n return Math.round(new Date().getTime() / 1000) < jwt.exp\r\n }\r\n\r\n return false\r\n}\r\n\r\nexport function checkRouteLoggedIn (vm, next) {\r\n if (vm.isLoggedIn) {\r\n next() \r\n \r\n } else {\r\n const message = `Attempted to display the route ${vm.$route.fullPath}; however, was not logged in.`\r\n console.log(message)\r\n\r\n // Analytics\r\n vm.$gtag.exception({\r\n 'description': message,\r\n 'fatal': false\r\n })\r\n\r\n next('/error/authorization')\r\n }\r\n}\r\n\r\nexport function checkRouteSiteAdministrator (vm, next) {\r\n if (vm.isLoggedIn && vm.isSiteAdministrator) {\r\n next() \r\n \r\n } else {\r\n const message = `Attempted to display the route ${vm.$route.fullPath}; however, was not a site administrator.`\r\n console.log(message)\r\n\r\n // Analytics\r\n vm.$gtag.exception({\r\n 'description': message,\r\n 'fatal': false\r\n })\r\n\r\n next('/error/authorization')\r\n }\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Header',{on:{\"resize\":_vm.resize}}),_c('router-view',{key:_vm.$route.fullPath,staticClass:\"router-view\",style:(_vm.routerViewStyle)}),_c('APIUnexpectedErrorModal'),_c('AuthenticationModal'),_c('DisplayOptionsModal'),_c('InfoModal'),_c('NewInvitationsModal'),_c('SaveTreeModal'),_c('Footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Notes: charMinWidth represents the average pixel width in a long name. The longest name displayed is significant so the longest name likely has a mix of characters. \r\n// For a 16px font, the characters vary from 4 to 17 pixels\r\n// For a 14px font, the characters vary from 4 to 15 pixels\r\n// For a 12px font, the characters vary from 3 to 13 pixels\r\n// If the user has a name with all 'W's then they can stretch the display with the generationRelativeWidth\r\n\r\nconst widthFactorNormal = .9 // With the assumption that both names are unlikely to be long and the same length\r\nconst widthFactorAncestor = 1\r\n\r\nconst zoomDimensions = [\r\n {\r\n childContainerOffsetAncestor: \"7px\",\r\n childContainerOffsetDescendent: \"6px\",\r\n charMinWidth: 6.0, \r\n fontIndividualLarge: \"12px\",\r\n fontIndividualSmall: \"9px\",\r\n relationshipHeight: 16,\r\n relationshipOffset: 16\r\n },\r\n {\r\n childContainerOffsetAncestor: \"8px\",\r\n childContainerOffsetDescendent: \"7px\",\r\n charMinWidth: 7.0, \r\n fontIndividualLarge: \"14px\",\r\n fontIndividualSmall: \"11px\",\r\n relationshipHeight: 18,\r\n relationshipOffset: 18,\r\n },\r\n {\r\n childContainerOffsetAncestor: \"8px\",\r\n childContainerOffsetDescendent: \"7px\",\r\n charMinWidth: 8.0,\r\n fontIndividualLarge: \"16px\",\r\n fontIndividualSmall: \"13px\",\r\n relationshipHeight: 20,\r\n relationshipOffset: 20\r\n },\r\n]\r\n\r\nexport function treeDimensions(renderedIndividuals, generationRelativeWidth, treeZoom) {\r\n // On initial load, the renderedInvividuals will be empty. On the next tick, it will have all the values\r\n const maxCharacters = getMaxCharacters(renderedIndividuals) || 35 \r\n const dimensions = zoomDimensions[treeZoom]\r\n const minWidth = Math.ceil(maxCharacters * dimensions.charMinWidth)\r\n const widthAncestor = minWidth + Math.round(generationRelativeWidth * widthFactorAncestor) + (2 * dimensions.relationshipOffset) + 1 \r\n const widthNormal = minWidth + Math.round((minWidth + generationRelativeWidth) * widthFactorNormal)\r\n\r\n return {\r\n childContainerOffsetAncestor: dimensions.childContainerOffsetAncestor,\r\n childContainerOffsetDescendent: dimensions.childContainerOffsetDescendent,\r\n fontIndividualLarge: dimensions.fontIndividualLarge,\r\n fontIndividualSmall: dimensions.fontIndividualSmall,\r\n relationshipHeight: `${dimensions.relationshipHeight}px`,\r\n relationshipOffset: `${dimensions.relationshipOffset}px`,\r\n relationshipWidthAncestor: `${widthAncestor}px`,\r\n relationshipWidthNormal: `${widthNormal}px`\r\n }\r\n}\r\n\r\nexport function getMaxCharacters(renderedIndividuals) {\r\n let max = 0\r\n\r\n // Let's get all the names for each individual\r\n for (const key of Object.getOwnPropertyNames(renderedIndividuals)) {\r\n if (key.startsWith('I')){\r\n const renderedIndividual = renderedIndividuals[key];\r\n\r\n if (renderedIndividual.nameLength > max) { \r\n max = renderedIndividual.nameLength \r\n }\r\n }\r\n }\r\n\r\n return max\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"apiUnexpectedErrorModal\",\"size\":\"lg\",\"hide-header\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar close = ref.close;\nreturn [_c('div',{staticClass:\"w-100\"},[_c('b-button',{staticClass:\"float-right\",attrs:{\"size\":\"sm\"},on:{\"click\":function($event){close ()}}},[_vm._v(\" Close \")])],1)]}}])},[_c('div',[_c('h3',[_vm._v(\"Unexpected Error\")]),_c('p',[_vm._v(\"An unexpected error has occurred on the site. We apologize for any inconvenience.\")]),_c('b-table-simple',[_c('caption',[_vm._v(\"If you report this problem please quote the information below:\")]),_c('b-tbody',[_c('b-tr',[_c('b-th',{staticClass:\"text-right\"},[_vm._v(\"Local Time:\")]),_c('b-td',[_vm._v(_vm._s(_vm.getTimeLocal()))])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-right\"},[_vm._v(\"UTC Time:\")]),_c('b-td',[_vm._v(_vm._s(_vm.getTimeUtc()))])],1)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./APIUnexpectedErrorModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./APIUnexpectedErrorModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./APIUnexpectedErrorModal.vue?vue&type=template&id=c39df12c&\"\nimport script from \"./APIUnexpectedErrorModal.vue?vue&type=script&lang=js&\"\nexport * from \"./APIUnexpectedErrorModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"authenticationModal\",\"size\":\"lg\",\"hide-header\":\"\"},on:{\"hidden\":_vm.onModalHidden},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar close = ref.close;\nreturn [_c('div',{staticClass:\"w-100\"},[_c('b-button',{staticClass:\"float-right\",attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return close()}}},[_vm._v(\" Close \")])],1)]}}])},[(_vm.displayMode==='login')?_c('Login',{on:{\"set-display-mode\":_vm.onSetDisplayMode}}):_vm._e(),(_vm.displayMode==='forgot')?_c('PasswordForgot',{on:{\"set-display-mode\":_vm.onSetDisplayMode}}):_vm._e(),(_vm.displayMode==='register')?_c('Register',{on:{\"set-display-mode\":_vm.onSetDisplayMode}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onRelativeToMe)}}},[_c('h3',[_vm._v(\"Login\")]),_c('p',[_vm._v(\"If you want to view your's or other people's private family trees you need to login. Logging in also allows you to share private family trees with specific people. You can login directly to this site or use your login credentials from one of the supported account providers.\")]),_c('LoginOptions',{attrs:{\"tabindex\":\"1\"},model:{value:(_vm.form.stayLoggedIn),callback:function ($$v) {_vm.$set(_vm.form, \"stayLoggedIn\", $$v)},expression:\"form.stayLoggedIn\"}}),_c('h5',[_vm._v(\"Continue With ...\")]),_c('b-row',[_c('b-col',{attrs:{\"offset-md\":\"1\"}},[_c('div',[_c('b-form-group',[_c('b-img',{class:_vm.classGoogle,attrs:{\"src\":_vm.iconGoogle,\"fluid\":\"\"},on:{\"click\":function($event){return _vm.onGoogle()}}}),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postStateGoogle,\"push-right\":false}})],1),_c('p',[_vm._v(\" - or - \")])],1),_c('h6',[_vm._v(\"Login to relativetome.com\")]),_c('validation-provider',{attrs:{\"name\":\"Email\",\"rules\":{required: true, email: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"2\",\"label\":\"Email:\",\"label-align-sm\":\"right\",\"label-for\":\"email-box\"}},[_c('b-form-input',{attrs:{\"id\":\"email-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"username\",\"tabindex\":\"2\"},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", $$v)},expression:\"form.email\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"emailBox-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))]),_c('div',{staticClass:\"d-flex justify-content-start\"},[_c('b-button',{attrs:{\"variant\":\"link\",\"tabindex\":\"11\",\"disabled\":_vm.isLoginInprogress},on:{\"click\":function($event){return _vm.showForm('register')}}},[_vm._v(\"Register New Account\")])],1)],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Password\",\"rules\":{required: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"2\",\"label\":\"Password:\",\"label-align-sm\":\"right\",\"label-for\":\"password-box\"}},[_c('b-form-input',{attrs:{\"id\":\"password-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"current-password\",\"tabindex\":\"3\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"password-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))]),_c('div',{staticClass:\"d-flex justify-content-start\"},[_c('b-button',{attrs:{\"variant\":\"link\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.showForm('forgot')}}},[_vm._v(\"Forgot Your Password?\")])],1),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"disabled\":_vm.isLoginInprogress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"5\"}},[_vm._v(\"Submit\")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postStateRelativeToMe}})],1)]}}],null,true)})],1)],1)],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function familyAuthorityText (authorityId) {\r\n switch(authorityId) {\r\n case 1: return \"Read-only\"\r\n case 2: return \"Admin\"\r\n case 3: return \"Owner\"\r\n default: return \"Unknown\"\r\n }\r\n}\r\n\r\nexport function accountProviderText (accountProvider) {\r\n switch(accountProvider) {\r\n case 0: return \"RelativeToMe.com\"\r\n case 1: return \"Google\"\r\n default: return \"Unknown\"\r\n }\r\n}\r\n\r\nexport function subclauseTypeText (factDisplayType) {\r\n switch(factDisplayType) {\r\n case 0: return \"standard\"\r\n case 1: return \"text\"\r\n case 2: return \"note\"\r\n default: return \"Unknown\"\r\n }\r\n}\r\n","import { accountProviderText } from '@/logic/enums'\r\n\r\nexport function eventLogin (vm) {\r\n const jwt = vm.$store.state.authentication.jwt\r\n const loginProvider = jwt['provider']\r\n\r\n // Analytics\r\n vm.$gtag.event('login', {\r\n 'method': accountProviderText(loginProvider)\r\n })\r\n}","// Reset the vee-validate form validation\r\nexport function resetFormDelayed (component) {\r\n component.$nextTick(() => {\r\n component.$refs.observer.reset();\r\n });\r\n}\r\n\r\nexport function resetFormImmediate (component) {\r\n component.$refs.observer.reset();\r\n}\r\n\r\nexport function getValidationState({ dirty, validated, valid = null }) {\r\n return dirty || validated ? valid : null;\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'text-right': _vm.pushRight, 'pl-2': true }},[(_vm.postState.inProgress)?_c('span',[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'spinner'],\"spin\":\"\"}}),_vm._v(\" Processing ...\")],1):_vm._e(),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.state}},[(_vm.hasSingleError)?_c('span',[_vm._v(\" \"+_vm._s(_vm.singleError)+\" \")]):_vm._e(),(_vm.hasMultipleErrors)?_c('ul',{staticClass:\"text-left\"},_vm._l((_vm.postState.errorMessages),function(errorMessage,index){return _c('li',{key:index},[_vm._v(_vm._s(errorMessage.message))])}),0):_vm._e()]),_c('b-form-valid-feedback',{attrs:{\"state\":_vm.isCompleteOk}},[_vm._v(\" \"+_vm._s(_vm.successMessage)+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApiPostFeedback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApiPostFeedback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ApiPostFeedback.vue?vue&type=template&id=55b17107&\"\nimport script from \"./ApiPostFeedback.vue?vue&type=script&lang=js&\"\nexport * from \"./ApiPostFeedback.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('h5',[_vm._v(\"Security Options\")]),_c('b-row',[_c('b-col',{attrs:{\"offset-md\":\"1\"}},[_c('b-form-group',[_c('b-form-checkbox',{attrs:{\"checked\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},[_vm._v(\" Stay Logged In? \"),_c('b-icon',{staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\",\"id\":\"stayLoggedInInfo\"},on:{\"click\":function($event){$event.preventDefault();}}})],1)],1)],1)],1),_c('b-popover',{attrs:{\"target\":\"stayLoggedInInfo\",\"custom-class\":\"popover-wide\",\"placement\":\"rightbottom\",\"title\":\"Stay Logged In?\",\"triggers\":\"click blur\"}},[_vm._v(\" If you are using a public computer in places like a library or internet cafe you should leave this unselected. This should only be selected if you are using your own secure computer or mobile device. \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginOptions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginOptions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoginOptions.vue?vue&type=template&id=5945f179&\"\nimport script from \"./LoginOptions.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginOptions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=445b08e2&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=445b08e2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"445b08e2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('h3',[_vm._v(\"Forgot Your Password?\")]),_c('p',[_vm._v(\"Fill this form to reset your password. You will be sent an email that will allow you to create a new password.\")]),_c('validation-provider',{attrs:{\"name\":\"Email\",\"rules\":{required: true, email: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"1\",\"label\":\"Email:\",\"label-align-sm\":\"right\",\"label-for\":\"email-box\"}},[_c('b-form-input',{attrs:{\"id\":\"email-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"username\",\"tabindex\":\"1\"},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", $$v)},expression:\"form.email\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"email-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end pb-2\"},[_c('vue-recaptcha',{attrs:{\"sitekey\":_vm.reCaptchaSiteKey,\"size\":\"normal\",\"tabindex\":\"10\"},on:{\"verify\":_vm.onCaptchaVerified,\"expired\":_vm.onCaptchaExpired}})],1),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":_vm.onCancelRegistration}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\",\"data-toggle\":\"tooltip\",\"data-placement\":\"bottom\",\"title\":_vm.submitTitle,\"disabled\":!_vm.form.recaptchaToken}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordForgot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordForgot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PasswordForgot.vue?vue&type=template&id=73e67100&\"\nimport script from \"./PasswordForgot.vue?vue&type=script&lang=js&\"\nexport * from \"./PasswordForgot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('h3',[_vm._v(\"Register New Account\")]),_c('p',[_vm._v(\"Fill this form to register a new account. You will be sent a verifying email.\")]),_c('h5',[_vm._v(\"Personal Information\")]),_c('validation-provider',{attrs:{\"name\":\"Given Name\",\"rules\":{required: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Given Name:\",\"label-align-sm\":\"right\",\"label-for\":\"given-name-box\"}},[_c('b-form-input',{attrs:{\"id\":\"given-name-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"1\"},model:{value:(_vm.form.givenName),callback:function ($$v) {_vm.$set(_vm.form, \"givenName\", $$v)},expression:\"form.givenName\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"givenName-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Family Name\",\"rules\":{required: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Family Name:\",\"label-align-sm\":\"right\",\"label-for\":\"family-name-box\"}},[_c('b-form-input',{attrs:{\"id\":\"family-name-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"2\"},model:{value:(_vm.form.familyName),callback:function ($$v) {_vm.$set(_vm.form, \"familyName\", $$v)},expression:\"form.familyName\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"familyName-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Email\",\"rules\":{required: true, email: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Email:\",\"label-align-sm\":\"right\",\"label-for\":\"email-box\"}},[_c('b-form-input',{attrs:{\"id\":\"email-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"username\",\"tabindex\":\"3\"},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", $$v)},expression:\"form.email\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"email-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"vid\":\"password\",\"name\":\"Password\",\"rules\":{required: true, regex: /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{10,}$/gm }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Password:\",\"label-align-sm\":\"right\",\"label-for\":\"password-box\"}},[_c('b-form-input',{attrs:{\"id\":\"password-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"4\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"password-feedback\"}},[_vm._v(\"The password must be at least 10 characters long containing the following: upper case letters, lower case letters, and digits.\")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Confirm Password\",\"rules\":{required: true, confirmed:'password' }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Confirm Password:\",\"label-align-sm\":\"right\",\"label-for\":\"confirmPassword-box\"}},[_c('b-form-input',{attrs:{\"id\":\"confirmPassword-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"5\"},model:{value:(_vm.form.confirmPassword),callback:function ($$v) {_vm.$set(_vm.form, \"confirmPassword\", $$v)},expression:\"form.confirmPassword\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"confirmPassword-feedback\"}},[_vm._v(\"The passwords must match.\")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Accept Terms\",\"rules\":{ required: { allowFalse: false } }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label-for\":\"acceptTerms-box\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"acceptTerms-box\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"6\"},model:{value:(_vm.form.acceptTerms),callback:function ($$v) {_vm.$set(_vm.form, \"acceptTerms\", $$v)},expression:\"form.acceptTerms\"}},[_vm._v(\" You agree to our use of \"),_c('b-link',{attrs:{\"href\":\"/info/privacy#cookies\",\"target\":\"_blank\"}},[_vm._v(\"cookies\")]),_vm._v(\", \"),_c('b-link',{attrs:{\"href\":\"/info/terms\",\"target\":\"_blank\"}},[_vm._v(\"Terms of Use\")]),_vm._v(\", and \"),_c('b-link',{attrs:{\"href\":\"/info/privacy\",\"target\":\"_blank\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\". \")],1),_c('b-form-invalid-feedback',{attrs:{\"id\":\"acceptTerms-feedback\",\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" You must agree to our use of cookies, Terms of Use, and Privacy Policy. \")])],1)]}}],null,true)}),_c('LoginOptions',{attrs:{\"tabindex\":\"6\"},model:{value:(_vm.form.stayLoggedIn),callback:function ($$v) {_vm.$set(_vm.form, \"stayLoggedIn\", $$v)},expression:\"form.stayLoggedIn\"}}),_c('div',{staticClass:\"d-flex justify-content-end pb-2\"},[_c('vue-recaptcha',{attrs:{\"sitekey\":_vm.reCaptchaSiteKey,\"size\":\"normal\",\"tabindex\":\"10\"},on:{\"verify\":_vm.onCaptchaVerified,\"expired\":_vm.onCaptchaExpired}})],1),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":_vm.onCancelRegistration}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\",\"data-toggle\":\"tooltip\",\"data-placement\":\"bottom\",\"title\":_vm.submitTitle,\"disabled\":!_vm.form.recaptchaToken}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=c4413c44&\"\nimport script from \"./Register.vue?vue&type=script&lang=js&\"\nexport * from \"./Register.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthenticationModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthenticationModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AuthenticationModal.vue?vue&type=template&id=5f64897c&\"\nimport script from \"./AuthenticationModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AuthenticationModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"displayOptionsModal\",\"size\":\"lg\",\"hide-header\":\"\"},on:{\"show\":_vm.onShow},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar close = ref.close;\nreturn [_c('div',{staticClass:\"w-100\"},[_c('b-button',{staticClass:\"float-right\",attrs:{\"size\":\"sm\"},on:{\"click\":function($event){close ()}}},[_vm._v(\" Close \")])],1)]}}])},[_c('h5',[_vm._v(\"Display Options\")]),_c('div',{staticClass:\"option-row\"},[_c('b-button',{attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.switchFamily()}}},[_vm._v(\" Switch Family \")])],1),_c('div',{staticClass:\"option-row\"},[_c('div',[_c('b-form-checkbox',{on:{\"change\":_vm.onRenderOptionChange},model:{value:(_vm.renderOptions.showAncestors),callback:function ($$v) {_vm.$set(_vm.renderOptions, \"showAncestors\", $$v)},expression:\"renderOptions.showAncestors\"}},[_vm._v(\"Show Ancestors?\")])],1),_c('div',{staticClass:\"option-cell-slider\"},[(_vm.renderOptions.showAncestors)?_c('div',[_c('b-input-group',{attrs:{\"size\":\"sm\",\"prepend\":\"Maximum Generations:\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-input-group-text',[_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:(_vm.generationPopoverText),expression:\"generationPopoverText\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]},proxy:true}],null,false,1175653353)},[_c('b-form-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###'),expression:\"'###'\"}],attrs:{\"type\":\"number\",\"max\":_vm.browserMaxGenerations,\"min\":\"1\",\"size\":\"sm\",\"step\":\"1\"},model:{value:(_vm.inputAncestorGenerations),callback:function ($$v) {_vm.inputAncestorGenerations=_vm._n($$v)},expression:\"inputAncestorGenerations\"}})],1),_c('vue-slider',{attrs:{\"dot-style\":_vm.dotStyle,\"label-style\":_vm.labelStyle,\"marks\":_vm.marksGeneration,\"max\":_vm.sliderValueMax,\"min\":1,\"tooltip\":'none'},model:{value:(_vm.sliderValueAncestor),callback:function ($$v) {_vm.sliderValueAncestor=$$v},expression:\"sliderValueAncestor\"}})],1):_vm._e()])]),_c('div',{staticClass:\"option-row\"},[_c('div',[_c('b-form-checkbox',{on:{\"change\":_vm.onRenderOptionChange},model:{value:(_vm.renderOptions.showDecendents),callback:function ($$v) {_vm.$set(_vm.renderOptions, \"showDecendents\", $$v)},expression:\"renderOptions.showDecendents\"}},[_vm._v(\"Show Decendents?\")])],1),_c('div',{staticClass:\"option-cell-slider\"},[(_vm.renderOptions.showDecendents)?_c('div',[_c('b-input-group',{attrs:{\"size\":\"sm\",\"prepend\":\"Maximum Generations:\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('b-input-group-text',[_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:(_vm.generationPopoverText),expression:\"generationPopoverText\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]},proxy:true}],null,false,1175653353)},[_c('b-form-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###'),expression:\"'###'\"}],attrs:{\"type\":\"number\",\"max\":_vm.browserMaxGenerations,\"min\":\"1\",\"size\":\"sm\",\"step\":\"1\"},model:{value:(_vm.inputDescendentGenerations),callback:function ($$v) {_vm.inputDescendentGenerations=_vm._n($$v)},expression:\"inputDescendentGenerations\"}})],1),_c('vue-slider',{attrs:{\"dot-style\":_vm.dotStyle,\"label-style\":_vm.labelStyle,\"marks\":_vm.marksGeneration,\"max\":_vm.sliderValueMax,\"min\":1,\"tooltip\":'none'},model:{value:(_vm.sliderValueDescendent),callback:function ($$v) {_vm.sliderValueDescendent=$$v},expression:\"sliderValueDescendent\"}})],1):_vm._e()])]),_c('div',{staticClass:\"option-row\"},[_c('div',[_c('b-form-checkbox',{on:{\"change\":_vm.onRenderOptionChange},model:{value:(_vm.renderOptions.showGenderInTree),callback:function ($$v) {_vm.$set(_vm.renderOptions, \"showGenderInTree\", $$v)},expression:\"renderOptions.showGenderInTree\"}},[_vm._v(\" Show Gender In Tree? \"),(_vm.suppressGender)?_c('span',{staticClass:\"inactive-option\"},[_vm._v(\"(This option ignored for the current family)\")]):_vm._e()])],1)]),_c('div',{staticClass:\"option-row\"},[_c('div',[_vm._v(\" Zoom \")]),_c('div',{staticClass:\"option-cell-slider\"},[_c('vue-slider',{attrs:{\"absorb\":\"true\",\"dot-style\":_vm.dotStyle,\"label-style\":_vm.labelStyle,\"marks\":_vm.marksZoom,\"max\":2,\"min\":0,\"tooltip\":'none'},model:{value:(_vm.sliderValueZoom),callback:function ($$v) {_vm.sliderValueZoom=$$v},expression:\"sliderValueZoom\"}})],1)]),_c('div',{staticClass:\"option-row\"},[_c('div',[_vm._v(\" Generation Width \")]),_c('div',{staticClass:\"option-cell-slider\"},[_c('vue-slider',{attrs:{\"dot-style\":_vm.dotStyle,\"marks\":_vm.marksWidth,\"tooltip\":'none'},model:{value:(_vm.sliderValueGenerationWidth),callback:function ($$v) {_vm.sliderValueGenerationWidth=$$v},expression:\"sliderValueGenerationWidth\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Creates a new object with properties who pass the predicate test\r\n// Thanks https://stackoverflow.com/a/5072145/1864995\r\nexport function filter(obj, predicate) {\r\n const result = {}\r\n\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key) && predicate(obj[key])) {\r\n result[key] = obj[key]\r\n }\r\n }\r\n\r\n return result\r\n}\r\n\r\nexport function ifExists(value) {\r\n if (value === undefined || value === null) \r\n return false\r\n else\r\n return true\r\n}","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisplayOptionsModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisplayOptionsModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DisplayOptionsModal.vue?vue&type=template&id=69ba27f5&\"\nimport script from \"./DisplayOptionsModal.vue?vue&type=script&lang=js&\"\nexport * from \"./DisplayOptionsModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"infoModal\",\"size\":\"lg\",\"hide-header\":\"\"},on:{\"show\":_vm.onShow},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar close = ref.close;\nreturn [_c('div',{staticClass:\"w-100\"},[_c('b-button',{staticClass:\"float-right\",attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return close()}}},[_vm._v(\" Close \")])],1)]}}])},[(!_vm.isLoading && _vm.hasTarget)?_c('div',[(_vm.isHeader)?_c('div',[_c('div',{staticClass:\"individual-name-info\"},[_vm._v(_vm._s(_vm.familyName))]),_c('table',{staticClass:\"info-header\"},[(_vm.familyDescription)?_c('tr',[_c('td',{staticClass:\"info-family-description\",attrs:{\"colspan\":\"2\"},domProps:{\"innerHTML\":_vm._s(_vm.familyDescriptionHtml)}})]):_vm._e(),(_vm.author)?_c('tr',[_c('td',[_vm._v(\"Author:\")]),_c('td',[_vm._v(_vm._s(_vm.author))])]):_vm._e(),(_vm.sourceUrl)?_c('tr',[_c('td',[_vm._v(\"Source:\")]),_c('td',{staticClass:\"long-url\"},[_c('b-link',{attrs:{\"href\":_vm.sourceUrl}},[_vm._v(_vm._s(_vm.sourceUrl))])],1)]):_vm._e()])]):_vm._e(),(_vm.isIndividual)?_c('div',[_c('InfoIndividual',{attrs:{\"individual-id\":_vm.entity.id,\"hide-detail-button\":true}})],1):_vm._e(),(_vm.showUnionSpouses)?_c('fieldset',{staticClass:\"info-section border\"},[_c('legend',{staticClass:\"w-auto\",domProps:{\"innerHTML\":_vm._s(_vm.coupleTitle)}}),_c('info-couple',{attrs:{\"spouses\":_vm.unionSpouses}})],1):_vm._e(),_c('b-card',{staticClass:\"info-tab\",attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"card\":\"\",\"pills\":\"\"},model:{value:(_vm.tabIndex),callback:function ($$v) {_vm.tabIndex=$$v},expression:\"tabIndex\"}},[_c('b-tab',{attrs:{\"title\":\"Particulars\"}},[_c('info-fact-section',{attrs:{\"facts\":_vm.facts.generalFacts,\"name\":\"General\",\"citation-number\":_vm.facts.primaryFact.citationNumber}}),_c('info-fact-section',{attrs:{\"facts\":_vm.facts.eventFacts,\"name\":\"Events\"}}),_c('info-fact-section',{attrs:{\"facts\":_vm.facts.ldsEventFacts,\"name\":\"LDS Events\"}}),_c('info-fact-section',{attrs:{\"facts\":_vm.facts.attributeFacts,\"name\":\"Attributes\"}}),_c('info-fact-section',{attrs:{\"facts\":_vm.facts.noteFacts,\"name\":\"Notes\"}}),_c('info-fact-section',{attrs:{\"facts\":_vm.facts.otherFacts,\"name\":\"Other\"}}),_c('info-citation-section',{attrs:{\"citations\":_vm.facts.citations}}),(!_vm.hasFacts)?_c('div',{staticClass:\"no-facts\"},[_vm._v(\"No Particulars Available\")]):_vm._e()],1),(_vm.hasDisplayableImages)?_c('b-tab',{attrs:{\"title\":\"Images\"}},[_c('b-carousel',{attrs:{\"interval\":4000,\"controls\":\"\",\"indicators\":\"\"}},_vm._l((_vm.displayableImages),function(image,index){return _c('b-carousel-slide',{key:(\"image-\" + index),attrs:{\"caption\":image.title,\"img-src\":image.url}})}),1)],1):_vm._e(),(_vm.showFamily)?_c('b-tab',{attrs:{\"title\":\"Family\"}},[(_vm.showIndividualParents)?_c('fieldset',{staticClass:\"info-section border\"},[_c('legend',{staticClass:\"w-auto\"},[_vm._v(\"Parents\")]),_vm._l((_vm.individualFamilyParents),function(parents,index){return _c('info-couple',{key:parents.pointer,attrs:{\"couple-index\":index,\"spouses\":parents.spouses,\"facts\":_vm.familyUnionFacts(parents)}})})],2):_vm._e(),(_vm.showIndividualUnions)?_c('fieldset',{staticClass:\"info-section border\"},[_c('legend',{staticClass:\"w-auto\"},[_vm._v(\"Unions\")]),_c('ul',{staticClass:\"union-list\"},_vm._l((_vm.individualFamilyUnions),function(familyRelationship){return _c('li',{key:familyRelationship.pointer,staticClass:\"info-entity-list\"},[(familyRelationship.union.spouse)?_c('info-individual',{attrs:{\"individual-id\":familyRelationship.union.spouse.id,\"union-id\":familyRelationship.union.id}}):_vm._e(),(!familyRelationship.union.spouse)?_c('div',{staticClass:\"unknown-spouse\"},[_vm._v(\"Unknown\")]):_vm._e(),_c('info-kid-list',{attrs:{\"union\":familyRelationship.union}})],1)}),0)]):_vm._e(),(_vm.showUnionChildren)?_c('fieldset',{staticClass:\"info-section border\"},[_c('legend',{staticClass:\"w-auto\"},[_vm._v(\"Children\")]),_c('info-kid-list',{attrs:{\"union\":_vm.unionChildren}})],1):_vm._e()]):_vm._e()],1)],1)],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const generalMap = {\r\n 'abbreviation': {default: 'Abbreviation'},\r\n 'address': {default: 'Address'},\r\n 'adoptiveParent': {default: 'Adoptive Parents'},\r\n 'age': {default: 'Age'},\r\n 'ageHusband': {default: \"Husband's Age\"},\r\n 'ageWife': {default: \"Wife's Age\"},\r\n 'agency': {default: 'Agency'},\r\n 'aliases': {default: 'Aliases'},\r\n 'ancestorInterest': {default: 'Ancestor Interest'},\r\n 'ancestralFileNumber': {default: 'Ancestral File Number'},\r\n 'associations': {default: 'Associations'},\r\n 'cause': {default: 'Cause'},\r\n 'certaintyAssessment': {default: 'Certainty Assessment'},\r\n 'creationDate': {default: 'Creation Date'},\r\n 'contact': {default: 'Contact'},\r\n 'copyright': {default: 'Copyright'},\r\n 'corporate': {default: 'Corporate'},\r\n 'date': {default: 'Date'},\r\n 'descendentInterest': {default: 'Descendent Interest'},\r\n 'emails': {default: 'Email Addresses'},\r\n 'externalFile': {default: 'External file'},\r\n 'event': {default: 'Event'},\r\n 'faxes': {default: 'Fax Numbers'},\r\n 'file': {default: 'File'},\r\n 'files': {default: 'Files'},\r\n 'fileNotDisplayable': {default: 'File not displayable'},\r\n 'generationsOfAncestors': {default: 'Generations Of Ancestors'},\r\n 'generationsOfDescendants': {default: 'generations Of Descendants'},\r\n 'lastChange': {default: 'Last Change'},\r\n 'ledger': {default: 'Ledger'},\r\n 'legal': {default: 'Legal'},\r\n 'letter': {default: 'Letter'},\r\n 'map': {default: 'Map Coordinates'},\r\n 'media': {default: 'Media'},\r\n 'multimedia': {default: 'Multimedia'},\r\n 'name': {default: 'Name'},\r\n 'nickname': {default: 'Known As'},\r\n 'ordinance': {default: 'Ordinance'},\r\n 'pedigree': {default: 'Pedigree'},\r\n 'place': {default: 'Place'},\r\n 'phones': {default: 'Phone Numbers'},\r\n 'photoRecordIdNumber': {default: 'Photo Record Id Number'},\r\n 'publication': {default: 'Publication'},\r\n 'recordFileNumber': {default: 'Record File Number'},\r\n 'recordIdNumber': {default: 'Record Id Number'},\r\n 'reference': {default: 'Reference'},\r\n 'relation': {default: 'Relation'},\r\n 'repository': {default: 'Repository'},\r\n 'restrictionNotice': {default: 'Restriction Notice'},\r\n 'role': {default: 'Role'},\r\n 'sex': {default: 'Sex'},\r\n 'shares': {default: 'Shares'},\r\n 'sourceCallNumbers': {default: 'Source Call Numbers'},\r\n 'status': {default: 'Status'},\r\n 'submitter': {default: 'Submitter'},\r\n 'temple': {default: 'Temple'},\r\n 'time': {default: 'Time'},\r\n 'title': {default: 'Title'},\r\n 'type': {default: 'Type'},\r\n 'url': {default: 'Url'},\r\n 'urls': {default: 'Urls'},\r\n 'version': {default: 'Version'},\r\n 'witnesses': {default: 'Witnesses'},\r\n\r\n \r\n\r\n ADOP: {default: 'Adoption'},\r\n ANUL: {default: 'Annulment'},\r\n BAPL: {default: 'Baptism'},\r\n BAPM: {default: 'Baptism'},\r\n BARM: {default: 'Bar Mitzvah'},\r\n BASM: {default: 'Bas Mitzvah'},\r\n BIRT: {default: 'Birth'},\r\n BLES: {default: 'Blessing'},\r\n BURI: {default: 'Burial'},\r\n CAST: {default: 'Caste'},\r\n CENS: {default: 'Census'},\r\n CHR: {default: 'Christening'},\r\n CHRA: {default: 'Adult Christening'},\r\n CONF: {default: 'Confirmation'},\r\n CONL: {default: 'Confirmation'},\r\n CREM: {default: 'Cremation'},\r\n DEAT: {default: 'Death'},\r\n DIV: {default: 'Divorce'},\r\n DIVF: {default: 'Divorce Filed'},\r\n DSCR: {default: 'Physical Description'},\r\n EDUC: {default: 'Education'},\r\n EMIG: {default: 'Emmigration'},\r\n ENDL: {default: 'Endowment'},\r\n ENGA: {default: 'Engagement'},\r\n EVEN: {default: 'Event'},\r\n FACT: {default: 'Fact'},\r\n FCOM: {default: 'First Communion'},\r\n GRAD: {default: 'Graduation'},\r\n IDNO: {default: 'National Id Number'},\r\n IMMI: {default: 'Immigration'},\r\n MARR: {default: 'Marriage'},\r\n MARB: {default: 'Marriage Public Notice'},\r\n MARC: {default: 'Marriage Contract'},\r\n MARL: {default: 'Marriage License'},\r\n MARS: {default: 'Marriage Settlement'},\r\n NATI: {default: 'National or Tribal Origin'},\r\n NATU: {default: 'Naturalization'},\r\n NCHI: {default: 'Number of Children'},\r\n NMR: {default: 'Number of Marriages'},\r\n OCCU: {default: 'Occupation'},\r\n ORDN: {default: 'Ordination'},\r\n PROB: {default: 'Probate'},\r\n PROP: {default: 'Possessions'},\r\n RELI: {default: 'Religious Affiliation'},\r\n RESI: {default: 'Residence'},\r\n RETI: {default: 'Retirement'},\r\n SLGC: {default: 'Sealing'},\r\n SSN: {default: 'Social Security Number'},\r\n TITL: {default: 'Title'},\r\n WAC: {default: 'Washing and Clothing'},\r\n WILL: {default: 'Will'},\r\n}\r\n\r\nexport const ageReplacer = {\r\n 'y': {default: ' years'},\r\n 'm': {default: ' months'},\r\n 'd': {default: ' days'},\r\n 'CHILD': {default: '< 8 years'},\r\n 'INFANT': {default: '< 1 year'},\r\n 'STILLBORN': {default: 'stillborn'}\r\n}\r\n\r\nexport const dateReplacer = {\r\n 'ABT': {default: 'about'},\r\n 'AFT': {default: 'after'},\r\n 'AND': {default: 'and'},\r\n 'BEF': {default: 'before'},\r\n 'BET': {default: 'between'},\r\n 'CAL': {default: 'calculated'},\r\n 'EST': {default: 'estimated'},\r\n 'FROM': {default: 'from'},\r\n 'INT ': {default: ''},\r\n 'TO': {default: 'to'},\r\n 'JAN': {default: 'Jan'},\r\n 'FEB': {default: 'Feb'},\r\n 'MAR': {default: 'Mar'},\r\n 'APR': {default: 'Apr'},\r\n 'MAY': {default: 'May'},\r\n 'JUN': {default: 'Jun'},\r\n 'JUL': {default: 'Jul'},\r\n 'AUG': {default: 'Aug'},\r\n 'SEP': {default: 'Sep'},\r\n 'OCT': {default: 'Oct'},\r\n 'NOV': {default: 'Nov'},\r\n 'DEC': {default: 'Dec'}\r\n}\r\n\r\nexport const ldsStatusMap = {\r\n 'BIC': {default: 'Born in the covenant receiving blessing of child to parent sealing.'},\r\n 'CANCELED': {default: 'Canceled and considered invalid.'},\r\n 'CHILD': {default: 'Died before eight years old.'},\r\n 'CLEARED': {default: 'Cleared for temple ordinance.'},\r\n 'COMPLETED': {default: 'Completed but the date is not known.'},\r\n 'DNS': {default: 'This record is not being submitted for this temple ordinances.'},\r\n 'DNS/CAN': {default: 'This record is not being submitted for this temple ordinances.'},\r\n 'INFANT': {default: 'Died before less than one year old, baptism not required.'},\r\n 'QUALIFIED': {default: 'Ordinance request qualified by authorized criteria.'},\r\n 'PRE-1970': {default: 'Ordinance is likely completed, another ordinance for this person was converted from temple records of work completed before 1970, therefore this ordinance is assumed to be complete until all records are converted.'},\r\n 'STILLBORN': {default: 'Stillborn, ordinance not required.'},\r\n 'SUBMITTED': {default: 'Ordinance was previously submitted.'},\r\n 'UNCLEARED': {default: 'Data for clearing ordinance request was insufficient.'},\r\n}\r\n\r\nexport const noteReplacer = {\r\n '{geni:about_me}': {default: 'About:'},\r\n '{geni:hair_color}': {default: 'Hair Color'},\r\n '{geni:eye_color}': {default: 'Eye Color'},\r\n '{geni:height_1}': {default: 'Height'},\r\n '{geni:height_2}': {default: 'Height'}\r\n}\r\n\r\nexport const pedigreeMap = {\r\n '0': {default: 'Unreliable evidence or estimated data'},\r\n '1': {default: 'Questionable reliability of evidence (interviews, census, oral genealogies, or potential for bias for example, an autobiography)'},\r\n '2': {default: 'Secondary evidence, data officially recorded sometime after event'},\r\n '3': {default: 'Direct and primary evidence used, or by dominance of the evidence'}\r\n}\r\n\r\nexport const quayMap = {\r\n 'adopted': {default: 'Adopted'},\r\n 'birth': {default: 'Birth'},\r\n 'foster': {default: 'Foster'},\r\n 'sealing': {default: 'Sealing'}\r\n}\r\n\r\nexport const restrictionMap = {\r\n 'confidential': {default: 'Confidential'},\r\n 'locked': {default: 'Locked'},\r\n 'privacy': {default: 'Private'}\r\n}\r\n\r\nexport const roleMap = {\r\n 'CHIL': {default: 'Child'},\r\n 'HUSB': {default: 'Husband'},\r\n 'WIFE': {default: 'Wife'},\r\n 'MOTH': {default: 'Mother'},\r\n 'FATH': {default: 'Father'},\r\n 'SPOU': {default: 'Spouse'},\r\n 'WitnessRole': {default: 'Witness'},\r\n}\r\n\r\nexport const sexMap = {\r\n 'F': {default: 'Female'},\r\n 'M': {default: 'Male'}\r\n}\r\n\r\nexport const statusMap = {\r\n 'challenged': {default: 'Challenged'},\r\n 'disproven': {default: 'Disproven'},\r\n 'proven': {default: 'Proven'}\r\n}\r\n\r\nexport const typeMap = {\r\n 'NameBirth': {default: 'Birth'},\r\n 'NameMarried': {default: 'Married'}\r\n}\r\n\r\nexport const ynReplacer = {\r\n 'Y': {default: 'Yes'},\r\n 'N': {default: 'No'}\r\n}","import * as labelMaps from '@/logic/culture/labelMaps'\r\n\r\nexport function getLabel(labelKey, language) {\r\n if (labelKey) {\r\n const map = labelMaps.generalMap[labelKey]\r\n\r\n if (map) {\r\n return map[language] || map['default']\r\n } else {\r\n console.warn(`Unable to translate labelKey '${labelKey}' into language '${language}'. There is no map.`)\r\n return 'Unknown'\r\n }\r\n } else {\r\n return null\r\n }\r\n}\r\n\r\nexport function getLocalizedValue(value, mapName, language) {\r\n let result = value\r\n\r\n if (value && mapName) {\r\n const map = labelMaps[mapName]\r\n \r\n if (map) {\r\n const valueMap = map[value]\r\n\r\n if (valueMap) {\r\n return valueMap[language] || valueMap['default'] || value\r\n } \r\n } \r\n\r\n result = result.replace('\\n','
')\r\n }\r\n\r\n return result\r\n}\r\n\r\nexport function formatAge(value, language) {\r\n value = value.split(' ').join(', ')\r\n return replaceTranslatableItems(value, \"ageReplacer\", language)\r\n}\r\n\r\nexport function formatDate(value, language) {\r\n return replaceTranslatableItems(value, \"dateReplacer\", language)\r\n}\r\n\r\nexport function formatEventValue(value, language) {\r\n if (value) {\r\n const special = value.trim().toUpperCase()\r\n\r\n if (special === 'Y' || special === 'V:Y') {\r\n return replaceTranslatableItems('Y', \"ynReplacer\", language)\r\n }\r\n } \r\n\r\n return value\r\n}\r\n\r\nexport function formatNote(value, language) {\r\n return replaceTranslatableItems(value, \"noteReplacer\", language,'','')\r\n}\r\n\r\nexport function replaceTranslatableItems(value, replacerName, language, wrapLeft = '', wrapRight = '') {\r\n const replacer = labelMaps[replacerName]\r\n let result = value\r\n\r\n if (value && replacer) {\r\n for (const key in replacer) {\r\n const valueMap = replacer[key];\r\n const replacement = valueMap[language] || valueMap['default'] \r\n const re = new RegExp(key, 'g')\r\n result = result.replace(re, `${wrapLeft}${replacement}${wrapRight}`)\r\n }\r\n\r\n // Capitalize the first character\r\n result = result.substr(0,1).toUpperCase() + result.substr(1)\r\n }\r\n\r\n return result\r\n}","export const individualEventCodes = ['BIRT','ADOP','CHR','FCOM','BAPM','BARM','BASM','CONF','BLES','CHRA','ORDN','CENS','NATU','EMIG','IMMI','GRAD','EVEN','RETI','DEAT','BURI','CREM','PROB','WILL']\r\nexport const individualLDSEventCodes = ['BAPL','CONL','WAC','ENDL','SLGC']\r\nexport const individualAttributeCodes = ['TITL','EDUC','OCCU','DSCR','CAST','NATI','NMR','NCHI','PROP','RELI','RESI','FACT','IDNO','SSN']\r\n\r\nexport const unionEventCodes = ['MARC','ENGA','MARS','MARL','MARR','MARB','EVEN','CENS','ANUL','DIVF','DIV']\r\nexport const unionLDSEventCodes = ['SLGS']\r\nexport const unionAttributeCodes = ['NCHI','RESI']\r\n\r\nexport const headerGeneralFactMap = [\r\n {pathList: ['date.date','date.time'], labelKey: 'creationDate', separator: ' ', specialHandlingType: 'date', subfacts: [\r\n {pathList: 'copyright', labelKey: 'copyright'}\r\n ]},\r\n {pathList: 'submission', specialHandlingType: 'submission'},\r\n {pathList: 'submittors', specialHandlingType: 'submittor'}\r\n]\r\n\r\nexport const individualGeneralFactMap = [\r\n {multivaluePath: 'names', pathList: 'fullName', citationPath: 'sources', labelKey: 'name', separator: ' ', subfacts: [\r\n {pathList: 'nickname', labelKey: 'nickname'},\r\n {pathList: 'type', labelKey: 'type', map: 'typeMap'},\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1},\r\n {pathList: 'restrictionNotice', labelKey: 'restrictionNotice', map: 'restrictionMap'}\r\n ]},\r\n {pathList: 'sex', labelKey: 'sex', map: 'sexMap'},\r\n {labelKey: 'aliases', factDisplayType: 2, subfacts: [\r\n {multivaluePath: 'aliases', pathList: 'pointer', pointerType: 'individual'},\r\n {multivaluePath: 'aliases', pathList: 'value'}\r\n ]},\r\n {labelKey: 'associations', factDisplayType: 2, subfacts: [\r\n {multivaluePath: 'associations', pathList: 'pointer', pointerType: 'individual', citationPath: 'sources', subfacts: [\r\n {pathList: 'relation', labelKey: 'relation', map: 'roleMap'},\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]}\r\n ]}\r\n]\r\n\r\nexport const individualOtherFactMap = [\r\n {pathList: 'multimedia', specialHandlingType: 'multimedia'},\r\n {labelKey: 'contact', factDisplayType: 2, private: true, subfacts: [\r\n {pathList: ['address.address1','address.address2','address.city','address.subdivision','address.postalCode','address.country'], labelKey: 'address', separator: ', '},\r\n {pathList: 'address.phones', alternatePathList: 'phones', labelKey: 'phones', separator: ', ', isSensitive: true},\r\n {pathList: 'address.emails', alternatePathList: 'emails', labelKey: 'emails', separator: ', ', isSensitive: true},\r\n {pathList: 'address.faxes', alternatePathList: 'faxes', labelKey: 'faxes', separator: ', ', isSensitive: true},\r\n {pathList: 'address.urls', alternatePathList: 'urls', labelKey: 'urls', separator: ', '},\r\n ]},\r\n {pathList: ['lastChange.date.date','lastChange.date.time'], labelKey: 'lastChange', separator: ' ', specialHandlingType: 'date', subfacts: [\r\n {pathList: 'lastChange.notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]},\r\n {pathList: 'submittors', specialHandlingType: 'submittor'},\r\n {pathList: 'recordFileNumber', labelKey: 'recordFileNumber'},\r\n {pathList: 'ancestralFileNumber', labelKey: 'ancestralFileNumber'},\r\n {pathList: ['reference.type', 'reference.value'], labelKey: 'reference', separator: ': '},\r\n {pathList: 'recordIdNumber', labelKey: 'recordIdNumber'},\r\n {pathList: 'restrictionNotice', labelKey: 'restrictionNotice', map: 'restrictionMap'}\r\n]\r\n\r\nexport const unionGeneralFactMap = []\r\n\r\nexport const unionOtherFactMap = [\r\n {pathList: 'multimedia', specialHandlingType: 'multimedia'},\r\n {pathList: ['lastChange.date.date','lastChange.date.time'], labelKey: 'lastChange', separator: ' ', specialHandlingType: 'date', subfacts: [\r\n {pathList: 'lastChange.notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]},\r\n {pathList: 'submittors', specialHandlingType: 'submittor'},\r\n {pathList: ['reference.type', 'reference.value'], labelKey: 'reference', separator: ': '},\r\n {pathList: 'recordIdNumber', labelKey: 'recordIdNumber'},\r\n {pathList: 'restrictionNotice', labelKey: 'restrictionNotice', map: 'restrictionMap'}\r\n]\r\n\r\nexport const childToFamilyMap = [\r\n {pathList: 'pedigree', labelKey: 'pedigree', map: 'pedigreeMap'},\r\n {pathList: 'status', labelKey: 'status', map: 'statusMap'},\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1}\r\n]\r\n\r\nexport const eventSubfactMap = [\r\n {pathList: 'type', labelKey: 'type'},\r\n {pathList: 'value', specialHandlingType: 'eventValue'},\r\n {pathList: 'place.value', citationPath: 'place.sources'},\r\n {pathList: ['place.map.latitude','place.map.longitude'], labelKey: 'map', separator: ','},\r\n {pathList: 'place.notes', specialHandlingType: 'note', factFormatType: 1},\r\n {pathList: 'place.multimedia', specialHandlingType: 'multimedia'},\r\n {pathList: 'place.placeReference', specialHandlingType: 'placeReference'},\r\n {pathList: 'placeReference', specialHandlingType: 'placeReference'},\r\n {pathList: ['address.address1','address.address2','address.city','address.subdivision','address.postalCode','address.country'], alternatePathList: 'address.address', separator: ', '},\r\n {pathList: 'address.phones', alternatePathList: 'phones', labelKey: 'phones', separator: ', ', isSensitive: true},\r\n {pathList: 'address.emails', alternatePathList: 'emails', labelKey: 'emails', separator: ', ', isSensitive: true},\r\n {pathList: 'address.faxes', alternatePathList: 'faxes', labelKey: 'faxes', separator: ', ', isSensitive: true},\r\n {pathList: 'address.urls', alternatePathList: 'urls', labelKey: 'urls', separator: ', '},\r\n {pathList: 'age', labelKey: 'age', specialHandlingType: 'age'},\r\n {pathList: 'husband.age', labelKey: 'ageHusband', specialHandlingType: 'age'},\r\n {pathList: 'wife.age', labelKey: 'ageWife', specialHandlingType: 'age'},\r\n {pathList: 'agency', labelKey: 'agency'},\r\n {pathList: 'cause', labelKey: 'cause'},\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1},\r\n {pathList: 'multimedia', specialHandlingType: 'multimedia'},\r\n {labelKey: 'associations', factDisplayType: 2, subfacts: [\r\n {multivaluePath: 'associations', pathList: 'pointer', pointerType: 'individual', subfacts: [\r\n {pathList: 'relation', labelKey: 'relation', map: 'roleMap'},\r\n {pathList: 'role', labelKey: 'role', map: 'roleMap'},\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]}\r\n ]},\r\n {labelKey: 'shares', factDisplayType: 2, subfacts: [\r\n {multivaluePath: 'shares', pathList: 'pointer', pointerType: 'individual', subfacts: [\r\n {pathList: 'relation', labelKey: 'relation', map: 'roleMap'},\r\n {pathList: 'role', labelKey: 'role', map: 'roleMap'},\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]}\r\n ]},\r\n {labelKey: 'witnesses', factDisplayType: 2, subfacts: [\r\n {multivaluePath: 'witnesses', pathList: 'pointer', pointerType: 'individual', subfacts: [\r\n {pathList: 'relation', labelKey: 'relation', map: 'roleMap'},\r\n {pathList: 'role', labelKey: 'role', map: 'roleMap'},\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]}\r\n ]},\r\n {pathList: 'restrictionNotice', labelKey: 'restrictionNotice', map: 'restrictionMap'}\r\n]\r\n\r\nexport const ldsEventSubfactMap = [\r\n {pathList: 'status', map:'ldsStatusMap'},\r\n {pathList: 'place.value', citationPath: 'place.sources'},\r\n {pathList: 'ldsTemple', labelKey: 'temple'}\r\n]\r\n\r\nexport const mediaFactMap = [\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1},\r\n {pathList: ['lastChange.date.date','lastChange.date.time'], labelKey: 'lastChange', separator: ' ', specialHandlingType: 'date', subfacts: [\r\n {pathList: 'lastChange.notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]},\r\n {pathList: ['reference.type', 'reference.value'], labelKey: 'reference', separator: ': '},\r\n {pathList: 'recordIdNumber', labelKey: 'recordIdNumber'},\r\n {pathList: 'photoRecordIdNumber', labelKey: 'photoRecordIdNumber'},\r\n]\r\n\r\nexport const repositoryFactMap1 = [\r\n {multivaluePath: 'names', pathList: 'fullName', labelKey: 'repository', citationPath: 'sources', subfacts: [\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]},\r\n {pathList: ['address.address1','address.address2','address.city','address.subdivision','address.postalCode','address.country'], alternatePathList: 'address.address', separator: ', '},\r\n {pathList: ['reference.type', 'reference.value'], labelKey: 'reference', separator: ': '},\r\n {pathList: 'recordIdNumber', labelKey: 'recordIdNumber'},\r\n {pathList: 'notes', specialHandlingType: 'note', factFormatType: 1}\r\n]\r\n\r\nexport const repositoryFactMap2 = [\r\n {pathList: 'address.phones', labelKey: 'phones', separator: ', '},\r\n {pathList: 'phones', labelKey: 'phones', separator: ', '},\r\n {pathList: 'address.emails', labelKey: 'emails', separator: ', '},\r\n {pathList: 'emails', labelKey: 'emails', separator: ', '},\r\n {pathList: 'address.faxes', labelKey: 'faxes', separator: ', '},\r\n {pathList: 'faxes', labelKey: 'faxes', separator: ', '},\r\n {pathList: 'urls', labelKey: 'urls', separator: ', '},\r\n {pathList: ['lastChange.date.date','lastChange.date.time'], labelKey: 'lastChange', separator: ' ', specialHandlingType: 'date', subfacts: [\r\n {pathList: 'lastChange.notes', specialHandlingType: 'note', factFormatType: 1}\r\n ]}\r\n]\r\n","import _ from 'lodash'\r\n\r\n// This method will return all of the group members specified by the codes. The codes will define the order. If there is \r\n// more than one group member with the same code, they will be shown in the original order.\r\n// Example: If codes is ['BIRT','GRAD','DEAT'], all the birth records will appear to start followed by all the graduations and finally by all the deaths.\r\nexport function getGroupMemberByCodes(individual, group, codes) {\r\n let result = []\r\n const gm = _.get(individual, group, [])\r\n codes.forEach(code => {\r\n const f = gm.filter(e => e.code === code)\r\n result = [...result, ...f]\r\n })\r\n return result\r\n}\r\n\r\nexport function getGroupMemberByCode(individual, group, code) {\r\n const g = _.get(individual, group, [])\r\n return g.filter(e => e.code === code)\r\n}\r\n\r\nexport function getGroupMemberByCodeFirst(individual, group, code) {\r\n const g = _.get(individual, group, [])\r\n const f = g.filter(e => e.code === code)\r\n return f.length > 0 ? f[0] : null\r\n}\r\n\r\nexport function getGroupMemberByCodePrimaryOrFirst(individual, group, code) {\r\n const g = _.get(individual, group, [])\r\n const f = g.filter(e => e.code === code)\r\n const fp = f.filter(e => e.primary)\r\n\r\n if (fp.length > 0)\r\n return fp[0]\r\n else if (f.length > 0)\r\n return f[0]\r\n else \r\n return null\r\n}\r\n\r\nexport function getGroupMemberByCodeLast(individual, group, code) {\r\n const g = _.get(individual, group, [])\r\n const f = g.filter(e => e.code === code)\r\n return f.length > 0 ? f[f.length - 1] : null\r\n}\r\n\r\nexport function getGroupMemberByPrimaryOrFirst(individual, group) {\r\n const g = _.get(individual, group, [])\r\n const fp = g.filter(e => g.primary)\r\n\r\n if (fp.length > 0)\r\n return fp[0]\r\n else if (g.length > 0)\r\n return g[0]\r\n else \r\n return null\r\n}\r\n\r\nexport function pushValue(targetArray, value, surroundLeft = '') {\r\n if (value) {\r\n const surroundRight = surroundLeft ==='(' ? ')' : surroundLeft\r\n targetArray.push(`${surroundLeft}${value}${surroundRight}`)\r\n }\r\n}\r\n\r\nexport function pushValueByPath(entity, targetArray, path, surroundLeft = '') {\r\n const value = _.get(entity,path)\r\n pushValue(targetArray, value, surroundLeft)\r\n return value\r\n}\r\n\r\nexport function pushValueByPathList(entity, pathList, targetArray, separator) {\r\n const r = []\r\n pathList.forEach(path => {\r\n pushValueByPath(entity, r, path)\r\n })\r\n \r\n pushValue(targetArray, r.join(separator)) \r\n}\r\n","import _ from 'lodash'\r\nimport * as cultureUtils from '@/logic/culture/cultureUtils'\r\nimport * as familyFactDefinitions from '@/logic/family/familyFactDefinitions'\r\nimport { getGroupMemberByCodes, pushValue, pushValueByPath } from '@/logic/family/familyFactUtils'\r\n\r\nconst displayableFormats = ['bmp','gif','jpg']\r\n\r\nclass Fact {\r\n citationNumber = null\r\n displayableFileNumber = null\r\n factDisplayType = 3\r\n factFormatType = 0\r\n label = null \r\n pointerType = null\r\n private = false\r\n subfacts = []\r\n value = null\r\n}\r\n\r\nclass FactDefinition {\r\n alternatePathList = null // If a value is not returned from the pathList, the alternatePathList is used. The alternatePathList is only used if value and pathList have no result.\r\n citationPath = null // The path to the potential citations for this fact\r\n factDisplayType = 3 // How this fact should be rendered: 1=1 column, 2=2 column 3=3 Column\r\n factFormatType = 0 // How the fact should be formatted as a subfact: 0=Normal, 1=Note, 2=Text\r\n forceCreation = false // Create this fact even if there is no value specified?\r\n isSensitive = false // Is sensitive information and view can be restricted to select individuals\r\n labelKey = null // The label key for the translation tables for this fact. If one exists, a label will be shown\r\n map = null // A map of values each of which can provide a different language specific value. Example: M=Male,hombre,etc F=Female,mujer,etc\r\n multivaluePath = null // If each element of an array is a separate fact, this is the path to the array itself\r\n pathList = null // Either a single string or an array of strings. All will be used by the lodash _.get function to find the values. If the pathList is an '*', return the whole entity. Useful when paired with multivaluePath.\r\n pointerType = null // If this fact points to another entity such as an individual or submittor\r\n private = false // TODO Only someone with the appropriate authority can see this fact.\r\n replacer = null // A list of items within the value that will be replaced by language specific words. Example: JAN=Jan,enero,etc FEB=Feb,feb\r\n separator = '' // If multiple paths were provided then the resulting values will be concatenated together with this separator\r\n specialHandlingType = null // If special logic is required for the fact value\r\n value = null // Value can be provided directly\r\n}\r\n\r\nclass FactResult {\r\n primaryFact = new Fact()\r\n attributeFacts = []\r\n citations = []\r\n displayableImages = []\r\n eventFacts = []\r\n generalFacts = []\r\n ldsEventFacts = []\r\n noteFacts = []\r\n otherFacts = []\r\n}\r\n\r\nexport default class FamilyFactFactory {\r\n // A note regarding the private variables. Vue appears to modify the class instance making the fields read-only. To prevent that, the fields need to be private\r\n // however, they no longer show up on the Chrome dev tools so I am only changing these two. Alternately, I could put them inside a sub-object.\r\n\r\n familyData = null\r\n language = null\r\n canViewSensitive = false\r\n #citations = []\r\n #displayableImages = []\r\n #lastCitationNumber = 0\r\n #lastCitationPointer = null\r\n #lastDisplayableFileNumber = 0\r\n #usedCitationPointers = {}\r\n\r\n #TitleExternalFile = cultureUtils.getLabel('externalFile',this.language)\r\n #TitleFileNotDisplayable = cultureUtils.getLabel('fileNotDisplayable',this.language)\r\n \r\n constructor(familyData, language, canViewSensitive){\r\n this.familyData = familyData\r\n this.language = language\r\n this.canViewSensitive = canViewSensitive\r\n }\r\n \r\n addCodeFacts(entity, sourceProperty, eventCodes, factArray, factMap) {\r\n const items = getGroupMemberByCodes(entity, sourceProperty, eventCodes)\r\n \r\n items.forEach(item => {\r\n const fact = this.pushFactByPath(item, factArray, {forceCreation: true, citationPath: 'sources', labelKey: item.code, pathList: 'date.date', specialHandlingType: 'date'})\r\n this.addFactsFromMap(item, factMap, fact.subfacts)\r\n })\r\n }\r\n \r\n addFactsFromMap(entity, factMap, factArray) {\r\n factMap.forEach(factDefinition => {\r\n switch (factDefinition.specialHandlingType) {\r\n case 'multimedia':\r\n this.addMultimediaFacts(entity, factArray, factDefinition.pathList)\r\n break;\r\n case 'note':\r\n this.addNoteFacts(entity, factArray, factDefinition.pathList)\r\n break;\r\n case 'placeReference':\r\n this.addPlaceReferenceFacts(entity, factArray, factDefinition.pathList)\r\n break;\r\n case 'submission':\r\n this.addSubmissionFacts(entity, factArray, factDefinition.pathList)\r\n break;\r\n case 'submittor':\r\n this.addSubmittorFacts(entity, factArray, factDefinition.pathList)\r\n break;\r\n default: \r\n this.pushFactByPath(entity, factArray, factDefinition)\r\n } \r\n })\r\n }\r\n\r\n // Notes can have citations and citations can have notes. It could, in theory, go on forever so we don't support citations on notes within citations.\r\n addNoteFacts(entity, factArray, notesPath, { supportsCitations } = { supportsCitations: true }) {\r\n const notes = _.get(entity,notesPath,[])\r\n\r\n notes.forEach(note => {\r\n const pointer = note.pointer\r\n let fact = this.pushFactByPath(note, factArray, {pathList: 'value', specialHandlingType: 'note', factDisplayType: 1, factFormatType: 1 })\r\n\r\n if (supportsCitations) {\r\n this.buildCitation(note, fact, {citationPath: 'sources'})\r\n }\r\n\r\n if (pointer) {\r\n const record = this.familyData.notes[pointer]\r\n fact = this.pushFactByPath(record, factArray, {pathList: 'value', specialHandlingType: 'note', factDisplayType: 1, factFormatType: 1 })\r\n\r\n if (record.pointer) {\r\n this.pushFactByPath(record, factArray, {labelKey: 'reference', pathList: ['reference.type', 'reference.value'], separator: ': '})\r\n this.pushFactByPath(record, factArray, {labelKey: 'recordIdNumber', pathList: 'abbreviation'})\r\n } \r\n }\r\n })\r\n }\r\n\r\n addMultimediaFacts(entity, factArray, objectPath, { supportsCitations } = { supportsCitations: true }) {\r\n const multimediaLinks = _.get(entity,objectPath,[])\r\n\r\n multimediaLinks.forEach(multiMediaLink => {\r\n let record = multiMediaLink\r\n const pointer = record.pointer\r\n\r\n if (pointer) {\r\n record = this.familyData.multimedia[pointer]\r\n }\r\n\r\n const fact = this.pushFact(multiMediaLink, factArray, {labelKey: 'multimedia', factDisplayType: 2, forceCreation: true})\r\n\r\n if (supportsCitations) {\r\n this.buildCitation(record, fact, { citationPath: 'sources' })\r\n }\r\n\r\n const baseForm = _.get(record,'format','')\r\n const baseTitle = _.get(record,'title')\r\n const files = _.get(record,'files',[])\r\n\r\n files.forEach(file => {\r\n // Format\r\n const formparts = _.get(file,'format',baseForm).toLowerCase().split(':')\r\n const form = formparts[formparts.length-1]\r\n\r\n // Title & media\r\n const title = _.get(file,'title',baseTitle)\r\n this.pushFact(file, fact.subfacts, {value: title})\r\n this.pushFactByPath(file, fact.subfacts, {labelKey: 'media', pathList: 'media'})\r\n\r\n // Url\r\n const url = _.get(file,'url')\r\n const isDisplayable = url && url.toLowerCase().startsWith('http') && displayableFormats.includes(form)\r\n\r\n if (isDisplayable) {\r\n const location = new URL(url)\r\n const hostname = location.hostname\r\n const linkTitle = `${this.#TitleExternalFile}: ${hostname}`\r\n const link = `${linkTitle}`\r\n const urlFact = this.pushFact(file, fact.subfacts, {labelKey: 'url', value: link})\r\n\r\n urlFact.displayableFileNumber = ++this.#lastDisplayableFileNumber\r\n this.#displayableImages.push({\r\n displayableFileNumber: urlFact.displayableFileNumber,\r\n title: title,\r\n url: url\r\n })\r\n } else {\r\n this.pushFact(file, fact.subfacts, {value: `${url} *(${this.#TitleFileNotDisplayable })*`})\r\n }\r\n })\r\n\r\n this.addFactsFromMap(record, familyFactDefinitions.mediaFactMap, fact.subfacts)\r\n })\r\n }\r\n\r\n addSubmissionFacts(entity, factArray, submissionPath) {\r\n const submission = _.get(entity,submissionPath)\r\n this.pushFactByPath(submission, factArray, {pathList: 'submittors', specialHandlingType: 'submittor'})\r\n this.pushFactByPath(submission, factArray, {labelKey: 'temple', pathList: 'ldsTemple'})\r\n this.pushFactByPath(submission, factArray, {labelKey: 'ordinance', pathList: 'ordinance'})\r\n this.pushFactByPath(submission, factArray, {labelKey: 'recordIdNumber', pathList: 'recordIdNumber'})\r\n\r\n }\r\n\r\n addSubmittorFacts(entity, factArray, submittorPath) {\r\n const submittors = _.get(entity,submittorPath,[])\r\n\r\n submittors.forEach(submittor => {\r\n const record = this.familyData.submittors[submittor]\r\n this.pushFactByPath(record, factArray, {labelKey: \"submitter\", factDisplayType: 2, subfacts: [\r\n {multivaluePath: 'names', pathList: 'fullName', separator: ', '}, \r\n {pathList: ['address.address1','address.address2','address.city','address.subdivision','address.postalCode','address.country'], labelKey: 'address', separator: ', '},\r\n {pathList: 'address.phones', alternatePathList: 'phones', labelKey: 'phones', separator: ', ', isSensitive: true},\r\n {pathList: 'address.emails', alternatePathList: 'emails', labelKey: 'emails', separator: ', ', isSensitive: true},\r\n {pathList: 'address.faxes', alternatePathList: 'faxes', labelKey: 'faxes', separator: ', ', isSensitive: true},\r\n {pathList: 'address.urls', alternatePathList: 'urls', labelKey: 'urls', separator: ', '},\r\n {pathList: 'multimedia', specialHandlingType: 'multimedia'},\r\n {pathList: 'familyFile', labelKey: 'file'},\r\n {pathList: 'recordIdNumber', labelKey: 'recordIdNumber'},\r\n {pathList: 'recordFileNumber', labelKey: 'recordFileNumber'},\r\n {pathList: 'date.date', labelKey: 'lastChange'}\r\n ]})\r\n })\r\n }\r\n\r\n addPlaceReferenceFacts(entity, factArray, placePath) {\r\n const placeReference = _.get(entity,placePath,{})\r\n const pointer = placeReference.pointer\r\n\r\n if (pointer) {\r\n const record = this.familyData.places[pointer]\r\n this.pushFactByPath(record, factArray, {labelKey: 'map', pathList: ['map.latitude','map.longitude'], separator: ','})\r\n this.addNoteFacts(record, factArray, 'notes')\r\n this.addMultimediaFacts(record, factArray, 'multimedia')\r\n }\r\n }\r\n\r\n addRepositoryFacts(entity, factArray, placePath) {\r\n const repositoryReference = _.get(entity,placePath,{})\r\n const record = repositoryReference.pointer ? this.familyData.repositories[repositoryReference.pointer] : {}\r\n this.addFactsFromMap(record, familyFactDefinitions.repositoryFactMap1, factArray)\r\n this.pushFactByPath(repositoryReference, factArray, {labelKey: 'repository', pathList: 'value'})\r\n this.pushFactByPath(repositoryReference, factArray, {multivaluePath: 'sourceCallNumbers', pathList: ['media', 'value'], labelKey: 'sourceCallNumbers', separator: ': '})\r\n this.addNoteFacts(repositoryReference, factArray, 'notes')\r\n this.addFactsFromMap(record, familyFactDefinitions.repositoryFactMap2, factArray)\r\n }\r\n\r\n buildCitation(entity, fact, factDefinition) {\r\n const sources = _.get(entity, factDefinition.citationPath, [])\r\n\r\n if (sources.length > 0) {\r\n const citation = {\r\n citationNumber: ++this.#lastCitationNumber,\r\n footnote: null,\r\n subfacts: []\r\n }\r\n\r\n this.#citations.push(citation)\r\n fact.citationNumber = citation.citationNumber\r\n const footnotes = []\r\n\r\n sources.forEach(source => {\r\n const pointer = source.pointer\r\n const record = pointer ? this.familyData.sources[pointer] : {}\r\n const value = source.value\r\n const footnoteParts = []\r\n const nameParts = []\r\n let includeFactDetails = false\r\n\r\n if (value) {\r\n footnoteParts.push(value)\r\n this.pushFactByPath(source, citation.subfacts, {multivaluePath: 'text', pathList: '*', factDisplayType: 3, factFormatType: 2 })\r\n } \r\n\r\n // We construct the name of the source using standard citation rules.\r\n const author = pushValueByPath(record, nameParts, 'author') \r\n const title = pushValueByPath(record, nameParts,'title') \r\n const publication = pushValueByPath(record, nameParts,'publication') \r\n\r\n if (pointer === this.#lastCitationPointer) {\r\n footnoteParts.push('*ibid.*')\r\n } else if (this.#usedCitationPointers[pointer]) {\r\n if (nameParts.length > 0) footnoteParts.push(nameParts[0])\r\n footnoteParts.push('*op.cit.*')\r\n } else {\r\n includeFactDetails = true\r\n const p = []\r\n pushValue(p, title, '*')\r\n pushValue(p, publication, '(')\r\n const titlePublication = p.join(' ')\r\n\r\n pushValue(footnoteParts,author) \r\n pushValue(footnoteParts,titlePublication) \r\n }\r\n\r\n // Push other facts\r\n if (includeFactDetails) {\r\n this.addNoteFacts(source, citation.subfacts, 'notes', { supportsCitations: false })\r\n this.pushFactByPath(source, citation.subfacts, {multivaluePath: 'data.text', pathList: '*', factDisplayType: 3, factFormatType: 2 }) \r\n this.pushFactByPath(source, citation.subfacts, {multivaluePath: 'events', pathList: 'value', labelKey: 'event', map: 'generalMap'}) \r\n this.pushFactByPath(source, citation.subfacts, {multivaluePath: 'events', pathList: 'role', labelKey: 'role', map: 'roleMap'}) \r\n this.pushFactByPath(source, citation.subfacts, {pathList: 'data.date.date', labelKey: 'date', specialHandlingType: 'date'}) \r\n this.addMultimediaFacts(source, citation.subfacts, 'multimedia') \r\n\r\n this.pushFactByPath(record, citation.subfacts, {pathList: 'abbreviation', labelKey: 'abbreviation'}) \r\n this.addNoteFacts(record, citation.subfacts, 'notes', { supportsCitations: false }) \r\n this.pushFactByPath(record, citation.subfacts, {multivaluePath: 'text', pathList: '*', factDisplayType: 3, factFormatType: 2 }) \r\n this.pushFactByPath(record, citation.subfacts, {multivaluePath: 'data.events', pathList: 'value', labelKey: 'event', map: 'generalMap', subfacts: [ \r\n {pathList: 'date.date', labelKey: 'date', specialHandlingType: 'date'}, \r\n {pathList: 'place.value', labelKey: 'place'}, \r\n ]})\r\n this.addMultimediaFacts(record, citation.subfacts, 'multimedia') \r\n this.pushFactByPath(record, citation.subfacts, {pathList: 'agency', labelKey: 'agency' }) \r\n this.pushFactByPath(record, citation.subfacts, {pathList: ['reference.type', 'reference.value'], labelKey: 'reference', separator: ': '}) \r\n this.pushFactByPath(record, citation.subfacts, {pathList: 'recordIdNumber', labelKey: 'recordIdNumber'})\r\n\r\n this.pushFactByPath(source, citation.subfacts, {pathList: 'certaintyAssessment', labelKey: 'certaintyAssessment', map: 'pedigreeMap' }) \r\n this.pushFactByPath(record, citation.subfacts, {pathList: ['lastChange.date.date','lastChange.date.time'], labelKey: 'lastChange', separator: ' ', specialHandlingType: 'date', subfacts: [ \r\n {pathList: 'lastChange.notes', specialHandlingType: 'note', factDisplayType: 1, factFormatType: 1} \r\n ]})\r\n\r\n this.pushFactByPath(source, citation.subfacts, {pathList: 'version', labelKey: 'version'})\r\n\r\n this.addRepositoryFacts(record, citation.subfacts, 'repository', { supportsCitations: false })\r\n }\r\n\r\n pushValueByPath(source, footnoteParts, 'page') \r\n footnotes.push(footnoteParts.join(', ')) \r\n this.#lastCitationPointer = pointer \r\n this.#usedCitationPointers[pointer] = true \r\n });\r\n\r\n citation.footnote = footnotes.join('; ')\r\n }\r\n }\r\n\r\n buildFacts(entity, generalFactMap, eventCodes, ldsEventCodes, attributeCodes, otherFactMap) {\r\n this.#lastCitationNumber = 0\r\n this.#lastCitationPointer = null\r\n this.#lastDisplayableFileNumber = 0\r\n this.#usedCitationPointers = {}\r\n this.#citations = []\r\n this.#displayableImages = []\r\n\r\n const result = new FactResult()\r\n result.citations = this.#citations\r\n result.displayableImages = this.#displayableImages\r\n\r\n // Look for a citation on the top level entity\r\n this.buildCitation(entity, result.primaryFact, { citationPath: 'sources' })\r\n\r\n this.addFactsFromMap(entity, generalFactMap, result.generalFacts)\r\n this.addCodeFacts(entity, 'events', eventCodes, result.eventFacts, familyFactDefinitions.eventSubfactMap)\r\n this.addCodeFacts(entity, 'ldsIndividualOrdinance', ldsEventCodes, result.ldsEventFacts, familyFactDefinitions.ldsEventSubfactMap)\r\n this.addCodeFacts(entity, 'attributes', attributeCodes, result.attributeFacts, familyFactDefinitions.eventSubfactMap)\r\n this.addNoteFacts(entity, result.noteFacts, 'notes')\r\n this.addFactsFromMap(entity, otherFactMap, result.otherFacts)\r\n\r\n return result\r\n }\r\n\r\n buildHeaderFacts(header) {\r\n return this.buildFacts(\r\n header, \r\n familyFactDefinitions.headerGeneralFactMap,\r\n [],\r\n [],\r\n [],\r\n [])\r\n }\r\n\r\n buildIndividualFacts(individual) {\r\n return this.buildFacts(\r\n individual, \r\n familyFactDefinitions.individualGeneralFactMap, \r\n familyFactDefinitions.individualEventCodes, \r\n familyFactDefinitions.individualLDSEventCodes,\r\n familyFactDefinitions.individualAttributeCodes, \r\n familyFactDefinitions.individualOtherFactMap)\r\n }\r\n\r\n buildUnionFacts(union) {\r\n return this.buildFacts(\r\n union, \r\n familyFactDefinitions.unionGeneralFactMap, \r\n familyFactDefinitions.unionEventCodes, \r\n familyFactDefinitions.unionLDSEventCodes,\r\n familyFactDefinitions.unionAttributeCodes, \r\n familyFactDefinitions.unionOtherFactMap)\r\n }\r\n\r\n buildFamilyRelationshipFacts(familyRelationship) {\r\n const result = []\r\n this.addFactsFromMap(familyRelationship, familyFactDefinitions.childToFamilyMap, result)\r\n return result\r\n }\r\n\r\n // Some values need special formatting\r\n formatValue(factDefinition) {\r\n let result = factDefinition.value || ''\r\n\r\n if (Array.isArray(result)) {\r\n result = result.join(factDefinition.separator)\r\n }\r\n\r\n switch (factDefinition.specialHandlingType) \r\n {\r\n case 'age':\r\n result = cultureUtils.formatAge(result, this.language)\r\n break;\r\n case 'date':\r\n result = cultureUtils.formatDate(result, this.language)\r\n break;\r\n case 'eventValue':\r\n result = cultureUtils.formatEventValue(result, this.language)\r\n break;\r\n case 'note':\r\n result = cultureUtils.formatNote(result, this.language)\r\n break;\r\n }\r\n\r\n if (factDefinition.map)\r\n result = cultureUtils.getLocalizedValue(result, factDefinition.map, this.language)\r\n\r\n if (factDefinition.replacer)\r\n result = cultureUtils.replaceTranslatableItems(result, factDefinition.replacer, this.language)\r\n\r\n return result.toString().replace(/\\n/g,'
')\r\n }\r\n\r\n pushFact(entity, factArray, factDefinition = new FactDefinition()) {\r\n if (factDefinition.isSensitive && !this.canViewSensitive) return\r\n\r\n const fact = {...new Fact(), ..._.pick(factDefinition, ['factDisplayType','factFormatType','pointerType','private'])}\r\n fact.label = cultureUtils.getLabel(factDefinition.labelKey, this.language)\r\n fact.value = factDefinition.value ? this.formatValue(factDefinition) : null\r\n\r\n if (fact && factDefinition.citationPath) {\r\n this.buildCitation(entity, fact, factDefinition)\r\n }\r\n\r\n if (factDefinition.subfacts) {\r\n this.addFactsFromMap(entity, factDefinition.subfacts, fact.subfacts)\r\n }\r\n\r\n if (fact.value || factDefinition.forceCreation || fact.subfacts.length > 0) {\r\n factArray.push(fact)\r\n return fact\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n pushFactDetail(entity, factArray, factDefinition) {\r\n if (Array.isArray(factDefinition.pathList)) {\r\n const r = []\r\n factDefinition.pathList.forEach(path => {\r\n pushValueByPath(entity, r, path)\r\n })\r\n factDefinition.value = r.join(factDefinition.separator)\r\n } else {\r\n // If the pathlist is an * than return the whole entity\r\n factDefinition.value = factDefinition.pathList === '*' ? entity : _.get(entity, factDefinition.pathList)\r\n }\r\n\r\n if (!factDefinition.value && factDefinition.alternatePathList) {\r\n factDefinition.value = _.get(entity, factDefinition.alternatePathList)\r\n }\r\n\r\n const fact = this.pushFact(entity, factArray, factDefinition)\r\n \r\n return fact\r\n }\r\n\r\n pushFactByPath(entity, factArray, factDefinition = new FactDefinition()) {\r\n if (factDefinition.multivaluePath) {\r\n const values = _.get(entity, factDefinition.multivaluePath,[])\r\n values.forEach(item => {\r\n this.pushFactDetail(item, factArray, factDefinition)\r\n })\r\n } else {\r\n return this.pushFactDetail(entity, factArray, factDefinition)\r\n }\r\n }\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasCitations)?_c('fieldset',{staticClass:\"info-section border\"},[_c('legend',{staticClass:\"w-auto\"},[_vm._v(\"Footnotes\")]),_c('b-table-simple',{staticClass:\"info-table\",attrs:{\"hover\":\"\",\"stacked\":\"md\"}},[_c('b-tbody',{staticClass:\"align-top\"},_vm._l((_vm.citations),function(citation,a){return _c('tr',{key:(\"citation-row-\" + a)},[_c('td',{staticClass:\"text-nowrap text-right zero-width\",domProps:{\"innerHTML\":_vm._s(_vm.cardinal(citation))}}),_c('td',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.footnote(citation))}}),_vm._l((citation.subfacts),function(subfact,b){return _c('InfoSubfact',{key:(\"citation-subfact-\" + b),attrs:{\"subfact\":subfact}})})],2)])}),0)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classSubfact},[_c('div',[_c('span',[(_vm.subfact.label)?_c('span',{staticClass:\"info-label\"},[_vm._v(_vm._s(_vm.label)+\": \")]):_vm._e(),(_vm.hasIndividualPointer)?_c('info-individual',{attrs:{\"individual-id\":_vm.subfact.value,\"citation-number\":_vm.subfact.citationNumber}}):_vm._e(),(_vm.hasNoPointer)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.value)}}):_vm._e()],1)]),_vm._l((_vm.subfact.subfacts),function(subsubfact,index){return _c('info-subfact',{key:(\"sub-subfacts-\" + index),attrs:{\"subfact\":subsubfact}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('individual-name',{attrs:{\"individual-id\":_vm.individualId,\"citation-number\":_vm.citationNumber,\"hide-detail-button\":_vm.hideDetailButton,\"show-buttons\":true,\"union-id\":_vm.unionId,\"use-formal-name\":true}}),_c('individual-summary',{attrs:{\"individual-id\":_vm.individualId}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classIndividualName},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.name)}}),(_vm.isDuplicate)?_c('b-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottomright\",value:(_vm.duplicateText),expression:\"duplicateText\",modifiers:{\"hover\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}}):_vm._e(),(_vm.showButtons)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onShowTree}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'project-diagram']}}),_vm._v(\"Tree\")],1):_vm._e(),(_vm.showButtons && !_vm.hideDetailButton)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onShowIndividualDetails}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'book']}}),_vm._v(\"Particulars\")],1):_vm._e(),(_vm.unionId)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onShowUnionDetails}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'link']}}),_vm._v(\"Union\")],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash'\r\n\r\nimport * as cultureUtils from '@/logic/culture/cultureUtils'\r\nimport * as familyFactUtils from '@/logic/family/familyFactUtils'\r\nimport male from '@/assets/male.png'\r\nimport female from '@/assets/female.png'\r\n\r\nconst referenceErrorIndividual = {\r\n names: [\r\n {\r\n fullName: \"(GEDCOM Reference Error: Individual Missing)\"\r\n }\r\n ]\r\n}\r\n\r\n// [Deprecated]\r\nexport function getAvatarUrl(individual) {\r\n const images = _.get(individual, 'files', []).filter(x => x.primary)\r\n const url = _.get(images[0], 'file')\r\n\r\n if (url)\r\n return url.includes('://') ? url : url.replace(':','://')\r\n else {\r\n const gender = getGender(individual)\r\n return getGenderAvatarUrl(gender)\r\n }\r\n}\r\n\r\nexport function getGenderAvatarUrl(gender) {\r\n switch (gender) \r\n {\r\n case 'F':\r\n return female \r\n case 'M':\r\n return male \r\n default:\r\n return male // TODO gender neutral\r\n }\r\n}\r\n\r\nexport function getIndividual(familyData, individualId, showReferenceError = true) {\r\n let individual = familyData.individuals[individualId]\r\n\r\n if (!individual && showReferenceError) {\r\n individual = {...referenceErrorIndividual, id: individualId}\r\n }\r\n\r\n return individual\r\n}\r\n\r\nexport function getName(individual) {\r\n const name = familyFactUtils.getGroupMemberByPrimaryOrFirst(individual, 'names')\r\n const fullname = _.get(name, 'fullName', ' ')\r\n const nameSuffix = _.get(name, 'nameSuffix')\r\n const nickname = _.get(name, 'nickname')\r\n\r\n // Alter the fullname\r\n const names = fullname.split(' ').filter(word => nameSuffix ? nameSuffix != word : true) // Strip out the nameSuffix\r\n\r\n // Nickname handling\r\n if (nickname) {\r\n const i = names.findIndex(word => word.toLowerCase() === nickname.toLowerCase())\r\n\r\n // If the nickname exists as a one of the names\r\n if (i === -1) { \r\n // The nickname was not found. Insert it as the second name\r\n names.splice(1, 0, `(${nickname})`)\r\n } else {\r\n // Wrap the name that matches the nickname in single quotes\r\n names[i] = `'${nickname}'`\r\n } \r\n }\r\n\r\n return names.join(' ').trim()\r\n}\r\n\r\nexport function getFormalName(individual) {\r\n const name = familyFactUtils.getGroupMemberByPrimaryOrFirst(individual, 'names')\r\n const fullname = _.get(name, 'fullName', ' ')\r\n const titleAttribute = familyFactUtils.getGroupMemberByCodeLast(individual, 'attributes','TITL')\r\n const names = fullname.split(' ')\r\n\r\n if (titleAttribute) {\r\n const title = _.get(titleAttribute, 'value')\r\n names.splice(0,0,title)\r\n }\r\n\r\n return names.join(' ').trim()\r\n}\r\n\r\nexport function getGender(individual) {\r\n return _.get(individual, 'sex')\r\n}\r\n\r\nexport function getGenderIcon(gender) {\r\n switch (gender)\r\n {\r\n case 'F':\r\n return 'venus'\r\n case 'M':\r\n return 'mars'\r\n default:\r\n return 'genderless'\r\n }\r\n}\r\n\r\nexport function getBirthDeathSummary(individual, language) {\r\n const birthEvent = familyFactUtils.getGroupMemberByCodePrimaryOrFirst(individual, 'events','BIRT')\r\n const deathEvent = familyFactUtils.getGroupMemberByCodePrimaryOrFirst(individual, 'events','DEAT')\r\n const birth = cultureUtils.formatDate(_.get(birthEvent, 'date.date'), language)\r\n const death = cultureUtils.formatDate(_.get(deathEvent, 'date.date'), language)\r\n\r\n if (birth && death)\r\n return `${birth} - ${death}`\r\n else if (birth)\r\n return `b. ${birth}`\r\n else if (death)\r\n return `d. ${death}`\r\n else \r\n return ''\r\n}\r\n","import removeAccents from 'remove-accents'\r\n\r\nexport function getUrlSEOSafeName(value) {\r\n const base = value || 'x' // Never work with null or empty strings. Use 'x' as default\r\n const latin = removeAccents(base) // Strip of accents. For example, 'ÀÁÂÃÄÅ' are converted to 'A'\r\n const regex1 = /[^0-9a-zA-Z]+/g // Allow only the following characters. A subset of RFC1738\r\n const urlSafe = latin.replace(regex1, '_') // Replace any other character with an underscore. Multiple invalid characters in a row are replaced with a single underscore\r\n const regex2 = /^_*|_*$/g // Strip off any leading or trailing underscores\r\n const clean = urlSafe.replace(regex2, '')\r\n return clean.toLowerCase() || 'x'\r\n}\r\n\r\nexport function getFamilyURL(familyId, familyName) {\r\n const familySEO = getUrlSEOSafeName(familyName)\r\n const path = { \r\n name: 'Family', \r\n params: { \r\n familyId: familyId,\r\n familyName: familyName,\r\n familySEO: familySEO\r\n },\r\n path: `/tree/${familyId}/${familySEO}`\r\n }\r\n\r\n return path\r\n}\r\n\r\nexport function getIndividualURL(familyId, familyName, individualId, fullName) { \r\n const familySEO = getUrlSEOSafeName(familyName)\r\n const individualSEO = getUrlSEOSafeName(fullName)\r\n const path = { \r\n name: 'Individual Tree', \r\n params: { \r\n familyId: familyId,\r\n familyName: familyName,\r\n familySEO: familySEO,\r\n individualId: individualId,\r\n individualName: fullName,\r\n individualSEO: individualSEO\r\n },\r\n path: `/tree/${familyId}/${familySEO}/${individualId}/${individualSEO}`\r\n }\r\n\r\n return path\r\n}","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndividualName.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndividualName.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IndividualName.vue?vue&type=template&id=f1dd7664&\"\nimport script from \"./IndividualName.vue?vue&type=script&lang=js&\"\nexport * from \"./IndividualName.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classIndividualDetails},[_c('gender-icon',{attrs:{\"individual\":_vm.individual,\"is-in-tree\":_vm.isInTree}}),_vm._v(\" \"+_vm._s(_vm.getBirthDeathSummary)+\" \")],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showGender)?_c('span',[_c('font-awesome-icon',{staticClass:\"gender-icon\",attrs:{\"icon\":_vm.genderIcon}}),_vm._v(\" \")],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenderIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenderIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GenderIcon.vue?vue&type=template&id=2be5bc22&\"\nimport script from \"./GenderIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./GenderIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndividualSummary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndividualSummary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IndividualSummary.vue?vue&type=template&id=422de777&\"\nimport script from \"./IndividualSummary.vue?vue&type=script&lang=js&\"\nexport * from \"./IndividualSummary.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoIndividual.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoIndividual.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoIndividual.vue?vue&type=template&id=03104404&\"\nimport script from \"./InfoIndividual.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoIndividual.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoSubfact.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoSubfact.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoSubfact.vue?vue&type=template&id=136d15fa&\"\nimport script from \"./InfoSubfact.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoSubfact.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoCitationSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoCitationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoCitationSection.vue?vue&type=template&id=247747a4&\"\nimport script from \"./InfoCitationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoCitationSection.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"info-couple info-item-striped\"},[_c('info-fact-section',{attrs:{\"facts\":_vm.facts,\"name\":\"Details\"}}),_vm._l((_vm.spouses),function(spouse,index){return _c('div',{key:index,class:_vm.classWrapper(index)},[_c('div',{class:_vm.classLeft(index)}),_c('div',{staticClass:\"info-couple-person\"},[_c('info-individual',{attrs:{\"individual-id\":spouse.id}})],1)])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasFacts)?_c('fieldset',{staticClass:\"info-section border\"},[_c('legend',{staticClass:\"w-auto\",domProps:{\"innerHTML\":_vm._s(_vm.legend)}}),_c('b-table-simple',{staticClass:\"info-table\",attrs:{\"hover\":\"\",\"stacked\":\"md\"}},[_c('b-tbody',{staticClass:\"align-top\"},_vm._l((_vm.facts),function(fact,index){return _c('info-fact',{key:(\"\" + index),attrs:{\"fact\":fact}})}),1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[(_vm.fact.factDisplayType === 1)?_c('td',{attrs:{\"colspan\":\"3\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.valueWithCitation)}}),_vm._l((_vm.fact.subfacts),function(subfact,index){return _c('info-subfact',{key:(\"subfacts-\" + index),attrs:{\"subfact\":subfact}})})],2):_vm._e(),(_vm.fact.factDisplayType !== 1)?_c('td',{staticClass:\"text-nowrap zero-width\",domProps:{\"innerHTML\":_vm._s(_vm.label)}}):_vm._e(),(_vm.fact.factDisplayType === 2)?_c('td',{attrs:{\"colspan\":\"2\"}},[(_vm.hasIndividualPointer)?_c('info-individual',{attrs:{\"individual-id\":_vm.fact.value,\"citation-number\":_vm.fact.citationNumber}}):_vm._e(),(_vm.hasNoPointer)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.valueWithCitation)}}):_vm._e(),_vm._l((_vm.fact.subfacts),function(subfact,index){return _c('info-subfact',{key:(\"subfacts-\" + index),attrs:{\"subfact\":subfact}})})],2):_vm._e(),(_vm.fact.factDisplayType === 3)?_c('td',{staticClass:\"text-nowrap zero-width\",domProps:{\"innerHTML\":_vm._s(_vm.value)}}):_vm._e(),(_vm.fact.factDisplayType === 3)?_c('td',_vm._l((_vm.fact.subfacts),function(subfact,index){return _c('info-subfact',{key:(\"subfacts-\" + index),attrs:{\"subfact\":subfact}})}),1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoFact.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoFact.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoFact.vue?vue&type=template&id=e2338e8a&\"\nimport script from \"./InfoFact.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoFact.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoFactSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoFactSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoFactSection.vue?vue&type=template&id=d8b37030&\"\nimport script from \"./InfoFactSection.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoFactSection.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoCouple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoCouple.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoCouple.vue?vue&type=template&id=55459e89&\"\nimport script from \"./InfoCouple.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoCouple.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.union.kids.length > 0)?_c('table',{staticClass:\"info-offspring-container\"},_vm._l((_vm.union.kids),function(kid,k){return _c('fragment',{key:kid.id},[_c('tr',[_c('td',{staticClass:\"offspring-top\"}),_c('td',{attrs:{\"rowspan\":\"2\"}},[_c('div',{staticClass:\"child-container child-container-normal\"},[_c('div',{staticClass:\"child-title child-title-normal\"},[_c('individual-name',{attrs:{\"individual-id\":kid.id,\"show-buttons\":true}}),_c('individual-summary',{attrs:{\"individual-id\":kid.id}})],1)])])]),_c('tr',[_c('td',{class:{ 'offspring-more': _vm.hasMoreKids(_vm.union, k) }})])])}),1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoKidList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoKidList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoKidList.vue?vue&type=template&id=26d4cd65&\"\nimport script from \"./InfoKidList.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoKidList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import _ from 'lodash'\r\nimport * as individualUtils from '@/logic/family/individualUtils'\r\n\r\nexport function getFamilyRelationships(familyData, individual, group) {\r\n const familyUnions = _.get(individual, group, [])\r\n\r\n // Materialize the unions\r\n // Sometimes the original Gedcom file can contain bad data. If the union does not exist we will filter it out\r\n const fu = familyUnions.map(familyRelationship => enhanceFamilyRelationship(familyData, familyRelationship, individual.id)).filter(union => union != null)\r\n\r\n // Unions are not sorted and are presented in the same order they were received in the original GEDCOM file. \r\n // GEDCOM does not support union order so we must assume that the exports have sorted the unions appropriately.\r\n return fu\r\n}\r\n\r\nexport function getFamilyParents(familyData, individual) {\r\n return getFamilyRelationships(familyData, individual, 'familyParents')\r\n}\r\n\r\nexport function getFamilyUnions(familyData, individual) {\r\n return getFamilyRelationships(familyData, individual, 'familyUnions')\r\n}\r\n\r\nexport function enhanceFamilyRelationship(familyData, familyRelationship, individualId = null) {\r\n if (!familyRelationship) {\r\n return null\r\n }\r\n\r\n const eunion = enhanceUnion(familyData, familyRelationship.pointer, individualId)\r\n\r\n // Bad data check\r\n if (!eunion) {\r\n return null\r\n }\r\n\r\n const eFamilyUnion = _.cloneDeep(familyRelationship)\r\n eFamilyUnion[\"union\"] = eunion\r\n eFamilyUnion[\"spouses\"] = getSpouses(familyData, eunion)\r\n\r\n return eFamilyUnion\r\n}\r\n\r\nexport function enhanceUnion(familyData, unionId, individualId = null) {\r\n const union = familyData.families[unionId]\r\n\r\n // Bad data check\r\n if (!union) {\r\n return null\r\n }\r\n\r\n const eUnion = _.cloneDeep(union)\r\n\r\n if (!eUnion.spouses) eUnion.spouses = []\r\n\r\n // Materialize and the other spouse. We will assume no more then one at this point but there could be zero\r\n // This can only be done if the individualId is known.\r\n const spouseId = eUnion.spouses.find(x => x !== individualId)\r\n\r\n if (spouseId) {\r\n const spouse = individualUtils.getIndividual(familyData, spouseId) \r\n\r\n // Bad data check\r\n if (spouse) eUnion['spouse'] = spouse\r\n }\r\n\r\n eUnion['kids'] = getChildren(familyData, union)\r\n\r\n return eUnion\r\n}\r\n\r\n// Materialize and sort the children of a union\r\n// Sometimes the original Gedcom file can contain bad data. If the union does not exist we will filter it out\r\nexport function getChildren(familyData, union) {\r\n if (union.children) {\r\n return union.children\r\n .map(item => {\r\n const individual = individualUtils.getIndividual(familyData, item.pointer, false)\r\n return individual ? _.merge(_.cloneDeep(individual), _.omit(item,['pointer'])) : null\r\n })\r\n .filter(eIndividual => eIndividual != null)\r\n } else {\r\n return []\r\n }\r\n}\r\n\r\n// TODO introduce option that favours adoption over birth\r\nexport function getBirthParents(familyData, individual) {\r\n const parents = _.get(individual, 'familyParents', [])\r\n\r\n const birthParents = parents.filter(item => {\r\n const pedigree = _.get(item, 'pedigree.value')\r\n return pedigree === 'birth'\r\n })\r\n\r\n let familyRelationship = null\r\n\r\n if (birthParents.length > 0)\r\n familyRelationship = birthParents[0]\r\n else if (parents.length > 0)\r\n familyRelationship = parents[0]\r\n\r\n return enhanceFamilyRelationship(familyData, familyRelationship)\r\n}\r\n\r\nexport function getParents(familyData, individual) {\r\n const parents = getBirthParents(familyData, individual)\r\n \r\n if (parents) {\r\n return getSpouses(familyData, parents.union)\r\n } else {\r\n return []\r\n }\r\n}\r\n\r\nexport function getParentsChildren(familyData, individual) {\r\n const parents = getBirthParents(familyData, individual)\r\n\r\n if (parents) {\r\n return getChildren(familyData, parents.union)\r\n }\r\n}\r\n\r\nexport function getSpouses(familyData, union) {\r\n if (union) {\r\n const spouses = union.spouses\r\n\r\n if (spouses) {\r\n return spouses.map(individualId => individualUtils.getIndividual(familyData, individualId))\r\n .sort((a,b) => {\r\n const namesA = individualUtils.getName(a).split(' ')\r\n const namesB = individualUtils.getName(b).split(' ')\r\n const nameA = namesA[namesA.length - 1]\r\n const nameB = namesB[namesB.length - 1]\r\n\r\n if (nameA < nameB) {\r\n return -1\r\n } else if (nameA > nameB) {\r\n return 1\r\n } else {\r\n return 0\r\n }\r\n })\r\n } else {\r\n return []\r\n }\r\n } else {\r\n return []\r\n }\r\n}","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoModal.vue?vue&type=template&id=111277f5&\"\nimport script from \"./InfoModal.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"size\":\"md\",\"hide-header\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){return [_c('div',{staticClass:\"w-100\"},[_c('b-button',{staticClass:\"float-right\",attrs:{\"size\":\"sm\"},on:{\"click\":function($event){return _vm.onClose()}}},[_vm._v(\" Close \")])],1)]}}]),model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v},expression:\"showModal\"}},[_c('div',{staticClass:\"px-2 pt-2\"},[_c('p',[_vm._v(\"You have received one or more new invitations to view a private family. Any invitations that you do not accept at this time can be viewed under \\\"Account Actions\\\".\")]),_c('AcceptInvitations',{attrs:{\"show-viewed\":false},on:{\"no-more-invitations\":function($event){return _vm.onNoMoreInvitations()}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('div',{staticClass:\"d-flex flex-wrap justify-content-between\"},[_c('div',[_c('h4',[_vm._v(\"Invitations Available\")])]),_c('div',[(_vm.hasPageTwo)?_c('b-pagination',{attrs:{\"per-page\":_vm.tablePerPage,\"total-rows\":_vm.tableRows,\"aria-controls\":\"my-table\",\"align\":\"right\"},model:{value:(_vm.tableCurrentPage),callback:function ($$v) {_vm.tableCurrentPage=$$v},expression:\"tableCurrentPage\"}}):_vm._e()],1)]),_c('b-table',{attrs:{\"busy\":_vm.busy,\"current-page\":_vm.tableCurrentPage,\"items\":_vm.tableData,\"fields\":_vm.tableFields,\"per-page\":_vm.tablePerPage,\"empty-text\":\"There are no more invitations to show\",\"hover\":\"\",\"responsive\":\"\",\"show-empty\":\"\",\"stacked\":\"md\",\"striped\":\"\"},scopedSlots:_vm._u([{key:\"cell(familyNameBase)\",fn:function(row){return [_vm._v(\" \"+_vm._s(row.item.familyNameBase)+\" \")]}},{key:\"cell(actions)\",fn:function(row){return [(!_vm.isProcessing(row))?_c('b-button',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.onAcceptInvitation(row)}}},[_c('b-icon',{attrs:{\"icon\":\"clipboard-check\"}}),_vm._v(\"Accept \")],1):_vm._e(),(_vm.hasRowError(row))?_c('div',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"alert alert-danger alert-table\",attrs:{\"title\":_vm.rowError(row)}},[_vm._v(\"Error\")]):_vm._e()]}},{key:\"table-busy\",fn:function(){return [_c('TableBusy')]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-center my-2\"},[_c('b-spinner',{staticClass:\"align-middle\"}),_c('strong',[_vm._v(\" Loading...\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./TableBusy.vue?vue&type=template&id=7de71334&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AcceptInvitations.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AcceptInvitations.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AcceptInvitations.vue?vue&type=template&id=cfd14d62&\"\nimport script from \"./AcceptInvitations.vue?vue&type=script&lang=js&\"\nexport * from \"./AcceptInvitations.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewInvitationsModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewInvitationsModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NewInvitationsModal.vue?vue&type=template&id=2787c466&\"\nimport script from \"./NewInvitationsModal.vue?vue&type=script&lang=js&\"\nexport * from \"./NewInvitationsModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"saveTreeModal\",\"size\":\"lg\",\"hide-header\":\"\"},on:{\"show\":_vm.onShow},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar close = ref.close;\nreturn [_c('div',{staticClass:\"w-100\"},[_c('b-button',{staticClass:\"float-right\",attrs:{\"size\":\"sm\"},on:{\"click\":function($event){close ()}}},[_vm._v(\" Close \")])],1)]}}])},[_c('h5',[_vm._v(\"Save File\")]),_c('div',{staticClass:\"option-row\"},[_c('div',[_vm._v(\" File Type \")]),_c('div',{staticClass:\"option-cell\"},[_c('b-form-radio-group',{attrs:{\"options\":_vm.fileTypes},model:{value:(_vm.fileType),callback:function ($$v) {_vm.fileType=$$v},expression:\"fileType\"}})],1)]),(_vm.isPdf)?_c('div',{staticClass:\"option-row\"},[_c('div',[_vm._v(\" Paper Type \")]),_c('div',{staticClass:\"option-cell\"},[_c('b-form-select',{attrs:{\"options\":_vm.paperTypes},model:{value:(_vm.paperType),callback:function ($$v) {_vm.paperType=$$v},expression:\"paperType\"}})],1)]):_vm._e(),(_vm.isPdf)?_c('div',{staticClass:\"option-row\"},[_c('div',[_vm._v(\" Layout \")]),_c('div',{staticClass:\"option-cell\"},[_c('b-form-radio-group',{attrs:{\"options\":_vm.layouts},model:{value:(_vm.layout),callback:function ($$v) {_vm.layout=$$v},expression:\"layout\"}})],1)]):_vm._e(),(_vm.isPdf)?_c('div',{staticClass:\"option-row\"},[_c('div',[_vm._v(\"Include Cut Guides?\")]),_c('div',[_c('b-form-checkbox',{model:{value:(_vm.printCutGuides),callback:function ($$v) {_vm.printCutGuides=$$v},expression:\"printCutGuides\"}})],1)]):_vm._e(),_c('div',{staticClass:\"option-row\"},[_c('div',[_vm._v(\" Scaling \")]),_c('div',{staticClass:\"option-cell-slider\"},[_c('vue-slider',{attrs:{\"dot-style\":_vm.dotStyle,\"marks\":_vm.marksSize,\"max\":1000,\"min\":0},model:{value:(_vm.scalingFactor),callback:function ($$v) {_vm.scalingFactor=$$v},expression:\"scalingFactor\"}})],1)]),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"primary\",\"disabled\":_vm.postState.inProgress},on:{\"click\":_vm.onGenerate}},[_vm._v(\" Generate \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getLabel } from '@/logic/culture/cultureUtils'\r\n\r\n// Page sizes in points\r\n// https://www.prepressure.com/library/paper-size\r\nexport const paperSizes = {\r\n 'a0': {h: 3370, w: 2384, imperial: '33.11\" x 46.81\"', metric: '841mm x 1189mm', useName: true, displayName: 'A0'},\r\n 'a1': {h: 2384, w: 1684, imperial: '23.39\" x 33.11\"', metric: '594mm x 841mm', useName: true, displayName: 'A1'},\r\n 'a2': {h: 1684, w: 1190, imperial: '16.54\" x 23.39\"', metric: '420mm x 594mm', useName: true, displayName: 'A2'},\r\n 'a3': {h: 1190, w: 842, imperial: '11.69\" x 16.54\"', metric: '297mm x 420mm', useName: true, displayName: 'A3'},\r\n 'a4': {h: 842, w: 595, imperial: '8.27\" x 11.69\"', metric: '210mm x 297mm', useName: true, displayName: 'A4'},\r\n\r\n 'b0': {h: 4008, w: 2835, imperial: '39.37\" x 55.67\"', metric: '1000mm x 1414mm', useName: true, displayName: 'B0'},\r\n 'b1': {h: 2835, w: 2004, imperial: '27.83\" x 39.37\"', metric: '707mm x 1000mm', useName: true, displayName: 'B1'},\r\n 'b2': {h: 2004, w: 1417, imperial: '19.69\" x 27.83\"', metric: '500mm x 707mm', useName: true, displayName: 'B2'},\r\n 'b3': {h: 1417, w: 1001, imperial: '13.90\" x 19.69\"', metric: '353mm x 500mm', useName: true, displayName: 'B3'},\r\n 'b4': {h: 1001, w: 709, imperial: '9.84\" x 13.90\"', metric: '250mm x 353mm', useName: true, displayName: 'B4'},\r\n\r\n 'legal': {h: 1008, w: 612, imperial: '8.5\" x 14\"', metric: '215.9mm x 355.6mm', useName: true},\r\n 'letter': {h: 792, w: 612, imperial: '8.5\" x 11\"', metric: '215.9mm x 279.4mm', useName: true},\r\n 'ledger': {h: 1224, w: 792, imperial: '11\" x 17\"', metric: '279.4mm x 431.8mm', useName: true},\r\n 'ANSIC': {h: 1584, w: 1224, imperial: '17\" x 22\"', metric: '432mm x 559mm', useName: false, displayName: 'ANSI C'},\r\n 'ANSID': {h: 2448, w: 1584, imperial: '22\" x 34\"', metric: '559mm x 864mm', useName: false, displayName: 'ANSI D'},\r\n 'ANSIE': {h: 3168, w: 2448, imperial: '34\" x 44\"', metric: '864mm x 1118mm', useName: false, displayName: 'ANSI E'},\r\n}\r\n\r\nexport function getPaperDimensions (paperType, layout) {\r\n const dim = paperSizes[paperType]\r\n return layout === 'p' ? { height: dim.h, width: dim.w} : { height: dim.w, width: dim.h} \r\n}\r\n\r\nexport function paperSizesSorted(language) {\r\n const ps = []\r\n\r\n for (const paperSize in paperSizes) {\r\n const details = paperSizes[paperSize]\r\n const translated = details.displayName ? details.displayName : getLabel(paperSize,language)\r\n ps.push({\r\n name: translated === 'Unknown' ? paperSize : translated,\r\n value: paperSize,\r\n imperial: details.imperial,\r\n metric: details.metric\r\n })\r\n }\r\n\r\n return ps.sort(function(a,b) {\r\n const nameA = a.name.toUpperCase(); // ignore upper and lowercase\r\n const nameB = b.name.toUpperCase(); // ignore upper and lowercase\r\n if (nameA < nameB) return -1;\r\n else if (nameA > nameB) return 1;\r\n else return 0\r\n })\r\n}","import html2canvas from 'html2canvas'\r\nimport { jsPDF } from 'jspdf'\r\nimport { getPaperDimensions, paperSizes } from '@/logic/file/pageSizes'\r\nimport canvasSize from 'canvas-size'\r\n\r\n// Constants\r\nconst marginMM = 10 \r\nconst cutGuideLengthPTs = 8\r\nconst topOfPageAdjustment = 10 // This number removes some of the extra padding at the top of the page.\r\n\r\n// With much thanks to https://stackoverflow.com/a/55965338/1864995\r\nexport function generateFile (elementId, individualName, fileType, layout, paperType, scaling, printCutGuides) {\r\n return new Promise((resolve, reject) => {\r\n const paper = getPaperDimensions(paperType,layout)\r\n const marginPt = Math.round(marginMM * 72 / 25.4)\r\n const paperImageMaxHeight= getPixelDimension(paper.height, marginPt) \r\n const paperImageMaxWidth = getPixelDimension(paper.width, marginPt) \r\n const element = document.getElementById(elementId) \r\n const options = {\r\n imageTimeout: 0,\r\n scale: scaling,\r\n x: 0,\r\n y: getTopPx(element),\r\n scrollX: 0,\r\n scrollY: 0,\r\n height: element.scrollHeight,\r\n width: element.scrollWidth\r\n }\r\n\r\n // Test to see if we have exceeded the canvas size maximums for this browser\r\n const isValidCanvas = canvasSize.test({\r\n width : element.scrollWidth,\r\n height: element.scrollHeight\r\n });\r\n\r\n if (!isValidCanvas) {\r\n reject(\"The size of the family tree is too large to save. Try using Firefox or reduce the number of generations.\")\r\n console.log(`Canvas too large: height:${element.scrollHeight} width:${element.scrollWidth}`)\r\n return\r\n }\r\n \r\n html2canvas(element, options).then((canvas) => {\r\n // Go to this site to view the image: https://codebeautify.org/base64-to-image-converter\r\n const test1 = canvas.toDataURL(\"image/png\") // eslint-disable-line no-unused-vars\r\n\r\n if (fileType === 'image') {\r\n const link = document.createElement('a')\r\n link.download = `Family Tree - ${individualName}.png`\r\n link.href = canvas.toDataURL(\"image/png\")\r\n link.dataset.downloadurl = [\"image/png\", link.download, link.href].join(':')\r\n\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n\r\n } if (fileType === 'pdf') {\r\n const dimensions = paperSizes[paperType].useName ? paperType : [paper.width, paper.height]\r\n const pdf = new jsPDF(layout, 'pt', dimensions)\r\n let sourceX = 0\r\n let sourceY = Math.round(topOfPageAdjustment * scaling) // The space on the first page must be scaled\r\n let isPage1 = true\r\n \r\n while (sourceX < canvas.width) {\r\n while (sourceY < canvas.height) {\r\n const subCanvas = document.createElement('canvas')\r\n const context = subCanvas.getContext('2d')\r\n const imageHeight = canvas.height - sourceY > paperImageMaxHeight ? paperImageMaxHeight : canvas.height - sourceY\r\n const imageWidth = canvas.width - sourceX > paperImageMaxWidth ? paperImageMaxWidth : canvas.width - sourceX\r\n \r\n subCanvas.height = imageHeight\r\n subCanvas.width = imageWidth \r\n context.drawImage(canvas, sourceX, sourceY, imageWidth, imageHeight, 0, 0, imageWidth, imageHeight)\r\n \r\n // Go to this site to view the image: https://codebeautify.org/base64-to-image-converter\r\n //const test2 = subCanvas.toDataURL(\"image/png\") // eslint-disable-line no-unused-vars\r\n \r\n // Add the page except on page 1\r\n if (isPage1) {\r\n isPage1 = false\r\n } else {\r\n pdf.addPage();\r\n }\r\n \r\n const imageHeightPts = Math.ceil(imageHeight * .75)\r\n const imageWidthPts = Math.ceil(imageWidth * .75)\r\n pdf.addImage(subCanvas, 'PNG', marginPt, marginPt, imageWidthPts, imageHeightPts);\r\n \r\n // Draw cut guides\r\n if (printCutGuides) {\r\n drawCutGuides(pdf, marginPt, cutGuideLengthPTs, imageWidthPts, imageHeightPts)\r\n }\r\n \r\n sourceY += paperImageMaxHeight\r\n }\r\n \r\n sourceY = topOfPageAdjustment\r\n sourceX += paperImageMaxWidth\r\n }\r\n \r\n pdf.save(`Family Tree - ${individualName}.pdf`);\r\n }\r\n\r\n resolve()\r\n })\r\n })\r\n}\r\n\r\nfunction drawCutGuides(pdf, marginPt, cutGuideLengthPTs, imageWidthPts, imageHeightPts) {\r\n pdf.line(marginPt - cutGuideLengthPTs, marginPt, marginPt, marginPt, 'S') // Top left horizontal\r\n pdf.line(marginPt, marginPt - cutGuideLengthPTs, marginPt, marginPt, 'S') // Top left vertical\r\n pdf.line(marginPt + imageWidthPts, marginPt, marginPt + imageWidthPts + cutGuideLengthPTs, marginPt,'S') // Top right horizontal\r\n pdf.line(marginPt + imageWidthPts, marginPt - cutGuideLengthPTs, marginPt + imageWidthPts, marginPt,'S') // Top right vertical\r\n pdf.line(marginPt - cutGuideLengthPTs, imageHeightPts + marginPt, marginPt, imageHeightPts + marginPt, 'S') // Bottom left horizontal\r\n pdf.line(marginPt, imageHeightPts + marginPt, marginPt, imageHeightPts + marginPt + cutGuideLengthPTs, 'S') // Bottom left vertical\r\n pdf.line(marginPt + imageWidthPts, imageHeightPts + marginPt, marginPt + imageWidthPts + cutGuideLengthPTs, imageHeightPts + marginPt, 'S') // Bottom right horizontal\r\n pdf.line(marginPt + imageWidthPts, imageHeightPts + marginPt, marginPt + imageWidthPts, imageHeightPts + marginPt + cutGuideLengthPTs, 'S') // Bottom right vertical\r\n}\r\n\r\nfunction getPixelDimension (pts, marginPt) {\r\n return Math.round((pts - (2 * marginPt)) * (4/3))\r\n}\r\n\r\nfunction getTopPx (element) {\r\n const styles = element.style.cssText\r\n\r\n if (styles) {\r\n const matches = styles.match(/top:\\s*(\\d+)px;?/i) \r\n\r\n if (matches.length >= 2) {\r\n return parseInt(matches[1])\r\n }\r\n }\r\n\r\n return 0\r\n}","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SaveTreeModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SaveTreeModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SaveTreeModal.vue?vue&type=template&id=26e5c4de&\"\nimport script from \"./SaveTreeModal.vue?vue&type=script&lang=js&\"\nexport * from \"./SaveTreeModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"header\",staticClass:\"header\"},[_c('BannerNetworkError'),_c('BannerUnverifiedEmail'),_c('b-navbar',{attrs:{\"toggleable\":\"lg\",\"type\":\"dark\",\"variant\":\"info\",\"data-nosnippet\":\"data-nosnippet\"}},[_c('b-navbar-toggle',{attrs:{\"target\":\"nav-collapse\"}}),(_vm.isLoading)?_c('b-navbar-brand',[_vm._v(\"Loading Family Information ...\")]):_vm._e(),(!_vm.isLoading)?_c('b-navbar-brand',{attrs:{\"to\":'/family/selection'}},[_c('span',{staticClass:\"family-name-header\"},[_c('font-awesome-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottomright\",value:('Switch families'),expression:\"'Switch families'\",modifiers:{\"hover\":true,\"bottomright\":true}}],attrs:{\"icon\":['fas', 'exchange-alt']}}),_vm._v(_vm._s(_vm.familyName)+\" \")],1),_c('FamilyDescription',{attrs:{\"display-info-modal\":true,\"family-description\":_vm.familyDescription,\"author\":_vm.author,\"source-url\":_vm.sourceUrl,\"id\":\"headerFamilyInfo\",\"placement\":\"bottomright\"}})],1):_vm._e(),(!_vm.isLoading && !_vm.isIndividualListShowing)?_c('b-navbar-brand',{staticClass:\"hover-pointer\",on:{\"click\":_vm.onShowIndividualList}},[_c('font-awesome-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottomright\",value:('List all the members of this family'),expression:\"'List all the members of this family'\",modifiers:{\"hover\":true,\"bottomright\":true}}],attrs:{\"icon\":['fas', 'clipboard-list']}})],1):_vm._e(),(!_vm.isLoading)?_c('vue-typeahead-bootstrap',{staticClass:\"flex-grow-1\",attrs:{\"data\":_vm.individuals,\"serializer\":function (item) { return _vm.searchText; },\"input-name\":\"individualSearch\",\"placeholder\":\"Search with an individual's name(s)\"},on:{\"hit\":_vm.onShowIndividual},scopedSlots:_vm._u([{key:\"suggestion\",fn:function(ref){\nvar data = ref.data;\nreturn [_c('individual-name',{attrs:{\"individual-id\":data.individualId,\"use-formal-name\":true}}),_c('individual-summary',{attrs:{\"individual-id\":data.individualId}})]}}],null,false,2252228347),model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}):_vm._e(),_c('b-collapse',{attrs:{\"id\":\"nav-collapse\",\"is-nav\":\"\"}},[_c('b-navbar-nav',{staticClass:\"ml-auto \",attrs:{\"right\":\"\"}},[(!_vm.isLoading && _vm.isIndividualTree)?_c('b-nav-item',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.saveTreeModal\",modifiers:{\"saveTreeModal\":true}}]},[_vm._v(\"Save Tree\")]):_vm._e(),(!_vm.isLoading)?_c('b-nav-item',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.displayOptionsModal\",modifiers:{\"displayOptionsModal\":true}}]},[_vm._v(\"Display Options\")]):_vm._e(),(!_vm.isLoggedIn)?_c('b-nav-item',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.authenticationModal\",modifiers:{\"authenticationModal\":true}}]},[_vm._v(\"Login\")]):_vm._e(),(_vm.isLoggedIn)?_c('b-nav-item-dropdown',{attrs:{\"text\":\"Account Actions\",\"right\":\"\"}},[_c('b-dropdown-item',{attrs:{\"to\":'/admin/accountSettings'}},[_vm._v(\"Account Settings\")]),(_vm.isLoggedInFully)?_c('b-dropdown-item',{attrs:{\"to\":'/admin/family/management'}},[_vm._v(\"Families\")]):_vm._e(),(_vm.isLoggedInFully)?_c('b-dropdown-item',{attrs:{\"to\":'/admin/family/invitations'}},[_vm._v(\"Invitations\")]):_vm._e(),(_vm.isSiteAdministrator)?_c('b-dropdown-divider'):_vm._e(),(_vm.isSiteAdministrator)?_c('b-dropdown-item',{attrs:{\"to\":'/siteAdmin/reimportAll'}},[_vm._v(\"Reimport All\")]):_vm._e(),_c('b-dropdown-divider'),_c('b-dropdown-item',{on:{\"click\":_vm.onLogout}},[_vm._v(\"Logout\")])],1):_vm._e(),_c('b-nav-item',{staticClass:\"footer-header-links\",attrs:{\"to\":'/info/terms'}},[_vm._v(\"Terms\")]),_c('b-nav-item',{staticClass:\"footer-header-links\",attrs:{\"to\":'/info/privacy'}},[_vm._v(\"Privacy\")]),_c('b-nav-item',{staticClass:\"footer-header-links\",attrs:{\"to\":'/info/contactUs'}},[_vm._v(\"Contact Us\")]),_c('b-nav-item',{attrs:{\"to\":'/'}},[_c('b-icon',{attrs:{\"icon\":\"question-circle\"}})],1)],1)],1)],1),_c('BannerCookieWarning')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash'\r\nimport * as individualUtils from '@/logic/family/individualUtils'\r\n\r\n// Create a map of names whose values are a set of individuals with that name. All names converted to lower case.\r\nexport function buildIndividualNameSearchMap(individualsArray) {\r\n const map = new Map()\r\n\r\n // Let's get all the names for each individual\r\n for (const individual of individualsArray) {\r\n const names = _.get(individual, 'names', [])\r\n \r\n for (const name of names) {\r\n // Get all the names we are interested in.\r\n const names1 = _.get(name, 'fullName', '').toLowerCase().split(' ')\r\n const names2 = _.get(name, 'surname', '').toLowerCase().split(' ')\r\n const names3 = _.get(name, 'marriedName', '').toLowerCase().split(' ')\r\n const names4 = _.get(name, 'nickname', '').toLowerCase().split(' ')\r\n\r\n // ... and combine them together into a unique list\r\n const names = new Set([...names1, ...names2, ...names3, ...names4])\r\n\r\n // Work through each of this individual's names\r\n for (const name of Array.from(names).filter(x => x)) {\r\n let s = map.get(name)\r\n\r\n // Add this new name to our map\r\n if (!s) {\r\n s = new Set()\r\n map.set(name, s)\r\n }\r\n \r\n // Add to this individual to this name's set\r\n s.add(individual.id)\r\n }\r\n }\r\n }\r\n\r\n return map\r\n}\r\n\r\nexport function loadIndividuals(familyData) {\r\n const individualsArray = []\r\n\r\n for (const key of Object.getOwnPropertyNames(familyData.individuals || {})) {\r\n individualsArray.push(familyData.individuals[key])\r\n }\r\n\r\n return individualsArray\r\n}\r\n\r\n// Splits the search text into multiple name parts and finds all individuals that match all the names\r\n// Typeahead control does not support searching on multiple name parts. To get around that set `\r\n// v-model=\"searchText\" \r\n// :serializer=\"item => searchText\" \r\nexport function individualNameSearch(searchText, familyData, individualSearchMap, minimumSearchChars, defaultResult, language) {\r\n const re = /\\s*[\\s|,|;|)|(]+\\s*/ // At least one character, commas, colons, or parenthesis\r\n const searchNames = searchText.trim().toLowerCase().split(re)\r\n const totalSearchCharacters = searchNames.reduce((accumulator, currentValue) => accumulator + currentValue.length, 0)\r\n let individuals = []\r\n \r\n // The user must type the minimum number of characters either in a single search element or spread between multiple search characters\r\n if (totalSearchCharacters < minimumSearchChars) {\r\n individuals = defaultResult\r\n } else {\r\n let individualIds = new Set()\r\n\r\n // Search all the names in the search text. We allow a person to type 'Bo Sm' and this will search 'Bob' and 'Smith'\r\n for (let n = 0; n < searchNames.length; n++) {\r\n const searchName = searchNames[n]\r\n const subset = new Set()\r\n\r\n // Search all the names of our family\r\n for (const [name, individualIds] of individualSearchMap) {\r\n\r\n // If the search name is in the name\r\n if (name.includes(searchName)) {\r\n\r\n // Add each of individuals in the set to the list of individuals found so far\r\n for (const individualId of individualIds) {\r\n subset.add(individualId)\r\n }\r\n }\r\n }\r\n\r\n if (n === 0) {\r\n individualIds = subset\r\n } else {\r\n individualIds = new Set([...individualIds].filter(x => subset.has(x))) // Intersection between the two sets\r\n }\r\n }\r\n\r\n individuals = Array.from(individualIds).map(x => familyData.individuals[x])\r\n }\r\n\r\n // Filter out blank names and sort by those names.\r\n return individuals\r\n .map((individual) => { return {\r\n individualId: individual.id,\r\n name: individualUtils.getFormalName(individual),\r\n gender: individualUtils.getGender(individual),\r\n birthDeathSummary: individualUtils.getBirthDeathSummary(individual, language)\r\n }\r\n })\r\n .filter(x => !!x.name) \r\n .sort( (a,b) => {\r\n const namea = a.name.toLowerCase()\r\n const nameb = b.name.toLowerCase()\r\n\r\n if (namea < nameb)\r\n return - 1\r\n else \r\n return 1\r\n })\r\n}\r\n\r\nexport function individualNameSearchHeader(searchText, familyData, individualSearchMap, language) {\r\n const limit = 10\r\n const minimumSearchChars = 2\r\n const individuals = individualNameSearch(searchText, familyData, individualSearchMap, minimumSearchChars, [], language)\r\n return Object.freeze(individuals.slice(0, limit)) \r\n}\r\n\r\nexport function individualNameSearchGrid(searchText, familyData, individualSearchMap, individualsArray, language) {\r\n return Object.freeze(individualNameSearch(searchText, familyData, individualSearchMap, 1, individualsArray, language))\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.areCookiesAccepted)?_c('div',{staticClass:\"banner-cookie-notice text-center\",attrs:{\"data-nosnippet\":\"data-nosnippet\"}},[_c('h3',[_vm._v(\"This website uses cookies\")]),_vm._v(\" By continuing to browse our site you agree to our use of \"),_c('b-link',{attrs:{\"href\":\"/info/privacy#cookies\",\"target\":\"_blank\"}},[_vm._v(\"cookies\")]),_vm._v(\", \"),_c('b-link',{attrs:{\"href\":\"/info/terms\",\"target\":\"_blank\"}},[_vm._v(\"Terms of Use\")]),_vm._v(\", and \"),_c('b-link',{attrs:{\"href\":\"/info/privacy\",\"target\":\"_blank\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\". \"),_c('div',[_c('b-button',{attrs:{\"pill\":\"\",\"variant\":\"outline-secondary\",\"size\":\"sm\"},on:{\"click\":_vm.acceptCookies}},[_vm._v(\"Allow All Cookies\")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerCookieWarning.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerCookieWarning.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BannerCookieWarning.vue?vue&type=template&id=aa2faf5c&scoped=true&\"\nimport script from \"./BannerCookieWarning.vue?vue&type=script&lang=js&\"\nexport * from \"./BannerCookieWarning.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BannerCookieWarning.vue?vue&type=style&index=0&id=aa2faf5c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"aa2faf5c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasNetworkError)?_c('div',{staticClass:\"banner-error\"},[_vm._v(\" Network Error \"),_c('b-icon',{staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\",\"id\":\"networkErrorInfo\"},on:{\"click\":function($event){return _vm.$bvToast.show('toastNetworkError')}}}),_c('b-popover',{attrs:{\"target\":\"networkErrorInfo\",\"custom-class\":\"popover-wide\",\"placement\":\"bottom\",\"title\":\"Network Error\",\"triggers\":\"click blur\"}},[_vm._v(\" Communication with the server has been interupted. This could be a problem with your device, the server, or the network inbetween. Try your request later. This may resolve itself automatically. \")])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerNetworkError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerNetworkError.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BannerNetworkError.vue?vue&type=template&id=0d187201&scoped=true&\"\nimport script from \"./BannerNetworkError.vue?vue&type=script&lang=js&\"\nexport * from \"./BannerNetworkError.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BannerNetworkError.vue?vue&type=style&index=0&id=0d187201&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d187201\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isLoggedInUnverified)?_c('div',{staticClass:\"banner-unverified\"},[_c('span',{staticClass:\"pr-5\"},[_vm._v(\" Your email address has not been verified. \"),_c('b-icon',{staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\",\"id\":\"unverifiedEmailInfo\"}})],1),_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"light\"},on:{\"click\":_vm.EmailSendVerificationRequest}},[_vm._v(\"Click here to resend the account verification email.\")]),_c('b-popover',{attrs:{\"target\":\"unverifiedEmailInfo\",\"custom-class\":\"popover-wide\",\"placement\":\"bottom\",\"title\":\"Your email address has not been verified\",\"triggers\":\"click blur\"}},[_c('p',[_vm._v(\"Until you have verified your email, you will have limited access.\")]),_c('p',[_vm._v(\"When you registered or changed your email address a message was sent to your inbox. Find that message and follow the instructions there.\")]),_c('p',[_vm._v(\"That email might take a few minutes to arrive in your inbox.\")])])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerUnverifiedEmail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerUnverifiedEmail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BannerUnverifiedEmail.vue?vue&type=template&id=372c72e3&scoped=true&\"\nimport script from \"./BannerUnverifiedEmail.vue?vue&type=script&lang=js&\"\nexport * from \"./BannerUnverifiedEmail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BannerUnverifiedEmail.vue?vue&type=style&index=0&id=372c72e3&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"372c72e3\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasDescription)?_c('span',[(_vm.displayInfoModal)?_c('b-icon',{staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onShowHeaderDetails.apply(null, arguments)}}}):_vm._e(),(!_vm.displayInfoModal)?_c('b-icon',{staticClass:\"hover-pointer\",attrs:{\"id\":_vm.id,\"icon\":\"info-square\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}}):_vm._e(),_c('b-popover',{attrs:{\"target\":_vm.id,\"placement\":_vm.placement,\"triggers\":\"click blur\",\"custom-class\":\"popover-wide\",\"title\":\"Description\"}},[_c('table',{staticClass:\"info-header\"},[(_vm.familyDescription)?_c('tr',[_c('td',{attrs:{\"colspan\":\"2\"},domProps:{\"innerHTML\":_vm._s(_vm.familyDescriptionHtml)}})]):_vm._e(),(_vm.author)?_c('tr',[_c('td',[_vm._v(\"Author:\")]),_c('td',[_vm._v(_vm._s(_vm.author))])]):_vm._e(),(_vm.sourceUrl)?_c('tr',[_c('td',[_vm._v(\"Source:\")]),_c('td',[_c('b-link',{attrs:{\"href\":_vm.sourceUrl}},[_vm._v(_vm._s(_vm.sourceUrl))])],1)]):_vm._e()])])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyDescription.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyDescription.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilyDescription.vue?vue&type=template&id=6b378b94&\"\nimport script from \"./FamilyDescription.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilyDescription.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=a6c45a0e&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"footer\"},[_c('b-navbar',{attrs:{\"toggleable\":\"sm\",\"type\":\"dark\",\"variant\":\"info\"}},[_c('b-navbar-nav',[_c('b-nav-item',{attrs:{\"to\":'/info/terms'}},[_vm._v(\" Terms \")]),_c('b-nav-item',{attrs:{\"to\":'/info/privacy'}},[_vm._v(\" Privacy \")]),_c('b-nav-item',{attrs:{\"to\":'/info/contactUs'}},[_vm._v(\" Contact Us \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=61ee88d6&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=31bbdf88&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"card\":\"\",\"pills\":\"\"}},[_c('b-tab',{attrs:{\"title\":\"General\"}},[_c('h4',[_vm._v(\"General Account Settings\")]),_c('b-table-simple',{staticClass:\"narrow-container-2\",attrs:{\"hover\":\"\",\"stacked\":\"md\"}},[_c('b-tbody',[_c('b-tr',{class:_vm.getInfoTableRowClass(1)},[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Name\"),(_vm.hasRelativeToMeLogin && _vm.mode!==1)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(1)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Edit\")],1):_vm._e()],1),_c('b-td',[(_vm.mode!==1)?_c('span',[_vm._v(_vm._s(_vm.userInfo.fullName))]):_vm._e(),(_vm.mode===1)?_c('EditUserName',{attrs:{\"initial-family-name\":_vm.userInfo.familyName,\"initial-given-name\":_vm.userInfo.givenName},on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1),_c('b-tr',{class:_vm.getInfoTableRowClass(2)},[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Email\"),(_vm.hasRelativeToMeLogin && _vm.mode!==2)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(2)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Edit\")],1):_vm._e()],1),_c('b-td',[(_vm.mode!==2)?_c('span',[_vm._v(_vm._s(_vm.userInfo.email))]):_vm._e(),(_vm.mode===2)?_c('EditEmail',{attrs:{\"initial-email\":_vm.userInfo.email},on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1),(_vm.hasRelativeToMeLogin)?_c('b-tr',{class:_vm.getInfoTableRowClass(3)},[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Password\"),(_vm.mode!==3)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(3)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Edit\")],1):_vm._e()],1),_c('b-td',[(_vm.mode===3)?_c('EditPassword',{on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1):_vm._e(),(!_vm.hasRelativeToMeLogin)?_c('b-tr',{class:_vm.getInfoTableRowClass(4)},[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Password\"),(_vm.mode!==4)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(4)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Add\")],1):_vm._e()],1),_c('b-td',[(_vm.mode===4)?_c('AddPassword',{on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1):_vm._e()],1)],1)],1),_c('b-tab',{attrs:{\"title\":\"Email Settings\"}},[_c('h4',[_vm._v(\"Email Settings\"),(_vm.mode!==21)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(21)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Edit\")],1):_vm._e()],1),_c('b-table-simple',{staticClass:\"narrow-container-0\",attrs:{\"hover\":\"\",\"stacked\":\"md\"}},[_c('b-tbody',[_c('b-tr',[_c('b-td',[(_vm.mode!==21)?_c('b-table-simple',{staticClass:\"narrow-container-2\",attrs:{\"borderless\":\"\",\"hover\":\"\",\"stacked\":\"md\"}},[_c('b-tbody',[_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Receive promotions and offers\")]),_c('b-td',{staticClass:\"text-center\",domProps:{\"textContent\":_vm._s(_vm.getEmailPreference(_vm.userInfo.emailPreferences.receiveOffers))}})],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Receive product information\")]),_c('b-td',{staticClass:\"text-center\",domProps:{\"textContent\":_vm._s(_vm.getEmailPreference(_vm.userInfo.emailPreferences.receiveProductInformation))}})],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Receive invitations to join families.\")]),_c('b-td',{staticClass:\"text-center\",domProps:{\"textContent\":_vm._s(_vm.getEmailPreference(_vm.userInfo.emailPreferences.receiveInvitations))}})],1)],1)],1):_vm._e()],1)],1),(_vm.mode===21)?_c('b-tr',{class:_vm.getInfoTableRowClass(21)},[_c('b-td',[(_vm.mode===21)?_c('EditEmailSettings',{attrs:{\"initial-state\":_vm.userInfo.emailPreferences},on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1):_vm._e()],1)],1)],1),_c('b-tab',{attrs:{\"title\":\"Subscription\"}},[_c('h4',[_vm._v(\"Subscription Status\"),(_vm.mode!==31)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(31)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Edit\")],1):_vm._e()],1),_c('b-table-simple',{staticClass:\"narrow-container-2\",attrs:{\"hover\":\"\",\"stacked\":\"md\"}},[_c('b-tbody',[_c('b-tr',{class:_vm.getInfoTableRowClass(31)},[_c('b-td',[(_vm.mode!==31)?_c('span',[_vm._v(\"This feature is not yet available\")]):_vm._e(),(_vm.mode===31)?_c('EditSubscription',{on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1)],1)],1)],1),_c('b-tab',{attrs:{\"title\":\"Logins\"}},[_c('h4',[_vm._v(\"Where You're Logged In\")]),_c('b-table',{attrs:{\"busy\":_vm.busy,\"items\":_vm.userInfo.refreshTokens,\"fields\":_vm.refreshTokenFields,\"hover\":\"\",\"responsive\":\"\",\"show-empty\":\"\",\"stacked\":\"md\",\"striped\":\"\"},scopedSlots:_vm._u([{key:\"cell(actions)\",fn:function(row){return [(row.item.isCurrent)?_c('span',{staticClass:\"text-success\"},[_vm._v(\"Current\")]):_c('b-button',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.forceLogoff(row.item.refreshTokenId)}}},[_c('b-icon',{attrs:{\"icon\":\"box-arrow-left\"}}),_vm._v(\"Logoff \")],1)]}},{key:\"table-busy\",fn:function(){return [_c('TableBusy')]},proxy:true}])})],1),_c('b-tab',{attrs:{\"title\":\"Account Deletion\"}},[_c('h4',[_vm._v(\"Account Deletion\")]),_c('b-table-simple',{staticClass:\"narrow-container-2\",attrs:{\"hover\":\"\",\"stacked\":\"md\"}},[_c('b-tbody',[_c('b-tr',{class:_vm.getInfoTableRowClass(11)},[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Permanently Delete Account\"),(_vm.mode!==11)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(11)}}},[_c('b-icon',{attrs:{\"icon\":\"person-x\"}}),_vm._v(\"Delete\")],1):_vm._e()],1),_c('b-td',[(_vm.mode===11)?_c('EditDeleteAccount',{on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('b-card',{staticClass:\"mb-2\",attrs:{\"bg-variant\":\"light\",\"title\":\"Note\",\"tag\":\"article\"}},[_c('b-card-text',[_vm._v(\" Adding a password will allow you to login directly to relativetome.com instead of using one of the supported account providers such as Google. \")])],1),_c('input',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"dummyUserName\",\"type\":\"text\",\"autocomplete\":\"username\"}}),_c('validation-provider',{attrs:{\"vid\":\"newPassword\",\"name\":\"New Password\",\"rules\":{required: true, regex: _vm.passwordRegex }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{staticClass:\"form-group-in-table\",attrs:{\"label-cols-sm\":\"3\",\"label\":\"New Password:\",\"label-align-sm\":\"right\",\"label-for\":\"newPassword-box\"}},[_c('b-form-input',{attrs:{\"id\":\"newPassword-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"1\"},model:{value:(_vm.form.newPassword),callback:function ($$v) {_vm.$set(_vm.form, \"newPassword\", $$v)},expression:\"form.newPassword\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"newPassword-feedback\"}},[_vm._v(_vm._s(_vm.passwordText))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Confirm New Password\",\"rules\":{required: true, confirmed:'newPassword' }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{staticClass:\"form-group-in-table\",attrs:{\"label-cols-sm\":\"3\",\"label\":\"Confirm New Password:\",\"label-align-sm\":\"right\",\"label-for\":\"confirmNewPassword-box\"}},[_c('b-form-input',{attrs:{\"id\":\"confirmNewPassword-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"1\"},model:{value:(_vm.form.confirmNewPassword),callback:function ($$v) {_vm.$set(_vm.form, \"confirmNewPassword\", $$v)},expression:\"form.confirmNewPassword\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"confirmNewPassword-feedback\"}},[_vm._v(\"The new passwords must match.\")])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPassword.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddPassword.vue?vue&type=template&id=0e6e56e2&\"\nimport script from \"./AddPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./AddPassword.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('b-card',{staticClass:\"mb-2\",attrs:{\"bg-variant\":\"light\",\"title\":\"Warning\",\"tag\":\"article\"}},[_c('b-card-text',[_vm._v(\" Deleting your account is permanent. It cannot be reversed. If you are the only owner of a private family, that family group will be removed as well. \")])],1),_c('input',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"dummyUserName\",\"type\":\"text\",\"autocomplete\":\"username\"}}),(_vm.accountProvider === 0)?_c('validation-provider',{attrs:{\"vid\":\"password\",\"name\":\"Password\",\"rules\":{required: true }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"4\",\"label\":\"Re-enter Password:\",\"label-align-sm\":\"right\",\"label-for\":\"password-box\"}},[_c('b-form-input',{attrs:{\"id\":\"password-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"4\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"password-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}):_vm._e(),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"6\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"5\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDeleteAccount.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDeleteAccount.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditDeleteAccount.vue?vue&type=template&id=bd3d6e00&\"\nimport script from \"./EditDeleteAccount.vue?vue&type=script&lang=js&\"\nexport * from \"./EditDeleteAccount.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('validation-provider',{attrs:{\"name\":\"Email\",\"rules\":{required: true, email: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Email:\",\"label-align-sm\":\"right\",\"label-for\":\"email-box\"}},[_c('b-form-input',{attrs:{\"id\":\"email-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"username\",\"tabindex\":\"1\"},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", $$v)},expression:\"form.email\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"email-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"vid\":\"password\",\"name\":\"Password\",\"rules\":{required: true }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Re-enter Password:\",\"label-align-sm\":\"right\",\"label-for\":\"password-box\"}},[_c('b-form-input',{attrs:{\"id\":\"password-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"current-password\",\"tabindex\":\"2\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"password-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditEmail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditEmail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditEmail.vue?vue&type=template&id=25925d96&\"\nimport script from \"./EditEmail.vue?vue&type=script&lang=js&\"\nexport * from \"./EditEmail.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('b-card',{staticClass:\"mb-2\",attrs:{\"bg-variant\":\"light\",\"tag\":\"article\"}},[_c('b-card-text',[_vm._v(\" Please select those emails that you wish to receive and click the \\\"Submit\\\" button to save your preferences. Please note that security emails used to protect your account will always be sent. \")])],1),_c('b-form-checkbox',{staticClass:\"py-1\",attrs:{\"tabindex\":\"1\"},model:{value:(_vm.form.receiveOffers),callback:function ($$v) {_vm.$set(_vm.form, \"receiveOffers\", $$v)},expression:\"form.receiveOffers\"}},[_vm._v(\" Receive promotions and offers \")]),_c('b-form-checkbox',{staticClass:\"py-1\",attrs:{\"tabindex\":\"2\"},model:{value:(_vm.form.receiveProductInformation),callback:function ($$v) {_vm.$set(_vm.form, \"receiveProductInformation\", $$v)},expression:\"form.receiveProductInformation\"}},[_vm._v(\" Receive product information \")]),_c('b-form-checkbox',{staticClass:\"py-1\",attrs:{\"tabindex\":\"3\"},model:{value:(_vm.form.receiveInvitations),callback:function ($$v) {_vm.$set(_vm.form, \"receiveInvitations\", $$v)},expression:\"form.receiveInvitations\"}},[_vm._v(\" Receive invitations to join families. \")]),_c('div',{staticClass:\"py-1\"},[_c('b-link',{on:{\"click\":_vm.onUnsubscribeAll}},[_vm._v(\"Unsubscribe\")])],1),_c('div',{staticClass:\"d-flex justify-content-end\"},[(!_vm.isStandAlone)?_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\" Cancel \")]):_vm._e(),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState,\"success-message\":\"Your settings have been updated\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditEmailSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditEmailSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditEmailSettings.vue?vue&type=template&id=9c11ffd2&\"\nimport script from \"./EditEmailSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./EditEmailSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[(_vm.accountProvider !== 0)?_c('b-card',{staticClass:\"mb-2\",attrs:{\"bg-variant\":\"light\",\"title\":\"Note\",\"tag\":\"article\"}},[_c('b-card-text',[_vm._v(\" This will only change your relativetome.com password. It does not change your \"+_vm._s(_vm.accountProviderText)+\" password. \")])],1):_vm._e(),_c('input',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"dummyUserName\",\"type\":\"text\",\"autocomplete\":\"username\"}}),_c('validation-provider',{attrs:{\"vid\":\"newPassword\",\"name\":\"New Password\",\"rules\":{required: true, regex: _vm.passwordRegex }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{staticClass:\"form-group-in-table\",attrs:{\"label-cols-sm\":\"3\",\"label\":\"New Password:\",\"label-align-sm\":\"right\",\"label-for\":\"newPassword-box\"}},[_c('b-form-input',{attrs:{\"id\":\"newPassword-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"1\"},model:{value:(_vm.form.newPassword),callback:function ($$v) {_vm.$set(_vm.form, \"newPassword\", $$v)},expression:\"form.newPassword\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"newPassword-feedback\"}},[_vm._v(_vm._s(_vm.passwordText))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Confirm New Password\",\"rules\":{required: true, confirmed:'newPassword' }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{staticClass:\"form-group-in-table\",attrs:{\"label-cols-sm\":\"3\",\"label\":\"Confirm New Password:\",\"label-align-sm\":\"right\",\"label-for\":\"confirmNewPassword-box\"}},[_c('b-form-input',{attrs:{\"id\":\"confirmNewPassword-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"1\"},model:{value:(_vm.form.confirmNewPassword),callback:function ($$v) {_vm.$set(_vm.form, \"confirmNewPassword\", $$v)},expression:\"form.confirmNewPassword\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"confirmNewPassword-feedback\"}},[_vm._v(\"The new passwords must match.\")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"vid\":\"password\",\"name\":\"Password\",\"rules\":{required: true }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{staticClass:\"form-group-in-table\",attrs:{\"label-cols-sm\":\"3\",\"label\":\"Re-enter Old Password:\",\"label-align-sm\":\"right\",\"label-for\":\"password-box\"}},[_c('b-form-input',{attrs:{\"id\":\"password-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"4\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"password-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPassword.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditPassword.vue?vue&type=template&id=724839cb&\"\nimport script from \"./EditPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./EditPassword.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_vm._v(\" This feature not yet available \"),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSubscription.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSubscription.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditSubscription.vue?vue&type=template&id=3d4f333e&\"\nimport script from \"./EditSubscription.vue?vue&type=script&lang=js&\"\nexport * from \"./EditSubscription.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('validation-provider',{attrs:{\"name\":\"Given Name\",\"rules\":{required: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Given Name:\",\"label-align-sm\":\"right\",\"label-for\":\"given-name-box\"}},[_c('b-form-input',{attrs:{\"id\":\"given-name-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"1\"},model:{value:(_vm.form.givenName),callback:function ($$v) {_vm.$set(_vm.form, \"givenName\", $$v)},expression:\"form.givenName\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"givenName-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Family Name\",\"rules\":{required: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Family Name:\",\"label-align-sm\":\"right\",\"label-for\":\"family-name-box\"}},[_c('b-form-input',{attrs:{\"id\":\"family-name-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"2\"},model:{value:(_vm.form.familyName),callback:function ($$v) {_vm.$set(_vm.form, \"familyName\", $$v)},expression:\"form.familyName\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"familyName-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('input',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"dummyUserName\",\"type\":\"text\",\"autocomplete\":\"username\"}}),_c('validation-provider',{attrs:{\"vid\":\"password\",\"name\":\"Password\",\"rules\":{required: true }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Re-enter Password:\",\"label-align-sm\":\"right\",\"label-for\":\"password-box\"}},[_c('b-form-input',{attrs:{\"id\":\"password-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"3\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"password-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditUserName.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditUserName.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditUserName.vue?vue&type=template&id=2eb77f4a&\"\nimport script from \"./EditUserName.vue?vue&type=script&lang=js&\"\nexport * from \"./EditUserName.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettings.vue?vue&type=template&id=14155bf0&\"\nimport script from \"./AccountSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-jumbotron',{attrs:{\"header\":\"Contact Us\",\"lead\":\"\"}},[_c('b-card',{staticClass:\"narrow-container-0\"},[_c('b-card-text',[_c('b-table-simple',{attrs:{\"borderless\":\"\"}},[_c('b-tbody',[_c('b-tr',[_c('b-td',{staticClass:\"text-right\"},[_c('img',{attrs:{\"src\":require(\"@/assets/CompanyLogo.png\"),\"height\":\"70px\",\"width\":\"75px\"}})]),_c('b-td',{staticClass:\"align-middle\"},[_c('h5',[_vm._v(\"Ibex Consulting Inc.\")])])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-right\"},[_vm._v(\"Address:\")]),_c('b-td',[_vm._v(\"22-7250 144ST\"),_c('br'),_vm._v(\"Surrey, BC Canada\"),_c('br'),_vm._v(\"V3W 1L7\")])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-right\"},[_vm._v(\"Email:\")]),_c('b-td',[_c('b-link',{attrs:{\"href\":\"mailto:support@relativetome.com\"}},[_vm._v(\"support@relativetome.com\")])],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContactUs.vue?vue&type=template&id=2a1e74c4&\"\nimport script from \"./ContactUs.vue?vue&type=script&lang=js&\"\nexport * from \"./ContactUs.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"px-2 pt-2 narrow-container-0\"},[_c('h4',[_vm._v(\"Email Settings\")]),(!_vm.busy)?_c('div',{staticClass:\"py-3\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Email Address: \")]),_c('span',[_vm._v(_vm._s(this.emailManagementInfo.email))])]):_vm._e(),(_vm.busy)?_c('div',[_vm._v(\"Loading ...\")]):_vm._e(),(!_vm.busy)?_c('EditEmailSettings',{attrs:{\"initial-state\":_vm.emailManagementInfo,\"is-stand-alone\":true,\"manage-email-token\":_vm.manageEmailToken}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailManageSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailManageSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmailManageSettings.vue?vue&type=template&id=5fe27bd4&\"\nimport script from \"./EmailManageSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailManageSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-jumbotron',{attrs:{\"header\":\"Email verification\"}},[(_vm.status===1)?_c('div',[_c('h3',[_vm._v(\"Login to verify your email.\")]),_vm._v(\" Select the \"),_c('b-link',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.authenticationModal\",modifiers:{\"authenticationModal\":true}}]},[_vm._v(\"Login\")]),_vm._v(\" link in the header to login. \")],1):_vm._e(),(_vm.status===2)?_c('div',[_c('h3',[_vm._v(\"Your email was already verified. You're good to go.\")])]):_vm._e(),(_vm.status===3)?_c('div',[_c('h3',[_vm._v(\"Processing email verification ...\")])]):_vm._e(),(_vm.status===4)?_c('div',[_c('h3',[_vm._v(\"Your email has been verified. You're good to go.\")])]):_vm._e(),(_vm.status===5)?_c('div',[_c('h3',[_vm._v(\"Email verification failed.\")]),_c('p',[_vm._v(\"Here are some common reasons why it would fail:\")]),_c('ul',[_c('li',[_vm._v(\"The email is too old. You only have 1 hour after the email is sent. You can send another by clicking the link at the very top of the page.\")]),_c('li',[_vm._v(\"You are logged on to a different user\")])])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailVerify.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailVerify.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmailVerify.vue?vue&type=template&id=58cc0ff0&\"\nimport script from \"./EmailVerify.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailVerify.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-jumbotron',{attrs:{\"header\":\"Authorization Error\",\"lead\":\"You have attempted to display a page to which you are not authorized.\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ErrorAuthorization.vue?vue&type=template&id=138b9969&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-jumbotron',{attrs:{\"header\":\"Routing Error\",\"lead\":_vm.lead}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorRoute.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorRoute.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ErrorRoute.vue?vue&type=template&id=5220793a&\"\nimport script from \"./ErrorRoute.vue?vue&type=script&lang=js&\"\nexport * from \"./ErrorRoute.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-jumbotron',{attrs:{\"header\":\"Family Tree Too Large\",\"lead\":\"The family tree for the individual you have requested is too large to display on this browser. You might want to try one of the following to fix the problem.\"}},[_c('ul',[_c('li',[_c('p',[_vm._v(\"Use a different browser. Firefox can display the largest families. Chrome comes in second.\")])]),_c('li',[_c('p',[_vm._v(\"Select a different individual that has less descendants or ancestors. For example, on the \"),_c('b',[_vm._v(\"Ancestors of Queen Elizabeth II\")]),_vm._v(\" family, try selecting \"),_c('b',[_vm._v(\"George V Windsor\")]),_vm._v(\" instead of \"),_c('b',[_vm._v(\"Elizabeth II Alexandra Mary Windsor\")]),_vm._v(\".\")])]),_c('li',[_c('p',[_vm._v(\"Change the display options so that you are only showing ancestors or descendents but not both.\")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ErrorStackOverflow.vue?vue&type=template&id=5c2055ec&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-jumbotron',{attrs:{\"header\":\"Unexpected Error\",\"lead\":\"An unexpected error has occurred.\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ErrorUnexpected.vue?vue&type=template&id=2a606b25&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h5',{staticClass:\"back-to-parent px-2\",on:{\"click\":function($event){return _vm.onBack()}}},[_c('b-icon',{attrs:{\"icon\":\"arrow-left\"}}),_vm._v(\" Manage Families\")],1),_c('h3',{staticClass:\"px-2\"},[_vm._v(\" \"+_vm._s(_vm.familyName)+\" \")]),_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"card\":\"\",\"pills\":\"\"}},[_c('b-tab',{attrs:{\"title\":\"General\"}},[_c('h4',[_vm._v(\"General\"),(_vm.mode!==1 && _vm.isAdministrator)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(1)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Edit\")],1):_vm._e()],1),_c('b-table-simple',{staticClass:\"narrow-container-2\",attrs:{\"stacked\":\"md\"}},[_c('b-tbody',[_c('b-tr',{class:_vm.getInfoTableRowClass(1)},[_c('b-td',[(_vm.mode!==1)?_c('b-table-simple',{attrs:{\"borderless\":\"\"}},[_c('b-tbody',[_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Base Family Name:\")]),_c('b-td',[_vm._v(_vm._s(_vm.familyData.familyNameBase))])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\" Description: \"),(_vm.isAdministrator)?_c('span',[_c('b-popover',{attrs:{\"target\":\"familyDescriptionHelp\",\"placement\":\"bottomright\",\"triggers\":\"click blur\",\"custom-class\":\"popover-wide\"}},[_vm._v(\" This field supports \"),_c('b-link',{attrs:{\"href\":\"https://commonmark.org/help/tutorial/\",\"target\":\"_blank\"}},[_vm._v(\"Markdown\")]),_vm._v(\". \")],1),_c('b-icon',{staticClass:\"hover-pointer\",attrs:{\"id\":\"familyDescriptionHelp\",\"icon\":\"info-square\"}})],1):_vm._e()]),_c('b-td',{domProps:{\"innerHTML\":_vm._s(_vm.familyDescriptionHtml)}})],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Author:\")]),_c('b-td',[_vm._v(_vm._s(_vm.familyData.author))])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Source Url:\")]),_c('b-td',[(_vm.familyData.sourceUrl)?_c('b-link',{attrs:{\"href\":_vm.familyData.sourceUrl}},[_vm._v(_vm._s(_vm.familyData.sourceUrl))]):_vm._e()],1)],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\" Hide Gender: \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('If yes, gender will always be hidden in summaries and the display option \\'Show Gender in Tree\\' will be ignored.'),expression:\"'If yes, gender will always be hidden in summaries and the display option \\\\'Show Gender in Tree\\\\' will be ignored.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1),_c('b-td',[_vm._v(_vm._s(_vm.familyData.suppressGender ? \"Yes\" : \"No\"))])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\" Is Public: \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('If yes, this family can be viewed by anyone.'),expression:\"'If yes, this family can be viewed by anyone.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1),_c('b-td',[_vm._v(_vm._s(_vm.familyData.isPublic ? \"Yes\" : \"No\"))])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\" Is Showcased: \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('If yes, this family is available as one of the random families that could be shown when a new user comes to the website if it is also public.'),expression:\"'If yes, this family is available as one of the random families that could be shown when a new user comes to the website if it is also public.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1),_c('b-td',[_vm._v(_vm._s(_vm.familyData.isShowcased ? \"Yes\" : \"No\"))])],1)],1)],1):_vm._e(),(_vm.mode===1)?_c('EditFamilyDetails',{attrs:{\"initial-state\":_vm.familyData},on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1)],1)],1),_c('h4',[_vm._v(\"Personal\"),(_vm.mode!==4)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(4)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Edit\")],1):_vm._e()],1),_c('b-table-simple',{staticClass:\"narrow-container-2\",attrs:{\"stacked\":\"md\"}},[_c('b-tbody',[_c('b-tr',{class:_vm.getInfoTableRowClass(4)},[_c('b-td',[(_vm.mode!==4)?_c('b-table-simple',{attrs:{\"borderless\":\"\"}},[_c('b-tbody',[_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\" Family Alias: \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('This is your name for this family. This is the name that will appear instead of the base family name for you only.'),expression:\"'This is your name for this family. This is the name that will appear instead of the base family name for you only.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1),_c('b-td',[_vm._v(_vm._s(_vm.familyData.familyUserOperator.familyNameAlias))])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\" Is Email Visible?: \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('Whether or not your email address is visible to other members of this private family.'),expression:\"'Whether or not your email address is visible to other members of this private family.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1),_c('b-td',[_vm._v(_vm._s(_vm.familyData.familyUserOperator.isEmailVisible ? \"Yes\" : \"No\"))])],1),_c('b-tr',[_c('b-th',{staticClass:\"text-nowrap\"},[_vm._v(\"Authority:\")]),_c('b-td',[_vm._v(_vm._s(_vm.familyAuthorityText))])],1)],1)],1):_vm._e(),(_vm.mode===4)?_c('EditFamilyUserDetails',{attrs:{\"family-user-data\":_vm.familyData.familyUserOperator,\"operator-family-authority-id\":_vm.operatorFamilyAuthorityId},on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1)],1)],1)],1),_c('b-tab',{attrs:{\"title\":\"Members\"}},[_c('FamilyUsers',{attrs:{\"family-users\":_vm.familyData.familyUsers,\"operator-family-authority-id\":_vm.operatorFamilyAuthorityId},on:{\"force-reset\":function($event){return _vm.reset()},\"set-mode\":function($event){return _vm.setMode()}}})],1),_c('b-tab',{attrs:{\"title\":\"Invitees\"}},[_c('FamilyInvitationsGiven',{attrs:{\"family-invitations\":_vm.familyData.familyInvitations,\"operator-family-authority-id\":_vm.operatorFamilyAuthorityId},on:{\"force-reset\":function($event){return _vm.reset()}}})],1),(_vm.isOwner)?_c('b-tab',{attrs:{\"title\":\".GED\"}},[_c('h4',[_vm._v(\".GED File\"),(_vm.mode!==2)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(2)}}},[_c('b-icon',{attrs:{\"icon\":\"upload\"}}),_vm._v(\"Reimport\")],1):_vm._e()],1),_c('b-table-simple',{staticClass:\"narrow-container-2\",attrs:{\"hover\":\"\",\"stacked\":\"md\"}},[_c('b-tbody',[_c('b-tr',{class:_vm.getInfoTableRowClass(2)},[_c('b-th',[_vm._v(\"Last Import\")]),_c('b-td',[(_vm.mode!==2)?_c('span',[_vm._v(_vm._s(_vm.lastImportFormatted))]):_vm._e(),(_vm.mode===2)?_c('ImportExistingFamily',{attrs:{\"family-name\":_vm.familyName},on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1)],1)],1)],1)],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import moment from 'moment'\r\n\r\nexport const standardDateFormat = new Intl.DateTimeFormat(undefined,{\r\n year: 'numeric',\r\n month: 'short',\r\n day: 'numeric',\r\n hour: 'numeric',\r\n minute: 'numeric'\r\n})\r\n\r\nexport function convertGEDCOMDate(value) {\r\n // Determin what parts have been provided in the date\r\n // Has day been supplied?\r\n const red = /\\b[0-9]{1,2}\\b/g\r\n const hasDay = value.match(red)\r\n\r\n // Has month been supplied?\r\n const rem = /[Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec]{3}/g\r\n const hasMonth = value.match(rem)\r\n\r\n // Has year been supplied?\r\n const rey = /[0-9]{4}/g\r\n const hasYear = value.match(rey)\r\n\r\n if (hasDay){\r\n // If we have a day, let's assume that we have month and year as well\r\n return moment(value, ['DMMMYYYY','DDMMMYYYY']).format('YYYY-MM-DD')\r\n } else if (hasMonth) {\r\n // if we have a month, let's assume that we have the year as well.\r\n return moment(value, 'MMM YYYY', true).format('YYYY-MM-DD')\r\n } else if (hasYear) {\r\n return moment(value, 'YYYY', true).format('YYYY-MM-DD')\r\n } else {\r\n return ''\r\n }\r\n}","export function removeChar(value, index) {\r\n return value.substring(0, index) + value.substring(index + 1)\r\n}","// Referennce: http://homepages.rootsweb.com/~pmcbride/gedcom/55gcch2.htm\r\n// http://homepages.rootsweb.com/~pmcbride/gedcom/55gcappa.htm\r\n//\r\n// basePropertyReference: Valid only with 'isObject'. This is the name of the property to house id pointer on this row. \r\n// In this example, it would be used to store @I1@ in the ASSO object.\r\n// Example: 1 ASSO @I1@\r\n// 2 RELA great grandson\r\n//\r\n// basePropertyValue: Valid only with 'isObject'. This is the name of the property to house the value on this row.\r\n// In this example, it would be used to store\r\n// Example: 1 DESC 198cm tall\r\n// 2 AGE 23\r\n//\r\n// filterLevel: Filter. Used to select which handling type to use if more than one exists within the array. Selected if the row filterLevel matches the handlingType filterLevel\r\n// \r\n// filterLevel0Code: Filter. Used to select which handling type to use if more than one exists within the array. Selected if the code of the most recent level 0 matches this.\r\n//\r\n// filterPreviousCode: Filter. Used to select which handling type to use if more than one exists within the array. Selected if the previous row has this code type\r\n//\r\n// group: An array property with this name will be created within the parent object. Multiple values of this type \r\n// can be added to this array property\r\n// Example: 1 OCCU Janitor\r\n// 2 PLAC Hudson's Bay Dept Store\r\n// 1 OCCU Director, Flight Operations\r\n// 2 PLAC NASA\r\n//\r\n// isObject: An object will be created for this in order to contain all the child rows.\r\n//\r\n// includeCode: Valid only with 'isObject'. Determines if the gedcom code will be included as a property within the object.\r\n//\r\n// label: Nonfunctional. Left in for readability\r\n// A label propert will be added to this object with the value specified. Not really language neutral but easy to interpret the JSON. \r\n// \r\n// recordProperty: The root object will be given a object property of this name. This object will be stored inside that object property as an object with the id as its property name\r\n// Example: 0 @I6000000016923561346@ INDI\r\n// 1 NAME Lewis /Seago/\r\n//\r\n// results in ... {\r\n// individuals: {\r\n// I6000000016923561346: {\r\n// id: \"I6000000016923561346\",\r\n// name: {\r\n// fullName: \"Lewis Seago\"\r\n// }\r\n// }\r\n// }\r\n//\r\n// type: The name of the property that will be created in the parent object. Used for simple values\r\n\r\nexport const handlingTypes = {\r\n ABBR: {type: 'abbreviation'},\r\n ADDR: {type: 'address', isObject: true, basePropertyValue: 'address'},\r\n ADR1: {type: 'address1'},\r\n ADR2: {type: 'address2'},\r\n ADR3: {type: 'address3'},\r\n ADOP: [\r\n {filterPreviousCode: 'FAMC', type: 'adoptiveParents'},\r\n {group: 'events', label: 'Adoption', isObject: true, basePropertyValue: 'value', includeCode: true}\r\n ],\r\n AFN: {type: 'ancestralFileNumber'},\r\n AGE: {type: 'age'},\r\n AGNC: {type: 'agency'},\r\n ALIA: {group: 'aliases', isObject: true, basePropertyReference: 'pointer', basePropertyValue: 'value', cleanSlashes: true},\r\n ANCE: {type: 'generationsOfAncestors'},\r\n ANCI: {group: 'ancestorInterest'},\r\n ANUL: {group: 'events', label: 'Annulment', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n ASSO: {group: 'associations', isObject: true, basePropertyReference: 'pointer'},\r\n AUTH: {type: 'author'},\r\n BAPL: {group: 'ldsIndividualOrdinance', label: 'Baptism', isObject: true},\r\n BAPM: {group: 'events', label: 'Baptism', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n BARM: {group: 'events', label: 'Bar Mitzvah', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n BASM: {group: 'events', label: 'Bas Mitzvah', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n BIRT: {group: 'events', label: 'Birth', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n BLES: {group: 'events', label: 'Blessing', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n BLOB: {ignore: true}, //Support discontinued in gedcom 5.5.1,\r\n BURI: {group: 'events', label: 'Burial', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n CALN: {group: 'sourceCallNumbers', isObject: true, basePropertyValue: 'value'},\r\n CAST: {group: 'attributes', label: 'Caste', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n CAUS: {type: 'cause'},\r\n CENS: {group: 'events', label: 'Census', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n CHAN: {type: 'lastChange', isObject: true},\r\n CHAR: {ignore: true},\r\n CHIL: {group: 'children', isObject: true, basePropertyReference: 'pointer'},\r\n CHR: {group: 'events', label: 'Christening', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n CHRA: {group: 'events', label: 'Adult Christening', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n CITY: {type: 'city'},\r\n CLNDR: {type: 'calendarType'},\r\n CONC: {ignore: true}, // Handled by special code\r\n CONF: {group: 'events', label: 'Confirmation', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n CONL: {group: 'ldsIndividualOrdinance', label: 'Confirmation', isObject: true},\r\n CONT: {ignore: true}, // Handled by special code\r\n COPR: {type: 'copyright'},\r\n CORP: {type: 'corporate', isObject: true},\r\n CREM: {group: 'events', label: 'Cremation', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n CTRY: {type: 'country'},\r\n DATA: {type: 'data', isObject: true},\r\n DATE: {type: 'date', isObject: true, basePropertyValue: 'date'},\r\n DEAT: {group: 'events', label: 'Death', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n DESC: {type: 'generationsOfDescendants'},\r\n DESI: {type: 'descendentInterest'},\r\n DEST: {ignore: true}, //{type: 'destination'},\r\n DIV: {group: 'events', label: 'Divorce', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n DIVF: {group: 'events', label: 'Divorce Filed', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n DSCR: {group: 'attributes', label: 'Physical Description', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n EDUC: {group: 'attributes', label: 'Education', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n EMAI: {group: 'emails'},\r\n EMAIL: {group: 'emails'},\r\n EMIG: {group: 'events', label: 'Emmigration', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n ENDL: {group: 'ldsIndividualOrdinance', label: 'Endowment', isObject: true},\r\n ENGA: {group: 'events', label: 'Engagement', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n EVEN: {group: 'events', label: 'Event', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n FACT: {group: 'attributes', label: 'Fact', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n FAM: {type: 'family', isObject: true, recordProperty: 'families'},\r\n FAMC: {group: 'familyParents', isObject: true, basePropertyReference: 'pointer'},\r\n FAMF: {type: 'familyFile'},\r\n FAMS: {group: 'familyUnions', isObject: true, basePropertyReference: 'pointer'},\r\n FAX: {group: 'faxes'},\r\n FCOM: {group: 'events', label: 'First Communion', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n FILE: {group: 'files', isObject: true, basePropertyValue: 'url'},\r\n FONE: {type: 'Phonetic', isObject: true},\r\n FORM: {type: 'format'},\r\n GEDC: {type: 'gedcom', isObject: true},\r\n GIVN: {type: 'given'},\r\n GRAD: {group: 'events', label: 'Graduation', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n HEAD: {type: 'header', isObject: true},\r\n HUSB: [\r\n {filterLevel: 2, type: 'husband', isObject: true},\r\n {group: 'spouses'}\r\n ],\r\n IDNO: {group: 'attributes', label: 'National Id Number', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n IMMI: {group: 'events', label: 'Immigration', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n INDI: {isObject: true, recordProperty: 'individuals'},\r\n LANG: {type: 'language'},\r\n LATI: {type: 'latitude'},\r\n LEGA: {ignore: true}, //Support discontinued in gedcom 5.6,\r\n LONG: {type: 'longitude'},\r\n MAP: {type: 'map', isObject: true},\r\n MARR: {group: 'events', label: 'Marriage', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n MARB: {group: 'events', label: 'Marriage Public Notice', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n MARC: {group: 'events', label: 'Marriage Contract', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n MARL: {group: 'events', label: 'Marriage License', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n MARS: {group: 'events', label: 'Marriage Settlement', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n MEDI: {type: 'media'},\r\n NAME: {group: 'names', isObject: true, basePropertyValue: 'fullName', cleanSlashes: true, removeUnderscores: true},\r\n NATI: {group: 'attributes', label: 'National or Tribal Origin', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n NATU: {group: 'events', label: 'Naturalization', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n NCHI: {group: 'attributes', label: 'Count of Children', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n NICK: {type: 'nickname'},\r\n NMR: {group: 'attributes', label: 'Count of Marriages', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n NOTE: [\r\n {filterLevel: 0, isObject: true, recordProperty: 'notes', basePropertyValue: 'value'},\r\n {group: 'notes', isObject: true, basePropertyValue: 'value', basePropertyReference: 'pointer'}\r\n ],\r\n NPFX: {type: 'namePrefix'},\r\n NSFX: {type: 'nameSuffix'},\r\n OBJE: [\r\n {filterLevel: 0, isObject: true, recordProperty: 'multimedia'},\r\n {group: 'multimedia', isObject: true, basePropertyReference: 'pointer'}\r\n ],\r\n OCCU: {group: 'attributes', label: 'Occupation', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n ORDI: {type: 'ordinance'},\r\n ORDN: {group: 'events', label: 'Ordination', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n PAGE: {type: 'page'},\r\n PEDI: {type: 'pedigree'},\r\n PHON: {group: 'phones'},\r\n PLAC: {type: 'place', isObject: true, basePropertyValue: 'value'},\r\n POST: {type: 'postalCode'},\r\n PROB: {group: 'events', label: 'Probate', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n PROP: {group: 'attributes', label: 'Possessions', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n PUBL: {type: 'publication'},\r\n QUAY: {type: 'certaintyAssessment'},\r\n REFN: {type: 'reference', isObject: true, basePropertyValue: 'value'},\r\n RELA: {type: 'relation'},\r\n RELI: {group: 'attributes', label: 'Religious Affiliation', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n REPO: [\r\n {filterLevel: 0, isObject: true, recordProperty: 'repositories'},\r\n {type: 'repository', isObject: true, basePropertyReference: 'pointer'}\r\n ],\r\n RESI: {group: 'attributes', label: 'Residence', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n RESN: {type: 'restrictionNotice'},\r\n RETI: {group: 'events', label: 'Retirement', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n RFN: {type: 'recordFileNumber'},\r\n RIN: {type: 'recordIdNumber'},\r\n ROLE: {type: 'role'},\r\n ROMN: {type: 'Romanized', isObject: true},\r\n SEX: {type: 'sex'},\r\n SLGC: {group: 'ldsIndividualOrdinance', label: 'Sealing', isObject: true},\r\n SLGS: {group: 'ldsSpouseSealing', isObject: true},\r\n SOUR: [\r\n {filterLevel: 0, isObject: true, recordProperty: 'sources'},\r\n {group: 'sources', isObject: true, basePropertyValue: 'value', basePropertyReference: 'pointer'}\r\n ],\r\n SPFX: {type: 'surnamePrefix'},\r\n SSN: {group: 'attributes', label: 'Social Security Number', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n STAE: {type: 'subdivision'},\r\n STAT: {type: 'status'},\r\n SUBM: [\r\n {filterLevel: 0, isObject: true, recordProperty: 'submittors'},\r\n {group: 'submittors'}\r\n ],\r\n SUBN: [\r\n {filterLevel: 0, isObject: true, recordProperty: 'submissions'},\r\n {type: 'submission'}\r\n ],\r\n SURN: {type: 'surname'},\r\n TEMP: {type: 'ldsTemple'},\r\n TEXT: {group: 'text'},\r\n TIME: {type: 'time'},\r\n TITL: [\r\n {filterLevel: 1, filterLevel0Code: 'INDI', group: 'attributes', label: 'Title', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n {type: 'title'}\r\n ],\r\n TRLR: {ignore: true},\r\n TYPE: {type: 'type'},\r\n URL: {group: 'urls'},\r\n VERS: {type: 'version'},\r\n WAC: {group: 'ldsIndividualOrdinance', label: 'WashingAndClothing', isObject: true},\r\n WIFE: [\r\n {filterLevel: 2, type: 'wife', isObject: true},\r\n {group: 'spouses'}\r\n ],\r\n WILL: {group: 'events', label: 'Probate', isObject: true, basePropertyValue: 'value', includeCode: true},\r\n WWW: {group: 'urls'},\r\n _ASSO: {group: 'associations', isObject: true, basePropertyReference: 'pointer'},\r\n _DESCRIPTION_AWARE: {ignore: true},\r\n _DISABLED: {type: 'LastUpdate'},\r\n _FREL: {type: 'fatherRelationship'},\r\n _PHOTO_RIN: {type: 'photoRecordIdNumber'},\r\n _PRIM: {type: 'primary', valueFormatter: formatYN},\r\n _MARNM: {type: 'marriedName'},\r\n _MREL: {type: 'motherRelationship'},\r\n _PLAC: [\r\n {filterLevel: 0, isObject: true, recordProperty: 'places'},\r\n {type: 'placeReference', isObject: true, basePropertyValue: 'value', basePropertyReference: 'pointer'}\r\n ],\r\n _PUBLISH: {ignore: true},\r\n _RINS: {ignore: true},\r\n _RTLSAVE: {ignore: true},\r\n _SDATE: {type: 'sortDate'},\r\n _SHAR: {group: 'shares', isObject: true, basePropertyReference: 'pointer'},\r\n _TIMEZONE: {ignore: true},\r\n _UID: {ignore: true},\r\n _UPD: {type: 'LastUpdate'},\r\n _USERNAME: {type: 'LastUpdate'},\r\n _WITN: {group: 'witnesses', isObject: true, basePropertyReference: 'pointer'},\r\n}\r\n\r\nfunction formatYN(value) {\r\n const map = {Y: true, N: false}\r\n return map[value]\r\n}","import xssFilters from \"xss-filters\"\r\nimport * as stringUtils from \"@/logic/general/stringUtils\"\r\nimport { ifExists } from \"@/logic/general/objectUtils\"\r\nimport { handlingTypes } from \"@/logic/gedcom/handlingTypes\"\r\n\r\nconst lineFormat = new Intl.NumberFormat(navigator.language, {notation: \"standard\", minimumIntegerDigits: 7, useGrouping: false})\r\n\r\nexport function convert(rawData) {\r\n const gedcomRows = rawData.replace(/\\r\\n/g,'\\n').split('\\n')\r\n const recordProperties = []\r\n const scaffold = []\r\n const referencesMade = {}\r\n let inErrorInvalidCode = false\r\n let inErrorInvalidCodeLevel = -1\r\n let inErrorNotObject = false\r\n let level0Code = null\r\n let lastSuccessfulGedcomRow = null\r\n let lastSuccessfulHandling = null\r\n let lastSuccessfulLevel = -1\r\n let lastSuccessfulLineNumber = 0\r\n let previousCode = null\r\n\r\n scaffold.push(buildBaseObject(recordProperties))\r\n \r\n // Old for loop used so we can look ahead \r\n for (let n = 0; n < gedcomRows.length; n++) {\r\n const gedcomRow = gedcomRows[n]\r\n const lineNumber = n + 1\r\n\r\n try {\r\n const parts = gedcomRow.split(/\\s+/)\r\n\r\n // Ignore lines without at least two parts\r\n if (parts.length < 2)\r\n continue\r\n\r\n const level = parseInt(parts[0])\r\n let code = null\r\n let id = null\r\n let value = null\r\n let isReference = false\r\n\r\n // Special handling when UID's occupy the 2nd position\r\n if (level === 0 && parts.length > 2 && parts[1].startsWith('@')) {\r\n id = cleanId(parts[1])\r\n code = parts[2]\r\n isReference = true\r\n value = getTrailingText(gedcomRow, parts[2]) \r\n\r\n } else {\r\n code = parts[1]\r\n\r\n if (parts.length > 2 && parts[2].startsWith('@')) {\r\n isReference = true\r\n value = cleanId(parts[2])\r\n } else {\r\n value = getTrailingText(gedcomRow, parts[1]) \r\n }\r\n }\r\n\r\n // Record references made in order to show invalid references\r\n recordReferencesMade(referencesMade, value, isReference)\r\n\r\n // Clean the lower levels of the scaffold\r\n // Remove lower levels as they can sometimes cause hard to trace bugs\r\n scaffold.fill(null, (level || 0) + 1)\r\n\r\n // The current level 0 item. Used to filter handling types.\r\n if (level === 0) {\r\n level0Code = code\r\n }\r\n\r\n // Lines that follow the invalid code\r\n if (inErrorInvalidCode && level > inErrorInvalidCodeLevel) {\r\n printLine(lineNumber,gedcomRow)\r\n continue \r\n }\r\n\r\n // How should we handle this code?\r\n const handling = getHandlingType(code, level, level0Code, previousCode)\r\n\r\n // Validation Section\r\n // No handling setup for this code. log and leave\r\n if (!handling) {\r\n inErrorInvalidCode = true\r\n inErrorInvalidCodeLevel = level\r\n console.warn(`GEDCOM invalid. GEDCOM code not recognized`)\r\n printLine(lineNumber,gedcomRow)\r\n continue \r\n }\r\n\r\n // If we are ignoring this code, then leave as well if the handling allows it.\r\n if (handling.ignore) {\r\n inErrorInvalidCode = true\r\n inErrorInvalidCodeLevel = level\r\n continue\r\n }\r\n\r\n // If parent is not an object, we must reject any lines that follow at a higher level.\r\n if (level > lastSuccessfulLevel && lastSuccessfulHandling && !lastSuccessfulHandling.isObject) {\r\n if (!inErrorNotObject) {\r\n inErrorNotObject = true;\r\n console.warn(`GEDCOM invalid. Sublevels follow a non-object handling type.`)\r\n printLine(lastSuccessfulLineNumber,lastSuccessfulGedcomRow)\r\n }\r\n\r\n printLine(lineNumber,gedcomRow)\r\n continue\r\n }\r\n\r\n // Clean off the first and last slash in a name\r\n value = cleanSlashes(value, handling)\r\n\r\n // Remove underscores\r\n value = removeUnderscores(value, handling)\r\n\r\n // Look to see if the immediately subsequent gedcomRows are 'CONT' gedcomRows and concatenate them to the value.\r\n value = continueLookahead(value, gedcomRows, n) \r\n\r\n // Add this to the parent object. \r\n if (handling.isObject) {\r\n setPropertyObject(scaffold, level, code, id, value, handling, isReference)\r\n } else {\r\n if (handling.group)\r\n setPropertyArrayValue(scaffold[level], handling.group, value, handling)\r\n else \r\n setPropertySimpleValue(scaffold[level], handling.type, value, handling)\r\n }\r\n\r\n inErrorInvalidCode = false\r\n inErrorInvalidCodeLevel = -1\r\n inErrorNotObject = false\r\n lastSuccessfulGedcomRow = gedcomRow\r\n lastSuccessfulHandling = handling\r\n lastSuccessfulLevel = level\r\n lastSuccessfulLineNumber = lineNumber\r\n previousCode = code\r\n\r\n } catch (error) {\r\n console.error(`GEDCOM invalid. Unexpected error: ${error.message}`)\r\n printLine(lineNumber,gedcomRow)\r\n throw error\r\n }\r\n } \r\n\r\n // Return only the level 0 object.\r\n const familyData = scaffold[0]\r\n reportInvalidReferences(familyData, referencesMade, recordProperties)\r\n\r\n return familyData\r\n}\r\n\r\n// Build the base object.\r\n// Add a property for each record type.\r\nexport function buildBaseObject(recordProperties) {\r\n const obj = {}\r\n\r\n for (const property in handlingTypes) {\r\n const handling = handlingTypes[property]\r\n\r\n if (Array.isArray(handling)) {\r\n handling.forEach(element => {\r\n if (element.recordProperty) {\r\n obj[element.recordProperty] = {}\r\n recordProperties.push(element.recordProperty)\r\n }\r\n })\r\n } else {\r\n if (handling.recordProperty) {\r\n obj[handling.recordProperty] = {}\r\n recordProperties.push(handling.recordProperty)\r\n }\r\n }\r\n }\r\n\r\n return obj\r\n}\r\n\r\n// Clean Slashes\r\n// If this is a name and there are more than 1 '/'character, remove the first and the last. \r\n// A number of GEDCOM exports bracket the last name with slashes as thus 'John /Smith/' The problem here is that a person could enter a slash in a person's name like this: 'John /Smith/Jones/\r\nexport function cleanSlashes(value, handling) {\r\n if (handling.cleanSlashes) {\r\n const totalSlashes = (value.match(/\\//g)||[]).length\r\n\r\n if (totalSlashes > 1) {\r\n let raw = value.replace(/\\s*\\//,' ') // Remove the first slash\r\n raw = stringUtils.removeChar(raw, raw.lastIndexOf('/')) // Remove last slash\r\n return raw.trim()\r\n }\r\n\r\n return value\r\n } else {\r\n return value\r\n }\r\n}\r\n\r\nexport function removeUnderscores(value, handling) {\r\n if (handling.removeUnderscores) {\r\n return value.replace('_', ' ')\r\n } else {\r\n return value\r\n }\r\n}\r\n\r\n// Clean Value\r\n// Strip off '@' characters at the beginning or end for everything but 'FILE'\r\nexport function cleanId(id) {\r\n return id.replace(/^@|@$/g,'')\r\n}\r\n\r\n// Search subsequent gedcomRows for the \"CONT\" or \"CONC\" and concatenate the result to the value\r\nexport function continueLookahead(value, gedcomRows, currentPosition) {\r\n for (let n = currentPosition + 1; n < gedcomRows.length; n++) {\r\n const gedcomRow = gedcomRows[n]\r\n const parts = gedcomRow.split(/\\s+/)\r\n\r\n // Ignore lines without at least two parts\r\n if (parts.length < 2 || (parts[1] !== 'CONT' && parts[1] !== 'CONC')) {\r\n break\r\n } else {\r\n if (parts[1] === 'CONC') {\r\n value += getTrailingText(gedcomRow, parts[1])\r\n }\r\n\r\n if (parts[1] === 'CONT') {\r\n value += '\\n' + getTrailingText(gedcomRow, parts[1])\r\n }\r\n }\r\n }\r\n\r\n return value\r\n}\r\n\r\nexport function getTrailingText(gedcomRow, lastKeyPart) {\r\n const controlStart = gedcomRow.indexOf(lastKeyPart)\r\n const textStart = controlStart + lastKeyPart.length + 1\r\n const text = gedcomRow.substring(textStart) || ''\r\n return text.replace(/@@/g,'@')\r\n}\r\n\r\n// Some values need special formatting\r\nexport function formatValue(value, handling) {\r\n if (typeof value === 'object')\r\n return value\r\n if (handling.valueFormatter) {\r\n return handling.valueFormatter(value, handling)\r\n } else {\r\n return xssFilters.inDoubleQuotedAttr(value)\r\n }\r\n}\r\n\r\n// Clean Value\r\n// Strip off '@' characters at the beginning or end for everything but 'FILE'\r\n// If this is a name and there are more than 1 '/'character, remove the first and the last. \r\n// A number of GEDCOM exports bracket the last name with slashes as thus 'John /Smith/' The problem here is that a person could enter a slash in a person's name like this: 'John /Smith/Jones/\r\nexport function getHandlingType(code, level, level0Code, previousCode) {\r\n const handling = handlingTypes[code]\r\n\r\n if (Array.isArray(handling)) {\r\n // Get the first item that matches. If the property exists, check for match, otherwise, assume match.\r\n const items = handling.filter(item => {\r\n const matchLevel = ifExists(item.filterLevel) ? item.filterLevel === level : true \r\n const matchLevel0Code = ifExists(item.filterLevel0Code) ? item.filterLevel0Code === level0Code : true \r\n const matchPreviousCode = ifExists(item.filterPreviousCode) ? item.filterPreviousCode === previousCode : true \r\n return matchLevel && matchLevel0Code && matchPreviousCode\r\n })\r\n\r\n return items ? items[0] : null\r\n } else {\r\n return handling\r\n }\r\n}\r\n\r\nexport function recordReferencesMade(referencesMade, value, isReference) {\r\n if (isReference && value) {\r\n referencesMade[value] = true\r\n }\r\n}\r\n\r\nexport function reportInvalidReferences(familyData, referencesMade, recordProperties) {\r\n const invalidReferences = []\r\n\r\n Object.keys(referencesMade).forEach(reference => {\r\n const found = recordProperties.some(recordProperty => {\r\n return familyData[recordProperty][reference]\r\n })\r\n\r\n if (!found) invalidReferences.push(reference)\r\n });\r\n\r\n if (invalidReferences.length > 0) {\r\n const list = invalidReferences.sort().join(', ')\r\n console.log(`Invalid References: ${list}`)\r\n }\r\n}\r\n\r\nexport function setPropertyObject(scaffold, level, code, id, value, handling, isReference){\r\n const obj = {}\r\n scaffold[level + 1] = obj\r\n\r\n if (handling.recordProperty && level === 0) {\r\n obj['id'] = id\r\n scaffold[0][handling.recordProperty][id] = obj\r\n } else if (handling.group) {\r\n setPropertyArray(scaffold[level], handling.group, obj)\r\n if (handling.includeCode) {\r\n obj.code = code\r\n }\r\n\r\n } else {\r\n setPropertySimpleValue(scaffold[level], handling.type, obj, handling)\r\n }\r\n\r\n // Some objects also have a value on the same line\r\n if (handling.basePropertyReference && isReference) {\r\n setPropertySimpleValue(obj, handling.basePropertyReference, value, handling)\r\n } else if (handling.basePropertyValue) {\r\n setPropertySimpleValue(obj, handling.basePropertyValue, value, handling)\r\n }\r\n}\r\n\r\nexport function setPropertyArrayValue(obj, property, value, handling) {\r\n if (value) {\r\n setPropertyArray(obj, property, formatValue(value, handling))\r\n }\r\n}\r\n\r\nexport function setPropertySimpleValue(obj, property, value, handling) {\r\n if (value)\r\n obj[property] = formatValue(value, handling)\r\n}\r\n\r\nexport function setPropertyArray(obj, property, item) {\r\n if (!obj[property])\r\n obj[property] = []\r\n\r\n obj[property].push(item)\r\n}\r\n\r\nexport function printLine(lineNumber, gedcomRow) {\r\n console.log(` ${lineFormat.format(lineNumber)} ${gedcomRow}`)\r\n}\r\n","import builder from 'xmlbuilder'\r\nimport moment from 'moment'\r\nimport {getFamilyURL, getIndividualURL} from '@/logic/general/urlUtils'\r\nimport {getFormalName} from '@/logic/family/individualUtils'\r\n\r\nexport function generateSitemapFile(individuals, familyId, familyName) {\r\n const today = moment().utc().format(\"YYYY-MM-DD\")\r\n const origin = location.origin\r\n\r\n const urlset = builder.create('urlset').dec('1.0', 'UTF-8', true);\r\n urlset.att('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9')\r\n\r\n const collectionUrl = getFamilyURL(familyId, familyName)\r\n const collectionPath = `${origin}${collectionUrl.path}`\r\n generateSitemapUrl(urlset, collectionPath, today)\r\n\r\n for (const key of Object.getOwnPropertyNames(individuals || {})) {\r\n const individual = individuals[key]\r\n const name = getFormalName(individual)\r\n const parts = name.split(' ').filter(item => /[\\w\\d]/.test(item))\r\n const isSufficientlyComplex = parts.length > 2 || (parts.length === 2 && !hasGenericName(parts))\r\n\r\n if (isSufficientlyComplex) {\r\n const individualUrl = getIndividualURL(familyId, familyName, individual.id, name)\r\n const individualPath = `${origin}${individualUrl.path}`\r\n generateSitemapUrl(urlset, individualPath, today)\r\n }\r\n }\r\n\r\n return urlset.end({ pretty: true})\r\n}\r\n\r\nexport function generateSitemapUrl(urlset, loc, lastmod) {\r\n const urlNode = urlset.ele('url')\r\n const locNode = urlNode.ele('loc')\r\n const lastmodNode = urlNode.ele('lastmod')\r\n locNode.txt(loc)\r\n lastmodNode.txt(lastmod)\r\n}\r\n\r\nexport function hasGenericName(parts) {\r\n return parts.some(part => /\\b(son|dau(ghter)?|boy|girl)\\b/.test(part))\r\n}","import * as gedcomToJson from \"@/logic/gedcom/gedcomToJson\"\r\nimport { objToJsonGzippedBase64, stringToGzippedBase64} from '@/logic/general/gzipUtils'\r\nimport { generateSitemapFile } from '@/logic/seo/sitemapUtils'\r\n\r\nexport function isAdministrator (familyAuthorityId) {\r\n return familyAuthorityId > 1\r\n}\r\n\r\nexport function isOwner (familyAuthorityId) {\r\n return familyAuthorityId === 3\r\n}\r\n\r\nexport function canUpdateFamilyUser (operatorFamilyAuthorityId, targetFamilyAuthorityId) {\r\n return isAdministrator(operatorFamilyAuthorityId) && operatorFamilyAuthorityId >= targetFamilyAuthorityId\r\n}\r\n\r\nexport function canDeleteInvitation (operatorFamilyAuthorityId, operatorUserId, sponsorUserId) {\r\n return isOwner(operatorFamilyAuthorityId) || operatorUserId === sponsorUserId\r\n}\r\n\r\nexport async function processFamilyData (cleanData, familyId, familyName) {\r\n const result = {}\r\n result.gedcomDataCompressed = await stringToGzippedBase64(cleanData)\r\n const familyData = gedcomToJson.convert(cleanData)\r\n result.familyDataCompressed = await objToJsonGzippedBase64(familyData)\r\n const sitemap = generateSitemapFile(familyData.individuals, familyId, familyName)\r\n result.sitemapCompressed = await stringToGzippedBase64(sitemap)\r\n return result\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('validation-provider',{attrs:{\"name\":\"Base Family Name\",\"rules\":{required: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Base Family Name:\",\"label-align-sm\":\"right\",\"label-for\":\"family-name-base-box\"}},[_c('b-form-input',{attrs:{\"id\":\"family-name-base-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"1\"},model:{value:(_vm.form.familyNameBase),callback:function ($$v) {_vm.$set(_vm.form, \"familyNameBase\", $$v)},expression:\"form.familyNameBase\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"familyName-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Description\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Description:\",\"label-align-sm\":\"right\",\"label-for\":\"family-description-base-box\"}},[_c('b-form-textarea',{attrs:{\"id\":\"family-description-base-box\",\"state\":_vm.getValidationState(validationContext),\"placeholder\":\"Enter optional description...\",\"rows\":\"3\",\"tabindex\":\"3\"},model:{value:(_vm.form.familyDescription),callback:function ($$v) {_vm.$set(_vm.form, \"familyDescription\", $$v)},expression:\"form.familyDescription\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"familyDescription-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Author\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Author:\",\"label-align-sm\":\"right\",\"label-for\":\"author-base-box\"}},[_c('b-form-input',{attrs:{\"id\":\"author-base-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"4\"},model:{value:(_vm.form.author),callback:function ($$v) {_vm.$set(_vm.form, \"author\", $$v)},expression:\"form.author\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"author-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Source URL\",\"rules\":{url: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Source URL:\",\"label-align-sm\":\"right\",\"label-for\":\"source-url-base-box\"}},[_c('b-form-input',{attrs:{\"id\":\"source-url-base-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"4\"},model:{value:(_vm.form.sourceUrl),callback:function ($$v) {_vm.$set(_vm.form, \"sourceUrl\", $$v)},expression:\"form.sourceUrl\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"sourceUrl-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label-for\":\"suppressGender-box\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"suppressGender-box\",\"type\":\"text\",\"tabindex\":\"5\"},model:{value:(_vm.form.suppressGender),callback:function ($$v) {_vm.$set(_vm.form, \"suppressGender\", $$v)},expression:\"form.suppressGender\"}},[_vm._v(\" Hide Gender? \")])],1),(_vm.isSiteAdministrator)?_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label-for\":\"isPublic-box\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"isPublic-box\",\"type\":\"text\",\"tabindex\":\"5\"},model:{value:(_vm.form.isPublic),callback:function ($$v) {_vm.$set(_vm.form, \"isPublic\", $$v)},expression:\"form.isPublic\"}},[_vm._v(\" Is Public? \")])],1):_vm._e(),(_vm.isSiteAdministrator)?_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label-for\":\"isShowcased-box\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"isShowcased-box\",\"type\":\"text\",\"tabindex\":\"5\"},model:{value:(_vm.form.isShowcased),callback:function ($$v) {_vm.$set(_vm.form, \"isShowcased\", $$v)},expression:\"form.isShowcased\"}},[_vm._v(\" Is Showcased? \")])],1):_vm._e(),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditFamilyDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditFamilyDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditFamilyDetails.vue?vue&type=template&id=d4b1df38&\"\nimport script from \"./EditFamilyDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./EditFamilyDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"embedded-form row-details narrow-container-1\"},[_c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[(_vm.isPersonal)?_c('b-form-group',{attrs:{\"label-cols-sm\":\"2\",\"label-for\":\"isEmailVisible-box\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"isEmailVisible-box\",\"type\":\"text\",\"tabindex\":\"1\"},model:{value:(_vm.form.isEmailVisible),callback:function ($$v) {_vm.$set(_vm.form, \"isEmailVisible\", $$v)},expression:\"form.isEmailVisible\"}},[_vm._v(\" Is Email Visible? \")])],1):_vm._e(),(_vm.isPersonal)?_c('b-form-group',{attrs:{\"label-cols-sm\":\"2\",\"label\":\"Family Alias:\",\"label-align-sm\":\"right\",\"label-for\":\"family-alias-box\"}},[_c('b-form-input',{attrs:{\"id\":\"family-alias-box\",\"type\":\"text\",\"tabindex\":\"2\"},model:{value:(_vm.form.familyNameAlias),callback:function ($$v) {_vm.$set(_vm.form, \"familyNameAlias\", $$v)},expression:\"form.familyNameAlias\"}})],1):_vm._e(),(_vm.isAdministrator && !_vm.isPersonal)?_c('b-form-group',{attrs:{\"label-cols-sm\":\"2\",\"label\":\"Authority:\",\"label-align-sm\":\"right\",\"label-for\":\"Authority-box\"}},[_c('b-form-radio-group',{staticClass:\"pt-2\",attrs:{\"id\":\"Authority-box\"},model:{value:(_vm.form.familyAuthorityId),callback:function ($$v) {_vm.$set(_vm.form, \"familyAuthorityId\", $$v)},expression:\"form.familyAuthorityId\"}},[_c('b-form-radio',{attrs:{\"value\":\"1\"}},[_vm._v(\"Read-only\")]),(_vm.isAuthorityAvailable(2))?_c('b-form-radio',{attrs:{\"value\":\"2\"}},[_vm._v(\"Admin\")]):_vm._e(),(_vm.isAuthorityAvailable(3))?_c('b-form-radio',{attrs:{\"value\":\"3\"}},[_vm._v(\"Owner\")]):_vm._e()],1)],1):_vm._e(),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditFamilyUserDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditFamilyUserDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditFamilyUserDetails.vue?vue&type=template&id=c26aa890&\"\nimport script from \"./EditFamilyUserDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./EditFamilyUserDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('h4',[_vm._v(\"New Invitation\")]),_c('div',{staticClass:\"edit-container embedded-form narrow-container-1 mb-2\"},[_c('SendInvitation',{on:{\"force-reset\":function($event){return _vm.reset()}}})],1),_c('div',{staticClass:\"d-flex flex-wrap justify-content-between\"},[_c('div',[_c('h4',[_vm._v(\" Invitations Outstanding \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('If this is a private family, these are all the people that have been invited to view it but have not yet accepted. Accepting an invitation is optional. Invitations are via a user\\'s email and can be made even prior to that user having an account. That person will see the invitation the next time they login or, if they are already logged in, the next time they user the website. If the user may also be sent an email with the invitation if their email settings allow it.'),expression:\"'If this is a private family, these are all the people that have been invited to view it but have not yet accepted. Accepting an invitation is optional. Invitations are via a user\\\\'s email and can be made even prior to that user having an account. That person will see the invitation the next time they login or, if they are already logged in, the next time they user the website. If the user may also be sent an email with the invitation if their email settings allow it.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]),_c('div',[(_vm.hasInvitationsPageTwo)?_c('b-pagination',{attrs:{\"per-page\":_vm.invitationsPerPage,\"total-rows\":_vm.invitationsRows,\"aria-controls\":\"my-table\",\"align\":\"right\"},model:{value:(_vm.invitationsCurrentPage),callback:function ($$v) {_vm.invitationsCurrentPage=$$v},expression:\"invitationsCurrentPage\"}}):_vm._e()],1),_c('div',[_c('b-form-group',{staticClass:\"narrow-container-0\",attrs:{\"label-cols-sm\":\"4\",\"label\":\"Name Filter:\",\"label-align-sm\":\"right\",\"label-for\":\"invitations-filter-box\"}},[_c('b-form-input',{attrs:{\"id\":\"invitations-filter-box\",\"type\":\"text\",\"tabindex\":\"1\"},model:{value:(_vm.invitationsFilter),callback:function ($$v) {_vm.invitationsFilter=$$v},expression:\"invitationsFilter\"}})],1)],1)]),_c('b-table',{attrs:{\"busy\":_vm.busy,\"current-page\":_vm.invitationsCurrentPage,\"items\":_vm.familyInvitations,\"fields\":_vm.invitationsFields,\"filter\":_vm.invitationsFilter,\"filter-included-fields\":_vm.invitationsFilterFields,\"per-page\":_vm.invitationsPerPage,\"hover\":\"\",\"responsive\":\"\",\"show-empty\":\"\",\"stacked\":\"md\",\"striped\":\"\"},on:{\"filtered\":_vm.onInvitationsFiltered},scopedSlots:_vm._u([{key:\"head(inviteeUserName)\",fn:function(){return [_c('div',[_vm._v(\" Invitee \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('If the user already has an account on the website, their name will appear here.'),expression:\"'If the user already has an account on the website, their name will appear here.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]},proxy:true},{key:\"head(sponsorUserName)\",fn:function(){return [_c('div',[_vm._v(\" Sponsor \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('This is the person who extended the invitation to view this family.'),expression:\"'This is the person who extended the invitation to view this family.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]},proxy:true},{key:\"cell(hasBeenViewed)\",fn:function(row){return [(row.item.hasBeenViewed)?_c('b-icon',{attrs:{\"icon\":\"check\"}}):_vm._e()]}},{key:\"cell(actions)\",fn:function(row){return [(_vm.canDeleteInvitation(row.item.sponsorUserId) && !_vm.isInvitationProcessing(row))?_c('b-button',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.revokeInvitation(row.item.familyInvitationId)}}},[_c('b-icon',{attrs:{\"icon\":\"x-circle\"}}),_vm._v(\"Revoke \")],1):_vm._e(),(_vm.hasRowError(row))?_c('div',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"alert alert-danger alert-table\",attrs:{\"title\":_vm.rowError(row)}},[_vm._v(\"Error\")]):_vm._e()]}},{key:\"table-busy\",fn:function(){return [_c('TableBusy')]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('validation-provider',{attrs:{\"name\":\"Email\",\"rules\":{required: true, email: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"1\",\"label\":\"Email:\",\"label-align-sm\":\"right\",\"label-for\":\"email-box\"}},[_c('b-form-input',{attrs:{\"id\":\"email-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"username\",\"tabindex\":\"1\"},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", $$v)},expression:\"form.email\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"email-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetForm()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SendInvitation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SendInvitation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SendInvitation.vue?vue&type=template&id=18fc3bcd&\"\nimport script from \"./SendInvitation.vue?vue&type=script&lang=js&\"\nexport * from \"./SendInvitation.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyInvitationsGiven.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyInvitationsGiven.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilyInvitationsGiven.vue?vue&type=template&id=4eeb3534&\"\nimport script from \"./FamilyInvitationsGiven.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilyInvitationsGiven.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('div',{staticClass:\"d-flex flex-wrap justify-content-between\"},[_c('div',[_c('h4',[_vm._v(\" Authorized Members \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('If this is a private family, these are all the users that are authorized to view it. If this is a public family this list is still important as it will list all those who can make changes.'),expression:\"'If this is a private family, these are all the users that are authorized to view it. If this is a public family this list is still important as it will list all those who can make changes.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]),_c('div',[(_vm.hasUsersPageTwo)?_c('b-pagination',{attrs:{\"per-page\":_vm.usersPerPage,\"total-rows\":_vm.usersRows,\"aria-controls\":\"my-table\",\"align\":\"right\"},model:{value:(_vm.usersCurrentPage),callback:function ($$v) {_vm.usersCurrentPage=$$v},expression:\"usersCurrentPage\"}}):_vm._e()],1),_c('div',[_c('b-form-group',{staticClass:\"narrow-container-0\",attrs:{\"label-cols-sm\":\"4\",\"label\":\"Name Filter:\",\"label-align-sm\":\"right\",\"label-for\":\"users-filter-box\"}},[_c('b-form-input',{attrs:{\"id\":\"users-filter-box\",\"type\":\"text\",\"tabindex\":\"1\"},model:{value:(_vm.usersFilter),callback:function ($$v) {_vm.usersFilter=$$v},expression:\"usersFilter\"}})],1)],1)]),_c('b-table',{attrs:{\"busy\":_vm.busy,\"current-page\":_vm.usersCurrentPage,\"items\":_vm.familyUsers,\"fields\":_vm.usersFields,\"filter\":_vm.usersFilter,\"per-page\":_vm.usersPerPage,\"responsive\":\"\",\"show-empty\":\"\",\"stacked\":\"md\",\"striped\":\"\"},on:{\"filtered\":_vm.onUsersFiltered},scopedSlots:_vm._u([{key:\"head(email)\",fn:function(){return [_c('div',[_vm._v(\" Email \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('The user\\'s email address. The user may elect to hide their email address to other members of this family.'),expression:\"'The user\\\\'s email address. The user may elect to hide their email address to other members of this family.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]},proxy:true},{key:\"head(familyAuthorityId)\",fn:function(){return [_c('div',[_vm._v(\" Authority \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('Represents the user\\'s ability to manage the family.'),expression:\"'Represents the user\\\\'s ability to manage the family.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]},proxy:true},{key:\"head(familyNameAlias)\",fn:function(){return [_c('div',[_vm._v(\" Family Name Alias \"),_c('b-icon',{directives:[{name:\"b-popover\",rawName:\"v-b-popover.click.blur.bottomright\",value:('The user\\'s name for this family. If the user has not specified anything here, to that person, this family will be known by the Base Family Name.'),expression:\"'The user\\\\'s name for this family. If the user has not specified anything here, to that person, this family will be known by the Base Family Name.'\",modifiers:{\"click\":true,\"blur\":true,\"bottomright\":true}}],staticClass:\"hover-pointer\",attrs:{\"icon\":\"info-square\"}})],1)]},proxy:true},{key:\"cell(actions)\",fn:function(data){return [(!data.detailsShowing && _vm.isFamilyUserEditable(data))?_c('b-button',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.showRowDetails(data)}}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_vm._v(\"Edit \")],1):_vm._e()]}},{key:\"row-details\",fn:function(data){return [_c('EditFamilyUserDetails',{attrs:{\"family-user-data\":data.item,\"operator-family-authority-id\":_vm.operatorFamilyAuthorityId},on:{\"force-reset\":function($event){return _vm.reset()}}})]}},{key:\"table-busy\",fn:function(){return [_c('TableBusy')]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyUsers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyUsers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilyUsers.vue?vue&type=template&id=711b8d3b&\"\nimport script from \"./FamilyUsers.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilyUsers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('validation-provider',{attrs:{\"name\":\".GED file\",\"rules\":{ ext:'ged', required: true },\"custom-messages\":{ 'ext':'Please select a .ged file', 'required': 'A .ged file is required' }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"GED File:\",\"label-align-sm\":\"right\",\"label-for\":\"file-name-box\"}},[_c('b-form-file',{ref:\"file-name\",staticClass:\"mt-1\",attrs:{\"id\":\"file-name-box\",\"state\":validationContext.errors.length === 0,\"placeholder\":\"Choose a .ged file or drop it here...\",\"drop-placeholder\":\"Drop .ged file here...\",\"tabindex\":\"3\"},model:{value:(_vm.fileName),callback:function ($$v) {_vm.fileName=$$v},expression:\"fileName\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"givenName-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Source and with thanks: https://github.com/infused/ansel/blob/master/lib/ansel/character_map.rb\r\n// https://en.wikipedia.org/wiki/ANSEL\r\n// https://www.compart.com/en/unicode/block/U+0300 \r\n\r\nexport const anselToUtf8Map = {\r\n 'ERR':'\\uFFFD', // � - REPLACEMENT CHARACTER\r\n '88':'', // NON-SORT BEGIN / START OF STRING\r\n '89':'', // NON-SORT END / STRING TERMINATOR\r\n '8D':'', // JOINER / ZERO WIDTH JOINER\r\n '8E':'', // NON-JOINER / ZERO WIDTH NON-JOINER\r\n 'A1':'\\u0141', // Ł - UPPERCASE POLISH L / LATIN CAPITAL LETTER L WITH STROKE\r\n 'A2':'\\u00D8', // Ø - UPPERCASE SCANDINAVIAN O / LATIN CAPITAL LETTER O WITH STROKE\r\n 'A3':'\\u0110', // Đ - UPPERCASE D WITH CROSSBAR / LATIN CAPITAL LETTER D WITH STROKE\r\n 'A4':'\\u00DE', // Þ - UPPERCASE ICELANDIC THORN / LATIN CAPITAL LETTER THORN (Icelandic)\r\n 'A5':'\\u00C6', // Æ - UPPERCASE DIGRAPH AE / LATIN CAPITAL LIGATURE AE\r\n 'A6':'\\u0152', // Œ - UPPERCASE DIGRAPH OE / LATIN CAPITAL LIGATURE OE\r\n 'A7':'\\u02B9', // ʹ - SOFT SIGN, PRIME / MODIFIER LETTER PRIME\r\n 'A8':'\\u00B7', // · - MIDDLE DOT\r\n 'A9':'\\u266D', // ♭ - MUSIC FLAT SIGN\r\n 'AA':'\\u00AE', // ® - PATENT MARK / REGISTERED SIGN\r\n 'AB':'\\u00B1', // ± - PLUS OR MINUS / PLUS-MINUS SIGN\r\n 'AC':'\\u01A0', // Ơ - UPPERCASE O-HOOK / LATIN CAPITAL LETTER O WITH HORN\r\n 'AD':'\\u01AF', // Ư - UPPERCASE U-HOOK / LATIN CAPITAL LETTER U WITH HORN\r\n 'AE':'\\u02BC', // ʼ - ALIF / MODIFIER LETTER APOSTROPHE\r\n 'B0':'\\u02BB', // ʻ - AYN / MODIFIER LETTER TURNED COMMA\r\n 'B1':'\\u0142', // ł - LOWERCASE POLISH L / LATIN SMALL LETTER L WITH STROKE\r\n 'B2':'\\u00F8', // ø - LOWERCASE SCANDINAVIAN O / LATIN SMALL LETTER O WITH STROKE\r\n 'B3':'\\u0111', // đ - LOWERCASE D WITH CROSSBAR / LATIN SMALL LETTER D WITH STROKE\r\n 'B4':'\\u00FE', // þ - LOWERCASE ICELANDIC THORN / LATIN SMALL LETTER THORN (Icelandic)\r\n 'B5':'\\u00E6', // æ - LOWERCASE DIGRAPH AE / LATIN SMALL LIGATURE AE\r\n 'B6':'\\u0153', // œ - LOWERCASE DIGRAPH OE / LATIN SMALL LIGATURE OE\r\n 'B7':'\\u02BA', // ʺ - HARD SIGN, DOUBLE PRIME / MODIFIER LETTER DOUBLE PRIME\r\n 'B8':'\\u0131', // ı - LOWERCASE TURKISH I / LATIN SMALL LETTER DOTLESS I\r\n 'B9':'\\u00A3', // £ - BRITISH POUND / POUND SIGN\r\n 'BA':'\\u00F0', // ð - LOWERCASE ETH / LATIN SMALL LETTER ETH (Icelandic)\r\n 'BC':'\\u01A1', // ơ - LOWERCASE O-HOOK / LATIN SMALL LETTER O WITH HORN\r\n 'BD':'\\u01B0', // ư - LOWERCASE U-HOOK / LATIN SMALL LETTER U WITH HORN\r\n 'BE':'\\u25A1', // □ - EMPTY BOX\r\n 'BF':'\\u25A0', // ■ - BLACK BOX\r\n 'C0':'\\u00B0', // ° - DEGREE SIGN\r\n 'C1':'\\u2113', // ℓ - SCRIPT SMALL L\r\n 'C2':'\\u2117', // ℗ - SOUND RECORDING COPYRIGHT\r\n 'C3':'\\u00A9', // © - COPYRIGHT SIGN\r\n 'C4':'\\u266F', // ♯ - MUSIC SHARP SIGN\r\n 'C5':'\\u00BF', // ¿ - INVERTED QUESTION MARK\r\n 'C6':'\\u00A1', // ¡ - INVERTED EXCLAMATION MARK\r\n 'C7':'\\u00DF', // ß - ESZETT SYMBOL\r\n 'C8':'\\u20AC', // € - EURO SIGN\r\n 'CD':'\\u0065', // e - MIDLINE E\r\n 'CE':'\\u006F', // o - MIDLINE O\r\n 'CF':'\\u00DF', // ß - EZ ZET\r\n\r\n 'E0+41':'\\u1EA2', // Ả - LATIN CAPITAL LETTER A WITH HOOK ABOVE\r\n 'E0+45':'\\u1EBA', // LATIN CAPITAL LETTER E WITH HOOK ABOVE\r\n 'E0+49':'\\u1EC8', // LATIN CAPITAL LETTER I WITH HOOK ABOVE\r\n 'E0+4F':'\\u1ECE', // LATIN CAPITAL LETTER O WITH HOOK ABOVE\r\n 'E0+55':'\\u1EE6', // LATIN CAPITAL LETTER U WITH HOOK ABOVE\r\n 'E0+59':'\\u1EF6', // LATIN CAPITAL LETTER Y WITH HOOK ABOVE\r\n 'E0+61':'\\u1EA3', // LATIN SMALL LETTER A WITH HOOK ABOVE\r\n 'E0+65':'\\u1EBB', // LATIN SMALL LETTER E WITH HOOK ABOVE\r\n 'E0+69':'\\u1EC9', // LATIN SMALL LETTER I WITH HOOK ABOVE\r\n 'E0+6F':'\\u1ECF', // LATIN SMALL LETTER O WITH HOOK ABOVE\r\n 'E0+75':'\\u1EE7', // LATIN SMALL LETTER U WITH HOOK ABOVE\r\n 'E0+79':'\\u1EF7', // LATIN SMALL LETTER Y WITH HOOK ABOVE\r\n 'E0+E3+41':'\\u1EA8', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E0+E3+45':'\\u1EC2', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E0+E3+4F':'\\u1ED4', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E0+E3+61':'\\u1EA9', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E0+E3+65':'\\u1EC3', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E0+E3+6F':'\\u1ED5', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E0+E6+41':'\\u1EB2', // LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE\r\n 'E0+E6+61':'\\u1EB3', // LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE\r\n 'E0':'', // COMBINING HOOK ABOVE \\u0309\r\n\r\n 'E1+41':'\\u00C0', // LATIN CAPITAL LETTER A WITH GRAVE\r\n 'E1+45':'\\u00C8', // LATIN CAPITAL LETTER E WITH GRAVE\r\n 'E1+49':'\\u00CC', // LATIN CAPITAL LETTER I WITH GRAVE\r\n 'E1+4F':'\\u00D2', // LATIN CAPITAL LETTER O WITH GRAVE\r\n 'E1+55':'\\u00D9', // LATIN CAPITAL LETTER U WITH GRAVE\r\n 'E1+57':'\\u1E80', // LATIN CAPITAL LETTER W WITH GRAVE\r\n 'E1+59':'\\u1EF2', // LATIN CAPITAL LETTER Y WITH GRAVE\r\n 'E1+61':'\\u00E0', // LATIN SMALL LETTER A WITH GRAVE\r\n 'E1+65':'\\u00E8', // LATIN SMALL LETTER E WITH GRAVE\r\n 'E1+69':'\\u00EC', // LATIN SMALL LETTER I WITH GRAVE\r\n 'E1+6F':'\\u00F2', // LATIN SMALL LETTER O WITH GRAVE\r\n 'E1+75':'\\u00F9', // LATIN SMALL LETTER U WITH GRAVE\r\n 'E1+77':'\\u1E81', // LATIN SMALL LETTER W WITH GRAVE\r\n 'E1+79':'\\u1EF3', // LATIN SMALL LETTER Y WITH GRAVE\r\n 'E1+E3+41':'\\u1EA6', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE\r\n 'E1+E3+45':'\\u1EC0', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE\r\n 'E1+E3+4F':'\\u1ED2', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE\r\n 'E1+E3+61':'\\u1EA7', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE\r\n 'E1+E3+65':'\\u1EC1', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE\r\n 'E1+E3+6F':'\\u1ED3', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE\r\n 'E1+E5+45':'\\u1E14', // LATIN CAPITAL LETTER E WITH MACRON AND GRAVE\r\n 'E1+E5+4F':'\\u1E50', // LATIN CAPITAL LETTER O WITH MACRON AND GRAVE\r\n 'E1+E5+65':'\\u1E15', // LATIN SMALL LETTER E WITH MACRON AND GRAVE\r\n 'E1+E5+6F':'\\u1E51', // LATIN SMALL LETTER O WITH MACRON AND GRAVE\r\n 'E1+E6+41':'\\u1EB0', // LATIN CAPITAL LETTER A WITH BREVE AND GRAVE\r\n 'E1+E6+61':'\\u1EB1', // LATIN SMALL LETTER A WITH BREVE AND GRAVE\r\n 'E1+E8+55':'\\u01DB', // LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE\r\n 'E1+E8+75':'\\u01DC', // LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE\r\n 'E1':'', // COMBINING GRAVE ACCENT \\u0300\r\n\r\n 'E2+41':'\\u00C1', // LATIN CAPITAL LETTER A WITH ACUTE\r\n 'E2+43':'\\u0106', // LATIN CAPITAL LETTER C WITH ACUTE\r\n 'E2+45':'\\u00C9', // LATIN CAPITAL LETTER E WITH ACUTE\r\n 'E2+47':'\\u01F4', // LATIN CAPITAL LETTER G WITH ACUTE\r\n 'E2+49':'\\u00CD', // LATIN CAPITAL LETTER I WITH ACUTE\r\n 'E2+4B':'\\u1E30', // LATIN CAPITAL LETTER K WITH ACUTE\r\n 'E2+4C':'\\u0139', // LATIN CAPITAL LETTER L WITH ACUTE\r\n 'E2+4D':'\\u1E3E', // LATIN CAPITAL LETTER M WITH ACUTE\r\n 'E2+4E':'\\u0143', // LATIN CAPITAL LETTER N WITH ACUTE\r\n 'E2+4F':'\\u00D3', // LATIN CAPITAL LETTER O WITH ACUTE\r\n 'E2+50':'\\u1E54', // LATIN CAPITAL LETTER P WITH ACUTE\r\n 'E2+52':'\\u0154', // LATIN CAPITAL LETTER R WITH ACUTE\r\n 'E2+53':'\\u015A', // LATIN CAPITAL LETTER S WITH ACUTE\r\n 'E2+55':'\\u00DA', // LATIN CAPITAL LETTER U WITH ACUTE\r\n 'E2+57':'\\u1E82', // LATIN CAPITAL LETTER W WITH ACUTE\r\n 'E2+59':'\\u00DD', // LATIN CAPITAL LETTER Y WITH ACUTE\r\n 'E2+5A':'\\u0179', // LATIN CAPITAL LETTER Z WITH ACUTE\r\n 'E2+61':'\\u00E1', // LATIN SMALL LETTER A WITH ACUTE\r\n 'E2+63':'\\u0107', // LATIN SMALL LETTER C WITH ACUTE\r\n 'E2+65':'\\u00E9', // LATIN SMALL LETTER E WITH ACUTE\r\n 'E2+67':'\\u01F5', // LATIN SMALL LETTER G WITH ACUTE\r\n 'E2+69':'\\u00ED', // LATIN SMALL LETTER I WITH ACUTE\r\n 'E2+6B':'\\u1E31', // LATIN SMALL LETTER K WITH ACUTE\r\n 'E2+6C':'\\u013A', // LATIN SMALL LETTER L WITH ACUTE\r\n 'E2+6D':'\\u1E3F', // LATIN SMALL LETTER M WITH ACUTE\r\n 'E2+6E':'\\u0144', // LATIN SMALL LETTER N WITH ACUTE\r\n 'E2+6F':'\\u00F3', // LATIN SMALL LETTER O WITH ACUTE\r\n 'E2+70':'\\u1E55', // LATIN SMALL LETTER P WITH ACUTE\r\n 'E2+72':'\\u0155', // LATIN SMALL LETTER R WITH ACUTE\r\n 'E2+73':'\\u015B', // LATIN SMALL LETTER S WITH ACUTE\r\n 'E2+75':'\\u00FA', // LATIN SMALL LETTER U WITH ACUTE\r\n 'E2+77':'\\u1E83', // LATIN SMALL LETTER W WITH ACUTE\r\n 'E2+79':'\\u00FD', // LATIN SMALL LETTER Y WITH ACUTE\r\n 'E2+7A':'\\u017A', // LATIN SMALL LETTER Z WITH ACUTE\r\n 'E2+A5':'\\u01FC', // LATIN CAPITAL LETTER AE WITH ACUTE\r\n 'E2+B5':'\\u01FD', // LATIN SMALL LETTER AE WITH ACUTE\r\n 'E2+E3+41':'\\u1EA4', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE\r\n 'E2+E3+45':'\\u1EBE', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE\r\n 'E2+E3+4F':'\\u1ED0', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE\r\n 'E2+E3+61':'\\u1EA5', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE\r\n 'E2+E3+65':'\\u1EBF', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE\r\n 'E2+E3+6F':'\\u1ED1', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE\r\n 'E2+E4+4F':'\\u1E4C', // LATIN CAPITAL LETTER O WITH TILDE AND ACUTE\r\n 'E2+E4+55':'\\u1E78', // LATIN CAPITAL LETTER U WITH TILDE AND ACUTE\r\n 'E2+E4+6F':'\\u1E4D', // LATIN SMALL LETTER O WITH TILDE AND ACUTE\r\n 'E2+E4+75':'\\u1E79', // LATIN SMALL LETTER U WITH TILDE AND ACUTE\r\n 'E2+E5+45':'\\u1E16', // LATIN CAPITAL LETTER E WITH MACRON AND ACUTE\r\n 'E2+E5+4F':'\\u1E52', // LATIN CAPITAL LETTER O WITH MACRON AND ACUTE\r\n 'E2+E5+65':'\\u1E17', // LATIN SMALL LETTER E WITH MACRON AND ACUTE\r\n 'E2+E5+6F':'\\u1E53', // LATIN SMALL LETTER O WITH MACRON AND ACUTE\r\n 'E2+E6+41':'\\u1EAE', // LATIN CAPITAL LETTER A WITH BREVE AND ACUTE\r\n 'E2+E6+61':'\\u1EAF', // LATIN SMALL LETTER A WITH BREVE AND ACUTE\r\n 'E2+E7+53':'\\u1E64', // LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE\r\n 'E2+E7+73':'\\u1E65', // LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE\r\n 'E2+E8+49':'\\u1E2E', // LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE\r\n 'E2+E8+55':'\\u01D7', // LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE\r\n 'E2+E8+69':'\\u1E2F', // LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE\r\n 'E2+E8+75':'\\u01D8', // LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE\r\n 'E2+EA+41':'\\u01FA', // LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE\r\n 'E2+EA+61':'\\u01FB', // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE\r\n 'E2+F0+43':'\\u1E08', // LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE\r\n 'E2+F0+63':'\\u1E09', // LATIN SMALL LETTER C WITH CEDILLA AND ACUTE\r\n 'E2':'', // COMBINING ACUTE ACCENT \\u0301\r\n\r\n 'E3+41':'\\u00C2', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r\n 'E3+43':'\\u0108', // LATIN CAPITAL LETTER C WITH CIRCUMFLEX\r\n 'E3+45':'\\u00CA', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r\n 'E3+47':'\\u011C', // LATIN CAPITAL LETTER G WITH CIRCUMFLEX\r\n 'E3+48':'\\u0124', // LATIN CAPITAL LETTER H WITH CIRCUMFLEX\r\n 'E3+49':'\\u00CE', // LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r\n 'E3+4A':'\\u0134', // LATIN CAPITAL LETTER J WITH CIRCUMFLEX\r\n 'E3+4F':'\\u00D4', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r\n 'E3+53':'\\u015C', // LATIN CAPITAL LETTER S WITH CIRCUMFLEX\r\n 'E3+55':'\\u00DB', // LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r\n 'E3+57':'\\u0174', // LATIN CAPITAL LETTER W WITH CIRCUMFLEX\r\n 'E3+59':'\\u0176', // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX\r\n 'E3+5A':'\\u1E90', // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX\r\n 'E3+61':'\\u00E2', // LATIN SMALL LETTER A WITH CIRCUMFLEX\r\n 'E3+63':'\\u0109', // LATIN SMALL LETTER C WITH CIRCUMFLEX\r\n 'E3+65':'\\u00EA', // LATIN SMALL LETTER E WITH CIRCUMFLEX\r\n 'E3+67':'\\u011D', // LATIN SMALL LETTER G WITH CIRCUMFLEX\r\n 'E3+68':'\\u0125', // LATIN SMALL LETTER H WITH CIRCUMFLEX\r\n 'E3+69':'\\u00EE', // LATIN SMALL LETTER I WITH CIRCUMFLEX\r\n 'E3+6A':'\\u0135', // LATIN SMALL LETTER J WITH CIRCUMFLEX\r\n 'E3+6F':'\\u00F4', // LATIN SMALL LETTER O WITH CIRCUMFLEX\r\n 'E3+73':'\\u015D', // LATIN SMALL LETTER S WITH CIRCUMFLEX\r\n 'E3+75':'\\u00FB', // LATIN SMALL LETTER U WITH CIRCUMFLEX\r\n 'E3+77':'\\u0175', // LATIN SMALL LETTER W WITH CIRCUMFLEX\r\n 'E3+79':'\\u0177', // LATIN SMALL LETTER Y WITH CIRCUMFLEX\r\n 'E3+7A':'\\u1E91', // LATIN SMALL LETTER Z WITH CIRCUMFLEX\r\n 'E3+E0+41':'\\u1EA8', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E3+E0+45':'\\u1EC2', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E3+E0+4F':'\\u1ED4', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E3+E0+61':'\\u1EA9', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E3+E0+65':'\\u1EC3', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E3+E0+6F':'\\u1ED5', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE\r\n 'E3+E1+41':'\\u1EA6', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE\r\n 'E3+E1+45':'\\u1EC0', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE\r\n 'E3+E1+4F':'\\u1ED2', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE\r\n 'E3+E1+61':'\\u1EA7', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE\r\n 'E3+E1+65':'\\u1EC1', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE\r\n 'E3+E1+6F':'\\u1ED3', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE\r\n 'E3+E2+41':'\\u1EA4', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE\r\n 'E3+E2+45':'\\u1EBE', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE\r\n 'E3+E2+4F':'\\u1ED0', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE\r\n 'E3+E2+61':'\\u1EA5', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE\r\n 'E3+E2+65':'\\u1EBF', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE\r\n 'E3+E2+6F':'\\u1ED1', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE\r\n 'E3+E4+41':'\\u1EAA', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE\r\n 'E3+E4+45':'\\u1EC4', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE\r\n 'E3+E4+4F':'\\u1ED6', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE\r\n 'E3+E4+61':'\\u1EAB', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE\r\n 'E3+E4+65':'\\u1EC5', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE\r\n 'E3+E4+6F':'\\u1ED7', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE\r\n 'E3+F2+41':'\\u1EAC', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW\r\n 'E3+F2+45':'\\u1EC6', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW\r\n 'E3+F2+4F':'\\u1ED8', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW\r\n 'E3+F2+61':'\\u1EAD', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW\r\n 'E3+F2+65':'\\u1EC7', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW\r\n 'E3+F2+6F':'\\u1ED9', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW\r\n 'E3':'', // COMBINING CIRCUMFLEX ACCENT \\u0302\r\n\r\n 'E4+41':'\\u00C3', // LATIN CAPITAL LETTER A WITH TILDE\r\n 'E4+45':'\\u1EBC', // LATIN CAPITAL LETTER E WITH TILDE\r\n 'E4+49':'\\u0128', // LATIN CAPITAL LETTER I WITH TILDE\r\n 'E4+4E':'\\u00D1', // LATIN CAPITAL LETTER N WITH TILDE\r\n 'E4+4F':'\\u00D5', // LATIN CAPITAL LETTER O WITH TILDE\r\n 'E4+55':'\\u0168', // LATIN CAPITAL LETTER U WITH TILDE\r\n 'E4+56':'\\u1E7C', // LATIN CAPITAL LETTER V WITH TILDE\r\n 'E4+59':'\\u1EF8', // LATIN CAPITAL LETTER Y WITH TILDE\r\n 'E4+61':'\\u00E3', // LATIN SMALL LETTER A WITH TILDE\r\n 'E4+65':'\\u1EBD', // LATIN SMALL LETTER E WITH TILDE\r\n 'E4+69':'\\u0129', // LATIN SMALL LETTER I WITH TILDE\r\n 'E4+6E':'\\u00F1', // LATIN SMALL LETTER N WITH TILDE\r\n 'E4+6F':'\\u00F5', // LATIN SMALL LETTER O WITH TILDE\r\n 'E4+75':'\\u0169', // LATIN SMALL LETTER U WITH TILDE\r\n 'E4+76':'\\u1E7D', // LATIN SMALL LETTER V WITH TILDE\r\n 'E4+79':'\\u1EF9', // LATIN SMALL LETTER Y WITH TILDE\r\n 'E4+E2+4F':'\\u1E4C', // LATIN CAPITAL LETTER O WITH TILDE AND ACUTE\r\n 'E4+E2+55':'\\u1E78', // LATIN CAPITAL LETTER U WITH TILDE AND ACUTE\r\n 'E4+E2+6F':'\\u1E4D', // LATIN SMALL LETTER O WITH TILDE AND ACUTE\r\n 'E4+E2+75':'\\u1E79', // LATIN SMALL LETTER U WITH TILDE AND ACUTE\r\n 'E4+E3+41':'\\u1EAA', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE\r\n 'E4+E3+45':'\\u1EC4', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE\r\n 'E4+E3+4F':'\\u1ED6', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE\r\n 'E4+E3+61':'\\u1EAB', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE\r\n 'E4+E3+65':'\\u1EC5', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE\r\n 'E4+E3+6F':'\\u1ED7', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE\r\n 'E4+E6+41':'\\u1EB4', // LATIN CAPITAL LETTER A WITH BREVE AND TILDE\r\n 'E4+E6+61':'\\u1EB5', // LATIN SMALL LETTER A WITH BREVE AND TILDE\r\n 'E4+E8+4F':'\\u1E4E', // LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS\r\n 'E4+E8+6F':'\\u1E4F', // LATIN SMALL LETTER O WITH TILDE AND DIAERESIS\r\n 'E4':'', // COMBINING TILDE \\u0303\r\n\r\n 'E5+41':'\\u0100', // LATIN CAPITAL LETTER A WITH MACRON\r\n 'E5+45':'\\u0112', // LATIN CAPITAL LETTER E WITH MACRON\r\n 'E5+47':'\\u1E20', // LATIN CAPITAL LETTER G WITH MACRON\r\n 'E5+49':'\\u012A', // LATIN CAPITAL LETTER I WITH MACRON\r\n 'E5+4F':'\\u014C', // LATIN CAPITAL LETTER O WITH MACRON\r\n 'E5+55':'\\u016A', // LATIN CAPITAL LETTER U WITH MACRON\r\n 'E5+61':'\\u0101', // LATIN SMALL LETTER A WITH MACRON\r\n 'E5+65':'\\u0113', // LATIN SMALL LETTER E WITH MACRON\r\n 'E5+67':'\\u1E21', // LATIN SMALL LETTER G WITH MACRON\r\n 'E5+69':'\\u012B', // LATIN SMALL LETTER I WITH MACRON\r\n 'E5+6F':'\\u014D', // LATIN SMALL LETTER O WITH MACRON\r\n 'E5+75':'\\u016B', // LATIN SMALL LETTER U WITH MACRON\r\n 'E5+A5':'\\u01E2', // LATIN CAPITAL LETTER AE WITH MACRON\r\n 'E5+B5':'\\u01E3', // LATIN SMALL LETTER AE WITH MACRON\r\n 'E5+E1+45':'\\u1E14', // LATIN CAPITAL LETTER E WITH MACRON AND GRAVE\r\n 'E5+E1+4F':'\\u1E50', // LATIN CAPITAL LETTER O WITH MACRON AND GRAVE\r\n 'E5+E1+65':'\\u1E15', // LATIN SMALL LETTER E WITH MACRON AND GRAVE\r\n 'E5+E1+6F':'\\u1E51', // LATIN SMALL LETTER O WITH MACRON AND GRAVE\r\n 'E5+E2+45':'\\u1E16', // LATIN CAPITAL LETTER E WITH MACRON AND ACUTE\r\n 'E5+E2+4F':'\\u1E52', // LATIN CAPITAL LETTER O WITH MACRON AND ACUTE\r\n 'E5+E2+65':'\\u1E17', // LATIN SMALL LETTER E WITH MACRON AND ACUTE\r\n 'E5+E2+6F':'\\u1E53', // LATIN SMALL LETTER O WITH MACRON AND ACUTE\r\n 'E5+E7+41':'\\u01E0', // LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON\r\n 'E5+E7+61':'\\u01E1', // LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON\r\n 'E5+E8+41':'\\u01DE', // LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON\r\n 'E5+E8+55':'\\u1E7A', // LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON\r\n 'E5+E8+61':'\\u01DF', // LATIN SMALL LETTER A WITH DIAERESIS AND MACRON\r\n 'E5+E8+75':'\\u1E7B', // LATIN SMALL LETTER U WITH DIAERESIS AND MACRON\r\n 'E5+F1+4F':'\\u01EC', // LATIN CAPITAL LETTER O WITH OGONEK AND MACRON\r\n 'E5+F1+6F':'\\u01ED', // LATIN SMALL LETTER O WITH OGONEK AND MACRON\r\n 'E5+F2+4C':'\\u1E38', // LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON\r\n 'E5+F2+52':'\\u1E5C', // LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON\r\n 'E5+F2+6C':'\\u1E39', // LATIN SMALL LETTER L WITH DOT BELOW AND MACRON\r\n 'E5+F2+72':'\\u1E5D', // LATIN SMALL LETTER R WITH DOT BELOW AND MACRON\r\n 'E5':'', // COMBINING MACRON \\u0304\r\n\r\n 'E6+41':'\\u0102', // LATIN CAPITAL LETTER A WITH BREVE\r\n 'E6+45':'\\u0114', // LATIN CAPITAL LETTER E WITH BREVE\r\n 'E6+47':'\\u011E', // LATIN CAPITAL LETTER G WITH BREVE\r\n 'E6+49':'\\u012C', // LATIN CAPITAL LETTER I WITH BREVE\r\n 'E6+4F':'\\u014E', // LATIN CAPITAL LETTER O WITH BREVE\r\n 'E6+55':'\\u016C', // LATIN CAPITAL LETTER U WITH BREVE\r\n 'E6+61':'\\u0103', // LATIN SMALL LETTER A WITH BREVE\r\n 'E6+65':'\\u0115', // LATIN SMALL LETTER E WITH BREVE\r\n 'E6+67':'\\u011F', // LATIN SMALL LETTER G WITH BREVE\r\n 'E6+69':'\\u012D', // LATIN SMALL LETTER I WITH BREVE\r\n 'E6+6F':'\\u014F', // LATIN SMALL LETTER O WITH BREVE\r\n 'E6+75':'\\u016D', // LATIN SMALL LETTER U WITH BREVE\r\n 'E6+E0+41':'\\u1EB2', // LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE\r\n 'E6+E0+61':'\\u1EB3', // LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE\r\n 'E6+E1+41':'\\u1EB0', // LATIN CAPITAL LETTER A WITH BREVE AND GRAVE\r\n 'E6+E1+61':'\\u1EB1', // LATIN SMALL LETTER A WITH BREVE AND GRAVE\r\n 'E6+E2+41':'\\u1EAE', // LATIN CAPITAL LETTER A WITH BREVE AND ACUTE\r\n 'E6+E2+61':'\\u1EAF', // LATIN SMALL LETTER A WITH BREVE AND ACUTE\r\n 'E6+E4+41':'\\u1EB4', // LATIN CAPITAL LETTER A WITH BREVE AND TILDE\r\n 'E6+E4+61':'\\u1EB5', // LATIN SMALL LETTER A WITH BREVE AND TILDE\r\n 'E6+F0+45':'\\u1E1C', // LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE\r\n 'E6+F0+65':'\\u1E1D', // LATIN SMALL LETTER E WITH CEDILLA AND BREVE\r\n 'E6+F2+41':'\\u1EB6', // LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW\r\n 'E6+F2+61':'\\u1EB7', // LATIN SMALL LETTER A WITH BREVE AND DOT BELOW\r\n 'E6':'', // COMBINING BREVE \\u0306\r\n\r\n 'E7+42':'\\u1E02', // LATIN CAPITAL LETTER B WITH DOT ABOVE\r\n 'E7+43':'\\u010A', // LATIN CAPITAL LETTER C WITH DOT ABOVE\r\n 'E7+44':'\\u1E0A', // LATIN CAPITAL LETTER D WITH DOT ABOVE\r\n 'E7+45':'\\u0116', // LATIN CAPITAL LETTER E WITH DOT ABOVE\r\n 'E7+46':'\\u1E1E', // LATIN CAPITAL LETTER F WITH DOT ABOVE\r\n 'E7+47':'\\u0120', // LATIN CAPITAL LETTER G WITH DOT ABOVE\r\n 'E7+48':'\\u1E22', // LATIN CAPITAL LETTER H WITH DOT ABOVE\r\n 'E7+49':'\\u0130', // LATIN CAPITAL LETTER I WITH DOT ABOVE\r\n 'E7+4D':'\\u1E40', // LATIN CAPITAL LETTER M WITH DOT ABOVE\r\n 'E7+4E':'\\u1E44', // LATIN CAPITAL LETTER N WITH DOT ABOVE\r\n 'E7+50':'\\u1E56', // LATIN CAPITAL LETTER P WITH DOT ABOVE\r\n 'E7+52':'\\u1E58', // LATIN CAPITAL LETTER R WITH DOT ABOVE\r\n 'E7+53':'\\u1E60', // LATIN CAPITAL LETTER S WITH DOT ABOVE\r\n 'E7+54':'\\u1E6A', // LATIN CAPITAL LETTER T WITH DOT ABOVE\r\n 'E7+57':'\\u1E86', // LATIN CAPITAL LETTER W WITH DOT ABOVE\r\n 'E7+58':'\\u1E8A', // LATIN CAPITAL LETTER X WITH DOT ABOVE\r\n 'E7+59':'\\u1E8E', // LATIN CAPITAL LETTER Y WITH DOT ABOVE\r\n 'E7+5A':'\\u017B', // LATIN CAPITAL LETTER Z WITH DOT ABOVE\r\n 'E7+62':'\\u1E03', // LATIN SMALL LETTER B WITH DOT ABOVE\r\n 'E7+63':'\\u010B', // LATIN SMALL LETTER C WITH DOT ABOVE\r\n 'E7+64':'\\u1E0B', // LATIN SMALL LETTER D WITH DOT ABOVE\r\n 'E7+65':'\\u0117', // LATIN SMALL LETTER E WITH DOT ABOVE\r\n 'E7+66':'\\u1E1F', // LATIN SMALL LETTER F WITH DOT ABOVE\r\n 'E7+67':'\\u0121', // LATIN SMALL LETTER G WITH DOT ABOVE\r\n 'E7+68':'\\u1E23', // LATIN SMALL LETTER H WITH DOT ABOVE\r\n 'E7+6D':'\\u1E41', // LATIN SMALL LETTER M WITH DOT ABOVE\r\n 'E7+6E':'\\u1E45', // LATIN SMALL LETTER N WITH DOT ABOVE\r\n 'E7+70':'\\u1E57', // LATIN SMALL LETTER P WITH DOT ABOVE\r\n 'E7+72':'\\u1E59', // LATIN SMALL LETTER R WITH DOT ABOVE\r\n 'E7+73':'\\u1E61', // LATIN SMALL LETTER S WITH DOT ABOVE\r\n 'E7+74':'\\u1E6B', // LATIN SMALL LETTER T WITH DOT ABOVE\r\n 'E7+77':'\\u1E87', // LATIN SMALL LETTER W WITH DOT ABOVE\r\n 'E7+78':'\\u1E8B', // LATIN SMALL LETTER X WITH DOT ABOVE\r\n 'E7+79':'\\u1E8F', // LATIN SMALL LETTER Y WITH DOT ABOVE\r\n 'E7+7A':'\\u017C', // LATIN SMALL LETTER Z WITH DOT ABOVE\r\n 'E7+E2+53':'\\u1E64', // LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE\r\n 'E7+E2+73':'\\u1E65', // LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE\r\n 'E7+E5+41':'\\u01E0', // LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON\r\n 'E7+E5+61':'\\u01E1', // LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON\r\n 'E7+E9+53':'\\u1E66', // LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE\r\n 'E7+E9+73':'\\u1E67', // LATIN SMALL LETTER S WITH CARON AND DOT ABOVE\r\n 'E7+F2+53':'\\u1E68', // LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE\r\n 'E7+F2+73':'\\u1E69', // LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE\r\n 'E7':'', // COMBINING DOT ABOVE \\u0307\r\n\r\n 'E8+41':'\\u00C4', // LATIN CAPITAL LETTER A WITH DIAERESIS\r\n 'E8+45':'\\u00CB', // LATIN CAPITAL LETTER E WITH DIAERESIS\r\n 'E8+48':'\\u1E26', // LATIN CAPITAL LETTER H WITH DIAERESIS\r\n 'E8+49':'\\u00CF', // LATIN CAPITAL LETTER I WITH DIAERESIS\r\n 'E8+4F':'\\u00D6', // LATIN CAPITAL LETTER O WITH DIAERESIS\r\n 'E8+55':'\\u00DC', // LATIN CAPITAL LETTER U WITH DIAERESIS\r\n 'E8+57':'\\u1E84', // LATIN CAPITAL LETTER W WITH DIAERESIS\r\n 'E8+58':'\\u1E8C', // LATIN CAPITAL LETTER X WITH DIAERESIS\r\n 'E8+59':'\\u0178', // LATIN CAPITAL LETTER Y WITH DIAERESIS\r\n 'E8+61':'\\u00E4', // LATIN SMALL LETTER A WITH DIAERESIS\r\n 'E8+65':'\\u00EB', // LATIN SMALL LETTER E WITH DIAERESIS\r\n 'E8+68':'\\u1E27', // LATIN SMALL LETTER H WITH DIAERESIS\r\n 'E8+69':'\\u00EF', // LATIN SMALL LETTER I WITH DIAERESIS\r\n 'E8+6F':'\\u00F6', // LATIN SMALL LETTER O WITH DIAERESIS\r\n 'E8+74':'\\u1E97', // LATIN SMALL LETTER T WITH DIAERESIS\r\n 'E8+75':'\\u00FC', // LATIN SMALL LETTER U WITH DIAERESIS\r\n 'E8+77':'\\u1E85', // LATIN SMALL LETTER W WITH DIAERESIS\r\n 'E8+78':'\\u1E8D', // LATIN SMALL LETTER X WITH DIAERESIS\r\n 'E8+79':'\\u00FF', // LATIN SMALL LETTER Y WITH DIAERESIS\r\n 'E8+E1+55':'\\u01DB', // LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE\r\n 'E8+E1+75':'\\u01DC', // LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE\r\n 'E8+E2+49':'\\u1E2E', // LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE\r\n 'E8+E2+55':'\\u01D7', // LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE\r\n 'E8+E2+69':'\\u1E2F', // LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE\r\n 'E8+E2+75':'\\u01D8', // LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE\r\n 'E8+E4+4F':'\\u1E4E', // LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS\r\n 'E8+E4+6F':'\\u1E4F', // LATIN SMALL LETTER O WITH TILDE AND DIAERESIS\r\n 'E8+E5+41':'\\u01DE', // LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON\r\n 'E8+E5+55':'\\u1E7A', // LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON\r\n 'E8+E5+61':'\\u01DF', // LATIN SMALL LETTER A WITH DIAERESIS AND MACRON\r\n 'E8+E5+75':'\\u1E7B', // LATIN SMALL LETTER U WITH DIAERESIS AND MACRON\r\n 'E8+E9+55':'\\u01D9', // LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON\r\n 'E8+E9+75':'\\u01DA', // LATIN SMALL LETTER U WITH DIAERESIS AND CARON\r\n 'E8':'', // COMBINING DIAERESIS \\0308\r\n\r\n 'E9+41':'\\u01CD', // LATIN CAPITAL LETTER A WITH CARON\r\n 'E9+43':'\\u010C', // LATIN CAPITAL LETTER C WITH CARON\r\n 'E9+44':'\\u010E', // LATIN CAPITAL LETTER D WITH CARON\r\n 'E9+45':'\\u011A', // LATIN CAPITAL LETTER E WITH CARON\r\n 'E9+47':'\\u01E6', // LATIN CAPITAL LETTER G WITH CARON\r\n 'E9+49':'\\u01CF', // LATIN CAPITAL LETTER I WITH CARON\r\n 'E9+4B':'\\u01E8', // LATIN CAPITAL LETTER K WITH CARON\r\n 'E9+4C':'\\u013D', // LATIN CAPITAL LETTER L WITH CARON\r\n 'E9+4E':'\\u0147', // LATIN CAPITAL LETTER N WITH CARON\r\n 'E9+4F':'\\u01D1', // LATIN CAPITAL LETTER O WITH CARON\r\n 'E9+52':'\\u0158', // LATIN CAPITAL LETTER R WITH CARON\r\n 'E9+53':'\\u0160', // LATIN CAPITAL LETTER S WITH CARON\r\n 'E9+54':'\\u0164', // LATIN CAPITAL LETTER T WITH CARON\r\n 'E9+55':'\\u01D3', // LATIN CAPITAL LETTER U WITH CARON\r\n 'E9+5A':'\\u017D', // LATIN CAPITAL LETTER Z WITH CARON\r\n 'E9+61':'\\u01CE', // LATIN SMALL LETTER A WITH CARON\r\n 'E9+63':'\\u010D', // LATIN SMALL LETTER C WITH CARON\r\n 'E9+64':'\\u010F', // LATIN SMALL LETTER D WITH CARON\r\n 'E9+65':'\\u011B', // LATIN SMALL LETTER E WITH CARON\r\n 'E9+67':'\\u01E7', // LATIN SMALL LETTER G WITH CARON\r\n 'E9+69':'\\u01D0', // LATIN SMALL LETTER I WITH CARON\r\n 'E9+6A':'\\u01F0', // LATIN SMALL LETTER J WITH CARON\r\n 'E9+6B':'\\u01E9', // LATIN SMALL LETTER K WITH CARON\r\n 'E9+6C':'\\u013E', // LATIN SMALL LETTER L WITH CARON\r\n 'E9+6E':'\\u0148', // LATIN SMALL LETTER N WITH CARON\r\n 'E9+6F':'\\u01D2', // LATIN SMALL LETTER O WITH CARON\r\n 'E9+72':'\\u0159', // LATIN SMALL LETTER R WITH CARON\r\n 'E9+73':'\\u0161', // LATIN SMALL LETTER S WITH CARON\r\n 'E9+74':'\\u0165', // LATIN SMALL LETTER T WITH CARON\r\n 'E9+75':'\\u01D4', // LATIN SMALL LETTER U WITH CARON\r\n 'E9+7A':'\\u017E', // LATIN SMALL LETTER Z WITH CARON\r\n 'E9+E7+53':'\\u1E66', // LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE\r\n 'E9+E7+73':'\\u1E67', // LATIN SMALL LETTER S WITH CARON AND DOT ABOVE\r\n 'E9+E8+55':'\\u01D9', // LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON\r\n 'E9+E8+75':'\\u01DA', // LATIN SMALL LETTER U WITH DIAERESIS AND CARON\r\n 'E9':'', // COMBINING CARON \\u030C\r\n\r\n 'EA+41':'\\u00C5', // LATIN CAPITAL LETTER A WITH RING ABOVE\r\n 'EA+55':'\\u016E', // LATIN CAPITAL LETTER U WITH RING ABOVE\r\n 'EA+61':'\\u00E5', // LATIN SMALL LETTER A WITH RING ABOVE\r\n 'EA+75':'\\u016F', // LATIN SMALL LETTER U WITH RING ABOVE\r\n 'EA+77':'\\u1E98', // LATIN SMALL LETTER W WITH RING ABOVE\r\n 'EA+79':'\\u1E99', // LATIN SMALL LETTER Y WITH RING ABOVE\r\n 'EA+E2+41':'\\u01FA', // LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE\r\n 'EA+E2+61':'\\u01FB', // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE\r\n 'EA':'', // COMBINING RING ABOVE \\u030A\r\n\r\n 'EB':'\\uFE20', // COMBINING LIGATURE LEFT HALF\r\n 'EC':'\\uFE21', // COMBINING LIGATURE RIGHT HALF\r\n 'ED':'\\u0315', // COMBINING COMMA ABOVE RIGHT\r\n\r\n 'EE+4F':'\\u0150', // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\r\n 'EE+55':'\\u0170', // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\r\n 'EE+6F':'\\u0151', // LATIN SMALL LETTER O WITH DOUBLE ACUTE\r\n 'EE+75':'\\u0171', // LATIN SMALL LETTER U WITH DOUBLE ACUTE\r\n 'EE':'', // COMBINING DOUBLE ACUTE ACCENT \\u030B\r\n\r\n 'EF':'\\u0310', // COMBINING CANDRABINDU \r\n\r\n 'F0+43':'\\u00C7', // LATIN CAPITAL LETTER C WITH CEDILLA\r\n 'F0+44':'\\u1E10', // LATIN CAPITAL LETTER D WITH CEDILLA\r\n 'F0+47':'\\u0122', // LATIN CAPITAL LETTER G WITH CEDILLA\r\n 'F0+48':'\\u1E28', // LATIN CAPITAL LETTER H WITH CEDILLA\r\n 'F0+4B':'\\u0136', // LATIN CAPITAL LETTER K WITH CEDILLA\r\n 'F0+4C':'\\u013B', // LATIN CAPITAL LETTER L WITH CEDILLA\r\n 'F0+4E':'\\u0145', // LATIN CAPITAL LETTER N WITH CEDILLA\r\n 'F0+52':'\\u0156', // LATIN CAPITAL LETTER R WITH CEDILLA\r\n 'F0+53':'\\u015E', // LATIN CAPITAL LETTER S WITH CEDILLA\r\n 'F0+54':'\\u0162', // LATIN CAPITAL LETTER T WITH CEDILLA\r\n 'F0+63':'\\u00E7', // LATIN SMALL LETTER C WITH CEDILLA\r\n 'F0+64':'\\u1E11', // LATIN SMALL LETTER D WITH CEDILLA\r\n 'F0+67':'\\u0123', // LATIN SMALL LETTER G WITH CEDILLA\r\n 'F0+68':'\\u1E29', // LATIN SMALL LETTER H WITH CEDILLA\r\n 'F0+6B':'\\u0137', // LATIN SMALL LETTER K WITH CEDILLA\r\n 'F0+6C':'\\u013C', // LATIN SMALL LETTER L WITH CEDILLA\r\n 'F0+6E':'\\u0146', // LATIN SMALL LETTER N WITH CEDILLA\r\n 'F0+72':'\\u0157', // LATIN SMALL LETTER R WITH CEDILLA\r\n 'F0+73':'\\u015F', // LATIN SMALL LETTER S WITH CEDILLA\r\n 'F0+74':'\\u0163', // LATIN SMALL LETTER T WITH CEDILLA\r\n 'F0+E2+43':'\\u1E08', // LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE\r\n 'F0+E2+63':'\\u1E09', // LATIN SMALL LETTER C WITH CEDILLA AND ACUTE\r\n 'F0+E6+45':'\\u1E1C', // LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE\r\n 'F0+E6+65':'\\u1E1D', // LATIN SMALL LETTER E WITH CEDILLA AND BREVE\r\n 'F0':'', // COMBINING CEDILLA \\u0327\r\n\r\n 'F1+41':'\\u0104', // LATIN CAPITAL LETTER A WITH OGONEK\r\n 'F1+45':'\\u0118', // LATIN CAPITAL LETTER E WITH OGONEK\r\n 'F1+49':'\\u012E', // LATIN CAPITAL LETTER I WITH OGONEK\r\n 'F1+4F':'\\u01EA', // LATIN CAPITAL LETTER O WITH OGONEK\r\n 'F1+55':'\\u0172', // LATIN CAPITAL LETTER U WITH OGONEK\r\n 'F1+61':'\\u0105', // LATIN SMALL LETTER A WITH OGONEK\r\n 'F1+65':'\\u0119', // LATIN SMALL LETTER E WITH OGONEK\r\n 'F1+69':'\\u012F', // LATIN SMALL LETTER I WITH OGONEK\r\n 'F1+6F':'\\u01EB', // LATIN SMALL LETTER O WITH OGONEK\r\n 'F1+75':'\\u0173', // LATIN SMALL LETTER U WITH OGONEK\r\n 'F1+E5+4F':'\\u01EC', // LATIN CAPITAL LETTER O WITH OGONEK AND MACRON\r\n 'F1+E5+6F':'\\u01ED', // LATIN SMALL LETTER O WITH OGONEK AND MACRON\r\n 'F1':'', // COMBINING OGONEK \\u0328\r\n\r\n 'F2+41':'\\u1EA0', // LATIN CAPITAL LETTER A WITH DOT BELOW\r\n 'F2+42':'\\u1E04', // LATIN CAPITAL LETTER B WITH DOT BELOW\r\n 'F2+44':'\\u1E0C', // LATIN CAPITAL LETTER D WITH DOT BELOW\r\n 'F2+45':'\\u1EB8', // LATIN CAPITAL LETTER E WITH DOT BELOW\r\n 'F2+48':'\\u1E24', // LATIN CAPITAL LETTER H WITH DOT BELOW\r\n 'F2+49':'\\u1ECA', // LATIN CAPITAL LETTER I WITH DOT BELOW\r\n 'F2+4B':'\\u1E32', // LATIN CAPITAL LETTER K WITH DOT BELOW\r\n 'F2+4C':'\\u1E36', // LATIN CAPITAL LETTER L WITH DOT BELOW\r\n 'F2+4D':'\\u1E42', // LATIN CAPITAL LETTER M WITH DOT BELOW\r\n 'F2+4E':'\\u1E46', // LATIN CAPITAL LETTER N WITH DOT BELOW\r\n 'F2+4F':'\\u1ECC', // LATIN CAPITAL LETTER O WITH DOT BELOW\r\n 'F2+52':'\\u1E5A', // LATIN CAPITAL LETTER R WITH DOT BELOW\r\n 'F2+53':'\\u1E62', // LATIN CAPITAL LETTER S WITH DOT BELOW\r\n 'F2+54':'\\u1E6C', // LATIN CAPITAL LETTER T WITH DOT BELOW\r\n 'F2+55':'\\u1EE4', // LATIN CAPITAL LETTER U WITH DOT BELOW\r\n 'F2+56':'\\u1E7E', // LATIN CAPITAL LETTER V WITH DOT BELOW\r\n 'F2+57':'\\u1E88', // LATIN CAPITAL LETTER W WITH DOT BELOW\r\n 'F2+59':'\\u1EF4', // LATIN CAPITAL LETTER Y WITH DOT BELOW\r\n 'F2+5A':'\\u1E92', // LATIN CAPITAL LETTER Z WITH DOT BELOW\r\n 'F2+61':'\\u1EA1', // LATIN SMALL LETTER A WITH DOT BELOW\r\n 'F2+62':'\\u1E05', // LATIN SMALL LETTER B WITH DOT BELOW\r\n 'F2+64':'\\u1E0D', // LATIN SMALL LETTER D WITH DOT BELOW\r\n 'F2+65':'\\u1EB9', // LATIN SMALL LETTER E WITH DOT BELOW\r\n 'F2+68':'\\u1E25', // LATIN SMALL LETTER H WITH DOT BELOW\r\n 'F2+69':'\\u1ECB', // LATIN SMALL LETTER I WITH DOT BELOW\r\n 'F2+6B':'\\u1E33', // LATIN SMALL LETTER K WITH DOT BELOW\r\n 'F2+6C':'\\u1E37', // LATIN SMALL LETTER L WITH DOT BELOW\r\n 'F2+6D':'\\u1E43', // LATIN SMALL LETTER M WITH DOT BELOW\r\n 'F2+6E':'\\u1E47', // LATIN SMALL LETTER N WITH DOT BELOW\r\n 'F2+6F':'\\u1ECD', // LATIN SMALL LETTER O WITH DOT BELOW\r\n 'F2+72':'\\u1E5B', // LATIN SMALL LETTER R WITH DOT BELOW\r\n 'F2+73':'\\u1E63', // LATIN SMALL LETTER S WITH DOT BELOW\r\n 'F2+74':'\\u1E6D', // LATIN SMALL LETTER T WITH DOT BELOW\r\n 'F2+75':'\\u1EE5', // LATIN SMALL LETTER U WITH DOT BELOW\r\n 'F2+76':'\\u1E7F', // LATIN SMALL LETTER V WITH DOT BELOW\r\n 'F2+77':'\\u1E89', // LATIN SMALL LETTER W WITH DOT BELOW\r\n 'F2+79':'\\u1EF5', // LATIN SMALL LETTER Y WITH DOT BELOW\r\n 'F2+7A':'\\u1E93', // LATIN SMALL LETTER Z WITH DOT BELOW\r\n 'F2+E3+41':'\\u1EAC', // LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW\r\n 'F2+E3+45':'\\u1EC6', // LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW\r\n 'F2+E3+4F':'\\u1ED8', // LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW\r\n 'F2+E3+61':'\\u1EAD', // LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW\r\n 'F2+E3+65':'\\u1EC7', // LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW\r\n 'F2+E3+6F':'\\u1ED9', // LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW\r\n 'F2+E5+4C':'\\u1E38', // LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON\r\n 'F2+E5+52':'\\u1E5C', // LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON\r\n 'F2+E5+6C':'\\u1E39', // LATIN SMALL LETTER L WITH DOT BELOW AND MACRON\r\n 'F2+E5+72':'\\u1E5D', // LATIN SMALL LETTER R WITH DOT BELOW AND MACRON\r\n 'F2+E6+41':'\\u1EB6', // LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW\r\n 'F2+E6+61':'\\u1EB7', // LATIN SMALL LETTER A WITH BREVE AND DOT BELOW\r\n 'F2+E7+53':'\\u1E68', // LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE\r\n 'F2+E7+73':'\\u1E69', // LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE\r\n 'F2':'', // COMBINING DOT BELOW \\u0323\r\n\r\n 'F3+55':'\\u1E72', // LATIN CAPITAL LETTER U WITH DIAERESIS BELOW\r\n 'F3+75':'\\u1E73', // LATIN SMALL LETTER U WITH DIAERESIS BELOW\r\n 'F3':'', // COMBINING DIAERESIS BELOW \\u0324\r\n\r\n 'F4+41':'\\u1E00', // LATIN CAPITAL LETTER A WITH RING BELOW\r\n 'F4+61':'\\u1E01', // LATIN SMALL LETTER A WITH RING BELOW\r\n 'F4':'', // COMBINING RING BELOW \\u0325\r\n\r\n 'F5':'\\u0333', // COMBINING DOUBLE LOW LINE\r\n\r\n 'F6+42':'\\u1E06', // LATIN CAPITAL LETTER B WITH LINE BELOW\r\n 'F6+44':'\\u1E0E', // LATIN CAPITAL LETTER D WITH LINE BELOW\r\n 'F6+4B':'\\u1E34', // LATIN CAPITAL LETTER K WITH LINE BELOW\r\n 'F6+4C':'\\u1E3A', // LATIN CAPITAL LETTER L WITH LINE BELOW\r\n 'F6+4E':'\\u1E48', // LATIN CAPITAL LETTER N WITH LINE BELOW\r\n 'F6+52':'\\u1E5E', // LATIN CAPITAL LETTER R WITH LINE BELOW\r\n 'F6+54':'\\u1E6E', // LATIN CAPITAL LETTER T WITH LINE BELOW\r\n 'F6+5A':'\\u1E94', // LATIN CAPITAL LETTER Z WITH LINE BELOW\r\n 'F6+62':'\\u1E07', // LATIN SMALL LETTER B WITH LINE BELOW\r\n 'F6+64':'\\u1E0F', // LATIN SMALL LETTER D WITH LINE BELOW\r\n 'F6+68':'\\u1E96', // LATIN SMALL LETTER H WITH LINE BELOW\r\n 'F6+6B':'\\u1E35', // LATIN SMALL LETTER K WITH LINE BELOW\r\n 'F6+6C':'\\u1E3B', // LATIN SMALL LETTER L WITH LINE BELOW\r\n 'F6+6E':'\\u1E49', // LATIN SMALL LETTER N WITH LINE BELOW\r\n 'F6+72':'\\u1E5F', // LATIN SMALL LETTER R WITH LINE BELOW\r\n 'F6+74':'\\u1E6F', // LATIN SMALL LETTER T WITH LINE BELOW\r\n 'F6+7A':'\\u1E95', // LATIN SMALL LETTER Z WITH LINE BELOW\r\n 'F6':'', // COMBINING LOW LINE \\u0332\r\n\r\n 'F7':'\\u0326', // COMBINING COMMA BELOW\r\n 'F8':'\\u0321', // COMBINING OGONEK\r\n\r\n 'F9+48':'\\u1E2A', // LATIN CAPITAL LETTER H WITH BREVE BELOW\r\n 'F9+68':'\\u1E2B', // LATIN SMALL LETTER H WITH BREVE BELOW\r\n 'F9':'', // COMBINING BREVE BELOW \\u032E\r\n \r\n 'FA':'\\uFE22', // COMBINING DOUBLE TILDE LEFT HALF\r\n 'FB':'\\uFE23', // COMBINING DOUBLE TILDE RIGHT HALF\r\n\r\n 'FE+41':'\\u1F08', // Ἀ Greek Capital Letter Alpha with Psili\r\n 'FE+45':'\\u1F18', // Ἐ Greek Capital Letter Alpha with Psili\r\n 'FE+61':'\\u1F00', // ἀ Greek Small Letter Alpha with Psili\r\n 'FE+65':'\\u1F10', // ἐ Greek Small Letter Epsilon with Psili\r\n 'FE+4e':'\\u1F08', // ἠ Greek Capital Letter Alpha with Psili\r\n 'FE':'', // Psili \\u1F08\r\n\r\n 'FC':'', // ̸ - diacritic slash through char \\u0338\r\n}","import { anselToUtf8Map } from '@/logic/gedcom/anselToUtf8Map'\r\n\r\n// source = byteArray\r\nexport function convertToUtf8(source) {\r\n const binary = new Uint8Array(source)\r\n const testConversion = new TextDecoder('utf-8').decode(binary);\r\n const match = testConversion.match(/1 CHAR (?\\b[\\w-]*\\b)/) // eslint-disable-line no-unused-vars\r\n const characterSet = match.groups ? match.groups.characterSet : 'UNSPECIFIED'\r\n const hasUTF8BOM = binary[0] === 239 && binary[1] === 187 && binary[2] === 191 // UTF-8 encoded files will have a byte order mark (BOM) of the characters 239,187,191 (EF,BB,BF) at the beginning of the file.\r\n console.info(`Character set ${characterSet} found.`)\r\n\r\n if (characterSet !== 'UTF-8' && hasUTF8BOM) {\r\n console.warn(`UTF-8 BOM present; however, the character set, ${characterSet} is not UTF-8.`)\r\n }\r\n\r\n switch (characterSet) \r\n {\r\n case 'ANSEL':\r\n return processAnselSource(binary, hasUTF8BOM)\r\n case 'ANSI':\r\n case 'ASCII':\r\n return new TextDecoder('windows-1252').decode(binary);\r\n case 'UNICODE':\r\n case 'UTF-8':\r\n return testConversion // This is a UTF-8 file, our test conversion is enough\r\n default:\r\n console.warn(`Unrecognized character set ${characterSet}. Will assume UTF-8.`)\r\n return testConversion\r\n }\r\n}\r\n\r\nexport function processAnselSource(binary, hasUTF8BOM) {\r\n let result = ''\r\n let n = 0\r\n\r\n // If there is a UTF-8 BOM at the beginning of the file, which there shouldn't, skip them.\r\n if (hasUTF8BOM) {\r\n n = 3\r\n }\r\n \r\n do {\r\n const byte = binary[n]\r\n let char = ''\r\n let jump = 1\r\n\r\n if (byte <= 0x7F) {\r\n char = String.fromCharCode(byte)\r\n } else if (byte >= 0x88 && byte <= 0xCF) {\r\n const key = byte.toString(16).toUpperCase()\r\n char = anselToUtf8Map[key] || anselToUtf8Map['ERR']\r\n } else if (byte >= 0xE0) {\r\n char = anselToUtf8Map['ERR']\r\n\r\n for (const span of [3, 2, 1]) {\r\n const keyArray = []\r\n binary.slice(n, n+span).forEach(x => {keyArray.push(buildKey(x))})\r\n const longkey = keyArray.join('+')\r\n char = anselToUtf8Map[longkey]\r\n\r\n if (char) {\r\n jump = span\r\n break\r\n } \r\n }\r\n } \r\n\r\n result += char\r\n n += jump\r\n\r\n } while (n < binary.length)\r\n\r\n return result\r\n}\r\n\r\nexport function buildKey(byte) {\r\n return byte.toString(16).toUpperCase()\r\n}\r\n","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportExistingFamily.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportExistingFamily.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ImportExistingFamily.vue?vue&type=template&id=752a163a&\"\nimport script from \"./ImportExistingFamily.vue?vue&type=script&lang=js&\"\nexport * from \"./ImportExistingFamily.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilyDetails.vue?vue&type=template&id=5ca97314&\"\nimport script from \"./FamilyDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilyDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"px-2 pt-2\"},[(!_vm.isLoading)?_c('div',{staticClass:\"d-flex flex-wrap justify-content-between\"},[_vm._m(0),_c('div',[_c('b-pagination',{attrs:{\"per-page\":_vm.individualsPerPage,\"total-rows\":_vm.individualsRows,\"aria-controls\":\"my-table\",\"align\":\"right\"},model:{value:(_vm.individualsCurrentPage),callback:function ($$v) {_vm.individualsCurrentPage=$$v},expression:\"individualsCurrentPage\"}})],1),_c('div',[_c('b-form-group',{staticClass:\"narrow-container-0\",attrs:{\"label-cols-sm\":\"4\",\"label\":\"Name Filter:\",\"label-align-sm\":\"right\",\"label-for\":\"individuals-filter-box\"}},[_c('b-form-input',{attrs:{\"id\":\"individuals-filter-box\",\"type\":\"text\",\"tabindex\":\"1\"},model:{value:(_vm.individualsFilter),callback:function ($$v) {_vm.individualsFilter=$$v},expression:\"individualsFilter\"}})],1)],1)]):_vm._e(),_c('b-table',{attrs:{\"current-page\":_vm.individualsCurrentPage,\"items\":_vm.individuals,\"fields\":_vm.individualsFields,\"per-page\":_vm.individualsPerPage,\"hover\":\"\",\"responsive\":\"\",\"show-empty\":\"\",\"stacked\":\"md\",\"striped\":\"\"},scopedSlots:_vm._u([{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.onShowIndividualTree(row)}}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'project-diagram']}}),_vm._v(\"Tree\")],1),_c('b-button',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.onShowDetails(row)}}},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'book']}}),_vm._v(\"Particulars\")],1)]}},{key:\"cell(name)\",fn:function(row){return [_c('individual-name',{attrs:{\"individual-id\":row.item.individualId,\"use-formal-name\":true}})]}},{key:\"cell(summary)\",fn:function(row){return [_c('individual-summary',{attrs:{\"individual-id\":row.item.individualId}})]}}])})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',[_vm._v(\" Individuals In Family \")])])}]\n\nexport { render, staticRenderFns }","export function buildTreeEvent(vm, toParams) {\r\n const individualId = toParams.individualId\r\n const individualSEO = toParams.individualSEO\r\n const familyId = toParams.familyId\r\n const familySEO = toParams.familySEO\r\n\r\n if (individualId){\r\n vm.$gtag.event('tree', {\r\n familyId,\r\n familySEO,\r\n individualId,\r\n individualSEO\r\n })\r\n }\r\n}\r\n\r\nexport function buildFamilyIndividualListEvent(vm, toParams) {\r\n const familyId = toParams.familyId\r\n const familySEO = toParams.familySEO\r\n\r\n vm.$gtag.event('family_individual_list', {\r\n familyId,\r\n familySEO\r\n })\r\n}","import _ from 'lodash'\r\nimport * as cultureUtils from '@/logic/culture/cultureUtils'\r\nimport * as familyFactUtils from '@/logic/family/familyFactUtils'\r\nimport * as individualUtils from '@/logic/family/individualUtils'\r\nimport * as urlUtils from '@/logic/general/urlUtils'\r\n\r\nexport function addStructuredDataScript(structuredData) {\r\n const tag = document.createElement('script')\r\n tag.setAttribute('type', 'application/ld+json')\r\n tag.setAttribute('data-vue-router-controlled', '') // We use this to track which meta tags we create so we don't interfere with other ones. See the routerExtensions beforeEachGlobal method\r\n tag.innerHTML = JSON.stringify(structuredData, null, 2)\r\n\r\n document.head.appendChild(tag)\r\n}\r\n\r\nexport function buildFamilyStructuredData(familyState, toParams) {\r\n const { author, familyDescription, familyId, familyName, sourceUrl } = familyState\r\n const url = `${location.origin}${urlUtils.getFamilyURL(familyId, familyName).path}` \r\n const dataset = {\r\n \"@context\": \"https://schema.org\",\r\n \"@type\": \"Collection\",\r\n \"name\": `${familyName} family tree`,\r\n \"url\": url\r\n }\r\n\r\n if (author) dataset.author = {\r\n \"@type\": \"Person\",\r\n \"name\": author\r\n }\r\n\r\n if (familyDescription) dataset.abstract = familyDescription\r\n if (sourceUrl) dataset.isBasedOn = sourceUrl\r\n\r\n addStructuredDataScript(dataset)\r\n}\r\n\r\nexport function buildIndividualStructuredData(state, toParams) {\r\n const familyState = state.family\r\n const language = state.viewState.language\r\n const individualId = toParams.individualId\r\n const person = buildIndividual(language, familyState, individualId, true)\r\n const individual = familyState.familyData.individuals[individualId]\r\n const parentFamily = buildParentChildren(language, familyState, individual.familyParents, individualId)\r\n if (parentFamily.parents.length > 0) person.parent = parentFamily.parents\r\n if (parentFamily.children.length > 0) person.sibling = parentFamily.children\r\n\r\n const unionFamilies = buildParentChildren(language, familyState, individual.familyUnions, individualId)\r\n if (unionFamilies.parents.length > 0) person.spouse = unionFamilies.parents\r\n if (unionFamilies.children.length > 0) person.children = unionFamilies.children\r\n\r\n addStructuredDataScript(person)\r\n}\r\n\r\nexport function buildIndividual(language, { familyData, familyId, familyName }, individualId, isTopLevel) {\r\n const person = {}\r\n\r\n if (isTopLevel) person[\"@context\"] = \"https://schema.org\"\r\n\r\n const individual = familyData.individuals[individualId]\r\n const sex = _.get(individual, 'sex')\r\n const standardName = individualUtils.getName(individual)\r\n const formalName = individualUtils.getFormalName(individual)\r\n const url = `${location.origin}${urlUtils.getIndividualURL(familyId, familyName, individualId, standardName).path}` \r\n const birthEvent = familyFactUtils.getGroupMemberByCodePrimaryOrFirst(individual, 'events','BIRT')\r\n const deathEvent = familyFactUtils.getGroupMemberByCodePrimaryOrFirst(individual, 'events','DEAT')\r\n const birthDate = cultureUtils.formatDate(_.get(birthEvent, 'date.date'), language)\r\n const deathDate = cultureUtils.formatDate(_.get(deathEvent, 'date.date'), language)\r\n const birthPlace = joinValues(birthEvent, ['place.value', 'address.address'])\r\n const deathPlace = joinValues(deathEvent, ['place.value', 'address.address'])\r\n const titleAttributes = familyFactUtils.getGroupMemberByCode(individual, 'attributes','TITL')\r\n const titles = titleAttributes.map(item => _.get(item, 'value')).join(', ')\r\n const occupationAttribute = familyFactUtils.getGroupMemberByCodePrimaryOrFirst(individual, 'attributes','OCCU')\r\n const occupation = _.get(occupationAttribute, 'value')\r\n\r\n person[\"@type\"] = \"Person\"\r\n person.name = standardName\r\n person.url = url\r\n\r\n if (isTopLevel) {\r\n person.description = `Family tree of ${standardName}`\r\n const birthDeathSummary = individualUtils.getBirthDeathSummary(individual, language)\r\n\r\n if (birthDeathSummary) person.description += ` (${birthDeathSummary})`\r\n if (titles || occupation) person.description += `, ${titles || occupation}.`\r\n }\r\n\r\n // if (given && surname) {\r\n // person.givenName = given\r\n // person.familyName = surname\r\n // } \r\n\r\n if (standardName != formalName) person.alternateName = formalName\r\n if (birthDate) person.birthDate = birthDate\r\n if (birthPlace) person.birthPlace = birthPlace\r\n if (deathPlace) person.deathPlace = deathPlace\r\n if (deathDate) person.deathDate = deathDate\r\n if (titles || occupation) person.jobTitle = titles || occupation\r\n\r\n switch (sex) \r\n {\r\n case 'F':\r\n person.gender = 'Female'\r\n break\r\n case 'M':\r\n person.gender = 'Male'\r\n break\r\n }\r\n\r\n return person\r\n}\r\n\r\nexport function joinValues(entity, pathList) {\r\n const r = []\r\n\r\n pathList.forEach(path => {\r\n const value = _.get(entity, path)\r\n if (value) r.push(value)\r\n })\r\n\r\n return r.join(', ')\r\n}\r\n\r\nexport function buildParentChildren(language, familyState, familyIds = [], individualIdExcluded) {\r\n const { familyData } = familyState\r\n const parentChildren = {\r\n parents: [],\r\n children: []\r\n }\r\n\r\n familyIds.forEach(item => {\r\n const family = familyData.families[item.pointer]\r\n parentChildren.parents = [...parentChildren.parents, ...buildFamilyIndividuals(language, familyState, family, 'spouses', individualIdExcluded)] \r\n parentChildren.children = [...parentChildren.children, ...buildFamilyIndividuals(language, familyState, family, 'children', individualIdExcluded)] \r\n })\r\n\r\n return parentChildren\r\n}\r\n\r\nexport function buildFamilyIndividuals(language, familyState, family, individualIdListProperty, individualIdExcluded) {\r\n return _.get(family, individualIdListProperty, [])\r\n .map(item => item.pointer || item)\r\n .filter(id => id != individualIdExcluded)\r\n .map(individualId => buildIndividual(language, familyState, individualId))\r\n}","import _ from 'lodash' \r\nimport * as familyFactUtils from '@/logic/family/familyFactUtils'\r\nimport * as individualUtils from '@/logic/family/individualUtils'\r\n\r\nexport function setHeaderTags(to, vm) {\r\n // This goes through the matched routes from last to first, finding the closest route with a title.\r\n // e.g., if we have `/some/deep/nested/route` and `/some`, `/deep`, and `/nested` have titles,\r\n // `/nested`'s will be chosen.\r\n const nearestWithTitle = to.matched.slice().reverse().find(r => r.meta && r.meta.title)\r\n\r\n // Find the nearest route element with meta tags.\r\n const nearestWithMeta = to.matched.slice().reverse().find(r => r.meta && r.meta.metaTags)\r\n\r\n // If a route with a title was found, set the document (page) title to that value.\r\n if (nearestWithTitle) document.title = performSubstitutions(nearestWithTitle.meta.title, to.params, vm)\r\n\r\n // Remove any stale meta tags from the document using the key attribute we set below.\r\n Array.from(document.querySelectorAll('[data-vue-router-controlled]')).map(el => el.parentNode.removeChild(el))\r\n\r\n // Skip rendering meta tags if there are none.\r\n if (nearestWithMeta) {\r\n\r\n // Turn the meta tag definitions into actual elements in the head.\r\n nearestWithMeta.meta.metaTags.map(tagDef => {\r\n const tag = document.createElement('meta')\r\n\r\n Object.keys(tagDef).forEach(key => {\r\n tag.setAttribute(key, performSubstitutions(tagDef[key], to.params, vm))\r\n });\r\n\r\n // We use this to track which meta tags we create so we don't interfere with other ones.\r\n tag.setAttribute('data-vue-router-controlled', '')\r\n\r\n return tag;\r\n })\r\n .forEach(tag => document.head.appendChild(tag)) // Add the meta tags to the document head.\r\n }\r\n}\r\n\r\nexport function performSubstitutions(template, params, state) {\r\n let familyTitle = params.familyName || params.familySEO\r\n let familyDescription = params.familyName || params.familySEO\r\n let individualTitle= params.individualName || params.individualSEO\r\n let individualDescription = params.individualName || params.individualSEO\r\n\r\n if (state) {\r\n const stateFamilyDescription = state.family.familyDescription\r\n familyTitle = `The ${state.family.familyName} genealogical tree` \r\n familyDescription = stateFamilyDescription ? stateFamilyDescription : `${familyTitle}.`\r\n\r\n if (params.individualId) {\r\n const language = state.viewState.language\r\n const familyData = state.family.familyData\r\n const individual = familyData.individuals[params.individualId]\r\n const standardName = individualUtils.getName(individual)\r\n const formalName = individualUtils.getFormalName(individual)\r\n const titleAttributes = familyFactUtils.getGroupMemberByCode(individual, 'attributes','TITL')\r\n const titles = titleAttributes.map(item => _.get(item, 'value')).join(', ')\r\n const occupationAttribute = familyFactUtils.getGroupMemberByCodePrimaryOrFirst(individual, 'attributes','OCCU')\r\n const occupation = _.get(occupationAttribute, 'value')\r\n const birthDeathSummary = individualUtils.getBirthDeathSummary(individual, language)\r\n const birthDeathSummaryText = birthDeathSummary ? ` (${birthDeathSummary})` : ''\r\n const titleOccupationText = titles || occupation ? `, ${titles || occupation},` : ''\r\n individualTitle = `${formalName} family tree`\r\n individualDescription = `The detailed family tree of ${standardName}${birthDeathSummaryText}${titleOccupationText} from the ${state.family.familyName} genealogical tree.`\r\n }\r\n }\r\n\r\n return template\r\n .replace('FAMILY_TITLE', _.unescape(familyTitle))\r\n .replace('FAMILY_DESCRIPTION', _.unescape(familyDescription))\r\n .replace('INDIVIDUAL_TITLE', _.unescape(individualTitle))\r\n .replace('INDIVIDUAL_DESCRIPTION', _.unescape(individualDescription))\r\n}","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyIndividualList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyIndividualList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilyIndividualList.vue?vue&type=template&id=2889c471&\"\nimport script from \"./FamilyIndividualList.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilyIndividualList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"px-2 pt-2\"},[_c('AcceptInvitations',{attrs:{\"show-viewed\":true}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyInvitations.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyInvitations.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilyInvitations.vue?vue&type=template&id=540dbbde&\"\nimport script from \"./FamilyInvitations.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilyInvitations.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"px-2 pt-2\"},[_c('h4',[_vm._v(\"New Private Family\"),(_vm.mode!==1)?_c('b-badge',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.setMode(1)}}},[_c('b-icon',{attrs:{\"icon\":\"upload\"}}),_vm._v(\"Import\")],1):_vm._e()],1),_c('div',{class:_vm.getInfoTableRowClass(1)},[(_vm.mode===1)?_c('ImportNewFamily',{on:{\"force-reset\":function($event){return _vm.reset()}}}):_vm._e()],1),_c('div',{staticClass:\"d-flex flex-wrap justify-content-between\"},[_vm._m(0),_c('div',[_c('b-pagination',{attrs:{\"per-page\":_vm.perPage,\"total-rows\":_vm.rows,\"aria-controls\":\"my-table\",\"align\":\"right\"},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1),_c('div',[_c('b-form-group',{staticClass:\"narrow-container-0\",attrs:{\"label-cols-sm\":\"4\",\"label\":\"Name Filter:\",\"label-align-sm\":\"right\",\"label-for\":\"individuals-filter-box\"}},[_c('b-form-input',{attrs:{\"id\":\"individuals-filter-box\",\"type\":\"text\",\"tabindex\":\"1\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1)],1)]),_c('b-table',{attrs:{\"current-page\":_vm.currentPage,\"busy\":_vm.busy,\"filter\":_vm.filter,\"items\":_vm.families,\"fields\":_vm.familyFields,\"filter-included-fields\":_vm.filterOn,\"per-page\":_vm.perPage,\"empty-filtered-text\":\"No families match the filter\",\"responsive\":\"\",\"show-empty\":\"\",\"stacked\":\"md\",\"striped\":\"\"},on:{\"filtered\":_vm.onFilterChange},scopedSlots:_vm._u([{key:\"cell(familyName)\",fn:function(row){return [_vm._v(\" \"+_vm._s(row.item.familyName)+\" \"),_c('FamilyDescription',{attrs:{\"family-description\":row.item.familyDescription,\"author\":row.item.author,\"source-url\":row.item.sourceUrl,\"id\":(\"fdi-\" + (row.item.familyId)),\"placement\":\"rightbottom\"}})]}},{key:\"cell(isPublic)\",fn:function(row){return [(row.item.isPublic)?_c('b-icon',{attrs:{\"icon\":\"check\"}}):_vm._e()]}},{key:\"cell(isShowcased)\",fn:function(row){return [(row.item.isShowcased)?_c('b-icon',{attrs:{\"icon\":\"check\"}}):_vm._e()]}},{key:\"cell(suppressGender)\",fn:function(row){return [(row.item.suppressGender)?_c('b-icon',{attrs:{\"icon\":\"check\"}}):_vm._e()]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{staticClass:\"action-icon\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.onManageFamily(row)}}},[_c('b-icon',{attrs:{\"icon\":\"tools\"}}),_vm._v(\"Manage\")],1)]}},{key:\"table-busy\",fn:function(){return [_c('TableBusy')]},proxy:true}])})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',[_vm._v(\" Manage Existing Private Families \")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('b-card',{staticClass:\"mb-2\",attrs:{\"bg-variant\":\"light\",\"tag\":\"article\"}},[_c('b-card-text',[_vm._v(\" Upload a .GED file. A GED file is a data file saved in the GEnealogical Data COMmunications (GEDCOM) format. Many family tree websites will allow you to export a .GED file with your family details. \")])],1),_c('input',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"dummyUserName\",\"type\":\"text\",\"autocomplete\":\"username\"}}),_c('validation-provider',{attrs:{\"name\":\"Family Name\",\"rules\":{required: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Family Name:\",\"label-align-sm\":\"right\",\"label-for\":\"family-name-base-box\"}},[_c('b-form-input',{attrs:{\"id\":\"family-name-base-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"1\"},model:{value:(_vm.form.familyNameBase),callback:function ($$v) {_vm.$set(_vm.form, \"familyNameBase\", $$v)},expression:\"form.familyNameBase\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"familyName-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Description\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Description:\",\"label-align-sm\":\"right\",\"label-for\":\"family-description-base-box\"}},[_c('b-form-textarea',{attrs:{\"id\":\"family-description-base-box\",\"state\":_vm.getValidationState(validationContext),\"placeholder\":\"Enter optional description...\",\"rows\":\"3\",\"tabindex\":\"2\"},model:{value:(_vm.form.familyDescription),callback:function ($$v) {_vm.$set(_vm.form, \"familyDescription\", $$v)},expression:\"form.familyDescription\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"familyDescription-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Author\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Author:\",\"label-align-sm\":\"right\",\"label-for\":\"author-box\"}},[_c('b-form-input',{attrs:{\"id\":\"author-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"3\"},model:{value:(_vm.form.author),callback:function ($$v) {_vm.$set(_vm.form, \"author\", $$v)},expression:\"form.author\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"author-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Reference URL\",\"rules\":{url: true}},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Source URL:\",\"label-align-sm\":\"right\",\"label-for\":\"source-url-box\"}},[_c('b-form-input',{attrs:{\"id\":\"source-url-box\",\"type\":\"text\",\"state\":_vm.getValidationState(validationContext),\"tabindex\":\"3\"},model:{value:(_vm.form.sourceUrl),callback:function ($$v) {_vm.$set(_vm.form, \"sourceUrl\", $$v)},expression:\"form.sourceUrl\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"sourceUrl-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\".GED file\",\"rules\":{ ext:'ged', required: true },\"custom-messages\":{ 'ext':'Please select a .ged file', 'required': 'A .ged file is required' }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"GED File:\",\"label-align-sm\":\"right\",\"label-for\":\"file-name-box\"}},[_c('b-form-file',{ref:\"file-name\",staticClass:\"mt-1\",attrs:{\"id\":\"file-name-box\",\"state\":validationContext.errors.length === 0,\"placeholder\":\"Choose a .ged file or drop it here...\",\"drop-placeholder\":\"Drop .ged file here...\",\"tabindex\":\"3\"},model:{value:(_vm.fileName),callback:function ($$v) {_vm.fileName=$$v},expression:\"fileName\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"givenName-feedback\"}},[_vm._v(_vm._s(validationContext.errors[0]))])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.resetPage()}}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportNewFamily.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportNewFamily.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ImportNewFamily.vue?vue&type=template&id=6b6e8a93&\"\nimport script from \"./ImportNewFamily.vue?vue&type=script&lang=js&\"\nexport * from \"./ImportNewFamily.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilyManagement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilyManagement.vue?vue&type=template&id=a2a09712&\"\nimport script from \"./FamilyManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilyManagement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"narrow-container-2 px-2 pt-2\"},[_c('div',{staticClass:\"d-flex flex-wrap justify-content-between\"},[_vm._m(0),_c('div',[_c('b-form-group',{attrs:{\"label-cols-sm\":\"4\",\"label\":\"Name Filter:\",\"label-align-sm\":\"right\",\"label-for\":\"filter-box\"}},[_c('b-form-input',{attrs:{\"id\":\"filter-box\",\"type\":\"text\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1)],1)]),_c('b-tabs',{attrs:{\"card\":\"\",\"pills\":\"\"}},[(_vm.privateFamilies.length > 0)?_c('b-tab',{attrs:{\"title\":\"Available Private Families\"}},[_c('family-selection-table',{attrs:{\"busy\":_vm.busy,\"families\":_vm.privateFamilies,\"filter\":_vm.filter,\"per-page\":90,\"table-id\":\"AvailablePrivateFamilies\"}})],1):_vm._e(),(_vm.publicFamilies.length > 0)?_c('b-tab',{attrs:{\"title\":\"Available Public Families\"}},[_c('family-selection-table',{attrs:{\"busy\":_vm.busy,\"families\":_vm.publicFamilies,\"filter\":_vm.filter,\"per-page\":90,\"table-id\":\"AvailablePublicFamilies\"}})],1):_vm._e()],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',[_vm._v(\"Switch Family\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row bar-table\"},[_c('div',{staticClass:\"col\"},[(_vm.hasPageTwo)?_c('b-pagination',{attrs:{\"per-page\":_vm.perPage,\"total-rows\":_vm.rows,\"aria-controls\":\"my-table\",\"align\":\"right\"},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e()],1)]),_c('b-table',{attrs:{\"id\":_vm.tableId,\"busy\":_vm.busy,\"current-page\":_vm.currentPage,\"items\":_vm.families,\"fields\":_vm.tableFields,\"filter\":_vm.filter,\"filter-included-fields\":_vm.filterOn,\"per-page\":_vm.perPage,\"empty-filtered-text\":\"No families match the filter\",\"responsive\":\"\",\"show-empty\":\"\",\"thead-class\":\"d-none\",\"tbody-tr-class\":_vm.classTr},on:{\"filtered\":_vm.onFilterChange,\"row-clicked\":_vm.onSelection},scopedSlots:_vm._u([{key:\"cell(familyName)\",fn:function(row){return [_vm._v(\" \"+_vm._s(row.item.familyName)+\" \"),_c('FamilyDescription',{attrs:{\"family-description\":row.item.familyDescription,\"author\":row.item.author,\"source-url\":row.item.sourceUrl,\"id\":(\"fdi-\" + (row.item.familyId)),\"placement\":\"bottom\"}})]}},{key:\"table-busy\",fn:function(){return [_c('TableBusy')]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilySelectionTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilySelectionTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilySelectionTable.vue?vue&type=template&id=4ca1ea30&\"\nimport script from \"./FamilySelectionTable.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilySelectionTable.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilySelection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FamilySelection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FamilySelection.vue?vue&type=template&id=505558dc&\"\nimport script from \"./FamilySelection.vue?vue&type=script&lang=js&\"\nexport * from \"./FamilySelection.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-jumbotron',{attrs:{\"header\":\"Welcome to Relative To Me!\",\"lead\":\"\"}},[_c('ul',{staticClass:\"narrow-container-2\"},[_c('li',[_c('h6',[_vm._v(\"Draw an individual's family tree\")]),_c('p',{staticClass:\"mb-1\"},[_vm._v(\" The current family is shown at the top left. Use the search box beside it on the right to find an individual within that family. Once you have selected someone from the list, their family tree will be drawn for you. \"),_c('i',[_vm._v(\"Hint: You can type multiple partial names. Example: \\\"Dia Spe\\\" might show \\\"Diana Spencer\\\".\")])])]),_c('li',[_c('h6',[_vm._v(\"Change the display options\")]),_c('p',{staticClass:\"mb-1\"},[_vm._v(\"You can control whether or not you want to see the individual's ancestors, descendants, or both by clicking on the \"),_c('b-link',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.displayOptionsModal\",modifiers:{\"displayOptionsModal\":true}}]},[_vm._v(\"Display Options\")]),_vm._v(\" in the header.\")],1)]),_c('li',[_c('h6',[_vm._v(\"Switch the current family\")]),_c('p',{staticClass:\"mb-1\"},[_vm._v(\"You can change the current family within the \"),_c('b-link',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.displayOptionsModal\",modifiers:{\"displayOptionsModal\":true}}]},[_vm._v(\"Display Options\")]),_vm._v(\" or by \"),_c('b-link',{attrs:{\"to\":'/family/selection'}},[_vm._v(\"clicking\")]),_vm._v(\" on the name of the current family shown at the top left.\")],1)]),_c('li',[_c('h6',[_vm._v(\"Access private families\")]),_c('p',{staticClass:\"mb-1\"},[_vm._v(\" If you are logged in, you may be authorized to see additional private families. Select the \"),_c('b-link',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.authenticationModal\",modifiers:{\"authenticationModal\":true}}]},[_vm._v(\"Login\")]),_vm._v(\" link in the header to login. Any new invitations will be shown to you automatically once you are logged in. Once you have accepted an invitation for a family, that family will be listed when you change families. \")],1)]),_c('li',[_c('h6',[_vm._v(\"Advanced Features\")]),_c('p',{staticClass:\"mb-1\"},[_vm._v(\"If you are logged in you will have additional privileges:\")]),_c('ul',[_c('li',[_vm._v(\"Import a GEDCOM (.ged) file from family tree websites such as Ancestry.com or Geni.com and invite others to see it.\")]),_c('li',[_vm._v(\"Print a large family tree.\")]),_c('li',[_vm._v(\"Build a new family tree \"),_c('span',{staticClass:\"warning\"},[_c('i',[_c('b',[_vm._v(\"(Under Development)\")])])])])]),_c('p',{staticClass:\"pt-2\"},[_vm._v(\"Some features may require a subscription in the future; however, that feature is still under development so there are no limits at this time.\")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=4b70714e&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-jumbotron',{attrs:{\"header\":\"Reset Password\"}},[(_vm.status===1)?_c('div',[_c('h3',[_vm._v(\"Error\")]),_c('p',[_vm._v(\"The password reset email you just used is for a different user than the one you are currently logged in to. If you want to use that email to reset a password, please log off the current user first.\")])]):_vm._e(),(_vm.status===2)?_c('div',[_c('validation-observer',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.onSubmit)}}},[_c('h3',[_vm._v(\"Please type in your new password\")]),_c('validation-provider',{attrs:{\"vid\":\"password\",\"name\":\"Password\",\"rules\":{required: true, regex: /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{10,}$/gm }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Password:\",\"label-align-sm\":\"right\",\"label-for\":\"password-box\"}},[_c('b-form-input',{attrs:{\"id\":\"password-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"4\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"password-feedback\"}},[_vm._v(\"The password must be at least 10 characters long containing the following: upper case letters, lower case letters, and digits.\")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Confirm Password\",\"rules\":{required: true, confirmed:'password' }},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-cols-sm\":\"3\",\"label\":\"Confirm Password:\",\"label-align-sm\":\"right\",\"label-for\":\"password-box\"}},[_c('b-form-input',{attrs:{\"id\":\"confirmPassword-box\",\"type\":\"password\",\"state\":_vm.getValidationState(validationContext),\"autocomplete\":\"new-password\",\"tabindex\":\"5\"},model:{value:(_vm.form.confirmPassword),callback:function ($$v) {_vm.$set(_vm.form, \"confirmPassword\", $$v)},expression:\"form.confirmPassword\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":\"confirmPassword-feedback\"}},[_vm._v(\"The passwords must match.\")])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"5\"}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}})],1)]}}],null,false,3016589705)})],1):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordReset.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordReset.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PasswordReset.vue?vue&type=template&id=e1fb3d60&\"\nimport script from \"./PasswordReset.vue?vue&type=script&lang=js&\"\nexport * from \"./PasswordReset.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-jumbotron',{attrs:{\"header\":\"Privacy Policy\",\"lead\":\"\"}},[_c('ol',[_c('li',[_c('h6',[_vm._v(\"General\")]),_c('p',[_vm._v(\" At relativetome, we care about your personal data, so we have prepared this Privacy Policy to explain how we collect, use and share it. \")]),_c('p',[_vm._v(\" This Privacy Policy (“Privacy Policy”) details the personal data Ibex Consulting, Inc. (“relativetome”, “we”, “us” or “our”) receives about you, how we process it and your rights and obligations in relation to your personal data. Ibex Consulting Inc., a company registered at 22-7250 144ST, Surrey, BC, Canada V3W 1L7 is the data controller for the purposes of the General Data Protection Regulation (“GDPR”) and any relevant local legislation (“Data Protection Laws”). \")]),_c('p',[_vm._v(\" By using or accessing the Service, you agree to the terms of this Privacy Policy. Capitalized terms not defined here have the meanings set forth in the terms and conditions (the “Terms and Conditions”), located at \"),_c('b-link',{attrs:{\"to\":'/info/terms'}},[_vm._v(\"relativetome.com/info/terms\")]),_vm._v(\". We may update our Privacy Policy to reflect changes to our information practices. If we do this and the changes are material, we will post a notice that we have made changes to this Privacy Policy on the Website for at least 7 days before the changes are made, and we will indicate the date these terms were last revised at the bottom of the Privacy Policy. Any revisions to this Privacy Policy will become effective at the end of that 7 day period. \")],1)]),_c('li',[_c('h6',[_vm._v(\"Information We Collect\")]),_c('p',[_vm._v(\" This details the type of information we collect. \")]),_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_c('h6',[_vm._v(\"Registration Data\")]),_c('p',[_vm._v(\" Through the registration process, you will provide us with your name and e-mail address. You will also provide us with your payment transaction information if you choose to pay for relativetome services. \")])]),_c('li',[_c('h6',[_vm._v(\"Family Data\")]),_c('p',[_vm._v(\" Families may be uploaded to relativetome. There are two types of families; public and private. Public families can be viewed by anyone. A family will only be made public on RelativeTo Me if the family was already available publicly on another website or, by agreement with the author(s), relativetome has been given permission to make it public. \")])]),_c('li',[_c('h6',[_vm._v(\"Activity Data\")]),_c('p',[_vm._v(\" When you use the Service, we will collect technical data about how you interact with our Services; for more information, see \"),_c('b-link',{attrs:{\"href\":\"#cookies\"}},[_vm._v(\"Cookies\")]),_vm._v(\". \")],1),_c('p',{staticClass:\"info-list-intro\"},[_vm._v(\" We only collect the data we need which means we don’t record: \")]),_c('ul',{staticClass:\"info-list\"},[_c('li',[_vm._v(\"Names\")]),_c('li',[_vm._v(\"Email addresses\")]),_c('li',[_vm._v(\"Passwords\")])]),_c('p',[_vm._v(\" We do record the following data: \")]),_c('h6',{staticClass:\"info-list-intro\"},[_vm._v(\"Tech Specs\")]),_c('ul',{staticClass:\"info-list\"},[_c('li',[_vm._v(\"Browser\")]),_c('li',[_vm._v(\"Device type\")]),_c('li',[_vm._v(\"Operating system\")]),_c('li',[_vm._v(\"Viewfinder size\")]),_c('li',[_vm._v(\"IP address\")])]),_c('h6',{staticClass:\"info-list-intro\"},[_vm._v(\"Navigation\")]),_c('ul',{staticClass:\"info-list\"},[_c('li',[_vm._v(\"Pages visited\")]),_c('li',[_vm._v(\"Referrers\")]),_c('li',[_vm._v(\"URL parameters\")]),_c('li',[_vm._v(\"Session duration\")])]),_c('h6',{staticClass:\"info-list-intro\",attrs:{\"id\":\"cookies\"}},[_vm._v(\"Events\")]),_c('ul',{staticClass:\"info-list\"},[_c('li',[_vm._v(\"Register new account\")]),_c('li',[_vm._v(\"Forgot your password\")]),_c('li',[_vm._v(\"Verify email\")]),_c('li',[_vm._v(\"Login\")]),_c('li',[_vm._v(\"Account change\")]),_c('li',[_vm._v(\"Import Family\")])])])])]),_c('li',{staticClass:\"end-of-text-block\"},[_c('h6',[_vm._v(\"Cookies\")]),_c('p',[_vm._v(\" When you enter the Website, we collect your browser type and your IP address (a unique address that identifies your computer on the Internet). \")]),_c('p',[_vm._v(\" In addition, we store certain information from your browser using \\\"cookies.\\\" A cookie is a piece of data stored on the user's computer tied to information about the user. We use cookies for account security and personalized ads. If you do not want information collected through the use of cookies, there is a simple procedure in most browsers that allows you to deny or accept the cookie feature; however, you should note that you cannot login without allowing cookies. \")]),_c('p',[_vm._v(\" You can find more information about cookies and how to manage them at \"),_c('b-link',{attrs:{\"href\":\"http://www.allaboutcookies.org\"}},[_vm._v(\"http://www.allaboutcookies.org\")]),_vm._v(\". \")],1),_c('h6',{staticClass:\"info-list-intro\"},[_vm._v(\"Ads\")]),_c('ul',[_c('li',[_vm._v(\"Third party vendors, including Google, use cookies to serve ads based on a user's prior visits to your website or other websites.\")]),_c('li',[_vm._v(\"Google's use of advertising cookies enables it and its partners to serve ads to your users based on their visit to your sites and/or other sites on the Internet.\")]),_c('li',[_vm._v(\"Users may opt out of personalized advertising by visiting \"),_c('a',{attrs:{\"href\":\"https://www.google.com/settings/ads\",\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(\"Ads Settings\")]),_vm._v(\" or you can opt out of a third-party vendor's use of cookies for personalized advertising by visiting \"),_c('a',{attrs:{\"href\":\"http://www.aboutads.info/choices/\",\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(\"www.aboutads.info\")]),_vm._v(\".\")])])]),_c('li',[_c('h6',[_vm._v(\"Information Obtained by Third Parties\")]),_c('p',[_vm._v(\" We use Google Analytics which is a web analytics tool that helps us understand how users engage with the Website. Like many services, Google Analytics uses first-party cookies to track user interactions as in our case, where they are used to collect information about how users use our site. This information is used to compile reports and to help us improve our Website. The reports disclose website trends without identifying individual visitors. You can opt out of Google Analytics without affecting how you visit our site – for more information on opting out of being tracked by Google Analytics across all websites you use, visit this Google page: \"),_c('b-link',{attrs:{\"href\":\"https://tools.google.com/dlpage/gaoptout\"}},[_vm._v(\"https://tools.google.com/dlpage/gaoptout\")]),_vm._v(\". \")],1)]),_c('li',[_c('h6',[_vm._v(\"Use of information obtained by relativetome\")]),_c('p',[_vm._v(\" This details how we use the information we collect. \")]),_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_c('h6',[_vm._v(\"Registration Data\")]),_c('p',[_vm._v(\" relativetome may occasionally send you service related and product change announcements through the general operation of the Service. We may also use your contact information to send you notifications regarding new services, offers and promotions offered by relativetome if you affirmatively consent to receive such communications. \")])]),_c('li',[_c('h6',[_vm._v(\"Family Data\")]),_c('p',[_vm._v(\" relativetome will never sell or share your Family Data with any other organization except third-party printers that would print a portion of your family data at your request. relativetome does not analyze your Family Data other than to find better ways to render that data for your use. relativetome will never attempt to contact anyone using information from the family data. \")])]),_c('li',[_c('h6',[_vm._v(\"Activity Data\")]),_c('p',[_vm._v(\" relativetome may use or share anonymous data collected through the Service, including Activity Data without limitation. As a business, it is critical that we perform our contract with you with the best service possible, and it is in our legitimate interests to perform these processing functions and to enable service e-mails by default to keep your data secure and provide our Service. You may opt out of any non-essential service e-mails at any time. \")])])])]),_c('li',[_c('h6',[_vm._v(\"Sharing your personal data with third parties\")]),_c('p',[_vm._v(\" relativetome shares your personal data only when it is necessary to offer the Service, legally required, or permitted by you. \")]),_c('p',[_vm._v(\" relativetome will never sell or share your Family Data with any other organization except third-party printers that would print a portion of your family data at your request. \")]),_c('p',[_vm._v(\" We will be required to access and disclose personal data in response to lawful requests, such as subpoenas or court orders, or in compliance with applicable laws. Additionally, we will access and share account or other personal data when we believe it is necessary to comply with law, to protect our interests or property, to prevent fraud or other illegal activity perpetrated through the Service or using the relativetome name, or to prevent imminent harm. This will include accessing and sharing personal data with other companies, lawyers, agents or government agencies. \")]),_c('p',[_vm._v(\" If the ownership of all or substantially all of the relativetome business, or individual business units or assets owned by relativetome that are related to the Service, were to change, your personal data will be transferred to the new owner. In any such transfer of information, your personal data would remain subject to this section. \")]),_c('p',[_vm._v(\" relativetome will share aggregate or anonymous data collected through the Service, including Activity Data, for purposes such as understanding or improving the service. \")])]),_c('li',[_c('h6',[_vm._v(\"Data subject rights and data retention\")]),_c('p',[_vm._v(\" You can manage your account settings at \"),_c('b-link',{attrs:{\"href\":\"/admin/accountSettings\"}},[_vm._v(\"https://relativetome.com/admin/accountSettings\")]),_vm._v(\" to update, amend, and correct your information. \")],1),_c('p',[_vm._v(\" You also have the following rights in relation to the personal data we hold about you, unless provided otherwise by local law: \")]),_c('ul',{staticClass:\"info-list\"},[_c('li',[_vm._v(\"To request access to, or erasure of, the personal data we hold about you.\")]),_c('li',[_vm._v(\"To request us to restrict the processing of the personal data we hold about you.\")]),_c('li',[_vm._v(\"To object to us processing personal data relating to you.\")]),_c('li',[_vm._v(\"Where you have given us consent to process your personal data, you have the right to withdraw that consent at any time.\")]),_c('li',[_vm._v(\"To export the personal data you have provided to relativetome in a format that can be transferred electronically to a third party.\")]),_c('li',[_vm._v(\"To delete your account with relativetome by following the instructions available through the Service.\")])]),_c('p',[_vm._v(\" relativetome will retain your data until your account is deleted, after which point we will retain anonymous data collected through the Service, including Activity Data, which may be used by relativetome and shared with third parties in any manner. \")]),_c('p',[_vm._v(\" Please note that some of these rights are not absolute. In some cases, we may refuse a request to exercise particular rights if complying with it meant that we are no longer able to meet our contractual obligation to provide you with particular products and services. We will keep you informed as to the actions that we can take when you make your request. \")]),_c('p',[_vm._v(\" You may also have the right to make a GDPR complaint to the relevant Supervisory Authority. A list of EEA Supervisory Authorities is available here: \"),_c('b-link',{attrs:{\"href\":\"http://ec.europa.eu/justice/data-protection/bodies/authorities/index_en.htm\"}},[_vm._v(\"http://ec.europa.eu/justice/data-protection/bodies/authorities/index_en.htm\")]),_vm._v(\" and the UK here: \"),_c('b-link',{attrs:{\"href\":\"https://ico.org.uk/global/contact-us/\"}},[_vm._v(\"https://ico.org.uk/global/contact-us/\")]),_vm._v(\". If you need further assistance regarding your rights, please contact us using the contact information provided below and we will consider your request in accordance with applicable law. In some cases our ability to uphold these rights for you may depend upon our obligations to process personal information for security, safety, fraud prevention reasons, compliance with regulatory or legal requirements, or because processing is necessary to deliver the services you have requested. Where this is the case, we will inform you of specific details in response to your request. \")],1)]),_c('li',[_c('h6',[_vm._v(\"Third party websites and links\")]),_c('p',[_vm._v(\" Please note that you may have cookies placed on your computer by third party websites that refer you to our Service. Although we do not share your personal data with these third party websites unless it is reasonably necessary to offer the Service, they may be able to link certain non-personally identifiable information we transfer to them with personal data they previously collected from you. Please review the privacy policies of each website you visit to better understand their privacy practices. In addition, relativetome would like to inform you that anytime you click on links (including advertising banners), which take you to third party websites, you will be subject to the third parties’ privacy policies. \")]),_c('p',[_vm._v(\" Our Services contain links to other sites operated by third parties. relativetome does not control such other sites and is not responsible for their content, their privacy policies, or their use of personal data, including any personal or financial information collected by our third party payment processor to process payments for in-app purchases. relativetome's inclusion of such links does not imply any endorsement of the content on such sites or of their owners or operators except as disclosed on the Services. Any information submitted by you directly to these third parties is subject to that third party’s privacy policy \")])]),_c('li',[_c('h6',[_vm._v(\"Information security\")]),_c('p',[_vm._v(\" relativetome has implemented administrative and technical safeguards it believes are appropriate to protect the confidentiality, integrity and availability of your personal data, access credentials, and family data. However, given sufficient resources, a determined attacker could defeat those safeguards and may, as a result, gain access to the data we seek to protect. \")])]),_c('li',[_c('h6',[_vm._v(\"Do Not Track\")]),_c('p',[_vm._v(\" The Service is not designed to respond to “do not track” signals sent by some browsers. \")])]),_c('li',[_c('h6',[_vm._v(\"Contact Us\")]),_c('p',[_vm._v(\" relativetome is owned and operated by Ibex Consulting Inc. \")]),_c('p',[_vm._v(\" Ibex Consulting Inc. is located within Canada at:\"),_c('br'),_vm._v(\" Ibex Consulting Inc.\"),_c('br'),_vm._v(\" 22-7250 144ST\"),_c('br'),_vm._v(\" Surrey, BC Canada\"),_c('br'),_vm._v(\" V3W 1L7\"),_c('br')]),_c('p',[_vm._v(\" For all data privacy inquiries and any questions or concerns you have about this Privacy Policy, please contact our Data Protection Officer at Support@relativetome.com \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Privacy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Privacy.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Privacy.vue?vue&type=template&id=173653e8&\"\nimport script from \"./Privacy.vue?vue&type=script&lang=js&\"\nexport * from \"./Privacy.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"narrow-container-2 px-2 pt-2\"},[_c('h4',[_vm._v(\"Reimport All Families\")]),_c('p',[_vm._v(\"All families will be reimported using the original gedcom data stored on the backend. This operation should only be used when the translation logic that processes the gedcom data and turns it into JSON has been updated. This does not include the translation of the original gedcom file from various character sets such as ANSI, ANSEL, etc to UTF-8.\")]),_c('div',{staticClass:\"d-flex justify-content-end\"},[(_vm.postState.inProgress)?_c('b-button',{attrs:{\"disabled\":this.cancelPending,\"type\":\"button\",\"variant\":\"outline-secondary\",\"tabindex\":\"12\"},on:{\"click\":function($event){return _vm.onStop()}}},[_vm._v(\" \"+_vm._s(_vm.stopText)+\" \")]):_vm._e(),_c('b-button',{staticClass:\"ml-2\",attrs:{\"disabled\":_vm.postState.inProgress,\"type\":\"submit\",\"variant\":\"primary\",\"tabindex\":\"11\"},on:{\"click\":function($event){return _vm.onSubmit()}}},[_vm._v(\" Submit \")])],1),_c('ApiPostFeedback',{attrs:{\"post-state\":_vm.postState}}),(_vm.postState.inProgress)?_c('b-progress',{attrs:{\"value\":_vm.progressValue,\"max\":_vm.progressMax,\"animated\":\"\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SiteAdministrationReimportAll.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SiteAdministrationReimportAll.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SiteAdministrationReimportAll.vue?vue&type=template&id=0aad8a06&\"\nimport script from \"./SiteAdministrationReimportAll.vue?vue&type=script&lang=js&\"\nexport * from \"./SiteAdministrationReimportAll.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-jumbotron',{attrs:{\"header\":\"Terms of Use\",\"lead\":\"\"}},[_c('ol',[_c('li',[_c('h6',[_vm._v(\"General\")]),_c('p',[_vm._v(\" The relativetome website is operated by Ibex Consulting Inc. of 22-7250 144ST, Surrey, BC Canada V3W 1L7 (“relativetome”, the “Website”, or the “Service”). Access and use of the Service is subject to the following Terms and Conditions of Service (“Terms and Conditions”). By accessing or using any part of the Service, you represent that you have read, understood, and agree to be bound by these Terms and Conditions including any future modifications. “relativetome” may amend, update or change these Terms and Conditions. If we do this, we will post a notice that we have made changes to these Terms and Conditions on the Website for at least 7 days after the changes are posted and will indicate at the bottom of the Terms and Conditions the date these terms were last revised. Any revisions to these Terms and Conditions will become effective the earlier of (i) the end of such 7-day period or (ii) the first time you access or use the Service after such changes. If you do not agree to abide by these Terms and Conditions, you are not authorized to use, access or participate in the Service. \")])]),_c('li',[_c('h6',[_vm._v(\"Description of Website and Service\")]),_c('p',[_vm._v(\" The Service allows users to access and use a variety of family tree services. relativetome may, in its sole discretion and at any time, update, change, suspend, make improvements to or discontinue any aspect of the Service, temporarily or permanently. \")])]),_c('li',[_c('h6',[_vm._v(\"Registration\")]),_c('p',[_vm._v(\" In connection with registering for and using the Service, you agree (i) to provide accurate, current and complete information about you and/or your organization as requested by the Service; (ii) to maintain the confidentiality of your password and other information related to the security of your account; (iii) to maintain and promptly update any registration information you provide to the Service, to keep such information accurate, current and complete; and (iv) to be fully responsible for all use of your account and for any actions that take place through your account. \")])]),_c('li',[_c('h6',[_vm._v(\"Your Representations and Warranties\")]),_c('p',[_vm._v(\" You represent and warrant to relativetome that your access and use of the Service will be in accordance with these Terms and Conditions and with all applicable laws, rules and regulations of Canada and any other relevant jurisdiction, including those regarding online conduct or acceptable content, and those regarding the transmission of data or information exported from Canada and/or the jurisdiction in which you reside. You further represent and warrant that you have created or own any material you submit via the Service (including Family Data) and that you have the right, as applicable, to grant us a license to use that material as set forth above or the right to assign that material to us as set forth below. \")])]),_c('li',[_c('h6',[_vm._v(\"Inappropriate Use\")]),_c('p',[_vm._v(\" You will not upload, display or otherwise provide on or through the Service any content that: (i) is libelous, defamatory, abusive, threatening, harassing, hateful, offensive or otherwise violates any law or infringes upon the right of any third party (including copyright, trademark, privacy, publicity or other personal or proprietary rights); or (ii) in relativetome's sole judgment, is objectionable or which restricts or inhibits any other person from using the Service or which may expose relativetome or its users to any harm or liability of any kind. \")])]),_c('li',[_c('h6',[_vm._v(\"Indemnification of relativetome\")]),_c('p',[_vm._v(\" You agree to defend, indemnify and hold harmless relativetome and its directors, officers, employees, contractors, agents, suppliers, licensors, successors and assigns, from and against any and all losses, claims, causes of action, obligations, liabilities and damages whatsoever, including attorneys' fees, arising out of or relating to your access or use of the Service, any false representation made to us (as part of these Terms and Conditions or otherwise), your breach of any of these Terms and Conditions, or any claim that any translation we provide to you is inaccurate, inappropriate or defective in any way whatsoever. \")])]),_c('li',[_c('h6',[_vm._v(\"Purchases\")]),_c('p',[_vm._v(\" If you purchase an auto-renewing periodic subscription through the Service, your relativetome account will be billed continuously for the subscription until you terminate it as set forth below. After your initial subscription period, and again after any subsequent subscription period, your subscription will automatically renew for an additional equivalent period. If you do not wish your subscription to renew automatically, or if you want to change or terminate your subscription, you will need to log in to your relativetome account and follow instructions to terminate or change your subscription, even if you have deleted your account. \")]),_c('p',[_vm._v(\" You agree to pay all fees and applicable taxes incurred by you or anyone using a relativetome account registered to you. relativetome may revise the pricing for the goods and services offered through the Service at any time. All information that you provide in connection with a purchase or transaction or other monetary transaction interaction with the Service must be accurate, complete, and current. You agree to pay all charges incurred by users of your credit card, debit card, or other payment method used in connection with a purchase or transaction or other monetary transaction interaction with the Service at the prices in effect when such charges are incurred. You will pay any applicable taxes, if any, relating to any such purchases, transactions or other monetary transaction interactions. \")])]),_c('li',[_c('h6',[_vm._v(\"Payment Processors\")]),_c('p',[_vm._v(\" All financial transactions made in connection with the Service will be processed by a third party in accordance with their respective terms of use, privacy policy, and/or any applicable payment terms and conditions. We encourage you to learn about the practices of such third party. In no event will relativetome be responsible for the actions or inactions of any third party payment processor, including, but not limited to, system downtime or payment service outages. \")])]),_c('li',[_c('h6',[_vm._v(\"Refund Policy\")]),_c('p',[_vm._v(\" In the event that relativetome suspends or terminates your use of the Service or these Terms and Conditions or you close your account voluntarily, you understand and agree that you will receive no refund or exchange of any kind, including for any Content or data associated with your use of the Service, or for anything else. \")])]),_c('li',[_c('h6',[_vm._v(\"Third-Party Links, Sites, and Services\")]),_c('p',[_vm._v(\" The Service may contain links to third-party websites, advertisers, services, special offers, or other events or activities that are not owned or controlled by relativetome. We do not endorse or assume any responsibility for any such third-party sites, information, materials, products, or services. If you access any third party website, service, or content from relativetome, you understand that these Terms and Conditions and our Privacy Policy do not apply to your use of such sites. You expressly acknowledge and agree that relativetome shall not be responsible or liable, directly or indirectly, for any damage or loss arising from your use of any third-party website, service, or content. \")]),_c('p',[_vm._v(\" The Service may include advertisements, which may be targeted to the Content or information on the Service, or other information. The types and extent of advertising by relativetome on the Service are subject to change. In consideration for relativetome granting you access to and use of the Service, you agree that relativetome and its third party providers and partners may place such advertising in connection with the display of content or information submitted by you or others. \")])]),_c('li',[_c('h6',[_vm._v(\"NO REPRESENTATIONS OR WARRANTIES BY RELATIVETOME\")]),_c('p',[_vm._v(\" THE SERVICE, INCLUDING ALL IMAGES, AUDIO FILES AND OTHER CONTENT THEREIN, AND ANY OTHER INFORMATION, PROPERTY AND RIGHTS GRANTED OR PROVIDED TO YOU BY RELATIVETOME ARE PROVIDED TO YOU ON AN “AS IS” BASIS. RELATIVETOME AND ITS SUPPLIERS MAKE NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE SERVICE, EITHER EXPRESS OR IMPLIED, AND ALL SUCH REPRESENTATIONS AND WARRANTIES, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE EXPRESSLY DISCLAIMED. WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, RELATIVETOME DOES NOT MAKE ANY REPRESENTATION OR WARRANTY OF ANY KIND RELATING TO ACCURACY, SERVICE AVAILABILITY, COMPLETENESS, INFORMATIONAL CONTENT, ERROR-FREE OPERATION, RESULTS TO BE OBTAINED FROM USE, OR NON-INFRINGEMENT. ACCESS AND USE OF THE SERVICE MAY BE UNAVAILABLE DURING PERIODS OF PEAK DEMAND, SYSTEM UPGRADES, MALFUNCTIONS OR SCHEDULED OR UNSCHEDULED MAINTENANCE OR FOR OTHER REASONS. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. \")])]),_c('li',[_c('h6',[_vm._v(\"LIMITATION ON TYPES OF DAMAGES/LIMITATION OF LIABILITY\")]),_c('p',[_vm._v(\" IN NO EVENT WILL RELATIVETOME BE LIABLE TO YOU OR ANY THIRD PARTY CLAIMING THROUGH YOU (WHETHER BASED IN CONTRACT, TORT, STRICT LIABILITY OR OTHER THEORY) FOR INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES ARISING OUT OF OR RELATING TO THE ACCESS OR USE OF, OR THE INABILITY TO ACCESS OR USE, THE SERVICE OR ANY PORTION THEREOF, INCLUDING BUT NOT LIMITED TO THE LOSS OF USE OF THE SERVICE, INACCURATE RESULTS, LOSS OF PROFITS, BUSINESS INTERRUPTION, OR DAMAGES STEMMING FROM LOSS OR CORRUPTION OF DATA OR DATA BEING RENDERED INACCURATE, THE COST OF RECOVERING ANY DATA, THE COST OF SUBSTITUTE SERVICES OR CLAIMS BY THIRD PARTIES FOR ANY DAMAGE TO COMPUTERS, SOFTWARE, MODEMS, TELEPHONES OR OTHER PROPERTY, EVEN IF RELATIVETOME HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. RELATIVETOME'S LIABILITY TO YOU OR ANY THIRD PARTY CLAIMING THROUGH YOU FOR ANY CAUSE WHATSOEVER, AND REGARDLESS OF THE FORM OF THE ACTION, IS LIMITED TO THE AMOUNT PAID, IF ANY, BY YOU TO RELATIVETOME FOR THE SERVICE IN THE 12 MONTHS PRIOR TO THE INITIAL ACTION GIVING RISE TO LIABILITY. THIS IS AN AGGREGATE LIMIT. THE EXISTENCE OF MORE THAN ONE CLAIM HEREUNDER WILL NOT INCREASE THIS LIMIT. \")])]),_c('li',[_c('h6',[_vm._v(\"Termination\")]),_c('p',[_vm._v(\" relativetome may terminate your access and use of the Service immediately at any time, for any reason, and at such time you will have no further right to use the Service. You may terminate your relativetome account at any time by following the instructions available through the Service. The provisions of these Terms and Conditions relating to the protection and enforcement of relativetome's proprietary rights, your representations and warranties, disclaimer of representations and warranties, release and indemnities, limitations of liability and types of damages, ownership of data and information, governing law and venue, and miscellaneous provisions shall survive any such termination. \")])]),_c('li',[_c('h6',[_vm._v(\"Proprietary Rights in Content\")]),_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_c('p',[_vm._v(\" relativetome does not claim any ownership rights in the contents of any text, information, files, images, photos, video, sounds, musical works, works of authorship, or any other materials that you post to the Service, including without limitation, to your profile and to your family tree data (“Family Data”). After posting your Content to the Service, you continue to retain all ownership rights in such Content, and you continue to have the right to use your Content in any way you choose. By inviting other Users to share your Family Data or by displaying or publishing (\\\"posting\\\") any Content on or through the Service, you hereby grant, and you represent and warrant that you have the right to do so and to grant those Users a non-exclusive license to access your Content through the Service, and to use, reproduce, distribute, display and perform such Content as permitted through the functionality of the Service, under this Agreement and your privacy settings. \")])]),_c('li',[_c('p',[_vm._v(\" Except for your Content, the Service and all materials therein or transferred thereby, including, without limitation, software, images, text, graphics, illustrations, logos, patents, trademarks, service marks, copyrights, photographs, audio, videos, and music, and all intellectual property rights related thereto, are the exclusive property of relativetome and its licensors. The Service Content is protected by copyright, trademark, patent, trade secret and other laws, and relativetome owns or licenses and retains all rights in the Service Content and the Service. relativetome hereby grants you a limited, revocable, nonsublicensable, non-transferable license to reproduce and display the Service Content (excluding any software code) solely for your personal non-commercial use in connection with viewing the Service and using the Service in accordance with this Agreement. \")])]),_c('li',[_c('p',[_vm._v(\" The Service contains Content of Users. Except for Content posted by you, or as expressly permitted by the privacy settings of a user, you may not copy, modify, translate, publish, broadcast, transmit, distribute, perform, display, or sell any Content or Website Content appearing on or through the Website. \")])])])]),_c('li',[_c('h6',[_vm._v(\"Trademarks\")]),_c('p',[_vm._v(\" “relativetome” and all other trademarks, service marks, graphics and logos used in connection with the Service are trademarks or service marks of relativetome or their respective owners, and certain of them are registered with the United States Patent and Trademark Office. Access and use of the Service does not grant or provide you with the right or license to reproduce or otherwise use the relativetome name or any relativetome or third-party trademarks, service marks, graphics or logos. \")])]),_c('li',[_c('h6',[_vm._v(\"Privacy\")]),_c('p',[_vm._v(\" Use of the Service is also governed by our Privacy Policy, a copy of which is located at \"),_c('b-link',{attrs:{\"to\":'/info/privacy'}},[_vm._v(\"relativetome.com/info/privacy\")]),_vm._v(\". By using the Service, you consent to the terms of the Privacy Policy \")],1)]),_c('li',[_c('h6',[_vm._v(\"Governing Law\")]),_c('p',[_vm._v(\" These Terms and Conditions, its subject matter and relativetome’s and your respective rights under these Terms and Conditions, as well as and any claim, cause of action or dispute (“claim”) arising out of or related to these Terms and Conditions, shall be governed by and construed under the laws of the Province of British Columbia, Canada, excluding the conflict of law provisions of that or any other jurisdiction, regardless of your country of origin or where you access the Service. \")])]),_c('li',[_c('h6',[_vm._v(\"Language\")]),_c('p',[_vm._v(\" This agreement was originally written in English (Canada). To the extent any translated version of this agreement conflicts with the English version, the English version controls. \")])]),_c('li',[_c('h6',[_vm._v(\"Miscellaneous\")]),_c('p',[_vm._v(\" These Terms and Conditions constitute the entire agreement between relativetome and you concerning the subject matter hereof. In the event that any of the Terms and Conditions are held by a court or other tribunal of competent jurisdiction to be unenforceable, such provisions shall be limited or eliminated to the minimum extent necessary so that these Terms and Conditions shall otherwise remain in full force and effect. A waiver by relativetome or you of any provision of these Terms and Conditions or any breach thereof, in any one instance, will not waive such term or condition or any subsequent breach thereof. relativetome may assign its rights or obligations under these Terms and Conditions without condition. These Terms and Conditions will be binding upon and will inure to the benefit of relativetome and you, and relativetome’s and your respective successors and permitted assigns. \")])])]),_c('i',[_vm._v(\"Last revised on January 21, 2021\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Terms.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Terms.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Terms.vue?vue&type=template&id=54f0a173&\"\nimport script from \"./Terms.vue?vue&type=script&lang=js&\"\nexport * from \"./Terms.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isLoading)?_c('div',{directives:[{name:\"dragscroll\",rawName:\"v-dragscroll.pass\",value:(_vm.allowPanning),expression:\"allowPanning\",modifiers:{\"pass\":true}}],ref:\"familyContainer\",staticClass:\"grab-bing\",attrs:{\"id\":\"tree-view-container\"}},[(_vm.showAncestors)?_c('AncestorGrid',{key:_vm.treeKey,attrs:{\"individual-id\":_vm.individualId}}):_vm._e(),(!_vm.showAncestors)?_c('Child',{key:_vm.treeKey,attrs:{\"individual-id\":_vm.individualId}}):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classAncestorGrid,style:(_vm.gridStyle())},[_vm._l((_vm.ancestryGrid),function(cell){return _c('div',{key:_vm.cellKeyAncestor(cell.rowIndex, cell.columnIndex),style:(_vm.cellStyle(cell.rowIndex, cell.columnIndex))},[(cell.isRenderable)?_c('AncestorCell',{attrs:{\"ancestor-unit\":cell.ancestorUnit,\"is-sibling-area\":false}}):_vm._e()],1)}),_c('div',{style:(_vm.cellStyleSiblings())},[_vm._l((_vm.siblingGrid),function(ancestorUnit,siblingIndex){return [_c('AncestorCell',{key:siblingIndex,attrs:{\"ancestor-unit\":ancestorUnit,\"is-sibling-area\":true}})]})],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classAncestorWrapper},[_c('div',{class:_vm.classChildLineage(_vm.ancestorUnit)}),_c('div',{staticClass:\"ancestor-individual\"},[(_vm.ancestorUnit.individual)?_c('Child',{key:_vm.ancestorUnit.individual.id,attrs:{\"individual-id\":_vm.ancestorUnit.individual.id,\"show-unions\":_vm.showUnions(_vm.ancestorUnit)}}):_vm._e()],1),_c('div',{class:_vm.classParentLineage(_vm.ancestorUnit)})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classesChildContainer},[_c('div',{class:_vm.classesTitle},[_c('Individual',{class:_vm.classIndividual(false),attrs:{\"individual-id\":_vm.individualId}}),(_vm.hasUnions && _vm.hasSpouse(_vm.unions[0]))?_c('Individual',{class:_vm.classIndividual(true),attrs:{\"individual-id\":_vm.unions[0].spouse.id}}):_vm._e()],1),_vm._l((_vm.unions),function(union,u){return _c('fragment',{key:union.id},[(_vm.hasSpouse(union))?_c('div',{key:union.orderKey,staticClass:\"relationship-container\"},[_c('table',[(u!==0)?_c('tr',[_vm._l((_vm.spacerCount(u)),function(n){return _c('td',{key:n,staticClass:\"relationship-spacer\"})}),_c('td',{staticClass:\"relationship-next\"},[(_vm.hasSpouse(union))?_c('Individual',{staticClass:\"spouse-next float-right text-right\",attrs:{\"individual-id\":union.spouse.id}}):_vm._e()],1)],2):_vm._e(),_c('tr',[_vm._l((_vm.spacerCount(u)),function(n){return _c('td',{key:n,staticClass:\"relationship-spacer\"})}),_c('td',{staticClass:\"relationship-details\",domProps:{\"innerHTML\":_vm._s(_vm.unionDetails(union))},on:{\"click\":function($event){return _vm.onShowUnionDetails(union.id)}}})],2)])]):_vm._e(),(_vm.showOffspring(union))?_c('table',{staticClass:\"offspring-container\"},_vm._l((union.kids),function(kid,k){return _c('fragment',{key:kid.id},[_c('tr',[_vm._l((_vm.spacerCount(u)),function(n){return _c('td',{key:n,staticClass:\"offspring-spacer\"})}),_c('td',{staticClass:\"offspring-top\"}),_c('td',{attrs:{\"rowspan\":\"2\"}},[_c('Child',{attrs:{\"individual-id\":kid.id,\"generation\":_vm.offspringGeneration,\"show-unions\":_vm.showUnions}})],1)],2),_c('tr',[_vm._l((_vm.spacerCount(u)),function(n){return _c('td',{key:n,staticClass:\"offspring-spacer\"})}),_c('td',{class:{ 'offspring-more': _vm.hasMoreKids(union, k) }})],2)])}),1):_vm._e()])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"individual-container\",on:{\"click\":_vm.onShowDetails}},[_c('individual-name',{attrs:{\"individual-id\":_vm.individualId,\"is-in-tree\":true}}),_c('individual-summary',{attrs:{\"individual-id\":_vm.individualId,\"is-in-tree\":true}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Individual.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Individual.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Individual.vue?vue&type=template&id=58a77882&\"\nimport script from \"./Individual.vue?vue&type=script&lang=js&\"\nexport * from \"./Individual.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import _ from 'lodash'\r\nimport * as cultureUtils from '@/logic/culture/cultureUtils'\r\nimport * as familyFactUtils from '@/logic/family/familyFactUtils'\r\n\r\nexport function getDetails(union,language) {\r\n const marriageEvent = familyFactUtils.getGroupMemberByCodeFirst(union, 'events','MARR')\r\n const divorceEvent = familyFactUtils.getGroupMemberByCodeFirst(union, 'events','DIV')\r\n\r\n const start = cultureUtils.formatDate(_.get(marriageEvent, 'date.date'), language)\r\n const end = cultureUtils.formatDate(_.get(divorceEvent, 'date.date'), language)\r\n\r\n if (start && end)\r\n return `${start} - ${end} `\r\n else \r\n return start || end || ' '\r\n}","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Child.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Child.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Child.vue?vue&type=template&id=872f826a&\"\nimport script from \"./Child.vue?vue&type=script&lang=js&\"\nexport * from \"./Child.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AncestorCell.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AncestorCell.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AncestorCell.vue?vue&type=template&id=03cd35d6&\"\nimport script from \"./AncestorCell.vue?vue&type=script&lang=js&\"\nexport * from \"./AncestorCell.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class AncestorUnit {\r\n generationId = 0\r\n individual = null\r\n isBetweenParents = false\r\n isOrphan = false\r\n isParent = false\r\n hasMoreChildren = false\r\n}","export default class Generation {\r\n endRow = () => { \r\n if (this.households.length === 0) {\r\n return Number.MIN_SAFE_INTEGER\r\n } else {\r\n return Math.max(...this.households.map(x => x.endRow()))\r\n }\r\n }\r\n households = []\r\n nextAvailableRow = () => {\r\n if (this.households.length === 0) {\r\n return Number.MIN_SAFE_INTEGER\r\n } else {\r\n // We can't allow overlaps with another household group above\r\n const lastHousehold = this.households[this.households.length - 1]\r\n const lastHouseholdEndRow = lastHousehold.endRow()\r\n const childHouseholdEndRow = lastHousehold.childHousehold ? lastHousehold.childHousehold.endRow() : Number.MIN_SAFE_INTEGER\r\n\r\n return Math.max(lastHouseholdEndRow, childHouseholdEndRow) + 1;\r\n }\r\n }\r\n}\r\n","import * as familyUtils from '@/logic/family/familyUtils'\r\n\r\nexport default class Household {\r\n focusIndividual = null\r\n focusIndividualOffset = 0\r\n parents = []\r\n parentHouseholds = []\r\n siblings = []\r\n startRow = 0\r\n endRow = () => { return this.startRow + this.siblings.length - 1 }\r\n endAncestorsRow = () => { return Math.max(this.endRow(), ...this.parentHouseholds.map(x => x.endRow())) }\r\n\r\n constructor(familyData, focusIndividual) {\r\n this.focusIndividual = focusIndividual\r\n\r\n // For duplicate individuals we are not going to develop their ancestors. Ignore parents and other siblings\r\n if (!focusIndividual.isDuplicate) {\r\n this.parents = familyUtils.getParents(familyData, focusIndividual)\r\n\r\n if (focusIndividual.familyParents && focusIndividual.familyParents.length > 0) {\r\n // Include the focus individual and all their siblings within the household's siblings\r\n this.siblings = familyUtils.getParentsChildren(familyData, focusIndividual)\r\n } \r\n }\r\n\r\n // If the individual does not have any siblings due to not having parents or their is bad data in the parents then set this person as the only child in the household.\r\n if (this.siblings.length === 0) {\r\n this.siblings = [focusIndividual]\r\n }\r\n }\r\n}","import AncestorUnit from \"@/models/AncestorUnit\"\r\nimport Generation from \"@/models/Generation\"\r\nimport Household from \"@/models/Household\"\r\nimport * as individualUtils from '@/logic/family/individualUtils'\r\n\r\nexport default class AncestorFactory {\r\n ancestryGrid = []\r\n firstSiblingRow = Number.MAX_SAFE_INTEGER\r\n generations = []\r\n maxGenerations = 0\r\n maxColumn = -1\r\n maxRow = 0\r\n minRow = 0\r\n siblingGrid = []\r\n ancestorsFound = {}\r\n duplicateAncestorCount = 0\r\n\r\n constructor(familyData, individualId, maxGenerations = 1){\r\n this.familyData = familyData\r\n this.individualId = individualId\r\n this.maxGenerations = maxGenerations\r\n this.individual = individualUtils.getIndividual(this.familyData, this.individualId)\r\n this.generateAncestryGrids()\r\n }\r\n\r\n // This grid is one primary indiviual per cell. When time comes to render this will rendered as more cells to accomodate the lines\r\n // In each cell within this grid we are going to indicate how these cells are going to be rendered later on. When \r\n // rendered, we need to indicate the lines that will be drawn on the left\r\n buildAncestryGrid () {\r\n const gridAncestors = []\r\n const gridSiblings = []\r\n this.generations.reverse() // This puts the first generation on the right.\r\n\r\n this.generations.forEach((generation,index) => {\r\n const rows = []\r\n\r\n generation.households.forEach((household) => {\r\n const first = household.startRow\r\n const last = household.endRow()\r\n const parentInformation = this.buildParentInformation(generation, household)\r\n\r\n for (let n = first; n <= last; n++) {\r\n const cellA = new AncestorUnit()\r\n cellA.generationId = generation.generationId\r\n cellA.individual = household.siblings[n - household.startRow]\r\n cellA.isOrphan = household.parents.length === 0\r\n cellA.isParent = generation.generationId > 0 && cellA.individual.id === household.focusIndividual.id // If this individual is one of the parents of the child household, indicate that here\r\n cellA.hasMoreChildren = n < last\r\n\r\n // Parent Continuation within the household\r\n if (parentInformation.parentHouseholds.length == 2) {\r\n if (parentInformation.isFirstParentHousehold) {\r\n cellA.isBetweenParents = n >= household.startRow + household.focusIndividualOffset\r\n } else if (parentInformation.isSecondParentHousehold) {\r\n cellA.isBetweenParents = n < household.startRow + household.focusIndividualOffset\r\n }\r\n }\r\n\r\n // If this is generation 0, let's also store the individuals in the sibling grid. Rendering will be handled differently for these guys\r\n // Otherwise, put it in the ancestor grid\r\n if (cellA.generationId === 0) {\r\n if (n < this.firstSiblingRow)\r\n this.firstSiblingRow = n\r\n\r\n gridSiblings.push(cellA)\r\n\r\n } else {\r\n rows[n] = cellA\r\n }\r\n }\r\n\r\n // We need to do parent continuation between households. We do this at the end of the first household\r\n if (parentInformation.parentHouseholds.length == 2 && parentInformation.isFirstParentHousehold) {\r\n for (let i = parentInformation.parentHouseholds[0].endRow() + 1; i <= parentInformation.parentHouseholds[1].startRow - 1 ; i++) {\r\n const cellB = new AncestorUnit()\r\n cellB.generationId = generation.generationId\r\n cellB.isBetweenParents = true\r\n rows[i] = cellB\r\n }\r\n }\r\n })\r\n\r\n gridAncestors.push(rows)\r\n })\r\n\r\n const rotated = this.rotate(gridAncestors)\r\n this.ancestryGrid = this.flatten(rotated)\r\n this.siblingGrid = gridSiblings\r\n }\r\n\r\n // This is a single household made up of up to two parents and 1 or more children. It also could be a single person \r\n // if there are no parents.\r\n buildHousehold(focusIndividual, generationId, childHousehold, isFirstParent) {\r\n // Check to see if the focus individual has been duplicated. This can happen for large old families where your mother and father could be related through some very distant great-great-great-grandparent.\r\n if (focusIndividual.id in this.ancestorsFound) {\r\n focusIndividual.isDuplicate = true\r\n const duplicateId = this.ancestorsFound[focusIndividual.id]\r\n this.ancestorsFound[focusIndividual.id] = duplicateId === 0 ? ++this.duplicateAncestorCount : duplicateId\r\n } else {\r\n this.ancestorsFound[focusIndividual.id] = 0\r\n focusIndividual.isDuplicate = false\r\n }\r\n\r\n const household = new Household(this.familyData, focusIndividual)\r\n const nextAvailableRow = this.buildGeneration(household, generationId)\r\n\r\n // If this is a parent's household, add it to the childHousehold to assist in postioning later on.\r\n if (childHousehold) {\r\n household.childHousehold = childHousehold\r\n childHousehold.parentHouseholds.push(household)\r\n }\r\n\r\n // Find out how far down the list of siblings is our focus individual. The oldest sibling should have 0\r\n household.focusIndividualOffset = household.siblings.findIndex((individual) => individual.id === focusIndividual.id)\r\n \r\n // Simple postioning\r\n if (generationId == 0) {\r\n // Generation 0 is always positioned in a fixed position\r\n household.startRow = 0\r\n } else if (isFirstParent) {\r\n // If this is the first household of the generation, we can shift the household up to match the parent to the first sibling.\r\n this.positionFirstParent(household, nextAvailableRow)\r\n } else {\r\n // If this is the second parent, we can move the household down to match the parent with the last sibling in the child household.\r\n this.positionSecondParent(household)\r\n } \r\n\r\n // Build the parent's households but only if that does not exceed our maximum number of generations\r\n if (generationId < this.maxGenerations) {\r\n household.parents.forEach((parent, index) => {\r\n this.buildHousehold(parent, generationId + 1, household, index === 0);\r\n\r\n if (index === 0) {\r\n // Shift the child down after creating the first parent to match.\r\n this.positionChildHousehold(household)\r\n }\r\n })\r\n }\r\n }\r\n\r\n buildParentInformation(generation, household) {\r\n const parentInformation = {\r\n hasFirstParentHousehold: false,\r\n hasSecondParentHousehold: false,\r\n isFirstParentHousehold: false,\r\n isSecondParentHousehold: false,\r\n parentHouseholds: []\r\n }\r\n\r\n if (generation.generationId > 0) {\r\n const parentHouseholds = household.childHousehold.parentHouseholds\r\n parentInformation.parentHouseholds = parentHouseholds\r\n\r\n if (parentHouseholds.length > 0) {\r\n parentInformation.hasFirstParentHousehold = true\r\n parentInformation.isFirstParentHousehold = parentHouseholds[0] === household\r\n }\r\n\r\n if (parentHouseholds.length == 2) {\r\n parentInformation.hasSecondParentHousehold = true\r\n parentInformation.isSecondParentHousehold = parentHouseholds[1] === household\r\n }\r\n }\r\n\r\n return parentInformation\r\n }\r\n\r\n flatten(rotatedGrid) {\r\n const flattenedGrid = []\r\n let n = -1\r\n let count = 0\r\n\r\n // Excludes generation 0 in each row.\r\n // Design note. The flattening of the array happens here instead of above in the template as a double v-for loop because that method\r\n // caused a stack overflow in some complex families.\r\n rotatedGrid.forEach((row, rowIndex) => {\r\n row.slice(0,row.length-1).forEach((ancestorUnit, columnIndex) => {\r\n flattenedGrid[++n] = { \r\n ancestorUnit: ancestorUnit, \r\n isRenderable: ancestorUnit ? true : false,\r\n rowIndex, \r\n columnIndex \r\n }\r\n\r\n if (columnIndex > this.maxColumn) this.maxColumn = columnIndex\r\n if (ancestorUnit) count++\r\n })\r\n })\r\n\r\n console.log(`Individuals in ancestor grid: ${count}`)\r\n return flattenedGrid\r\n }\r\n\r\n generateAncestryGrids() {\r\n this.buildHousehold(this.individual, 0, null)\r\n this.shiftdown()\r\n this.buildAncestryGrid()\r\n }\r\n\r\n positionChildHousehold(household) {\r\n // When we return to the child household after creating the first parent household, we may need to push the child household down.\r\n // This is because the parent household could not have been placed properly or may have itself been shifted down as we added ancestor households\r\n // We are going position the start row, the first sibling, at the first parent.\r\n const parentHousehold = household.parentHouseholds[0]\r\n household.startRow = parentHousehold.startRow + parentHousehold.focusIndividualOffset\r\n }\r\n\r\n positionFirstParent(household, nextAvailableRow) {\r\n // We will shift up the parent's household so the parent matches the first row of the children. If this is the first household of the generation\r\n // we are not restricted by how high we shift up; however, at any other time, we need to get that maximum value from the generation\r\n const childHouseholdStart = household.childHousehold.startRow\r\n household.startRow = Math.max(childHouseholdStart - household.focusIndividualOffset, nextAvailableRow)\r\n\r\n // We need to record the lowest row so that we can shift everything down afterwards\r\n if (household.startRow < this.minRow)\r\n this.minRow = household.startRow\r\n }\r\n\r\n positionSecondParent(household) {\r\n // Initially, place this household directly under the first parent's household.\r\n // If that first parent has numerous ancestors we need to place it under the last one of those\r\n const childHousehold = household.childHousehold\r\n household.startRow = childHousehold.parentHouseholds[0].endAncestorsRow() + 1\r\n\r\n // We will then try to shift down the parent's household so the parent matches the \r\n // last row of the children. If the parent is already below the last child row, we will not move it.\r\n const minimum = childHousehold.endRow() - household.focusIndividualOffset\r\n\r\n if (household.startRow < minimum)\r\n household.startRow = minimum\r\n } \r\n\r\n rotate(grid) {\r\n // We build the grid with generation in the first dimension and rows in the second dimension. To render we need the rows to be the first\r\n // dimension and columns to to be the second\r\n const rotatedGrid = []\r\n\r\n for (let c = 0; c < grid.length; c++) {\r\n for (let r = 0; r <= this.maxRow; r++) {\r\n if (c===0) {\r\n rotatedGrid[r] = []\r\n }\r\n\r\n rotatedGrid[r][c] = grid[c][r]\r\n }\r\n }\r\n\r\n return rotatedGrid\r\n }\r\n\r\n buildGeneration(household, generationId) {\r\n if (!this.generations[generationId]) {\r\n this.generations[generationId] = new Generation()\r\n }\r\n\r\n const generation = this.generations[generationId]\r\n const nextAvailableRow = generation.nextAvailableRow()\r\n generation.generationId = generationId\r\n generation.households.push(household)\r\n\r\n return nextAvailableRow\r\n }\r\n\r\n shiftdown() {\r\n // The households may have been created below zero. We must shift everything down so that no household will exist below row 0.\r\n if (this.minRow < 0) {\r\n const shift = 0 - this.minRow\r\n this.minRow = 0\r\n\r\n for (const generation of this.generations) {\r\n for (const household of generation.households) {\r\n household.startRow += shift\r\n }\r\n }\r\n }\r\n\r\n this.maxRow = Math.max(0, ...this.generations.map(x => x.endRow()))\r\n }\r\n}\r\n","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AncestorGrid.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AncestorGrid.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AncestorGrid.vue?vue&type=template&id=240ad924&\"\nimport script from \"./AncestorGrid.vue?vue&type=script&lang=js&\"\nexport * from \"./AncestorGrid.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Bowser from 'bowser'\r\n\r\nconst mobileOS = ['iOS','Android','BlackBerry','Windows Phone']\r\n\r\nexport function allowDragScroll() {\r\n const browser = Bowser.parse(window.navigator.userAgent)\r\n const os = browser.os.name\r\n return browser ? !mobileOS.find(e => os === e) : false\r\n}","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tree.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tree.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tree.vue?vue&type=template&id=a9386596&\"\nimport script from \"./Tree.vue?vue&type=script&lang=js&\"\nexport * from \"./Tree.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\nimport AccountSettings from './views/AccountSettings'\r\nimport ContactUs from './views/ContactUs'\r\nimport EmailManageSettings from './views/EmailManageSettings'\r\nimport EmailVerify from './views/EmailVerify'\r\nimport ErrorAuthorization from './views/ErrorAuthorization'\r\nimport ErrorRoute from './views/ErrorRoute'\r\nimport ErrorStackOverflow from './views/ErrorStackOverflow'\r\nimport ErrorUnexpected from './views/ErrorUnexpected'\r\nimport FamilyDetails from './views/FamilyDetails'\r\nimport FamilyIndividualList from './views/FamilyIndividualList'\r\nimport FamilyInvitations from './views/FamilyInvitations'\r\nimport FamilyManagement from './views/FamilyManagement'\r\nimport FamilySelection from './views/FamilySelection'\r\nimport Home from './views/Home'\r\nimport PasswordReset from './views/PasswordReset'\r\nimport Privacy from './views/Privacy'\r\nimport SiteAdministrationReimportAll from './views/SiteAdministrationReimportAll'\r\nimport Terms from './views/Terms'\r\nimport Tree from './views/Tree'\r\n\r\nVue.use(Router)\r\n\r\nconst router = new Router({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: '/bob',\r\n beforeEnter: (to, from, next) => {\r\n const link = document.createElement('a');\r\n link.download = `Family Tree - bob.png`;\r\n link.href = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAOCAYAAAA8E3wEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH5QkVFTIru6sp5wAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAABZElEQVQ4jeWUsUrDUBSGv4qP0IDgIqF0yCR26CDULA7OLYV2DBn6BIJip0IrnR0cMohDC9LMFR2M2Tq0OGUINbgIgfgOcchNa5MSOmXxLPfe/5x7/v/cc7iFMAxDcrS9aPmgX1aQywqa+ZMHYX72TwkDs4MseiqXhywy/Qry8GPt9E00gffn8Wx0ePIFYTIZ0xuqV/Yf4IGGbhKI02KoJPyA0d4kjeFWGyNZ4fN8E7BsmYnr4LkOs0EtAu1X3vxI/Z3IoI+jGM/uoQIYL6mXoNZj5jp47j3NgwjaT8aoA40TsZdOz1GxsbBZfgN8Yq3UKwn1Hkuf1V0A9eIMKVlhkjDLgi8vwxuLWlvpqJiKSlVoTd8J6nUkYPHYFRXVKB2ChAxE/dPHDteVLbx+tuh0hXaXqpiyRvxmeifqQUXjVrTVaCkbk7rrD5UiVAejVdKIbIR3eSwORZqGw0TfKfdWK+T9ef8CccV5s6eiyYMAAAAASUVORK5CYII=\"\r\n link.dataset.downloadurl = [\"image/png\", link.download, link.href].join(':');\r\n\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n next(false)\r\n }\r\n },\r\n {\r\n path: '/error/authorization',\r\n name: 'Authorization Error',\r\n component: ErrorAuthorization,\r\n meta: {\r\n title: 'Error - Authorization'\r\n }\r\n },\r\n {\r\n path: '/error/stackOverflow',\r\n name: 'Stack Overflow Error',\r\n component: ErrorStackOverflow,\r\n meta: {\r\n title: 'Error - Overflow'\r\n }\r\n },\r\n {\r\n path: '/error/unexpected',\r\n name: 'Unexpected Error',\r\n component: ErrorUnexpected,\r\n meta: {\r\n title: 'Error - Unexpexted'\r\n }\r\n },\r\n {\r\n path: '/',\r\n name: 'Home',\r\n component: Home,\r\n meta: {\r\n title: 'Home',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'This site allows you to display large and complex family trees quickly and in a manner suitable for printing. A must tool to use before your next family reunion.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/admin/accountSettings',\r\n name: 'Account Settings',\r\n component: AccountSettings,\r\n meta: {\r\n title: 'Account Settings',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'View and change your account.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/admin/family/invitations',\r\n name: 'Family Invitations',\r\n component: FamilyInvitations,\r\n meta: {\r\n title: 'Family Invitations',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'View outstanding invitations to view private families belonging to other people.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/admin/family/management',\r\n name: 'Family Management',\r\n component: FamilyManagement,\r\n meta: {\r\n title: 'Family Management',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Manage private families you are authorized to. New private families can be created here.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/siteAdmin/reimportAll',\r\n name: 'Reimport All',\r\n component: SiteAdministrationReimportAll,\r\n meta: {\r\n title: 'Reimport All',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Reimport all families.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/admin/family/:familyId',\r\n name: 'adminFamilyDetails',\r\n component: FamilyDetails,\r\n meta: {\r\n title: 'Family Details',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'View details for this private family. Make changes appropriate to your authorization level.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/family/selection',\r\n name: 'Family Selection',\r\n component: FamilySelection,\r\n meta: {\r\n title: 'Family Selection',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Select a new family from a list of public and private families available.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/info/contactUs',\r\n name: 'Contact Us',\r\n component: ContactUs,\r\n meta: {\r\n title: 'Contact Us',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'This site allows you to display large and complex family trees quickly and in a manner suitable for printing. A must tool to use before your next family reunion.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/info/terms',\r\n name: 'terms',\r\n component: Terms,\r\n meta: {\r\n title: 'Terms',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Our terms of service for the Relative To Me website.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/info/privacy',\r\n name: 'Privacy',\r\n component: Privacy,\r\n meta: {\r\n title: 'Privacy',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Our privacy policy.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/emailManageSettings/:manageEmailToken',\r\n name: 'Manage Email Settings',\r\n component: EmailManageSettings,\r\n meta: {\r\n title: 'Manage Email Settings',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'Manage your email settings for this website.'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/security/passwordReset/',\r\n name: 'Password Reset',\r\n component: PasswordReset,\r\n meta: {\r\n title: 'Password Reset'\r\n }\r\n },\r\n {\r\n path: '/security/emailVerify/',\r\n name: 'Verify Email',\r\n component: EmailVerify,\r\n meta: {\r\n title: 'Verify Email'\r\n }\r\n },\r\n {\r\n path: '/tree/:familyId/:familySEO/:individualId/:individualSEO',\r\n name: 'Individual Tree',\r\n component: Tree,\r\n skipMetaLoadInBeforeEach: true,\r\n meta: {\r\n title: 'INDIVIDUAL_TITLE - Relative To Me',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'INDIVIDUAL_DESCRIPTION'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '/tree/:familyId/:familySEO',\r\n name: 'Family',\r\n component: FamilyIndividualList,\r\n skipMetaLoadInBeforeEach: true,\r\n meta: {\r\n title: 'FAMILY_TITLE - Relative To Me',\r\n metaTags: [\r\n {\r\n name: 'description',\r\n content: 'FAMILY_DESCRIPTION'\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n path: '*',\r\n name: 'Routing Error',\r\n component: ErrorRoute,\r\n meta: {\r\n title: 'Error - Routing'\r\n }\r\n }\r\n ]\r\n})\r\n\r\nexport default router","import { setHeaderTags } from '@/logic/seo/headerUtils'\r\n\r\n// Prevent 'NavigationDuplicated' error\r\n// https://stackoverflow.com/a/63263736/1864995\r\nexport function patchRouterMethod(router, methodName)\r\n{\r\n router['old' + methodName] = router[methodName]\r\n router[methodName] = async function (location)\r\n {\r\n return router['old' + methodName](location).catch((error) =>\r\n {\r\n if (error.name === 'NavigationDuplicated')\r\n {\r\n return this.currentRoute\r\n }\r\n throw error\r\n })\r\n }\r\n}\r\n\r\n// Thanks to: https://www.digitalocean.com/community/tutorials/vuejs-vue-router-modify-head\r\nexport function beforeEachGlobal(to, from, next) \r\n{\r\n if (!to.skipMetaLoadInBeforeEach) {\r\n setHeaderTags(to)\r\n }\r\n \r\n console.log(`Route: ${to.path}`)\r\n next()\r\n}\r\n","export default {\r\n}","export default {\r\n\r\n}","export default {\r\n\r\n}","import * as shortUUID from 'short-uuid'\r\nimport * as apiUtils from '@/logic/general/apiUtils'\r\nimport * as authenticationUtils from '@/logic/general/authenticationUtils'\r\nimport staticConfig from '@/staticConfig'\r\n\r\nexport default {\r\n forceReaction(context) {\r\n context.commit('incrementVersion')\r\n },\r\n\r\n logoff(context, vm) {\r\n if (vm.$auth) vm.$auth.removeToken()\r\n \r\n context.commit('clearAccessToken')\r\n context.commit('clearTimers')\r\n localStorage.setItem('ls-ctss', shortUUID.generate()) \r\n vm.$gapi.logout() // Log out of any google sessions if they happen to exist.\r\n },\r\n\r\n processAccessToken(context, vm) {\r\n const {commit, dispatch} = context \r\n const jwt = vm.$auth.getPayload()\r\n commit('clearTimers')\r\n\r\n if (jwt) {\r\n context.commit('setAccessToken', jwt)\r\n\r\n // Access token found\r\n const exp = jwt.exp\r\n const now = Date.now() / 1000\r\n const timeUntilExpiry = exp - now\r\n const timeUntilRefresh = exp - now - staticConfig.tokenRefreshPreexpirySeconds\r\n\r\n // Expiry\r\n if (timeUntilExpiry > 0) {\r\n // If the expiry is in the future. Schedule a reaction one millisecond afterwards\r\n // In theory, this should never be hit as the refresh token logic should happen taticConfig.tokenRefreshPreexpirySeconds prior \r\n const expiryTimer = setTimeout(() => dispatch('forceReaction'), (timeUntilExpiry * 1000) + 1)\r\n commit('setExpiryTimer', expiryTimer)\r\n } \r\n\r\n // Refresh token\r\n if (timeUntilRefresh > 0) {\r\n // The time is far enough into the future so schedule the refresh\r\n const refreshTimer = setTimeout(() => dispatch('refreshAccessToken',vm), timeUntilRefresh * 1000)\r\n commit('setRefreshTimer', refreshTimer)\r\n } else {\r\n // The access token has already expired or will expire very shortly. Do the refresh immediately. Return the promise\r\n return dispatch('refreshAccessToken',vm)\r\n }\r\n } else {\r\n context.commit('clearAccessToken')\r\n } \r\n },\r\n\r\n refreshAccessToken({commit, dispatch}, vm) {\r\n return new Promise((resolve, reject) => {\r\n commit('setRefreshTimer', null)\r\n\r\n // Send the refresh request.\r\n // Note: This strange syntax forces the creation the authentication instance prior to the post request so that the interceptor inserts the bearer token. \r\n // This is necessary when this method is called prior to any other reference to $auth. This will happen when the application is loaded.\r\n vm.$auth.$http.post(apiUtils.buildAPIUrl('account/refresh'))\r\n .then(response => {\r\n const {data} = response\r\n\r\n if (data.errorCode) {\r\n // Refresh token is invalid. Logoff\r\n console.info(`Token refresh failed. errorCode: ${data.errorCode} reason: ${data.reason}`)\r\n dispatch('logoff',vm)\r\n\r\n if (data.promptRelogin === true) {\r\n vm.$bvModal.show('authenticationModal')\r\n }\r\n } else {\r\n vm.$auth.storageType = authenticationUtils.determineStorageLocation(data.stayLoggedIn)\r\n vm.$auth.setToken(data)\r\n dispatch('signalNewAccessToken',vm)\r\n }\r\n })\r\n .catch(error => {\r\n const postState = error.postState\r\n\r\n if (postState.errorType === apiUtils.APIErrorTypes.NETWORK) {\r\n // If this is a network error, we will try again in 30 seconds\r\n const refreshTimer = setTimeout(() => dispatch('refreshAccessToken',vm), staticConfig.tokenRefreshNetworkFailureRetrySeconds * 1000)\r\n commit('setRefreshTimer', refreshTimer)\r\n } else {\r\n // Refresh token is invalid. Logoff\r\n console.info(`Token refresh failed; reason Unknown.`)\r\n dispatch('logoff',vm)\r\n }\r\n })\r\n .finally(() => {\r\n // Force vue to be reactive to the new security state.\r\n // This may not be needed here but is a fail safe.\r\n dispatch('forceReaction')\r\n\r\n // One way or the other we resolve the dispatch promise. If there was a network error, the user will continue on with\r\n // whatever authority they already have on the client. In some cases, this might have the effect of being logged off even if they have a valid refresh\r\n // token; however, this should be rare.\r\n resolve()\r\n })\r\n })\r\n },\r\n\r\n signalNewAccessToken({dispatch}, vm) {\r\n localStorage.setItem('ls-ctss', shortUUID.generate())\r\n dispatch('processAccessToken',vm)\r\n }\r\n}","import * as authenticationUtils from '@/logic/general/authenticationUtils'\r\nimport { accountProviderText } from '@/logic/enums'\r\n\r\n// To be fully authenticated the token must exist and not be expired and the email must be verified \r\n// To be partially authenticated only the token must exist and not be expired.\r\nexport default {\r\n accountProvider: (state) => {\r\n return state.jwt[\"provider\"]\r\n },\r\n accountProviderText: (state) => {\r\n return accountProviderText(state.jwt[\"provider\"])\r\n },\r\n isLoggedIn: (state) => {\r\n state.forceAuthenticationReactivity // Used to force reactivity. See /store/authentication/state.js\r\n return authenticationUtils.isAuthenticated(state.jwt)\r\n },\r\n isLoggedInFully: (state) => {\r\n state.forceAuthenticationReactivity // Used to force reactivity. See /store/authentication/state.js\r\n return authenticationUtils.isAuthenticated(state.jwt) && state.jwt.email_verified \r\n },\r\n isLoggedInUnverified: (state) => {\r\n state.forceAuthenticationReactivity // Used to force reactivity. See /store/authentication/state.js\r\n return authenticationUtils.isAuthenticated(state.jwt) && !(state.jwt.email_verified || false)\r\n },\r\n isSiteAdministrator: (state) => {\r\n state.forceAuthenticationReactivity // Used to force reactivity. See /store/authentication/state.js\r\n \r\n if (authenticationUtils.isAuthenticated(state.jwt)) {\r\n const role = state.jwt.role\r\n\r\n if (role) {\r\n if (Array.isArray(role)) {\r\n return role.includes('Admin')\r\n } else {\r\n return role === 'Admin'\r\n }\r\n }\r\n } \r\n \r\n return false\r\n },\r\n hasSubscription: (state) => {\r\n state.forceAuthenticationReactivity // Used to force reactivity. See /store/authentication/state.js\r\n\r\n if (state.jwt[\"subscription\"]) {\r\n const expiry = state.jwt[\"subscription\"] / 1000\r\n return Date.now() > expiry\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","export default {\r\n clearAccessToken (state) {\r\n state.forceAuthenticationReactivity++\r\n state.jwt = null\r\n },\r\n clearTimers (state) {\r\n if (state.expiryTimer) {\r\n clearTimeout(state.expiryTimer)\r\n state.expiryTimer = null\r\n }\r\n\r\n if (state.refreshTimer) {\r\n clearTimeout(state.refreshTimer)\r\n state.refreshTimer = null\r\n }\r\n },\r\n incrementVersion (state) {\r\n state.forceAuthenticationReactivity++\r\n },\r\n setAccessToken (state, jwt) {\r\n state.forceAuthenticationReactivity++\r\n state.jwt = jwt\r\n },\r\n setExpiryTimer (state, expiryTimer) {\r\n clearTimeout(state.expiryTimer)\r\n state.expiryTimer = expiryTimer\r\n },\r\n setRefreshTimer (state, refreshTimer) {\r\n clearTimeout(state.refreshTimer)\r\n state.refreshTimer = refreshTimer\r\n }\r\n}","// Used to force recomputation. \r\n// https://logaretm.com/blog/2019-10-11-forcing-recomputation-of-computed-properties/\r\nexport default {\r\n forceAuthenticationReactivity: 0,\r\n expiryTimer: null,\r\n jwt: null,\r\n refreshTimer: null\r\n}","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport actions from './actions'\r\nimport getters from './getters'\r\nimport mutations from './mutations'\r\nimport state from './state'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default {\r\n namespaced: true,\r\n actions,\r\n getters,\r\n mutations,\r\n state\r\n}","import { buildIndividualNameSearchMap, loadIndividuals } from '@/logic/family/individualNameSearchSet'\r\nimport * as apiUtils from '@/logic/general/apiUtils'\r\nimport * as urlUtils from '@/logic/general/urlUtils'\r\nimport { base64GzippedToObj} from '@/logic/general/gzipUtils'\r\n\r\nexport default {\r\n loadDefaultFamily(context, vm) {\r\n context.commit('familyStartLoad')\r\n\r\n const routeFamilyId = vm.$route.params.familyId\r\n const storedFamilyId = localStorage.getItem('ls-fi')\r\n const storedFamilyDataHash = localStorage.getItem('ls-fdh')\r\n const familyId = routeFamilyId ?? storedFamilyId\r\n\r\n vm.$store.dispatch('viewState/resetModalIds')\r\n const params = {\r\n familyId: familyId,\r\n familyDataHash: storedFamilyDataHash\r\n }\r\n vm.axios.get(apiUtils.buildAPIUrl('family/default'), { params })\r\n .then(response => {\r\n const family = response.data\r\n\r\n // If the url does not match the default family returned (not logged in, not authorized, no longer exists), navigate to the new family\r\n if (routeFamilyId && family.familyId !== routeFamilyId) {\r\n const pathNew = urlUtils.getFamilyURL(family.familyId, family.familyName)\r\n vm.$router.push(pathNew)\r\n }\r\n\r\n vm.$store.dispatch('family/setFamily', {vm, family})\r\n })\r\n .catch(error => {\r\n setTimeout(() => {context.dispatch('loadDefaultFamily', vm)}, 10000) \r\n })\r\n },\r\n\r\n loadFamily(context, { vm, familyId }) {\r\n return new Promise((resolve, reject) => {\r\n context.commit('familyStartLoad')\r\n vm.$store.dispatch('viewState/resetModalIds')\r\n vm.axios.get(apiUtils.buildAPIUrl(`family/${familyId}`))\r\n .then(response => {\r\n const family = response.data\r\n vm.$store.dispatch('family/setFamily', {vm, family} )\r\n resolve()\r\n })\r\n .catch(error => {\r\n context.commit('familyStopLoad')\r\n reject(error)\r\n })\r\n })\r\n },\r\n\r\n postUpdateReload(context, { vm, familyId }) {\r\n if (context.state.familyId === familyId) {\r\n vm.$store.dispatch('family/loadFamily', { vm, familyId })\r\n }\r\n },\r\n \r\n setFamily(context, { vm, family} ) {\r\n // If the stored hash matches the family in the database, this should mean that the copy stored in the database is the same as the one stored in local storage\r\n // When that happens, the server does not return the data from the server and instead sets the flag \"useLocal\". In this case we use the value \r\n // stored in local storage. If the local storage value has been deleted, we use an empty object instead.\r\n const storedfamilyDataCompressed = localStorage.getItem('ls-fdc')\r\n const familyDataCompressed = (family.useLocal ? storedfamilyDataCompressed : family.familyDataCompressed) || 'H4sIAAAAAAAACquuBQBDv6ajAgAAAA==' \r\n\r\n base64GzippedToObj(familyDataCompressed)\r\n .then(fd => {\r\n family.familyData = Object.freeze(fd) // We are freezing the object so that it becomes read-only. We don't want Vue to add reativity to this \r\n const individualsArray = Object.freeze(loadIndividuals(family.familyData))\r\n const individualSearchMap = Object.freeze(buildIndividualNameSearchMap(individualsArray))\r\n const payload = {\r\n ...family,\r\n individualsArray,\r\n individualSearchMap\r\n }\r\n\r\n context.commit('familyEndLoad', payload)\r\n localStorage.setItem('ls-fi', family.familyId)\r\n localStorage.setItem('ls-fdc', family.familyDataCompressed)\r\n localStorage.setItem('ls-fdh', family.familyDataHash)\r\n })\r\n .catch(error =>\r\n {\r\n localStorage.removeItem('ls-fdc')\r\n localStorage.removeItem('ls-fdh')\r\n context.dispatch('loadDefaultFamily', vm )\r\n })\r\n }\r\n}\r\n","export default {\r\n canViewSensitive: (state) => {\r\n return state.familyAuthorityId > 1\r\n }\r\n}\r\n","export default {\r\n familyStartLoad (state) {\r\n state.isLoading = true\r\n },\r\n familyStopLoad (state) {\r\n state.isLoading = false\r\n },\r\n familyEndLoad (state, payload) {\r\n state.familyData = payload.familyData || {}\r\n state.familyAuthorityId = payload.familyAuthorityId || 1\r\n state.familyDescription = payload.familyDescription || null\r\n state.familyId = payload.familyId\r\n state.familyName = payload.familyName || ''\r\n state.individualsArray = payload.individualsArray || []\r\n state.individualSearchMap = payload.individualSearchMap || null\r\n state.isPublic = payload.isPublic || false\r\n state.isLoading = false\r\n state.author = payload.author || null\r\n state.sourceUrl = payload.sourceUrl || null\r\n state.suppressGender = payload.suppressGender || false\r\n }\r\n}","export default {\r\n author: null,\r\n familyData: {},\r\n familyAuthorityId: 1,\r\n familyDescription: null,\r\n familyId: null,\r\n familyName: '',\r\n individualsArray: [],\r\n individualSearchMap: null,\r\n isPublic: false,\r\n isLoading: true,\r\n sourceUrl: null,\r\n suppressGender: false\r\n}","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport actions from './actions'\r\nimport getters from './getters'\r\nimport mutations from './mutations'\r\nimport state from './state'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default {\r\n namespaced: true,\r\n actions,\r\n getters,\r\n mutations,\r\n state\r\n}\r\n","// Determine the maximum stack size that this browser supports.\r\n// Thanks: https://stackoverflow.com/a/7828803/1864995\r\nexport function maxStackSize() {\r\n let i = 0;\r\n\r\n function inc() {\r\n i++;\r\n inc();\r\n }\r\n \r\n try {\r\n inc();\r\n }\r\n catch(e) {\r\n return i;\r\n }\r\n}","import staticConfig from '@/staticConfig'\r\nimport { maxStackSize } from '@/logic/general/browserUtils'\r\n\r\nexport default {\r\n acceptCookies(context) {\r\n localStorage.setItem('ls-acv', staticConfig.acceptedCookieVersion)\r\n context.commit('setCookiesAccepted')\r\n },\r\n loadHasNetworkError(context, hasNetworkError) {\r\n context.commit('setHasNetworkError', hasNetworkError)\r\n },\r\n loadInfoModal(context, infoModalOptions) {\r\n context.commit('setInfoModalIndividualId', infoModalOptions)\r\n },\r\n updateRenderOptions(context, renderOptions) {\r\n context.commit('setRenderOptions', renderOptions)\r\n context.commit('resetRenderedEntities')\r\n },\r\n recordRenderedIndividual(context, individual) {\r\n context.commit('setRenderedIndividual', individual)\r\n },\r\n recordRenderedUnion(context, union) {\r\n context.commit('setRenderedUnion', union)\r\n },\r\n resetModalIds(context) {\r\n context.commit('resetModalIds')\r\n },\r\n resetRenderedEntities(context) {\r\n context.commit('resetRenderedEntities')\r\n },\r\n setInitialState(context) {\r\n const initialState = {\r\n areCookiesAccepted: localStorage.getItem('ls-acv') === staticConfig.acceptedCookieVersion,\r\n browserMaxGenerations: Math.floor(maxStackSize() / 100) // 100 is an arbitrary number of steps used for each generation\r\n }\r\n context.commit('setInitialState', initialState)\r\n }\r\n}","import Vue from 'vue'\r\nimport shortUUID from 'short-uuid'\r\nimport * as individualUtils from '@/logic/family/individualUtils'\r\n\r\nexport default {\r\n resetModalIds (state) {\r\n state.infoModalEntityId = null\r\n state.infoModalEntityType = null\r\n },\r\n resetRenderedEntities (state) {\r\n state.renderedIndividuals = {}\r\n state.renderedUnions = {}\r\n },\r\n setCookiesAccepted(state) {\r\n state.areCookiesAccepted = true\r\n },\r\n setHasNetworkError (state, hasNetworkError) {\r\n state.hasNetworkError = hasNetworkError\r\n },\r\n setInfoModalIndividualId (state, {infoModalEntityId, infoModalEntityType}) {\r\n state.infoModalEntityId = infoModalEntityId\r\n state.infoModalEntityType = infoModalEntityType\r\n },\r\n setInitialState (state, initialState){\r\n state.areCookiesAccepted = initialState.areCookiesAccepted\r\n state.browserMaxGenerations = initialState.browserMaxGenerations\r\n },\r\n setRenderOptions (state, renderOptions) {\r\n state.generationRelativeWidth = renderOptions.generationRelativeWidth,\r\n state.maxAncestorGenerations = renderOptions.maxAncestorGenerations,\r\n state.maxDescendentGenerations = renderOptions.maxDescendentGenerations,\r\n state.showAncestors = renderOptions.showAncestors,\r\n state.showDecendents = renderOptions.showDecendents,\r\n state.showGenderInTree = renderOptions.showGenderInTree,\r\n state.treeRenderOptionVersion = shortUUID.generate(),\r\n state.treeZoom = renderOptions.treeZoom\r\n },\r\n setRenderedIndividual (state, individual) {\r\n const individualId = individual.id\r\n const instant = state.renderedIndividuals[individualId]\r\n\r\n if (instant){\r\n instant.count++\r\n Vue.set(state.renderedIndividuals, individualId, instant) \r\n } else {\r\n const name = individualUtils.getName(individual)\r\n const nameLength = name ? name.length : 0\r\n Vue.set(state.renderedIndividuals, individualId, { count: 1, nameLength: nameLength})\r\n }\r\n },\r\n setRenderedUnion (state, union) {\r\n Vue.set(state.renderedUnions, union.id, union.orderKey) \r\n }\r\n}","import shortUUID from 'short-uuid'\r\n\r\nexport default {\r\n areCookiesAccepted: false,\r\n browserMaxGenerations: 1000,\r\n hasNetworkError: false,\r\n infoModalEntityId: null,\r\n infoModalEntityType: null,\r\n generationRelativeWidth: 50,\r\n language: \"en\",\r\n maxAncestorGenerations: 380,\r\n maxDescendentGenerations: 380,\r\n measurement: \"imperial\",\r\n showAncestors: true,\r\n showDecendents: true,\r\n showGenderInTree: true,\r\n treeRenderOptionVersion: shortUUID.generate(),\r\n treeZoom: 2,\r\n renderedIndividuals: {},\r\n renderedUnions: {}\r\n}","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\nimport state from './state'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default {\r\n namespaced: true,\r\n actions,\r\n mutations,\r\n state\r\n}\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport state from './state'\r\nimport mutations from './mutations'\r\nimport actions from './actions'\r\n\r\nimport authentication from './authentication'\r\nimport family from './family'\r\nimport viewState from './viewState'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default new Vuex.Store({\r\n state,\r\n mutations,\r\n actions,\r\n\r\n modules: {\r\n authentication: authentication,\r\n family: family,\r\n viewState: viewState\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport axios from 'axios'\r\nimport marked from 'marked'\r\nimport { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'\r\nimport Fragment from 'vue-fragment'\r\nimport VueAxios from 'vue-axios'\r\nimport VueAuthenticate from '@mdornian/vue-authenticate'\r\nimport VueCookies from 'vue-cookies'\r\nimport VueDragscroll from 'vue-dragscroll'\r\nimport VueGapi from 'vue-gapi'\r\nimport VueGtag from 'vue-gtag'\r\nimport VueScrollTo from 'vue-scrollto'\r\nimport VueTheMask from 'vue-the-mask'\r\nimport staticConfig from '@/staticConfig'\r\n\r\nimport 'bootstrap/dist/css/bootstrap.css'\r\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\r\n\r\n// vee-validate\r\nimport {\r\n ValidationObserver,\r\n ValidationProvider,\r\n extend,\r\n localize\r\n} from \"vee-validate\";\r\nimport en from \"vee-validate/dist/locale/en.json\";\r\nimport * as rules from \"vee-validate/dist/rules\";\r\n\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faBlind, faBinoculars, faBook, faClipboardList, faExchangeAlt, faGenderless, faLink, faMars, faProjectDiagram, faSpinner, faTree, faVenus } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\n\r\nimport * as apiUtils from '@/logic/general/apiUtils'\r\nimport * as authenticationUtils from '@/logic/general/authenticationUtils'\r\n\r\nimport App from './App.vue'\r\nimport router from '@/router'\r\nimport { patchRouterMethod, beforeEachGlobal } from '@/logic/routerExtensions'\r\nimport store from './store'\r\nimport VueSlider from 'vue-slider-component'\r\nimport 'vue-slider-component/theme/default.css'\r\n\r\nconsole.log('Application Loading ...')\r\n\r\n// Install VeeValidate rules and localization\r\nObject.keys(rules).forEach(rule => {\r\n extend(rule, rules[rule]);\r\n});\r\n\r\n// Add url VeeValidation Rule\r\n// Thanks: https://stackoverflow.com/a/62972724/1864995\r\nextend('url', {\r\n validate: (value) => {\r\n if (value) {\r\n // eslint-disable-next-line\r\n return /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/.test(value);\r\n }\r\n\r\n return false;\r\n },\r\n message: 'This value must be a valid URL',\r\n})\r\n\r\nlocalize(\"en\", en);\r\n\r\n// Install VeeValidate components globally\r\nVue.component(\"ValidationObserver\", ValidationObserver);\r\nVue.component(\"ValidationProvider\", ValidationProvider);\r\n\r\n// Font Awesome\r\nlibrary.add(faBlind, faBinoculars, faBook, faClipboardList, faExchangeAlt, faGenderless, faLink, faMars, faProjectDiagram, faSpinner, faTree, faVenus)\r\nVue.component('FontAwesomeIcon', FontAwesomeIcon)\r\n\r\n// Bootstrap\r\nVue.use(BootstrapVue)\r\nVue.use(BootstrapVueIcons)\r\n\r\n// Vue Odds & Ends\r\nVue.use(VueCookies)\r\nVue.use(Fragment.Plugin)\r\nVue.use(VueAxios, axios)\r\nVue.use(VueTheMask)\r\nVue.component('VueSlider', VueSlider)\r\n\r\n// Vue Scroll To\r\nVue.use(VueScrollTo, { \r\n easing: 'ease-in',\r\n duration: 1000,\r\n offset: -100, \r\n x: true\r\n})\r\n\r\n// VueAuthenticate\r\n// The storage type will determined dynamically based upon the existance of a token either in LocalStorage or SessionStorage. If none exists, it will be set during login or registration\r\nVue.use(VueAuthenticate, {\r\n baseUrl: process.env.VUE_APP_BASE_API, \r\n loginUrl: '/oauth2/token',\r\n logoutUrl: 'api/account/logout',\r\n storageNamespace: 'auth',\r\n tokenPrefix: 'jwt',\r\n cookie: {\r\n domain: authenticationUtils.determineCookieDomain(),\r\n secure: authenticationUtils.determineCookieSecure()\r\n }\r\n})\r\n\r\n// Google OAuth2 library\r\nVue.use(VueGapi, {\r\n clientId: staticConfig.googleClientId,\r\n scope: 'https://www.googleapis.com/auth/userinfo.profile',\r\n})\r\n\r\n// TODO: research version 3.0\r\nVue.config.errorHandler = function (err, vm, info) {\r\n console.log(err)\r\n\r\n if (vm) {\r\n // Analytics\r\n vm.$gtag.exception({\r\n 'description': err.message,\r\n 'fatal': false\r\n })\r\n\r\n if (err.stack && err.stack.startsWith(\"RangeError\")) {\r\n vm.$router.push({ path: `/error/stackOverflow` })\r\n } else {\r\n vm.$router.push({ path: `/error/unexpected` })\r\n }\r\n }\r\n}\r\nVue.config.productionTip = false\r\n\r\n// Google Analytics\r\nVue.use(VueGtag, { \r\n config: { id: staticConfig.googleGtagId },\r\n enabled: process.env.VUE_APP_ENABLE_ANALYTICS === 'true' ? true : false\r\n}, router)\r\n\r\n// Drag Scroll\r\nVue.use(VueDragscroll)\r\n\r\n// Create the Vue instance\r\nconst vm = new Vue({\r\n router,\r\n store,\r\n render: h => h(App),\r\n})\r\n\r\n// Add custom dimensions to Google Analytics\r\nvm.$gtag.customMap({\r\n 'dimension1': 'familyId',\r\n 'dimension2': 'familySEO',\r\n 'dimension3': 'individualId',\r\n 'dimension4': 'individualSEO',\r\n})\r\n\r\n// Router\r\n// Update title & meta data\r\nrouter.beforeEach((to, from, next) =>{ beforeEachGlobal(to, from, next) })\r\n\r\n// This is here to prevent the \"NavigationDuplicated\" error\r\npatchRouterMethod(router, 'push')\r\npatchRouterMethod(router, 'replace')\r\n\r\n// Axios\r\naxios.defaults.withCredentials = true // To allow cookies to be transmitted in CORS environment\r\n\r\n// Add standard error handling functionality to axios.\r\n// Add new property postState to the response\r\naxios.interceptors.response.use(\r\n response => {\r\n response.postState = apiUtils.handleAPISuccess(vm, response)\r\n return response\r\n }, \r\n error => {\r\n error.postState = apiUtils.handleAPIError(vm, error)\r\n return Promise.reject(error)\r\n})\r\n\r\n// Markdown options\r\nmarked.setOptions({\r\n breaks: true\r\n})\r\n\r\n\r\nvm.$mount('#app')","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/female.c4e94f8d.png\";","module.exports = __webpack_public_path__ + \"img/male.5af39af9.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerCookieWarning.vue?vue&type=style&index=0&id=aa2faf5c&scoped=true&lang=css&\"","var map = {\n\t\"./CompanyLogo.png\": \"ee8a\",\n\t\"./btn_google_signin_light_normal_web.png\": \"27f1\",\n\t\"./female.png\": \"6067\",\n\t\"./male.png\": \"8880\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"9142\";","import { gzip, ungzip } from 'node-gzip'\r\n\r\nexport async function objToJsonGzippedBase64(obj) {\r\n const jsonString = JSON.stringify(obj)\r\n return await stringToGzippedBase64(jsonString)\r\n}\r\n\r\nexport async function stringToGzippedBase64(source) {\r\n const compressed = await gzip(source)\r\n return Buffer.from(compressed).toString('base64')\r\n}\r\n\r\nexport async function base64GzippedToString(source) {\r\n const compressed = Buffer.from(source, 'base64')\r\n const uncompressed = await ungzip(compressed)\r\n const result = uncompressed.toString('utf-8')\r\n return result\r\n}\r\n\r\nexport async function base64GzippedToObj(source) {\r\n const jsonString = await base64GzippedToString(source)\r\n return JSON.parse(jsonString)\r\n}","module.exports = __webpack_public_path__ + \"img/CompanyLogo.ec83ca54.png\";"],"sourceRoot":""}