{"version":3,"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions: {}|namespace object","webpack:///src/app/_helpers/auth.guard.service.ts","webpack:///src/app/_helpers/auth.interceptor.ts","webpack:///src/app/_helpers/error.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.constants.ts","webpack:///src/app/app.module.ts","webpack:///src/app/auth/auth.module.ts","webpack:///src/app/auth/components/email-send/email-send.component.ts","webpack:///src/app/auth/components/email-send/email-send.component.html","webpack:///src/app/auth/components/forgot-password/forgot-password.component.html","webpack:///src/app/auth/components/forgot-password/forgot-password.component.ts","webpack:///src/app/auth/components/login/login.component.html","webpack:///src/app/auth/components/login/login.component.ts","webpack:///src/app/auth/components/privacy-policy/privacy-policy.component.ts","webpack:///src/app/auth/components/privacy-policy/privacy-policy.component.html","webpack:///src/app/auth/components/reset-password/reset-password.component.html","webpack:///src/app/auth/components/reset-password/reset-password.component.ts","webpack:///src/app/auth/components/signup/signup.component.html","webpack:///src/app/auth/components/signup/signup.component.ts","webpack:///src/app/auth/components/splash-screen/splash-screen.component.ts","webpack:///src/app/auth/components/splash-screen/splash-screen.component.html","webpack:///src/app/auth/components/term-condition/term-condition.component.ts","webpack:///src/app/auth/components/term-condition/term-condition.component.html","webpack:///src/app/auth/services/auth.service.ts","webpack:///src/app/dashboard/dashboard/dashboard.component.ts","webpack:///src/app/dashboard/dashboard/dashboard.component.html","webpack:///src/app/dashboard/services/dashboard.service.ts","webpack:///src/app/edit-profile/edit-profile.component.html","webpack:///src/app/edit-profile/edit-profile.component.ts","webpack:///src/app/shared/bandcamp/bandcamp.component.html","webpack:///src/app/shared/bandcamp/bandcamp.component.ts","webpack:///src/app/shared/dynamic-profile/dynamic-profile.component.html","webpack:///src/app/shared/dynamic-profile/dynamic-profile.component.ts","webpack:///src/app/shared/header/header.component.ts","webpack:///src/app/shared/header/header.component.html","webpack:///src/app/shared/layout/layout.component.ts","webpack:///src/app/shared/layout/layout.component.html","webpack:///src/app/shared/photo-album/photo-album-slider.component.ts","webpack:///src/app/shared/photo-album/photo-album.component.html","webpack:///src/app/shared/photo-album/photo-album.component.ts","webpack:///src/app/shared/pipes/click-stop-propagtion.ts","webpack:///src/app/shared/pipes/fliter-friends.ts","webpack:///src/app/shared/pipes/html-to-text.pipe.ts","webpack:///src/app/shared/pipes/local-date.pipe.ts","webpack:///src/app/shared/pipes/safe-html.pipe.ts","webpack:///src/app/shared/pipes/safe-url.pipe.ts","webpack:///src/app/shared/pipes/safe.pipe.ts","webpack:///src/app/shared/privacy/privacy.component.html","webpack:///src/app/shared/privacy/privacy.component.ts","webpack:///src/app/shared/profile-friends-list/profile-friends-list.component.html","webpack:///src/app/shared/profile-friends-list/profile-friends-list.component.ts","webpack:///src/app/shared/register-playlist/register-playlist.component.html","webpack:///src/app/shared/register-playlist/register-playlist.component.ts","webpack:///src/app/shared/services/header.service.ts","webpack:///src/app/shared/services/session.service.ts","webpack:///src/app/shared/services/shared.service.ts","webpack:///src/app/shared/settingsprivacy/privacysetting.component.html","webpack:///src/app/shared/settingsprivacy/privacysetting.component.ts","webpack:///src/app/shared/shared-routing.module.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/shared/sidebar/sidebar.component.html","webpack:///src/app/shared/sidebar/sidebar.component.ts","webpack:///src/app/shared/soundcloud/soundcloud.component.html","webpack:///src/app/shared/soundcloud/soundcloud.component.ts","webpack:///src/app/shared/spotify-auth-redirect/spotify-auth-redirect.component.ts","webpack:///src/app/shared/spotify-auth-redirect/spotify-auth-redirect.component.html","webpack:///src/app/shared/spotify-cards/spotify-cards.component.html","webpack:///src/app/shared/spotify-cards/spotify-cards.component.ts","webpack:///src/app/shared/spotify-view/spotify-view.component.ts","webpack:///src/app/shared/spotify-view/spotify-view.component.html","webpack:///src/app/shared/spotify/spotify.component.html","webpack:///src/app/shared/spotify/spotify.component.ts","webpack:///src/app/shared/suggestions/suggestions-card-component.html","webpack:///src/app/shared/suggestions/suggestions-card-component.ts","webpack:///src/app/shared/term/term.component.html","webpack:///src/app/shared/term/term.component.ts","webpack:///src/app/shared/update-city/update-city.component.ts","webpack:///src/app/shared/update-city/update-city.component.html","webpack:///src/app/shared/update-cover/update-cover.component.html","webpack:///src/app/shared/update-cover/update-cover.component.ts","webpack:///src/app/shared/update-gener/update-gener.component.html","webpack:///src/app/shared/update-gener/update-gener.component.ts","webpack:///src/app/shared/update-profile/update-profile.component.html","webpack:///src/app/shared/update-profile/update-profile.component.ts","webpack:///src/app/shared/updated-invitation-code/updated-invitation-code.component.ts","webpack:///src/app/shared/updated-invitation-code/updated-invitation-code.component.html","webpack:///src/app/shared/updated-mob-num/updated-mob-num.component.html","webpack:///src/app/shared/updated-mob-num/updated-mob-num.component.ts","webpack:///src/app/shared/youtube-cards/youtube-cards.component.html","webpack:///src/app/shared/youtube-cards/youtube-cards.component.ts","webpack:///src/app/shared/youtube/youtube.component.html","webpack:///src/app/shared/youtube/youtube.component.ts","webpack:///src/app/views/home/home.service.ts","webpack:///src/app/views/messages/messages.service.ts","webpack:///src/app/views/notifications/notifications.service.ts","webpack:///src/app/views/profile/profile.service.ts","webpack:///src/app/views/registration-part/services/registration.service.ts","webpack:///src/app/views/registration-part/services/url.service.ts","webpack:///src/app/views/search-result/search-result.service.ts","webpack:///src/app/views/settings/settings.service.ts","webpack:///src/app/views/view-profile/view-profile.service.ts","webpack:///src/app/views/views.component.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///codebuild/output/src3933968343/src/IndieTown-WebApp-STG/node_modules/moment/locale|sync|/^\\.\\/.*$/"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","AuthGuard","authService","router","route","state","currentUser","currentUserValue","logout","subscribe","navigate","AuthInterceptor","toastrService","request","next","basicAuthCredsBase64","clone","setHeaders","token","handle","pipe","tap","event","HttpResponse","body","status","error","errorCode","statusText","includes","console","log","err","routes","path","loadChildren","m","AuthModule","redirectTo","pathMatch","component","EditProfileComponent","ViewsComponent","canActivate","children","DashboardModule","HomeModule","NotificationsModule","SettingsModule","ProfileModule","MessagesModule","RegistrationPartModule","SearchResultModule","ViewProfileModule","AppRoutingModule","RouterModule","relativeLinkResolution","AppComponent","connectionService","title","isConnected","monitor","_id","AnalyticsEvents","SCREEN_VISITED","LOGIN","LOGOUT","DELETE_ACCOUNT","SVConstants","home","messages","notifications","profile","settings","config","url","environment","options","transports","AppModule","provide","HTTP_INTERCEPTORS","useClass","multi","AuthService","SharedService","DashboardService","SessionService","HomeService","NotificationsService","RegistrationPartService","ProfileService","UrlService","MessagesService","SearchResultService","ViewProfileService","SettingsService","CommonModule","CarouselModule","BrowserModule","BrowserAnimationsModule","SharedModule","ImageCropperModule","HttpClientModule","NgHttpLoaderModule","ToastrModule","preventDuplicates","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatInputModule","MatIconModule","ModalModule","CustomFormsModule","NgxSliderModule","NgxIntlTelInputModule","MatSelectModule","AngularFireModule","AngularFireAnalyticsModule","MatProgressBarModule","LoginComponent","SignupComponent","ForgotPasswordComponent","EmailSendComponent","ResetPasswordComponent","TermConditionComponent","PrivacyPolicyComponent","SplashScreenComponent","AlertModule","MatChipsModule","modalRef","modalService","toastr","submitted","emailreg","resetForm","FormGroup","email","FormControl","Validators","controls","template","show","invalid","pristine","forgetPassword","value","toLowerCase","res","type","sendEmailToLogin","success","message","SendToChild1","localStorage","setItem","JSON","stringify","navigateByUrl","hide","resetPassword","fb","service","analytics","isMobile","hide1","hide2","userType","check","slides","image","text","noWrapSlides","showIndicator","passwordRegex","screen","width","initForm","getProfile","profileDetails","data","invitationCode","role","getItem","bandName","location","coordinates","length","genereIds","communityIds","loginForm","group","password","target","checked","user","login","logEvent","isSignedUp","removeItem","msg","isValidPassword","isValidEmail","replace","key","valid","removeError","resendMail","slice","openModal","resendPassword","changed","passChangeMsg","emailFocusOut","signUpForm","confirmPassword","term","match","get","patchValue","clear","passwordValid","errorMessage","signUpUser","removeLocalStorage","alert","checkbox","document","getElementById","SignUp","createLocalStorage","keyCode","preventDefault","CheckEnterPress","termCondition","onclickPrivacy","count","getTime","counter","timer","date","Date","second","getSeconds","http","emailSend","Subject","child1$","asObservable","obj","parse","lang","btoa","post","patch","put","DashboardComponent","_header","dashboardService","dashboardData","months","welcomeUserMsg","initVal","lastVal","duration","startTime","currentTime","now","step","progress","Math","min","innerHTML","floor","window","requestAnimationFrame","cancelAnimationFrame","header","sharedService","uploaded","imgChangeEvt","cropImgPreview","passwordForm","oldPassword","newPassword","changePasswordHeading","changePassword","reset","removeModalref","BandcampComponent","spinner","domSanitizer","myInputValue","page","pageSize","bandcampList","iframeSource","loadMoreBandcamp","userId","getBandcampList","bandcampIframe","addBandcampIframe","iframeCode","unshift","info","bypassSecurityTrustResourceUrl","iframesrc","initialState","source","index","removeBandcampId","removeBandcampIndex","removeBandcampIframeModal","removeBandcampIframe","splice","getMoreBandcampList","push","Object","myfileMac","enlargeProfileOrCoverPictureModalRef","deleteCommentModalRef","deleteCommentReplyModalRef","logoutmodalRef","ProfileDynamicComponent","urlService","ytPlayerService","_sanitizer","spinners","changeDetectorRef","allPosts","allShows","friendsList","topFourFriends","myInputValuedyn","update","view","submit","del","imagessArray","commentArea","moment","servicesList","dropdownChange","playList","otherFriends","genreList","photoAlbumCheckbox","itemperPage","stopScrollingPost","stopScrollingShow","youtubeEdit","spotifyEdit","youtubePlayListData","postList","postsPageNumber","postsPageSize","showsPageSize","showsPageNumber","customOptions","loop","mouseDrag","touchDrag","pullDrag","dots","navSpeed","navText","responsive","items","nav","updateProfileForm","phone","genre","bio","spotifyURL","youtubeURL","profilePicture","profilePictureKey","coverPicture","coverPictureKey","city","country","lat","MobNum","reportPostForm","comment","reportCommentForm","createCommentForm","geners","genersId","allPostsCopy","spotifyplayList","myPlayList","audioList","spotifySongSelected","currState","paused","position","updateTime","spotifyVolumeOn","spotifySongProgressBarValue","spotifySongPaused","spotifySongRepeatModeOn","spotifyVolume","songEnded","already","spotifySongPlayedTill","spotifyShuffleModeOn","originalSpotifyList","getTimeInMinuteAndSeconds","timeInMilli","seconds","trunc","likesList","mentionReplyingTo","usersForMention","editProfilePicUpated","editCoverPicUpdated","profileUpdated","currentlyPlayingVideoId","selectedIndex","addFriendButtonText","showCancelRequestLoader","activeSlides","SlidesOutputData","deletePhotosIds","slidesStore","centeralign","listArray","disabledCreateShow","createPostForm","createShowForm","imageUrl","imageUrlKey","startDate","asyncDateValidator","endDate","endTime","venue","ticketFrom","ticketTo","venueDetails","imagesVideosArray","countVideoUploaded","countImagesUploaded","newImagesVideosArray","showprogressBar","showprogressBarForShow","showProgress","imageChangedEvent","croppedImage","commentsListData","commentOnFriendsTimelineForm","videoArray","editorConfig","editable","spellcheck","height","minHeight","maxHeight","minWidth","translate","enableToolbar","showToolbar","defaultParagraphSeparator","defaultFontName","defaultFontSize","fonts","name","customClasses","tag","uploadUrl","uploadWithCredentials","sanitize","toolbarPosition","toolbarHiddenButtons","unSupportedVideoDetailsPopupOpened","inputVideoWith","inputVideoHeight","aspectRatios","aspectRatioAll","reportProfileUser","moreVideosComing","updateData","spotifyList","getMoreSpotifyTracks","spotifyPageNumber","spotifyPageLimit","showSpotifyTab","showYoutubeTab","showSoundcloudTab","showBandcampTab","enlargeProfileOrCoverPictureURL","imageTransform","translateUnit","aspectRatio","green","scale","translateV","translateH","createPostEditImageTransform","createPostImageEditScale","previousScrollTop","unSupportedVideoDetails","events","filter","NavigationEnd","previousUrl","currentUrl","setPreviousUrl","style","overflow","classList","remove","owl","owlInstance","reinit","data$","play$","youtubePlayData","youtubePlay","querySelector","add","playSpotify$","spotifySingleData","spotifyPlay","manageServicesHeading","coverPicUrl","profilePicUrl","createShowImageUrl","uploadPhotoAlbumUrl","queryParams","params","postId","profileId","unFriendUserName","timelineVisible","showSiidbar","getProfileById","getMyProfile","getPostsId","getShows","getPlayListById","getYoutubePlaylist","checkSpotifyExist","checkYoutubeExist","checkSoundcloudExist","checkBandcampExist","openEditModal","getArtistGenerList","i","j","genereName","getGenres","list","communityName","myProfileDetails","pageNumber","getPostByIdImpl","getShowsByIdImpl","getYoutubePlayList","videos","pageInfo","nextPageToken","NextPageTokenForYoutube","getSpotifyPlayList","track","uri","cover","album","images","time","duration_ms","albumName","durationInMilli","currentlyPlayingSpotifySong","spotifySongSelectedIndex","script","createElement","src","addEventListener","head","appendChild","onSpotifyWebPlaybackSDKReady","spotifyToken","getSpotifyToken","spotifyTokenInfo","access_token","spotifyPlayerNew","Spotify","Player","getOAuthToken","cb","volume","addListener","device_id","performance","connect","subTrackIndex","spotifySongTrackType","spotifySongPlaylistIndex","play","display","setVolume","playSelectedSong","getPreviousSingleAndPlay","resume","pause","getNextSingleAndPlay","setTimeout","beforeSend","xhr","setRequestHeader","startProgress","array","currentIndex","randomIndex","random","spotifyProgressBarInterval","setInterval","getCurrentState","clearInterval","checkNextAndPlay","spotifySongPlay","playShuffledSong","contentType","trackType","spotifyPlayNext","seek","pageLimit","getPosts","search","backdrop","reportPostModel","reportCommentModel","reportPostModal","reportPostType","reportPostId","silentUserPosts","postIndex","getCommentsList","comments","getLikesList","LikeListModalPostId","likesModel","commentFieldStatus","replyCommentId","reportPost","reportComment","reportCommentPostId","reportCommentId","replyPostCommentClick","trim","mentionsAdded","forEach","mention","choice","indices","start","end","createComment","commentCount","choiceRemovedRecently","getUsersForMention","str","substring","mentions","reduce","outPut","origin","editProfileModal","countryCode","mobileNumber","toString","address","spotify","youtube","profileImage","fileUrl","coverImage","editProfilePictureURL","editProfileCoverPictureURL","dirty","updateProfile","getPlayList","updatePlaylist","updatePlayList","videoIndex","split","videoId","videoPlayerOptions","autoplay","YoutubeModalContentComponent","bypassSecurityTrustUrl","BandcampModalContentComponent","SoundCloudModalContentComponent","_friendsListStatus","getFriendsList","friends","friendsListStatus","getFriendsListByUserId","singleFriendData","friendClickModal","unFriend","friendStatus","silentPost","player","tabChangeEvent","tab","textLabel","innerText","background","border","color","AddFriend","cancelRequest","cancelRequestId","cancelRequests","AcceptFriendRequest","reload","photoAlbumSlider","deleteAlbumImage","ids","file","files","fd","FormData","append","uploadImageProgressbar","addItems","_method","join","sorce","like","send","parseInt","likePost","deletePost","deletePostShowMsg","deletePostId","prop","control","formatDate","timeOut","outOfRange","toDateString","currentPlayingVideo","undefined","editshoww","updatePostId","updatePostButton","updateShowButton","media","minEndDate","setValue","from","to","money","initAutocomplete","updatePost","findIndex","elm","charAt","toUpperCase","deleteElemindex","boxShadow","compltedFlag","imageFile","File","dataURItoBlob","uploadImage","mediaWidth","mediaHeight","round","createPostNew","fd2","fileUrlForImage","URL","createObjectURL","getThumbnailForVideo","thumbUrl","block","realData","blob2","base64toBlob","fd3","file3","res3","thumbnail","reject","createPost","HttpEventType","base64Data","sliceSize","byteCharacters","atob","bytesLength","slicesCount","ceil","byteArrays","Array","sliceIndex","begin","bytes","offset","charCodeAt","Uint8Array","Blob","videoUrl","video","canvas","videoWidth","videoHeight","onerror","getContext","drawImage","toDataURL","deleteComment","charCode","userCreatePost","croppedShowPictureName","croppedShowPicture","from123","toLocaleDateString","toLocaleTimeString","to123","uploadShowImageToS3","showImageWidth","showImageHeight","resetImageCropper","base64","parseFloat","map","google","maps","Map","center","latitude","lng","longitude","zoom","mapTypeId","input","searchBox","places","Autocomplete","types","ControlPosition","TOP_LEFT","setBounds","getBounds","place","getPlace","bounds","LatLngBounds","geometry","icon","size","Size","Point","anchor","scaledSize","codeLatLng","viewport","union","extend","fitBounds","geocoder","Geocoder","latlng","LatLng","geocode","results","GeocoderStatus","OK","a","formatted_address","address_components","len","short_name","long_name","b","city_name","cityArray","ind","reader","FileReader","readAsDataURL","onload","img","Image","result","borderRadius","srcElement","btndisablespace","previousDate","currentDate","previous","miliseconds","days","hours","minutes","week","we","deleteCommentPostIndex","commentIndex","deleteCommentIndex","totalRepliedCommentCount","replies","commentsCount","reply","commentbandname","focus","commentId","replyId","reportReplyId","replyIndex","deleteCommentReplyIndex","deleteReply","totalRepliesCount","replyPageNumber","getRepliesOfComment","replyText","replyToPostComment","find","commentObj","openModalPostId","commentPostId","dt","getHours","AmOrPm","getMinutes","finalTime","commentOnFriendsTimeline","hideTimelineComment","initialFilesLength","rr","crop","t","getVideoDuration","invalidVideoCodecPopupRef","invalidVideoCodecPopup","fileNew","webkitURL","inputImage","inputWidth","naturalWidth","inputHeight","naturalHeight","inputImageAspectRatio","outputWidth","outputHeight","outputX","outputY","outputImage","ctx","ratioIndex","imagesVideosArrayIndex","preload","onloadedmetadata","youId","searchFriendKey","showUpdateModal","reportUser","onClickUnfriend","userUnfriend","querySelectorAll","time2","totalSeconds","seconds2","minutes2","totalSeconds2","unit","indexOf","output","isNaN","H","formatTimeUnit","M","S","addClass","scrollY","sidebarFixed","makeFavouriteFriend","isTopFriend","makeUnFavouriteFriend","generUpdatemodalRef","showupdateGenerModal","updateScreen","generNames","enable","spotifyTokenInfoParsed","expiresAtDate","refreshSpotifyToken","refresh_token","refreshTokenResponse","expires_in","updateSpotifyToken","spotifyInitialization","spotifyAuth","saveOrUpdateSpotifyToken","URLSearchParams","grant_type","client_id","fetch","method","headers","response","json","getSpotifyAuthToken","clientId","redirectUri","codeVerifier","generateRandomString","generateCodeChallenge","codeChallenge","scope","args","response_type","redirect_uri","code_challenge_method","code_challenge","href","possible","base64encode","string","String","fromCharCode","apply","encoder","TextEncoder","encode","crypto","subtle","digest","spotifyUrl","addSpotifyUrl","getSpotifyList","removeSingleTrack","removePlaylist","subtrackIndex","removePlaylistItem","playlistId","getPlaylistItems","addPlaylistModalRef","addPlaylistModal","checkRedirectedFromSpotifyAuthorization","getYoutubeList","getSoundcloudList","newSpotifyAddedData","newSoundcloudAddedData","newBandcampAddedData","newYoutubeAddedData","profileorCoverImageDetails","tabGroup","_allTabs","imageURL","ProfileOrCoverPictureview","singalurl","showImageChangedEvent","CreateShowCropModalRef","CreateShowCropModal","widthOfVideo","clientWidth","dataURI","parts","byteString","arrayBuffer","ArrayBuffer","int8Array","blob","slider","imageDetails","createPostEditImageFile","createPostEditImageIndex","createPostEditImageCropModalRef","CreatePostImageCropModal","croppedcreatePostEditImageName","croppedcreatePostEditImage","deleteCommentPopup","deleteCommentReplyPopup","userName","onClickreportProfile","date1","date2","interval","date3","DOCUMENT","navigateToPhotoAlbum","tabChanged","onScrollDownPosts","gotoYoutube","onScrollDownShows","cancelPostModal","removespacessPost","createCommentOnFriendTimeline","uploadShowImage1","removespacess","validatePriceRange1","validatePriceRange","load","x","contentWindow","backgroundColor","getElementsByClassName","playNextVideo","onStateChange","HeaderComponent","services","cdr","manageCaregiversHeading","manageClientHeading","manageTutorialHeading","manageConvenienceHeading","manageDiseasesHeading","hospitalHeading","loginHeading","usageHeading","supportHeading","feedbackHeading","manageHeading","aboutHeading","dashboardHeading","pushNotificationHeading","addUserHeading","privacyPolicyHeading","surveyAnswersHeading","importedEventsHeading","subEventsHeading","zoneHeading","subZoneHeading","venueHeading","interestHeading","pointHeading","placeHeading","merchandiseHeading","sectionHeading","categoryHeading","pointcategoryHeading","homeScreenPartnersHeading","eventsponsorsHeading","notificationHeading","protocolHeading","seasonsHeading","chatListHeading","chatDetailsHeading","requestHeading","settingHeading","restaurantsHeading","requestsHeading","customerHeading","zoneRequestHeading","zoneChatHeading","zoneCallHeading","zoneReportingHeading","EventRequestHeading","BannerHeading","CuisineHeading","PopupHeading","PdfHeading","TreasureHeading","CouponHeading","ZoneCoordinatesHeading","SubZoneCoordinatesHeading","emailSupportHeading","profilePic","bandSuggestionList","searchList","latitube","disabledSlider","searchForm","gener","moreData","clearLocalStorageOnLogout","Pushwoosh","api","unsubscribe","deviceToken","allDate","firstName","seeAll","getBandSuggestions","searchClick","limit","detectChanges","cancelPostId","cancelRequestIdText","searchData","getDefault","opened","marginLeft","infoWindow","InfoWindow","content","open","loc","sendHeaderData","hideLocSuggestions","getLocationSuggestions","AutocompleteService","getPlacePredictions","predictions","prediction","description","option","createTextNode","setAttribute","place_id","setHandler","childNodes","node","getAttribute","desc","placeId","getLatLngFromAddress","getGenerSuggestions","generSuggestions","closeSearchModal","checkEmpty","getSuggestionsForRadiusChange","checkEmptyForName","openSearchModal","LayoutComponent","PhotoAlbumSliderModalContentComponent","deletePhotoFromAlbum","EventEmitter","activeSlidePosition","selectedImageIndex","intr","owlCar","carouselLoaded","emit","startPosition","getActiveSlideData","PhotoAlbumComponent","toaster","number","customOptions2","margin","rewind","autoWidth","firstTimePhotoId","scrollForPhotos","getAlbum","createPhotoAlbum","createAlbum","deleteAlbumModalRef","deleteAlbumImages","deletePhoto","arr","photoId","imageIndex","imageIds","deleteMultiplePhotos","photoIds","element","userAvailable","onClickDeletePhotoAlbum","getPhotoAlbum","openSlider","uploadPhotoAlbum","getMorePhotosOfAlbum","ClickStopPropagation","stopPropagation","FriendsFilterPipe","callback","item","HtmlToPlaintextPipe","temp","textContent","LocalDatePipe","session","format","locale","SafeHtmlPipe","sanitizer","bypassSecurityTrustHtml","SafeUrlPipe","SafePipe","bypassSecurityTrustStyle","bypassSecurityTrustScript","PrivacyComponent","unFriendModalRef","ProfileFriendsListComponent","topFriendsList","otherFriendsList","loadMoreFriend","loadMoreFriendPage","loadMoreOtherFriend","loadMoreOtherFriendPage","getTopFriendsList","getOtherFriendsList","otherFriendsCount","totalCount","topFriendsCount","friendActionsModal","selectedFriendData","selectedfriendType","getSilencedUserStatus","selectedfriendSilenceStatus","isSilent","unMuteUserPosts","unFriendId","unFriendName","unFriendModal","friend","filterFriendKey","filterFriendsList","friendsCount","myProfileId","RegisterPlaylistComponent","youtubeUrlRegex","spotifyUrlRegex","soundcloudUrlRegex","bandcampUrlRegex","profilePicKey","coverPic","coverPicKey","about","soundcloudURL","bandcampURL","searchLoaction","locationLat","locationLong","listgener","closePopup","urlAdded","showLoader","test","navigator","userAgent","onSpotifySelected","onHide","val","errorModalOpen","onShow","spotifySelected","spotifyimgsrc","soundcloudimgsrc","bandcampimgsrc","soundcloudSelected","bandcampSelected","nameErrorMsg","bioErrorMsg","youtubeError","spotifyError","soundcloudError","bandcampError","invalidName","invalidBio","clearAllMessages","t1","t2","RegExp","addSpotifyURL","ssybResponse","addSoundcloudIframe","addYoutubeURL","youtubeResponse","showErrorModalRef","showErrorModal","spotifySuccessMsg","spotifyErrorMsg","soundcloudSuccessMsg","bandcampSuccessMsg","youtubeSuccessMsg","soundcloudErrorMsg","bandcampErrorMsg","youtubeErrorMsg","addYoutubeUrl","f","errors","pattern","sliderValue","updateProfileData","notFount","updateProfileAll","closeAddPlaylistModal","onSoundcloudSelected","onbandcampSelected","save","HeaderService","BehaviorSubject","_locale","culture","registerLocaleData","playSpotify","sendPlayList","receivePlayList$","closeSearchModal$","locationAvailable","locationAvailable$","editClick","editClick$","headerData","headerData$","activateModalHeader","activateModalHeader$","httpOptions","HttpHeaders","reportProgress","responseType","observe","keyword","childCommentId","urlPath","PrivacySettingComponent","TermComponent","SpotifyAuthRedirectComponent","SharedRoutingModule","BsDropdownModule","TabsModule","MatDatepickerModule","MatNativeDateModule","TimepickerModule","MatCardModule","MatButtonModule","Ng2SearchPipeModule","MatTabsModule","NgxYoutubePlayerModule","InfiniteScrollModule","MatToolbarModule","MatSliderModule","MatCheckboxModule","AngMusicPlayerModule","YtPlayerAngularModule","MentionsModule","AngularEditorModule","DragDropModule","MatExpansionModule","MatAutocompleteModule","LinkyModule","SidebarComponent","YoutubeCardsComponent","SpotifyCardsComponent","SuggestionsCardsComponent","UpdateGenerComponent","UpdateCityComponent","UpdateCoverComponent","UpdateProfileComponent","UpdatedMobNumComponent","UpdatedInvitationCodeComponent","SpotifyViewComponent","SoundcloudComponent","YoutubeComponent","SpotifyComponent","toAsterService","shared","messageService","notificationsService","showNewMesageRedDot","showNotificationRedDot","currentActiveScreen","msgSubscriptionSideBar","message$","getNotifications","read","checkNotifications","serviceWorker","register","reg","active","postMessage","messageFromSW","newNotification$","addEventHandler","payload","getPushToken","pushToken","isNotificationEnabled","isSubscribed","pwinbox","loadMessages","notification","disabledTab","activateSearchModal","myInputValues","loadMoreSoundcloud","soundcloudList","soundcloudIframe","removeSoundcloudId","removeSoundcloudIndex","removeSoundcloudIframeModal","removeSoundcloudIframe","getMoreSoundcloudList","urlParams","requestAccessToken","code_verifier","ok","accessToken","refreshToken","token_type","gotoSpotify","showAddUrlLoader","removingItem","showRemoveUrlLoader","expanded","$","ajax","arg1","arg2","arg3","spotifySongState","flag","removeSpotifySubtrackIndex","removeSpotifyIndex","removeSpotifyModal","removeSpotifyUrl","checkSpotifyListAndHidePlayer","removeSpotifyPlaylist","removeSpotifyPlaylistItem","selectedSpotifySong","trackPath","loadMoreSpotifyTracks","onScroll","modalref","getBandSuggestion","change","genersData","generIdsList","sample","addressDetails","cityForm","profileData","c","lc","r","rl","cityName","disabled","removeCity","updateName","showEditIcon","coverPicDetails","showDeleteCoverButton","coverImageFileUrl","coverImageKey","profileURL","uploadProfile","popupedits","objectFit","coverPictureCropModalRef","originalCoverPicRef","coverPictureScale","coverPictureImageTransform","croppedCoverPicRef","originalCoverPicName","fileChangedEvent","coverPicCropModal","coverPictureImageChangedEvent","coverPicCropperUrl","ngbModalOptions","keyboard","openCoverPictureModal","generForm","chipControl","Set","toggleChip","chip","chips","has","horizontal","addChip","removeChip","drop","profilePicDetails","showDeleteButton","showDeleteProfileButton","showEditButton","profileImageFileUrl","profileImageKey","ProfilePicCropModal","popupedit","originalProfilePicRef","profilePicCropperUrl","originalProfilePicName","profilePicCropModalRef","croppedProfilePicRef","openProfilePictureModal","isTimer","OTPDetails","resetOTPForm","firstDigit","secondDigit","thirdDigit","forthDigit","history","pushState","onPopState","phoneNumber","Time","prevDate","pre","rem","getTimeRemaining","otp","d","verifyOTP","saveMobileNumber","evt","which","sendOTP","onFillCode1","numberOnly","checkbackpress","onFillCode2","onFillCode3","onFillCode4","sendCodeAgain","phoneCode","selectedPhoneCodes","selectedPhoneCode","MobNumDetails","separateDialCode","SearchCountryField","CountryISO","PhoneNumberFormat","preferredCountries","NextDisabledForPhoneNum","replaceAll","onSelectCode","onKey","phoneFormat","verifyPhone","youTubeURL","crossDomain","entry","media$group","yt$duration","playYoutube","loadMoreYoutube","selectedYoutubePlaylist","showPlaylistLoader","selectedVideoFrom","selectedVideoIndex","youtubePlayVideo","youtubeUrlNew","getMoreYoutubeList","youtubePlayListModalRef","youtubePlayList","getYoutubePlaylistItems","selectedYoutubePlaylistIndex","playVideo","destroyed","getNextVideo","removeYoutubeId","removeYoutubeIndex","removeYoutubeModal","removeYoutubeUrl","removeYoutubePlaylist","removeYoutubePlaylistItem","getPreviousVideo","checkPrevoiusSingleAndPlay","socket","io","query","on","param","listner","removeAllListeners","disconnect","Observable","observer","currentUserId","userIds","previousUrl$","production","API_URL","BaseChatUrl","basicAuthUsername","basicAuthpwd","firebase","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","enableProdMode","platformBrowser","bootstrapModule","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAASA,wBAAT,CAAkCC,GAAlC,EAAuC;AACtC;AACA;AACA,eAAOC,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAW;AACxC,cAAIC,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,WAAC,CAACE,IAAF,GAAS,kBAAT;AACA,gBAAMF,CAAN;AACA,SAJM,CAAP;AAKA;;AACDL,8BAAwB,CAACQ,IAAzB,GAAgC,YAAW;AAAE,eAAO,EAAP;AAAY,OAAzD;;AACAR,8BAAwB,CAACG,OAAzB,GAAmCH,wBAAnC;AACAA,8BAAwB,CAACS,EAAzB,GAA8B,KAA9B;AACAC,YAAM,CAACC,OAAP,GAAiBX,wBAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCNaY,U;AAGT,4BAAYC,WAAZ,EAAsCC,MAAtC,EAAsD;AAAA;;AAClD,eAAKD,WAAL,GAAmBA,WAAnB;AACA,eAAKC,MAAL,GAAcA,MAAd;AACH;;;;iBAED,qBACIC,KADJ,EAEIC,KAFJ,EAE8B;AAE1B,gBAAMC,WAAW,GAAG,KAAKJ,WAAL,CAAiBK,gBAArC;;AACA,gBAAID,WAAJ,EAAiB;AACb,qBAAO,IAAP;AACH;;AAAA;AAED,iBAAKJ,WAAL,CAAiBM,MAAjB,GAA0BC,SAA1B,GAP0B,CAS1B;;AACA,iBAAKN,MAAL,CAAYO,QAAZ,CAAqB,CAAC,MAAD,EAAS,OAAT,CAArB;AACA,mBAAO,KAAP;AACH;;;;;;;yBAtBQT,U,EAAS,4H,EAAA,2G;AAAA,O;;;eAATA,U;AAAS,iBAATA,UAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCMTU,gB;AACT,kCACYT,WADZ,EAEYC,MAFZ,EAGYS,aAHZ,EAGwC;AAAA;;AAF5B,eAAAV,WAAA,GAAAA,WAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AACA,eAAAS,aAAA,GAAAA,aAAA;AAEP;;;;iBAKL,oBAAQ;AACA,iBAAKN,WAAL,GAAmB,KAAKJ,WAAL,CAAiBK,gBAApC;AACP;;;iBAID,mBAAUM,OAAV,EAAqCC,IAArC,EAAsD;AAAA;;AAClD,gBAAMR,WAAW,GAAG,KAAKJ,WAAL,CAAiBK,gBAArC;AACA,gBAAMQ,oBAAoB,GAAG,KAAKb,WAAL,CAAiBa,oBAA9C;;AACA,gBAAGT,WAAH,EAAe;AACXO,qBAAO,GAAGA,OAAO,CAACG,KAAR,CAAc;AACpBC,0BAAU,EAAE;AACR,mCAAiBX,WAAW,CAACY,KADrB,CAER;;AAFQ;AADQ,eAAd,CAAV;AAMH,aAViD,CAYlD;;;AAEA,mBAAOJ,IAAI,CAACK,MAAL,CAAYN,OAAZ,EAAqBO,IAArB,CACH,gDAAAC,GAAA,EACI,UAAAC,KAAK,EAAI;AACL,kBAAIA,KAAK,YAAY,kDAAAC,YAArB,EAAmC;AAC/B,oBAAID,KAAK,CAACE,IAAN,CAAWC,MAAX,IAAqB,GAAzB,EAA8B;AACtB,sBAAGH,KAAK,CAACE,IAAN,CAAWE,KAAX,CAAiBC,SAAjB,IAA8B,EAAjC,EAAoC;AAChC,yBAAI,CAACxB,MAAL,CAAYO,QAAZ,CAAqB,CAAC,aAAD,CAArB;;AACA,yBAAI,CAACE,aAAL,CAAmBc,KAAnB,CAAyB,uCAAzB;AACH,mBAHD,MAGK;AACD,yBAAI,CAACvB,MAAL,CAAYO,QAAZ,CAAqB,CAAC,aAAD,CAArB;;AACA,yBAAI,CAACE,aAAL,CAAmBc,KAAnB,CAAyB,2BAAzB;AACH;AACR;AACJ;AACJ,aAbL,EAcI,UAAAA,KAAK,EAAI;AACL,kBAAIA,KAAK,CAACD,MAAN,IAAgB,GAApB,EAAyB;AACrB,oBAAIC,KAAK,CAACA,KAAN,CAAYC,SAAZ,IAAyB,GAAzB,IAAgCD,KAAK,CAACA,KAAN,CAAYC,SAAZ,IAAyB,GAAzD,IAAgED,KAAK,CAACA,KAAN,CAAYC,SAAZ,IAAyB,GAA7F,EAAkG;AAC9F,sBAAID,KAAK,CAACA,KAAN,CAAYC,SAAZ,IAAyB,GAA7B,EAAkC;AAC9B,yBAAI,CAACxB,MAAL,CAAYO,QAAZ,CAAqB,CAAC,aAAD,CAArB;;AACA,yBAAI,CAACE,aAAL,CAAmBc,KAAnB,CAAyB,iDAAzB;AACH;;AACD,uBAAI,CAACd,aAAL,CAAmBc,KAAnB,CAAyB,iDAAzB;;AACA,uBAAI,CAACvB,MAAL,CAAYO,QAAZ,CAAqB,CAAC,aAAD,CAArB;AAEH;AAEJ;;AACD,kBAAGgB,KAAK,CAACD,MAAN,IAAgB,CAAhB,IAAqBC,KAAK,CAACE,UAAN,CAAiBC,QAAjB,CAA0B,eAA1B,CAAxB,EAAmE;AAC/DC,uBAAO,CAACC,GAAR,CAAY,sBAAZ;;AACA,qBAAI,CAACnB,aAAL,CAAmBc,KAAnB,CAAyB,sBAAzB;AACH,eAhBI,CAiBL;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACH,aA9CL,CADG,CAAP;AAkDH;;;;;;;yBAjFQf,gB,EAAe,4H,EAAA,2G,EAAA,6G;AAAA,O;;;eAAfA,gB;AAAe,iBAAfA,gBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZrB,UAAMe,MAAK,GAAG;AACjBM,WAAG,EAAE;AADY,OAAd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOP,UAAMC,MAAM,GAAW,CACrB;AACEC,YAAI,EAAE,MADR;AAEEC,oBAAY,EAAE;AAAA,iBAAM;AAAA;AAAA,kBAA6B1C,IAA7B,CAAkC,UAAC2C,CAAD;AAAA,mBAAOA,CAAC,CAACC,UAAT;AAAA,WAAlC,CAAN;AAAA;AAFhB,OADqB,EAMrB;AAAEH,YAAI,EAAE,EAAR;AAAYI,kBAAU,EAAE,MAAxB;AAAgCC,iBAAS,EAAE;AAA3C,OANqB,EAOrB;AACEL,YAAI,EAAE,cADR;AAEEM,iBAAS,EAAE,kEAAAC;AAFb,OAPqB,EAWrB;AACEP,YAAI,EAAE,EADR;AAEEM,iBAAS,EAAE,oDAAAE,cAFb;AAGEC,mBAAW,EAAE,CAAC,yDAAA1C,SAAD,CAHf;AAIE2C,gBAAQ,EAAE,CACR;AAAEV,cAAI,EAAE,iBAAR;AAA2BM,mBAAS,EAAE,kEAAAC;AAAtC,SADQ,EAGR;AACEP,cAAI,EAAE,MADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,oBAAuC1C,IAAvC,CAA4C,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACS,eAAT;AAAA,aAA5C,CADY;AAAA;AAFhB,SAHQ,EAWR;AACEX,cAAI,EAAE,qBADR;AAEEC,sBAAY,EAAE;AAAA,mBACd;AAAA;AAAA;AAAA;AAAA,oBAA4C1C,IAA5C,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACS,eAAT;AAAA,aADF,CADc;AAAA;AAFhB,SAXQ,EAmBR;AACEX,cAAI,EAAE,MADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,oBAAmC1C,IAAnC,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACU,UAAT;AAAA,aADF,CADY;AAAA;AAFhB,SAnBQ,EA2BR;AACEZ,cAAI,EAAE,eADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,mBAAqD1C,IAArD,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACW,mBAAT;AAAA,aADF,CADY;AAAA;AAFhB,SA3BQ,EAmCR;AACEb,cAAI,EAAE,UADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,oBAA2C1C,IAA3C,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACY,cAAT;AAAA,aADF,CADY;AAAA;AAFhB,SAnCQ,EA2CR;AACEd,cAAI,EAAE,SADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,oBAAyC1C,IAAzC,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACa,aAAT;AAAA,aADF,CADY;AAAA;AAFhB,SA3CQ,EAmDR;AACEf,cAAI,EAAE,UADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,oBAA2C1C,IAA3C,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACc,cAAT;AAAA,aADF,CADY;AAAA;AAFhB,SAnDQ,EA4DR;AACEhB,cAAI,EAAE,UADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,oBAA6D1C,IAA7D,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACe,sBAAT;AAAA,aADF,CADY;AAAA;AAFhB,SA5DQ,EAoER;AACEjB,cAAI,EAAE,eADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,oBAAqD1C,IAArD,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACgB,kBAAT;AAAA,aADF,CADY;AAAA;AAFhB,SApEQ,EA4ER;AACElB,cAAI,EAAE,cADR;AAEEC,sBAAY,EAAE;AAAA,mBACZ;AAAA;AAAA;AAAA;AAAA,oBAAmD1C,IAAnD,CACE,UAAC2C,CAAD;AAAA,qBAAOA,CAAC,CAACiB,iBAAT;AAAA,aADF,CADY;AAAA;AAFhB,SA5EQ;AAJZ,OAXqB,CAqGrB;AArGqB,OAAvB;;UA4GaC,iB;;;;;yBAAAA,iB;AAAgB,O;;;cAAhBA;;;kBAHF,CAAC,6CAAAC,YAAA,SAAqBtB,MAArB,EAA6B;AAAEuB,gCAAsB,EAAE;AAA1B,SAA7B,CAAD,C,EACC,6CAAAD,Y;;;;4HAECD,iB,EAAgB;AAAA;AAAA,oBAFjB,6CAAAC,YAEiB;AAAA,S;AAFL,O;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCpGXE,a;AAUX,+BACUC,iBADV,EAEU9C,aAFV,EAGUV,WAHV,EAGkC;AAAA;;AAAA;;AAFxB,eAAAwD,iBAAA,GAAAA,iBAAA;AACA,eAAA9C,aAAA,GAAAA,aAAA;AACA,eAAAV,WAAA,GAAAA,WAAA;AAZV,eAAAyD,KAAA,GAAQ,sBAAR;AACA,eAAAlC,MAAA,GAAS,QAAT;AACA,eAAAmC,WAAA,GAAc,IAAd;AAYE,eAAKF,iBAAL,CAAuBG,OAAvB,GAAiCpD,SAAjC,CAA2C,UAAAmD,WAAW,EAAI;AACxD,kBAAI,CAACA,WAAL,GAAmBA,WAAnB;;AACA,gBAAI,MAAI,CAACA,WAAT,EAAsB;AACpB,oBAAI,CAACnC,MAAL,GAAc,QAAd;AACD,aAFD,MAGK;AACH,oBAAI,CAACA,MAAL,GAAc,SAAd;;AACA,oBAAI,CAACvB,WAAL,CAAiBM,MAAjB,CAAwB,MAAI,CAACF,WAAL,CAAiBwD,GAAzC;;AACA,oBAAI,CAAClD,aAAL,CAAmBc,KAAnB,CAAyB,iBAAzB;AACD;AACF,WAVD;AAWD;;;;iBAnBD,oBAAQ;AACN,iBAAKpB,WAAL,GAAmB,KAAKJ,WAAL,CAAiBK,gBAApC;AACD;;;;;;;yBATUkD,a,EAAY,qI,EAAA,sH,EAAA,qI;AAAA,O;;;cAAZA,a;AAAY,iC;AAAA,gB;AAAA,e;AAAA,oE;AAAA;AAAA;ACbzB;;AACE;;AAGA;;AACF;;;;AAJkB;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCDLM,gB;;;;AACK,uBAAAC,cAAA,GAAiB,gBAAjB;AACA,uBAAAC,KAAA,GAAQ,QAAR;AACA,uBAAAC,MAAA,GAAS,SAAT;AACA,uBAAAC,cAAA,GAAiB,gBAAjB,C,CAAmC;AAGrD;AACA;;UACaC,Y;;;;AAEK,mBAAAC,IAAA,GAAO,aAAP;AAEA,mBAAAC,QAAA,GAAW,iBAAX;AAEA,mBAAAC,aAAA,GAAgB,sBAAhB;AAEA,mBAAAC,OAAA,GAAU,gBAAV;AAEA,mBAAAC,QAAA,GAAW,iBAAX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCoClB;AACA;AACA;AACA;AACA;AACA;;;AAxBA,UAAMC,MAAM,GAAmB;AAC9BC,WAAG,EAAE,2DAAAC,WAAA,YADyB;AAE9BC,eAAO,EAAE;AACRC,oBAAU,EAAE,CAAC,WAAD;AADJ;AAFqB,OAA/B;;UA0FaC,U;;;;;yBAAAA,U;AAAS,O;;;cAATA,U;AAAS,oBAHR,4CAAAtB,YAGQ;;;mBApBT,CACT;AAAEuB,iBAAO,EAAE,mDAAAC,iBAAX;AAA8BC,kBAAQ,EAAE,uDAAAvE,eAAxC;AAAyDwE,eAAK,EAAE;AAAhE,SADS,EAET,0DAAAlF,SAFS,EAGT,yDAAAmF,WAHS,EAIT,6DAAAC,aAJS,EAKT,oEAAAC,gBALS,EAMT,+DAAAC,cANS,EAOT,uDAAAC,WAPS,EAQT,yEAAAC,oBARS,EAST,qFAAAC,uBATS,EAUT,6DAAAC,cAVS,EAWT,4EAAAC,UAXS,EAYT,+DAAAC,eAZS,EAaT,yEAAAC,mBAbS,EAcT,uEAAAC,kBAdS,EAeT,+DAAAC,eAfS,C;AAgBV,kBAhDQ,CACP,8CAAAC,YADO,EAEP,iDAAAC,cAFO,EAGP,wDAAAC,aAHO,EAIP,mEAAAC,uBAJO,EAKP,iDAAA9C,gBALO,EAMP,+CAAAjB,UANO,EAOP,mDAAAgE,YAPO,EAQP,gDAAAC,kBARO,EASP,mDAAAC,gBATO,EAUP,6CAAAC,kBAAA,UAVO,EAWP,yCAAAC,YAAA,SAAqB;AACnBC,2BAAiB,EAAE;AADA,SAArB,CAXO,EAcP,mDAAAH,gBAdO,EAeP,6CAAAI,WAfO,EAgBP,6CAAAC,mBAhBO,EAiBP,2DAAAC,kBAjBO,EAkBP,sDAAAC,cAlBO,EAmBP,qDAAAC,aAnBO,EAoBP,iDAAAC,WAAA,UApBO,EAqBP,4CAAAC,iBArBO,EAsBP,yDAAAC,eAtBO,EAuBP;AACA,yDAAAC,qBAxBO,EAyBP,uDAAAC,eAzBO,EA0BP,4CAAAC,iBAAA,eAAgC,2DAAAzC,WAAA,SAAhC,CA1BO,EA2BP,sDAAA0C,0BA3BO,EA4BP;AACA;AACA,qEAAAC,oBA9BO,CAgDR;;;;6HAIUxC,U,EAAS;AAAA,yBA1DlB,4CAAAtB,YA0DkB,EAzDlB,oDAAAf,cAyDkB,EAxDlB,mEAAAD,oBAwDkB;AAxDE,oBAKpB,8CAAAwD,YALoB,EAMpB,iDAAAC,cANoB,EAOpB,wDAAAC,aAPoB,EAQpB,mEAAAC,uBARoB,EASpB,iDAAA9C,gBAToB,EAUpB,+CAAAjB,UAVoB,EAWpB,mDAAAgE,YAXoB,EAYpB,gDAAAC,kBAZoB,EAapB,mDAAAC,gBAboB,EAaJ,+DAbI,EAaJ,qDAbI,EAkBpB,mDAAAA,gBAlBoB,EAmBpB,6CAAAI,WAnBoB,EAoBpB,6CAAAC,mBApBoB,EAqBpB,2DAAAC,kBArBoB,EAsBpB,sDAAAC,cAtBoB,EAuBpB,qDAAAC,aAvBoB,EAuBP,4DAvBO,EAyBpB,4CAAAE,iBAzBoB,EA0BpB,yDAAAC,eA1BoB,EA2BpB;AACA,2DAAAC,qBA5BoB,EA6BpB,uDAAAC,eA7BoB,EA6BL,6DA7BK,EA+BpB,sDAAAE,0BA/BoB,EAgCpB;AACA;AACA,uEAAAC,oBAlCoB;AAwDF,S;AAtBE,O;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFxB,UAAMtF,MAAM,GAAW,CACrB;AAAEC,YAAI,EAAE,OAAR;AAAiBM,iBAAS,EAAE,+DAAAgF;AAA5B,OADqB,EAErB;AAAEtF,YAAI,EAAE,QAAR;AAAkBM,iBAAS,EAAE,iEAAAiF;AAA7B,OAFqB,EAGrB;AAAEvF,YAAI,EAAE,iBAAR;AAA2BM,iBAAS,EAAE,mFAAAkF;AAAtC,OAHqB,EAIrB;AAAExF,YAAI,EAAE,YAAR;AAAsBM,iBAAS,EAAE,yEAAAmF;AAAjC,OAJqB,EAKrB;AAAEzF,YAAI,EAAE,EAAR;AAAYI,kBAAU,EAAE,SAAxB;AAAmCC,iBAAS,EAAE;AAA9C,OALqB,EAMrB;AAAEL,YAAI,EAAE,gBAAR;AAA0BM,iBAAS,EAAE,iFAAAoF;AAArC,OANqB,EAOrB;AAAE1F,YAAI,EAAE,sBAAR;AAAgCM,iBAAS,EAAE,iFAAAqF;AAA3C,OAPqB,EAQrB;AAAE3F,YAAI,EAAE,gBAAR;AAA0BM,iBAAS,EAAE,iFAAAsF;AAArC,OARqB,EASrB;AAAE5F,YAAI,EAAE,SAAR;AAAmBM,iBAAS,EAAE,gFAAAuF;AAA9B,OATqB,CAAvB;;UA6Ca1F,W;;;;;yBAAAA,W;AAAU,O;;;cAAVA;;;kBApBF,CACP,qDAAA0E,aADO,EAEP,2DAAAF,kBAFO,EAGP,8CAAAZ,YAHO,EAIP,mDAAAI,YAJO,EAKP,6CAAAM,WALO,EAMP,oDAAAT,cANO,EAOP,kDAAA8B,WAPO,EAQP,6CAAApB,mBARO,EASP,iDAAAI,WAAA,UATO,EAUP,8CAAAzD,YAAA,UAAsBtB,MAAtB,CAVO,EAWP,sDAAA6E,cAXO,EAYP,sDAAAmB,cAZO,C;;;;6HAoBE5F,W,EAAU;AAAA,yBA7BnB,+DAAAmF,cA6BmB,EA5BnB,iEAAAC,eA4BmB,EA3BnB,mFAAAC,uBA2BmB,EA1BnB,yEAAAC,kBA0BmB,EAzBnB,iFAAAC,sBAyBmB,EAxBnB,iFAAAC,sBAwBmB,EAvBnB,iFAAAC,sBAuBmB,EAtBnB,gFAAAC,qBAsBmB;AAtBE,oBAGrB,qDAAAhB,aAHqB,EAIrB,2DAAAF,kBAJqB,EAKrB,8CAAAZ,YALqB,EAMrB,mDAAAI,YANqB,EAOrB,6CAAAM,WAPqB,EAQrB,oDAAAT,cARqB,EASrB,kDAAA8B,WATqB,EAUrB,6CAAApB,mBAVqB,EAUF,4DAVE,EAUF,0DAVE,EAarB,sDAAAE,cAbqB,EAcrB,sDAAAmB,cAdqB,CAsBF;AARL,oBAGd,iFAAAJ,sBAHc,EAId,iFAAAC,sBAJc;AAQK,S;AAJG,O;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UC1DbH,mB;AAEX,uCAAc;AAAA;AAAG;;;;iBAEjB,oBAAQ,CACP;;;;;;;yBALUA,mB;AAAkB,O;;;cAAlBA,mB;AAAkB,uC;AAAA,iB;AAAA,e;AAAA,4W;AAAA;AAAA;ACP/B;;AACI;;AACI;;AACI;;AAAkB;;AAAuE;;AACzF;;AACI;;AACI;;AACI;;AAAI;;AAAmB;;AACvB;;AAAgB;;AAChB;;AACA;;AACI;;AAA6D;;AAAO;;AACpE;;AAA8B;;AAAyB;;AAAY;;AAAM;;AAAI;;AACjF;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGoC;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AANJ;;AACI;;AAGA;;AAGJ;;;;;;AANW;;AAAA;;AAGA;;AAAA;;;;;;;;AAoBvC;;AACE;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,OAAAO,QAAA,OAAT;AAAwB,WAAxB;;AAChE;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACI;;AAGF;;AAAG;;AAA0B;;AAAM;;AAAU;;AAC7C;;AAEE;;AAA2C;AAAA;;AAAA;;AAAA;AAAA;;AAAuD;;AAAE;;AAEtG;;AACF;;;;UC/CSR,wB;AAQX,0CACUxH,WADV,EAEUC,MAFV,EAGUgI,YAHV,EAIUC,MAJV,EAI+B;AAAA;;AAHrB,eAAAlI,WAAA,GAAAA,WAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AACA,eAAAgI,YAAA,GAAAA,YAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AAVV,eAAAC,SAAA,GAAqB,KAArB;AAaA,eAAAC,QAAA,GAAW,2JAAX;AACA,eAAAC,SAAA,GAAY,IAAI,4CAAAC,SAAJ,CAAc;AACxBC,iBAAK,EAAE,IAAI,4CAAAC,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,MAAtB,EAAuC,4CAAAA,UAAA,SAAmB,KAAKL,QAAxB,CAAvC,CAApB;AADiB,WAAd,CAAZ;AAHK;;;;iBAOL,oBAAQ,CACP;;;eAED,eAAQ;AACN,mBAAO,KAAKC,SAAL,CAAeK,QAAtB;AACD;;;iBAED,mBAAUC,QAAV,EAAsC;AACpC,iBAAKX,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuBD,QAAvB,CAAhB;AACD;;;iBAKD,yBAAgB;AAAA;;AACd,iBAAKR,SAAL,GAAiB,IAAjB;AACA,gBAAI,KAAKE,SAAL,CAAeQ,OAAf,IAA0B,KAAKR,SAAL,CAAeS,QAA7C,EAAuD;AACvD,iBAAKX,SAAL,GAAiB,KAAjB;AACA,iBAAKnI,WAAL,CAAiB+I,cAAjB,CAAgC;AAACR,mBAAK,EAAC,KAAKF,SAAL,CAAeW,KAAf,CAAqBT,KAArB,CAA2BU,WAA3B;AAAP,aAAhC,EACC1I,SADD,CACW,UAAC2I,GAAD,EAAc;AACvB,kBAAIA,GAAG,CAACC,IAAJ,IAAY,SAAhB,EAA2B;AACzB,sBAAI,CAACC,gBAAL,GAAwB,MAAI,CAACf,SAAL,CAAeW,KAAf,CAAqBT,KAA7C,CADyB,CAEzB;;AACA,sBAAI,CAACL,MAAL,CAAYmB,OAAZ,CAAoBH,GAAG,CAACI,OAAxB;;AACA,sBAAI,CAACF,gBAAL,GAAwB,MAAI,CAACf,SAAL,CAAeW,KAAf,CAAqBT,KAArB,CAA2BU,WAA3B,EAAxB;;AACA,sBAAI,CAACjJ,WAAL,CAAiBuJ,YAAjB,CAA8B,MAAI,CAACH,gBAAnC;;AACAI,4BAAY,CAACC,OAAb,CAAqB,cAArB,EAAqCC,IAAI,CAACC,SAAL,CAAe,MAAI,CAACP,gBAApB,CAArC;;AACA,sBAAI,CAACnJ,MAAL,CAAY2J,aAAZ,CAA0B,sBAA1B;AAED;AACF,aAZD,EAYE,UAACpI,KAAD,EAAgB;AAChB,oBAAI,CAAC0G,MAAL,CAAY1G,KAAZ,CAAkBA,KAAK,CAACA,KAAN,CAAY8H,OAA9B;AACD,aAdD,EAJc,CAmBd;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;iBAED,mBAAO;AACL,iBAAKtB,QAAL,CAAc6B,IAAd,GADK,CAEL;AACA;;AACA,iBAAK5J,MAAL,CAAY2J,aAAZ,CAA0B,sBAA1B;AAED;;;;;;;yBApFUpC,wB,EAAuB,gI,EAAA,oH,EAAA,gI,EAAA,sH;AAAA,O;;;cAAvBA,wB;AAAuB,4C;AAAA;AAAA;;;;;;;;;;;;;;;ADbpC;;AACI;;AAII;;AAGI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACA;;AAAsB;;AAAM;;AAAU;;AAAQ;;AAAQ;;AACtD;;AAAgB;;AAAmC;;AAAI;;AAAiB;;AACxE;;AAA8B;AAAA,qBAAU,IAAAsC,aAAA,EAAV;AAAyB,aAAzB;;AAC1B;;AAGI;;AACA;;AAQJ;;AACA;;AAA0I;;AAAI;;AAC1I;;AACI;;AAA0B;;AAAQ;;AAA2E;;AAAM;;AAAO;;AAC9H;;AACR;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAIA;;;;AA5B8B;;AAAA;;AAKQ;;AAAA;;AASiG;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEtBxH;;AACG;;AACA;;AACH;;AAA0B;;AAAgB;;AAAK;;AAAS;;AAElD;;AAAuB;;AAAuB;;AAAI;;AAAgC;;AACrF;;AACH;;;;;;AANQ;;AAAA,wJAAmB,IAAnB,EAAmB,YAAnB;;;;;;AALf;;AAEE;;AACE;;AACG;;AAQH;;AAEF;;AACF;;;;;;AAZc;;AAAA,kGAAuB,gBAAvB,EAAuB,oBAAvB,EAAuB,UAAvB,EAAuB,IAAvB,EAAuB,YAAvB,EAAuB,IAAvB;;AACkB;;AAAA;;;;;;AAchC;;AACE;;AACA;;AAAsB;;AAAM;;AAC9B;;;;;;AACA;;AACE;;AAA6B;;AAAa;;AAC1C;;AAA0B;;AAAyB;;AACrD;;;;;;AAGE;;AACE;;AACF;;;;;;AAeQ;;AACE;;AACF;;;;;;AANF;;AAIE;;AAOF;;;;;;AAPS;;AAAA;;;;;;AAQT;;AACE;;AACE;;AACF;;AACF;;;;;;AAWQ;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AANJ;;AACI;;AAGA;;AAGJ;;;;;;AANW;;AAAA;;AAGA;;AAAA;;;;;;;;AAiC7B;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,QAAA9B,QAAA,OAAT;AAAwB,WAAxB;;AAC9D;;AAAyB;;AAAO;;AACpC;;AACJ;;AACA;;AAGI;;AAA+C;;AAAkC;;AAAI;;AAAoC;;AAAmB;;AAAI;;AACpJ;;;;;;;;;;;UCpGWV,e;AAoCX,iCACUtH,WADV,EAEUC,MAFV,EAGUiI,MAHV,EAIU6B,EAJV,EAKU9B,YALV,EAMU+B,OANV,EAOUC,SAPV,EAOyC;AAAA;;AAN/B,eAAAjK,WAAA,GAAAA,WAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AACA,eAAAiI,MAAA,GAAAA,MAAA;AACA,eAAA6B,EAAA,GAAAA,EAAA;AACA,eAAA9B,YAAA,GAAAA,YAAA;AACA,eAAA+B,OAAA,GAAAA,OAAA;AACA,eAAAC,SAAA,GAAAA,SAAA;AA1CV,eAAA9B,SAAA,GAAqB,KAArB;AACA,eAAA3G,KAAA,GAAQ,mDAAAA,KAAA,CAAAM,GAAR;AAEA,eAAAoI,QAAA,GAAoB,KAApB,CAuCyC,CAtCzC;;AACA,eAAAL,IAAA,GAAO,IAAP;AACA,eAAAM,KAAA,GAAQ,IAAR;AACA,eAAAC,KAAA,GAAQ,IAAR,CAmCyC,CAlCzC;;AAEA,eAAAC,QAAA,GAAgB,CAAhB;AAEA,eAAAC,KAAA,GAAgB,CAAhB,CA8ByC,CA7BzC;;AACA,eAAAC,MAAA,GAAS,CACP;AACA;AACA;AAEA;AAGA;AACA;AACA;AAEA;AAACC,iBAAK,EAAE,6CAAR;AAAuDC,gBAAI,EAAE;AAA7D,WAZO,EAaP;AAACD,iBAAK,EAAE,0CAAR;AAAmDC,gBAAI,EAAE,QAAzD;AAAmE7K,cAAE,EAAC;AAAtE,WAbO,EAcP;AAAC4K,iBAAK,EAAE,0CAAR;AAAmDC,gBAAI,EAAE,OAAzD;AAAkE7K,cAAE,EAAC;AAArE,WAdO,CAAT;AAgBD,eAAA8K,YAAA,GAAe,KAAf;AACA,eAAAC,aAAA,GAAgB,IAAhB;AAkHC,eAAAvC,QAAA,GAAW,2JAAX,CAvGyC,CAwGzC;;AACA,eAAAwC,aAAA,GAAgB,sIAAhB;;AAvGE,cAAIC,MAAM,CAACC,KAAP,GAAe,GAAnB,EAAwB;AACtB;AACA,iBAAKZ,QAAL,GAAgB,IAAhB;AACD,WAHD,MAGO;AACL;AACA,iBAAKA,QAAL,GAAgB,KAAhB;AACD;AACF;;;;iBAQD,oBAAW;AAAA;;AACT,iBAAKa,QAAL,GADS,CAET;AACA;AACA;AACA;;AACA,gBAAI3K,WAAW,GAAG,KAAKJ,WAAL,CAAiBK,gBAAnC;;AACA,gBAAGD,WAAH,EAAe;AACb;AACA,mBAAK4J,OAAL,CAAagB,UAAb,GAA0BzK,SAA1B,CAAoC,UAAC2I,GAAD,EAAa;;;AAC/C,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,wBAAI,CAAC8B,cAAL,GAAsB/B,GAAG,CAACgC,IAA1B;AACAtJ,yBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA8B,MAAI,CAACoJ,cAAnC;;AACA,sBAAG/B,GAAG,CAACgC,IAAJ,CAASC,cAAT,IAAyB,IAA5B,EAAiC;AAC/B,0BAAI,CAAClL,MAAL,CAAY2J,aAAZ,CAA0B,WAA1B;AACD,mBAFD,MAEO,IAAG,EAAC,YAAI,CAACqB,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEG,IAAtB,CAAH,EAA8B;AACnC,0BAAI,CAACnL,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B;AACD,mBAFM,MAGH;AACF,wBAAGJ,YAAY,CAAC6B,OAAb,CAAqB,kBAArB,CAAH,EAA4C;AAC1C,0BAAG7B,YAAY,CAAC6B,OAAb,CAAqB,kBAArB,KAA4C,UAA5C,IAA0D7B,YAAY,CAAC6B,OAAb,CAAqB,kBAArB,KAA4C,KAAtG,IAA+G7B,YAAY,CAAC6B,OAAb,CAAqB,kBAArB,KAA4C,OAA9J,EAAsK;AACpK,8BAAI,CAACpL,MAAL,CAAY2J,aAAZ,CAA0B,OAA1B;AACD,uBAFD,MAGI;AACF,8BAAI,CAAC3J,MAAL,CAAY2J,aAAZ,CAA0B,eAAaJ,YAAY,CAAC6B,OAAb,CAAqB,kBAArB,CAAvC;AACD;AACF,qBAPD,MAQK,IAAGnC,GAAG,CAACgC,IAAJ,CAASI,QAAT,KAAqB,YAAApC,GAAG,CAACgC,IAAJ,CAASK,QAAT,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEC,WAAnB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEC,MAArD,CAAH,EAA+D;AAClE,0BAAGvC,GAAG,CAACgC,IAAJ,CAASE,IAAT,IAAiB,QAApB,EAA6B;AAC3B,4BAAG,MAAAlC,GAAG,CAACgC,IAAJ,CAASQ,SAAT,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAED,MAAvB,EAA8B;AAC5B,gCAAI,CAACxL,MAAL,CAAY2J,aAAZ,CAA0B,OAA1B;AACD,yBAFD,MAIE,MAAI,CAAC3J,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B;AACH,uBAND,MAOK,IAAGV,GAAG,CAACgC,IAAJ,CAASE,IAAT,IAAiB,WAApB,EAAgC;AACnC,4BAAG,MAAAlC,GAAG,CAACgC,IAAJ,CAASS,YAAT,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEF,MAA1B,EAAiC;AAC/B,gCAAI,CAACxL,MAAL,CAAY2J,aAAZ,CAA0B,OAA1B;AACD,yBAFD,MAIE,MAAI,CAAC3J,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B;AACH,uBANI,MAQH,MAAI,CAAC3J,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B;AACH,qBAjBI,MAkBD;AACF;AACA;AACA;AACA;AACE,4BAAI,CAAC3J,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B,EALA,CAMF;;AAED;AAEF,mBA7CsB,CA+CvB;;AACD;AACF,eAlDD,EAFa,CAqDb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AACD;;;eAEF,eAAQ;AACN,mBAAO,KAAKgC,SAAL,CAAelD,QAAtB;AACD;;;iBAKD,oBAAQ;AACN,iBAAKkD,SAAL,GAAiB,KAAK7B,EAAL,CAAQ8B,KAAR,CAAc;AAC7BtD,mBAAK,EAAE,IAAI,4CAAAC,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,MAAtB,EAAuC,4CAAAA,UAAA,SAAmB,KAAKL,QAAxB,CAAvC,CAApB,CADsB;AAE7B0D,sBAAQ,EAAE,IAAI,4CAAAtD,WAAJ,CAAgB,EAAhB,EAAoB,CAC5B,4CAAAC,UAAA,SAD4B,EAE5B,4CAAAA,UAAA,WAAqB,CAArB,CAF4B,CAApB;AAFmB,aAAd,CAAjB;AAOD;;;iBAED,0BAAiBrH,KAAjB,EAA6B;AAC3BQ,mBAAO,CAACC,GAAR,CAAY,OAAZ,EAAqBT,KAArB;;AACA,gBAAIA,KAAK,CAAC2K,MAAN,CAAaC,OAAb,IAAwB,IAA5B,EAAkC;AAChC,mBAAK3B,QAAL,GAAgB,CAAhB;AACA,mBAAKC,KAAL,GAAa,CAAb;AACD;AACF;;;iBAED,4BAAmBlJ,KAAnB,EAA+B;AAC7B,gBAAIA,KAAK,CAAC2K,MAAN,CAAaC,OAAb,IAAwB,IAA5B,EAAkC;AAChC,mBAAK3B,QAAL,GAAgB,CAAhB;AACA,mBAAKC,KAAL,GAAa,CAAb;AACD;AACF;;;iBAED,yBAAgBlJ,KAAhB,EAA4B;AAC1B,gBAAIA,KAAK,CAAC2K,MAAN,CAAaC,OAAb,IAAwB,IAA5B,EAAkC;AAChC,mBAAK3B,QAAL,GAAgB,CAAhB;AACA,mBAAKC,KAAL,GAAa,CAAb;AACD;AACF;;;iBAED,iBAAQ;AAAA;;AACN,iBAAKnC,SAAL,GAAiB,IAAjB;AACA,gBAAI,KAAKyD,SAAL,CAAe/C,OAAf,IAA0B,KAAK+C,SAAL,CAAe9C,QAA7C,EAAuD;AACvD,iBAAKX,SAAL,GAAiB,KAAjB;AACA,gBAAI8D,IAAI,GAAQ;AACd1D,mBAAK,EAAE,KAAKqD,SAAL,CAAe5C,KAAf,CAAqBT,KAArB,CAA2BU,WAA3B,EADO;AAEd6C,sBAAQ,EAAE,KAAKF,SAAL,CAAe5C,KAAf,CAAqB8C;AAFjB,aAAhB;AAKAlK,mBAAO,CAACC,GAAR,CAAYoK,IAAZ;AAEA,iBAAKjM,WAAL,CAAiBkM,KAAjB,CAAuBD,IAAvB,EAA6B1L,SAA7B,CACE,UAAC2I,GAAD,EAAc;AACZ,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvBK,4BAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCC,IAAI,CAACC,SAAL,CAAeT,GAAG,CAACgC,IAAnB,CAApC;;AACA,sBAAI,CAAClB,OAAL,CAAagB,UAAb,GAA0BzK,SAA1B,CAAoC,UAAC2I,GAAD,EAAa;;;AAC/C,sBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,0BAAI,CAAC8B,cAAL,GAAsB/B,GAAG,CAACgC,IAA1B;AACAtJ,2BAAO,CAACC,GAAR,CAAY,iBAAZ,EAA8B,MAAI,CAACoJ,cAAnC;;AACA,wBAAG/B,GAAG,CAACgC,IAAJ,CAASC,cAAT,IAAyB,IAA5B,EAAiC;AAC/B,4BAAI,CAAClL,MAAL,CAAY2J,aAAZ,CAA0B,WAA1B;AACD,qBAFD,MAGK,IAAG,EAAC,YAAI,CAACqB,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEG,IAAtB,CAAH,EAA8B;AACjC,4BAAI,CAACnL,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B;AACD,qBAFI,MAGD;AACF,0BAAGJ,YAAY,CAAC6B,OAAb,CAAqB,kBAArB,CAAH,EAA4C;AAC1C,4BAAG7B,YAAY,CAAC6B,OAAb,CAAqB,kBAArB,KAA4C,UAA/C,EAA0D;AACxD,gCAAI,CAACpL,MAAL,CAAY2J,aAAZ,CAA0B,OAA1B;;AACA,gCAAI,CAACK,SAAL,CAAekC,QAAf,CAAwB,mDAAAtI,eAAA,MAAxB,EAA8C;AAACuI,sCAAU,EAAC;AAAZ,2BAA9C;AACD,yBAHD,MAII;AACF,gCAAI,CAACnM,MAAL,CAAY2J,aAAZ,CAA0B,eAAaJ,YAAY,CAAC6B,OAAb,CAAqB,kBAArB,CAAvC;AACD;AACF,uBARD,MASK,IAAGnC,GAAG,CAACgC,IAAJ,CAASI,QAAT,KAAqB,YAAApC,GAAG,CAACgC,IAAJ,CAASK,QAAT,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEC,WAAnB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEC,MAArD,CAAH,EAA+D;AAElE,4BAAGvC,GAAG,CAACgC,IAAJ,CAASE,IAAT,IAAiB,QAApB,EAA6B;AAC3B,8BAAG,MAAAlC,GAAG,CAACgC,IAAJ,CAASQ,SAAT,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAED,MAAvB,EAA8B;AAC5B,kCAAI,CAACxL,MAAL,CAAY2J,aAAZ,CAA0B,OAA1B;;AACA,kCAAI,CAACK,SAAL,CAAekC,QAAf,CAAwB,mDAAAtI,eAAA,MAAxB,EAA8C;AAACuI,wCAAU,EAAC;AAAZ,6BAA9C;AACD,2BAHD,MAKE,MAAI,CAACnM,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B;AACH,yBAPD,MAQK,IAAGV,GAAG,CAACgC,IAAJ,CAASE,IAAT,IAAiB,WAApB,EAAgC;AACnC,8BAAG,MAAAlC,GAAG,CAACgC,IAAJ,CAASS,YAAT,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEF,MAA1B,EAAiC;AAC/B,kCAAI,CAACxL,MAAL,CAAY2J,aAAZ,CAA0B,OAA1B;;AACA,kCAAI,CAACK,SAAL,CAAekC,QAAf,CAAwB,mDAAAtI,eAAA,MAAxB,EAA8C;AAACuI,wCAAU,EAAC;AAAZ,6BAA9C;AACD,2BAHD,MAKE,MAAI,CAACnM,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B;AACH,yBAPI,MASH,MAAI,CAAC3J,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B,EAnBgE,CAoBlE;AACA;AACA;;AACD,uBAvBI,MAwBD;AACF;AACA;AACA;AACA;AACE,8BAAI,CAAC3J,MAAL,CAAY2J,aAAZ,CAA0B,uBAA1B,EALA,CAMF;;AAED;AAEF;;AAEDJ,gCAAY,CAAC6C,UAAb,CAAwB,cAAxB;AACD;AACF,iBA1DD,EAFuB,CA6DvB;;AACD,eA9DD,MA+DI;AACF,sBAAI,CAACnE,MAAL,CAAY1G,KAAZ,CAAkB0H,GAAG,CAACoD,GAAtB;AACD;AACF,aApEH,EAqEE,UAACxK,GAAD,EAAS;;;AACP,kBAAG,aAAAA,GAAG,CAACN,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE8H,OAAX,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEA,OAApB,KAA6B,6CAAhC,EAA8E;AAC1E,sBAAI,CAACtB,QAAL,GAAgB,MAAI,CAACC,YAAL,CAAkBW,IAAlB,CAAuB,MAAI,CAACD,QAA5B,EAAsC;AAAC,2BAAO;AAAR,iBAAtC,CAAhB;AACH,eAFD,MAEK;AACH,oBAAG,aAAA7G,GAAG,CAACN,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE8H,OAAX,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEiD,eAApB,KAAqC,OAAxC,EAAgD;AAC9C,wBAAI,CAACrE,MAAL,CAAY1G,KAAZ,CAAkB,mCAAlB;AACD;;AAGD,oBAAG,aAAAM,GAAG,CAACN,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE8H,OAAX,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEkD,YAApB,KAAoC,KAAvC,EAA6C;AACzC,wBAAI,CAACtE,MAAL,CAAY1G,KAAZ,CAAkBM,GAAG,CAACN,KAAJ,CAAU8H,OAAV,CAAkBA,OAApC;AACH;;AAAA,iBARE,CASH;AACA;AACA;AACA;;AACE,oBAAG,aAAAxH,GAAG,CAACN,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE8H,OAAX,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEA,OAApB,KAA6B,mCAAhC,EAAoE;AAClE,wBAAI,CAACpB,MAAL,CAAY1G,KAAZ,CAAkBM,GAAG,CAACN,KAAJ,CAAU8H,OAAV,CAAkBA,OAApC;AACD;;AAED,oBAAG,OAAAxH,GAAG,CAACN,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE8H,OAAX,KAAoB,2BAAvB,EAAmD;AACjD,wBAAI,CAACpB,MAAL,CAAY1G,KAAZ,CAAkB,mCAAlB;AACD,iBAnBA,CAqBH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEAI,uBAAO,CAACC,GAAR,CAAYC,GAAZ;AACAF,uBAAO,CAACC,GAAR,CAAYC,GAAG,CAACP,MAAhB;AACAK,uBAAO,CAACC,GAAR,CAAYC,GAAG,CAACJ,UAAhB;;AACA,oBAAGI,GAAG,CAACP,MAAJ,IAAc,CAAd,IAAmBO,GAAG,CAACJ,UAAJ,CAAeC,QAAf,CAAwB,eAAxB,CAAtB,EAA+D;AAC7DC,yBAAO,CAACC,GAAR,CAAY,oBAAZ;;AACA,wBAAI,CAACqG,MAAL,CAAY1G,KAAZ,CAAkB,sBAAlB;AACD;AACF;AAEF,aA/GH;AAiHD;;;iBAED,mBAAUmH,QAAV,EAAoC;AAClC,iBAAKX,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuBD,QAAvB,CAAhB;AACD;;;iBAED,qBAAYnJ,CAAZ,EAAa;AACX,iBAAK2I,SAAL,GAAiB,KAAjB;AACA3I,aAAC,CAACuM,MAAF,CAAS/C,KAAT,GAAiBxJ,CAAC,CAACuM,MAAF,CAAS/C,KAAT,CAAeyD,OAAf,CAAuB,OAAvB,EAAgC,EAAhC,CAAjB;;AACA,gBAAGjN,CAAC,CAACkN,GAAF,IAAO,OAAP,IAAkB,KAAKd,SAAL,CAAee,KAApC,EAA0C;AACtC,mBAAKT,KAAL;AACH;AACF;;;;;;;yBA7TU5E,e,EAAc,gI,EAAA,oH,EAAA,sH,EAAA,wH,EAAA,gI,EAAA,kJ,EAAA,2I;AAAA,O;;;cAAdA,e;AAAc,kC;AAAA;AAAA;;;;;;;;;;;;;;;ADjB3B;;AACE;;AACE;;AACE;;AACE;;AAgBF;;AACA;;AACE;;AAIA;;AAIA;;AACE;;AACA;;AAGA;;AAAsD;;AAAM;;AAC5D;;AAEE;;AACE;;AAGE;;AAEA;AAAA,qBAAS,IAAAsF,WAAA,QAAT;AAA4B,aAA5B;;AAFA;;AAGA;;AAYA;;AAKF;;AACA;;AACI;;AACE;;AAEA;AAAA,qBAAS,IAAAA,WAAA,QAAT;AAA4B,aAA5B;;AAFA;;AAGA;;AAAqD;AAAA;AAAA;;AACnD;;AAA2B;;AAA0C;;AACvE;;AACA;;AAQJ;;AAEA;;AAAiI;;AAAgB;;AACnJ;;AAEA;;AACE;;AAAQ;AAAA,qBAAS,IAAAV,KAAA,EAAT;AAAgB,aAAhB;;AAAsI;;AAAM;;AACtJ;;AACF;;AAEA;;AACE;;AAAG;;AAAuB;;AAAgG;;AAAO;;AAAI;;AACvI;;AACA;;AAEE;;AAAgF;;AAA0E;;AAC1J;;AAAsG;;AAAkF;;AAC1L;;AACF;;AACF;;AACA;;AACF;;AACF;;AACF;;AACF;;AAIA;;;;AAvGoC;;AAAA;;AAkBiB;;AAAA;;AAIvC;;AAAA;;AAM0F;;AAAA;;AAMtF;;AAAA;;AAKF;;AAAA;;AAEM;;AAAA;;AAYA;;AAAA;;AAQc;;AAAA,6GAAmC,SAAnC,EAAmC,kJAAnC;;AAG4D;;AAAA,qGAAmC,cAAnC,EAAmC,QAAnC;;AAC/C;;AAAA;;AAEI;;AAAA;;AAc0E;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UE9ElHtE,uB;AAEX;AAAA;AACK;;;;iBAML,oBAAW,CAET;;;;;;;yBAXSA,uB;AAAsB,O;;;cAAtBA,uB;AAAsB,2C;AAAA,iB;AAAA,e;AAAA,iV;AAAA;AAAA;ACPnC;;AACI;;AACI;;AACA;;AACI;;AAAoD;;AAAoF;;AACxI;;AAAmC;;AAAM;;AAAO;;AAAQ;;AAAM;;AAClE;;AAEA;;AACI;;AAA2B;;AAAoB;;AAC/C;;AAAG;;AACH;;AAEA;;AAA2B;;AAAiB;;AAC5C;;AAAG;;AAEH;;AACJ;;AACJ;;AACA;;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACQE;;AACE;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,OAAAI,QAAA,OAAT;AAAwB,WAAxB;;AAChE;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACI;;AAGF;;AAAG;;AAAqB;;AAAM;;AAAa;;AAC3C;;AAEE;;AAA2C;AAAA;;AAAA;;AAAA;AAAA;;AAAuD;;AAAE;;AAEtG;;AACF;;;;UC/BSN,uB;AASX,yCACU1H,WADV,EAEUC,MAFV,EAGUgI,YAHV,EAIUC,MAJV,EAI+B;AAAA;;AAHrB,eAAAlI,WAAA,GAAAA,WAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AACA,eAAAgI,YAAA,GAAAA,YAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AAXV,eAAAC,SAAA,GAAqB,KAArB;AAcA,eAAAE,SAAA,GAAY,IAAI,4CAAAC,SAAJ,CAAc;AACxBC,iBAAK,EAAE,IAAI,4CAAAC,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,MAAtB,CAApB;AADiB,WAAd,CAAZ;AAFK;;;;iBAML,oBAAQ;AACN,iBAAKoE,UAAL,GAAkBrD,YAAY,CAAC6B,OAAb,CAAqB,cAArB,CAAlB,CADM,CAEN;AACA;;AACA,iBAAKwB,UAAL,GAAkB,KAAKA,UAAL,CAAgBC,KAAhB,CAAsB,CAAtB,EAAwB,KAAKD,UAAL,CAAgBpB,MAAhB,GAAuB,CAA/C,CAAlB;AAED;;;eAED,eAAQ;AACN,mBAAO,KAAKpD,SAAL,CAAeK,QAAtB;AACD;;;iBAED,mBAAUC,QAAV,EAAsC;AACpC,iBAAKX,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuBD,QAAvB,CAAhB;AACD;;;iBAKD,yBAAgB;AAAA;;AACd,iBAAKR,SAAL,GAAiB,IAAjB;AACA,gBAAI,KAAKE,SAAL,CAAeQ,OAAf,IAA0B,KAAKR,SAAL,CAAeS,QAA7C,EAAuD;AACvD,iBAAKX,SAAL,GAAiB,KAAjB;AAEA,iBAAKnI,WAAL,CAAiB+I,cAAjB,CAAgC;AAACR,mBAAK,EAAC,KAAKF,SAAL,CAAeW,KAAf,CAAqBT,KAArB,CAA2BU,WAA3B,EAAP;AAAiDoB,sBAAQ,EAAC;AAA1D,aAAhC,EACC9J,SADD,CACW,UAAC2I,GAAD,EAAc;AACvB,kBAAIA,GAAG,CAAC3H,MAAJ,IAAc,GAAlB,EAAuB;AACrB,sBAAI,CAAC6H,gBAAL,GAAwB,MAAI,CAACf,SAAL,CAAeW,KAAf,CAAqBT,KAA7C;;AACA,sBAAI,CAACwE,SAAL,CAAe,MAAI,CAACpE,QAApB;;AACA,sBAAI,CAACS,gBAAL,GAAwB,MAAI,CAACf,SAAL,CAAeW,KAAf,CAAqBT,KAArB,CAA2BU,WAA3B,EAAxB;;AACA,sBAAI,CAACjJ,WAAL,CAAiBuJ,YAAjB,CAA8B,MAAI,CAACH,gBAAnC;;AACAI,4BAAY,CAACC,OAAb,CAAqB,cAArB,EAAqCC,IAAI,CAACC,SAAL,CAAe,MAAI,CAACP,gBAApB,CAArC;AACD;AACF,aATD,EALc,CAed;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;iBAED,mBAAO;AACL,iBAAKpB,QAAL,CAAc6B,IAAd,GADK,CAEL;AACA;;AACA,iBAAK5J,MAAL,CAAY2J,aAAZ,CAA0B,QAA1B;AACD;;;iBAED,0BAAc;AAAA;;AACZ,iBAAK5J,WAAL,CAAiB+I,cAAjB,CAAgC;AAACR,mBAAK,EAAC,KAAKsE,UAAL,CAAgB5D,WAAhB;AAAP,aAAhC,EACC1I,SADD,CACW,UAAC2I,GAAD,EAAc;AACvB,kBAAIA,GAAG,CAACC,IAAJ,IAAY,SAAhB,EAA2B;AACzB,sBAAI,CAACC,gBAAL,GAAwB,MAAI,CAACf,SAAL,CAAeW,KAAf,CAAqBT,KAA7C,CADyB,CAEzB;;AACA,sBAAI,CAACL,MAAL,CAAYmB,OAAZ,CAAoBH,GAAG,CAACI,OAAxB;;AACA,sBAAI,CAACF,gBAAL,GAAwB,MAAI,CAACf,SAAL,CAAeW,KAAf,CAAqBT,KAArB,CAA2BU,WAA3B,EAAxB;;AACA,sBAAI,CAACjJ,WAAL,CAAiBuJ,YAAjB,CAA8B,MAAI,CAACH,gBAAnC;AACD;AACF,aATD,EASE,UAAC5H,KAAD,EAAgB;AAChB,oBAAI,CAAC0G,MAAL,CAAY1G,KAAZ,CAAkBA,KAAK,CAACA,KAAN,CAAY8H,OAA9B;AACD,aAXD;AAYD;;;;;;;yBAnGU5B,uB,EAAsB,gI,EAAA,oH,EAAA,gI,EAAA,sH;AAAA,O;;;cAAtBA,uB;AAAsB,4C;AAAA;AAAA;;;;;;;;;;;;;;;ADZnC;;AACI;;AAII;;AAGI;;AACI;;AACI;;AACI;;AACA;;AAAI;;AAAe;;AACnB;;AAAG;;AAA0D;;AACzD;;AAAoJ;;AAAK;;AACrJ;;AACI;;AAAmB;;AAA0B;;AAAkD;AAAA,qBAAS,IAAAsF,cAAA,EAAT;AAAyB,aAAzB;;AAA2B;;AAAM;;AAAO;;AAC3I;;AACZ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEnBqB;;AACG;;AACA;;AACI;;AAA0B;;AAAgB;;AAAK;;AAAS;;AAExD;;AAAuB;;AAAuB;;AAAI;;AAAgC;;AACtF;;AACH;;;;;;AANQ;;AAAA,uJAAmB,IAAnB,EAAmB,WAAnB;;;;;;AALjB;;AAEI;;AACE;;AACG;;AAQH;;AACF;;AACF;;;;;;AAXc;;AAAA,kGAAuB,gBAAvB,EAAuB,oBAAvB,EAAuB,UAAvB,EAAuB,IAAvB,EAAuB,YAAvB,EAAuB,IAAvB;;AACkB;;AAAA;;;;;;AAkCtB;;AACI;;AACI;;AACJ;;AACJ;;;;;;AACA;;AACI;;AACI;;AACJ;;AACJ;;;;;;AAqBQ;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AANJ;;AACI;;AAGA;;AAMJ;;;;;;AATW;;AAAA;;AAGA;;AAAA;;;;;;AA2BP;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AANJ;;AACI;;AAGA;;AAGJ;;;;;;AANW;;AAAA;;AAGA;;AAAA;;;;;;AASf;;AACI;;AACJ;;;;;;;;;;;UCrGXzF,gB;AAmCX,kCACUvH,WADV,EAEUC,MAFV,EAGUiI,MAHV,EAIU6B,EAJV,EAIyB;AAAA;;AAHf,eAAA/J,WAAA,GAAAA,WAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AACA,eAAAiI,MAAA,GAAAA,MAAA;AACA,eAAA6B,EAAA,GAAAA,EAAA;AArCV,eAAA5B,SAAA,GAAqB,KAArB;AACA,eAAA3G,KAAA,GAAQ,mDAAAA,KAAA,CAAAM,GAAR;AAEA,eAAAoI,QAAA,GAAoB,KAApB,CAkCyB,CAjCzB;;AACA,eAAAL,IAAA,GAAO,IAAP;AACA,eAAAM,KAAA,GAAQ,IAAR;AACA,eAAAC,KAAA,GAAQ,IAAR,CA8ByB,CA7BzB;AACF;;AACA,eAAAG,MAAA,GAAS,CACP;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAACC,iBAAK,EAAE,6CAAR;AAAuDC,gBAAI,EAAE;AAA7D,WAVO,EAWP;AAACD,iBAAK,EAAE,0CAAR;AAAmDC,gBAAI,EAAE,QAAzD;AAAmE7K,cAAE,EAAC;AAAtE,WAXO,EAYP;AAAC4K,iBAAK,EAAE,0CAAR;AAAmDC,gBAAI,EAAE,OAAzD;AAAkE7K,cAAE,EAAC;AAArE,WAZO,CAAT;AAcA,eAAA8K,YAAA,GAAe,KAAf;AACA,eAAAC,aAAA,GAAgB,IAAhB;AACE,eAAAN,QAAA,GAAgB,CAAhB;AAEA,eAAAC,KAAA,GAAgB,CAAhB;AACA,eAAA2C,OAAA,GAAmB,KAAnB;AACA,eAAAC,aAAA,GAAwB,KAAxB;AACA,eAAAC,aAAA,GAAyB,KAAzB;AAyEA,eAAAvC,aAAA,GAAgB,sIAAhB;AACA,eAAAxC,QAAA,GAAW,2JAAX,CApEyB,CAsEzB;AACA;;AACA,eAAAgF,UAAA,GAAa,IAAI,4CAAA9E,SAAJ,CAAc;AACzBC,iBAAK,EAAE,IAAI,4CAAAC,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,MAAtB,EAAuC,4CAAAA,UAAA,SAAmB,KAAKL,QAAxB,CAAvC,CAApB,CADkB;AAEzB0D,oBAAQ,EAAE,IAAI,4CAAAtD,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,WAAqB,CAArB,CAAtB,CAApB,CAFe;AAGzB4E,2BAAe,EAAE,IAAI,4CAAA7E,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,WAAqB,CAArB,CAAtB,CAApB,CAHQ;AAIzB6E,gBAAI,EAAE,IAAI,4CAAA9E,WAAJ,CAAgB,EAAhB,EAAmB,4CAAAC,UAAA,aAAnB,CAJmB,CAMzB;;AANyB,WAAd,CAAb;AAwBA,eAAA8E,KAAA,GAAiB,IAAjB;;AA9FE,cAAG1C,MAAM,CAACC,KAAP,GAAe,GAAlB,EAAuB;AACrB;AACA,iBAAKZ,QAAL,GAAgB,IAAhB;AACD,WAHD,MAGO;AACL;AACA,iBAAKA,QAAL,GAAgB,KAAhB;AACD;AACD;;;;iBAMF,oBAAW;AACT,iBAAKa,QAAL,GADS,CAET;AACA;AACA;AACA;;AACJ,gBAAGvB,YAAY,CAAC6B,OAAb,CAAqB,MAArB,KAAgC,IAAhC,IAAwC7B,YAAY,CAAC6B,OAAb,CAAqB,MAArB,KAAgC,IAAxE,IAAgF7B,YAAY,CAAC6B,OAAb,CAAqB,WAArB,CAAnF,EAAqH;AACnH,mBAAK+B,UAAL,CAAgBI,GAAhB,CAAoB,OAApB,EAA6BC,UAA7B,CAAwCjE,YAAY,CAAC6B,OAAb,CAAqB,MAArB,CAAxC;AACA,mBAAK+B,UAAL,CAAgBI,GAAhB,CAAoB,UAApB,EAAgCC,UAAhC,CAA2CjE,YAAY,CAAC6B,OAAb,CAAqB,MAArB,CAA3C;AACA,mBAAK+B,UAAL,CAAgBI,GAAhB,CAAoB,iBAApB,EAAuCC,UAAvC,CAAkDjE,YAAY,CAAC6B,OAAb,CAAqB,WAArB,CAAlD;AACD;;AAIG,gBAAIiC,IAAI,GAAG9D,YAAY,CAAC6B,OAAb,CAAqB,MAArB,CAAX;;AACA,gBAAGiC,IAAI,IAAG,MAAV,EAAiB;AACf,mBAAKF,UAAL,CAAgBI,GAAhB,CAAoB,MAApB,EAA4BC,UAA5B,CAAuC,IAAvC;AACD;;AAEDjE,wBAAY,CAACkE,KAAb;AAEA;;;eAEF,eAAQ;AACN,mBAAO,KAAK9B,SAAL,CAAelD,QAAtB;AACD;;;iBAED,oBAAQ;AACN,iBAAKkD,SAAL,GAAiB,KAAK7B,EAAL,CAAQ8B,KAAR,CAAc;AAC7BtD,mBAAK,EAAE,IAAI,4CAAAC,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,MAAtB,CAApB,CADsB;AAE7BqD,sBAAQ,EAAE,IAAI,4CAAAtD,WAAJ,CAAgB,EAAhB,EAAoB,CAC5B,4CAAAC,UAAA,SAD4B,EAE5B,4CAAAA,UAAA,WAAqB,CAArB,CAF4B,CAApB;AAFmB,aAAd,CAAjB;AAOD;;;eAED,eAAQ;AACN,mBAAO,KAAK2E,UAAL,CAAgB1E,QAAvB;AACD;;;iBAID,0BAAiBtH,KAAjB,EAA6B;AAC3BQ,mBAAO,CAACC,GAAR,CAAY,OAAZ,EAAqBT,KAArB;;AACA,gBAAIA,KAAK,CAAC2K,MAAN,CAAaC,OAAb,IAAwB,IAA5B,EAAkC;AAChC,mBAAK3B,QAAL,GAAgB,CAAhB;AACA,mBAAKC,KAAL,GAAa,CAAb;AACD;AACF;;;iBAkBD,4BAAmBlJ,KAAnB,EAA+B;AAC7B,gBAAIA,KAAK,CAAC2K,MAAN,CAAaC,OAAb,IAAwB,IAA5B,EAAkC;AAChC,mBAAK3B,QAAL,GAAgB,CAAhB;AACA,mBAAKC,KAAL,GAAa,CAAb;AACD;AACF;;;iBAED,yBAAgBlJ,KAAhB,EAA4B;AAC1B,gBAAIA,KAAK,CAAC2K,MAAN,CAAaC,OAAb,IAAwB,IAA5B,EAAkC;AAChC,mBAAK3B,QAAL,GAAgB,CAAhB;AACA,mBAAKC,KAAL,GAAa,CAAb;AACD;AACF;;;iBAID,kBAAS;AAAA;;AACP;AACA,gBAAG,KAAK8C,UAAL,CAAgBpE,KAAhB,CAAsB8C,QAAtB,CAA+ByB,KAA/B,CAAqC,KAAK3C,aAA1C,CAAH,EAA4D;AAC1D,mBAAK+C,aAAL,GAAqB,IAArB;AACD,aAFD,MAEK;AACH,mBAAKA,aAAL,GAAqB,KAArB;AACA,mBAAKV,OAAL,GAAe,IAAf,CAFG,CAGH;AACA;;AACA,mBAAKW,YAAL,GAAoB,qIAApB;AACA;AACD;;AAED,iBAAKX,OAAL,GAAe,IAAf;AACA,gBAAG,KAAKG,UAAL,CAAgBvE,OAAnB,EAA4B;AAC5B,iBAAKoE,OAAL,GAAe,KAAf;AAEA,iBAAKA,OAAL,GAAe,IAAf;AACA,gBAAI,KAAKG,UAAL,CAAgBvE,OAApB,EAA6B;AAC7B,iBAAKoE,OAAL,GAAe,KAAf;AACA,gBAAI/B,IAAI,GAAG;AACT3C,mBAAK,EAAE,KAAK6E,UAAL,CAAgBpE,KAAhB,CAAsBT,KADpB;AAETuD,sBAAQ,EAAE,KAAKsB,UAAL,CAAgBpE,KAAhB,CAAsB8C;AAFvB,aAAX;AAKAlK,mBAAO,CAACC,GAAR,CAAYqJ,IAAZ;;AAEA,gBAAG,KAAKyC,aAAL,IAAoB,IAAvB,EAA4B;AAC1B,kBAAI,KAAKP,UAAL,CAAgBpE,KAAhB,CAAsB8C,QAAtB,IAAkC,KAAKsB,UAAL,CAAgBpE,KAAhB,CAAsBqE,eAA5D,EAA6E;AAC3E,qBAAKE,KAAL,GAAa,IAAb,CAD2E,CAK3E;AACA;AACA;;AACE,qBAAKvN,WAAL,CAAiB6N,UAAjB,CAA4B3C,IAA5B,EAAkC3K,SAAlC,CAA4C,UAAC2I,GAAD,EAAc;AACxDtH,yBAAO,CAACC,GAAR,CAAY,oBAAZ,EAAkCqH,GAAlC;;AACA,sBAAIA,GAAG,CAACC,IAAJ,IAAY,SAAhB,EAA2B;AACzBK,gCAAY,CAACC,OAAb,CAAqB,OAArB,EAA8BC,IAAI,CAACC,SAAL,CAAe,MAAI,CAACyD,UAAL,CAAgBpE,KAAhB,CAAsBT,KAArC,CAA9B,EADyB,CAEzB;AACA;AACA;;AACA,0BAAI,CAAC2E,aAAL,GAAqB,IAArB;AACAtL,2BAAO,CAACC,GAAR,CAAYqH,GAAZ;;AACA,0BAAI,CAAC4E,kBAAL;;AACAtE,gCAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCC,IAAI,CAACC,SAAL,CAAeT,GAAG,CAACgC,IAAnB,CAApC;;AACA,0BAAI,CAAChD,MAAL,CAAYmB,OAAZ,CAAoBH,GAAG,CAACI,OAAxB;;AACA,0BAAI,CAACrJ,MAAL,CAAY2J,aAAZ,CAA0B,WAA1B;AACD;;AACD,sBAAGV,GAAG,CAACC,IAAJ,IAAY,OAAf,EAAwB;AACtB,0BAAI,CAACjB,MAAL,CAAY1G,KAAZ,CAAkB0H,GAAG,CAACI,OAAtB;;AACA,0BAAI,CAACrJ,MAAL,CAAY2J,aAAZ,CAA0B,cAA1B;AACD;AAEF,iBAnBD,EAmBE,UAAC9H,GAAD,EAAO;;;AACP,sBAAGA,GAAG,CAACN,KAAJ,CAAU8H,OAAV,IAAmB,2BAAtB,EAAkD;AAChD;AACA,0BAAI,CAACpB,MAAL,CAAY1G,KAAZ,CAAkB,4KAAlB;AACD,mBAHD,MAGK;AACH,wBAAG,MAAAM,GAAG,CAACN,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE8H,OAAd,EAAsB;AACpB,4BAAI,CAACpB,MAAL,CAAY1G,KAAZ,CAAkBM,GAAG,CAACN,KAAJ,CAAU8H,OAA5B;AACD;AACF;AAEF,iBA7BD;AA8BD;AAIF;;AAED,gBAAG,KAAK8D,UAAL,CAAgBpE,KAAhB,CAAsB8C,QAAtB,IAAkC,KAAKsB,UAAL,CAAgBpE,KAAhB,CAAsBqE,eAA3D,EAA2E;AACzE,mBAAKE,KAAL,GAAa,KAAb;AACA,mBAAKK,YAAL,GAAoB,EAApB;AACD;AACJ;;;iBAED,yBAAgBpO,CAAhB,EAAqB;AACnBuO,iBAAK,CAACvO,CAAD,CAAL;AACD;;;iBAED,qBAAYA,CAAZ,EAAa;AACX,iBAAKyN,OAAL,GAAe,KAAf;AACA,iBAAKW,YAAL,GAAoB,EAApB;AACA,iBAAKL,KAAL,GAAa,IAAb;AAEA/N,aAAC,CAACuM,MAAF,CAAS/C,KAAT,GAAiBxJ,CAAC,CAACuM,MAAF,CAAS/C,KAAT,CAAeyD,OAAf,CAAuB,OAAvB,EAAgC,EAAhC,CAAjB;AAEA,gBAAIuB,QAAQ,GAAsBC,QAAQ,CAACC,cAAT,CAAwB,UAAxB,CAAlC;;AACE,gBAAG1O,CAAC,CAACkN,GAAF,IAAO,OAAP,IAAkB,KAAKU,UAAL,CAAgBT,KAAlC,IAA2CqB,QAAQ,CAAChC,OAAT,IAAoB,IAAlE,EAAuE;AACrE,mBAAKmC,MAAL;AACD;AAGJ;;;iBAGD,8BAAkB;AAChB3E,wBAAY,CAACC,OAAb,CAAqB,MAArB,EAA4B,KAAK2D,UAAL,CAAgBpE,KAAhB,CAAsBT,KAAlD;AACAiB,wBAAY,CAACC,OAAb,CAAqB,MAArB,EAA4B,KAAK2D,UAAL,CAAgBpE,KAAhB,CAAsB8C,QAAlD;AACAtC,wBAAY,CAACC,OAAb,CAAqB,WAArB,EAAiC,KAAK2D,UAAL,CAAgBpE,KAAhB,CAAsBqE,eAAvD;AACA7D,wBAAY,CAACC,OAAb,CAAqB,MAArB,EAA4B,KAAK2D,UAAL,CAAgBpE,KAAhB,CAAsBsE,IAAlD;AACD;;;iBAED,8BAAkB;AAChB9D,wBAAY,CAAC6C,UAAb,CAAwB,MAAxB;AACA7C,wBAAY,CAAC6C,UAAb,CAAwB,MAAxB;AACA7C,wBAAY,CAAC6C,UAAb,CAAwB,WAAxB;AACA7C,wBAAY,CAAC6C,UAAb,CAAwB,MAAxB;AACD;;;iBAED,yBAAa;AACX,iBAAK+B,kBAAL;AACA,iBAAKnO,MAAL,CAAY2J,aAAZ,CAA0B,4BAA1B;AACD;;;iBAED,0BAAc;AACZ,iBAAKwE,kBAAL;AACA,iBAAKnO,MAAL,CAAY2J,aAAZ,CAA0B,sBAA1B;AACD;;;iBAED,yBAAgBpK,CAAhB,EAAqB;AACnB,gBAAIA,CAAC,CAAC6O,OAAF,IAAa,EAAjB,EAAqB;AACnB7O,eAAC,CAAC8O,cAAF;AACA,qBAAO,KAAP;AACD;AACF;;;;;;;yBAxQU/G,gB,EAAe,gI,EAAA,oH,EAAA,sH,EAAA,wH;AAAA,O;;;cAAfA,gB;AAAe,mC;AAAA,iB;AAAA,gB;AAAA,0zF;AAAA;AAAA;ADf5B;;AACI;;AACE;;AACE;;AACI;;AAeJ;;AACA;;AACE;;AACE;;AACI;;AACI;;AACF;;AACJ;;AAAkD;;AAAO;;AAEzD;;AACE;;AACI;;AACI;;AAEA;AAAA,qBAAS,IAAAqF,WAAA,QAAT;AAA4B,aAA5B,EAA6B,MAA7B,EAA6B;AAAA,yCAAyB,IAAzB;AAA6B,aAA1D,EAA6B,OAA7B,EAA6B;AAAA,yCAAwD,KAAxD;AAA6D,aAA1F,EAA6B,UAA7B,EAA6B;AAAA,qBAA2E,IAAA2B,eAAA,QAA3E;AAAkG,aAA/H;;AAFA;;AAWA;;AAKA;;AAMJ;;AAEA;;AAEI;;AAEI;;AACsD;AAAA,qBAAY,IAAAA,eAAA,QAAZ;AAAmC,aAAnC,EAAoC,OAApC,EAAoC;AAAA,qBAAW,IAAA3B,WAAA,QAAX;AAA8B,aAAlE;;AADtD;;AAMA;;AAAkC;AAAA;AAAA;;AAE9B;;AAA8B;;AAA2C;;AAC7E;;AAGA;;AAYJ;;AACA;;AACI;;AACJ;;AACJ;;AAEA;;AAGI;;AACI;;AACsC;AAAA,qBAAe,IAAAuB,MAAA,EAAf;AAAuB,aAAvB,EAAwB,UAAxB,EAAwB;AAAA,qBAAa,IAAAI,eAAA,QAAb;AAAoC,aAA5D,EAAwB,OAAxB,EAAwB;AAAA,qBAA6E,IAAA3B,WAAA,QAA7E;AAAgG,aAAxH;;AADtC;;AAIA;;AAAkC;AAAA;AAAA;;AAE9B;;AAA+B;;AAA2C;;AAC9E;;AACA;;AAYJ;;AACA;;AAGJ;;AAGJ;;AAGF;;AAGE;;AAGI;;AACI;;AACE;;AACA;;AACF;;AACJ;;AAIE;;AACE;;AAA2C;;AAA4B;AAAA,qBAAS,IAAA4B,aAAA,EAAT;AAAwB,aAAxB;;AAAoE;;AAAoB;;AAAK;;AACxK;;AAA4B;AAAA,qBAAS,IAAAC,cAAA,EAAT;AAAyB,aAAzB;;AAAqE;;AAAc;;AAC7G;;AACN;;AACF;;AAGF;;AACI;;AAAQ;AAAA,qBAAS,IAAAN,MAAA,EAAT;AAAiB,aAAjB;;AAAwK;;AAAO;;AAC3L;;AACA;;AACI;;AAAsB;;AAAyB;;AAA0F;;AAAM;;AAAI;;AACnJ;;AACI;;AAA+B;;AAAI;;AAA0D;;AAAqB;;AACtH;;AACJ;;AAEA;;AAEI;;AAAgF;;AAA0E;;AAC1J;;AAAsG;;AAAkF;;AAC5L;;AACJ;;AACJ;;AAEE;;AACF;;AACF;;AArKE;;AADJ;;;;AAIwC;;AAAA;;AAwBpB;;AAAA;;AAII;;AAAA;;AAUiC;;AAAA;;AAKA;;AAAA;;AAYb;;AAAA,8GAAoC,SAApC,EAAoC,2KAApC;;AAOZ;;AAAA,qGAAmC,cAAnC,EAAmC,SAAnC;;AAC8B;;AAAA;;AAID;;AAAA;;AAcjC;;AAAA;;AAQ6B;;AAAA,8GAAoC,SAApC,EAAoC,2LAApC;;AAKzB;;AAAA,qGAAmC,cAAnC,EAAmC,SAAnC;;AAC+B;;AAAA;;AAEF;;AAAA;;AAa/B;;AAAA;;AAiCkG;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UEnInHtG,sB;AAUX,wCACU5H,MADV,EACwB;AAAA;;AAAd,eAAAA,MAAA,GAAAA,MAAA;AARV,eAAAsK,MAAA,GAAS,CACP;AAACC,iBAAK,EAAE,6CAAR;AAAuDC,gBAAI,EAAE;AAA7D,WADO,EAEP;AAACD,iBAAK,EAAE,6CAAR;AAAsDC,gBAAI,EAAE;AAA5D,WAFO,EAGP;AAACD,iBAAK,EAAE,6CAAR;AAAsDC,gBAAI,EAAE;AAA5D,WAHO,CAAT;AAKD,eAAAC,YAAA,GAAe,KAAf;AACA,eAAAC,aAAA,GAAgB,KAAhB;AASC,eAAA+D,KAAA,GAAU,CAAV;AANK;;;;iBAOL,oBAAW;AACP,iBAAKC,OAAL;AACF;;;iBAED,mBAAO;AAAA;;AACN,iBAAKC,OAAL,GAAe,sCAAAC,KAAA,EAAM,CAAN,EAAQ,IAAR,EAActO,SAAd,CAAwB,UAAC2I,GAAD,EAAQ;AAC7C,kBAAI4F,IAAI,GAAG,IAAIC,IAAJ,EAAX;AACA,kBAAIC,MAAM,GAAGF,IAAI,CAACG,UAAL,EAAb;AACA,oBAAI,CAACP,KAAL;;AACA,kBAAG,MAAI,CAACA,KAAL,IAAY,CAAf,EAAiB;AACf,sBAAI,CAACzO,MAAL,CAAY2J,aAAZ,CAA0B,aAA1B;AACD;AACF,aAPc,CAAf;AAQA;;;;;;;yBAhCS/B,sB,EAAqB,oH;AAAA,O;;;cAArBA,sB;AAAqB,iC;AAAA,gB;AAAA,e;AAAA,wL;AAAA;AAAA;AChBlC;;AACI;;AAEM;;AASN;;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCNaF,uB;AAEX;AAAA;AAAkB;;;;iBAElB,oBAAW,CACT;;;;;;;yBALSA,uB;AAAsB,O;;;cAAtBA,uB;AAAsB,2C;AAAA,kB;AAAA,e;AAAA,6iB;AAAA;AAAA;ACPnC;;AACI;;AACI;;AACI;;AACI;;AAAoD;;AACe;;AACnE;;AAAmC;;AAAM;;AAAO;;AAAQ;;AAAU;;AACtE;;AAEA;;AASI;;AAAwC;;AAA8B;;AACtE;;AACI;;AAAI;;AAA4B;;AAA8B;;AAC1D;;AACI;;AAAI;;AAAkC;;AAA+B;;AAAc;;AAAO;;AAEjE;;AAA+B;;AAAS;;AAAO;;AAEpE;;AAA+B;;AAAgB;;AAAQ;;AAAG;;AAC7B;;AAAI;;AAAO;;AAAkC;;AAC7C;;AAAK;;AAAO;;AAI7C;;AACA;;AACI;;AAA4E;;AAC/C;;AAIuB;;AAAQ;;AAGhE;;AACA;;AACI;;AAIJ;;AACJ;;AACJ;;AACA;;AACI;;AAA4B;;AAA2B;;AACvD;;AACI;;AACI;;AAKJ;;AACJ;;AACJ;;AACA;;AACI;;AAA4B;;AAA0C;;AACtE;;AACI;;AACI;;AAKJ;;AACA;;AACI;;AASJ;;AACA;;AACI;;AAWJ;;AACA;;AACI;;AAIJ;;AACJ;;AACJ;;AACA;;AAAI;;AAA4B;;AAA2C;;AACvE;;AACI;;AAAI;;AAKoC;;AACxC;;AACI;;AAIA;;AACI;;AACI;;AAEJ;;AACA;;AACI;;AAEJ;;AACA;;AACI;;AAIJ;;AACA;;AACI;;AAGJ;;AAEJ;;AACJ;;AACA;;AACI;;AACA;;AACI;;AAAI;;AAA8C;;AAClD;;AAAI;;AACkD;;AACtD;;AACI;;AAEJ;;AACJ;;AACJ;;AACA;;AACI;;AAEJ;;AACA;;AACI;;AAQJ;;AACA;;AACI;;AAMJ;;AACJ;;AAEJ;;AACA;;AAAI;;AAA4B;;AAAe;;AAC3C;;AACI;;AAAI;;AAGA;;AACI;;AAAI;;AAGJ;;AACA;;AACI;;AAIJ;;AACA;;AACI;;AAGJ;;AACA;;AAAI;;AAGqB;;AACzB;;AACI;;AAGJ;;AACJ;;AAEJ;;AACA;;AACI;;AACA;;AACI;;AAAI;;AAGJ;;AACA;;AAAI;;AAE+B;;AACnC;;AACI;;AAGJ;;AACA;;AACI;;AAEJ;;AACA;;AACI;;AAEJ;;AACA;;AACI;;AAGJ;;AACA;;AACI;;AAEJ;;AACA;;AAAI;;AAAsE;;AAC9E;;AACJ;;AACJ;;AACJ;;AACA;;AAAI;;AAA4B;;AAAkB;;AAC9C;;AACI;;AAAI;;AAEA;;AAA+B;;AAAsB;;AAAO;;AAEL;;AAC1B;;AAAM;;AAAO;;AAC3B;;AAA+B;;AAAoB;;AAAO;;AAE7E;;AACA;;AAAI;;AAK4D;;AAChE;;AACI;;AACA;;AACI;;AAAI;;AAGQ;;AACZ;;AACI;;AAEJ;;AACJ;;AACJ;;AACA;;AAAI;;AAGgB;;AACpB;;AAAI;;AACsE;;AAC1E;;AAAI;;AACM;;AAAwC;;AAAqB;;AAAK;;AAKd;;AAClE;;AACJ;;AACA;;AAAI;;AAA4B;;AAAuC;;AACnE;;AACI;;AAAI;;AACA;;AACI;;AAAI;;AACoB;;AAExB;;AAAI;;AAK0B;;AAE9B;;AAAI;;AAE6D;;AAEjE;;AAAI;;AACmE;;AAEvE;;AAAI;;AAEsB;;AAE9B;;AACJ;;AACA;;AACI;;AAUJ;;AACA;;AACI;;AAMJ;;AACJ;;AACJ;;AACA;;AAAI;;AAA4B;;AAAiB;;AAC7C;;AACI;;AAAI;;AAIA;;AACI;;AAAI;;AAEc;;AAClB;;AACI;;AAIJ;;AACA;;AACI;;AAC6C;;AAEjD;;AAAI;;AAIJ;;AACA;;AAAI;;AAAgC;;AAEpC;;AAAI;;AACI;;AAER;;AAAI;;AAC4C;;AAEhD;;AAAI;;AAC2B;;AAE/B;;AAAI;;AACkD;;AACtD;;AAAI;;AACgD;;AACxD;;AACJ;;AACJ;;AACJ;;AACA;;AAAI;;AAA4B;;AAA8B;;AAC1D;;AACI;;AAAI;;AAKwD;;AAC5D;;AACI;;AASJ;;AACJ;;AACJ;;AACA;;AACI;;AAA4B;;AAAsB;;AAClD;;AACI;;AAAI;;AAG0E;;AAClF;;AACJ;;AACA;;AACI;;AAA4B;;AAAoD;;AAChF;;AACI;;AAAI;;AAE0D;;AAClE;;AACJ;;AACA;;AACI;;AAA4B;;AAA0B;;AACtD;;AACI;;AAAI;;AAGkC;;AAC1C;;AACJ;;AACA;;AACI;;AAA4B;;AAAgD;;AAC5E;;AACI;;AAAI;;AAGoD;;AACxD;;AAAI;;AACA;;AACI;;AAAI;;AACQ;;AACZ;;AAAI;;AACmC;;AACvC;;AAAI;;AAC4D;;AACpE;;AACJ;;AACA;;AAAI;;AAIA;;AACI;;AAAI;;AAA2D;;AAC/D;;AAAI;;AAGJ;;AACA;;AAAI;;AAA2D;;AAC/D;;AAAI;;AAC+D;;AACvE;;AACJ;;AACA;;AAAI;;AAEa;;AACjB;;AAAI;;AAEO;;AACX;;AAAI;;AACyB;;AACjC;;AACJ;;AACA;;AACI;;AAA4B;;AAAsB;;AAClD;;AACI;;AAAI;;AAQ6D;;AACrE;;AACJ;;AACA;;AACI;;AAA4B;;AAAuB;;AACnD;;AACI;;AAAI;;AAMkE;;AAC1E;;AACJ;;AACA;;AAAI;;AAA4B;;AAAwB;;AACpD;;AACI;;AAAI;;AAc0D;;AAC9D;;AAAI;;AAmBsB;;AAC1B;;AAAI;;AAIqD;;AACzD;;AACI;;AAEJ;;AACJ;;AACJ;;AACA;;AAAI;;AAA4B;;AAAuB;;AACnD;;AACI;;AAAI;;AAa4C;;AAChD;;AACI;;AAGJ;;AACA;;AAAI;;AAC4C;;AACpD;;AACJ;;AACA;;AAAI;;AAA4B;;AAAe;;AAC3C;;AACI;;AAAI;;AAWQ;;AAChB;;AACJ;;AACA;;AAAI;;AAA4B;;AAA8B;;AAC1D;;AACI;;AAAI;;AAKc;;AAClB;;AACI;;AAOJ;;AACJ;;AACJ;;AACA;;AACI;;AAA4B;;AAAW;;AACvC;;AACI;;AAAI;;AAKoC;;AAC5C;;AACJ;;AACA;;AAAI;;AAA4B;;AAAiC;;AAC7D;;AACI;;AAAI;;AAImB;;AAC3B;;AACJ;;AACA;;AAAI;;AAA4B;;AAAuB;;AACnD;;AACI;;AAAI;;AAImB;;AACvB;;AACI;;AAIJ;;AACJ;;AACJ;;AACA;;AACI;;AAA4B;;AAAgB;;AAC5C;;AACI;;AAAI;;AAGwC;;AAChD;;AACJ;;AACA;;AACI;;AAA4B;;AAA0B;;AACtD;;AACI;;AAAI;;AAEA;;AAAwC;;AAAsB;;AAClE;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UChpBazC,Y;AAgBT,8BACYgK,IADZ,EAC4B;AAAA;;AAAhB,eAAAA,IAAA,GAAAA,IAAA,CAAgB,CAd5B;;AAGQ,eAAAC,SAAA,GAAY,IAAI,kCAAAC,OAAJ,EAAZ;AACR,eAAAC,OAAA,GAAU,KAAKF,SAAL,CAAeG,YAAf,EAAV;AAOA,eAAA7K,GAAA,GAAW,uDAAAC,WAAA,QAAX;AAIK;;;;iBARL,sBAAa4H,GAAb,EAAuB;AACnB,iBAAK6C,SAAL,CAAevO,IAAf,CAAoB0L,GAApB;AACH;;;eAQD,eAA8B;AAC1B,gBAAIpB,IAAI,GAAG1B,YAAY,CAAC6B,OAAb,CAAqB,aAArB,CAAX;AACA,gBAAIkE,GAAG,GAAW,EAAlB;AACA,gBAAIrE,IAAI,KAAK,WAAb,EACI,OAAOxB,IAAI,CAAC8F,KAAL,CAAWhG,YAAY,CAAC6B,OAAb,CAAqB,aAArB,CAAX,CAAP;AACJ,mBAAO,KAAP;AACH;;;eAED,eAAsB;AAClB,gBAAIoE,IAAI,GAAGjG,YAAY,CAAC6B,OAAb,CAAqB,MAArB,CAAX;AACAzJ,mBAAO,CAACC,GAAR,CAAY,MAAZ,EAAoB4N,IAApB;;AACA,gBAAIA,IAAJ,EAAU;AACN,qBAAOA,IAAP;AACH;;AACD,mBAAO,KAAP;AACH;;;eAED,eAA+B;AAC3B;AACA,mBAAOC,IAAI,CAAC,uDAAAhL,WAAA,qBAA8B,GAA9B,GAAkC,uDAAAA,WAAA,aAAnC,CAAX;AACH;;;iBAED,eAAMuH,IAAN,EAAiB;AACb,mBAAO,KAAKiD,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,gBAA1B,EAA4CwH,IAA5C,CAAP;AACH;;;iBAED,eAAMf,IAAN,EAAiB;AACb,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,qBAA1B,EAAgDyG,IAAhD,CAAP;AACH;;;iBAGD,wBAAeA,IAAf,EAA0B;AACtB,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,0BAA1B,EAAqDyG,IAArD,CAAP;AAGH;;;iBAKD,gBAAOA,IAAP,EAAiB;AACb;AACA,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,aAA1B,EAAyCyG,IAAzC,CAAP;AACH;;;iBAED,oBAAWA,IAAX,EAAsB;AAClB,mBAAO,KAAKgE,IAAL,CAAUU,KAAV,CAAgB,KAAKnL,GAAL,GAAW,aAA3B,EAA0CyG,IAA1C,CAAP;AACH;;;iBAED,wBAAeA,IAAf,EAA0B;AACtB,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,sBAA1B,EAAkDyG,IAAlD,CAAP;AACH;;;iBAED,yBAAgBA,IAAhB,EAAwB;AACpB,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,kBAA1B,EAA8CyG,IAA9C,CAAP;AACH;;;iBAED,oBAAWA,IAAX,EAAmB;AACf,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,iBAA1B,EAA6CyG,IAA7C,CAAP;AACH;;;iBAED,uBAAcA,IAAd,EAAsB;AAClB,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,iBAA1B,EAA6CyG,IAA7C,CAAP;AACH;;;iBAED,gCAAuBA,IAAvB,EAA+B;AAC3B,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,mCAA1B,EAA+DyG,IAA/D,CAAP;AACH;;;iBAED,iBAAQA,IAAR,EAAgB;AACZ,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,mBAA1B,EAA+CyG,IAA/C,CAAP;AACH;;;iBAGD,mBAAUA,IAAV,EAAkB;AACd,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,qBAA1B,EAAiDyG,IAAjD,CAAP;AACH;;;iBAED,uBAAcA,IAAd,EAAsB;AAClB,mBAAO,KAAKgE,IAAL,CAAUW,GAAV,CAAc,KAAKpL,GAAL,GAAW,yBAAzB,EAAoDyG,IAApD,CAAP;AACH;;;iBAED,qBAAS;AACL,mBAAO,KAAKgE,IAAL,CAAU1B,GAAV,CAAc,KAAK/I,GAAL,GAAW,oBAAzB,CAAP;AACH;;;iBAGD,4BAAmByG,IAAnB,EAA2B;AACvB,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,+BAA1B,EAA2DyG,IAA3D,CAAP;AACH;;;;;;;yBA7GQhG,Y,EAAW,oH;AAAA,O;;;eAAXA,Y;AAAW,iBAAXA,YAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCCX4K,mB;AAYX,qCACUC,OADV,EAEUC,gBAFV,EAGUhQ,WAHV,EAGkC;AAAA;;AAFxB,eAAA+P,OAAA,GAAAA,OAAA;AACA,eAAAC,gBAAA,GAAAA,gBAAA;AACA,eAAAhQ,WAAA,GAAAA,WAAA;AAXV,eAAAiQ,aAAA,GAAqB,EAArB;AAGA,eAAAC,MAAA,GAAiB,CAAjB;AASO;;;;iBAEP,oBAAQ;AACN,iBAAKH,OAAL,CAAaI,cAAb,CAA4BvP,IAA5B,CAAiC,IAAjC;;AACA,iBAAKR,WAAL,GAAmB,KAAKJ,WAAL,CAAiBK,gBAApC,CAFM,CAIN;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;iBAED,uBAAc;AACZ,iBAAK0P,OAAL,CAAaI,cAAb,CAA4BvP,IAA5B,CAAiC,KAAjC;AACD;;;iBAGD,wBAAe2O,GAAf,EAAoBa,OAApB,EAA6BC,OAA7B,EAAsCC,QAAtC,EAAgD;AAC9C,gBAAIC,SAAS,GAAG,IAAhB,CAD8C,CAG9C;;AACA,gBAAIC,WAAW,GAAGzB,IAAI,CAAC0B,GAAL,EAAlB,CAJ8C,CAM9C;;AACA,gBAAMC,IAAI,GAAG,SAAPA,IAAO,CAACF,WAAD,EAAkB;AAE/B;AACA,kBAAI,CAACD,SAAL,EAAgB;AACdA,yBAAS,GAAGC,WAAZ;AACD,eAL8B,CAO/B;;;AACA,kBAAMG,QAAQ,GAAGC,IAAI,CAACC,GAAL,CAAS,CAACL,WAAW,GAAGD,SAAf,IAA2BD,QAApC,EAA8C,EAA9C,CAAjB,CAR+B,CAU/B;;AACAf,iBAAG,CAACuB,SAAJ,GAAgBF,IAAI,CAACG,KAAL,CAAWJ,QAAQ,IAAIN,OAAO,GAAGD,OAAd,CAAR,GAAiCA,OAA5C,CAAhB,CAX+B,CAa/B;;AACA,kBAAIO,QAAQ,GAAG,CAAf,EAAkB;AACdK,sBAAM,CAACC,qBAAP,CAA6BP,IAA7B;AACH,eAFD,MAEO;AACDM,sBAAM,CAACE,oBAAP,CAA4BF,MAAM,CAACC,qBAAP,CAA6BP,IAA7B,CAA5B;AACD;AACJ,aAnBD,CAP8C,CA2B9C;;;AACIM,kBAAM,CAACC,qBAAP,CAA6BP,IAA7B;AACN;;;;;;;yBAjEWZ,mB,EAAkB,kJ,EAAA,0I,EAAA,4I;AAAA,O;;;cAAlBA,mB;AAAkB,sC;AAAA,iB;AAAA,e;AAAA,y+B;AAAA;AAAA;ACX/B;;AACA;;AACI;;AACQ;;AACI;;AACI;;AACA;;AACI;;AACA;;AAAG;;AAAkC;;AACzC;;AACJ;;AAEA;;AACI;;AACA;;AACI;;AACA;;AAAG;;AAAkD;;AACzD;;AACJ;;AAIA;;AACI;;AACA;;AACI;;AAAG;;AAAkD;;AACzD;;AACJ;;AAEA;;AACI;;AACA;;AACI;;AAAG;;AAAkD;;AACzD;;AACJ;;AAEJ;;AACJ;;AAGR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCnCa1K,iB;AAIT,mCACY8J,IADZ,EAC4B;AAAA;;AAAhB,eAAAA,IAAA,GAAAA,IAAA;AAJZ,eAAAzK,GAAA,GAAW,uDAAAC,WAAA,QAAX;AACA,eAAAyM,MAAA,GAAS,EAAT;AAIK;;;;iBAEL,sBAAajG,IAAb,EAAqB;AACjB,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,+BAA1B,EAA2DyG,IAA3D,CAAP;AACH;;;iBAGD,8BAAkB;AACd,mBAAO,KAAKgE,IAAL,CAAU1B,GAAV,CAAc,KAAK/I,GAAL,GAAW,gCAAzB,CAAP;AACH;;;iBAGD,0BAAc;AACV,mBAAO,KAAKyK,IAAL,CAAU1B,GAAV,CAAc,KAAK/I,GAAL,GAAW,2BAAzB,CAAP;AACH,W,CAGD;;;;iBAEA,yBAAa;AACT,mBAAO,KAAKyK,IAAL,CAAU1B,GAAV,CAAc,KAAK/I,GAAL,GAAW,uBAAzB,CAAP;AACH;;;iBAED,qBAAYyG,IAAZ,EAAgB;AACZ,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,qBAA1B,EAAiDyG,IAAjD,CAAP;AACH;;;iBAED,uBAAW;AACP,mBAAO,KAAKgE,IAAL,CAAU1B,GAAV,CAAc,KAAK/I,GAAL,GAAW,kCAAzB,CAAP;AACH;;;iBAED,wBAAe7E,EAAf,EAAqB;AACjB,mBAAO,KAAKsP,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,kCAA1B,EAA8D7E,EAA9D,CAAP;AACH;;;iBAGD,sBAAasL,IAAb,EAAqB;AACjB,mBAAO,KAAKgE,IAAL,CAAUS,IAAV,CAAe,KAAKlL,GAAL,GAAW,uBAA1B,EAAkDyG,IAAlD,CAAP;AACH;;;;;;;yBA5CQ9F,iB,EAAgB,oH;AAAA,O;;;eAAhBA,iB;AAAgB,iBAAhBA,iBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoBO;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AANJ;;AACI;;AAGA;;AAGJ;;;;;;AANW;;AAAA;;AAGA;;AAAA;;;;;;AAiBP;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AATJ;;AACI;;AAGA;;AAGA;;AAGJ;;;;;;AATW;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;;;;;AAiBP;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AACA;;AACI;;AACJ;;;;;;AATJ;;AACI;;AAGA;;AAGA;;AAGJ;;;;;;AATW;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;;;;;AAIX;;AACI;;AACJ;;;;;;AAMJ;;AAAiD;;AAAiB;;;;UCvEjF7C,qB;AAgDX,uCACUwN,OADV,EAEU/P,WAFV,EAGUoR,aAHV,EAIUnR,MAJV,EAKUgI,YALV,EAMUC,MANV,EAM+B;AAAA;;AALrB,eAAA6H,OAAA,GAAAA,OAAA;AACA,eAAA/P,WAAA,GAAAA,WAAA;AACA,eAAAoR,aAAA,GAAAA,aAAA;AACA,eAAAnR,MAAA,GAAAA,MAAA;AACA,eAAAgI,YAAA,GAAAA,YAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AArDV,eAAA2B,IAAA,GAAO,IAAP;AACA,eAAAM,KAAA,GAAQ,IAAR;AACA,eAAAC,KAAA,GAAQ,IAAR;AAQA,eAAAiH,QAAA,GAAoB,KAApB;AAGA,eAAAnE,aAAA,GAAyB,KAAzB;AAGA,eAAA/E,SAAA,GAAqB,KAArB;AACA,eAAA8E,OAAA,GAAmB,KAAnB;AAGA,eAAAqE,YAAA,GAAoB,EAApB;AACA,eAAAC,cAAA,GAAsB,EAAtB,CAgC+B,CA1B/B;AACA;AACA;AACA;AACA;AAGA;;AACA,eAAA3G,aAAA,GAAgB,sIAAhB;AAEA,eAAA4G,YAAA,GAAe,IAAI,4CAAAlJ,SAAJ,CAAc;AAC3BmJ,uBAAW,EAAE,IAAI,4CAAAjJ,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,WAAqB,CAArB,CAAtB,CAApB,CADc;AAE3BiJ,uBAAW,EAAE,IAAI,4CAAAlJ,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,WAAqB,CAArB,CAAtB,EAA8C,4CAAAA,UAAA,SAAmB,KAAKmC,aAAxB,CAA9C,CAApB,CAFc;AAG3ByC,2BAAe,EAAE,IAAI,4CAAA7E,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,4CAAAC,UAAA,SAAD,EAAsB,4CAAAA,UAAA,WAAqB,CAArB,CAAtB,EAA+C,4CAAAA,UAAA,SAAmB,KAAKmC,aAAxB,CAA/C,CAApB;AAHU,WAAd,CAAf;AAmBA,eAAA6E,IAAA,GAAe,KAAf;AAkBA,eAAAlC,KAAA,GAAiB,IAAjB;AApBK;;;;eAXL,eAAQ;AACN,mBAAO,KAAKiE,YAAL,CAAkB9I,QAAzB;AACD;;;iBAYD,oBAAQ;AACN,gBAAItI,WAAW,GAAGoJ,YAAY,CAAC6B,OAAb,CAAqB,aAArB,CAAlB;AACA,iBAAKhB,QAAL,GAAgBX,IAAI,CAAC8F,KAAL,CAAWpP,WAAX,EAAwBiK,QAAxC;AACA,iBAAKoF,IAAL,GAAYjG,YAAY,CAAC6B,OAAb,CAAqB,MAArB,CAAZ;;AACA,iBAAK0E,OAAL,CAAa4B,qBAAb,CAAmC/Q,IAAnC,CAAwC,IAAxC;;AACA,iBAAKR,WAAL,GAAmB,KAAKJ,WAAL,CAAiBK,gBAApC;AACD;;;iBACD,uBAAc;AACZ,iBAAK0P,OAAL,CAAa4B,qBAAb,CAAmC/Q,IAAnC,CAAwC,KAAxC;AACD,W,CAED;;;;iBACA,mBAAU+H,QAAV,EAAsC;AACpC,iBAAKX,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuBD,QAAvB,CAAhB;AACD;;;iBAID,0BAAiB;AAAA;;AACf,iBAAKsE,OAAL,GAAe,IAAf;AACA,gBAAI,KAAKuE,YAAL,CAAkB3I,OAAlB,IAA6B,KAAK2I,YAAL,CAAkB1I,QAAnD,EAA6D;AAC7D,iBAAKmE,OAAL,GAAe,KAAf;AACA,gBAAI/B,IAAI,GAAG;AACTuG,yBAAW,EAAE,KAAKD,YAAL,CAAkBxI,KAAlB,CAAwByI,WAD5B;AAETC,yBAAW,EAAE,KAAKF,YAAL,CAAkBxI,KAAlB,CAAwB0I;AAF5B,aAAX;;AAIA,gBAAI,KAAKF,YAAL,CAAkBxI,KAAlB,CAAwB0I,WAAxB,IAAuC,KAAKF,YAAL,CAAkBxI,KAAlB,CAAwBqE,eAAnE,EAAoF;AAClF,mBAAKE,KAAL,GAAa,IAAb;AACA,mBAAKvN,WAAL,CAAiB4R,cAAjB,CAAgC1G,IAAhC,EAAsC3K,SAAtC,CAAgD,UAAC2I,GAAD,EAAc;AAC5DtH,uBAAO,CAACC,GAAR,CAAY,oBAAZ,EAAkCqH,GAAlC;;AACA,oBAAIA,GAAG,CAAC3H,MAAJ,IAAc,GAAlB,EAAuB;AACrB,yBAAI,CAACiQ,YAAL,CAAkB9I,QAAlB,CAA2B,aAA3B,EAA0CmJ,KAA1C;;AACA,yBAAI,CAACL,YAAL,CAAkB9I,QAAlB,CAA2B,aAA3B,EAA0CmJ,KAA1C;;AACA,yBAAI,CAACL,YAAL,CAAkB9I,QAAlB,CAA2B,iBAA3B,EAA8CmJ,KAA9C;;AACA,yBAAI,CAAC3E,aAAL,GAAqB,IAArB;;AACA,yBAAI,CAAChF,MAAL,CAAYmB,OAAZ,CAAoBH,GAAG,CAACI,OAAxB;;AACA,yBAAI,CAACrJ,MAAL,CAAY2J,aAAZ,CAA0B,sBAA1B;AACD,iBAPD,MAOO;AACL,yBAAI,CAAC1B,MAAL,CAAY1G,KAAZ,CAAkB0H,GAAG,CAAC1H,KAAJ,CAAU8H,OAA5B;AACD;AACF,eAZD;AAaD,aAfD,MAeO;AACL,mBAAKiE,KAAL,GAAa,KAAb;AACD;AACF;;;;;;;yBAtGUhL,qB,EAAoB,kJ,EAAA,qI,EAAA,kJ,EAAA,oH,EAAA,gI,EAAA,sH;AAAA,O;;;cAApBA,qB;AAAoB,yC;AAAA;AAAA;;;;;;;;;;;;;;;;;;ADXjC;;AACA;;AAKI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAAc;;AAAY;;AAC1B;;AACI;;AAEA;;AAAkC;AAAA;AAAA;;AAE9B;;AAAU;;AAA0C;;AACxD;;AACA;;AAQJ;;AACJ;;AAEA;;AACI;;AAAc;;AAAY;;AAC1B;;AACI;;AAEA;;AAAkC;AAAA;AAAA;;AAE9B;;AAAU;;AAA2C;;AACzD;;AACA;;AAWJ;;AACJ;;AAEA;;AACI;;AAAc;;AAAgB;;AAC9B;;AACI;;AAEA;;AAAkC;AAAA;AAAA;;AAE9B;;AAAU;;AAA2C;;AACzD;;AACA;;AAWA;;AAGJ;;AACJ;;AAEA;;AACI;;AAA6B;AAAA,qBAAS,IAAAqP,cAAA,EAAT;AAAyB,aAAzB;;AAA2B;;AAAe;;AACvE;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;AAhFsB;;AAAA;;AAK0B;;AAAA;;AAGZ;;AAAA,qGAAmC,cAAnC,EAAmC,QAAnC;;AACU;;AAAA;;AAEmB;;AAAA;;AAcjB;;AAAA;;AAGZ;;AAAA,qGAAmC,cAAnC,EAAmC,SAAnC;;AACU;;AAAA;;AAEmB;;AAAA;;AAiBjB;;AAAA;;AAGZ;;AAAA,qGAAmC,cAAnC,EAAmC,SAAnC;;AACU;;AAAA;;AAEmB;;AAAA;;AAW1B;;AAAA;;AAQiB;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEpFpD;;AACI;;AACI;;AAAO;AAAA;;AAAA;;AAAA;AAAA;;AAAP;;AAGJ;;AACA;;AACI;;AAA+F;AAAA;;AAAA;;AAAA;AAAA;;AAU5E;;AAAM;;AAC7B;;AACJ;;;;;;AAjBe;;AAAA;;AAKsD;;AAAA;;;;;;;;AA+BrD;;AAA+C;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAC3C;;AAEwC;;AAAM;;AAClD;;;;;;;;AApBZ;;AACI;;AACI;;AACI;;AAAqC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEnC;;AAOF;;AACA;;AAAsD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClD;;AAAsB;;AAAkB;;AAC5C;;AACA;;AASJ;;AACH;;AAGL;;;;;;;;AAvBiB;;AAAA;;AAQqB;;AAAA;;AAEmE;;AAAA;;;;;;;;AAlB7G;;AACA;AAAA;;AAAA;;AAAA;AAAA;;AACI;;AA8BJ;;;;;;AAhC8F,0FAAsB,wBAAtB,EAAsB,CAAtB;;AAEhE;;AAAA;;;;;;AA+B9B;;AAII;;AACJ;;;;;;AACA;;AAIG;;AACH;;;;;;;;AAaA;;AACI;;AAEI;;AAAsB;AAAA;;AAAA;;AAAA,mBAAS,QAAA5J,QAAA,OAAT;AAAwB,WAAxB;;AAMpB;;AACF;;AACJ;;AAGA;;;;AAEJ;;;;;;AAFY;;AAAA;;;;;;;;AAMZ;;AACE;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,QAAA8J,cAAA,OAAT;AAA8B,WAA9B;;AAChE;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAA6E;;AAAgC;;AAC7G;;AACE;;AAAkC;AAAA;;AAAA;;AAAA;AAAA;;AAA2F;;AAAG;;AAChI;;AAAuC;AAAA;;AAAA;;AAAA,mBAAS,QAAAA,cAAA,OAAT;AAA8B,WAA9B;;AAAkF;;AAAE;;AAC7H;;AACF;;;;UC9FSC,kB;AAUX,oCACU9J,YADV,EAEU+B,OAFV,EAGUtJ,aAHV,EAIUV,WAJV,EAKU+J,EALV,EAMU9J,MANV,EAOU+R,OAPV,EAQU9R,KARV,EASU+R,YATV,EASoC;AAAA;;AAR1B,eAAAhK,YAAA,GAAAA,YAAA;AACA,eAAA+B,OAAA,GAAAA,OAAA;AACA,eAAAtJ,aAAA,GAAAA,aAAA;AACA,eAAAV,WAAA,GAAAA,WAAA;AACA,eAAA+J,EAAA,GAAAA,EAAA;AACA,eAAA9J,MAAA,GAAAA,MAAA;AACA,eAAA+R,OAAA,GAAAA,OAAA;AACA,eAAA9R,KAAA,GAAAA,KAAA;AACA,eAAA+R,YAAA,GAAAA,YAAA;AAfV,eAAAC,YAAA,GAAiB,EAAjB;AAuBA,eAAAC,IAAA,GAAO,CAAP;AACA,eAAAC,QAAA,GAAW,EAAX;AACA,eAAAC,YAAA,GAAe,EAAf;AAkCA,eAAAC,YAAA,GAAe,EAAf;AAgDA,eAAAC,gBAAA,GAA2B,IAA3B;AA3FK;;;;iBAEL,oBAAQ;AACN3Q,mBAAO,CAACC,GAAR,CAAY,KAAK2Q,MAAjB;AACA,iBAAKC,eAAL;AACD;;;iBAKD,2BAAe;AAAA;;AACb,iBAAKzI,OAAL,CAAayI,eAAb,CAA6B,KAAKD,MAAlC,EAAyC,KAAKL,IAA9C,EAAmD,KAAKC,QAAxD,EAAkE7R,SAAlE,CAA4E,UAAC2I,GAAD,EAAW;AACrFtH,qBAAO,CAACC,GAAR,CAAYqH,GAAZ;AACA,qBAAI,CAACmJ,YAAL,GAAoBnJ,GAAG,CAACgC,IAAxB;AACD,aAHD;AAID;;;iBACD,6BAAiB;AAAA;;AACftJ,mBAAO,CAACC,GAAR,CAA+BoM,QAAQ,CAACC,cAAT,CAAwB,mBAAxB,EAA8ClF,KAA7E;AACA,gBAAI0J,cAAc,GAAsBzE,QAAQ,CAACC,cAAT,CAAwB,mBAAxB,EAA8ClF,KAAtF;AACA,iBAAKgB,OAAL,CAAa2I,iBAAb,CAA+B;AAACC,wBAAU,EAACF;AAAZ,aAA/B,EAA4DnS,SAA5D,CAAsE,UAAC2I,GAAD,EAAW;AAC/EtH,qBAAO,CAACC,GAAR,CAAYqH,GAAZ,EAD+E,CAE/E;;AACA,qBAAI,CAACmJ,YAAL,CAAkBQ,OAAlB,CAA0B3J,GAAG,CAACgC,IAA9B;;AACmB+C,sBAAQ,CAACC,cAAT,CAAwB,mBAAxB,EAA8ClF,KAA9C,GAAsD,EAAtD;AACnB,qBAAI,CAACkJ,YAAL,GAAoB,EAApB;AACD,aAND,EAOA,UAACpQ,GAAD,EAAO;;;AACLF,qBAAO,CAACC,GAAR,CAAYC,GAAZ;AACAF,qBAAO,CAACC,GAAR,CAAY,MAAAC,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEN,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAE8H,OAAxB;;AACA,kBAAG,YAAAxH,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEN,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAE8H,OAAZ,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE3H,QAAF,CAAW,2BAAX,CAAtB,EAA8D;AAC5D,uBAAI,CAACjB,aAAL,CAAmBoS,IAAnB,CAAwB,2BAAxB;AACD,eAFD,MAGK;AACH,uBAAI,CAACpS,aAAL,CAAmBoS,IAAnB,CAAwB,MAAAhR,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEN,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAE8H,OAApC;AACD;;AACkB2E,sBAAQ,CAACC,cAAT,CAAwB,mBAAxB,EAA8ClF,KAA9C,GAAsD,EAAtD;AACnB,qBAAI,CAACkJ,YAAL,GAAoB,EAApB;AACD,aAlBD;AAmBD;;;iBACD,sBAAazN,GAAb,EAAgB;AACd;AACA,mBAAO,KAAKwN,YAAL,CAAkBc,8BAAlB,CAAiDtO,GAAjD,CAAP;AACD;;;iBAED,wBAAeuO,SAAf,EAA4B;AAC1B,gBAAIC,YAAY,GAAiB;AAC/BA,0BAAY,EAAE;AACZC,sBAAM,EAACF;AADK,eADiB;AAI/B,uBAAO;AAJwB,aAAjC;AAMA,iBAAKV,YAAL,GAAoBU,SAApB;AACA,iBAAKhL,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuB,KAAK8J,cAA5B,EAA4CO,YAA5C,CAAhB;AACD;;;iBAKD,wBAAerT,EAAf,EAAkBuT,KAAlB,EAAuB;AACrB;AACA;AACA;AACA;AACA;AACA;AAEA,iBAAKC,gBAAL,GAAwBxT,EAAxB;AACA,iBAAKyT,mBAAL,GAA2BF,KAA3B;AACA,iBAAKrB,cAAL,GAAsB,KAAK7J,YAAL,CAAkBW,IAAlB,CAAuB,KAAK0K,yBAA5B,CAAtB;AAED;;;iBAED,gCAAoB;AAAA;;AAClB,iBAAKtJ,OAAL,CAAauJ,oBAAb,CAAkC,KAAKH,gBAAvC,EAAyD7S,SAAzD,CAAmE,UAAC2I,GAAD,EAAW;AAC5EtH,qBAAO,CAACC,GAAR,CAAYqH,GAAZ;;AACA,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAACkJ,YAAL,CAAkBmB,MAAlB,CAAyB,OAAI,CAACH,mBAA9B,EAAkD,CAAlD;AACD;;AACD,qBAAI,CAACvB,cAAL,CAAoBjI,IAApB;AACD,aAND;AAOD;;;iBAED,2BAAkBrK,CAAlB,EAAmB;AACjBoC,mBAAO,CAACC,GAAR,CAAY,gBAAZ;;AACA,gBAAG,KAAK0Q,gBAAR,EAAyB;AACvB3Q,qBAAO,CAACC,GAAR,CAAY,cAAZ;AACA,mBAAKsQ,IAAL;AACA,mBAAKsB,mBAAL;AACD;AACF;;;iBAGD,+BAAmB;AAAA;;AACjB,iBAAKzJ,OAAL,CAAayI,eAAb,CAA6B,KAAKD,MAAlC,EAAyC,KAAKL,IAA9C,EAAmD,KAAKC,QAAxD,EAAkE7R,SAAlE,CAA4E,UAAC2I,GAAD,EAAW;AACrFtH,qBAAO,CAACC,GAAR,CAAYqH,GAAZ;;AACA,kBAAGA,GAAG,CAACgC,IAAJ,CAASO,MAAZ,EAAmB;AAAA;;AACjB,+CAAI,CAAC4G,YAAL,EAAkBqB,IAAlB,gDAA0BxK,GAAG,CAACgC,IAA9B;AACD,eAFD,MAGI;AACF,uBAAI,CAACqH,gBAAL,GAAwB,KAAxB;AACD;AACF,aARD;AASD;;;eAED,aACgBrH,IADhB,EAC2B;AACvB;AACAtJ,mBAAO,CAACC,GAAR,CAAY,WAAZ,EAAwBqJ,IAAxB;;AACA,gBAAGA,IAAI,IAAIyI,MAAM,CAAChU,IAAP,CAAYuL,IAAZ,EAAkBO,MAA7B,EAAoC;AAClC,mBAAK4G,YAAL,CAAkBQ,OAAlB,CAA0B3H,IAA1B;AACD;AACJ;;;;;;;yBAnIU6G,kB,EAAiB,gI,EAAA,oI,EAAA,sH,EAAA,4I,EAAA,wH,EAAA,4H,EAAA,qI,EAAA,oH,EAAA,qI;AAAA,O;;;cAAjBA,kB;AAAiB,qC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;ADf9B;;AACI;;AAoBA;;AAiCA;;AAMA;;AAMJ;;AAEA;;AA6BA;;;;AAhGwD;;AAAA;;AAoB9C;;AAAA;;AAiCA;;AAAA;;AAMA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE5DV;;;;;;;;AAMQ;;AAA2F;AAAA;;AAAA;;AAAA;AAAA;;AAAgC;;AAE1C;;;;;;;;AACjF;;AAA0F;AAAA;;AAAA;;AAAA;AAAA;;AAAkC;;AAEvC;;;;;;;;AAMnF;;AAKI;;AAA6C;AAAA;;AAAA;;AAAA;AAAA;;AAA4B;;AAA2C;;AAAW;;AAAO;;AAC1I;;;;;;AATF;;AACE;;AACmC;;AAAkG;;AACrI;;AAOF;;;;;;AAnBF;;AACE;;AAGA;;AAKA;;AAkBF;;;;;;AA1BS;;AAAA;;AAGA;;AAAA;;AAKmD;;AAAA;;;;;;AAsC1D;;;;;;AAYA;;;;;;AAfF;;AAGE;;AAYA;;AAUF;;;;;;AAtBQ;;AAAA;;AAYA;;AAAA;;;;;;AA8BJ;;;;;;AAYA;;;;;;AAfF;;AAGE;;AAYA;;AAUF;;;;;;AApBK;;AAAA;;AAYA;;AAAA;;;;;;AAmBD;;AACE;;AAAsD;;;;;;AAAtD;;AAAA;;;;;;AAHJ;;AACE;;AAAM;;AAAoD;;AAC1D;;AAGF;;;;;;AAJQ;;AAAA;;AACC;;AAAA;;;;;;AAMN;;AACC;;AAAgD;;;;;;AAAhD;;AAAA;;;;;;AACD;;AACC;;AAAgD;;;;;;AAAhD;;AAAA;;;;;;AALJ;;AACE;;AAAM;;AAA8C;;AACnD;;AAEA;;AAGH;;;;;;AANQ;;AAAA;;AACE;;AAAA;;AAEA;;AAAA;;;;;;;;AAmBV;;AAKI;;AAA2C;;AAA8D;;AAAM;;AAA2H;;AAAQ;;AAAQ;;AAAO;;AACjQ;;AACA;;AAA6C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAqC;;AAA8D;;AAAM;;AAAwH;;AAAQ;;AAAO;;AAAO;;AACxS;;;;;;;;AAjBJ;;AACE;;AAEE;;AAEI;;AACA;;AACA;;AACJ;;AACA;;AASF;;AACA;;AAA0B;AAAA;;AAAA;;AAAA;AAAA;;AACxB;;AACE;;AACE;;AACF;;AACA;;AAUE;;AACF;;AACF;;AACF;;AACA;;AAA0B;AAAA;;AAAA;;AAAA;AAAA;;AACxB;;AAA2F;;AAAY;;AACzG;;AACF;;;;;;;;AA6CQ;;AAaE;;AACE;;AAEE;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AACF;;AACF;;AACA;;AACA;;AACE;;AAEE;AAAA;;AAAA;;AAAA;AAAA;;AACC;;AAAW;;AAEhB;;AACF;;;;;;AAlDN;;AACE;;AACE;;AACE;;AAQE;;AAAyB;;AAAM;;AAC/B;;AACG;;AAMD;;AACJ;;AACA;;AA8BF;;AACF;;AACF;;;;;;;;;;;;;;AAGE;;AAaA;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AACA;;;;;;AAHA;;AAXA;;;;;;;;AAkBA;;AAaA;AAAA;;AAAA;;AAAA;AAAA;;AAIA;;AACA;;;;;;AAJM;;;;;;;;AAKN;;AAaA;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AACA;;;;;;AAHM;;;;;;;;AAjIV;;AAEE;;AAYE;AAAA;;AAAA;;AAAA;AAAA;;AAEF;;AACA;;AAEA;;AAuDA;;AACE;;AAkBF;;AACA;;AAEE;;AAmBA;;AAkBF;;AACF;;;;;;AAzHI;;AAAA;;AAM0B;;AAAA;;AAyDzB;;AAAA;;AAqBA;;AAAA;;AAmBA;;AAAA;;;;;;AAyCC;;AACE;;AAeF;;;;;;AAdI;;AAAA;;;;;;AAeJ;;AACE;;AAeF;;;;;;AAdI;;AAAA;;;;;;;;AAoBJ;;AAcE;AAAA;;AAAA;;AAAA;AAAA;;AAdF;;;;;;AAKE;;;;;;AAnDJ;;AAOE;;AAiBA;;AAsBA;;AAqBF;;;;;;AA5DS;;AAAA;;AAiBA;;AAAA;;AA0BJ;;AAAA;;;;;;AAkBL;;AAGI;;AACE;;AACF;;AAEF;;;;;;AAHyC;;AAAA;;;;;;;;AAyD/B;;AACE;;AAEE;AAAA;;AAAA;;AAAA;;AAAA,yGAA+C,MAA/C,GAAsD,MAAtD,GAA6D,MAA7D;AAAmE,WAAnE;;AACC;;AAA0C;;AAE/C;;;;;;AAFK;;AAAA;;;;;;AAGL;;;;;;;;AACA;;AACA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAAwC;;AAAY;;AACtD;;;;;;;;AAEA;;AACA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAAwC;;AAAwC;;AAClF;;;;;;AAD0C;;AAAA;;;;;;AAE1C;;;;;;;;AACA;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAAwC;;AAA4C;;AACtF;;;;;;AAD0C;;AAAA;;;;;;;;AAKtC;;AACE;;AACE;;AAEE;AAAA;;AAAA;;AAAA;;AAAA,yGAA+C,MAA/C,GAAsD,MAAtD,GAA6D,MAA7D;AAAmE,WAAnE;;AACC;;AAA0C;;AAE/C;;AACA;;AAKA;;AACE;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAAwC;;AAAY;;AACtD;;AACF;;;;;;AAZO;;AAAA;;;;;;;;AAaP;;AACE;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAAwC;;AAAwC;;AAClF;;AACA;;AACA;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAAwC;;AAA4C;;AACtF;;AACF;;;;;;AAP4C;;AAAA;;AAKA;;AAAA;;;;;;AA3B9C;;AACE;;AAkBA;;AAWF;;;;;;AA7BQ;;AAAA;;AAkBA;;AAAA;;;;;;AAvDR;;AAWA;;AACE;;AAOA;;AACA;;AAKF;;AAIF;;AACA;;AAIE;;AAEA;;AA2DA;;;;;;;;AAnFO;;AAAA;;AAOC;;AAAA;;AACD;;AAAA;;AAKF;;AAAA;;AAID;;AAAA;;AACD;;AAAA;;AAMG;;AAAA;;;;;;AAoER;;;;;;AAA6H;;;;;;;;AAE3H;;AAAsD;AAAA;;AAAA;;AAAA;AAAA;;AAAqN;;;;;;;;AAAjJ,2JAAqB,QAArB,EAAqB,0CAArB,EAAqB,QAArB,EAAqB,oBAArB,EAAqB,2DAArB;;;;;;AAL9H;;AAGE;;AAEE;;AAEJ;;;;;;AAJQ;;AAAA;;AAEuB;;AAAA;;;;;;;;AAYvB;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAqF;;AAAwF;;;;;;AAApH;;AAAwF;;AAAA;;;;;;;;AACvJ;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0F;;AAA+F;;;;;;AAA9H;;AAA+F;;AAAA;;;;;;;;;;;;;;;;;;AA6BlK;;;;;;;;AAEuD;;AAFlB,2UAAqF,SAArF,EAAqF,gGAArF;;;;;;AAInC;;;;;;;;AAEqD;;AAFhB,6TAAwE,SAAxE,EAAwE,gGAAxE;;;;;;;;AAIvC;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA2L;;AAAQ;;;;;;AAAjK;;;;;;;;AAT1C;;AACE;;AAIE;;AAIF;;AAEE;;;;AAIA;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA2K;;AAAI;;AACvL;;;;;;AAfO;;AAAA;;AAIE;;AAAA;;AAI0D;;AAAA;;AAI4C;;AAAA;;AAFvG,8TAAwE,SAAxE,EAAwE,iGAAxE;;AAIkC;;AAAA;;;;;;AAK5C;;AACE;;;;AAGF;;;;;;AAHQ;;AAAA,6TAAwE,SAAxE,EAAwE,gGAAxE;;;;;;;;AAvDZ;;AACI;;AAEE;;AACA;;AACE;;AACA;;AAGA;;AAA+D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAuF;;AAAoF;;AAC9O;;AACA;;AACI;;AAAM;;AAA4D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA5D;;AAAkG;;AACxG;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0E;;AAAwB;;AACzK;;AAIA;;AACA;;AAEE;;AAEmC;;AAA8B;;AACnE;;AACA;;AACA;;AAQA;;AAkBA;;AAEA;;AAMJ;;;;;;;;AAvD6C;;AAAA;;AACG;;AAAA;;AAG6E;;AAAA;;AAAiC;;AAAA;;AAI7C;;AAAA;;AAAoC;;AAAA;;AAU5G;;AAAA;;AAW/B;;AAAA;;AAoBA;;AAAA;;;;;;AAiBN;;;;;;;;AAEuD;;AAFlB,2UAAqF,SAArF,EAAqF,gGAArF;;;;;;AAKnC;;;;;;;;AAEqD;;AAFhB,6TAAwE,SAAxE,EAAwE,gGAAxE;;;;;;;;AAIvC;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAwL;;AAAQ;;;;;;AAA9J;;;;;;;;AAgBpC;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAqF;;AAAwF;;;;;;AAApH;;AAAwF;;AAAA;;;;;;;;AACvJ;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0F;;AAA+F;;;;;;AAA9H;;AAA+F;;AAAA;;;;;;;;AAhCtK;;AAKA;;AACE;;AAKE;;AAIF;;AAEE;;;;AAIA;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4K;;AAAI;;AACxL;;AAKA;;AAEE;;AACA;;AACE;;AACA;;AAGA;;AAA+D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAuF;;AAAoF;;AAC9O;;AACA;;AACI;;AAAM;;AAA4D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA5D;;AAAkG;;AACxG;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0E;;AAAwB;;AACzK;;AAIA;;AACA;;AAEE;;AAEmC;;AAA8B;;AACnE;;AACA;;AACJ;;;;;;;;AA9CW;;AAAA;;AAKE;;AAAA;;AAI0D;;AAAA;;AAI4C;;AAAA;;AAFvG,+TAAwE,SAAxE,EAAwE,iGAAxE;;AAIkC;;AAAA;;AAUD;;AAAA;;AACG;;AAAA;;AAG6E;;AAAA;;AAAiC;;AAAA;;AAI7C;;AAAA;;AAAoC;;AAAA;;AAU5G;;AAAA;;;;;;AAKzC;;AACE;;AAAM;;AAEiE;;AACvE;;AAAM;;;;AAAoF;;AAC1F;;AAAM;;;;AAA0E;;AAClF;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;AAGR;;AACE;;AAAM;;AAAgG;;AACtG;;AAAM;;AAAsG;;AAC9G;;;;;;AADQ;;AAAA;;;;;;AAGR;;AACE;;AAAM;;AAA+G;;AACrH;;AAAM;;;;;;AAA6E;;AACnF;;AAAM;;;;;;AAAqE;;AAC7E;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;;;AASN;;AACoB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0D;;AAAmG;;;;;;AAAnG;;AAAA;;;;;;AA8BtE;;;;;;AAAoB;;;;;;AACpB;;;;;;AAAqB;;;;;;;;AA8DjB;;AACqC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAQrC;;AACE;;;;AAAoD;;;;AAA4B;;AAClF;;;;;;AAFkG;;AAAA;;AACjF;;AAAA;;AAAqC;;AAAA;;;;;;AArBxD;;AAWE;;AAYF;;;;;;AAZuB;;AAAA;;;;;;AAXvB;;;;;;AAAK;;;;;;;;AA+BT;;AAEiD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAFjD;;;;;;AACE;;;;;;;;AAEF;;AAC8G;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAD9G;;;;;;;;AAOE;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,+GAAuD,EAAvD;AAAyD,WAAzD;;AAA8G;;AAAM;;;;;;;;AAC5L;;AAA0H;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiD;;AAAM;;;;;;;;AAJnL;;AACE;;AAA4C;;AAAuC;;AACnF;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yEAA0C,EAA1C;AAA4C,WAA5C;;AAA+C;;AAAK;;AAC5H;;AACA;;AACF;;;;;;;;AAJ8C;;AAAA;;AAEyF;;AAAA;;AAC5D;;AAAA;;;;;;;;AAKzE;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,+GAAuD,EAAvD;AAAyD,WAAzD;;AAAgH;;AAAM;;;;;;;;AAC9L;;AAA4H;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiD;;AAAM;;;;;;;;AAJrL;;AACE;;AAA4C;;AAAuC;;AACnF;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yEAA0C,EAA1C;AAA4C,WAA5C;;AAA+C;;AAAK;;AAC5H;;AACA;;AACF;;;;;;;;AAJ8C;;AAAA;;AAEyF;;AAAA;;AAC5D;;AAAA;;;;;;;;AAyCzE;;AACqC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AASjC;;AACF;;;;AAA2C;;;;AAA4B;;AACzE;;;;;;AAFsG;;AAAA;;AAC9F;;AAAA;;AAAqC;;AAAA;;;;;;AAtB/C;;AAWE;;AAaF;;;;;;AAbuB;;AAAA;;;;;;AAmBzB;;AAAmI;;AAAM;;;;;;AAAhE;;;;;;;;AACzE;;AAAiG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAoF;;AAA0H;;;;;;AAA9J;;AAAoC;;AAAA;;;;;;;;AAO/K;;AAA8I;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA9I;;;;;;AAAkD;;;;;;;;AAClD;;AAA+J;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA/J;;;;;;;;AAME;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAoH;;AAAM;;;;;;;;AAClM;;AAAwH;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiE;;AAAM;;;;;;;;AAJjM;;AACE;;AAA4C;;AAAqC;;AACjF;;AAAkC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAwF;;AAAK;;AAC/H;;AACA;;AACF;;;;;;;;AAJ8C;;AAAA;;AAEiG;;AAAA;;AACpE;;AAAA;;;;;;;;AAKzE;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAsH;;AAAM;;;;;;;;AACpM;;AAA0H;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiE;;AAAM;;;;;;;;AAJnM;;AACE;;AAA4C;;AAAqC;;AACjF;;AAAkC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAwF;;AAAK;;AAC/H;;AACA;;AACF;;;;;;;;AAJ8C;;AAAA;;AAEiG;;AAAA;;AACpE;;AAAA;;;;;;;;AAjB/E;;AACE;;AACA;;AACE;;AACA;;AACA;;AAAkD;;AAA2D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4E;;;;AAAsC;;AAAK;;;;AAA+D;;AACrS;;AACE;;AAMA;;AAMF;;AAcF;;;;;;;;;;AA9BU;;AAAA;;AACA;;AAAA;;AACmL;;AAAA;;AAAiD;;AAAA;;AAElI;;AAAA;;AAMA;;AAAA;;;;;;AAsBF;;AAA0F;;AAAM;;;;;;;;AAAO;;AAAkE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4K;;AAAiB;;;;;;AAAnJ;;;;;;AAA7T;;AAA0G;;AAAuG;;AAAsQ;;;;;;AAArW;;AAAA;;AAAsG;;AAAA;;;;;;AACzI;;AAA+D;;AAAM;;;;;;;;AAAO;;AAAwD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4F;;AAAgB;;;;;;AAA/T;;AAA+E;;AAA4E;;AAA2K;;;;;;AAA/O;;AAAA;;AAA2E;;AAAA;;;;;;AAtCpK;;AAEE;;AAmCA;;AACA;;AAGF;;;;;;AAzCuG;;AAE9E;;AAAA;;AAmCjB;;AAAA;;AACA;;AAAA;;;;;;;;AAzHd;;AACI;;AACE;;AACE;;AAGA;;AAEA;;AAAmE;;AAAkD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAgF;;AAA6B;;AAAK;;;;AAA0E;;AACnT;;AACE;;AAMA;;AAMF;;AAEF;;AACE;;AAAmD;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAnE;;AAA6H;;AAChL;;AAWA;;AAKA;AAAA;;AAAA;;AAAA;AAAA,aAA8B,uBAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B;;AAIC;;AAED;;AA4BF;;AACA;;AAEE;;AACA;;AACA;;AACF;;AACE;;AA0CF;;AAEJ;;;;;;;;;;;;;;AA5Hc;;AAAA;;AAGA;;AAAA;;AAE+L;;AAAA;;AAAiD;;AAAA;;AAE9I;;AAAA;;AAMA;;AAAA;;AAQ5B;;AAAA;;AAE/C;;AAAA;;AAWjB;;AAAA,8FAAqC,cAArC,EAAqC,KAArC,EAAqC,kBAArC,EAAqC,GAArC,EAAqC,gBAArC,EAAqC,uBAArC,EAAqC,iBAArC,EAAqC,IAArC;;AA2CP;;AAAA;;AACD;;AAAA;;AAEA;;AAAA;;;;;;;;AA8CZ;;AAAyD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAsH;;AAAkB;;;;;;AAAlG;;;;;;;;AAC/F;;AAAuC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4H;;AAAS;;;;;;AAAvG;;;;;;;;AA/gBvE;;AAKA;;AACE;;AAMA;;AAA6C;;;;AAE3C;;AACF;;AACE;;AACE;;AAME;;AAKF;;AACA;;AAgGF;;AACF;;AACF;;AAEA;;AACE;;AAQJ;;AAII;;AA8DF;;AAGI;;AAsDF;;AAQA;;AAKA;;AAKF;;AAEA;;AACE;;AAIE;;AAIF;;AAKF;;AAIA;;AAGE;;AAIE;;AAAY;;AAA2B;;AAAmB;;AAC1D;;AAMyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAwD;;AAAC;;AACpG;;AACE;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAEI;;AAA0B;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA+C;;AAAmE;;AAG5I;;AAAU;AAAA;;AAAA;;AAAA;AAAA,aAA0C,aAA1C,EAA0C;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA1C;;AAagB;;AAiB1B;;AAKA;AAAA;;AAAA;;AAAA;AAAA,aAA8B,uBAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA9B;;AAKC;;AAED;;AA2BJ;;AACJ;;AAEF;;AAiIA;;AACA;;AACF;;AACF;;;;;;;;;;;;AAzgBM;;AAAA;;AAI2C;;AAAA;;AAqHrC;;AAAA,mGAAuB,gBAAvB,EAAuB,qBAAvB,EAAuB,UAAvB,EAAuB,WAAvB,EAAuB,YAAvB,EAAuB,IAAvB;;AACiB;;AAAA;;AAYiC;;AAAA;;AAiER;;AAAA;;AAsD9C;;AAAA;;AAQA;;AAAA;;AAKA;;AAAA;;AAakD;;AAAA;;AAYnD;;AAAA;;AAMiD;;AAAA;;AACX;;AAAA;;AAWzB;;AAAA;;AACA;;AAAA;;AAEM;;AAAA;;AAK2G;;AAAA;;AA8BzG;;AAAA,8FAAgC,cAAhC,EAAgC,KAAhC,EAAgC,kBAAhC,EAAgC,GAAhC,EAAgC,gBAAhC,EAAgC,sBAAhC,EAAgC,iBAAhC,EAAgC,yBAAhC;;AA0CC;;AAAA;;AAiIlB;;AAAA;;AACA;;AAAA;;;;;;AAGX;;AAEE;;AACF;;;;;;AACA;;AAEE;;AACF;;;;;;AAiDA;;AACE;;AAeF;;;;;;AAdI;;AAAA;;;;;;AAgBH;;AACC;;AAeF;;;;;;AAdI;;AAAA;;;;;;;;AAiBJ;;AAcE;AAAA;;AAAA;;AAAA;AAAA;;AAdF;;;;;;AAKE;;;;;;AAlDJ;;AAQE;;AAkBC;;AAmBD;;AAmBF;;;;;;AAxDS;;AAAA;;AAkBC;;AAAA;;AAuBL;;AAAA;;;;;;;;AAwEO;;AACE;;AAEE;AAAA;;AAAA;;AAAA;;AAAA,yGAA+C,MAA/C,GAAsD,MAAtD,GAA6D,MAA7D;AAAmE,WAAnE;;AACC;;AAA0C;;AAE/C;;;;;;AAFK;;AAAA;;;;;;AAGL;;;;;;;;AAEA;;AAIA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAwC;;AAAY;;AACtD;;;;;;;;AAKE;;AACE;;AAEE;AAAA;;AAAA;;AAAA;;AAAA,yGAA+C,MAA/C,GAAsD,MAAtD,GAA6D,MAA7D;AAAmE,WAAnE;;AACC;;AAA0C;;AAE/C;;;;;;AAFK;;AAAA;;;;;;AAIL;;;;;;AACA;;;;;;;;AAEA;;AAIE;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAwC;;AAAY;;AACtD;;;;;;;;AAEA;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAAwC;;AAA4C;;AACtF;;;;;;AAD0C;;AAAA;;;;;;AAG1C;;;;;;AACA;;;;;;;;AAGA;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACF;;AAAwC;;AAAwC;;AAClF;;;;;;AAD0C;;AAAA;;;;;;AA/D1C;;AAWE;;AAOA;;AAEA;;AAYA;;AAQA;;AACA;;AAEA;;AASA;;AAKA;;AACA;;AAGA;;AAIF;;;;;;;;AAtDyC;;AAAA;;AAOR;;AAAA;;AAMmB;;AAAA;;AAQX;;AAAA;;AAQR;;AAAA;;AACA;;AAAA;;AAMqB;;AAAA;;AAML;;AAAA;;AAIhB;;AAAA;;AACA;;AAAA;;AAGgC;;AAAA;;;;;;AAenE;;;;;;AAA6H;;;;;;;;AAC3H;;AAAmC;AAAA;;AAAA;;AAAA;AAAA;;AAA0L;;;;;;AAAtH,2JAAqB,QAArB,EAAqB,oBAArB,EAAqB,2DAArB;;;;;;AAN3G;;AAKE;;AACE;;AACJ;;;;;;AAFQ;;AAAA;;AACI;;AAAA;;;;;;;;AAWJ;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAqF;;AAAwF;;;;;;AAApH;;AAAwF;;AAAA;;;;;;;;AACvJ;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0F;;AAA+F;;;;;;AAA9H;;AAA+F;;AAAA;;;;;;AA6BlK;;;;;;;;AAEuD;;AAFlB,mQAA+D,SAA/D,EAA+D,gGAA/D;;;;;;AAGnC;;;;;;;;AAEqD;;AAFhB,qPAAkD,SAAlD,EAAkD,gGAAlD;;;;;;;;AAIvC;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAmK;;AAAQ;;;;;;AAAzI;;;;;;;;AAR1C;;AACE;;AAGE;;AAIF;;AAEE;;;;AAIA;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAmJ;;AAAI;;AAC/J;;;;;;AAdO;;AAAA;;AAGE;;AAAA;;AAI0D;;AAAA;;AAI4C;;AAAA;;AAFvG,8TAAwE,SAAxE,EAAwE,iGAAxE;;AAIkC;;AAAA;;;;;;AAK5C;;AACE;;;;AAGF;;;;;;AAHQ;;AAAA,6TAAwE,SAAxE,EAAwE,gGAAxE;;;;;;;;AAtDZ;;AACI;;AAEE;;AACA;;AACE;;AACA;;AAGA;;AAAgE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAuF;;AAAoF;;AAC/O;;AACA;;AACI;;AAAM;;AAA4D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA5D;;AAAkG;;AACxG;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0E;;AAAwB;;AACzK;;AAIA;;AACA;;AAEE;;AAEe;;AAA8B;;AAC/C;;AACA;;AACA;;AAQA;;AAiBA;;AAEA;;AAMJ;;;;;;;;AAtD6C;;AAAA;;AACG;;AAAA;;AAG8E;;AAAA;;AAAiC;;AAAA;;AAI9C;;AAAA;;AAAoC;;AAAA;;AAUhI;;AAAA;;AAWX;;AAAA;;AAmBA;;AAAA;;;;;;AAiBN;;;;;;;;AAEuD;;AAFlB,2UAAqF,SAArF,EAAqF,gGAArF;;;;;;AAInC;;;;;;;;AAEqD;;AAFhB,6TAAwE,SAAxE,EAAwE,gGAAxE;;;;;;;;AAIvC;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAgK;;AAAQ;;;;;;AAAtI;;;;;;;;AAgBpC;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAqF;;AAAwF;;;;;;AAApH;;AAAwF;;AAAA;;;;;;;;AACvJ;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0F;;AAA+F;;;;;;AAA9H;;AAA+F;;AAAA;;;;;;;;AA/BtK;;AAKA;;AACE;;AAIE;;AAIF;;AAEE;;;;AAIA;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAoJ;;AAAI;;AAChK;;AAKA;;AAEE;;AACA;;AACE;;AACA;;AAGA;;AAA+D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAuF;;AAAoF;;AAC9O;;AACA;;AACI;;AAAM;;AAA4D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA5D;;AAAkG;;AACxG;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0E;;AAAwB;;AACzK;;AAIA;;AACA;;AAEE;;AAEmC;;AAA8B;;AACnE;;AACA;;AACJ;;;;;;;;AA7CW;;AAAA;;AAIE;;AAAA;;AAI0D;;AAAA;;AAI4C;;AAAA;;AAFvG,+TAAwE,SAAxE,EAAwE,iGAAxE;;AAIkC;;AAAA;;AAUD;;AAAA;;AACG;;AAAA;;AAG6E;;AAAA;;AAAiC;;AAAA;;AAI7C;;AAAA;;AAAoC;;AAAA;;AAU5G;;AAAA;;;;;;AAKzC;;AACE;;AAAM;;AAEiE;;AACvE;;AAAM;;;;AAAoF;;AAC1F;;AAAM;;;;AAA0E;;AAClF;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;AAS6B;;AAAyD;;AAAC;;;;;;AAAO;;AAAoC;;AAC5G;;;;;;AAD4G;;AAAA;;;;;;AAF1I;;AACE;;AAAM;;AAAgG;;AACtG;;AAAM;;AAAsB;;AAAO;;AAAiE;;AAEtG;;;;;;AAFQ;;AAAA;;AAAoC;;AAAA;;AAAiE;;AAAA;;;;;;AAI7G;;AACE;;AAAM;;AAA+G;;AACrH;;AAAM;;;;;;AAA6E;;AACnF;;AAAM;;;;;;AAAqE;;AAC7E;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;;;AASN;;AACoB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0D;;AAAmG;;;;;;AAAnG;;AAAA;;;;;;AA8BtE;;;;;;AAAoB;;;;;;AACpB;;;;;;AAAqB;;;;;;;;AA8DjB;;AACqC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAQrC;;AACE;;;;AAAoD;;;;AAA4B;;AAClF;;;;;;AAFkG;;AAAA;;AACjF;;AAAA;;AAAqC;;AAAA;;;;;;AArBxD;;AAWE;;AAYF;;;;;;AAZuB;;AAAA;;;;;;AAXvB;;;;;;AAAK;;;;;;;;AA+BT;;AAEiD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAFjD;;;;;;AACE;;;;;;;;AAEF;;AAC8G;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAD9G;;;;;;;;AAOE;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,+GAAuD,EAAvD;AAAyD,WAAzD;;AAA8G;;AAAM;;;;;;;;AAC5L;;AAA0H;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiD;;AAAM;;;;;;;;AAJnL;;AACE;;AAA4C;;AAAuC;;AACnF;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yEAA0C,EAA1C;AAA4C,WAA5C;;AAA+C;;AAAK;;AAC5H;;AACA;;AACF;;;;;;;;AAJ8C;;AAAA;;AAEyF;;AAAA;;AAC5D;;AAAA;;;;;;;;AAKzE;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,+GAAuD,EAAvD;AAAyD,WAAzD;;AAAgH;;AAAM;;;;;;;;AAC9L;;AAA4H;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiD;;AAAM;;;;;;;;AAJrL;;AACE;;AAA4C;;AAAuC;;AACnF;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yEAA0C,EAA1C;AAA4C,WAA5C;;AAA+C;;AAAK;;AAC5H;;AACA;;AACF;;;;;;;;AAJ8C;;AAAA;;AAEyF;;AAAA;;AAC5D;;AAAA;;;;;;;;AAyCzE;;AACqC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AASjC;;AACF;;;;AAA2C;;;;AAA4B;;AACzE;;;;;;AAFsG;;AAAA;;AAC9F;;AAAA;;AAAqC;;AAAA;;;;;;AAtB/C;;AAWE;;AAaF;;;;;;AAbuB;;AAAA;;;;;;AAmBzB;;AAAmI;;AAAM;;;;;;AAAhE;;;;;;;;AACzE;;AAAiG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAoF;;AAA0H;;;;;;AAA9J;;AAAoC;;AAAA;;;;;;;;AAO/K;;AAA8I;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA9I;;;;;;AAAkD;;;;;;;;AAClD;;AAA+J;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA/J;;;;;;;;AAME;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAoH;;AAAM;;;;;;;;AAClM;;AAAwH;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiE;;AAAM;;;;;;;;AAJjM;;AACE;;AAA4C;;AAAqC;;AACjF;;AAAkC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAwF;;AAAK;;AAC/H;;AACA;;AACF;;;;;;;;AAJ8C;;AAAA;;AAEiG;;AAAA;;AACpE;;AAAA;;;;;;;;AAKzE;;AAAwE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAsH;;AAAM;;;;;;;;AACpM;;AAA0H;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiE;;AAAM;;;;;;;;AAJnM;;AACE;;AAA4C;;AAAqC;;AACjF;;AAAkC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAwF;;AAAK;;AAC/H;;AACA;;AACF;;;;;;;;AAJ8C;;AAAA;;AAEiG;;AAAA;;AACpE;;AAAA;;;;;;;;AAjB/E;;AACE;;AACA;;AACE;;AACA;;AACA;;AAAkD;;AAAkD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4E;;;;AAAsC;;AAAK;;;;AAA+D;;AAC5R;;AACE;;AAMA;;AAMF;;AAcF;;;;;;;;;;AA9BU;;AAAA;;AACA;;AAAA;;AAC0K;;AAAA;;AAAiD;;AAAA;;AAEzH;;AAAA;;AAMA;;AAAA;;;;;;AAsBF;;AAA0F;;AAAM;;;;;;;;AAAO;;AAAkE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4K;;AAAiB;;;;;;AAAnJ;;;;;;AAA7T;;AAA0G;;AAAuG;;AAAsQ;;;;;;AAArW;;AAAA;;AAAsG;;AAAA;;;;;;AACzI;;AAA+D;;AAAM;;;;;;;;AAAO;;AAAwD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4F;;AAAgB;;;;;;AAA/T;;AAA+E;;AAA4E;;AAA2K;;;;;;AAA/O;;AAAA;;AAA2E;;AAAA;;;;;;AAtCpK;;AAEE;;AAmCA;;AACA;;AAGF;;;;;;AAzCuG;;AAE9E;;AAAA;;AAmCjB;;AAAA;;AACA;;AAAA;;;;;;;;AAzHd;;AACI;;AACE;;AACE;;AAGA;;AAEA;;AAAmE;;AAAkD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAgF;;AAA6B;;AAAK;;;;AAA0E;;AACnT;;AACE;;AAMA;;AAMF;;AAEF;;AACE;;AAAmD;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAnE;;AAA6H;;AAChL;;AAWA;;AAKA;AAAA;;AAAA;;AAAA;AAAA,aAA8B,uBAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B;;AAIC;;AAED;;AA4BF;;AACA;;AAEE;;AACA;;AACA;;AACF;;AACE;;AA0CF;;AAEJ;;;;;;;;;;;;;;AA5Hc;;AAAA;;AAGA;;AAAA;;AAE+L;;AAAA;;AAAiD;;AAAA;;AAE9I;;AAAA;;AAMA;;AAAA;;AAQ5B;;AAAA;;AAE/C;;AAAA;;AAWjB;;AAAA,8FAAqC,cAArC,EAAqC,KAArC,EAAqC,kBAArC,EAAqC,GAArC,EAAqC,gBAArC,EAAqC,uBAArC,EAAqC,iBAArC,EAAqC,IAArC;;AA2CP;;AAAA;;AACD;;AAAA;;AAEA;;AAAA;;;;;;;;AA8CZ;;AAAyD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAsH;;AAAkB;;;;;;AAAlG;;;;;;;;AAC/F;;AAAuC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4H;;AAAS;;;;;;AAAvG;;;;;;;;;;;;;;;AAtfvE;;AAIA;;AACE;;AASA;;AAA6C;;;;AAE3C;;AACF;;AACE;;AACE;;AAME;;AAKF;;AACA;;AAkEF;;AACF;;AACF;;AAEA;;AACE;;AAQJ;;AAII;;AA6DF;;AAGI;;AAqDF;;AAYA;;AAMA;;AAKF;;AAEA;;AACE;;AAIE;;AAIF;;AAKF;;AAIA;;AAGE;;AAIE;;AAAY;;AAA2B;;AAAmB;;AAC1D;;AAMyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAwD;;AAAC;;AACpG;;AACE;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAEI;;AAA0B;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA+C;;AAAmE;;AAG5I;;AAAU;AAAA;;AAAA;;AAAA;AAAA,aAA0C,aAA1C,EAA0C;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA1C;;AAagB;;AAiB1B;;AAKA;AAAA;;AAAA;;AAAA;AAAA,aAA8B,uBAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA9B;;AAKC;;AAED;;AA2BJ;;AACJ;;AAEF;;AAiIA;;AACA;;AACF;;AACF;;;;;;;;;;;;AAjfM;;AAAA,8eAA+I,aAA/I,EAA+I,kPAA/I;;AAO2C;;AAAA;;AAuFrC;;AAAA,mGAAuB,gBAAvB,EAAuB,qBAAvB,EAAuB,UAAvB,EAAuB,WAAvB,EAAuB,YAAvB,EAAuB,IAAvB;;AACiB;;AAAA;;AAYiC;;AAAA;;AAgER;;AAAA;;AAqD9C;;AAAA;;AAYA;;AAAA;;AAMA;;AAAA;;AAakD;;AAAA;;AAYnD;;AAAA;;AAMiD;;AAAA;;AACX;;AAAA;;AAWzB;;AAAA;;AACA;;AAAA;;AAEM;;AAAA;;AAK2G;;AAAA;;AA8BzG;;AAAA,8FAAgC,cAAhC,EAAgC,KAAhC,EAAgC,kBAAhC,EAAgC,GAAhC,EAAgC,gBAAhC,EAAgC,sBAAhC,EAAgC,iBAAhC,EAAgC,yBAAhC;;AA0CC;;AAAA;;AAiIlB;;AAAA;;AACA;;AAAA;;;;;;AAGX;;AAEE;;AACF;;;;;;AACA;;AAEE;;AACF;;;;;;;;;;;;;;AAkCF;;AACE;;AACE;;AACF;;AACA;;AAGE;;AAQA;;AAEE;;AAAkB;AAAA;;AAAA;;AAAA;AAAA;;AAAgD;;AACpE;;AACF;;AACF;;;;;;AAlB8B;;AAAA,6FAAiB,aAAjB,EAAiB,sEAAjB;;AAaI;;AAAA;;AAEoB;;AAAA;;;;;;AAwLtD;;AACU;;AACE;;AAAM;;AAA+E;;AAIvF;;AACJ;;AAEA;;AAKE;;AAWF;;;;;;AAXe;;AAAA,8FAAiB,YAAjB,EAAiB,4BAAjB;;;;;;AAjBzB;;AACE;;AAsCF;;;;;;;;;;;;AAGA;;AACE;;AACE;;AACE;;AACG;;AAKD;;AACF;;AACoB;;AAAQ;;AAC9B;;AACF;;AAEA;;AACE;;AACE;;AACE;;AACF;;AAGA;;AACE;;AACF;;AACF;;AACF;;AACF;;;;;;AA1BoE;;AAAA;;AAiB9C;;AAAA,6FAAiB,aAAjB,EAAiB,4BAAjB;;AAIuB;;AAAA;;;;;;AAS7C;;AACE;;AACE;;AACE;;AACG;;AAKD;;AACF;;AAAyB;;AAAU;;AACrC;;AACF;;AAEA;;AACE;;AACG;;AACG;;AACG;;AAEC;;AAuBD;;AACH;;AACH;;AAEA;;AACG;;AACH;;AACH;;AACH;;AACD;;;;;;AAnDqF;;AAAA;;AAmBvD;;AAAA,6FAAiB,eAAjB,EAAiB,8BAAjB;;;;;;AAuC1B;;AAIE;;AACE;;AACG;;AAMD;;AACF;;AACE;;AACF;;AACF;;AACF;;AAEA;;AACE;;AAKE;;AAOA;;AA4CA;;AAEA;;AACE;;AACF;;AACF;;AACF;;;;;;AAlDiB;;AAAA,8FAAiB,YAAjB,EAAiB,4BAAjB;;AA8C0B;;AAAA;;;;;;AAhF/C;;AACE;;AAqFF;;;;;;;;AAMI;;AACE;;AACE;;AAKF;;AACA;;AAME;;AAAkB;AAAA;;AAAA;;AAAA;AAAA;;AAAgD;;AAMpE;;AACF;;;;;;AAlBM;;AAAA,mLAAgD,eAAhD,EAAgD,mBAAhD,EAAgD,cAAhD,EAAgD,0CAAhD;;AAK8C;;AAAA;;AAMA;;AAAA;;;;;;AAsDhD;;AACE;;AACE;;AACE;;AACG;;AAID;;AACJ;;AACA;;AAIE;;AACG;;AAA2D;;AAAuB;;AAAM;;AAO7F;;AACF;;AACF;;;;;;AAToE;;AAAA;;;;;;;;AAyF5E;;AAIE;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AACF;;;;;;AAJE;;;;;;;;AAKF;;AAIE;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AACF;;;;;;AAJE;;;;;;AApCJ;;AAKE;;AACE;;AAkBF;;AACA;;AAQA;;AAQF;;;;;;AAvCE;;AAyBG;;AAAA;;AAQA;;AAAA;;;;;;;;AAQL;;AACE;;AACE;;AAWF;;AACA;;AAGE;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AACF;;AACF;;;;;;AArBgB;;AAgBZ;;AAAA;;;;;;;;AAhFN;;AACE;;AACE;;AAAwB;;AAA4B;;AACtD;;AACA;;AAWE;;AAAsB;AAAA;;AAAA;;AAAA;AAAA;;AACpB;;AAAqE;;AACzE;;AACF;;AACA;;AAEE;;AA2CA;;AAsBF;;;;;;AA9DK;;AAAA;;AAwC8C;;AAAA;;;;;;AAkK3C;;AAAiF;;AAAW;;;;;;AAC5F;;AAAoF;;AAAI;;;;;;AA0ExF;;AAAiF;;AAAK;;;;;;AACtF;;AAAoF;;AAAK;;;;;;;;AAnNjG;;AACE;;AACE;;AAKE;AAAA;;AAAA;;AAAA;AAAA;;AASA;;AAAyB;;AAEiD;;AAC5E;;AACA;;AAIE;;AAAyB;;AAAY;;AACvC;;AAEA;;AAME;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AACF;;AAQF;;AACF;;AACA;;AACE;;AAEE;;AACE;;AACE;;AAWA;;AAKE;;AAKE;AAAA;;AAAA;;AAAA,4CAAyB,sBAAzB;AAA+C,WAA/C;;AALF;;AAYF;;AACF;;AAGA;;AACE;;AAEE;;AAA2E;;AAAW;;AACtF;;AAME;;AAcF;;AAEA;;AAGE;;AAKE;AAAA;;AAAA;;AAAA,4CAAyB,oBAAzB;AAA6C,WAA7C;;AALF;;AAkBF;;AACF;;AACF;;AAEA;;AACE;;AACA;;AAGA;;AACG;;AAQC;AAAA;;AAAA;;AAAA;AAAA;;AARD;;AAWL;;AAEE;;AAOF;;AAEA;;AACE;;AAAwC;;AAAK;;AAE7C;;AAOF;;AAEA;;AACE;;AAAwC;;AAAa;;AACrD;;AAAyB;;AAAkF;AAAA;;AAAA;;AAAA;AAAA;;AAAlF;;AAA2G;;AACpI;;AAOF;;AAEA;;AACE;;AAAwC;;AAAQ;;AAChD;;AACG;;AAQC;AAAA;;AAAA;;AAAA;AAAA;;AARD;;AASD;;AACF;;AAQF;;AAEA;;AACE;;AACA;;AAEA;;AACG;;AAQC;AAAA;;AAAA;;AAAA,4CAAyB,aAAzB;AAAsC,WAAtC;;AARD;;AAUD;;AACF;;AAQF;;AAEA;;AACE;;AAAwC;;AAAG;;AAC3C;;AACG;;AAQC;AAAA;;AAAA;;AAAA;AAAA;;AARD;;AASD;;AACF;;AAWF;;AA+DF;;AACF;;AACF;;;;;;AAnRoB;;AAAA;;AAGV;;AAAA;;AAgBE;;AAAA;;AA0BE;;AAAA;;AAmBA;;AAAA;;AAsBmC;;AAAA;;AACA;;AAAA;;AA0EA;;AAAA;;AACA;;AAAA;;;;;;;;AAwHjD;;AAA2D;AAAA;;AAAA;;AAAA;AAAA;;AAAkC;;;;;;;;AAC7F;;AAA0D;AAAA;;AAAA;;AAAA;AAAA;;AAAiD;;;;;;;;AAC3G;;AAAkE;AAAA;;AAAA;;AAAA;AAAA;;AAA8F;;;;;;AAAvC;;;;;;;;AACzH;;AAAsE;AAAA;;AAAA;;AAAA;AAAA;;AAA2D;;;;;;;;AACnI;;AAA+D;AAAA;;AAAA;;AAAA;AAAA;;AAAqD;;;;;;AAJlH;;AACA;;AACA;;AACA;;AACF;;;;;;AAJwB;;AACA;;AAAA;;AACA;;AAAA;;AACE;;AAAA;;AACD;;AAAA;;;;;;;;AAQvB;;AACE;;AAIE;AAAA;;AAAA;;AAAA,mBAAS,SAAA/J,QAAA,OAAT;AAAwB,WAAxB;;AAEA;;AACG;;AACD;;AACJ;;AACF;;AACA;;AAYE;;AACF;;;;;;AADa;;AAAA;;;;;;;;AAwEb;;AACE;;AAIE;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,QAAA,OAAT;AAAwB,WAAxB;;AAEA;;AAAyB;;AAAO;;AAClC;;AACF;;AAEA;;AACE;;AACA;;AACE;;AAAG;;AAA8B;;AACnC;;AAEA;;AACE;;AAAG;;AAA+C;;AACpD;;AAEA;;AACE;;AACA;;AACA;;AACF;;AACF;;;;;;AAdO;;AAAA;;AAEA;;AAAA;;AAIA;;AAAA;;AAIK;;AAAA;;AACA;;AAAA;;;;;;AA0DJ;;;;;;AAAyC;;;;;;AAP7C;;AACE;;AAQF;;;;;;AANI;;AAAA,0FAAiB,WAAjB,EAAiB,CAAjB;;;;;;;;AA9CR;;AACE;;AACE;;AAIE;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,QAAA,OAAT;AAAwB,WAAxB;;AAEA;;AAAyB;;AAAO;;AAClC;;AACA;;AAIE;;AAAI;;AAAW;;AACjB;;AACA;;AAIE;AAAA;;AAAA;;AAAA,oDAAiC,CAAjC;AAAkC,WAAlC;;AAEA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AAWE;;AAEE;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAUF;;AACF;;;;;;AAdI;;AAAA;;AAGgC;;AAAA;;;;;;;;AAgBpC;;AACE;;AAIE;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,QAAA,OAAT;AAAwB,WAAxB;;AAEA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AAEE;;AACA;;AAQE;;AAA4B;;AAC5B;;AACF;;AACA;;AAIE;;AAA2C;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,QAAA,OAAT;AAAwB,WAAxB;;AACzC;;AACF;;AACA;;AAA2C;AAAA;;AAAA;;AAAA;AAAA;;AACzC;;AACF;;AACF;;AACF;;;;;;;;;;;;;;;;AAgDM;;AACkB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEhB;;AACF;;;;;;AAJqB;;AACkC;;AAErD;;AAAA;;;;;;AAEF;;AAAsH;;AAAG;;;;;;;;AA3B7H;;AAKE;;AACE;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADF;;AAWA;;AAAiD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAsD;;AAAoB;;AAC3H;;AAAoD;;AAC5C;;AACV;;AACA;;AACE;;AAKA;;AAEF;;AACF;;;;;;;;AAnBM;;AAAA;;AAMqG;;AAAA;;AACnD;;AAAA;;AAIO;;AAAA;;AAKmB;;AAAA;;;;;;AAKlF;;AAWe;;AAAqB;;;;;;;;AAhEtC;;AACE;;AACE;;AAAI;;AAAK;;AACX;;AACA;;AAIE;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AAQE;;AAgCA;;AAcF;;;;;;AA5CqB;;AAAA;;AA8BM;;AAAA;;;;;;;;AAmB3B;;AACE;;AAIE;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,QAAA,OAAT;AAAwB,WAAxB;;AAEA;;AAAyB;;AAEmD;;AAC9E;;AACF;;AACA;;AACE;;AAQE;;AAA4B;;AAC5B;;AACF;;AACA;;AAIE;;AAEE;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,QAAA,OAAT;AAAwB,WAAxB;;AAGA;;AACF;;AACA;;AAEE;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AACF;;AACF;;AACF;;;;;;AArBI;;AAAA;;;;;;;;AA+CF;;AACE;;AACE;;AAIA;;AACE;;AACE;;AAAG;;;;AAAgD;;AACnD;;AACF;;AACF;;AACA;;AACE;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA2C;;AAAK;;AACtD;;AACE;AAAA;;AAAA;;AAAA;AAAA,aAAkB,OAAlB,EAAkB;AAAA;;AAAA;;AAAA;;AAAA,wHAC2C,EAD3C;AAC6C,WAD/D;;AAGC;;AAAM;;AAET;;AAAM;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAsC;;AAAM;;AACpD;;AACF;;AAEA;;AAIE;;AACG;;AAGC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAHD;;AAID;;AACF;;AAUF;;AACF;;;;;;AAzCM;;AAAA;;AAIK;;AAAA;;AACH;;AAAA;;AAiBJ;;AAAA;;AAUE;;AAAA;;;;;;AAWN;;AAKE;;AACF;;;;;;;;AA1EF;;AACE;;AACE;;AAAI;;AAAQ;;AACd;;AACA;;AAIE;AAAA;;AAAA;;AAAA;AAAA;;AAMA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AAIE;;AA+CA;;AAQA;;AAEE;;AAA0B;AAAA;;AAAA;;AAAA;AAAA;;AACvB;;AACD;;AACF;;AAgBF;;AACF;;;;;;AA7EgC;;AAAA;;AAkD3B;;AAAA;;AAKa;;AAAA;;;;;;;;AA2BlB;;AACE;;AACE;;AACG;;AAA0B;;AAE/B;;AACA;;AAIE;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,QAAA,OAAT;AAAwB,WAAxB;;AAEA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AAEE;;AACE;;AAA+B;;AAAI;;AAAI;;AAAwB;;AACjE;;AACA;;AACE;;AAEE;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AACF;;AACA;;AAGE;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AACF;;AACF;;AACF;;;;;;AAlB2C;;AAAA;;;;;;AA0BE;;AAAiC;;AAAI;;;;;;AAAQ;;AAAkC;;AAAM;;;;;;;;AA0DpH;;AAAqF;AAAA;;AAAA;;AAAA;AAAA,aAA+B,UAA/B,EAA+B;AAAA;;AAAA;;AAAA;AAAA,WAA/B;;AAArF;;;;;;;;AAiBM;;AAEE;;AACE;;AAAwC;AAAA;;AAAA;;AAAA,sDAAmC,CAAnC;AAAoC,WAApC;;AAAuC;;AAAG;;AACpF;;AACA;;AACA;;AACE;;AAAwC;AAAA;;AAAA;;AAAA,sDAAmC,CAAnC;AAAoC,WAApC;;AAAuC;;AAAG;;AACpF;;AACA;;AACA;;AACE;;AAAwC;AAAA;;AAAA;;AAAA,sDAAmC,CAAnC;AAAoC,WAApC;;AAAuC;;AAAI;;AACrF;;AACF;;;;;;AA5BN;;AACE;;AACE;;AACE;;AAEE;;AACI;;AAIA;;AAGJ;;AACF;;AACA;;AAcF;;AACF;;AACF;;;;;;;;AAEA;;AACS;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AADT;;;;;;;;AAUA;;AAGE;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAHF;;;;;;AAtDJ;;AACE;;AAQE;;AAEA;;AAiCA;;AAUA;;AAYF;;AAEA;;AAQF;;;;;;;;AAnEwD;;AAAA;;AAE5B;;AAAA;;AAiClB;;AAAA;;AAUA;;AAAA;;AAeN;;AAAA;;;;;;;;AAiBA;;AAAqF;AAAA;;AAAA;;AAAA;AAAA,aAA+B,UAA/B,EAA+B;AAAA;;AAAA;;AAAA;AAAA,WAA/B;;AAArF;;;;;;;;AACA;;AAGE;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAHF;;;;;;;;AAVJ;;AACE;;AAQE;;AACA;;AAeF;;AAEA;;AAAoG;AAAA;;AAAA;;AAAA;AAAA;;AAClG;;AACA;;AACF;;AACF;;;;;;;;AAtB8D;;AAAA;;AACpD;;AAAA;;AAiBW;;AAAA;;AACT;;AAAA;;;;;;;;AA6BN;;AACA;AAAA;;AAAA;;AAAA;AAAA,aAA+B,UAA/B,EAA+B;AAAA;;AAAA;;AAAA;AAAA,WAA/B;;AADA;;;;;;AAoBA;;;;;;AAuBC;;;;;;;;;;;;;;;;;;;;AA3DX;;AACE;;AACE;;AAEE;;AACE;;AAWE;;AAmBE;;AACF;;AASA;;AAKE;AAAA;;AAAA;;AAAA,mBAAS,SAAA4L,SAAA,QAAT;AAA0B,WAA1B;;AAED;;AACD;;AACF;;AACF;;AAEA;;AACE;;AAAM;AAAA;;AAAA;;AAAA;AAAA;;AACH;;AAOH;;AAA8F;;AAAI;;AACpG;;AAEA;;AACF;;AACF;;AACF;;;;;;AA1DU;;AAAA;;AAGiC;;AAAA;;AAoBhC;;AAAA;;AAYC;;AAAA;;AAUK;;AAAA;;AAOyC;;AAAA;;;;;;;;AAQ1D;;AAGE;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AACF;;;;;;AAHE;;;;;;;;AAKF;;AAGA;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AACF;;;;;;AAHE;;;;;;AA8E0B;;AAAyB;;AAAM;;;;;;AAAO;;AAAwB;;AAAI;;;;;;;;AAExF;;AACE;;AAKE;AAAA;;AAAA;;AAAA;AAAA;;AAKA;;AACF;;AACA;;;;;;;;AACA;;AACA;;AAOF;AAAA;;AAAA;;AAAA;AAAA;;AAIA;;AAAyB;;AAAO;;AAClC;;AACE;;;;;;AAOA;;;;;;AAAmD;;;;;;AACnD;;;;;;;;AAkRE;;AACoD;AAAA;;AAAA;;AAAA;AAAA;;AAClD;;AACF;;;;;;AAHQ;;;;;;;;AAKR;;AACkD;AAAA;;AAAA;;AAAA;AAAA;;AAChD;;AACJ;;;;;;AAHU;;;;;;;;AAgBpB;;AAAuB;AAAA;;AAAA;;AAAA;AAAA,aAAsC,UAAtC,EAAsC;AAAA;;AAAA;;AAAA;AAAA,WAAtC;;AAAgF;;;;;;;;AAsBvG;;AAME;;AAIE;AAAA;;AAAA;;AAAA,kFAAS,SAAAC,oCAAA,OAAT;AAAqD,WAArD;;AAEA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAIF;;;;;;AAJO;;AAAA;;;;;;AAmBL;;AACE;;AACF;;;;;;;;AAdF;;AACE;;AAAkE;AAAA;;AAAA;;AAAA,sDAAS,SAAA7L,QAAA,OAAT;AAAyB,WAAzB;;AAChE;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAA6E;;AAAgC;;AAC3G;;AAAa;;AACf;;AACE;;AAAkC;AAAA;;AAAA;;AAAA;AAAA;;AAA+I;;AAAG;;AACpL;;AAAuC;AAAA;;AAAA;;AAAA,sDAAS,SAAAA,QAAA,OAAT;AAAyB,WAAzB;;AAA0G;;AAAE;;AACrJ;;AACA;;AAGF;;;;;;AAHQ;;AAAA;;;;;;;;AA4CM;;AAEE;;AACE;;AAAwC;AAAA;;AAAA;;AAAA,mDAAgC,CAAhC;AAAiC,WAAjC;;AAAoC;;AAAG;;AACjF;;AACA;;AACA;;AACE;;AAAwC;AAAA;;AAAA;;AAAA,mDAAgC,CAAhC;AAAiC,WAAjC;;AAAoC;;AAAG;;AACjF;;AACA;;AACA;;AACE;;AAAwC;AAAA;;AAAA;;AAAA,mDAAgC,CAAhC;AAAiC,WAAjC;;AAAoC;;AAAI;;AAClF;;AAKF;;;;;;;;AAtDd;;AACA;;AACI;;AACe;;AAAI;;AACnB;;AAEuB;AAAA;;AAAA;;AAAA;AAAA;;AACnB;;AAC4B;;AAAO;;AACvC;;AACJ;;AACA;;AACI;;AAEI;;AAEqE;AAAA;;AAAA;;AAAA;AAAA,aAA8B,cAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,WAA9B;;AAClB;;AAEvD;;AACA;;AACE;;AAEE;;AACE;;AACE;;AACE;;AAIE;;AAGI;;AACA;;AACJ;;AACF;;AACA;;AAkBF;;AACF;;AACF;;AACA;;AAAuE;AAAA;;AAAA;;AAAA;AAAA;;AACrE;;AAAuG;;AAAM;;AAC/G;;AACA;;AAAyE;AAAA;;AAAA;;AAAA;AAAA;;AACvE;;AAAoG;;AAAI;;AAC1G;;AAEA;;AAEA;AAAA;;AAAA;;AAAA;AAAA;;AAAoB;;AAAC;;AACrB;;AACA;AAAA;;AAAA;;AAAA;AAAA;;AADA;;AAIA;;AAEA;AAAA;;AAAA;;AAAA;AAAA;;AAAmB;;AAAC;;AAatB;;AACF;;AACJ;;AACA;;;;;;AA5EuB;;AAAA,uHAA2C,qBAA3C,EAA2C,IAA3C,EAA2C,aAA3C,EAA2C,mBAA3C,EAA2C,gBAA3C,EAA2C,IAA3C,EAA2C,WAA3C,EAA2C,sBAA3C;;AASgD;;AAAA;;AA6ChB;;AAAA;;;;;;;;AA0BvD;;AACA;;AACI;;AACe;;AAAe;;AAC9B;;AAEuB;AAAA;;AAAA;;AAAA;AAAA;;AACnB;;AAC4B;;AAAO;;AACvC;;AACJ;;AACA;;AACI;;AAGI;;AAGwE;AAAA;;AAAA;;AAAA;AAAA,aAA4C,cAA5C,EAA4C;AAAA;;AAAA;;AAAA;AAAA,WAA5C;;AACpB;;AAExD;;AACA;;AACE;;AAEE;;AAAuE;AAAA;;AAAA;;AAAA;AAAA;;AACrE;;AAAsG;;AAAM;;AAC9G;;AACA;;AAAyE;AAAA;;AAAA;;AAAA;AAAA;;AACvE;;AAAmG;;AAAI;;AACzG;;AAEA;;AAEA;AAAA;;AAAA;;AAAA;AAAA;;AAAuC;;AAAC;;AACxC;;AACA;AAAA;;AAAA;;AAAA;AAAA;;AADA;;AAIA;;AAEA;AAAA;;AAAA;;AAAA;AAAA;;AAAsC;;AAAC;;AAazC;;AACF;;AACJ;;AACA;;;;;;AAzCQ;;AAAA,iHAAqC,qBAArC,EAAqC,IAArC,EAAqC,aAArC,EAAqC,sBAArC,EAAqC,gBAArC,EAAqC,IAArC,EAAqC,WAArC,EAAqC,oCAArC;;AAmB+C;;AAAA;;;;;;;;AA0BvD;;AACE;;AAEE;AAAA;;AAAA;;AAAA,mBAAS,SAAA8L,qBAAA,OAAT;AAAqC,WAArC;;AACA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAA+E;;AAA4B;;AAAK;;AACtG;;AACV;;AACE;;AAAiC;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,qBAAA,OAAT;AAAqC,WAArC;;AAAwE;;AAAE;;AAC3G;;AAA6B;AAAA;;AAAA;;AAAA;AAAA;;AAA0E;;AAAG;;AAC5G;;AACF;;;;;;;;AAIA;;AACE;;AAEE;AAAA;;AAAA;;AAAA,mBAAS,SAAAC,0BAAA,OAAT;AAA0C,WAA1C;;AACA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAA+E;;AAA4B;;AAAK;;AACxG;;AACR;;AACE;;AAAiC;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,0BAAA,OAAT;AAA0C,WAA1C;;AAA6E;;AAAE;;AAChH;;AAA6B;AAAA;;AAAA;;AAAA;AAAA;;AAA+E;;AAAG;;AACjH;;AACF;;;;;;AAsBiH;;AAA+D;;AAAY;;;;;;AAAO;;AAA8D;;AAAc;;;;;;AAGzQ;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;;;AArBR;;AAGA;;AACE;;AAOE;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAA8E;;AAAO;;AACvF;;AACA;;AACE;;AACF;;AACA;;AAAiG;;AAAc;;AAAkF;;AAAqF;;AAAK;;AAAyB;;AACpT;;AACE;;AACE;;AAGF;;AAEF;;AACA;;AACE;;AAA8B;AAAA;;AAAA;;AAAA;AAAA;;AACZ;;AAAI;;AAExB;;AACF;;;;;;AAdwH;;AAAA;;AAA+F;;AAAA;;AAG7L;;AAAA;;;;;;;;AAe1B;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,SAAAC,cAAA,OAAT;AAA8B,WAA9B;;AAC9D;;AAAyB;;AAG0C;;AACvE;;AACJ;;AACA;;AAEI;;AAA+C;;AAA4B;;AAC3E;;AACI;;AAAuC;AAAA;;AAAA;;AAAA;AAAA;;AAA0F;;AAAG;;AACpI;;AAA6D;AAAA;;AAAA;;AAAA,mBAAS,SAAAA,cAAA,OAAT;AAA8B,WAA9B;;AAAgC;;AAAE;;AACnG;;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCn7HWC,wB;AA2GX,0CACUlE,OADV,EAEU9H,YAFV,EAGU+B,OAHV,EAIUtJ,aAJV,EAKUV,WALV,EAMU+J,EANV,EAOU9J,MAPV,EAQU+R,OARV,EASU9R,KATV,EAUUgU,UAVV,EAWUC,eAXV,EAYYC,UAZZ,EAaUC,QAbV,EAc4BpG,QAd5B,EAeUhE,SAfV,EAgBUqK,iBAhBV,EAgB8C;AAAA;;AAAA;;AAfpC,eAAAvE,OAAA,GAAAA,OAAA;AACA,eAAA9H,YAAA,GAAAA,YAAA;AACA,eAAA+B,OAAA,GAAAA,OAAA;AACA,eAAAtJ,aAAA,GAAAA,aAAA;AACA,eAAAV,WAAA,GAAAA,WAAA;AACA,eAAA+J,EAAA,GAAAA,EAAA;AACA,eAAA9J,MAAA,GAAAA,MAAA;AACA,eAAA+R,OAAA,GAAAA,OAAA;AACA,eAAA9R,KAAA,GAAAA,KAAA;AACA,eAAAgU,UAAA,GAAAA,UAAA;AACA,eAAAC,eAAA,GAAAA,eAAA;AACE,eAAAC,UAAA,GAAAA,UAAA;AACF,eAAAC,QAAA,GAAAA,QAAA;AACkB,eAAApG,QAAA,GAAAA,QAAA;AAClB,eAAAhE,SAAA,GAAAA,SAAA;AACA,eAAAqK,iBAAA,GAAAA,iBAAA;AA7GV,eAAAC,QAAA,GAAe,EAAf;AACA,eAAAC,QAAA,GAAe,EAAf;AACA,eAAAC,WAAA,GAAgB,EAAhB;AACA,eAAAC,cAAA,GAAmB,EAAnB;AAEA,eAAAC,eAAA,GAAsB,EAAtB;AACA,eAAAnT,KAAA,GAAQ,mDAAAA,KAAA,CAAAM,GAAR;AAGA,eAAA8S,MAAA,GAAkB,KAAlB;AACA,eAAAC,IAAA,GAAgB,KAAhB;AACA,eAAAC,MAAA,GAAkB,IAAlB;AACA,eAAAC,GAAA,GAAe,KAAf;AAEA,eAAAC,YAAA,GAAe,EAAf;AACA,eAAAC,WAAA,GAAoB,KAApB;AAEA,eAAAC,MAAA,GAAS,mCAAT;AAIA,eAAA7D,QAAA,GAAoB,KAApB;AAKA,eAAAC,YAAA,GAAoB,EAApB;AACA,eAAAC,cAAA,GAAsB,EAAtB;AAQA,eAAApJ,SAAA,GAAqB,KAArB;AACA,eAAAgN,YAAA,GAAmB,EAAnB;AAGA,eAAAC,cAAA,GAAqB,CAArB;AAOA,eAAAC,QAAA,GAAa,EAAb;AAGA,eAAAC,YAAA,GAAiB,EAAjB;AACA,eAAAC,SAAA,GAAc,EAAd;AACA,eAAAC,kBAAA,GAA2B,IAA3B;AAEA,eAAArD,IAAA,GAAY,CAAZ;AACA,eAAAsD,WAAA,GAAmB,EAAnB;AACA,eAAAC,iBAAA,GAA0B,IAA1B;AACA,eAAAC,iBAAA,GAA0B,IAA1B;AAEA,eAAAC,WAAA,GAAsB,IAAtB;AACA,eAAAC,WAAA,GAAsB,IAAtB;AACA,eAAAC,mBAAA,GAAwB,EAAxB;AAwEA,eAAAC,QAAA,GAAe,EAAf;AAyIA,eAAAC,eAAA,GAAkB,CAAlB;AACA,eAAAC,aAAA,GAAgB,EAAhB;AACA,eAAAC,aAAA,GAAgB,EAAhB;AACA,eAAAC,eAAA,GAAkB,CAAlB;AAGA,eAAAC,aAAA,GAA4B;AAC1BC,gBAAI,EAAE,IADoB;AAE1BC,qBAAS,EAAE,KAFe;AAG1BC,qBAAS,EAAE,KAHe;AAI1BC,oBAAQ,EAAE,KAJgB;AAK1BC,gBAAI,EAAE,KALoB;AAM1BC,oBAAQ,EAAE,GANgB;AAO1BC,mBAAO,EAAE,CAAC,EAAD,EAAK,EAAL,CAPiB;AAQ1BC,sBAAU,EAAE;AACV,iBAAG;AACDC,qBAAK,EAAE;AADN,eADO;AAIV,mBAAK;AACHA,qBAAK,EAAE;AADJ,eAJK;AAOV,mBAAK;AACHA,qBAAK,EAAE;AADJ,eAPK;AAUV,mBAAK;AACHA,qBAAK,EAAE;AADJ;AAVK,aARc;AAsB1BC,eAAG,EAAE;AAtBqB,WAA5B;AAyBA,eAAAC,iBAAA,GAAqB,IAAI,6CAAAzO,SAAJ,CAAc;AACjCgD,oBAAQ,EAAE,IAAI,6CAAA9C,WAAJ,CAAgB,EAAhB,CADuB;AAEjCD,iBAAK,EAAE,IAAI,6CAAAC,WAAJ,CAAgB,EAAhB,CAF0B;AAGjCwO,iBAAK,EAAE,IAAI,6CAAAxO,WAAJ,CAAgB,EAAhB,CAH0B;AAIjC+C,oBAAQ,EAAE,IAAI,6CAAA/C,WAAJ,CAAgB,EAAhB,CAJuB;AAKjCyO,iBAAK,EAAE,IAAI,6CAAAzO,WAAJ,CAAgB,EAAhB,CAL0B;AAMjC0O,eAAG,EAAE,IAAI,6CAAA1O,WAAJ,CAAgB,EAAhB,CAN4B;AAOjC2O,sBAAU,EAAE,IAAI,6CAAA3O,WAAJ,CAAgB,EAAhB,CAPqB;AAQjC4O,sBAAU,EAAE,IAAI,6CAAA5O,WAAJ,CAAgB,EAAhB,CARqB;AASjC6O,0BAAc,EAAE,IAAI,6CAAA7O,WAAJ,CAAgB,EAAhB,CATiB;AAUjC8O,6BAAiB,EAAE,IAAI,6CAAA9O,WAAJ,CAAgB,EAAhB,CAVc;AAWjC+O,wBAAY,EAAE,IAAI,6CAAA/O,WAAJ,CAAgB,EAAhB,CAXmB;AAYjCgP,2BAAe,EAAE,IAAI,6CAAAhP,WAAJ,CAAgB,EAAhB,CAZgB;AAajCiP,gBAAI,EAAE,IAAI,6CAAAjP,WAAJ,CAAgB,EAAhB,CAb2B;AAcjCrI,iBAAK,EAAE,IAAI,6CAAAqI,WAAJ,CAAgB,EAAhB,CAd0B;AAejCkP,mBAAO,EAAE,IAAI,6CAAAlP,WAAJ,CAAgB,EAAhB,CAfwB;AAgBjCmP,eAAG,EAAE,IAAI,6CAAAnP,WAAJ,CAAgB,EAAhB,CAhB4B;AAiBjC,oBAAM,IAAI,6CAAAA,WAAJ,CAAgB,EAAhB,CAjB2B;AAkBjCoP,kBAAM,EAAE,IAAI,6CAAApP,WAAJ,CAAiB,EAAjB;AAlByB,WAAd,CAArB;AAsBA,eAAAqP,cAAA,GAAiB,IAAI,6CAAAvP,SAAJ,CAAc;AAC7BwP,mBAAO,EAAE,IAAI,6CAAAtP,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,6CAAAC,UAAA,SAAD,CAApB;AADoB,WAAd,CAAjB;AAIA,eAAAsP,iBAAA,GAAoB,IAAI,6CAAAzP,SAAJ,CAAc;AAChCwP,mBAAO,EAAE,IAAI,6CAAAtP,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,6CAAAC,UAAA,SAAD,CAApB;AADuB,WAAd,CAApB;AAIA,eAAAuP,iBAAA,GAAoB,IAAI,6CAAA1P,SAAJ,CAAc;AAChCwP,mBAAO,EAAE,IAAI,6CAAAtP,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,6CAAAC,UAAA,SAAD,CAApB;AADuB,WAAd,CAApB;AAKA,eAAAwP,MAAA,GAAS,EAAT;AACA,eAAAC,QAAA,GAAS,EAAT;AA+EA,eAAAC,YAAA,GAAe,EAAf;AAwEA,eAAAC,eAAA,GAAoB,EAApB,CA1X8C,CA2X9C;;AAGA,eAAAC,UAAA,GAAe,EAAf,CA9X8C,CA+X9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAAC,SAAA,GAAgB,EAAhB;AA0IA,eAAAC,mBAAA,GAA8B,KAA9B,CAjhB8C,CAsqB9C;;AACA,eAAAC,SAAA,GAAY;AACVC,kBAAM,EAAC,KADG;AAEVC,oBAAQ,EAAC,CAFC;AAGVpI,oBAAQ,EAAC,CAHC;AAIVqI,sBAAU,EAAC;AAJD,WAAZ;AAkFA,eAAAC,eAAA,GAAkB,IAAlB;AAmIA,eAAAC,2BAAA,GAA8B,CAA9B;AACA,eAAAC,iBAAA,GAAoB,KAApB;AACA,eAAAC,uBAAA,GAA0B,KAA1B;AACA,eAAAC,aAAA,GAAgB,EAAhB;AACA,eAAAC,SAAA,GAAY,KAAZ;AACA,eAAAC,OAAA,GAAU,IAAV;AAmJA,eAAAC,qBAAA,GAAwB,MAAxB;AACA,eAAAC,oBAAA,GAAuB,KAAvB;AACA,eAAAC,mBAAA,GAAsB,EAAtB;;AAmOA,eAAAC,yBAAA,GAA4B,UAASC,WAAT,EAAoB;AAC9C,gBAAIC,OAAO,GAAGD,WAAW,GAAC,IAA1B;AACA,mBAAO3I,IAAI,CAAC6I,KAAL,CAAWD,OAAO,GAAC,EAAnB,IAAyB,GAAzB,GAA+B5I,IAAI,CAAC6I,KAAL,CAAWD,OAAO,GAAC,EAAnB,CAAtC;AACD,WAHD;;AA0FA,eAAAE,SAAA,GAAc,EAAd;AAUA,eAAAC,iBAAA,GAAoB,EAApB;AAyLA,eAAAC,eAAA,GAAkB,EAAlB;AAsEA,eAAAC,oBAAA,GAA+B,KAA/B;AACA,eAAAC,mBAAA,GAA8B,KAA9B;AACA,eAAAC,cAAA,GAAyB,KAAzB;AAmKA,eAAAC,uBAAA,GAA0B,aAA1B;AAmMA,eAAAC,aAAA,GAAoB,CAApB;AAkHA,eAAAC,mBAAA,GAA6B,YAA7B;AA+EF,eAAAC,uBAAA,GAAmC,KAAnC,CAroEgD,CA0rE9C;;AACA,eAAAC,YAAA,GAAiB,iDAAAC,gBAAjB;AAMA,eAAAC,eAAA,GAAoB,EAApB,CAjsE8C,CA0tE9C;;AAGA,eAAAC,WAAA,GAAkB,CAChB;AAAC/P,iBAAK,EAAE,2CAAR;AAAqDC,gBAAI,EAAE,OAA3D;AAAmE7K,cAAE,EAAC;AAAtE,WADgB,EAEhB;AAAC4K,iBAAK,EAAE,sCAAR;AAA+CC,gBAAI,EAAE,QAArD;AAA8D7K,cAAE,EAAC;AAAjE,WAFgB,EAGhB;AAAC4K,iBAAK,EAAE,2CAAR;AAAoDC,gBAAI,EAAE,OAA1D;AAAkE7K,cAAE,EAAC;AAArE,WAHgB,EAIhB;AAAC4K,iBAAK,EAAE,kDAAR;AAA2DC,gBAAI,EAAE,OAAjE;AAAyE7K,cAAE,EAAC;AAA5E,WAJgB,EAKhB;AAAC4K,iBAAK,EAAE,4CAAR;AAAsDC,gBAAI,EAAE,OAA5D;AAAoE7K,cAAE,EAAC;AAAvE,WALgB,EAMhB;AAAC4K,iBAAK,EAAE,sCAAR;AAA+CC,gBAAI,EAAE,QAArD;AAA8D7K,cAAE,EAAC;AAAjE,WANgB,EAOhB;AAAC4K,iBAAK,EAAE,2CAAR;AAAoDC,gBAAI,EAAE,OAA1D;AAAkE7K,cAAE,EAAC;AAArE,WAPgB,EAQhB;AAAC4K,iBAAK,EAAE,sCAAR;AAA+CC,gBAAI,EAAE,OAArD;AAA6D7K,cAAE,EAAC;AAAhE,WARgB,CAAlB;AAUD,eAAA8K,YAAA,GAAe,KAAf;AACA,eAAAC,aAAA,GAAgB,IAAhB;AACA,eAAA6P,WAAA,GAAsB,IAAtB;AAYA,eAAA7J,QAAA,GAAa,CAAb;AAkDA,eAAA8J,SAAA,GAAiB,EAAjB;AAkIA,eAAAC,kBAAA,GAA6B,KAA7B;AAIA,eAAAC,cAAA,GAAiB,IAAI,6CAAArS,SAAJ,CAAc;AAC9BmC,gBAAI,EAAE,IAAI,6CAAAjC,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,6CAAAC,UAAA,SAAD,CAApB;AADwB,WAAd,CAAjB;AAGA,eAAAmS,cAAA,GAAiB,IAAI,6CAAAtS,SAAJ,CAAc;AAC9BuS,oBAAQ,EAAE,IAAI,6CAAArS,WAAJ,CAAgB,EAAhB,CADoB;AAE9BsS,uBAAW,EAAE,IAAI,6CAAAtS,WAAJ,CAAgB,EAAhB,CAFiB;AAG9B/E,iBAAK,EAAE,IAAI,6CAAA+E,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,6CAAAC,UAAA,SAAD,CAApB,CAHuB;AAI9BsS,qBAAS,EAAE,IAAI,6CAAAvS,WAAJ,CAAgB,EAAhB,EAAoB,CAAmB,KAAKwS,kBAAL,CAAwB,WAAxB,CAAnB,CAApB,CAJmB;AAK9BC,mBAAO,EAAE,IAAI,6CAAAzS,WAAJ,CAAgB,EAAhB,EAAoB,CAAmB,KAAKwS,kBAAL,CAAwB,SAAxB,CAAnB,CAApB,CALqB;AAM9BzK,qBAAS,EAAE,IAAI,6CAAA/H,WAAJ,CAAgB,EAAhB,EAAoB,CAAmB,KAAKwS,kBAAL,CAAwB,WAAxB,CAAnB,CAApB,CANmB;AAO9BE,mBAAO,EAAE,IAAI,6CAAA1S,WAAJ,CAAgB,EAAhB,EAAoB,CAAmB,KAAKwS,kBAAL,CAAwB,SAAxB,CAAnB,CAApB,CAPqB;AAQ9BG,iBAAK,EAAE,IAAI,6CAAA3S,WAAJ,CAAgB,EAAhB,EAAoB,EAApB,CARuB;AAS9BiP,gBAAI,EAAE,IAAI,6CAAAjP,WAAJ,CAAgB,EAAhB,CATwB;AAU9BrI,iBAAK,EAAE,IAAI,6CAAAqI,WAAJ,CAAgB,EAAhB,CAVuB;AAW9BkP,mBAAO,EAAE,IAAI,6CAAAlP,WAAJ,CAAgB,EAAhB,CAXqB;AAY9B4S,sBAAU,EAAE,IAAI,6CAAA5S,WAAJ,CAAgB,EAAhB,EAAmB,6CAAAC,UAAA,KAAe,CAAf,CAAnB,CAZkB;AAa9B4S,oBAAQ,EAAE,IAAI,6CAAA7S,WAAJ,CAAgB,EAAhB,EAAmB,6CAAAC,UAAA,KAAe,CAAf,CAAnB,CAboB;AAc9B6S,wBAAY,EAAE,IAAI,6CAAA9S,WAAJ,CAAgB,EAAhB;AAdgB,WAAd,CAAjB;AAkBD,eAAA+S,iBAAA,GAAsB,EAAtB;AACA,eAAAC,kBAAA,GAAuB,EAAvB;AACA,eAAAC,mBAAA,GAAwB,EAAxB;AA4NA,eAAAC,oBAAA,GAAuB,EAAvB;AACA,eAAAC,eAAA,GAAkB,KAAlB;AA0aA,eAAAC,sBAAA,GAAkC,KAAlC;AACA,eAAAC,YAAA,GAAe,CAAf;AA6cA,eAAAC,iBAAA,GAAyB,EAAzB;AACE,eAAAC,YAAA,GAAoB,EAApB;AAkVF,eAAAC,gBAAA,GAAqB,EAArB;AAiGA,eAAAC,4BAAA,GAA+B,IAAI,6CAAA3T,SAAJ,CAAc;AAC3CwP,mBAAO,EAAE,IAAI,6CAAAtP,WAAJ,CAAgB,EAAhB,EAAoB,CAAC,6CAAAC,UAAA,SAAD,CAApB;AADkC,WAAd,CAA/B;AAsCA,eAAAyT,UAAA,GAAa,EAAb;AAqCA,eAAAC,YAAA,GAAoC;AAClCC,oBAAQ,EAAE,IADwB;AAElCC,sBAAU,EAAE,IAFsB;AAGlCC,kBAAM,EAAE,OAH0B;AAIlCC,qBAAS,EAAE,GAJuB;AAKlCC,qBAAS,EAAE,MALuB;AAMlC1R,iBAAK,EAAE,MAN2B;AAOlC2R,oBAAQ,EAAE,GAPwB;AAQlCC,qBAAS,EAAE,KARuB;AASlCC,yBAAa,EAAE,KATmB;AAUlCC,uBAAW,EAAE,KAVqB;AAWlC;AACAC,qCAAyB,EAAE,EAZO;AAalCC,2BAAe,EAAE,EAbiB;AAclCC,2BAAe,EAAE,EAdiB;AAelCC,iBAAK,EAAE,CACL;AAAE,uBAAO,OAAT;AAAkBC,kBAAI,EAAE;AAAxB,aADK,EAEL;AAAE,uBAAO,iBAAT;AAA4BA,kBAAI,EAAE;AAAlC,aAFK,EAGL;AAAE,uBAAO,SAAT;AAAoBA,kBAAI,EAAE;AAA1B,aAHK,EAIL;AAAE,uBAAO,eAAT;AAA0BA,kBAAI,EAAE;AAAhC,aAJK,CAf2B;AAqBlCC,yBAAa,EAAE,CACb;AACED,kBAAI,EAAE,OADR;AAEE,uBAAO;AAFT,aADa,EAKb;AACEA,kBAAI,EAAE,SADR;AAEE,uBAAO;AAFT,aALa,EASb;AACEA,kBAAI,EAAE,WADR;AAEE,uBAAO,WAFT;AAGEE,iBAAG,EAAE;AAHP,aATa,CArBmB;AAoClCC,qBAAS,EAAE,UApCuB;AAqClCC,iCAAqB,EAAE,KArCW;AAsClCC,oBAAQ,EAAE,IAtCwB;AAuClCC,2BAAe,EAAE,KAvCiB;AAwClCC,gCAAoB,EAAE,CACpB,CAAC,MAAD,EAAS,QAAT,CADoB,EAEpB,CAAC,UAAD,CAFoB;AAxCY,WAApC;AA+CA,eAAAC,kCAAA,GAA8C,KAA9C;AAoIA,eAAAC,cAAA,GAAiB,GAAjB;AACA,eAAAC,gBAAA,GAAmB,GAAnB;AAuDA,eAAAC,YAAA,GAAe,CAAC,IAAE,CAAH,EAAM,IAAE,CAAR,EAAW,KAAG,CAAd,CAAf;AAEA,eAAAC,cAAA,GAAsB,IAAE,CAAxB;AA0HA,eAAAC,iBAAA,GAA6B,KAA7B;AA2FE,eAAAC,gBAAA,GAAmB,KAAnB;AAmGA,eAAAC,UAAA,GAAa,EAAb;AAmRA,eAAAC,WAAA,GAAc,EAAd;AA2EA,eAAAC,oBAAA,GAA+B,IAA/B;AACA,eAAAC,iBAAA,GAAoB,CAApB;AACA,eAAAC,gBAAA,GAAmB,EAAnB;AA+BA,eAAAC,cAAA,GAA0B,KAA1B;AACA,eAAAC,cAAA,GAA0B,KAA1B;AACA,eAAAC,iBAAA,GAA6B,KAA7B;AACA,eAAAC,eAAA,GAA2B,KAA3B;AAyGA,eAAAC,+BAAA,GAAgC,EAAhC,CAxiK8C,CA8jK9C;;AACA,eAAAC,cAAA,GAAiC;AAC/BC,yBAAa,EAAE;AADgB,WAAjC;AAMA,eAAAC,WAAA,GAAc,IAAE,CAAhB;AAoFA,eAAAC,KAAA,GAAQ,OAAR;AAcA,eAAAC,KAAA,GAAY,CAAZ;AAkBA,eAAAC,UAAA,GAAmB,CAAnB;AAaA,eAAAC,UAAA,GAAmB,CAAnB;AAiDA,eAAAC,4BAAA,GAA8C,EAA9C;AAyGA,eAAAC,wBAAA,GAA+B,CAA/B;AAgJA,eAAAC,iBAAA,GAAoB,CAApB,CAh/K8C,CAi/K9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA,eAAAC,uBAAA,GAA0B,EAA1B;AAngLE,eAAKlf,KAAL,CAAWmf,MAAX,CAAkBne,IAAlB,CACE,iDAAAoe,MAAA,EAAO,UAACle,KAAD;AAAA,mBAAWA,KAAK,YAAY,8CAAAme,aAA5B;AAAA,WAAP,CADF,EAEEhf,SAFF,CAEY,UAACa,KAAD,EAA0B;AACpCQ,mBAAO,CAACC,GAAR,CAAY,cAAZ,EAA2B,OAAI,CAAC2d,WAAhC;AACA5d,mBAAO,CAACC,GAAR,CAAY,gBAAZ,EAA6B,OAAI,CAAC4d,UAAlC;AACA,mBAAI,CAACD,WAAL,GAAmB,OAAI,CAACC,UAAxB,CAHoC,CAIpC;AACA;AACA;;AAEA,mBAAI,CAACA,UAAL,GAAkBre,KAAK,CAACqD,GAAxB;;AACA,mBAAI,CAACyP,UAAL,CAAgBwL,cAAhB,CAA+B,OAAI,CAACF,WAApC;;AACA,mBAAI,CAACpf,WAAL,GAAmB,OAAI,CAACJ,WAAL,CAAiBK,gBAApC;;AACA,mBAAI,CAAC4J,SAAL,CAAekC,QAAf,CAAwB,mDAAAtI,eAAA,eAAxB,EAAuD;AAACoZ,kBAAI,EAAC,mDAAA/Y,WAAA;AAAN,aAAvD;AACD,WAdD;AAeD,S,CAWD;;;;;iBACA,oBAAQ;AAAA;;AACN;AACA;AACA;AACA;AACA+J,oBAAQ,CAACC,cAAT,CAAwB,MAAxB,EAAgCyR,KAAhC,CAAsCC,QAAtC,GAA+C,EAA/C;AACA3R,oBAAQ,CAACC,cAAT,CAAwB,MAAxB,EAAgC2R,SAAhC,CAA0CC,MAA1C,CAAiD,kBAAjD;AACA,gBAAIC,GAAG,GAAG,mCAAC,CAAC,eAAD,CAAX,CAPM,CAQN;;AACA,gBAAIC,WAAW,GAAGD,GAAG,CAAC7U,IAAJ,CAAS,aAAT,CAAlB,CATM,CAWN;;AACA,gBAAG8U,WAAW,IAAI,IAAlB,EACEA,WAAW,CAACC,MAAZ;AAGA,iBAAKjW,OAAL,CAAakW,KAAb,CAAmB3f,SAAnB,CACE,UAAC2K,IAAD,EAAU;AACRtJ,qBAAO,CAACC,GAAR,CAAYqJ,IAAZ;AACA,qBAAI,CAAC+O,aAAL,GAAqB/O,IAArB;AACD,aAJH;AAOA,iBAAKlB,OAAL,CAAamW,KAAb,CAAmB5f,SAAnB,CAA6B,UAAC2K,IAAD,EAAa;AACxC,qBAAI,CAACkV,eAAL,GAAuBlV,IAAvB;;AACA,qBAAI,CAAC6B,SAAL,CAAe,OAAI,CAACsT,WAApB,EAFwC,CAGxC;AACA;;;AACA,qBAAI,CAACpY,YAAL,CAAkBW,IAAlB,CAAuB,OAAI,CAACyX,WAA5B,EAAyC;AAAC,yBAAO;AAAR,eAAzC;;AACApS,sBAAQ,CAACqS,aAAT,CAAuB,QAAvB,EAAiCT,SAAjC,CAA2CU,GAA3C,CAA+C,cAA/C;AACD,aAPD;AASA,iBAAKvW,OAAL,CAAawW,YAAb,CAA0BjgB,SAA1B,CAAoC,UAAC2K,IAAD,EAAa;AAC/C,qBAAI,CAACuV,iBAAL,GAAyBvV,IAAzB;;AACA,qBAAI,CAAC6B,SAAL,CAAe,OAAI,CAAC2T,WAApB;;AACA9e,qBAAO,CAACC,GAAR,CAAYqJ,IAAZ;AACD,aAJD;;AAOF,iBAAK6E,OAAL,CAAa4Q,qBAAb,CAAmC/f,IAAnC,CAAwC,IAAxC;;AACA,iBAAKggB,WAAL,GAAmB,yDAAnB;AACA,iBAAKC,aAAL,GAAqB,2DAArB;AACA,iBAAKC,kBAAL,GAA0B,iDAA1B;AACA,iBAAKC,mBAAL,GAAyB,wDAAzB;AACA,iBAAK9gB,MAAL,CAAY+gB,WAAZ,CAAwBzgB,SAAxB,CAAkC,UAAA0gB,MAAM,EAAI;AAC1C,qBAAI,CAACC,MAAL,GAAcD,MAAM,CAAC,IAAD,CAApB;AACA,qBAAI,CAACE,SAAL,GAAiBF,MAAM,CAAC,IAAD,CAAvB;AACA,qBAAI,CAACG,gBAAL,GAAwBH,MAAM,CAAC,MAAD,CAA9B;AACA,qBAAI,CAACI,eAAL,GAAuBJ,MAAM,CAAC,UAAD,CAA7B;;AACA,kBAAG,OAAI,CAACG,gBAAR,EAA0B;AACxB,uBAAI,CAACE,WAAL,GAAmB,IAAnB;AACD,eAFD,MAEK;AACH,uBAAI,CAACA,WAAL,GAAmB,KAAnB;AACD;AAIF,aAbD;AAeA,iBAAK9L,kBAAL,GAAyB,KAAzB;;AAEA,gBAAG,KAAK0L,MAAR,EAAe;AACb,mBAAKK,cAAL,CAAoB,KAAKL,MAAzB;AACA,mBAAKM,YAAL;AACA,mBAAKC,UAAL,CAAgB,KAAKP,MAArB,EAA4B,KAAKlL,eAAjC,EAAiD,KAAKC,aAAtD;AACA,mBAAKyL,QAAL,CAAc,KAAKR,MAAnB,EAA0B,KAAK/K,eAA/B,EAA+C,KAAKD,aAApD,EAJa,CAKb;;AACA,mBAAKyL,eAAL,CAAqB,KAAKT,MAA1B;AACA,mBAAKU,kBAAL,CAAwB,KAAKV,MAA7B;AACD,aARD,MAQK;AAEH,mBAAKlW,UAAL,GAFG,CAGH;AACA;;AACApJ,qBAAO,CAACC,GAAR,CAAY,KAAKzB,WAAjB;AACA,mBAAKqhB,UAAL,CAAgB,KAAKrhB,WAAL,CAAiBoS,MAAjC,EAAwC,KAAKwD,eAA7C,EAA6D,KAAKC,aAAlE;AACA,mBAAKyL,QAAL,CAAc,KAAKthB,WAAL,CAAiBoS,MAA/B,EAAsC,KAAK2D,eAA3C,EAA2D,KAAKD,aAAhE,EAPG,CAQH;AACA;;AACA,mBAAK0L,kBAAL,CAAwB,EAAxB;AACD,aAhFK,CAiFN;AACA;AACA;;AAEA;;;;AAGA;;;AACA,iBAAKC,iBAAL,CAAuB,KAAKX,MAA5B;AAEA,iBAAKY,iBAAL,CAAuB,KAAKZ,MAA5B;AACA,iBAAKa,oBAAL,CAA0B,KAAKb,MAA/B;AACA,iBAAKc,kBAAL,CAAwB,KAAKd,MAA7B,EA7FM,CA8FN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AACA,gBAAG1X,YAAY,CAAC6B,OAAb,CAAqB,oBAArB,CAAH,EAA8C;AAC5CzJ,qBAAO,CAACC,GAAR,CAAY,SAAZ,EAAsB,KAAKoM,QAAL,CAAcC,cAAd,CAA6B,gBAA7B,CAAtB;AACA1E,0BAAY,CAAC6C,UAAb,CAAwB,oBAAxB,EAF4C,CAG5C;AACA;;AACA,mBAAK4V,aAAL;AACD;AAEF;;;iBAED,2BAAe,CACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;iBA2EF,sBAAU;AAAA;;AAET,iBAAKjY,OAAL,CAAagB,UAAb,GAA0BzK,SAA1B,CAAoC,UAAC2I,GAAD,EAAa;AAC/C,qBAAI,CAAC+O,MAAL,GAAc,EAAd;AACA,qBAAI,CAACC,QAAL,GAAc,EAAd;;AACA,kBAAGhP,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAAC8B,cAAL,GAAsB/B,GAAG,CAACgC,IAA1B;AACA,uBAAI,CAACE,IAAL,GAAYlC,GAAG,CAACgC,IAAJ,CAASE,IAArB;;AACE,oBAAG,OAAI,CAACA,IAAL,IAAW,QAAd,EAAuB;AACrB,yBAAI,CAACpB,OAAL,CAAakY,kBAAb,GAAkC3hB,SAAlC,CAA4C,UAAC2I,GAAD,EAAa;AACvD,wBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,6BAAI,CAACoM,SAAL,GAAiBrM,GAAG,CAACgC,IAArB;;AACA,6BAAI,CAAClB,OAAL,CAAagB,UAAb,GAA0BzK,SAA1B,CAAoC,UAAC2I,GAAD,EAAa;AAC/C,4BAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,iCAAI,CAAC8B,cAAL,GAAsB/B,GAAG,CAACgC,IAA1B;AACAtJ,iCAAO,CAACC,GAAR,CAAY,OAAI,CAACoJ,cAAjB,EAAiC,qBAAjC;;AAFuB,qEAGV,OAAI,CAACsK,SAHK;AAAA;;AAAA;AAGvB,gFAA4B;AAAA,kCAApB4M,CAAoB;;AAAA,0EACbjZ,GAAG,CAACgC,IAAJ,CAASQ,SADI;AAAA;;AAAA;AAC1B;AAAA,sCAAQ0W,CAAR;;AACE,sCAAGD,CAAC,CAACve,GAAF,KAASwe,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAExe,GAAZ,CAAH,EAAmB;AACjB,2CAAI,CAACsU,QAAL,CAAcxE,IAAd,CAAmByO,CAAC,CAACve,GAArB;;AACE,2CAAI,CAACqU,MAAL,GAAc,OAAI,CAACA,MAAL,GAAc,GAAd,GAAoB,GAApB,GAA0BkK,CAAC,CAACE,UAA1C;AACAzgB,2CAAO,CAACC,GAAR,CAAY,OAAI,CAACoW,MAAjB;AACH;AALH;AAD0B;AAAA;AAAA;AAAA;AAAA;AAO3B;AAVsB;AAAA;AAAA;AAAA;AAAA;AAWxB;AACF,uBAbD;AAcD;AACF,mBAlBD;AAmBD,iBApBD,MAoBK;AACH,yBAAI,CAACjO,OAAL,CAAasY,SAAb,GAAyB/hB,SAAzB,CAAmC,UAAC2I,GAAD,EAAa;AAC9C,wBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,0BAAIoZ,IAAI,GAAGrZ,GAAG,CAACgC,IAAf;;AACA,6BAAI,CAAClB,OAAL,CAAagB,UAAb,GAA0BzK,SAA1B,CAAoC,UAAC2I,GAAD,EAAa;AAC/C,4BAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,iCAAI,CAAC8B,cAAL,GAAsB/B,GAAG,CAACgC,IAA1B;;AADuB,sEAEVqX,IAFU;AAAA;;AAAA;AAEvB,mFAAkB;AAAA,kCAAVJ,CAAU;;AAAA,0EACHjZ,GAAG,CAACgC,IAAJ,CAASS,YADN;AAAA;;AAAA;AAChB;AAAA,sCAAQyW,CAAR;;AACE,sCAAGD,CAAC,CAACve,GAAF,KAASwe,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAExe,GAAZ,CAAH,EAAmB;AACjB,2CAAI,CAACsU,QAAL,CAAcxE,IAAd,CAAmByO,CAAC,CAACve,GAArB;;AACE,2CAAI,CAACqU,MAAL,GAAc,OAAI,CAACA,MAAL,GAAc,GAAd,GAAoB,GAApB,GAA0BkK,CAAC,CAACK,aAA1C;AACH;AAJH;AADgB;AAAA;AAAA;AAAA;AAAA;AAMjB;AARsB;AAAA;AAAA;AAAA;AAAA;AASxB;AACF,uBAXD;AAYD;AACF,mBAhBD;AAiBD;AACJ;AACF,aA9CD;AAgDC;;;iBAED,wBAAY;AAAA;;AACV,iBAAKxY,OAAL,CAAagB,UAAb,GAA0BzK,SAA1B,CAAoC,UAAC2I,GAAD,EAAa;AAC/C,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAACsZ,gBAAL,GAAwBvZ,GAAG,CAACgC,IAA5B;AACD;AACF,aAJD;AAKD;;;iBAED,qBAAS;AAAA;;AACP,iBAAKlB,OAAL,CAAasY,SAAb,GAAyB/hB,SAAzB,CAAmC,UAAC2I,GAAD,EAAa;AAC9C,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAACoM,SAAL,GAAiBrM,GAAG,CAACgC,IAArB;AACD;AACF,aAJD;AAKD;;;iBAED,wBAAetL,EAAf,EAAqB;AAAA;;AACnB,iBAAKoK,OAAL,CAAauX,cAAb,CAA4B3hB,EAA5B,EAAgCW,SAAhC,CAA0C,UAAC2I,GAAD,EAAa;AACrD,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAAC8B,cAAL,GAAsB/B,GAAG,CAACgC,IAA1B;AACD;AACF,aAJD;AAKD;;;iBAGD,oBAAWtL,EAAX,EAAkBwS,QAAlB,EAA2BsQ,UAA3B,EAAqC;AAAA;;AACnC,iBAAK1Y,OAAL,CAAa2Y,eAAb,CAA6B/iB,EAA7B,EAAgCwS,QAAhC,EAAyCsQ,UAAzC,EAAqDniB,SAArD,CAA+D,UAAC2I,GAAD,EAAa;;;AAC1E,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,oBAAG,MAAAD,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEgC,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEO,MAAd,EAAqB;AAAA;;AACnB;AACA,iDAAI,CAAC0M,YAAL,EAAkBzE,IAAlB,gDAA0BxK,GAAG,CAACgC,IAA9B;;AACA,yBAAI,CAACqJ,QAAL,GAAgB,OAAI,CAAC4D,YAArB;AACD,iBAJD,MAKI;AACF,yBAAI,CAACzC,iBAAL,GAAwB,KAAxB;AACA,yBAAI,CAACnB,QAAL,GAAgB,OAAI,CAAC4D,YAArB;AACD,iBATsB,CAUrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AACD,eA9BD,MA8BK;AACH,uBAAI,CAACzX,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aAlCD;AAmCD;;;iBAED,kBAAS1J,EAAT,EAAgBwS,QAAhB,EAAyBsQ,UAAzB,EAAmC;AAAA;;AACjC,iBAAK1Y,OAAL,CAAa4Y,gBAAb,CAA8BhjB,EAA9B,EAAiCwS,QAAjC,EAA0CsQ,UAA1C,EAAsDniB,SAAtD,CAAgE,UAAC2I,GAAD,EAAa;;;AAC3E,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB;AACA,oBAAG,MAAAD,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEgC,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEO,MAAd,EAAqB;AAAA;;AACnB,6CAAI,CAAC+I,QAAL,EAAcd,IAAd,4CAAsBxK,GAAG,CAACgC,IAA1B;AACD,iBAFD,MAGI;AACF,yBAAI,CAACyK,iBAAL,GAAwB,KAAxB;AACD,iBAPsB,CAQvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD,eAzBD,MAyBK;AACH,uBAAI,CAACjV,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aA7BD;AA8BD;;;iBAiBD,4BAAmBkJ,MAAnB,EAAyB;AAAA;;AACvB5Q,mBAAO,CAACC,GAAR,CAAY,CAAZ;AACA,iBAAKmI,OAAL,CAAa6Y,kBAAb,CAAgC;AAACjjB,gBAAE,EAAC4S;AAAJ,aAAhC,EAA6CjS,SAA7C,CAAuD,UAAC2I,GAAD,EAAW;yBAAA,CAChE;;;AACAtH,qBAAO,CAACC,GAAR,CAAYqH,GAAG,CAACgC,IAAJ,CAAS4X,MAArB;AACA,qBAAI,CAACzN,QAAL,GAAgBnM,GAAG,CAACgC,IAAJ,CAAS4X,MAAzB;;AACA,kBAAG,YAAA5Z,GAAG,CAACgC,IAAJ,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAE6X,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEC,aAAvB,EAAqC;AACnC,uBAAI,CAACjF,gBAAL,GAAwB,IAAxB;AACD;;AACD,qBAAI,CAACkF,uBAAL,GAA+B/Z,GAAG,CAACgC,IAAJ,CAAS6X,QAAT,CAAkBC,aAAjD;AACD,aARD,EAFuB,CAWvB;AACD;;;iBAED,uBAAW;AAAA;;AACT,iBAAKhZ,OAAL,CAAakZ,kBAAb,CAAgC,EAAhC,EAAoC3iB,SAApC,CACE,UAAC2I,GAAD,EAAY;;;AACZtH,qBAAO,CAACC,GAAR,CAAYqH,GAAZ;;AADY,0DAECA,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEgC,IAFN;AAAA;;AAAA;AAEZ,uEAAuB;AAAA,sBAAfiX,CAAe;AACrB,sBAAIjX,IAAI,GAAG;AACTzG,uBAAG,EAAE,MAAG,MAAA0d,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEC,GAAb,CADI;AAET3f,yBAAK,EAAE,MAAG,MAAA0e,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAElG,IAAb,CAFE;AAGToG,yBAAK,EAAE,MAAG,kBAAAlB,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEG,KAAV,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEC,MAAF,CAAS,CAAT,CAAf,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE9e,GAA/B,CAHE;AAIT+e,wBAAI,EAAE,MAAArB,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEM,WAJP;AAKTC,6BAAS,EAAE,MAAG,YAAAvB,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEG,KAAV,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAErG,IAApB,CALF;AAMT0G,mCAAe,EAAE,MAAAxB,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEM;AANlB,mBAAX;;AAQA,yBAAI,CAACnL,SAAL,CAAe5E,IAAf,CAAoBxI,IAApB;;AACA,sBAAG,OAAI,CAACoN,SAAL,CAAe7M,MAAf,GAAsB,CAAzB,EAA2B;AACzB,2BAAI,CAAC6M,SAAL,GAAiB,OAAI,CAACA,SAAL,CAAe9E,MAAf,CAAsB,CAAtB,EAAyB,CAAzB,CAAjB;AACD;;AACD,yBAAI,CAACoQ,2BAAL,GAAmC,OAAI,CAACtL,SAAL,CAAe,CAAf,CAAnC;AACA,yBAAI,CAACuL,wBAAL,GAAgC,CAAhC;AACD,iBAjBW,CAkBZ;;AAlBY;AAAA;AAAA;AAAA;AAAA;AAmBb,aApBD,EAoBG,UAAC3a,GAAD,EAAY;AACb,qBAAI,CAAC8I,OAAL,CAAanI,IAAb;AACD,aAtBD,EADS,CAwBT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;iBAED,yBAAgBjK,EAAhB,EAAsB;AAAA;;AACpB,iBAAKoK,OAAL,CAAakZ,kBAAb,CAAgCtjB,EAAhC,EAAoCW,SAApC,CAA8C,UAAC2I,GAAD,EAAY;;;AACxDtH,qBAAO,CAACC,GAAR,CAAYqH,GAAZ;;AADwD,0DAE3CA,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEgC,IAFsC;AAAA;;AAAA;AAExD,uEAAuB;AAAA,sBAAfiX,CAAe;AACrB,sBAAIjX,IAAI,GAAG;AACTzG,uBAAG,EAAE,MAAG,MAAA0d,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEC,GAAb,CADI;AAET3f,yBAAK,EAAE,MAAG,MAAA0e,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAElG,IAAb,CAFE;AAGToG,yBAAK,EAAE,MAAG,kBAAAlB,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEG,KAAV,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEC,MAAF,CAAS,CAAT,CAAf,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE9e,GAA/B,CAHE;AAIT+e,wBAAI,EAAE,MAAArB,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEM,WAJP;AAKTC,6BAAS,EAAE,MAAG,YAAAvB,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEG,KAAV,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAErG,IAApB,CALF;AAMT0G,mCAAe,EAAE,MAAAxB,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEgB,KAAH,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAEM;AANlB,mBAAX;;AAQA,yBAAI,CAACnL,SAAL,CAAe5E,IAAf,CAAoBxI,IAApB,EATqB,CAUrB;AACA;AACA;;;AACA,yBAAI,CAAC0Y,2BAAL,GAAmC,OAAI,CAACtL,SAAL,CAAe,CAAf,CAAnC;AACA,yBAAI,CAACuL,wBAAL,GAAgC,CAAhC;AACD,iBAjBuD,CAkBxD;;AAlBwD;AAAA;AAAA;AAAA;AAAA;AAmBzD,aAnBD,EAmBG,UAAC3a,GAAD,EAAY;AACb,qBAAI,CAAC8I,OAAL,CAAanI,IAAb;AACD,aArBD;AAsBD;;;iBASK,iCAAwB;;;;;;;;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEMia,4B,GAAS7V,QAAQ,CAAC8V,aAAT,CAAuB,QAAvB,C;AACfD,4BAAM,CAACE,GAAP,GAAa,uCAAb;AACAF,4BAAM,CAAC3a,IAAP,GAAc,iBAAd;AACA2a,4BAAM,CAACG,gBAAP,CAAwB,MAAxB,EAAgC,UAAAzkB,CAAC,EAAI;AACnCoC,+BAAO,CAACC,GAAR,CAAYrC,CAAZ;AACD,uBAFD;AAGAyO,8BAAQ,CAACiW,IAAT,CAAcC,WAAd,CAA0BL,MAA1B;;AAEM9S,4BAAO,CAACoT,4BAAR,GAAuC,YAAM;AACjD;AACA;AACA;AACA;AACE;AACA;AAGA;AACA;AACG,+BAAI,CAACC,YAAL,GAAoB,OAAI,CAACC,eAAL,EAApB,CAX4C,CAY/C;;AAEA,+BAAI,CAACD,YAAL,GAAoB,OAAI,CAACE,gBAAL,CAAsBC,YAA1C;AACA,4BAAIxjB,KAAK,GAAG,OAAI,CAACqjB,YAAjB;AACA,+BAAI,CAACI,gBAAL,GAAwB,IAAUzT,MAAO,CAAC0T,OAAR,CAAgBC,MAA1B,CAAiC;AACvD1H,8BAAI,EAAE,qCADiD;AAEvD2H,uCAAa,EAAE,uBAAAC,EAAE,EAAI;AAAEA,8BAAE,CAAC7jB,KAAD,CAAF;AAAY,2BAFoB;AAGvD8jB,gCAAM,EAAE;AAH+C,yBAAjC,EAIrB,UAAC5b,GAAD,EAAY;AACb,iCAAI,CAAC8I,OAAL,CAAanI,IAAb;AACD,yBANuB,CAAxB;AAQAjI,+BAAO,CAACC,GAAR,CAAY,OAAI,CAAC4iB,gBAAjB;;AAEA,+BAAI,CAACA,gBAAL,CAAsBM,WAAtB,CAAkC,OAAlC,EAA2C,gBAAmB;AAAA,8BAAhBC,SAAgB,QAAhBA,SAAgB;AAC5DpjB,iCAAO,CAACC,GAAR,CAAY,sBAAZ,EAAoCmjB,SAApC;AACA,iCAAI,CAACA,SAAL,GAAiBA,SAAjB;AACD,yBAHD,EA1B+C,CA+B/C;;;AACA,+BAAI,CAACP,gBAAL,CAAsBM,WAAtB,CAAkC,WAAlC,EAA+C,iBAAmB;AAAA,8BAAhBC,SAAgB,SAAhBA,SAAgB;AAChEpjB,iCAAO,CAACC,GAAR,CAAY,4BAAZ,EAA0CmjB,SAA1C;AACD,yBAFD;;AAIA,+BAAI,CAACP,gBAAL,CAAsBM,WAAtB,CAAkC,sBAAlC,EAA0D,UAAA5kB,KAAK,EAAI;AACjE;AACA;AACA;AACA;AACA;AACA,iCAAI,CAACqY,SAAL,CAAe,QAAf,IAA2BrY,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEsY,MAAlC;AACA,iCAAI,CAACD,SAAL,CAAe,UAAf,IAA6BrY,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEuY,QAApC;AACA,iCAAI,CAACF,SAAL,CAAe,UAAf,IAA6BrY,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEmQ,QAApC;AACA,iCAAI,CAACkI,SAAL,CAAe,YAAf,IAA+ByM,WAAW,CAACxU,GAAZ,EAA/B;AACD,yBAVD;;AAYA,+BAAI,CAACgU,gBAAL,CAAsBS,OAAtB,GAhD+C,CAkDjD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;;AACD,uBAjGK;;;;;;;;;AAmGP;;;iBAED,4BAAmB;;;AACjB,gBAAI,WAAK1M,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEC,MAApB,EAA4B;AACzB,qBAAO,WAAKD,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEE,QAAvB;AACF;;AACD9W,mBAAO,CAACC,GAAR,CAAY,WAAZ,EAAwB,WAAK2W,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEE,QAAxC;AACA9W,mBAAO,CAACC,GAAR,CAAY,OAAZ,EAAoBojB,WAAW,CAACxU,GAAZ,EAApB;AACA7O,mBAAO,CAACC,GAAR,CAAY,cAAZ,EAA2B,WAAK2W,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEG,UAA3C;AACA,gBAAID,QAAQ,GAAG,YAAKF,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEE,QAAhB,IAA2B,CAACuM,WAAW,CAACxU,GAAZ,MAAoB,WAAK+H,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEG,UAApC,CAAD,IAAmD,IAA7F;AAEA/W,mBAAO,CAACC,GAAR,CAAY,WAAZ,EAAwB6W,QAAxB;AACA9W,mBAAO,CAACC,GAAR,CAAY,gBAAZ,EAA6B,WAAK2W,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAElI,QAA7C;AACA,mBAAOoI,QAAQ,IAAG,WAAKF,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAElI,QAAnB,CAAR,GAAsC,WAAKkI,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAElI,QAAtD,GAAiEoI,QAAxE;AACD;;;iBAYD,aAAIA,QAAJ,EAAapI,QAAb,EAAqB;AACnB1O,mBAAO,CAACC,GAAR,CAAY,KAAZ;AACA,iBAAKgX,2BAAL,GAAmCjI,IAAI,CAAC6I,KAAL,CAAYf,QAAQ,GAACpI,QAAV,GAAoB,GAA/B,CAAnC;AACD;;;iBAuCD,0BAAiBnH,IAAjB,EAAsBgK,KAAtB,EAA4BgS,aAA5B,EAA6C;AAC3C;AACA;AACA;AAEAvjB,mBAAO,CAACC,GAAR,CAAYsH,IAAZ;AACAvH,mBAAO,CAACC,GAAR,CAAYsR,KAAZ;AACAvR,mBAAO,CAACC,GAAR,CAAYsjB,aAAZ;AAEA,iBAAK5M,mBAAL,GAA2B,IAA3B;;AACA,gBAAGpP,IAAI,IAAI,UAAX,EAAsB;AACpB,mBAAKic,oBAAL,GAA4B,UAA5B;AACA,mBAAKC,wBAAL,GAAgClS,KAAhC;AACA,mBAAK0Q,wBAAL,GAAgCsB,aAAhC;AACA,mBAAKvB,2BAAL,GAAmC,KAAK3F,WAAL,CAAiB9K,KAAjB,EAAwB0D,KAAxB,CAA8BsO,aAA9B,CAAnC;AACD,aALD,MAMI;AACF,mBAAKC,oBAAL,GAA4B,aAA5B;AACA,mBAAKvB,wBAAL,GAAgC1Q,KAAhC;AACA,mBAAKyQ,2BAAL,GAAmC,KAAK3F,WAAL,CAAiB9K,KAAjB,EAAwB0D,KAAxB,CAA8B,CAA9B,CAAnC;AACD;;AAEDjV,mBAAO,CAACC,GAAR,CAAY,KAAK+hB,2BAAjB;AACA,iBAAK0B,IAAL,CAAU,KAAK1B,2BAAL,CAAiCR,GAA3C;AACAnV,oBAAQ,CAACC,cAAT,CAAwB,iBAAxB,EAA2CyR,KAA3C,CAAiD4F,OAAjD,GAA2D,MAA3D;AACAtX,oBAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CyR,KAA5C,CAAkD4F,OAAlD,GAA4D,OAA5D;AACA3jB,mBAAO,CAACC,GAAR,CAAY,sBAAZ;AAED;;;iBAGD,+BAAmB;AAAA;;AACjB,gBAAG,KAAK+W,eAAR,EAAwB;AACtB,mBAAK6L,gBAAL,CAAsBe,SAAtB,CAAgC,CAAhC,EAAmCjmB,IAAnC,CAAwC,YAAM;AAC5CqC,uBAAO,CAACC,GAAR,CAAY,OAAZ;AACA,uBAAI,CAAC+W,eAAL,GAAuB,KAAvB;AACA,uBAAI,CAACI,aAAL,GAAqB,CAArB;AACD,eAJD;AAKD,aAND,MAOI;AACF,mBAAKyL,gBAAL,CAAsBe,SAAtB,CAAgC,GAAhC,EAAqCjmB,IAArC,CAA0C,YAAM;AAC9CqC,uBAAO,CAACC,GAAR,CAAY,SAAZ;AACA,uBAAI,CAAC+W,eAAL,GAAuB,IAAvB;AACA,uBAAI,CAACI,aAAL,GAAqB,EAArB;AACD,eAJD;AAKD;AAGF;;;iBAED,+BAAmB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA,gBAAG,KAAKoM,oBAAL,IAA6B,UAAhC,EAA2C;AACzCxjB,qBAAO,CAACC,GAAR,CAAY,KAAKgiB,wBAAjB;;AACA,kBAAG,KAAKA,wBAAL,IAAiC,CAApC,EAAsC;AACpC,qBAAKA,wBAAL,GAAgC,KAAK5F,WAAL,CAAiB,KAAKoH,wBAAtB,EAAgDxO,KAAhD,CAAsDpL,MAAtD,GAA6D,CAA7F;AACD,eAFD,MAGI;AACF,qBAAKoY,wBAAL;AACD;;AACD,mBAAK4B,gBAAL,CAAsB,UAAtB,EAAiC,KAAKJ,wBAAtC,EAA+D,KAAKxB,wBAApE;AACD,aATD,MAUI;AACF,mBAAK6B,wBAAL;AACD;AAGD;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BD;;;iBAED,2BAAe;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,gBAAG,KAAK5M,iBAAR,EAA0B;AACxB,mBAAK2L,gBAAL,CAAsBkB,MAAtB;AACA,mBAAK7M,iBAAL,GAAyB,KAAzB;AACA7K,sBAAQ,CAACC,cAAT,CAAwB,iBAAxB,EAA2CyR,KAA3C,CAAiD4F,OAAjD,GAA2D,MAA3D;AACAtX,sBAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CyR,KAA5C,CAAkD4F,OAAlD,GAA4D,OAA5D;AACD,aALD,MAMI;AACF,mBAAKD,IAAL,CAAU,KAAK1B,2BAAL,CAAiCR,GAA3C;AACAnV,sBAAQ,CAACC,cAAT,CAAwB,iBAAxB,EAA2CyR,KAA3C,CAAiD4F,OAAjD,GAA2D,MAA3D;AACAtX,sBAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CyR,KAA5C,CAAkD4F,OAAlD,GAA4D,OAA5D;AACD;AAGF;;;iBAQD,4BAAgB;AAAA;;AACd,iBAAKd,gBAAL,CAAsBmB,KAAtB,GAA8BrmB,IAA9B,CAAmC,YAAM;AACvCqC,qBAAO,CAACC,GAAR,CAAY,SAAZ;AACA,qBAAI,CAACiX,iBAAL,GAAyB,IAAzB;AACA7K,sBAAQ,CAACC,cAAT,CAAwB,iBAAxB,EAA2CyR,KAA3C,CAAiD4F,OAAjD,GAA2D,OAA3D;AACAtX,sBAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CyR,KAA5C,CAAkD4F,OAAlD,GAA4D,MAA5D;AACD,aALD;AAMD;;;iBACD,sBAAa/lB,CAAb,EAAc;AAAA;;AACZoC,mBAAO,CAACC,GAAR,CAAYrC,CAAC,CAACuM,MAAF,CAAS/C,KAArB;AACA,iBAAKyb,gBAAL,CAAsBe,SAAtB,CAAgChmB,CAAC,CAACuM,MAAF,CAAS/C,KAAT,GAAe,IAA/C,EAAqDzJ,IAArD,CAA0D,YAAM;AAC9DqC,qBAAO,CAACC,GAAR,CAAY,iBAAZ;;AACA,kBAAGrC,CAAC,CAACuM,MAAF,CAAS/C,KAAT,IAAkB,CAArB,EAAuB;AACrB,uBAAI,CAAC4P,eAAL,GAAuB,KAAvB;AACD;AACF,aALD;AAMD;;;iBACD,2BAAe;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACC,gBAAG,KAAKwM,oBAAL,IAA6B,UAAhC,EAA2C;AAC1CxjB,qBAAO,CAACC,GAAR,CAAY,KAAKgiB,wBAAjB;;AACA,kBAAG,KAAKA,wBAAL,IAAiC,KAAK5F,WAAL,CAAiB,KAAKoH,wBAAtB,EAAgDxO,KAAhD,CAAsDpL,MAAtD,GAA6D,CAAjG,EAAmG;AACjG,qBAAKoY,wBAAL,GAAgC,CAAhC;AACD,eAFD,MAGI;AACF,qBAAKA,wBAAL;AACD;;AACD,mBAAK4B,gBAAL,CAAsB,UAAtB,EAAiC,KAAKJ,wBAAtC,EAA+D,KAAKxB,wBAApE;AACD,aATA,MAUG;AACF,mBAAKgC,oBAAL;AACD;AACF,W,CAED;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;;;iBACA,cAAKphB,GAAL,EAAQ;AAAA;;AACN;AACAqhB,sBAAU,CAAC,YAAI;AACb,qBAAI,CAAC5M,OAAL,GAAe,IAAf;AACD,aAFS,EAER,IAFQ,CAAV;AAIA,qDAAO;AACLzU,iBAAG,EAAE,yDAAyD,KAAKugB,SAD9D;AAEL7b,kBAAI,EAAE,KAFD;AAGL+B,kBAAI,0BAAgBzG,GAAhB,SAHC;AAIL;AACAshB,wBAAU,EAAE,oBAACC,GAAD,EAAO;AAACA,mBAAG,CAACC,gBAAJ,CAAqB,eAArB,EAAsC,YAAY,OAAI,CAAC5B,YAAvD;AAAuE,eALtF;AAMLhb,qBAAO,EAAE,iBAAC6B,IAAD,EAAU;AACjBtJ,uBAAO,CAACC,GAAR,CAAYqJ,IAAZ;;AACA,uBAAI,CAACgb,aAAL;AACD;AATI,aAAP;AAWD;;;iBAID,oCAAwB;AACtB,iBAAK9M,oBAAL,GAA4B,CAAC,KAAKA,oBAAlC,CADsB,CAEtB;AACA;AACA;AACA;AACA;AACA;AACD;;;iBAED,iBAAQ+M,KAAR,EAAe;AACb,gBAAIC,YAAY,GAAGD,KAAK,CAAC1a,MAAzB;AAAA,gBAAkC4a,WAAlC,CADa,CAGb;;AACA,mBAAOD,YAAY,IAAI,CAAvB,EAA0B;AAExB;AACAC,yBAAW,GAAGzV,IAAI,CAACG,KAAL,CAAWH,IAAI,CAAC0V,MAAL,KAAgBF,YAA3B,CAAd;AACAA,0BAAY,GAJY,CAMxB;;AANwB,0BAOoB,CAC1CD,KAAK,CAACE,WAAD,CADqC,EACtBF,KAAK,CAACC,YAAD,CADiB,CAPpB;AAOvBD,mBAAK,CAACC,YAAD,CAPkB;AAOFD,mBAAK,CAACE,WAAD,CAPH;AASzB;;AAED,mBAAOF,KAAP;AACD;;;iBAID,yBAAa;AAAA;;AACXvkB,mBAAO,CAACC,GAAR,CAAY,SAAZ;AACA,iBAAKgX,2BAAL,GAAmC,CAAnC;AACA,iBAAK0N,0BAAL,GAAkCC,WAAW,CAAC,YAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAI,CAAC/B,gBAAL,CAAsBgC,eAAtB,GAAwClnB,IAAxC,CAA6C,UAAAY,KAAK,EAAI;AACpD,oBAAI,CAACA,KAAL,EAAY;AACVyB,yBAAO,CAACJ,KAAR,CAAc,wDAAd;AACA;AACD,iBAJmD,CAKpD;;;AACA,uBAAI,CAACqX,2BAAL,GAAoC1Y,KAAK,CAACuY,QAAN,GAAevY,KAAK,CAACmQ,QAAtB,GAAgC,GAAnE;AACA,uBAAI,CAAC6I,qBAAL,GAA6B,OAAI,CAACG,yBAAL,CAA+BnZ,KAAK,CAACuY,QAArC,CAA7B,CAPoD,CAQpD;;AAEZ,oBAAG,OAAI,CAACQ,OAAR,EAAgB;AACd,sBAAG/Y,KAAK,CAACsY,MAAN,IAAgB,CAAC,OAAI,CAACI,2BAAzB,EAAqD;AACnD6N,iCAAa,CAAC,OAAI,CAACH,0BAAN,CAAb;AACA3kB,2BAAO,CAACC,GAAR,CAAY,KAAZ,EAFmD,CAGnD;;AACE,2BAAI,CAAC8kB,gBAAL;;AACA,2BAAI,CAACzN,OAAL,GAAe,KAAf,CALiD,CAMnD;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACF;AAED;AACF;AAGU,eArCD;AAsCD,aA9CwC,EA8CvC,IA9CuC,CAA7C;AAgDD;;;iBAED,4BAAgB;AACd,gBAAG,KAAKH,uBAAR,EAAgC;AAC9B,mBAAK6N,eAAL;AACD,aAFD,MAGI;AACFhlB,qBAAO,CAACC,GAAR,CAAY,GAAZ;AACAD,qBAAO,CAACC,GAAR,CAAY,GAAZ;AACAD,qBAAO,CAACC,GAAR,CAAY,GAAZ;AACAD,qBAAO,CAACC,GAAR,CAAY,GAAZ;;AACA,kBAAG,KAAKuX,oBAAR,EAA6B;AAC3B,qBAAKyN,gBAAL,GAD2B,CAE3B;AACD,eAHD,MAIK,IAAG,KAAKzB,oBAAL,IAA6B,UAAhC,EAA2C;AAC9CxjB,uBAAO,CAACC,GAAR,CAAY,KAAKgiB,wBAAjB;;AACA,oBAAG,KAAKA,wBAAL,IAAiC,KAAK5F,WAAL,CAAiB,KAAKoH,wBAAtB,EAAgDxO,KAAhD,CAAsDpL,MAAtD,GAA6D,CAAjG,EAAmG;AACjG,uBAAKoY,wBAAL,GAAgC,CAAhC;AACD,iBAFD,MAGI;AACF,uBAAKA,wBAAL;AACD;;AACD,qBAAK4B,gBAAL,CAAsB,UAAtB,EAAiC,KAAKJ,wBAAtC,EAA+D,KAAKxB,wBAApE;AACD,eATI,MAUD;AACF,qBAAKgC,oBAAL;AACD,eArBC,CAuBF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAED;AAEF;;;iBACD,gCAAoB;AAClB,iBAAI,IAAI1D,CAAC,GAAC,KAAK0B,wBAAf,EAAwC1B,CAAC,GAAC,KAAKlE,WAAL,CAAiBxS,MAA3D,GAAmE;AACjE,kBAAG0W,CAAC,IAAI,KAAKlE,WAAL,CAAiBxS,MAAjB,GAAwB,CAAhC,EACE0W,CAAC,GAAG,CAAJ,CADF,KAGEA,CAAC;;AACH,kBAAG,KAAKlE,WAAL,CAAiBkE,CAAjB,EAAoB2E,WAApB,IAAmC,OAAtC,EAA8C;AAC5C,qBAAKjD,wBAAL,GAAgC1B,CAAhC;AACA;AACD;AACF;;AACD,iBAAKsD,gBAAL,CAAsB,aAAtB,EAAoC,KAAK5B,wBAAzC,EAAkE,EAAlE;AACD;;;iBACD,oCAAwB;AACtB,iBAAI,IAAI1B,CAAC,GAAC,KAAK0B,wBAAf,EAAwC1B,CAAC,GAAC,KAAKlE,WAAL,CAAiBxS,MAA3D,GAAmE;AACjE,kBAAG0W,CAAC,IAAI,CAAR,EACEA,CAAC,GAAG,KAAKlE,WAAL,CAAiBxS,MAAjB,GAAwB,CAA5B,CADF,KAGE0W,CAAC;;AACH,kBAAG,KAAKlE,WAAL,CAAiBkE,CAAjB,EAAoB2E,WAApB,IAAmC,OAAtC,EAA8C;AAC5C,qBAAKjD,wBAAL,GAAgC1B,CAAhC;AACA;AACD;AACF;;AACD,iBAAKsD,gBAAL,CAAsB,aAAtB,EAAoC,KAAK5B,wBAAzC,EAAkE,EAAlE;AACD;;;iBACD,4BAAgB;AACd,gBAAI1Q,KAAK,GAAGvC,IAAI,CAACG,KAAL,CAAWH,IAAI,CAAC0V,MAAL,KAAc,KAAKrI,WAAL,CAAiBxS,MAA1C,CAAZ;;AAEA,gBAAG,KAAK2Z,oBAAL,IAA6B,UAAhC,EAA2C;AACzC,kBAAG,KAAKnH,WAAL,CAAiB,KAAKoH,wBAAtB,EAAgDxO,KAAhD,CAAsDpL,MAAtD,GAA6D,CAA7D,IAAkE,KAAKoY,wBAA1E,EAAmG;AACjG;AACA;AACA,oBAAG,KAAK5F,WAAL,CAAiB9K,KAAjB,EAAwB4T,SAAxB,IAAqC,UAAxC,EAAmD;AACjD,uBAAK3B,oBAAL,GAA4B,UAA5B;AACA,uBAAKC,wBAAL,GAAgClS,KAAhC;AACA,uBAAK0Q,wBAAL,GAAgC,CAAhC;AACA,uBAAKD,2BAAL,GAAmC,KAAK3F,WAAL,CAAiB9K,KAAjB,EAAwB0D,KAAxB,CAA8B,CAA9B,CAAnC,CAJiD,CAKnD;AACA;AAEC,iBARD,MASI;AACF,uBAAKuO,oBAAL,GAA4B,aAA5B;AACA,uBAAKvB,wBAAL,GAAgC1Q,KAAhC;AACA,uBAAKyQ,2BAAL,GAAmC,KAAK3F,WAAL,CAAiB9K,KAAjB,EAAwB0D,KAAxB,CAA8B,CAA9B,CAAnC;AACD,iBAhBgG,CAiBjG;;AACD,eAlBD,MAmBI;AACF;AACA;AACA,qBAAKmQ,eAAL;AACD;AACF,aAzBD,MA0BI;AACF,mBAAK5B,oBAAL,GAA4B,aAA5B;AACA,mBAAKvB,wBAAL,GAAgC1Q,KAAhC;AACA,mBAAKyQ,2BAAL,GAAmC,KAAK3F,WAAL,CAAiB9K,KAAjB,EAAwB0D,KAAxB,CAA8B,CAA9B,CAAnC;AACD;;AACD,iBAAKyO,IAAL,CAAU,KAAK1B,2BAAL,CAAiCR,GAA3C;AACAnV,oBAAQ,CAACC,cAAT,CAAwB,iBAAxB,EAA2CyR,KAA3C,CAAiD4F,OAAjD,GAA2D,MAA3D;AACAtX,oBAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CyR,KAA5C,CAAkD4F,OAAlD,GAA4D,OAA5D;AACA,iBAAKzM,iBAAL,GAAyB,KAAzB,CArCc,CAwCd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGD;;;iBACD,mCAAuB;AACrB,iBAAKC,uBAAL,GAA+B,CAAC,KAAKA,uBAArC;AACD;;;iBACD,4BAAmBvZ,CAAnB,EAAoB;AAAA;;AAClBoC,mBAAO,CAACC,GAAR,CAAYrC,CAAC,CAACuM,MAAF,CAAS/C,KAArB;AACApH,mBAAO,CAACC,GAAR,CAAY,KAAK4iB,gBAAjB;AACA,iBAAKA,gBAAL,CAAsBgC,eAAtB,GAAwClnB,IAAxC,CAA6C,UAAAY,KAAK,EAAI;AACpD,kBAAI,CAACA,KAAL,EAAY;AACVyB,uBAAO,CAACJ,KAAR,CAAc,wDAAd;AACA;AACD;;AAED,qBAAI,CAACijB,gBAAL,CAAsBwC,IAAtB,CAA4BznB,CAAC,CAACuM,MAAF,CAAS/C,KAAT,GAAe,GAAhB,GAAqB7I,KAAK,CAACmQ,QAAtD,EAAgE/Q,IAAhE,CAAqE,YAAM;AACzEqC,uBAAO,CAACC,GAAR,CAAY,mBAAZ;AACD,eAFD;AAGD,aATD;AAUD;;;iBAOD,kBAASsQ,IAAT,EAAc+U,SAAd,EAAuB;AAAA;;AACrB,iBAAKlV,OAAL,CAAapJ,IAAb;AACA,iBAAKoB,OAAL,CAAamd,QAAb,CAAsBhV,IAAtB,EAA2B+U,SAA3B,EAAsC3mB,SAAtC,CAAgD,UAAC2I,GAAD,EAAa;AAC3D,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAAC4M,QAAL,GAAgB7M,GAAG,CAACgC,IAApB;;AACA,oBAAGhC,GAAG,CAACgC,IAAJ,CAASO,MAAT,IAAiB,CAApB,EAAsB;AACpB,yBAAI,CAACiK,iBAAL,GAAwB,KAAxB;AACD,iBAFD,MAEK;AACH,yBAAI,CAACA,iBAAL,GAAwB,IAAxB;AACD;;AANsB,4DAOVxM,GAAG,CAACgC,IAPM;AAAA;;AAAA;AAOvB,yEAAsB;AAAA,wBAAdiX,CAAc;;AACpB,wBAAGA,CAAC,CAAChZ,IAAF,IAAQ,MAAX,EAAkB;AAChB,6BAAI,CAACqL,QAAL,CAAcd,IAAd,CAAmByO,CAAnB;AACD,qBAFD,MAEK;AACH,6BAAI,CAAC5N,QAAL,CAAcb,IAAd,CAAmByO,CAAnB;AACD;AACF;AAbsB;AAAA;AAAA;AAAA;AAAA;AAcxB,eAdD,MAcK;AACH,uBAAI,CAACzhB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aAlBD;AAmBA,iBAAK0I,OAAL,CAAanI,IAAb;AACD;;;iBAGD,uBAAc;AACZ,iBAAKkG,OAAL,CAAa4Q,qBAAb,CAAmC/f,IAAnC,CAAwC,KAAxC;AACD;;;iBAED,kBAASwmB,MAAT,EAAmB,CAElB;;;iBAED,mBAAUze,QAAV,EAAsC;AACpC,iBAAKX,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuBD,QAAvB,EAAgC;AAAC0e,sBAAQ,EAAE;AAAX,aAAhC,CAAhB;AACD;;;iBAGD,0BAAiBznB,EAAjB,EAAwBuJ,IAAxB,EAA4B;AAC1B,iBAAKme,eAAL,GAAuB,IAAvB;AACA,iBAAKC,kBAAL,GAA0B,KAA1B,CAF0B,CAG1B;;AACA,iBAAKvf,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuB,KAAK4e,eAA5B,EAA6C;AAAC,uBAAM,mBAAP;AAA2BH,sBAAQ,EAAE;AAArC,aAA7C,CAAhB;AACA,iBAAKI,cAAL,GAAsBte,IAAtB;AACA,iBAAKue,YAAL,GAAoB9nB,EAApB;AACD;;;iBAED,2BAAkBA,EAAlB,EAAqBuT,KAArB,EAA0B;AAAA;;AACxB;AACA;AAEA;AACA;AACA;AACA;AACA,iBAAKnJ,OAAL,CAAa2d,eAAb,CAA6B;AAAC,wBAAS/nB;AAAV,aAA7B,EAA4CW,SAA5C,CAAsD,UAAC2I,GAAD,EAAY;AAChE,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,eAA3B,EADuB,CAEvB;;;AACA,oBAAG,CAAC,OAAI,CAAC6X,MAAT,EAAgB;AACd,yBAAI,CAAC3M,QAAL,GAAgB,OAAI,CAACA,QAAL,CAAc+K,MAAd,CAAqB,UAACpU,IAAD,EAAQ;AAC3C,2BAAOA,IAAI,CAACsH,MAAL,CAAY5O,GAAZ,IAAkBhE,EAAzB;AACD,mBAFe,CAAhB;AAGA,yBAAI,CAAC4U,QAAL,GAAgB,OAAI,CAACA,QAAL,CAAc8K,MAAd,CAAqB,UAACpU,IAAD,EAAQ;AAC3C,2BAAOA,IAAI,CAACsH,MAAL,CAAY5O,GAAZ,IAAkBhE,EAAzB;AACD,mBAFe,CAAhB;AAGD;AACF,eAXD,MAWK;AACH,uBAAI,CAACc,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aAfD;AAgBD;;;iBAED,2BAAkBse,SAAlB,EAA+B;AAAA;;AAC7B;AACA;AAEA,iBAAK5d,OAAL,CAAa6d,eAAb,CAA6B,KAAKtT,QAAL,CAAcqT,SAAd,EAAyBhkB,GAAtD,EAA0D,CAA1D,EAA4D,CAA5D,EAA+DrD,SAA/D,CAAyE,UAAC2I,GAAD,EAAW;AAClF,qBAAI,CAACqL,QAAL,CAAcqT,SAAd,EAAyBE,QAAzB,GAAoC5e,GAAG,CAACgC,IAAxC;AACA,qBAAI,CAACqJ,QAAL,CAAcqT,SAAd,EAAyB,YAAzB,IAAyC,CAAzC;AACA3Z,sBAAQ,CAACC,cAAT,CAAwB,oBAAkB,OAAI,CAACqG,QAAL,CAAcqT,SAAd,EAAyBhkB,GAAnE,EAAwE+b,KAAxE,CAA8E4F,OAA9E,GAAwF,OAAxF;AACD,aAJD;AAKD;;;iBAKD,wBAAe3lB,EAAf,EAAqB;AACnB,iBAAKmoB,YAAL,CAAkBnoB,EAAlB;AACA,iBAAKooB,mBAAL,GAA2BpoB,EAA3B,CAFmB,CAGnB;;AACF,iBAAKoI,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuB,KAAKqf,UAA5B,EAAwC;AAAC,uBAAM;AAAP,aAAxC,CAAhB;AAEC;;;iBAGD,2BAAkBL,SAAlB,EAA2B;AACN3Z,oBAAQ,CAACC,cAAT,CAAwB,mBAAiB,KAAKqG,QAAL,CAAcqT,SAAd,EAAyBhkB,GAAlE,EAAwE+b,KAAxE,CAA8E4F,OAA9E,GAAwF,MAAxF;AACnB,iBAAKhR,QAAL,CAAcqT,SAAd,EAAyBM,kBAAzB,GAA8C,SAA9C;AACA,mBAAO,KAAK3T,QAAL,CAAcqT,SAAd,EAAyBO,cAAhC;AACmBla,oBAAQ,CAACC,cAAT,CAAwB,mBAAiB,KAAKqG,QAAL,CAAcqT,SAAd,EAAyBhkB,GAAlE,EAAwE+b,KAAxE,CAA8E4F,OAA9E,GAAwF,MAAxF;AACAtX,oBAAQ,CAACC,cAAT,CAAwB,cAAY,KAAKqG,QAAL,CAAcqT,SAAd,EAAyBhkB,GAA7D,EAAmEoF,KAAnE,GAA2E,EAA3E;AACnB,iBAAK2Q,iBAAL,GAAyB,EAAzB;AACD;;;iBAGD,sBAAa/Z,EAAb,EAAmB;AAAA;;AACjB,iBAAKoK,OAAL,CAAa+d,YAAb,CAA0BnoB,EAA1B,EAA8BW,SAA9B,CAAwC,UAAC2I,GAAD,EAAY;AAClD,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACrB,uBAAI,CAACuQ,SAAL,GAAiBxQ,GAAG,CAACgC,IAArB;AACAtJ,uBAAO,CAACC,GAAR,CAAY,OAAI,CAAC6X,SAAjB;AAEH,eAJD,MAIK;AACH,uBAAI,CAAChZ,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aARD;AASD;;;iBAED,0BAAc;AAAA;;AACZ,iBAAKU,OAAL,CAAaoe,UAAb,CAAwB,KAAKV,YAA7B,EAA2C;AAAC,yBAAU,KAAK7P,cAAL,CAAoB7O,KAApB,CAA0B8O;AAArC,aAA3C,EAA0FvX,SAA1F,CAAoG,UAAC2I,GAAD,EAAa;AAC/G,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAACnB,QAAL,CAAc6B,IAAd;;AACA,uBAAI,CAACgO,cAAL,CAAoBhG,KAApB,GAFuB,CAGvB;;;AACA,uBAAI,CAACnR,aAAL,CAAmB2I,OAAnB,CAA2B,OAAI,CAACoe,cAAL,GAAsB,WAAjD;AACD,eALD,MAKK;AACH,uBAAI,CAAC/mB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;;AACD,qBAAI,CAACge,eAAL,GAAuB,KAAvB;AACD,aAVD;AAWD;;;iBAED,6BAAiB;AAAA;;AACf,iBAAKtd,OAAL,CAAaqe,aAAb,CAA2B,KAAKC,mBAAhC,EAAoD,KAAKC,eAAzD,EAAyE,KAAKxQ,iBAAL,CAAuB/O,KAAvB,CAA6B8O,OAAtG,EAA8G,EAA9G,EAAkHvX,SAAlH,CAA4H,UAAC2I,GAAD,EAAW;AACrI,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAACnB,QAAL,CAAc6B,IAAd;;AACA,uBAAI,CAACkO,iBAAL,CAAuBlG,KAAvB,GAFuB,CAGvB;;;AACA,uBAAI,CAACnR,aAAL,CAAmB2I,OAAnB,CAA2B,kBAA3B;AACD,eALD,MAKK;AACH,uBAAI,CAAC3I,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;;AACD,qBAAI,CAACie,kBAAL,GAA0B,KAA1B;AACD,aAVD,EAUE,UAACzlB,GAAD,EAAO;AACP,qBAAI,CAACpB,aAAL,CAAmBc,KAAnB,CAAyBM,GAAG,CAACN,KAAJ,CAAU8H,OAAnC;;AACA,qBAAI,CAACie,kBAAL,GAA0B,KAA1B;AACD,aAbD;AAcD;;;iBAED,kBAAM;AACJ,iBAAK3R,WAAL,GAAmB,IAAnB;AACA,iBAAKC,WAAL,GAAmB,IAAnB;AACA,iBAAKgC,cAAL,CAAoBhG,KAApB;AACA,iBAAK7J,QAAL,CAAc6B,IAAd;AACA,iBAAKmL,YAAL,GAAoB,EAApB;AACA,iBAAK+B,iBAAL,CAAuBlF,KAAvB;AACA,iBAAKyV,eAAL,GAAuB,KAAvB;AACA,iBAAKxJ,iBAAL,GAAyB,KAAzB;AACA,iBAAKyJ,kBAAL,GAA0B,KAA1B;AACD;;;iBAED,kCAAsB;AAAA;;AACpB,iBAAK3R,WAAL,GAAmB,IAAnB;AACA,iBAAKC,WAAL,GAAmB,IAAnB;AACA,iBAAKgC,cAAL,CAAoBhG,KAApB;AACA,iBAAK7J,QAAL,CAAc6B,IAAd;AACA,iBAAKmL,YAAL,GAAoB,EAApB;AACA,iBAAK+B,iBAAL,CAAuBlF,KAAvB;AACA,iBAAK7H,OAAL,CAAagB,UAAb,GAA0BzK,SAA1B,CAAoC,UAAC2I,GAAD,EAAa;AAC/C,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAAC8B,cAAL,GAAsB/B,GAAG,CAACgC,IAA1B;AACD;AACF,aAJD;AAKD;;;iBAGD,uBAAc0c,SAAd,EAA2B;AAAA;;AACzB,gBAAG,KAAKrT,QAAL,CAAcqT,SAAd,EAAyBM,kBAAzB,IAA+C,KAAK3T,QAAL,CAAcqT,SAAd,EAAyBM,kBAAzB,IAA+C,OAAjG,EAAyG;AACvG,mBAAKM,qBAAL,CAA2BZ,SAA3B,EAAqC,KAAKrT,QAAL,CAAcqT,SAAd,EAAyB,gBAAzB,CAArC,EAAgF,KAAKrT,QAAL,CAAcqT,SAAd,EAAyBhkB,GAAzG;AACD,aAFD,MAGI;AACF,kBAAIsH,IAAI,GAAG;AACT,wBAAQ,KAAK8M,iBAAL,CAAuBhP,KAAvB,CAA6B8O,OAD5B;AAET,0BAAU,KAAKvD,QAAL,CAAcqT,SAAd,EAAyBhkB;AAF1B,eAAX;;AAKA,kBAAI,KAAKoU,iBAAL,CAAuBnP,OAAxB,IAAoC,KAAKmP,iBAAL,CAAuBhP,KAAvB,CAA6B8O,OAA7B,CAAqC2Q,IAArC,MAA6C,EAApF,EAAwF;AACtF,qBAAK/nB,aAAL,CAAmBc,KAAnB,CAAyB,sBAAzB;AACA;AACD;;AACDI,qBAAO,CAACC,GAAR,CAAY,KAAK0S,QAAL,CAAcqT,SAAd,EAAyBhkB,GAArC;;AAEA,kBAAG,KAAK8kB,aAAR,EAAsB;AACpBxd,oBAAI,CAAC,UAAD,CAAJ,GAAmB,EAAnB;AACA,qBAAKwd,aAAL,CAAmBC,OAAnB,CAA2B,UAAAC,OAAO,EAAI;;;AACpC1d,sBAAI,CAAC,UAAD,CAAJ,CAAiBwI,IAAjB,CAAsB;AACpB,8BAAWkV,OAAO,CAACC,MAAR,CAAejlB,GADN;AAEpB,4BAASglB,OAAO,CAACC,MAAR,CAAevd,QAFJ;AAGpB,2BAAQ,MAAIsd,OAAO,CAACC,MAAR,CAAevd,QAHP;AAIpB,kCAAe,MAAAsd,OAAO,CAACE,OAAR,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEC,KAJZ;AAKpB,gCAAa,MAAAH,OAAO,CAACE,OAAR,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEE;AALV,mBAAtB;AAOD,iBARD;AAUD;;AACD,mBAAKhf,OAAL,CAAaif,aAAb,CAA2B/d,IAA3B,EAAiC3K,SAAjC,CAA2C,UAAC2I,GAAD,EAAa;AACtD;AACA,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AAEvB,yBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,iBAA3B,EAFuB,CAGvB;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,yBAAI,CAACkL,QAAL,CAAcqT,SAAd,EAAyBE,QAAzB,CAAkCjV,OAAlC,CAA0C3J,GAAG,CAACgC,IAA9C;;AACA,yBAAI,CAAC8M,iBAAL,CAAuBnG,KAAvB;;AACA,yBAAI,CAAC0C,QAAL,CAAcqT,SAAd,EAAyBsB,YAAzB,GAvBuB,CAyBvB;AACA;AACA;AACA;AACA;AACA;AACA;AAED,iBAjCD,MAiCK;AACH,yBAAI,CAACxoB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,eAtCD,EAsCK,UAACxH,GAAD,EAAS;AACZ,uBAAI,CAACpB,aAAL,CAAmBc,KAAnB,CAAyBM,GAAG,CAACN,KAAJ,CAAU8H,OAAnC;AACD,eAxCD;AAyCD,aAtEwB,CAuEzB;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD;;;iBAID,qBAAY9J,CAAZ,EAAa;AAAA;;AACXoC,mBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+BrC,CAA/B;;AACA,gBAAGA,CAAC,CAACiM,MAAF,IAAY,CAAZ,IAAiB,CAAC,KAAK0d,qBAA1B,EAAgD;AAC9C,mBAAKnf,OAAL,CAAaof,kBAAb,CAAgC;AAAC,2BAAU5pB;AAAX,eAAhC,EAA+Ce,SAA/C,CAAyD,UAAC2I,GAAD,EAAW;AAClE,uBAAI,CAAC0Q,eAAL,GAAuB1Q,GAAG,CAACgC,IAA3B;AACD,eAFD;AAGD,aAJD,MAME,KAAK0O,eAAL,GAAuB,EAAvB;AACH;;;iBAED,uBAAcpa,CAAd,EAAgBooB,SAAhB,EAAyB;AAAA;;AACvBhmB,mBAAO,CAACC,GAAR,CAAY,gBAAZ,EAA6BrC,CAA7B;AACAoC,mBAAO,CAACC,GAAR,CAAY,gBAAZ,EAA6B+lB,SAA7B;AACA,gBAAIyB,GAAG,GAAsBpb,QAAQ,CAACC,cAAT,CAAwB,cAAY,KAAKqG,QAAL,CAAcqT,SAAd,EAAyBhkB,GAA7D,EAAmEoF,KAAhG;AACApH,mBAAO,CAACC,GAAR,CAAYwnB,GAAG,CAAC5c,OAAJ,CAAY4c,GAAG,CAACC,SAAJ,CAAc9pB,CAAC,CAACspB,OAAF,CAAUC,KAAxB,EAA8BvpB,CAAC,CAACspB,OAAF,CAAUE,GAAxC,CAAZ,EAAyD,EAAzD,CAAZ;AACmB/a,oBAAQ,CAACC,cAAT,CAAwB,cAAY,KAAKqG,QAAL,CAAcqT,SAAd,EAAyBhkB,GAA7D,EAAmEoF,KAAnE,GAA2EqgB,GAAG,CAAC5c,OAAJ,CAAY4c,GAAG,CAACC,SAAJ,CAAc9pB,CAAC,CAACspB,OAAF,CAAUC,KAAV,GAAgB,CAA9B,EAAgCvpB,CAAC,CAACspB,OAAF,CAAUE,GAA1C,CAAZ,EAA2D,EAA3D,CAA3E;AACnB,iBAAKG,qBAAL,GAA6B,IAA7B;AACA,iBAAKvP,eAAL,GAAuB,EAAvB;AACAkM,sBAAU,CAAC,YAAI;AACb,qBAAI,CAACqD,qBAAL,GAA6B,KAA7B;AACD,aAFS,EAER,IAFQ,CAAV;AAID;;;iBACD,iCAAwB3pB,CAAxB,EAAyB;AACvBoC,mBAAO,CAACC,GAAR,CAAY,0BAAZ,EAAuCrC,CAAvC;AACA,iBAAKkpB,aAAL,GAAqBlpB,CAArB;AACD;;;iBACD,wBAAeqpB,MAAf,EAAqB;AACnBjnB,mBAAO,CAACC,GAAR,CAAY,uBAAZ,EAAoCgnB,MAApC;AACA,8BAAWA,MAAM,CAACvd,QAAlB;AACD;;;iBACD,sBAAU;AACR1J,mBAAO,CAACC,GAAR,CAAY,WAAZ,EADQ,CAER;AACA;AACA;AACD;;;iBACD,sBAAU;AACRD,mBAAO,CAACC,GAAR,CAAY,YAAZ;AACA,iBAAK+X,eAAL,GAAuB,EAAvB;AACD;;;iBACD,sBAAa3N,IAAb,EAAiB;AACfrK,mBAAO,CAACC,GAAR,CAAY,eAAZ,EAA4BoK,IAA5B;AACD;;;iBACD,uBAAcA,IAAd,EAAkB;AAChBrK,mBAAO,CAACC,GAAR,CAAY,eAAZ,EAA4BoK,IAA5B;AACD;;;iBACD,4BAAmB6L,OAAnB,EAA2BqK,CAA3B,EAA4B;;;AAC1B,gBAAG,MAAArK,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAEyR,QAAT,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAE9d,MAAtB,EAA6B;AAC3B,qBAAO,MAAAqM,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAEyR,QAAT,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEC,MAAF,CAAS,UAACC,MAAD,EAASb,OAAT,EAAoB;AAEnD,uBAAOa,MAAM,CAAChd,OAAP,CAAemc,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAElc,GAAxB,EAA6B,mBAAYuB,QAAQ,CAAC1C,QAAT,CAAkBme,MAA9B,8BAAwDd,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAEpW,MAAjE,mBAAgFoW,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE3L,IAAzF,cAAuG2L,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAElc,GAAhH,IAAsH,UAAnJ,CAAP,CAFmD,CAInD;AAEA;AACA;AACA;AACD,eATuB,EAStBoL,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAErN,IATa,CAAxB;AAUD,aAXD,MAYI;AACF,qBAAOqN,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAErN,IAAhB;AACD;AACF;;;iBASD,yBAAa;AAAA;;AAEX;AACA,iBAAKuH,OAAL,CAAapJ,IAAb;AACA,iBAAKoB,OAAL,CAAagB,UAAb,GAA0BzK,SAA1B,CAAoC,UAAC2I,GAAD,EAAa;;;AAC/C,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AAEvB,uBAAI,CAAC8B,cAAL,GAAsB/B,GAAG,CAACgC,IAA1B;;AACA,uBAAI,CAAC8G,OAAL,CAAanI,IAAb;;AACAjI,uBAAO,CAACC,GAAR,CAAY,OAAI,CAACoJ,cAAjB,EAAiC,aAAjC;AACA,uBAAI,CAACjD,QAAL,GAAgB,OAAI,CAACC,YAAL,CAAkBW,IAAlB,CAAuB,OAAI,CAAC+gB,gBAA5B,EAA8C;AAAC,2BAAO;AAAR,iBAA9C,CAAhB;;AAEA,uBAAI,CAAC5S,iBAAL,CAAuBvJ,GAAvB,CAA2B,UAA3B,EAAuCC,UAAvC,CAAkD,OAAI,CAACxC,cAAL,CAAoBK,QAAtE;;AACA,uBAAI,CAACyL,iBAAL,CAAuBvJ,GAAvB,CAA2B,OAA3B,EAAoCC,UAApC,CAA+C,OAAI,CAACxC,cAAL,CAAoB1C,KAAnE;;AACA,oBAAIyO,KAAK,GAAG,OAAI,CAAC/L,cAAL,CAAoB2e,WAApB,GAAkC,GAAlC,GAAwC,OAAI,CAAC3e,cAAL,CAAoB4e,YAApB,CAAiCC,QAAjC,GAA4Chd,KAA5C,CAAkD,CAAlD,EAAoD,CAApD,CAAxC,GAAiG,GAAjG,GAAuG,OAAI,CAAC7B,cAAL,CAAoB4e,YAApB,CAAiCC,QAAjC,GAA4Chd,KAA5C,CAAkD,CAAlD,EAAoD,CAApD,CAAvG,GAAgK,GAAhK,GAAsK,OAAI,CAAC7B,cAAL,CAAoB4e,YAApB,CAAiCC,QAAjC,GAA4Chd,KAA5C,CAAkD,CAAlD,CAAlL;;AACA,uBAAI,CAACiK,iBAAL,CAAuBvJ,GAAvB,CAA2B,OAA3B,EAAoCC,UAApC,CAA+CuJ,KAA/C;;AACA,uBAAI,CAACD,iBAAL,CAAuBvJ,GAAvB,CAA2B,UAA3B,EAAuCC,UAAvC,CAAkD,oBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE8e,OAArB,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEtS,IAA9B,IAAmC,IAAnC,IAAwC,mBAAI,CAACxM,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE8e,OAArB,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAE5pB,KAAtE,IAA4E,IAA5E,IAAiF,mBAAI,CAAC8K,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE8e,OAArB,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAErS,OAA/G,CAAlD,EAXuB,CAYvB;AACA;AACA;AACA;;;AAEA,uBAAI,CAACX,iBAAL,CAAuBvJ,GAAvB,CAA2B,OAA3B,EAAoCC,UAApC,CAA+C,cAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEU,YAAF,CAAeF,MAAlC,IAAyC,CAAzC,GAA8C,CAAC,oBAAI,CAACR,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEU,YAAF,CAAe,CAAf,CAAnB,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAE6W,aAAtC,KAAuD,IAAvD,GAA8D,mBAAI,CAACvX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEU,YAAF,CAAe,CAAf,CAAnB,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAE6W,aAApG,GAAoH,EAArH,KAA4H,oBAAI,CAACvX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEU,YAAF,CAAe,CAAf,CAAnB,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAE6W,aAAtC,KAAqD,IAArD,GAA6D,OAAK,mBAAI,CAACvX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEU,YAAF,CAAe,CAAf,CAAnB,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAE6W,aAA3C,CAA7D,GAAwH,EAApP,CAA9C,GAAyS,CAAC,oBAAI,CAACvX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAES,SAAF,CAAY,CAAZ,CAAnB,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAE2W,UAAnC,KAA+C,IAA/C,GAAsD,mBAAI,CAACpX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAES,SAAF,CAAY,CAAZ,CAAnB,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAE2W,UAAzF,GAAsG,EAAvG,KAA+G,oBAAI,CAACpX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAES,SAAF,CAAY,CAAZ,CAAnB,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAE2W,UAAnC,KAA+C,IAA/C,GAAsD,OAAK,mBAAI,CAACpX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAES,SAAF,CAAY,CAAZ,CAAnB,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAE2W,UAAxC,CAAtD,GAA2G,EAA1N,KAAiO,oBAAI,CAACpX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAES,SAAF,CAAY,CAAZ,CAAnB,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAE2W,UAAnC,IAAgD,OAAK,mBAAI,CAACpX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAES,SAAF,CAAY,CAAZ,CAAnB,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAE2W,UAAxC,CAAhD,GACzjB,EADwV,CAAxV,EAjBuB,CAmBvB;AACA;AACA;AACA;AACA;;;AACA,uBAAI,CAACtL,iBAAL,CAAuBvJ,GAAvB,CAA2B,KAA3B,EAAkCC,UAAlC,CAA6C,OAAI,CAACxC,cAAL,CAAoBiM,GAAjE;;AACA,uBAAI,CAACH,iBAAL,CAAuBvJ,GAAvB,CAA2B,YAA3B,EAAyCC,UAAzC,CAAoD,yBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEoK,QAArB,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAE2U,OAA/B,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAEvlB,GAA5F;;AACA,uBAAI,CAACsS,iBAAL,CAAuBvJ,GAAvB,CAA2B,YAA3B,EAAyCC,UAAzC,CAAoD,yBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEoK,QAArB,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAE4U,OAA/B,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAExlB,GAA5F;;AACA,uBAAI,CAACsS,iBAAL,CAAuBvJ,GAAvB,CAA2B,gBAA3B,EAA6CC,UAA7C,CAAwD,oBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEif,YAArB,MAAiC,IAAjC,IAAiC,cAAjC,GAAiC,MAAjC,GAAiC,IAAEC,OAA3F;;AACA,uBAAI,CAACpT,iBAAL,CAAuBvJ,GAAvB,CAA2B,cAA3B,EAA2CC,UAA3C,CAAsD,qBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAEmf,UAArB,MAA+B,IAA/B,IAA+B,cAA/B,GAA+B,MAA/B,GAA+B,IAAED,OAAvF;;AACA,uBAAI,CAACpT,iBAAL,CAAuBvJ,GAAvB,CAA2B,MAA3B,EAAmCC,UAAnC,CAA8C,qBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAE8e,OAArB,MAA4B,IAA5B,IAA4B,cAA5B,GAA4B,MAA5B,GAA4B,IAAEtS,IAA5E;;AACA,uBAAI,CAACV,iBAAL,CAAuBvJ,GAAvB,CAA2B,OAA3B,EAAoCC,UAApC,CAA+C,qBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAE8e,OAArB,MAA4B,IAA5B,IAA4B,cAA5B,GAA4B,MAA5B,GAA4B,IAAE5pB,KAA7E;;AACA,uBAAI,CAAC4W,iBAAL,CAAuBvJ,GAAvB,CAA2B,SAA3B,EAAsCC,UAAtC,CAAiD,qBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAE8e,OAArB,MAA4B,IAA5B,IAA4B,cAA5B,GAA4B,MAA5B,GAA4B,IAAErS,OAA/E;;AACA,uBAAI,CAACX,iBAAL,CAAuBvJ,GAAvB,CAA2B,MAA3B,EAAmCC,UAAnC,CAA8C,qBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAE8e,OAArB,MAA4B,IAA5B,IAA4B,cAA5B,GAA4B,MAA5B,GAA4B,IAAEtS,IAA5E;;AACA,uBAAI,CAACV,iBAAL,CAAuBvJ,GAAvB,CAA2B,KAA3B,EAAkCC,UAAlC,CAA6C,qBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAEM,QAArB,MAA6B,IAA7B,IAA6B,cAA7B,GAA6B,MAA7B,GAA6B,IAAEC,WAAF,CAAc,CAAd,CAA1E;;AACA,uBAAI,CAACuL,iBAAL,CAAuBvJ,GAAvB,CAA2B,MAA3B,EAAmCC,UAAnC,CAA8C,qBAAI,CAACxC,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAEM,QAArB,MAA6B,IAA7B,IAA6B,cAA7B,GAA6B,MAA7B,GAA6B,IAAEC,WAAF,CAAc,CAAd,CAA3E;;AAEA,uBAAI,CAAC6e,qBAAL,GAA6B,qBAAI,CAACpf,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAEif,YAArB,MAAiC,IAAjC,IAAiC,cAAjC,GAAiC,MAAjC,GAAiC,IAAEC,OAAhE;AACA,uBAAI,CAACG,0BAAL,GAAkC,qBAAI,CAACrf,cAAL,MAAmB,IAAnB,IAAmB,cAAnB,GAAmB,MAAnB,GAAmB,IAAEmf,UAArB,MAA+B,IAA/B,IAA+B,cAA/B,GAA+B,MAA/B,GAA+B,IAAED,OAAnE;AAED,eAvCD,MAwCI;AACF,uBAAI,CAACnY,OAAL,CAAanI,IAAb;;AACA,uBAAI,CAACnJ,aAAL,CAAmBoS,IAAnB,CAAwB,gDAAxB;AACD;AACF,aA7CD;AA+CD;;;iBAED,6BAAoB;AAAA;;AAClB;uCADkB,CAGlB;;;AACA,gBAAG,KAAKiE,iBAAL,CAAuBwT,KAAvB,IAAgC,KAAKxT,iBAAL,CAAuBlO,OAA1D,EAAkE;AAChE,mBAAKnI,aAAL,CAAmBc,KAAnB,CAAyB,4BAAzB;AACA;AACD;;AACD,gBAAG,KAAKuV,iBAAL,CAAuBjO,QAAvB,IAAmC,CAAC,KAAKiR,cAA5C,EAA2D;AACzD,mBAAK/R,QAAL,CAAc6B,IAAd;AACA;AACD;;AACD,gBAAIqB,IAAI,GAAG;AACP;AACA;AACA;AACA;AACA;AAEA,0BAAY,KAAK6L,iBAAL,CAAuB/N,KAAvB,CAA6BsC,QAPlC;AAQP;AACA;AACA;AACA;AAEA;AACA,qBAAO,KAAKyL,iBAAL,CAAuB/N,KAAvB,CAA6BkO,GAd7B,CAeP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA/BO,aAAX;AAmCE,iBAAKlN,OAAL,CAAawgB,aAAb,CAA2Btf,IAA3B,EAAiC3K,SAAjC,CAA2C,UAAC2I,GAAD,EAAY;AACrD,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACrB,uBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2BH,GAAG,CAACI,OAA/B;;AACA,uBAAI,CAACsM,WAAL,GAAmB,IAAnB;AACA,uBAAI,CAACC,WAAL,GAAmB,IAAnB;;AACA,uBAAI,CAAC7N,QAAL,CAAc6B,IAAd;;AACA,uBAAI,CAACmB,UAAL;;AACA,uBAAI,CAACyf,WAAL;AACH,eAPD,MAOK;AACH,uBAAI,CAAC/pB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aAXD;;AAaA,gBAAG,KAAKyN,iBAAL,CAAuB/N,KAAvB,CAA6BoO,UAA7B,KAA2C,uBAAKnM,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEoK,QAArB,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAE4U,OAA/B,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAExlB,GAAnF,KAA0F,KAAKsS,iBAAL,CAAuB/N,KAAvB,CAA6BmO,UAA7B,KAA2C,uBAAKlM,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEoK,QAArB,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAE2U,OAA/B,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAEvlB,GAAnF,CAA7F,EAAoL;AAClL,kBAAIimB,cAAc,GAAG;AACnB,2BAAU;AACT,yBAAM,KAAK3T,iBAAL,CAAuB/N,KAAvB,CAA6BoO;AAD1B,iBADS;AAInB,2BAAU;AACP,yBAAM,KAAKL,iBAAL,CAAuB/N,KAAvB,CAA6BmO;AAD5B;AAJS,eAArB;AASA,mBAAKnN,OAAL,CAAa2gB,cAAb,CAA4BD,cAA5B,EAA4CnqB,SAA5C,CAAsD,UAAC2I,GAAD,EAAY;AAChE,oBAAGA,GAAG,CAACC,IAAJ,IAAW,SAAd,EAAwB;AACtB,yBAAI,CAAC4N,iBAAL,CAAuBlF,KAAvB;;AACA,yBAAI,CAACiI,mBAAL,GAA2B,KAA3B;AACA,yBAAI,CAACD,oBAAL,GAA4B,KAA5B;AACA,yBAAI,CAACE,cAAL,GAAsB,KAAtB;AACD,iBALD,MAMI;AACF;AACA,yBAAI,CAAChD,iBAAL,CAAuBlF,KAAvB;;AACA,yBAAI,CAACiI,mBAAL,GAA2B,KAA3B;AACA,yBAAI,CAACD,oBAAL,GAA4B,KAA5B;AACA,yBAAI,CAACE,cAAL,GAAsB,KAAtB;AACD;AACF,eAdD,EAeA,UAAAvY,KAAK,EAAI;AACP;AACA,uBAAI,CAACuV,iBAAL,CAAuBlF,KAAvB;;AACA,uBAAI,CAACiI,mBAAL,GAA2B,KAA3B;AACA,uBAAI,CAACD,oBAAL,GAA4B,KAA5B;AACA,uBAAI,CAACE,cAAL,GAAsB,KAAtB;AACD,eArBD;AAsBD,aAhCD,MAiCI;AACF,mBAAKhD,iBAAL,CAAuBlF,KAAvB;AACA,mBAAKiI,mBAAL,GAA2B,KAA3B;AACA,mBAAKD,oBAAL,GAA4B,KAA5B;AACA,mBAAKE,cAAL,GAAsB,KAAtB;AACD;AACJ;;;iBAED,uBAAW;AACT9L,oBAAQ,CAACC,cAAT,CAAwB,SAAxB,EADS,CAET;AACD;;;iBAID,2BAAkB0c,UAAlB,EAA6B1f,IAA7B,EAAqC;AACnCtJ,mBAAO,CAACC,GAAR,CAAY+oB,UAAZ;AACAhpB,mBAAO,CAACC,GAAR,CAAYqJ,IAAZ;AACA,iBAAKkV,eAAL,GAAqBlV,IAArB;AACA,iBAAK8O,uBAAL,GAA+B9O,IAAI,CAACzG,GAAL,CAASomB,KAAT,CAAe,IAAf,EAAqB,CAArB,CAA/B;AACA,gBAAI5X,YAAY,GAAiB;AAC/BA,0BAAY,EAAE;AACZ6X,uBAAO,EAAE,KAAK9Q,uBADF;AAEZ4Q,0BAAU,EAAVA,UAFY;AAGZvV,wBAAQ,EAAC,KAAKA,QAHF;AAIZ0V,kCAAkB,EAAG;AACnBC,0BAAQ,EAAE,IADS;AAEnBlgB,uBAAK,EAAC,GAFa;AAGnBwR,wBAAM,EAAC;AAHY;AAJT,eADiB;AAW/B,uBAAO;AAXwB,aAAjC;AAaA,iBAAKtU,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuBqiB,6BAAvB,EAAqDhY,YAArD,CAAhB,CAlBmC,CAmBnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAED,W,CAEH;;;;iBACA,wBAAeD,SAAf,EAA4B;AAC1B;AACA,gBAAIC,YAAY,GAAiB;AAC/BA,0BAAY,EAAE;AACZC,sBAAM,EAAC,KAAKkB,UAAL,CAAgB8W,sBAAhB,CAAuClY,SAAvC;AADK,eADiB;AAI/B,uBAAO;AAJwB,aAAjC;AAMA,iBAAKhL,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuBuiB,8BAAvB,EAAsDlY,YAAtD,CAAhB,CAR0B,CAS1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAED;;;iBAED,6BAAoBC,MAApB,EAA8B;AAC5B;AACA,gBAAID,YAAY,GAAiB;AAC/BA,0BAAY,EAAE;AACZC,sBAAM,EAANA;AADY,eADiB;AAI/B,uBAAO;AAJwB,aAAjC;AAMA,iBAAKlL,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuBwiB,gCAAvB,EAAwDnY,YAAxD,CAAhB,CAR4B,CAS5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAED;;;eAGC,eAA4B;AAC1B,mBAAO,KAAKoY,kBAAZ;AACD,W;eACD,aAA6BriB,KAA7B,EAA6C;AAC3C,iBAAKqiB,kBAAL,GAA0BriB,KAA1B;AACD;;;iBACD,0BAAc;AAAA;;AACZ,iBAAKgB,OAAL,CAAashB,cAAb,CAA4B,EAA5B,EAA+B,EAA/B,EAAkC,EAAlC,EAAsC/qB,SAAtC,CAAgD,UAAC2I,GAAD,EAAY;AAC1D,kBAAGA,GAAG,CAACC,IAAJ,IAAW,SAAd,EAAwB;AACtB,uBAAI,CAACsL,WAAL,GAAmBvL,GAAG,CAACgC,IAAJ,CAASqgB,OAA5B;;AACA,oBAAGriB,GAAG,CAACgC,IAAJ,CAASqgB,OAAT,CAAiB9f,MAAjB,IAAyB,CAA5B,EAA8B;AAC5B,yBAAI,CAAC+f,iBAAL,GAAyB,IAAzB;AACD,iBAFD,MAEK;AACH,yBAAI,CAACA,iBAAL,GAAyB,KAAzB;AACD;;AACD,oBAAGtiB,GAAG,CAACgC,IAAJ,CAASqgB,OAAT,CAAiB9f,MAAjB,GAAwB,CAA3B,EAA6B;AAC3B,yBAAI,CAACiJ,cAAL,GAAsBxL,GAAG,CAACgC,IAAJ,CAASqgB,OAAT,CAAiBze,KAAjB,CAAuB,CAAvB,EAAyB,CAAzB,CAAtB;AACA,yBAAI,CAACwI,YAAL,GAAoBpM,GAAG,CAACgC,IAAJ,CAASqgB,OAAT,CAAiBze,KAAjB,CAAuB,CAAvB,CAApB;AACD,iBAHD,MAGK;AACH,yBAAI,CAAC4H,cAAL,GAAsBxL,GAAG,CAACgC,IAAJ,CAASqgB,OAA/B;AACD;AACF,eAbD,MAaK;AACH,uBAAI,CAAC7qB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aAjBD;AAkBD;;;iBAED,4BAAmB1J,EAAnB,EAAyB;AAAA;;AACvB,iBAAKoK,OAAL,CAAayhB,sBAAb,CAAoC7rB,EAApC,EAAwCW,SAAxC,CAAkD,UAAC2I,GAAD,EAAY;AAC5D,kBAAGA,GAAG,CAACC,IAAJ,IAAW,SAAd,EAAwB;AACtB,uBAAI,CAACsL,WAAL,GAAmBvL,GAAG,CAACgC,IAAJ,CAASqgB,OAA5B;AACA,uBAAI,CAACjW,YAAL,GAAoBpM,GAAG,CAACgC,IAAJ,CAASqgB,OAA7B;;AACA,oBAAGriB,GAAG,CAACgC,IAAJ,CAASqgB,OAAT,CAAiB9f,MAAjB,IAAyB,CAA5B,EAA8B;AAC5B,yBAAI,CAAC+f,iBAAL,GAAyB,IAAzB;AACD,iBAFD,MAEK;AACH,yBAAI,CAACA,iBAAL,GAAyB,KAAzB;AACD,iBAPqB,CAQtB;AACA;AACA;AACA;AACA;AACA;;AACD,eAdD,MAcK;AACH,uBAAI,CAAC9qB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aAlBD;AAmBD;;;iBAID,uBAAc4B,IAAd,EAAsB;AAChB,iBAAKwgB,gBAAL,GAAwBxgB,IAAxB;;AACA,gBAAG,KAAKoW,WAAL,IAAkB,KAArB,EAA2B;AACzB,mBAAKvU,SAAL,CAAe,KAAK4e,gBAApB;AACD,aAFD,MAEK,CACH;AACD;AAEN;;;iBAED,qBAAY/rB,EAAZ,EAAkB,CAChB;AACD;;;iBAED,yBAAgBA,EAAhB,EAAsB;AAAA;;AACpB,iBAAKoK,OAAL,CAAa4hB,QAAb,CAAsBhsB,EAAtB,EAAyB,EAAzB,EAA6BW,SAA7B,CAAuC,UAAC2I,GAAD,EAAY;AACjD,kBAAGA,GAAG,CAACC,IAAJ,IAAW,SAAd,EAAwB;AACtB,uBAAI,CAACnB,QAAL,CAAc6B,IAAd;;AACA,uBAAI,CAACyhB,cAAL;;AACA,uBAAI,CAACrgB,cAAL,CAAoB4gB,YAApB,GAAmC,YAAnC;AACD,eAJD,MAIK;AACH,uBAAI,CAACnrB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aARD;AASD;;;iBAED,4BAAmB1J,EAAnB,EAAyB;AAAA;;AACvB,iBAAKoK,OAAL,CAAa8hB,UAAb,CAAwBlsB,EAAxB,EAA2B;AAAC,0BAAW;AAAZ,aAA3B,EAA8CW,SAA9C,CAAwD,UAAC2I,GAAD,EAAW;AACjE,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAACnB,QAAL,CAAc6B,IAAd;AACD,eAFD,MAEK;AACH,uBAAI,CAACnJ,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aAND;AAOD;;;iBAWD,oBAAWyiB,MAAX,EAAmB;AACjB,iBAAKA,MAAL,GAAcA,MAAd;AACAnqB,mBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+BkqB,MAA/B;AACD;;;iBACD,uBAAc3qB,KAAd,EAAqB;AACnBQ,mBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4BT,KAAK,CAAC8J,IAAlC;AACD;;;iBAID,oBAAW8gB,cAAX,EAA4C;AAC1C,iBAAK/R,aAAL,GAAqB+R,cAAc,CAAC7Y,KAApC;AACAvR,mBAAO,CAACC,GAAR,CAAYmqB,cAAZ;;AACA,gBAAGA,cAAc,CAAC7Y,KAAf,IAAwB,CAA3B,EAA6B;AAC3B,mBAAKoB,QAAL,GAAgB,KAAK4D,YAArB;AACD;;AACD,gBAAG6T,cAAc,CAAC7Y,KAAf,IAAwB,CAA3B,EAA6B;AAC3B,mBAAKoB,QAAL,GAAgB,KAAKC,QAArB;AACD,aARyC,CAS1C;;;AAEA,gBAAGwX,cAAc,CAAC7Y,KAAf,IAAwB,CAAxB,IAA6B6Y,cAAc,CAACC,GAAf,CAAmBC,SAAnB,IAAgC,SAAhE,EAA0E;AACxEtqB,qBAAO,CAACC,GAAR,CAAY,kBAAZ,EADwE,CAExE;AACA;AACD;;AAED2H,wBAAY,CAACC,OAAb,CAAqB,yBAArB,EAA+CC,IAAI,CAACC,SAAL,CAAeqiB,cAAc,CAAC7Y,KAA9B,CAA/C;AACD;;;iBAED,uBAAW;AACT,iBAAK8G,aAAL,GAAqB,CAArB;AACD;;;iBAED,uBAAW;AACT;AACA,iBAAKA,aAAL,GAAqB,CAArB;AACD;;;iBAED,uBAAcra,EAAd,EAAoB;AAAA;;AAClB,gBAAIsL,IAAI,GAAsB+C,QAAQ,CAACC,cAAT,CAAwB,oBAAkBtO,EAA1C,EAA+CkR,SAA7E;;AACA,gBAAG5F,IAAI,IAAE,YAAT,EAAsB;AACpB,mBAAK8G,OAAL,CAAapJ,IAAb;AACmBqF,sBAAQ,CAACC,cAAT,CAAwB,oBAAkBtO,EAA1C,EAA+CusB,SAA/C,GAA2D,SAA3D;AACAle,sBAAQ,CAACC,cAAT,CAAwB,oBAAkBtO,EAA1C,EAA+C+f,KAA/C,CAAqDyM,UAArD,GAAgE,OAAhE;AACAne,sBAAQ,CAACC,cAAT,CAAwB,oBAAkBtO,EAA1C,EAA+C+f,KAA/C,CAAqD0M,MAArD,GAA4D,iBAA5D;AACApe,sBAAQ,CAACC,cAAT,CAAwB,oBAAkBtO,EAA1C,EAA+C+f,KAA/C,CAAqD2M,KAArD,GAA2D,OAA3D;AACnB,mBAAKtiB,OAAL,CAAauiB,SAAb,CAAuB;AAAC,+BAAc3sB;AAAf,eAAvB,EAA2CW,SAA3C,CAAqD,UAAC2I,GAAD,EAAa;AAChE,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,yBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,qBAA3B;AACD,iBAFD,MAEK,CACJ;AACF,eALD,EAKE,UAACvH,GAAD,EAAS;AACT,uBAAI,CAACpB,aAAL,CAAmBc,KAAnB,CAAyBM,GAAG,CAACN,KAAJ,CAAU8H,OAAnC;AACD,eAPD;AAQA,mBAAK0I,OAAL,CAAanI,IAAb;AACD,aAfD,MAeK;AACH,mBAAKmI,OAAL,CAAapJ,IAAb;AACAqF,sBAAQ,CAACC,cAAT,CAAwB,oBAAkBtO,EAA1C,EAA8CusB,SAA9C,GAA0D,YAA1D;AACAle,sBAAQ,CAACC,cAAT,CAAwB,oBAAkBtO,EAA1C,EAA8C+f,KAA9C,CAAoDyM,UAApD,GAAiE,OAAjE;AACAne,sBAAQ,CAACC,cAAT,CAAwB,oBAAkBtO,EAA1C,EAA8C+f,KAA9C,CAAoD2M,KAApD,GAA4D,OAA5D;AAEA,mBAAKtiB,OAAL,CAAawiB,aAAb,CAA2B5sB,EAA3B,EAA8B;AAAC,0BAAS;AAAV,eAA9B,EAAmDW,SAAnD,CAA6D,UAAC2I,GAAD,EAAW;AACtE,oBAAGA,GAAG,CAACC,IAAJ,IAAU,SAAb,EAAuB;AACrB,yBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2BH,GAAG,CAACI,OAA/B;AACD;AACF,eAJD;AAKA,mBAAK0I,OAAL,CAAanI,IAAb;AACD;AACF;;;iBAED,wBAAY;AACVjI,mBAAO,CAACC,GAAR,CAAY,eAAZ;AACD;;;iBACD,qBAAS;AAAA;;AACP,gBAAIqJ,IAAI,GAAsB+C,QAAQ,CAACC,cAAT,CAAwB,oBAAkB,KAAKgT,MAA/C,EAAwDpQ,SAAtF;;AACA,gBAAG5F,IAAI,IAAE,YAAT,EAAsB;AACpB,mBAAK8G,OAAL,CAAapJ,IAAb;AACA,mBAAKoB,OAAL,CAAauiB,SAAb,CAAuB;AAAC,+BAAc,KAAKrL;AAApB,eAAvB,EAAoD3gB,SAApD,CAA8D,UAAC2I,GAAD,EAAa;AACzE,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,yBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2BH,GAAG,CAACI,OAA/B;;AACmB2E,0BAAQ,CAACC,cAAT,CAAwB,oBAAkB,OAAI,CAACgT,MAA/C,EAAwDiL,SAAxD,GAAoE,SAApE;AACAle,0BAAQ,CAACC,cAAT,CAAwB,oBAAkB,OAAI,CAACgT,MAA/C,EAAwDvB,KAAxD,CAA8DyM,UAA9D,GAAyE,SAAzE;AACAne,0BAAQ,CAACC,cAAT,CAAwB,oBAAkB,OAAI,CAACgT,MAA/C,EAAwDvB,KAAxD,CAA8D0M,MAA9D,GAAqE,iBAArE;AACApe,0BAAQ,CAACC,cAAT,CAAwB,oBAAkB,OAAI,CAACgT,MAA/C,EAAwDvB,KAAxD,CAA8D2M,KAA9D,GAAoE,OAApE;AACpB,iBAND,MAMK,CACJ;AACF,eATD,EASE,UAACxqB,GAAD,EAAS;AACT,uBAAI,CAACpB,aAAL,CAAmBc,KAAnB,CAAyBM,GAAG,CAACN,KAAJ,CAAU8H,OAAnC;AACD,eAXD;AAYA,mBAAK0I,OAAL,CAAanI,IAAb;AACD,aAfD,MAeK;AACH,mBAAKmI,OAAL,CAAapJ,IAAb;AACAqF,sBAAQ,CAACC,cAAT,CAAwB,oBAAkB,KAAKgT,MAA/C,EAAuDiL,SAAvD,GAAmE,YAAnE;AACAle,sBAAQ,CAACC,cAAT,CAAwB,oBAAkB,KAAKgT,MAA/C,EAAuDvB,KAAvD,CAA6DyM,UAA7D,GAA0E,OAA1E;AACAne,sBAAQ,CAACC,cAAT,CAAwB,oBAAkB,KAAKgT,MAA/C,EAAuDvB,KAAvD,CAA6D2M,KAA7D,GAAqE,OAArE;AAEA,mBAAKtiB,OAAL,CAAawiB,aAAb,CAA2B,KAAKtL,MAAhC,EAAuC;AAAC,0BAAS;AAAV,eAAvC,EAA4D3gB,SAA5D,CAAsE,UAAC2I,GAAD,EAAW;AAC/E,oBAAGA,GAAG,CAACC,IAAJ,IAAU,SAAb,EAAuB;AACrB,yBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2BH,GAAG,CAACI,OAA/B;AACD;AACF,eAJD;AAKA,mBAAK0I,OAAL,CAAanI,IAAb;AACD;AAEF;;;iBAED,yBAAa;AAAA;;AACX,iBAAKmI,OAAL,CAAapJ,IAAb;AACA,iBAAKoB,OAAL,CAAauiB,SAAb,CAAuB;AAAC,6BAAc,KAAKrL;AAApB,aAAvB,EAAoD3gB,SAApD,CAA8D,UAAC2I,GAAD,EAAa;AACzE,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB;AACA,uBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,qBAA3B;;AACA,uBAAI,CAAC4B,cAAL,CAAoB4gB,YAApB,GAAmC,cAAnC;AACD;;AACD,qBAAI,CAAC7Z,OAAL,CAAanI,IAAb;AACD,aAPD,EAOE,UAAC/H,GAAD,EAAS;AACT,qBAAI,CAACpB,aAAL,CAAmBc,KAAnB,CAAyBM,GAAG,CAACN,KAAJ,CAAU8H,OAAnC;;AACA,qBAAI,CAAC0I,OAAL,CAAanI,IAAb;AACD,aAVD;AAYD;;;iBAGD,qBAAS;AAAA;;AACP,gBAAIjK,EAAE,GAAC,KAAKshB,MAAZ;AACA,gBAAIhW,IAAI,GAAG+C,QAAQ,CAACC,cAAT,CAAwB,kBAAgBtO,EAAxC,EAA4CusB,SAAvD,CAFO,CAGP;;AACA,gBAAGjhB,IAAI,IAAE,SAAT,EAAmB;AACjB;AACA;AACA;AACA;AACA,mBAAKuhB,eAAL,GAAuB,KAAKvL,MAA5B;AACA,mBAAKlZ,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuB,KAAK8jB,cAA5B,EAA2C;AAAC,yBAAM;AAAP,eAA3C,CAAhB,CANiB,CAOjB;AACA;AACA;AACA;AACA;AACA;AACD,aAbD,MAaM,IAAGxhB,IAAI,IAAE,YAAT,EAAsB;AAC1B,mBAAK8G,OAAL,CAAapJ,IAAb;AACAqF,sBAAQ,CAACC,cAAT,CAAwB,kBAAgBtO,EAAxC,EAA4CusB,SAA5C,GAAwD,SAAxD;AACAle,sBAAQ,CAACC,cAAT,CAAwB,kBAAgBtO,EAAxC,EAA4C+f,KAA5C,CAAkDyM,UAAlD,GAA6D,OAA7D;AACAne,sBAAQ,CAACC,cAAT,CAAwB,kBAAgBtO,EAAxC,EAA4C+f,KAA5C,CAAkD2M,KAAlD,GAAwD,OAAxD;AACA,mBAAKtiB,OAAL,CAAauiB,SAAb,CAAuB;AAAC,+BAAc3sB;AAAf,eAAvB,EAA2CW,SAA3C,CAAqD,UAAC2I,GAAD,EAAa;AAChE,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB;AACA,yBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,qBAA3B;AACD,iBAHD,MAGK,CACJ;AACF,eAND,EAME,UAACvH,GAAD,EAAS;AACT,uBAAI,CAACpB,aAAL,CAAmBc,KAAnB,CAAyBM,GAAG,CAACN,KAAJ,CAAU8H,OAAnC;AACD,eARD;AASA,mBAAK0I,OAAL,CAAanI,IAAb;AACD,aAfK,MAeA,IAAGqB,IAAI,IAAE,QAAT,EAAkB;AACtB,mBAAK8G,OAAL,CAAapJ,IAAb,GADsB,CAEtB;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,mBAAKoB,OAAL,CAAa2iB,mBAAb,CAAiC;AAAC,+BAAe/sB,EAAhB;AAAmB,0BAAU;AAA7B,eAAjC,EAAyEW,SAAzE,CAAmF,UAAC2I,GAAD,EAAa;AAC9F,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB;AACA,yBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,yBAA3B;;AACA2H,wBAAM,CAAC/C,QAAP,CAAgB1C,QAAhB,CAAyBqhB,MAAzB,GAHuB,CAIvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,iBAbD,MAaK;AACH,yBAAI,CAAClsB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,eAjBD,EAiBE,UAACxH,GAAD,EAAS;AACT,uBAAI,CAACpB,aAAL,CAAmBc,KAAnB,CAAyBM,GAAG,CAACN,KAAJ,CAAU8H,OAAnC;AACD,eAnBD;AAoBA,mBAAK0I,OAAL,CAAanI,IAAb;AACD;AAEJ;;;iBACC,uBAAcjK,EAAd,EAAkBuT,KAAlB,EAAyB;AAAA;;AACvB,iBAAKnJ,OAAL,CAAawiB,aAAb,CAA2B5sB,EAA3B,EAA+B;AAAE,wBAAU;AAAZ,aAA/B,EAAuDW,SAAvD,CAAiE,UAAC2I,GAAD,EAAc;AAC7E,kBAAIA,GAAG,CAACC,IAAJ,IAAY,SAAhB,EAA2B;AACzB,uBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,0BAA3B;;AACA,uBAAI,CAACoL,WAAL,CAAiBtB,KAAjB,EAAwB0Y,YAAxB,GAAuC,YAAvC;AACD;AACF,aALD;AAMD;;;iBAKH,+BAAmB;AAAA;;AACjB,iBAAK1R,uBAAL,GAA+B,IAA/B;AACA,gBAAIva,EAAE,GAAG,KAAK6sB,eAAd;AAGA,iBAAKziB,OAAL,CAAawiB,aAAb,CAA2B5sB,EAA3B,EAA8B;AAAC,wBAAS;AAAV,aAA9B,EAAmDW,SAAnD,CAA6D,UAAC2I,GAAD,EAAW;;;AACtE,qBAAI,CAACiR,uBAAL,GAA+B,KAA/B;;AACA,kBAAGjR,GAAG,CAACC,IAAJ,IAAU,SAAb,EAAuB;AACrB,uBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,0BAA3B;;AACA4E,wBAAQ,CAACC,cAAT,CAAwB,kBAAgBtO,EAAxC,EAA4CusB,SAA5C,GAAwD,YAAxD;AACAle,wBAAQ,CAACC,cAAT,CAAwB,kBAAgBtO,EAAxC,EAA4C+f,KAA5C,CAAkDyM,UAAlD,GAA+D,OAA/D;AACAne,wBAAQ,CAACC,cAAT,CAAwB,kBAAgBtO,EAAxC,EAA4C+f,KAA5C,CAAkD2M,KAAlD,GAA0D,OAA1D;AACD,eALD,MAMI;AACF,uBAAI,CAAC5rB,aAAL,CAAmBoS,IAAnB,CAAwB,6BAAxB;AACD;;AACD,2BAAI,CAAC9K,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE6B,IAAF,EAAb;AACD,aAZD,EAYE,UAAA/H,GAAG,EAAI;;;AACP,qBAAI,CAACqY,uBAAL,GAA+B,KAA/B;;AACA,qBAAI,CAACzZ,aAAL,CAAmBoS,IAAnB,CAAwB,6BAAxB;;AACA,2BAAI,CAAC9K,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE6B,IAAF,EAAb;AACD,aAhBD;AAiBD,W,CAEC;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;iBAEA,2BAAkBjK,EAAlB,EAAwB;AACtB,iBAAKmN,SAAL,CAAe,KAAK8f,gBAApB,EADsB,CAEtB;AACD;;;iBAID,iCAAwB1Z,KAAxB,EAAiC;AAC/B,iBAAKnL,QAAL,CAAc6B,IAAd;AACA,iBAAKkD,SAAL,CAAe,KAAK+f,gBAApB;AACAlrB,mBAAO,CAACC,GAAR,CAAY,KAAKuY,YAAjB;AACD;;;iBAKD,uBAAclP,IAAd,EAAsC;AACpC,iBAAKkP,YAAL,GAAoBlP,IAApB;AACAtJ,mBAAO,CAACC,GAAR,CAAY,KAAKuY,YAAjB;AACD;;;iBAGD,yBAAgB5a,CAAhB,EAAuB2T,KAAvB,EAAgC;AAC9B,gBAAI4Z,GAAG,GAAGvtB,CAAC,CAACuM,MAAF,CAASC,OAAnB;;AACA,gBAAG+gB,GAAG,IAAI,IAAV,EAAe;AACX,mBAAKzS,eAAL,CAAqB5G,IAArB,CAA0BP,KAA1B;AACH,aAFD,MAEK;AACH,kBAAIiP,CAAC,GAAC,CAAN;;AADG,0DAEU,KAAK9H,eAFf;AAAA;;AAAA;AAEH,uEAAkC;AAAA,sBAA1B6H,CAA0B;;AAChC,sBAAGA,CAAC,IAAEhP,KAAN,EAAY;AACV,yBAAKmH,eAAL,CAAqB9G,MAArB,CAA4B4O,CAA5B,EAA8B,CAA9B;AACD;;AACDA,mBAAC;AACF;AAPE;AAAA;AAAA;AAAA;AAAA;AAQJ;AACF;;;iBAED,0BAAc,CACZ;AACD;;;iBAED,uBAAW;AACT,gBAAIjP,KAAK,GAAsBlF,QAAQ,CAACC,cAAT,CAAwB,oBAAxB,EAA+ClF,KAA9E;AACA,iBAAKhB,QAAL,CAAc6B,IAAd;AACD;;;iBAoBF,8BAAkB;AACf,iBAAK2L,kBAAL,GAAwB,IAAxB;AACF;;;iBAED,8BAAkB;AACjB,iBAAK8E,eAAL,GAAqB,EAArB;AACA,iBAAK9E,kBAAL,GAAwB,KAAxB;AACA;;;iBAGD,0BAAiBhW,CAAjB,EAAsB;AAAA;;AACrB,gBAAIwtB,IAAI,GAAGxtB,CAAC,CAACuM,MAAF,CAASkhB,KAAT,CAAe,CAAf,CAAX;AACA,gBAAIC,EAAE,GAAG,IAAIC,QAAJ,EAAT;AACAD,cAAE,CAACE,MAAH,CAAU,MAAV,EAAkBJ,IAAlB;AACA,iBAAKhjB,OAAL,CAAaqjB,sBAAb,CAAoCH,EAApC,EAAwC3sB,SAAxC,CAAkD,UAAC2I,GAAD,EAAY;AAC5D,kBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB;AACvB,uBAAI,CAAC4X,mBAAL,GAA2B7X,GAAG,CAACgC,IAAJ,CAASif,OAApC;AACD;AACF,aAJD;AAKA;;;iBAGD,sBAAa3qB,CAAb,EAAqB;AACnB,gBAAG,KAAKkW,iBAAL,IAA0B,IAA7B,EAAkC;AAChC,mBAAKvD,IAAL,IAAa,CAAb;AACA,mBAAKgV,QAAL,CAAc,KAAKhV,IAAnB,EAAyB,KAAKsD,WAA9B;AACD;AACF;;;iBAED,6BAAoB;AAEnB7T,mBAAO,CAACC,GAAR,CAAY,sBAAZ;;AAEE,gBAAG,KAAK6T,iBAAR,EAA0B;AACxB,mBAAKM,eAAL,IAAwB,CAAxB;AACA,mBAAKyL,UAAL,CAAgB,KAAKxW,cAAL,CAAoBrH,GAApC,EAAwC,KAAKoS,eAA7C,EAA8D,KAAKC,aAAnE;AACD;AACF;;;iBAED,2BAAkBzW,CAAlB,EAA0B;AAExB,gBAAG,KAAKmW,iBAAR,EAA0B;AACxB;AACA;AACA,mBAAKQ,eAAL,IAAwB,CAAxB;AACA,mBAAKuL,QAAL,CAAc,KAAKzW,cAAL,CAAoBrH,GAAlC,EAAsC,KAAKuS,eAA3C,EAA4D,KAAKD,aAAjE;AACD;AACF;;;iBAEF,yBAAgB1W,CAAhB,EAAqB;AACpB,gBAAIA,CAAC,CAAC6O,OAAF,IAAa,EAAjB,EAAqB;AACnB7O,eAAC,CAAC8O,cAAF;AACA,qBAAO,KAAP;AACD;AACF;;;iBACA,uBAAc;AACZ,iBAAKgf,QAAL,CAAc,MAAd;AACD;;;iBAGD,kBAASC,OAAT,EAA0B;AACxB,iBAAK,IAAIpL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK1M,WAAzB,EAAsC,EAAE0M,CAAxC,EAA2C;AACzC,kBAAIoL,OAAO,KAAK,MAAhB,EAAwB;AACtB,qBAAK9S,SAAL,CAAe/G,IAAf,CAAoB,CAACyO,CAAD,EAAIqL,IAAJ,CAAS,EAAT,CAApB;AACD,eAFD,MAEO,IAAID,OAAO,KAAK,SAAhB,EAA2B;AAChC,qBAAK9S,SAAL,CAAe5H,OAAf,CAAuB,CAACsP,CAAD,EAAIqL,IAAJ,CAAS,EAAT,CAAvB;AACD;AACF;AACF,W,CAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iBAEA,kBAAS5tB,EAAT,EAAe;AACb,iBAAKyU,QAAL,CAAczL,IAAd;AACA,gBAAI6kB,KAAK,GAAsBxf,QAAQ,CAACC,cAAT,CAAwB,cAAYtO,EAApC,EAAyCokB,GAAxE;AACApiB,mBAAO,CAACC,GAAR,CAAY4rB,KAAZ;;AACA,gBAAGA,KAAK,CAAC9rB,QAAN,CAAe,WAAf,KAA6B,IAAhC,EAAqC;AACdsM,sBAAQ,CAACC,cAAT,CAAwB,cAAYtO,EAApC,EAAyCokB,GAAzC,GAA+C,+CAA/C;AACnB,kBAAItV,KAAK,GAAsBT,QAAQ,CAACC,cAAT,CAAwB,mBAAiBtO,EAAzC,EAA8CkR,SAA7E;AACA,kBAAI4c,IAAI,GAAGhf,KAAK,CAACmc,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAX;AACA,kBAAI8C,IAAJ;;AACA,kBAAGC,QAAQ,CAACF,IAAD,CAAR,IAAgB,CAAnB,EAAqB;AACnBC,oBAAI,aAAMC,QAAQ,CAACF,IAAD,CAAR,GAAe,CAArB,UAAJ;AACD,eAFD,MAEK;AACHC,oBAAI,aAAMC,QAAQ,CAACF,IAAD,CAAR,GAAe,CAArB,WAAJ;AACD;;AACkBzf,sBAAQ,CAACC,cAAT,CAAwB,mBAAiBtO,EAAzC,EAA8CkR,SAA9C,GAAwD6c,IAAxD;AAEnB,mBAAK3jB,OAAL,CAAa6jB,QAAb,CAAsBjuB,EAAtB,EAAyB;AAAC,0BAAS;AAAV,eAAzB,EAA4CW,SAA5C,CAAsD,UAAC2I,GAAD,EAAW;AAC/D,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB,CACxB;AACF,eAHD;AAIH,aAhBD,MAgBK;AACgB8E,sBAAQ,CAACC,cAAT,CAAwB,cAAYtO,EAApC,EAAyCokB,GAAzC,GAA+C,2CAA/C;AACnB,kBAAItV,MAAK,GAAsBT,QAAQ,CAACC,cAAT,CAAwB,mBAAiBtO,EAAzC,EAA8CkR,SAA7E;;AACA,kBAAI4c,KAAI,GAAGhf,MAAK,CAACmc,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAX;;AACA,kBAAI8C,KAAJ;;AACA,kBAAIC,QAAQ,CAACF,KAAD,CAAR,IAAgB,CAApB,EAAuB;AACrBC,qBAAI,aAAMC,QAAQ,CAACF,KAAD,CAAR,GAAe,CAArB,UAAJ;AACD,eAFD,MAEK;AACHC,qBAAI,aAAMC,QAAQ,CAACF,KAAD,CAAR,GAAe,CAArB,WAAJ;AACD;;AACkBzf,sBAAQ,CAACC,cAAT,CAAwB,mBAAiBtO,EAAzC,EAA8CkR,SAA9C,GAAwD6c,KAAxD;AAEnB,mBAAK3jB,OAAL,CAAa6jB,QAAb,CAAsBjuB,EAAtB,EAAyB;AAAC,0BAAS;AAAV,eAAzB,EAA+CW,SAA/C,CAAyD,UAAC2I,GAAD,EAAW;AAClE,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB,CACxB;AACF,eAHD;AAID;;AACD,iBAAK6I,OAAL,CAAanI,IAAb;AACD,W,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iBAEA,qBAAYjK,EAAZ,EAAkB;AAChB,iBAAKyU,QAAL,CAAczL,IAAd;AACA,gBAAI6kB,KAAK,GAAsBxf,QAAQ,CAACC,cAAT,CAAwB,iBAAetO,EAAvC,EAA4CokB,GAA3E;;AACA,gBAAGyJ,KAAK,CAAC9rB,QAAN,CAAe,WAAf,KAA6B,IAAhC,EAAqC;AAChBsM,sBAAQ,CAACC,cAAT,CAAwB,iBAAetO,EAAvC,EAA4CokB,GAA5C,GAAkD,+CAAlD;AACjB,kBAAItV,KAAK,GAAsBT,QAAQ,CAACC,cAAT,CAAwB,mBAAiBtO,EAAzC,EAA8CkR,SAA7E;AACA,kBAAI4c,IAAI,GAAGhf,KAAK,CAACmc,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAX;AACA,kBAAI8C,IAAJ;;AACA,kBAAGC,QAAQ,CAACF,IAAD,CAAR,IAAgB,CAAnB,EAAqB;AACnBC,oBAAI,aAAMC,QAAQ,CAACF,IAAD,CAAR,GAAe,CAArB,UAAJ;AACD,eAFD,MAEK;AACHC,oBAAI,aAAMC,QAAQ,CAACF,IAAD,CAAR,GAAe,CAArB,WAAJ;AACD;;AACkBzf,sBAAQ,CAACC,cAAT,CAAwB,mBAAiBtO,EAAzC,EAA8CkR,SAA9C,GAAwD6c,IAAxD;AAEnB,mBAAK3jB,OAAL,CAAa6jB,QAAb,CAAsBjuB,EAAtB,EAAyB;AAAC,0BAAS;AAAV,eAAzB,EAA4CW,SAA5C,CAAsD,UAAC2I,GAAD,EAAW;AAC/D,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB,CACxB;AACF,eAHD;AAIH,aAhBD,MAgBK;AACgB8E,sBAAQ,CAACC,cAAT,CAAwB,iBAAetO,EAAvC,EAA4CokB,GAA5C,GAAkD,2CAAlD;AACnB,kBAAItV,OAAK,GAAsBT,QAAQ,CAACC,cAAT,CAAwB,mBAAiBtO,EAAzC,EAA8CkR,SAA7E;;AACA,kBAAI4c,MAAI,GAAGhf,OAAK,CAACmc,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAX;;AACA,kBAAI8C,MAAJ;;AACA,kBAAGC,QAAQ,CAACF,MAAD,CAAR,IAAgB,CAAnB,EAAqB;AACnBC,sBAAI,aAAMC,QAAQ,CAACF,MAAD,CAAR,GAAe,CAArB,UAAJ;AACD,eAFD,MAEK;AACHC,sBAAI,aAAMC,QAAQ,CAACF,MAAD,CAAR,GAAe,CAArB,WAAJ;AACD;;AACkBzf,sBAAQ,CAACC,cAAT,CAAwB,mBAAiBtO,EAAzC,EAA8CkR,SAA9C,GAAwD6c,MAAxD;AAEnB,mBAAK3jB,OAAL,CAAa6jB,QAAb,CAAsBjuB,EAAtB,EAAyB;AAAC,0BAAS;AAAV,eAAzB,EAA+CW,SAA/C,CAAyD,UAAC2I,GAAD,EAAW;AAClE,oBAAGA,GAAG,CAACC,IAAJ,IAAY,SAAf,EAAyB,CACxB;AACF,eAHD;AAID;;AAED,iBAAKkL,QAAL,CAAcxK,IAAd;AACA;;;iBAID,2BAAkBjK,EAAlB,EAAyB+P,IAAzB,EAA6B;AAC5B;AACA,iBAAK3H,QAAL,GAAgB,KAAKC,YAAL,CAAkBW,IAAlB,CAAuB,KAAKklB,UAA5B,EAAwC;AAAC,uBAAM;AAAP,aAAxC,CAAhB;AAEA,iBAAKC,iBAAL,GAAyBpe,IAAI,CAACxG,IAAL,IAAW,MAAX,GAAoB,MAApB,GAA6B,MAAtD;AACE,iBAAK6kB,YAAL,GAAoBpuB,EAApB;AACF;;;iBAiCF,4BAAmBquB,IAAnB,EAAgC;AAAA;;AAG9B,mBAAO,UAACC,OAAD,EAA6D;;;AAClE,kBAAMllB,KAAK,GAAGklB,OAAO,CAACllB,KAAtB,CADkE,CAElE;;AACA,kBAAI,CAACA,KAAL,EAAY;AACV,uBAAO,IAAP;AACD;;AAED,kBAAI+R,SAAJ,EAAcE,OAAd,EAAsB1K,SAAtB,EAAgC2K,OAAhC;;AACA,kBAAG,aAAI,CAACN,cAAL,CAAoBlS,QAApB,CAA6BqS,SAA7B,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAE/R,KAA3C,EAAiD;AAC/C+R,yBAAS,GAAG,kDAAAoT,UAAA,EAAW,IAAIpf,IAAJ,CAAS,aAAI,CAAC6L,cAAL,CAAoBlS,QAApB,CAA6BqS,SAA7B,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAE/R,KAAjD,CAAX,EAAmE,YAAnE,EAAgF,OAAhF,CAAZ;AACD;;AACD,kBAAG,aAAI,CAAC4R,cAAL,CAAoBlS,QAApB,CAA6BuS,OAA7B,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAEjS,KAAzC,EAA+C;AAC7CiS,uBAAO,GAAG,kDAAAkT,UAAA,EAAW,IAAIpf,IAAJ,CAAS,aAAI,CAAC6L,cAAL,CAAoBlS,QAApB,CAA6BuS,OAA7B,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAEjS,KAA/C,CAAX,EAAiE,YAAjE,EAA8E,OAA9E,CAAV;AACD;;AACD,kBAAG,aAAI,CAAC4R,cAAL,CAAoBlS,QAApB,CAA6B6H,SAA7B,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAEvH,KAA3C,EAAiD;AAC/CuH,yBAAS,GAAG,aAAI,CAACqK,cAAL,CAAoBlS,QAApB,CAA6B6H,SAA7B,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAEvH,KAApD;AACD;;AACD,kBAAG,aAAI,CAAC4R,cAAL,CAAoBlS,QAApB,CAA6BwS,OAA7B,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAElS,KAAzC,EAA+C;AAC7CkS,uBAAO,GAAG,aAAI,CAACN,cAAL,CAAoBlS,QAApB,CAA6BwS,OAA7B,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAElS,KAAhD;AACD;;AACD,kBAAG,CAACilB,IAAI,IAAI,SAAR,IAAqBA,IAAI,IAAI,WAA9B,KAA+ClT,SAAS,IAAIE,OAA5D,IAAyEA,OAAO,GAACF,SAApF,EAA+F;AAC7F;AACEnZ,uBAAO,CAACC,GAAR,CAAY,wBAAZ;;AACA,uBAAI,CAACnB,aAAL,CAAmBc,KAAnB,CAAyB,qDAAzB,EAA+E,EAA/E,EAAkF;AAAC4sB,yBAAO,EAAC;AAAT,iBAAlF;;AACA,uBAAO;AAAEC,4BAAU,EAAE;AAAd,iBAAP,CAJ2F,CAK7F;AACA;AACA;AACA;AACD;;AACDzsB,qBAAO,CAACC,GAAR,CAAY,OAAI,CAAC+Y,cAAL,CAAoBlS,QAApB,CAA6BwS,OAA7B,CAAqClS,KAArC,GAA2C,OAAI,CAAC4R,cAAL,CAAoBlS,QAApB,CAA6B6H,SAA7B,CAAuCvH,KAA9F;AACApH,qBAAO,CAACC,GAAR,CAAY,OAAI,CAAC+Y,cAAL,CAAoBlS,QAApB,CAA6BwS,OAA7B,CAAqClS,KAArC,GAA2C,OAAI,CAAC4R,cAAL,CAAoBlS,QAApB,CAA6B6H,SAA7B,CAAuCvH,KAA9F;AACApH,qBAAO,CAACC,GAAR,CAAY,OAAI,CAAC+Y,cAAL,CAAoBlS,QAApB,CAA6BwS,OAA7B,CAAqClS,KAArC,IAA4C,OAAI,CAAC4R,cAAL,CAAoBlS,QAApB,CAA6B6H,SAA7B,CAAuCvH,KAA/F;AACApH,qBAAO,CAACC,GAAR,CAAYosB,IAAI,IAAI,SAAR,IAAqBA,IAAI,IAAI,WAAzC;AACArsB,qBAAO,CAACC,GAAR,CAAY0O,SAAS,IAAI2K,OAAzB;AACAtZ,qBAAO,CAACC,GAAR,CAAYkZ,SAAS,IAAIE,OAAzB;AACArZ,qBAAO,CAACC,GAAR,CAAY0O,SAAZ;AACA3O,qBAAO,CAACC,GAAR,CAAYqZ,OAAZ;;AAEA,kBAAG,CAAC+S,IAAI,IAAI,SAAR,IAAqBA,IAAI,IAAI,WAA7B,IAA4CA,IAAI,IAAI,SAApD,IAAiEA,IAAI,IAAI,WAA1E,KAA2F1d,SAA3F,IAA0G2K,OAA1G,KAAyHH,SAAS,IAAIE,OAAd,KAA4BC,OAAO,IAAI3K,SAAZ,IAA2B2K,OAAO,IAAI,IAAInM,IAAJ,GAAWJ,OAAX,EAAjE,CAAD,IAA+FoM,SAAS,GAAGE,OAAb,IAA0B,IAAIlM,IAAJ,CAASkM,OAAT,EAAkBqT,YAAlB,MAAoC,IAAIvf,IAAJ,GAAWuf,YAAX,EAA9D,IAA6FpT,OAAO,IAAI,IAAInM,IAAJ,GAAWJ,OAAX,EAA7T,CAAH,EAAwV;AACtV;AAEI/M,uBAAO,CAACC,GAAR,CAAY,8CAAZ;;AACA,uBAAI,CAACnB,aAAL,CAAmBc,KAAnB,CAAyB,6DAAzB,EAAuF,EAAvF,EAA0F;AAAC4sB,yBAAO,EAAC;AAAT,iBAA1F;;AACA,uBAAO;AAAEC,4BAAU,EAAE;AAAd,iBAAP,CALkV,CAMpV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF;AACD,eAtDiE,CAwDrE;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI;AACA;AACA;;;AAEA,qBAAO,IAAP;AACD,aA1ED;AA2ED;;;iBAGD,wBAAejtB,KAAf,EAAsB;AACpBA,iBAAK,CAACkN,cAAN,GADoB,CAEpB;;AACA,gBAAI,KAAKigB,mBAAL,KAA6BC,SAAjC,EAA4C;AACxC,mBAAKD,mBAAL,GAA2BntB,KAAK,CAAC2K,MAAjC;AACA,mBAAKwiB,mBAAL,CAAyBjJ,IAAzB;AACH,aAHD,MAGO;AACP;AACA;AACI,kBAAIlkB,KAAK,CAAC2K,MAAN,KAAiB,KAAKwiB,mBAA1B,EAA+C;AAC3C,qBAAKA,mBAAL,CAAyB3I,KAAzB;AACA,qBAAK2I,mBAAL,GAA2BntB,KAAK,CAAC2K,MAAjC;AACA,qBAAKwiB,mBAAL,CAAyBjJ,IAAzB;AACH;AACJ;AACF;;;iBACA,yBAAgB3V,IAAhB,EAAwB;AACvB;AACA;AACA;AACA;AACA,iBAAK8e,SAAL,GAAe,IAAf;AACAxgB,oBAAQ,CAACC,cAAT,CAAwB,MAAxB,EAAgC2R,SAAhC,CAA0CU,GAA1C,CAA8C,kBAA9C;AACA,iBAAK7F,kBAAL,GAA0B,IAA1B;AACA,iBAAKgU,YAAL,GAAmB/e,IAAI,CAAC/L,GAAxB;;AACE,gBAAG+L,IAAI,CAACxG,IAAL,IAAW,MAAd,EAAqB;AACnB,mBAAKwlB,gBAAL,GAAwB,IAAxB;AACA,mBAAKC,gBAAL,GAAwB,KAAxB;AACA,mBAAKjU,cAAL,CAAoBnN,GAApB,CAAwB,MAAxB,EAAgCC,UAAhC,CAA2CkC,IAAI,CAAClF,IAAhD,EAHmB,CAInB;;AAJmB,0DAKNkF,IAAI,CAACkf,KALC;AAAA;;AAAA;AAKnB,uEAAyB;AAAA,sBAAjB1M,CAAiB;AACvB,uBAAK5G,iBAAL,CAAuB7H,IAAvB,CAA4ByO,CAA5B;;AACA,sBAAGA,CAAC,CAAChZ,IAAF,IAAQ,OAAX,EAAmB;AACjB,yBAAKsS,mBAAL,CAAyB/H,IAAzB,CAA8ByO,CAA9B;AACD,mBAFD,MAEK;AACH,yBAAK3G,kBAAL,CAAwB9H,IAAxB,CAA6ByO,CAA7B;AACD;AACF;AAZkB;AAAA;AAAA;AAAA;AAAA;;AAgBjB,iDAAC,CAAC,2BAAD,CAAD,CAA+BvZ,IAA/B;AACH,aAjBD,MAiBK;AACH,mBAAKkmB,UAAL,GAAkB,IAAI/f,IAAJ,CAAS,KAAK6L,cAAL,CAAoB5R,KAApB,CAA0B+R,SAAnC,CAAlB;AACA,mBAAK6T,gBAAL,GAAwB,IAAxB;AACA,mBAAKD,gBAAL,GAAwB,KAAxB;AACA,mBAAK7N,kBAAL,GAA0BnR,IAAI,CAACkf,KAAL,CAAW,CAAX,EAAc1E,OAAxC;AACA,mBAAKrJ,kBAAL,GAA6C7S,QAAQ,CAACC,cAAT,CAAwB,WAAxB,EAAsC8V,GAAtC,GAA4C,mDAAzF,GAAkK/V,QAAQ,CAACC,cAAT,CAAwB,WAAxB,EAAsC8V,GAAtC,GAA4C,+CAA9M;AACApiB,qBAAO,CAACC,GAAR,CAAY8N,IAAZ;AACA,mBAAKiL,cAAL,CAAoBlS,QAApB,CAA6B,UAA7B,EAAyCqmB,QAAzC,CAAkDpf,IAAI,CAACkf,KAAL,CAAW,CAAX,EAAc1E,OAAhE;AACA,mBAAKvP,cAAL,CAAoBlS,QAApB,CAA6B,aAA7B,EAA4CqmB,QAA5C,CAAqDpf,IAAI,CAACkf,KAAL,CAAW,CAAX,EAAcniB,GAAnE;AACA,mBAAKkO,cAAL,CAAoBpN,GAApB,CAAwB,OAAxB,EAAiCC,UAAjC,CAA4CkC,IAAI,CAAClF,IAAjD;AACA,mBAAKmQ,cAAL,CAAoBpN,GAApB,CAAwB,WAAxB,EAAqCC,UAArC,CAAgDkC,IAAI,CAACqf,IAArD;AACA,mBAAKpU,cAAL,CAAoBpN,GAApB,CAAwB,SAAxB,EAAmCC,UAAnC,CAA8CkC,IAAI,CAACsf,EAAnD;AACA,mBAAKrU,cAAL,CAAoBpN,GAApB,CAAwB,WAAxB,EAAqCC,UAArC,CAAgDkC,IAAI,CAACqf,IAArD;AACA,mBAAKpU,cAAL,CAAoBpN,GAApB,CAAwB,SAAxB,EAAmCC,UAAnC,CAA8CkC,IAAI,CAACsf,EAAnD;AACA,mBAAKrU,cAAL,CAAoBpN,GAApB,CAAwB,OAAxB,EAAiCC,UAAjC,CAA4CkC,IAAI,CAACoa,OAAL,CAAa5O,KAAzD;AACA,mBAAKP,cAAL,CAAoBpN,GAApB,CAAwB,MAAxB,EAAgCC,UAAhC,CAA2CkC,IAAI,CAACoa,OAAL,CAAatS,IAAxD;AACA,mBAAKmD,cAAL,CAAoBpN,GAApB,CAAwB,OAAxB,EAAiCC,UAAjC,CAA4CkC,IAAI,CAACoa,OAAL,CAAa5pB,KAAzD;AACA,mBAAKya,cAAL,CAAoBpN,GAApB,CAAwB,SAAxB,EAAmCC,UAAnC,CAA8CkC,IAAI,CAACoa,OAAL,CAAarS,OAA3D;AACA,mBAAKkD,cAAL,CAAoBpN,GAApB,CAAwB,YAAxB,EAAsCC,UAAtC,CAAiDkC,IAAI,CAACuf,KAAL,CAAWF,IAA5D;AACA,mBAAKpU,cAAL,CAAoBpN,GAApB,CAAwB,UAAxB,EAAoCC,UAApC,CAA+CkC,IAAI,CAACuf,KAAL,CAAWD,EAA1D;AACA,mBAAKrU,cAAL,CAAoBpN,GAApB,CAAwB,cAAxB,EAAwCC,UAAxC,CAAmDkC,IAAI,CAAC2L,YAAxD;AACA,iDAAC,CAAC,qBAAD,CAAD,CAAyB1S,IAAzB;AACA,mBAAKumB,gBAAL;AACD;AACH;;;iBAED,sBAAU;AAAA;;;;AAET,gBAAI1kB,IAAI,GAAG,uBAAKkQ,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE3R,KAArB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEyB,IAA5B,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAEgC,OAAF,CAAU,QAAV,EAAoB,EAApB,CAA3C;AACA,gBAAIvB,IAAI,GAAG;AACT,sBAAQT,IADC,CAET;;AAFS,aAAX;AAKA,iBAAKT,OAAL,CAAaolB,UAAb,CAAwB,KAAKV,YAA7B,EAA0CxjB,IAA1C,EAAgD3K,SAAhD,CAA0D,UAAC2I,GAAD,EAAW;AACnE,kBAAGA,GAAG,CAACC,IAAJ,KAAa,SAAhB,EAA0B;AACtB,uBAAI,CAACzI,aAAL,CAAmB2I,OAAnB,CAA2B,cAA3B;;AACA,uBAAI,CAACkS,iBAAL,GAAuB,EAAvB;AACA/R,4BAAY,CAAC6C,UAAb,CAAwB,YAAxB,EAHsB,CAItB;;AACA,uBAAI,CAACsO,cAAL,CAAoB9I,KAApB;;AACA,uBAAI,CAACmD,YAAL,GAAkB,EAAlB;AACA,uBAAI,CAACkH,UAAL,GAAkB,EAAlB;AACA,uBAAI,CAACT,mBAAL,GAAyB,EAAzB;AACA,uBAAI,CAACD,kBAAL,GAAwB,EAAxB;AACA,uBAAI,CAACzF,QAAL,GAAc,EAAd,CAVsB,CAWtB;AACA;AACA;;AACA,uBAAI,CAACpF,QAAL,GAAgB,CAAhB;AACA,uBAAI,CAAC+J,kBAAL,GAA0B,KAA1B;AACA,mDAAC,CAAC,2BAAD,CAAD,CAA+B7Q,IAA/B;;AACA,oBAAIsJ,KAAK,GAAG,OAAI,CAACoB,QAAL,CAAc8a,SAAd,CAAwB,UAACC,GAAD,EAAO;AACzC,yBAAOA,GAAG,CAAC1rB,GAAJ,IAAW,OAAI,CAAC8qB,YAAvB;AACD,iBAFW,CAAZ;;AAIA,uBAAI,CAACna,QAAL,CAAcpB,KAAd,IAAuBjK,GAAG,CAACgC,IAA3B;AACJ+C,wBAAQ,CAACC,cAAT,CAAwB,MAAxB,EAAgC2R,SAAhC,CAA0CC,MAA1C,CAAiD,kBAAjD;AACC,eAvBD,MAuBK;AACH,uBAAI,CAACpf,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aA3BD,EARS,CAoCT;AACA;;;iBACD,2BAAe;AAAA;;AACd,iBAAKU,OAAL,CAAa8jB,UAAb,CAAwB,KAAKE,YAA7B,EAA2CztB,SAA3C,CAAqD,UAAC2I,GAAD,EAAY;AAC/D,kBAAGA,GAAG,CAACC,IAAJ,KAAa,SAAhB,EAA0B;AACxB;AACA,uBAAI,CAACnB,QAAL,CAAc6B,IAAd;;AACA,uBAAI,CAACkM,QAAL,GAAc,EAAd,CAHwB,CAIxB;AACA;AACA;;AACA,uBAAI,CAACrV,aAAL,CAAmB2I,OAAnB,CAA2B,OAAI,CAAC0kB,iBAAL,CAAuBwB,MAAvB,CAA8B,CAA9B,EAAiCC,WAAjC,KAAiD,OAAI,CAACzB,iBAAL,CAAuBjhB,KAAvB,CAA6B,CAA7B,CAAjD,GAAmF,UAA9G;;AACA,uBAAI,CAAC4I,iBAAL,GAAyB,IAAzB,CARwB,CASxB;AACA;AACA;;AACA9T,uBAAO,CAACC,GAAR,CAAY,MAAZ;;AACA,oBAAI4tB,eAAe,GAAG,OAAI,CAAClb,QAAL,CAAc8a,SAAd,CAAwB,UAACC,GAAD,EAAO;AACnD,yBAAOA,GAAG,CAAC1rB,GAAJ,IAAW,OAAI,CAACoqB,YAAvB;AACD,iBAFqB,CAAtB;;AAGA,uBAAI,CAACzZ,QAAL,CAAcf,MAAd,CAAqBic,eAArB,EAAqC,CAArC;AACD,eAjBD,MAiBK;AACH,uBAAI,CAAC/uB,aAAL,CAAmBc,KAAnB,CAAyB0H,GAAG,CAACI,OAA7B;AACD;AACF,aArBD,EAsBC,UAAC9H,KAAD,EAAU;AACT,qBAAI,CAACwG,QAAL,CAAc6B,IAAd;;AACA,qBAAI,CAACnJ,aAAL,CAAmBc,KAAnB,CAAyBA,KAAK,CAACA,KAAN,CAAY8H,OAArC;AACD,aAzBD;AA2BD;;;iBAID,0BAAc;AAAA;;;;AACZ,iBAAKqS,eAAL,GAAuB,IAAvB,CADY,CAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,gBAAM2T,GAAG,GAAGrhB,QAAQ,CAACqS,aAAT,CAAoC,UAApC,CAAZ;AACAgP,eAAG,CAAC3P,KAAJ,CAAU+P,SAAV,GAAqB,EAArB;AACAJ,eAAG,CAAC3P,KAAJ,CAAU0M,MAAV,GAAmB,EAAnB;AACApe,oBAAQ,CAACC,cAAT,CAAwB,MAAxB,EAAgC2R,SAAhC,CAA0CC,MAA1C,CAAiD,kBAAjD;AACA,+CAAC,CAAC,2BAAD,CAAD,CAA+BjW,IAA/B;AACA,gBAAIY,IAAI,GAAG,uBAAKkQ,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE3R,KAArB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEyB,IAA5B,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAEgC,OAAF,CAAU,QAAV,EAAoB,EAApB,CAA3C;AAEA,gBAAIkjB,YAAY,GAAG,CAAnB;;AA5BY,uCA6BDxN,CA7BC;AA8BR,kBAAI6K,IAAI,GAAG,OAAI,CAACzR,iBAAL,CAAuB4G,CAAvB,CAAX,CA9BQ,CA+BR;;AACE,kBAAI6K,IAAI,CAAC7jB,IAAL,IAAa,OAAjB,EAA0B;AACxB,oBAAI+jB,EAAE,GAAG,IAAIC,QAAJ,EAAT,CADwB,CAExB;;AACA,oBAAIyC,SAAS,GAAG,IAAIC,IAAJ,CAAS,CAAC,OAAI,CAACC,aAAL,CAAmB9C,IAAI,CAAC7C,OAAxB,CAAD,CAAT,EAA6C,eAA7C,EAA8D;AAAEhhB,sBAAI,EAAE;AAAR,iBAA9D,CAAhB;AAEA+jB,kBAAE,CAACE,MAAH,CAAU,MAAV,EAAkBwC,SAAlB,EALwB,CAOxB;AACE;AACA;;AAEE,uBAAI,CAAC5lB,OAAL,CAAa+lB,WAAb,CAAyB7C,EAAzB,EAA6B3sB,SAA7B,CAAuC,UAAC2I,GAAD,EAAc;AACnDtH,yBAAO,CAACC,GAAR,CAAY,gBAAZ;;AACA,yBAAI,CAAC6Z,oBAAL,CAA0BhI,IAA1B,CAA+B;AAAEyW,2BAAO,EAAEjhB,GAAG,CAACgC,IAAJ,CAASif,OAApB;AAA6Bzd,uBAAG,EAAExD,GAAG,CAACgC,IAAJ,CAASwB,GAA3C;AAAgD,4BAAQ,OAAxD;AAAiEsjB,8BAAU,EAAEhD,IAAI,CAACgD,UAAlF;AAA8FC,+BAAW,EAAEjD,IAAI,CAACiD,WAAhH;AAA4HrR,+BAAW,EAAE,OAAI,CAACf,cAAL,IAAuB,IAAE,CAAzB,GAA6B,CAA7B,GAAkC,OAAI,CAACA,cAAL,IAAuB,IAAE,CAAzB,GAA6B,CAA7B,GAAkC,OAAI,CAACA,cAAL,IAAuB,KAAG,CAA1B,GAA8B,CAA9B,GAAkC;AAA/O,mBAA/B;;AACA,yBAAI,CAAClN,QAAL,GAAgBC,IAAI,CAACsf,KAAL,CAAW,OAAO/N,CAAC,GAAC,CAAT,IAAY,OAAI,CAAC5G,iBAAL,CAAuB9P,MAA9C,CAAhB;AACA7J,yBAAO,CAACC,GAAR,CAAY,OAAI,CAAC8O,QAAjB;AACAgf,8BAAY;;AACZ,sBAAGA,YAAY,IAAI,OAAI,CAACpU,iBAAL,CAAuB9P,MAA1C,EAAiD;AAC/C,2BAAI,CAAC0kB,aAAL;AACD,mBARkD,CASnD;AACA;AACA;AACA;AACA;;AACD,iBAdD,EAXoB,CA0BtB;AACF;;AACD,eA5BD,MA6BK,IAAInD,IAAI,CAAC7jB,IAAL,IAAa,OAAjB,EAA0B;AAC7BvH,uBAAO,CAACC,GAAR,CAAYmrB,IAAZ;AACA,oBAAIoD,GAAG,GAAG,IAAIjD,QAAJ,EAAV;AACAiD,mBAAG,CAAChD,MAAJ,CAAW,MAAX,EAAmBJ,IAAI,CAACA,IAAxB,EAH6B,CAI7B;AACA;AACA;AACE;AACA;AACA;AACA;AACA;AACA;;AACA,uBAAI,CAAChjB,OAAL,CAAa+lB,WAAb,CAAyBK,GAAzB,EAA8B7vB,SAA9B,CAAwC,UAAO2I,GAAP;AAAA,yBAAoB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAC1DtH,mCAAO,CAACC,GAAR,CAAY,cAAZ,EAA4BqH,GAA5B;;AAD0D,kCAEtDA,GAAG,CAACC,IAAJ,IAAY,SAF0C;AAAA;AAAA;AAAA;;AAMlDknB,2CANkD,GAMhCC,GAAG,CAACC,eAAJ,CAAoBvD,IAAI,CAACA,IAAzB,CANgC;AAAA;AAOvC,mCAAM,KAAKwD,oBAAL,CAA0BH,eAA1B,CAAN;;AAPuC;AAOlDI,oCAPkD;AASpDC,iCAToD,GAS5CD,QAAQ,CAAC5F,KAAT,CAAe,GAAf,CAT4C;AAUpD/D,uCAVoD,GAUtC4J,KAAK,CAAC,CAAD,CAAL,CAAS7F,KAAT,CAAe,GAAf,EAAoB,CAApB,CAVsC;AAWpD8F,oCAXoD,GAWzCD,KAAK,CAAC,CAAD,CAAL,CAAS7F,KAAT,CAAe,GAAf,EAAoB,CAApB,CAXyC,EAaxD;;AACI+F,iCAdoD,GAc5C,KAAKC,YAAL,CAAkBF,QAAlB,EAA4B7J,WAA5B,CAd4C;AAepDgK,+BAfoD,GAe9C,IAAI3D,QAAJ,EAf8C;AAiBpD4D,iCAjBoD,GAiB5C,IAAIlB,IAAJ,CAAS,CAACe,KAAD,CAAT,EAAkB,gBAAlB,CAjB4C;AAkBxDE,+BAAG,CAAC1D,MAAJ,CAAW,MAAX,EAAmB2D,KAAnB;AAIA,iCAAK/mB,OAAL,CAAa+lB,WAAb,CAAyBe,GAAzB,EAA8BvwB,SAA9B,CAAwC,UAACywB,IAAD,EAAe;AACrDpvB,qCAAO,CAACC,GAAR,CAAYmvB,IAAZ,EADqD,CAErD;AACA;;AACA,qCAAI,CAACtV,oBAAL,CAA0BhI,IAA1B,CAA+B;AAAEyW,uCAAO,EAAEjhB,GAAG,CAACgC,IAAJ,CAASif,OAApB;AAA6Bzd,mCAAG,EAAExD,GAAG,CAACgC,IAAJ,CAASwB,GAA3C;AAAgD,wCAAQ,OAAxD;AAAiEukB,yCAAS,EAAED,IAAI,CAAC9lB,IAAL,CAAUif,OAAtF;AAA8F6F,0CAAU,EAAE,OAAI,CAACnS,cAAL,IAAuB,IAAE,CAAzB,GAA6B,GAA7B,GAAoC,OAAI,CAACA,cAAL,IAAuB,IAAE,CAAzB,GAA8B,GAA9B,GAAoC,OAAI,CAACA,cAAL,IAAuB,KAAG,CAA1B,GAA8B,IAA9B,GAAqC,GAAvN;AAA6NoS,2CAAW,EAAE,OAAI,CAACpS,cAAL,IAAuB,IAAE,CAAzB,GAA6B,GAA7B,GAAoC,OAAI,CAACA,cAAL,IAAuB,IAAE,CAAzB,GAA6B,GAA7B,GAAoC,OAAI,CAACA,cAAL,IAAuB,KAAG,CAA1B,GAA8B,IAA9B,GAAqC,GAAvV;AAA6Ve,2CAAW,EAAE,OAAI,CAACf,cAAL,IAAuB,IAAE,CAAzB,GAA6B,CAA7B,GAAkC,OAAI,CAACA,cAAL,IAAuB,IAAE,CAAzB,GAA6B,CAA7B,GAAkC,OAAI,CAACA,cAAL,IAAuB,KAAG,CAA1B,GAA8B,CAA9B,GAAkC;AAAhd,+BAA/B;;AACA,qCAAI,CAAClN,QAAL,GAAgBC,IAAI,CAACsf,KAAL,CAAW,OAAO/N,CAAC,GAAC,CAAT,IAAY,OAAI,CAAC5G,iBAAL,CAAuB9P,MAA9C,CAAhB;AACAkkB,0CAAY;;AACZ,kCAAGA,YAAY,IAAI,OAAI,CAACpU,iBAAL,CAAuB9P,MAA1C,EAAiD;AAC/C,uCAAI,CAAC0kB,aAAL;AACD,+BAToD,CAUrD;AACA;AACA;AACA;;AACD,6BAdD,EAtBwD,CAyCxD;;AAzCwD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAApB;AAAA,iBAAxC,EAb2B,CA0D7B;AACA;AACA;;AACD,eA1HK,CA2HR;AACA;AACA;AACA;AACA;AACA;;AAhIQ;;AA6BV,iBAAK,IAAIhO,CAAC,GAAG,CAAb,EAAeA,CAAC,GAAC,KAAK5G,iBAAL,CAAuB9P,MAAxC,EAA+C0W,CAAC,EAAhD,EAAoD;AAAA,oBAA3CA,CAA2C;AAoGnD;;AAED,gBAAG,KAAK5G,iBAAL,CAAuB9P,MAAvB,IAAiC,CAApC,EAAsC;AACpC,mBAAK0kB,aAAL;AACD,aArIS,CAuId;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACD;;;iBAED,yBAAa;AAAA;;;;AAEX,gBAAI1lB,IAAI,GAAG,uBAAKkQ,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE3R,KAArB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEyB,IAA5B,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAEgC,OAAF,CAAU,QAAV,EAAoB,EAA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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nimport { AuthService } from '../auth/services/auth.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n authService;\n router;\n constructor(authService: AuthService, router: Router) {\n this.authService = authService;\n this.router = router;\n }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ) {\n const currentUser = this.authService.currentUserValue;\n if (currentUser) {\n return true;\n };\n\n this.authService.logout().subscribe();\n\n // not logged in so redirect to login page \n this.router.navigate(['auth', 'login']);\n return false;\n }\n}","import { Injectable, OnInit } from \"@angular/core\";\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse } from '@angular/common/http';\nimport { AuthService } from '../auth/services/auth.service';\nimport { Observable } from 'rxjs';\nimport { Router } from \"@angular/router\";\nimport { tap } from 'rxjs/operators';\nimport { ToastrService } from \"ngx-toastr\";\n\n\n\n@Injectable()\n\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(\n private authService: AuthService,\n private router: Router,\n private toastrService: ToastrService\n\n ) { }\n\n currentUser:any;\n\n\n ngOnInit(): void {\n this.currentUser = this.authService.currentUserValue;\n }\n\n \n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n const currentUser = this.authService.currentUserValue;\n const basicAuthCredsBase64 = this.authService.basicAuthCredsBase64;\n if(currentUser){\n request = request.clone({\n setHeaders: {\n 'Authorization': currentUser.token\n //accessToken:\"Bearer \"+currentUser.token\n }\n })\n }\n\n // request = request.clone({ headers: request.headers.append('Authorization', \"Basic \"+basicAuthCredsBase64) });\n\n return next.handle(request).pipe(\n tap(\n event => {\n if (event instanceof HttpResponse) {\n if (event.body.status == 401) {\n if(event.body.error.errorCode == 44){\n this.router.navigate(['/auth/login']);\n this.toastrService.error(\"Session expired please re-login again\");\n }else{\n this.router.navigate(['/auth/login']);\n this.toastrService.error('Invalid email or password');\n }\n }\n }\n },\n error => {\n if (error.status == 503) {\n if (error.error.errorCode == 101 || error.error.errorCode == 102 || error.error.errorCode == 104) {\n if (error.error.errorCode == 101) {\n this.router.navigate(['/auth/login']);\n this.toastrService.error('You are already logged in with different device');\n }\n this.toastrService.error('You are already logged in with different device');\n this.router.navigate(['/auth/login']);\n \n }\n\n } \n if(error.status == 0 && error.statusText.includes('Unknown Error')){\n console.log(\"Server Unreachable i\");\n this.toastrService.error(\"Something went wrong\");\n }\n // else if (error.status == 403) {\n // this.toastrService.error(error.error.message);\n // this.router.navigate(['/auth/login']);\n // } \n \n // else if (error.status == 500) {\n // this.toastrService.error(error.error.message);\n // } \n // else{\n // this.router.navigate(['/auth/login']);\n // }\n // else {\n // this.toastrService.error('You are already logged in with different device');\n // this.router.navigate(['/auth/login']);\n // }\n }\n )\n );\n }\n}","export const error = {\n err: 'Something went wrong'\n}","import { NgModule } from \"@angular/core\";\nimport { Routes, RouterModule } from \"@angular/router\";\nimport { LoginComponent } from \"./auth/components/login/login.component\";\nimport { EditProfileComponent } from \"./edit-profile/edit-profile.component\";\nimport { ViewsComponent } from \"./views/views.component\";\nimport { AuthGuard } from \"./_helpers/auth.guard.service\";\n\nconst routes: Routes = [\n {\n path: \"auth\",\n loadChildren: () => import(\"./auth/auth.module\").then((m) => m.AuthModule),\n },\n\n { path: \"\", redirectTo: \"auth\", pathMatch: \"full\" },\n {\n path: \"edit-profile\",\n component: EditProfileComponent,\n },\n {\n path: \"\",\n component: ViewsComponent,\n canActivate: [AuthGuard],\n children: [\n { path: \"change-password\", component: EditProfileComponent },\n\n {\n path: \"user\",\n loadChildren: () =>\n import(\"./dashboard/dashboard.module\").then((m) => m.DashboardModule),\n },\n\n\n\n {\n path: \"analytics-dashboard\",\n loadChildren: () =>\n import(\"../app/dashboard/dashboard.module\").then(\n (m) => m.DashboardModule\n )\n },\n\n {\n path: \"home\",\n loadChildren: () =>\n import(\"./views/home/home.module\").then(\n (m) => m.HomeModule\n ),\n },\n\n {\n path: \"notifications\",\n loadChildren: () =>\n import(\"./views/notifications/notifications.module\").then(\n (m) => m.NotificationsModule\n ),\n },\n\n {\n path: \"settings\",\n loadChildren: () =>\n import(\"./views/settings/settings.module\").then(\n (m) => m.SettingsModule\n ),\n },\n\n {\n path: \"profile\",\n loadChildren: () =>\n import(\"./views/profile/profile.module\").then(\n (m) => m.ProfileModule\n ),\n },\n\n {\n path: \"messages\",\n loadChildren: () =>\n import(\"./views/messages/messages.module\").then(\n (m) => m.MessagesModule\n ),\n },\n\n\n {\n path: \"register\",\n loadChildren: () =>\n import(\"./views/registration-part/registration-part.module\").then(\n (m) => m.RegistrationPartModule\n ),\n },\n\n {\n path: \"search-result\",\n loadChildren: () =>\n import(\"./views/search-result/search-result.module\").then(\n (m) => m.SearchResultModule\n ),\n },\n\n {\n path: \"view-profile\",\n loadChildren: () =>\n import(\"./views/view-profile/view-profile.module\").then(\n (m) => m.ViewProfileModule\n ),\n },\n\n ],\n },\n // { path: '**', redirectTo: '', pathMatch: 'full' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: \"legacy\" })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Component } from '@angular/core';\nimport { ConnectionService } from 'ng-connection-service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from './auth/services/auth.service';\nimport { OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'Riyadh-Seasons-admin';\n status = 'ONLINE';\n isConnected = true;\n\n currentUser:any;\n\n ngOnInit(): void {\n this.currentUser = this.authService.currentUserValue;\n }\n constructor(\n private connectionService: ConnectionService,\n private toastrService: ToastrService,\n private authService: AuthService\n ) {\n this.connectionService.monitor().subscribe(isConnected => {\n this.isConnected = isConnected;\n if (this.isConnected) {\n this.status = \"ONLINE\";\n }\n else {\n this.status = \"OFFLINE\";\n this.authService.logout(this.currentUser._id);\n this.toastrService.error('Connection Lost');\n }\n })\n }\n}\n","
\n \n \n
","export class AnalyticsEvents {\n public static SCREEN_VISITED = 'Screen_Visited';\n public static LOGIN = 'log_in';\n public static LOGOUT = 'log_out';\n public static DELETE_ACCOUNT = 'delete_account'; // NOT USING CURRENTLY\n}\n\n// Screen Visited Constants\n// SV -> Screen Visited\nexport class SVConstants {\n\n public static home = \"Home Screen\";\n\n public static messages = \"Messages Screen\";\n\n public static notifications = \"Notifications Screen\";\n\n public static profile = \"Profile Screen\";\n\n public static settings = \"Settings Screen\";\n\n // public static comments = \"Comments Screen\";\n\n // public static likes = \"Likes Screen\";\n\n // public static suggestions = \"Suggestions Screen\";\n\n // public static search = \"Search Screen\";\n\n // public static createPost = \"CreatePost Screen\";\n\n // public static createShow = \"CreateShow Screen\";\n\n // public static chat = \"Chat Screen\";\n\n // public static newMessages = \"NewMessages Screen\";\n \n // public static othersProfile = \"OthersProfile Screen\";\n\n // public static editProfile = \"EditProfile Screen\";\n\n // public static spotify = \"SpotifyList Screen\";\n\n // public static youtube = \"YoutubeList Screen\";\n\n // public static bandcamp = \"BandcampList Screen\";\n\n // public static soundcloud = \"SoundCloudList Screen\";\n\n // public static spotifyPlayer = \"SpotifyPlayer Screen\";\n\n // public static bandcampPlayer = \"BandcampPlayer Screen\";\n\n // public static soundcloudPlayer = \"SoundCloudPlayer Screen\"; \n\n}","import { BrowserModule } from \"@angular/platform-browser\";\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\n\nimport { ImageCropperModule } from \"ngx-image-cropper\";\nimport { CommonModule } from \"@angular/common\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\nimport { ToastrModule } from \"ngx-toastr\";\nimport { NgHttpLoaderModule } from \"ng-http-loader\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { ModalModule } from \"ngx-bootstrap/modal\";\nimport { CustomFormsModule } from \"ng2-validation\";\n\nimport { NgxSliderModule } from \"@angular-slider/ngx-slider\";\n\nimport { AppRoutingModule } from \"./app-routing.module\";\nimport { AuthModule } from \"./auth/auth.module\";\nimport { SharedModule } from \"./shared/shared.module\";\n\nimport { AppComponent } from \"./app.component\";\nimport { AuthInterceptor } from \"./_helpers/auth.interceptor\";\nimport { AuthService } from \"./auth/services/auth.service\";\nimport { SharedService } from \"./shared/services/shared.service\";\nimport { ViewsComponent } from \"./views/views.component\";\nimport { AuthGuard } from \"./_helpers/auth.guard.service\";\nimport { EditProfileComponent } from \"./edit-profile/edit-profile.component\";\nimport { SessionService } from \"./shared/services/session.service\";\nimport { SocketIoModule, SocketIoConfig } from \"ngx-socket-io\";\nimport { environment } from \"src/environments/environment\";\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { CKEditorModule } from \"@ckeditor/ckeditor5-angular\";\n\nconst config: SocketIoConfig = {\n\turl: environment.BaseChatUrl, // socket server url;\n\toptions: {\n\t\ttransports: ['websocket']\n\t}\n}\n\nimport { DashboardService } from \"./dashboard/services/dashboard.service\";\nimport { SafeHtmlPipe } from \"./shared/pipes/safe-html.pipe\";\nimport { HomeService } from \"./views/home/home.service\";\nimport { NotificationsService } from \"./views/notifications/notifications.service\";\nimport { RegistrationPartService } from \"./views/registration-part/services/registration.service\";\nimport { ProfileService } from \"./views/profile/profile.service\";\nimport { UrlService } from \"./views/registration-part/services/url.service\";\nimport { MessagesService } from \"./views/messages/messages.service\";\nimport { SearchResultService } from \"./views/search-result/search-result.service\";\nimport { ViewProfileService } from \"./views/view-profile/view-profile.service\";\nimport { SettingsService } from \"./views/settings/settings.service\";\nimport { CarouselModule } from 'ngx-owl-carousel-o';\n// import { AngularFireModule } from '@angular/fire/compat';\n// import { FirestoreModule } from '@angular/fire/firestore';\n// import { AngularFireAnalyticsModule } from '@angular/fire/analytics';\n// import { AngularFireAnalyticsModule } from '@angular/fire/analytics';\n// import { fi } from '@angular/fire';\n// import { AnalyticsModule } from '@angular/fire/analytics';\nimport { AngularFireModule } from '@angular/fire';\nimport { AngularFireAnalyticsModule } from '@angular/fire/analytics';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n\n@NgModule({\n declarations: [\n AppComponent,\n ViewsComponent,\n EditProfileComponent,\n // SubZoneCoordinatesComponent,\n // ZoneCoordinatesComponent\n ],\n imports: [\n CommonModule,\n CarouselModule,\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n AuthModule,\n SharedModule,\n ImageCropperModule,\n HttpClientModule,\n NgHttpLoaderModule.forRoot(),\n ToastrModule.forRoot({\n preventDuplicates: true,\n }),\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n ModalModule.forRoot(),\n CustomFormsModule,\n NgxSliderModule,\n // SocketIoModule.forRoot(config),\n NgxIntlTelInputModule,\n MatSelectModule,\n AngularFireModule.initializeApp(environment.firebase),\n AngularFireAnalyticsModule,\n // FirestoreModule\n // AnalyticsModule\n MatProgressBarModule\n ],\n providers: [\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n AuthGuard,\n AuthService,\n SharedService,\n DashboardService,\n SessionService,\n HomeService,\n NotificationsService,\n RegistrationPartService,\n ProfileService,\n UrlService,\n MessagesService,\n SearchResultService,\n ViewProfileService,\n SettingsService\n ],\n bootstrap: [AppComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA ],\n})\nexport class AppModule {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { SignupComponent } from './components/signup/signup.component';\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\nimport { EmailSendComponent } from './components/email-send/email-send.component';\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\nimport { TermConditionComponent } from './components/term-condition/term-condition.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\nimport { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';\nimport { SplashScreenComponent } from './components/splash-screen/splash-screen.component';\n\n\nconst routes: Routes = [\n { path: 'login', component: LoginComponent },\n { path: 'signup', component: SignupComponent },\n { path: 'forgot-password', component: ForgotPasswordComponent },\n { path: 'email-send', component: EmailSendComponent },\n { path: '', redirectTo: 'welcome', pathMatch: 'full' },\n { path: 'reset-password', component: ResetPasswordComponent},\n { path: 'terms-and-conditions', component: TermConditionComponent },\n { path: 'privacy-policy', component: PrivacyPolicyComponent },\n { path: 'welcome', component: SplashScreenComponent}\n];\n\n\n\n@NgModule({\n declarations: [\n LoginComponent,\n SignupComponent,\n ForgotPasswordComponent,\n EmailSendComponent,\n ResetPasswordComponent,\n TermConditionComponent,\n PrivacyPolicyComponent,\n SplashScreenComponent,\n ],\n imports: [\n MatIconModule,\n MatFormFieldModule,\n CommonModule,\n SharedModule,\n FormsModule,\n CarouselModule,\n AlertModule,\n ReactiveFormsModule,\n ModalModule.forRoot(),\n RouterModule.forChild(routes),\n MatInputModule,\n MatChipsModule\n ],\n exports:[\n TermConditionComponent,\n PrivacyPolicyComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class AuthModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-email-send',\n templateUrl: './email-send.component.html',\n styleUrls: ['./email-send.component.scss']\n})\nexport class EmailSendComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\"logo\"
\n
\n
\n
\n

Email has Been Sent

\n

Please check your inbox. We have sent you a new password to your email address.\n

\n
\n \n
Didn’t receive password? Resend
\n
\n
\n
\n
\n
\n
\n
","
\n
\n \n
\n \n\n
\n
\n
\n
\n \"logo\"\n
\n

Reset Your Password

\n

Enter the email address associated
with your account

\n
\n
\n \n \n \n
\n \n Email is required.\n \n \n Invalid email.\n \n
\n
\n \n
\n
Back to Log in
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n \n
\n
\n \"\"\n \n \n

password has been sent to
your email

\n
\n \n \n \n
\n
\n
\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { ThrowStmt } from '@angular/compiler';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n\n submitted: boolean = false;\n modalRef: BsModalRef;\n\n\n\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n private authService: AuthService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService\n ) { }\n\n emailreg = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n resetForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email,Validators.pattern(this.emailreg)])\n })\n\n ngOnInit(): void {\n }\n\n get f() {\n return this.resetForm.controls;\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n sendEmailToLogin:any;\n\n resetPassword() {\n this.submitted = true;\n if (this.resetForm.invalid || this.resetForm.pristine) return;\n this.submitted = false;\n this.authService.forgetPassword({email:this.resetForm.value.email.toLowerCase()})\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.sendEmailToLogin = this.resetForm.value.email;\n // this.openModal(this.template);\n this.toastr.success(res.message);\n this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n this.authService.SendToChild1(this.sendEmailToLogin);\n localStorage.setItem('receiveEmail', JSON.stringify(this.sendEmailToLogin));\n this.router.navigateByUrl('/auth/reset-password');\n\n }\n },(error: any) => {\n this.toastr.error(error.error.message);\n })\n // this.authService.emailValidation({email:this.resetForm.value.email.toLowerCase(), userType:1})\n // .subscribe((res:any) => {\n // if(res.status == 404){\n // this.toastr.error(res.error);\n // }\n\n // if(res.status == 200){\n // this.authService.forgetPassword({email:this.resetForm.value.email.toLowerCase(), userType:1})\n // .subscribe((res: any) => {\n // if (res.status == 200) {\n // this.sendEmailToLogin = this.resetForm.value.email;\n // this.openModal(this.template);\n // this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n // this.authService.SendToChild1(this.sendEmailToLogin);\n // localStorage.setItem('receiveEmail', JSON.stringify(this.sendEmailToLogin));\n // }\n // })\n // }\n // },\n // (err) => {\n // console.log(err);\n // this.toastr.error('email not registered');\n // })\n }\n\n OkPress(){\n this.modalRef.hide();\n // this.authService.SendToChild1(this.resetForm.value.email);\n // this.authService.SendToChild1(this.sendEmailToLogin);\n this.router.navigateByUrl('/auth/reset-password');\n \n }\n\n}\n","
\n
\n
\n
\n
\n \n
\n \n \n \"image\n
\n

Your Indie Music
Community

\n \n

Connect and Share with
Independent Artists Everywhere.

\n
\n
\n
\n \n
\n
\n
\n
\n
\n \"\"\n

Log In

\n
\n
\n

Welcome Back!

\n

Log in in to your account

\n
\n
\n
\n
\n \"\"\n
\n

Log In

\n
\n \n
\n
\n \n \n \n
\n \n \n *Please enter valid Email Address\n \n\n \n
\n
\n \n *Email Required\n \n
\n
\n
\n \n \n \n
\n \n *Password is required.\n \n \n *Please enter correct password\n \n
\n
\n\n Forgot Password?\n
\n\n
\n \n
\n
\n\n
\n

Don't have an account? Sign up

\n
\n
\n \"\"\n \"\"\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n \n
\n
\n \n \n

You are blocked. Contact admin at
info@indietown.org.

\n
\n
","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { error } from 'src/app/_helpers/error';\nimport { User } from '../../models/user.model';\nimport { AuthService } from '../../services/auth.service';\nimport { FormBuilder } from '@angular/forms';\nimport { BsModalService } from \"ngx-bootstrap/modal\";\nimport { SharedService } from 'src/app/shared/services/shared.service';\nimport { AngularFireAnalytics } from '@angular/fire/analytics';\nimport { AnalyticsEvents, SVConstants } from 'src/app/app.constants';\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent implements OnInit {\n submitted: boolean = false;\n error = error.err;\n loginForm:FormGroup;\n isMobile: boolean = false;\n // ***********************\n hide = true;\n hide1 = true;\n hide2 = true;\n // *********************\n\n userType: any = 1;\n\n check: number = 1;\n // Slider\n slides = [\n // {image: '../../../../assets/sliders/indieslider1.jpg', text: 'First'},\n // // {image: '../../../../assets/sliders/indieslider2.jpg',text: 'Second'},\n // {image: '../../../../assets/sliders/indieslider4.png',text: 'Second', id:'indielastimg'},\n\n // {image: '../../../../assets/sliders/indieslider3.jpg',text: 'Third', id:'indielastimg'}\n\n\n // {image: '../../../../assets/sliders/Slider-01.jpg', text: 'First'},\n // {image: '../../../../assets/sliders/Slider-02.jpg',text: 'Second', id:'indielastimg'},\n // {image: '../../../../assets/sliders/Slider-03.jpg',text: 'Third', id:'indielastimg'}\n\n {image: '../../../../assets/sliders/indieslider1.jpg', text: 'First'},\n {image: '../../../../assets/sliders/Slider-03.jpg',text: 'Second', id:'indielastimg'},\n {image: '../../../../assets/sliders/Slider-01.jpg',text: 'Third', id:'indielastimg'}\n ];\n noWrapSlides = false;\n showIndicator = true;\n modalRef: any;\n profileDetails:any;\n\n constructor(\n private authService: AuthService,\n private router: Router,\n private toastr: ToastrService,\n private fb: FormBuilder,\n private modalService: BsModalService,\n private service: SharedService,\n private analytics: AngularFireAnalytics\n ) { \n if (screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n @ViewChild(\"template\") template : TemplateRef;\n\n\n\n receiveEmail:any;\n\n ngOnInit() {\n this.initForm();\n // let a = localStorage.getItem('receiveEmail');\n // let b = a?.slice(1, a.length-1);\n // this.loginForm.get(\"email\").patchValue(b); \n // localStorage.removeItem('receiveEmail'); \n let currentUser = this.authService.currentUserValue;\n if(currentUser){\n // this.router.navigateByUrl('/home');\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n console.log(\"profile Details\",this.profileDetails);\n if(res.data.invitationCode==null){\n this.router.navigateByUrl('/register'); \n } else if(!this.profileDetails?.role){\n this.router.navigateByUrl('/register/select-role'); \n }\n else{\n if(localStorage.getItem('screensCompleted')){\n if(localStorage.getItem('screensCompleted') == 'playlist' || localStorage.getItem('screensCompleted') == 'all' || localStorage.getItem('screensCompleted') == 'gener'){\n this.router.navigateByUrl('/home');\n }\n else{\n this.router.navigateByUrl('/register/'+localStorage.getItem('screensCompleted'));\n }\n }\n else if(res.data.bandName && res.data.location?.coordinates?.length){\n if(res.data.role == 'Artist'){\n if(res.data.genereIds?.length){\n this.router.navigateByUrl('/home');\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else if(res.data.role == 'Community'){\n if(res.data.communityIds?.length){\n this.router.navigateByUrl('/home');\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else{\n // if(this.profileDetails?.role == 'Community'){\n // this.router.navigateByUrl('/register/what-you-do');\n // }\n // else{\n this.router.navigateByUrl('/register/select-role');\n // }\n \n }\n \n }\n\n // localStorage.removeItem('receiveEmail');\n }\n });\n // if(localStorage.getItem('screensCompleted')){\n // if(localStorage.getItem('screensCompleted') == 'playlist'){\n // this.router.navigateByUrl('/home');\n // }\n // else{\n // this.router.navigateByUrl('/register/'+localStorage.getItem('screensCompleted'));\n // }\n // }\n // else if(currentUser.bandName){\n // this.router.navigateByUrl('/home');\n // }\n // else{\n // if(this.profileDetails?.role == 'Community'){\n // this.router.navigateByUrl('/register/what-you-do');\n // }\n // else{\n // this.router.navigateByUrl('/register/select-role');\n // }\n // }\n }\n }\n\n get f() {\n return this.loginForm.controls;\n }\n\n emailreg = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n // passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*])[\\w !@#$%&*]/;\n passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-])[\\w !@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-]/;\n initForm(){\n this.loginForm = this.fb.group({\n email: new FormControl('', [Validators.required, Validators.email,Validators.pattern(this.emailreg)]),\n password: new FormControl('', [\n Validators.required,\n Validators.minLength(6)\n ]),\n });\n }\n\n onAdminSelection(event: any) {\n console.log('admin', event);\n if (event.target.checked == true) {\n this.userType = 1;\n this.check = 1;\n }\n }\n\n onSupportSelection(event: any) {\n if (event.target.checked == true) {\n this.userType = 5;\n this.check = 2;\n }\n }\n\n onZoneSelection(event: any) {\n if (event.target.checked == true) {\n this.userType = 6;\n this.check = 3;\n }\n }\n\n login() {\n this.submitted = true;\n if (this.loginForm.invalid || this.loginForm.pristine) return;\n this.submitted = false;\n let user: any = {\n email: this.loginForm.value.email.toLowerCase(),\n password: this.loginForm.value.password,\n };\n\n console.log(user);\n \n this.authService.login(user).subscribe(\n (res: any) => {\n if(res.type == 'success'){\n localStorage.setItem('currentUser', JSON.stringify(res.data));\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n console.log(\"profile Details\",this.profileDetails);\n if(res.data.invitationCode==null){\n this.router.navigateByUrl('/register'); \n }\n else if(!this.profileDetails?.role){\n this.router.navigateByUrl('/register/select-role'); \n }\n else{\n if(localStorage.getItem('screensCompleted')){\n if(localStorage.getItem('screensCompleted') == 'playlist'){\n this.router.navigateByUrl('/home');\n this.analytics.logEvent(AnalyticsEvents.LOGIN,{isSignedUp:false});\n }\n else{\n this.router.navigateByUrl('/register/'+localStorage.getItem('screensCompleted'));\n }\n }\n else if(res.data.bandName && res.data.location?.coordinates?.length){\n\n if(res.data.role == 'Artist'){\n if(res.data.genereIds?.length){\n this.router.navigateByUrl('/home');\n this.analytics.logEvent(AnalyticsEvents.LOGIN,{isSignedUp:false});\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else if(res.data.role == 'Community'){\n if(res.data.communityIds?.length){\n this.router.navigateByUrl('/home');\n this.analytics.logEvent(AnalyticsEvents.LOGIN,{isSignedUp:false});\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else\n this.router.navigateByUrl('/register/select-role');\n // debugger;\n // this.router.navigateByUrl('/home');\n // this.analytics.logEvent(AnalyticsEvents.LOGIN,{isSignedUp:false});\n }\n else{\n // if(this.profileDetails?.role == 'Community'){\n // this.router.navigateByUrl('/register/what-you-do');\n // }\n // else{\n this.router.navigateByUrl('/register/select-role');\n // }\n \n }\n \n }\n \n localStorage.removeItem('receiveEmail');\n }\n });\n // localStorage.setItem('password', JSON.stringify(this.loginForm.value.password));\n }\n else{\n this.toastr.error(res.msg);\n }\n },\n (err) => {\n if(err.error?.message?.message=='Please connect to admin as you are blocked.'){\n this.modalRef = this.modalService.show(this.template, {class: 'adminblockedpopup'});\n }else{\n if(err.error?.message?.isValidPassword=='false'){\n this.toastr.error('Wrong password. Please try again.');\n }\n\n\n if(err.error?.message?.isValidEmail == false){\n this.toastr.error(err.error.message.message);\n };\n // console.log(err.statusText);\n // if(err.statusText=='Forbidden'){\n // this.toastr.error('Password combination is not matching');\n // }else{\n if(err.error?.message?.message=='Wrong password. Please try again.'){\n this.toastr.error(err.error.message.message); \n }\n\n if(err.error?.message=='Request Validation failed'){\n this.toastr.error(\"Wrong password. Please try again.\");\n }\n \n // }\n // console.log(err.error.message.isValidPassword=='false'){\n // this.toastr.error(err.error.message.message); \n // }\n // if(err.error.message == 'object'){\n // alert('object');\n // }\n // this.toastr.error(err.error.message.message);\n\n console.log(err);\n console.log(err.status);\n console.log(err.statusText);\n if(err.status == 0 && err.statusText.includes('Unknown Error')){\n console.log(\"Server Unreachable\");\n this.toastr.error(\"Something went wrong\");\n }\n }\n \n }\n );\n }\n\n openModal(template: TemplateRef){\n this.modalRef = this.modalService.show(template);\n }\n\n removeError(e){\n this.submitted = false;\n e.target.value = e.target.value.replace(/^\\s+/g, '');\n if(e.key=='Enter' && this.loginForm.valid){\n this.login();\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-privacy-policy',\n templateUrl: './privacy-policy.component.html',\n styleUrls: ['./privacy-policy.component.scss']\n})\nexport class PrivacyPolicyComponent implements OnInit {\n\n constructor(\n ) { }\n\n\n\n receiveEmail:any;\n\n ngOnInit() {\n\n }\n\n}\n","
\n
\n
\n
\n \"Arrow\"\n

Privacy Policy

\n
\n\n
\n

What is Lorem Ipsum?

\n

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\n

\n\n

Why do we use it?

\n

It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).\n\n

\n
\n
\n
\n
","
\n
\n \n
\n \n\n
\n
\n
\n \"\"\n

Check Your Mail

\n

A link to reset your password has been sent to your email.

\n \n
\n
Didn't receive the email? Resend
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n \n
\n
\n \"\"\n \n \n

Password sent to your
email address

\n
\n \n \n \n
\n
\n
\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.scss']\n})\nexport class ResetPasswordComponent implements OnInit {\n\n submitted: boolean = false;\n modalRef: BsModalRef;\n resendMail:any;\n\n\n\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n private authService: AuthService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService\n ) { }\n\n resetForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email])\n })\n\n ngOnInit(): void {\n this.resendMail = localStorage.getItem('receiveEmail');\n // this.resendMail = this.resendMail.splice(1);\n // alert(this.resendMail.length-1);\n this.resendMail = this.resendMail.slice(1,this.resendMail.length-1);\n\n }\n\n get f() {\n return this.resetForm.controls;\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n sendEmailToLogin:any;\n\n resetPassword() {\n this.submitted = true;\n if (this.resetForm.invalid || this.resetForm.pristine) return;\n this.submitted = false;\n\n this.authService.forgetPassword({email:this.resetForm.value.email.toLowerCase(), userType:1})\n .subscribe((res: any) => {\n if (res.status == 200) {\n this.sendEmailToLogin = this.resetForm.value.email;\n this.openModal(this.template);\n this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n this.authService.SendToChild1(this.sendEmailToLogin);\n localStorage.setItem('receiveEmail', JSON.stringify(this.sendEmailToLogin));\n }\n })\n // this.authService.emailValidation({email:this.resetForm.value.email.toLowerCase(), userType:1})\n // .subscribe((res:any) => {\n // if(res.status == 404){\n // this.toastr.error(res.error);\n // }\n\n // if(res.status == 200){\n // this.authService.forgetPassword({email:this.resetForm.value.email.toLowerCase(), userType:1})\n // .subscribe((res: any) => {\n // if (res.status == 200) {\n // this.sendEmailToLogin = this.resetForm.value.email;\n // this.openModal(this.template);\n // this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n // this.authService.SendToChild1(this.sendEmailToLogin);\n // localStorage.setItem('receiveEmail', JSON.stringify(this.sendEmailToLogin));\n // }\n // })\n // }\n // },\n // (err) => {\n // console.log(err);\n // this.toastr.error('email not registered');\n // })\n }\n\n OkPress(){\n this.modalRef.hide();\n // this.authService.SendToChild1(this.resetForm.value.email);\n // this.authService.SendToChild1(this.sendEmailToLogin);\n this.router.navigateByUrl('/login');\n }\n\n resendPassword(){\n this.authService.forgetPassword({email:this.resendMail.toLowerCase()})\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.sendEmailToLogin = this.resetForm.value.email;\n // this.openModal(this.template);\n this.toastr.success(res.message);\n this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n this.authService.SendToChild1(this.sendEmailToLogin);\n }\n },(error: any) => {\n this.toastr.error(error.error.message);\n })\n }\n\n}\n","
\n
\n
\n
\n
\n \n
\n \n \n \"image\n
\n

Your Indie Music
Community

\n \n

Connect and Share with
Independent Artists Everywhere.

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"\"\n
\n

Sign Up

\n\n
\n
\n
\n \n \n
\n \n *Email required\n \n
\n
\n \n *Enter a valid Email Address\n \n
\n \n
\n\n
\n \n \n \n \n \n \n \n\n\n
\n \n *New password is required.\n \n \n *Password must have at least 6 characters.\n \n \n
\n \n
\n
\n {{errorMessage}}\n
\n
\n\n
\n \n \n \n \n \n
\n \n *Confirm password is required.\n \n \n *Password must have at least 6 characters.\n \n
\n \n \n
\n
\n *Password doesn't match.\n
\n
\n\n \n
\n \n \n
\n
\n\n\n
\n
\n \n \n
\n
\n\n\n \n \n By continuing, you agree to Indie Town's Terms and Conditions &\n Privacy Policy\n \n
\n
\n \n\n
\n \n
\n
\n

Already have an account? Log in

\n

\n Need an invite? Request one at
invites@indietown.org\n

\n
\n\n
\n \"\"\n \"\"\n
\n
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { error } from 'src/app/_helpers/error';\nimport { User } from '../../models/user.model';\nimport { AuthService } from '../../services/auth.service';\nimport { FormBuilder } from '@angular/forms';\nimport { compileDeclareClassMetadata } from '@angular/compiler';\n\n@Component({\n selector: 'app-signup',\n templateUrl: './signup.component.html',\n styleUrls: ['./signup.component.scss']\n})\nexport class SignupComponent implements OnInit {\n\n submitted: boolean = false;\n error = error.err;\n loginForm:FormGroup;\n isMobile: boolean = false;\n // ***********************\n hide = true;\n hide1 = true;\n hide2 = true;\n // *********************\n// Slider\nslides = [\n // {image: '../../../../assets/sliders/indieslider1.jpg', text: 'First'},\n // // {image: '../../../../assets/sliders/indieslider2.jpg',text: 'Second'},\n // {image: '../../../../assets/sliders/indieslider4.png',text: 'Second', id:'indielastimg'},\n\n // {image: '../../../../assets/sliders/indieslider3.jpg',text: 'Third', id:'indielastimg'},\n // {image: '../../../../assets/sliders/Slider-01.jpg', text: 'First'},\n // {image: '../../../../assets/sliders/Slider-02.jpg',text: 'Second', id:'indielastimg'},\n // {image: '../../../../assets/sliders/Slider-03.jpg',text: 'Third', id:'indielastimg'},\n\n {image: '../../../../assets/sliders/indieslider1.jpg', text: 'First'},\n {image: '../../../../assets/sliders/Slider-03.jpg',text: 'Second', id:'indielastimg'},\n {image: '../../../../assets/sliders/Slider-01.jpg',text: 'Third', id:'indielastimg'}\n];\nnoWrapSlides = false;\nshowIndicator = true;\n userType: any = 1;\n\n check: number = 1;\n changed: boolean = false;\n passChangeMsg:boolean = false;\n emailFocusOut: boolean = false;\n\n constructor(\n private authService: AuthService,\n private router: Router,\n private toastr: ToastrService,\n private fb: FormBuilder\n ) {\n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n\n\n receiveEmail:any;\n\n ngOnInit() {\n this.initForm();\n // let a = localStorage.getItem('receiveEmail');\n // let b = a?.slice(1, a.length-1);\n // this.loginForm.get(\"email\").patchValue(b); \n // localStorage.removeItem('receiveEmail'); \nif(localStorage.getItem('mail') != null || localStorage.getItem('pass') != null || localStorage.getItem('confmPass')){\n this.signUpForm.get('email').patchValue(localStorage.getItem('mail'));\n this.signUpForm.get('password').patchValue(localStorage.getItem('pass'));\n this.signUpForm.get('confirmPassword').patchValue(localStorage.getItem('confmPass'));\n}\n \n\n \n let term = localStorage.getItem('term');\n if(term =='true'){\n this.signUpForm.get('term').patchValue(true);\n }\n\n localStorage.clear();\n \n }\n\n get f() {\n return this.loginForm.controls;\n }\n\n initForm(){\n this.loginForm = this.fb.group({\n email: new FormControl('', [Validators.required, Validators.email]),\n password: new FormControl('', [\n Validators.required,\n Validators.minLength(6),\n ]),\n });\n }\n\n get p() {\n return this.signUpForm.controls;\n }\n\n errorMessage:any;\n\n onAdminSelection(event: any) {\n console.log('admin', event);\n if (event.target.checked == true) {\n this.userType = 1;\n this.check = 1;\n }\n }\n\n\n passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-])[\\w !@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-]/;\n emailreg = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n\n // Validators.maxLength(10)\n // , Validators.maxLength(10)\n signUpForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email,Validators.pattern(this.emailreg)]),\n password: new FormControl('', [Validators.required, Validators.minLength(6)]),\n confirmPassword: new FormControl('', [Validators.required, Validators.minLength(6)]),\n term: new FormControl('',Validators.requiredTrue)\n\n // term: new FormControl('')\n })\n\n\n onSupportSelection(event: any) {\n if (event.target.checked == true) {\n this.userType = 5;\n this.check = 2;\n }\n }\n\n onZoneSelection(event: any) {\n if (event.target.checked == true) {\n this.userType = 6;\n this.check = 3;\n }\n }\n\n match: boolean = true;\n passwordValid:any;\n SignUp() {\n // routerLink=\"/auth/welcome\"\n if(this.signUpForm.value.password.match(this.passwordRegex)){\n this.passwordValid = true;\n }else{\n this.passwordValid = false;\n this.changed = true;\n // this.errorMessage = '*Please choose a stronger password. It should contain at least 6 Characters, maximum 10 Characters,1 Lowercase letter, 1 Uppercase letter, 1 Special character and 1 Number.'\n // this.errorMessage = 'Password must be between 6-10 characters and include one capital letter, one lowercase letter, one numerical letter and one special character';\n this.errorMessage = 'Password must be 6 characters and include one capital letter, one lowercase letter, one numerical letter, and one special character';\n return\n }\n\n this.changed = true;\n if(this.signUpForm.invalid) return;\n this.changed = false;\n\n this.changed = true;\n if (this.signUpForm.invalid) return;\n this.changed = false;\n let data = {\n email: this.signUpForm.value.email,\n password: this.signUpForm.value.password,\n };\n\n console.log(data);\n\n if(this.passwordValid==true){\n if (this.signUpForm.value.password == this.signUpForm.value.confirmPassword) {\n this.match = true;\n \n \n \n // // this.router.navigateByUrl('/registration');\n // this.router.navigateByUrl('/enter-code');\n // return;\n this.authService.signUpUser(data).subscribe((res: any) => {\n console.log('changepassword res', res);\n if (res.type == 'success') {\n localStorage.setItem('email', JSON.stringify(this.signUpForm.value.email));\n // this.signUpForm.controls['email'].reset();\n // this.signUpForm.controls['password'].reset();\n // this.signUpForm.controls['confirmPassword'].reset();\n this.passChangeMsg = true;\n console.log(res);\n this.removeLocalStorage();\n localStorage.setItem('currentUser', JSON.stringify(res.data));\n this.toastr.success(res.message);\n this.router.navigateByUrl('/register');\n } \n if(res.type == 'error') {\n this.toastr.error(res.message);\n this.router.navigateByUrl('/auth/signup');\n }\n \n },(err)=>{\n if(err.error.message=='Request Validation failed'){\n // this.errorMessage = \"Please choose stronger password. It should contain atleast 6 Characters , maximum 10 Characters ,1 Lowercase letter, 1 Uppercase letter, 1 Special character and 1 Number.\";\n this.toastr.error(\"Please choose stronger password. It should contain atleast 6 Characters , maximum 10 Characters ,1 Lowercase letter, 1 Uppercase letter, 1 Special character and 1 Number.\");\n }else{\n if(err.error?.message){\n this.toastr.error(err.error.message);\n }\n }\n \n });\n }\n\n\n\n }\n\n if(this.signUpForm.value.password != this.signUpForm.value.confirmPassword){\n this.match = false;\n this.errorMessage = '';\n }\n }\n\n onClickCheckbox(e:any){\n alert(e);\n }\n\n removeError(e){\n this.changed = false;\n this.errorMessage = '';\n this.match = true;\n\n e.target.value = e.target.value.replace(/^\\s+/g, '');\n\n var checkbox = (document.getElementById('checkbox'));\n if(e.key=='Enter' && this.signUpForm.valid && checkbox.checked == true){\n this.SignUp();\n }\n \n \n }\n\n\n createLocalStorage(){\n localStorage.setItem('mail',this.signUpForm.value.email);\n localStorage.setItem('pass',this.signUpForm.value.password);\n localStorage.setItem('confmPass',this.signUpForm.value.confirmPassword);\n localStorage.setItem('term',this.signUpForm.value.term);\n }\n\n removeLocalStorage(){\n localStorage.removeItem('mail');\n localStorage.removeItem('pass');\n localStorage.removeItem('confmPass');\n localStorage.removeItem('term');\n }\n\n termCondition(){\n this.createLocalStorage();\n this.router.navigateByUrl('/auth/terms-and-conditions');\n }\n\n onclickPrivacy(){\n this.createLocalStorage();\n this.router.navigateByUrl('/auth/privacy-policy');\n }\n\n CheckEnterPress(e:any){\n if (e.keyCode == 13) { \n e.preventDefault();\n return false;\n } \n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { error } from 'src/app/_helpers/error';\nimport { User } from '../../models/user.model';\nimport { AuthService } from '../../services/auth.service';\nimport { FormBuilder } from '@angular/forms';\nimport { CarouselConfig } from 'ngx-bootstrap/carousel';\nimport { Subscription, timer } from 'rxjs';\n\n@Component({\n selector: 'app-main',\n templateUrl: './splash-screen.component.html',\n styleUrls: ['./splash-screen.component.scss'],\n})\nexport class SplashScreenComponent implements OnInit {\n\n\n slides = [\n {image: '../../../../assets/sliders/indieslider1.svg', text: 'First'},\n {image: '../../../../assets/sliders/indieslider2.svg',text: 'Second'},\n {image: '../../../../assets/sliders/indieslider3.svg',text: 'Third'}\n ];\n noWrapSlides = false;\n showIndicator = false;\n constructor(\n private router: Router\n ) { }\n\n\n\n receiveEmail:any;\n counter!: Subscription;\n count:any=0;\n ngOnInit() {\n this.getTime();\n }\n\n getTime(){\n this.counter = timer(0,1000).subscribe((res)=> {\n let date = new Date();\n let second = date.getSeconds();\n this.count++;\n if(this.count==3){\n this.router.navigateByUrl('/auth/login');\n }\n })\n }\n\n}\n","
\n
\n \n \"\"\n \n \n
\n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-term-condition',\n templateUrl: './term-condition.component.html',\n styleUrls: ['./term-condition.component.scss']\n})\nexport class TermConditionComponent implements OnInit {\n\n constructor( ) { }\n\n ngOnInit() {\n }\n\n}\n","
\n
\n
\n
\n \"Arrow\"\n

Terms & Conditions

\n
\n\n
\n \n

Last Modified: August 23, 2023

\n
    \n
  • Acceptance of the Terms of Use\n
      \n
    • These website terms of use (these \"Terms of Use\")\n of the Indie App, Inc. website,\n [indietown.org] (the \"Website\") are entered into\n by Indie App, Inc. (the\n \"Company,\" \"We,\" or \"Us\") and by visitors to the Website (\"You\"). These Terms\n of Use, together with any documents they incorporate by reference, govern your\n access to and use of the Website, including any content, functionality, and services\n offered on or through the Website.\n
    • \n
    • \n Please read the Terms of Use carefully before You start to use the Website. By\n accessing or using the Website or by clicking to accept or agree to the Terms\n of Use when this option is made available to You, You accept and agree to be\n bound and abide by these Terms of Use and our Privacy Policy, found at\n indietown.org, incorporated herein by reference. If You do not want to agree\n to\n these Terms of Use or the Privacy Policy, You must not access or use the Website.\n
    • \n
    • \n This Website is only offered and available to users who are 13 years of age or\n older. By using this Website, You represent and warrant that You are of legal age\n to form a binding contract with the Company and meet all of the foregoing\n eligibility requirements.\n
    • \n
    \n
  • \n
  • \n Changes to the Terms of Use\n
      \n
    • \n We may revise and update these Terms of Use from time to time in our sole\n discretion. Your continued use of the Website following the posting of revised\n Terms of Use means that You accept and agree to the changes. You are expected\n to check this page from time to time so You are aware of any changes, as they are\n binding on You.\n
    • \n
    \n
  • \n
  • \n Accessing the Website and Account Security\n
      \n
    • \n We reserve the right to withdraw or amend this Website, and any service or\n material We provide on the Website, in our sole discretion without notice. We will\n not be liable if for any reason all or any part of the Website is unavailable at any\n time or for any period. From time to time, We may restrict access to some parts of\n the Website, or the entire Website.\n
    • \n
    • \n To access the Website or some of the resources it offers, You may be asked to\n provide certain registration details or other information. It is a condition of your\n use of the Website that all the information You provide on the Website is correct,\n current, and complete. You agree that all information You provide to register with\n this Website or otherwise, including, but not limited to, through the use of any\n interactive features on the Website, is governed by our Privacy Policy at\n indietown.org, and You consent to all actions We take with respect to your\n information consistent with our Privacy Policy.\n\n
    • \n
    • \n If You choose, or are provided with, a user name, password, or any other piece of\n information as part of our security procedures, You must treat such information as\n confidential, and You must not disclose it to any other person or entity. You also\n acknowledge that your account is personal to You and agree not to provide any\n other person with access to this Website or portions of it using your user\n name,password, or other security information. You agree to notify Us immediately of\n any unauthorized access to or use of your user name or password or any other\n breach of security. You also agree to ensure that You exit from your account at the\n end of each session. You should use particular caution when accessing your\n account from a public or shared computer so that others are not able to view or\n record your password or other personal information.\n
    • \n
    • \n We have the right to disable any user name, password, or other identifier, whether\n chosen by You or provided by Us, at any time in our sole discretion for any or no\n reason, including if, in our opinion, You have violated any provision of these\n Terms of Use.\n
    • \n
    \n
  • \n
  • Intellectual Property Rights and Trademarks\n
      \n
    • The Website and its entire contents, features, and functionality (including but not\n limited to all information, software, text, displays, images, video, and audio, and\n the design, selection, and arrangement thereof) are owned by the Company, its\n licensors, or other providers of such material and are protected by United States\n and international copyright, trademark, patent, trade secret, and other intellectual\n property or proprietary rights laws.
    • \n
    • \n These Terms of Use permit You to use the Website for your personal,\n non-commercial use only. You must not reproduce, distribute, modify, create\n derivative works of, publicly display, publicly perform, republish, download,\n store, or transmit any of the material on our Website, except as follows.\n
        \n
      • \n Your computer may temporarily store copies of such materials in RAM\n incidental to your accessing and viewing those materials.\n
      • \n
      • \n You may store files that are automatically cached by your Web browser for\n display enhancement purposes.\n
      • \n
      • \n If We provide desktop, mobile, or other applications for download, You\n may download a single copy to your computer or mobile device solely for\n your own personal, non-commercial use, provided You agree to be bound\n by our end user license agreement for such applications.\n
      • \n
      • \n If we provide social media features You may take such actions as are\n enabled and authorized by such features.\n\n
      • \n\n
      \n
    • \n
    • \n You must not:\n
        \n
      • modify copies of any materials from this site;
      • \n
      • use any illustrations, photographs, video or audio sequences, or any\n graphics separately from the accompanying text; or
      • \n
      • \n delete or alter any copyright, trademark, or other proprietary rights notices\n from copies of materials from this site.\n
      • \n
      \n
    • \n
    • \n You must not access or use for any commercial purposes any part of the Website\n or any services or materials available through the Website.\n
    • \n
    • \n If You print, copy, modify, download, or otherwise use or provide any other\n person with access to any part of the Website in breach of the Terms of Use, your\n right to use the Website will stop immediately and You must, at our option, return\n or destroy any copies of the materials You have made. No right, title, or interest in\n or to the Website or any content on the Website is transferred to You, and all\n rights not expressly granted are reserved by the Company. Any use of the Website\n not expressly permitted by these Terms of Use is a breach of these Terms of Use\n and may violate copyright, trademark, and other laws.\n
    • \n
    • \n The Company name, the Company logo, and all related names, logos, product and\n service names, designs, terms, and slogans are trademarks of the Company or its\n affiliates or licensors. You must not use such marks without the prior written\n permission of the Company. All other names, logos, product and service names,\n designs, and slogans on this Website are the trademarks of their respective\n owners.\n
    • \n
    \n\n
  • \n
  • Prohibited Uses\n
      \n
    • You may use the Website only for lawful purposes and in accordance with these\n\n Terms of Use. You agree not to use the Website:\n
        \n
      • in any way that violates any applicable federal, state, local, or international\n law or regulation (including, without limitation, any laws regarding the\n export of data or software to and from the US or other countries);\n
      • \n
      • \n for the purpose of exploiting, harming, or attempting to exploit or harm\n minors in any way by exposing them to inappropriate content, asking for\n personally identifiable information, or otherwise;\n\n
      • \n
      • \n to transmit, or procure the sending of, any advertising or promotional\n material without our prior written consent, including any \"junk mail,\"\n \"chain letter,\" \"spam,\" or any other similar solicitation;\n
      • \n
      • to impersonate or attempt to impersonate the Company, a Company\n employee, another user, or any other person or entity (including, without\n limitation, by using email addresses or screen names associated with any\n of the foregoing); or
      • \n
      • \n to engage in any other conduct that restricts or inhibits anyone's use or\n enjoyment of the Website, or which, as determined by Us, may harm the\n Company or users of the Website, or expose them to liability.\n
      • \n
      \n\n
    • \n
    • \n Additionally, You agree not to:\n
        \n
      • use the Website in any manner that could disable, overburden, damage, or\n impair the site or interfere with any other party's use of the Website,\n including their ability to engage in real time activities through the Website;\n
      • \n
      • use any robot, spider, or other automatic device, process, or means to\n access the Website for any purpose, including monitoring or copying any\n of the material on the Website;
      • \n
      • \n use any manual process to monitor or copy any of the material on the\n Website, or for any other purpose not expressly authorized in these Terms\n of Use, without our prior written consent;\n
      • \n
      • \n use any device, software, or routine that interferes with the proper working\n of the Website;\n
      • \n
      • \n introduce any viruses, Trojan horses, worms, logic bombs, or other\n material that is malicious or technologically harmful;\n
      • \n
      • \n attempt to gain unauthorized access to, interfere with, damage, or disrupt\n any parts of the Website, the server on which the Website is stored, or any\n server, computer, or database connected to the Website;\n
      • \n
      • \n attack the Website via a denial-of-service attack or a distributed\n denial-of-service attack; or\n
      • \n
      • otherwise attempt to interfere with the proper working of the Website.
      • \n
      \n
    • \n
    \n
  • \n
  • User Contributions\n
      \n
    • The Website may contain message boards, chat rooms, personal web pages or\n profiles, forums, bulletin boards, and other interactive features (collectively,\n \"Interactive Services\") that allow users to post,\n submit, publish, display, or\n transmit to other users or other persons (hereinafter, \"post\") content or materials\n (collectively, \"User Contributions\") on or through\n the Website.\n
    • \n
    • Any User Contribution You post to the site will be considered non-confidential\n and non-proprietary. By providing any User Contribution on the Website, You\n grant Us and our affiliates and service providers, and each of their and our\n respective licensees, successors, and assigns the right to use, reproduce, modify,\n perform, display, distribute, and otherwise disclose to third parties any such\n material for any purpose/according to your account settings.
    • \n
    • \n You represent and warrant that:\n
        \n
      • You own or control all rights in and to the User Contributions and have the\n right to grant the license granted above to Us and our affiliates and service\n providers, and each of their and our respective licensees, successors, and\n assigns.
      • \n
      • \n All of your User Contributions do and will comply with these Terms of\n Use.\n
      • \n
      \n
    • \n
    • You understand and acknowledge that You are responsible for any User\n Contributions You submit or contribute, and You, not the Company, have full\n responsibility for such content, including its legality, reliability, accuracy, and\n appropriateness.
    • \n
    • We are not responsible or liable to any third party for the content or accuracy of\n any User Contributions posted by You or any other user of the Website.
    • \n
    • If You believe that any User Contributions violate your copyright, please contact\n Us at support@indietown.org with notice of\n copyright infringement. It is the\n policy of the Company to terminate the user accounts of repeat infringers. We\n respond to notices of alleged copyright infringement under the United States\n Digital Millennium Copyright Act. If You believe your intellectual property has\n been infringed, please notify Us at support@indietown.org.
    • \n
    \n
  • \n
  • Monitoring and Enforcement; Termination\n
      \n
    • We have the right to:\n
        \n
      • remove or refuse to post any User Contributions for any or no reason at\n our sole discretion;
      • \n\n
      • take any action with respect to any User Contribution that We deem\n necessary or appropriate in our sole discretion, including if We believe\n that such User Contribution violates the Terms of Use, infringes any\n intellectual property right or other right of any person or entity, threatens\n the personal safety of users of the Website or the public, or could create\n liability for the Company;
      • \n\n
      • disclose your identity or other information about You to any third party\n who claims that material posted by You violates their rights, including\n their intellectual property rights or their right to privacy;
      • \n\n
      • take appropriate legal action, including without limitation, referral to law\n enforcement, for any illegal or unauthorized use of the Website; or
      • \n\n
      • terminate or suspend your account and your access to all or part of the\n Website for any or no reason, including without limitation, any violation\n of these Terms of Use.
      • \n\n
      \n
    • \n
    • \n Without limiting the foregoing, We have the right to cooperate fully with any law\n enforcement authorities or court order requesting or directing Us to disclose the\n identity or other information of anyone posting any materials on or through the\n Website. YOU WAIVE AND HOLD HARMLESS THE COMPANY AND ITS\n AFFILIATES, LICENSEES, AND SERVICE PROVIDERS FROM ANY\n CLAIMS RESULTING FROM ANY ACTION TAKEN BY ANY OF THE\n FOREGOING PARTIES DURING, OR TAKEN AS A CONSEQUENCE OF,\n INVESTIGATIONS BY EITHER SUCH PARTIES OR LAW ENFORCEMENT\n AUTHORITIES.\n\n
    • \n
    • \n However, We do not undertake to review all material before it is posted on the\n Website, and cannot ensure prompt removal of objectionable material after it has\n been posted. Accordingly, We assume no liability for any action or inaction\n regarding transmissions, communications, or content provided by any user or\n third party. We have no liability or responsibility to anyone for performance or\n nonperformance of the activities described in this section.\n
    • \n
    \n
  • \n
  • Content Standards\n
      \n
    • These content standards apply to any and all User Contributions and use of\n Interactive Services. User Contributions must in their entirety comply with all\n applicable federal, state, local, and international laws and regulations. Without\n limiting the foregoing, User Contributions must not:\n
        \n
      • contain any material that is defamatory, obscene, indecent, abusive,\n offensive, harassing, violent, hateful, inflammatory, or otherwise\n objectionable;
      • \n
      • \n promote sexually explicit or pornographic material, violence, or\n discrimination based on race, sex, religion, nationality, disability, sexual\n orientation, or age;\n\n
      • \n
      • \n infringe any patent, trademark, trade secret, copyright, or other intellectual\n property or other rights of any other person;
      • \n\n
      • violate the legal rights (including the rights of publicity and privacy) of\n others or contain any material that could give rise to any civil or criminal\n liability under applicable laws or regulations or that otherwise may be in\n conflict with these Terms of Use and our Privacy Policy at indietown.org\n
      • \n
      • be likely to deceive any person;
      • \n\n
      • promote any illegal activity, or advocate, promote, or assist any unlawful\n act;
      • \n\n
      • cause annoyance, inconvenience, or needless anxiety or be likely to upset,\n embarrass, alarm, or annoy any other person;
      • \n\n
      • impersonate any person, or misrepresent your identity or affiliation with\n any person or organization;
      • \n\n
      • involve commercial activities or sales, such as contests, sweepstakes, and\n other sales promotions, barter, or advertising; or
      • \n
      • give the impression that they emanate from or are endorsed by Us or any\n other person or entity, if this is not the case.
      • \n
      \n
    • \n
    \n
  • \n
  • Reliance on Information Posted\n
      \n
    • The information presented on or through the Website is made available solely for\n general information purposes. We do not warrant the accuracy, completeness, or\n usefulness of this information. Any reliance You place on such information is\n strictly at your own risk. We disclaim all liability and responsibility arising from\n any reliance placed on such materials by You or any other visitor to the Website,\n or by anyone who may be informed of any of its contents.
    • \n
    • \n This Website includes content provided by third parties, including materials\n provided by other users, bloggers, and third-party licensors, syndicators,\n aggregators, and/or reporting services. All statements and/or opinions expressed\n in these materials, and all articles and responses to questions and other content,\n other than the content provided by the Company, are solely the opinions and the\n responsibility of the person or entity providing those materials. These materials do\n not necessarily reflect the opinion of the Company. We are not responsible, or\n liable to You or any third party, for the content or accuracy of any materials\n provided by any third parties.\n
    • \n
    \n
  • \n
  • \n Changes to the Website\n
      \n
    • We may update the content on the Website from time to time, but its content is not\n necessarily complete or up-to-date. Any of the material on the Website may be out of\n date\n at any given time, and We are under no obligation to update such material.
    • \n
    \n
  • \n
  • \n Information About You and Your Visits to the Website\n
      \n
    • All information We collect on this Website is subject to our Privacy Policy at\n indietown.org. By using the Website, You consent to all actions taken by Us with respect\n to your information in compliance with the Privacy Policy.
    • \n
    \n
  • \n
  • \n Other Terms and Conditions\n
      \n
    • Additional terms and conditions may also apply to specific portions, services, or\n features\n of the Website. All such additional terms and conditions are hereby incorporated by this\n reference into these Terms of Use.
    • \n
    \n
  • \n
  • \n Linking to the Website and Social Media Features\n
      \n
    • You may link to our homepage, provided You do so in a way that is fair and legal\n and does not damage our reputation or take advantage of it, but You must not\n establish a link in such a way as to suggest any form of association, approval, or\n endorsement on our part without our express consent.
    • \n
    • The Website may provide certain social media features that enable You to:\n
        \n
      • link from your own or certain third-party websites to certain content on the\n Website;
      • \n
      • send emails or other communications with certain content, or links to\n certain content, on the Website; or
      • \n
      • cause limited portions of content on the Website to be displayed or appear\n to be displayed on your own or certain third-party websites.
      • \n
      \n
    • \n
    • You may use these features solely as they are provided by Us, solely with respect\n to the content they are displayed with, and otherwise in accordance with any\n additional terms and conditions We provide with respect to such features. Subject\n to the foregoing, You must not:\n
        \n
      • establish a link from any website that is not owned by You,
      • \n
      • cause the Website or portions of it to be displayed on, or appear to be\n displayed by, any other site, for example, framing, deep linking, or in-line\n linking;\n
      • \n
      • link to any part of the Website other than the homepage; or
      • \n
      • otherwise take any action with respect to the materials on this Website that\n is inconsistent with any other provision of these Terms of Use.
      • \n
      \n
    • \n
    • The website from which You are linking, or on which you make certain content\n accessible, must comply in all respects with the Content Standards set out in these\n Terms of Use.
    • \n
    • You agree to cooperate with Us in causing any unauthorized framing or linking\n immediately to stop. We reserve the right to withdraw linking permission without\n notice.
    • \n
    • We may disable all or any social media features and any links at any time without\n notice at our discretion.
    • \n
    \n
  • \n
  • \n Links from the Website\n
      \n
    • If the Website contains links to other sites and resources provided by third parties,\n these\n links are provided for your convenience only. This includes links contained in\n advertisements, including banner advertisements and sponsored links. We have no control\n over the contents of those sites or resources, and accept no responsibility for them or\n for\n any loss or damage that may arise from your use of them. If You decide to access any of\n the third-party websites linked to this Website, You do so entirely at your own risk and\n subject to the terms and conditions of use for such websites.
    • \n
    \n
  • \n
  • \n Geographic Restrictions\n
      \n
    • The owner of the Website is based in the State of Washington in the United States. We\n provide this Website for use only by persons located in the United States. We make no\n claims that the Website or any of its content is accessible or appropriate outside of\n the\n United States. Access to the Website may not be legal by certain persons or in certain\n countries. If You access the Website from outside the United States, You do so on your\n own initiative and are responsible for compliance with local laws.
    • \n
    \n
  • \n
  • Disclaimer of Warranties\n
      \n
    • You understand that We cannot and do not guarantee or warrant that files\n\n available for downloading from the internet or the Website will be free of viruses\n or other destructive code. You are responsible for implementing sufficient\n procedures and checkpoints to satisfy your particular requirements for anti-virus\n protection and accuracy of data input and output, and for maintaining a means\n external to our site for any reconstruction of any lost data. TO THE FULLEST\n EXTENT PROVIDED BY LAW, WE WILL NOT BE LIABLE FOR ANY LOSS\n OR DAMAGE CAUSED BY A DISTRIBUTED DENIAL-OF-SERVICE\n ATTACK, VIRUSES, OR OTHER TECHNOLOGICALLY HARMFUL\n MATERIAL THAT MAY INFECT YOUR COMPUTER EQUIPMENT,\n COMPUTER PROGRAMS, DATA, OR OTHER PROPRIETARY MATERIAL\n DUE TO YOUR USE OF THE WEBSITE OR ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE OR TO YOUR DOWNLOADING OF\n ANY MATERIAL POSTED ON IT, OR ON ANY WEBSITE LINKED TO IT.
    • \n
    • YOUR USE OF THE WEBSITE, ITS CONTENT, AND ANY SERVICES OR\n ITEMS OBTAINED THROUGH THE WEBSITE IS AT YOUR OWN RISK.\n THE WEBSITE, ITS CONTENT, AND ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE ARE PROVIDED ON AN \"AS IS\"\n AND \"AS AVAILABLE\" BASIS, WITHOUT ANY WARRANTIES OF ANY\n KIND, EITHER EXPRESS OR IMPLIED. NEITHER THE COMPANY NOR\n ANY PERSON ASSOCIATED WITH THE COMPANY MAKES ANY\n WARRANTY OR REPRESENTATION WITH RESPECT TO THE\n COMPLETENESS, SECURITY, RELIABILITY, QUALITY, ACCURACY, OR\n AVAILABILITY OF THE WEBSITE. WITHOUT LIMITING THE\n FOREGOING, NEITHER THE COMPANY NOR ANYONE ASSOCIATED\n WITH THE COMPANY REPRESENTS OR WARRANTS THAT THE\n WEBSITE, ITS CONTENT, OR ANY SERVICES OR ITEMS OBTAINED\n THROUGH THE WEBSITE WILL BE ACCURATE, RELIABLE,\n ERROR-FREE, OR UNINTERRUPTED, THAT DEFECTS WILL BE\n CORRECTED, THAT OUR SITE OR THE SERVER THAT MAKES IT\n AVAILABLE ARE FREE OF VIRUSES OR OTHER HARMFUL\n COMPONENTS, OR THAT THE WEBSITE OR ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE WILL OTHERWISE MEET YOUR\n NEEDS OR EXPECTATIONS.
    • \n
    • TO THE FULLEST EXTENT PROVIDED BY LAW, THE COMPANY\n HEREBY DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER\n EXPRESS OR IMPLIED, STATUTORY, OR OTHERWISE, INCLUDING BUT\n NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,\n NON-INFRINGEMENT, AND FITNESS FOR PARTICULAR PURPOSE.
    • \n
    • \n THE FOREGOING DOES NOT AFFECT ANY WARRANTIES THAT\n CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.\n
    • \n
    \n
  • \n
  • Limitation on Liability\n
      \n
    • TO THE FULLEST EXTENT PROVIDED BY LAW, IN NO EVENT WILL\n THE COMPANY, ITS AFFILIATES, OR THEIR LICENSORS, SERVICE\n PROVIDERS, EMPLOYEES, AGENTS, OFFICERS, OR DIRECTORS BE\n LIABLE FOR DAMAGES OF ANY KIND, UNDER ANY LEGAL THEORY,\n ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR INABILITY\n TO USE, THE WEBSITE, ANY WEBSITES LINKED TO IT, ANY CONTENT\n ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY\n DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR\n PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, PERSONAL\n INJURY, PAIN AND SUFFERING, EMOTIONAL DISTRESS, LOSS OF\n REVENUE, LOSS OF PROFITS, LOSS OF BUSINESS OR ANTICIPATED\n SAVINGS, LOSS OF USE, LOSS OF GOODWILL, LOSS OF DATA, AND\n WHETHER CAUSED BY TORT (INCLUDING NEGLIGENCE), BREACH OF\n CONTRACT, OR OTHERWISE, EVEN IF FORESEEABLE.
    • \n
    • \n The limitation of liability set out above does not apply to liability resulting from\n our gross negligence or willful misconduct or death or bodily injury caused by\n products You purchase through the site.\n
    • \n
    • THE FOREGOING DOES NOT AFFECT ANY LIABILITY THAT CANNOT\n BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.
    • \n
    \n
  • \n
  • Indemnification\n
      \n
    • You agree to defend, indemnify, and hold harmless the Company, its affiliates,\n licensors,\n and service providers, and its and their respective officers, directors, employees,\n contractors, agents, licensors, suppliers, successors, and assigns from and against any\n claims, liabilities, damages, judgments, awards, losses, costs, expenses, or fees\n (including\n reasonable attorneys’ fees) arising out of or relating to your violation of these Terms\n of\n Use or your use of the Website, including, but not limited to, your User Contributions,\n any use of the Website's content, services, and products other than as expressly\n authorized in these Terms of Use, or your use of any information obtained from the\n Website.
    • \n
    \n
  • \n
  • Governing Law and Jurisdiction\n
      \n
    • All matters relating to the Website and these Terms of Use, and any dispute or\n claim arising therefrom or related thereto (in each case, including non-contractual\n disputes or claims), shall be governed by and construed in accordance with the\n internal laws of the State of Washington without giving effect to any choice or\n conflict of law provision or rule (whether of the State of Washington or any other\n jurisdiction).
    • \n
    • \n Any legal suit, action, or proceeding arising out of, or related to, these Terms of\n Use or the Website shall be instituted exclusively in the federal courts of the\n United States or the courts of the State of Washington, although We retain the\n right to bring any suit, action, or proceeding against You for breach of these\n Terms of Use in your country of residence or any other relevant country. You\n waive any and all objections to the exercise of jurisdiction over You by such\n courts and to venue in such courts.\n
    • \n
    \n
  • \n
  • \n Arbitration\n
      \n
    • At Company's sole discretion, it may require You to submit any disputes arising from\n these Terms of Use or use of the Website, including disputes arising from or concerning\n their interpretation, violation, invalidity, non-performance, or termination, to final\n and\n binding arbitration under the Rules of Arbitration of the American Arbitration\n Association applying Washington law.
    • \n
    \n
  • \n
  • Limitation on Time to File Claims\n
      \n
    • ANY CAUSE OF ACTION OR CLAIM YOU MAY HAVE ARISING OUT OF OR\n RELATING TO THESE TERMS OF USE OR THE WEBSITE MUST BE\n COMMENCED WITHIN ONE (1) YEAR AFTER THE CAUSE OF ACTION\n ACCRUES; OTHERWISE, SUCH CAUSE OF ACTION OR CLAIM IS\n PERMANENTLY BARRED.
    • \n
    \n
  • \n
  • Waiver and Severability\n
      \n
    • No waiver by the Company of any term or condition set out in these Terms of Use\n shall be deemed a further or continuing waiver of such term or condition or a\n waiver of any other term or condition, and any failure of the Company to assert a\n right or provision under these Terms of Use shall not constitute a waiver of such\n right or provision.
    • \n
    • \n If any provision of these Terms of Use is held by a court or other tribunal of\n competent jurisdiction to be invalid, illegal, or unenforceable for any reason, such\n provision shall be eliminated or limited to the minimum extent such that the\n remaining provisions of the Terms of Use will continue in full force and effect.\n
    • \n
    \n
  • \n
  • \n Entire Agreement\n
      \n
    • The Terms of Use, our Privacy Policy, and User License Agreemnt constitute the sole and\n entire agreement between You and Us regarding the Website and supersede all prior and\n contemporaneous understandings, agreements, representations, and warranties, both\n written and oral, regarding the Website.
    • \n
    \n
  • \n
  • \n Your Comments and Concerns\n
      \n
    • All feedback, comments, requests for technical support, and other\n communications relating to the Website should be directed to:\n support@indietown.org.\n
    • \n
    \n
  • \n
\n
\n
\n
\n
","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { environment } from \"../../../environments/environment\";\nimport { User } from '../models/user.model';\nimport { Subject } from \"rxjs\";\nimport { coerceStringArray } from \"@angular/cdk/coercion\";\n\n@Injectable()\n\nexport class AuthService {\n\n private userSubject: BehaviorSubject;\n // public user: Observable;\n\n\n private emailSend = new Subject();\n child1$ = this.emailSend.asObservable();\n\n\n SendToChild1(msg:string){\n this.emailSend.next(msg);\n }\n\n url: any = environment.API_URL;\n\n constructor(\n private http: HttpClient\n ) { }\n\n public get currentUserValue() {\n let data = localStorage.getItem('currentUser');\n let obj: Object = {};\n if (data !== 'undefined')\n return JSON.parse(localStorage.getItem('currentUser'));\n return false;\n }\n\n public get language() {\n let lang = localStorage.getItem('lang');\n console.log('lang', lang);\n if (lang) {\n return lang;\n }\n return false;\n }\n\n public get basicAuthCredsBase64(){\n // return btoa('admin:JKJ@IKHUKHYJSHsd');\n return btoa(environment.basicAuthUsername+':'+environment.basicAuthpwd);\n }\n\n login(user: any) {\n return this.http.post(this.url + 'api/user/login', user);\n }\n\n reset(data: any) {\n return this.http.post(this.url + 'user/reset-password',data);\n }\n\n\n forgetPassword(data: any) {\n return this.http.post(this.url + 'api/user/forgot-password',data);\n\n \n }\n\n\n \n\n logout(data:any) {\n // localStorage.removeItem('currentUser');\n return this.http.post(this.url + 'user/logout', data);\n }\n\n updateuser(data: any) {\n return this.http.patch(this.url + 'user/update', data);\n }\n\n changePassword(data: any) {\n return this.http.post(this.url + 'user/change-password', data);\n }\n\n emailValidation(data:any){\n return this.http.post(this.url + \"user/emailExists\", data);\n }\n\n signUpUser(data:any){\n return this.http.post(this.url + 'api/user/signup', data);\n }\n\n uploadProfile(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n validateInvitationCode(data:any){\n return this.http.post(this.url + 'api/user/validate-invitation-code', data);\n }\n\n sendOTP(data:any){\n return this.http.post(this.url + 'api/user/send-otp', data);\n }\n\n\n verifyOTP(data:any){\n return this.http.post(this.url + 'api/user/verify-otp', data);\n }\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n\n getGenres(){\n return this.http.get(this.url + 'api/community/list');\n }\n\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n}","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { HeaderService } from 'src/app/shared/services/header.service';\nimport { Chart } from 'node_modules/chart.js/dist/chart.js';\nimport { DashboardService } from '../services/dashboard.service';\nimport { AuthService } from 'src/app/auth/services/auth.service';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n})\nexport class DashboardComponent implements OnInit, OnDestroy {\n public canvas: any;\n public ctx: any;\n public chart: any;\n dashboardData: any = [];\n dashboardAllData:any;\n graphData: any;\n months: number = 6;\n currentUser:any;\n analyticsData:any;\n finalCount:any;\n\n constructor(\n private _header: HeaderService, \n private dashboardService: DashboardService,\n private authService: AuthService,\n ) { }\n\n ngOnInit(): void {\n this._header.welcomeUserMsg.next(true);\n this.currentUser = this.authService.currentUserValue;\n\n // this.dashboardService.getAnalytics({}).subscribe((res:any) => {\n // if(res.status == 200){\n // this.analyticsData = res.output;\n // this.animateCounter((document.getElementById('client')), 0, this.analyticsData?.numberOfClient-1, 1000);\n // this.animateCounter((document.getElementById('caregiver')), 0, this.analyticsData?.numberOfCaregiver-1, 1000); \n // }\n // })\n }\n\n ngOnDestroy() {\n this._header.welcomeUserMsg.next(false);\n }\n\n\n animateCounter(obj, initVal, lastVal, duration) {\n let startTime = null;\n\n //get the current timestamp and assign it to the currentTime variable\n let currentTime = Date.now();\n\n //pass the current timestamp to the step function\n const step = (currentTime ) => {\n\n //if the start time is null, assign the current time to startTime\n if (!startTime) {\n startTime = currentTime ;\n }\n\n //calculate the value to be used in calculating the number to be displayed\n const progress = Math.min((currentTime - startTime)/ duration, 20);\n\n //calculate what to be displayed using the value gotten above\n obj.innerHTML = Math.floor(progress * (lastVal - initVal) + initVal);\n\n //checking to make sure the counter does not exceed the last value (lastVal)\n if (progress < 1) {\n window.requestAnimationFrame(step);\n } else {\n window.cancelAnimationFrame(window.requestAnimationFrame(step));\n }\n };\n //start animating\n window.requestAnimationFrame(step);\n }\n}\n","\n
\n
\n
\n
\n \"\"\n
\n

\n

Total Number of Registered Clients

\n
\n
\n\n
\n \"\"\n
\n

\n

Total Number Of Registered Caregivers / Companions

\n
\n
\n\n\n\n
\n \"\"\n
\n

Total Number of Bookings Per Caregiver / Companion

\n
\n
\n\n
\n \"\"\n
\n

Total Earnings Per Week Of a Caregiver / Companion

\n
\n
\n\n
\n
\n\n\n
","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class DashboardService {\n url: any = environment.API_URL;\n header = {};\n\n constructor(\n private http: HttpClient\n ) { }\n\n getDashboard(data:any){\n return this.http.post(this.url + \"appList/getDashboardAnalytics\", data );\n }\n\n\n getDownloadAppList(){\n return this.http.get(this.url + \"appList/getTotalAppsDownloaded\");\n }\n\n\n getActiveUsers(){\n return this.http.get(this.url + \"appList/getHospitalsUsers\");\n }\n\n\n // getActiveUsers()\n\n getTotalForms(){\n return this.http.get(this.url + \"appList/getTotalForms\");\n }\n\n getAgeGroup(data){\n return this.http.post(this.url + \"appList/getAgeGroup\", data);\n }\n\n deviceCount(){\n return this.http.get(this.url + \"appList/getDeviceCountByHospital\");\n }\n\n getDeviceModel(id:any){\n return this.http.post(this.url + \"appList/getDeviceListsByHospital\", id);\n }\n\n\n getAnalytics(data:any){\n return this.http.post(this.url + \"user/analytics-report\",data);\n }\n\n}","\n\n\n
\n \n\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n Old password is required.\n \n \n Password must have at least 6 characters.\n \n
\n
\n
\n\n
\n \n \n \n \n
\n \n New password is required.\n \n \n Password must have at least 6 characters.\n \n \n Password must contain at least one Uppercase, Lowercase, Digit and One Special symbol\n \n
\n
\n
\n\n
\n \n \n \n \n
\n \n Confirm password is required.\n \n \n Password must have at least 6 characters.\n \n \n Password must contain at least one Uppercase, Lowercase, Digit and One Special symbol\n \n
\n \n Password doesn't match.\n \n
\n
\n\n
\n \n

Password Changed!

\n
\n
\n
\n
\n
\n
\n
\n","import { Component, ElementRef, HostListener, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\nimport { ToastrService } from 'ngx-toastr';\nimport { HeaderService } from 'src/app/shared/services/header.service';\nimport { SharedService } from 'src/app/shared/services/shared.service';\nimport { AuthService } from '../auth/services/auth.service';\n\n@Component({\n selector: 'app-edit-profile',\n templateUrl: './edit-profile.component.html',\n styleUrls: ['./edit-profile.component.scss'],\n})\nexport class EditProfileComponent implements OnInit, OnDestroy {\n hide = true;\n hide1 = true;\n hide2 = true;\n\n\n\n userType: any;\n message: string;\n imagePath: any;\n imgURL: any;\n uploaded: boolean = false;\n fileName: any;\n currentUser: any;\n passChangeMsg: boolean = false;\n modalRef: BsModalRef;\n\n submitted: boolean = false;\n changed: boolean = false;\n\n\n imgChangeEvt: any = '';\n cropImgPreview: any = '';\n singalurl: any;\n selectedFile: any;\n @ViewChild('template2') template2: TemplateRef;\n @ViewChild('myFile2') myFile2: ElementRef;\n\n // @HostListener(\"click\")\n // clicked() {\n // this.myFile2.nativeElement.value = '';\n // // this.eventForm.controls['myFile'].setValue('');\n // }\n\n\n // passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*])[\\w !@#$%&*]/;\n passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-])[\\w !@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-]/;\n\n passwordForm = new FormGroup({\n oldPassword: new FormControl('', [Validators.required, Validators.minLength(8)]),\n newPassword: new FormControl('', [Validators.required, Validators.minLength(8),Validators.pattern(this.passwordRegex)]),\n confirmPassword: new FormControl('', [Validators.required, Validators.minLength(8), Validators.pattern(this.passwordRegex)]),\n })\n\n get p() {\n return this.passwordForm.controls;\n }\n\n constructor(\n private _header: HeaderService,\n private authService: AuthService,\n private sharedService: SharedService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService\n ) { }\n\n lang: string = 'eng';\n ngOnInit(): void {\n let currentUser = localStorage.getItem('currentUser');\n this.userType = JSON.parse(currentUser).userType;\n this.lang = localStorage.getItem('lang');\n this._header.changePasswordHeading.next(true);\n this.currentUser = this.authService.currentUserValue;\n }\n ngOnDestroy() {\n this._header.changePasswordHeading.next(false);\n }\n\n // confirmation modal box\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n match: boolean = true;\n changePassword() {\n this.changed = true;\n if (this.passwordForm.invalid || this.passwordForm.pristine) return;\n this.changed = false;\n let data = {\n oldPassword: this.passwordForm.value.oldPassword,\n newPassword: this.passwordForm.value.newPassword,\n };\n if (this.passwordForm.value.newPassword == this.passwordForm.value.confirmPassword) {\n this.match = true;\n this.authService.changePassword(data).subscribe((res: any) => {\n console.log('changepassword res', res);\n if (res.status == 200) {\n this.passwordForm.controls['oldPassword'].reset();\n this.passwordForm.controls['newPassword'].reset();\n this.passwordForm.controls['confirmPassword'].reset();\n this.passChangeMsg = true;\n this.toastr.success(res.message);\n this.router.navigateByUrl('/analytics-dashboard');\n } else {\n this.toastr.error(res.error.message);\n }\n });\n } else {\n this.match = false;\n }\n }\n}\n","\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n

{{bandcamp.title}}

\n
\n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n No Playlists yet !\n
\n
\n Add Playlists\n
\n
\n\n\n \n
\n
\n \n
\n \n \n
\n
\n\n\n
\n \n
\n
\n

Are you sure you want to remove?

\n
\n \n \n
\n
\n
","import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/auth/services/auth.service';\nimport { BandcampModalContentComponent } from '../dynamic-profile/dynamic-profile.component';\nimport { SharedService } from '../services/shared.service';\n\n@Component({\n selector: 'app-bandcamp',\n templateUrl: './bandcamp.component.html',\n styleUrls: ['./bandcamp.component.scss']\n})\nexport class BandcampComponent implements OnInit {\n modalRef: any;\n \n @Input() userId;\n myInputValue:any='';\n @ViewChild(\"bandcampIframe\") bandcampIframe: TemplateRef;\n\n removeModalref: any;\n @ViewChild(\"removeBandcampIframeModal\") removeBandcampIframeModal: TemplateRef;\n\n constructor(\n private modalService: BsModalService,\n private service: SharedService,\n private toastrService: ToastrService,\n private authService: AuthService,\n private fb: FormBuilder,\n private router: ActivatedRoute,\n private spinner: SpinnerVisibilityService,\n private route: Router,\n private domSanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n console.log(this.userId);\n this.getBandcampList();\n }\n\n page = 1;\n pageSize = 20;\n bandcampList = [];\n getBandcampList(){\n this.service.getBandcampList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n this.bandcampList = res.data;\n })\n }\n addBandcampIframe(){\n console.log((document.getElementById(\"bandcampIframeNew\")).value);\n let bandcampIframe = (document.getElementById(\"bandcampIframeNew\")).value;\n this.service.addBandcampIframe({iframeCode:bandcampIframe}).subscribe((res:any)=>{\n console.log(res);\n // Add Validations\n this.bandcampList.unshift(res.data);\n (document.getElementById(\"bandcampIframeNew\")).value = '';\n this.myInputValue = '';\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n if(err?.error?.message?.includes('iFrame code already added')){\n this.toastrService.info(\"iFrame code already added\");\n }\n else {\n this.toastrService.info(err?.error?.message);\n }\n (document.getElementById(\"bandcampIframeNew\")).value = '';\n this.myInputValue = '';\n })\n }\n transFormUrl(url){\n // return this.domSanitizer.sanitize(SecurityContext.URL, url);\n return this.domSanitizer.bypassSecurityTrustResourceUrl(url);\n }\n iframeSource = '';\n bandcampModalP(iframesrc:any){\n let initialState: ModalOptions = {\n initialState: {\n source:iframesrc\n } as Partial,\n class: 'bandcamppopup'\n };\n this.iframeSource = iframesrc;\n this.modalRef = this.modalService.show(this.bandcampIframe, initialState);\n }\n\n removeBandcampId;\n removeBandcampIndex;\n\n removeBandcamp(id,index){\n // this.service.removeBandcampIframe(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.bandcampList.splice(index,1);\n // }\n // })\n\n this.removeBandcampId = id;\n this.removeBandcampIndex = index;\n this.removeModalref = this.modalService.show(this.removeBandcampIframeModal);\n\n }\n\n removeBandcampIframe(){\n this.service.removeBandcampIframe(this.removeBandcampId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.bandcampList.splice(this.removeBandcampIndex,1);\n }\n this.removeModalref.hide();\n })\n }\n\n loadMoreBandcamps(e){\n console.log(\"scrolled fired\");\n if(this.loadMoreBandcamp){\n console.log(\"loading more\")\n this.page++;\n this.getMoreBandcampList();\n }\n }\n\n loadMoreBandcamp:Boolean = true;\n getMoreBandcampList(){\n this.service.getBandcampList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.bandcampList.push(...res.data);\n }\n else{\n this.loadMoreBandcamp = false;\n }\n })\n }\n\n @Input('addBandcamp')\n set addBandcamp(data: any) {\n //do whatever you want with your data here, this data will be passed from parent component\n console.log(\"sdasdsdsd\",data);\n if(data && Object.keys(data).length){\n this.bandcampList.unshift(data);\n }\n }\n\n}\n","\n\n\n
\n
\n
\n \n \"\"\n \"\"\n\n\n
\n
\"\"
\n
    \n
  • Report User
  • \n
\n
\n \n
\n\n \n \n \n \n \n \n \"\"\n\n\n \n \n \"\"\n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n

\n {{ profileDetails?.bandName | titlecase }}\n

\n

\n {{ profileDetails?.communityIds[0]?.communityName }}\n \n | {{ profileDetails?.communityIds[1]?.communityName }}\n

\n

\n {{ profileDetails?.genereIds[0]?.genereName }}\n | {{ profileDetails?.genereIds[1]?.genereName }}\n | {{ profileDetails?.genereIds[2]?.genereName }}\n

\n

\n {{ profileDetails?.address?.city ? profileDetails?.address?.city + ', ':'' }}{{ profileDetails?.address?.state }} {{ profileDetails?.address?.country }}\n

\n
\n \n\n
\n
\n
\n \n \n \n
\n
    \n
  • \"\" Settings
  • \n
    \n
  • \"\" Log Out
  • \n
\n
\n
\n
\n \n \"\"\n \n \n Edit Profile\n \n
\n
\n
\n \n
\n
\n \n\n
\n \n \n Message\n \n\n
\n
\n
\n \n Friend\n \n
\n \n
  • \n \n Unfriend\n \n
  • \n
    \n
  • \n Report User\n
  • \n \n
    \n
    \n
    \n\n
    \n \n Add Friend\n \n
    \n
    \n \n \n \n Pending\n \n \n Accept\n \n
    \n
    \n
    \n \n\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n \n
    \n \n \n \n \n \n {{\n post?.userId?.bandName |titlecase\n }}\n \n
    \n \n \n
    \n \n \n
    \n
  • \n Report {{post.type=='POST'?'Post':'Show'}}\n
  • \n
    \n
  • \n Silence User\n
  • \n \n
  • \n Edit {{post.type=='POST'?'Post':'Show'}}\n
  • \n
    \n
  • \n Delete {{post?.type=='POST'? 'Post':'Show'}}\n
  • \n
    \n \n
    \n
    \n
  • \n Report {{post.type=='POST'?'Post':'Show'}}\n
  • \n
    \n \n
  • \n Silence User\n
  • \n
    \n \n
    \n \n \n
    \n \n \n\n \n \n \n \n \"First\n \n \n \n \n \n\n\n \n 0\" style=\"flex-direction: column\">\n
    \n
    \n
    \n \"\"\n \"\"\n \n \n {{ post?.likesCount }} {{post?.likesCount<=1 && post?.likesCount!=0?'Like':'Likes'}}\n
    \n
    \n \"\"\n {{ post?.commentCount }}\n
    \n \n
    \n
    \n \n {{timeSince(post?.createdOn)}}\n
    \n
    \n
    \n \n \n\n
    \n 200\" [innerHtml]=\"post.text ? (post.text.slice(0,200) | linky:{stripPrefix : false}) : ''\"\n [ngClass]=\"{'fw-600':post.type=='SHOW'}\"\n class=\"text-justify postdesc postdescspan formatted\" id=\"lessDesc{{post?._id}}\" style=\"font-size: 16px;font-weight: 500;\">\n\n \n \n 200\" style=\"cursor: pointer;font-weight: 600; text-transform: lowercase;color: black !important;\">... more\n \n \n \n less\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n \n\n \n \n \n\n
    \n 400\" [innerHtml]=\"post.text ? (post.text.slice(0,400) | linky:{stripPrefix : false}) : ''\"\n [ngClass]=\"{'fw-600':post.type=='SHOW'}\"\n class=\"text-justify postdesc postdescspan formatted\" id=\"lessDesc{{post?._id}}\" style=\"font-size: 16px;font-weight: 500;\">\n \n \n \n\n 400\" style=\"cursor: pointer;font-weight: 600; text-transform: lowercase;color: black !important;\">... more\n \n \n\n Less\n
    \n \n \n
    \n
    \n
    \n \"\"\n \"\"\n \n \n {{ post?.likesCount }} {{post?.likesCount<=1 && post?.likesCount!=0?'Like':'Likes'}}\n
    \n
    \n \"\"\n {{ post?.commentCount }}\n
    \n \n
    \n
    \n \n {{timeSince(post?.createdOn)}}\n
    \n
    \n
    \n \n

    \n \"\"\n {{post?.from?.length > 10 ? (post?.from | date:'MMM d, y h:mm a') : post?.from }} - \n {{post?.to?.length > 10 ? (post?.to | date:'MMM d, y h:mm a') : post?.to}}\n

    \n \n

    \n \"\"\n {{post?.address?.venue}} {{post?.address?.city}}, {{post?.address?.state}}, {{post?.address?.country}}\n

    \n \n

    \n \"\"\n US {{(post?.money?.from)?((post?.money?.from) | currency) : 0 | currency}} - \n US {{(post?.money?.to)?((post?.money?.to)| currency) : 0 | currency}}\n

    \n
    \n \n
    \n
    \n \n View {{post?.commentCount>1 ? 'all '+post?.commentCount+' Comments':post?.commentCount+' Comment'}}\n \n \n
    \n \n
    \n \n \n \n
    \n
    \n Replying to {{commentbandname}}\n \n
    \n
    \n
    \n \"\"\n \"\"\n
    \n
    \n \n \"\"\n \n \n \n \n \n \n \n
      \n
    • \n \"\"\n {{user.bandName |titlecase}}\n
    • \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n {{comment?.userId?.bandName}} \n
    \n
    \n {{getTimeWeekWise(comment?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n {{getTimeWeekWise(comment?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n \n
    \n \"\"\n \n \n \n \n
      \n
    • \n \"\"\n {{user.bandName |titlecase}}\n
    • \n
    \n
    \n
    \n
    \n \n
    \n 0\" id=\"hideunderline{{comment?._id}}\" class=\"hide-underline\"> \n
    0\" style=\"cursor: pointer;\" (click)=\"showReplies(comment)\" class=\"hiderepl\" id=\"showRepliesBtn{{comment?._id}}\">Show {{comment?.totalRepliesCount == 1 ? comment?.totalRepliesCount + ' Reply' : comment?.totalRepliesCount + ' Replies'}}
    \n
    \n
    0\" style=\"display: none; position: relative;\" id=\"repliesBox{{comment?._id}}\">\n \n
    \n
    \n
    \n \n \n {{reply?.userId?.bandName |titlecase}} \n
    \n
    \n {{getTimeWeekWise(reply?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n {{getTimeWeekWise(reply?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n \n \n
    \n \n
    comment?.replies?.length\" style=\"padding-top: 5px;\" class=\"d-flex\">comment?.replies?.length\" class=\"hide-underline\"> comment?.replies?.length\" (click)=\"loadMoreReplies(i,commentIndex)\" id=\"repliesLoadMore{{ comment?._id }}\" style=\"cursor: pointer; color: #0F0D0F; opacity: 0.5; padding-left: 0px; font-size: 14px;\">Show More Replies
    \n
     Hide all replies
    \n \n \n
    \n
    \n \n
    \n \n post?.comments?.length\" (click)=\"loadMoreComments(post?._id)\" id=\"commentLoadMore{{ post?._id }}\" style=\"cursor: pointer; font-weight: bold;\">Load more comments \n 3\" (click)=\"showLessComments(i)\" id=\"showLessComments{{ post?._id }}\" style=\"cursor: pointer; font-weight: bold;\" class=\"ml-3\">Show Less \n
    \n \n
    \n Add Posts!\n
    \n
    \n No Posts Yet !\n
    \n
    \n\n
    \n \n
    \n \n\n \n
    \n \n\n \n \n
    \n \n \n
    \n \n
    \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n {{\n post?.userId?.bandName |titlecase\n }}\n \n
    \n \n \n
    \n \n\n
  • \n Report {{post.type=='POST'?'Post':'Show'}}\n
  • \n
    \n\n \n Silence User\n \n \n
  • \n Report {{post.type=='POST'?'Post':'Show'}}\n
  • \n\n
    \n
    \n\n \n Silence User\n \n \n
  • \n Delete {{post?.type=='POST'? 'Post':'Show'}}\n
  • \n \n
    \n
    \n\n \n
  • \n Edit {{post.type=='POST'?'Post':'Show'}}\n
  • \n \n
    \n \n \n\n \n \n \n\n \n \n \"First\n \n \n \n\n\n \n 0\" style=\"flex-direction: column\">\n
    \n
    \n
    \n \"\"\n \"\"\n \n \n {{ post?.likesCount }} {{post?.likesCount<=1 && post?.likesCount!=0?'Like':'Likes'}}\n
    \n
    \n \"\"\n {{ post?.commentCount }}\n
    \n \n
    \n
    \n \n {{timeSince(post?.createdOn)}}\n
    \n
    \n
    \n \n \n\n
    \n 200\" [innerHtml]=\"post.text ? (post.text.slice(0,200) | linky) : ''\"\n [ngClass]=\"{'fw-600':post.type=='SHOW'}\"\n class=\"text-justify postdesc postdescspan formatted\" id=\"lessDesc{{post?._id}}\" style=\"font-size: 16px;font-weight: 500;\">\n \n \n 200\" style=\"cursor: pointer;font-weight: 600; text-transform: lowercase;\">... more\n \n \n \n less\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n \n\n \n \n \n\n
    \n 200\" [innerHtml]=\"post.text ? (post.text.slice(0,200) | linky:{stripPrefix : false}) : ''\"\n [ngClass]=\"{'fw-600':post.type=='SHOW'}\"\n class=\"text-justify postdesc postdescspan formatted\" id=\"lessDesc{{post?._id}}\" style=\"font-size: 16px;font-weight: 500;\">\n \n \n\n 200\" style=\"cursor: pointer;font-weight: 600; text-transform: lowercase;\">... more\n \n \n\n Less\n
    \n \n \n
    \n
    \n
    \n \"\"\n \"\"\n \n \n {{ post?.likesCount }} {{post?.likesCount<=1 && post?.likesCount!=0?'Like':'Likes'}}\n
    \n
    \n \"\"\n {{ post?.commentCount }}\n
    \n \n
    \n
    \n \n {{timeSince(post?.createdOn)}}\n
    \n
    \n
    \n \n

    \n \"\"\n {{post?.from?.length > 10 ? (post?.from | date:'MMM d, y h:mm a') : post?.from }} - \n {{post?.to?.length > 10 ? (post?.to | date:'MMM d, y h:mm a') : post?.to}}\n

    \n \n \n

    \n \"\"\n {{post?.venueDetails}}, {{post?.address?.venue}} {{post?.address?.city}}, {{post?.address?.state}},\n {{post?.address?.country}}\n

    \n \n

    \n \"\"\n US {{(post?.money?.from)?((post?.money?.from) | currency) : 0 | currency}} - \n US {{(post?.money?.to)?((post?.money?.to)| currency) : 0 | currency}}\n

    \n
    \n \n
    \n
    \n \n View {{post?.commentCount>1 ? 'all '+post?.commentCount+' Comments':post?.commentCount+' Comment'}}\n \n \n
    \n \n
    \n \n \n \n
    \n
    \n Replying to {{commentbandname}}\n \n
    \n
    \n
    \n \"\"\n \"\"\n
    \n
    \n \n \"\"\n \n \n \n \n \n \n \n
      \n
    • \n \"\"\n {{user.bandName |titlecase}}\n
    • \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n {{comment?.userId?.bandName}} \n
    \n
    \n {{getTimeWeekWise(comment?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n {{getTimeWeekWise(comment?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n \n
    \n \"\"\n \n \n \n \n
      \n
    • \n \"\"\n {{user.bandName |titlecase}}\n
    • \n
    \n
    \n
    \n
    \n \n
    \n 0\" id=\"hideunderline{{comment?._id}}\" class=\"hide-underline\"> \n
    0\" style=\"cursor: pointer;\" (click)=\"showReplies(comment)\" class=\"hiderepl\" id=\"showRepliesBtn{{comment?._id}}\">Show {{comment?.totalRepliesCount == 1 ? comment?.totalRepliesCount + ' Reply' : comment?.totalRepliesCount + ' Replies'}}
    \n
    \n
    0\" style=\"display: none; position: relative;\" id=\"repliesBox{{comment?._id}}\">\n \n
    \n
    \n
    \n \n \n {{reply?.userId?.bandName |titlecase}} \n
    \n
    \n {{getTimeWeekWise(reply?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n {{getTimeWeekWise(reply?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n \n \n
    \n \n
    comment?.replies?.length\" style=\"padding-top: 5px;\" class=\"d-flex\">comment?.replies?.length\" class=\"hide-underline\"> comment?.replies?.length\" (click)=\"loadMoreReplies(i,commentIndex)\" id=\"repliesLoadMore{{ comment?._id }}\" style=\"cursor: pointer; color: #0F0D0F; opacity: 0.5; padding-left: 0px; font-size: 14px;\">Show More Replies
    \n
     Hide all replies
    \n \n \n
    \n
    \n \n
    \n \n post?.comments?.length\" (click)=\"loadMoreComments(post?._id)\" id=\"commentLoadMore{{ post?._id }}\" style=\"cursor: pointer; font-weight: bold;\">Load more comments \n 3\" (click)=\"showLessComments(i)\" id=\"showLessComments{{ post?._id }}\" style=\"cursor: pointer; font-weight: bold;\" class=\"ml-3\">Show Less \n
    \n \n
    \n No Shows Yet !\n
    \n
    \n Add Shows!\n
    \n
    \n\n
    \n \n
    \n \n \n \n
    \n \n\n \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n\n \n\n \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n \n\n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n\n \n
    \n \n\n \n \n \n \n \n \n
    \n
    \n \"\"\n\n \n
    \n
    \n\n
    \n\n \n \n\n\n\n \n \n \n \n
    \n\n \n \n
    \n
    \n \n \n \n
    \n
    \n \n

    Bandcamp

    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n\n \n
    \n \n
    \n
    \n
    \n
    \n \n\n \n \n
    \n
    \n \n

    SoundCloud

    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n\n \n \n \n \n \n
    \n \n

    \n YouTube\n

    \n
    \n \n\n
    \n
    \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
    \n\n
    \n \n
    \n
    \n \n
    \n
    \n \n\n \n \n \n
    \n
    \n \n
    \n
    \n \n\n \n \n \n
    \n
    \n
    \n
    \n \n\n \n \n \n
    \n
    \n
    \n \n

    About

    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n \n {{ profileDetails?.address?.city }},\n {{ profileDetails?.address?.state }},\n {{ profileDetails?.address?.country }}\n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n \n
    {{profileDetails?.bio}}
    \n \n
    \n
    \n
    \n
    \n \n\n
    \n \n
    \n \n\n \n
    \n \n\n \n \n
    \n \n \n
    \n \n
    \n \n
    \n \n \n\n\n\n\n
    \n
    \n

    Report Inappropriate Content

    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n Send Report\n \n \n Send Report\n \n \n\n
    \n
    \n \n
    \n \n Send Report\n \n \n
    \n
    \n\n\n\n
    \n
    \n \n \"\"\n \n \n

    Edit Profile

    \n
    \n \n \n Save\n \n \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n \n \n \n\n
    \n
    \n\n \n
    \n
    \n \n
    Cover Image
    \n
    \n \n \n \n
    \n\n
    \n \n \n \n\n
    \n
    \n
    \n\n
    \n \n \n \n\n \n \n \n \n \n
    \n\n
    \n \n \n \n
    \n\n
    \n \n \"\"\n \n
    \n\n
    \n \n \n \n
    \n\n
    \n \n \n \n \n \n
    \n\n
    \n \n \n \n
    \n\n \n\n \n
    \n
    \n
    \n
    \n\n\n\n \n \n \n \n \n \n\n \n\n\n\n\n\n\n
    \n \n \"\"\n\n \n
    \n
    \n \n \n \n \n
    \n
    \n\n\n\n\n\n\n
    \n \n ×\n \n
    \n\n
    \n \"\"\n
    \n

    {{ spotifySingleData?.title }}

    \n
    \n\n
    \n

    {{ getTimeRemaining(spotifySingleData?.time) }}

    \n
    \n\n \n
    \n
    \n\n\n\n
    \n
    \n \n ×\n \n \n

    Photo Album

    \n
    \n \n \n \"\"\n \n \n
    \n \n
    \n \n\n \n \n \n \n \n \n \n
    \n
    \n\n\n\n
    \n \n ×\n \n
    \n
    \n \n \n \n Are you sure want to delete
    \n this photo?\n

    \n \n \n \n
    \n \n
    \n\n\n\n
    \n
    \n

    Likes

    \n
    \n \n ×\n \n
    \n \n \n \n \n {{ like?.bandName }}\n {{like?.communityIds.length>0 ? (like?.communityIds[0]?.communityName + \" \" + (like?.communityIds[1]?.communityName!=null ? \" | \" +like?.communityIds[1]?.communityName : '')): ((like?.genereIds[0]?.genereName!=null ? like?.genereIds[0]?.genereName : '') + (like?.genereIds[1]?.genereName!=null ? \" | \" +like?.genereIds[1]?.genereName : '') + (like?.genereIds[2]?.genereName ? \" | \" +like?.genereIds[2]?.genereName :\n ''))}}\n \n \n \n You\n \n \n \n\n

    No one has liked yet!

    \n\n \n \n
    \n\n\n\n
    \n \n \"\"\n \n
    \n
    \n \n Are you sure want to delete
    \n this {{deletePostShowMsg}}?\n

    \n \n \n No\n \n \n Yes\n \n
    \n \n
    \n\n\n\n
    \n
    \n

    Comments

    \n
    \n \n ×\n \n
    \n \n \n \n \n \n
    \n {{ comment?.commentedBy?.bandName | titlecase }}\n {{ comment.text }}\n
    \n
    \n \n Reply\n Report\n Delete\n \n
    \n\n \n \n \n \n
    \n\n \n No Comments\n \n\n
    \n \n \"\"\n\n \n \n \n
    \n\n\n\n
    \n
    \n Sure you want to unfriend?\n
    \n \n ×\n \n
    \n
    \n \n

    \n Sure you want to unfriend with
    {{ unFriendUserName }} ?\n

    \n
    \n \n No\n \n \n Yes\n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n

    Edit Create Post

    \n
    \n \n ×\n \n \n
    \n
    \n
    \n \n
    {{ profileDetails?.bandName }}
    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n \"\"\n \"\"\n \n
    \n \n
    \n
    \n
    \n \n \"\"\n\n \"\"\n\n
    \n \n \n
    \n
    \n
    \n \n \n \"\"\n\n
    \n \n \n
    \n
    \n \n \n
    \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n Photo/Video\n
    \n
    \n
    \n \n
    \n \"\"\n\n Show\n \n \n
    \n
    \n
    \n
    \n \n \n Post\n \n\n \n Update\n \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n

    Create Post

    \n
    \n \n \"\"\n \n \n
    \n
    \n
    \n \n
    {{ myProfileDetails?.bandName }}
    \n
    \n
    \n
    \n \n
    \n \n POST\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n

    CreateEdit Show

    \n
    \n
    \n \n \n \"\"\n \n
    \n
    \n \n ×\n \n
    \n \n
    \n
    \n\n
    \n \"\"\n \"\"\n

    {{profileDetails?.bandName}}

    \n
    \n
    \n
    \n
    \n \"\"\n \n \n
    \n \n \n \n \n \n
    \n
    \n\n \n \n\n\n\n
    \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n\n \n
    \n
    \n
    \n\n
    \n \"\"\n \n
    \n \n
    \n \n \n \n
    \n \n
    \n \n \n
    \n \n
    \n \n \n \n \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n \"\"\n\n changeToNumber(createShowForm.value.ticketTo) && createShowForm.value.ticketTo!='' && createShowForm.value.ticketTo!=undefined}\"\n\n />\n
    \n
    \n \n
    \n
    \n \"\"\n\n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n\n \n\n \n
    \n
    \n
    \n
    \n
    \n\n\n \n \n\n\n\n
    \n \n \n ×\n \n
    \n
    \n \n
    \n
    \n\n
    \n \n
    \n
    \n

    Are you sure you want to cancel
    \n this request?

    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n\n\n
    \n
    \n

    EDIT

    \n \n
    \n
    \n
    \n \n \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \"\"\n \"\"\n \n
    \n \n
    \n
    \n
    \n \n \n\n \n \n\n \n\n \n\n \n \n\n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n

    Edit Your Image

    \n \n
    \n
    \n
    \n\n \n \n\n
    \n
    \n
    \n \n \n \n\n \n \n\n \n\n \n\n \n \n\n
    \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n

    Are you sure want to delete
    this\n Comment?

    \n
    \n \n \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n

    Are you sure want to delete
    this\n Reply?

    \n
    \n \n \n
    \n
    \n
    \n\n\n\n
    \n \n
    \n
    \n \n
    \n \"\"\n
    \n
    The following video is not 1\">videos are not
    supported by your browser
    \n
    \n
      \n
    • \n {{vid?.name}}\n
    • \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n \n
    \n \n
    \n
    \n \n

    Are you sure want to logout?

    \n
    \n \n \n
    \n
    \n
    ","import {\n Component,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ChangeDetectorRef\n} from \"@angular/core\";\nimport { AbstractControl, AsyncValidatorFn, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BsModalRef, BsModalService, ModalOptions } from \"ngx-bootstrap/modal\";\nimport { ImageCroppedEvent, ImageTransform } from \"ngx-image-cropper\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { AuthService } from \"src/app/auth/services/auth.service\";\nimport { HeaderService } from \"src/app/shared/services/header.service\";\nimport { SharedService } from \"src/app/shared/services/shared.service\";\nimport { error } from \"src/app/_helpers/error\";\nimport { FormBuilder, NgForm } from \"@angular/forms\";\nimport * as _moment from 'moment';\nimport { MatTabChangeEvent } from \"@angular/material/tabs\";\nimport { ActivatedRoute, NavigationEnd, Router } from \"@angular/router\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport * as $ from 'jquery';\nimport { OwlOptions, SlidesOutputData } from 'ngx-owl-carousel-o';\nimport { HttpEventType } from \"@angular/common/http\";\nimport { ThrowStmt } from \"@angular/compiler\";\nimport { filter } from \"rxjs/operators\";\nimport { UrlService } from \"src/app/views/registration-part/services/url.service\";\nimport SpotifyPlayer from \"spotify-web-playback\";\n// const YTPlayer = require('yt-player');\n// import YTPlayer from \"yt-player\";\nimport { YtPlayerService, PlayerOptions } from 'yt-player-angular';\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { formatDate, Location } from \"@angular/common\";\nimport { AngularEditorConfig } from \"@kolkov/angular-editor\";\nimport { DOCUMENT } from '@angular/common';\nimport { AngularFireAnalytics } from \"@angular/fire/analytics\";\nimport { AnalyticsEvents, SVConstants } from \"src/app/app.constants\";\n// import { resolve } from \"dns\";\n// import { rejects } from \"assert\";\n\ndeclare global {\n interface Window {\n FB:any;\n }\n}\n\n@Component({\n selector: \"dynamic-profile\",\n templateUrl: \"./dynamic-profile.component.html\",\n styleUrls: [\"./dynamic-profile.component.scss\",'../../views/home/home.component.scss'],\n})\nexport class ProfileDynamicComponent implements OnInit, OnDestroy {\n\n @ViewChild(\"cancelRequests\") cancelRequests: TemplateRef;\n\n modalRef: BsModalRef;\n modalRef2: BsModalRef;\n modalRef3: BsModalRef;\n reportPostModel:boolean;\n reportCommentModel:boolean;\n reportPost:any;\n reportPostId:any;\n likes:any;\n reportCommentPostId:any;\n reportCommentId:any;\n allPosts:any = [];\n allShows:any = [];\n friendsList:any=[];\n topFourFriends:any=[];\n searchFriendKey:any;\n myInputValuedyn:any = '';\n error = error.err;\n date:any;\n\n update: boolean = false;\n view: boolean = false;\n submit: boolean = true;\n del: boolean = false;\n modalRefOpen:any;\n imagessArray = [];\n commentArea:boolean=false;\n\n moment = _moment;\n\n imgURL: any;\n fileName: any;\n uploaded: boolean = false;\n imagePath: any;\n message: any;\n cId: String;\n\n imgChangeEvt: any = \"\";\n cropImgPreview: any = \"\";\n singalurl: any;\n selectedFile: any;\n\n viewData: any;\n type: any;\n name: String;\n\n submitted: boolean = false;\n servicesList:any = [];\n serviceId:any;\n roleForm: FormGroup;\n dropdownChange:any = 1;\n modalImageUrl:any;\n profilePicUrl:any;\n coverPicUrl:any;\n profileDetails:any;\n createShowImageUrl:any;\n singleFriendData:any;\n playList:any=[];\n postId:any;\n profileId:any;\n otherFriends:any=[];\n genreList:any=[];\n photoAlbumCheckbox:boolean=true;\n uploadPhotoAlbumUrl:any;\n page:number=1;\n itemperPage:number=10;\n stopScrollingPost:boolean=true;\n stopScrollingShow:boolean=true;\n commentPostId:any;\n youtubeEdit:boolean = true;\n spotifyEdit:boolean = true;\n youtubePlayListData:any=[];\n\n @ViewChild(\"template\") template: TemplateRef;\n @ViewChild(\"myFile2\") myFile2: ElementRef;\n @ViewChild(\"reportPostModal\") reportPostModal: TemplateRef;\n @ViewChild(\"userUnfriend\") userUnfriend: TemplateRef;\n @ViewChild(\"editProfileModal\") editProfileModal: TemplateRef;\n @ViewChild(\"showupdateGenerModal\") showupdateGenerModal: TemplateRef;\n @ViewChild(\"youtubePlay\") youtubePlay: TemplateRef;\n @ViewChild(\"friendClickModal\") friendClickModal: TemplateRef;\n @ViewChild(\"spotifyPlay\") spotifyPlay: TemplateRef; \n @ViewChild(\"photoAlbumSlider\") photoAlbumSlider: TemplateRef; \n @ViewChild(\"deleteAlbumImage\") deleteAlbumImage: TemplateRef; \n @ViewChild(\"deletePost\") deletePost : TemplateRef;\n @ViewChild(\"commentsListModel\") commentsListModel: TemplateRef;\n @ViewChild(\"likesModel\") likesModel: TemplateRef;\n @ViewChild(\"addPlaylistModal\") addPlaylistModal: TemplateRef;\n @ViewChild('tabGroup') tabGroup;\n @ViewChild('ProfileOrCoverPictureview') ProfileOrCoverPictureview;\n @ViewChild(\"CreateShowCropModal\") CreateShowCropModal: TemplateRef;\n @ViewChild(\"CreatePostImageCropModal\") CreatePostImageCropModal: TemplateRef;\n @ViewChild(\"deleteCommentPopup\") deleteCommentPopup: TemplateRef;\n @ViewChild(\"deleteCommentReplyPopup\") deleteCommentReplyPopup: TemplateRef;\n @ViewChild(\"invalidVideoCodecPopup\") invalidVideoCodecPopup: TemplateRef;\n @ViewChild(\"myfileMac\") myfileMac;\n // @HostListener(\"click\")\n // clicked() {\n // this.myFile2.nativeElement.value = \"\";\n // }\n previousUrl:any;\n currentUrl:any;\n showSiidbar:boolean;\n spotify:any;\n constructor(\n private _header: HeaderService,\n private modalService: BsModalService,\n private service: SharedService,\n private toastrService: ToastrService,\n private authService: AuthService,\n private fb: FormBuilder,\n private router: ActivatedRoute,\n private spinner: SpinnerVisibilityService,\n private route: Router,\n private urlService: UrlService,\n private ytPlayerService: YtPlayerService,\n protected _sanitizer: DomSanitizer,\n private spinners: SpinnerVisibilityService,\n @Inject(DOCUMENT) private document: Document,\n private analytics: AngularFireAnalytics,\n private changeDetectorRef: ChangeDetectorRef,\n ) {\n \n this.route.events.pipe(\n filter((event) => event instanceof NavigationEnd)\n ).subscribe((event: NavigationEnd) => {\n console.log('previous url',this.previousUrl);\n console.log('currentUrl url',this.currentUrl);\n this.previousUrl = this.currentUrl;\n // if(this.previousUrl =='/dashboard/profile?id=639326892ab261ca24429811'){\n // (document.querySelector(\".slidepage\")).style.marginLeft = \"-78.3%\";\n // }\n \n this.currentUrl = event.url;\n this.urlService.setPreviousUrl(this.previousUrl);\n this.currentUser = this.authService.currentUserValue;\n this.analytics.logEvent(AnalyticsEvents.SCREEN_VISITED,{name:SVConstants.profile});\n });\n }\n\n currentUser;\n\n interests: any;\n postList:any = [];\n goYoutubeField:any;\n unFriendUserName:string;\n timelineVisible:boolean;\n youtubePlayer;\n\n // heading\n ngOnInit(): void {\n // var tabs= document.querySelector('.mat-tab-label');\n // console.log(tabs);\n // document.querySelector('audio').removeAttribute('controls')\n // this.bandcampp();\n document.getElementById(\"text\").style.overflow=\"\";\n document.getElementById('text').classList.remove('removebodyscroll');\n var owl = $('.owl-carousel');\n // get owl instance from element\n var owlInstance = owl.data('owlCarousel');\n \n // if instance is existing\n if(owlInstance != null)\n owlInstance.reinit();\n\n\n this.service.data$.subscribe(\n (data) => {\n console.log(data);\n this.selectedIndex = data;\n }\n );\n\n this.service.play$.subscribe((data:any)=> {\n this.youtubePlayData = data;\n this.openModal(this.youtubePlay);\n // this.youtubePlay.classList.add('hello');\n // this.modalService.openModal( youtubePlay, { windowClass: 'my-own-styles' });\n this.modalService.show(this.youtubePlay, {class: 'customClass'});\n document.querySelector('.modal').classList.add('youtubepopup');\n })\n\n this.service.playSpotify$.subscribe((data:any)=> {\n this.spotifySingleData = data;\n this.openModal(this.spotifyPlay);\n console.log(data);\n })\n\n\n this._header.manageServicesHeading.next(true);\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.createShowImageUrl = '../../../../assets/Indietown_icons/coverpic.png';\n this.uploadPhotoAlbumUrl='../../../assets/Indietown_icons/upload-photo-album.svg';\n this.router.queryParams.subscribe(params => {\n this.postId = params['id'];\n this.profileId = params['id'];\n this.unFriendUserName = params['user'];\n this.timelineVisible = params['timeline'];\n if(this.unFriendUserName) {\n this.showSiidbar = true;\n }else{\n this.showSiidbar = false;\n }\n\n \n\n })\n\n this.photoAlbumCheckbox= false;\n\n if(this.postId){\n this.getProfileById(this.postId);\n this.getMyProfile();\n this.getPostsId(this.postId,this.postsPageNumber,this.postsPageSize);\n this.getShows(this.postId,this.showsPageNumber,this.showsPageSize);\n // this.getFriendsListById(this.postId);\n this.getPlayListById(this.postId);\n this.getYoutubePlaylist(this.postId);\n }else{\n \n this.getProfile();\n // this.getPlayList();\n // this.getSpotifyList();\n console.log(this.currentUser);\n this.getPostsId(this.currentUser.userId,this.postsPageNumber,this.postsPageSize);\n this.getShows(this.currentUser.userId,this.showsPageNumber,this.showsPageSize);\n // this.getPosts(this.page, this.itemperPage);\n // this.getFriendsList();\n this.getYoutubePlaylist(\"\");\n }\n // this.spotifyInitialization();\n // this.getPostsId(this.profileDetails._id);\n // this.youtubePlayer = new YTPlayer('#youtubePlayer');\n\n /** Hide Spotify \n this.checkSpotifyExist(this.postId);\n */\n /** Unhide and opens link in new tab or Iframe */\n this.checkSpotifyExist(this.postId);\n \n this.checkYoutubeExist(this.postId);\n this.checkSoundcloudExist(this.postId);\n this.checkBandcampExist(this.postId);\n // if(localStorage.getItem(\"SpotifyAutorizedAndRedirected\")){\n // localStorage.removeItem(\"SpotifyAutorizedAndRedirected\");\n // this.selectedIndex = 3;\n // }\n // if(localStorage.getItem(\"profile-incomplete\")){\n // console.log(\"1111111\",this.document.getElementById(\"editProfileBtn\"));\n // localStorage.removeItem(\"profile-incomplete\");\n // // this.document.getElementById(\"editProfileBtn\")?.click();\n // this.openEditModal();\n // }\n\n // console.log(\"from after view init\");\n if(localStorage.getItem(\"profile-incomplete\")){\n console.log(\"1111111\",this.document.getElementById(\"editProfileBtn\"));\n localStorage.removeItem(\"profile-incomplete\");\n // this.document.getElementById(\"editProfileBtn\")?.click();\n // this.spinner.show();\n this.openEditModal();\n }\n \n }\n\n ngAfterViewInit(){\n // console.log(\"from after view init\");\n // if(localStorage.getItem(\"profile-incomplete\")){\n // console.log(\"1111111\",this.document.getElementById(\"editProfileBtn\"));\n // localStorage.removeItem(\"profile-incomplete\");\n // // this.document.getElementById(\"editProfileBtn\")?.click();\n // // this.spinner.show();\n // this.openEditModal();\n // }\n }\n\n spotifyPlayerNew;\n spotifyToken;\n device_id;\n postsPageNumber = 1;\n postsPageSize = 20;\n showsPageSize = 20;\n showsPageNumber = 1;\n\n\n customOptions: OwlOptions = {\n loop: true,\n mouseDrag: false,\n touchDrag: false,\n pullDrag: false,\n dots: false,\n navSpeed: 700,\n navText: ['', ''],\n responsive: {\n 0: {\n items: 1\n },\n 200: {\n items: 2\n },\n 300: {\n items: 3\n },\n 400: {\n items: 4\n }\n },\n nav: true\n }\n\n updateProfileForm = new FormGroup({\n bandName: new FormControl(''),\n email: new FormControl(''),\n phone: new FormControl(''),\n location: new FormControl(''),\n genre: new FormControl(''),\n bio: new FormControl(''),\n spotifyURL: new FormControl(''),\n youtubeURL: new FormControl(''),\n profilePicture: new FormControl(''),\n profilePictureKey: new FormControl(''),\n coverPicture: new FormControl(''),\n coverPictureKey: new FormControl(''),\n city: new FormControl(''),\n state: new FormControl(''),\n country: new FormControl(''),\n lat: new FormControl(''),\n long: new FormControl(''),\n MobNum: new FormControl ('')\n })\n\n\n reportPostForm = new FormGroup({\n comment: new FormControl('', [Validators.required])\n })\n\n reportCommentForm = new FormGroup({\n comment: new FormControl('', [Validators.required])\n })\n\n createCommentForm = new FormGroup({\n comment: new FormControl('', [Validators.required])\n })\n\n\n geners = '';\n genersId=[];\n role:any;\n myProfileDetails;\n getProfile(){\n\n this.service.getProfile().subscribe((res:any) => {\n this.geners = '';\n this.genersId=[];\n if(res.type == 'success'){\n this.profileDetails = res.data;\n this.role = res.data.role;\n if(this.role=='Artist'){\n this.service.getArtistGenerList().subscribe((res:any) => {\n if(res.type == 'success'){\n this.genreList = res.data;\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n console.log(this.profileDetails, \"this.profileDetails\")\n for(var i of this.genreList){\n for(var j of res.data.genereIds)\n if(i._id == j?._id){\n this.genersId.push(i._id);\n this.geners = this.geners + ',' + ' ' + i.genereName;\n console.log(this.geners);\n }\n }\n }\n })\n }\n })\n }else{\n this.service.getGenres().subscribe((res:any) => {\n if(res.type == 'success'){\n let list = res.data;\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n for(var i of list){\n for(var j of res.data.communityIds)\n if(i._id == j?._id){\n this.genersId.push(i._id);\n this.geners = this.geners + ',' + ' ' + i.communityName;\n }\n }\n }\n })\n }\n })\n }\n }\n })\n\n }\n\n getMyProfile(){\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.myProfileDetails = res.data; \n }\n })\n }\n\n getGeners(){\n this.service.getGenres().subscribe((res:any) => {\n if(res.type == 'success'){\n this.genreList = res.data;\n }\n })\n }\n\n getProfileById(id:any){\n this.service.getProfileById(id).subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n }\n })\n }\n\n allPostsCopy = [];\n getPostsId(id:any,pageSize,pageNumber){\n this.service.getPostByIdImpl(id,pageSize,pageNumber).subscribe((res:any) => {\n if(res.type == 'success'){\n if(res?.data?.length){\n // this.allPosts.push(...res.data);\n this.allPostsCopy.push(...res.data);\n this.allPosts = this.allPostsCopy;\n }\n else{\n this.stopScrollingPost= false;\n this.allPosts = this.allPostsCopy;\n }\n // this.postList = res.data;\n // if(res.data == 'res.data'){\n // this.postList = [];\n // }\n // if(res.data.length==0){\n // this.stopScrollingPost= false;\n // }else{\n // this.stopScrollingPost= true;\n // }\n\n // for(var i of this.postList){\n // if(i.type=='SHOW'){\n // this.allShows.push(i);\n // }else{\n // this.allPosts.push(i);\n // this.allPostsCopy.push(i);\n // }\n // }\n\n // this.allPostsCopy = this.allPosts;\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n getShows(id:any,pageSize,pageNumber){\n this.service.getShowsByIdImpl(id,pageSize,pageNumber).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.allShows = res.data;\n if(res?.data?.length){\n this.allShows.push(...res.data)\n }\n else{\n this.stopScrollingShow= false;\n }\n // this.postList = res.data;\n // if(res.data == 'res.data'){\n // this.postList = [];\n // }\n // if(res.data.length==0){\n // this.stopScrollingPost= false;\n // }else{\n // this.stopScrollingPost= true;\n // }\n\n // for(var i of this.postList){\n // if(i.type=='SHOW'){\n // this.allShows.push(i);\n // }else{\n // this.allPosts.push(i)\n // }\n // }\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n spotifyplayList:any=[];\n // audioList:any = [];\n\n\n myPlayList:any=[];\n // audioList = [\n // {\n // url: \"https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3\",\n // title: \"Smaple 1\",\n // cover: \"https://i1.sndcdn.com/artworks-000249294066-uow7s0-t500x500.jpg\",\n // time:6100\n // }\n // ];\n audioList:any = [];\n NextPageTokenForYoutube;\n getYoutubePlaylist(userId){\n console.log(1);\n this.service.getYoutubePlayList({id:userId}).subscribe((res:any)=>{\n // this.playList = res?.data?.youtubeResult;\n console.log(res.data.videos);\n this.playList = res.data.videos;\n if(res.data?.pageInfo?.nextPageToken){\n this.moreVideosComing = true;\n }\n this.NextPageTokenForYoutube = res.data.pageInfo.nextPageToken;\n })\n // this.playList = res.data.youtubeResult;\n }\n\n getPlayList(){\n this.service.getSpotifyPlayList(\"\").subscribe(\n (res:any)=> {\n console.log(res); \n for(var i of res?.data){\n let data = { \n url: ''+i?.track?.uri,\n title: ''+i?.track?.name,\n cover: ''+i?.track?.album?.images[2]?.url,\n time: i?.track?.duration_ms,\n albumName: ''+i?.track?.album?.name,\n durationInMilli: i?.track?.duration_ms\n }\n this.audioList.push(data);\n if(this.audioList.length>3){\n this.audioList = this.audioList.splice(0, 3);\n }\n this.currentlyPlayingSpotifySong = this.audioList[0];\n this.spotifySongSelectedIndex = 0;\n }\n // this.audioList.splice(0,1);\n }, (res:any)=> {\n this.spinner.hide();\n });\n // let data = [\n // {\n // \"name\": \"a\",\n // \"uri\": \"spotify:track:6XYQvYJzHjK5150Vl7NKfJ\",\n // url:\"https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\",\n // duration_ms:3500\n // } ,\n // {\n // \"name\": \"b\",\n // \"uri\": \"spotify:track:3LP4QpKptfe2yEC7oG5iNa\",\n // url:\"https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\",\n // duration_ms:3500\n // },\n // {\n // \"name\": \"c\",\n // \"uri\": \"spotify:track:1AzNN19lPYC68iacrbWL8X\",\n // url:\"https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\",\n // duration_ms:3500\n // } \n // ]\n // for(var i of data){\n // let data = { \n // url: ''+i?.uri,\n // title: ''+i?.name,\n // cover: ''+i?.url,\n // time: i?.duration_ms\n // }\n // this.audioList.push(data);\n // }\n // this.audioList.splice(0,1);\n // this.service.getPlayList().subscribe((res:any)=> {\n // if(res.type == 'success'){\n // let youtb;\n // let spot;\n // if(res?.data?.youtubeResult?.length<=0 || res?.data?.youtubeResult?.length==undefined){\n // youtb = true;\n // }\n // if(res.data?.spotifyResult?.body?.tracks?.items?.length<=0 || res.data?.spotifyResult?.body?.tracks?.items?.length==undefined){\n // spot = true;\n // }\n\n // if(spot==true && youtb==true){\n // return\n // }\n // if(youtb!=true){\n // this.playList = res.data.youtubeResult;\n // }\n // if(spot!=true){\n // this.spotifyplayList = res.data.spotifyResult;\n\n // for(var i of res?.data?.spotifyResult?.body?.tracks?.items){\n // let data = \n // { \n // url: ''+i?.track?.preview_url,\n // title: ''+i?.track?.name,\n // cover: ''+i?.track?.album?.images[2]?.url,\n // time: i?.track?.duration_ms\n // }\n // if(i?.track?.preview_url!=null){\n // this.audioList.push(data);\n // }\n // }\n // this.audioList.splice(0,1);\n // }\n // }else{\n // this.toastrService.error(res.message);\n // }\n // },(error)=>{\n // this.toastrService.error(error?.error?.message?.body?.error?.message);\n // })\n }\n\n getPlayListById(id:any){\n this.service.getSpotifyPlayList(id).subscribe((res:any)=> {\n console.log(res); \n for(var i of res?.data){\n let data = { \n url: ''+i?.track?.uri,\n title: ''+i?.track?.name,\n cover: ''+i?.track?.album?.images[2]?.url,\n time: i?.track?.duration_ms,\n albumName: ''+i?.track?.album?.name,\n durationInMilli: i?.track?.duration_ms\n }\n this.audioList.push(data);\n // if(this.audioList.length>3){\n // this.audioList = this.audioList.splice(0, 3);\n // }\n this.currentlyPlayingSpotifySong = this.audioList[0];\n this.spotifySongSelectedIndex = 0;\n }\n // this.audioList.splice(0,1);\n }, (res:any)=> {\n this.spinner.hide();\n });\n }\n\n spotifySongSelectedIndex:any;\n spotifySongSelected:boolean = false;\n currentlyPlayingSpotifySong;\n\n \n\n\n async spotifyInitialization() {\n \n // const token = \"BQDa4OM2ETnfXrs_te2UPsh4FG-gE0wE_4OUSpPKO0JAWkWA3kDB_i5GcRXD_N1zXFlxu_kP64kD_WzStIrjETUTDsmRtR6Oh6SnM8G4kLbyr-t5KDbMIBC_mWb3KUqLiBnUbLSZF7ljNRwZeivyIAlqde6V9CsDy3Z5ClJ5uKObaNPlScemEElXJE0G9bQMCcgm2mTXDhJhyYVXfL2S_A54NUz8ECKc4m7gZDZmG7gLAbpFlui_Ixqeiw\";\n // const token = \"BQCavXJA-UdLHHtPDlSbZRJ45TIcp59Hir7wa86AeuyAGgArNGs-cQSxMZeOAR5fDjnH9n24vjnT0pC_jRvIvP0dJpEjlXMfHRHSmpAtmDC2HLBAnnakgEWrZZTC4qkLzcjw10aLvtT81vzdopYm4WbgpH06NYhksTeq6bj2E82JP0IBVrWC5kfSqQ3Cq-VHqTXPw7mghpV4j63RO_MHp7RPT-7xEuXVf_NBlJerdmkWf0eM6BbiyNwjww\";\n // const token = \"BQBssH7wcAx7c5diUlPcTjA6RiJNV103jaiaWgS1fSBh_UYu2Pg8rAlI_-1snXdLSj7DUSBFBdPXR8BLOxQRcH3E-aQx3W2AdX4m1AtCu8pAeo0OpzE2s_rNcgjDGhN4oSbScDHgBMS0fUbR_0P61RLVHIMhQZOMjSpeT3IdITK2WHNjZw6HkptDSZKqGSsX6kHSJbH_JzEoTm4ODNdIAI0tRT3n_jKrP_95o4UmR-GiEd6Pv_7ooUHIlQ\";\n // const token = \"BQAG-hn1hI8C6iN1Rz0YOGaff33zVyV5gDKeURTTqck9gysOKvjrDBH0UdSXDTlUyATm0Dq4vkqLEIqiHvS0OX17QQRG9m-Z8NGlP6MMqqPZHeh-WA4kAB28WmhoAd6diYyk9Hqu2LmaF-Y5Wa6Cf0f6vvTwb5gwXqxlR5g3RZHjaBDNfzsPxZpkD-naLNmDMGuoD27h8cKtTduNyEUwTnvS0Bmeo6ZuYy_RGenfnEyWcwq2REe3oO5ODA\";\n //const token = \"BQC2TWaAmcQZRKXXraIC2XwKVXwF_9LY44ITTgeKocRTvupOjZmhRDl4gzVVvatUS0bYbJ5Ni_mWkPqcFFjq1PeA9sFTPsEoYn8DgDgLE6rG9_DfSQAl14_dbZmfptYqMvv6IO84YA8sWrtvqXujURDhGpl28RSkxnP-kDAwWviuymOzQN9wCqENQg-jVmNDVPBm3q70WiL1S_Ibd3vaByeR3o0t2DHSM-5YxzxNjXMV8UA52UKNDU88MQ\";\n // const token = \"BQDQbKgEpL7LfpvPfnUAIiLWlKAQxC1RA5m-98RVQmlgGc6wdpA-JhYBEwgTnA4F4LNDFJwUblCdfMfgTIII6XyMYuURxVdKSD-9_kMSzkslTV5-yhg9bQpqRpF6YrG3_aDqF_j13-yMrgSaJAbbrFJiM5ij8NaTLcS97n8BQ4NgPYuEx1iGA_QyQ15ZDkabps2gTP0J1lxYIcUhTZVrCZMSd_m6xZ-QlwLuQ9jCJDhfUWmB3QZJwsd9Yg\";\n // const token = \"BQAwAt3z_WeJELJMoqPb8b5roH0DGLSViY1Ki_nv0IfGWI9WUE0lwIfNcVt79j7FCw8BaN0H_6zdoWlqmuDi_rI6Q8-YchKNtxuAqIH26aXlTz6owSGTAzmpMDJoWDJiqFHE5Sls9RHwFOPYUxeI_SIXXmHwBk1IfAn9c6NzxQuR0J0wOhEOUObYInGJ22uipMS5EEyaQgnWog19hnvL3E0lTMiFfiwgHzl4xdBJA39mR6U69KI6ZYJTpA\";\n // const token = \"BQDQbKgEpL7LfpvPfnUAIiLWlKAQxC1RA5m-98RVQmlgGc6wdpA-JhYBEwgTnA4F4LNDFJwUblCdfMfgTIII6XyMYuURxVdKSD-9_kMSzkslTV5-yhg9bQpqRpF6YrG3_aDqF_j13-yMrgSaJAbbrFJiM5ij8NaTLcS97n8BQ4NgPYuEx1iGA_QyQ15ZDkabps2gTP0J1lxYIcUhTZVrCZMSd_m6xZ-QlwLuQ9jCJDhfUWmB3QZJwsd9Yg\";\n // const token = \"BQBla4Zxrkw6Htc5yg7f6EcgEY988E3iKrenxxykF7pY02NQWlRr3B_xk1-5sBIPNf8ZSsPWC4SmeAto8Pc4QufYDF0LezoLygBsUGPPqiz5qSnn5I3wRRDyR5Z8D6YWRHyqMaJZVCip0T00EPT6qjO5Dbs3N9myNHwTf6VVnKLk9ACl_latNRFrwBj4U_cdEF10y1WoCibSZpa04VB3MgRouXOxbZ3c3Y3gpFat97axEeTW8-i2oLASXg\";\n // this.service.getSpotifyToken().subscribe(async(res:any)=>{\n // console.log(res);\n // this.spotify = new SpotifyPlayer(\"test12\");\n // await this.spotify.connect(res?.data?.access_token);\n // })\n // const uri = \"spotify:track:3GCwsB2loRGeUL8oq2Y4TW\";\n \n // this.spotify = new SpotifyPlayer(\"test12\");\n // await this.spotify.connect(token);\n\n const script = document.createElement('script')\n script.src = 'https://sdk.scdn.co/spotify-player.js'\n script.type = 'text/javascript'\n script.addEventListener('load', e => {\n console.log(e)\n });\n document.head.appendChild(script);\n\n (window).onSpotifyWebPlaybackSDKReady = () => {\n // this.spotifyToken = 'BQAT3ywNQLFFwApAcZIwBdX3KOpi2THCpgcbQktLHa_zcmbYT_k_kckdxw-SjlA22fwrOygbALYZQNZHcI3wzE4PcOdy3tA4KmzKi22jiSxgNpXcefemHH-JYZsgjNacBCO4nYK6EXDvbg5iaJnQYoKc6Sfo7chjBCKBwgasmsKyd5s0UoeAuWKwqhmzOB9_UllWwoLfY58PCQVmHNa2mJkI9mee2U22xbm7wiJKXzutMSbngls0T3zwqQ';\n // this.spotifyToken = \"BQAc4b9Lp4nD-D-WljcC8XoSJjEhteGPmT_V7vQxKGpO5Aqi2V5_5KeVEPkDpA2lcwC69gLET0WwqESlchV6crOcdO_N-kgQyx1pdL6eLryV5VTtvewM1gWa6fSetmgJOdFHjTJcATxdXg8YO6KrqJFYeP_cXn6uQGxEJV4nGSG4Ivd6IShEK3NvUwT73wLZm63DaDB_bgbWxoTLqTvOcJ5mNTW-p_O1hoQFnBgZzGyLlclmeG-cv3fMVg\";\n // this.spotifyToken = \"BQC9-Cnx8EmSGYlI-mb4wf5vEfKFFvY7nnoeu9xGDYJ76HVH_qzwp4qeEU2o-8egQXIF0eBfmXyfN_UAkAlomX_FUWnO1hfxu3KV6nAfjulBGyq4G0wVEVo5KQjSwC5Hv2Vud8zXS9KbHkw7RUkHBAsMkeZJhHF6veIRi16Wrx8jQWhLfng-FMdiMW1ROJ0Q09DB6JHF1BwtKh5J8Snk9aC4w6DU1vKorecgviPyDszjDG0CTX40W18aRg\";\n // this.spotifyToken = this.service.getSpotifyToken().subscribe(\n // (res:any)=>{\n // let token = this.spotifyToken;\n\n\n // this.spotifyToken = res.data[\"access_token\"];\n // this.spotifyToken = JSON.parse(localStorage.getItem('spotifyTokenInfo')).accessToken;\n this.spotifyToken = this.getSpotifyToken();\n // Get the token and assign here\n\n this.spotifyToken = this.spotifyTokenInfo.access_token;\n let token = this.spotifyToken;\n this.spotifyPlayerNew = new (window).Spotify.Player({\n name: 'Web Playback SDK Quick Start Player',\n getOAuthToken: cb => { cb(token); },\n volume: 0.5\n }, (res:any)=> {\n this.spinner.hide();\n });\n \n console.log(this.spotifyPlayerNew);\n \n this.spotifyPlayerNew.addListener('ready', ({ device_id }) => {\n console.log('Ready with Device ID', device_id);\n this.device_id = device_id;\n });\n \n // Not Ready\n this.spotifyPlayerNew.addListener('not_ready', ({ device_id }) => {\n console.log('Device ID has gone offline', device_id);\n });\n\n this.spotifyPlayerNew.addListener('player_state_changed', state => {\n // this.paused1 = state.paused;\n // this.state1 = state;\n // // this.spotifySongProgressBarValue = Math.trunc((state.position/state.duration)*100);\n // this.position1 = state.position;\n // this.duration1 = state.duration;\n this.currState[\"paused\"] = state?.paused;\n this.currState[\"position\"] = state?.position;\n this.currState['duration'] = state?.duration;\n this.currState['updateTime'] = performance.now();\n });\n \n this.spotifyPlayerNew.connect();\n \n // })\n \n // this.spotifyPlayerNew.addListener('player_state_changed', ({\n // position,\n // duration,\n // track_window: { current_track }\n // }) => {\n // this.spotifySongProgressBarValue = Math.trunc((position/duration)*100);\n // this.position1 = position;\n // this.duration1 = duration;\n // });\n\n \n // setInterval(()=>{\n // // console.log(this.spotifySongProgressBarValue);\n // // console.log(this.position1);\n // // console.log(this.duration1);\n // // console.log(this.paused1);\n // // console.log(this.state1);\n // // let aa = this.getStatePosition();\n // // console.log(aa);\n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n // console.log(state);\n \n // console.log('Currently Playing');\n // console.log('Playing Next');\n // });\n // });\n\n // setTimeout(()=>{\n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n \n // var current_track = state.track_window.current_track;\n // var next_track = state.track_window.next_tracks[0];\n \n // console.log('Currently Playing', current_track);\n // console.log('Playing Next', next_track);\n // });\n // },10000)\n }\n\n }\n\n getStatePosition() {\n if (this.currState?.paused) {\n return this.currState?.position;\n }\n console.log(\"position \",this.currState?.position);\n console.log(\"pnow \",performance.now());\n console.log(\"upddatetime \",this.currState?.updateTime);\n let position = this.currState?.position + (performance.now() - this.currState?.updateTime) / 1000;\n\n console.log(\"final pos\",position);\n console.log(\"final duration\",this.currState?.duration);\n return position > this.currState?.duration ? this.currState?.duration : position;\n }\n // currState:any;\n currState = {\n paused:false,\n position:0,\n duration:0,\n updateTime:0\n }\n position1;\n duration1;\n paused1;\n state1;\n abc(position,duration){\n console.log(\"123\");\n this.spotifySongProgressBarValue = Math.trunc((position/duration)*100);\n }\n // playSelectedSong(songDetails,index:any){\n // // var names = document.querySelectorAll('ang-music-player audio');\n // // var image = document.querySelectorAll('ang-music-player img');\n // // var title = document.querySelectorAll('ang-music-player p');\n \n // console.log(songDetails);\n // console.log(index);\n \n // this.spotifySongSelected = true;\n // this.spotifySongSelectedIndex = index;\n // this.currentlyPlayingSpotifySong = this.audioList[index];\n \n // this.play(this.currentlyPlayingSpotifySong.url);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // // console.log(this.audioList[index].url);\n // // this.spotify.play(this.audioList[index].url);\n // console.log(\"playing spotify song\");\n // // console.log(this.playList);\n // // for(var i=0; ititle[i]).innerHTML = data.title;\n // // }\n \n // // for(var i=0; inames[i]).src = data.url;\n // // }\n \n // // for(var i=0; iimage[i]).src = data.cover;\n // // }\n // // document.getElementsByTagName('audio')[0].autoplay=true;\n \n // // this.spotifySingleData = data;\n // // this.openModal(this.spotifyPlay)\n // }\n\n spotifySongTrackType;\n spotifySongPlaylistIndex;\n playSelectedSong(type,index,subTrackIndex:any){\n // var names = document.querySelectorAll('ang-music-player audio');\n // var image = document.querySelectorAll('ang-music-player img');\n // var title = document.querySelectorAll('ang-music-player p');\n \n console.log(type);\n console.log(index);\n console.log(subTrackIndex);\n \n this.spotifySongSelected = true;\n if(type == 'playlist'){\n this.spotifySongTrackType = 'playlist';\n this.spotifySongPlaylistIndex = index;\n this.spotifySongSelectedIndex = subTrackIndex;\n this.currentlyPlayingSpotifySong = this.spotifyList[index].items[subTrackIndex];\n }\n else{\n this.spotifySongTrackType = 'singleTrack';\n this.spotifySongSelectedIndex = index;\n this.currentlyPlayingSpotifySong = this.spotifyList[index].items[0];\n }\n \n console.log(this.currentlyPlayingSpotifySong);\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n console.log(\"playing spotify song\");\n \n }\n\n spotifyVolumeOn = true;\n spotifyVolumeToggle(){\n if(this.spotifyVolumeOn){\n this.spotifyPlayerNew.setVolume(0).then(() => {\n console.log('Muted');\n this.spotifyVolumeOn = false;\n this.spotifyVolume = 0;\n });\n }\n else{\n this.spotifyPlayerNew.setVolume(0.3).then(() => {\n console.log('UnMuted');\n this.spotifyVolumeOn = true;\n this.spotifyVolume = 30;\n });\n }\n \n\n }\n \n spotifyPlayPrevious(){\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n // }\n // else if(this.spotifySongSelectedIndex == 0){\n // // if(this.spotifySongRepeatModeOn){\n // this.spotifySongSelectedIndex = this.audioList.length;\n // // }\n // }\n // this.spotifySongSelectedIndex-=1;\n\n\n\n if(this.spotifySongTrackType == 'playlsit'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == 0){\n this.spotifySongSelectedIndex = this.spotifyList[this.spotifySongPlaylistIndex].items.length-1;\n }\n else{\n this.spotifySongSelectedIndex--;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getPreviousSingleAndPlay();\n }\n\n\n /********************************* Latest Code ************************************* */\n /** \n if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == 0 && this.spotifySongSelectedIndex == 0) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == 0)){\n // this.spotifySongSelectedIndex = -1;\n let subTrackIndex = this.spotifyList[this.spotifyList.length-1].trackType == 'playlist' ? this.spotifyList[this.spotifyList.length-1].items[this.spotifyList[this.spotifyList.length-1].items.length-1] : null;\n this.playSelectedSong(this.spotifyList[this.spotifyList.length-1].trackType,this.spotifyList.length-1,subTrackIndex);\n return;\n } \n else if(this.spotifySongTrackType == 'playlist'){\n if(this.spotifySongSelectedIndex == 0){\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex-1].items[this.spotifySongSelectedIndex];\n }\n else{\n this.spotifySongSelectedIndex = this.spotifySongSelectedIndex - 1;\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex].items[this.spotifySongSelectedIndex];\n }\n }\n else{\n this.spotifySongSelectedIndex = this.spotifySongSelectedIndex - 1;\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongSelectedIndex].items[0];\n }\n // this.currentlyPlayingSpotifySong = this.audioList[this.spotifySongSelectedIndex];\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n this.spotifySongPaused = false;\n */\n }\n\n spotifySongPlay(){\n // this.spotify\n // debugger;\n // if(this.spotifySongSelected)\n // this.spotify.play(this.audioList[this.spotifySongSelectedIndex].url);\n // else{\n // this.spotifySongSelected = true;\n // this.spotifySongSelectedIndex = 0;\n // this.spotify.play(this.audioList[this.spotifySongSelectedIndex].url);\n // }\n // this.spotifyPlayerNew.play();\n \n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // console.log(state);\n // if (!state) {\n // console.log(\"playing new\")\n // this.play(this.currentlyPlayingSpotifySong.url);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // }\n // else{\n // this.spotifyPlayerNew.resume().then(() => {\n // console.log('Resumed!');\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // });\n // }\n // });\n // if(document.getElementById(\"spotifySongPlay\").style.display == 'block'){\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // this.play(this.currentlyPlayingSpotifySong.url);\n // }\n // else{\n // document.getElementById(\"spotifySongPlay\").style.display = 'block';\n // document.getElementById(\"spotifySongPause\").style.display = 'none';\n // this.spotifyPlayerNew.resume();\n // }\n\n if(this.spotifySongPaused){\n this.spotifyPlayerNew.resume();\n this.spotifySongPaused = false;\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n }\n else{\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n }\n \n \n }\n\n spotifySongProgressBarValue = 0;\n spotifySongPaused = false;\n spotifySongRepeatModeOn = false;\n spotifyVolume = 50;\n songEnded = false;\n already = true;\n spotifySongPause(){\n this.spotifyPlayerNew.pause().then(() => {\n console.log('Paused!');\n this.spotifySongPaused = true;\n document.getElementById(\"spotifySongPlay\").style.display = 'block';\n document.getElementById(\"spotifySongPause\").style.display = 'none';\n }); \n }\n volumeChange(e){\n console.log(e.target.value);\n this.spotifyPlayerNew.setVolume(e.target.value*0.01).then(() => {\n console.log('Volume updated!');\n if(e.target.value == 0){\n this.spotifyVolumeOn = false;\n }\n });\n }\n spotifyPlayNext(){\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n // }\n // else if(this.spotifySongSelectedIndex == this.spotifyList.length-1){\n // // if(this.spotifySongRepeatModeOn){\n // this.spotifySongSelectedIndex = -1;\n // // }\n // } \n\n \n \n // this.currentlyPlayingSpotifySong = this.audioList[this.spotifySongSelectedIndex];\n // this.play(this.audioList[this.spotifySongSelectedIndex].url);\n \n /**** ***************************** Latest Commented ************************************ */\n\n\n // Check if this is last song\n // if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == this.spotifyList.length-1 && this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].length-1) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == this.spotifyList.length-1)){\n // // this.spotifySongSelectedIndex = -1;\n // let subTrackIndex = this.spotifyList[0].trackType == 'playlist' ? 0 : null;\n // this.playSelectedSong(this.spotifyList[0].trackType,0,subTrackIndex);\n // return;\n // } \n // else if(this.spotifySongTrackType == 'playlist'){\n // if(this.spotifyList[this.spotifySongPlaylistIndex].items.length-1 == this.spotifySongSelectedIndex){\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex+1].items[this.spotifySongSelectedIndex];\n // }\n // else{\n // this.spotifySongSelectedIndex = this.spotifySongSelectedIndex + 1;\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex].items[this.spotifySongSelectedIndex];\n // }\n // }\n // else{\n // this.spotifySongSelectedIndex = this.spotifySongSelectedIndex + 1;\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongSelectedIndex].items[0];\n // }\n // this.play(this.currentlyPlayingSpotifySong.uri);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // this.spotifySongPaused = false;\n \n //Check if it the last song\n // this.audioList.length\n\n /******************************************************************************************** */\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.spotifyList.length);\n\n // if(this.spotifyList)\n\n // }\n // else\n // debugger;\n if(this.spotifySongTrackType == 'playlist'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].items.length-1){\n this.spotifySongSelectedIndex = 0;\n }\n else{\n this.spotifySongSelectedIndex++;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getNextSingleAndPlay();\n }\n }\n spotifyProgressBarInterval;\n // play(url){\n // // this.songEnded = false;\n // setTimeout(()=>{\n // this.already = true;\n // },5000)\n \n // $.ajax({\n // url: \"https://api.spotify.com/v1/me/player/play?device_id=\" + this.device_id,\n // type: \"PUT\",\n // data: `{\"uris\": [\"${url}\"]}`,\n // // data: `{\"uris\": [\"}\"]}`,\n // beforeSend: (xhr)=>{xhr.setRequestHeader('Authorization', 'Bearer ' + this.spotifyToken );},\n // success: (data) => { \n // console.log(data);\n // this.startProgress();\n // // this.spotifyProgressBarInterval = setInterval(()=>{\n // // // console.log(this.spotifySongProgressBarValue);\n // // // console.log(this.position1);\n // // // console.log(this.duration1);\n // // // console.log(this.paused1);\n // // // console.log(this.state1);\n // // // let aa = this.getStatePosition();\n // // // console.log(aa);\n // // this.spotifyPlayerNew.getCurrentState().then(state => {\n // // if (!state) {\n // // console.error('User is not playing music through the Web Playback SDK');\n // // return;\n // // }\n // // console.log(state);\n // // this.spotifySongProgressBarValue = (state.position/state.duration)*100;\n // // console.log(this.spotifySongProgressBarValue);\n\n // // if(state.paused && !Math.trunc(this.spotifySongProgressBarValue)){\n // // clearInterval(this.spotifyProgressBarInterval);\n // // }\n\n // // });\n // // });\n // }\n // });\n // }\n play(url){\n // this.songEnded = false;\n setTimeout(()=>{\n this.already = true;\n },5000)\n \n $.ajax({\n url: \"https://api.spotify.com/v1/me/player/play?device_id=\" + this.device_id,\n type: \"PUT\",\n data: `{\"uris\": [\"${url}\"]}`,\n // data: `{\"uris\": [\"}\"]}`,\n beforeSend: (xhr)=>{xhr.setRequestHeader('Authorization', 'Bearer ' + this.spotifyToken );},\n success: (data) => { \n console.log(data);\n this.startProgress();\n }\n });\n }\n spotifySongPlayedTill = '0:00';\n spotifyShuffleModeOn = false;\n originalSpotifyList = [];\n spotifySongShuffleToggle(){\n this.spotifyShuffleModeOn = !this.spotifyShuffleModeOn;\n // if(this.spotifyShuffleModeOn){\n // this.spotifyList = this.shuffle(this.spotifyList);\n // }\n // else{\n // this.spotifyList = this.originalSpotifyList;\n // }\n }\n\n shuffle(array) {\n let currentIndex = array.length, randomIndex;\n \n // While there remain elements to shuffle.\n while (currentIndex != 0) {\n \n // Pick a remaining element.\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n \n // And swap it with the current element.\n [array[currentIndex], array[randomIndex]] = [\n array[randomIndex], array[currentIndex]];\n }\n \n return array;\n }\n\n\n\n startProgress(){\n console.log(\"started\");\n this.spotifySongProgressBarValue = 0;\n this.spotifyProgressBarInterval = setInterval(()=>{\n // console.log(this.spotifySongProgressBarValue);\n // console.log(this.position1);\n // console.log(this.duration1);\n // console.log(this.paused1);\n // console.log(this.state1);\n // let aa = this.getStatePosition();\n // console.log(aa);\n this.spotifyPlayerNew.getCurrentState().then(state => {\n if (!state) {\n console.error('User is not playing music through the Web Playback SDK');\n return;\n }\n // console.log(state);\n this.spotifySongProgressBarValue = (state.position/state.duration)*100;\n this.spotifySongPlayedTill = this.getTimeInMinuteAndSeconds(state.position);\n // console.log(this.spotifySongProgressBarValue);\n\nif(this.already){\n if(state.paused && !this.spotifySongProgressBarValue){\n clearInterval(this.spotifyProgressBarInterval);\n console.log(\"end\");\n // if(this.already){\n this.checkNextAndPlay();\n this.already = false;\n // }\n // if(!this.songEnded){\n // let timer = 0;\n // if(this.spotifySongSelectedIndex == this.audioList.length-1){\n // timer = 4000;\n // }\n // else{\n // timer = 1000;\n // }\n // setTimeout(()=>{\n // this.checkNextAndPlay();\n // },timer);\n \n // this.songEnded = true;\n // }\n \n }\n}\n \n\n });\n },1000);\n\n }\n \n checkNextAndPlay(){\n if(this.spotifySongRepeatModeOn){\n this.spotifySongPlay();\n }\n else{\n console.log(\"1\");\n console.log(\"2\");\n console.log(\"3\");\n console.log(\"4\");\n if(this.spotifyShuffleModeOn){\n this.playShuffledSong();\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n }\n else if(this.spotifySongTrackType == 'playlsit'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].items.length-1){\n this.spotifySongSelectedIndex = 0;\n }\n else{\n this.spotifySongSelectedIndex++;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getNextSingleAndPlay();\n }\n\n // else if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == this.spotifyList.length-1 && this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].length-1) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == this.spotifyList.length-1)){\n // // this.spotifySongSelectedIndex = -1;\n // let subTrackIndex = this.spotifyList[0].trackType == 'playlist' ? 0 : null;\n // this.playSelectedSong(this.spotifyList[0].trackType,0,subTrackIndex);\n // } \n // else{\n // this.spotifyPlayNext();\n // }\n \n }\n \n }\n getNextSingleAndPlay(){\n for(let i=this.spotifySongSelectedIndex;i {\n if (!state) {\n console.error('User is not playing music through the Web Playback SDK');\n return;\n }\n \n this.spotifyPlayerNew.seek((e.target.value/100)*state.duration).then(() => {\n console.log('Changed position!');\n });\n });\n }\n\n getTimeInMinuteAndSeconds = function(timeInMilli){\n let seconds = timeInMilli/1000;\n return Math.trunc(seconds/60) + \":\" + Math.trunc(seconds%60);\n }\n\n getPosts(page,pageLimit){\n this.spinner.show();\n this.service.getPosts(page,pageLimit).subscribe((res:any) => {\n if(res.type == 'success'){\n this.postList = res.data;\n if(res.data.length==0){\n this.stopScrollingPost= false;\n }else{\n this.stopScrollingPost= true;\n }\n for(var i of res.data){\n if(i.type=='SHOW'){\n this.allShows.push(i);\n }else{\n this.allPosts.push(i)\n }\n }\n }else{\n this.toastrService.error(res.message);\n }\n })\n this.spinner.hide();\n }\n\n \n ngOnDestroy() {\n this._header.manageServicesHeading.next(false);\n }\n\n onSubmit(search:any){\n\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template,{backdrop: 'static'});\n }\n\n reportPostType;\n openReportDialog(id:any,type){\n this.reportPostModel = true;\n this.reportCommentModel = false;\n // this.openModal(this.reportPostModal);\n this.modalRef = this.modalService.show(this.reportPostModal, {class:\"reportpostdynamic\",backdrop: 'static'});\n this.reportPostType = type;\n this.reportPostId = id;\n }\n\n onClickSilentPost(id,index){\n // this.service.silentPost(id,{\"isSilent\":true}).subscribe((res:any)=> {\n // if(res.type == \"success\"){\n \n // }else{\n // this.toastrService.error(res.message);\n // }\n // })\n this.service.silentUserPosts({\"userId\":id}).subscribe((res:any)=> {\n if(res.type == \"success\"){\n this.toastrService.success(\"User Silenced\");\n // this.allPostData.splice(index,1);\n if(!this.postId){\n this.allPosts = this.allPosts.filter((data)=>{\n return data.userId._id !=id\n })\n this.allShows = this.allShows.filter((data)=>{\n return data.userId._id !=id\n })\n }\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n commentAreaEnable(postIndex:any){\n // document.getElementById('postCommentList'+postId).style.display = 'block';\n // document.getElementById('postCommentList'+postId).style.display = 'block';\n \n this.service.getCommentsList(this.allPosts[postIndex]._id,1,3).subscribe((res:any)=>{\n this.allPosts[postIndex].comments = res.data;\n this.allPosts[postIndex]['pageNumber'] = 0;\n document.getElementById('postCommentList'+this.allPosts[postIndex]._id).style.display = 'block';\n })\n }\n\n\n likesList:any=[];\n LikeListModalPostId;\n openLikesModal(id:any){\n this.getLikesList(id);\n this.LikeListModalPostId = id;\n // this.openModal(this.likesModel);\n this.modalRef = this.modalService.show(this.likesModel, {class:\"likesmodaldynamic\"});\n\n }\n\n mentionReplyingTo = [];\n removeReplyOption(postIndex){\n (document.getElementById('replyCrossMark'+this.allPosts[postIndex]._id)).style.display = \"none\";\n this.allPosts[postIndex].commentFieldStatus = 'comment';\n delete this.allPosts[postIndex].replyCommentId;\n (document.getElementById('replyCrossMark'+this.allPosts[postIndex]._id)).style.display = \"none\";\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value = '';\n this.mentionReplyingTo = [];\n }\n\n\n getLikesList(id:any){\n this.service.getLikesList(id).subscribe((res:any)=> {\n if(res.type == \"success\"){\n this.likesList = res.data;\n console.log(this.likesList);\n\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n reportPostById(){\n this.service.reportPost(this.reportPostId, {\"comment\":this.reportPostForm.value.comment}).subscribe((res:any) => {\n if(res.type == 'success'){\n this.modalRef.hide();\n this.reportPostForm.reset();\n // this.toastrService.success(res.message);\n this.toastrService.success(this.reportPostType + \" Reported\");\n }else{\n this.toastrService.error(res.message);\n }\n this.reportPostModel = false;\n })\n }\n\n reportCommentById(){\n this.service.reportComment(this.reportCommentPostId,this.reportCommentId,this.reportCommentForm.value.comment,{}).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.modalRef.hide();\n this.reportCommentForm.reset();\n // this.toastrService.success(res.message)\n this.toastrService.success(\"Comment Reported\")\n }else{\n this.toastrService.error(res.message)\n }\n this.reportCommentModel = false;\n },(err)=>{\n this.toastrService.error(err.error.message)\n this.reportCommentModel = false;\n })\n }\n\n cancel(): void {\n this.youtubeEdit = true;\n this.spotifyEdit = true;\n this.reportPostForm.reset();\n this.modalRef.hide();\n this.imagessArray = [];\n this.updateProfileForm.reset();\n this.reportPostModel = false;\n this.reportProfileUser = false;\n this.reportCommentModel = false;\n }\n\n cancelEditProfileModal(){\n this.youtubeEdit = true;\n this.spotifyEdit = true;\n this.reportPostForm.reset();\n this.modalRef.hide();\n this.imagessArray = [];\n this.updateProfileForm.reset();\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n }\n });\n }\n\n mentionsAdded;\n createComment(postIndex:any){\n if(this.allPosts[postIndex].commentFieldStatus && this.allPosts[postIndex].commentFieldStatus == 'reply'){\n this.replyPostCommentClick(postIndex,this.allPosts[postIndex][\"replyCommentId\"],this.allPosts[postIndex]._id);\n }\n else{\n let data = {\n \"text\": this.createCommentForm.value.comment,\n \"postId\": this.allPosts[postIndex]._id,\n }\n \n if((this.createCommentForm.invalid) ||(this.createCommentForm.value.comment.trim()==\"\")){\n this.toastrService.error(\"Add a comment please\");\n return;\n }\n console.log(this.allPosts[postIndex]._id);\n \n if(this.mentionsAdded){\n data['mentions'] = [];\n this.mentionsAdded.forEach(mention => {\n data['mentions'].push({\n \"userId\" : mention.choice._id,\n \"name\" : mention.choice.bandName,\n \"key\" : \"@\"+mention.choice.bandName,\n \"startIndex\" : mention.indices?.start,\n \"endIndex\" : mention.indices?.end\n })\n });\n \n }\n this.service.createComment(data).subscribe((res:any) => {\n // this.onSelectedChoicesChange([]);\n if(res.type == 'success'){\n \n this.toastrService.success(\"Comment created\");\n // let commentcount = (document.getElementById('totalcommentCount'+this.allPosts[postIndex]._id));\n // // commentcount= commentcount.split(' ')[0];\n // console.log(commentcount.innerText);\n // (document.getElementById('totalcommentCount'+this.allPosts[postIndex]._id)).innerHTML=`${parseInt(commentcount.innerHTML)+1}`;\n \n // append the comment here\n // this.allPostData[postIndex].comments.push(\n // {\n // \"createdOn\":\"2023-03-23T14:34:57.591Z\",\n // \"isDeleted\":false,\n // \"mentions\":[],\n // \"postId\":this.allPostData[postIndex]._id,\n // \"replies\":[],\n // \"reports\":[],\n // \"text\":this.createCommentForm.value.comment,\n // \"_id\":\"2212156654\"\n // }\n // )\n this.allPosts[postIndex].comments.unshift(res.data);\n this.createCommentForm.reset();\n this.allPosts[postIndex].commentCount++;\n\n // {\n // \"text\":\"a\",\n // \"mentions\":[],\n // \"_id\":\"641d70cbd49fa109d8e72449\",\n // \"createdOn\":\"2023-03-24T09:43:39.876Z\",\n // \"reports\":[]\n // }\n\n }else{\n this.toastrService.error(res.message);\n }\n }, (err) => {\n this.toastrService.error(err.error.message);\n })\n }\n // this.spinner.show();\n // let data = {\n // \"text\": this.createCommentForm.value.comment,\n // \"postId\": postId,\n // }\n\n // if(this.createCommentForm.invalid){\n // this.toastrService.error(\"Add a comment please\");\n // return;\n // }\n // this.service.createComment(data).subscribe((res:any) => {\n // if(res.type == 'success'){\n // this.createCommentForm.reset();\n // if(this.openModalPostId){\n // this.getCommentsList(this.openModalPostId);\n // }else{\n // this.createCommentForm.reset();\n // this.toastrService.success(res.message);\n // this.postList=[];\n // this.allPosts=[];\n // this.allShows=[];\n // this.page=1;\n // this.getPosts(this.page,this.itemperPage);\n // }\n // }else{\n // this.toastrService.error(res.message);\n // }\n // }, (err) => {\n // this.toastrService.error(err.error.message);\n // })\n // this.spinner.hide();\n }\n\n usersForMention = [];\n\n loadChoices(e){\n console.log(\"loading choices\", e);\n if(e.length >= 2 && !this.choiceRemovedRecently){\n this.service.getUsersForMention({\"keyword\":e}).subscribe((res:any)=>{\n this.usersForMention = res.data;\n });\n }\n else\n this.usersForMention = [];\n }\n choiceRemovedRecently:Boolean;\n choiceRemoved(e,postIndex){\n console.log(\"choice removed\",e);\n console.log(\"choice removed\",postIndex);\n let str = (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value;\n console.log(str.replace(str.substring(e.indices.start,e.indices.end),\"\"));\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value = str.replace(str.substring(e.indices.start+1,e.indices.end),\"\");\n this.choiceRemovedRecently = true;\n this.usersForMention = [];\n setTimeout(()=>{\n this.choiceRemovedRecently = false;\n },1000);\n \n }\n onSelectedChoicesChange(e){\n console.log('Selected Choices Changed',e);\n this.mentionsAdded = e;\n }\n getChoiceLabel(choice){\n console.log(\"creating choice label\",choice);\n return `@${choice.bandName}`;\n }\n onMenuShow(){\n console.log(\"menu show\");\n // this.service.getUsersForMention({}).subscribe((res:any)=>{\n // this.usersForMention = res.data;\n // });\n }\n onMenuHide(){\n console.log(\"mennu hide\");\n this.usersForMention = [];\n }\n selectChoice(user){\n console.log(\"select choice\",user);\n }\n selectChoice2(user){\n console.log(\"select choice\",user);\n }\n getModifiedComment(comment,i){\n if(comment?.mentions?.length){\n return comment?.mentions?.reduce((outPut, mention) =>{\n\n return outPut.replace(mention?.key, `` + mention?.key + \"\");\n \n // return outPut.replace(mention?.key,\"\"+mention?.key+\"\");\n \n // if(mention.endIndex){\n // return outPut.substring(0,mention.startIndex) + \"\" + mention.key + \"\" + outPut.substring(mention.endIndex+1);\n // }\n },comment?.text);\n }\n else{\n return comment?.text;\n }\n }\n\n editProfilePictureURL;\n editProfileCoverPictureURL;\n editProfilePicUpated:Boolean = false;\n editCoverPicUpdated:Boolean = false;\n profileUpdated:Boolean = false;\n\n\n openEditModal(){\n \n // this.spinner?.hide();\n this.spinner.show();\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n\n this.profileDetails = res.data;\n this.spinner.hide();\n console.log(this.profileDetails, \"this.geners\")\n this.modalRef = this.modalService.show(this.editProfileModal, {class: 'editprofilepopup'});\n \n this.updateProfileForm.get('bandName').patchValue(this.profileDetails.bandName);\n this.updateProfileForm.get('email').patchValue(this.profileDetails.email);\n let phone = this.profileDetails.countryCode + ' ' + this.profileDetails.mobileNumber.toString().slice(0,3) + ' ' + this.profileDetails.mobileNumber.toString().slice(3,6) + ' ' + this.profileDetails.mobileNumber.toString().slice(6);\n this.updateProfileForm.get('phone').patchValue(phone);\n this.updateProfileForm.get('location').patchValue(this.profileDetails?.address?.city+', '+this.profileDetails?.address?.state+', '+this.profileDetails?.address?.country);\n // this.updateProfileForm.get('genre').patchValue(this.profileDetails?.genereIds[0]?.genereName +\", \" + this.profileDetails?.genereIds[1]?.genereName +\", \" + this.profileDetails?.genereIds[2]?.genereName);\n // this.updateProfileForm.get('genre').patchValue(\n // this.profileDetails?.genereIds[0]?.genereName ? (this.profileDetails?.genereIds[1]?.genereName ? \n // (this.profileDetails?.genereIds[2]?.genereName ? this.profileDetails?.genereIds[0]?.genereName +\",\"+this.profileDetails?.genereIds[1]?.genereName +\",\"+this.profileDetails?.genereIds[2]?.genereName: this.profileDetails?.genereIds[0]?.genereName +\",\"+this.profileDetails?.genereIds[1]?.genereName) : this.profileDetails?.genereIds[0]?.genereName) : '');\n\n this.updateProfileForm.get('genre').patchValue(this.profileDetails?.communityIds.length>0 ? ((this.profileDetails?.communityIds[0]?.communityName != null ? this.profileDetails?.communityIds[0]?.communityName : '') + (this.profileDetails?.communityIds[1]?.communityName!=null ? \",\" +this.profileDetails?.communityIds[1]?.communityName : '')): ((this.profileDetails?.genereIds[0]?.genereName!=null ? this.profileDetails?.genereIds[0]?.genereName : '') + (this.profileDetails?.genereIds[1]?.genereName!=null ? \",\" +this.profileDetails?.genereIds[1]?.genereName : '') + (this.profileDetails?.genereIds[2]?.genereName ? \",\" +this.profileDetails?.genereIds[2]?.genereName :\n ''))) \n // if(this.geners.length>3){\n // this.updateProfileForm.get('genre').patchValue(this.geners.slice(2,40)+'...');\n // }\n // this.updateProfileForm.get('genre').patchValue(this.profileDetails);\n // this.updateProfileForm.get('genre').patchValue(this.geners.substring(1));\n this.updateProfileForm.get('bio').patchValue(this.profileDetails.bio);\n this.updateProfileForm.get('spotifyURL').patchValue(this.profileDetails?.playList?.spotify?.url);\n this.updateProfileForm.get('youtubeURL').patchValue(this.profileDetails?.playList?.youtube?.url);\n this.updateProfileForm.get('profilePicture').patchValue(this.profileDetails?.profileImage?.fileUrl);\n this.updateProfileForm.get('coverPicture').patchValue(this.profileDetails?.coverImage?.fileUrl);\n this.updateProfileForm.get('city').patchValue(this.profileDetails?.address?.city);\n this.updateProfileForm.get('state').patchValue(this.profileDetails?.address?.state);\n this.updateProfileForm.get('country').patchValue(this.profileDetails?.address?.country);\n this.updateProfileForm.get('city').patchValue(this.profileDetails?.address?.city);\n this.updateProfileForm.get('lat').patchValue(this.profileDetails?.location?.coordinates[0]);\n this.updateProfileForm.get('long').patchValue(this.profileDetails?.location?.coordinates[1]);\n\n this.editProfilePictureURL = this.profileDetails?.profileImage?.fileUrl;\n this.editProfileCoverPictureURL = this.profileDetails?.coverImage?.fileUrl;\n \n }\n else{\n this.spinner.hide();\n this.toastrService.info(\"some error occured.please try after some time!\");\n }\n });\n \n }\n\n updateProfileData() {\n // if((this.updateProfileForm.pristine && !this.profileUpdated) || (updateProfileForm.dirty && updateProfileForm.invalid)){\n\n // }\n if(this.updateProfileForm.dirty && this.updateProfileForm.invalid){\n this.toastrService.error(\"Please enter valid details\");\n return;\n }\n if(this.updateProfileForm.pristine && !this.profileUpdated){\n this.modalRef.hide();\n return;\n }\n let data = {\n // \"address\":{\n // \"city\": this.updateProfileForm.value.city,\n // \"state\": this.updateProfileForm.value.state,\n // \"country\": this.updateProfileForm.value.country,\n // },\n\n \"bandName\": this.updateProfileForm.value.bandName,\n // \"location\":{\n // \"lat\": this.updateProfileForm.value.lat,\n // \"long\": this.updateProfileForm.value.long \n // },\n\n // \"email\":this.updateProfileForm.value.email,\n \"bio\": this.updateProfileForm.value.bio,\n // \"genereIds\": this.genersId\n // \"communityIds\": this.profileDetails.role!='Artist' ? this.genersId : [],\n // \"genereIds\": this.profileDetails.role=='Artist' ? this.genersId : [],\n // \"coverImage\":{\n // \"fileUrl\": this.updateProfileForm.value.coverPicture,\n // \"key\": this.updateProfileForm.value.coverPictureKey\n // },\n // \"profileImage\":{\n // \"fileUrl\": this.updateProfileForm.value.profilePicture,\n // \"key\": this.updateProfileForm.value.profilePictureKey\n // }\n // \"youtube\":{\n // \"url\":this.updateProfileForm.value.youtubeURL\n // },\n // \"spotify\":{\n // \"url\":this.updateProfileForm.value.spotifyURL\n // }\n\n }\n\n this.service.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n this.toastrService.success(res.message);\n this.youtubeEdit = true;\n this.spotifyEdit = true;\n this.modalRef.hide();\n this.getProfile();\n this.getPlayList();\n }else{\n this.toastrService.error(res.message);\n }\n })\n\n if(this.updateProfileForm.value.youtubeURL != this.profileDetails?.playList?.youtube?.url || this.updateProfileForm.value.spotifyURL != this.profileDetails?.playList?.spotify?.url){\n let updatePlaylist = {\n \"youtube\":{\n \"url\":this.updateProfileForm.value.youtubeURL\n },\n \"spotify\":{\n \"url\":this.updateProfileForm.value.spotifyURL\n }\n }\n \n this.service.updatePlayList(updatePlaylist).subscribe((res:any)=> {\n if(res.type =='success'){\n this.updateProfileForm.reset();\n this.editCoverPicUpdated = false;\n this.editProfilePicUpated = false;\n this.profileUpdated = false;\n }\n else{\n // this.toastrService.info(\"Please try after sometime\");\n this.updateProfileForm.reset();\n this.editCoverPicUpdated = false;\n this.editProfilePicUpated = false;\n this.profileUpdated = false;\n }\n },\n error => {\n // this.toastrService.info(\"Please try after sometime\");\n this.updateProfileForm.reset();\n this.editCoverPicUpdated = false;\n this.editProfilePicUpated = false;\n this.profileUpdated = false;\n })\n } \n else{\n this.updateProfileForm.reset();\n this.editCoverPicUpdated = false;\n this.editProfilePicUpated = false;\n this.profileUpdated = false;\n }\n }\n\n playYoutube(){\n document.getElementById(\"iframe1\");\n // debugger;\n }\n youtubePlayData:any;\n spotifyPlayData:any;\n currentlyPlayingVideoId = 'fJ9rUzIMcZQ';\n openYoutubeModalP(videoIndex,data:any){\n console.log(videoIndex);\n console.log(data);\n this.youtubePlayData=data;\n this.currentlyPlayingVideoId = data.url.split('v=')[1];\n let initialState: ModalOptions = {\n initialState: {\n videoId: this.currentlyPlayingVideoId,\n videoIndex,\n playList:this.playList,\n videoPlayerOptions : {\n autoplay: true,\n width:906,\n height:596\n }\n } as Partial,\n class: 'ytmodalpopup'\n };\n this.modalRef = this.modalService.show(YoutubeModalContentComponent, initialState);\n // this.openModal(this.youtubePlay);\n // setTimeout(()=>{\n // this.currentlyPlayingVideoId = data.url.split('v=')[1];\n // console.log(data);\n // console.log(this.currentlyPlayingVideoId);\n // this.ytPlayerService.play();\n // // console.log(this.youtubePlayer);\n // // this.youtubePlayer.load('GKSRyLdjsPA')\n // // this.youtubePlayer.setVolume(100)\n \n // // this.youtubePlayer.on('playing', () => {\n // // console.log(this.youtubePlayer.getDuration()) // => 351.521\n // // });\n // },5000)\n \n }\n\n// BANDCAMP \nbandcampModalP(iframesrc:any){\n // console.log(data);\n let initialState: ModalOptions = {\n initialState: {\n source:this._sanitizer.bypassSecurityTrustUrl(iframesrc)\n } as Partial,\n class: 'bandcamppopup'\n };\n this.modalRef = this.modalService.show(BandcampModalContentComponent, initialState);\n // this.openModal(this.youtubePlay);\n // setTimeout(()=>{\n // this.currentlyPlayingVideoId = data.url.split('v=')[1];\n // console.log(data);\n // console.log(this.currentlyPlayingVideoId);\n // this.ytPlayerService.play();\n // // console.log(this.youtubePlayer);\n // // this.youtubePlayer.load('GKSRyLdjsPA')\n // // this.youtubePlayer.setVolume(100)\n \n // // this.youtubePlayer.on('playing', () => {\n // // console.log(this.youtubePlayer.getDuration()) // => 351.521\n // // });\n // },5000)\n \n}\n\nopenSoundCloudModal(source:any){\n // console.log(data);\n let initialState: ModalOptions = {\n initialState: {\n source\n } as Partial,\n class: 'bandcamppopup'\n };\n this.modalRef = this.modalService.show(SoundCloudModalContentComponent, initialState);\n // this.openModal(this.youtubePlay);\n // setTimeout(()=>{\n // this.currentlyPlayingVideoId = data.url.split('v=')[1];\n // console.log(data);\n // console.log(this.currentlyPlayingVideoId);\n // this.ytPlayerService.play();\n // // console.log(this.youtubePlayer);\n // // this.youtubePlayer.load('GKSRyLdjsPA')\n // // this.youtubePlayer.setVolume(100)\n \n // // this.youtubePlayer.on('playing', () => {\n // // console.log(this.youtubePlayer.getDuration()) // => 351.521\n // // });\n // },5000)\n \n}\n\n private _friendsListStatus: boolean;\n public get friendsListStatus(): boolean {\n return this._friendsListStatus;\n }\n public set friendsListStatus(value: boolean) {\n this._friendsListStatus = value;\n }\n getFriendsList(){\n this.service.getFriendsList('','','').subscribe((res:any)=> {\n if(res.type =='success'){\n this.friendsList = res.data.friends;\n if(res.data.friends.length==0){\n this.friendsListStatus = true;\n }else{\n this.friendsListStatus = false;\n }\n if(res.data.friends.length>4){\n this.topFourFriends = res.data.friends.slice(0,4);\n this.otherFriends = res.data.friends.slice(4);\n }else{\n this.topFourFriends = res.data.friends;\n }\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n getFriendsListById(id:any){\n this.service.getFriendsListByUserId(id).subscribe((res:any)=> {\n if(res.type =='success'){\n this.friendsList = res.data.friends;\n this.otherFriends = res.data.friends\n if(res.data.friends.length==0){\n this.friendsListStatus = true; \n }else{\n this.friendsListStatus = false; \n }\n // if(res.data.friends.length>4){\n // this.topFourFriends = res.data.friends.slice(0,4);\n // this.otherFriends = res.data.friends.slice(4);\n // }else{\n // this.topFourFriends = res.data.friends;\n // }\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n \n\n onClickFriend(data:any){\n this.singleFriendData = data;\n if(this.showSiidbar==false){\n this.openModal(this.friendClickModal);\n }else{\n // this.route.navigate(['/user/profile'],{queryParams:{id:data?._id}})\n }\n \n }\n\n sendMessage(id:any){\n // alert(id);\n }\n\n onClickUnfriend(id:any){\n this.service.unFriend(id,{}).subscribe((res:any)=> {\n if(res.type =='success'){\n this.modalRef.hide();\n this.getFriendsList();\n this.profileDetails.friendStatus = 'NOT_FRIEND';\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n onClickSilencePost(id:any){\n this.service.silentPost(id,{\"isSilent\":true}).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.modalRef.hide();\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n\n spotifySingleData:any;\n\n\n\n\n player: YT.Player;\n private id: string;\n \n savePlayer(player) {\n this.player = player;\n console.log('player instance', player);\n }\n onStateChange(event) {\n console.log('player state', event.data);\n }\n\n selectedIndex:any = 0;\n\n tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n this.selectedIndex = tabChangeEvent.index;\n console.log(tabChangeEvent);\n if(tabChangeEvent.index == 0){\n this.allPosts = this.allPostsCopy;\n }\n if(tabChangeEvent.index == 1){\n this.allPosts = this.allShows;\n }\n // this.audioplayerprogress();\n\n if(tabChangeEvent.index == 3 && tabChangeEvent.tab.textLabel == 'Spotify'){\n console.log(\"spotify-auth tab\");\n // this.checkSpotifyAuthorized();\n // this.spotifyAuth();\n }\n\n localStorage.setItem(\"selectedProfileTabIndex\",JSON.stringify(tabChangeEvent.index));\n }\n\n gotoSpotify(){\n this.selectedIndex = 3;\n }\n\n gotoYoutube(){\n // this.selectedIndex = 4;\n this.selectedIndex = 6;\n }\n\n addFriendById(id:any){\n let data = (document.getElementById('userFriendsList'+id)).innerHTML;\n if(data=='Add Friend'){\n this.spinner.show();\n (document.getElementById('userFriendsList'+id)).innerText = 'Pending';\n (document.getElementById('userFriendsList'+id)).style.background='white';\n (document.getElementById('userFriendsList'+id)).style.border='solid 1px black';\n (document.getElementById('userFriendsList'+id)).style.color='black';\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => {\n if(res.type == 'success'){\n this.toastrService.success(\"Friend request sent\"); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else{\n this.spinner.show();\n document.getElementById('userFriendsList'+id).innerText = 'Add Friend'\n document.getElementById('userFriendsList'+id).style.background = 'black';\n document.getElementById('userFriendsList'+id).style.color = 'white';\n \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n if(res.type=='success'){\n this.toastrService.success(res.message); \n }\n })\n this.spinner.hide();\n }\n }\n\n onShowsClick(){\n console.log(\"shows clicked\");\n }\n addFriend(){\n let data = (document.getElementById('addFriendButton'+this.postId)).innerHTML;\n if(data=='Add Friend'){\n this.spinner.show();\n this.service.AddFriend({\"recipientId\":this.postId}).subscribe((res:any) => {\n if(res.type == 'success'){\n this.toastrService.success(res.message); \n (document.getElementById('addFriendButton'+this.postId)).innerText = 'Pending';\n (document.getElementById('addFriendButton'+this.postId)).style.background='#E9E9EB';\n (document.getElementById('addFriendButton'+this.postId)).style.border='solid 1px black';\n (document.getElementById('addFriendButton'+this.postId)).style.color='black';\n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else{\n this.spinner.show();\n document.getElementById('addFriendButton'+this.postId).innerText = 'Add Friend'\n document.getElementById('addFriendButton'+this.postId).style.background = 'black';\n document.getElementById('addFriendButton'+this.postId).style.color = 'white';\n \n this.service.cancelRequest(this.postId,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n if(res.type=='success'){\n this.toastrService.success(res.message); \n }\n })\n this.spinner.hide();\n }\n\n }\n\n addFriendImpl(){\n this.spinner.show();\n this.service.AddFriend({\"recipientId\":this.postId}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastrService.success(res.message); \n this.toastrService.success(\"Friend request sent\");\n this.profileDetails.friendStatus = 'REQUEST_SENT';\n }\n this.spinner.hide();\n },(err) => {\n this.toastrService.error(err.error.message);\n this.spinner.hide();\n })\n \n }\n addFriendButtonText:string = \"Add Friend\";\n\n AddFriend(){\n let id=this.postId;\n let data = document.getElementById('addFriendText'+id).innerText;\n // alert(data);\n if(data=='Pending'){\n // this.spinner.show();\n // document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n // document.getElementById('addFriendText'+id).style.background = 'black';\n // document.getElementById('addFriendText'+id).style.color = 'white';\n this.cancelRequestId = this.postId;\n this.modalRef = this.modalService.show(this.cancelRequests,{class:'cancelrequestmodall'});\n // this.service.cancelRequest({\"action\":\"CANCEL\"},id).subscribe((res:any)=>{\n // if(res.type=='success'){\n // this.toastrService.success(res.message); \n // }\n // })\n // this.spinner.hide();\n }else if(data=='Add Friend'){\n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Pending'\n document.getElementById('addFriendText'+id).style.background='white';\n document.getElementById('addFriendText'+id).style.color='black';\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => { \n if(res.type == 'success'){\n // this.toastrService.success(res.message); \n this.toastrService.success(\"Friend request sent\"); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else if(data=='Accept'){ \n this.spinner.show();\n // document.getElementById('addFriendText'+id).innerText = 'Friend'; \n // document.getElementById('addFriendText'+id).classList.add(\"friend\");\n // document.getElementById('addFriendText'+id).classList.remove(\"requestSent\");\n\n // document.getElementById('addFriendText'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n // this.profileDetails?.friendStatus == 'FRIEND';\n // this.changeDetectorRef.detectChanges();\n this.service.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastrService.success(\"Friend request accepted\");\n window.document.location.reload();\n // this.profileDetails?.friendStatus == 'FRIEND';\n // this.changeDetectorRef.detectChanges();\n // debugger;\n // let index = this.moreData.findIndex((obj)=>{\n // return obj._id == id\n // });\n // if(index != -1){\n // this.moreData[index].friendStatus = \"FRIEND\";\n // }\n }else{\n this.toastrService.error(res.message); \n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }\n \n}\n cancelRequest(id, index) {\n this.service.cancelRequest(id, { \"action\": \"CANCEL\" }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastrService.success(\"Cancelled friend request\");\n this.friendsList[index].friendStatus = 'NOT_FRIEND';\n }\n })\n }\n cancelRequestId;\ncancelRequestModalRef;\n\nshowCancelRequestLoader: Boolean = false;\ncancelFriendRequest(){\n this.showCancelRequestLoader = true;\n let id = this.cancelRequestId;\n \n \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n this.showCancelRequestLoader = false;\n if(res.type=='success'){\n this.toastrService.success(\"Cancelled friend request\"); \n document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n document.getElementById('addFriendText'+id).style.background = 'black';\n document.getElementById('addFriendText'+id).style.color = 'white';\n }\n else{\n this.toastrService.info(\"please try after some time!\"); \n }\n this.modalRef?.hide();\n },err => {\n this.showCancelRequestLoader = false;\n this.toastrService.info(\"please try after some time!\"); \n this.modalRef?.hide();\n })\n}\n\n // cancelFriendRequest(){\n // this.spinner.show();\n \n // this.service.cancelRequest(this.postId,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n // if(res.type=='success'){\n // // this.toastrService.success(res.message); \n // this.toastrService.success(\"Cancelled friend request\");\n // this.profileDetails.friendStatus = 'NOT_FRIEND';\n // }\n // this.spinner.hide();\n // })\n \n // }\n\n onClickPhotoAlbum(id:any){\n this.openModal(this.photoAlbumSlider);\n // alert(id);\n }\n\n deletePhotoAlbumIndex:any;\n\n onClickDeletePhotoAlbum(index:any){\n this.modalRef.hide();\n this.openModal(this.deleteAlbumImage);\n console.log(this.activeSlides);\n }\n\n\n // get active slide owl carousel\n activeSlides:any=SlidesOutputData;\n getPassedData(data: SlidesOutputData) {\n this.activeSlides = data;\n console.log(this.activeSlides);\n }\n\n deletePhotosIds:any=[];\n onClickCheckbox(e:any, index:any){\n let ids = e.target.checked;\n if(ids == true){\n this.deletePhotosIds.push(index);\n }else{\n let j=0;\n for(var i of this.deletePhotosIds){\n if(i==index){\n this.deletePhotosIds.splice(j,1);\n }\n j++;\n }\n }\n }\n\n deleteFunction(){\n // alert(this.deletePhotosIds);\n }\n\n photoDelete(){\n let index = (document.getElementById('deletePhotoAlbumId')).value;\n this.modalRef.hide();\n }\n\n // slidesStore: any[];\n\n\n slidesStore :any= [\n {image: '../../../../assets/images/banner-demo.jpg', text: 'First',id:1},\n {image: '../../../../assets/images/bungie.png',text: 'Second',id:2},\n {image: '../../../assets/images/bungie-heading.png',text: 'Third',id:3},\n {image: '../../../../assets/images/boungie-foundation.png',text: 'Forth',id:4},\n {image: '../../../../assets/images/career-views.jpg', text: 'First',id:5},\n {image: '../../../../assets/images/bungie.png',text: 'Second',id:6},\n {image: '../../../../assets/images/banner-demo.jpg',text: 'Third',id:7},\n {image: '../../../../assets/images/bungie.png',text: 'Forth',id:8}\n ];\n noWrapSlides = false;\n showIndicator = true;\n centeralign:boolean = true;\n deleteImagePath:any;\n\n onClickSelectImage(){\n this.photoAlbumCheckbox=true;\n }\n\n onClickCancleImage(){\n this.deletePhotosIds=[];\n this.photoAlbumCheckbox=false;\n }\n\n progress:any=0;\n uploadPhotoAlbum(e:any){\n let file = e.target.files[0];\n let fd = new FormData();\n fd.append('file', file);\n this.service.uploadImageProgressbar(fd).subscribe((res:any)=> {\n if(res.type == 'success'){\n this.uploadPhotoAlbumUrl = res.data.fileUrl;\n }\n })\n }\n\n scrollCheck:boolean;\n onScrollDown(e: any) { \n if(this.stopScrollingPost == true){\n this.page += 1;\n this.getPosts(this.page, this.itemperPage);\n }\n }\n\n onScrollDownPosts() { \n\n console.log(\"from scrolling posts\");\n\n if(this.stopScrollingPost){\n this.postsPageNumber += 1;\n this.getPostsId(this.profileDetails._id,this.postsPageNumber, this.postsPageSize);\n }\n }\n\n onScrollDownShows(e: any) { \n \n if(this.stopScrollingShow){\n // this.page += 1;\n // this.getPosts(this.page, this.itemperPage);\n this.showsPageNumber += 1;\n this.getShows(this.profileDetails._id,this.showsPageNumber, this.showsPageSize);\n }\n }\n\n CheckEnterPress(e:any){\n if (e.keyCode == 13) { \n e.preventDefault();\n return false;\n } \n}\n appendItems() {\n this.addItems(\"push\");\n }\n\n listArray: any = [];\n addItems(_method: string) {\n for (let i = 0; i < this.itemperPage; ++i) {\n if (_method === 'push') {\n this.listArray.push([i].join(\"\"));\n } else if (_method === 'unshift') {\n this.listArray.unshift([i].join(\"\"));\n }\n }\n }\n\n// likePost(id:any){\n// this.spinner.show();\n// this.service.likePost(id,{\"action\":\"LIKE\"}).subscribe((res:any)=>{\n// if(res.type == 'success'){\n// this.postList=[];\n// this.allShows=[]\n// this.allPosts=[];\n// this.page=1;\n// this.getPosts(this.page, this.itemperPage);\n// }\n// })\n// this.spinner.hide();\n// }\n\nlikePost(id:any){\n this.spinners.show();\n let sorce = (document.getElementById('likeImage'+id)).src;\n console.log(sorce);\n if(sorce.includes('Heart.svg')==true){\n (document.getElementById('likeImage'+id)).src = '../../../assets/Indietown_icons/like-dark.svg';\n let count = (document.getElementById('totalLikeCount'+id)).innerHTML;\n let like = count.split(\" \")[0];\n let send;\n if(parseInt(like)==0){\n send = `${parseInt(like)+1} like`;\n }else{\n send = `${parseInt(like)+1} likes`;\n }\n (document.getElementById('totalLikeCount'+id)).innerHTML=send;\n\n this.service.likePost(id,{\"action\":\"LIKE\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n }\n })\n }else{\n (document.getElementById('likeImage'+id)).src = '../../../assets/Indietown_icons/Heart.svg';\n let count = (document.getElementById('totalLikeCount'+id)).innerHTML;\n let like = count.split(\" \")[0];\n let send;\n if((parseInt(like)==2)){\n send = `${parseInt(like)-1} like`;\n }else{\n send = `${parseInt(like)-1} likes`;\n }\n (document.getElementById('totalLikeCount'+id)).innerHTML=send;\n\n this.service.likePost(id,{\"action\":\"DISLIKE\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n }\n })\n }\n this.spinner.hide();\n}\n\n// dislikePost(id:any){\n// this.spinner.show();\n// this.service.likePost(id,{\"action\":\"DISLIKE\"}).subscribe((res:any)=>{\n// if(res.type == 'success'){\n// this.postList=[];\n// this.allShows=[]\n// this.allPosts=[];\n// this.page=1;\n// this.getPosts(this.page, this.itemperPage);\n// }\n// })\n// this.spinner.hide();\n// }\n\ndislikePost(id:any){\n this.spinners.show();\n let sorce = (document.getElementById('dislikeImage'+id)).src;\n if(sorce.includes('Heart.svg')==true){\n (document.getElementById('dislikeImage'+id)).src = '../../../assets/Indietown_icons/like-dark.svg';\n let count = (document.getElementById('totalLikeCount'+id)).innerHTML;\n let like = count.split(\" \")[0];\n let send;\n if(parseInt(like)==0){\n send = `${parseInt(like)+1} like`;\n }else{\n send = `${parseInt(like)+1} likes`;\n }\n (document.getElementById('totalLikeCount'+id)).innerHTML=send;\n\n this.service.likePost(id,{\"action\":\"LIKE\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n }\n })\n }else{\n (document.getElementById('dislikeImage'+id)).src = '../../../assets/Indietown_icons/Heart.svg';\n let count = (document.getElementById('totalLikeCount'+id)).innerHTML;\n let like = count.split(\" \")[0];\n let send;\n if(parseInt(like)==2){\n send = `${parseInt(like)-1} like`;\n }else{\n send = `${parseInt(like)-1} likes`;\n }\n (document.getElementById('totalLikeCount'+id)).innerHTML=send;\n\n this.service.likePost(id,{\"action\":\"DISLIKE\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n }\n })\n }\n\n this.spinners.hide();\n }\n\n deletePostId:any;\n deletePostShowMsg;\n onClickDeletePost(id:any,post){\n // this.openModal(this.deletePost);\n this.modalRef = this.modalService.show(this.deletePost, {class:\"deletepostdynamic\"});\n\n this.deletePostShowMsg = post.type=='SHOW' ? 'show' : 'post';\n this.deletePostId = id;\n }\n\n editshoww:Boolean;\n disabledCreateShow:Boolean = false;\n updatePostId;\n updateShowButton:Boolean;\n updatePostButton:Boolean;\n createPostForm = new FormGroup({\n text: new FormControl('', [Validators.required])\n })\n createShowForm = new FormGroup({\n imageUrl: new FormControl(''),\n imageUrlKey: new FormControl(''),\n title: new FormControl('', [Validators.required]),\n startDate: new FormControl('', [this.asyncDateValidator(\"startDate\")]),\n endDate: new FormControl('', [this.asyncDateValidator(\"endDate\")]),\n startTime: new FormControl('', [this.asyncDateValidator(\"startTime\")]),\n endTime: new FormControl('', [this.asyncDateValidator(\"endTime\")]),\n venue: new FormControl('', []),\n city: new FormControl(''),\n state: new FormControl(''),\n country: new FormControl(''),\n ticketFrom: new FormControl('',Validators.min(0)),\n ticketTo: new FormControl('',Validators.min(0)),\n venueDetails: new FormControl(''),\n})\n\nmyTime:any;\nimagesVideosArray:any=[];\ncountVideoUploaded:any=[];\ncountImagesUploaded:any=[];\nminEndDate:any;\n\nasyncDateValidator(prop:string) {\n\n \n return (control: AbstractControl): { [key: string]: any } | null => {\n const value = control.value;\n // debugger;\n if (!value) {\n return null;\n }\n\n let startDate,endDate,startTime,endTime;\n if(this.createShowForm.controls.startDate?.value){\n startDate = formatDate(new Date(this.createShowForm.controls.startDate?.value),'yyyy-MM-dd','en_US');\n }\n if(this.createShowForm.controls.endDate?.value){\n endDate = formatDate(new Date(this.createShowForm.controls.endDate?.value),'yyyy-MM-dd','en_US');\n }\n if(this.createShowForm.controls.startTime?.value){\n startTime = this.createShowForm.controls.startTime?.value;\n }\n if(this.createShowForm.controls.endTime?.value){\n endTime = this.createShowForm.controls.endTime?.value;\n }\n if((prop == 'endDate' || prop == 'startDate') && (startDate && endDate) && (endDatethis.createShowForm.controls.startTime.value);\n console.log(this.createShowForm.controls.endTime.value<=this.createShowForm.controls.startTime.value);\n console.log(prop == 'endTime' || prop == 'startTime');\n console.log(startTime && endTime);\n console.log(startDate == endDate);\n console.log(startTime);\n console.log(endTime);\n\n if((prop == 'endDate' || prop == 'startDate' || prop == 'endTime' || prop == 'startTime') && (startTime) && (endTime) && (((startDate == endDate) && ((endTime <= startTime) || (endTime <= new Date().getTime()))) || ((startDate < endDate) && (new Date(endDate).toDateString() == new Date().toDateString()) && (endTime <= new Date().getTime())))){\n // if(startDate == endDate){\n \n console.log(\"end time should be greater than current time\");\n this.toastrService.error(\"End Time should be greater than start time and current time\",'',{timeOut:2000});\n return { outOfRange: true }\n // if(this.createShowForm.controls.startTime?.value.getHours >= this.createShowForm.controls.endTime?.value.getHours){\n // console.log(\"error start time hours is greater\");\n // }\n // else{\n // if(this.createShowForm.controls.startTime?.value.getMinutes >= this.createShowForm.controls.endTime?.value.getMinutes){\n // console.log(\"error start time minutes is greater\");\n // }\n // }\n // }\n }\n\n // const hours = value.getHours();\n \n// console.log(\"from hererer\");\n// console.log(this.createShowForm.controls.startDate.value);\n// console.log(typeof this.createShowForm.controls.endDate.value);\n// console.log(this.createShowForm.controls.startDate.value == this.createShowForm.controls.endDate.value);\n// console.log(new Date(this.createShowForm.controls.startDate.value));\n// console.log(new Date(this.createShowForm.controls.startDate.value) == new Date(this.createShowForm.controls.endDate.value))\n// let date1 = formatDate(new Date(this.createShowForm.controls.startDate.value),'yyyy-MM-dd','en_US');\n// let date2 = formatDate(new Date(this.createShowForm.controls.endDate.value),'yyyy-MM-dd','en_US');\n// console.log(date1>date2);\n// console.log(date1document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg' : (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n console.log(post);\n this.createShowForm.controls[\"imageUrl\"].setValue(post.media[0].fileUrl);\n this.createShowForm.controls[\"imageUrlKey\"].setValue(post.media[0].key);\n this.createShowForm.get('title').patchValue(post.text);\n this.createShowForm.get('startDate').patchValue(post.from);\n this.createShowForm.get('endDate').patchValue(post.to);\n this.createShowForm.get('startTime').patchValue(post.from);\n this.createShowForm.get('endTime').patchValue(post.to);\n this.createShowForm.get('venue').patchValue(post.address.venue);\n this.createShowForm.get('city').patchValue(post.address.city);\n this.createShowForm.get('state').patchValue(post.address.state);\n this.createShowForm.get('country').patchValue(post.address.country);\n this.createShowForm.get('ticketFrom').patchValue(post.money.from);\n this.createShowForm.get('ticketTo').patchValue(post.money.to);\n this.createShowForm.get('venueDetails').patchValue(post.venueDetails);\n $(\"#exampleModalToggle\").show();\n this.initAutocomplete();\n }\n }\n\n updatePost(){\n\n let text = this.createPostForm?.value?.text?.replace(/\\
    /g, '');\n let data = {\n \"text\": text,\n // \"media\":this.imagesVideosArray\n }\n\n this.service.updatePost(this.updatePostId,data).subscribe((res:any)=>{\n if(res.type === \"success\"){\n this.toastrService.success(\"Post Updated\");\n this.imagesVideosArray=[];\n localStorage.removeItem(\"updatePost\");\n // this.updatePostId = '';\n this.createPostForm.reset();\n this.imagessArray=[];\n this.videoArray = [];\n this.countImagesUploaded=[];\n this.countVideoUploaded=[];\n this.postList=[];\n // this.allPosts=[];\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n this.progress = 0;\n this.disabledCreateShow = false;\n $(\"#createPostModalBootstrap\").hide();\n let index = this.allPosts.findIndex((elm)=>{\n return elm._id == this.updatePostId;\n })\n\n this.allPosts[index] = res.data;\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n }else{\n this.toastrService.error(res.message);\n }\n })\n // this.route.navigateByUrl('/home');\n }\n clickDeletePost(){\n this.service.deletePost(this.deletePostId).subscribe((res:any)=> {\n if(res.type === 'success'){\n // this.allPostData = [];\n this.modalRef.hide();\n this.postList=[];\n // this.allPosts=[];\n // this.allShows=[];\n // this.toastrService.success(res.message);\n this.toastrService.success(this.deletePostShowMsg.charAt(0).toUpperCase() + this.deletePostShowMsg.slice(1) + \" Deleted\");\n this.stopScrollingPost = true;\n // this.createShowForm.reset();\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n console.log(\"here\");\n let deleteElemindex = this.allPosts.findIndex((elm)=>{\n return elm._id == this.deletePostId\n })\n this.allPosts.splice(deleteElemindex,1);\n }else{\n this.toastrService.error(res.message);\n }\n },\n ((error)=> {\n this.modalRef.hide();\n this.toastrService.error(error.error.message);\n })\n )\n}\n\nnewImagesVideosArray = [];\nshowprogressBar = false;\nuserCreatePost(){\n this.showprogressBar = true;\n // this.spinners.show();\n // let data = {\n // \"text\": this.createPostForm.value.text,\n // \"media\":this.imagesVideosArray\n // }\n // this.service.createPost(data).subscribe((res:any) => {\n // if(res.type == 'success'){\n // $(\"#createPostModalBootstrap\").hide();\n // this.createPostForm.reset();\n // this.toastrService.success(res.message);\n // this.imagessArray=[];\n // this.videoArray = [];\n // this.countImagesUploaded=[];\n // this.countVideoUploaded=[];\n // this.getPosts(this.page, this.itemperPage);\n // }else{\n // this.toastrService.error(res.message);\n // }\n // })\n const elm = document.querySelector('.showbox');\n elm.style.boxShadow ='';\n elm.style.border = '';\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n $(\"#createPostModalBootstrap\").hide();\n let text = this.createPostForm?.value?.text?.replace(/\\
    /g, '');\n\n let compltedFlag = 0;\n for (let i = 0;i {\n // this.countImagesUploaded.push({ fileUrl: rr.target.result, key: '' });\n // this.imagesVideosArray.push({ fileUrl: rr.target.result, key: '', \"type\": \"image\" });\n \n this.service.uploadImage(fd).subscribe((res: any) => {\n console.log(\"image uploaded\");\n this.newImagesVideosArray.push({ fileUrl: res.data.fileUrl, key: res.data.key, \"type\": \"image\", mediaWidth: file.mediaWidth, mediaHeight: file.mediaHeight,aspectRatio: this.aspectRatioAll == 1/1 ? 0 : (this.aspectRatioAll == 4/5 ? 1 : (this.aspectRatioAll == 16/9 ? 2 : 0)) });\n this.progress = Math.round(100 * (i+1)/this.imagesVideosArray.length);\n console.log(this.progress);\n compltedFlag++;\n if(compltedFlag == this.imagesVideosArray.length){\n this.createPostNew();\n }\n // this.countImagesUploaded.push({ fileUrl: res.data.fileUrl, key: res.data.key });\n // this.imagesVideosArray.push({ fileUrl: res.data.fileUrl, key: res.data.key, \"type\": \"image\" });\n // if (e.target.files.length == (this.imagesVideosArray.length - initialFilesLength)) {\n // e.target.value = '';\n // }\n })\n // }\n // }\n }\n else if (file.type == 'video') {\n console.log(file);\n let fd2 = new FormData();\n fd2.append('file', file.file);\n // const t = await this.getVideoDuration(file);\n // console.log(t.duration);\n // if (parseFloat(t?.duration) <= 480) {\n // const reader = new FileReader();\n // reader.readAsDataURL(file);\n // reader.onload = (rr) => {\n // this.countVideoUploaded.push({ fileUrl: rr.target.result, key: '' });\n // this.imagesVideosArray.push({ fileUrl: rr.target.result, key: '', \"type\": \"video\" });\n // };\n this.service.uploadImage(fd2).subscribe(async (res: any) => {\n console.log('video upload', res);\n if (res.type == 'success') {\n\n\n\n const fileUrlForImage = URL.createObjectURL(file.file);\n const thumbUrl = await this.getThumbnailForVideo(fileUrlForImage);\n\n let block = thumbUrl.split(\";\");\n let contentType = block[0].split(\":\")[1];\n let realData = block[1].split(\",\")[1];\n\n // Convert it to a blob to upload\n let blob2 = this.base64toBlob(realData, contentType);\n let fd3 = new FormData();\n\n let file3 = new File([blob2], 'indie-town.png');\n fd3.append('file', file3);\n\n\n \n this.service.uploadImage(fd3).subscribe((res3: any) => {\n console.log(res3);\n // debugger;\n // this.countVideoUploaded.push({ fileUrl: res.data.fileUrl, key: res.data.key });\n this.newImagesVideosArray.push({ fileUrl: res.data.fileUrl, key: res.data.key, \"type\": \"video\", thumbnail: res3.data.fileUrl,mediaWidth: this.aspectRatioAll == 1/1 ? 200 : (this.aspectRatioAll == 4/5 ? 800: (this.aspectRatioAll == 16/9 ? 3200 : 200)),mediaHeight: this.aspectRatioAll == 1/1 ? 200 : (this.aspectRatioAll == 4/5 ? 600 : (this.aspectRatioAll == 16/9 ? 1800 : 200)),aspectRatio: this.aspectRatioAll == 1/1 ? 0 : (this.aspectRatioAll == 4/5 ? 1 : (this.aspectRatioAll == 16/9 ? 2 : 0))});\n this.progress = Math.round(100 * (i+1)/this.imagesVideosArray.length);\n compltedFlag++;\n if(compltedFlag == this.imagesVideosArray.length){\n this.createPostNew();\n }\n // debugger;\n // if (e.target.files.length == (this.imagesVideosArray.length - initialFilesLength)) {\n // e.target.value = '';\n // }\n });\n \n \n\n \n //Thumbnail generate and upload thumbnail\n\n }\n })\n // } else {\n // this.toastrService.error('you can upload maximum 8 minutes video file');\n // }\n }\n // }\n // else {\n // this.toastrService.error('you can upload maximum 10 media files');\n // e.target.value = '';\n // break;\n // }\n }\n\n if(this.imagesVideosArray.length == 0){\n this.createPostNew();\n }\n\n// console.log(text);\n // return\n // if (this.progress == 0) {\n // this.spinners.show();\n // let data = {\n // \"text\": text,\n // \"media\":this.imagesVideosArray\n // }\n // // console.log(data);\n // return new Promise((resolve, reject) => {\n // this.service.createPost(data).subscribe((event: any) => {\n // if (event.type == 'success') {\n // // debugger;\n // this.createPostForm.reset();\n // // this.toastrService.success(event.message);\n // // this.imagessArray=[];\n // // this.videoArray = [];\n // // this.countImagesUploaded=[];\n // // this.countVideoUploaded=[];\n // this.postList=[];\n // // this.page=1;\n // // this.getPosts(this.page, this.itemperPage);\n // this.progress = 0;\n // console.log(event.data);\n // console.log(this.allPosts);\n // if(this.selectedIndex == 0){\n // this.allPosts.unshift(event.data);\n // }\n // else{\n // this.allPostsCopy.unshift(event.data);\n // }\n // console.log(this.allPosts);\n // this.toastrService.success(\"Created post\");\n // this.imagessArray=[];\n // this.videoArray = [];\n // this.countImagesUploaded=[];\n // this.countVideoUploaded=[];\n // this.imagesVideosArray =[]\n // this.postList=[];\n // } else {\n // this.progress = 0;\n // this.createPostForm.reset();\n // // this.toastrService.success(event.message);\n // this.imagessArray=[];\n // this.videoArray = [];\n // this.countImagesUploaded=[];\n // this.countVideoUploaded=[];\n // this.imagesVideosArray =[]\n // this.postList=[];\n // // this.allPosts = [];\n // // this.page=1;\n // // this.getPosts(this.page, this.itemperPage);\n // this.progress = 0;\n // }\n\n // // switch (event.type) { \n // // case HttpEventType.UploadProgress:\n // // this.progress = Math.round(100 * event.loaded / event.total);\n // // break;\n // // case HttpEventType.Response:\n // // if (event.type == 'success') {\n // // this.createPostForm.reset();\n // // this.toastrService.success(event.message);\n // // // this.imagessArray=[];\n // // // this.videoArray = [];\n // // // this.countImagesUploaded=[];\n // // // this.countVideoUploaded=[];\n // // this.postList=[];\n // // // this.page=1;\n // // // this.getPosts(this.page, this.itemperPage);\n // // this.progress = 0;\n // // console.log(event.data);\n // // console.log(this.allPosts);\n // // this.allPosts.push(event.data);\n // // console.log(this.allPosts);\n // // resolve(this.progress);\n // // } else {\n // // resolve(this.progress);\n // // this.progress = 0;\n // // reject(this.progress);\n // // this.createPostForm.reset();\n // // // this.toastrService.success(event.message);\n // // this.imagessArray=[];\n // // this.videoArray = [];\n // // this.countImagesUploaded=[];\n // // this.countVideoUploaded=[];\n // // this.imagesVideosArray =[]\n // // this.postList=[];\n // // // this.allPosts = [];\n // // // this.page=1;\n // // // this.getPosts(this.page, this.itemperPage);\n // // this.progress = 0;\n // // }\n // // }\n // // this.route.navigateByUrl('/home');\n \n // this.spinners.hide();\n // })\n // })\n // }\n}\n\ncreatePostNew(){\n\n let text = this.createPostForm?.value?.text?.replace(/\\
    /g, '');\n\n // if (this.progress == 0) {\n this.spinners.show();\n let data = {\n \"text\": text,\n \"media\": this.newImagesVideosArray\n }\n return new Promise((resolve, reject) => {\n this.service.createPost(data).subscribe((event: any) => {\n switch (event.type) {\n case HttpEventType.UploadProgress:\n // this.progress = Math.round(100 * event.loaded / event.total);\n break;\n case HttpEventType.Response:\n if (event.type == 'success') {\n this.createPostForm.reset();\n this.createPostForm.controls.text.setValue('');\n // this.toastrService.info(\"1234\");\n this.toastrService.success(event.message);\n // this.imagessArray=[];\n // this.videoArray = [];\n // this.countImagesUploaded=[];\n // this.countVideoUploaded=[];\n this.postList = [];\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n \n resolve(this.progress);\n this.showprogressBar = false;\n this.progress = 0;\n this.toastrService.success(\"Created post\");\n this.countImagesUploaded = [];\n this.countVideoUploaded = [];\n this.imagesVideosArray = [];\n this.newImagesVideosArray = [];\n this.allPosts.push(event.data);\n } else {\n resolve(this.progress);\n this.progress = 0;\n reject(this.progress);\n this.createPostForm.reset();\n this.createPostForm.controls.text.setValue('');\n // this.toastrService.success(event.message);\n this.imagessArray = [];\n this.videoArray = [];\n this.countImagesUploaded = [];\n this.countVideoUploaded = [];\n this.imagesVideosArray = [];\n this.newImagesVideosArray = [];\n this.postList = [];\n // this.postList = [];\n this.page = 1;\n this.getPosts(this.page, this.itemperPage);\n this.showprogressBar = false;\n this.progress = 0;\n }\n }\n this.showprogressBar = false;\n this.route.navigateByUrl('/home');\n this.toastrService.success(\"Created post\");\n this.countImagesUploaded = [];\n this.countVideoUploaded = [];\n this.imagesVideosArray = [];\n this.newImagesVideosArray = [];\n // this.progress = 0;\n // this.toastrService.info(\"12345\");\n // this.toastrService.success(\"Created post\");\n this.spinners.hide();\n })\n })\n // }\n}\n\nbase64toBlob(base64Data, contentType) {\n contentType = contentType || '';\n var sliceSize = 1024;\n var byteCharacters = atob(base64Data);\n var bytesLength = byteCharacters.length;\n var slicesCount = Math.ceil(bytesLength / sliceSize);\n var byteArrays = new Array(slicesCount);\n\n for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n var begin = sliceIndex * sliceSize;\n var end = Math.min(begin + sliceSize, bytesLength);\n\n var bytes = new Array(end - begin);\n for (var offset = begin, i = 0; offset < end; ++i, ++offset) {\n bytes[i] = byteCharacters[offset].charCodeAt(0);\n }\n byteArrays[sliceIndex] = new Uint8Array(bytes);\n }\n return new Blob(byteArrays, { type: contentType });\n}\n\nasync getThumbnailForVideo(videoUrl) {\n const video = document.createElement(\"video\");\n const canvas = document.createElement(\"canvas\");\n video.style.display = \"none\";\n canvas.style.display = \"none\";\n\n // Trigger video load\n await new Promise((resolve, reject) => {\n video.addEventListener(\"loadedmetadata\", () => {\n video.width = video.videoWidth;\n video.height = video.videoHeight;\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n // Seek the video to 25%\n video.currentTime = video.duration * 0.25;\n });\n video.onerror = () => {\n reject(\"Invalid video codec. Please select a video file.\")\n }\n video.addEventListener(\"seeked\", () => resolve(''));\n video.src = videoUrl;\n });\n\n // Draw the thumbnailz\n canvas\n .getContext(\"2d\")\n .drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\n const imageUrl = canvas.toDataURL(\"image/png\");\n console.log(imageUrl);\n // debugger;\n return imageUrl;\n}\n\ndeleteComment(id:any){\n this.service.deleteComment(id).subscribe((res:any)=>{\n if(res.type==\"success\"){\n this.toastrService.success(res.message);\n }else{\n this.toastrService.error(res.message);\n }\n })\n}\n\ncheckEnterPress(e:any){\n e.preventDefault();\n if(e.charCode==13){\n if(this.imagesVideosArray.length>=1 || this.createPostForm.value.text!=''){\n this.userCreatePost();\n }\n }\n}\n\nvalidatePriceRange(e){\n if (e.target.value.length>9) {\n this.createShowForm.controls.ticketTo.setValue(e.target.value.slice(0,9));\n // this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n }\n if(!this.createShowForm.controls.ticketFrom.value){\n this.toastrService.error(\"Price range incorrect\",'',{timeOut: 2000});\n e.target.value = '';\n return;\n }\n if(+(e.target.value)<=this.createShowForm.controls.ticketFrom.value){\n this.toastrService.error(\"Price range incorrect\",'',{timeOut: 2000});\n }\n}\n\nvalidatePriceRange1(e) {\n if (e.target.value.length>9) {\n // e.target.value = e.target.value.slice(0,9);\n this.createShowForm.controls.ticketFrom.setValue(e.target.value.slice(0,9));\n // this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n }\n if (!this.createShowForm.controls.ticketFrom.value) {\n this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n e.target.value = '';\n return;\n }\n if (+(e.target.value) <= this.createShowForm.controls.ticketFrom.value) {\n this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n }\n // if (e.target.value.length>9) {\n // e.target.value = e.target.value.slice(0,9);\n // // this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n // }\n}\n\nlat:any;\nlong:any;\n\n\nshowprogressBarForShow: boolean = false;\nshowProgress = 0;\nasync userCreateShow(){\n // let sd = this.createShowForm.value.startDate;\n // let cd = new Date();\n // if(sdthis.createShowForm.value.ticketTo){\n return\n }\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n const elm = document.querySelector('.showbox');\n elm.style.boxShadow ='';\n elm.style.border = '';\n // let startDate = this.createShowForm.value.startDate;\n // let startTime = this.createShowForm.value.startTime;\n // startDate.setHours(startTime.getHours());\n // startDate.setMinutes(startTime.getMinutes());\n\n // let endDate = this.createShowForm.value.endDate;\n // let endTime = this.createShowForm.value.endTime;\n // endDate.setHours(endTime.getHours());\n // endDate.setMinutes(endTime.getMinutes());\n\n\n let from123;\n let to123;\n if(this.createShowForm.controls.startDate?.value){\n console.log(this.createShowForm.controls.startDate?.value);\n from123 = new Date(this.createShowForm.controls.startDate?.value?.toLocaleDateString('en-us') + ' ' + this.createShowForm.controls.startTime?.value?.toLocaleTimeString('en-us'));\n }\n if(this.createShowForm.controls.endDate?.value){\n to123 = new Date(this.createShowForm.controls.endDate?.value?.toLocaleDateString('en-us') + ' ' + this.createShowForm.controls.endTime?.value?.toLocaleTimeString('en-us'));\n }\n\n $(\"#exampleModalToggle\")?.hide();\n\n this.showprogressBarForShow = true;\n this.showProgress = 0;\n\n this.spinner.show();\n await this.uploadShowImageToS3();\n this.spinner.hide();\n\n let data = {\n \"text\":this.createShowForm.value.title,\n \"media\":[{\n \"fileUrl\": this.createShowForm.value.imageUrl,\n \"key\": this.createShowForm.value.imageUrlKey,\n \"type\":\"image\",\n mediaWidth: this.showImageWidth,\n mediaHeight: this.showImageHeight,\n aspectRatio: this.aspectRatio == 1/1 ? 0 : (this.aspectRatio == 4/5 ? 1 : (this.aspectRatio == 16/9 ? 2 : 0))\n }],\n \"showDate\": this.createShowForm.value.startDate,\n \"from\": from123,\n \"to\": to123,\n \"type\":\"SHOW\",\n \"address\":{\n \"venue\": (document.getElementById('pac-input')).value?.split(\",\")[0],\n \"city\": (document.getElementById('cityNameFetch')).value,\n \"state\": (document.getElementById('stateModal')).value,\n \"country\": (document.getElementById('countryModal')).value\n },\n \"location\":{\n \"lat\": this.lat,\n \"long\":this.long \n },\n \"money\":{\n \"currencyCode\":\"INR\",\n \"from\":this.createShowForm.value.ticketFrom,\n \"to\":this.createShowForm.value.ticketTo\n },\n \"venueDetails\": this.createShowForm.value.venueDetails\n }\n\n // this.service.createPost(data).subscribe((res:any) => {\n // if(res.type == 'success'){\n // $(\"#exampleModalToggle\").hide();\n // this.createShowForm.reset();\n // this.getPosts(this.page, this.itemperPage);\n // // this.modalRef.hide();\n // this.toastrService.success(res.message);\n // this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n // this.imageChangedEvent = '';\n // }else{\n // this.toastrService.error(res.message);\n // }\n // })\n \n if (this.progress == 0) {\n this.spinners.show();\n return new Promise((resolve, reject) => {\n this.service.createPost(data).subscribe((event: any) => {\n $(\"#exampleModalToggle\").hide();\n this.createShowForm.reset();\n if (event.type == 'success') {\n this.postList=[];\n // this.toastrService.success(event.message);\n // this.toastrService.success(event.message);\n this.progress = 0;\n this.allShows.unshift(event.data);\n this.toastrService.success(\"Created Show\");\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n this.imageChangedEvent = '';\n } else {\n this.progress = 0;\n this.postList=[];\n // this.allPosts=[];\n this.createShowForm.reset();\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n // this.modalRef.hide();\n // this.toastrService.success(event.message);\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n this.imageChangedEvent = '';\n // resolve(this.progress);\n // reject(this.progress);\n }\n\n this.showProgress = 100;\n this.toastrService.success(\"Created Show\");\n this.spinners.hide();\n this.route.navigateByUrl('/home');\n this.showprogressBarForShow = false;\n this.showProgress = 0;\n\n this.createPostForm.reset();\n this.resetImageCropper();\n this.imagessArray=[];\n this.videoArray = [];\n this.countImagesUploaded=[];\n this.countVideoUploaded=[];\n this.imagesVideosArray =[];\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n // this.postList=[];\n // switch (event.type) { \n // case HttpEventType.UploadProgress:\n // this.progress = Math.round(100 * event.loaded / event.total);\n // break;\n // case HttpEventType.Response:\n // if (event.type == 'success') {\n // this.postList=[];\n // this.toastrService.success(event.message);\n // this.toastrService.success(event.message);\n // this.progress = 0;\n // this.allPosts.push(event.data);\n // resolve(this.progress);\n // } else {\n // this.progress = 0;\n // this.postList=[];\n // this.allPosts=[];\n // this.createShowForm.reset();\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n // // this.modalRef.hide();\n // // this.toastrService.success(event.message);\n // this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n // this.imageChangedEvent = '';\n // resolve(this.progress);\n // reject(this.progress);\n // }\n // }\n this.spinners.hide();\n })\n })\n }\n}\n\nshowImageWidth: any;\n showImageHeight: any;\n uploadShowImageToS3(){\n\n return new Promise((resolve,reject) => {\n\n try{\n let fd = new FormData();\n const imageFile = new File([this.dataURItoBlob(this.croppedShowPicture.base64)], this.croppedShowPictureName, { type: 'image/png' });\n fd.append(\"file\", imageFile);\n this.service.uploadImage(fd).subscribe((res: any) => {\n\n this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n this.showProgress = 50;\n this.showImageWidth = this.croppedShowPicture.width;\n this.showImageHeight = this.croppedShowPicture.height;\n this.croppedShowPicture = null;\n this.croppedShowPictureName = null;\n resolve({fileUrl : res.data.fileUrl, key : res.data.key})\n\n\n // this.imageChangedEvent = e;\n // this.createShowImageUrl = res.data.fileUrl;\n // this.CreateShowCropModalRef.hide();\n // document.getElementById('craeteshowplaceholder').style.borderRadius = \"15px\";\n // this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n // this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n // (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n // this.resetImageCropper();\n });\n }\n catch(e){\n reject(\"some error occured\");\n }\n \n });\n \n }\n\n\nchangeToNumber(data:any){\n return parseFloat(data);\n}\n\nupdateShow(){\n if(this.createShowForm.invalid){\n this.toastrService.error('All Fields required');\n return\n }\n this.updateShowButton = false;\n\n let data = {\n \"text\":this.createShowForm.value.title,\n \"media\":[{\n \"fileUrl\": this.createShowForm.value.imageUrl,\n \"key\": this.createShowForm.value.imageUrlKey,\n \"type\":\"image\"\n }],\n \"showDate\": this.createShowForm.value.startDate,\n // \"from\": this.createShowForm.value.startTime,\n // \"to\": this.createShowForm.value.endTime,\n \"from\": new Date(new Date(this.createShowForm.controls.startDate.value).toLocaleDateString('en-us') + ' ' + new Date(this.createShowForm.controls.startTime.value).toLocaleTimeString('en-us')),\n \"to\": new Date(new Date(this.createShowForm.controls.endDate.value).toLocaleDateString('en-us') + ' ' + new Date(this.createShowForm.controls.endTime.value).toLocaleTimeString('en-us')),\n \"type\":\"SHOW\",\n \"address\":{\n \"venue\": (document.getElementById('pac-input')).value.split(\",\")[0],\n \"city\": (document.getElementById('cityNameFetch')).value,\n \"state\": (document.getElementById('stateModal')).value,\n \"country\": (document.getElementById('countryModal')).value\n },\n \"location\":{\n \"lat\": this.lat,\n \"long\":this.long \n },\n \"money\":{\n \"currencyCode\":\"INR\",\n \"from\":this.createShowForm.value.ticketFrom,\n \"to\":this.createShowForm.value.ticketTo\n },\n \"venueDetails\": this.createShowForm.value.venueDetails\n }\n \ndocument.getElementById('text').classList.remove(\"removebodyscroll\");\n // if (this.progress == 0) {\n // this.spinners.show();\n this.minEndDate = new Date();\n localStorage.removeItem('updatePost');\n // return new Promise((resolve, reject) => {\n this.service.updatePost(this.updatePostId,data).subscribe((event: any) => {\n $(\"#exampleModalToggle\").hide();\n if(event.type == 'success'){\n // this.postList=[];\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n this.disabledCreateShow=false;\n this.toastrService.success(\"Updated Show\");\n // this.allPosts=[];\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n this.createShowForm.reset();\n // this.allPosts.push(event.data);\n let index = this.allShows.findIndex((elm)=>{\n return elm._id == this.updatePostId;\n })\n\n this.allShows[index] = event.data;\n }\n this.resetImageCropper();\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n })\n // }\n // this.toastrService.success(\"Successfully Updated Show\");\n // this.spinners.hide();\n // this.route.navigateByUrl('/home');\n }\n\n\n latitude:any;\nlongitude:any;\n\n initAutocomplete() {\n const map = new google.maps.Map(\n document.getElementById(\"mapmk1234\") as HTMLElement,\n {\n center: { lat: this.latitude ? parseFloat(this.latitude): 28.7041, lng: this.longitude ? parseFloat(this.longitude): 77.1025 },\n zoom: 13,\n mapTypeId: \"roadmap\",\n }\n );\n\n\n // Create the search box and link it to the UI element.\n const input = document.getElementById(\"pac-input\") as HTMLInputElement;\n // const searchBox = new google.maps.places.SearchBox(input);\n\n const searchBox = new google.maps.places.Autocomplete(input,{\n types:['establishment']\n });\n\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);\n\n // Bias the SearchBox results towards current map's viewport.\n map.addListener(\"bounds_changed\", () => {\n searchBox.setBounds(map.getBounds() as google.maps.LatLngBounds);\n });\n\n \n // Listen for the event fired when the user selects a prediction and retrieve\n // more details for that place.\n searchBox.addListener(\"place_changed\", () => {\n const place = searchBox.getPlace();\n\n // if (places.length == 0) {\n // return;\n // }\n\n if(!Object.keys(place)?.length){\n return;\n }\n\n // For each place, get the icon, name and location.\n const bounds = new google.maps.LatLngBounds();\n\n // places.forEach((place) => {\n if (!place.geometry || !place.geometry.location) {\n console.log(\"Returned place contains no geometry\");\n return;\n }\n\n const icon = {\n url: place.icon as string,\n size: new google.maps.Size(71, 71),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(17, 34),\n scaledSize: new google.maps.Size(25, 25)\n };\n\n this.lat = place.geometry.location.lat();\n this.long = place.geometry.location.lng();\n\n this.codeLatLng(place.geometry.location.lat(), place.geometry.location.lng());\n let data = (document.getElementById('pac-input')).value;\n (document.getElementById('pac-input')).value = data.split(\",\")[0];\n // this.updateProfile.get('lat').patchValue(place.geometry.location.lat());\n // this.updateProfile.get('long').patchValue(place.geometry.location.lng());\n // this.codeLatLng(place.geometry.location.lat(),place.geometry.location.lng());\n\n \n if (place.geometry.viewport) {\n // Only geocodes have viewport.\n bounds.union(place.geometry.viewport);\n } else {\n bounds.extend(place.geometry.location);\n }\n // });\n map.fitBounds(bounds); \n });\n\n}\n\n\ncodeLatLng(lat, lng) {\n let geocoder = new google.maps.Geocoder();\n var latlng = new google.maps.LatLng(lat, lng);\n geocoder.geocode({location:latlng}, function(results, status) {\n if (status == google.maps.GeocoderStatus.OK) {\n if (results[1]) {\n let a = []; \n a = results[0].formatted_address.split(\",\");\n for (i = 0; i < results[0].address_components.length; i++) {\n let len = results.length; \n (document.getElementById('countryModal')).value=results[len-1].formatted_address;\n if (results[0].address_components[i].types[0] == 'postal_code')\n // alert(\"Zip Code: \" + results[0].address_components[i].short_name);\n (document.getElementById('abcd')).value=results[0].address_components[i].short_name;\n \n console.log(\"*****************************\",results[0].address_components[3].long_name);\n (document.getElementById('cityNameFetch')).value=results[0].address_components[3].long_name;\n }\n\n for (var i=0; idocument.getElementById('stateModal')).value=a.long_name;\n let city_name = (document.getElementById('pac-input')).value;\n let cityArray = city_name.split(',');\n \n // (document.getElementById('cityNameFetch')).value=cityArray[cityArray.length-3];\n break;\n }\n }\n }\n } else {\n alert(\"No results found\");\n }\n } else {\n }\n });\n}\n\n\nremoveVideo(index:any,key:any){\n this.countVideoUploaded.splice(index, 1);\n // this.imagesVideosArray = this.imagesVideosArray.filter(function(data:any){\n // return data.key!=key;\n // })\n\n let ind = this.imagesVideosArray.findIndex( (data: any) => {\n return data.key == key;\n })\n\n if(ind != -1){\n this.imagesVideosArray.splice(ind,1);\n }\n}\n\nremoveImage(index:any,key:any){\n this.countImagesUploaded.splice(index, 1);\n // this.imagesVideosArray = this.imagesVideosArray.filter(function(data:any){\n // return data.key!=key;\n // }) \n \n let ind = this.imagesVideosArray.findIndex( (data: any) => {\n return data.key == key;\n })\n\n if(ind != -1){\n this.imagesVideosArray.splice(ind,1);\n }\n}\n\nopneCreateShowModal(){\n console.log(1);\n if(this.disabledCreateShow == false){\n console.log(2);\n $(\"#createPostModalBootstrap\").hide();\n $(\"#exampleModalToggle\").show();\n // $(\"#createPostModal\").remove();\n document.getElementById('text').classList.add(\"removebodyscroll\");\n this.editshoww=false;\n console.log(4);\n this.initAutocomplete();\n }\n // this.modalRef.hide();\n // this.openModal(this.createShow);\n}\nimageChangedEvent: any = '';\n croppedImage: any = '';\nuploadShowImage(e:any){\n let files = e.target.files;\n let file = e.target.files[0];\n let fd = new FormData();\n fd.append(\"file\", file);\n if (e.target.files && e.target.files.length) {\n for (const file of e.target.files) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n const img = new Image();\n img.src = reader.result as string;\n img.onload = () => {\n this.service.uploadImage(fd).subscribe((res:any)=>{\n this.imageChangedEvent = e;\n this.createShowImageUrl = res.data.fileUrl;\n\n document.getElementById('craeteshowplaceholder').style.borderRadius=\"15px\";\n this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n })\n }\n }\n }\n }\n}\n\n\nremovespacess(e:any,type){\n if(type==1){\n let data = e.srcElement.innerText.trim();\n if(data==''){\n this.btndisablespace=true; \n }else{\n this.btndisablespace=false;\n }\n }else{\n console.log(\"show\",e.target.value)\n if(e.target.value.trim()==\"\"){ \n this.btndisablespace=true;\n }\n else{\n this.btndisablespace=false;\n }\n }\n} \n\nbackButtonClick(){\n // this.modalRef.hide();\n \n this.updateShowButton = false;\n this.createShowForm.reset();\n this.disabledCreateShow = false;\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n (document.getElementById('uploadshowImg')).value='';\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n $(\"#exampleModalToggle\").hide();\n $(\"#createPostModalBootstrap\").show();\n // this.openModal(this.createPost);\n}\n\nhideshowpopup(){\n this.minEndDate = new Date();\n localStorage.removeItem('updatePost');\n $(\"#exampleModalToggle\").hide();\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n this.updateShowButton = false;\n this.createShowForm.reset();\n this.disabledCreateShow = false;\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n (document.getElementById('uploadshowImg')).value='';\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n // this.route.navigateByUrl('/home');\n}\n\ngetTimeWeekWise(previousDate){\n // let previousDate = '2023-03-31T10:20:53.182Z';\n let currentDate = new Date().getTime();\n let previous = new Date(previousDate).getTime();\n let miliseconds = currentDate-previous;\n\n var days:any = Math.floor(miliseconds / (1000 * 60 * 60 * 24));\n var hours:any = Math.floor((miliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n var minutes:any = Math.floor((miliseconds % (1000 * 60 * 60)) / (1000 * 60));\n var seconds:any = Math.floor((miliseconds % (1000 * 60)) / 1000);\n\n // console.log(`mili seconds: ${miliseconds}`);\n // console.log(`Days: ${days}`);\n if(days){\n let msg ;\n if(days==1){\n return `${days} day ago`;\n }else if(days>1 && days<=6){ \n return `${days} days ago`;\n }else if(days >=7){\n let week:any = days/7;\n let we = parseInt(week);\n if(we==1){\n return `${we} week ago`;\n }else{\n return `${we} weeks ago`;\n }\n } \n }else if(hours){\n if(hours>1){\n return `${hours} hours`;\n }\n else{\n return `${hours} hour`;\n }\n \n }else if(minutes){\n if(minutes>1){\n return `${minutes} minutes`;\n }\n else{\n return `${minutes} minute`;\n }\n }else{\n return `now`;\n }\n}\n\ndeletePostComment(){\n // this.service.deleteComment(id).subscribe((res:any)=>{\n // if(res.type==\"success\"){\n // this.toastrService.success(res.message);\n // // this.allPostData = [];\n // this.postList=[];\n // this.page=1;\n // this.getPosts(this.page,this.itemperPage);\n // }else{\n // this.toastrService.error(res.message);\n // }\n // }) \n\n this.deleteCommentModalRef?.hide();\n let postIndex = this.deleteCommentPostIndex;\n let commentIndex = this.deleteCommentIndex;\n\n this.service.deleteComment(this.allPosts[postIndex][\"comments\"][commentIndex]._id).subscribe((res:any)=>{\n if(res.type==\"success\"){\n // this.toastrService.success(res.message);\n this.toastrService.success(\"Comment Deleted\");\n // debugger;\n\n var totalRepliedCommentCount = this.allPosts[postIndex][\"comments\"][commentIndex].replies.length + 1\n if(this.allPosts[postIndex][\"comments\"][commentIndex].replies.length==0){\n this.allPosts[postIndex].commentCount--;\n }else{\n console.log(this.allPosts[postIndex].commentCount, totalRepliedCommentCount)\n this.allPosts[postIndex].commentCount = this.allPosts[postIndex].commentCount - totalRepliedCommentCount\n\n }\n\n console.log(this.allPosts[postIndex][\"comments\"][commentIndex]);\n console.log(this.allPosts[postIndex][\"comments\"]);\n this.allPosts[postIndex][\"comments\"].splice(commentIndex,1);\n this.allPosts[postIndex].commentsCount--;\n console.log(this.allPosts[postIndex][\"comments\"]);\n // this.allPostData = [];\n // this.postList=[];\n // this.page=1;\n // this.getPosts(this.page,this.itemperPage);\n }else{\n this.toastrService.error(res.message);\n }\n }) \n}\n\ncommentbandname:any;\nreplyPostCommentEnable(postIndex,comment:any,reply){\n // (document.getElementById('postCommentReply'+id)).style.display='block';\n\n console.log(postIndex);\n console.log(comment);\n console.log(reply);\n if(reply){\n this.commentbandname = reply.userId.bandName;\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).focus();\n this.allPosts[postIndex][\"commentFieldStatus\"] = 'reply';\n this.allPosts[postIndex][\"replyReplyId\"] = reply.userId?._id;\n (document.getElementById('replyCrossMark'+this.allPosts[postIndex]._id)).style.display = \"block\";\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value = `@${reply.userId.bandName} `;\n this.mentionReplyingTo = [reply.userId];\n }\n else{ \n this.commentbandname = comment.userId.bandName;\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).focus();\n this.allPosts[postIndex][\"commentFieldStatus\"] = 'reply';\n this.allPosts[postIndex][\"replyCommentId\"] = comment._id;\n (document.getElementById('replyCrossMark'+this.allPosts[postIndex]._id)).style.display = \"block\";\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value = `@${comment.userId.bandName} `;\n this.mentionReplyingTo = [comment.userId];\n }\n \n}\n\nreportReplyId:any;\nopenReportCommentModel(commentId:any,postId,replyId){\n // this.reportPostModel = true;\n // this.openModal(this.reportPostModal);\n this.modalRef = this.modalService.show(this.reportPostModal, {class : 'reportcommentdynamic',backdrop: 'static'});\n\n // this.reportPostModel = false;\n // this.reportCommentModel = true;\n // this.reportCommentId = commentId;\n // this.reportCommentPostId = postId; \n this.reportPostModel = false;\n this.reportCommentModel = true;\n this.reportCommentId = commentId;\n this.reportCommentPostId = postId;\n this.reportReplyId = replyId; \n}\n\ndeletePostCommentReply(){\n\n this.deleteCommentReplyModalRef?.hide();\n let postIndex = this.deleteCommentPostIndex;\n let commentIndex = this.deleteCommentIndex;\n let replyIndex = this.deleteCommentReplyIndex;\n\n this.service.deleteReply(this.allPosts[postIndex]._id,this.allPosts[postIndex][\"comments\"][commentIndex]['replies'][replyIndex]._id).subscribe((res:any)=>{\n if(res.type==\"success\"){\n // this.toastrService.success(res.message);\n this.allPosts[postIndex].commentCount--;\n this.toastrService.success(\"Reply Deleted\");\n this.allPosts[postIndex][\"comments\"][commentIndex][\"replies\"].splice(replyIndex,1);\n this.allPosts[postIndex][\"comments\"][commentIndex].totalRepliesCount--;\n // this.allPostData = [];\n // this.postList=[];\n // this.page=1;\n // this.getPosts(this.page,this.itemperPage);\n }else{\n this.toastrService.error(res.message);\n }\n })\n}\n\nloadMoreReplies(postIndex,commentIndex){\n console.log(postIndex);\n console.log(commentIndex);\n let comment = this.allPosts[postIndex].comments[commentIndex];\n\n\n if(comment.replyPageNumber)\n comment.replyPageNumber++ ;\n else\n comment.replyPageNumber = 1;\n this.service.getRepliesOfComment(comment._id,comment.replyPageNumber,10).subscribe((res:any)=>{\n if(comment.replies.length <= 3)\n this.allPosts[postIndex].comments[commentIndex].replies = res.data;\n else\n this.allPosts[postIndex].comments[commentIndex].replies.push(...res.data);\n })\n}\nhideReplies(postIndex,commentIndex){\n let comment = this.allPosts[postIndex].comments[commentIndex];\n (document.getElementById('hideunderline'+comment._id)).style.display='block';\n (document.getElementById('repliesBox'+comment._id)).style.display='none';\n // (document.getElementById('hideunderline'+comment._id)).style.display='none';\n (document.getElementById('showRepliesBtn'+comment._id)).style.display='block';\n // comment[\"replyPageNumber\"] = 0;\n // comment.replies = [];\n}\n\nreplyPostCommentClick(postIndex,commentId:any,postId:any){\n // let elms = (>document.getElementsByClassName('replyBox'));\n // $('.reply-box').hide();\n // debugger;\n let replyText = (document.getElementById('addcommnt'+postId)).value;\n\n // if(replyText!='')\n // alert(`Comment Id - ${commentId} Post Id: ${postId}`);\n if(replyText!=''){\n let data = {postId,commentId,\"text\":replyText};\n\n if(this.allPosts[postIndex][\"replyReplyId\"]){\n data['isReplyToReply'] = true;\n data['replyUserId'] = this.allPosts[postIndex][\"replyReplyId\"];\n }\n\n if(this.mentionsAdded){\n data['mentions'] = [];\n this.mentionsAdded.forEach(mention => {\n data['mentions'].push({\n \"userId\" : mention.choice._id,\n \"name\" : mention.choice.bandName,\n \"key\" : \"@\"+mention.choice.bandName,\n \"startIndex\" : mention.indices?.start,\n \"endIndex\" : mention.indices?.end\n })\n });\n }\n // this.mentionsAdded ? data['mentions'] = this.mentionsAdded : data ;\n this.service.replyToPostComment(data).subscribe((res:any)=>{\n this.createCommentForm.reset();\n this.mentionsAdded = [];\n let obj = this.allPosts.find(function(obj){\n return obj._id == postId;\n })\n obj.commentFieldStatus = 'comment';\n delete obj.replyCommentId;\n (document.getElementById('replyCrossMark'+postId)).style.display = \"none\";\n (document.getElementById('addcommnt'+postId)).value = '';\n this.mentionReplyingTo = [];\n if(res.type == 'success'){\n obj.commentCount++;\n this.toastrService.success(\"you replied to comment\");\n let commentObj = obj.comments.find((comment)=>{\n return comment._id == commentId\n });\n // commentObj.replies.unshift(\n // {\n // \"text\":replyText,\n // \"mentions\":[],\n // \"_id\":\"641d70cbd49fa109d8e72449\",\n // \"createdOn\":\"2023-03-24T09:43:39.876Z\",\n // \"reports\":[]\n // }\n // )\n commentObj.replies.unshift(res.data);\n commentObj.totalRepliesCount ? commentObj.totalRepliesCount++ : commentObj.totalRepliesCount = 1;\n }\n })\n } \n}\n\nshowReplies(comment){\n (document.getElementById('repliesBox'+comment._id)).style.display='block';\n (document.getElementById('showRepliesBtn'+comment._id)).style.display='none';\n (document.getElementById('hideunderline'+comment._id)).style.display='none';\n \n console.log(comment);\n}\n\ncommentsListData:any=[];\nopenModalPostId:any;\n\nloadMoreComments(id:any){\n this.openModalPostId = id;\n // this.commentsListData = [];\n this.commentPostId = id;\n // this.openModal(this.commentsListModel);\n this.getCommentsList(id);\n return\n}\n\nshowLessComments(postIndex){\n this.allPosts[postIndex]['comments'] = this.allPosts[postIndex]['comments'].slice(0,3);\n this.allPosts[postIndex].pageNumber = 0;\n console.log(this.allPosts[postIndex]['comments'].length);\n}\n\nchangeTime(time:any){\n var dt = new Date(time);\n var hours:any = dt.getHours() ; // gives the value in 24 hours format\n var AmOrPm = hours >= 12 ? 'PM' : 'AM';\n hours = (hours % 12) || 12;\n if(hours<10){\n hours= `0${hours}`;\n }\n var minutes:any = dt.getMinutes() ;\n if(minutes<10){\n minutes= `0${minutes}`;\n }\n var finalTime = hours + \":\" + minutes + \" \" + AmOrPm; \n finalTime // final time Time - 22:10\n return finalTime;\n}\n\nshowMoreDesc(id:any){\n (document.getElementById('lessDesc'+id)).style.display = \"none\";\n (document.getElementById('moreBtn'+id)).style.display = \"none\";\n (document.getElementById('moreBtn'+id)).style.display = \"none\";\n (document.getElementById('moreDataDesc'+id)).style.display = \"inline\";\n (document.getElementById('lessBtn'+id)).style.display = \"inline\";\n}\n\nshowLessDesc(id:any){\n (document.getElementById('lessDesc'+id)).style.display = \"inline\";\n (document.getElementById('moreBtn'+id)).style.display = \"inline\";\n (document.getElementById('moreBtn'+id)).style.display = \"inline\";\n (document.getElementById('moreDataDesc'+id)).style.display = \"none\";\n (document.getElementById('lessBtn'+id)).style.display = \"none\";\n}\n\ngetCommentsList(id:any){\n // this.service.getCommentsList(id,1,1000).subscribe((res:any)=>{\n // this.commentsListData =res.data;\n // })\n let obj = this.allPosts.find(function(obj){\n return obj._id == id;\n })\n if(obj.pageNumber)\n obj.pageNumber++ ;\n else\n obj.pageNumber = 1;\n this.service.getCommentsList(id,obj.pageNumber,10).subscribe((res:any)=>{\n this.commentsListData = res.data;\n // debugger;\n if(obj.comments.length <= 3)\n obj.comments = res.data;\n else\n obj.comments.push(...res.data);\n })\n}\n\nopenCreatePost(){\n if(this.postId){\n $(\"#createCommentOnFriendsTimeline\").show();\n document.getElementById('text').classList.add(\"removebodyscroll\");\n }\n else{\n this.updatePostButton = false;\n document.getElementById('text').classList.add(\"removebodyscroll\");\n const elm = document.querySelector('.showbox');\n elm.style.border = '1px solid #0F0D0F';\n elm.style.boxShadow ='0 0 0px 1000px white inset';\n // document.getElementsByClassName('showbox').style.border=\"\";\n $(\"#createPostModalBootstrap\").show();\n }\n \n // this.openModal(this.createPost);\n}\n\nhideTimelineComment(){\n $(\"#createCommentOnFriendsTimeline\").hide();\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n \n this.commentOnFriendsTimelineForm.reset();\n}\n\ncommentOnFriendsTimelineForm = new FormGroup({\n comment: new FormControl('', [Validators.required])\n})\n\n\ncreateCommentOnFriendTimeline(){\n let text = this.commentOnFriendsTimelineForm.value.comment.trim();\n if(text!=''){\n // this.reportPostSubmit = false;\n let type;\n console.log(this.selectedIndex);\n if(this.selectedIndex == 1){\n type = \"SHOW\";\n }\n let data = {\n \"text\": text,\n \"createdFor\":this.postId,\n type\n }\n this.service.commentOnFriendsTimeline(data).subscribe((res:any) => {\n if(res.type == 'success'){\n this.hideTimelineComment();\n // this.getPostsId(this.postId,this.postsPageNumber,this.postsPageSize);\n if(this.selectedIndex == 0){\n this.allPostsCopy.unshift(res?.data);\n // this.allPosts.unshift(res?.data);\n }\n else if(this.selectedIndex == 1){\n this.allShows.unshift(res?.data);\n }\n this.commentOnFriendsTimelineForm.reset();\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n}\n\nvideoArray = [];\ncancelPostModal(){\n localStorage.removeItem(\"updatePost\");\n this.disabledCreateShow = false;\n const elm = document.querySelector('.showbox');\n elm.style.boxShadow ='';\n elm.style.border = '';\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n $(\"#createPostModalBootstrap\").hide();\n this.imagessArray=[];\n this.countImagesUploaded=[];\n this.countVideoUploaded=[];\n this.imagesVideosArray=[];\n this.videoArray=[];\n this.createPostForm.reset();\n // this.route.navigateByUrl('/home');\n \n \n \n}\n\ncancelShowModal(){\n // localStorage.removeItem(\"updateShow\");\n // this.disabledCreateShow = false;\n // const elm = document.querySelector('.showbox');\n // elm.style.boxShadow ='';\n // elm.style.border = '';\n // document.getElementById('text').classList.remove(\"removebodyscroll\");\n $(\"#exampleModalToggle\").hide();\n this.createShowForm.reset();\n // this.route.navigateByUrl('/home');\n \n \n \n}\n\nbtndisablespace:Boolean;\neditorConfig: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '122px',\n minHeight: '0',\n maxHeight: 'auto',\n width: 'auto',\n minWidth: '0',\n translate: 'yes',\n enableToolbar: false,\n showToolbar: false,\n // placeholder: 'Enter text here...',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n fonts: [\n { class: 'arial', name: 'Arial' },\n { class: 'times-new-roman', name: 'Times New Roman' },\n { class: 'calibri', name: 'Calibri' },\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\n ],\n customClasses: [\n {\n name: 'quote',\n class: 'quote',\n },\n {\n name: 'redText',\n class: 'redText'\n },\n {\n name: 'titleText',\n class: 'titleText',\n tag: 'span',\n },\n ],\n uploadUrl: 'v1/image',\n uploadWithCredentials: false,\n sanitize: true,\n toolbarPosition: 'top',\n toolbarHiddenButtons: [\n ['bold', 'italic'],\n ['fontSize']\n ]\n}\n\ninvalidVideoCodecPopupRef;\nunSupportedVideoDetailsPopupOpened: boolean = false;\nasync onChangeimg1(e: any) {\n // console.log(e.target.files.length);\n // console.log(this.imagesVideosArray.length);\n if(this.imagesVideosArray.length<10 && (e?.target?.files?.length+this.imagesVideosArray.length)<=10 ){\n if (e.target.files && e.target.files.length) {\n let initialFilesLength = this.imagesVideosArray.length;\n for (let i = 0; i < e.target.files.length; i++) {\n let file = e.target.files[i];\n if(this.imagesVideosArray.length<10){\n let index = this.imagesVideosArray.findIndex((media: any) => {\n return media.key == file.name;\n })\n if(index == -1){\n if(file.type.includes('image/')){\n let fd = new FormData();\n fd.append(\"file\", file);\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = async(rr) => {\n \n // ================OLD====================\n // this.countImagesUploaded.push({ fileUrl: rr.target.result, key: file.name });\n // this.imagesVideosArray.push({ fileUrl: rr.target.result, key: file.name, \"type\": \"image\", file });\n // if ((i+1) == e.target.files.length) {\n // e.target.value = '';\n // }\n // =========================OLD END============================\n \n // ===================NEW=====================\n let obj: any = await this.crop(reader.result as string,1);\n this.countImagesUploaded.push({ fileUrl: obj.resolve, key: file.name, file });\n this.imagesVideosArray.push({ fileUrl: obj.resolve, key: file.name, \"type\": \"image\", file, mediaWidth: obj.mediaWidth, mediaHeight: obj.mediaHeight });\n if ((i+1) == e.target.files.length) {\n e.target.value = '';\n // this.createPostEditImagesCropModalRef = this.modalService.show(this.CreatePostImagesCropModal,{class : \"Create-Post-Image-Crop-Modal\"});\n }\n // ==================NEW END=======================\n \n \n \n // const img = new Image();\n // img.src = reader.result as string;\n // img.onload = () => {\n // this.service.uploadImage(fd).subscribe((res:any)=>{\n // this.countImagesUploaded.push({fileUrl:res.data.fileUrl,key:res.data.key});\n // this.imagesVideosArray.push({fileUrl:res.data.fileUrl,key:res.data.key,\"type\":\"image\"});\n // if(e.target.files.length == (this.imagesVideosArray.length-initialFilesLength)){\n // e.target.value = '';\n // }\n // })\n // }\n }\n }\n else if(file.type.includes('video/')){\n console.log(file);\n let fd2 = new FormData();\n fd2.append('file', file);\n // const t = await this.getVideoDuration(file);\n let t = null;\n let thumbUrl = null;\n try{\n t = await this.getVideoDuration(URL.createObjectURL(file));\n thumbUrl = await this.getThumbnailForVideo(URL.createObjectURL(file));\n if(!thumbUrl || thumbUrl == 'data:,'){\n // this.toastrService.error(`Invalid video.\"${file?.name}\"`);\n throw new Error(`Invalid video.\"${file?.name}\"`);\n }\n }\n catch(error){\n console.log(error);\n // this.toastrService.error(`Invalid video.\"${file?.name}\"`,'',{timeOut:3000});\n this.unSupportedVideoDetails.push(file);\n if(!this.unSupportedVideoDetailsPopupOpened){\n this.invalidVideoCodecPopupRef = this.modalService.show(this.invalidVideoCodecPopup);\n this.unSupportedVideoDetailsPopupOpened = true;\n }\n if ((i+1) == e.target?.files?.length) {\n e.target.value = '';\n }\n continue;\n }\n console.log(t.duration);\n if(parseFloat(t?.duration)<=480){\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (rr) => {\n this.countVideoUploaded.push({ fileUrl: rr.target.result, key: file.name,fileNew : this._sanitizer.bypassSecurityTrustResourceUrl((window.URL || window.webkitURL).createObjectURL(file)) });\n this.imagesVideosArray.push({ fileUrl: rr.target.result, key: file.name, \"type\": \"video\", file });\n if ((i+1) == e.target.files.length) {\n e.target.value = '';\n }\n };\n // this.service.uploadImage(fd2).subscribe((res: any) => {\n // console.log('video upload', res);\n // if (res.type == 'success') {\n // this.countVideoUploaded.push({fileUrl:res.data.fileUrl,key:res.data.key});\n // this.imagesVideosArray.push({fileUrl:res.data.fileUrl,key:res.data.key,\"type\":\"video\"});\n // if(e.target.files.length == (this.imagesVideosArray.length-initialFilesLength)){\n // e.target.value = '';\n // }\n // }\n // })\n }else{\n this.toastrService.error('you can upload maximum 8 minutes video file');\n }\n }\n } else {\n // you cannot upload same media file again.please rename the duplicate file\n this.toastrService.error('Duplicate file detected. Please rename the file and try uploading again.');\n if ((i+1) == e.target.files.length) {\n e.target.value = '';\n // this.createPostEditImagesCropModalRef = this.modalService.show(this.CreatePostImagesCropModal,{class : \"Create-Post-Image-Crop-Modal\"});\n }\n continue;\n }\n \n }\n else{\n this.toastrService.error('you can upload maximum 10 media files');\n e.target.value = '';\n break;\n }\n }\n }\n }\n else{\n this.toastrService.error('you can upload maximum 10 media files');\n e.target.value = '';\n }\n}\n\ninputVideoWith = 200;\ninputVideoHeight = 200;\ncrop(url, aspectRatio) {\n // we return a Promise that gets resolved with our canvas element\n return new Promise((resolve) => {\n // this image will hold our source image data\n const inputImage = new Image();\n\n // we want to wait for our image to load\n inputImage.onload = () => {\n // let's store the width and height of our image\n const inputWidth = inputImage.naturalWidth;\n const inputHeight = inputImage.naturalHeight;\n\n // get the aspect ratio of the input image\n const inputImageAspectRatio = inputWidth / inputHeight;\n\n // if it's bigger than our target aspect ratio\n let outputWidth = inputWidth;\n let outputHeight = inputHeight;\n if (inputImageAspectRatio > aspectRatio) {\n outputWidth = inputHeight * aspectRatio;\n } else if (inputImageAspectRatio < aspectRatio) {\n outputHeight = inputWidth / aspectRatio;\n }\n\n // calculate the position to draw the image at\n const outputX = (outputWidth - inputWidth) * 0.5;\n const outputY = (outputHeight - inputHeight) * 0.5;\n\n // create a canvas that will present the output image\n const outputImage = document.createElement('canvas');\n\n // set it to the same size as the image\n outputImage.width = outputWidth;\n outputImage.height = outputHeight;\n this.inputVideoWith = outputWidth;\n this.inputVideoHeight = outputHeight;\n\n console.log(outputImage.width);\n console.log(outputImage.height);\n\n // draw our image at position 0, 0 on the canvas\n const ctx = outputImage.getContext('2d');\n ctx.drawImage(inputImage, outputX, outputY);\n var data = outputImage.toDataURL('image/jpeg', 1);\n let obj = {resolve: data, mediaWidth: outputWidth, mediaHeight: outputHeight}\n resolve(obj);\n };\n\n // start loading our image\n inputImage.src = url;\n });\n}\n\n\naspectRatios = [1/1, 4/5, 16/9];\n\naspectRatioAll: any = 1/1;\nchangeImageAspectRatioAll(ratioIndex: any){\n this.aspectRatioAll = this.aspectRatios[ratioIndex];\n console.log(this.aspectRatios[ratioIndex]);\n // here5555\n // this.cd.detectChanges();\n\n for (let i = 0; i < this.countImagesUploaded.length; i++) {\n \n\n let file = this.countImagesUploaded[i].file;\n \n let fd = new FormData();\n fd.append(\"file\", file);\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = async (rr) => {\n\n let obj: any = await this.crop(reader.result as string,this.aspectRatioAll);\n this.countImagesUploaded[i].fileUrl = obj.resolve;\n let imagesVideosArrayIndex = this.imagesVideosArray.findIndex((obj)=>{\n return obj.key == this.countImagesUploaded[i].key;\n });\n \n // debugger;\n if(imagesVideosArrayIndex != -1){\n this.imagesVideosArray[imagesVideosArrayIndex]['fileUrl'] = obj.resolve;\n this.imagesVideosArray[imagesVideosArrayIndex]['mediaWidth'] = obj.mediaWidth;\n this.imagesVideosArray[imagesVideosArrayIndex]['mediaHeight'] = obj.mediaHeight;\n }\n }\n }\n}\n\ngetVideoDuration(file):Promise {\n return new Promise((resolve, reject) => {\n try {\n let video = document.createElement('video')\n video.preload = 'metadata'\n\n video.onloadedmetadata = function () {\n resolve(this)\n }\n\n video.onerror = function () {\n reject(\"Invalid video. Please select a video file.\")\n }\n\n video.src = file;\n // video.src = window.URL.createObjectURL(file)\n } catch (e) {\n reject(e)\n }\n });\n}\nremovespacessPost(e:any){\n // let data = e.srcElement.innerText.trim();\n let data = e.target.value;\n if(data==''){\n this.btndisablespace=true; \n }else{\n this.btndisablespace=false;\n }\n}\n\nreplyCommentEnable(id:any){\n (document.getElementById('commentReply'+id)).style.display='block';\n}\n\nreplyCommentClick(commentId:any,postId:any){\n let data = (document.getElementById('replyText'+commentId)).value;\n console.log(data);\n\n if(data!='')\n alert(`Comment Id - ${commentId} Post Id: ${postId}`);\n}\n\n\ngetTimeRemaining(miliseconds:any){\n miliseconds = miliseconds - 1000;\n const days = Math.floor(miliseconds / (1000 * 60 * 60 * 24));\n const hours = Math.floor((miliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((miliseconds % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((miliseconds % (1000 * 60)) / 1000);\n let data = minutes + \" : \" + seconds;\n return data\n}\n\ngetImage(id:any){\n let src = \"https://img.youtube.com/vi/\" +id +\"/0.jpg\";\n return src\n}\n\nonClickYoutubeEditUrl(){\n this.youtubeEdit = false;\n}\n\nonClickSpotifyEditUrl(){\n this.spotifyEdit = false;\n}\n\ngetYoutubeId(data){\n let id = data.toString();\n let youId = id.split(\"=\");\n return youId[1];\n\n}\n\nsearchFriend(e:any){\n this.searchFriendKey = e;\n}\n\nupdateCity(){\n // this.modalRef.hide();\n // this.route.navigateByUrl('/profile/update/city');\n this.showUpdateModal('updateCity');\n}\n\nupdateMobNum(){\n this.showUpdateModal('updateMobNum'); \n}\n\nreportProfileUser: Boolean = false;\nonClickreportProfile(){\n this.reportProfileUser = true;\n this.openModal(this.reportPostModal);\n}\n\nreportUserById(){\n this.service.reportUser(this.postId, {\"text\":this.reportPostForm.value.comment}).subscribe((res:any) => {\n if(res.type == 'success'){\n this.modalRef.hide();\n this.reportPostForm.reset();\n this.toastrService.success('user reported');\n }else{\n this.toastrService.error(res.message);\n }\n this.reportProfileUser = false;\n })\n}\n\nunFriendConfirm(){\n this.onClickUnfriend(this.postId);\n}\n\nonClickUnfriendUser(){\n // this.openModal(this.userUnfriend);\n this.modalRef = this.modalService.show(this.userUnfriend, {class:'userunfirendpopup'});\n\n}\n\naudioplayerprogress(){\n return\n var title = document.querySelectorAll('ang-music-player div');\n let time =title[6].innerHTML.split(\":\");\n let time2 =title[6].innerHTML.split(\":\");\n let seconds = parseInt(time[1]);\n let minutes = parseInt(time[0]);\n let totalSeconds = (minutes * 60)+ seconds;\n let seconds2 = parseInt(time[1]);\n let minutes2 = parseInt(time[0]);\n let totalSeconds2 = (minutes * 60)+ seconds;\n let width = totalSeconds /465;\n // document.documentElement.style.setProperty(\"--anchor-hover-color\",width+'px');\n}\nformatTimeUnit(input, unit){\n var index = input.indexOf(unit);\n var output = \"00\"\n if(index < 0){\n return output; // unit isn't in the input\n }\n\n if(isNaN(input.charAt(index-2))){\n return '0' + input.charAt(index-1);\n }else{\n return input.charAt(index-2) + input.charAt(index-1);\n }\n}\n\nISO8601toDuration(input){\n var H = this.formatTimeUnit(input, 'H');\n var M = this.formatTimeUnit(input, 'M');\n var S = this.formatTimeUnit(input, 'S');\n\n if(H == \"00\"){\n H = \"\";\n }else{\n H += \":\"\n }\n\n return H + M + ':' + S ;\n}\n\nshowspinner(){\n this.spinner.show();\n}\nhidespinner(){\n this.spinner.hide();\n}\n\nbandcampp() {\n console.log(' Bandcampplayer...');\n // var names = document.querySelectorAll('#bandcamppp').contents().find('body').addClass('foo');;\n // names.contents().find('body').addClass('foo');\n // $(\"iframe\").contents().find('#player').addClass('foo');\n // var iframe = (document?.querySelector('#bandcamppp') as HTMLIFrameElement) \n // var iframe_doc = iframe.contentWindow ? iframe.contentWindow.document : iframe.contentDocument;\n $('#bandcamppp').find('#player').addClass('bandyyyy'); \n $('#bandcamppp').find('body').addClass('bannnnn'); \n console.log('banddiv' + $('#bandcamppp').find('#player'))\n // console.log(iframe_doc + \"BODY\");\n}\n\n moreVideosComing = false;\n\n onYoutubeScrollDown(e: any) { \n console.log(e);\n this.service.getYoutubePlayList({nextPageToken:this.NextPageTokenForYoutube}).subscribe((res:any)=>{\n // this.playList = res?.data?.youtubeResult;\n console.log(res.data.videos);\n this.playList.push(...res.data.videos)\n if(res?.data?.pageInfo?.nextPageToken){\n this.moreVideosComing = true;\n }\n this.NextPageTokenForYoutube = res.data?.pageInfo?.nextPageToken;\n })\n }\n sidebarFixed:any;\n\n @HostListener('window:scroll', ['$event']) onScroll(event) {\n\n// console.log(window.scrollY);\n if (window.scrollY > 350) {\n this.sidebarFixed = true;\n }\n else if (window.scrollY < 350) {\n this.sidebarFixed = false;\n }\n\n }\n makeFavouriteFriend(){\n this.service.makeFavouriteFriend(this.postId).subscribe(res=>{\n console.log(res);\n this.profileDetails.isTopFriend = true;\n // change star\n })\n }\n makeUnFavouriteFriend(){\n this.service.makeUnFavouriteFriend(this.postId).subscribe(res=>{\n console.log(res);\n this.profileDetails.isTopFriend = false;\n // change star\n })\n }\n\n AddFriendLikes(id:any){\n let data = document.getElementById('addFriendTextLikes'+id).innerText;\n if(data=='Pending'){\n this.spinners.show();\n document.getElementById('addFriendTextLikes'+id).innerText = 'Add Friend'\n document.getElementById('addFriendTextLikes'+id).classList.remove(\"requestSent\");\n document.getElementById('addFriendTextLikes'+id).classList.add(\"requestNotSent\"); \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n if(res.type=='success'){\n this.toastrService.success(res.message); \n }\n })\n this.spinners.hide();\n }else if(data=='Add Friend'){\n this.spinners.show();\n document.getElementById('addFriendTextLikes'+id).innerText = 'Pending'\n document.getElementById('addFriendTextLikes'+id).classList.add(\"requestSent\");\n document.getElementById('addFriendTextLikes'+id).classList.remove(\"requestNotSent\");\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => { \n if(res.type == 'success'){\n this.toastrService.success(res.message); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinners.hide();\n }else if(data=='Accept'){ \n document.getElementById('addFriendTextLikes'+id).innerText = 'Friend'; \n document.getElementById('addFriendTextLikes'+id).classList.add(\"friend\");\n document.getElementById('addFriendTextLikes'+id).classList.remove(\"requestSent\");\n\n document.getElementById('addFriendTextLikes'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.service.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastrService.success(\"Friend request accepted\");\n // debugger;\n // let index = this.moreData.findIndex((obj)=>{\n // return obj._id == id\n // });\n // if(index != -1){\n // this.moreData[index].friendStatus = \"FRIEND\";\n // }\n }else{\n this.toastrService.error(res.message); \n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }\n }\n\n generUpdatemodalRef;\n updateScreen;\n updateData = {};\n showGenerUpdate(){\n this.generUpdatemodalRef = this.modalService.show(this.showupdateGenerModal,{class:\"update-gener-modal\"});\n }\n\n showUpdateModal(updateScreen){\n this.updateScreen = updateScreen;\n this.generUpdatemodalRef = this.modalService.show(this.showupdateGenerModal,{class:\"update-gener-modal\"});\n }\n\n collectUpdatedIds(e){\n console.log(e);\n // this.updateData['ids'] = e;\n this.updateProfileForm.get('genre').patchValue(e.generNames);\n this.genersId = e.ids;\n this.generUpdatemodalRef.hide();\n this.profileUpdated = true;\n }\n\n collectUpdatedupdateMobNum(e){\n console.log(e, \"mob\");\n this.generUpdatemodalRef.hide();\n this.profileUpdated = true;\n let phone = e.countryCode + ' ' + e.mobileNumber.toString().slice(0,3) + ' ' + e.mobileNumber.toString().slice(3,6) + ' ' + e.mobileNumber.toString().slice(6);\n this.updateProfileForm.get('phone').patchValue(phone);\n this.updateProfileForm.get('MobNum').patchValue(e.mobileNumber);\n \n }\n\n collectUpdatedAddress(e){\n console.log(e);\n // this.updateData['addressDetails'] = JSON.parse(e);\n this.updateProfileForm.controls.city.patchValue(JSON.parse(e).address.city);\n this.updateProfileForm.controls.state.patchValue(JSON.parse(e).address.state);\n this.updateProfileForm.controls.country.patchValue(JSON.parse(e).address.country);\n this.updateProfileForm.controls.lat.patchValue(JSON.parse(e).location.lat);\n this.updateProfileForm.controls.long.patchValue(JSON.parse(e).location.long);\n this.updateProfileForm.get('location').patchValue(JSON.parse(e).address.city+', '+JSON.parse(e).address.state+', '+JSON.parse(e).address.country);\n\n this.generUpdatemodalRef.hide();\n this.profileUpdated = true;\n }\n\n collectUpdatedCoverPicture(e){\n console.log(e);\n // this.updateData['coverPicDetails'] = JSON.parse(e);\n this.editProfileCoverPictureURL = JSON.parse(e).coverImage.fileUrl;\n this.updateProfileForm.controls.coverPicture.patchValue(JSON.parse(e).coverImage.fileUrl);\n this.updateProfileForm.controls.coverPictureKey.patchValue(JSON.parse(e).coverImage.key);\n this.generUpdatemodalRef.hide();\n this.editCoverPicUpdated = true;\n this.profileUpdated = true;\n }\n\n collectUpdatedProfileDetails(e){\n console.log(e);\n // this.updateData['profilePicDetails'] = JSON.parse(e);\n this.editProfilePictureURL = JSON.parse(e).profileImage.fileUrl;\n this.updateProfileForm.controls.profilePicture.patchValue(JSON.parse(e).profileImage.fileUrl);\n this.updateProfileForm.controls.profilePictureKey.patchValue(JSON.parse(e).profileImage.key);\n this.generUpdatemodalRef.hide();\n this.editProfilePicUpated = true;\n this.profileUpdated = true;\n }\n\n enableBandNameUpdate(){\n document.getElementById('bandNameUpdate').style.display = 'none';\n this.updateProfileForm.controls.bandName.enable();\n setTimeout(()=>{\n document.getElementById('bandNameUpdateText').focus();\n },500);\n }\n enableBioUpdate(){\n document.getElementById('bioUpdate').style.display = 'none';\n this.updateProfileForm.controls.bio.enable();\n setTimeout(()=>{\n document.getElementById('bioUpdateText').focus();\n },500);\n }\n enableSpotifyUpdate(){\n document.getElementById('spotifyUpdate').style.display = 'none';\n this.updateProfileForm.controls.spotifyURL.enable();\n setTimeout(()=>{\n document.getElementById('spotifyUpdateText').focus();\n },500);\n }\n enableYoutubeUpdate(){\n document.getElementById('youtubeUpdate').style.display = 'none';\n this.updateProfileForm.controls.youtubeURL.enable();\n setTimeout(()=>{\n document.getElementById('youtubeUpdateText').focus();\n },500);\n }\n\n async checkSpotifyAuthorized(){\n // let spotifyTokenInfo = localStorage.getItem(\"spotifyTokenInfo\");\n // if(spotifyTokenInfo){\n // console.log(spotifyTokenInfo);\n // let spotifyTokenInfoParsed = JSON.parse(spotifyTokenInfo);\n // console.log(spotifyTokenInfoParsed);\n // if(!spotifyTokenInfoParsed.accessToken){\n // this.spotifyAuth();\n // }\n // else{\n // // Check token validity\n // console.log(\"check token validity\");\n // }\n // }\n // else{\n // this.spotifyAuth();\n // }\n let spotifyTokenInfoParsed:any = await this.getSpotifyToken();\n // spotifyTokenInfoParsed\n console.log(spotifyTokenInfoParsed);\n if(spotifyTokenInfoParsed){\n console.log(spotifyTokenInfoParsed);\n // let spotifyTokenInfoParsed = JSON.parse(spotifyTokenInfo);\n console.log(spotifyTokenInfoParsed);\n\n // Check token expired\n if(new Date().getTime() - spotifyTokenInfoParsed.expiresAtDate >= 216000){\n let refreshTokenResponse = await this.refreshSpotifyToken(spotifyTokenInfoParsed.refresh_token);\n refreshTokenResponse['expiresAtDate'] = refreshTokenResponse.expires_in + new Date().getTime();\n this.updateSpotifyToken(refreshTokenResponse);\n this.spotifyTokenInfo = refreshTokenResponse;\n this.spotifyInitialization();\n }\n else{\n this.spotifyTokenInfo = spotifyTokenInfoParsed;\n this.spotifyInitialization();\n }\n \n }\n else{\n this.spotifyAuth();\n }\n }\n\n spotifyTokenInfo:any;\n\n updateSpotifyToken(data){\n this.service.saveOrUpdateSpotifyToken(data).subscribe((res:any)=>{\n console.log(data);\n })\n }\n\n async refreshSpotifyToken(refresh_token){\n\n let body = new URLSearchParams({\n grant_type: 'refresh_token',\n refresh_token: refresh_token,\n client_id: 'b9568077e42a48ba89e30e3c7aa48b33',\n });\n const response = await fetch('https://accounts.spotify.com/api/token', {\n method: 'POST',\n body:body,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n });\n\n const data = await response.json();\n\n console.log(data);\n\n if(data.error){\n this.spotifyAuth();\n }\n else{\n return data;\n }\n\n // this.service.saveOrUpdateSpotifyToken(data).subscribe((res:any)=>{\n // console.log(data);\n // })\n }\n\n async getSpotifyToken(){\n return new Promise((resolve,reject)=>{\n this.service.getSpotifyAuthToken().subscribe((res:any)=>{\n console.log(res);\n if(res.data && res.data.access_token){\n resolve(res.data);\n }\n else{\n this.spotifyAuth();\n }\n },\n err => {\n console.log(err);\n this.toastrService.info(\"There is some issue with spotify.Please try after sometime\");\n resolve('');\n })\n })\n // return \n // let tokenInfo = localStorage.getItem('spotifyTokenInfo');\n // return tokenInfo;\n }\n\n spotifyAuth(){\n console.log(\"from spotify-auth\");\n const clientId = 'b9568077e42a48ba89e30e3c7aa48b33';\n\n // const redirectUri = 'http://localhost:4200/spotify-auth-redirect';\n\n const redirectUri = 'https://indietown-web.approd.ca/spotify-auth-redirect';\n\n let codeVerifier = this.generateRandomString(128);\n\n console.log(\"codeVerifier\",codeVerifier);\n\n this.generateCodeChallenge(codeVerifier).then(codeChallenge => {\n let state = this.generateRandomString(16);\n console.log(\"state\",state);\n\n let scope = 'streaming user-read-email user-modify-playback-state user-read-private';\n\n localStorage.setItem('code_verifier', codeVerifier);\n\n let args = new URLSearchParams({\n response_type: 'code',\n client_id: clientId,\n scope: scope,\n redirect_uri: redirectUri,\n state: state,\n code_challenge_method: 'S256',\n code_challenge: codeChallenge\n });\n\n // Location.g\n // Location.go('https://accounts.spotify.com/authorize?' + args);\n // Location.\n this.document.location.href = 'https://accounts.spotify.com/authorize?' + args;\n });\n }\n\n generateRandomString(length) {\n let text = '';\n let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n \n for (let i = 0; i < length; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n async generateCodeChallenge(codeVerifier) {\n function base64encode(string) {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(string)))\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '');\n }\n \n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await window.crypto.subtle.digest('SHA-256', data);\n \n return base64encode(digest);\n }\n\n addSpotifyUrl(){\n console.log((document.getElementById(\"spotifyUrlNew\")).value);\n let spotifyUrl = (document.getElementById(\"spotifyUrlNew\")).value;\n this.service.addSpotifyUrl({url:spotifyUrl}).subscribe((res:any)=>{\n console.log(res);\n this.spotifyList.unshift(res.data);\n (document.getElementById(\"spotifyUrlNew\")).value = '';\n },(err)=>{\n console.log(err);\n this.toastrService.info(err?.error?.message);\n (document.getElementById(\"spotifyUrlNew\")).value = '';\n })\n }\n\n spotifyList = [];\n getSpotifyList(){\n this.service.getSpotifyList(\"\",this.spotifyPageNumber,this.spotifyPageLimit).subscribe((res:any)=>{\n console.log(res);\n this.spotifyList = res.data;\n this.originalSpotifyList = res.data;\n // if(this.spotifyList[0].trackType == 'playlist'){\n // this.currentlyPlayingSpotifySong = this.spotifyList[0];\n // this.spotifySongSelectedIndex = 0;\n // }\n // else{\n\n // }\n\n this.spotifySongSelected = true;\n if(this.spotifyList[0].trackType == 'playlist'){\n this.spotifySongTrackType = 'playlist';\n this.spotifySongPlaylistIndex = 0;\n this.spotifySongSelectedIndex = 0;\n this.currentlyPlayingSpotifySong = this.spotifyList[0].items[0];\n }\n else{\n this.spotifySongTrackType = 'singleTrack';\n this.spotifySongSelectedIndex = 0;\n this.currentlyPlayingSpotifySong = this.spotifyList[0].items[0];\n }\n \n })\n }\n\n removeSingleTrack(index){\n let id = this.spotifyList[index]._id;\n this.service.removeSingleTrack(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList.splice(index,1);\n }\n })\n }\n\n removePlaylist(index){\n let id = this.spotifyList[index]._id;\n this.service.removePlaylist(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList.splice(index,1);\n }\n })\n }\n\n removePlaylistItem(index, subtrackIndex){\n let id = this.spotifyList[index].items[subtrackIndex]._id;\n this.service.removePlaylistItem(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList[index].items.splice(subtrackIndex,1);\n if(!this.spotifyList[index].items.length){\n this.spotifyList.splice(index,1);\n }\n }\n })\n }\n\n playlistOpened(index){\n console.log(\"playlist opened\",index);\n // 22931509_SID@ftts.BSNL.IR\n let playlistId = this.spotifyList[index]._id;\n this.service.getPlaylistItems(playlistId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList[index].items = res.data;\n }\n })\n }\n\n getMoreSpotifyTracks:Boolean = true;\n spotifyPageNumber = 1;\n spotifyPageLimit = 20;\n loadMoreSpotifyTracks(e){\n console.log(\"load more spotify tracks\");\n if(this.getMoreSpotifyTracks){\n this.spotifyPageNumber++;\n this.service.getSpotifyList(\"\",this.spotifyPageNumber,this.spotifyPageLimit).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.spotifyList.push(...res.data);\n }\n else{\n this.getMoreSpotifyTracks = false;\n }\n })\n }\n }\n\n addPlaylistModalRef;\n openAddPlaylistModal(){\n this.addPlaylistModalRef = this.modalService.show(this.addPlaylistModal, {class: 'addPlaylistModal'});\n }\n\n closeRegisterPlaylist(){\n this.addPlaylistModalRef.hide();\n }\n\n navigateToMessages(){\n localStorage.setItem(\"cameFromProfile\",JSON.stringify(this.profileDetails));\n this.route.navigateByUrl('/messages');\n }\n\n showSpotifyTab: Boolean = false;\n showYoutubeTab: Boolean = false;\n showSoundcloudTab: Boolean = false;\n showBandcampTab: Boolean = false;\n checkSpotifyExist(userId){\n this.service.getSpotifyList(userId,1,20).subscribe((res:any)=>{\n if(res?.type == 'success' && res?.data?.length){\n this.showSpotifyTab = true;\n this.checkRedirectedFromSpotifyAuthorization();\n }\n });\n }\n checkRedirectedFromSpotifyAuthorization(){\n if(localStorage.getItem(\"SpotifyAutorizedAndRedirected\")){\n localStorage.removeItem(\"SpotifyAutorizedAndRedirected\");\n this.selectedIndex = 3;\n }\n }\n checkYoutubeExist(userId){\n this.service.getYoutubeList(userId,1,20).subscribe((res:any)=>{\n if(res?.type == 'success' && res?.data?.length){\n this.showYoutubeTab = true;\n }\n });\n }\n checkSoundcloudExist(userId){\n this.service.getSoundcloudList(userId,1,20).subscribe((res:any)=>{\n if(res?.type == 'success' && res?.data?.length){\n this.showSoundcloudTab = true;\n }\n });\n }\n checkBandcampExist(userId){\n this.service.getBandcampList(userId,1,20).subscribe((res:any)=>{\n if(res?.type == 'success' && res?.data?.length){\n this.showBandcampTab = true;\n }\n if(!this.postId){\n setTimeout(()=>{\n if(localStorage.getItem(\"selectedProfileTabIndex\")){\n this.selectedIndex = localStorage.getItem(\"selectedProfileTabIndex\");\n }\n },2000);\n }\n });\n }\n\n newBandcampAddedData;\n newSoundcloudAddedData;\n newSpotifyAddedData;\n newYoutubeAddedData;\n\n newPlaylistUrlAdded(e){\n console.log(e);\n this[e.name] = true;\n if(e.name == \"showSpotifyTab\"){\n this.newSpotifyAddedData = e.data;\n }\n else if(e.name == \"showSoundcloudTab\"){\n this.newSoundcloudAddedData = e.data;\n }\n else if(e.name == \"showBandcampTab\"){\n this.newBandcampAddedData = e.data;\n }\n else if(e.name == \"showYoutubeTab\"){\n this.newYoutubeAddedData = e.data;\n }\n }\n navigateToUserProfile(id,bandName){\n if(this.postId){\n if(this.myProfileDetails?._id == id){\n this.route.navigateByUrl(`profile`);\n }\n else{\n this.route.navigateByUrl(`user/profile?id=${id}&user=${bandName}`).then((res)=>{\n window.location.reload();\n });\n \n }\n }\n else{\n if(this.profileDetails?._id == id){\n // this.route.navigateByUrl(`profile`);\n console.log(\"you are in the same screen\");\n }\n else{\n this.route.navigateByUrl(`user/profile?id=${id}&user=${bandName}`);\n }\n }\n \n }\n\n navigateToPhotoAlbum(profileorCoverImageDetails){\n console.log(this.tabGroup);\n if(profileorCoverImageDetails?.key){\n profileorCoverImageDetails[\"_id\"] = \"custom_id\";\n localStorage.setItem(\"profileorCoverImageDetails\",JSON.stringify(profileorCoverImageDetails));\n if(this.tabGroup._allTabs.length-2){\n this.selectedIndex = this.tabGroup._allTabs.length-2;\n } \n }\n \n // if(imageURL){\n // this.enlargeProfileOrCoverPicture(imageURL);\n // }\n }\n\n enlargeProfileOrCoverPictureModalRef;\n enlargeProfileOrCoverPictureURL='';\n\n enlargeProfileOrCoverPicture(imageURL){\n this.enlargeProfileOrCoverPictureURL = imageURL;\n this.enlargeProfileOrCoverPictureModalRef = this.modalService.show(this.ProfileOrCoverPictureview,{class:'enlargeProfileOrCoverPicture'});\n }\n\n stopGoToNextLine(e){\n e.preventDefault();\n }\n\n // imageChangedEvent: any = '';\n // croppedImage: any = '';\n\n imageCropped(event: ImageCroppedEvent) {\n this.croppedImage = event.base64;\n this.createShowImageUrl = event.base64;\n this.singalurl = event.base64;\n }\n\n showImageChangedEvent:any;\n CreateShowCropModalRef:any;\n // imageTransform = {};\n imageTransform: ImageTransform = {\n translateUnit: 'px'\n };\n croppedShowPicture:any;\n croppedShowPictureName:any;\n\n aspectRatio = 1/1;\n uploadShowImage1(e: any) {\n this.showImageChangedEvent = e;\n this.CreateShowCropModalRef = this.modalService.show(this.CreateShowCropModal,{class : \"Create-Show-Crop-Modal\"});\n this.croppedShowPictureName = e?.target?.files[0]?.name;\n }\n\n // aspectRatios = [1/1, 4/3, 16/9];\n changeImageAspectRatio(ratioIndex: any){\n this.aspectRatio = this.aspectRatios[ratioIndex];\n console.log(this.aspectRatios[ratioIndex]);\n // this.cd.detectChanges();\n }\n\n getInputVideoHeight(){\n return 200/(this.aspectRatioAll);\n }\n\n getDisplayVideoHeight(media){\n // console.log(mediaArray);\n // let found = false;\n // let mediaWidth;\n // let mediaHeight;\n // for(let i=0;idocument.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n this.resetImageCropper();\n\n\n\n // this.spinner.show();\n // let fd = new FormData();\n // const imageFile = new File([this.dataURItoBlob(this.croppedShowPicture.base64)], this.croppedShowPictureName, { type: 'image/png' });\n // fd.append(\"file\", imageFile);\n // this.service.uploadImage(fd).subscribe((res: any) => {\n // // this.imageChangedEvent = e;\n // this.createShowImageUrl = res.data.fileUrl;\n // this.CreateShowCropModalRef.hide();\n // this.spinner.hide();\n // document.getElementById('craeteshowplaceholder').style.borderRadius = \"15px\";\n // this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n // this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n // (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n // this.resetImageCropper();\n // });\n }\n\n green = 'green';\n\n dataURItoBlob(dataURI) {\n const parts = dataURI.split(';base64,');\n const byteString = atob(parts[1]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array], { type: 'image/png' });\n return blob;\n }\n\n scale:any = 1;\n\n zoomOut() {\n if (this.scale == 1) {\n return;\n }\n\n if (this.scale > 1) {\n\n this.scale -= .1;\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n }\n\n }\n\n translateV : any = 1;\n moveRight(){\n if(this.scale>1){\n console.log(\"moving to left\");\n this.translateV = this.translateV + 50;\n console.log(this.translateV);\n this.imageTransform = {\n ...this.imageTransform,\n translateH: this.translateV\n };\n }\n }\n\n translateH : any = 1;\n moveLeft(){\n if(this.scale>1){\n console.log(\"moving to left\");\n this.translateH = this.translateH + 50;\n console.log(this.translateH);\n this.imageTransform = {\n ...this.imageTransform,\n translateH: this.translateH\n };\n }\n }\n\n zoomIn() {\n console.log( this.scale)\n if (this.scale <= 10) {\n this.scale += .1;\n console.log( \"hello\")\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n } else {\n console.log( \"hi no more zoom in\");\n return;\n // this.scale = 1;\n // this.scale += .1;\n // this.imageTransform = {\n // ...this.imageTransform,\n // scale: this.scale\n // };\n }\n // }\n }\n\n ZoomImage(e) {\n var slider: any = document.getElementById(\"myRange\");;\n console.log(slider.value)\n this.scale = slider.value;\n this.imageTransform = {\n ...this.imageTransform,\n scale: slider.value\n };\n\n }\n\n createPostEditImageCropModalRef;\n createPostEditImageUrl;\n createPostEditImageIndex;\n createPostEditImageTransform:ImageTransform = {};\n croppedcreatePostEditImageName;\n croppedcreatePostEditImage;\n\n\n createPostEditImageFile: any;\n cropCreatePostImage(imageDetails,index){\n console.log(\"let's crop\",imageDetails,index);\n // this.createPostEditImageUrl = imageDetails.fileUrl;\n this.createPostEditImageFile = imageDetails.file;\n this.createPostEditImageIndex = index;\n this.createPostEditImageCropModalRef = this.modalService.show(this.CreatePostImageCropModal,{class : \"Create-Post-Image-Crop-Modal\"});\n // this.croppedcreatePostEditImageName = imageDetails.key?.split(\".\")[0];\n // this.croppedcreatePostEditImageName = imageDetails.key;\n this.croppedcreatePostEditImageName = imageDetails?.key ? imageDetails.key :\"Indietown.png\";\n }\n\n croppedCreatePostImage(e){\n console.log(\"create post Image Cropped\");\n console.log(e);\n this.croppedcreatePostEditImage = e;\n }\n\n cancelCreatePostEditImage(){\n this.createPostEditImageCropModalRef.hide();\n this.resetImageCropper();\n }\n\n cancelUploadShowImage(){\n this.CreateShowCropModalRef.hide();\n this.showImageChangedEvent = null;\n this.croppedShowPictureName = '';\n this.resetImageCropper();\n }\n\n // uploadShowImage1(e: any) {\n // this.showImageChangedEvent = e;\n // this.CreateShowCropModalRef = this.modalService.show(this.CreateShowCropModal,{class : \"Create-Show-Crop-Modal\"});\n // this.croppedShowPictureName = e?.target?.files[0]?.name;\n // }\n\n // croppedProfilePicture(event) {\n // console.log(\"Profile Picture Image Cropped\");\n // console.log(event);\n // this.croppedShowPicture = event;\n // }\n\n updateCreatePostEditImage() {\n\n\n // ====================== OLD =================================\n // let fd = new FormData();\n // const imageFile = new File([this.dataURItoBlob(this.croppedcreatePostEditImage.base64)], this.croppedcreatePostEditImageName, { type: 'image/png' });\n \n // console.log(imageFile);\n // fd.append(\"file\", imageFile);\n // // this.service.uploadImage(fd).subscribe((res: any) => {\n // this.createPostEditImageCropModalRef.hide();\n\n // let key = this.countImagesUploaded[this.createPostEditImageIndex]['key'];\n // this.countImagesUploaded[this.createPostEditImageIndex]['fileUrl'] = this.croppedcreatePostEditImage.base64;\n // this.countImagesUploaded[this.createPostEditImageIndex]['key'] = this.croppedcreatePostEditImageName;\n // this.resetImageCropper();\n\n // let imagesVideosArrayIndex = this.imagesVideosArray.findIndex((obj)=>{\n // return obj.key == key;\n // });\n\n // if(imagesVideosArrayIndex != -1){\n // this.imagesVideosArray[imagesVideosArrayIndex]['fileUrl'] = this.croppedcreatePostEditImage.base64;\n // this.imagesVideosArray[imagesVideosArrayIndex]['key'] = this.croppedcreatePostEditImageName;\n // this.imagesVideosArray[imagesVideosArrayIndex]['file'] = imageFile;\n // }\n\n // ====================== OLD END =================================\n \n //============================= NEW ===============================================\n \n this.createPostEditImageCropModalRef.hide();\n\n let key = this.countImagesUploaded[this.createPostEditImageIndex]['key'];\n this.countImagesUploaded[this.createPostEditImageIndex]['fileUrl'] = this.croppedcreatePostEditImage.base64;\n \n this.resetImageCropper();\n\n let imagesVideosArrayIndex = this.imagesVideosArray.findIndex((obj)=>{\n return obj.key == key;\n });\n\n if(imagesVideosArrayIndex != -1){\n this.imagesVideosArray[imagesVideosArrayIndex]['fileUrl'] = this.croppedcreatePostEditImage.base64;\n }\n\n // ================================= NEW END =============================================\n\n // this.imageChangedEvent = e;\n // this.createShowImageUrl = res.data.fileUrl;\n // this.createPostEditImageCropModalRef.hide();\n // document.getElementById('craeteshowplaceholder').style.borderRadius = \"15px\";\n // this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n // this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n // (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n // });\n }\n\n createPostImageEditScale:any = 1;\n\n createPostImageEditZoomOut() {\n if (this.createPostImageEditScale == 1) {\n return;\n }\n\n if (this.createPostImageEditScale > 1) {\n\n this.createPostImageEditScale -= .1;\n this.createPostEditImageTransform = {\n ...this.createPostImageEditScale,\n scale: this.createPostImageEditScale\n };\n }\n\n }\n\n createPostImageEditZoomIn() {\n console.log( this.createPostImageEditScale)\n if (this.createPostImageEditScale <= 10) {\n this.createPostImageEditScale += .1;\n console.log( \"hello\")\n this.createPostEditImageTransform = {\n ...this.createPostEditImageTransform,\n scale: this.createPostImageEditScale\n };\n } else {\n console.log( \"hi no more zoom in\");\n return;\n // this.scale = 1;\n // this.scale += .1;\n // this.imageTransform = {\n // ...this.imageTransform,\n // scale: this.scale\n // };\n }\n // }\n }\n\n createPostImageEditZoomImage(e) {\n var slider: any = document.getElementById(\"myRange2\");;\n console.log(slider.value)\n this.createPostImageEditScale = slider.value;\n this.createPostEditImageTransform = {\n ...this.createPostEditImageTransform,\n scale: slider.value\n };\n\n }\n\n resetImageCropper(){\n this.scale = 1;\n this.imageTransform = {};\n this.createPostImageEditScale = 1;\n this.createPostEditImageTransform = {};\n if(document.getElementById(\"uploadshowImg\") as HTMLInputElement){\n (document.getElementById(\"uploadshowImg\") as HTMLInputElement).value = \"\";\n }\n }\n\n deleteCommentModalRef;\n deleteCommentReplyModalRef;\n deleteCommentPostIndex;\n deleteCommentIndex;\n deleteCommentReplyIndex\n openDeleteCommentModal(deleteCommentPostIndex,deleteCommentIndex){\n this.deleteCommentPostIndex = deleteCommentPostIndex;\n this.deleteCommentIndex = deleteCommentIndex;\n this.deleteCommentModalRef = this.modalService.show(this.deleteCommentPopup);\n }\n\n openDeleteCommentReplyModal(deleteCommentPostIndex,deleteCommentIndex,deleteCommentReplyIndex){\n this.deleteCommentPostIndex = deleteCommentPostIndex;\n this.deleteCommentIndex = deleteCommentIndex;\n this.deleteCommentReplyIndex = deleteCommentReplyIndex;\n this.deleteCommentReplyModalRef = this.modalService.show(this.deleteCommentReplyPopup);\n } \n\n navigateToProfile(userId, userName) {\n if(this.postId){\n if(this.myProfileDetails._id == userId){\n this.route.navigateByUrl('profile');\n }\n else if(this.profileDetails._id == userId){\n return;\n }\n else{\n this.route.navigateByUrl('user/profile?id=' + userId + '&user=' + userName).then(() => {\n window.location.reload();\n });\n }\n }\n else{\n if(this.profileDetails._id == userId){\n return;\n }\n this.route.navigateByUrl('user/profile?id=' + userId + '&user=' + userName).then(() => {\n window.location.reload();\n });\n }\n \n }\n\n reportNonFriend(){\n console.log(\"open report non friend dialog\");\n this.onClickreportProfile();\n }\n\n timeSince(date1) {\n\n // debugger;\n // console.log(date1);\n let date2 = new Date(date1);\n let date:any = Math.floor(new Date(date2).getTime() / 1000);\n\n var seconds = Math.floor(((new Date().getTime()/1000) - date)),\n interval = Math.floor(seconds / 31536000);\n\n if (interval > 1) return interval + \"y\";\n\n interval = Math.floor(seconds / 2592000);\n if (interval > 1) return interval + \"m\";\n\n let date3:any = Math.floor(new Date(date2.toDateString()).getTime() / 1000);\n\n var seconds2 = Math.floor(((new Date(new Date().toDateString()).getTime()/1000) - date3)),\n // interval2 = Math.floor(seconds2 / 31536000);\n\n interval = Math.floor(seconds2 / 86400);\n if (interval >= 1 && interval <=6) return interval + \"d\";\n else if(interval >= 7){\n return Math.floor(interval/7) + 'w';\n }\n\n interval = Math.floor(seconds / 3600);\n if (interval >= 1) return interval + \"h\";\n\n interval = Math.floor(seconds / 60);\n if (interval >= 1) return interval + \"m \";\n\n return Math.floor(seconds) + \"s\";\n }\n\n previousScrollTop = 0;\n // @HostListener(\"window:scroll\", ['$event'])\n // onWindowScroll($event) {\n // console.log(\"Scrolling!\");\n // // console.log($event);\n // // console.log($event.target?.scrollingElement?.scrollTop);\n // if(!this.previousScrollTop){\n // console.log(\"previousScrollTop initiated \",$event.target?.scrollingElement?.scrollTop);\n // this.previousScrollTop = $event.target?.scrollingElement?.scrollTop;\n // }\n // else{\n // if(Math.abs($event.target?.scrollingElement?.scrollTop - this.previousScrollTop) >= 300){\n // console.log(\"scrolled more than 100\",$event.target.scrollingElement.scrollTop);\n // this.previousScrollTop = $event.target.scrollingElement.scrollTop;\n // this.currentPlayingVideo?.pause();\n // }\n // }\n // // debugger;\n \n // // this.currentPlayingVideo?.pause();\n // }\n\n unSupportedVideoDetails = [];\n closeUnsupportedVideoPopup(){\n this.unSupportedVideoDetails = [];\n this.invalidVideoCodecPopupRef.hide();\n this.unSupportedVideoDetailsPopupOpened = false;\n }\n\n logoutmodalRef;\n openLogoutModal(template: TemplateRef){\n this.logoutmodalRef = this.modalService.show(template, {class:'logoutpopupmodal'});\n }\n\n confirm() {\n this.logoutmodalRef.hide();\n this._header.logout(\"logout\");\n }\n}\n\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'youtube-modal-content',\n template: `\n
    \n
    \n \n \n
    \n
    \n `\n})\n \nexport class YoutubeModalContentComponent implements OnInit {\n videoId;\n videoPlayerOptions;\n videoIndex;\n playList;\n isMobile:boolean=false;\n\n constructor(public modalRef: BsModalRef,private ytPlayerService: YtPlayerService) {\n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n \n ngOnInit() {\n console.log(this.ytPlayerService); \n }\n\n playNextVideo(){\n this.videoIndex = this.videoIndex+1;\n this.videoId = this.playList[this.videoIndex].url.split(\"v=\")[1];\n this.ytPlayerService.load(this.videoId);\n // this.ytPlayerService.\n }\n\n onStateChange(e){\n console.log(e);\n if(e.type == 6){\n setTimeout(()=>{\n // let elm: any = document.getElementsByClassName(\"ytp-chrome-top-buttons\")[0];\n // elm.style.display = 'none';\n // debugger;\n const x = document.querySelector(\"iframe\").contentWindow;\n //x = window.frames[0];\n\n x.document.querySelector(\"body\").style.backgroundColor = \"blue\";\n // this would turn the 1st iframe in document blue.\n\n console.log(x);\n console.log(document.getElementsByClassName(\"ytp-chrome-top-buttons\")[0]);\n },10000);\n } \n if(e.type == 3){\n this.playNextVideo();\n }\n }\n\n \n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'bandcamp-modal-content',\n template: `\n
    \n \n \"\"\n\n \n
    \n \n
    \n
    \n `\n})\n \nexport class BandcampModalContentComponent implements OnInit {\n // videoId: string;\n source;\n\n constructor(public modalRef: BsModalRef, protected _sanitizer: DomSanitizer ) {}\n \n ngOnInit() {\n console.log(this.source);\n this.source = this._sanitizer.bypassSecurityTrustUrl(this.source);\n }\n ngAfterViewInit()\t{\n // console.log(document.getElementsByClassName(\"ytp-pause-overlay-container\"));\n // this.ytPlayerService.play();\n }\n\n}\n\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'soundcloud-modal-content',\n template: `\n
    \n \n \"\"\n\n \n
    \n \n
    \n
    \n `\n})\n \nexport class SoundCloudModalContentComponent implements OnInit {\n // videoId: string;\n source;\n\n constructor(public modalRef: BsModalRef, protected _sanitizer: DomSanitizer) {}\n \n ngOnInit() {\n console.log(this.source);\n // this.source = this._sanitizer.bypassSecurityTrustUrl(this.source);\n }\n ngAfterViewInit()\t{\n // console.log(document.getElementsByClassName(\"ytp-pause-overlay-container\"));\n // this.ytPlayerService.play();\n }\n \n}\n","import { ChangeDetectorRef, Component, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { BsModalService } from \"ngx-bootstrap/modal\";\nimport { HeaderService } from \"../services/header.service\";\nimport { AuthService } from \"src/app/auth/services/auth.service\";\nimport { ToastrService } from \"ngx-toastr\";\n// import { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { SharedService } from \"../services/shared.service\";\nimport * as $ from 'jquery';\nimport { HttpClient } from \"@angular/common/http\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport { RegistrationPartService } from \"src/app/views/registration-part/services/registration.service\";\n\ndeclare var Pushwoosh:any;\n\n@Component({\n selector: \"app-header\",\n templateUrl: \"./header.component.html\",\n styleUrls: [\"./header.component.scss\"],\n})\nexport class HeaderComponent implements OnInit {\n\n manageCaregiversHeading: boolean = false;\n manageClientHeading:boolean = false;\n manageServicesHeading: boolean = false;\n manageTutorialHeading:boolean = false;\n manageConvenienceHeading:boolean = false;\n manageDiseasesHeading:boolean = false;\n\n\n\n cancelPostId:any;\n cancelRequestIdText:any;\n welcomeUserMsg: boolean = false;\n hospitalHeading: boolean = false;\n loginHeading: boolean = false;\n usageHeading: boolean = false;\n supportHeading: boolean = false;\n feedbackHeading: boolean = false;\n manageHeading: boolean = false;\n aboutHeading:boolean = false;\n dashboardHeading:boolean = false;\n changePasswordHeading:boolean = false;\n pushNotificationHeading: boolean = false;\n addUserHeading: boolean = false;\n privacyPolicyHeading: boolean = false;\n surveyAnswersHeading: boolean = false;\n\n\n\n\n\n importedEventsHeading: boolean = false;\n subEventsHeading: boolean = false;\n zoneHeading: boolean = false;\n subZoneHeading: boolean = false;\n venueHeading: boolean = false;\n interestHeading: boolean = false;\n pointHeading: boolean = false;\n placeHeading: boolean = false;\n merchandiseHeading: boolean = false;\n sectionHeading: boolean = false;\n categoryHeading: boolean = false;\n pointcategoryHeading: boolean = false;\n homeScreenPartnersHeading: boolean = false;\n eventsponsorsHeading: boolean = false;\n notificationHeading: boolean = false;\n protocolHeading: boolean = false;\n seasonsHeading: boolean = false;\n chatListHeading: boolean = false;\n chatDetailsHeading: boolean = false;\n requestHeading: boolean = false;\n settingHeading: boolean = false;\n restaurantsHeading: boolean = false;\n requestsHeading: boolean = false;\n customerHeading: boolean = false;\n zoneRequestHeading: boolean = false;\n zoneChatHeading: boolean = false;\n zoneCallHeading: boolean = false;\n zoneReportingHeading: boolean = false;\n EventRequestHeading: boolean = false;\n BannerHeading: boolean = false;\n CuisineHeading: boolean = false;\n PopupHeading: boolean = false;\n PdfHeading: boolean = false;\n TreasureHeading: boolean = false;\n CouponHeading: boolean = false;\n ZoneCoordinatesHeading: boolean = false;\n SubZoneCoordinatesHeading: boolean = false;\n emailSupportHeading:boolean = false;\n\n default: boolean;\n lang: string;\n\n private returnUrl: any;\n\n profilePic: String = \"\";\n profileDetails:any;\n modalRef: any;\n bandSuggestionList:any=[];\n searchList:any=[];\n latitube:boolean = false;\n\n constructor(\n private _header: HeaderService,\n public router: Router,\n private modalService: BsModalService,\n private route: ActivatedRoute,\n private authService: AuthService,\n private toastr: ToastrService,\n private fb: FormBuilder,\n private sharedService: SharedService,\n private http: HttpClient,\n private spinner: SpinnerVisibilityService,\n private services: RegistrationPartService,\n private cdr:ChangeDetectorRef\n ) { \n this._header.clearLocalStorageOnLogout.subscribe(message =>{\n console.log(\"from clear logout.\");\n console.log(message);\n if(message == 'logout'){\n try{\n Pushwoosh.push( (api) => {\n console.log('Pushwoosh ready!',api);\n Pushwoosh.unsubscribe();\n Pushwoosh.push(['onUnsubscribe', (api) => {\n console.log('User successfully unsubscribed',api); \n }]); \n });\n this.sharedService.updateProfile({deviceToken:\"\"}).subscribe((res:any)=>{\n console.log(res);\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this._header.logout(\"\");\n this.router.navigateByUrl(\"/auth/login\");\n })\n Pushwoosh.push(['onLoad', (api) => {\n console.log(\"loaded\");\n }]);\n }\n catch(err){\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this._header.logout(\"\");\n this.router.navigateByUrl(\"/auth/login\");\n } \n }\n });\n }\n\n userName: String;\n firstName:String;\n lastName: String;\n allDate:any;\n search:boolean;\n disabledSlider:boolean = true;\n\n @ViewChild('searchDataModal') searchDataModal: TemplateRef;\n @ViewChild(\"cancelRequest\") cancelRequest: TemplateRef;\n\n currentUser:any;\n ngOnInit(): void {\n // let user = JSON.parse(localStorage.getItem(\"currentUser\"));\n this.currentUser = this.authService.currentUserValue;\n // this.initMapHeader();\n this.default = true;\n this.currentUser = this.authService.currentUserValue;\n this.profilePic = \"../../../assets/icons/user-img.svg\";\n this.allDate = this.authService.currentUserValue;\n this.userName = this.allDate?.firstName?.toUpperCase();\n let seeAll = localStorage.getItem(\"seeAll\");\n // this.getDefault();\n this.getProfile();\n document.getElementById('searchLocation').style.display = 'none';\n\n // alert(seeAll);\n // if(!seeAll){\n // document.getElementById('openModalField').style.display = 'block';\n // document.getElementById('searchLocation').style.display = 'none';\n // }else{\n // (document.getElementById('pac-input-header')).value = JSON.parse(seeAll);\n // document.getElementById('openModalField').style.display = 'none';\n // document.getElementById('text').style.overflow=\"\";\n // document.getElementById('searchLocation').style.display = 'flex';\n // }\n }\n\n searchForm = this.fb.group({\n slider: new FormControl('200',),\n gener: new FormControl('',),\n name: new FormControl('',),\n lat: new FormControl(''),\n lng :new FormControl(''),\n })\n\n\n searchData(){\n this.search = true;\n this.getBandSuggestions();\n }\n\n getDefault(){\n this.searchClick=false;\n this.search=false;\n let data = {\n \"radius\": this.searchForm.value.slider,\n \"genre\": '',\n \"phoneBook\":[],\n \"pageNumber\":1,\n \"limit\":20,\n \"bandName\":'',\n \"location\":{\n \"lat\": '',\n \"long\":'', \n }\n }\n console.log(data);\n this.sharedService.getBandSuggestions(data).subscribe((res:any) => {\n // this.initMapHeader();\n // debugger;\n if(res.type == 'success'){\n this.moreData = res.data;\n data.limit = 10\n localStorage.setItem('payload',JSON.stringify(data));\n if(res.data.length>10){\n this.searchList = res.data.slice(0,10);\n }else{\n this.searchList = res.data;\n }\n this.cdr.detectChanges();\n }\n })\n }\n\n\n moreData:any=[];\n searchClick:any;\n getBandSuggestions(){\n let data = {\n \"radius\": this.searchForm.value.slider,\n \"genre\": this.searchForm.value.gener,\n \"phoneBook\":[],\n \"pageNumber\":1,\n \"bandName\":this.searchForm.value.name,\n \"location\":{\n \"lat\": this.searchForm.value.lat,\n \"long\":this.searchForm.value.lng, \n },\n \"limit\":20\n }\n\n console.log(data);\n this.searchClick = true;\n this.sharedService.getBandSuggestions(data).subscribe((res:any) => {\n if(res.type == 'success'){\n data.limit = 10;\n localStorage.setItem('payload',JSON.stringify(data));\n this.moreData = res.data;\n if(res.data.length>10){\n this.searchList = res.data.slice(0,10);\n }else{\n this.searchList = res.data;\n }\n this.cdr.detectChanges();\n }\n })\n }\n\n clickCancelPostYes() {\n this.spinner.show();\n console.log(this.cancelPostId, \"this.cancelPostId\")\n document.getElementById( this.cancelRequestIdText + this.cancelPostId).innerText = 'Add Friend'\n document.getElementById( this.cancelRequestIdText+ this.cancelPostId).classList.remove(\"requestSent\");\n document.getElementById( this.cancelRequestIdText + this.cancelPostId).classList.add(\"requestNotSent\")\n this.sharedService.cancelRequest(this.cancelPostId,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.modalRef.hide()\n this.toastr.success(\"Cancelled friend request\");\n this.spinner.hide();\n let index = this.moreData.findIndex((obj)=>{\n return obj._id == this.cancelPostId;\n });\n if(index != -1){\n this.moreData[index].friendStatus = \"NOT_FRIEND\";\n }\n }\n })\n }\n \n\n addFriend(id:any){\n\n let data = document.getElementById('bandSuggestionList'+id).innerText;\n if(data =='Pending'){ \n // document.getElementById('bandSuggestionList'+id).innerText = 'Add Friend'; \n // document.getElementById('bandSuggestionList'+id).classList.remove(\"requestSent\");\n // document.getElementById('bandSuggestionList'+id).classList.add(\"requestNotSent\");\n // document.getElementById('bandSuggestionList'+id).classList.remove('btn:enabled');\n\n this.cancelPostId = id;\n this.cancelRequestIdText = 'bandSuggestionList';\n this.modalRef = this.modalService.show(this.cancelRequest, { class: \"deletepopuphomee\" });\n \n // this.spinner.show();\n // this.sharedService.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n // if(res.type == 'success'){\n // this.toastr.success(\"Cancelled friend request\");\n // }\n // })\n // this.spinner.hide();\n }else if(data=='Add Friend'){ \n this.spinner.show();\n document.getElementById('bandSuggestionList'+id).innerText = 'Pending'; \n document.getElementById('bandSuggestionList'+id).classList.add(\"requestSent\");\n document.getElementById('bandSuggestionList'+id).classList.remove(\"requestNotSent\");\n\n // document.getElementById('bandSuggestionList'+id).classList.add('myclass');\n // document.getElementById('bandSuggestionList'+id).classList.remove('myclass2');\n document.getElementById('bandSuggestionList'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.sharedService.AddFriend({\"recipientId\":id}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastr.success(\"Friend request sent\");\n // debugger;\n let index = this.moreData.findIndex((obj)=>{\n return obj._id == id\n });\n if(index != -1){\n this.moreData[index].friendStatus = \"REQUEST_SENT\";\n }\n }else{\n this.toastr.error(res.message); \n }\n },(err) => {\n this.toastr.error(err.error.message);\n })\n this.spinner.hide();\n }else if(data=='Accept'){ \n this.spinner.show();\n document.getElementById('bandSuggestionList'+id).innerText = 'Friend'; \n document.getElementById('bandSuggestionList'+id).classList.add(\"friend\");\n document.getElementById('bandSuggestionList'+id).classList.remove(\"requestSent\");\n\n document.getElementById('bandSuggestionList'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.sharedService.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastr.success(\"Friend request accepted\");\n // debugger;\n let index = this.moreData.findIndex((obj)=>{\n return obj._id == id\n });\n if(index != -1){\n this.moreData[index].friendStatus = \"FRIEND\";\n }\n }else{\n this.toastr.error(res.message); \n }\n },(err) => {\n this.toastr.error(err.error.message);\n })\n this.spinner.hide();\n }\n }\n notFount: boolean;\n onChangeGenerSearch(e) {\n this.searchData();\n // if(e.target.value?.trim() != e.target?.previousValue?.trim()){\n // let data = {\n // // \"radius\": this.updateProfile.value.slider,\n // \"genre\": this.searchForm.value.gener.trim(),\n // // \"phoneBook\":[\"7780984169\"],\n // \"pageNumber\": 1,\n // \"bandName\": this.searchForm.value.name,\n // \"location\": {\n // \"lat\": this.searchForm.value.locationLat,\n // \"long\": this.searchForm.value.locationLong,\n // },\n // \"limit\":10000\n // }\n // if (this.searchForm.value.locationLat) {\n // data[\"radius\"] = this.searchForm.value.slider;\n // }\n // // e.target.previousValue = e.target.value;\n // this.services.getBandSuggestions(data).subscribe((res: any) => {\n // if (res.type == 'success') {\n // console.log(res,\"lll\")\n // this.bandSuggestionList = res.data;\n\n // if (res.data?.length == 0) {\n // this.notFount = true;\n // } else {\n // this.notFount = false;\n // }\n // }\n // })\n // }\n // else if(e.target.value == ''){\n // this.getBandSuggestions();\n // }\n }\n\n // logout() {\n // this.modalRef.hide();\n \n // this.authService.logout({email:this.currentUser.email, password: this.currentUser.password}).subscribe((res:any) =>{\n // console.log(res.status);\n // if(res.status == 200){\n // localStorage.removeItem(\"currentUser\");\n // } \n // });\n // this.router.navigateByUrl(\"/auth/login\");\n // }\n\n // modal lougout confirmation\n confirm() {\n // this.logout();\n this.modalRef.hide();\n try{\n Pushwoosh.push( (api) => {\n console.log('Pushwoosh ready!',api);\n Pushwoosh.unsubscribe();\n Pushwoosh.push(['onUnsubscribe', (api) => {\n console.log('User successfully unsubscribed',api);\n this.sharedService.updateProfile({deviceToken:\"\"}).subscribe((res:any)=>{\n console.log(res);\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this.router.navigateByUrl(\"/auth/login\");\n })\n }]);\n });\n Pushwoosh.push(['onLoad', (api) => {\n console.log(\"loaded\");\n }]);\n }\n catch(err){\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this.router.navigateByUrl(\"/auth/login\");\n } \n \n \n \n \n // document.getElementById(\"text\").classList.remove(\"screenzooom\");\n\n }\n\n clearLogout(message){\n\n console.log(\"from clear logout\");\n console.log(message);\n if(message == 'logout'){\n try{\n Pushwoosh.push( (api) => {\n console.log('Pushwoosh ready!',api);\n Pushwoosh.unsubscribe();\n Pushwoosh.push(['onUnsubscribe', (api) => {\n console.log('User successfully unsubscribed',api);\n this.sharedService.updateProfile({deviceToken:\"\"}).subscribe((res:any)=>{\n console.log(res);\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this.router.navigateByUrl(\"/auth/login\");\n })\n }]);\n });\n Pushwoosh.push(['onLoad', (api) => {\n console.log(\"loaded\");\n }]);\n }\n catch(err){\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this.router.navigateByUrl(\"/auth/login\");\n } \n }\n }\n cancel() {\n this.modalRef.hide();\n }\n\n openModal(template: TemplateRef){\n this.modalRef = this.modalService.show(template, {class:'logoutpopupmodal'});\n }\n\n CheckEnterPress(e:any){\n\n }\n\n goToProfile(){\n\n }\n\n formatLabel(value: number) {\n if (value >= 1000) {\n return Math.round(value / 1000) + ' Miles';\n }\n else{\n return `${value}`+' Miles';\n }\n }\n\n opened:any;\n openSearchModal(){\n document.getElementById('openModalField').style.display = 'none';\n this.getDefault();\n this.opened = true;\n document.getElementById('headertopbar').style.width='100%';\n document.getElementById('headertopbar').style.marginLeft='0';\n document.getElementById('text').style.overflow=\"hidden\";\n document.getElementById('searchLocation').style.display = 'flex';\n document.getElementById('openModalField').style.display = 'none';\n // this.openModal(this.searchDataModal);\n $(\"#searchModalDialog\").show();\n }\n\n latitude:any;\n longitude:any;\n\n initMapHeader() {\n const map = new google.maps.Map(\n document.getElementById(\"map-header\") as HTMLElement,\n {\n center: { lat: this.latitude ? parseFloat(this.latitude): 28.7041, lng: this.longitude ? parseFloat(this.longitude): 77.1025 },\n zoom: 13,\n mapTypeId: \"roadmap\",\n }\n );\n \n \n // Create the search box and link it to the UI element.\n const input = document.getElementById(\"pac-input-header\") as HTMLInputElement;\n // const searchBox = new google.maps.places.SearchBox(input);\n\n const searchBox = new google.maps.places.Autocomplete(input,{\n types:['(cities)']\n });\n \n map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);\n \n // Bias the SearchBox results towards current map's viewport.\n map.addListener(\"bounds_changed\", () => {\n searchBox.setBounds(map.getBounds() as google.maps.LatLngBounds);\n });\n \n \n // Listen for the event fired when the user selects a prediction and retrieve\n // more details for that place.\n searchBox.addListener(\"places_changed\", () => {\n // const places = searchBox.getPlaces();\n const place = searchBox.getPlace();\n \n // if (places.length == 0) {\n // return;\n // }\n\n if(!Object.keys(place)?.length){\n return;\n }\n\n // For each place, get the icon, name and location.\n const bounds = new google.maps.LatLngBounds();\n // places.forEach((place) => {\n this.latitube = true;\n console.log(place.geometry.location.lat())\n if(place.geometry.location.lat()){\n this.searchForm.get('lat').patchValue(1);\n this.searchForm.get('lat').patchValue(place.geometry.location.lat());\n this.disabledSlider = false;\n }\n if (!place.geometry || !place.geometry.location) {\n console.log(\"Returned place contains no geometry\");\n return;\n }\n \n const icon = {\n url: place.icon as string,\n size: new google.maps.Size(71, 71),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(17, 34),\n scaledSize: new google.maps.Size(25, 25)\n };\n\n // this.codeLatLng(place.geometry.location.lat(),place.geometry.location.lng());\n this.searchForm.get('lat').patchValue(place.geometry.location.lat());\n this.searchForm.get('lng').patchValue(place.geometry.location.lng());\n this.searchData();\n // this.disabledSlider = false;\n if (place.geometry.viewport) {\n // Only geocodes have viewport.\n bounds.union(place.geometry.viewport);\n } else {\n bounds.extend(place.geometry.location);\n }\n // });\n map.fitBounds(bounds); \n });\n \n let infoWindow = new google.maps.InfoWindow({\n content: \"Click the map to get Lat/Lng!\",\n // position: myLatlng,\n });\n \n infoWindow.open(map);\n }\n\n seeAll(){\n // this.initMapHeader();\n let loc = (document.getElementById('pac-input-header')).value;\n localStorage.setItem('seeAll',JSON.stringify(loc));\n // this.modalRef.hide();\n // debugger;\n this.moreData = this.moreData.slice(0,10)\n localStorage.setItem('setSearchResult',JSON.stringify(this.moreData));\n // for(var i of this.searchList){\n // console.log(i.bandName);\n // }\n this.sharedService.sendHeaderData(this.searchList);\n this.router.navigateByUrl('/search-result');\n }\n\n closeSearchModal(){\n this.hideLocSuggestions();\n this.disabledSlider = true;\n this.latitube = false;\n this.searchForm.get('lat').patchValue(\"\");\n this.searchForm.get('gener').patchValue(\"\");\n this.searchForm.get('name').patchValue(\"\");\n this.searchForm.get('slider').patchValue(\"200\");\n (document.getElementById('pac-input-header')).value = '';\n document.getElementById('searchLocation').style.display = 'none';\n document.getElementById('headertopbar').style.width='';\n document.getElementById('headertopbar').style.marginLeft='';\n document.getElementById('openModalField').style.display = 'block';\n document.getElementById('text').style.overflow=\"\";\n $(\"#searchModalDialog\").hide();\n }\n\n checkEmpty(e:any){\n if(e.target.value==''){\n this.hideLocSuggestions();\n this.disabledSlider = true;\n this.searchForm.get('lat').patchValue('');\n this.searchForm.get('lng').patchValue('');\n this.getDefault();\n if((this.searchForm.value.gener=='' || this.searchForm.value.gener==undefined) && (this.searchForm.value.name=='' || this.searchForm.value.name==undefined)){\n this.getDefault();\n }\n this.latitube=false;\n }\n else{\n console.log(e?.target?.value);\n this.hideLocSuggestions();\n this.getLocationSuggestions(e?.target?.value);\n }\n }\n\n getLocationSuggestions(key){\n // delete (document.getElementById(\"programmingLanguages\") as HTMLUListElement).children\n (document.getElementById(\"programmingLanguages\") as HTMLUListElement).innerHTML = '';\n this.cdr.detectChanges();\n const service = new google.maps.places.AutocompleteService();\n // getQueryPredictions\n // '(regions)','(cities)'\n service.getPlacePredictions({ input: key, types: ['(cities)'] }, (predictions)=>{\n console.log(predictions);\n // (document.getElementById(\"programmingLanguages\") as HTMLUListElement).innerHTML = '';\n this.hideLocSuggestions();\n predictions.forEach((prediction) => {\n if(prediction?.description?.split(',')?.length >= 2){\n const option = document.createElement(\"li\");\n option.appendChild(document.createTextNode(prediction.description));\n option.setAttribute(\"class\",\"suggestionItemClass\");\n option.setAttribute(\"description\",prediction.description);\n option.setAttribute(\"style\",\"padding:10px;\");\n option.setAttribute(\"placeId\",prediction.place_id);\n // option.setAttribute(\"country\",prediction.description.split(\",\")[2]);\n (document.getElementById(\"programmingLanguages\") as HTMLUListElement).appendChild(option);\n }\n });\n this.setHandler();\n });\n }\n\n setHandler(){\n (document.getElementById(\"programmingLanguages\") as HTMLUListElement).childNodes.forEach((node)=>{\n node.addEventListener('click', (e:any) => { \n console.log(\"yeas i am here\");\n console.log(e.target.getAttribute('description'));\n let desc = e.target.getAttribute('description');\n let placeId = e.target.getAttribute('placeId');\n (document.getElementById('pac-input-header')).value = desc;\n this.hideLocSuggestions();\n if(desc.split(\",\")?.length == 2){\n this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[1]?.trim(),placeId)\n }\n else if(desc.split(\",\")?.length > 2){\n this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[2]?.trim(),placeId)\n }\n // this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[2]?.trim())\n // debugger;\n });\n })\n }\n\n hideLocSuggestions(){\n (document.getElementById(\"programmingLanguages\") as HTMLUListElement).innerHTML = '';\n // (document.getElementById('programmingLanguages')).click();\n this.cdr.detectChanges();\n }\n \n getLatLngFromAddress(city, country,placeId){\n\n var address = city +\", \"+ country;\n var geocoder = new google.maps.Geocoder();\n\n let obj;\n\n if(placeId)\n obj = {placeId};\n else\n obj = {address};\n \n geocoder.geocode( obj, (results:any, status) => {\n \n if (status == google.maps.GeocoderStatus.OK) {\n // $('#latitude').val(results[0].geometry.location.Pa);\n // $('#longitude').val(results[0].geometry.location.Qa);\n console.log(results[0].geometry.location?.lat());\n console.log(results[0].geometry.location?.lng());\n this.searchForm.get('lat').patchValue(results[0].geometry.location?.lat());\n this.searchForm.get('lng').patchValue(results[0].geometry.location?.lng());\n this.disabledSlider = false;\n this.searchData();\n \n } else {\n console.log(\"Geocode was not successful for the following reason: \" + status);\n }\n });\n }\n\n checkEmptyForName(e:any){\n if(e.target?.value?.length>=2){\n this.searchData();\n }\n else if(!e.target?.value.length && !this.searchForm.value.gener && !this.latitube){\n this.getDefault();\n }\n else if(!e.target?.value.length){\n this.searchData();\n }\n }\n\n getSuggestionsForRadiusChange(){\n this.searchData();\n }\n\n generSuggestions;\n getGenerSuggestions(e) {\n console.log(e?.target?.value, e?.target?.value.length, \"ppp\")\n if(e.target?.value?.length >1){\n this.services.getGenerSuggestions(e?.target?.value).subscribe((res: any) => {\n if (res.type == 'success') {\n console.log(res)\n this.generSuggestions = res.data;\n }\n })\n\n if (!e.target.value) {\n this.getBandSuggestions();\n }\n }\n else if(!e.target?.value && !this.latitube && !this.searchForm.value.name.length){\n this.generSuggestions = [];\n this.getDefault();\n }\n else if(!e.target?.value){\n this.generSuggestions = [];\n this.searchData();\n }\n\n }\n getProfile(){\n this.sharedService.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n // localStorage.removeItem('seeAll');\n\n }\n })\n }\n navigateToUserProfile(id,bandName){\n this.router.navigateByUrl(`user/profile?id=${id}&user=${bandName}`).then((res)=>{\n window.document?.location?.reload();\n })\n }\n // ngOnDestroy(){\n // console.log(\"on destroy\");\n // this._header.clearLocalStorageOnLogout.unsubscribe();\n // }\n}\n","\n \n\n\n \n \n \n \n \n\n\n\n\n\n
    \n
    \n \n \n \n
    \n
    \n\n\n\n \n
    \n \n
    \n
    \n \n

    Are you sure want to logout?

    \n
    \n \n \n
    \n
    \n
    \n\n\n\n\n\n
    \n
    \n
    \n \n
    \n \n
    \n\n
    \n \n
    \n \n \n \n \n \n \n
    \n
      \n
      \n
      \n\n \n
      \n \n\n
      \n
      \n Radius\n \n \n
      0 Miles
      \n
      \n \n
      \n
      \n \n \n \n {{suggestion.genereName?suggestion.genereName:suggestion.communityName}}\n \n \n \n
      \n
      \n \n \n
      \n
      \n
      \n
      \n
      \n \n \n
      \n \n \n \n
      \n
      \n \n
      \n \n \n \n \"\"\n {{res?.bandName | titlecase}}\n \n \n {{res?.communityIds.length>0 ? ((res?.communityIds[0]?.communityName != null ? res?.communityIds[0]?.communityName : '') + (res?.communityIds[1]?.communityName!=null ? \" | \" +res?.communityIds[1]?.communityName : '')): ((res?.genereIds[0]?.genereName!=null ? res?.genereIds[0]?.genereName : '') + (res?.genereIds[1]?.genereName!=null ? \" | \" +res?.genereIds[1]?.genereName : '') + (res?.genereIds[2]?.genereName ? \" | \" +res?.genereIds[2]?.genereName :\n ''))}}\n \n \n \n \n \n \n
      \n
      \n

      =10\" (click)=\"seeAll()\" style=\"padding-top: 20px;cursor: pointer;\">See all results

      \n \n

      No Results Found

      \n
      \n
      \n
      \n
      \n
      \n\n\n\n\n
      \n \"\"
      Home
      \n \"\"
      Messages
      \n \"\"
      Notifications
      \n \"\"
      Profile
      \n \n
      \n
      \n \n \n
      \n \n\n\n \n
      \n
      \n
      \n \n \"\"\n \n \n
      \n
      \n
      \n \n
      \n
      \n
      \n\n\n\n
      \n \n
      \n
      \n

      Are you sure want to Cancel Friend Request?

      \n
      \n \n\n \n
      \n
      \n
      ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss']\n})\nexport class LayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
      \n \n \n
      ","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { SharedService } from '../services/shared.service';\nimport { BsModalRef, BsModalService, ModalOptions } from \"ngx-bootstrap/modal\";\nimport { CarouselComponent, OwlOptions, SlidesOutputData } from 'ngx-owl-carousel-o';\nimport { CarouselService } from 'ngx-owl-carousel-o/lib/services/carousel.service';\nimport { style } from '@angular/animations';\ndeclare var $:any;\n// import 'owl.carousel/dist/assets/owl.carousel.css';\n// import 'owl.carousel';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'photo-album-slider-modal-content',\n template: `\n
      \n
      \n
      \n \n
      \n

      Photo Album

      \n
      \n \n
      \n
      \n
      \n \n \n \n \n \n \n \n \n \n
      \n
      \n `,\n styleUrls:['./photo-album-slider.component.css']\n })\n \n export class PhotoAlbumSliderModalContentComponent implements OnInit {\n \n slidesStore;\n customOptions2:any;\n selectedImageIndex;\n userAvailable;\n // customOptions2: OwlOptions = {\n // loop: false,\n // mouseDrag: false,\n // touchDrag: false,\n // pullDrag: false,\n // dots: false,\n // navSpeed: 700,\n // navText: ['', ''],\n // items: 2,\n // // responsive: {\n // // 0: {\n // // items: 3\n // // },\n // // 400: {\n // // items: 3\n // // },\n // // 740: {\n // // items: 3\n // // },\n // // 940: {\n // // items: 3\n // // }\n // // },\n // nav: true\n // }\n \n @ViewChild('owlCar', { static: true }) owlCar: CarouselComponent;\n \n constructor(public modalRef: BsModalRef) {}\n \n @Output() deletePhotoFromAlbum:EventEmitter = new EventEmitter();\n \n ngOnInit() {\n console.log(this.slidesStore);\n console.log(this.selectedImageIndex);\n // let anyService = this.owlCar as any;\n // let carouselService = anyService.carouselService as CarouselService; \n // carouselService.to(this.selectedImageIndex,500);\n // this.owlCar.to(this.selectedImageIndex.toString());\n\n // debugger;\n\n let intr;\n intr = setInterval(()=>{\n console.log(this.owlCar.carouselLoaded);\n if(this.owlCar.carouselLoaded){\n this.owlCar.to(this.selectedImageIndex.toString());\n clearInterval(intr);\n }\n },2000)\n // this.owlCar.carouselLoaded\n\n // console.log($('.loop'));\n\n // $('.loop').on('initialized.owl.carousel translate.owl.carousel', function(e){\n // console.log(e);\n // let idx = e.item.index;\n // ($('.owl-item.big') as any).removeClass('big');\n // $('.owl-item.medium').removeClass('medium');\n // $('.owl-item').eq(idx).addClass('big');\n // $('.owl-item').eq(idx-1).addClass('medium');\n // $('.owl-item').eq(idx+1).addClass('medium');\n // });\n \n \n // $('.loop').owlCarousel({\n // center: true,\n // items:3,\n // // loop:true,\n // margin:10,\n // // autoplay: true,\n // // autoPlay: 3000\n // loop: false,\n // rewind: true\n // })\n }\n \n onClickDeletePhotoAlbum(){\n this.deletePhotoFromAlbum.emit(this.activeSlidePosition.toString());\n }\n activeSlidePosition = 0;\n getActiveSlideData(data: SlidesOutputData) {\n console.log(\"active slide\",data);\n this.activeSlidePosition = data.startPosition;\n console.log(this.activeSlidePosition);\n \n /************** Get Index of the Item and add the class **************************/\n // document.querySelector(\".owl-item.active123\")?.classList.remove('active123');\n // document.querySelectorAll(\".owl-item\")[this.activeSlidePosition].classList.add('active123');\n\n /************** **************************/\n\n }\n\n addCss(){\n\n }\n \n ngAfterViewInit()\t{\n \n }\n \n }","
      \n
      \n
      \n \n
      \n
      \n \"\"\n
      \n
      \n

      Photo Album

      \n
      \n
      \n\n \n
      \n
      \"\"
      \n
      \"\"
      \n
      \"\"
      \n
      \n
      \n\n
      \n
      \n \n\n
      \n \n \n
      \n
      \n \n \n
      \n
      \n
      \n \n
      \n \n
      \n \n
      \n \n \"\"\n
      \n
      \n No Photos Uploaded Yet!\n
      \n
      \n
      \n
      \n
      \n \n \n\n
      0\">\n

      {{deletePhotosIds.length == 1 ? deletePhotosIds.length + \" Photo\" : deletePhotosIds.length + \" Photos\"}} Selected

      \n
      \n \"\"\n
      \n
      \n\n\n\n
      \n \n
      \n
      \n \n \n

      Are you sure want to delete
      this photo?

      \n
      \n \n \n \n
      \n
      \n
      \n\n\n\n\n\n\n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { SharedService } from '../services/shared.service';\nimport { BsModalRef, BsModalService, ModalOptions } from \"ngx-bootstrap/modal\";\nimport { CarouselComponent, OwlOptions, SlidesOutputData } from 'ngx-owl-carousel-o';\nimport { CarouselService } from 'ngx-owl-carousel-o/lib/services/carousel.service';\nimport { PhotoAlbumSliderModalContentComponent } from './photo-album-slider.component';\n// import * as $ from 'jquery';\ndeclare var $: any;\n@Component({\n selector: 'app-photo-album',\n templateUrl: './photo-album.component.html',\n styleUrls: ['./photo-album.component.scss']\n})\nexport class PhotoAlbumComponent implements OnInit {\n\n uploadPhotoAlbumUrl:string;\n deleteAlbumImage:any;\n modalRef: BsModalRef;\n photoAlbumCheckbox:any;\n @Input() userId: string;\n @Input() userAvailable: boolean;\n @Input() deleteButton: boolean;\n\n owlRef:any;\n\n constructor(\n private service: SharedService,\n private toaster: ToastrService,\n private modalService: BsModalService,\n // private albumModalComponent: PhotoAlbumSliderModalContentComponent\n ) { \n // this.albumModalComponent.deletePhotoFromAlbum.subscribe({\n // next: (event: MyServiceEvent) => {\n // console.log(`Received message #${event.eventId}: ${event.message}`);\n // }\n }\n\n @ViewChild(\"deleteAlbumImages\") deleteAlbumImages: TemplateRef; \n @ViewChild(\"photoAlbumSlider\") photoAlbumSlider: TemplateRef;\n // @ViewChild('owlCar', { static: true }) owlCar: CarouselComponent;\n \n\n customOptions: OwlOptions = {\n loop: true,\n mouseDrag: false,\n touchDrag: false,\n pullDrag: false,\n dots: false,\n navSpeed: 700,\n navText: ['', ''],\n // items: 1,\n responsive: {\n 0: {\n items: 3\n },\n // 200: {\n // items: 3\n // },\n // 300: {\n // items: 3\n // }\n },\n nav: true\n }\n number = 500;\n customOptions2: OwlOptions = {\n center: true,\n items:3,\n // loop:true,\n margin:15,\n // autoplay: true,\n // autoPlay: 3000\n loop: false,\n rewind: false,\n autoWidth:true,\n // loop: true,\n // center: true,\n // rewind:true,\n // autoWidth:true,\n // mouseDrag: false,\n // touchDrag: false,\n // pullDrag: false,\n dots: false,\n // navSpeed: 700,\n navText: ['', ''],\n // items: 3,\n // margin:10,\n responsive: {\n 0: {\n items: 1\n },\n 400: {\n items: 1\n },\n // 740: {\n // items: 3\n // },\n // 940: {\n // items: 3\n // }\n },\n nav: true\n }\n\n slidesStore :any= [];\n noWrapSlides = false;\n showIndicator = true;\n centeralign:boolean = true;\n deleteImagePath:any;\n \n\n ngOnInit(): void {\n console.log(\"user Id\",this.userId);\n this.uploadPhotoAlbumUrl='../../../assets/Indietown_icons/upload-photo-album.svg';\n setTimeout(()=>{\n this.getAlbum(this.userId)\n },3000)\n }\n\n\n uploadPhotoAlbum(e:any){\n let files = e.target.files;\n [...e.target.files].map((file)=>{\n let fd = new FormData();\n fd.append('file', file);\n this.service.uploadImage(fd).subscribe((res:any)=> {\n if(res.type == 'success'){\n this.uploadPhotoAlbumUrl = res.data.fileUrl;\n let data = {\n \"album\":[\n {\n \"fileUrl\": this.uploadPhotoAlbumUrl,\n \"key\": res.data.key\n }\n ]\n }\n this.createPhotoAlbum(data);\n }\n })\n })\n }\n \n uploadToServer(file){\n // let file = e.target.files[0];\n let fd = new FormData();\n fd.append('file', file);\n this.service.uploadImage(fd).subscribe((res:any)=> {\n if(res.type == 'success'){\n this.uploadPhotoAlbumUrl = res.data.fileUrl;\n let data = {\n \"album\":[\n {\n \"fileUrl\": this.uploadPhotoAlbumUrl,\n \"key\": res.data.key\n }\n ]\n }\n this.createPhotoAlbum(data);\n }\n })\n }\n\n createPhotoAlbum(data){\n this.service.createAlbum(data).subscribe((res:any)=>{\n if(res.type == 'success'){\n // this.getAlbum(this.userId);\n // this.slidesStore.push(data?.album[0]);\n this.slidesStore.push(res.data[res.data.length-1]);\n this.toaster.success(res.message);\n this.uploadPhotoAlbumUrl='../../../assets/Indietown_icons/upload-photo-album.svg';\n }else{\n this.toaster.error(res.message);\n }\n })\n }\n\n deletePhotoAlbumIndex:any;\n deleteAlbumModalRef:any;\n\n onClickDeletePhotoAlbum(index:any){\n // this.modalRef.hide();\n // this.openModal(this.deleteAlbumImages);\n this.deleteAlbumModalRef = this.modalService.show(this.deleteAlbumImages,{class: 'deletedd'});\n console.log(this.activeSlides);\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n photoDelete(){\n // console.log(this.deletePhotosIds);\n // if(this.firstTimePhotoId){\n // this.deletePhoto(this.firstTimePhotoId); \n // }else{\n // this.deletePhoto(this.deletePhotosIds);\n // }\n // this.deletePhotosIds = [];\n if(this.deletePhotosIds?.length){\n console.log(1);\n this.deletePhoto(this.deletePhotosIds);\n this.modalRef.hide();\n this.photoAlbumCheckbox = false; \n }\n else{\n console.log(\"no\");\n let arr = [{photoId:this.slidesStore[this.activeSlidePosition]._id,imageIndex:this.activeSlidePosition}]\n this.deletePhoto(arr);\n this.deleteAlbumModalRef.hide();\n }\n }\n\n deletePhoto(deletePhotosIds){\n console.log(deletePhotosIds);\n let imageIds = deletePhotosIds.map(elm => elm.photoId);\n this.service.deleteMultiplePhotos({photoIds:imageIds}).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.toaster.success(res.message);\n console.log(deletePhotosIds);\n\n // this.getAlbum(this.userId);\n deletePhotosIds.forEach(element => {\n console.log(\"innn\");\n console.log(this.slidesStore);\n // this.slidesStore.splice(element.imageIndex,1);\n let index = this.slidesStore.findIndex((elm)=>{\n return elm._id == element.photoId\n })\n this.slidesStore.splice(index,1);\n console.log(this.slidesStore);\n });\n console.log(\"end\");\n this.deletePhotosIds = [];\n }\n })\n }\n\n // get active slide owl carousel\n activeSlides:any=SlidesOutputData;\n activeSlidePosition:any = 0;\n // activeImageData:any;\n\n getActiveSlideData(data: SlidesOutputData) {\n console.log(\"active slide\",data);\n // if(data.startPosition != this.slidesStore.length){\n // this.activeSlidePosition = data.startPosition;\n // }\n // else{\n this.activeSlidePosition = data.startPosition;\n // }\n console.log(this.activeSlidePosition);\n \n // let ids = [];\n // // this.activeId= this.slidesStore.splice(this.activeSlides?.startPosition,this.activeSlides?.startPosition);\n // console.log(\"=======================\",this.activeId?._id);\n // this.firstTimePhotoId=[];\n // this.deletePhotosIds[0]=this.activeId?._id;\n\n }\n\n deletePhotosIds:any=[];\n onClickCheckbox(e:any, photoId:any,imageIndex){\n console.log(e);\n console.log(imageIndex);\n // let ids = e.checked;\n if(e.checked){\n this.deletePhotosIds.push({photoId,imageIndex});\n }else{\n for(var i=0;i,\n class:'photoalbumpopup'\n };\n this.modalRef = this.modalService.show(PhotoAlbumSliderModalContentComponent,initialState);\n this.modalRef.content.deletePhotoFromAlbum.subscribe((result)=>{\n console.log(result); \n this.activeSlidePosition = result;\n this.onClickDeletePhotoAlbum('');\n })\n }\n\n // setTimeout(()=>{\n // // this.owlRef = $('.owl-carousel')[0];\n // // // this.owlRef?.owlCarousel();\n // // console.log(this.owlRef);\n // let anyService = this.owlCar as any;\n // let carouselService = anyService.carouselService as CarouselService; \n // console.log(carouselService); \n // debugger;\n // },10000)\n\n }\n\n deleteMultiplePhotos(){\n // this.openModal(this.deleteAlbumImages)\n this.modalRef = this.modalService.show(this.deleteAlbumImages, {class:'deletealbumpopup'});\n\n }\n\n cancel(){\n // this.modalRef.hide();\n if(this.deletePhotosIds?.length){\n this.modalRef.hide();\n this.photoAlbumCheckbox = false; \n }\n else{\n this.deleteAlbumModalRef.hide();\n }\n }\n\n onClickCancleImage(){\n this.photoAlbumCheckbox = false;\n this.photoAlbumCheckbox = false;\n this.deletePhotosIds=[];\n }\n\n showCheckbox(){\n this.photoAlbumCheckbox = true;\n }\n\n firstTimePhotoId:any=[];\n getAlbum(id:any){\n let data;\n if(this.userAvailable){\n data = {userId:this.userId}\n }\n this.service.getPhotoAlbum(data,this.pageNumber,this.pageLimit).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.slidesStore = res.data;\n this.firstTimePhotoId[0]=this.slidesStore[0]?._id;\n if(localStorage.getItem(\"profileorCoverImageDetails\")){\n let imageDetails = JSON.parse(localStorage.getItem(\"profileorCoverImageDetails\"));\n this.slidesStore.unshift(imageDetails);\n localStorage.removeItem(\"profileorCoverImageDetails\");\n this.openSlider(imageDetails._id);\n }\n }\n })\n }\n pageNumber = 1;\n pageLimit = 200;\n scrollForPhotos = true;\n getMorePhotosOfAlbum(e){\n let data;\n this.pageNumber++;\n if(this.userAvailable)\n data = {userId:this.userId}\n this.service.getPhotoAlbum(data,this.pageNumber,this.pageLimit).subscribe((res:any)=>{\n if(res.type == 'success'){\n if(res?.data?.length)\n this.slidesStore .push(...res.data);\n else\n this.scrollForPhotos = false;\n }\n })\n }\n}\n\n// import { CarouselComponent, OwlOptions, SlidesOutputData } from 'ngx-owl-carousel-o';\n\n\n","import {Directive, HostListener} from \"@angular/core\";\n \n@Directive({\n selector: \"[click-stop-propagation]\"\n})\nexport class ClickStopPropagation\n{\n @HostListener(\"click\", [\"$event\"])\n public onClick(event: any): void\n {\n event.stopPropagation();\n }\n}\n","/**\n * Usage: dateString | localDate:'format'\n **/\n\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filterFriends'\n})\nexport class FriendsFilterPipe implements PipeTransform {\n\n constructor() { }\n\n transform(items: any[], callback:any): any {\n if (!items || !callback) {\n return items;\n }\n return items.filter(item => {\n if(item.bandName){\n return item.bandName.toLowerCase().includes(callback.toLowerCase());\n }\n else if(item.userId?.bandName){\n return item.userId.bandName.toLowerCase().includes(callback.toLowerCase());\n }\n \n });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'htmlToPlaintext'\n})\nexport class HtmlToPlaintextPipe implements PipeTransform {\n transform(value: any): string {\n const temp = document.createElement('div');\n temp.innerHTML = value;\n return temp.textContent || temp.innerText || '';\n }\n}","/**\n * Usage: dateString | localDate:'format'\n **/\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { formatDate } from '@angular/common';\nimport { SessionService } from '../services/session.service';\n\n@Pipe({\n name: 'localDate'\n})\nexport class LocalDatePipe implements PipeTransform {\n\n constructor(private session: SessionService) { }\n\n transform(value: any) {\n\n if (!value) { return ''; }\n let format = 'medium';\n\n return formatDate(value, format, this.session.locale);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\n constructor(private sanitizer: DomSanitizer) { }\n\n transform(value) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeUrl'\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n transform(url) {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\n\n/**\n * Sanitize HTML\n */\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n /**\n * Pipe Constructor\n *\n * @param _sanitizer: DomSanitezer\n */\n // tslint:disable-next-line\n constructor(protected _sanitizer: DomSanitizer) {\n }\n\n /**\n * Transform\n *\n * @param value: string\n * @param type: string\n */\n transform(value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n switch (type) {\n case 'html':\n return this._sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this._sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this._sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this._sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n alert(value);\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n return this._sanitizer.bypassSecurityTrustHtml(value);\n }\n }\n}","
      \n
      \n
      \n
      \n \"\"\n \"Arrow\"\n

      Privacy Policy

      \n
      \n\n
      \n \n

      Last Modified: August 23, 2023

      \n
        \n
      • \n Introduction\n
          \n
        • Indie App, Inc. (the “Company”, “We”, or “Us”) respects the privacy of visitors\n to our website (“You”) and is committed to protecting your privacy through our\n compliance with this privacy policy (this “Privacy Policy”).\n
        • \n
        • \n This Privacy Policy describes:\n
            \n
          • the types of information We may collect from You or that You may\n provide when You visit the Indie App website ([indietown.org], the\n “Website”); and
          • \n
          • \n our practices for collecting, using, maintaining, protecting, and disclosing\n that information.\n
          • \n\n
          \n
        • \n
        • \n This Privacy Policy applies to information We collect:\n
            \n
          • onthe Website; and
          • \n
          • in email, text, phone calls, and other electronic messages between You and\n Us.\n
          • \n
          \n
        • \n
        • \n It does not apply to information collected by:\n
            \n
          • Us through any other means, including on any other website operated by\n Us or any third party; or
          • \n
          • \n any third party, including through any application, content or advertising\n that may link to or be accessible through the Website.\n
          • \n
          \n
        • \n
        • \n Please read this Privacy Policy carefully to understand our policies and practices\n regarding your information and how We will treat it. If You do not agree with our\n policies and practices, your choice is to not use the Website. By accessing or\n using the Website, You agree to this Privacy Policy.\n
        • \n
        \n
      • \n
      • Information We Collect About You and How We Collect It\n
          \n
        • We may collect several types of information directly from You when You provide\n it to Us, including information by which You may be personally identified\n including, but not limited to, your name, postal address, email address, age,\n gender and telephone number (\"Personal Information\").\n
        • \n
        • \n We also may collect information from You automatically. The information We\n collect automatically may include Personal Information as well as information\n that is about You but does not individually identify You. We may maintain or\n associate the information We collect automatically with information We receive in\n other ways or receive from third parties. Our goal in collecting this information is\n to help improve the Website and to deliver better and more personalized service,\n including by enabling Us to:\n
            \n
          • estimate our audience size and usage patterns;
          • \n
          • store information about your preferences, allowing Us to customize the\n Website according to your individual interests;
          • \n
          • \n speed up your searches; and\n
          • \n
          • \n recognize You when You return to the Website.\n
          • \n
          \n
        • \n
        • \n The technologies We use for automatic data collection may include the use of\n cookies, also called browser cookies. A cookie is a small file placed on the hard drive\n of your computer. You may refuse to accept browser cookies by activating\n the appropriate setting on your browser. However, if You select this setting You\n may be unable to access certain parts of the Website. Unless You have adjusted\n your browser setting so that it will refuse cookies, our system may issue cookies\n when You direct your browser to the Website.\n
        • \n\n
        \n
      • \n
      • Children Under the Age of 13\n
          \n
        • The Website is not intended for children under 13 years of age. We do not knowingly\n collect Personal Information from children under 13. If We learn We have collected or\n received Personal Information from a child under 13 We will delete that information.\n
        • \n
        \n
      • \n
      • \n Third-Party Use of Cookies and Other Tracking Technologies\n
          \n
        • Some content or applications, including advertisements, on the Website are served\n by third-parties, including Google Analytics, advertisers, ad networks and servers,\n content providers, and application providers. These third parties may use cookies\n alone or in conjunction with web beacons or other tracking technologies to collect\n information about You when You use the Website.\n
        • \n
        • \n ‘We do not control these third parties' tracking technologies or privacy policies. If\n You have any questions about an advertisement or other targeted content, You\n should contact the responsible provider directly.\n
        • \n
        \n
      • \n
      • \n How We Use Your Information\n
          \n
        • We use information that We collect about You or that You provide to Us,\n including any Personal Information:\n
            \n
          • to present the Website and its contents to You;
          • \n
          • to provide You with information, products, or services that You request\n from Us;
          • \n
          • to fulfill any other purpose for which You provide it;\n
          • \n
          • \n to provide You with notices about your account, including expiration and\n renewal notices;\n
          • \n
          • to carry out our obligations and enforce our rights arising from any\n contracts entered into between You and Us, including for billing and\n collection;
          • \n
          • \n to notify You about changes to the Website or any products or services We\n offer or provide through it;\n
          • \n
          • \n in any other way We may describe when You provide the information; and\n
          • \n
          • \n for any other purpose with your consent.\n
          • \n
          \n
        • \n
        \n
      • \n
      • \n Disclosure of Your Information\n
          \n
        • We may disclose aggregated information about our users, and information that\n does not identify any individual, without restriction.
        • \n
        • \n We may disclose Personal Information:\n
            \n
          • to contractors, service providers, and other third parties We use to support\n our business and who are bound by contractual obligations to keep\n Personal Information confidential and use it only for the purposes for\n which We disclose it to them;
          • \n
          • \n to fulfill the purpose for which You provide it;\n
          • \n
          • \n for any other purpose disclosed by Us when You provide the information;\n or\n
          • \n
          • \n with your consent.\n
          • \n
          \n
        • \n
        • \n We may also disclose your Personal Information:\n
            \n
          • to comply with any court order, law, or legal process, including to respond\n to any government or regulatory request;
          • \n
          • \n to enforce our Terms of Use and other agreements, including for billing\n and collection purposes; or\n
          • \n
          • \n if We believe disclosure is necessary to protect the rights, property, or\n safety of the Company, our customers, or others. This includes exchanging\n information with other companies and organizations for the purposes of\n fraud protection and credit risk reduction.\n
          • \n
          \n
        • \n
        \n
      • \n
      • Deletion of Personal Information\n
          \n
        • To delete your Personal Information, You must delete your account in settings.\n Your activity on Indie Town may still be visible on other users’ pages.\n
        • \n
        \n
      • \n
      • Data Security\n
          \n
        • We have implemented measures designed to secure your Personal Information\n from accidental loss and from unauthorized access, use, alteration, and disclosure.
        • \n
        • \n The safety and security of your information also depends on You. Where We have\n given You (or where You have chosen) a password for access to certain parts of\n the Website, You are responsible for keeping this password confidential. We ask\n You not to share your password with anyone.\n
        • \n
        • \n Unfortunately, the transmission of information via the internet is not completely\n secure. Although We do our best to protect your Personal Information, We cannot\n guarantee the security of your Personal Information transmitted to the Website.\n Any transmission of Personal Information is at your own risk. We are not\n responsible for circumvention of any privacy settings or security measures\n contained on the Website.\n
        • \n
        \n
      • \n
      • \n Your State Privacy Rights\n
          \n
        • State consumer privacy laws may provide their residents with additional rights\n regarding our use of their Personal Information, including, but not limited to, the\n following.\n
        • \n
            \n
          • 1. California provides its residents with additional privacy protections. To\n learn more about California residents’ privacy rights, visit\n https://oag.ca.gov/privacy/ccpa
          • \n
          • \n Colorado, Connecticut, Virginia, and Utah each provide their state\n residents with rights to:\n
              \n
            • Confirm whether We process their Personal Information,.
            • \n
            • Access and delete certain Personal Information,.
            • \n
            • Data portability, and.
            • \n
            • Opt-out of personal data processing for targeted advertising and\n sales.
            • \n
            \n
          • \n
          • \n Colorado, Connecticut, and Virginia also provide their state residents with\n rights to:\n
              \n
            • Correct inaccuracies in their Personal Information, taking into\n account the information's nature processing purpose, and.\n
            • \n
            • \n Opt-out of profiling in furtherance of decisions that produce legal\n or similarly significant effects.\n
            • \n
            \n
          • \n
          • \n Nevada provides its residents with a limited right to opt-out of certain\n Personal Information sales. However, please know We do not currently\n sell data triggering that statute's opt-out requirements.\n
          • \n
          \n
        \n
      • \n
      • \n Changes to Our Privacy Policy\n
          \n
        • It is our policy to post any changes We make to our Privacy Policy on this page with a\n notice that the Privacy Policy has been updated on the Website home page. If We make\n material changes to how We treat our users’ Personal Information, We will notify You by\n email to the email address specified in your account, or through a notice on the Website\n home page. The date the Privacy Policy was last revised is identified at the top of the\n page. You are responsible for ensuring We have an up-to-date active and deliverable\n email address for You, and for periodically visiting the Website and this Privacy Policy to\n check for any changes.\n
        • \n
        \n
      • \n
      • \n Contact Information\n
          \n
        • To ask questions or comment about this Privacy Policy and our privacy practices, contact\n Us at: support@indietown.org.
        • \n
        \n
      • \n
      \n
      \n
      \n
      \n
      ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-privacy',\n templateUrl: './privacy.component.html',\n styleUrls: ['./privacy.component.scss']\n})\nexport class PrivacyComponent implements OnInit {\n isMobile:boolean=false;\n constructor(\n ) {\n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n\n\n receiveEmail:any;\n\n ngOnInit() {\n\n }\n\n}\n","
      \n
      \n
      \n
      \n \n \"\"\n \n \n
      \n
      \n
      \n

       

      \n
      \n
      \n \n \n\n
      \n \"\"\n \"\"\n \"\"\n\n\n \n \n
      \n
      \n

        


      \n
      \n {{ friend?.bandName | titlecase }}\n
      \n
      \n
      \n
      {{friend?.communityIds.length>0 ?\n (friend?.communityIds[0]?.communityName +\n (friend?.communityIds[1]?.communityName!=null ? \" | \" +friend?.communityIds[1]?.communityName : '')):\n ((friend?.genereIds[0]?.genereName!=null ? friend?.genereIds[0]?.genereName : '') +\n (friend?.genereIds[1]?.genereName!=null ? \" | \" +friend?.genereIds[1]?.genereName :\n '') + (friend?.genereIds[2]?.genereName ? \" | \" +friend?.genereIds[2]?.genereName :\n ''))}}
      \n
      \n \n \n
      \n
      \n
      \n\n \n
      No Data Found !
      \n
      \n
      \n\n
      \n
      \n \n

      \n Top Friends\n ({{topFriendsCount}})\n

      \n\n \n\n
      \n \n \n
      \n \"\"\n \"\"\n \"\"\n\n\n \n \n
      \n
      \n

        


      \n
      \n {{ friend?.bandName | titlecase }}\n
      \n
      \n
      \n
      {{friend?.communityIds.length>0 ?\n (friend?.communityIds[0]?.communityName +\n (friend?.communityIds[1]?.communityName!=null ? \" | \" +friend?.communityIds[1]?.communityName : '')):\n ((friend?.genereIds[0]?.genereName!=null ? friend?.genereIds[0]?.genereName : '') +\n (friend?.genereIds[1]?.genereName!=null ? \" | \" +friend?.genereIds[1]?.genereName :\n '') + (friend?.genereIds[2]?.genereName ? \" | \" +friend?.genereIds[2]?.genereName :\n ''))}}
      \n
      \n \n \n
      \n
      \n
      \n\n \n\n
      \n To Make a Friend as a Top Friend Select the star at the top right
      corner of their profile\n
      \n \n
      \n \n \n

      \n Others\n ({{ otherFriendsCount }})\n

      \n
      \n \n \n
      \n \n \n \"\"\n \"\"\n \n\n\n\n
      \n
      \n

        


      \n
      \n {{ friend?.bandName | titlecase }}\n
      \n
      \n
      \n
      {{friend?.communityIds.length>0 ?\n (friend?.communityIds[0]?.communityName +\n (friend?.communityIds[1]?.communityName!=null ? \" | \" +friend?.communityIds[1]?.communityName :\n '')):\n ((friend?.genereIds[0]?.genereName!=null ? friend?.genereIds[0]?.genereName : '') +\n (friend?.genereIds[1]?.genereName!=null ? \" | \" +friend?.genereIds[1]?.genereName :\n '') + (friend?.genereIds[2]?.genereName ? \" | \" +friend?.genereIds[2]?.genereName :\n ''))}}
      \n
      \n \n \n
      \n
      \n
      \n
      \n\n
      No Friends Yet !
      \n
      \n\n
      \n\n
      \n
      \n \n \n
      \n \n \n
      \n \"\"\n \n
      \n

      \n {{ friend?.bandName | titlecase }}\n

      \n
      \n\n
      \n
      {{friend?.communityIds.length>0 ?\n (friend?.communityIds[0]?.communityName +\n (friend?.communityIds[1]?.communityName!=null ? \" | \" +friend?.communityIds[1]?.communityName : '')):\n ((friend?.genereIds[0]?.genereName!=null ? friend?.genereIds[0]?.genereName : '') +\n (friend?.genereIds[1]?.genereName!=null ? \" | \" +friend?.genereIds[1]?.genereName :\n '') + (friend?.genereIds[2]?.genereName ? \" | \" +friend?.genereIds[2]?.genereName :\n ''))}}
      \n
      \n\n
      \n \n \n \n \n Pending\n \n \n Accept\n \n \n \n
      \n
      \n
      \n
      \n\n \n
      No Data Found !
      \n
      No Friends Yet !
      \n
      \n\n
      \n
      \n\n\n
      \n \n
      \n
      \n \n
      \n
      \n

      \n {{ selectedFriendData?.bandName | titlecase }}\n

      \n \n \n

      \n {{selectedFriendData?.communityIds.length>0 ?\n (selectedFriendData?.communityIds[0]?.communityName +\n (selectedFriendData?.communityIds[1]?.communityName!=null ? \" | \"\n +selectedFriendData?.communityIds[1]?.communityName : '')):\n ((selectedFriendData?.genereIds[0]?.genereName!=null ? selectedFriendData?.genereIds[0]?.genereName : '')\n +\n (selectedFriendData?.genereIds[1]?.genereName!=null ? \" | \" +selectedFriendData?.genereIds[1]?.genereName\n :\n '') + (selectedFriendData?.genereIds[2]?.genereName ? \" | \" +selectedFriendData?.genereIds[2]?.genereName\n :\n ''))}}\n

      \n
      \n
      \n
      \n \n
      \n
      \n
        \n
      • \n \"\"\n Message {{ selectedFriendData?.bandName | titlecase\n }}\n
      • \n\n
      • \n \"\"\n Unfriend {{ selectedFriendData?.bandName | titlecase }}\n
      • \n\n
      • \n \"\"\n Silence {{ selectedFriendData?.bandName | titlecase }} Posts\n
      • \n
      • \n \"\"\n UnMute {{ selectedFriendData?.bandName | titlecase }} Posts\n
      • \n
      \n
      \n
      \n
      \n\n
      \n \n
      \n
      \n

      Are you sure you want to cancel
      \n this request?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      \n\n\n
      \n \n
      \n
      \n

      Are you sure you want to unfriend
      \n {{unFriendName | titlecase}}?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      \n\n\n \n","import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { ToastrService } from 'ngx-toastr';\nimport { SharedService } from '../services/shared.service';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\n\n@Component({\n selector: 'app-profile-friends-list',\n templateUrl: './profile-friends-list.component.html',\n styleUrls: ['./profile-friends-list.component.scss']\n})\nexport class ProfileFriendsListComponent implements OnInit {\n\n friendsList: any = [];\n topFriendsList: any = [];\n modalRef: BsModalRef;\n selectedFriendData: any;\n filterFriendKey: any;\n @Input() userId = '';\n otherFriendsList: any = [];\n friendsCount;\n otherFriendsCount;\n @Input() myProfileId;\n\n\n @ViewChild(\"friendActionsModal\") friendActionsModal: TemplateRef;\n @ViewChild(\"cancelRequests\") cancelRequests: TemplateRef;\n @ViewChild(\"unFriendModal\") unFriendModal: TemplateRef;\n\n\n constructor(private service: SharedService,\n private toastrService: ToastrService,\n private modalService: BsModalService,\n private router: Router,\n private spinner: SpinnerVisibilityService\n ) { }\n\n ngOnInit(): void {\n console.log(\"I am here\");;\n\n if (this.userId) {\n this.getFriendsList(this.userId);\n }\n else {\n this.getTopFriendsList();\n this.getOtherFriendsList();\n }\n\n }\n\n getFriendsList(userId) {\n this.service.getFriendsList(userId,this.loadMoreFriendPage,20).subscribe((res: any) => {\n if (res.type == 'success') {\n this.friendsList.push(...res.data);\n if(!res?.data?.length){\n this.loadMoreFriend = false;\n }\n // this.friendsCount = res.data.totalCount;\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n\n getOtherFriendsList() {\n this.service.getOtherFriendsList(this.loadMoreOtherFriendPage,20).subscribe((res: any) => {\n if (res.type == 'success') {\n this.otherFriendsList.push(...res.data);\n this.otherFriendsCount = res.totalCount;\n if(!res?.data?.length){\n this.loadMoreOtherFriend = false;\n }\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n\n topFriendsCount;\n getTopFriendsList() {\n this.service.getTopFriendsList().subscribe((res: any) => {\n if (res.type == 'success') {\n this.topFriendsList = res.data;\n this.topFriendsCount = res.totalCount;\n // this.topFriendsList = [\n // {\n // \"profileImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648063538.jpg\",\"key\":\"file_1677648063538.jpg\"},\n // \"coverImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648085268.jpg\",\"key\":\"file_1677648085268.jpg\"},\n // \"_id\":\"63fee04942cce284d9a694f7\",\"bandName\":\"Miller\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208824115.jfif\",\"key\":\"file_1681208824115.jfif\"},\n // \"coverImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208849534.jpg\",\"key\":\"file_1681208849534.jpg\"},\n // \"_id\":\"64353563be4c9e29bd6f8c14\",\"bandName\":\"denhy\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648063538.jpg\",\"key\":\"file_1677648063538.jpg\"},\n // \"coverImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648085268.jpg\",\"key\":\"file_1677648085268.jpg\"},\n // \"_id\":\"63fee04942cce284d9a694f7\",\"bandName\":\"Miller\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208824115.jfif\",\"key\":\"file_1681208824115.jfif\"},\n // \"coverImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208849534.jpg\",\"key\":\"file_1681208849534.jpg\"},\n // \"_id\":\"64353563be4c9e29bd6f8c14\",\"bandName\":\"denhy\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648063538.jpg\",\"key\":\"file_1677648063538.jpg\"},\n // \"coverImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648085268.jpg\",\"key\":\"file_1677648085268.jpg\"},\n // \"_id\":\"63fee04942cce284d9a694f7\",\"bandName\":\"Miller\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208824115.jfif\",\"key\":\"file_1681208824115.jfif\"},\n // \"coverImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208849534.jpg\",\"key\":\"file_1681208849534.jpg\"},\n // \"_id\":\"64353563be4c9e29bd6f8c14\",\"bandName\":\"denhy\"\n // }\n // ]\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n\n selectedfriendType;\n selectedfriendSilenceStatus;\n openActionsModal(data: any, type) {\n\n console.log(\"popup coms here\");\n this.modalRef = this.modalService.show(this.friendActionsModal, { class: 'friendstabb' });\n this.selectedFriendData = data;\n this.selectedfriendType = type;\n this.getSilencedUserStatus(data._id);\n // if(this.showSiidbar==false){\n // this.openModal(this.friendClickModal);\n // }else{\n // // this.route.navigate(['/user/profile'],{queryParams:{id:data?._id}})\n // }\n }\n getSilencedUserStatus(id) {\n this.service.getSilencedUserStatus(id).subscribe((res: any) => {\n console.log(res);\n this.selectedfriendSilenceStatus = res.data.isSilent;\n })\n }\n\n unMute(id) {\n this.service.unMuteUserPosts({ userId: id }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.selectedfriendSilenceStatus = false;\n // this.modalRef.hide();\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n unFriendId;\n unFriendName;\n unFriendModalRef;\n openUnfriendModal(id: any,name) {\n this.modalRef.hide();\n this.unFriendId = id;\n this.unFriendName = name;\n this.unFriendModalRef = this.modalService.show(this.unFriendModal);\n }\n\n unFriend(){\n this.service.unFriend(this.unFriendId, {}).subscribe((res: any) => {\n // debugger;\n this.unFriendModalRef.hide();\n if (res.type == 'success') {\n if (this.selectedfriendType == 'topFriend') {\n let index = this.topFriendsList.findIndex((friend) => {\n return friend._id == this.unFriendId\n });\n this.topFriendsList.splice(index, 1);\n }\n else {\n let index = this.otherFriendsList.findIndex((friend) => {\n return friend._id == this.unFriendId\n });\n this.otherFriendsList.splice(index, 1);\n }\n // this.getFriendsList();\n } else {\n this.toastrService.error(res.message);\n }\n },\n (error) =>{\n console.log(\"ome error occurred while unfriend\");\n this.unFriendModalRef.hide();\n }\n )\n }\n\n silencePosts(id: any) {\n this.service.silentUserPosts({ userId: id }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.selectedfriendSilenceStatus = true;\n // this.modalRef.hide();\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n filter = false;\n filterFriendsList(e: any) {\n console.log(\"filtering \", e);\n this.filterFriendKey = e;\n console.log(this.userId)\n if (e.length >= 2) {\n this.filter = true\n if (!this.userId) {\n this.service.filterFriendsList(this.filterFriendKey, 'top', '').subscribe((res: any) => {\n console.log(res, \"res\")\n this.topFriendsList = res.data;\n this.topFriendsCount = res.totalCount;\n })\n this.service.filterFriendsList(this.filterFriendKey, 'others', '').subscribe((res: any) => {\n this.otherFriendsList = res.data;\n this.otherFriendsCount = res.totalCount;\n })\n }\n else {\n this.service.filterFriendsList(this.filterFriendKey, 'friends', this.userId).subscribe((res: any) => {\n this.friendsList = res.data;\n this.friendsCount = res.totalCount;\n })\n }\n }else{\n this.filter = false;\n if(this.userId){\n this.loadMoreFriendPage = 1;\n this.getFriendsList(this.userId);\n }\n else{\n this.loadMoreOtherFriendPage = 1;\n this.getTopFriendsList();\n this.getOtherFriendsList();\n }\n \n }\n }\n\n navigateToProfile(userId, userName) {\n if(this.myProfileId == userId){\n return;\n }\n this.router.navigateByUrl('user/profile?id=' + userId + '&user=' + userName).then(() => {\n window.location.reload();\n });\n }\n\n addFriend(id, index) {\n this.service.AddFriend({ \"recipientId\": id }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastrService.success(\"Friend request sent\");\n this.friendsList[index].friendStatus = 'REQUEST_SENT';\n }\n // this.spinner.hide();\n }, (err) => {\n this.toastrService.error(err.error.message);\n })\n }\n addFriendButtonText:string = \"Add Friend\";\n\n AddFriend(id:any, index){\n let data = document.getElementById('addFriendText'+id).innerText;\n // alert(data);\n if(data=='Pending'){\n // this.spinner.show();\n // document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n // document.getElementById('addFriendText'+id).style.background = 'black';\n // document.getElementById('addFriendText'+id).style.color = 'white';\n this.cancelRequestId = id;\n this.modalRef = this.modalService.show(this.cancelRequests,{class:'cancelrequestmodall'});\n // this.service.cancelRequest({\"action\":\"CANCEL\"},id).subscribe((res:any)=>{\n // if(res.type=='success'){\n // this.toastrService.success(res.message); \n // }\n // })\n // this.spinner.hide();\n }else if(data == 'Add Friend'){\n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Pending'\n document.getElementById('addFriendText'+id).style.background='#FAFAFA';\n document.getElementById('addFriendText'+id).style.color='black';\n document.getElementById('addFriendText'+id).style.border='1px solid black';\n document.getElementById('addFriendText'+id).style.borderRadius='8px';\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => { \n if(res.type == 'success'){\n // this.toastrService.success(res.message); \n this.toastrService.success(\"Friend request sent\"); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else if(data=='Accept'){ \n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Friend'; \n document.getElementById('addFriendText'+id).classList.add(\"friend\");\n document.getElementById('addFriendText'+id).classList.remove(\"addFriend\");\n\n document.getElementById('addFriendText'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.service.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastrService.success(\"Friend request accepted\");\n // debugger;\n // let index = this.moreData.findIndex((obj)=>{\n // return obj._id == id\n // });\n // if(index != -1){\n // this.moreData[index].friendStatus = \"FRIEND\";\n // }\n }else{\n this.toastrService.error(res.message); \n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }\n \n}\n cancelRequest(id, index) {\n this.service.cancelRequest(id, { \"action\": \"CANCEL\" }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastrService.success(\"Cancelled friend request\");\n this.friendsList[index].friendStatus = 'NOT_FRIEND';\n }\n })\n }\n cancelRequestId;\ncancelRequestModalRef;\n\nshowCancelRequestLoader: Boolean = false;\ncancelFriendRequest(){\n this.showCancelRequestLoader = true;\n let id = this.cancelRequestId;\n \n \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n this.showCancelRequestLoader = false;\n if(res.type=='success'){\n this.toastrService.success(\"Cancelled friend request\"); \n document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n document.getElementById('addFriendText'+id).style.background = 'black';\n document.getElementById('addFriendText'+id).style.color = 'white';\n document.getElementById('addFriendText'+id).style.borderRadius='15px';\n }\n else{\n this.toastrService.info(\"please try after some time!\"); \n }\n this.modalRef?.hide();\n },err => {\n this.showCancelRequestLoader = false;\n this.toastrService.info(\"please try after some time!\"); \n this.modalRef?.hide();\n })\n}\n\n message(id) {\n this.router.navigateByUrl('/messages');\n }\n\n loadMoreFriend: Boolean = true;\n loadMoreFriendPage = 1;\n\n\n loadMoreFriends(e){\n console.log(\"scrolled fired\");\n if(this.loadMoreFriend){\n console.log(\"loading more\")\n this.loadMoreFriendPage++;\n // this.getMoreFriendsList();\n this.getFriendsList(this.userId);\n }\n }\n loadMoreOtherFriend = true;\n loadMoreOtherFriendPage = 1;\n loadMoreOtherFriends(e){\n console.log(\"scrolled fired other friends\");\n if(this.loadMoreOtherFriend){\n console.log(\"loading more\")\n this.loadMoreOtherFriendPage++;\n this.getOtherFriendsList();\n }\n }\n\n getMoreFriendsList(){\n this.service.getBandcampList(this.userId,this.loadMoreFriendPage,20).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.friendsList.push(...res.data);\n }\n else{\n this.loadMoreFriend = false;\n }\n })\n }\n\n navigateToMessages(data){\n // routerLink=\"/messages\"\n this.modalRef?.hide();\n localStorage.setItem(\"cameFromProfile\",JSON.stringify(data));\n this.router.navigateByUrl('/messages');\n }\n\n}\n","\n
      \n \n \n \n \n
      \n
      \n \"\"\n
      \n
      \n \n
      \n \n
      \n \n \n
      \n \n

      Create Playlists

      \n
      \n
      \n \n \n
      \n
      \n
      \n
      \n \n \n \n
      \n
      \n \n
      \n \n \n
      \n \n {{bandcampErrorMsg}}\n \n
      \n
      \n \n
      \n \n \n
      \n \n {{soundcloudErrorMsg}}\n \n
      \n
      \n \n
      \n \n \n \n
      \n \n {{spotifyErrorMsg}}\n \n
      \n
      \n
      \n
      \n
      \n
      \n \n
      \n \n \n
      \n \n {{youtubeErrorMsg}}\n \n
      \n
      \n
      \n
      \n \n Save\n \n
      \n \n
      \n \n
      \n \n \n \n \n \n
      \n \n \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n\n\n\n\n \n
      \n
      \n
      {{spotifySuccessMsg}}
      \n
      {{spotifyErrorMsg}}
      \n
      {{soundcloudSuccessMsg}}
      \n
      {{soundcloudErrorMsg}}
      \n
      {{bandcampSuccessMsg}}
      \n
      {{bandcampErrorMsg}}
      \n
      {{youtubeSuccessMsg}}
      \n
      {{youtubeErrorMsg}}
      \n
      \n \n
      \n \n \n
      \n \n
      \n
      ","import { Component, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { RegistrationPartService } from '../../views/registration-part/services/registration.service';\nimport { SharedService } from '../services/shared.service';\nimport { BsModalRef,BsModalService } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'app-register-playlist',\n templateUrl: './register-playlist.component.html',\n styleUrls: ['./register-playlist.component.scss','../../views/registration-part/community-register/community-register.component.scss']\n})\nexport class RegisterPlaylistComponent implements OnInit {\n\n // youtubeUrlRegex = /^(https:\\/\\/)((?:www|m)\\.)?((?:youtube\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$/;\n // // spotify old -> ^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:open.))?((?:spotify\\.com))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$\n // spotifyUrlRegex = /^(https:\\/\\/)((?:www|m)\\.)?((?:open.))?((?:spotify\\.com))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$/;\n // soundcloudUrlRegex = /^(https?:\\/\\/)?(www.)?(m\\.)?soundcloud\\.com\\/[\\w\\-\\.]+(\\/)+[\\w\\-\\.]+?$/;\n // bandcampUrlRegex = /^https?:\\/\\/(www\\.)?(bandcamp\\.com|snd\\.sc)\\/.*$/;\n\n youtubeUrlRegex = \"^https?:\\\\/\\\\/(?:www\\\\.)?(?:youtube\\\\.com\\\\/(?:playlist\\\\?list=|watch\\\\?v=)|youtu\\\\.be\\\\/)(?!channel\\\\/)([a-zA-Z0-9_-]+)\";\n spotifyUrlRegex = \"((?:https?:)?\\\\/\\\\/)?((?:www|m)\\\\.)?((?:open.))?((?:spotify\\\\.(com|link)))(\\\\/(?:[\\\\w\\\\-]+\\\\?v=|embed\\\\/|v\\\\/)?)([\\\\w\\\\-]+)(\\\\S+)?\";\n soundcloudUrlRegex = \"https://w.soundcloud.com\";\n bandcampUrlRegex = \"https://bandcamp.com\";\n\n updateProfile = new FormGroup({\n bandName: new FormControl('', [Validators.required]),\n city: new FormControl('', [Validators.required]),\n state: new FormControl('',),\n country: new FormControl('',),\n profilePic: new FormControl(''),\n profilePicKey: new FormControl(''),\n coverPic: new FormControl(''),\n coverPicKey: new FormControl(''),\n about: new FormControl(''),\n spotifyURL: new FormControl('',Validators.pattern(this.spotifyUrlRegex)),\n soundcloudURL: new FormControl('',Validators.pattern(this.soundcloudUrlRegex)),\n bandcampURL: new FormControl('', Validators.pattern(this.bandcampUrlRegex)),\n youtubeURL: new FormControl('',Validators.pattern(this.youtubeUrlRegex)),\n lat: new FormControl(''),\n long: new FormControl(''),\n searchLoaction: new FormControl(''),\n gener: new FormControl(''),\n name: new FormControl(''),\n locationLat: new FormControl(''),\n locationLong: new FormControl(''),\n slider:new FormControl('200'),\n listgener:new FormControl('')\n });\n\n isMobile:any;\n spotifySelected: boolean;\n spotifyimgsrc: string;\n soundcloudimgsrc: string;\n bandcampimgsrc: string;\n soundcloudSelected: boolean;\n bandcampSelected: boolean;\n nameErrorMsg: string;\n bioErrorMsg: string;\n youtubeError: boolean;\n spotifyError: boolean;\n soundcloudError: boolean;\n bandcampError: boolean;\n invalidName: boolean;\n invalidBio: boolean;\n // f: any;\n spotifyErrorMsg: string;\n youtubeErrorMsg: string;\n soundcloudErrorMsg: string;\n bandcampErrorMsg: string;\n sliderValue: number;\n \n @Output() closePopup = new EventEmitter();\n\n @Output() urlAdded = new EventEmitter();\n\n @ViewChild(\"showErrorModal\") showErrorModal: TemplateRef;\n\n\n\n constructor(\n private service: RegistrationPartService,\n private sharedService: SharedService,\n private router: Router,\n private toastrService: ToastrService,\n private modalService: BsModalService,\n ) { \n if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n ngOnInit(): void {\n this.onSpotifySelected();\n // this.onSoundcloudSelected();\n\n // Use backend to get info\n // if(localStorage.getItem('playlist')){\n // let playlistDetails = JSON.parse(localStorage.getItem('playlist'));\n // this.updateProfile.controls.spotifyURL.patchValue(playlistDetails.spotify.url);\n // this.updateProfile.controls.youtubeURL.patchValue(playlistDetails.youtube.url);\n // this.updateProfile.controls.bandcampURL.patchValue(playlistDetails.bandCamp.url);\n // this.updateProfile.controls.soundcloudURL.patchValue(playlistDetails.soundClub.url);\n // }\n\n /**\n * STEPS TO FOLLOW\n * 1.save the url's\n * 2.add condition while displaying tabs or find another way\n * 3.add the validations popup etc..!\n */\n\n this.modalService.onHide.subscribe((val)=>{\n console.log(\"hidden sjsjfk\");\n console.log(val);\n this.errorModalOpen = false;\n })\n this.modalService.onShow.subscribe((val)=>{\n console.log(\"Sfsdfsdfsdf show\");\n console.log(val);\n this.errorModalOpen = true;\n })\n }\n\n get f() {\n return this.updateProfile.controls;\n }\n\n spotifyURL;\n soundcloudURL;\n bandcampURL;\n youtubeURL;\n showErrorModalRef:BsModalRef;\n errorModalOpen;\n\n onSpotifySelected(){\n this.spotifySelected = true;\n this.spotifyimgsrc =\"../../../../assets/Indietown_icons/spotify-selected.svg\";\n this.soundcloudimgsrc=\"../../../../assets/Indietown_icons/soundcloud-not-selected.svg\";\n this.bandcampimgsrc=\"../../../../assets/Indietown_icons/bandcamp-notselected.svg\";\n this.soundcloudSelected = false;\n this.bandcampSelected = false;\n this.updateProfile.get('bandcampURL').patchValue('');\n this.updateProfile.get('soundcloudURL').patchValue('');\n this.soundcloudURL = '';\n this.bandcampURL = '';\n }\n \n onSoundcloudSelected(){\n this.spotifySelected = false;\n this.spotifyimgsrc =\"../../../../assets/Indietown_icons/spotify-not-selected.svg\";\n this.soundcloudimgsrc=\"../../../../assets/Indietown_icons/soundcloud-selected.svg\";\n this.bandcampimgsrc=\"../../../../assets/Indietown_icons/bandcamp-notselected.svg\";\n this.soundcloudSelected = true;\n this.bandcampSelected = false;\n this.updateProfile.get('bandcampURL').patchValue('');\n this.updateProfile.get('spotifyURL').patchValue('');\n this.spotifyURL = '';\n this.bandcampURL = '';\n }\n \n onbandcampSelected(){\n this.spotifySelected = false;\n this.spotifyimgsrc =\"../../../../assets/Indietown_icons/spotify-not-selected.svg\";\n this.soundcloudimgsrc=\"../../../../assets/Indietown_icons/soundcloud-not-selected.svg\";\n this.bandcampimgsrc=\"../../../../assets/Indietown_icons/bandcamp-selected.svg\";\n this.soundcloudSelected = false;\n this.bandcampSelected = true;\n this.updateProfile.get('soundcloudURL').patchValue('');\n this.updateProfile.get('spotifyURL').patchValue('');\n this.spotifyURL = '';\n this.soundcloudURL = '';\n }\n\n CheckEnterPress(e:any){\n this.nameErrorMsg = '';\n this.bioErrorMsg = '';\n this.youtubeError=false;\n this.spotifyError=false;\n this.soundcloudError=false;\n this.bandcampError=false;\n this.invalidName = false;\n this.invalidBio = false;\n if (e.keyCode == 13) { \n e.preventDefault();\n return false;\n } \n }\n\n showLoader: Boolean = false;\n\n async save(){\n let ssybResponse;\n let youtubeResponse;\n\n \n this.clearAllMessages();\n\n let t1 = false;\n let t2 = false;\n let term = '';\n\n if((this.spotifyURL || this.soundcloudURL || this.bandcampURL) && this.youtubeURL){\n if(this.spotifyURL){\n t1 = new RegExp(this.spotifyUrlRegex).test(this.spotifyURL);\n }\n else if(this.soundcloudURL){\n t1 = new RegExp(this.soundcloudUrlRegex).test(this.soundcloudURL);\n }\n else if(this.bandcampURL){\n t1 = new RegExp(this.bandcampUrlRegex).test(this.bandcampURL);\n }\n\n t2 = new RegExp(this.youtubeUrlRegex).test(this.youtubeURL);\n\n if(!t1 && !t2){\n this.toastrService.error(\"Both are Invalid URLs\");\n return;\n }\n else if(!t1){\n if(this.spotifyURL)\n this.toastrService.error(\"Spotify Album, Single or Playlist URL only\");\n else if(this.soundcloudURL)\n this.toastrService.error(\"please enter valid soundcloud Iframe\");\n else\n this.toastrService.error(\"please enter valid bandcamp Iframe\");\n return;\n }\n else if(!t2){\n this.toastrService.error(\"YouTube Video or Playlist URL only\");\n return;\n }\n\n }\n else if(this.youtubeURL){\n if(!new RegExp(this.youtubeUrlRegex).test(this.youtubeURL)){\n this.toastrService.error(\"YouTube Video or Playlist URL only\");\n return;\n }\n }\n else{\n if(this.spotifyURL){\n if(!new RegExp(this.spotifyUrlRegex).test(this.spotifyURL)){\n this.toastrService.error(\"Spotify Album, Single or Playlist URL only\");\n return;\n }\n }\n else if(this.soundcloudURL){\n if(!new RegExp(this.soundcloudUrlRegex).test(this.soundcloudURL)){\n this.toastrService.error(\"please enter valid soundcloud Iframe\");\n return;\n }\n }\n else if(this.bandcampURL){\n if(!new RegExp(this.bandcampUrlRegex).test(this.bandcampURL)){\n this.toastrService.error(\"please enter valid bandcamp Iframe\");\n return;\n }\n }\n }\n\n\n this.showLoader = true;\n\n if(this.spotifyURL){\n // if(!new RegExp(this.spotifyUrlRegex).test(this.spotifyURL)){\n // this.toastrService.error(\"please enter valid spotify url\");\n // this.showLoader = false;\n // return;\n // }\n ssybResponse = await this.addSpotifyURL();\n console.log(\"ssybResponse \",ssybResponse);\n }\n else if(this.soundcloudURL){\n // if(!new RegExp(this.soundcloudUrlRegex).test(this.soundcloudURL)){\n // this.toastrService.error(\"please enter valid soundcloud iframe code\");\n // this.showLoader = false;\n // return;\n // }\n ssybResponse = await this.addSoundcloudIframe();\n console.log(\"ssybResponse \",ssybResponse);\n }\n else if(this.bandcampURL){\n // if(!new RegExp(this.bandcampUrlRegex).test(this.bandcampURL)){\n // this.toastrService.error(\"please enter valid bandcamp iframe code\");\n // this.showLoader = false;\n // return;\n // }\n ssybResponse = await this.addBandcampIframe();\n console.log(\"ssybResponse \",ssybResponse);\n }\n\n if(this.youtubeURL){\n // if(!new RegExp(this.youtubeUrlRegex).test(this.youtubeURL)){\n // this.toastrService.error(\"please enter valid youtube url\");\n // this.showLoader = false;\n // return;\n // }\n youtubeResponse = await this.addYoutubeURL();\n console.log(\"youtubeResponse \",youtubeResponse);\n }\n\n this.showLoader = false;\n\n console.log(ssybResponse);\n console.log(youtubeResponse);\n this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : 'showErrorModal'});\n }\n\n addSpotifyURL(){\n\n //check spotify validation here\n\n return new Promise((resolve,reject)=>{\n this.sharedService.addSpotifyUrl({url:this.spotifyURL}).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifySuccessMsg = \"Spotify URL added\";\n // this.toastrService.info(this.spotifySuccessMsg);\n this.spotifyURL = '';\n // this.urlAdded.emit(\"showSpotifyTab\");\n this.urlAdded.emit({name:\"showSpotifyTab\",data:res.data});\n resolve(this.spotifySuccessMsg);\n // this.checkAndCloseTheModal();\n \n }\n },(err)=>{\n console.log(err);\n // this.toastrService.info(err?.error?.message);\n if(err?.error?.message == 'Invalid URL'){\n this.spotifyErrorMsg = 'Spotify Album, Single or Playlist URL only';\n }\n else{\n if(Object.keys(err?.error?.message)?.length){\n this.spotifyErrorMsg = err?.error?.message;\n }\n else{\n this.spotifyErrorMsg = \"Spotify Album, Single or Playlist URL only\";\n }\n }\n // this.spotifyErrorMsg = 'Spotify - ' + err?.error?.message;\n\n resolve(this.spotifyErrorMsg);\n \n // if(!this.errorModalOpen)\n // this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : ''});\n })\n })\n \n }\n\n addMore(){\n \n // debugger;\n // if(this.spotifySuccessMsg || this.soundcloudSuccessMsg || this.bandcampSuccessMsg){\n // this.spotifyURL = '';\n // this.soundcloudURL = '';\n // this.bandcampURL = '';\n // }\n // if(this.youtubeSuccessMsg){\n // this.youtubeURL = '';\n // }\n // this.clearAllMessages();\n this.showErrorModalRef.hide();\n\n }\n\n continue(){\n this.clearAllMessages();\n this.showErrorModalRef?.hide();\n this.closePopup.emit();\n // this.updateProfileAll();\n }\n\n clearAllMessages(){\n this.spotifySuccessMsg = '';\n this.soundcloudSuccessMsg = '';\n this.bandcampSuccessMsg = '';\n this.youtubeSuccessMsg = '';\n this.spotifyErrorMsg = '';\n this.soundcloudErrorMsg = '';\n this.bandcampErrorMsg = '';\n this.youtubeErrorMsg = '';\n }\n\n addSoundcloudIframe(){\n return new Promise((resolve,reject)=>{\n this.sharedService.addSoundcloudIframe({iframeCode:this.soundcloudURL}).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.soundcloudSuccessMsg = \"SoundCloud embed code added\";\n // this.toastrService.info(this.soundcloudSuccessMsg);\n this.soundcloudURL = '';\n // this.urlAdded.emit(\"showSoundcloudTab\");\n this.urlAdded.emit({name:\"showSoundcloudTab\",data:res.data});\n resolve(this.soundcloudSuccessMsg);\n // this.checkAndCloseTheModal();\n }\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n // this.toastrService.error(err?.error?.message);\n if(err?.error?.message == 'Invalid iFrame code'){\n this.soundcloudErrorMsg = 'Invalid SoundCloud embed code';\n }\n else if(err?.error?.message == 'iFrame code already added'){\n this.soundcloudErrorMsg = 'SoundCloud iFrame code already added';\n }\n else{\n if(Object.keys(err?.error?.message)?.length){\n this.soundcloudErrorMsg = err?.error?.message;\n }\n else{\n this.soundcloudErrorMsg = \"Invalid SoundCloud embed code\";\n }\n \n }\n // this.soundcloudErrorMsg = 'Soundcloud - ' + err?.error?.message;\n resolve(this.soundcloudErrorMsg);\n // if(!this.errorModalOpen)\n // this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : ''});\n })\n })\n }\n\n addBandcampIframe(){\n return new Promise((resolve,reject)=>{\n this.sharedService.addBandcampIframe({iframeCode:this.bandcampURL}).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.bandcampSuccessMsg = \"Bandcamp embed code added\";\n // this.toastrService.info(this.bandcampSuccessMsg);\n this.bandcampURL = '';\n this.urlAdded.emit({name:\"showBandcampTab\",data:res.data});\n // this.checkAndCloseTheModal();\n resolve(this.bandcampSuccessMsg);\n }\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n // this.toastrService.info(err?.error?.message);\n if(err?.error?.message == 'Invalid iFrame code'){\n this.bandcampErrorMsg = 'Invalid Bandcamp embed code';\n }\n else if(err?.error?.message == 'iFrame code already added'){\n this.bandcampErrorMsg = 'Bandcamp iFrame code already added';\n }\n else{\n if(Object.keys(err?.error?.message)?.length){\n this.bandcampErrorMsg = err?.error?.message;\n }\n else{\n this.bandcampErrorMsg = \"Invalid Bandcamp embed code\";\n }\n }\n // this.bandcampErrorMsg = 'Bandcamp' + err?.error?.message;\n resolve(this.bandcampErrorMsg);\n // if(!this.errorModalOpen)\n // this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : ''});\n })\n })\n \n }\n\n spotifySuccessMsg;\n soundcloudSuccessMsg;\n bandcampSuccessMsg;\n youtubeSuccessMsg;\n\n addYoutubeURL(){\n\n return new Promise((resolve,reject)=>{\n this.sharedService.addYoutubeUrl({url:this.youtubeURL}).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.youtubeSuccessMsg = \"YouTube URL added\";\n // this.toastrService.info(this.youtubeSuccessMsg);\n this.youtubeURL = '';\n // this.urlAdded.emit(\"showYoutubeTab\");\n this.urlAdded.emit({name:\"showYoutubeTab\",data:res.data});\n // this.checkAndCloseTheModal();\n resolve(this.youtubeSuccessMsg);\n }\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n // this.toastrService.info(err?.error?.message);\n if(err?.error?.message == 'Invalid URL'){\n this.youtubeErrorMsg = 'YouTube Video or Playlist URL only';\n }\n else{\n if(Object.keys(err?.error?.message)?.length){\n this.youtubeErrorMsg = err?.error?.message;\n }\n else{\n this.youtubeErrorMsg = \"YouTube Video or Playlist URL only\";\n }\n }\n \n resolve(this.youtubeErrorMsg);\n // if(!this.errorModalOpen)\n // this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : ''});\n })\n })\n \n }\n\n checkAndCloseTheModal(){\n if(!this.spotifyErrorMsg && !this.soundcloudErrorMsg && !this.bandcampErrorMsg && !this.youtubeErrorMsg){\n // this.closeBothModals();\n }\n }\n\n connectSpcialAccount(){\n if(this.f.spotifyURL?.errors?.pattern){\n this.spotifyError = true;\n this.spotifyErrorMsg = 'Please enter a valid url';\n document.getElementById('getstartedbuttonid').style.display=\"flex\";\n return\n }\n \n else if(this.f.youtubeURL?.errors?.pattern){\n this.youtubeError = true;\n this.youtubeErrorMsg = 'Please enter a valid url';\n document.getElementById('container1').style.height=\"auto\";\n document.getElementById('progressbar').style.position=\"relative\";\n return\n }\n\n else if(this.f.soundcloudURL?.errors?.pattern){\n this.soundcloudError = true;\n this.soundcloudErrorMsg = 'Please enter a valid url';\n } \n\n else if(this.f.bandcampURL?.errors?.pattern){\n this.bandcampError = true;\n this.bandcampErrorMsg = 'Please enter a valid url';\n }\n\n else{\n this.youtubeError=false;\n this.spotifyError=false;\n this.soundcloudError=false;\n this.bandcampError=false;\n this.sliderValue = 80;\n // (document.querySelector(\".slidepage\")).style.marginLeft=\"-78.3%\";\n this.updateProfileData();\n this.getBandSuggestions();\n document.getElementById('communityflow').classList.add('tabartistflow');\n // document.getElementById('getstartedbuttonid').style.display=\"\";\n document.getElementById('container1').classList.add('communityartistflow');\n }\n \n }\n\n notFount;\n bandSuggestionList:any = [];\n\n getBandSuggestions(){\n let data = {\n // \"radius\": 200,\n // \"genre\": this.generName,\n // \"phoneBook\":[\"7780984169\"],\n \"pageNumber\":1,\n // \"bandName\":this.updateProfile.value.bandName,\n // \"bandName\":'',\n // \"location\":{\n // \"lat\": this.updateProfile.value.lat,\n // \"long\":this.updateProfile.value.long, \n // }\n }\n\n this.service.getBandSuggestions(data).subscribe((res:any) => {\n if(res.type == 'success'){\n if(res.data.length == 0){\n this.notFount = true;\n }\n else{\n this.bandSuggestionList = res.data;\n this.bandSuggestionList = this.bandSuggestionList.slice(0,8);\n }\n \n // if(this.bandSuggestionList.length == 0){\n // this.service.getBandSuggestions({\"location\":{\"lat\": '',\"long\":''}}).subscribe((res:any) => {\n // if(res.type == 'success'){\n // this.bandSuggestionList = res.data;\n // this.bandSuggestionList = this.bandSuggestionList.slice(0,8);\n // }\n // })\n // }\n }\n })\n }\n\n skipconnectSpcialAccount(){\n document.getElementById('container1').style.height=\"auto\";\n // document.getElementById('getstartedbuttonid').style.display=\"flex\";\n document.getElementById('progressbar').style.position=\"relative\";\n document.getElementById('communityflow').classList.add('tabartistflow');\n this.youtubeError=false;\n this.spotifyError=false;\n this.soundcloudError=false;\n this.bandcampError=false;\n this.sliderValue = 80;\n this.getBandSuggestions();\n // localStorage.setItem(\"screensCompleted\",'playlist');\n this.updateProfileAll();\n // this.router.navigateByUrl('/register/find-other-artist');\n }\n\n updateProfileData() {\n // throw new Error('Method not implemented.');\n // let data = {\n // \"spotify\" : {url:this.updateProfile.value.spotifyURL},\n // \"youtube\" : {url:this.updateProfile.value.youtubeURL},\n // \"bandCamp\": {url: this.updateProfile.value.bandcampURL},\n // \"soundClub\": {url:this.updateProfile.value.soundcloudURL}\n // };\n let data = {};\n \n \n\n if(this.updateProfile.value.spotifyURL){\n data['spotify'] = {url:this.updateProfile.value.spotifyURL};\n }\n if(this.updateProfile.value.youtubeURL){\n data[\"youtube\"] = {url:this.updateProfile.value.youtubeURL};\n }\n if(this.updateProfile.value.bandcampURL){\n data[\"bandCamp\"] = {url: this.updateProfile.value.bandcampURL};\n }\n if(this.updateProfile.value.soundcloudURL){\n data[\"soundClub\"] = {url:this.updateProfile.value.soundcloudURL};\n }\n \n localStorage.setItem('playlist',JSON.stringify(data));\n localStorage.setItem(\"screensCompleted\",'playlist');\n\n this.service.updatePlayList(data).subscribe((res:any)=> {\n if(res.type =='success'){\n // this.router.navigateByUrl('/register/find-other-artist');\n this.updateProfileAll();\n }\n })\n // let playData;\n // if(this.updateProfile.value.youtubeURL!=''){\n // if(this.updateProfile.value.spotifyURL== '' && this.updateProfile.value.soundcloudURL == ''){\n // playData = {\n // \"youtube\":{\n // \"url\":this.updateProfile.value.youtubeURL\n // },\n // \"bandCamp\":{\n // \"url\":this.updateProfile.value.bandcampURL\n // }\n // }\n // this.service.updatePlayList(playData).subscribe((res:any)=> {\n // if(res.type =='success'){\n // this.router.navigateByUrl('/register/find-other-artist');\n // }\n // })\n // }\n // }\n\n // if(this.updateProfile.value.youtubeURL!=''){\n // if(this.updateProfile.value.spotifyURL== '' && this.updateProfile.value.bandcampURL == ''){\n // playData = {\n // \"youtube\":{\n // \"url\":this.updateProfile.value.youtubeURL\n // },\n // \"soundClub\":{\n // \"url\":this.updateProfile.value.soundcloudURL\n // },\n // }\n // this.service.updatePlayList(playData).subscribe((res:any)=> {\n // if(res.type =='success'){\n // this.router.navigateByUrl('/register/find-other-artist');\n // }\n // })\n // }\n // }\n\n // if(this.updateProfile.value.youtubeURL!=''){\n // if(this.updateProfile.value.soundcloudURL== '' && this.updateProfile.value.bandcampURL == ''){\n // playData = {\n // \"youtube\":{\n // \"url\":this.updateProfile.value.youtubeURL\n // },\n // \"spotify\":{\n // \"url\":this.updateProfile.value.spotifyURL\n // }\n // }\n // this.service.updatePlayList(playData).subscribe((res:any)=> {\n // if(res.type =='success'){\n // this.router.navigateByUrl('/register/find-other-artist');\n // }\n // })\n // }\n // }\n \n }\n\n updateProfileAll(){\n let data = {\n \"role\": localStorage.getItem('selectedRole'),\n \"address\":{\n \"city\": JSON.parse(localStorage.getItem('address')).address.city,\n \"state\": JSON.parse(localStorage.getItem('address')).address.state,\n \"country\": JSON.parse(localStorage.getItem('address')).address.country,\n },\n \"bandName\": JSON.parse(localStorage.getItem('address')).bandName,\n \"location\":{\n \"lat\": JSON.parse(localStorage.getItem('address')).location.lat,\n \"long\": JSON.parse(localStorage.getItem('address')).location.long \n },\n \"profileImage\":{\n \"fileUrl\": JSON.parse(localStorage.getItem('profilePicture'))?.fileUrl,\n \"key\": JSON.parse(localStorage.getItem('profilePicture'))?.key\n },\n\n // \"playList\": {\n // \"spotify\" : JSON.parse(localStorage.getItem('profilePicture')).,\n // \"youtube\" : {url:this.updateProfile.value.youtubeURL},\n // \"bandCamp\": {url: this.updateProfile.value.bandcampURL},\n // \"soundClub\": {url:this.updateProfile.value.soundcloudURL}\n // },\n \"coverImage\":{\n \"fileUrl\": JSON.parse(localStorage.getItem('coverPicture'))?.fileUrl,\n \"key\": JSON.parse(localStorage.getItem('coverPicture'))?.fileUrl,\n },\n \"email\":localStorage.getItem('email'),\n \"bio\": localStorage.getItem('bio'),\n \"communityIds\": localStorage.getItem('selectedRole') != 'Artist'?localStorage.getItem('communityIds').split(\",\"):[],\n \"genereIds\": localStorage.getItem('selectedRole') == 'Artist'?JSON.parse(localStorage.getItem('geners')):[]\n } \n\n this.service.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n console.log(\"success\");\n this.router.navigateByUrl('/register/find-other-artist');\n }\n })\n }\n\n closeAddPlaylistModal(){\n this.clearAllMessages();\n this.showErrorModalRef?.hide();\n this.closePopup.emit();\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class HeaderService {\n constructor() {}\n\n manageCaregiversHeading = new BehaviorSubject(false);\n manageClientHeading = new BehaviorSubject(false);\n manageServicesHeading = new BehaviorSubject(false);\n manageTutorialHeading = new BehaviorSubject(false);\n manageConvenienceHeading = new BehaviorSubject(false);\n manageDiseasesHeading = new BehaviorSubject(false);\n welcomeUserMsg = new BehaviorSubject(false);\n dashboardHeading = new BehaviorSubject(false);\n changePasswordHeading = new BehaviorSubject(false);\n clearLocalStorageOnLogout = new BehaviorSubject(\"default\");\n\n logout(message: string) {\n this.clearLocalStorageOnLogout.next(message);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { registerLocaleData } from '@angular/common';\nimport localeNorwegian from '@angular/common/locales/nb';\nimport localeSwedish from '@angular/common/locales/sv';\nimport localeFrench from '@angular/common/locales/fr';\n\n@Injectable({ providedIn: 'root' })\nexport class SessionService {\n\n private _locale: string;\n\n set locale(value: string) {\n this._locale = value;\n }\n get locale(): string {\n return this._locale || 'en-US';\n }\n\n registerCulture(culture: string) {\n if (!culture) {\n return;\n }\n this.locale = culture;\n\n // Register locale data since only the en-US locale data comes with Angular\n switch (culture) {\n case 'fr-CA': {\n registerLocaleData(localeFrench);\n break;\n }\n }\n }\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, Subject } from \"rxjs\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class SharedService {\n url: any = environment.API_URL;\n constructor(private http: HttpClient) {}\n\n // uploadImage(file: any) {\n // return this.http.post(this.url + \"upload/image\", file);\n // }\n\n private data = new Subject();\n public data$ = this.data.asObservable();\n\n private play = new Subject();\n public play$ = this.play.asObservable();\n\n private playSpotify = new Subject();\n public playSpotify$ = this.playSpotify.asObservable();\n\n private sendPlayList = new Subject();\n public receivePlayList$ = this.sendPlayList.asObservable();\n\n private closeSearchModal = new Subject();\n public closeSearchModal$ = this.sendPlayList.asObservable();\n\n private locationAvailable = new Subject();\n public locationAvailable$ = this.locationAvailable.asObservable();\n\n closeSearch(id:any){\n this.closeSearchModal.next(id);\n }\n\n checkLocation(x:any){\n this.locationAvailable.next(x); \n }\n\n selectYoutube(x: any){\n this.data.next(x);\n }\n\n playYoutube(x:any){\n this.play.next(x)\n }\n\n playSpotifySong(x:any){\n this.playSpotify.next(x)\n }\n\n sendPlaydata(x:any){\n this.sendPlayList.next(x);\n }\n\n private editClick = new Subject();\n public editClick$ = this.editClick.asObservable();\n\n private headerData = new Subject();\n public headerData$ = this.headerData.asObservable();\n\n private activateModalHeader = new Subject();\n public activateModalHeader$ = this.activateModalHeader.asObservable();\n\n activate(x:any){\n this.activateModalHeader.next(x);\n }\n\n editClickOpenModal(x:any){\n this.editClick.next(x);\n }\n\n sendHeaderData(e:any){\n this.headerData.next(e);\n }\n\n\n\n\n getGenres(){\n return this.http.get(this.url + 'api/community/list');\n}\n\n uploadVideo(file: any) {\n return this.http.post(this.url + \"upload/video\", file);\n }\n\n uploadPdf(file: any) {\n return this.http.post(this.url + \"upload/pdf\", file);\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n}\n\ncreatePost(data:any){\n return this.http.post(this.url + 'api/post/create-post', data);\n}\n\ngetPosts(page,pageLimit){\n return this.http.get(this.url + `api/post/list?page=${page}&pageSize=${pageLimit}`);\n}\n\ngetProfile(){\n return this.http.get(this.url + 'api/user/profile');\n}\n\n\nuploadImage(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n}\n\nuploadImageProgressbar(data:any){\n\n return this.http.post(this.url + 'api/file/upload', data, {\n reportProgress: true,\n responseType: 'json',\n observe: 'events',\n });\n}\n\ncreateShow(data:any){\n return this.http.post(this.url + 'api/show/create', data);\n}\n\nreportPost(data:any,comment:any){\n return this.http.put(this.url + `api/post/report-post/${data}`,comment);\n}\n\ncreateComment(data:any){\n return this.http.post(this.url + 'api/comment/create', data);\n}\n\ngetCommentsList(data:any,page,pageLimit){\n return this.http.get(this.url + `api/comment/list/${data}?pageNumber=${page}&limit=${pageLimit}`);\n // return this.http.get(this.url + `api/comment/list/${data}`);\n}\n\ngetBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n}\n\nAddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n}\n\n\ncancelRequest(id:any,data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`, data);\n}\n\nacceptRequest(data:any){\n return this.http.post(this.url + 'api/friend/accept', data);\n}\n\nfriendRequestList(){\n return this.http.get(this.url + 'api/friend/fr-list');\n}\n\nacceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n}\n\nsilentPost(id:any, data:any){\n return this.http.put(this.url + `api/post/silent-post/${id}`,data);\n}\n\nsilentUserPosts(data:any){\n return this.http.post(this.url + `api/user/silent-user`,data);\n}\n\nunMuteUserPosts(data:any){\n return this.http.post(this.url + `api/user/un-silent-user`,data);\n}\n\ngetSilencedUserStatus(id:any){\n return this.http.get(this.url + `api/user/user-status-details/${id}`);\n}\n\nreportComment(postId:any, commentId:any,comment:any, data:any){\n return this.http.put(this.url + `api/comment/report`,{postId,commentId,comment});\n}\n\nupdateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n}\n\ngetFriendsList(userId,page,pageLimit){\n let url = 'api/friend/list';\n if(userId)\n url = url + '/' + userId;\n return this.http.get(this.url + url + `?page=${page}&pageSize=${pageLimit}`);\n}\n\ngetTopFriendsList(){\n return this.http.get(this.url + 'api/friend/top-fr-list');\n}\n\ngetOtherFriendsList(pageNumber,limit){\n return this.http.get(this.url + 'api/friend/other-friend-list?page='+pageNumber+'&pageSize='+limit);\n}\n\n\nfilterFriendsList(keyword,type,userId){\n let url = 'api/friend';\n if(type == 'top'){\n url = url + '/top-fr-list';\n }\n else if(type == 'others'){\n url = url + '/list';\n }\n else if(type == 'friends'){\n url = url + '/list/' + userId;\n }\n return this.http.get(this.url + `${url}?keyword=${keyword}`);\n}\n\ngetFriendsListById(id:any){\n return this.http.get(this.url + `api/user/user-friend-list/${id}`);\n}\n\nupdatePlayList(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n}\n\ngetPlayList(){\n return this.http.get(this.url + 'api/user/playlist');\n}\n\ngetPlayListById(id:any){\n return this.http.get(this.url + 'api/user/playlist/'+id);\n}\n\nunFriend(id:any,data){\n return this.http.put(this.url + `api/friend/unfriend-user/${id}`,data);\n}\n\n\ngetPostById(id:any){\n return this.http.get(this.url + `api/post/${id}`);\n}\n\ngetPostByIdImpl(id:any,pageSize,pageNumber){\n return this.http.get(this.url + `api/post/list-posts/${id}?page=${pageSize}&pageSize=${pageNumber}&type=POST`);\n}\n\ngetShowsByIdImpl(id:any,pageSize,pageNumber){\n return this.http.get(this.url + `api/post/list-posts/${id}?page=${pageSize}&pageSize=${pageNumber}&type=SHOW`);\n}\n\ngetProfileById(id:any){\n return this.http.get(this.url + `api/user/user-profile/${id}`);\n}\n\nlikePost(id:any,data:any){\n return this.http.put(this.url + `api/post/update/${id}`,data);\n}\n\ndeletePost(id:any){\n return this.http.delete(this.url + `api/post/delete-user-post/${id}`);\n}\n\ngetArtistGenerList(){\n return this.http.get(this.url + 'api/genere/list');\n}\n\ngetLikesList(id:any){\n return this.http.get(this.url + `api/post/post-likes/${id}`);\n}\n\ndeleteComment(id:any){\n return this.http.delete(this.url + `api/comment/delete/${id}`,{});\n}\n\n\ncreateAlbum(data:any){\n return this.http.post(this.url + 'api/user/create-album',data);\n}\n\n\ngetPhotoAlbum(data:any,pageNumber,pageLimit){\n let url = `api/user/album`;\n if(data)\n url = url + '?userId=' + data.userId + `&page=${pageNumber}&pageSize=${pageLimit}`;\n else\n url = url + `?page=${pageNumber}&pageSize=${pageLimit}`\n return this.http.get(this.url + url);\n}\n\n\ndeleteSinglePhoto(data:any){\n return this.http.delete(this.url + `api/user/delete-photo?photoId=${data}`);\n}\n\nreportUser(id:any,data:any){\n return this.http.put(this.url + `api/user/report-user/${id}`,data);\n}\n\ngetFriendsListByUserId(id:any){\n return this.http.get(this.url + `api/friend/list/${id}`)\n}\n getSpotifyPlayList(id){\n let url = this.url + 'api/user/spotify-playlist';\n if(id){\n url = url + '?userId='+id;\n }\n return this.http.get(url);\n }\n getYoutubePlayList(data){\n console.log(2);\n console.log(data);\n let url = this.url + 'api/user/youtube-playlist';\n if(data.id){\n console.log(3);\n url = url + '?userId='+data.id;\n }\n if(data.nextPageToken){\n url = url + '?nextPageToken='+data.nextPageToken;\n }\n console.log(url);\n return this.http.get(url);\n // return this.http.get(this.url + 'api/user/youtube-playlist');\n }\n\ndeleteMultiplePhotos(ids:any){\n return this.http.put(this.url + 'api/user/delete-photos', ids);\n}\n getSpotifyToken(){\n return this.http.get(this.url + 'api/user/get-token');\n }\n\n makeFavouriteFriend(userId){\n return this.http.post(this.url + 'api/user/add-favrouite',{userId});\n }\n\n makeUnFavouriteFriend(userId){\n return this.http.put(this.url + 'api/user/remove-favrouite',{userId});\n }\n uploadProfile(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n getUsersForMention(data){\n let url = this.url + `api/user/filter-bands-list?page=1&pageSize=16`;\n url = data.keyword ? url + `&keyword=${data.keyword}` : url ;\n return this.http.get(url);\n }\n\n replyToPostComment(data){\n return this.http.post(this.url + 'api/comment/replyToComment',data);\n }\n\n getRepliesOfComment(commentId,pageNumber,limit){\n return this.http.get(this.url + `api/comment/show-more-replies?commentId=${commentId}&pageNumber=${pageNumber}&limit=${limit}`);\n }\n reportCommentReply(data){\n return this.http.put(this.url + `api/comment/report-child?postId=${data.postId}&comment=${data.comment}&childCommentId=${data.childCommentId}`,data);\n }\n\n deleteReply(postId,replyId:any){\n return this.http.delete(this.url + `api/comment/delete-child?id=${replyId}&postId=${postId}`,{});\n }\n\n updatePost(id:any,data:any){\n return this.http.put(this.url + `api/post/update-post/${id}`,data);\n }\n commentOnFriendsTimeline(data){\n return this.http.post(this.url + 'api/post/create-post', data);\n }\n\n addSpotifyUrl(data){\n return this.http.post(this.url + 'api/playlist/add-spotify-url', data);\n }\n\n getSpotifyList(userId,page,pageSize){\n let urlPath = `api/playlist/spotify?page=${page}&pageSize=${pageSize}`;\n if(userId){\n urlPath = urlPath + `&userId=${userId}`;\n }\n return this.http.get(this.url + urlPath);\n }\n\n removeSingleTrack(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removePlaylist(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removePlaylistItem(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist-item/${id}`,{});\n }\n\n getPlaylistItems(id:any){\n return this.http.get(this.url + `api/playlist/byId/${id}`);\n }\n getSoundcloudList(userId,page,pageSize){\n let urlPath = `api/playlist/soundcloud-list?page=${page}&pageSize=${pageSize}`;\n if(userId){\n urlPath = urlPath + `&userId=${userId}`;\n }\n return this.http.get(this.url + urlPath);\n }\n addSoundcloudIframe(data){\n return this.http.post(this.url + 'api/playlist/add-soundcloud', data);\n }\n removeSoundcloudIframe(id:any){\n return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n }\n getBandcampList(userId,page,pageSize){\n let urlPath = `api/playlist/bandcamp-list?page=${page}&pageSize=${pageSize}`;\n if(userId){\n urlPath = urlPath + `&userId=${userId}`;\n }\n return this.http.get(this.url + urlPath);\n }\n addBandcampIframe(data){\n return this.http.post(this.url + 'api/playlist/add-bandcamp', data);\n }\n removeBandcampIframe(id:any){\n return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n }\n\n getSpotifyAuthToken(){\n return this.http.get(this.url + `api/user/spotify-token`);\n }\n\n saveOrUpdateSpotifyToken(data){\n return this.http.post(this.url + 'api/user/update-spotify-token', data);\n }\n\n getYoutubeList(userId,page,pageSize){\n let urlPath = `api/playlist/youtube?page=${page}&pageSize=${pageSize}`;\n if(userId){\n urlPath = urlPath + `&userId=${userId}`;\n }\n return this.http.get(this.url + urlPath);\n }\n addYoutubeUrl(data){\n return this.http.post(this.url + 'api/playlist/add-youtube-url', data);\n }\n removeYoutubeUrl(id:any){\n // return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n }\n getYoutubePlaylistItems(id:any){\n return this.http.get(this.url + `api/playlist/byId/${id}`);\n }\n\n removeYoutubePlaylist(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removeYoutubePlaylistItem(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist-item/${id}`,{});\n }\n\n removeSpotifyUrl(id:any){\n // return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n // return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removeSpotifyPlaylist(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removeSpotifyPlaylistItem(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist-item/${id}`,{});\n }\n\n AcceptFriendRequest(data){\n return this.http.put(this.url + 'api/friend/update-request-by-id', data);\n }\n}\n","
      \n
      \n
      \n
      \n \n \n

      Privacy Policy

      \n
      \n\n
      \n \n

      Last Modified: August 23, 2023

      \n
        \n
      • \n Introduction\n
          \n
        • Indie App, Inc. (the “Company”, “We”, or “Us”) respects the privacy of visitors\n to our website (“You”) and is committed to protecting your privacy through our\n compliance with this privacy policy (this “Privacy Policy”).\n
        • \n
        • \n This Privacy Policy describes:\n
            \n
          • the types of information We may collect from You or that You may\n provide when You visit the Indie App website ([indietown.org], the\n “Website”); and
          • \n
          • \n our practices for collecting, using, maintaining, protecting, and disclosing\n that information.\n
          • \n\n
          \n
        • \n
        • \n This Privacy Policy applies to information We collect:\n
            \n
          • onthe Website; and
          • \n
          • in email, text, phone calls, and other electronic messages between You and\n Us.\n
          • \n
          \n
        • \n
        • \n It does not apply to information collected by:\n
            \n
          • Us through any other means, including on any other website operated by\n Us or any third party; or
          • \n
          • \n any third party, including through any application, content or advertising\n that may link to or be accessible through the Website.\n
          • \n
          \n
        • \n
        • \n Please read this Privacy Policy carefully to understand our policies and practices\n regarding your information and how We will treat it. If You do not agree with our\n policies and practices, your choice is to not use the Website. By accessing or\n using the Website, You agree to this Privacy Policy.\n
        • \n
        \n
      • \n
      • Information We Collect About You and How We Collect It\n
          \n
        • We may collect several types of information directly from You when You provide\n it to Us, including information by which You may be personally identified\n including, but not limited to, your name, postal address, email address, age,\n gender and telephone number (\"Personal Information\").\n
        • \n
        • \n We also may collect information from You automatically. The information We\n collect automatically may include Personal Information as well as information\n that is about You but does not individually identify You. We may maintain or\n associate the information We collect automatically with information We receive in\n other ways or receive from third parties. Our goal in collecting this information is\n to help improve the Website and to deliver better and more personalized service,\n including by enabling Us to:\n
            \n
          • estimate our audience size and usage patterns;
          • \n
          • store information about your preferences, allowing Us to customize the\n Website according to your individual interests;
          • \n
          • \n speed up your searches; and\n
          • \n
          • \n recognize You when You return to the Website.\n
          • \n
          \n
        • \n
        • \n The technologies We use for automatic data collection may include the use of\n cookies, also called browser cookies. A cookie is a small file placed on the hard drive\n of your computer. You may refuse to accept browser cookies by activating\n the appropriate setting on your browser. However, if You select this setting You\n may be unable to access certain parts of the Website. Unless You have adjusted\n your browser setting so that it will refuse cookies, our system may issue cookies\n when You direct your browser to the Website.\n
        • \n\n
        \n
      • \n
      • Children Under the Age of 13\n
          \n
        • The Website is not intended for children under 13 years of age. We do not knowingly\n collect Personal Information from children under 13. If We learn We have collected or\n received Personal Information from a child under 13 We will delete that information.\n
        • \n
        \n
      • \n
      • \n Third-Party Use of Cookies and Other Tracking Technologies\n
          \n
        • Some content or applications, including advertisements, on the Website are served\n by third-parties, including Google Analytics, advertisers, ad networks and servers,\n content providers, and application providers. These third parties may use cookies\n alone or in conjunction with web beacons or other tracking technologies to collect\n information about You when You use the Website.\n
        • \n
        • \n ‘We do not control these third parties' tracking technologies or privacy policies. If\n You have any questions about an advertisement or other targeted content, You\n should contact the responsible provider directly.\n
        • \n
        \n
      • \n
      • \n How We Use Your Information\n
          \n
        • We use information that We collect about You or that You provide to Us,\n including any Personal Information:\n
            \n
          • to present the Website and its contents to You;
          • \n
          • to provide You with information, products, or services that You request\n from Us;
          • \n
          • to fulfill any other purpose for which You provide it;\n
          • \n
          • \n to provide You with notices about your account, including expiration and\n renewal notices;\n
          • \n
          • to carry out our obligations and enforce our rights arising from any\n contracts entered into between You and Us, including for billing and\n collection;
          • \n
          • \n to notify You about changes to the Website or any products or services We\n offer or provide through it;\n
          • \n
          • \n in any other way We may describe when You provide the information; and\n
          • \n
          • \n for any other purpose with your consent.\n
          • \n
          \n
        • \n
        \n
      • \n
      • \n Disclosure of Your Information\n
          \n
        • We may disclose aggregated information about our users, and information that\n does not identify any individual, without restriction.
        • \n
        • \n We may disclose Personal Information:\n
            \n
          • to contractors, service providers, and other third parties We use to support\n our business and who are bound by contractual obligations to keep\n Personal Information confidential and use it only for the purposes for\n which We disclose it to them;
          • \n
          • \n to fulfill the purpose for which You provide it;\n
          • \n
          • \n for any other purpose disclosed by Us when You provide the information;\n or\n
          • \n
          • \n with your consent.\n
          • \n
          \n
        • \n
        • \n We may also disclose your Personal Information:\n
            \n
          • to comply with any court order, law, or legal process, including to respond\n to any government or regulatory request;
          • \n
          • \n to enforce our Terms of Use and other agreements, including for billing\n and collection purposes; or\n
          • \n
          • \n if We believe disclosure is necessary to protect the rights, property, or\n safety of the Company, our customers, or others. This includes exchanging\n information with other companies and organizations for the purposes of\n fraud protection and credit risk reduction.\n
          • \n
          \n
        • \n
        \n
      • \n
      • Deletion of Personal Information\n
          \n
        • To delete your Personal Information, You must delete your account in settings.\n Your activity on Indie Town may still be visible on other users’ pages.\n
        • \n
        \n
      • \n
      • Data Security\n
          \n
        • We have implemented measures designed to secure your Personal Information\n from accidental loss and from unauthorized access, use, alteration, and disclosure.
        • \n
        • \n The safety and security of your information also depends on You. Where We have\n given You (or where You have chosen) a password for access to certain parts of\n the Website, You are responsible for keeping this password confidential. We ask\n You not to share your password with anyone.\n
        • \n
        • \n Unfortunately, the transmission of information via the internet is not completely\n secure. Although We do our best to protect your Personal Information, We cannot\n guarantee the security of your Personal Information transmitted to the Website.\n Any transmission of Personal Information is at your own risk. We are not\n responsible for circumvention of any privacy settings or security measures\n contained on the Website.\n
        • \n
        \n
      • \n
      • \n Your State Privacy Rights\n
          \n
        • State consumer privacy laws may provide their residents with additional rights\n regarding our use of their Personal Information, including, but not limited to, the\n following.\n
        • \n
            \n
          • 1. California provides its residents with additional privacy protections. To\n learn more about California residents’ privacy rights, visit\n https://oag.ca.gov/privacy/ccpa
          • \n
          • \n Colorado, Connecticut, Virginia, and Utah each provide their state\n residents with rights to:\n
              \n
            • Confirm whether We process their Personal Information,.
            • \n
            • Access and delete certain Personal Information,.
            • \n
            • Data portability, and.
            • \n
            • Opt-out of personal data processing for targeted advertising and\n sales.
            • \n
            \n
          • \n
          • \n Colorado, Connecticut, and Virginia also provide their state residents with\n rights to:\n
              \n
            • Correct inaccuracies in their Personal Information, taking into\n account the information's nature processing purpose, and.\n
            • \n
            • \n Opt-out of profiling in furtherance of decisions that produce legal\n or similarly significant effects.\n
            • \n
            \n
          • \n
          • \n Nevada provides its residents with a limited right to opt-out of certain\n Personal Information sales. However, please know We do not currently\n sell data triggering that statute's opt-out requirements.\n
          • \n
          \n
        \n
      • \n
      • \n Changes to Our Privacy Policy\n
          \n
        • It is our policy to post any changes We make to our Privacy Policy on this page with a\n notice that the Privacy Policy has been updated on the Website home page. If We make\n material changes to how We treat our users’ Personal Information, We will notify You by\n email to the email address specified in your account, or through a notice on the Website\n home page. The date the Privacy Policy was last revised is identified at the top of the\n page. You are responsible for ensuring We have an up-to-date active and deliverable\n email address for You, and for periodically visiting the Website and this Privacy Policy to\n check for any changes.\n
        • \n
        \n
      • \n
      • \n Contact Information\n
          \n
        • To ask questions or comment about this Privacy Policy and our privacy practices, contact\n Us at: support@indietown.org.
        • \n
        \n
      • \n
      \n
      \n
      \n
      \n
      ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-privacysetting',\n templateUrl: './privacysetting.component.html',\n styleUrls: ['./privacysetting.component.scss']\n})\nexport class PrivacySettingComponent implements OnInit {\nisMobile:boolean=false;\n constructor( ) { \n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\nimport { ProfileDynamicComponent } from './dynamic-profile/dynamic-profile.component';\nimport { TermComponent } from './term/term.component';\nimport { PrivacyComponent } from './privacy/privacy.component';\nimport { PrivacySettingComponent } from './settingsprivacy/privacysetting.component';\nimport { SpotifyAuthRedirectComponent } from './spotify-auth-redirect/spotify-auth-redirect.component';\nconst routes: Routes = [\n { path: 'dashboard', component: DashboardComponent }, \n {path: 'profile', component: ProfileDynamicComponent},\n {path: 'friends-list', component: ProfileDynamicComponent},\n {path: 'terms-conditions', component: TermComponent},\n {path: 'privacy-policy', component: PrivacyComponent},\n {path: 'setting-privacy-policy', component: PrivacySettingComponent},\n {path: 'spotify-auth-redirect', component: SpotifyAuthRedirectComponent}\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class SharedRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { HeaderComponent } from './header/header.component';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { SharedRoutingModule } from './shared-routing.module';\n\n// ngx bootstrap\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { LayoutComponent } from './layout/layout.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { LocalDatePipe } from './pipes/local-date.pipe';\nimport { SafePipe } from './pipes/safe.pipe';\nimport { ProfileDynamicComponent } from './dynamic-profile/dynamic-profile.component';\n\n// ===================================================================================\nimport { RouterModule, Routes } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { ToastrModule } from 'ngx-toastr';\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { NgxYoutubePlayerModule } from 'ngx-youtube-player';\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\nimport { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';\nimport { InfiniteScrollModule } from \"ngx-infinite-scroll\";\n// import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { CarouselModule } from 'ngx-owl-carousel-o';\nimport { YoutubeCardsComponent } from './youtube-cards/youtube-cards.component';\nimport { SpotifyCardsComponent } from './spotify-cards/spotify-cards.component';\nimport {SuggestionsCardsComponent} from './suggestions/suggestions-card-component'\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { PhotoAlbumComponent } from './photo-album/photo-album.component';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport { AngMusicPlayerModule } from 'ang-music-player';\nimport { YtPlayerAngularModule } from 'yt-player-angular';\n// import { YoutubeModalContentComponent } from './dynamic-profile/dynamic-profile.component'\nimport { TermComponent } from './term/term.component';\nimport { PrivacyComponent } from './privacy/privacy.component';\nimport { YoutubeModalContentComponent } from './dynamic-profile/dynamic-profile.component';\nimport { ProfileFriendsListComponent } from './profile-friends-list/profile-friends-list.component'\nimport { FriendsFilterPipe } from './pipes/fliter-friends';\nimport { PhotoAlbumSliderModalContentComponent } from './photo-album/photo-album-slider.component';\nimport { UpdateGenerComponent } from './update-gener/update-gener.component';\nimport { UpdateCityComponent } from './update-city/update-city.component';\nimport { UpdateCoverComponent } from './update-cover/update-cover.component';\nimport { UpdateProfileComponent } from './update-profile/update-profile.component';\n\nimport { MatChipsModule } from '@angular/material/chips';\nimport { CarouselModule as carousel} from 'ngx-bootstrap/carousel';\nimport { MentionsModule } from '@flxng/mentions';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\nimport { PrivacySettingComponent } from './settingsprivacy/privacysetting.component';\nimport { UpdatedMobNumComponent } from './updated-mob-num/updated-mob-num.component';\nimport { UpdatedInvitationCodeComponent } from './updated-invitation-code/updated-invitation-code.component';\nimport { SpotifyAuthRedirectComponent } from './spotify-auth-redirect/spotify-auth-redirect.component';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport { SpotifyViewComponent } from './spotify-view/spotify-view.component';\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\nimport { SoundcloudComponent } from './soundcloud/soundcloud.component';\nimport { BandcampComponent } from './bandcamp/bandcamp.component';\nimport { YoutubeComponent } from './youtube/youtube.component';\nimport { SafeUrlPipe } from './pipes/safe-url.pipe';\nimport { SpotifyComponent } from './spotify/spotify.component';\nimport { ClickStopPropagation } from './pipes/click-stop-propagtion'\nimport { RegistrationPartModule } from '../views/registration-part/registration-part.module';\nimport { RegisterPlaylistComponent } from './register-playlist/register-playlist.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { HtmlToPlaintextPipe } from './pipes/html-to-text.pipe';\nimport { LinkyModule } from 'ngx-linky';\n\n// import { } from \"ngx-owl-carousel-o\";\n\nconst routes: Routes = [];\n@NgModule({\n declarations: [\n HeaderComponent,\n SidebarComponent,\n LayoutComponent,\n SafeHtmlPipe,\n LocalDatePipe,\n SafePipe,\n ProfileDynamicComponent,\n YoutubeCardsComponent,\n SpotifyCardsComponent,\n PhotoAlbumComponent,\n SuggestionsCardsComponent,\n YoutubeModalContentComponent,\n TermComponent,\n PrivacyComponent,\n PrivacySettingComponent,\n ProfileFriendsListComponent,\n FriendsFilterPipe,\n PhotoAlbumSliderModalContentComponent,\n UpdateGenerComponent,\n UpdateCityComponent,\n UpdateCoverComponent,\n UpdateProfileComponent,\n UpdatedMobNumComponent,\n UpdatedInvitationCodeComponent,\n SpotifyAuthRedirectComponent,\n SpotifyViewComponent,\n SoundcloudComponent,\n BandcampComponent,\n YoutubeComponent,\n SafeUrlPipe,\n SpotifyComponent,\n ClickStopPropagation,\n RegisterPlaylistComponent,\n HtmlToPlaintextPipe\n ],\n imports: [\n CommonModule,\n BsDropdownModule.forRoot(),\n SharedRoutingModule,\n HttpClientModule,\n ModalModule.forRoot(),\n // ======================================================\n FormsModule,\n ReactiveFormsModule,\n TabsModule.forRoot(),\n ImageCropperModule,\n ToastrModule.forRoot(),\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatFormFieldModule,\n TimepickerModule.forRoot(),\n MatInputModule,\n MatCardModule,\n MatButtonModule,\n Ng2SearchPipeModule,\n MatTabsModule,\n NgxYoutubePlayerModule.forRoot(),\n AlertModule,\n InfiniteScrollModule,\n RouterModule.forChild(routes),\n // BrowserAnimationsModule,\n CarouselModule,\n MatToolbarModule,\n MatSliderModule,\n MatIconModule,\n MatCheckboxModule,\n AngMusicPlayerModule,\n YtPlayerAngularModule,\n MatChipsModule,\n MentionsModule,\n carousel,\n AngularEditorModule,\n DragDropModule,\n MatExpansionModule,\n MatAutocompleteModule,\n MatProgressBarModule,\n LinkyModule\n ],\n exports: [\n SidebarComponent,\n HeaderComponent,\n LayoutComponent,\n SafeHtmlPipe,\n LocalDatePipe,\n SafePipe,\n ProfileDynamicComponent,\n YoutubeCardsComponent,\n SpotifyCardsComponent,\n SuggestionsCardsComponent,\n TermComponent,\n PrivacySettingComponent,\n PrivacyComponent,\n FriendsFilterPipe,\n HtmlToPlaintextPipe\n ]\n})\nexport class SharedModule { }\n// platformBrowserDynamic().bootstrapModule(SharedModule);","
      \n \n\n \n
      \n\n\n\n
      \n \n
      \n
      \n \"\"\n

      Are you sure you
      want to logout

      \n
      \n \n \n
      \n
      \n
      ","import { Component, OnInit,AfterViewInit,DoCheck, TemplateRef } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/auth/services/auth.service';\nimport { BsModalService } from \"ngx-bootstrap/modal\";\nimport { ActivatedRoute, NavigationEnd, Router } from \"@angular/router\";\nimport { SharedService } from '../services/shared.service';\nimport { MessagesService } from 'src/app/views/messages/messages.service';\n// import { io } from \"socket.io-client\";\nimport { environment } from 'src/environments/environment';\nimport { Subscription } from 'rxjs';\nimport { NotificationsService } from 'src/app/views/notifications/notifications.service';\ndeclare var Pushwoosh:any;\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n})\nexport class SidebarComponent implements OnInit {\n constructor(\n private toAsterService: ToastrService,\n private authService: AuthService,\n public router: Router,\n private modalService: BsModalService,\n private route: ActivatedRoute,\n private shared: SharedService,\n private messageService: MessagesService,\n private notificationsService: NotificationsService\n ) {}\n\n modalRef: any;\n currentUser:any;\n profileDetails:any;\n showNewMesageRedDot:Boolean = false;\n\n // socket = io(environment.BaseChatUrl,{\n // query:{accessToken:JSON.parse(localStorage.getItem('currentUser')).token}\n // });\n msgSubscriptionSideBar: Subscription;\n currentUrl;\n ngOnInit(): void {\n this.currentUser = this.authService.currentUserValue;\n this.getProfile();\n\n // if(!this.currentActiveScreen){\n // this.router.events.subscribe(event => {\n // console.log(event);\n // if (event instanceof NavigationEnd) { \n \n // console.log(event.url);\n // this.currentUrl = event.url;\n // };\n // });\n // }\n // this.messageService.getNewMessage().subscribe((message: string) => {\n // // this.messageList.push(message);\n // console.log(\"got a message\", message);\n // // this.showNewMesageRedDot = true;\n // })\n\n \n // this.socket.on('receive-message', (message) =>{\n // console.log(\"got a message in sidebar\", message);\n // this.showNewMesageRedDot = true;\n // });\n\n this.msgSubscriptionSideBar = this.messageService.message$.subscribe((message: string) => {\n // this.messageList.push(message);\n // if(this.currentActiveScreen == 'messages'){\n // this.showNewMesageRedDot = false;\n // this.messageService.message$.next('');\n // }\n // else{\n // console.log(\"you are not in messages screen\", message);\n if(message && Object.keys(message)?.length){\n this.showNewMesageRedDot = true;\n } \n // }\n \n })\n\n this.notificationsService.getNotifications(1,10).subscribe((res: any) => {\n console.log(\"from sidebar\");\n console.log(res);\n if(res.data?.length){\n if(!res.data[0].read){\n this.showNotificationRedDot = true;\n }\n }\n });\n\n this.checkNotifications();\n\n if ('serviceWorker' in navigator) {\n\n console.log(\"check 1\");\n navigator.serviceWorker\n .register('assets/pushwoosh-service-worker.js', { })\n .then( (reg) => {\n console.log('Service Worker is ready123', reg);\n reg.active.postMessage(\"ping\");\n console.log(\"Posted message\");\n console.log(\"check 2\");\n navigator.serviceWorker.addEventListener('message', (event) => {\n console.log(\"from step final 9999\");\n var messageFromSW = event.data;\n console.log(messageFromSW);\n this.showNotificationRedDot = true;\n this.notificationsService.newNotification$.next(messageFromSW);\n // you can also send a stringified JSON and then do a JSON.parse() here.\n });\n }).catch(function(error) {\n console.log('Error : ', error);\n });\n // ensure service worker is ready\n \n }\n }\n showNotificationRedDot: Boolean = false;\n\n checkNotifications(){\n\n Pushwoosh.push(['onLoad', (api) => {\n console.log('Pushwoosh load!',api);\n\n Pushwoosh.addEventHandler('subscribe', (payload) => {\n console.log('Triggered event: subscribe',payload);\n Pushwoosh.getPushToken().then((pushToken) => {\n console.log('by default pushToken:', pushToken);\n if(pushToken){\n this.shared.updateProfile({deviceToken:pushToken,isNotificationEnabled:true}).subscribe((res:any)=>{\n console.log(res);\n })\n }\n });\n });\n\n Pushwoosh.isSubscribed().then((isSubscribed) => {\n console.log('isSubscribed', isSubscribed);\n });\n\n Pushwoosh.getPushToken().then((pushToken) => {\n console.log('by default pushToken:', pushToken);\n if(pushToken){\n this.shared.updateProfile({deviceToken:pushToken,isNotificationEnabled:true}).subscribe((res:any)=>{\n console.log(res);\n })\n }\n });\n\n Pushwoosh.addEventHandler('receive-push', function (payload) {\n console.log('Triggered event: receive-push', payload);\n });\n\n Pushwoosh.addEventHandler('receive-inbox-message', function (payload) {\n console.log('Triggered event: receive-inbox-message', payload);\n });\n \n // Executed after the Inbox is updated automatically while the page is loading.\n Pushwoosh.addEventHandler('update-inbox-messages', function (payload) {\n console.log('Triggered event: receive-inbox-messages', payload);\n });\n \n Pushwoosh.addEventHandler('unsubscribe', function (payload) {\n console.log('Triggered event: unsubscribe',payload);\n });\n\n Pushwoosh.push(['onUpdateInboxMessages', function(api, pwinbox) {\n pwinbox.loadMessages().then(function(messages) {\n console.log('EVENT: onUpdateInboxMessages', messages);\n });\n }]);\n\n // Pushwoosh.push(['onMessageReceived', function(api, pwinbox) {\n // console.log(\"messsssgggggg\");\n // // pwinbox.loadMessages().then(function(messages) {\n // // console.log('EVENT: onUpdateInboxMessages', messages);\n // // });\n // }]);\n\n // Executed by ServiceWorker after the Inbox Message is received and saved to indexedDB. \n Pushwoosh.push(['onPutNewMessageToInboxStore', function(api, message) {\n console.log('EVENT: onPutNewMessageToInboxStore', message);\n }]);\n\n Pushwoosh.addEventHandler('message', function (payload) {\n console.log('message event: receive-push', payload);\n });\n\n navigator.serviceWorker.addEventListener('message', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n\n Pushwoosh.addEventHandler('onPushDelivery', function (payload) {\n console.log('message event: onPushDelivery', payload);\n });\n\n Pushwoosh.addEventHandler('onPutNewMessageToInboxStore', function (payload) {\n console.log('message event: onPutNewMessageToInboxStore', payload);\n });\n\n Pushwoosh.addEventHandler('onUpdateInboxMessages', function (payload) {\n console.log('message event: onUpdateInboxMessages', payload);\n });\n\n Pushwoosh.addEventHandler('onNotificationClose', function (payload) {\n console.log('message event: onNotificationClose', payload);\n });\n\n Pushwoosh.addEventHandler('onPushDelivery', function (payload) {\n console.log('message event: onPushDelivery', payload);\n });\n\n Pushwoosh.push(['onPushDelivery', function(payload) {\n console.log('User successfully receive-push',payload);\n }]);\n\n navigator.serviceWorker.addEventListener('onPushDelivery', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n\n\n }]);\n\n navigator.serviceWorker.addEventListener('push', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\",event);\n });\n\n Pushwoosh.push(['onPushDelivery', function(payload) {\n console.log('User successfully receive-push',payload);\n }]);\n\n Pushwoosh.push(['onLoad', function (api) {\n // Executed when a push notification is displayed.\n Pushwoosh.addEventHandler('receive-push', function (payload) {\n console.log('Triggered event: receive-push', payload.notification);\n });\n }]);\n\n Pushwoosh.push(function (api) {\n console.log('Pushwoosh ready!',api);\n Pushwoosh.subscribe();\n\n Pushwoosh.addEventHandler('message', function (payload) {\n console.log('message event: receive-push 2', payload);\n });\n\n // Pushwoosh.push(['message', function(api) {\n // console.log('User successfully message',api);\n // }]);\n\n Pushwoosh.push(['onPushDelivery', function(payload) {\n console.log('User successfully receive-push',payload);\n }]);\n\n // Pushwoosh.push(['receive-inbox-message', function(api) {\n // console.log('User successfully receive-inbox-message',api);\n // }]);\n\n // Pushwoosh.push(['onPutNewMessageToInboxStore', function(api) {\n // console.log('User successfully onPutNewMessageToInboxStore-push',api);\n // }]);\n\n\n navigator.serviceWorker.addEventListener('message', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n navigator.serviceWorker.addEventListener('onPushDelivery', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n \n\n Pushwoosh.addEventHandler('receive-push', function (payload) {\n console.log('Triggered event: receive-push', payload);\n });\n\n Pushwoosh.addEventHandler('receive-inbox-message', function (payload) {\n console.log('Triggered event: receive-inbox-message', payload);\n });\n \n // Executed after the Inbox is updated automatically while the page is loading.\n Pushwoosh.addEventHandler('update-inbox-messages', function (payload) {\n console.log('Triggered event: receive-inbox-messages', payload);\n });\n Pushwoosh.push(['onPutNewMessageToInboxStore', function(api, message) {\n console.log('EVENT: onPutNewMessageToInboxStore', message);\n }]);\n\n navigator.serviceWorker.addEventListener('message', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n\n Pushwoosh.addEventHandler('onPushDelivery', function (payload) {\n console.log('message event: onPushDelivery', payload);\n });\n\n Pushwoosh.addEventHandler('onPutNewMessageToInboxStore', function (payload) {\n console.log('message event: onPutNewMessageToInboxStore', payload);\n });\n\n Pushwoosh.addEventHandler('onUpdateInboxMessages', function (payload) {\n console.log('message event: onUpdateInboxMessages', payload);\n });\n\n Pushwoosh.addEventHandler('onNotificationClose', function (payload) {\n console.log('message event: onNotificationClose', payload);\n });\n\n Pushwoosh.addEventHandler('onPushDelivery', function (payload) {\n console.log('message event: onPushDelivery', payload);\n });\n\n // const messaging = new AngularFireMessaging();\n\n });\n \n // this.pwInstance = new Pushwoosh();\n // this.pwInstance.push(['init', {\n // logLevel: 'info', // or debug\n // applicationCode: '82D1F-EDDDC',\n // defaultNotificationTitle: 'Pushwoosh',\n // defaultNotificationImage: 'https://indietown-web.approd.ca/assets/Indietown_icons/login-logo-white.svg',\n // autoSubscribe: false,\n // subscribeWidget: {\n // enable: true\n // },\n // userId: 'user_id',\n // serviceWorkerUrl: \"assets/service-worker.js\",\n // tags: {\n // 'Name': 'John Smith'\n // },\n \n // }]);\n\n // this.pwInstance.push(['onLoad', (api) => {\n // console.log('Pushwoosh load!',api);\n\n // // this.pwInstance.subscribe();\n \n\n // this.pwInstance.addEventHandler('subscribe', (payload) => {\n // console.log('Triggered event: subscribe',payload);\n // this.pwInstance.getPushToken().then((pushToken) => {\n // console.log('by default pushToken:', pushToken);\n // if(pushToken){\n // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // console.log(res);\n // })\n // }\n // });\n // });\n\n // this.pwInstance.isSubscribed().then((isSubscribed) => {\n // console.log('isSubscribed', isSubscribed);\n // });\n\n // this.pwInstance.getPushToken().then((pushToken) => {\n // console.log('by default pushToken:', pushToken);\n // if(pushToken){\n // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // console.log(res);\n // })\n // }\n // });\n\n // this.pwInstance.addEventHandler('permission-granted', function (payload) {\n // console.log('Triggered event: permission-granted',payload);\n // });\n\n \n // // this.pwInstance.push(['onSubscribe', function(api) {\n // // console.log('User successfully subscribed',api);\n // // }]);\n\n // // this.pwInstance.push(['onUnsubscribe', function(api) {\n // // console.log('User successfully unsubscribed',api);\n // // }]);\n\n \n\n // // this.pwInstance.addEventHandler('show-notification-permission-dialog', function (payload) {\n // // console.log('Triggered event: show-notification-permission-dialog',payload);\n // // });\n\n // // Executed on hiding the permission dialog with one of three possible statuses: \n // // 1. default - the dialog is closed \n // // 2. granted - permission is granted \n // // 3. denied - permission is denied\n // // this.pwInstance.addEventHandler('hide-notification-permission-dialog', function (payload) {\n // // console.log('Triggered event: hide-notification-permission-dialog', payload);\n // // });\n\n // // this.pwInstance.addEventHandler('permission-default', function (payload) {\n // // console.log('Triggered event: permission-default',payload);\n // // });\n\n // // Executed during the SDK initialization if notifications are blocked or once a user blocks push notifications.\n \n\n // // Executed during the SDK initialization if notifications are allowed or once a user allows push notifications.\n \n\n // // this.pwInstance.addEventHandler('subscribe-popup-show', function() {\n // // console.log(\"Triggered event: subscribe-popup-show\");\n // // })\n \n // // // Executed when a user clicks on the 'Subscribe' button in the pop-up window\n // // this.pwInstance.addEventHandler('subscribe-popup-accept', function() {\n // // console.log(\"Triggered event: subscribe-popup-accept\");\n // // })\n\n // // // Executed when a user clicks on the 'Ask later' button in the pop-up window\n // // this.pwInstance.addEventHandler('subscribe-popup-decline', function() {\n // // console.log(\"Triggered event: subscribe-popup-decline\");\n // // })\n \n // // Executed when the popup hides\n // // this.pwInstance.addEventHandler('subscribe-popup-hide', function() {\n // // console.log(\"Triggered event: subscribe-popup-hide\");\n // // })\n\n // // this.pwInstance.subscribe();\n\n // // this.pwInstance.isSubscribed().then((isSubscribed) => {\n // // console.log('isSubscribed', isSubscribed);\n // // this.pwInstance.unsubscribe();\n // // if(isSubscribed){\n // // this.pwInstance.getPushToken().then(function(pushToken) {\n // // console.log('after subcribed pushToken:', pushToken);\n // // if(pushToken){\n // // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // // console.log(res);\n // // })\n // // }\n // // });\n // // }\n // // else{\n // // // this.pwInstance.subscribe();\n\n // // console.log(\"todo\");\n\n // // // Notification.requestPermission().then((permission) => {\n // // // // If the user accepts, let's create a notification\n // // // if (permission === \"granted\") {\n // // // console.log(\"yes\");\n // // // this.pwInstance.getPushToken().then((pushToken) => {\n // // // console.log('after subcribed pushToken:', pushToken);\n // // // if(pushToken){\n // // // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // // // console.log(res);\n // // // })\n // // // }\n // // // });\n // // // }\n // // // });\n // // }\n \n // // this.pwInstance.getHWID().then(function(hwid) {\n // // console.log('after hwid:', hwid);\n // // });\n // // this.pwInstance.getParams().then(function(params) {\n // // params = params || {};\n // // var hwid = params.hwid;\n // // var pushToken = params.pushToken;\n // // var userId = params.userId;\n // // console.log(hwid);\n // // console.log(pushToken);\n // // console.log(userId);\n // // });\n // // });\n\n // // this.pwInstance.getPushToken().then((pushToken) => {\n // // console.log('by default pushToken:', pushToken);\n // // if(pushToken){\n // // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // // console.log(res);\n // // })\n // // }\n // // });\n\n // // this.pwInstance.getHWID().then(function(hwid) {\n // // console.log('by default :', hwid);\n // // });\n\n // }]);\n\n // this.pwInstance.push(function (api) {\n // console.log('Pushwoosh ready!',api);\n // });\n\n }\n\n ngOnDestroy(){\n // if(this.currentActiveScreen == 'messages'){\n // this.messageService.message$.next('');\n // this.showNewMesageRedDot = false;\n // }\n console.log(1);\n // console.log(this.currentActiveScreen);\n // if(this.currentUrl.includes('messages')){\n // console.log(2);\n // this.showNewMesageRedDot = false;\n // this.messageService.message$.next('');\n // }\n\n this.msgSubscriptionSideBar.unsubscribe();\n \n \n }\n\n ngDoCheck(){\n \n // if(window.location.pathname.indexOf('coupon') != -1){\n // document.getElementById('couponmenu').scrollIntoView();\n // }else if(window.location.pathname.indexOf('coordinates') != -1){\n // document.getElementById('Coordinates').scrollIntoView();\n // }else if(window.location.pathname.indexOf('notifications') != -1){\n // document.getElementById('notifications').scrollIntoView();\n // }else if(window.location.pathname.indexOf('event-sponsors') != -1){\n // document.getElementById('Sponsors').scrollIntoView();\n // }else if(window.location.pathname.indexOf('treasure') != -1){\n // document.getElementById('Treasure').scrollIntoView();\n // }else if(window.location.pathname.indexOf('more-sections') != -1){\n // document.getElementById('More-Section').scrollIntoView();\n // }else if(window.location.pathname.indexOf('home-partners') != -1){\n // document.getElementById('home-partners').scrollIntoView();\n // }\n \n\n }\n\n\n logout() {\n this.modalRef.hide();\n \n this.authService.logout({id:this.currentUser._id}).subscribe((res:any) =>{\n console.log(res.status);\n if(res.status == 200){\n localStorage.removeItem(\"currentUser\");\n }else{\n this.toAsterService.error(res.error.message);\n }\n \n });\n this.router.navigateByUrl(\"/auth/login\");\n }\n\n // modal lougout confirmation\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n confirm() {\n this.logout();\n }\n cancel() {\n this.modalRef.hide();\n }\n\n currentActiveScreen = '';\n activateSearchModal(screen){\n console.log(\"I am mmmm\");\n this.currentActiveScreen = screen;\n console.log(this.currentActiveScreen);\n this.shared.sendHeaderData('true');\n localStorage.removeItem('seeAll');\n localStorage.removeItem(\"setSearchResult\");\n if(screen == 'messages'){\n this.showNewMesageRedDot = false;\n // this.messageService.message$.next('');\n }\n if(screen == 'notifications'){\n this.showNotificationRedDot = false;\n // this.messageService.message$.next('');\n }\n if(screen == 'profile'){\n console.log(\"clicked on profile\");\n localStorage.removeItem(\"selectedProfileTabIndex\");\n }\n }\n\n disabledTab(event:any){\n if (event.keyCode == 9) { //tab pressed\n event.preventDefault(); // stops its action\n }\n }\n getProfile(){\n this.shared.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n\n }\n })\n }\n}\n","\n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n \n \n \n
      \n
      \n

      {{soundcloud.title}}

      \n
      \n
      \n \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      \n No Playlists yet !\n
      \n
      \n Add Playlists\n
      \n
      \n\n \n
      \n
      \n \n
      \n \n \n
      \n
      \n\n\n
      \n \n
      \n
      \n

      Are you sure you want to remove?

      \n
      \n \n \n
      \n
      \n
      ","import { Component, Input, OnInit, SecurityContext, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/auth/services/auth.service';\nimport { SharedService } from '../services/shared.service';\nimport { DomSanitizer} from '@angular/platform-browser';\n\n\n@Component({\n selector: 'app-soundcloud',\n templateUrl: './soundcloud.component.html',\n styleUrls: ['./soundcloud.component.scss']\n})\nexport class SoundcloudComponent implements OnInit {\n modalRef: any;\n myInputValues:any='';\n loadMoreSoundcloud: Boolean = true; \n @ViewChild(\"soundcloudIframe\") soundcloudIframe: TemplateRef;\n removeModalref: any;\n @ViewChild(\"removeSoundcloudIframeModal\") removeSoundcloudIframeModal: TemplateRef;\n \n @Input() userId;\n\n constructor(\n private modalService: BsModalService,\n private service: SharedService,\n private toastrService: ToastrService,\n private authService: AuthService,\n private fb: FormBuilder,\n private router: ActivatedRoute,\n private spinner: SpinnerVisibilityService,\n private route: Router,\n private domSanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n console.log(\"from soundcloud\",this.userId);\n this.getSoundcloudList();\n }\n\n page = 1;\n pageSize = 20;\n soundcloudList = [];\n getSoundcloudList(){\n this.service.getSoundcloudList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n this.soundcloudList = res.data;\n })\n }\n addSoundcloudIframe(){\n console.log((document.getElementById(\"soundcloudIframeNew\")).value);\n let soundcloudIframe = (document.getElementById(\"soundcloudIframeNew\")).value;\n this.service.addSoundcloudIframe({iframeCode:soundcloudIframe}).subscribe((res:any)=>{\n console.log(res);\n this.soundcloudList.unshift(res.data);\n (document.getElementById(\"soundcloudIframeNew\")).value = '';\n this.myInputValues = '';\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n if(err?.error?.message?.includes('iFrame code already added')){\n this.toastrService.info(\"iFrame code already added\");\n }\n else {\n this.toastrService.info(err?.error?.message);\n }\n (document.getElementById(\"soundcloudIframeNew\")).value = '';\n this.myInputValues = '';\n })\n }\n transFormUrl(url){\n // return this.domSanitizer.sanitize(SecurityContext.URL, url);\n return this.domSanitizer.bypassSecurityTrustResourceUrl(url);\n }\n iframeSource = '';\n soundcloudModalP(iframesrc:any){\n let initialState: ModalOptions = {\n initialState: {\n source:iframesrc\n } as Partial,\n class: 'soundcloudpopup'\n };\n this.iframeSource = iframesrc;\n this.modalRef = this.modalService.show(this.soundcloudIframe, initialState);\n }\n\n removeSoundcloudId;\n removeSoundcloudIndex;\n removeSoundcloud(id,index){\n\n this.removeSoundcloudId = id;\n this.removeSoundcloudIndex = index;\n\n // this.service.removeSoundcloudIframe(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.soundcloudList.splice(index,1);\n // }\n // })\n\n this.removeModalref = this.modalService.show(this.removeSoundcloudIframeModal,{class:\"remove-soundcloud-modal\"});\n }\n\n removeSoundcloudIframe(){\n this.service.removeSoundcloudIframe(this.removeSoundcloudId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.soundcloudList.splice(this.removeSoundcloudIndex,1);\n }\n this.removeModalref.hide();\n })\n }\n\n loadMoreSoundcloudData(e){\n console.log(\"scrolled fired\");\n if(this.loadMoreSoundcloud){\n console.log(\"loading more\")\n this.page++;\n this.getMoreSoundcloudList();\n }\n }\n\n // loadMoreSoundcloud:Boolean = true;\n getMoreSoundcloudList(){\n this.service.getSoundcloudList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.soundcloudList.push(...res.data);\n }\n else{\n this.loadMoreSoundcloud = false;\n }\n })\n }\n @Input('addSoundcloud')\n set addSoundcloud(data: any) {\n //do whatever you want with your data here, this data will be passed from parent component\n console.log(\"soundcloud to add\",data);\n if(data && Object.keys(data).length){\n this.soundcloudList.unshift(data);\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SharedService } from '../services/shared.service';\n\n@Component({\n selector: 'app-spotify-auth-redirect',\n templateUrl: './spotify-auth-redirect.component.html',\n styleUrls: ['./spotify-auth-redirect.component.scss']\n})\nexport class SpotifyAuthRedirectComponent implements OnInit {\n\n constructor(\n private route: Router,\n private service: SharedService,\n ) { }\n\n ngOnInit(): void {\n\n const urlParams = new URLSearchParams(window.location.search);\n let code = urlParams.get('code');\n this.requestAccessToken(code);\n }\n\n requestAccessToken(code){\n let codeVerifier = localStorage.getItem('code_verifier');\n\n let body = new URLSearchParams({\n grant_type: 'authorization_code',\n code: code,\n // redirect_uri: 'http://localhost:4200/spotify-auth-redirect',\n // redirect_uri: 'https://web.theindietown.com/spotify-auth-redirect',\n redirect_uri: 'https://indietown.org/spotify-auth-redirect',\n client_id: 'b9568077e42a48ba89e30e3c7aa48b33',\n code_verifier: codeVerifier\n });\n\n const response = fetch('https://accounts.spotify.com/api/token', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n body: body\n })\n .then(response => {\n if (!response.ok) {\n throw new Error('HTTP status ' + response.status);\n }\n return response.json();\n })\n .then(data => {\n\n let spotifyTokenInfo = {\n accessToken: data.access_token,\n refreshToken: data.refresh_token\n }\n // Need to add expiry time also\n let obj = {\n access_token: data.access_token,\n token_type: data.token_type,\n scope: data.scope,\n expires_in: data.expires_in,\n expiresAtDate: new Date().getTime() + (data.expires_in * 1000),\n refresh_token: data.refresh_token\n }\n localStorage.setItem('spotifyTokenInfo', JSON.stringify(obj));\n\n console.log(data);\n\n \n\n \n\n\n this.service.saveOrUpdateSpotifyToken(obj).subscribe((res:any)=>{\n console.log(res);\n localStorage.setItem('SpotifyAutorizedAndRedirected', \"true\");\n this.route.navigate(['/profile']);\n }) \n })\n .catch(error => {\n console.error('Error:', error);\n });\n }\n\n}\n","\n
      \n \"\"\n Navigating back to profile!
      \n","
      \n
      \n \"\"\n Spotify\n
      \n
      3\">\n See all\n
      \n
      \n\n
      \n
      0}\">\n
      \n \n
      \n
      \n \"\"\n
      \n
      \n

      \n =15\">{{i?.name.slice(0,15)}} ...\n {{i?.name}}\n

      \n

      {{getTimeRemaining(i?.items[0].duration_ms)}}

      \n \n
      \n
      \n \"\"\n \n
      \n
      \n
      \n
      \n

      No Data Found

      \n\n
      ","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { SharedService } from \"../services/shared.service\";\n\n@Component({\n selector: \"app-spotify-card\",\n templateUrl: \"./spotify-cards.component.html\",\n styleUrls: [\"./spotify-cards.component.scss\"],\n})\nexport class SpotifyCardsComponent implements OnInit {\n youtubePlayData:any;\n selectedIndex:any;\n // @Input() playList: any=[];\n\n @Output() gotoSpotify = new EventEmitter();\n\n constructor(\n public router: Router,\n private service: SharedService,\n private toastrService: ToastrService,\n private spinner: SpinnerVisibilityService\n ) {}\n\n // @Input() goYoutube: any;\n // @Input() playlistModelOpen: any;\n\n @Input() userId: any;\n spotifyList = [];\n\n ngOnInit(): void {\n this.getSpotifyList();\n }\n\n getSpotifyList(){\n this.service.getSpotifyList(this.userId,1,20).subscribe((res:any)=>{\n console.log(res);\n this.spinner.hide();\n if(res.data.length){\n this.spotifyList = res.data;\n }\n },(err) => {\n // this.spinner.hide();\n console.log(\"some error occured\");\n // this.toastrService.info(\"some error occured, please try again\");\n }\n )\n }\n\n navigateToSpotify(){\n console.log(\"navigate to spotify\");\n this.gotoSpotify.emit();\n }\n\n\n openSpotifyModal(data:any){\n // this.service.playSpotifySong(data);\n }\n\n // gotoSpotify(){\n // // this.service.selectYoutube(3);\n // }\n\n\n getTimeRemaining(miliseconds:any){\n miliseconds = miliseconds - 1000;\n const days = Math.floor(miliseconds / (1000 * 60 * 60 * 24));\n const hours = Math.floor((miliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((miliseconds % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((miliseconds % (1000 * 60)) / 1000);\n let data = minutes + \":\" + seconds;\n return data;\n }\n\n \n}\n","import { Component, OnInit } from '@angular/core';\nimport { SharedService } from '../services/shared.service';\n\n@Component({\n selector: 'app-spotify-view',\n templateUrl: './spotify-view.component.html',\n styleUrls: ['./spotify-view.component.scss']\n})\nexport class SpotifyViewComponent implements OnInit {\n\n constructor(\n private service: SharedService,\n ) { }\n\n ngOnInit(): void {\n this.getSpotifyList();\n }\n\n spotifyList = [];\n getSpotifyList(){\n this.service.getSpotifyList(\"\",1,20).subscribe((res:any)=>{\n console.log(res);\n this.spotifyList = res.data;\n })\n }\n\n}\n","

      spotify-view works!

      \n\n","
      \n
      \n \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n\n \n \n
      \n \"\"\n
      \n \n
      \n

      {{ track?.name }}

      \n
      \n
      \n \n

      \n {{ getTimeInMinuteAndSeconds(track?.items[0].duration_ms) }}\n

      \n
      \n\n \n
      \n\n\n \n \n \n \n \n \n \n
      \n
      \n \"\"\n
      \n\n
      \n

      {{ track?.name }}

      \n
      \n
      \n
      \n \n \n

      \n \n

      \n
      \n
      \n\n
      \n
        \n
      • \n \n
        \n \"\"\n
        \n \n
        \n

        {{ subtrack?.name }}

        \n
        \n
        \n \n

        \n {{ getTimeInMinuteAndSeconds(subtrack?.duration_ms) }}\n

        \n
        \n \n \n
        \n

        \n {{ getTimeInMinuteAndSeconds(subtrack?.duration_ms) }}\n

        \n
        \n
      • \n
      • \n \n
      • \n
      \n
        \n
      • \n \n
        \n
        \n \"\"\n
        \n
        \n

        {{ subtrack?.name }}

        \n
        \n
        \n
        \n
        \n \n

        \n {{ getTimeInMinuteAndSeconds(subtrack?.duration_ms) }}\n

        \n
        \n\n
        \n

        \n {{ getTimeInMinuteAndSeconds(subtrack?.duration_ms) }}\n

        \n
        \n
        \n
      • \n
      • \n \n
      • \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n \n
      \n\n
      \n
      \n
      \n
      \n \"\"\n
      \n {{currentlyPlayingSpotifySong?.name}}\n {{currentlyPlayingSpotifySong?.albumName}}\n
      \n
      \n
      \n \"\"\n \"\"\n \n
      \n
      \n\n
      \n
      \n \"\"\n \"\"\n \"\"\n \"\"\n \"\"\n \"\"\n \"\"\n \"\"\n \"\"\n \"\"\n \"\"\n
      \n
      \n

      {{spotifySongPlayedTill}}

      \n \n

      \n {{getTimeInMinuteAndSeconds(currentlyPlayingSpotifySong?.duration_ms)}}

      \n\n
      \n
      \n
      \n \"\"\n \"\"\n \n
      \n
      \n\n
      \n\n
      \n No Playlist Yet !\n
      \n\n
      \n
      \n \n
      \n
      \n\n\n
      \n \n
      \n
      \n

      Are you sure you want to remove this {{removingItem}}?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      ","import { Component, HostListener, Inject, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { SharedService } from '../services/shared.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\nimport { DOCUMENT } from '@angular/common';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'app-spotify',\n templateUrl: './spotify.component.html',\n styleUrls: ['./spotify.component.scss','../dynamic-profile/dynamic-profile.component.scss']\n})\nexport class SpotifyComponent implements OnInit {\n\n constructor(\n private service: SharedService,\n private toastrService: ToastrService,\n private spinner: SpinnerVisibilityService,\n @Inject(DOCUMENT) private document: Document,\n private modalService: BsModalService,\n ) { }\n\n spotifyPlayerNew;\n spotifyToken;\n device_id;\n myInputValuedyn = '';\n @Input() userId;\n\n @ViewChild(\"removeSpotifyModal\") removeSpotifyModal: TemplateRef;\n\n ngOnInit(): void {\n this.getSpotifyList();\n\n /** No Authorization \n this.checkSpotifyAuthorized();*/\n\n\n\n // this.spotifyAuth();\n // this.spinner.show();\n // this.spinner.hide();\n }\n\n getSpotifyList(){\n this.spinner.show();\n this.service.getSpotifyList(this.userId,this.spotifyPageNumber,this.spotifyPageLimit).subscribe((res:any)=>{\n console.log(res);\n this.spinner.hide();\n if(res.data.length){\n for(let i=0;i {\n this.spinner.hide();\n console.log(\"some error occured\");\n this.toastrService.info(\"some error occured, please try again\");\n }\n )\n }\n\n ngOnDestroy(){\n console.log(\"destroy\");\n this.spotifyPlayerNew?.pause().then(() => {\n console.log('Paused!');\n this.spotifySongPaused = true;\n document.getElementById(\"spotifySongPlay\").style.display = 'block';\n document.getElementById(\"spotifySongPause\").style.display = 'none';\n });\n }\n\n spotifySongSelectedIndex:any;\n spotifySongSelected:boolean = false;\n currentlyPlayingSpotifySong;\n\n sidebarFixed:any;\n\n @HostListener('window:scroll', ['$event']) onScroll(event) {\n\n// console.log(window.scrollY);\n if (window.scrollY > 350) {\n this.sidebarFixed = true;\n }\n else if (window.scrollY < 350) {\n this.sidebarFixed = false;\n }\n\n }\n\n async spotifyInitialization() {\n \n // const token = \"BQDa4OM2ETnfXrs_te2UPsh4FG-gE0wE_4OUSpPKO0JAWkWA3kDB_i5GcRXD_N1zXFlxu_kP64kD_WzStIrjETUTDsmRtR6Oh6SnM8G4kLbyr-t5KDbMIBC_mWb3KUqLiBnUbLSZF7ljNRwZeivyIAlqde6V9CsDy3Z5ClJ5uKObaNPlScemEElXJE0G9bQMCcgm2mTXDhJhyYVXfL2S_A54NUz8ECKc4m7gZDZmG7gLAbpFlui_Ixqeiw\";\n // const token = \"BQCavXJA-UdLHHtPDlSbZRJ45TIcp59Hir7wa86AeuyAGgArNGs-cQSxMZeOAR5fDjnH9n24vjnT0pC_jRvIvP0dJpEjlXMfHRHSmpAtmDC2HLBAnnakgEWrZZTC4qkLzcjw10aLvtT81vzdopYm4WbgpH06NYhksTeq6bj2E82JP0IBVrWC5kfSqQ3Cq-VHqTXPw7mghpV4j63RO_MHp7RPT-7xEuXVf_NBlJerdmkWf0eM6BbiyNwjww\";\n // const token = \"BQBssH7wcAx7c5diUlPcTjA6RiJNV103jaiaWgS1fSBh_UYu2Pg8rAlI_-1snXdLSj7DUSBFBdPXR8BLOxQRcH3E-aQx3W2AdX4m1AtCu8pAeo0OpzE2s_rNcgjDGhN4oSbScDHgBMS0fUbR_0P61RLVHIMhQZOMjSpeT3IdITK2WHNjZw6HkptDSZKqGSsX6kHSJbH_JzEoTm4ODNdIAI0tRT3n_jKrP_95o4UmR-GiEd6Pv_7ooUHIlQ\";\n // const token = \"BQAG-hn1hI8C6iN1Rz0YOGaff33zVyV5gDKeURTTqck9gysOKvjrDBH0UdSXDTlUyATm0Dq4vkqLEIqiHvS0OX17QQRG9m-Z8NGlP6MMqqPZHeh-WA4kAB28WmhoAd6diYyk9Hqu2LmaF-Y5Wa6Cf0f6vvTwb5gwXqxlR5g3RZHjaBDNfzsPxZpkD-naLNmDMGuoD27h8cKtTduNyEUwTnvS0Bmeo6ZuYy_RGenfnEyWcwq2REe3oO5ODA\";\n //const token = \"BQC2TWaAmcQZRKXXraIC2XwKVXwF_9LY44ITTgeKocRTvupOjZmhRDl4gzVVvatUS0bYbJ5Ni_mWkPqcFFjq1PeA9sFTPsEoYn8DgDgLE6rG9_DfSQAl14_dbZmfptYqMvv6IO84YA8sWrtvqXujURDhGpl28RSkxnP-kDAwWviuymOzQN9wCqENQg-jVmNDVPBm3q70WiL1S_Ibd3vaByeR3o0t2DHSM-5YxzxNjXMV8UA52UKNDU88MQ\";\n // const token = \"BQDQbKgEpL7LfpvPfnUAIiLWlKAQxC1RA5m-98RVQmlgGc6wdpA-JhYBEwgTnA4F4LNDFJwUblCdfMfgTIII6XyMYuURxVdKSD-9_kMSzkslTV5-yhg9bQpqRpF6YrG3_aDqF_j13-yMrgSaJAbbrFJiM5ij8NaTLcS97n8BQ4NgPYuEx1iGA_QyQ15ZDkabps2gTP0J1lxYIcUhTZVrCZMSd_m6xZ-QlwLuQ9jCJDhfUWmB3QZJwsd9Yg\";\n // const token = \"BQAwAt3z_WeJELJMoqPb8b5roH0DGLSViY1Ki_nv0IfGWI9WUE0lwIfNcVt79j7FCw8BaN0H_6zdoWlqmuDi_rI6Q8-YchKNtxuAqIH26aXlTz6owSGTAzmpMDJoWDJiqFHE5Sls9RHwFOPYUxeI_SIXXmHwBk1IfAn9c6NzxQuR0J0wOhEOUObYInGJ22uipMS5EEyaQgnWog19hnvL3E0lTMiFfiwgHzl4xdBJA39mR6U69KI6ZYJTpA\";\n // const token = \"BQDQbKgEpL7LfpvPfnUAIiLWlKAQxC1RA5m-98RVQmlgGc6wdpA-JhYBEwgTnA4F4LNDFJwUblCdfMfgTIII6XyMYuURxVdKSD-9_kMSzkslTV5-yhg9bQpqRpF6YrG3_aDqF_j13-yMrgSaJAbbrFJiM5ij8NaTLcS97n8BQ4NgPYuEx1iGA_QyQ15ZDkabps2gTP0J1lxYIcUhTZVrCZMSd_m6xZ-QlwLuQ9jCJDhfUWmB3QZJwsd9Yg\";\n // const token = \"BQBla4Zxrkw6Htc5yg7f6EcgEY988E3iKrenxxykF7pY02NQWlRr3B_xk1-5sBIPNf8ZSsPWC4SmeAto8Pc4QufYDF0LezoLygBsUGPPqiz5qSnn5I3wRRDyR5Z8D6YWRHyqMaJZVCip0T00EPT6qjO5Dbs3N9myNHwTf6VVnKLk9ACl_latNRFrwBj4U_cdEF10y1WoCibSZpa04VB3MgRouXOxbZ3c3Y3gpFat97axEeTW8-i2oLASXg\";\n // this.service.getSpotifyToken().subscribe(async(res:any)=>{\n // console.log(res);\n // this.spotify = new SpotifyPlayer(\"test12\");\n // await this.spotify.connect(res?.data?.access_token);\n // })\n // const uri = \"spotify:track:3GCwsB2loRGeUL8oq2Y4TW\";\n \n // this.spotify = new SpotifyPlayer(\"test12\");\n // await this.spotify.connect(token);\n\n const script = document.createElement('script')\n script.src = 'https://sdk.scdn.co/spotify-player.js'\n script.type = 'text/javascript'\n script.addEventListener('load', e => {\n console.log(e)\n });\n document.head.appendChild(script);\n\n (window).onSpotifyWebPlaybackSDKReady = () => {\n // this.spotifyToken = 'BQAT3ywNQLFFwApAcZIwBdX3KOpi2THCpgcbQktLHa_zcmbYT_k_kckdxw-SjlA22fwrOygbALYZQNZHcI3wzE4PcOdy3tA4KmzKi22jiSxgNpXcefemHH-JYZsgjNacBCO4nYK6EXDvbg5iaJnQYoKc6Sfo7chjBCKBwgasmsKyd5s0UoeAuWKwqhmzOB9_UllWwoLfY58PCQVmHNa2mJkI9mee2U22xbm7wiJKXzutMSbngls0T3zwqQ';\n // this.spotifyToken = \"BQAc4b9Lp4nD-D-WljcC8XoSJjEhteGPmT_V7vQxKGpO5Aqi2V5_5KeVEPkDpA2lcwC69gLET0WwqESlchV6crOcdO_N-kgQyx1pdL6eLryV5VTtvewM1gWa6fSetmgJOdFHjTJcATxdXg8YO6KrqJFYeP_cXn6uQGxEJV4nGSG4Ivd6IShEK3NvUwT73wLZm63DaDB_bgbWxoTLqTvOcJ5mNTW-p_O1hoQFnBgZzGyLlclmeG-cv3fMVg\";\n // this.spotifyToken = \"BQC9-Cnx8EmSGYlI-mb4wf5vEfKFFvY7nnoeu9xGDYJ76HVH_qzwp4qeEU2o-8egQXIF0eBfmXyfN_UAkAlomX_FUWnO1hfxu3KV6nAfjulBGyq4G0wVEVo5KQjSwC5Hv2Vud8zXS9KbHkw7RUkHBAsMkeZJhHF6veIRi16Wrx8jQWhLfng-FMdiMW1ROJ0Q09DB6JHF1BwtKh5J8Snk9aC4w6DU1vKorecgviPyDszjDG0CTX40W18aRg\";\n // this.spotifyToken = this.service.getSpotifyToken().subscribe(\n // (res:any)=>{\n // let token = this.spotifyToken;\n\n\n // this.spotifyToken = res.data[\"access_token\"];\n // this.spotifyToken = JSON.parse(localStorage.getItem('spotifyTokenInfo')).accessToken;\n // this.spotifyToken = this.getSpotifyToken();\n // Get the token and assign here\n\n this.spotifyToken = this.spotifyTokenInfo.access_token;\n let token = this.spotifyToken;\n this.spotifyPlayerNew = new (window).Spotify.Player({\n name: 'Web Playback SDK Quick Start Player',\n getOAuthToken: cb => { cb(token); },\n volume: 0.5\n }, (res:any)=> {\n // this.spinner.hide();\n });\n \n console.log(this.spotifyPlayerNew);\n \n this.spotifyPlayerNew.addListener('ready', ({ device_id }) => {\n console.log('Ready with Device ID', device_id);\n this.device_id = device_id;\n });\n \n // Not Ready\n this.spotifyPlayerNew.addListener('not_ready', ({ device_id }) => {\n console.log('Device ID has gone offline', device_id);\n });\n\n this.spotifyPlayerNew.addListener('player_state_changed', state => {\n // this.paused1 = state.paused;\n // this.state1 = state;\n // // this.spotifySongProgressBarValue = Math.trunc((state.position/state.duration)*100);\n // this.position1 = state.position;\n // this.duration1 = state.duration;\n this.currState[\"paused\"] = state?.paused;\n this.currState[\"position\"] = state?.position;\n this.currState['duration'] = state?.duration;\n this.currState['updateTime'] = performance.now();\n });\n \n this.spotifyPlayerNew.connect();\n \n // })\n \n // this.spotifyPlayerNew.addListener('player_state_changed', ({\n // position,\n // duration,\n // track_window: { current_track }\n // }) => {\n // this.spotifySongProgressBarValue = Math.trunc((position/duration)*100);\n // this.position1 = position;\n // this.duration1 = duration;\n // });\n\n \n // setInterval(()=>{\n // // console.log(this.spotifySongProgressBarValue);\n // // console.log(this.position1);\n // // console.log(this.duration1);\n // // console.log(this.paused1);\n // // console.log(this.state1);\n // // let aa = this.getStatePosition();\n // // console.log(aa);\n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n // console.log(state);\n \n // console.log('Currently Playing');\n // console.log('Playing Next');\n // });\n // });\n\n // setTimeout(()=>{\n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n \n // var current_track = state.track_window.current_track;\n // var next_track = state.track_window.next_tracks[0];\n \n // console.log('Currently Playing', current_track);\n // console.log('Playing Next', next_track);\n // });\n // },10000)\n }\n\n }\n\n getStatePosition() {\n if (this.currState?.paused) {\n return this.currState?.position;\n }\n console.log(\"position \",this.currState?.position);\n console.log(\"pnow \",performance.now());\n console.log(\"upddatetime \",this.currState?.updateTime);\n let position = this.currState?.position + (performance.now() - this.currState?.updateTime) / 1000;\n\n console.log(\"final pos\",position);\n console.log(\"final duration\",this.currState?.duration);\n return position > this.currState?.duration ? this.currState?.duration : position;\n }\n // currState:any;\n currState = {\n paused:false,\n position:0,\n duration:0,\n updateTime:0\n }\n position1;\n duration1;\n paused1;\n state1;\n abc(position,duration){\n console.log(\"123\");\n this.spotifySongProgressBarValue = Math.trunc((position/duration)*100);\n }\n // playSelectedSong(songDetails,index:any){\n // // var names = document.querySelectorAll('ang-music-player audio');\n // // var image = document.querySelectorAll('ang-music-player img');\n // // var title = document.querySelectorAll('ang-music-player p');\n \n // console.log(songDetails);\n // console.log(index);\n \n // this.spotifySongSelected = true;\n // this.spotifySongSelectedIndex = index;\n // this.currentlyPlayingSpotifySong = this.audioList[index];\n \n // this.play(this.currentlyPlayingSpotifySong.url);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // // console.log(this.audioList[index].url);\n // // this.spotify.play(this.audioList[index].url);\n // console.log(\"playing spotify song\");\n // // console.log(this.playList);\n // // for(var i=0; ititle[i]).innerHTML = data.title;\n // // }\n \n // // for(var i=0; inames[i]).src = data.url;\n // // }\n \n // // for(var i=0; iimage[i]).src = data.cover;\n // // }\n // // document.getElementsByTagName('audio')[0].autoplay=true;\n \n // // this.spotifySingleData = data;\n // // this.openModal(this.spotifyPlay)\n // }\n\n spotifySongTrackType;\n spotifySongPlaylistIndex;\n playSelectedSong(type,index,subTrackIndex:any){\n // var names = document.querySelectorAll('ang-music-player audio');\n // var image = document.querySelectorAll('ang-music-player img');\n // var title = document.querySelectorAll('ang-music-player p');\n \n console.log(type);\n console.log(index);\n console.log(subTrackIndex);\n \n this.spotifySongSelected = true;\n if(type == 'playlist'){\n this.spotifySongTrackType = 'playlist';\n this.spotifySongPlaylistIndex = index;\n this.spotifySongSelectedIndex = subTrackIndex;\n this.currentlyPlayingSpotifySong = this.spotifyList[index].items[subTrackIndex];\n }\n else{\n this.spotifySongTrackType = 'singleTrack';\n this.spotifySongSelectedIndex = index;\n this.currentlyPlayingSpotifySong = this.spotifyList[index].items[0];\n this.currentlyPlayingSpotifySong.imageUrl = this.spotifyList[index].imageUrl;\n }\n \n console.log(this.currentlyPlayingSpotifySong);\n this.play(this.currentlyPlayingSpotifySong.uri);\n setTimeout(()=>{\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n console.log(\"playing spotify song\");\n },1000);\n \n \n }\n\n spotifyVolumeOn = true;\n spotifyVolumeToggle(){\n if(this.spotifyVolumeOn){\n this.spotifyPlayerNew.setVolume(0).then(() => {\n console.log('Muted');\n this.spotifyVolumeOn = false;\n this.spotifyVolume = 0;\n });\n }\n else{\n this.spotifyPlayerNew.setVolume(0.3).then(() => {\n console.log('UnMuted');\n this.spotifyVolumeOn = true;\n this.spotifyVolume = 30;\n });\n }\n \n\n }\n \n spotifyPlayPrevious(){\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n // }\n // else if(this.spotifySongSelectedIndex == 0){\n // // if(this.spotifySongRepeatModeOn){\n // this.spotifySongSelectedIndex = this.audioList.length;\n // // }\n // }\n // this.spotifySongSelectedIndex-=1;\n\n\n if(this.spotifySongRepeatModeOn){\n this.spotifySongPlay();\n return;\n }\n if(this.spotifyShuffleModeOn){\n this.playShuffledSong();\n return;\n }\n if(this.spotifySongTrackType == 'playlist'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == 0){\n this.spotifySongSelectedIndex = this.spotifyList[this.spotifySongPlaylistIndex].items.length-1;\n }\n else{\n this.spotifySongSelectedIndex--;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getPreviousSingleAndPlay();\n }\n\n\n /********************************* Latest Code ************************************* */\n /** \n if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == 0 && this.spotifySongSelectedIndex == 0) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == 0)){\n // this.spotifySongSelectedIndex = -1;\n let subTrackIndex = this.spotifyList[this.spotifyList.length-1].trackType == 'playlist' ? this.spotifyList[this.spotifyList.length-1].items[this.spotifyList[this.spotifyList.length-1].items.length-1] : null;\n this.playSelectedSong(this.spotifyList[this.spotifyList.length-1].trackType,this.spotifyList.length-1,subTrackIndex);\n return;\n } \n else if(this.spotifySongTrackType == 'playlist'){\n if(this.spotifySongSelectedIndex == 0){\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex-1].items[this.spotifySongSelectedIndex];\n }\n else{\n this.spotifySongSelectedIndex = this.spotifySongSelectedIndex - 1;\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex].items[this.spotifySongSelectedIndex];\n }\n }\n else{\n this.spotifySongSelectedIndex = this.spotifySongSelectedIndex - 1;\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongSelectedIndex].items[0];\n }\n // this.currentlyPlayingSpotifySong = this.audioList[this.spotifySongSelectedIndex];\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n this.spotifySongPaused = false;\n */\n }\n\n spotifySongPlay(){\n // this.spotify\n // debugger;\n // if(this.spotifySongSelected)\n // this.spotify.play(this.audioList[this.spotifySongSelectedIndex].url);\n // else{\n // this.spotifySongSelected = true;\n // this.spotifySongSelectedIndex = 0;\n // this.spotify.play(this.audioList[this.spotifySongSelectedIndex].url);\n // }\n // this.spotifyPlayerNew.play();\n \n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // console.log(state);\n // if (!state) {\n // console.log(\"playing new\")\n // this.play(this.currentlyPlayingSpotifySong.url);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // }\n // else{\n // this.spotifyPlayerNew.resume().then(() => {\n // console.log('Resumed!');\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // });\n // }\n // });\n // if(document.getElementById(\"spotifySongPlay\").style.display == 'block'){\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // this.play(this.currentlyPlayingSpotifySong.url);\n // }\n // else{\n // document.getElementById(\"spotifySongPlay\").style.display = 'block';\n // document.getElementById(\"spotifySongPause\").style.display = 'none';\n // this.spotifyPlayerNew.resume();\n // }\n\n if(this.spotifySongPaused){\n this.spotifyPlayerNew.resume();\n this.spotifySongPaused = false;\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n }\n else{\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n }\n \n \n }\n\n spotifySongProgressBarValue = 0;\n spotifySongPaused = false;\n spotifySongRepeatModeOn = false;\n spotifyVolume = 50;\n songEnded = false;\n already = true;\n spotifySongPause(){\n this.spotifyPlayerNew.pause().then(() => {\n console.log('Paused!');\n this.spotifySongPaused = true;\n document.getElementById(\"spotifySongPlay\").style.display = 'block';\n document.getElementById(\"spotifySongPause\").style.display = 'none';\n }); \n }\n volumeChange(e){\n console.log(e.target.value);\n this.spotifyPlayerNew.setVolume(e.target.value*0.01).then(() => {\n console.log('Volume updated!');\n if(e.target.value == 0){\n this.spotifyVolumeOn = false;\n }\n else if(!this.spotifyVolumeOn){\n this.spotifyVolumeOn = true;\n }\n });\n }\n spotifyPlayNext(){\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n // }\n // else if(this.spotifySongSelectedIndex == this.spotifyList.length-1){\n // // if(this.spotifySongRepeatModeOn){\n // this.spotifySongSelectedIndex = -1;\n // // }\n // } \n\n \n \n // this.currentlyPlayingSpotifySong = this.audioList[this.spotifySongSelectedIndex];\n // this.play(this.audioList[this.spotifySongSelectedIndex].url);\n \n /**** ***************************** Latest Commented ************************************ */\n\n\n // Check if this is last song\n // if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == this.spotifyList.length-1 && this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].length-1) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == this.spotifyList.length-1)){\n // // this.spotifySongSelectedIndex = -1;\n // let subTrackIndex = this.spotifyList[0].trackType == 'playlist' ? 0 : null;\n // this.playSelectedSong(this.spotifyList[0].trackType,0,subTrackIndex);\n // return;\n // } \n // else if(this.spotifySongTrackType == 'playlist'){\n // if(this.spotifyList[this.spotifySongPlaylistIndex].items.length-1 == this.spotifySongSelectedIndex){\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex+1].items[this.spotifySongSelectedIndex];\n // }\n // else{\n // this.spotifySongSelectedIndex = this.spotifySongSelectedIndex + 1;\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex].items[this.spotifySongSelectedIndex];\n // }\n // }\n // else{\n // this.spotifySongSelectedIndex = this.spotifySongSelectedIndex + 1;\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongSelectedIndex].items[0];\n // }\n // this.play(this.currentlyPlayingSpotifySong.uri);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // this.spotifySongPaused = false;\n \n //Check if it the last song\n // this.audioList.length\n\n /******************************************************************************************** */\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.spotifyList.length);\n\n // if(this.spotifyList)\n\n // }\n // else\n // debugger;\n\n if(this.spotifySongRepeatModeOn){\n this.spotifySongPlay();\n return;\n }\n if(this.spotifyShuffleModeOn){\n this.playShuffledSong();\n return;\n }\n if(this.spotifySongTrackType == 'playlist'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].items.length-1){\n this.spotifySongSelectedIndex = 0;\n }\n else{\n this.spotifySongSelectedIndex++;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getNextSingleAndPlay();\n }\n }\n spotifyProgressBarInterval;\n // play(url){\n // // this.songEnded = false;\n // setTimeout(()=>{\n // this.already = true;\n // },5000)\n \n // $.ajax({\n // url: \"https://api.spotify.com/v1/me/player/play?device_id=\" + this.device_id,\n // type: \"PUT\",\n // data: `{\"uris\": [\"${url}\"]}`,\n // // data: `{\"uris\": [\"}\"]}`,\n // beforeSend: (xhr)=>{xhr.setRequestHeader('Authorization', 'Bearer ' + this.spotifyToken );},\n // success: (data) => { \n // console.log(data);\n // this.startProgress();\n // // this.spotifyProgressBarInterval = setInterval(()=>{\n // // // console.log(this.spotifySongProgressBarValue);\n // // // console.log(this.position1);\n // // // console.log(this.duration1);\n // // // console.log(this.paused1);\n // // // console.log(this.state1);\n // // // let aa = this.getStatePosition();\n // // // console.log(aa);\n // // this.spotifyPlayerNew.getCurrentState().then(state => {\n // // if (!state) {\n // // console.error('User is not playing music through the Web Playback SDK');\n // // return;\n // // }\n // // console.log(state);\n // // this.spotifySongProgressBarValue = (state.position/state.duration)*100;\n // // console.log(this.spotifySongProgressBarValue);\n\n // // if(state.paused && !Math.trunc(this.spotifySongProgressBarValue)){\n // // clearInterval(this.spotifyProgressBarInterval);\n // // }\n\n // // });\n // // });\n // }\n // });\n // }\n play(url){\n // this.songEnded = false;\n setTimeout(()=>{\n this.already = true;\n },5000)\n \n $.ajax({\n url: \"https://api.spotify.com/v1/me/player/play?device_id=\" + this.device_id,\n type: \"PUT\",\n data: `{\"uris\": [\"${url}\"]}`,\n // data: `{\"uris\": [\"}\"]}`,\n beforeSend: (xhr)=>{xhr.setRequestHeader('Authorization', 'Bearer ' + this.spotifyToken );},\n success: (data) => { \n console.log(data);\n this.startProgress();\n },\n error:(arg1,arg2,arg3) => {\n console.log(\"Error occured while playing the song\");\n console.log(arg1);\n console.log(arg2);\n console.log(arg3);\n }\n });\n }\n spotifySongPlayedTill = '0:00';\n spotifyShuffleModeOn = false;\n originalSpotifyList = [];\n spotifySongShuffleToggle(){\n this.spotifyShuffleModeOn = !this.spotifyShuffleModeOn;\n // if(this.spotifyShuffleModeOn){\n // this.spotifyList = this.shuffle(this.spotifyList);\n // }\n // else{\n // this.spotifyList = this.originalSpotifyList;\n // }\n }\n\n shuffle(array) {\n let currentIndex = array.length, randomIndex;\n \n // While there remain elements to shuffle.\n while (currentIndex != 0) {\n \n // Pick a remaining element.\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n \n // And swap it with the current element.\n [array[currentIndex], array[randomIndex]] = [\n array[randomIndex], array[currentIndex]];\n }\n \n return array;\n }\n\n\n spotifySongState;\n startProgress(){\n console.log(\"started\");\n this.spotifySongProgressBarValue = 0;\n this.spotifyProgressBarInterval = setInterval(()=>{\n // console.log(this.spotifySongProgressBarValue);\n // console.log(this.position1);\n // console.log(this.duration1);\n // console.log(this.paused1);\n // console.log(this.state1);\n // let aa = this.getStatePosition();\n // console.log(aa);\n this.spotifyPlayerNew.getCurrentState().then(state => {\n if (!state) {\n console.error('User is not playing music through the Web Playback SDK');\n return;\n }\n this.spotifySongState = state;\n // console.log(state);\n this.spotifySongProgressBarValue = (state.position/state.duration)*100;\n this.spotifySongPlayedTill = this.getTimeInMinuteAndSeconds(state.position);\n // console.log(this.spotifySongProgressBarValue);\n\nif(this.already){\n if(state.paused && !this.spotifySongProgressBarValue){\n clearInterval(this.spotifyProgressBarInterval);\n console.log(\"end\");\n // if(this.already){\n this.checkNextAndPlay();\n this.already = false;\n // }\n // if(!this.songEnded){\n // let timer = 0;\n // if(this.spotifySongSelectedIndex == this.audioList.length-1){\n // timer = 4000;\n // }\n // else{\n // timer = 1000;\n // }\n // setTimeout(()=>{\n // this.checkNextAndPlay();\n // },timer);\n \n // this.songEnded = true;\n // }\n \n }\n}\n \n\n });\n },1000);\n\n }\n \n checkNextAndPlay(){\n if(this.spotifySongRepeatModeOn){\n this.spotifySongPlay();\n }\n else{\n console.log(\"1\");\n console.log(\"2\");\n console.log(\"3\");\n console.log(\"4\");\n if(this.spotifyShuffleModeOn){\n this.playShuffledSong();\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n }\n else if(this.spotifySongTrackType == 'playlist'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].items.length-1){\n this.spotifySongSelectedIndex = 0;\n }\n else{\n this.spotifySongSelectedIndex++;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getNextSingleAndPlay();\n }\n\n // else if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == this.spotifyList.length-1 && this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].length-1) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == this.spotifyList.length-1)){\n // // this.spotifySongSelectedIndex = -1;\n // let subTrackIndex = this.spotifyList[0].trackType == 'playlist' ? 0 : null;\n // this.playSelectedSong(this.spotifyList[0].trackType,0,subTrackIndex);\n // } \n // else{\n // this.spotifyPlayNext();\n // }\n \n }\n \n }\n getNextSingleAndPlay(){\n for(let i=this.spotifySongSelectedIndex;i {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n if(this.spotifySongState){\n this.spotifyPlayerNew.seek((e.target.value/100)*this.spotifySongState.duration).then(() => {\n console.log('Changed position!');\n });\n }\n else {\n console.error('User is not playing music through the Web Playback SDK');\n return;\n }\n \n // });\n }\n\n getTimeInMinuteAndSeconds = function(timeInMilli){\n let seconds = timeInMilli/1000;\n if(Math.trunc(seconds%60).toString().length == 1){\n return Math.trunc(seconds/60) + \":0\" + Math.trunc(seconds%60);\n }\n else{\n return Math.trunc(seconds/60) + \":\" + Math.trunc(seconds%60);\n }\n \n }\n \n async checkSpotifyAuthorized(){\n // let spotifyTokenInfo = localStorage.getItem(\"spotifyTokenInfo\");\n // if(spotifyTokenInfo){\n // console.log(spotifyTokenInfo);\n // let spotifyTokenInfoParsed = JSON.parse(spotifyTokenInfo);\n // console.log(spotifyTokenInfoParsed);\n // if(!spotifyTokenInfoParsed.accessToken){\n // this.spotifyAuth();\n // }\n // else{\n // // Check token validity\n // console.log(\"check token validity\");\n // }\n // }\n // else{\n // this.spotifyAuth();\n // }\n let spotifyTokenInfoParsed:any = await this.getSpotifyToken();\n // debugger;\n // spotifyTokenInfoParsed\n console.log(spotifyTokenInfoParsed);\n if(spotifyTokenInfoParsed){\n console.log(spotifyTokenInfoParsed);\n // let spotifyTokenInfoParsed = JSON.parse(spotifyTokenInfo);\n console.log(spotifyTokenInfoParsed);\n\n // Check token expired\n // new Date().getTime() - spotifyTokenInfoParsed.expiresAtDate) >= (30*60*1000\n if(new Date().getTime() >= (spotifyTokenInfoParsed.expiresAtDate - (30*60*1000))){\n let refreshTokenResponse = await this.refreshSpotifyToken(spotifyTokenInfoParsed.refresh_token);\n refreshTokenResponse['expiresAtDate'] = (refreshTokenResponse.expires_in*1000) + new Date().getTime();\n this.updateSpotifyToken(refreshTokenResponse);\n this.spotifyTokenInfo = refreshTokenResponse;\n this.spotifyInitialization();\n }\n else{\n this.spotifyTokenInfo = spotifyTokenInfoParsed;\n this.spotifyInitialization();\n }\n \n }\n else{\n this.spotifyAuth();\n }\n }\n\n spotifyTokenInfo:any;\n\n updateSpotifyToken(data){\n this.service.saveOrUpdateSpotifyToken(data).subscribe((res:any)=>{\n console.log(data);\n })\n }\n\n async refreshSpotifyToken(refresh_token){\n\n let body = new URLSearchParams({\n grant_type: 'refresh_token',\n refresh_token: refresh_token,\n client_id: 'b9568077e42a48ba89e30e3c7aa48b33',\n });\n const response = await fetch('https://accounts.spotify.com/api/token', {\n method: 'POST',\n body:body,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n });\n\n const data = await response.json();\n\n console.log(data);\n\n if(data.error){\n this.spotifyAuth();\n }\n else{\n return data;\n }\n\n // this.service.saveOrUpdateSpotifyToken(data).subscribe((res:any)=>{\n // console.log(data);\n // })\n }\n\n async getSpotifyToken(){\n return new Promise((resolve,reject)=>{\n this.service.getSpotifyAuthToken().subscribe((res:any)=>{\n console.log(res);\n if(res.data && res.data.access_token){\n resolve(res.data);\n }\n else{\n this.spotifyAuth();\n }\n },\n err => {\n console.log(err);\n this.toastrService.info(\"There is some issue with spotify.Please try after sometime\");\n resolve('');\n })\n })\n // return \n // let tokenInfo = localStorage.getItem('spotifyTokenInfo');\n // return tokenInfo;\n }\n\n generateRandomString(length) {\n let text = '';\n let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n \n for (let i = 0; i < length; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n async generateCodeChallenge(codeVerifier) {\n function base64encode(string) {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(string)))\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '');\n }\n \n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await window.crypto.subtle.digest('SHA-256', data);\n \n return base64encode(digest);\n }\n\n spotifyAuth(){\n console.log(\"from spotify-auth\");\n const clientId = 'b9568077e42a48ba89e30e3c7aa48b33';\n\n // const redirectUri = 'http://localhost:4200/spotify-auth-redirect';\n\n // const redirectUri = 'https://web.theindietown.com/spotify-auth-redirect';\n\n const redirectUri = 'https://indietown.org/spotify-auth-redirect';\n\n let codeVerifier = this.generateRandomString(128);\n\n console.log(\"codeVerifier\",codeVerifier);\n\n this.generateCodeChallenge(codeVerifier).then(codeChallenge => {\n let state = this.generateRandomString(16);\n console.log(\"state\",state);\n\n let scope = 'streaming user-read-email user-modify-playback-state user-read-private';\n\n localStorage.setItem('code_verifier', codeVerifier);\n\n let args = new URLSearchParams({\n response_type: 'code',\n client_id: clientId,\n scope: scope,\n redirect_uri: redirectUri,\n state: state,\n code_challenge_method: 'S256',\n code_challenge: codeChallenge\n });\n\n // Location.g\n // Location.go('https://accounts.spotify.com/authorize?' + args);\n // Location.\n this.document.location.href = 'https://accounts.spotify.com/authorize?' + args;\n });\n }\n showAddUrlLoader:Boolean = false;\n addSpotifyUrl(){\n this.showAddUrlLoader = true;\n console.log((document.getElementById(\"spotifyUrlNew\")).value);\n let spotifyUrl = (document.getElementById(\"spotifyUrlNew\")).value;\n this.service.addSpotifyUrl({url:spotifyUrl}).subscribe((res:any)=>{\n this.showAddUrlLoader = false;\n console.log(res);\n this.spotifyList.unshift(res.data);\n (document.getElementById(\"spotifyUrlNew\")).value = '';\n this.myInputValuedyn = '';\n },(err)=>{\n this.showAddUrlLoader = false;\n console.log(err);\n this.toastrService.info(err?.error?.message);\n (document.getElementById(\"spotifyUrlNew\")).value = '';\n this.myInputValuedyn = '';\n })\n }\n\n spotifyList = [];\n \n\n // removeSingleTrack(index){\n // let id = this.spotifyList[index]._id;\n // this.service.removeSingleTrack(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.spotifyList.splice(index,1);\n // }\n // })\n // }\n\n // removePlaylist(index){\n // let id = this.spotifyList[index]._id;\n // this.service.removePlaylist(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.spotifyList.splice(index,1);\n // }\n // })\n // }\n\n // removePlaylistItem(index, subtrackIndex){\n // let id = this.spotifyList[index].items[subtrackIndex]._id;\n // this.service.removePlaylistItem(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.spotifyList[index].items.splice(subtrackIndex,1);\n // if(!this.spotifyList[index].items.length){\n // this.spotifyList.splice(index,1);\n // }\n // }\n // })\n // }\n\n playlistOpened(index){\n // expanded = !expanded;\n console.log(\"playlist opened\",index);\n this.spotifyList[index].expanded = true;\n // this.selectedSpotifyPlaylistIndex = index;\n // 22931509_SID@ftts.BSNL.IR\n let playlistId = this.spotifyList[index]._id;\n this.service.getPlaylistItems(playlistId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList[index].items = res.data;\n }\n this.spotifyList[index].expanded = false;\n },err => {\n this.toastrService.info(\"Please try after sometime!\")\n this.spotifyList[index].expanded = false;\n })\n }\n\n getMoreSpotifyTracks:Boolean = true;\n spotifyPageNumber = 1;\n spotifyPageLimit = 20;\n loadMoreSpotifyTracks(e){\n console.log(\"load more spotify tracks\");\n if(this.getMoreSpotifyTracks){\n this.spotifyPageNumber++;\n this.service.getSpotifyList(this.userId,this.spotifyPageNumber,this.spotifyPageLimit).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n for(let i=0;i{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList.splice(this.removeSpotifyIndex,1);\n this.checkSpotifyListAndHidePlayer();\n }\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n removePlaylist(){\n let id = this.spotifyList[this.removeSpotifyIndex]._id;\n this.service.removeSpotifyPlaylist(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList.splice(this.removeSpotifyIndex,1);\n this.checkSpotifyListAndHidePlayer();\n }\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n removePlaylistItem(){\n let id = this.spotifyList[this.removeSpotifyIndex].items[this.removeSpotifySubtrackIndex]._id;\n this.service.removeSpotifyPlaylistItem(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList[this.removeSpotifyIndex].items.splice(this.removeSpotifySubtrackIndex,1);\n if(!this.spotifyList[this.removeSpotifyIndex].items.length){\n this.spotifyList.splice(this.spotifyList[this.removeSpotifyIndex],1);\n // this.SpotifyPlayListModalRef?.hide();\n }\n this.checkSpotifyListAndHidePlayer();\n }\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n checkSpotifyListAndHidePlayer(){\n if(!this.spotifyList.length){\n this.spotifyPlayerNew.pause();\n this.spotifySongSelected = false;\n }\n }\n\n @Input('addSpotify')\n set addSpotify(data: any) {\n //do whatever you want with your data here, this data will be passed from parent component\n console.log(\"spotify to add\",data);\n if(data && Object.keys(data).length){\n this.spotifyList.unshift(data);\n }\n }\n\n selectedSpotifySong;\n navigateToSelectedSong(type,index,subTrackIndex:any){\n // var names = document.querySelectorAll('ang-music-player audio');\n // var image = document.querySelectorAll('ang-music-player img');\n // var title = document.querySelectorAll('ang-music-player p');\n \n console.log(type);\n console.log(index);\n console.log(subTrackIndex);\n \n if(type == 'playlist'){\n this.selectedSpotifySong = this.spotifyList[index].items[subTrackIndex];\n }\n else{\n this.selectedSpotifySong = this.spotifyList[index].items[0];;\n }\n\n console.log(this.selectedSpotifySong);\n console.log(this.selectedSpotifySong?.uri?.split(\":\")[2]);\n\n let trackPath = this.selectedSpotifySong?.uri?.split(\":\")[2];\n \n window.open(\"https://open.spotify.com/track/\"+trackPath,'_blank');\n }\n\n}\n","
      \n
      \n
      \n
      \n

      Suggested Friends

      \n
      \n
      \n
      \n \n \n \n {{\n band?.bandName |titlecase\n }}\n \n \n {{band?.communityIds.length>0 ? ((band?.communityIds[0]?.communityName != null ? band?.communityIds[0]?.communityName : '') + (band?.communityIds[1]?.communityName!=null ? \" | \" +band?.communityIds[1]?.communityName : '')): ((band?.genereIds[0]?.genereName!=null ? band?.genereIds[0]?.genereName : '') + (band?.genereIds[1]?.genereName!=null ? \" | \" +band?.genereIds[1]?.genereName : '') + (band?.genereIds[2]?.genereName ? \" | \" +band?.genereIds[2]?.genereName :\n ''))}}\n \n\n \n \n Add Friend\n \n \n \n Pending\n \n \n Accept\n \n \n
      \n
      \n
      \n\n\n
      \n \n
      \n
      \n

      Are you sure you want to cancel
      \n this request?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      ","import { Component, Input, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { SharedService } from \"../services/shared.service\";\nimport { BsModalService } from \"ngx-bootstrap/modal\";\n\n@Component({\n selector: \"app-suggestions-card\",\n templateUrl: \"./suggestions-card-component.html\",\n styleUrls: [\"./suggestions-card-component.scss\"],\n})\n\nexport class SuggestionsCardsComponent implements OnInit {\n @ViewChild(\"cancelRequest\") cancelRequest: TemplateRef;\n \n bandSuggestionList:any = [];\n modalref: any;\n constructor(\n private modalService: BsModalService,\n public router: Router,\n private service: SharedService,\n private toastrService: ToastrService,\n private spinner: SpinnerVisibilityService\n ) {}\n\n ngOnInit(): void {\n // this.getPlayList();\n this.getBandSuggestion(1);\n }\n getBandSuggestion(page){\n let data = {\n \"radius\": 200,\n \"phoneBook\":[],\n \"pageNumber\":page,\n \"bandName\":'',\n \"limit\":1000,\n \"location\":{\n \"lat\": '',\n \"long\":'', \n }\n }\n this.service.getBandSuggestions(data).subscribe((res:any) => {\n if(res.type == 'success'){\n this.bandSuggestionList = res.data;\n }\n })\n }\n addFriendButtonText:string = \"Add Friend\";\n\n AddFriend(id:any, index){\n let data = document.getElementById('addFriendText'+id).innerText;\n if(data=='Pending'){\n // this.spinner.show();\n // document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n // document.getElementById('addFriendText'+id).style.background = 'black';\n // document.getElementById('addFriendText'+id).style.color = 'white';\n this.cancelRequestId = id;\n this.modalref = this.modalService.show(this.cancelRequest,{class:'cancelrequestmodall'});\n // this.service.cancelRequest({\"action\":\"CANCEL\"},id).subscribe((res:any)=>{\n // if(res.type=='success'){\n // this.toastrService.success(res.message); \n // }\n // })\n // this.spinner.hide();\n }else if(data=='Add Friend'){\n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Pending'\n document.getElementById('addFriendText'+id).style.background='white';\n document.getElementById('addFriendText'+id).style.color='black';\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => { \n if(res.type == 'success'){\n // this.toastrService.success(res.message); \n this.toastrService.success(\"Friend request sent\"); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else if(data=='Accept'){ \n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Friend'; \n document.getElementById('addFriendText'+id).classList.add(\"friend\");\n document.getElementById('addFriendText'+id).classList.remove(\"requestSent\");\n\n document.getElementById('addFriendText'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.service.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastrService.success(\"Friend request accepted\");\n // debugger;\n // let index = this.moreData.findIndex((obj)=>{\n // return obj._id == id\n // });\n // if(index != -1){\n // this.moreData[index].friendStatus = \"FRIEND\";\n // }\n }else{\n this.toastrService.error(res.message); \n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }\n \n}\ncancelRequestId;\ncancelRequestModalRef;\n\nshowCancelRequestLoader: Boolean = false;\ncancelFriendRequest(){\n this.showCancelRequestLoader = true;\n let id = this.cancelRequestId;\n \n \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n this.showCancelRequestLoader = false;\n if(res.type=='success'){\n this.toastrService.success(\"Cancelled friend request\"); \n document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n document.getElementById('addFriendText'+id).style.background = 'black';\n document.getElementById('addFriendText'+id).style.color = 'white';\n }\n else{\n this.toastrService.info(\"please try after some time!\"); \n }\n this.modalref.hide();\n },err => {\n this.showCancelRequestLoader = false;\n this.toastrService.info(\"please try after some time!\"); \n this.modalref.hide();\n })\n}\n\n}\n","
      \n
      \n
      \n
      \n \n \n

      Terms and Conditions

      \n
      \n\n
      \n \n

      Last Modified: August 23, 2023

      \n
        \n
      • Acceptance of the Terms of Use\n
          \n
        • These website terms of use (these \"Terms of Use\")\n of the Indie App, Inc. website,\n [indietown.org] (the \"Website\") are entered into\n by Indie App, Inc. (the\n \"Company,\" \"We,\" or \"Us\") and by visitors to the Website (\"You\"). These Terms\n of Use, together with any documents they incorporate by reference, govern your\n access to and use of the Website, including any content, functionality, and services\n offered on or through the Website.\n
        • \n
        • \n Please read the Terms of Use carefully before You start to use the Website. By\n accessing or using the Website or by clicking to accept or agree to the Terms\n of Use when this option is made available to You, You accept and agree to be\n bound and abide by these Terms of Use and our Privacy Policy, found at\n indietown.org, incorporated herein by reference. If You do not want to agree\n to\n these Terms of Use or the Privacy Policy, You must not access or use the Website.\n
        • \n
        • \n This Website is only offered and available to users who are 13 years of age or\n older. By using this Website, You represent and warrant that You are of legal age\n to form a binding contract with the Company and meet all of the foregoing\n eligibility requirements.\n
        • \n
        \n
      • \n
      • \n Changes to the Terms of Use\n
          \n
        • \n We may revise and update these Terms of Use from time to time in our sole\n discretion. Your continued use of the Website following the posting of revised\n Terms of Use means that You accept and agree to the changes. You are expected\n to check this page from time to time so You are aware of any changes, as they are\n binding on You.\n
        • \n
        \n
      • \n
      • \n Accessing the Website and Account Security\n
          \n
        • \n We reserve the right to withdraw or amend this Website, and any service or\n material We provide on the Website, in our sole discretion without notice. We will\n not be liable if for any reason all or any part of the Website is unavailable at any\n time or for any period. From time to time, We may restrict access to some parts of\n the Website, or the entire Website.\n
        • \n
        • \n To access the Website or some of the resources it offers, You may be asked to\n provide certain registration details or other information. It is a condition of your\n use of the Website that all the information You provide on the Website is correct,\n current, and complete. You agree that all information You provide to register with\n this Website or otherwise, including, but not limited to, through the use of any\n interactive features on the Website, is governed by our Privacy Policy at\n indietown.org, and You consent to all actions We take with respect to your\n information consistent with our Privacy Policy.\n\n
        • \n
        • \n If You choose, or are provided with, a user name, password, or any other piece of\n information as part of our security procedures, You must treat such information as\n confidential, and You must not disclose it to any other person or entity. You also\n acknowledge that your account is personal to You and agree not to provide any\n other person with access to this Website or portions of it using your user\n name,password, or other security information. You agree to notify Us immediately of\n any unauthorized access to or use of your user name or password or any other\n breach of security. You also agree to ensure that You exit from your account at the\n end of each session. You should use particular caution when accessing your\n account from a public or shared computer so that others are not able to view or\n record your password or other personal information.\n
        • \n
        • \n We have the right to disable any user name, password, or other identifier, whether\n chosen by You or provided by Us, at any time in our sole discretion for any or no\n reason, including if, in our opinion, You have violated any provision of these\n Terms of Use.\n
        • \n
        \n
      • \n
      • Intellectual Property Rights and Trademarks\n
          \n
        • The Website and its entire contents, features, and functionality (including but not\n limited to all information, software, text, displays, images, video, and audio, and\n the design, selection, and arrangement thereof) are owned by the Company, its\n licensors, or other providers of such material and are protected by United States\n and international copyright, trademark, patent, trade secret, and other intellectual\n property or proprietary rights laws.
        • \n
        • \n These Terms of Use permit You to use the Website for your personal,\n non-commercial use only. You must not reproduce, distribute, modify, create\n derivative works of, publicly display, publicly perform, republish, download,\n store, or transmit any of the material on our Website, except as follows.\n
            \n
          • \n Your computer may temporarily store copies of such materials in RAM\n incidental to your accessing and viewing those materials.\n
          • \n
          • \n You may store files that are automatically cached by your Web browser for\n display enhancement purposes.\n
          • \n
          • \n If We provide desktop, mobile, or other applications for download, You\n may download a single copy to your computer or mobile device solely for\n your own personal, non-commercial use, provided You agree to be bound\n by our end user license agreement for such applications.\n
          • \n
          • \n If we provide social media features You may take such actions as are\n enabled and authorized by such features.\n\n
          • \n\n
          \n
        • \n
        • \n You must not:\n
            \n
          • modify copies of any materials from this site;
          • \n
          • use any illustrations, photographs, video or audio sequences, or any\n graphics separately from the accompanying text; or
          • \n
          • \n delete or alter any copyright, trademark, or other proprietary rights notices\n from copies of materials from this site.\n
          • \n
          \n
        • \n
        • \n You must not access or use for any commercial purposes any part of the Website\n or any services or materials available through the Website.\n
        • \n
        • \n If You print, copy, modify, download, or otherwise use or provide any other\n person with access to any part of the Website in breach of the Terms of Use, your\n right to use the Website will stop immediately and You must, at our option, return\n or destroy any copies of the materials You have made. No right, title, or interest in\n or to the Website or any content on the Website is transferred to You, and all\n rights not expressly granted are reserved by the Company. Any use of the Website\n not expressly permitted by these Terms of Use is a breach of these Terms of Use\n and may violate copyright, trademark, and other laws.\n
        • \n
        • \n The Company name, the Company logo, and all related names, logos, product and\n service names, designs, terms, and slogans are trademarks of the Company or its\n affiliates or licensors. You must not use such marks without the prior written\n permission of the Company. All other names, logos, product and service names,\n designs, and slogans on this Website are the trademarks of their respective\n owners.\n
        • \n
        \n\n
      • \n
      • Prohibited Uses\n
          \n
        • You may use the Website only for lawful purposes and in accordance with these\n\n Terms of Use. You agree not to use the Website:\n
            \n
          • in any way that violates any applicable federal, state, local, or international\n law or regulation (including, without limitation, any laws regarding the\n export of data or software to and from the US or other countries);\n
          • \n
          • \n for the purpose of exploiting, harming, or attempting to exploit or harm\n minors in any way by exposing them to inappropriate content, asking for\n personally identifiable information, or otherwise;\n\n
          • \n
          • \n to transmit, or procure the sending of, any advertising or promotional\n material without our prior written consent, including any \"junk mail,\"\n \"chain letter,\" \"spam,\" or any other similar solicitation;\n
          • \n
          • to impersonate or attempt to impersonate the Company, a Company\n employee, another user, or any other person or entity (including, without\n limitation, by using email addresses or screen names associated with any\n of the foregoing); or
          • \n
          • \n to engage in any other conduct that restricts or inhibits anyone's use or\n enjoyment of the Website, or which, as determined by Us, may harm the\n Company or users of the Website, or expose them to liability.\n
          • \n
          \n\n
        • \n
        • \n Additionally, You agree not to:\n
            \n
          • use the Website in any manner that could disable, overburden, damage, or\n impair the site or interfere with any other party's use of the Website,\n including their ability to engage in real time activities through the Website;\n
          • \n
          • use any robot, spider, or other automatic device, process, or means to\n access the Website for any purpose, including monitoring or copying any\n of the material on the Website;
          • \n
          • \n use any manual process to monitor or copy any of the material on the\n Website, or for any other purpose not expressly authorized in these Terms\n of Use, without our prior written consent;\n
          • \n
          • \n use any device, software, or routine that interferes with the proper working\n of the Website;\n
          • \n
          • \n introduce any viruses, Trojan horses, worms, logic bombs, or other\n material that is malicious or technologically harmful;\n
          • \n
          • \n attempt to gain unauthorized access to, interfere with, damage, or disrupt\n any parts of the Website, the server on which the Website is stored, or any\n server, computer, or database connected to the Website;\n
          • \n
          • \n attack the Website via a denial-of-service attack or a distributed\n denial-of-service attack; or\n
          • \n
          • otherwise attempt to interfere with the proper working of the Website.
          • \n
          \n
        • \n
        \n
      • \n
      • User Contributions\n
          \n
        • The Website may contain message boards, chat rooms, personal web pages or\n profiles, forums, bulletin boards, and other interactive features (collectively,\n \"Interactive Services\") that allow users to post,\n submit, publish, display, or\n transmit to other users or other persons (hereinafter, \"post\") content or materials\n (collectively, \"User Contributions\") on or through\n the Website.\n
        • \n
        • Any User Contribution You post to the site will be considered non-confidential\n and non-proprietary. By providing any User Contribution on the Website, You\n grant Us and our affiliates and service providers, and each of their and our\n respective licensees, successors, and assigns the right to use, reproduce, modify,\n perform, display, distribute, and otherwise disclose to third parties any such\n material for any purpose/according to your account settings.
        • \n
        • \n You represent and warrant that:\n
            \n
          • You own or control all rights in and to the User Contributions and have the\n right to grant the license granted above to Us and our affiliates and service\n providers, and each of their and our respective licensees, successors, and\n assigns.
          • \n
          • \n All of your User Contributions do and will comply with these Terms of\n Use.\n
          • \n
          \n
        • \n
        • You understand and acknowledge that You are responsible for any User\n Contributions You submit or contribute, and You, not the Company, have full\n responsibility for such content, including its legality, reliability, accuracy, and\n appropriateness.
        • \n
        • We are not responsible or liable to any third party for the content or accuracy of\n any User Contributions posted by You or any other user of the Website.
        • \n
        • If You believe that any User Contributions violate your copyright, please contact\n Us at support@indietown.org with notice of\n copyright infringement. It is the\n policy of the Company to terminate the user accounts of repeat infringers. We\n respond to notices of alleged copyright infringement under the United States\n Digital Millennium Copyright Act. If You believe your intellectual property has\n been infringed, please notify Us at support@indietown.org.
        • \n
        \n
      • \n
      • Monitoring and Enforcement; Termination\n
          \n
        • We have the right to:\n
            \n
          • remove or refuse to post any User Contributions for any or no reason at\n our sole discretion;
          • \n\n
          • take any action with respect to any User Contribution that We deem\n necessary or appropriate in our sole discretion, including if We believe\n that such User Contribution violates the Terms of Use, infringes any\n intellectual property right or other right of any person or entity, threatens\n the personal safety of users of the Website or the public, or could create\n liability for the Company;
          • \n\n
          • disclose your identity or other information about You to any third party\n who claims that material posted by You violates their rights, including\n their intellectual property rights or their right to privacy;
          • \n\n
          • take appropriate legal action, including without limitation, referral to law\n enforcement, for any illegal or unauthorized use of the Website; or
          • \n\n
          • terminate or suspend your account and your access to all or part of the\n Website for any or no reason, including without limitation, any violation\n of these Terms of Use.
          • \n\n
          \n
        • \n
        • \n Without limiting the foregoing, We have the right to cooperate fully with any law\n enforcement authorities or court order requesting or directing Us to disclose the\n identity or other information of anyone posting any materials on or through the\n Website. YOU WAIVE AND HOLD HARMLESS THE COMPANY AND ITS\n AFFILIATES, LICENSEES, AND SERVICE PROVIDERS FROM ANY\n CLAIMS RESULTING FROM ANY ACTION TAKEN BY ANY OF THE\n FOREGOING PARTIES DURING, OR TAKEN AS A CONSEQUENCE OF,\n INVESTIGATIONS BY EITHER SUCH PARTIES OR LAW ENFORCEMENT\n AUTHORITIES.\n\n
        • \n
        • \n However, We do not undertake to review all material before it is posted on the\n Website, and cannot ensure prompt removal of objectionable material after it has\n been posted. Accordingly, We assume no liability for any action or inaction\n regarding transmissions, communications, or content provided by any user or\n third party. We have no liability or responsibility to anyone for performance or\n nonperformance of the activities described in this section.\n
        • \n
        \n
      • \n
      • Content Standards\n
          \n
        • These content standards apply to any and all User Contributions and use of\n Interactive Services. User Contributions must in their entirety comply with all\n applicable federal, state, local, and international laws and regulations. Without\n limiting the foregoing, User Contributions must not:\n
            \n
          • contain any material that is defamatory, obscene, indecent, abusive,\n offensive, harassing, violent, hateful, inflammatory, or otherwise\n objectionable;
          • \n
          • \n promote sexually explicit or pornographic material, violence, or\n discrimination based on race, sex, religion, nationality, disability, sexual\n orientation, or age;\n\n
          • \n
          • \n infringe any patent, trademark, trade secret, copyright, or other intellectual\n property or other rights of any other person;
          • \n\n
          • violate the legal rights (including the rights of publicity and privacy) of\n others or contain any material that could give rise to any civil or criminal\n liability under applicable laws or regulations or that otherwise may be in\n conflict with these Terms of Use and our Privacy Policy at indietown.org\n
          • \n
          • be likely to deceive any person;
          • \n\n
          • promote any illegal activity, or advocate, promote, or assist any unlawful\n act;
          • \n\n
          • cause annoyance, inconvenience, or needless anxiety or be likely to upset,\n embarrass, alarm, or annoy any other person;
          • \n\n
          • impersonate any person, or misrepresent your identity or affiliation with\n any person or organization;
          • \n\n
          • involve commercial activities or sales, such as contests, sweepstakes, and\n other sales promotions, barter, or advertising; or
          • \n
          • give the impression that they emanate from or are endorsed by Us or any\n other person or entity, if this is not the case.
          • \n
          \n
        • \n
        \n
      • \n
      • Reliance on Information Posted\n
          \n
        • The information presented on or through the Website is made available solely for\n general information purposes. We do not warrant the accuracy, completeness, or\n usefulness of this information. Any reliance You place on such information is\n strictly at your own risk. We disclaim all liability and responsibility arising from\n any reliance placed on such materials by You or any other visitor to the Website,\n or by anyone who may be informed of any of its contents.
        • \n
        • \n This Website includes content provided by third parties, including materials\n provided by other users, bloggers, and third-party licensors, syndicators,\n aggregators, and/or reporting services. All statements and/or opinions expressed\n in these materials, and all articles and responses to questions and other content,\n other than the content provided by the Company, are solely the opinions and the\n responsibility of the person or entity providing those materials. These materials do\n not necessarily reflect the opinion of the Company. We are not responsible, or\n liable to You or any third party, for the content or accuracy of any materials\n provided by any third parties.\n
        • \n
        \n
      • \n
      • \n Changes to the Website\n
          \n
        • We may update the content on the Website from time to time, but its content is not\n necessarily complete or up-to-date. Any of the material on the Website may be out of\n date\n at any given time, and We are under no obligation to update such material.
        • \n
        \n
      • \n
      • \n Information About You and Your Visits to the Website\n
          \n
        • All information We collect on this Website is subject to our Privacy Policy at\n indietown.org. By using the Website, You consent to all actions taken by Us with respect\n to your information in compliance with the Privacy Policy.
        • \n
        \n
      • \n
      • \n Other Terms and Conditions\n
          \n
        • Additional terms and conditions may also apply to specific portions, services, or\n features\n of the Website. All such additional terms and conditions are hereby incorporated by this\n reference into these Terms of Use.
        • \n
        \n
      • \n
      • \n Linking to the Website and Social Media Features\n
          \n
        • You may link to our homepage, provided You do so in a way that is fair and legal\n and does not damage our reputation or take advantage of it, but You must not\n establish a link in such a way as to suggest any form of association, approval, or\n endorsement on our part without our express consent.
        • \n
        • The Website may provide certain social media features that enable You to:\n
            \n
          • link from your own or certain third-party websites to certain content on the\n Website;
          • \n
          • send emails or other communications with certain content, or links to\n certain content, on the Website; or
          • \n
          • cause limited portions of content on the Website to be displayed or appear\n to be displayed on your own or certain third-party websites.
          • \n
          \n
        • \n
        • You may use these features solely as they are provided by Us, solely with respect\n to the content they are displayed with, and otherwise in accordance with any\n additional terms and conditions We provide with respect to such features. Subject\n to the foregoing, You must not:\n
            \n
          • establish a link from any website that is not owned by You,
          • \n
          • cause the Website or portions of it to be displayed on, or appear to be\n displayed by, any other site, for example, framing, deep linking, or in-line\n linking;\n
          • \n
          • link to any part of the Website other than the homepage; or
          • \n
          • otherwise take any action with respect to the materials on this Website that\n is inconsistent with any other provision of these Terms of Use.
          • \n
          \n
        • \n
        • The website from which You are linking, or on which you make certain content\n accessible, must comply in all respects with the Content Standards set out in these\n Terms of Use.
        • \n
        • You agree to cooperate with Us in causing any unauthorized framing or linking\n immediately to stop. We reserve the right to withdraw linking permission without\n notice.
        • \n
        • We may disable all or any social media features and any links at any time without\n notice at our discretion.
        • \n
        \n
      • \n
      • \n Links from the Website\n
          \n
        • If the Website contains links to other sites and resources provided by third parties,\n these\n links are provided for your convenience only. This includes links contained in\n advertisements, including banner advertisements and sponsored links. We have no control\n over the contents of those sites or resources, and accept no responsibility for them or\n for\n any loss or damage that may arise from your use of them. If You decide to access any of\n the third-party websites linked to this Website, You do so entirely at your own risk and\n subject to the terms and conditions of use for such websites.
        • \n
        \n
      • \n
      • \n Geographic Restrictions\n
          \n
        • The owner of the Website is based in the State of Washington in the United States. We\n provide this Website for use only by persons located in the United States. We make no\n claims that the Website or any of its content is accessible or appropriate outside of\n the\n United States. Access to the Website may not be legal by certain persons or in certain\n countries. If You access the Website from outside the United States, You do so on your\n own initiative and are responsible for compliance with local laws.
        • \n
        \n
      • \n
      • Disclaimer of Warranties\n
          \n
        • You understand that We cannot and do not guarantee or warrant that files\n\n available for downloading from the internet or the Website will be free of viruses\n or other destructive code. You are responsible for implementing sufficient\n procedures and checkpoints to satisfy your particular requirements for anti-virus\n protection and accuracy of data input and output, and for maintaining a means\n external to our site for any reconstruction of any lost data. TO THE FULLEST\n EXTENT PROVIDED BY LAW, WE WILL NOT BE LIABLE FOR ANY LOSS\n OR DAMAGE CAUSED BY A DISTRIBUTED DENIAL-OF-SERVICE\n ATTACK, VIRUSES, OR OTHER TECHNOLOGICALLY HARMFUL\n MATERIAL THAT MAY INFECT YOUR COMPUTER EQUIPMENT,\n COMPUTER PROGRAMS, DATA, OR OTHER PROPRIETARY MATERIAL\n DUE TO YOUR USE OF THE WEBSITE OR ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE OR TO YOUR DOWNLOADING OF\n ANY MATERIAL POSTED ON IT, OR ON ANY WEBSITE LINKED TO IT.
        • \n
        • YOUR USE OF THE WEBSITE, ITS CONTENT, AND ANY SERVICES OR\n ITEMS OBTAINED THROUGH THE WEBSITE IS AT YOUR OWN RISK.\n THE WEBSITE, ITS CONTENT, AND ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE ARE PROVIDED ON AN \"AS IS\"\n AND \"AS AVAILABLE\" BASIS, WITHOUT ANY WARRANTIES OF ANY\n KIND, EITHER EXPRESS OR IMPLIED. NEITHER THE COMPANY NOR\n ANY PERSON ASSOCIATED WITH THE COMPANY MAKES ANY\n WARRANTY OR REPRESENTATION WITH RESPECT TO THE\n COMPLETENESS, SECURITY, RELIABILITY, QUALITY, ACCURACY, OR\n AVAILABILITY OF THE WEBSITE. WITHOUT LIMITING THE\n FOREGOING, NEITHER THE COMPANY NOR ANYONE ASSOCIATED\n WITH THE COMPANY REPRESENTS OR WARRANTS THAT THE\n WEBSITE, ITS CONTENT, OR ANY SERVICES OR ITEMS OBTAINED\n THROUGH THE WEBSITE WILL BE ACCURATE, RELIABLE,\n ERROR-FREE, OR UNINTERRUPTED, THAT DEFECTS WILL BE\n CORRECTED, THAT OUR SITE OR THE SERVER THAT MAKES IT\n AVAILABLE ARE FREE OF VIRUSES OR OTHER HARMFUL\n COMPONENTS, OR THAT THE WEBSITE OR ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE WILL OTHERWISE MEET YOUR\n NEEDS OR EXPECTATIONS.
        • \n
        • TO THE FULLEST EXTENT PROVIDED BY LAW, THE COMPANY\n HEREBY DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER\n EXPRESS OR IMPLIED, STATUTORY, OR OTHERWISE, INCLUDING BUT\n NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,\n NON-INFRINGEMENT, AND FITNESS FOR PARTICULAR PURPOSE.
        • \n
        • \n THE FOREGOING DOES NOT AFFECT ANY WARRANTIES THAT\n CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.\n
        • \n
        \n
      • \n
      • Limitation on Liability\n
          \n
        • TO THE FULLEST EXTENT PROVIDED BY LAW, IN NO EVENT WILL\n THE COMPANY, ITS AFFILIATES, OR THEIR LICENSORS, SERVICE\n PROVIDERS, EMPLOYEES, AGENTS, OFFICERS, OR DIRECTORS BE\n LIABLE FOR DAMAGES OF ANY KIND, UNDER ANY LEGAL THEORY,\n ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR INABILITY\n TO USE, THE WEBSITE, ANY WEBSITES LINKED TO IT, ANY CONTENT\n ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY\n DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR\n PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, PERSONAL\n INJURY, PAIN AND SUFFERING, EMOTIONAL DISTRESS, LOSS OF\n REVENUE, LOSS OF PROFITS, LOSS OF BUSINESS OR ANTICIPATED\n SAVINGS, LOSS OF USE, LOSS OF GOODWILL, LOSS OF DATA, AND\n WHETHER CAUSED BY TORT (INCLUDING NEGLIGENCE), BREACH OF\n CONTRACT, OR OTHERWISE, EVEN IF FORESEEABLE.
        • \n
        • \n The limitation of liability set out above does not apply to liability resulting from\n our gross negligence or willful misconduct or death or bodily injury caused by\n products You purchase through the site.\n
        • \n
        • THE FOREGOING DOES NOT AFFECT ANY LIABILITY THAT CANNOT\n BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.
        • \n
        \n
      • \n
      • Indemnification\n
          \n
        • You agree to defend, indemnify, and hold harmless the Company, its affiliates,\n licensors,\n and service providers, and its and their respective officers, directors, employees,\n contractors, agents, licensors, suppliers, successors, and assigns from and against any\n claims, liabilities, damages, judgments, awards, losses, costs, expenses, or fees\n (including\n reasonable attorneys’ fees) arising out of or relating to your violation of these Terms\n of\n Use or your use of the Website, including, but not limited to, your User Contributions,\n any use of the Website's content, services, and products other than as expressly\n authorized in these Terms of Use, or your use of any information obtained from the\n Website.
        • \n
        \n
      • \n
      • Governing Law and Jurisdiction\n
          \n
        • All matters relating to the Website and these Terms of Use, and any dispute or\n claim arising therefrom or related thereto (in each case, including non-contractual\n disputes or claims), shall be governed by and construed in accordance with the\n internal laws of the State of Washington without giving effect to any choice or\n conflict of law provision or rule (whether of the State of Washington or any other\n jurisdiction).
        • \n
        • \n Any legal suit, action, or proceeding arising out of, or related to, these Terms of\n Use or the Website shall be instituted exclusively in the federal courts of the\n United States or the courts of the State of Washington, although We retain the\n right to bring any suit, action, or proceeding against You for breach of these\n Terms of Use in your country of residence or any other relevant country. You\n waive any and all objections to the exercise of jurisdiction over You by such\n courts and to venue in such courts.\n
        • \n
        \n
      • \n
      • \n Arbitration\n
          \n
        • At Company's sole discretion, it may require You to submit any disputes arising from\n these Terms of Use or use of the Website, including disputes arising from or concerning\n their interpretation, violation, invalidity, non-performance, or termination, to final\n and\n binding arbitration under the Rules of Arbitration of the American Arbitration\n Association applying Washington law.
        • \n
        \n
      • \n
      • Limitation on Time to File Claims\n
          \n
        • ANY CAUSE OF ACTION OR CLAIM YOU MAY HAVE ARISING OUT OF OR\n RELATING TO THESE TERMS OF USE OR THE WEBSITE MUST BE\n COMMENCED WITHIN ONE (1) YEAR AFTER THE CAUSE OF ACTION\n ACCRUES; OTHERWISE, SUCH CAUSE OF ACTION OR CLAIM IS\n PERMANENTLY BARRED.
        • \n
        \n
      • \n
      • Waiver and Severability\n
          \n
        • No waiver by the Company of any term or condition set out in these Terms of Use\n shall be deemed a further or continuing waiver of such term or condition or a\n waiver of any other term or condition, and any failure of the Company to assert a\n right or provision under these Terms of Use shall not constitute a waiver of such\n right or provision.
        • \n
        • \n If any provision of these Terms of Use is held by a court or other tribunal of\n competent jurisdiction to be invalid, illegal, or unenforceable for any reason, such\n provision shall be eliminated or limited to the minimum extent such that the\n remaining provisions of the Terms of Use will continue in full force and effect.\n
        • \n
        \n
      • \n
      • \n Entire Agreement\n
          \n
        • The Terms of Use, our Privacy Policy, and User License Agreemnt constitute the sole and\n entire agreement between You and Us regarding the Website and supersede all prior and\n contemporaneous understandings, agreements, representations, and warranties, both\n written and oral, regarding the Website.
        • \n
        \n
      • \n
      • \n Your Comments and Concerns\n
          \n
        • All feedback, comments, requests for technical support, and other\n communications relating to the Website should be directed to:\n support@indietown.org.\n
        • \n
        \n
      • \n
      \n
      \n
      \n
      \n
      ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-term',\n templateUrl: './term.component.html',\n styleUrls: ['./term.component.scss']\n})\nexport class TermComponent implements OnInit {\nisMobile:boolean=false;\n constructor( ) { \n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n ngOnInit() {\n }\n\n}\n","import { ChangeDetectorRef, Component, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\n// import { RegistrationPartService } from '../../registration-part/services/registration.service';\nimport { SharedService } from 'src/app/shared/services/shared.service';\n\n@Component({\n selector: 'shared-update-city',\n templateUrl: './update-city.component.html',\n styleUrls: ['./update-city.component.scss']\n})\nexport class UpdateCityComponent implements OnInit {\n\n submitted: boolean = false;\n imgURLCover: any;\n currentUser: any;\n selectedFile: any;\n profilePicUrl: any;\n coverPicUrl: any;\n profileData: any;\n profileImageFileUrl: any;\n profileImageKey: any;\n change: boolean = false;\n genersData: any = [];\n generIdsList: any = [];\n genreList: any = [];\n sample: any = [];\n role: any;\n\n @Output() addressDetails = new EventEmitter();\n\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n // private service: RegistrationPartService,\n private router: Router,\n private sharedService: SharedService,\n private fb: FormBuilder,\n private toastr: ToastrService,\n private cdr:ChangeDetectorRef\n ) { }\n\n\n ngOnInit(): void {\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n\n console.log(\"from heee\");\n // setTimeout(()=>{\n // console.log(1);\n // this.initAutocomplete();\n // console.log(2);\n // },5000);\n\n // this.initAutocomplete();\n\n this.sharedService.getProfile().subscribe((res: any) => {\n if (res.type == 'success') {\n this.profileData = res.data;\n // this.cityForm.get('bandName').setValue(this.profileData?.bandName);\n this.cityForm.get('city').setValue(this.profileData?.address?.city);\n this.cityForm.get('state').setValue(this.profileData?.address?.state);\n this.cityForm.get('country').setValue(this.profileData?.address?.country);\n this.cityForm.get('lat').setValue(this.profileData?.location?.coordinates[0]);\n this.cityForm.get('lng').setValue(this.profileData?.location?.coordinates[1]);\n }\n })\n }\n\n\n // bandName: new FormControl('', Validators.required),\n cityForm = new FormGroup({\n \n city: new FormControl('', Validators.required),\n state: new FormControl(''),\n country: new FormControl('', Validators.required),\n lat: new FormControl('', Validators.required),\n lng: new FormControl('', Validators.required),\n })\n\n nameError: any;\n\n updateName() {\n // if (this.cityForm.value.bandName.trim() == '') {\n // this.invalidName = true;\n // this.nameError = '*Please enter your name';\n // return\n // } else {\n // this.invalidName = false;\n // this.nameError = '';\n // }\n\n\n let data = {\n \"address\": {\n \"city\": this.cityForm.value.city,\n \"state\": this.cityForm.value.state,\n \"country\": this.cityForm.value.country,\n\n },\n // \"bandName\": this.cityForm.value.bandName.trim(),\n \"location\": {\n \"lat\": this.cityForm.value.lat,\n \"long\": this.cityForm.value.lng\n }\n }\n console.log(data);\n this.sharedService.updateProfile(data).subscribe((res: any) => {\n if (res.type == 'success') {\n // this.router.navigateByUrl(\"/profile/main\");\n this.addressDetails.emit(JSON.stringify(data));\n }\n })\n }\n\n\n latitude: any;\n longitude: any;\n\n initAutocomplete() {\n console.log(3);\n const map = new google.maps.Map(\n document.getElementById(\"map1234\") as HTMLElement,\n {\n center: { lat: this.latitude ? parseFloat(this.latitude) : 28.7041, lng: this.longitude ? parseFloat(this.longitude) : 77.1025 },\n zoom: 13,\n mapTypeId: \"roadmap\",\n }\n );\n // Create the search box and link it to the UI element.\n const input = document.getElementById(\"pac-input123\") as HTMLInputElement;\n console.log(input);\n const searchBox = new google.maps.places.Autocomplete(input, {\n types: ['(cities)']\n });;\n\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);\n\n // Bias the SearchBox results towards current map's viewport.\n map.addListener(\"bounds_changed\", () => {\n searchBox.setBounds(map.getBounds() as google.maps.LatLngBounds);\n });\n\n // Listen for the event fired when the user selects a prediction and retrieve\n // more details for that place.\n searchBox.addListener(\"place_changed\", () => {\n const place = searchBox.getPlace();\n\n // if (places.length == 0) {\n // return;\n // } \n\n if (!Object.keys(place)?.length) {\n return;\n }\n\n // For each place, get the icon, name and location.\n const bounds = new google.maps.LatLngBounds();\n\n // places.forEach((place) => {\n if (!place.geometry || !place.geometry.location) {\n console.log(\"Returned place contains no geometry\");\n return;\n }\n\n const icon = {\n url: place.icon as string,\n size: new google.maps.Size(71, 71),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(17, 34),\n scaledSize: new google.maps.Size(25, 25)\n };\n\n this.cityForm.get('lat').patchValue(place.geometry.location.lat());\n this.cityForm.get('lng').patchValue(place.geometry.location.lng());\n this.codeLatLng(place.geometry.location.lat(), place.geometry.location.lng());\n\n if (place.geometry.viewport) {\n // Only geocodes have viewport.\n bounds.union(place.geometry.viewport);\n } else {\n bounds.extend(place.geometry.location);\n }\n // });\n map.fitBounds(bounds);\n });\n\n }\n\n\n\n cityName: any;\n codeLatLng(lat: any, lng: any) {\n let geocoder = new google.maps.Geocoder();\n var latlng = new google.maps.LatLng(lat, lng);\n geocoder.geocode({ location: latlng }, (results, status) => {\n if (status == google.maps.GeocoderStatus.OK) {\n if (results[1]) {\n\n\n var country = null, countryCode = null, city = null, state = null;\n var c, lc, component;\n for (var r = 0, rl = results.length; r < rl; r += 1) {\n var result = results[r];\n console.log(result)\n\n if (!city && (result.types[0] === 'locality' || result.types[0] === 'postal_town' || result.types[0] === 'postal_code')) {\n for (c = 0, lc = result.address_components.length; c < lc; c += 1) {\n component = result.address_components[c];\n\n if (component.types[0] === 'locality' || component.types[0] === 'postal_town') {\n city = component.long_name;\n\n break;\n }\n }\n }\n \n else if ( result.types[0] === \"administrative_area_level_1\") {\n \n for (c = 0, lc = result.address_components.length; c < lc; c += 1) {\n component = result.address_components[c];\n console.log(component, \"component\")\n if (component.types[0] === 'administrative_area_level_1') {\n state = component.long_name;\n break;\n }\n }\n } else if (!country && result.types[0] === 'country') {\n country = result.address_components[0].long_name;\n countryCode = result.address_components[0].short_name;\n }\n\n if (city && country) {\n break;\n }\n }\n\n console.log(\"City: \" + city + \", State: \" + state + \", Country: \" + country + \", Country Code: \" + countryCode);\n if(city && state && country){\n // (document.getElementById('pac-input'))?.value = city;\n this.cityForm.controls['country'].setValue(country);\n (document.getElementById('pac-input123')).value = city;\n this.cityName = city;\n this.cityForm.controls['city'].setValue(city);\n this.cityForm.controls['state'].setValue(state);\n // && this.cityForm.value.bandName\n if (this.cityForm.value.city && this.cityForm.value.country) {\n (document.getElementById('nameAndAddressNext')).disabled = false;\n }\n }\n else{\n this.toastr.info(\"please search with your city name\");\n\n }\n\n // this.cityForm.controls['country'].setValue(results[len - 1].formatted_address.toString());\n // (document.getElementById('pac-input123')).value = results[0].address_components[3].long_name;\n // this.cityName = results[0].address_components[3].long_name;\n // this.cityForm.controls['city'].setValue(this.cityName);\n // this.cityForm.controls['state'].setValue(a.long_name);\n // if (this.cityForm.value.city && this.cityForm.value.country && this.cityForm.value.bandName) {\n // (document.getElementById('nameAndAddressNext')).disabled = false;\n // }\n\n // let a = [];\n // a = results[0].formatted_address.split(\",\");\n\n // for (i = 0; i < results[0].address_components.length; i++) {\n\n // let len = results.length;\n // this.cityForm.controls['country'].setValue(results[len - 1].formatted_address.toString());\n\n // (document.getElementById('pac-input123')).value = results[0].address_components[3].long_name;\n\n // this.cityName = results[0].address_components[3].long_name;\n // this.cityForm.controls['city'].setValue(this.cityName);\n // console.log(\"11112222\");\n // if (results[0].address_components[i].types[0] == 'postal_code')\n // (document.getElementById('abcd')).value = results[0].address_components[i].short_name;\n // console.log(\"11112222\", (document.getElementById('abcd')).value);\n // }\n\n // for (var i = 0; i < results[0].address_components.length; i++) {\n // for (var b = 0; b < results[0].address_components[i].types.length; b++) {\n\n // //there are different types that might hold a city admin_area_lvl_1 usually does in come cases looking for sublocality type will be more appropriate\n // if (results[0].address_components[i].types[b] == \"administrative_area_level_1\") {\n // let a = results[0].address_components[i];\n // this.cityForm.controls['state'].setValue(a.long_name);\n // if (this.cityForm.value.city && this.cityForm.value.country && this.cityForm.value.bandName) {\n // (document.getElementById('nameAndAddressNext')).disabled = false;\n // }\n // // (document.getElementById('pac-input')).value=cityArray[0];\n // break;\n // }\n // }\n // }\n } else {\n alert(\"No results found with the given city name\");\n }\n } else {\n }\n });\n }\n\n\n charCode: any;\n invalidName: any;\n CheckEnterPress(e: any) {\n this.invalidName = false;\n if (e.keyCode == 13) {\n e.preventDefault();\n return false;\n }\n }\n\n removeCity(e: any) {\n if (e == '') {\n this.hideLocSuggestions();\n this.cityForm.get('state').setValue('');\n this.cityForm.get('country').setValue('');\n }\n else{\n console.log(e);\n this.hideLocSuggestions();\n this.getLocationSuggestions(e);\n }\n }\n\n getLocationSuggestions(key){\n // delete (document.getElementById(\"programmingLanguages\") as HTMLUListElement).children\n (document.getElementById(\"programmingLanguages2\") as HTMLUListElement).innerHTML = '';\n this.cdr.detectChanges();\n const service = new google.maps.places.AutocompleteService();\n // getQueryPredictions\n // '(regions)','(cities)'\n service.getPlacePredictions({ input: key, types: ['(cities)'] }, (predictions)=>{\n console.log(predictions);\n // (document.getElementById(\"programmingLanguages\") as HTMLUListElement).innerHTML = '';\n this.hideLocSuggestions();\n predictions.forEach((prediction) => {\n if(prediction?.description?.split(',')?.length >= 2){\n const option = document.createElement(\"li\");\n option.appendChild(document.createTextNode(prediction.description));\n option.setAttribute(\"class\",\"suggestionItemClass\");\n option.setAttribute(\"description\",prediction.description);\n option.setAttribute(\"style\",\"padding:10px;\");\n option.setAttribute(\"placeId\",prediction.place_id);\n // option.setAttribute(\"country\",prediction.description.split(\",\")[2]);\n (document.getElementById(\"programmingLanguages2\") as HTMLUListElement).appendChild(option);\n }\n });\n this.setHandler();\n });\n }\n\n setHandler(){\n (document.getElementById(\"programmingLanguages2\") as HTMLUListElement).childNodes.forEach((node)=>{\n node.addEventListener('click', (e:any) => { \n console.log(\"yeas i am here\");\n console.log(e.target.getAttribute('description'));\n let desc = e.target.getAttribute('description');\n let placeId = e.target.getAttribute('placeId');\n (document.getElementById('pac-input123')).value = desc;\n this.hideLocSuggestions();\n if(desc.split(\",\")?.length == 2){\n this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[1]?.trim(),placeId)\n }\n else if(desc.split(\",\")?.length > 2){\n this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[2]?.trim(),placeId)\n }\n // this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[2]?.trim())\n // debugger;\n });\n })\n }\n\n hideLocSuggestions(){\n (document.getElementById(\"programmingLanguages2\") as HTMLUListElement).innerHTML = '';\n // (document.getElementById('programmingLanguages')).click();\n this.cdr.detectChanges();\n }\n \n getLatLngFromAddress(city, country,placeId){\n\n var address = city +\", \"+ country;\n var geocoder = new google.maps.Geocoder();\n\n let obj;\n\n if(placeId)\n obj = {placeId};\n else\n obj = {address};\n \n geocoder.geocode( obj, (results:any, status) => {\n \n if (status == google.maps.GeocoderStatus.OK) {\n // $('#latitude').val(results[0].geometry.location.Pa);\n // $('#longitude').val(results[0].geometry.location.Qa);\n console.log(results[0].geometry.location?.lat());\n console.log(results[0].geometry.location?.lng());\n \n this.cityForm.get('lat').patchValue(results[0].geometry.location?.lat());\n this.cityForm.get('lng').patchValue(results[0].geometry.location?.lng());\n this.codeLatLng(results[0].geometry.location?.lat(), results[0].geometry.location?.lng());\n // this.disabledSlider = false;\n // this.searchData();\n \n } else {\n console.log(\"Geocode was not successful for the following reason: \" + status);\n }\n });\n }\n}","\n\n
      \n
      \n
      \n
      \n

      Update City

      \n
      \n\n \n\n
      \n
      \n\n
      \n \n
      \n \n
      \n \n
      \n
      \n
      \n
      \n\n","\n\n
      \n \n
      \n
      \n

      Update Cover Picture

      \n
      \n
      \n
      \n
      \n\n
      \n \"\"\n \n
      \n \n\n
      \n \n \n \n\n \n \n \n \n \n \n \"\"\n \n \"\"\n\n \n
      \n\n
      \n \n
      \n
      \n
      \n
      \n
      \n \n
      \n\n\n
      \n

      Cover Picture

      \n \n
      \n
      \n
      \n \n \n\n \n \n \n \n \n
      \n
      \n \n
      \n \n \n \n \n \n\n \n \n \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n
      \n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NavigationEnd, Router } from '@angular/router';\n// import { RegistrationPartService } from '../../registration-part/services/registration.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { LocationStrategy } from '@angular/common';\n// import { UrlService } from '../../registration-part/services/url.service';\nimport { filter } from 'rxjs/operators';\nimport { SharedService } from 'src/app/shared/services/shared.service';\n\n@Component({\n selector: 'shared-update-cover',\n templateUrl: './update-cover.component.html',\n styleUrls: ['./update-cover.component.scss']\n})\nexport class UpdateCoverComponent implements OnInit {\n\n submitted: boolean = false;\n imgURLCover:any;\n currentUser:any;\n selectedFile:any;\n profilePicUrl:any;\n coverPicUrl:any;\n profileData:any;\n popupedits: boolean;\n croppedCoverPicRef: any;\n coverImageFileUrl:any;\n coverImageKey:any;\n change:boolean = false;\n coverPictureImageChangedEvent: string;\n originalCoverPicRef: any;\n coverPicCropperUrl: string;\n coverPictureImageTransform: {};\n coverPictureScale: number;\n originalCoverPicName: any;\n coverPictureCropModalRef: any;\n showEditIcon:boolean=false;\n showDeleteCoverButton:boolean;\n\n @Output() coverPicDetails = new EventEmitter();\n @Input() profileURL;\n \n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n // private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy,\n // private urlService: UrlService,\n private sharedService: SharedService\n ) { }\n\n ngOnInit(): void {\n\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n\n this.sharedService.getProfile().subscribe((res:any)=> {\n if(res.type == 'success'){\n this.profileData = res.data;\n if(res.data?.coverImage.fileUrl){\n this.showEditIcon = true;\n this.showDeleteCoverButton = true;\n this.coverPicUrl = res.data?.coverImage.fileUrl;\n this.coverImageFileUrl =res.data?.coverImage.fileUrl,\n this.coverImageKey = res.data?.coverImage.key;\n this.updateProfile.controls[\"coverPic\"].setValue(this.coverPicUrl);\n this.updateProfile.controls[\"coverPicKey\"].setValue(this.coverImageKey);\n // debugger;\n }\n\n // if(res.data?.profileImage.fileUrl){\n // this.profilePicUrl = res.data?.profileImage.fileUrl;\n // }\n if(this.profileURL){\n this.profilePicUrl = this.profileURL;\n }\n }\n }) \n }\n updateProfile = new FormGroup({\n profilePic: new FormControl(''),\n profilePicKey: new FormControl(''),\n coverPic: new FormControl(''),\n coverPicKey: new FormControl(''),\n });\n uploadProfile(e:any){\n\n let files = e.target.files;\n let file = e.target.files[0];\n let fd = new FormData();\n fd.append(\"file\", file);\n if (e.target.files && e.target.files.length) {\n for (const file of e.target.files) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n const img = new Image();\n img.src = reader.result as string;\n document.getElementById('updatecoverpict').style.borderRadius=\"15px\";\n img.onload = () => {\n this.sharedService.uploadProfile(fd).subscribe((res:any)=>{\n this.change = true;\n this.showEditIcon = true;\n this.showDeleteCoverButton = true;\n this.coverPicUrl = res.data.fileUrl;\n this.coverImageFileUrl = res.data.fileUrl\n this.coverImageKey = res.data.key;\n })\n }\n }\n }\n}\n}\n\nsave(){\n\n\n let data = {\n \"coverImage\":{\n // \"fileUrl\": this.coverImageFileUrl,\n // \"key\": this.coverImageKey\n \"fileUrl\": this.updateProfile.controls[\"coverPic\"].value,\n \"key\": this.updateProfile.controls[\"coverPicKey\"].value,\n }\n } \n\n this.sharedService.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n // this.router.navigateByUrl(\"/profile/main\");\n this.coverPicDetails.emit(JSON.stringify(data));\n }\n })\n}\n\n// deleteCoverPic(){\n// this.showDeleteCoverButton = false;\n// this.showEditIcon = false;\n// this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n// this.coverImageFileUrl ='',\n// this.coverImageKey = ''\n// }\ndeleteCoverPic(){\n // debugger;\n this.showDeleteCoverButton = false;\n this.showEditIcon = false;\n // document.getElementById('profilepic').style.bottom=\"\";\n // document.getElementById('editicons').style.bottom=\"\";\n // document.getElementById('editicons').style.right=\"\";\n this.popupedits = false;\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n document.getElementById('coverpicurll').style.objectFit=\"\";\n this.coverImageFileUrl ='',\n this.coverImageKey = '';\n this.updateProfile.controls[\"coverPic\"].setValue(\"\");\n this.updateProfile.controls[\"coverPicKey\"].setValue(\"\");\n}\ncoverPictureCancelled(){\n this.coverPictureCropModalRef?.hide();\n if(this.originalCoverPicRef?.target?.value){\n this.originalCoverPicRef.target.value = '';\n }\n}\ncloseProfilePicModal() {\n this.coverPictureCropModalRef?.hide()\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n // this.router.navigate(['/register/cover-pic']);\n // });\n\n}\ncoverPictureZoomOut() {\n // if(this.scale == 1){\n // return;\n // }\n if (this.coverPictureScale >1) {\n this.coverPictureScale -= .1;\n this.coverPictureImageTransform = {\n ...this.coverPictureImageTransform,\n scale: this.coverPictureScale\n };\n }\n}\ncoverPictureZoomImage(e) {\n var slider: any = document.getElementById(\"myRangeCoverPic\");;\n console.log(slider.value)\n this.coverPictureScale = slider.value;\n this.coverPictureImageTransform = {\n ...this.coverPictureImageTransform,\n scale: slider.value\n };\n}\ncroppedCoverPicture(event) {\n console.log(\"Cover Picture Image Cropped\");\n console.log(event);\n this.croppedCoverPicRef = event;\n}\nscale:number;\ncoverPictureZoomIn() {\n // if (this.coverPictureScale <= 2) {\n // this.coverPictureScale += .1;\n // this.coverPictureImageTransform = {\n // ...this.coverPictureImageTransform,\n // scale: this.coverPictureScale\n // };\n // }\n\n if (this.coverPictureScale <= 2) {\n this.coverPictureScale += .1;\n console.log( this.scale)\n if (this.coverPictureScale <= 10) {\n console.log( \"hello\")\n this.coverPictureImageTransform = {\n ...this.coverPictureImageTransform,\n scale: this.coverPictureScale\n };\n } else {\n console.log( \"hi\")\n this.coverPictureScale = 1;\n this.coverPictureScale += .1;\n this.coverPictureImageTransform = {\n ...this.coverPictureImageTransform,\n scale: this.coverPictureScale\n };\n }\n }\n}\ndataURItoBlob(dataURI) {\n const parts = dataURI.split(';base64,');\n const byteString = atob(parts[1]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array], { type: 'image/png' }); \n return blob;\n}\nuploadCoverProfile(){\n // debugger;\n let file = this.croppedCoverPicRef.base64;\n let fd = new FormData();\n const imageFile = new File([this.dataURItoBlob(file)], this.originalCoverPicName, { type: 'image/png' });\n fd.append(\"file\", imageFile);\n this.sharedService.uploadProfile(fd).subscribe((res:any)=>{\n this.coverPicUrl = res.data.fileUrl;\n // document.getElementById('coverpicurll').style.objectFit=\"cover\";\n // if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n // document.getElementById('coverpicurll').style.height=\"200px\";\n // }\n // document.getElementById('profilepic').style.bottom=\"117px\";\n // document.getElementById('editicons').style.bottom=\"56px\";\n // document.getElementById('editicons').style.right=\"-332px\";\n this.updateProfile.controls[\"coverPic\"].setValue(res.data.fileUrl);\n this.updateProfile.controls[\"coverPicKey\"].setValue(res.data.key);\n this.showDeleteCoverButton = true;\n this.coverPictureCropModalRef.hide();\n if(this.originalCoverPicRef?.target?.value){\n this.originalCoverPicRef.target.value = '';\n }\n // this.showDeleteProfileButton = true;\n // this.profilePicUrl = res.data.fileUrl;\n // this.showDeleteProfileButton = true;\n // this.updateProfile.controls[\"profilePic\"].setValue(res.data.fileUrl);\n // this.updateProfile.controls[\"profilePicKey\"].setValue(res.data.key);\n // this.profilePicCropModalRef.hide();\n })\n}\n\nopenCoverPictureModal(type,fileChangedEvent:any,coverPicCropModal:TemplateRef){\n // debugger;\n this.popupedits = false;\n this.coverPictureImageChangedEvent = '';\n this.originalCoverPicRef = '';\n this.coverPicCropperUrl = '';\n this.coverPictureImageTransform = {};\n this.coverPictureScale = 1;\n\n let ngbModalOptions: any = {\n backdrop: 'static',\n keyboard: false,\n class:'profilepiccropmodall',\n };\n\n if(type == 'choose'){\n this.originalCoverPicRef = fileChangedEvent;\n this.coverPictureImageChangedEvent = fileChangedEvent;\n this.originalCoverPicName = fileChangedEvent?.target?.files[0]?.name;\n this.coverPictureCropModalRef = this.modalService.show(coverPicCropModal, ngbModalOptions); \n }\n else if(type == 'edit'){\n this.coverPictureImageChangedEvent = null;\n this.coverPicCropperUrl = this.coverPicUrl; \n this.coverPictureCropModalRef = this.modalService.show(coverPicCropModal, ngbModalOptions); \n }\n\n}\n\n}\n\n","\n\n
      \n
      \n
      \n

      Update Genre Community

      \n
      \n
      \n
      Selected {{chips.size}}
      \n
      You can rearrange these genres by dragging
      \n \n \n \n\n
      \n
      \n {{ option.genereName }}\"\"\n {{ option.communityName }}\"\"\n
      \n
      \n \n \n
      \n
      \n

      Select 1 -3

      \n

      Select 1 -2

      \n
      \n\n
      \n
      \n
      \n \n \n {{ option.genereName }}\n {{ option.communityName }}\n \n \n\n \n
      \n
      \n
      \n\n\n \n\n
      \n
      \n \n
      \n
      ","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NavigationEnd, Router } from '@angular/router';\n// import { RegistrationPartService } from '../../registration-part/services/registration.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { LocationStrategy } from '@angular/common';\n// import { UrlService } from '../../registration-part/services/url.service';\nimport { SharedService } from 'src/app/shared/services/shared.service';\n// import { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport {CdkDragDrop, moveItemInArray, transferArrayItem} from '@angular/cdk/drag-drop'; \n // <= DragDropModule removed\n\n\n@Component({\n selector: 'shared-update-gener',\n templateUrl: './update-gener.component.html',\n styleUrls: ['./update-gener.component.scss']\n})\nexport class UpdateGenerComponent implements OnInit {\n\n submitted: boolean = false;\n imgURLCover:any;\n currentUser:any;\n selectedFile:any;\n profilePicUrl:any;\n coverPicUrl:any;\n profileData:any;\n profileImageFileUrl:any;\n profileImageKey:any;\n change:boolean = false;\n genersData:any=[];\n generIdsList:any=[];\n genreList:any=[];\n sample:any=[];\n role:any;\n\n @Output() ids = new EventEmitter();\n \n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n // private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy,\n // private urlService: UrlService,\n private sharedService: SharedService,\n private fb: FormBuilder\n ) { }\n\n\n ngOnInit(): void {\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n\n this.sharedService.getProfile().subscribe((res:any)=> {\n if(res.type == 'success'){\n this.profileData = res.data;\n if(res.data?.profileImage.fileUrl){\n this.profilePicUrl = res.data?.profileImage.fileUrl;\n }\n\n this.role = this.profileData.role;\n\n if(this.profileData.role!='Artist'){\n this.sharedService.getGenres().subscribe((res:any) => {\n if(res.type == 'success'){\n this.genreList = res.data;\n for(var id of this.profileData?.communityIds){\n for(var gener of this.genreList){\n if(gener._id ==id?._id){\n // this.sample.push(gener);\n const addChip = () => { this.chips.add(gener); };\n // const removeChip = () => { this.chips.delete(gener); };\n this.chips.has(gener) ? addChip() : addChip();\n }\n }\n }\n // this.generForm.get('gener').patchValue(this.sample);\n // this.chips.add(this.sample);\n }\n })\n }else{\n this.sharedService.getArtistGenerList().subscribe((res:any) => {\n if(res.type == 'success'){\n this.genreList = res.data;\n for(var id of this.profileData?.genereIds){\n for(var gener of this.genreList){\n if(gener._id ==id?._id){\n this.sample.push(gener);\n const addChip = () => { this.chips.add(gener); };\n // const removeChip = () => { this.chips.delete(gener); };\n this.chips.has(gener) ? addChip() : addChip();\n \n }\n }\n }\n // this.generForm.get('gener').patchValue(this.sample);\n // this.chips.add(this.sample);\n }\n })\n }\n }\n }) \n\n // this.service.getGenres().subscribe((res:any) => {\n // if(res.type == 'success'){\n // this.genreList = res.data;\n \n // }\n // })\n // this.generForm.get('gener').patchValue(this.sample);\n }\n\n\n \n generForm = new FormGroup({\n gener : new FormControl(),\n })\n\n // onSelectGener(event: any) {\n // console.log(event.value);\n // this.genersData = event.value;\n\n // this.change = true;\n // this.generIdsList = [];\n // for(var i of event.value){\n // let y = i.split(' ');\n // this.generIdsList.push(y[y.length-1]);\n // }\n // console.log(this.generIdsList);\n// }\n\n \n\n\nsave(){\n let ids:any=[];\n let generNames = '';\n console.log(this.chipControl.value);\n if(this.profileData.role=='Artist'){\n for(var i of this.chipControl.value){\n ids.push(i?._id);\n generNames = generNames + ', ' + i.genereName;\n }\n }\n else{\n for(var i of this.chipControl.value){\n ids.push(i?._id);\n generNames = generNames + ', ' + i.communityName;\n }\n }\n\n console.log(\"ids\"+typeof ids);\n console.log(ids, generNames);\n\n let data = {\n \"role\": this.profileData?.role,\n \"address\":{\n \"city\": this.profileData?.address?.city,\n \"state\": this.profileData?.address?.state,\n \"country\": this.profileData?.address?.country,\n \n },\n \"bandName\": this.profileData?.bandName,\n // \"location\":{\n // \"lat\": this.profileData?.location?.coordinates[0],\n // \"long\": this.profileData?.location?.coordinates[1] \n // },\n \"profileImage\":{\n \"fileUrl\": this.profileData?.profileImage?.fileUrl,\n \"key\": this.profileData?.profileImage?.key,\n },\n \"coverImage\":{\n \"fileUrl\": this.profileData?.coverImage?.fileUrl,\n \"key\": this.profileData?.coverImage?.key\n },\n \"email\":this.profileData?.email,\n \"bio\": this.profileData?.bio,\n \"communityIds\": this.profileData.role!='Artist' ? ids : [],\n \"genereIds\": this.profileData.role=='Artist' ? ids : []\n } \n\n this.sharedService.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n // this.modalService.hide();\n // this.router.navigateByUrl(\"/profile/main\");\n // this.router.navigateByUrl('/',{skipLocationChange:true}).then(()=>{\n // this.router.navigate([`/profile`]).then(()=>{\n // console.log(\"hello\")\n // })\n // })\n this.ids.emit({ids,generNames:generNames.substring(1)});\n }\n })\n\n\n \n\n}\n\nchipControl = new FormControl(new Set());\n\n toggleChip = (chip: any) => {\n\n if(this.role =='Artist'){\n if(this.chips.has(chip)){\n this.chips.delete(chip);\n }else{\n if(this.chipControl.value.size>=3){\n this.toastr.error(\"Maximum 3 Allowed\");\n }\n else{\n this.chips.add(chip);\n }\n }\n }else{\n if(this.chips.has(chip)){\n this.chips.delete(chip);\n }else{\n if(this.chipControl.value.size>=2){\n this.toastr.error(\"Maximum 2 Allowed\");\n }\n else{\n this.chips.add(chip);\n }\n }\n }\n \n }\n\n addChip(chip){\n const addChip = () => { this.chips.add(chip); };\n const removeChip = () => { this.chips.delete(chip); };\n this.chips.has(chip) ? removeChip() : addChip();\n }\n\n deleteChip(chip){\n const removeChip = () => { this.chips.delete(chip); };\n this.chips.has(chip) ? removeChip() : removeChip();\n }\n\n\n\n get chips() { \n // console.log(this.chipControl);\n // console.log(this.chipControl.value.size);\n return this.chipControl.value; \n }\n\n drop(event) {\n console.log(event);\n // moveItemInArray(this.timePeriods, event.previousIndex, event.currentIndex);\n }\n horizontal = \"horizontal\";\n\n}\n\n","\n\n
      \n
      \n
      \n

      Update Profile Picture

      \n
      \n \n
      \n
      \n \n \n
      \n
      \n
      \n\n \n
      \n \n \n \n \n \n \n \n
      \n \"\"\n \"\"\n
      \n
      \n
      \n
      \n \n
      \n \n
      \n \n
      \n
      \n

      Profile Picture

      \n \n
      \n
      \n
      \n \n
      \n
      \n
      \n \n\n \n \n \n \n \n \n \n \n
      \n
      \n
      \n
      \n
      \n \n \n \n","import { Component, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NavigationEnd, Router } from '@angular/router';\n// import { RegistrationPartService } from '../../registration-part/services/registration.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { LocationStrategy } from '@angular/common';\n// import { UrlService } from '../../registration-part/services/url.service';\nimport { filter } from 'rxjs/operators';\nimport { SharedService } from 'src/app/shared/services/shared.service';\n\n@Component({\n selector: 'shared-update-profile',\n templateUrl: './update-profile.component.html',\n styleUrls: ['./update-profile.component.scss']\n})\nexport class UpdateProfileComponent implements OnInit {\n updateProfile = new FormGroup({\n profilePic: new FormControl(''),\n profilePicKey: new FormControl('')\n });\n\n submitted: boolean = false;\n imgURLCover:any;\n currentUser:any;\n selectedFile:any;\n showDeleteProfileButton: boolean;\n popupedit: boolean;\n profilePicUrl:any;\n coverPicUrl:any;\n profileData:any;\n profileImageFileUrl:any;\n profileImageKey:any;\n change:boolean = false;\n showEditButton:boolean;\n showDeleteButton:boolean;\n imageChangedEvent: string;\n originalProfilePicRef: any;\n profilePicCropperUrl: string;\n imageTransform: {};\n scale: number = 5;\n originalProfilePicName: any;\n profilePicCropModalRef: any;\n // modalService: any;\n croppedProfilePicRef: any;\n\n @Output() profilePicDetails = new EventEmitter();\n\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n // private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy,\n // private urlService: UrlService,\n private sharedService: SharedService\n ) { }\n ngOnInit(): void {\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n\n this.sharedService.getProfile().subscribe((res:any)=> {\n if(res.type == 'success'){\n this.profileData = res.data;\n if(res.data?.profileImage.fileUrl){\n this.profilePicUrl = res.data?.profileImage.fileUrl;\n this.showDeleteButton = true;\n this.showDeleteProfileButton = true;\n this.showEditButton = true;\n this.profileImageFileUrl = res.data?.profileImage.fileUrl;\n this.profileImageKey = res.data?.profileImage.key;\n this.updateProfile.controls[\"profilePic\"].setValue(this.profileImageFileUrl);\n this.updateProfile.controls[\"profilePicKey\"].setValue(this.profileImageKey);\n }\n }\n }) \n }\n openProfilePictureModal(type, fileChangedEvent: any, ProfilePicCropModal: TemplateRef) {\n this.popupedit = false;\n this.imageChangedEvent = '';\n this.originalProfilePicRef = '';\n this.profilePicCropperUrl = '';\n this.imageTransform = {};\n this.scale = 1;\n let ngbModalOptions: any = {\n backdrop: 'static',\n keyboard: false,\n class: \"profilepiccropmodall\"\n };\n // this.profilePicCropModalRef = this.modalService.show(ProfilePicCropModal);\n if (type == 'choose') {\n this.originalProfilePicRef = fileChangedEvent;\n this.imageChangedEvent = fileChangedEvent;\n this.originalProfilePicName = fileChangedEvent?.target?.files[0]?.name;\n this.profilePicCropModalRef = this.modalService.show(ProfilePicCropModal, ngbModalOptions);\n }\n else if (type == 'edit') {\n console.log(this.profilePicUrl);\n this.imageChangedEvent = null;\n this.profilePicCropperUrl = this.profilePicUrl;\n this.profilePicCropModalRef = this.modalService.show(ProfilePicCropModal, ngbModalOptions);\n }\n\n }\n\n // uploadProfile(e:any){\n\n // let files = e.target.files;\n // let file = e.target.files[0];\n // let fd = new FormData();\n // fd.append(\"file\", file);\n // if (e.target.files && e.target.files.length) {\n // for (const file of e.target.files) {\n // const reader = new FileReader();\n // reader.readAsDataURL(file);\n // reader.onload = () => {\n // const img = new Image();\n // img.src = reader.result as string;\n // img.onload = () => {\n // this.sharedService.uploadProfile(fd).subscribe((res:any)=>{\n // this.change = true;\n // this.profilePicUrl = res.data.fileUrl;\n // this.profileImageFileUrl = res.data.fileUrl\n // this.profileImageKey = res.data.key;\n // this.showEditButton = true;\n // this.showDeleteButton = true;\n // })\n // }\n // }\n // }\n // }\n // }\n // UPDATED CODE FOR EDIT OPTIONS\n uploadProfile() {\n // let files = e.target.files;\n let file = this.croppedProfilePicRef.base64;\n let fd = new FormData();\n const imageFile = new File([this.dataURItoBlob(file)], this.originalProfilePicName, { type: 'image/png' });\n fd.append(\"file\", imageFile);\n // if (e.target.files && e.target.files.length) {\n // for (const file of e.target.files) {\n // const reader = new FileReader();\n // reader.readAsDataURL(file);\n // reader.onload = () => {\n // const img = new Image();\n // img.src = reader.result as string;\n // img.onload = () => {\n // const height = img.naturalHeight;\n // const width = img.naturalWidth;\n // console.log(\"Width and Height\", width, height);\n // if(width <=2500 && height <= 1200){\n this.sharedService.uploadProfile(fd).subscribe((res: any) => {\n this.profilePicCropModalRef.hide();\n this.showDeleteProfileButton = true;\n this.profilePicUrl = res.data.fileUrl;\n this.updateProfile.controls[\"profilePic\"].setValue(res.data.fileUrl);\n this.updateProfile.controls[\"profilePicKey\"].setValue(res.data.key);\n if (this.originalProfilePicRef?.target?.value) {\n this.originalProfilePicRef.target.value = '';\n }\n })\n }\n save(){\n let data = {\n \"profileImage\":{\n \"fileUrl\": this.updateProfile.controls[\"profilePic\"].value,\n \"key\": this.updateProfile.controls[\"profilePicKey\"].value,\n }\n } \n\n // this.profilePicDetails.emit(JSON.stringify(data));\n\n this.sharedService.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n // this.router.navigateByUrl(\"/profile/main\");\n this.profilePicDetails.emit(JSON.stringify(data));\n }\n })\n }\ndataURItoBlob(dataURI) {\n const parts = dataURI.split(';base64,');\n const byteString = atob(parts[1]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array], { type: 'image/png' });\n return blob;\n}\nupdateProfileData() {\n // throw new Error('Method not implemented.');\n let data = {\n \"fileUrl\": this.updateProfile.value.profilePic,\n \"key\": this.updateProfile.value.profilePicKey\n };\n\n localStorage.setItem('profilePicture', JSON.stringify(data));\n localStorage.setItem(\"screensCompleted\", 'profile-pic');\n // this.router.navigateByUrl('/').then(() =>{\n this.router.navigateByUrl('register/cover-pic');\n // })\n}\n\nzoomOut() {\n if (this.scale == 1) {\n return;\n }\n\n if (this.scale >= 1) {\n\n this.scale -= .1;\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n }\n\n}\n\nzoomIn() {\n if (this.scale <= 2) {\n this.scale += .1;\n console.log( this.scale)\n if (this.scale <= 10) {\n console.log( \"hello\")\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n } else {\n console.log( \"hi\")\n this.scale = 1;\n this.scale += .1;\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n }\n }\n}\n\nZoomImage(e) {\n var slider: any = document.getElementById(\"myRange\");;\n console.log(slider.value)\n this.scale = slider.value;\n this.imageTransform = {\n ...this.imageTransform,\n scale: slider.value\n };\n\n}\n\ncloseProfilePicModal() {\n this.profilePicCropModalRef?.hide()\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n // this.router.navigate(['/register/profile-pic']);\n // });\n\n}\n// deleteProfilePic(){\n// this.showEditButton = false;\n// this.showDeleteButton=false;\n// this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n// this.profileImageFileUrl = '';\n// this.profileImageKey = '';\n// }\ndeleteProfilePic() {\n this.showEditButton = false;\n this.showDeleteButton=false;\n this.profileImageFileUrl = '';\n this.profileImageKey = '';\n this.showDeleteProfileButton = false;\n this.popupedit = false;\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.updateProfile.controls[\"profilePic\"].setValue(\"\");\n this.updateProfile.controls[\"profilePicKey\"].setValue(\"\");\n}\n\ncroppedProfilePicture(event) {\n console.log(\"Profile Picture Image Cropped\");\n console.log(event);\n this.croppedProfilePicRef = event;\n}\n\n\nprofilePictureCancelled() {\n this.profilePicCropModalRef?.hide();\n if (this.originalProfilePicRef?.target?.value) {\n this.originalProfilePicRef.target.value = '';\n }\n}\n\n}\n\n","import { Component, OnInit, ViewChild, TemplateRef, Output, EventEmitter } from '@angular/core';\n\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { LocationStrategy } from '@angular/common';\nimport * as $ from 'jquery';\nimport { RegistrationPartService } from 'src/app/views/registration-part/services/registration.service';\n@Component({\n selector: 'shared-updated-invitation-code',\n templateUrl: './updated-invitation-code.component.html',\n styleUrls: ['./updated-invitation-code.component.scss']\n})\nexport class UpdatedInvitationCodeComponent implements OnInit {\n\n submitted: boolean = false;\n modalRef: BsModalRef;\n phoneNumber:any;\n countryCode:any;\n isTimer:boolean = false;\n generUpdatemodalRef;\n\n @Output() OTPDetails = new EventEmitter()\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy\n ) { \n history.pushState(null, null, window.location.href); \n this.location.onPopState(() => {\n history.pushState(null, null, window.location.href);\n }); \n }\n\n resetOTPForm = new FormGroup({\n firstDigit: new FormControl('', [Validators.required,Validators.maxLength(1)]),\n secondDigit: new FormControl('', [Validators.required,Validators.maxLength(1)]),\n thirdDigit: new FormControl('', [Validators.required,Validators.maxLength(1)]),\n forthDigit: new FormControl('', [Validators.required,Validators.maxLength(1)]),\n })\n\n ngOnInit(): void {\n this.phoneNumber = localStorage.getItem('phone');\n this.countryCode = localStorage.getItem('countryCode');\n this.countryCode = this.countryCode.slice(1,this.countryCode.length-1);\n this.phoneNumber = this.phoneNumber.slice(1,this.phoneNumber.length-1);\n document.getElementById(\"showTime\").style.display='none';\n let Time = localStorage.getItem('time');\n let prevDate = localStorage.getItem('date');\n if(prevDate){\n let currentTime = new Date().getTime();\n let pre = new Date(prevDate.slice(1,prevDate.length-1)).getTime();\n\n let rem = currentTime-pre;\n if(rem+parseInt(Time)>0){\n this.isTimer = true;\n this.getTimeRemaining(parseInt(Time)-rem);\n }\n \n // console.log(\"rem\",rem,Time);\n // if(rem>parseInt(Time)){\n // document.getElementById('showTime').style.display = 'block';\n // this.getTimeRemaining(parseInt(Time)-rem); \n // }\n }\n\n // $(document).on(\"textInput keydown\", \"#text\", function(evt) {\n \n // console.log(\"emnter \");\n // let value = evt.target.value;\n // var charCode = evt.which ? evt.which : evt.keyCode;\n \n // if(charCode == 46 || charCode == 37){\n // return false;\n // }\n // if (charCode == 8 || charCode == 37) {\n // return true;\n // } else if (charCode == 46 && value.indexOf(\".\") != -1) {\n // return false;\n // } else if (\n // charCode > 31 &&\n // charCode != 46 &&\n // (charCode < 48 || charCode > 57)\n // ) {\n // return false;\n // }\n // return true;\n // })\n }\n\n get f() {\n return this.resetOTPForm.controls;\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n sendEmailToLogin:any;\n\n resetPassword() {\n this.submitted = true;\n if (this.resetOTPForm.invalid || this.resetOTPForm.pristine) return;\n this.submitted = false;\n\n let otp = parseInt(this.resetOTPForm.value.firstDigit + this.resetOTPForm.value.secondDigit + this.resetOTPForm.value.thirdDigit + this.resetOTPForm.value.forthDigit);\n \n\n let a = (document.getElementById('firstDigit')).value;\n let b = (document.getElementById('secondDigit')).value;\n let c = (document.getElementById('thirdDigit')).value;\n let d = (document.getElementById('forthDigit')).value;\n\n let data = parseInt(a+b+c+d);\n\n // if(otp!=1234){\n this.service.verifyOTP({otp:data})\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastr.success(\"Code verified\");\n // this.router.navigateByUrl('/register/select-role');\n // this.modalService.hide();\n this.saveMobileNumber();\n }\n },(error)=>{\n this.toastr.error(error?.error?.message);\n })\n // }\n // else{\n // this.toastr.error(\"Wrong Verification code. Please try again.\");\n // }\n }\n\n saveMobileNumber(){\n //save\n this.OTPDetails.emit({mobileNumber:this.phoneNumber.toString().replace(' ','').replace(' ',''),countryCode:this.countryCode});\n }\n\n onFillCode1(e:any){\n e.value ? e.value = e.value?.replace(/[^\\d]/g,'') : e.value;\n if(e.value){\n e.value = e.value.toString().slice(0,1);\n document.getElementById('secondDigit').focus();\n }\n \n }\n\n onFillCode2(e:any){\n e.value ? e.value = e.value?.replace(/[^\\d]/g,'') : e.value;\n if(e.value){\n e.value = e.value.toString().slice(0,1);\n document.getElementById('thirdDigit').focus();\n }\n }\n\n onFillCode3(e:any){\n e.value ? e.value = e.value?.replace(/[^\\d]/g,'') : e.value;\n if(e.value){\n e.value = e.value.toString().slice(0,1);\n document.getElementById('forthDigit').focus();\n }\n}\n\nonFillCode4(e:any){\n e.value ? e.value = e.value?.replace(/[^\\d]/g,'') : e.value;\n if(e.value){\n e.value = e.value.toString().slice(0,1);\n document.getElementById('nextBtn').focus();\n }\n \n}\n\ncheckbackpress(evt:any,index:any){\n console.log(\"key down\");\n let key = evt.key;\n if(key === 'Backspace'){\n if(index==2){\n if(this.resetOTPForm.get('secondDigit').value){\n this.resetOTPForm.get('secondDigit').patchValue('');\n }else{\n document.getElementById('firstDigit').focus();\n }\n \n }\n if(index==3){\n if(this.resetOTPForm.get('thirdDigit').value){\n this.resetOTPForm.get('thirdDigit').patchValue('');\n }else{\n document.getElementById('secondDigit').focus();\n }\n \n }\n if(index==4){\n if(this.resetOTPForm.get('forthDigit').value){\n this.resetOTPForm.get('forthDigit').patchValue('');\n }\n else{\n document.getElementById('thirdDigit').focus();\n }\n }\n }\n}\n\nnumberOnly(evt: any): boolean {\n console.log(\"emnter \",evt);\n \n let value = evt.target.value;\n var charCode = evt.which ? evt.which : evt.keyCode;\n\n if(charCode == 46 || charCode == 37){\n return false;\n }\n if (charCode == 8 || charCode == 37) {\n return true;\n } else if (charCode == 46 && value.indexOf(\".\") != -1) {\n return false;\n } else if (\n charCode > 31 &&\n charCode != 46 &&\n (charCode < 48 || charCode > 57)\n ) {\n return false;\n }\n return true;\n}\n\nnumberOnlyForMobile(e){\n e.target.value = e.target.value.replace(/[^\\d]/g,'');\n}\n\n\nsendCodeAgain() {\n this.submitted = true;\n let phoneNumber = this.phoneNumber.replace(\" \",'').replace(\" \",'');\n let data = {\n countryCode: this.countryCode,\n mobileNumber: phoneNumber\n }\n this.service.sendOTP(data)\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.isTimer = true;\n this.toastr.success(res.message);\n this.getTimeRemaining(45000);\n }else{\n this.getTimeRemaining(45000);\n this.toastr.error('error');\n }\n })\n}\n\n\n// 45000\ngetTimeRemaining(miliseconds:any){\n let x = setInterval(()=>{\n miliseconds = miliseconds - 1000;\n let currentDate = new Date();\n localStorage.setItem('date',JSON.stringify(currentDate));\n localStorage.setItem('time',JSON.stringify(miliseconds));\n // (document.getElementById('resendButton')).disabled = false;\n // (document.getElementById('nextBtn')).disabled = false;\n if(document.getElementById('showTime')){\n document.getElementById('showTime').style.display = 'block';\n }\n if(document.getElementById('resendButton')){\n (document.getElementById('resendButton')).disabled = false;\n }\n \n var days:any = Math.floor(miliseconds / (1000 * 60 * 60 * 24));\n var hours:any = Math.floor((miliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n var minutes:any = Math.floor((miliseconds % (1000 * 60 * 60)) / (1000 * 60));\n var seconds:any = Math.floor((miliseconds % (1000 * 60)) / 1000);\n\n if(days<10){\n days = `0${days}`\n }\n if(hours<10){\n hours = `0${hours}`\n }\n if(minutes<10){\n minutes = `0${minutes}`\n }\n\n if(seconds<10){\n seconds = `0${seconds}`\n }\n\n if(days<=0 && hours<=0 && minutes<=0 && seconds<=0){\n document.getElementById('showTime').style.display = 'none';\n document.getElementById('time').innerHTML = '0 d :' + '0 h :' + '0 m :' + \"0 s\";\n document.getElementById('showTime').style.display = 'none';\n localStorage.removeItem('time');\n localStorage.removeItem('date');\n this.isTimer = false;\n console.log(this.isTimer);\n clearInterval(x);\n (document.getElementById('resendButton')).disabled = false;\n // (document.getElementById(\"nextBtn\")).disabled = false;\n // if(this.resetForm?.value?.firstDigit !=undefined && this.resetForm?.value?.secondDigit !=undefined && this.resetForm?.value?.thirdDigit !=undefined && this.resetForm?.value?.forthDigit !=undefined){\n // (document.getElementById(\"nextBtn\")).disabled = false;\n // }\n }else{\n // document.getElementById('resendButton').disabled = true;\n this.isTimer = true;\n (document.getElementById('resendButton')).disabled = true;\n document.getElementById('showTime').style.display = 'block';\n // (document.getElementById(\"nextBtn\")).disabled = true;\n if(days>0){\n document.getElementById('time').innerHTML = days + ':' + hours + ':' + minutes + ':' + seconds +' minutes';\n }\n\n if(hours>0 && minutes>=0 && seconds>=0){\n document.getElementById('time').innerHTML = hours + ':' + minutes + ':' + seconds +' minutes';\n }\n if(minutes>=0 && seconds>=0){\n document.getElementById('time').innerHTML = minutes + ':' + seconds +' Seconds';\n }\n \n // console.log(days + ' days ' + hours + ' hours ' + minutes + ' minutes ' + seconds + ' seconds left');\n }\n \n },1000)\n}\n}\n","
      \n
      \n
      \n \n\n
      \n
      \n \n
      \n
      \n

      Enter Verification Code

      \n
      \n

      Please type the verification code sent to
      {{countryCode}} {{phoneNumber}}

      \n
      \n
      \n
      \n \n \n
      \n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n
      \n
      \n\n \n\n
      \n

      Resend Code in :

      \n \n
      Have you received the code?
      \n
      \n \n
      \n \n \n
      \n
      \n\n
      \n
      \n
      \n
      \n
      \n
      \n
      ","
      \n
      \n
      \n
      \"logo\"
      \n\n
      \n
      \n
      \n
      \n

      Update Your Phone Number

      \n
      \n
      \n
      \n \n \n \n \n {{ selectedPhoneCode }}\n \n {{code.name}}\n \n \n
      \n \n
      \n \n \n Phone number is required.\n \n \n \n Please put 9 digit mobile number.\n \n
      \n
      \n\n \n\n \n \n
      \n
      \n
      \n
      \n
      \n
      \n\n \n
      \n
      \n\n\n\n \n\n \n \n \n ","import { LocationStrategy } from '@angular/common';\nimport { Component, OnInit,TemplateRef, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { RegistrationPartService } from 'src/app/views/registration-part/services/registration.service';\nimport { SearchCountryField, CountryISO, PhoneNumberFormat } from 'ngx-intl-tel-input';\nimport { SharedService } from '../services/shared.service';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\n\n\n@Component({\n selector: 'shared-updated-mob-num',\n templateUrl: './updated-mob-num.component.html',\n styleUrls: ['./updated-mob-num.component.scss']\n})\nexport class UpdatedMobNumComponent implements OnInit {\n\n phoneCode:any = [\n {\n \"name\": \"Afghanistan\",\n \"dial_code\": \"+93\",\n \"code\": \"AF\"\n },\n {\n \"name\": \"Aland Islands\",\n \"dial_code\": \"+358\",\n \"code\": \"AX\"\n },\n {\n \"name\": \"Albania\",\n \"dial_code\": \"+355\",\n \"code\": \"AL\"\n },\n {\n \"name\": \"Algeria\",\n \"dial_code\": \"+213\",\n \"code\": \"DZ\"\n },\n {\n \"name\": \"AmericanSamoa\",\n \"dial_code\": \"+1684\",\n \"code\": \"AS\"\n },\n {\n \"name\": \"Andorra\",\n \"dial_code\": \"+376\",\n \"code\": \"AD\"\n },\n {\n \"name\": \"Angola\",\n \"dial_code\": \"+244\",\n \"code\": \"AO\"\n },\n {\n \"name\": \"Anguilla\",\n \"dial_code\": \"+1264\",\n \"code\": \"AI\"\n },\n {\n \"name\": \"Antarctica\",\n \"dial_code\": \"+672\",\n \"code\": \"AQ\"\n },\n {\n \"name\": \"Antigua and Barbuda\",\n \"dial_code\": \"+1268\",\n \"code\": \"AG\"\n },\n {\n \"name\": \"Argentina\",\n \"dial_code\": \"+54\",\n \"code\": \"AR\"\n },\n {\n \"name\": \"Armenia\",\n \"dial_code\": \"+374\",\n \"code\": \"AM\"\n },\n {\n \"name\": \"Aruba\",\n \"dial_code\": \"+297\",\n \"code\": \"AW\"\n },\n {\n \"name\": \"Australia\",\n \"dial_code\": \"+61\",\n \"code\": \"AU\"\n },\n {\n \"name\": \"Austria\",\n \"dial_code\": \"+43\",\n \"code\": \"AT\"\n },\n {\n \"name\": \"Azerbaijan\",\n \"dial_code\": \"+994\",\n \"code\": \"AZ\"\n },\n {\n \"name\": \"Bahamas\",\n \"dial_code\": \"+1242\",\n \"code\": \"BS\"\n },\n {\n \"name\": \"Bahrain\",\n \"dial_code\": \"+973\",\n \"code\": \"BH\"\n },\n {\n \"name\": \"Bangladesh\",\n \"dial_code\": \"+880\",\n \"code\": \"BD\"\n },\n {\n \"name\": \"Barbados\",\n \"dial_code\": \"+1246\",\n \"code\": \"BB\"\n },\n {\n \"name\": \"Belarus\",\n \"dial_code\": \"+375\",\n \"code\": \"BY\"\n },\n {\n \"name\": \"Belgium\",\n \"dial_code\": \"+32\",\n \"code\": \"BE\"\n },\n {\n \"name\": \"Belize\",\n \"dial_code\": \"+501\",\n \"code\": \"BZ\"\n },\n {\n \"name\": \"Benin\",\n \"dial_code\": \"+229\",\n \"code\": \"BJ\"\n },\n {\n \"name\": \"Bermuda\",\n \"dial_code\": \"+1441\",\n \"code\": \"BM\"\n },\n {\n \"name\": \"Bhutan\",\n \"dial_code\": \"+975\",\n \"code\": \"BT\"\n },\n {\n \"name\": \"Bolivia, Plurinational State of\",\n \"dial_code\": \"+591\",\n \"code\": \"BO\"\n },\n {\n \"name\": \"Bosnia and Herzegovina\",\n \"dial_code\": \"+387\",\n \"code\": \"BA\"\n },\n {\n \"name\": \"Botswana\",\n \"dial_code\": \"+267\",\n \"code\": \"BW\"\n },\n {\n \"name\": \"Brazil\",\n \"dial_code\": \"+55\",\n \"code\": \"BR\"\n },\n {\n \"name\": \"British Indian Ocean Territory\",\n \"dial_code\": \"+246\",\n \"code\": \"IO\"\n },\n {\n \"name\": \"Brunei Darussalam\",\n \"dial_code\": \"+673\",\n \"code\": \"BN\"\n },\n {\n \"name\": \"Bulgaria\",\n \"dial_code\": \"+359\",\n \"code\": \"BG\"\n },\n {\n \"name\": \"Burkina Faso\",\n \"dial_code\": \"+226\",\n \"code\": \"BF\"\n },\n {\n \"name\": \"Burundi\",\n \"dial_code\": \"+257\",\n \"code\": \"BI\"\n },\n {\n \"name\": \"Cambodia\",\n \"dial_code\": \"+855\",\n \"code\": \"KH\"\n },\n {\n \"name\": \"Cameroon\",\n \"dial_code\": \"+237\",\n \"code\": \"CM\"\n },\n {\n \"name\": \"Canada\",\n \"dial_code\": \"+1\",\n \"code\": \"CA\"\n },\n {\n \"name\": \"Cape Verde\",\n \"dial_code\": \"+238\",\n \"code\": \"CV\"\n },\n {\n \"name\": \"Cayman Islands\",\n \"dial_code\": \"+ 345\",\n \"code\": \"KY\"\n },\n {\n \"name\": \"Central African Republic\",\n \"dial_code\": \"+236\",\n \"code\": \"CF\"\n },\n {\n \"name\": \"Chad\",\n \"dial_code\": \"+235\",\n \"code\": \"TD\"\n },\n {\n \"name\": \"Chile\",\n \"dial_code\": \"+56\",\n \"code\": \"CL\"\n },\n {\n \"name\": \"China\",\n \"dial_code\": \"+86\",\n \"code\": \"CN\"\n },\n {\n \"name\": \"Christmas Island\",\n \"dial_code\": \"+61\",\n \"code\": \"CX\"\n },\n {\n \"name\": \"Cocos (Keeling) Islands\",\n \"dial_code\": \"+61\",\n \"code\": \"CC\"\n },\n {\n \"name\": \"Colombia\",\n \"dial_code\": \"+57\",\n \"code\": \"CO\"\n },\n {\n \"name\": \"Comoros\",\n \"dial_code\": \"+269\",\n \"code\": \"KM\"\n },\n {\n \"name\": \"Congo\",\n \"dial_code\": \"+242\",\n \"code\": \"CG\"\n },\n {\n \"name\": \"Congo, The Democratic Republic of the Congo\",\n \"dial_code\": \"+243\",\n \"code\": \"CD\"\n },\n {\n \"name\": \"Cook Islands\",\n \"dial_code\": \"+682\",\n \"code\": \"CK\"\n },\n {\n \"name\": \"Costa Rica\",\n \"dial_code\": \"+506\",\n \"code\": \"CR\"\n },\n {\n \"name\": \"Cote d'Ivoire\",\n \"dial_code\": \"+225\",\n \"code\": \"CI\"\n },\n {\n \"name\": \"Croatia\",\n \"dial_code\": \"+385\",\n \"code\": \"HR\"\n },\n {\n \"name\": \"Cuba\",\n \"dial_code\": \"+53\",\n \"code\": \"CU\"\n },\n {\n \"name\": \"Cyprus\",\n \"dial_code\": \"+357\",\n \"code\": \"CY\"\n },\n {\n \"name\": \"Czech Republic\",\n \"dial_code\": \"+420\",\n \"code\": \"CZ\"\n },\n {\n \"name\": \"Denmark\",\n \"dial_code\": \"+45\",\n \"code\": \"DK\"\n },\n {\n \"name\": \"Djibouti\",\n \"dial_code\": \"+253\",\n \"code\": \"DJ\"\n },\n {\n \"name\": \"Dominica\",\n \"dial_code\": \"+1767\",\n \"code\": \"DM\"\n },\n {\n \"name\": \"Dominican Republic\",\n \"dial_code\": \"+1849\",\n \"code\": \"DO\"\n },\n {\n \"name\": \"Ecuador\",\n \"dial_code\": \"+593\",\n \"code\": \"EC\"\n },\n {\n \"name\": \"Egypt\",\n \"dial_code\": \"+20\",\n \"code\": \"EG\"\n },\n {\n \"name\": \"El Salvador\",\n \"dial_code\": \"+503\",\n \"code\": \"SV\"\n },\n {\n \"name\": \"Equatorial Guinea\",\n \"dial_code\": \"+240\",\n \"code\": \"GQ\"\n },\n {\n \"name\": \"Eritrea\",\n \"dial_code\": \"+291\",\n \"code\": \"ER\"\n },\n {\n \"name\": \"Estonia\",\n \"dial_code\": \"+372\",\n \"code\": \"EE\"\n },\n {\n \"name\": \"Ethiopia\",\n \"dial_code\": \"+251\",\n \"code\": \"ET\"\n },\n {\n \"name\": \"Falkland Islands (Malvinas)\",\n \"dial_code\": \"+500\",\n \"code\": \"FK\"\n },\n {\n \"name\": \"Faroe Islands\",\n \"dial_code\": \"+298\",\n \"code\": \"FO\"\n },\n {\n \"name\": \"Fiji\",\n \"dial_code\": \"+679\",\n \"code\": \"FJ\"\n },\n {\n \"name\": \"Finland\",\n \"dial_code\": \"+358\",\n \"code\": \"FI\"\n },\n {\n \"name\": \"France\",\n \"dial_code\": \"+33\",\n \"code\": \"FR\"\n },\n {\n \"name\": \"French Guiana\",\n \"dial_code\": \"+594\",\n \"code\": \"GF\"\n },\n {\n \"name\": \"French Polynesia\",\n \"dial_code\": \"+689\",\n \"code\": \"PF\"\n },\n {\n \"name\": \"Gabon\",\n \"dial_code\": \"+241\",\n \"code\": \"GA\"\n },\n {\n \"name\": \"Gambia\",\n \"dial_code\": \"+220\",\n \"code\": \"GM\"\n },\n {\n \"name\": \"Georgia\",\n \"dial_code\": \"+995\",\n \"code\": \"GE\"\n },\n {\n \"name\": \"Germany\",\n \"dial_code\": \"+49\",\n \"code\": \"DE\"\n },\n {\n \"name\": \"Ghana\",\n \"dial_code\": \"+233\",\n \"code\": \"GH\"\n },\n {\n \"name\": \"Gibraltar\",\n \"dial_code\": \"+350\",\n \"code\": \"GI\"\n },\n {\n \"name\": \"Greece\",\n \"dial_code\": \"+30\",\n \"code\": \"GR\"\n },\n {\n \"name\": \"Greenland\",\n \"dial_code\": \"+299\",\n \"code\": \"GL\"\n },\n {\n \"name\": \"Grenada\",\n \"dial_code\": \"+1473\",\n \"code\": \"GD\"\n },\n {\n \"name\": \"Guadeloupe\",\n \"dial_code\": \"+590\",\n \"code\": \"GP\"\n },\n {\n \"name\": \"Guam\",\n \"dial_code\": \"+1671\",\n \"code\": \"GU\"\n },\n {\n \"name\": \"Guatemala\",\n \"dial_code\": \"+502\",\n \"code\": \"GT\"\n },\n {\n \"name\": \"Guernsey\",\n \"dial_code\": \"+44\",\n \"code\": \"GG\"\n },\n {\n \"name\": \"Guinea\",\n \"dial_code\": \"+224\",\n \"code\": \"GN\"\n },\n {\n \"name\": \"Guinea-Bissau\",\n \"dial_code\": \"+245\",\n \"code\": \"GW\"\n },\n {\n \"name\": \"Guyana\",\n \"dial_code\": \"+595\",\n \"code\": \"GY\"\n },\n {\n \"name\": \"Haiti\",\n \"dial_code\": \"+509\",\n \"code\": \"HT\"\n },\n {\n \"name\": \"Holy See (Vatican City State)\",\n \"dial_code\": \"+379\",\n \"code\": \"VA\"\n },\n {\n \"name\": \"Honduras\",\n \"dial_code\": \"+504\",\n \"code\": \"HN\"\n },\n {\n \"name\": \"Hong Kong\",\n \"dial_code\": \"+852\",\n \"code\": \"HK\"\n },\n {\n \"name\": \"Hungary\",\n \"dial_code\": \"+36\",\n \"code\": \"HU\"\n },\n {\n \"name\": \"Iceland\",\n \"dial_code\": \"+354\",\n \"code\": \"IS\"\n },\n {\n \"name\": \"India\",\n \"dial_code\": \"+91\",\n \"code\": \"IN\"\n },\n {\n \"name\": \"Indonesia\",\n \"dial_code\": \"+62\",\n \"code\": \"ID\"\n },\n {\n \"name\": \"Iran, Islamic Republic of Persian Gulf\",\n \"dial_code\": \"+98\",\n \"code\": \"IR\"\n },\n {\n \"name\": \"Iraq\",\n \"dial_code\": \"+964\",\n \"code\": \"IQ\"\n },\n {\n \"name\": \"Ireland\",\n \"dial_code\": \"+353\",\n \"code\": \"IE\"\n },\n {\n \"name\": \"Isle of Man\",\n \"dial_code\": \"+44\",\n \"code\": \"IM\"\n },\n {\n \"name\": \"Israel\",\n \"dial_code\": \"+972\",\n \"code\": \"IL\"\n },\n {\n \"name\": \"Italy\",\n \"dial_code\": \"+39\",\n \"code\": \"IT\"\n },\n {\n \"name\": \"Jamaica\",\n \"dial_code\": \"+1876\",\n \"code\": \"JM\"\n },\n {\n \"name\": \"Japan\",\n \"dial_code\": \"+81\",\n \"code\": \"JP\"\n },\n {\n \"name\": \"Jersey\",\n \"dial_code\": \"+44\",\n \"code\": \"JE\"\n },\n {\n \"name\": \"Jordan\",\n \"dial_code\": \"+962\",\n \"code\": \"JO\"\n },\n {\n \"name\": \"Kazakhstan\",\n \"dial_code\": \"+77\",\n \"code\": \"KZ\"\n },\n {\n \"name\": \"Kenya\",\n \"dial_code\": \"+254\",\n \"code\": \"KE\"\n },\n {\n \"name\": \"Kiribati\",\n \"dial_code\": \"+686\",\n \"code\": \"KI\"\n },\n {\n \"name\": \"Korea, Democratic People's Republic of Korea\",\n \"dial_code\": \"+850\",\n \"code\": \"KP\"\n },\n {\n \"name\": \"Korea, Republic of South Korea\",\n \"dial_code\": \"+82\",\n \"code\": \"KR\"\n },\n {\n \"name\": \"Kuwait\",\n \"dial_code\": \"+965\",\n \"code\": \"KW\"\n },\n {\n \"name\": \"Kyrgyzstan\",\n \"dial_code\": \"+996\",\n \"code\": \"KG\"\n },\n {\n \"name\": \"Laos\",\n \"dial_code\": \"+856\",\n \"code\": \"LA\"\n },\n {\n \"name\": \"Latvia\",\n \"dial_code\": \"+371\",\n \"code\": \"LV\"\n },\n {\n \"name\": \"Lebanon\",\n \"dial_code\": \"+961\",\n \"code\": \"LB\"\n },\n {\n \"name\": \"Lesotho\",\n \"dial_code\": \"+266\",\n \"code\": \"LS\"\n },\n {\n \"name\": \"Liberia\",\n \"dial_code\": \"+231\",\n \"code\": \"LR\"\n },\n {\n \"name\": \"Libyan Arab Jamahiriya\",\n \"dial_code\": \"+218\",\n \"code\": \"LY\"\n },\n {\n \"name\": \"Liechtenstein\",\n \"dial_code\": \"+423\",\n \"code\": \"LI\"\n },\n {\n \"name\": \"Lithuania\",\n \"dial_code\": \"+370\",\n \"code\": \"LT\"\n },\n {\n \"name\": \"Luxembourg\",\n \"dial_code\": \"+352\",\n \"code\": \"LU\"\n },\n {\n \"name\": \"Macao\",\n \"dial_code\": \"+853\",\n \"code\": \"MO\"\n },\n {\n \"name\": \"Macedonia\",\n \"dial_code\": \"+389\",\n \"code\": \"MK\"\n },\n {\n \"name\": \"Madagascar\",\n \"dial_code\": \"+261\",\n \"code\": \"MG\"\n },\n {\n \"name\": \"Malawi\",\n \"dial_code\": \"+265\",\n \"code\": \"MW\"\n },\n {\n \"name\": \"Malaysia\",\n \"dial_code\": \"+60\",\n \"code\": \"MY\"\n },\n {\n \"name\": \"Maldives\",\n \"dial_code\": \"+960\",\n \"code\": \"MV\"\n },\n {\n \"name\": \"Mali\",\n \"dial_code\": \"+223\",\n \"code\": \"ML\"\n },\n {\n \"name\": \"Malta\",\n \"dial_code\": \"+356\",\n \"code\": \"MT\"\n },\n {\n \"name\": \"Marshall Islands\",\n \"dial_code\": \"+692\",\n \"code\": \"MH\"\n },\n {\n \"name\": \"Martinique\",\n \"dial_code\": \"+596\",\n \"code\": \"MQ\"\n },\n {\n \"name\": \"Mauritania\",\n \"dial_code\": \"+222\",\n \"code\": \"MR\"\n },\n {\n \"name\": \"Mauritius\",\n \"dial_code\": \"+230\",\n \"code\": \"MU\"\n },\n {\n \"name\": \"Mayotte\",\n \"dial_code\": \"+262\",\n \"code\": \"YT\"\n },\n {\n \"name\": \"Mexico\",\n \"dial_code\": \"+52\",\n \"code\": \"MX\"\n },\n {\n \"name\": \"Micronesia, Federated States of Micronesia\",\n \"dial_code\": \"+691\",\n \"code\": \"FM\"\n },\n {\n \"name\": \"Moldova\",\n \"dial_code\": \"+373\",\n \"code\": \"MD\"\n },\n {\n \"name\": \"Monaco\",\n \"dial_code\": \"+377\",\n \"code\": \"MC\"\n },\n {\n \"name\": \"Mongolia\",\n \"dial_code\": \"+976\",\n \"code\": \"MN\"\n },\n {\n \"name\": \"Montenegro\",\n \"dial_code\": \"+382\",\n \"code\": \"ME\"\n },\n {\n \"name\": \"Montserrat\",\n \"dial_code\": \"+1664\",\n \"code\": \"MS\"\n },\n {\n \"name\": \"Morocco\",\n \"dial_code\": \"+212\",\n \"code\": \"MA\"\n },\n {\n \"name\": \"Mozambique\",\n \"dial_code\": \"+258\",\n \"code\": \"MZ\"\n },\n {\n \"name\": \"Myanmar\",\n \"dial_code\": \"+95\",\n \"code\": \"MM\"\n },\n {\n \"name\": \"Namibia\",\n \"dial_code\": \"+264\",\n \"code\": \"NA\"\n },\n {\n \"name\": \"Nauru\",\n \"dial_code\": \"+674\",\n \"code\": \"NR\"\n },\n {\n \"name\": \"Nepal\",\n \"dial_code\": \"+977\",\n \"code\": \"NP\"\n },\n {\n \"name\": \"Netherlands\",\n \"dial_code\": \"+31\",\n \"code\": \"NL\"\n },\n {\n \"name\": \"Netherlands Antilles\",\n \"dial_code\": \"+599\",\n \"code\": \"AN\"\n },\n {\n \"name\": \"New Caledonia\",\n \"dial_code\": \"+687\",\n \"code\": \"NC\"\n },\n {\n \"name\": \"New Zealand\",\n \"dial_code\": \"+64\",\n \"code\": \"NZ\"\n },\n {\n \"name\": \"Nicaragua\",\n \"dial_code\": \"+505\",\n \"code\": \"NI\"\n },\n {\n \"name\": \"Niger\",\n \"dial_code\": \"+227\",\n \"code\": \"NE\"\n },\n {\n \"name\": \"Nigeria\",\n \"dial_code\": \"+234\",\n \"code\": \"NG\"\n },\n {\n \"name\": \"Niue\",\n \"dial_code\": \"+683\",\n \"code\": \"NU\"\n },\n {\n \"name\": \"Norfolk Island\",\n \"dial_code\": \"+672\",\n \"code\": \"NF\"\n },\n {\n \"name\": \"Northern Mariana Islands\",\n \"dial_code\": \"+1670\",\n \"code\": \"MP\"\n },\n {\n \"name\": \"Norway\",\n \"dial_code\": \"+47\",\n \"code\": \"NO\"\n },\n {\n \"name\": \"Oman\",\n \"dial_code\": \"+968\",\n \"code\": \"OM\"\n },\n {\n \"name\": \"Pakistan\",\n \"dial_code\": \"+92\",\n \"code\": \"PK\"\n },\n {\n \"name\": \"Palau\",\n \"dial_code\": \"+680\",\n \"code\": \"PW\"\n },\n {\n \"name\": \"Palestinian Territory, Occupied\",\n \"dial_code\": \"+970\",\n \"code\": \"PS\"\n },\n {\n \"name\": \"Panama\",\n \"dial_code\": \"+507\",\n \"code\": \"PA\"\n },\n {\n \"name\": \"Papua New Guinea\",\n \"dial_code\": \"+675\",\n \"code\": \"PG\"\n },\n {\n \"name\": \"Paraguay\",\n \"dial_code\": \"+595\",\n \"code\": \"PY\"\n },\n {\n \"name\": \"Peru\",\n \"dial_code\": \"+51\",\n \"code\": \"PE\"\n },\n {\n \"name\": \"Philippines\",\n \"dial_code\": \"+63\",\n \"code\": \"PH\"\n },\n {\n \"name\": \"Pitcairn\",\n \"dial_code\": \"+872\",\n \"code\": \"PN\"\n },\n {\n \"name\": \"Poland\",\n \"dial_code\": \"+48\",\n \"code\": \"PL\"\n },\n {\n \"name\": \"Portugal\",\n \"dial_code\": \"+351\",\n \"code\": \"PT\"\n },\n {\n \"name\": \"Puerto Rico\",\n \"dial_code\": \"+1939\",\n \"code\": \"PR\"\n },\n {\n \"name\": \"Qatar\",\n \"dial_code\": \"+974\",\n \"code\": \"QA\"\n },\n {\n \"name\": \"Romania\",\n \"dial_code\": \"+40\",\n \"code\": \"RO\"\n },\n {\n \"name\": \"Russia\",\n \"dial_code\": \"+7\",\n \"code\": \"RU\"\n },\n {\n \"name\": \"Rwanda\",\n \"dial_code\": \"+250\",\n \"code\": \"RW\"\n },\n {\n \"name\": \"Reunion\",\n \"dial_code\": \"+262\",\n \"code\": \"RE\"\n },\n {\n \"name\": \"Saint Barthelemy\",\n \"dial_code\": \"+590\",\n \"code\": \"BL\"\n },\n {\n \"name\": \"Saint Helena, Ascension and Tristan Da Cunha\",\n \"dial_code\": \"+290\",\n \"code\": \"SH\"\n },\n {\n \"name\": \"Saint Kitts and Nevis\",\n \"dial_code\": \"+1869\",\n \"code\": \"KN\"\n },\n {\n \"name\": \"Saint Lucia\",\n \"dial_code\": \"+1758\",\n \"code\": \"LC\"\n },\n {\n \"name\": \"Saint Martin\",\n \"dial_code\": \"+590\",\n \"code\": \"MF\"\n },\n {\n \"name\": \"Saint Pierre and Miquelon\",\n \"dial_code\": \"+508\",\n \"code\": \"PM\"\n },\n {\n \"name\": \"Saint Vincent and the Grenadines\",\n \"dial_code\": \"+1784\",\n \"code\": \"VC\"\n },\n {\n \"name\": \"Samoa\",\n \"dial_code\": \"+685\",\n \"code\": \"WS\"\n },\n {\n \"name\": \"San Marino\",\n \"dial_code\": \"+378\",\n \"code\": \"SM\"\n },\n {\n \"name\": \"Sao Tome and Principe\",\n \"dial_code\": \"+239\",\n \"code\": \"ST\"\n },\n {\n \"name\": \"Saudi Arabia\",\n \"dial_code\": \"+966\",\n \"code\": \"SA\"\n },\n {\n \"name\": \"Senegal\",\n \"dial_code\": \"+221\",\n \"code\": \"SN\"\n },\n {\n \"name\": \"Serbia\",\n \"dial_code\": \"+381\",\n \"code\": \"RS\"\n },\n {\n \"name\": \"Seychelles\",\n \"dial_code\": \"+248\",\n \"code\": \"SC\"\n },\n {\n \"name\": \"Sierra Leone\",\n \"dial_code\": \"+232\",\n \"code\": \"SL\"\n },\n {\n \"name\": \"Singapore\",\n \"dial_code\": \"+65\",\n \"code\": \"SG\"\n },\n {\n \"name\": \"Slovakia\",\n \"dial_code\": \"+421\",\n \"code\": \"SK\"\n },\n {\n \"name\": \"Slovenia\",\n \"dial_code\": \"+386\",\n \"code\": \"SI\"\n },\n {\n \"name\": \"Solomon Islands\",\n \"dial_code\": \"+677\",\n \"code\": \"SB\"\n },\n {\n \"name\": \"Somalia\",\n \"dial_code\": \"+252\",\n \"code\": \"SO\"\n },\n {\n \"name\": \"South Africa\",\n \"dial_code\": \"+27\",\n \"code\": \"ZA\"\n },\n {\n \"name\": \"South Sudan\",\n \"dial_code\": \"+211\",\n \"code\": \"SS\"\n },\n {\n \"name\": \"South Georgia and the South Sandwich Islands\",\n \"dial_code\": \"+500\",\n \"code\": \"GS\"\n },\n {\n \"name\": \"Spain\",\n \"dial_code\": \"+34\",\n \"code\": \"ES\"\n },\n {\n \"name\": \"Sri Lanka\",\n \"dial_code\": \"+94\",\n \"code\": \"LK\"\n },\n {\n \"name\": \"Sudan\",\n \"dial_code\": \"+249\",\n \"code\": \"SD\"\n },\n {\n \"name\": \"Suriname\",\n \"dial_code\": \"+597\",\n \"code\": \"SR\"\n },\n {\n \"name\": \"Svalbard and Jan Mayen\",\n \"dial_code\": \"+47\",\n \"code\": \"SJ\"\n },\n {\n \"name\": \"Swaziland\",\n \"dial_code\": \"+268\",\n \"code\": \"SZ\"\n },\n {\n \"name\": \"Sweden\",\n \"dial_code\": \"+46\",\n \"code\": \"SE\"\n },\n {\n \"name\": \"Switzerland\",\n \"dial_code\": \"+41\",\n \"code\": \"CH\"\n },\n {\n \"name\": \"Syrian Arab Republic\",\n \"dial_code\": \"+963\",\n \"code\": \"SY\"\n },\n {\n \"name\": \"Taiwan\",\n \"dial_code\": \"+886\",\n \"code\": \"TW\"\n },\n {\n \"name\": \"Tajikistan\",\n \"dial_code\": \"+992\",\n \"code\": \"TJ\"\n },\n {\n \"name\": \"Tanzania, United Republic of Tanzania\",\n \"dial_code\": \"+255\",\n \"code\": \"TZ\"\n },\n {\n \"name\": \"Thailand\",\n \"dial_code\": \"+66\",\n \"code\": \"TH\"\n },\n {\n \"name\": \"Timor-Leste\",\n \"dial_code\": \"+670\",\n \"code\": \"TL\"\n },\n {\n \"name\": \"Togo\",\n \"dial_code\": \"+228\",\n \"code\": \"TG\"\n },\n {\n \"name\": \"Tokelau\",\n \"dial_code\": \"+690\",\n \"code\": \"TK\"\n },\n {\n \"name\": \"Tonga\",\n \"dial_code\": \"+676\",\n \"code\": \"TO\"\n },\n {\n \"name\": \"Trinidad and Tobago\",\n \"dial_code\": \"+1868\",\n \"code\": \"TT\"\n },\n {\n \"name\": \"Tunisia\",\n \"dial_code\": \"+216\",\n \"code\": \"TN\"\n },\n {\n \"name\": \"Turkey\",\n \"dial_code\": \"+90\",\n \"code\": \"TR\"\n },\n {\n \"name\": \"Turkmenistan\",\n \"dial_code\": \"+993\",\n \"code\": \"TM\"\n },\n {\n \"name\": \"Turks and Caicos Islands\",\n \"dial_code\": \"+1649\",\n \"code\": \"TC\"\n },\n {\n \"name\": \"Tuvalu\",\n \"dial_code\": \"+688\",\n \"code\": \"TV\"\n },\n {\n \"name\": \"Uganda\",\n \"dial_code\": \"+256\",\n \"code\": \"UG\"\n },\n {\n \"name\": \"Ukraine\",\n \"dial_code\": \"+380\",\n \"code\": \"UA\"\n },\n {\n \"name\": \"United Arab Emirates\",\n \"dial_code\": \"+971\",\n \"code\": \"AE\"\n },\n {\n \"name\": \"United Kingdom\",\n \"dial_code\": \"+44\",\n \"code\": \"GB\"\n },\n {\n \"name\": \"United States\",\n \"dial_code\": \"+1\",\n \"code\": \"US\"\n },\n {\n \"name\": \"Uruguay\",\n \"dial_code\": \"+598\",\n \"code\": \"UY\"\n },\n {\n \"name\": \"Uzbekistan\",\n \"dial_code\": \"+998\",\n \"code\": \"UZ\"\n },\n {\n \"name\": \"Vanuatu\",\n \"dial_code\": \"+678\",\n \"code\": \"VU\"\n },\n {\n \"name\": \"Venezuela, Bolivarian Republic of Venezuela\",\n \"dial_code\": \"+58\",\n \"code\": \"VE\"\n },\n {\n \"name\": \"Vietnam\",\n \"dial_code\": \"+84\",\n \"code\": \"VN\"\n },\n {\n \"name\": \"Virgin Islands, British\",\n \"dial_code\": \"+1284\",\n \"code\": \"VG\"\n },\n {\n \"name\": \"Virgin Islands, U.S.\",\n \"dial_code\": \"+1340\",\n \"code\": \"VI\"\n },\n {\n \"name\": \"Wallis and Futuna\",\n \"dial_code\": \"+681\",\n \"code\": \"WF\"\n },\n {\n \"name\": \"Yemen\",\n \"dial_code\": \"+967\",\n \"code\": \"YE\"\n },\n {\n \"name\": \"Zambia\",\n \"dial_code\": \"+260\",\n \"code\": \"ZM\"\n },\n {\n \"name\": \"Zimbabwe\",\n \"dial_code\": \"+263\",\n \"code\": \"ZW\"\n }\n ]\n\n selectedPhoneCodes = this.phoneCode;\n selectedPhoneCode:any = '+1';\n\n submitted: boolean = false;\n modalRef: BsModalRef;\n currentUser:any;\n profileData:any;\n\n \n @Output() MobNumDetails = new EventEmitter()\n constructor(\n private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy,\n private sharedService: SharedService,\n private spinner: SpinnerVisibilityService,\n ) { \n history.pushState(null, null, window.location.href); \n this.location.onPopState(() => {\n history.pushState(null, null, window.location.href);\n }); \n }\n\n separateDialCode = false;\n SearchCountryField = SearchCountryField;\n CountryISO = CountryISO;\n updateScreen;\n generUpdatemodalRef;\n PhoneNumberFormat = PhoneNumberFormat;\n preferredCountries: CountryISO[] = [CountryISO.UnitedStates, CountryISO.UnitedKingdom];\n @ViewChild(\"showupdateGenerModal\") showupdateGenerModal: TemplateRef;\n\n resetForm = new FormGroup({\n phone: new FormControl('', [Validators.required, Validators.minLength(9)]),\n code: new FormControl('+1', [Validators.required])\n })\n\n ngOnInit(): void {\n\n this.currentUser = this.service.currentUserValue;\n this.spinner.show()\n this.sharedService.getProfile().subscribe((res:any)=> {\n if(res.type == 'success'){\n this.profileData = res.data;\n\n console.log( this.profileData, \" this.profileData\");\n this.selectedPhoneCode = this.profileData?.countryCode;\n this.resetForm.get('phone').setValue(this.profileData?.mobileNumber);\n this.spinner.hide()\n }\n })\n }\n\n showUpdateModal(updateScreen){\n this.updateScreen = updateScreen;\n this.generUpdatemodalRef = this.modalService.show(this.showupdateGenerModal,{class:\"update-gener-modal\"});\n }\n\n \n collectUpdatedupdateMobNum(e){\n console.log(e, \"updated phone number details\");\n // this.updateProfileForm.get('otp').patchValue(e.MobileNumber);\n this.generUpdatemodalRef.hide();\n this.MobNumDetails.emit(e);\n }\n\n updateProfileForm = new FormGroup({\n otp: new FormControl(''),\n })\n\n get f() {\n return this.resetForm.controls;\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n sendEmailToLogin:any;\n\n verifyPhone() {\n // this.showUpdateModal('updateOTP')\n let phoneNumber = this.resetForm.value.phone.replace(' ','').replace(' ','');\n this.submitted = true;\n if (this.resetForm.invalid || this.resetForm.pristine) return;\n this.submitted = false;\n\n let data = {\n countryCode: this.resetForm.value.code,\n mobileNumber: phoneNumber\n }\n if(phoneNumber.length >= 9 && phoneNumber.length <= 13){\n this.service.sendOTP(data)\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastr.success(\"Code sent to your phone number\");\n // let phone = this.resetForm.value.phone;\n phoneNumber = phoneNumber.replace(/(\\d{3})(\\d{3})(\\d+)/, \"$1 $2 $3\");\n localStorage.setItem('phone', JSON.stringify(phoneNumber));\n localStorage.setItem('countryCode', JSON.stringify(this.resetForm.value.code));\n // this.router.navigateByUrl('/register/enter/code');\n this.showUpdateModal('updateOTP')\n }else{\n this.toastr.error('error');\n }\n })\n }else{\n this.toastr.error('Please put 9 digit mobile number.');\n }\n }\n\n\n\n numberOnly(evt: any){\n let value = evt.target.value;\n var charCode = evt.which ? evt.which : evt.keyCode;\n if(charCode == 46){\n return false;\n }\n if (charCode == 8 || charCode == 37) {\n return true;\n } else if (charCode == 46 && value.indexOf(\".\") != -1) {\n return false;\n } else if (\n charCode > 31 &&\n charCode != 46 &&\n (charCode < 48 || charCode > 57)\n ) {\n return false;\n }\n return true;\n }\n\nNextDisabledForPhoneNum = false;\n\n phoneFormat(e:any){\n\n e ? e = e?.replace(/[^\\d]/g,'') : e;\n\n e = e.replaceAll(' ','');\n\n console.log(e);\n \n if(e.length>=9 && e.length<=13){\n let phone = this.resetForm.value.phone;\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n e = e.replace(/(\\d{3})(\\d{3})(\\d+)/, \"$1 $2 $3\");\n this.resetForm.get('phone').patchValue(e);\n console.log(this.resetForm)\n }\n else if(e.length>13){\n console.log(\"hi\")\n e = e.slice(0,13);\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n e = e.replace(/(\\d{3})(\\d{3})(\\d+)/, \"$1 $2 $3\");\n this.resetForm.get('phone').patchValue(e);\n }\n\n if(e.replaceAll(' ','').length >= 9 && e.replaceAll(' ','').length <= 13){\n this.NextDisabledForPhoneNum = false;\n }\n else {\n this.NextDisabledForPhoneNum = true;\n }\n\n\n // if(e.length==10){\n // let phone = this.resetForm.value.phone;\n // // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1 $2 $3\");\n // this.resetForm.get('phone').patchValue(phone);\n // console.log( this.resetForm)\n // }\n // if(e.length<9){\n // let phone = this.resetForm.value.phone;\n // // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1 $2 $3\");\n // this.resetForm.get('phone').patchValue(phone);\n // console.log( this.resetForm)\n // console.log(this.resetForm,\"hellow <10\")\n // }\n // if(e.length>=11){\n // console.log(\"hi\")\n // let phone = this.resetForm.value.phone.slice(0,12);\n // // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1 $2 $3\");\n // this.resetForm.get('phone').patchValue(phone);\n // }\n\n // if(e.length < 10){\n // this.NextDisabledForPhoneNum = true;\n // }\n // else if(e.length ==10){\n // this.NextDisabledForPhoneNum = false;\n // }\n\n }\n\n\n onSelectCode(e:any){\n }\n\n \n onKey(value) { \n this.selectedPhoneCodes = this.search(value);\n }\n\n search(value: string) { \n let filter = value.toLowerCase();\n return this.phoneCode.filter(option => option.name.toLowerCase().includes(filter));\n }\n\n\n}\n","
      \n
      \n
      \n \"\"\n YouTube\n
      \n
      3\">\n See all\n
      \n
      \n\n
      0}\">\n
      \n \n
      \n
      \n \"\"\n
      \n
      \n
      \n

      {{i?.name}}

      \n

      \n
      \n
      \n
      \n
      \n \n
      \n

      No Data Found

      \n
      \n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { SharedService } from \"../services/shared.service\";\nimport * as $ from 'jquery';\n@Component({\n selector: \"app-youtube-card\",\n templateUrl: \"./youtube-cards.component.html\",\n styleUrls: [\"./youtube-cards.component.scss\"],\n})\nexport class YoutubeCardsComponent implements OnInit {\n youtubePlayData:any;\n selectedIndex:any;\n // playList:any=[];\n\n constructor(\n public router: Router,\n private service: SharedService,\n private toastrService: ToastrService,\n private spinner: SpinnerVisibilityService\n ) {}\n\n // @Input() goYoutube: any;\n // @Input() playList: any=[];\n // @Input() playlistModelOpen: any;\n\n playList = [];\n\n @Input() userId;\n\n @Output() gotoYoutube = new EventEmitter();\n\n ngOnInit(): void {\n this.getPlayList();\n var youTubeURL = 'http://gdata.youtube.com/feeds/api/videos/EEcldrVuiYU?v=2&alt=json';\n var json = (function () {\n $.ajax({\n 'async': false,\n 'global': false,\n 'url': youTubeURL,\n 'dataType': \"jsonp\", // necessary for IE9\n crossDomain: true,\n 'success': function (data) {\n var duration = data.entry.media$group.yt$duration.seconds;\n alert(duration);\n }\n });\n })();\n }\n\n getPlayList(){\n this.service.getYoutubeList(this.userId,1,20).subscribe((res: any) => {\n\n if(res.data && res.data.length){\n this.playList = res?.data;\n }\n })\n // this.spinner.show();\n // this.service.getPlayList().subscribe((res:any)=> {\n // if(res.type == 'success'){\n // this.playList = res.data;\n // }else{\n // this.toastrService.error(res.message);\n // }\n // })\n // this.spinner.hide();\n }\n\n navigateToYoutube(){\n this.gotoYoutube.emit();\n }\n\n openYoutubeModal(data:any){\n this.service.playYoutube(data);\n }\n\n // gotoYoutube(){\n // this.goYoutube = 4;\n // this.service.selectYoutube(4);\n // }\n\n getImage(id){\n let src = \"https://img.youtube.com/vi/\" +id +\"/0.jpg\";\n return src\n }\n\n getDuration(id:any){\n // let du = (document.getElementById('first')).duration;\n }\n \n}\n","
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n \n
      \n
      \n
      \n
      \n \"\"\n\n
      \n \"\"\n
      \n
      \n \n {{ISO8601toDuration(video?.items[0].contentDetails?.duration)}}\n
      \n
      \n

      {{ video.name }}

      \n
      \n
      \n \n
      \n
      \n
      \n \"\"\n\n
      \n \"\"\n
      \n \n
      playlist {{video.totalCount}}
      \n
      \n

      {{ video.name }}

      \n
      \n
      \n \n
      \n
      \n\n
      \n
      \n
      \n No Playlist Yet !\n
      \n\n\n\n\n\n
      \n \n \n
      \n
      \n \"\"\n
      \n
      \n \"\"\n
      \n
      \n \n
      \n
      \n\n\n
      \n \n
      \n
      \n
      \n
      \n
      \n
      \n \"\"\n
      \n
      \n

      {{videoSong.name}}

      \n
      \n
      \n \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n
      \n\n\n
      \n \n
      \n
      \n

      Are you sure you want to remove this {{removingItem}}?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      ","import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ToastrService } from 'ngx-toastr';\nimport { SharedService } from '../services/shared.service';\nimport { YtPlayerService } from 'yt-player-angular';\n\n@Component({\n selector: 'app-youtube',\n templateUrl: './youtube.component.html',\n styleUrls: ['./youtube.component.scss']\n})\nexport class YoutubeComponent implements OnInit {\n\n @ViewChild(\"youtubePlayVideo\") youtubePlayVideo: TemplateRef;\n\n @ViewChild(\"youtubePlayList\") youtubePlayList: TemplateRef;\n\n @Input() userId;\n\n @ViewChild(\"removeYoutubeModal\") removeYoutubeModal: TemplateRef;\n\n constructor(\n private modalService: BsModalService,\n private service: SharedService,\n private toastrService: ToastrService,\n private ytPlayerService: YtPlayerService\n ) { }\n\n ngOnInit(): void {\n this.getYoutubePlaylist();\n }\n\n playList = [];\n NextPageTokenForYoutube;\n moreVideosComing: Boolean = false;\n myInputValues = '';\n\n page = 1;\n pageSize = 20;\n\n modalRef: any;\n loadMoreYoutube: Boolean = true; \n\n getYoutubePlaylist() {\n this.service.getYoutubeList(this.userId,this.page,this.pageSize).subscribe((res: any) => {\n\n if(res.data && res.data.length){\n this.playList = res?.data;\n }\n // this.playList = res?.data?.youtubeResult;\n // console.log(res.data.videos);\n // this.playList = res.data.videos;\n // if (res.data?.pageInfo?.nextPageToken) {\n // this.moreVideosComing = true;\n // }\n // this.NextPageTokenForYoutube = res.data.pageInfo.nextPageToken;\n })\n }\n\n youtubePlayData;\n currentlyPlayingVideoId;\n videoPlayerOptions = {\n autoplay: true,\n width:906,\n height:596\n }\n selectedVideoFrom;\n selectedVideoIndex;\n openYoutubeModalP(type,index,videoId) {\n // console.log(videoIndex);\n // console.log(data);\n // this.youtubePlayData=data;\n\n this.currentlyPlayingVideoId = videoId;\n this.selectedVideoFrom = type;\n this.selectedVideoIndex = index;\n\n let initialState: ModalOptions = {\n // initialState: {\n // videoId: this.currentlyPlayingVideoId,\n // videoIndex,\n // playList:this.playList,\n // videoPlayerOptions : {\n // autoplay: true,\n // width:906,\n // height:596\n // }\n // } as Partial,\n class: 'ytmodalpopup'\n };\n this.modalRef = this.modalService.show(this.youtubePlayVideo, initialState);\n\n\n\n // this.openModal(this.youtubePlay);\n // setTimeout(()=>{\n // this.currentlyPlayingVideoId = data.url.split('v=')[1];\n // console.log(data);\n // console.log(this.currentlyPlayingVideoId);\n // this.ytPlayerService.play();\n // // console.log(this.youtubePlayer);\n // // this.youtubePlayer.load('GKSRyLdjsPA')\n // // this.youtubePlayer.setVolume(100)\n\n // // this.youtubePlayer.on('playing', () => {\n // // console.log(this.youtubePlayer.getDuration()) // => 351.521\n // // });\n // },5000)\n\n }\n\n ISO8601toDuration(input) {\n var H = this.formatTimeUnit(input, 'H');\n var M = this.formatTimeUnit(input, 'M');\n var S = this.formatTimeUnit(input, 'S');\n\n if (H == \"00\") {\n H = \"\";\n } else {\n H += \":\"\n }\n\n return H + M + ':' + S;\n }\n\n formatTimeUnit(input, unit){\n var index = input.indexOf(unit);\n var output = \"00\"\n if(index < 0){\n return output; // unit isn't in the input\n }\n \n if(isNaN(input.charAt(index-2))){\n return '0' + input.charAt(index-1);\n }else{\n return input.charAt(index-2) + input.charAt(index-1);\n }\n }\n\n showAddUrlLoader: Boolean = false;\n addYoutubeUrl(){\n this.showAddUrlLoader = true;\n console.log((document.getElementById(\"youtubeUrlNew\")).value);\n let youtubeUrlNew = (document.getElementById(\"youtubeUrlNew\")).value;\n this.service.addYoutubeUrl({url:youtubeUrlNew}).subscribe((res:any)=>{\n this.showAddUrlLoader = false;\n console.log(res);\n if(res?.data?.items?.length){\n res.data.totalCount = res.data?.items?.length;\n }\n this.playList.unshift(res.data);\n (document.getElementById(\"youtubeUrlNew\")).value = '';\n this.myInputValues = '';\n },\n (err)=>{\n this.showAddUrlLoader = false;\n console.log(err);\n console.log(err?.error?.message);\n if(err?.error?.message?.includes('iFrame code already added')){\n this.toastrService.info(\"iFrame code already added\");\n }\n else {\n this.toastrService.info(err?.error?.message);\n }\n (document.getElementById(\"youtubeUrlNew\")).value = '';\n this.myInputValues = '';\n })\n }\n // transFormUrl(url){\n // // return this.domSanitizer.sanitize(SecurityContext.URL, url);\n // return this.domSanitizer.bypassSecurityTrustResourceUrl(url);\n // }\n iframeSource = '';\n // soundcloudModalP(iframesrc:any){\n // let initialState: ModalOptions = {\n // initialState: {\n // source:iframesrc\n // } as Partial,\n // class: 'soundcloudpopup'\n // };\n // this.iframeSource = iframesrc;\n // this.modalRef = this.modalService.show(this.soundcloudIframe, initialState);\n // }\n\n // removeYoutube(id,index){\n // this.service.removeYoutubeUrl(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.playList.splice(index,1);\n // }\n // })\n // }\n\n loadMoreYoutubeData(e){\n console.log(\"scrolled fired\");\n if(this.loadMoreYoutube){\n console.log(\"loading more\")\n this.page++;\n this.getMoreYoutubeList();\n }\n }\n\n // loadMoreSoundcloud:Boolean = true;\n // userId;\n getMoreYoutubeList(){\n this.service.getYoutubeList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.playList.push(...res.data);\n }\n else{\n this.loadMoreYoutube = false;\n }\n })\n }\n\n openYoutubePlayVideoModal(videoIndex, data: any) {\n console.log(videoIndex);\n console.log(data);\n this.youtubePlayData=data;\n this.currentlyPlayingVideoId = data.url.split('v=')[1];\n let initialState: ModalOptions = {\n initialState: {\n videoId: this.currentlyPlayingVideoId,\n videoIndex,\n playList:this.playList,\n videoPlayerOptions : {\n autoplay: true,\n width:906,\n height:596\n }\n } as Partial,\n class: 'ytmodalpopup'\n };\n this.modalRef = this.modalService.show(this.youtubePlayVideo, initialState);\n\n }\n\n selectedYoutubePlaylist = [];\n selectedYoutubePlaylistIndex;\n youtubePlayListModalRef;\n showPlaylistLoader: Boolean = false;\n getPlaylistItems(id,index){\n // this.showPlaylistLoader = true;\n this.youtubePlayListModalRef = this.modalService.show(this.youtubePlayList,{class:'youtubeplaylisstpopup'});\n this.showPlaylistLoader = true;\n this.service.getYoutubePlaylistItems(id).subscribe((res:any)=>{\n this.showPlaylistLoader = false;\n console.log(res);\n this.selectedYoutubePlaylist = res.data;\n this.selectedYoutubePlaylistIndex = index;\n },err => {\n this.showPlaylistLoader = false;\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n close(){\n \n this.youtubePlayListModalRef.hide();\n this.selectedYoutubePlaylist = [];\n }\n\n getNextVideo(){\n\n console.log(\"from get next video\");\n\n if(this.selectedVideoFrom == 'single'){\n console.log(\"single\");\n this.checkNextAndPlay();\n }\n else if(this.selectedVideoFrom == 'playlist'){\n console.log(\"playlist\");\n this.selectedVideoIndex == this.selectedYoutubePlaylist.length-1 ? this.selectedVideoIndex = 0 : this.selectedVideoIndex = this.selectedVideoIndex+1;\n // this.selectedVideoIndex = this.selectedVideoIndex+1;\n this.currentlyPlayingVideoId = this.selectedYoutubePlaylist[this.selectedVideoIndex].videoId;\n this.playVideo(this.currentlyPlayingVideoId);\n }\n else{\n this.toastrService.info(\"unable to find the video type\");\n }\n \n // this.ytPlayerService.\n }\n\n checkNextAndPlay(){\n console.log(\"check next and play\");\n // debugger;\n // this.selectedVideoIndex = this.selectedVideoIndex + 1;\n for(let i=this.selectedVideoIndex;i {})\n // player.on('ended', () => {})\n // player.on('playing', () => {})\n // player.on('paused', () => {})\n // player.on('buffering', () => {})\n // player.on('cued', () => {})\n // this.ytPlayerService.\n // this.ytPlayerService.loadVideoById({})\n }\n\n apiChange(e){\n console.log(\"api change event\",e)\n }\n\n ready(e){\n console.log(\"ready\",e)\n }\n\n unstarted(e){\n console.log(\"unstarted\",e);\n }\n\n buffering(e){\n console.log(\"buffering\",e);\n }\n\n paused(e){\n console.log(\"paused\",e);\n }\n\n onStateChange(e){\n console.log(e);\n // if(e.type == 6){\n // setTimeout(()=>{\n // // let elm: any = document.getElementsByClassName(\"ytp-chrome-top-buttons\")[0];\n // // elm.style.display = 'none';\n // // debugger;\n // const x = document.querySelector(\"iframe\").contentWindow;\n // //x = window.frames[0];\n\n // x.document.querySelector(\"body\").style.backgroundColor = \"blue\";\n // // this would turn the 1st iframe in document blue.\n\n // console.log(x);\n // console.log(document.getElementsByClassName(\"ytp-chrome-top-buttons\")[0]);\n // },10000);\n // } \n if(e.type == 3){\n console.log(\"going to next\");\n this.getNextVideo();\n }\n }\n\n removeYoutubeId;\n removeYoutubeIndex;\n removeModalref;\n removingItem = '';\n\n // openRemoveYoutubeUrlModal(id, index){\n // this.removeYoutubeId = id;\n // this.removeYoutubeIndex = index;\n // this.removeModalref = this.modalService.show(this.removeYoutubeUrlModal);\n // }\n\n openRemoveYoutubeModal(type,id, index){\n if(type == 'single'){\n this.removingItem = 'video';\n }\n else if(type == 'playlist'){\n this.removingItem = 'playlist';\n }\n else if(type == 'playlistItem'){\n this.removingItem = 'track from playlist';\n }\n this.removeYoutubeId = id;\n this.removeYoutubeIndex = index;\n this.removeModalref = this.modalService.show(this.removeYoutubeModal,{class : 'removeytmodal'});\n }\n\n removeYoutube(){\n this.showRemoveUrlLoader = true;\n switch(this.removingItem){\n case 'video' : this.removeYoutubeUrl(); break;\n case 'playlist' : this.removePlaylist(); break;\n case 'track from playlist' : this.removePlaylistItem(); break;\n }\n }\n showRemoveUrlLoader: Boolean = false;\n removeYoutubeUrl(){\n this.service.removeYoutubeUrl(this.removeYoutubeId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.playList.splice(this.removeYoutubeIndex,1);\n }\n this.removeModalref.hide();\n this.showRemoveUrlLoader = false;\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n removePlaylist(){\n let id = this.playList[this.removeYoutubeIndex]._id;\n this.service.removeYoutubePlaylist(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.playList.splice(this.removeYoutubeIndex,1);\n }\n this.removeModalref.hide();\n this.showRemoveUrlLoader = false;\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n removePlaylistItem(){\n let id = this.selectedYoutubePlaylist[this.removeYoutubeIndex]._id;\n this.service.removeYoutubePlaylistItem(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.selectedYoutubePlaylist.splice(this.removeYoutubeIndex,1);\n if(!this.selectedYoutubePlaylist.length){\n this.playList.splice(this.selectedYoutubePlaylistIndex,1);\n this.youtubePlayListModalRef?.hide();\n }\n }\n this.removeModalref.hide();\n this.showRemoveUrlLoader = false;\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n // currentlyPlayingVideoType;\n // currentlyPlayingVideoIndex;\n // currentlyPlayingPlaylistIndex;\n\n playPreviousVideo(){\n\n this.getPreviousVideo();\n\n }\n\n playNextVideo(){\n\n this.getNextVideo();\n\n\n }\n\n getPreviousVideo(){\n\n console.log(\"from get previous video\");\n\n if(this.selectedVideoFrom == 'single'){\n console.log(\"single\");\n this.checkPrevoiusSingleAndPlay();\n }\n else if(this.selectedVideoFrom == 'playlist'){\n console.log(\"playlist\");\n this.selectedVideoIndex == 0 ? this.selectedVideoIndex = this.selectedYoutubePlaylist.length-1 : this.selectedVideoIndex = this.selectedVideoIndex-1;\n // this.selectedVideoIndex = this.selectedVideoIndex+1;\n this.currentlyPlayingVideoId = this.selectedYoutubePlaylist[this.selectedVideoIndex].videoId;\n this.playVideo(this.currentlyPlayingVideoId);\n }\n else{\n this.toastrService.info(\"unable to find the video type\");\n }\n \n // this.ytPlayerService.\n }\n\n checkPrevoiusSingleAndPlay(){\n console.log(\"check previous single and play\");\n // debugger;\n // this.selectedVideoIndex = this.selectedVideoIndex + 1;\n for(let i=this.selectedVideoIndex;i = new BehaviorSubject('');\n\n socket = io(environment.BaseChatUrl,{\n query:{accessToken:JSON.parse(localStorage.getItem('currentUser')).token}\n });\n\n constructor(\n private http: HttpClient\n ) {\n // this.manager = new Manager(\"https://indietown-api.approd.ca\");\n\n // console.log(\"gggggggggggggggg\");\n // this.socket = this.manager.socket(\"/\");\n // this.socket.io.on(\"connect\",(socket)=>{\n // console.log(\"connection made successfully\");\n // this.socket.io.emit('login',{userId:'63fee68942cce284d9a69b51'});\n // socket.on('chat-message',(data)=>{\n // console.log(\"got a notification\");\n // console.log(data);\n // })\n // socket.on(\"error\", (error) => {\n // console.log(\"I am here at the error\");\n // console.log(error);\n // // ...\n // });\n // });\n // this.socket.io.on('chat-message',(data)=>{\n // console.log(\"got a notification\");\n // console.log(data);\n // })\n // this.socket.io.on(\"error\", (error) => {\n // console.log(\"I am here at the error\");\n // console.log(error);\n // // ...\n // });\n \n // this.listenMsg();\n this.socket.on('receive-message', (message) =>{\n this.message$.next(message);\n console.log(\"got a message from service\", message);\n });\n \n }\n\n ngOnInIt(){\n \n }\n\n public sendMessage(message: any) {\n console.log('sendMessage: ', message)\n this.socket.emit('send-message', message);\n }\n \n // public getNewMessage = () => {\n // this.socket.on('receive-message', (message) =>{\n // this.message$.next(message);\n // console.log(\"got a message\", message);\n // });\n\n // return this.message$.asObservable();\n // };\n \n \n\n getChatUsersList(data){\n return this.http.get(this.url + `api/chat/chat-users?page=${data.page}&pageSize=${data.pageSize}`); \n }\n getUserChat(params){\n return this.http.get(this.url + 'api/chat/messages',{\n params:params\n }); \n }\n\n\n getDraftMessages(params){\n return this.http.get(this.url + 'api/chat/draft-messages',{\n params:params\n }); \n }\n\n saveMessage(message){\n return this.http.post(this.url + 'api/chat/send-message',message); \n }\n\n updateDraftMessage(data){\n return this.http.post(this.url + 'api/chat/update-draft-message',data); \n }\n\n deleteUserChat(userId){\n return this.http.delete(this.url + `api/chat/delete-messages/${userId}`); \n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n initiatChat(param:any) {\n this.socket.emit('initialFromFrontEnd', param);\n }\n\n socketoff(listner:any) {\n this.socket.removeAllListeners(listner);\n }\n\n socketon() {\n console.log('this.socket', this.socket);\n this.socket.connect();\n }\n\n socketend() {\n this.socket.disconnect();\n }\n\n \n sendMsg(param:any) {\n this.socket.emit('new-message', param);\n }\n\n login(data:any) {\n this.socket.emit('login', data);\n }\n listenMsg(){\n // this.socket.listeners('');\n this.socket.on('chat-message',(data)=>{\n console.log(\"got a notification\");\n console.log(data);\n })\n }\n\n getAnswer(param:any) {\n console.log('chat service params', this.socket);\n this.socket.emit('answerOfChat', param);\n }\n\n getChatHistory() {\n return Observable.create((observer:any) => {\n this.socket.on('output', (message:any) => {\n console.log('output message', message);\n observer.next(message);\n });\n });\n }\n\n getSupportRequest() {\n return Observable.create((observer:any) => {\n this.socket.on('newRequestComing', (count:any) => {\n console.log('output message', count);\n observer.next(count);\n });\n });\n }\n\n friendsList(data){\n return this.http.get(this.url + `api/friend/list?page=${data.page}&pageSize=${data.pageSize}`)\n }\n\n readMessageUpdate(userId){\n return this.http.put(this.url + `api/chat/read-messages/${userId}`,{})\n }\n\n connectToSocket(currentUserId){\n this.socket.on(\"connect\",()=>{\n console.log(\"Connection made\");\n this.socket.emit('login',{userId:currentUserId});\n });\n }\n\n sendMsgEvent(data){\n this.socket.emit('new-message',data);\n }\n\n deleteMultipleConversations(userIds){\n return this.http.put(this.url + 'api/chat/delete-conversations',{userIds})\n }\n\n removeDraft(userId){\n return this.http.put(this.url + `api/chat/remove-draft-message/${userId}`,{})\n }\n \n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable()\nexport class NotificationsService {\n\n url: any = environment.API_URL;\n\n public newNotification$: BehaviorSubject = new BehaviorSubject('');\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n friendRequestList(page,pageSize){\n return this.http.get(this.url + `api/friend/fr-list?page=${page}&pageSize=${pageSize}`);\n }\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n activityList(data:any){\n return this.http.get(this.url + 'api/friend/fr-list'); \n }\n\n acceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n cancelRequest(data,id){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n getNotifications(page,pageSize){\n // return this.http.get(this.url + 'api/notification/web-list');\n return this.http.get(this.url + `api/notification/list?page=${page}&pageSize=${pageSize}`);\n }\n\n getPostDetails(postId){\n return this.http.get(this.url + `api/post/${postId}`)\n }\n\n readNotifications(){\n return this.http.put(this.url + 'api/notification/read',{});\n }\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class ProfileService {\n\n url: any = environment.API_URL;\n\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n createPost(data:any){\n return this.http.post(this.url + 'api/post/create-post', data);\n }\n\n getPosts(){\n return this.http.get(this.url + 'api/post/list');\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n\n uploadImage(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n createShow(data:any){\n return this.http.post(this.url + 'api/show/create', data);\n }\n\n reportPost(data:any,comment:any){\n return this.http.put(this.url + `api/post/report-post/${data}`,comment);\n }\n\n createComment(data:any){\n return this.http.post(this.url + 'api/comment/create', data);\n }\n\n getCommentsList(data:any){\n return this.http.get(this.url + `api/comment/list/${data}`)\n }\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n acceptRequest(data:any){\n return this.http.post(this.url + 'api/friend/accept', data);\n }\n\n friendRequestList(){\n return this.http.get(this.url + 'api/friend/fr-list');\n }\n\n acceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n silentPost(id:any, data:any){\n return this.http.put(this.url + `api/post/silent-post/${id}`,data);\n }\n\n reportComment(postId:any, commentId:any,comment:any, data:any){\n return this.http.put(this.url + `api/comment/report`,{postId,commentId,comment});\n }\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n\n getFriendsList(){\n return this.http.get(this.url + 'api/friend/list');\n }\n\n updatePlayList(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n }\n\n getPlayList(){\n return this.http.get(this.url + 'api/user/playlist');\n }\n\n unFriend(id:any,data){\n return this.http.put(this.url + `api/friend/unfriend-user/${id}`,data);\n }\n\n \n getPostById(id:any){\n return this.http.get(this.url + `api/post/${id}`);\n }\n\n getProfileById(id:any){\n return this.http.get(this.url + `api/user/user-profile/${id}`);\n }\n\n getArtistGenerList(){\n return this.http.get(this.url + 'api/genere/list');\n }\n\n \n\n} ","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { environment } from \"src/environments/environment\";\n// import { User } from '../models/user.model';\nimport { User } from \"src/app/auth/models/user.model\";\nimport { Subject } from \"rxjs\";\nimport { coerceStringArray } from \"@angular/cdk/coercion\";\n\n@Injectable()\n\nexport class RegistrationPartService {\n\n private userSubject: BehaviorSubject;\n // public user: Observable;\n\n\n private emailSend = new Subject();\n child1$ = this.emailSend.asObservable();\n\n\n SendToChild1(msg:string){\n this.emailSend.next(msg);\n }\n\n url: any = environment.API_URL;\n\n constructor(\n private http: HttpClient\n ) { }\n\n public get currentUserValue() {\n let data = localStorage.getItem('currentUser');\n let obj: Object = {};\n if (data !== 'undefined')\n return JSON.parse(localStorage.getItem('currentUser'));\n return false;\n }\n\n public get language() {\n let lang = localStorage.getItem('lang');\n console.log('lang', lang);\n if (lang) {\n return lang;\n }\n return false;\n }\n\n login(user: any) {\n return this.http.post(this.url + 'api/user/login', user);\n }\n\n reset(data: any) {\n return this.http.post(this.url + 'user/reset-password',data);\n }\n\n\n forgetPassword(data: any) {\n return this.http.post(this.url + 'api/user/forgot-password',data);\n\n \n }\n\n\n \n\n logout(data:any) {\n // localStorage.removeItem('currentUser');\n return this.http.post(this.url + 'user/logout', data);\n }\n\n updateuser(data: any) {\n return this.http.patch(this.url + 'user/update', data);\n }\n\n changePassword(data: any) {\n return this.http.post(this.url + 'user/change-password', data);\n }\n\n emailValidation(data:any){\n return this.http.post(this.url + \"user/emailExists\", data);\n }\n\n signUpUser(data:any){\n return this.http.post(this.url + 'api/user/signup', data);\n }\n\n uploadProfile(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n validateInvitationCode(data:any){\n return this.http.post(this.url + 'api/user/validate-invitation-code', data);\n }\n\n sendOTP(data:any){\n return this.http.post(this.url + 'api/user/send-otp', data);\n }\n\n\n verifyOTP(data:any){\n return this.http.post(this.url + 'api/user/verify-otp', data);\n }\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n\n updatePlaylists(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n }\n\n getGenres(){\n return this.http.get(this.url + 'api/community/list');\n }\n\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n cancelRequest(id:any,data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`, data);\n }\n \n updatePlayList(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n }\n\n getArtistGenerList(){\n return this.http.get(this.url + 'api/genere/list');\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n requestCode(data:any){\n return this.http.post(this.url + 'api/user/request-invitation-code',data);\n }\n\n getGenerSuggestions(keyword){\n let url = this.url + `api/genere/suggestions`;\n if(keyword)\n url = url + `?keyword=${keyword}`;\n return this.http.get(url);\n }\n\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable()\nexport class UrlService {\n private previousUrl: BehaviorSubject = new BehaviorSubject(null);\n public previousUrl$: Observable = this.previousUrl.asObservable();\n\n constructor() { }\n\n setPreviousUrl(previousUrl: string) {\n this.previousUrl.next(previousUrl);\n }\n\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class SearchResultService {\n\n url: any = environment.API_URL;\n\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n createPost(data:any){\n \n return this.http.post(this.url + 'api/post/create-post', data, {\n reportProgress: true,\n responseType: 'json',\n observe: 'events',\n });\n // return this.http.post(this.url + 'api/post/create-post', data);\n }\n\n getPosts(page,pageLimit){\n return this.http.get(this.url + `api/post/list?page=${page}&pageSize=${pageLimit}`);\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n\n uploadImage(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n createShow(data:any){\n return this.http.post(this.url + 'api/show/create', data);\n }\n\n reportPost(data:any,comment:any){\n return this.http.put(this.url + `api/post/report-post/${data}`,comment);\n }\n\n createComment(data:any){\n return this.http.post(this.url + 'api/comment/create', data);\n }\n\n getCommentsList(data:any,page:any,pageLimit:any){\n return this.http.get(this.url + `api/comment/list/${data}?pageNumber=${page}&limit=${pageLimit}`);\n\n // https://indietown-api.approd.ca/api/comment/list/63d8c4a55bddbc41fd5a5cc4?pageNumber=3&limit=10 like this \n }\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n acceptRequest(data:any){\n return this.http.post(this.url + 'api/friend/accept', data);\n }\n\n friendRequestList(){\n return this.http.get(this.url + 'api/friend/fr-list');\n }\n\n acceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n silentPost(id:any, data:any){\n return this.http.put(this.url + `api/post/silent-post/${id}`,data);\n }\n\n reportComment(postId:any, commentId:any,comment:any, data:any){\n return this.http.put(this.url + `api/comment/report`,{postId,commentId,comment});\n }\n\n likePost(id:any,data:any){\n return this.http.put(this.url + `api/post/update/${id}`,data);\n }\n \n updatePost(id:any,data:any){\n return this.http.put(this.url + `api/post/update-post/${id}`,data);\n }\n\n deletePost(id:any){\n return this.http.delete(this.url + `api/post/delete-user-post/${id}`);\n }\n\n getLikesList(id:any){\n return this.http.get(this.url + `api/post/post-likes/${id}`);\n }\n\n deleteComment(id:any){\n return this.http.put(this.url + `api/comment/delete/${id}`,{});\n }\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class SettingsService {\n\n url: any = environment.API_URL;\n\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n silentUsersList(){\n return this.http.get(this.url + 'api/user/silent-user-list');\n }\n\n changePassword(data:any){\n return this.http.put(this.url +'api/user/change-password', data);\n }\n\n\n unmuteUser(id:any){\n return this.http.post(this.url + 'api/user/un-silent-user',id)\n }\n\n invitationCode(){\n return this.http.get(this.url + 'api/user/invitation-code-list')\n }\n\n searchSilentUser(keyword){\n return this.http.get(this.url + `api/user/silent-user-list?keyword=${keyword}`);\n }\n\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n} ","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class ViewProfileService {\n\n url: any = environment.API_URL;\n\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n createPost(data:any){\n return this.http.post(this.url + 'api/post/create-post', data);\n }\n\n getPosts(){\n return this.http.get(this.url + 'api/post/list');\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n\n uploadImage(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n createShow(data:any){\n return this.http.post(this.url + 'api/show/create', data);\n }\n\n reportPost(data:any,comment:any){\n return this.http.put(this.url + `api/post/report-post/${data}`,comment);\n }\n\n createComment(data:any){\n return this.http.post(this.url + 'api/comment/create', data);\n }\n\n getCommentsList(data:any){\n return this.http.get(this.url + `api/comment/list/${data}`)\n }\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n acceptRequest(data:any){\n return this.http.post(this.url + 'api/friend/accept', data);\n }\n\n friendRequestList(){\n return this.http.get(this.url + 'api/friend/fr-list');\n }\n\n acceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n silentPost(id:any, data:any){\n return this.http.put(this.url + `api/post/silent-post/${id}`,data);\n }\n\n reportComment(postId:any, commentId:any,comment:any, data:any){\n return this.http.put(this.url + `api/comment/report`,{postId,commentId,comment});\n }\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n\n getFriendsList(){\n return this.http.get(this.url + 'api/friend/list');\n }\n\n updatePlayList(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n }\n\n getPlayList(){\n return this.http.get(this.url + 'api/user/playlist');\n }\n\n unFriend(id:any,data){\n return this.http.put(this.url + `api/friend/unfriend-user/${id}`,data);\n }\n\n \n getPostById(id:any){\n return this.http.get(this.url + `api/post/${id}`);\n }\n\n getProfileById(id:any){\n return this.http.get(this.url + `api/user/user-profile/${id}`);\n }\n\n getArtistGenerList(){\n return this.http.get(this.url + 'api/genere/list');\n }\n\n \n\n} ","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: 'app-view',\n template: ``\n})\n\nexport class ViewsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n\n }\n}","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n\n API_URL: \"https://api.indietown.org/\", // indie_town api\n //API_URL: \"http://ec2-3-138-88-225.us-east-2.compute.amazonaws.com:3000/\",\n\n // API_URL: 'https://api.indietown.casperdev.site/', // indie_town api staging\n // API_URL: 'http://localhost:3000/', // indie_town api local\n BaseChatUrl: \"https://chat.indietown.org/\",\n basicAuthUsername: \"admin\",\n basicAuthpwd: \"JKJ@IKHUKHYJSHsd\",\n firebase: {\n apiKey: \"AIzaSyA3UHR97zBSoC0TdNWkWGxOSh5lgCQ64W8\",\n authDomain: \"indietown-3c44c.firebaseapp.com\",\n projectId: \"indietown-3c44c\",\n storageBucket: \"indietown-3c44c.appspot.com\",\n messagingSenderId: \"380016103554\",\n appId: \"1:380016103554:web:25c12eec1688ec5eb2649b\",\n measurementId: \"G-WWGS9T9LW6\",\n },\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 26431,\n\t\"./af.js\": 26431,\n\t\"./ar\": 81286,\n\t\"./ar-dz\": 1616,\n\t\"./ar-dz.js\": 1616,\n\t\"./ar-kw\": 9759,\n\t\"./ar-kw.js\": 9759,\n\t\"./ar-ly\": 43160,\n\t\"./ar-ly.js\": 43160,\n\t\"./ar-ma\": 62551,\n\t\"./ar-ma.js\": 62551,\n\t\"./ar-sa\": 79989,\n\t\"./ar-sa.js\": 79989,\n\t\"./ar-tn\": 6962,\n\t\"./ar-tn.js\": 6962,\n\t\"./ar.js\": 81286,\n\t\"./az\": 15887,\n\t\"./az.js\": 15887,\n\t\"./be\": 14572,\n\t\"./be.js\": 14572,\n\t\"./bg\": 3276,\n\t\"./bg.js\": 3276,\n\t\"./bm\": 93344,\n\t\"./bm.js\": 93344,\n\t\"./bn\": 58985,\n\t\"./bn-bd\": 83990,\n\t\"./bn-bd.js\": 83990,\n\t\"./bn.js\": 58985,\n\t\"./bo\": 94391,\n\t\"./bo.js\": 94391,\n\t\"./br\": 46728,\n\t\"./br.js\": 46728,\n\t\"./bs\": 5536,\n\t\"./bs.js\": 5536,\n\t\"./ca\": 41043,\n\t\"./ca.js\": 41043,\n\t\"./cs\": 70420,\n\t\"./cs.js\": 70420,\n\t\"./cv\": 33513,\n\t\"./cv.js\": 33513,\n\t\"./cy\": 6771,\n\t\"./cy.js\": 6771,\n\t\"./da\": 47978,\n\t\"./da.js\": 47978,\n\t\"./de\": 46061,\n\t\"./de-at\": 25204,\n\t\"./de-at.js\": 25204,\n\t\"./de-ch\": 2653,\n\t\"./de-ch.js\": 2653,\n\t\"./de.js\": 46061,\n\t\"./dv\": 85,\n\t\"./dv.js\": 85,\n\t\"./el\": 8579,\n\t\"./el.js\": 8579,\n\t\"./en-au\": 25724,\n\t\"./en-au.js\": 25724,\n\t\"./en-ca\": 10525,\n\t\"./en-ca.js\": 10525,\n\t\"./en-gb\": 52847,\n\t\"./en-gb.js\": 52847,\n\t\"./en-ie\": 67216,\n\t\"./en-ie.js\": 67216,\n\t\"./en-il\": 39305,\n\t\"./en-il.js\": 39305,\n\t\"./en-in\": 73364,\n\t\"./en-in.js\": 73364,\n\t\"./en-nz\": 79130,\n\t\"./en-nz.js\": 79130,\n\t\"./en-sg\": 11161,\n\t\"./en-sg.js\": 11161,\n\t\"./eo\": 50802,\n\t\"./eo.js\": 50802,\n\t\"./es\": 40328,\n\t\"./es-do\": 45551,\n\t\"./es-do.js\": 45551,\n\t\"./es-mx\": 75615,\n\t\"./es-mx.js\": 75615,\n\t\"./es-us\": 64790,\n\t\"./es-us.js\": 64790,\n\t\"./es.js\": 40328,\n\t\"./et\": 96389,\n\t\"./et.js\": 96389,\n\t\"./eu\": 52961,\n\t\"./eu.js\": 52961,\n\t\"./fa\": 26151,\n\t\"./fa.js\": 26151,\n\t\"./fi\": 7997,\n\t\"./fi.js\": 7997,\n\t\"./fil\": 58898,\n\t\"./fil.js\": 58898,\n\t\"./fo\": 37779,\n\t\"./fo.js\": 37779,\n\t\"./fr\": 28174,\n\t\"./fr-ca\": 3287,\n\t\"./fr-ca.js\": 3287,\n\t\"./fr-ch\": 38867,\n\t\"./fr-ch.js\": 38867,\n\t\"./fr.js\": 28174,\n\t\"./fy\": 50452,\n\t\"./fy.js\": 50452,\n\t\"./ga\": 45014,\n\t\"./ga.js\": 45014,\n\t\"./gd\": 74127,\n\t\"./gd.js\": 74127,\n\t\"./gl\": 72124,\n\t\"./gl.js\": 72124,\n\t\"./gom-deva\": 6444,\n\t\"./gom-deva.js\": 6444,\n\t\"./gom-latn\": 37953,\n\t\"./gom-latn.js\": 37953,\n\t\"./gu\": 76604,\n\t\"./gu.js\": 76604,\n\t\"./he\": 1222,\n\t\"./he.js\": 1222,\n\t\"./hi\": 74235,\n\t\"./hi.js\": 74235,\n\t\"./hr\": 622,\n\t\"./hr.js\": 622,\n\t\"./hu\": 37735,\n\t\"./hu.js\": 37735,\n\t\"./hy-am\": 90402,\n\t\"./hy-am.js\": 90402,\n\t\"./id\": 59187,\n\t\"./id.js\": 59187,\n\t\"./is\": 30536,\n\t\"./is.js\": 30536,\n\t\"./it\": 35007,\n\t\"./it-ch\": 94667,\n\t\"./it-ch.js\": 94667,\n\t\"./it.js\": 35007,\n\t\"./ja\": 62093,\n\t\"./ja.js\": 62093,\n\t\"./jv\": 80059,\n\t\"./jv.js\": 80059,\n\t\"./ka\": 66870,\n\t\"./ka.js\": 66870,\n\t\"./kk\": 80880,\n\t\"./kk.js\": 80880,\n\t\"./km\": 1083,\n\t\"./km.js\": 1083,\n\t\"./kn\": 68785,\n\t\"./kn.js\": 68785,\n\t\"./ko\": 21721,\n\t\"./ko.js\": 21721,\n\t\"./ku\": 37851,\n\t\"./ku.js\": 37851,\n\t\"./ky\": 1727,\n\t\"./ky.js\": 1727,\n\t\"./lb\": 40346,\n\t\"./lb.js\": 40346,\n\t\"./lo\": 93002,\n\t\"./lo.js\": 93002,\n\t\"./lt\": 64035,\n\t\"./lt.js\": 64035,\n\t\"./lv\": 56927,\n\t\"./lv.js\": 56927,\n\t\"./me\": 5634,\n\t\"./me.js\": 5634,\n\t\"./mi\": 94173,\n\t\"./mi.js\": 94173,\n\t\"./mk\": 86320,\n\t\"./mk.js\": 86320,\n\t\"./ml\": 11705,\n\t\"./ml.js\": 11705,\n\t\"./mn\": 31062,\n\t\"./mn.js\": 31062,\n\t\"./mr\": 92805,\n\t\"./mr.js\": 92805,\n\t\"./ms\": 11341,\n\t\"./ms-my\": 59900,\n\t\"./ms-my.js\": 59900,\n\t\"./ms.js\": 11341,\n\t\"./mt\": 37734,\n\t\"./mt.js\": 37734,\n\t\"./my\": 19034,\n\t\"./my.js\": 19034,\n\t\"./nb\": 9324,\n\t\"./nb.js\": 9324,\n\t\"./ne\": 46495,\n\t\"./ne.js\": 46495,\n\t\"./nl\": 70673,\n\t\"./nl-be\": 76272,\n\t\"./nl-be.js\": 76272,\n\t\"./nl.js\": 70673,\n\t\"./nn\": 72486,\n\t\"./nn.js\": 72486,\n\t\"./oc-lnc\": 46219,\n\t\"./oc-lnc.js\": 46219,\n\t\"./pa-in\": 2829,\n\t\"./pa-in.js\": 2829,\n\t\"./pl\": 78444,\n\t\"./pl.js\": 78444,\n\t\"./pt\": 53170,\n\t\"./pt-br\": 66117,\n\t\"./pt-br.js\": 66117,\n\t\"./pt.js\": 53170,\n\t\"./ro\": 96587,\n\t\"./ro.js\": 96587,\n\t\"./ru\": 39264,\n\t\"./ru.js\": 39264,\n\t\"./sd\": 42135,\n\t\"./sd.js\": 42135,\n\t\"./se\": 95366,\n\t\"./se.js\": 95366,\n\t\"./si\": 93379,\n\t\"./si.js\": 93379,\n\t\"./sk\": 46143,\n\t\"./sk.js\": 46143,\n\t\"./sl\": 196,\n\t\"./sl.js\": 196,\n\t\"./sq\": 21082,\n\t\"./sq.js\": 21082,\n\t\"./sr\": 91621,\n\t\"./sr-cyrl\": 98963,\n\t\"./sr-cyrl.js\": 98963,\n\t\"./sr.js\": 91621,\n\t\"./ss\": 41404,\n\t\"./ss.js\": 41404,\n\t\"./sv\": 55685,\n\t\"./sv.js\": 55685,\n\t\"./sw\": 3872,\n\t\"./sw.js\": 3872,\n\t\"./ta\": 54106,\n\t\"./ta.js\": 54106,\n\t\"./te\": 39204,\n\t\"./te.js\": 39204,\n\t\"./tet\": 83692,\n\t\"./tet.js\": 83692,\n\t\"./tg\": 86361,\n\t\"./tg.js\": 86361,\n\t\"./th\": 31735,\n\t\"./th.js\": 31735,\n\t\"./tk\": 1568,\n\t\"./tk.js\": 1568,\n\t\"./tl-ph\": 96129,\n\t\"./tl-ph.js\": 96129,\n\t\"./tlh\": 13759,\n\t\"./tlh.js\": 13759,\n\t\"./tr\": 81644,\n\t\"./tr.js\": 81644,\n\t\"./tzl\": 90875,\n\t\"./tzl.js\": 90875,\n\t\"./tzm\": 16878,\n\t\"./tzm-latn\": 11041,\n\t\"./tzm-latn.js\": 11041,\n\t\"./tzm.js\": 16878,\n\t\"./ug-cn\": 74357,\n\t\"./ug-cn.js\": 74357,\n\t\"./uk\": 74810,\n\t\"./uk.js\": 74810,\n\t\"./ur\": 86794,\n\t\"./ur.js\": 86794,\n\t\"./uz\": 28966,\n\t\"./uz-latn\": 77959,\n\t\"./uz-latn.js\": 77959,\n\t\"./uz.js\": 28966,\n\t\"./vi\": 35386,\n\t\"./vi.js\": 35386,\n\t\"./x-pseudo\": 23156,\n\t\"./x-pseudo.js\": 23156,\n\t\"./yo\": 68028,\n\t\"./yo.js\": 68028,\n\t\"./zh-cn\": 9330,\n\t\"./zh-cn.js\": 9330,\n\t\"./zh-hk\": 89380,\n\t\"./zh-hk.js\": 89380,\n\t\"./zh-mo\": 60874,\n\t\"./zh-mo.js\": 60874,\n\t\"./zh-tw\": 96508,\n\t\"./zh-tw.js\": 96508\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 = 46700;"]}