{"version":3,"sources":["browserCompat.js","Common.js","Print.js","Sidebar.js","Timer.js","jquery.browser.js"],"names":["SupportedOS","$","browser","mobile","isiPad","test","navigator","userAgent","toLowerCase","isiPhone","isAndroid","appVersion","indexOf","SupportedBrowserOnOS","boolResult","chrome","safari","versionNumber","TriggerPrimeButtonClick","$btn","$target","is","click","Logout","reasonId","val","submit","TryResetMenuTimer","alertText","ResetMenuTimer","err","ResetButtonFrame","sessionStorage","isFormModified","RedirectToContentFrameFromReportingGridLink","gridName","controllerName","uniqueGridId","id","url","RedirectToContentFrame","isClicked","obj","disabled","NavigateAway","RedirectToContentFrameCallback","onclick","disabledLinkClick","style","cursor","menuId","clearSelectedSiteAndPatient","undefined","SelectedMenuItemId","removeClass","addClass","GlobalHeaderLeft_ClearSelectedSite","NavigateAway_Callback","decodeHtml","ComparissonEvaluationIfEquals","IsFormDirty","JSON","parse","replaceDivBody","substring","Kendo_ShowOrHideLoadingImage","Global_RenderedFormTypeId","window","location","ajaxUrl","baseUrl","replace","ajax","data","method","success","html","ShowModal","error","result","showAlert","NavigateAwayWithCallBack","ajaxUrlTemplate","ajaxUrlController","callBackFunction","callBack","i","arguments","length","NavigateAwayWithCallBackAndCancelCallBack","cancelCallBack","OutsideCRFCleanup","urlLocal","text","compareTo","String","BaseListView_EnableDisableFooterButtons","unqRepGridId","hasDeleted","hasActive","hiddenSysForm","ReportGridAjax_InitiateGetTwoColumnValuesForCheckedActiveCheckboxRows","response","each","index","value","parseInt","response2","EnableButtons","ReportGridAjax_InitiateGetColumnValuesForCheckedActiveCheckboxRows","ReportingGrid_EnableButton","AddObject","cntrlName","postUrl","ajaxErrorMessage","panelSelection_CurrentExpandedInfo_Visits","visitId","AjaxResult_CommonResultHandled","showError","message","ReportGridAjax_ErrorHandler","AddObjectFromNavigation","ctrlName","ViewSelected_ExecuteViewSelected","buttonId","actionName","arrCheckedIds","ReportingGrid_GetCheckedIdsArray","Array","isArray","currentPathControllerAction","uniqueReportingGridId","doFilter","checkedActiveCheckboxIds","res","href","updateAll","confirmMessage","confirmationTitle","secAreaId","trlObjectType","trlObjectPatientId","trlObjectPatientSystemFormId","patientCaption","tot","isDynMon","updateAllInternal","DynMon_InitiateCheckDynMonNeededForCheckedActiveCheckboxRows","openMonitorAllSelectionDlg","columnName","callbackFunction","postData","dataColumnName","ReportingGrid_Ajax","showConfirmation","sca","tp","ids","isPanelVisible","GlobalHeaderLeft_RefreshPatient","ReportingGrid_ResetCacheAndReloadGrid","ReportingGrid_AcitveCheckboxReset","gn","uid","cn","pid","psid","pc","GetNavPredefCondValsAndSetStorage","predf","allVisitsGridDisplayed","find","allFormsGridDisplayed","localStorage","setItem","isPanelExpanded","PanelSelection_IsPanelExpanded","isFormsTabActive","hasClass","isVisitsTabContentVisitsVisible","isFormsTabContentProFormsVisible","panelSelection_CurrentExpandedInfo_Forms","isVisitsTabContentFormsVisible","isFormsTabContentProFormsFormsVisitVisible","expandedVisitId","expandedProFormId","proFormId","signAll","join","popupWindosIds","splice","CommitSign","timeoutInterval","ResetTimeout","openChangeNoteDlg","secEventId","sid","openChangeNoteDlgFromNavigation","redirectToCasebook","siteCaption","patientsFromDifferentSitesError","IsSameSite","redirectToPdfReports","redirect","toid","topid","selectOneOnly","openDatagrid","PanelSelection_ResetRenderedForm","panelSelection_CurrentExpandedInfo_RenderedForm","panelSelection_RestoreNextPatient","RenderedProFormId","Setup_SysFormsGlobalHeaderLinks","PanelSelection_ShowOrHideActionButtons","CreateOrEditPatientUser","patientUserIdColumn","patientCaptionColumn","userNameColumn","trlObjectPatientIdColumn","createUserTitle","editUserTitle","failMessage","patientUserId","isNaN","patientId","CreateOrEditPatientUser_AjaxGet","CreateOrEditPatientUser_AjaxGet_Callback","userName","callbackSuccess","divLoading","patientUserNameOrCaption","gridCntrlName","obData","gridId","gridController","htmlData","dialogTitle","uniquePopUpWindow","appendTo","kendoWindow","modal","resizable","title","minWidth","minHeight","visible","close","e","this","destroy","refresh","AddOrEditPatientUser_Close","centerWindow","center","content","open","parent","first","movePatients","tsid","sitesArray","sameSite","site","AssignPatientFormDirection","direction","hiddenField","ClearPatientEntrySubMenu","innerHTML","GetLocation","urlRef","SaveLocation","SaveLocationAppendReturnFlag","IsLogout","isSystemLoggedOut","GetCurrentTimeToTimer","dt","fDate","GetFormattedDate","hh","getHours","mm","getMinutes","ss","getSeconds","sfx","hasMilitaryTimeFormat","FormatDD","ex","toUTCString","SetHelpTopicId","helpIdx","SetHelpRoleId","helpRoleId","helpRoleIdx","LimitTextAreaLen","maxlen","getAttribute","attributes","mlength","d","trim_x","str","AvoidBackspaceNavigation","theEvent","event","kc","keyCode","theSrcElement","srcElement","target","t","type","shouldNotBlock","preventDefault","GridCreated","sender","args","scrollArea","GridDataDiv","dataHeight","get_masterTableView","get_element","clientHeight","height","UpdateGridWithLastQueryResponse","currentForm","document","getElementsByTagName","updateTextBox","returnBoolean","toString","HtmlEncode","HtmlDecode","ValidateNoHtml","match","EqualButtonsWidth","allWidth","width","getPageName","lastIndexOf","filename","substr","ClearSessionStorage","clear","CloseModal","uniquePopupId","currenModalWindow","inArray","CloseModelPopup","showInModal","surl","useDefaultForMinMaxHeight","ReapplyValidatorsOnAddingPartialView","isResizable","hideTitle","nonCenteredWindowProperties","hideActions","onActvateCallback","useReportDefaultsWhenHeightIsAuto","attr","GetPopUpWidth","minwidth","minH","maxH","Infinity","console","log","push","maxHeight","DestroyKendoWidgets","windowHeight","bind","wrapper","css","top","left","hide","Popup_Resize","Popup_Activate","popUpWindow","avail","assn","ClosePopUpWindow","arg","popupWindow","resizeOnActivation","popupWindowHeight","offset","buttonsAndTitleHeight","innerHeight","newPopupContainerHeight","gridContainer","availableHeight","newReportPopupContainerHeight","Popup_Resize_CustomResizeForGrid","Popup_Resize_CustomResizeForGrid_Generic","offsetY","ReportingGrid_ResizeGrid","ReportingGrid_ResizeLastColumnToFillTheGridIfResizingDefined","windowWidth","CommonDocumentReady","isDirty","SsoRemoveUrlParamWithSingleDigitValueAndCheckIfEqualToOne","SizePanel","panel","panelBody","panelContent","panelBottom","outerHeight","footerHeight","pageBottomMargin","mainPanelBodyMargin","footerButtonsHeight","saveCancelDiv","newPanelBodyHeight","ResizeGridsIfExists","ReportingGrid_ResizeAllReportingGrids","HideAll","container","showInfo","show","showMultipleInfoMsg","multimessasge","showMultipleErrorMsg","showWarning","showMultipleWarning","showSuccess","showMultipleSuccess","ShowManualQueriesView","titleText","link","TrlObjectId","TrlObjectFormId","InstanceNo","SecAreaId","npAction","ShowNotesPanel","GetDefaultExtendedValues","ShowByPassView","extValues","ShowChangeHistoryViewAddChangeNoteShowChangeHistoryView","AddChangeNoteShowChangeHistoryView","DeleteGroupInstanceShowChangeHistoryView","ShowGeneralNotesView","ShowAttachment","trlObjectId","trlObjectFormId","viewOnly","tofid","vo","cache","setTimeout","alert","DisplayQuery","TrlObjectQueryId","actionUrl","decodeURIComponent","NotesTabSelector","ht","getNotesPanelHeight","toeid","pvid","TrlObjectEditId","PropertyValidationTypeId","notespanelWindow","position","draggable","animation","effects","duration","reverse","tof","inst","said","stab","GetExtendedValuesObj","trlObjectEditId","propertyValidationTypeId","CloseNotesPanel","updateValidationResults","notesPanel","RefreshValidationsModalPopup","modalPopup","RepositionNotesPanel","notespanel","setOptions","right","removeData","validator","unobtrusive","divElementId","showLoadImage","kendo","ui","progress","RenderHtmlIntoControl","controlId","slowTransition","empty","fadeIn","GlobalNavigation_RefreshCurrentPatient","fromCache","selectFormId","selectProFormId","selectFormInstanceNo","selectSecAreaId","patientLi","ctrlRefreshCurrentPatient","Id","ProFormId","FormInstanceNo","RenderedFormId","RenderedFormInstanceNo","RenderedSecAreaId","trigger","UpdateNavigationOnSave","isPanelVisibleAndPatientSelected","formNotSpecified","selFormId","formInstanceNo","PanelSelection_OnResize","GetEfFectiveWidth","mainWidth","wid","Global_getCookie","cname","name","ca","cookie","split","c","charAt","Global_setCookie","cvalue","exdays","Date","setTime","getTime","expires","ResizeCrfFormContainer","ShareCRFForm","UpdateStateOnResize","FilterSelection","inputCntrl","optionsCntrl","filterTxt","ajaxResult","logoutReason","Global_CancelAndLogOutWithError","currentUrlTemplate","errorMessage","trialGroupName","doLogout","logout","redirectUrl","onFinish","loginUrl","encodeURIComponent","onPopupClose","ReportGridAjax_GetErrorHandlerMessage","showErrorPU","additionalText","responseText","toUpperCase","startsWith","detErrorIdx","detErrorEndIdx","trim","msgDetails","SafetyLink_OpenCreateDowngradePopup","saeEditCheckValueIsSae","saeTerm","saeFullDateUserFormatted","saeFullDateUnformatted","isSae","ResetPDEForm","LoadIcrf","icrfHref","BackToAllVisits","controller","eval","BackToAllForms","getParameterByName","regex","RegExp","results","exec","processOnFocus","element","isMobile","getElementById","scrollTop","offsetTop","processOnBlur","processOnBlurTG","TgroupFocus","UnameFocus","PwdFocus","paramName","parVal","SsoRemoveUrlParamAndGetValue","nPos","search","nxtPar","chVal","pathname","replTxt","history","replaceState","AuditReportHeightAdjustment","tabContent","contentHeight","tabContentObj","ManageSiteSMS","trlObjectSiteSMSProviderIdColumn","trlObjectSiteSMSProviderId","ManageSiteSMS_AjaxGet","ManageSiteSMS_AjaxGet_Callback","ManageSiteSMS_Close","PrintFormWithNotes","caption","previewUri","printPreviewFF","printPreview","FixColumnWidthsForAllGridsWithFixedColumns","ReportingGrid_FixColumnWidthsForAllGridsWithFixedColumns","ManualReset","timer","Reset","RefreshAuthentication","InitTimer","sessionWarning","sessionExpired","Timer","clearInterval","timerId","setInterval","warningTimeOut","overallTimeOut","nMins","nSecs","isTimedOut","iOverallTimeOut","iWarningTimeOut","Targets","timeleft","TimeOutWarningDisplayed","TimerReset","CountDown","TimerCountDown","TimeOutWarning","TimerTimeOutWarning","Shutdown","TimerShutdown","TimeOutWarningMsg","CreateTimeOutWarningMsg","TimeOutWarningTitle","CreateTimeOutWarningTitle","NewTimeOutWarning","UpdateTimeOutWarning","RegisterTarget","pFn","UnregisterTarget","n","TimerOutput","nMin","timeLeft","call","errorMsg","minutes","seconds","strSeconds","strMinutes","timerNow","keepSessionAlive","KeepSessionAlive","PrepareExistingPopUp","msg","showConfirmationEx","TimeOutWarningConfirmCallback","TimeOutWarningCancelCallback","updatePopupMessageWindow","minutesLeft","minutesInactive","LogOutSystem","failedAttempt","disable","reSignTimeOutId","clearTimeout","SignCRFTimeOut","HasSignCRFTimedOut","wasVaildNavigationCall","onbeforeunload","on","$popUpBtn","siblings","$focusedEl","$formBtn","resize","ready","factory","define","amd","module","exports","require","jQuery","uaMatch","ua","platform_match","matched","version","platform","android","bb","blackberry","ipad","iphone","ipod","kindle","playbook","silk","cros","mac","linux","win","desktop","opr","webkit","rv","iemobile","ie","edge","msedge","opera","jQBrowser","_printIframe","iframe","createElement","body","appendChild","display","onload","focus","contentWindow","print","src","MainMenuLeftSideBar","SideBAR","prototype","expandMyMenu","collapseMyMenu","showMenuTexts","hideMenuTexts","showActiveSubMenu","hideActiveSubMenu","adjustPaddingOnExpand","padding","resetOriginalPaddingOnCollapse","ExpandSideBar","instance","CollapseSideBar","init","color","ignite"],"mappings":"AACA,QAAAA,eACA,GAAAC,EAAAC,QAAAC,OAAA,CACA,GAAAC,GAAA,QAAAC,KAAAC,UAAAC,UAAAC,eACAC,EAAA,UAAAJ,KAAAC,UAAAC,UAAAC,eACAE,EAAA,WAAAL,KAAAC,UAAAC,UAAAC,cACA,IAAAJ,GAAAK,GAAAC,EACA,OAAA,EAGA,MAAAJ,WAAAK,WAAAC,QAAA,aAEAN,UAAAK,WAAAC,QAAA,YAEAN,UAAAK,WAAAC,QAAA,aAOA,QAAAC,wBACA,GAAAZ,EAAAC,QAAAC,QAAAG,UAAAK,WAAAC,QAAA,OAAA,EACA,OAAA,CAEA,IAAAE,IAAA,CA4BA,OAzBAR,WAAAK,WAAAC,QAAA,WAEA,0BAAAP,KAAAC,UAAAC,WACAO,GAAA,EAEA,OAAAT,KAAAC,UAAAC,WACAO,GAAA,EAEAb,EAAAC,QAAAa,SACAD,GAAA,GAGAR,UAAAK,WAAAC,QAAA,YAEAX,EAAAC,QAAAc,QAAAf,EAAAC,QAAAe,cAAA,IACAH,GAAA,GAEA,0BAAAT,KAAAC,UAAAC,aACAO,GAAA,IAEAR,UAAAK,WAAAC,QAAA,aACAX,EAAAC,QAAAa,SACAD,GAAA,GAGAA,EC0BA,QAAAI,yBAAAC,EAAAC,GACA,IAAAA,EAAAC,GAAA,YAEA,MADAF,GAAAG,SACA,EAKA,QAAAC,QAAAC,GACA,MAAAA,IACAA,EAAA,GAEAvB,EAAA,gCAAAwB,IAAAD,GACAvB,EAAA,eAAAyB,SAIA,QAAAC,mBAAAC,GACA,IACAC,gBAAA,kBAAA,iBACAA,eAAAD,GAGA,MAAAE,KAQA,QAAAC,oBACAC,eAAAC,gBAAA,EAIA,QAAAC,6CAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACAC,uBAAAF,EAAAC,GAGA,QAAAC,wBAAAF,EAAAC,GACA,GAAA,MAAAE,YAAAA,UAAA,CAGA,GAAAC,GAAAzC,EAAA,IAAAqC,EACA,OAAAI,GAAAA,EAAAC,UAGAC,aAAAL,IAEA,QAAAM,gCAAAH,GACAD,WAAA,EACAC,EAAAI,QAAAC,kBACAL,EAAAC,UAAA,EACAD,EAAAM,MAAAC,OAAA,UAEA,QAAAF,qBACA,OAAA,EAGA,QAAAH,cAAAL,EAAAW,EAAAC,GACA,MAAAA,GAAAC,QAAAD,GAAA,iBAAA,KACAA,GAAA,GACA,MAAAD,GAAAE,QAAAF,GACA,SAAAlB,eAAAqB,oBAAAD,QAAApB,eAAAqB,oBAAArB,eAAAqB,oBAAAH,GAEAjD,EAAA,IAAA+B,eAAAqB,oBAAAC,YAAA,UAEAtB,eAAAqB,mBAAAH,EACAjD,EAAA,IAAA+B,eAAAqB,oBAAAE,SAAA,WAGAvB,eAAAqB,mBAAA,KAEAF,GAAA,kBAAA,oCACAK,mCAAAjB,GAGAkB,sBAAAlB,GAIA,QAAAkB,uBAAAlB,GAEA,GADAA,EAAAmB,WAAAnB,GACAoB,8BAAA3B,eAAA4B,YAAAR,SAAAO,8BAAA3B,eAAA4B,YAAA,UAAAC,KAAAC,MAAA9B,eAAA4B,aAgBA5B,eAAA4B,aAAA,EACA,GAAArB,EAAA3B,QAAA,kBACAmD,eAAAxB,EAAAyB,UAAA,MAEAzB,EAAA3B,QAAA,UAAA,GACAqD,6BAAA,WAAA,GACAC,0BAAA,EACAC,OAAAC,SAAA7B,OAvBA,CACA,GAAA8B,GAAAC,QAAAC,QAAA,aAAA,QAAAA,QAAA,YAAA,eAEAtE,GAAAuE,MACAC,MAAAlC,IAAAA,GACAA,IAAA8B,EACAK,OAAA,MACAC,QAAA,SAAAC,GACAC,UAAAD,IAEAE,MAAA,SAAAC,GACAC,UAAA,6BAAA,aAsBA,QAAAC,0BAAAC,EAAAC,EAAAC,GAEA,IAAA,GADAC,GAAAD,EAAA,IACAE,EAAA,EAAAA,EAAAC,UAAAC,OAAAF,IAEAD,GADA,gBAAAE,WAAAD,GACA,IAAAC,UAAAD,GAAA,KAEAC,UAAAD,GAAA,GAKA,OAHA,KAAAD,EAAArB,UAAAqB,EAAAG,OAAA,EAAAH,EAAAG,UACAH,EAAAA,EAAArB,UAAA,EAAAqB,EAAAG,OAAA,IACAH,GAAA,IACAI,0CAAAJ,EAAA,KAAAH,EAAAC,GAKA,QAAAM,2CAAAJ,EAAAK,EAAAR,EAAAC,GAEA,GAAAxB,8BAAA3B,eAAA4B,YAAAR,SAAAO,8BAAA3B,eAAA4B,YAAA,UAAAC,KAAAC,MAAA9B,eAAA4B,aAIA,MAFAR,UAAAe,OAAAwB,mBAAAvC,eAAAe,QAAA,mBACAA,OAAAwB,qBACA,CAEA,IAAAC,GAAA,cAgBA,OAfAxC,SAAA8B,GAAA9B,QAAA+B,GAAA,MAAAD,GAAA,MAAAC,IACAS,EAAAV,EAAAX,QAAA,YAAA,gBAAAA,QAAA,aAAAY,IAEAlF,EAAAuE,MACAC,MAAAlC,IAAA,GAAA8C,SAAAA,EAAAK,eAAAA,GACAnD,IAAAqD,EACAlB,OAAA,MACAC,QAAA,SAAAC,GACAC,UAAAD,IAEAE,MAAA,SAAAC,GACAC,UAAA,6BAAA,aAIA,EAGA,QAAAtB,YAAAmC,GACA,MAAA5F,GAAA,UAAA2E,KAAAiB,GAAAA,OAIA,QAAAlC,+BAAAlC,EAAAqE,GACA,MAAAC,QAAAtE,KAAAsE,OAAAD,GAQA,QAAAE,yCAAA7D,EAAA8D,EAAA7D,GACA,GAAA8D,IAAA,EACAC,GAAA,EACAC,GAAA,CAEA,kBAAAhE,EACAiE,sEAAAlE,EAAAC,EAAA6D,EAAA,2CAAA,mCAAA,SAAA9D,EAAAmE,GACArG,EAAAsG,KAAAD,EAAAA,SAAA,SAAAE,EAAAC,IACA,WAAAC,SAAAD,IAAA,EACAP,GAAA,EAEAC,GAAA,IAGAlG,EAAAsG,KAAAD,EAAAK,UAAA,SAAAH,EAAAC,GACA,GAAA,QAAAA,EAAAjG,cAEA,MADA4F,IAAA,GACA,IAIAF,EAAAC,IACAD,EAAAC,GAAA,GACAS,cAAAV,EAAAC,EAAAC,EAAAE,KAKAO,mEAAA1E,EAAAC,EAAA6D,EAAA,2CAAA,SAAA9D,EAAAmE,GACArG,EAAAsG,KAAAD,EAAA,SAAAE,EAAAC,IACA,WAAAC,SAAAD,IAAA,EACAP,GAAA,EAEAC,GAAA,IAGAD,EAAAC,IACAD,EAAAC,GAAA,GACAS,cAAAV,EAAAC,EAAAC,EAAAE,KAKA,QAAAM,eAAAV,EAAAC,EAAAC,EAAAE,GACAQ,2BAAA,YAAAX,IAAAC,GACAU,2BAAA,cAAAZ,IAAAE,GACAU,2BAAA,WAAAX,GACAW,2BAAA,UAAAX,GACAW,2BAAA,YAAAX,GACAW,2BAAA,aAAAX,GACAW,2BAAA,eAAAX,GACAW,2BAAA,YAAAX,GACAW,2BAAA,cAAAX,GACAW,2BAAA,UAAAX,GACAW,2BAAA,cAAAX,GACAW,2BAAA,kBAAAX,GACAW,2BAAA,kBAAAX,GACAW,2BAAA,gBAAAX,GACAW,2BAAA,cAAAX,GACAlG,EAAA,+BAAAuF,OAAA,GACAsB,2BAAA,6BAAA,GAAAR,EAAAd,QAGA,QAAAuB,WAAA5E,EAAA6E,EAAAf,EAAAgB,EAAAC,GACA,mBAAAC,4CAAA,MAAAA,4CACAF,EAAAA,EAAA1C,QAAA,cAAA4C,0CAAAC,SAEAnH,GAAAuE,MACAjC,IAAA0E,EACAvC,OAAA,OACAC,QAAA,SAAA2B,GACAe,+BAAAf,KAEAA,GAAA,SAAAA,EAAAvB,OACAuC,UAAAhB,EAAAiB,QAAA,cACAjB,GAAA,MAAAA,EAAA/D,IACA4B,OAAAC,SAAAkC,EAAA/D,IAEAsC,UAAAyB,GAAA,KAEAxB,MAAA,SAAAwB,GACAkB,4BAAAN,EAAAZ,MAKA,QAAAmB,yBAAAC,EAAAT,EAAAC,GACAjC,yBAAA,KAAA,KAAA,0BAAAyC,EAAAT,IAGAF,UAAA,KAAAW,EAAA,KAAAT,EAAAC,GAGA,QAAAS,kCAAAxF,EAAAC,EAAAC,EAAAuF,EAAAC,GACA,GAAAC,GAAAC,iCAAA5F,EACA,IAAA6F,MAAAC,QAAAH,MAAAA,EAAAtC,OAAA,GAAA,CAMA,GAAA0C,GAAA9E,MAGA,IAFAnD,EAAA,6BAAAuF,OAAA,IACA0C,EAAAjI,EAAA,6BAAAwB,OACA2B,QAAA8E,GAAA,IAAAA,EAEA,WADAV,6BAAA,yDAIA,IAAAnD,GAAA6D,EAAA3D,QAAA,YAAAsD,GAAAtD,QAAA,aAAAnC,EAEAnC,GAAAuE,MACAjC,IAAA8B,EACAK,OAAA,OACAD,MACA0D,sBAAA9F,EACA+F,UAAA,EACAC,yBAAAP,GAEAnD,QAAA,SAAA2D,GACAjB,+BAAAiB,IAEA,MAAAA,EAAAvD,SACAZ,OAAAC,SAAAmE,KAAAL,EAAA3D,QAAA,aAAA,mBAAAA,QAAA,YAAA,iBAAA,YAKAO,MAAA,SAAAC,GAEAyC,4BAAA,uBAAAzC,OAKA,QAAAyD,WAAArG,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,IAAAA,EACAC,kBAAA/G,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAIAG,6DAAAhH,EAAA6E,EAAAf,EAAAgD,EACA,SAAA9G,EAAAmE,GACA,iBAAA,IAAAA,GACAW,EAAAA,EAAAzG,cAAA+D,QAAA,UAAA,uBACA6E,2BAAAjH,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAAC,EAAAC,EAAAC,IAGAG,kBAAA/G,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,KAOA,QAAAG,8DAAAhH,EAAAC,EAAAC,EAAAgH,EAAAC,GACA,GAAAxB,GAAAC,iCAAA5F,GACAoH,GAAApB,sBAAA9F,EAAAmH,eAAAH,EAAAjB,UAAA,EAAAC,yBAAAP,EACA2B,oBAAAtH,EAAAoH,EAAAnH,EAAA,0CAAA,kFAAAkH,EAAAnH,GAKA,QAAA+G,mBAAA/G,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACAU,iBAAAjB,EAAA,WACAxE,6BAAA,WAAA,EACA,IAAAsF,IAAAI,IAAAhB,EAAAiB,GAAAhB,EAAAiB,IAAA9B,iCAAA5F,GAAA,GACAlC,GAAAuE,MACAjC,IAAA0E,EACAvC,OAAA,OACAD,KAAA8E,EACA5E,QAAA,SAAAI,GACAd,6BAAA,WAAA,GACAY,UAAAE,GAAA,EACA,IAAA+E,GAAA7J,EAAA,sBAAAuF,OAAA,GAAAvF,EAAA,sBAAAoB,GAAA,WACAyI,GACAC,gCAAAlB,EAAAC,EAAAE,EAAAD,GAGAiB,sCAAA7H,EAAA6E,EAAAf,GAEAgE,kCAAA9H,EAAA8D,EAAAe,IAEAlC,MAAA,SAAAC,GACAd,6BAAA,WAAA,GACAuD,4BAAAN,EAAAnC,OAGA2D,GAGA,QAAAU,4BAAAjH,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAAC,EAAAC,EAAAC,GACAW,iBAAAjB,EAAA,WACA,GAAAc,IAAAW,GAAA/H,EAAAgI,IAAAlE,EAAAmE,GAAApD,EAAA2C,IAAAhB,EAAAiB,GAAAhB,EAAAyB,IAAAxB,EAAAyB,KAAAxB,EAAAyB,GAAAxB,EACA9I,GAAAuE,MACAjC,IAAA0E,EACAxC,KAAA8E,EACA7E,OAAA,MACAC,QAAA,SAAAI,GACAF,UAAAE,GAAA,IAEAD,MAAA,SAAAC,GACAyC,4BAAAN,EAAAnC,OAGA2D,GAGA,QAAA8B,mCAAA3B,EAAAC,EAAAC,GACA,GAAA0B,GAAA,GACAC,EAAAzK,EAAA,kBAAAuF,OAAA,GAAAvF,EAAA,kBAAA0K,KAAA,sCAAAnF,OAAA,EACAoF,EAAA3K,EAAA,kBAAAuF,OAAA,GAAAvF,EAAA,kBAAA0K,KAAA,qCAAAnF,OAAA,CACAqF,cAAAC,QAAA,iCAAA1H,QACAyH,aAAAC,QAAA,wCAAAJ,GACAG,aAAAC,QAAA,uCAAAF,GACAC,aAAAC,QAAA,oCAAAjC,GACAgC,aAAAC,QAAA,8CAAAhC,GACA+B,aAAAC,QAAA,gCAAA/B,EACA,IAAAe,GAAA7J,EAAA,sBAAAuF,OAAA,GAAAvF,EAAA,sBAAAoB,GAAA,WACA,IAAAyI,GACA,mBAAA,4CAAA,mBAAA,0CAAA,CACA,GAAA,kBAAA,gCAAA,CACA,GAAAiB,GAAAC,gCACAH,cAAAC,QAAA,iCAAAC,GAEA,GAAAE,GAAAhL,EAAA,eAAAiL,SAAA,cACAC,GAAAF,GAAA,MAAA9D,0CACAiE,EAAAH,GAAA,MAAAI,yCACAC,GAAAL,GAAA,MAAA9D,0CACAoE,EAAAN,GAAA,MAAAI,yCACAG,EAAA,EACAC,EAAA,CACA,OAAAtE,2CAAA,MAAAkE,2CACA,MAAAlE,4CACAqE,EAAArE,0CAAAC,SACA,MAAAiE,2CACAI,EAAAJ,yCAAAK,YAEAjB,GAAAQ,EAAA,IAAA,MACAE,EAAA,IAAA,MACAC,EAAA,IAAA,MACAE,EAAA,IAAA,MACAC,EAAA,IAAA,KACA,IAAAC,EAAA,IAAAC,EAEA,MAAAhB,GAGA,QAAAkB,SAAAxJ,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAAC,EAAAC,EAAAC,GACA,GAAAc,GAAA9B,iCAAA5F,GAAA,GAAAyJ,KAAA,KACApF,EAAAqF,eAAAjL,QAAA,cACA4F,SACAqF,eAAAC,OAAAtF,EAAA,EACA,IAAAiE,GAAAD,kCAAA3B,EAAAC,EAAAC,EACAW,kBAAAjB,EAAA,WACA,GAAAc,IAAAW,GAAA/H,EAAAgI,IAAAlE,EAAAmE,GAAApD,EAAA2C,IAAAhB,EAAAiB,GAAAhB,EAAAyB,IAAAxB,EAAAyB,KAAAxB,EAAAyB,GAAAxB,EAAAc,IAAAA,EAAAY,MAAAA,EACAxK,GAAAuE,MACAjC,IAAA0E,EACAvC,OAAA,MACAD,KAAA8E,EACA5E,QAAA,SAAAI,GACAF,UAAAE,IAEAD,MAAA,SAAAC,GACAyC,4BAAAN,EAAAnC,OAGA2D,GAGA,QAAAqD,YAAAC,GAEAC,aAAAD,GAGA,QAAAE,mBAAA/J,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAAuD,EAAAtD,EAAAC,EAAAC,GACAW,iBAAAjB,EAAA,WACA,GAAAc,IAAAW,GAAA/H,EAAAgI,IAAAlE,EAAAmE,GAAApD,EAAA2C,IAAAhB,EAAAiB,GAAAhB,EAAAwD,IAAAD,EAAA9B,IAAAxB,EAAAyB,KAAAxB,EAAAyB,GAAAxB,EACA9I,GAAAuE,MACAjC,IAAA0E,EACAxC,KAAA8E,EACA7E,OAAA,MACAC,QAAA,SAAAI,GACAF,UAAAE,IAEAD,MAAA,SAAAC,GACAyC,4BAAAN,EAAAnC,OAGA2D,GAIA,QAAA2D,iCAAA3E,EAAAe,EAAAC,EAAAzB,EAAAC,GACAjC,yBAAA,KAAA,KAAA,kCAAAyC,EAAAe,EAAAC,EAAAzB,EAAAC,IAEAwC,iBAAAjB,EAAA,WACAxI,EAAAuE,MACAjC,IAAA0E,EACAvC,OAAA,MACAC,QAAA,SAAAI,GACAsC,+BAAAtC,IAEAF,UAAAE,IAEAD,MAAA,SAAAC,GACAyC,4BAAAN,EAAAnC,OAGA2D,GAGA,QAAA4D,oBAAAnK,EAAA6E,EAAAf,EAAA1D,EAAAgK,EAAAC,GACA3F,mEAAA1E,EAAA6E,EAAAf,EAAAsG,EAAA,SAAApK,EAAAmE,GACAmG,WAAAnG,GAKAnC,OAAAC,SAAA7B,EAAA,UAAA+D,EAAA,GAAA,QAAAL,GAJAgE,kCAAA9H,EAAA8D,EAAAe,GACAM,UAAAkF,EAAA,iBAOA,QAAAE,sBAAAvK,EAAA6E,EAAAf,EAAA0G,EAAApK,EAAAqK,EAAAC,EAAAC,GACA,GAAAH,EACAxI,OAAAC,SAAA7B,EAAA,0BAAA0D,EAAA,MAAA4G,MAEA,CACA,GAAA5F,GAAA1E,EAAA,yBAAA0D,EAAA,MAAA4G,CACA9I,gBAAAkD,IAIA,QAAA8F,cAAA5K,EAAA6E,EAAAf,EAAA0G,EAAApK,EAAA2E,GACA,GAAAyF,EACAxI,OAAAC,SAAA7B,EAAA,0BAAA0D,MAEA,CACA,GAAAgB,GAAA1E,EAAA,yBAAA0D,CACAlC,gBAAAkD,IAIA,QAAA+F,oCACA,mBAAAC,mDACAA,gDAAA,MACA,mBAAAC,oCAAA,MAAAA,mCACA,mBAAAA,mCAAAC,oBACAD,kCAAAC,kBAAA,GAEA,mBAAAjJ,4BAAA,kBAAA,mCACAA,0BAAA,EACAkJ,mCAIA,QAAArJ,gBAAAxB,GACA0B,6BAAA,WAAA,GACAhE,EAAAuE,MACAjC,IAAAA,EACAmC,OAAA,MACAC,QAAA,SAAAI,GACAiI,mCACA/M,EAAA8E,GAAA4F,KAAA,kBAAAnF,OAAA,IACAT,EAAA9E,EAAA8E,GAAA4F,KAAA,mBACA1K,EAAA,kBAAA2E,KAAAG,GACA,kBAAA,yCACAsI,yCACApJ,6BAAA,WAAA,IAEAa,MAAA,SAAAC,GACAd,6BAAA,WAAA,GACAuD,4BAAAN,iBAAAnC,MAKA,QAAAuI,yBAAAnL,EAAA6E,EAAAf,EAAAgB,EAAAsG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAGA,GAAAxJ,GAAA4C,EAAA1C,QAAA,YAAA,wBAAAA,QAAA,aAAA,OAEAsC,oEAAA1E,EAAA6E,EAAAf,EAAAsH,EAAA,SAAApL,EAAAmE,GACA,GAAAwH,GAAA,CACAxH,GAAAd,OAAA,IAAAuI,MAAAzH,EAAA,MACAwH,EAAApH,SAAAJ,EAAA,KAEA,GAAAwH,EACAjH,mEAAA1E,EAAA6E,EAAAf,EAAAuH,EAAA,SAAArL,EAAAmE,GACA,GAAAyC,GAAA,EACAzC,IAAAA,EAAAd,OAAA,IACAuD,EAAAzC,EAAA,IAGAO,mEAAA1E,EAAA6E,EAAAf,EAAAyH,EAAA,SAAAvL,EAAAmE,GACA,GAAA0H,GAAA,CACA1H,IAAAA,EAAAd,OAAA,IAAAuI,MAAAzH,EAAA,MACA0H,EAAAtH,SAAAJ,EAAA,KAEA2H,gCAAAH,EAAAzJ,EAAA6J,yCAAAL,EAAA,UAAAF,EAAAC,EAAAzL,EAAA8D,EAAA8C,EAAAiF,EAAAhH,OAKAH,mEAAA1E,EAAA6E,EAAAf,EAAAwH,EAAA,SAAAtL,EAAAmE,GACA,GAAA6H,GAAA,EACA7H,IAAAA,EAAAd,OAAA,IACA2I,EAAA7H,EAAA,IAEA2H,gCAAAH,EAAAzJ,EAAA6J,yCAAAL,EAAA,UAAAF,EAAAC,EAAAzL,EAAA8D,EAAAkI,EAAA,EAAAnH,OAMA,QAAAiH,iCAAAH,EAAAzJ,EAAA+J,EAAAP,EAAAQ,EAAAV,EAAAC,EAAAzL,EAAA8D,EAAAqI,EAAAzF,EAAA0F,GAEAtK,6BAAAoK,GAAA,EACA,IAAAG,IAAAV,cAAAA,EAAAQ,yBAAAA,EAAAnM,SAAAA,EAAAsM,OAAAxI,EAAAyI,eAAAH,EAAA1F,mBAAAA,EAEA5I,GAAAuE,MACAjC,IAAA8B,EACAK,OAAA,MACAD,KAAA+J,EACA7J,QAAA,SAAAF,GACAR,6BAAAoK,GAAA,GACAD,GACAA,EAAA3J,EAAA,GAAAqJ,EAAAH,EAAAC,EAAAzL,EAAA8D,IAEAnB,MAAA,SAAAC,GACAd,6BAAAoK,GAAA,GACAjL,QAAAyK,GAAA,IAAAA,GACArG,4BAAAqG,EAAA9I,MAMA,QAAAmJ,0CAAAS,EAAAC,EAAAzM,EAAA8D,GACA,GAAA4I,GAAA5O,EAAA,sFACA6O,SAAA,QACAC,aACAC,OAAA,EACAC,WAAA,EACAC,MAAAN,EACAO,SAAA,QACAC,UAAA,QACAC,SAAA,EACAC,MAAA,SAAAC,GACAC,KAAAC,WAEAC,QAAA,WACAzP,EAAA,iBAAAqB,MAAA,WACAqO,+BAIAC,cACAJ,KAAAK,YAEApL,KAAA,eAAAqL,QAAAnB,EAEAE,GAAAgB,SAAAE,OACA9P,EAAA,kBAAA+P,SAAAzM,SAAA,qBAAAoH,KAAA,cAAAsF,QAAA1M,SAAA,sCAAAsC,KAAA,IAIA,QAAAqK,cAAA/N,EAAA6E,EAAAf,EAAAwC,EAAAC,EAAAxB,EAAAD,EAAA0B,EAAAC,EAAA2D,EAAAC,GACA3F,mEAAA1E,EAAA6E,EAAAf,EAAAsG,EAAA,SAAApK,EAAAmE,GACAmG,WAAAnG,GAKAoD,iBAAAjB,EAAA,WACA,GAAAc,IAAAW,GAAA/H,EAAAgI,IAAAlE,EAAAmE,GAAApD,EAAA2C,IAAAhB,EAAAiB,GAAAhB,EAAAuH,KAAA7J,EAAA,GACArG,GAAAuE,MACAjC,IAAA0E,EACAvC,OAAA,OACAD,KAAA8E,EACA5E,QAAA,SAAAI,GACAF,UAAAE,IAEAD,MAAA,SAAAC,GACAyC,4BAAAN,EAAAnC,OAGA2D,IAjBAuB,kCAAA9H,EAAA8D,EAAAe,GACAM,UAAAkF,EAAA,iBAqBA,QAAAC,YAAA2D,GACA,GAAAC,IAAA,EACAC,EAAAF,EAAA,EAOA,OANAnQ,GAAAsG,KAAA6J,EAAA,SAAA5J,EAAAC,GACA,GAAAA,GAAA6J,EAEA,YADAD,GAAA,KAIAA,EAGA,QAAAE,4BAAAC,GACA,GAAAC,GAAAxQ,EAAA,oBACA,OAAAwQ,IACAA,EAAAhK,MAAA+J,GAGA,QAAAE,4BACA,GAAAhO,GAAAzC,EAAA,cACA,OAAAyC,IACAA,EAAAiO,UAAA,SAQA,QAAAC,eACA,MAAA5O,gBAAA6O,OAIA,QAAAC,cAAAvO,GACAP,eAAA6O,OAAAtO,EA6CA,QAAAwO,8BAAAxO,GACAA,EAAA3B,QAAA,SAAA,IAEA2B,GADAA,EAAA3B,QAAA,KAAA,EACA,SAEA,UAEAkQ,aAAAvO,GAIA,QAAAyO,YACA,MAAAhP,gBAAAiP,kBAMA,QAAAC,uBAAAC,GACA,IAEA,GAAAC,GAAAC,iBAAAF,EAAA,OAGAG,EAAAH,EAAAI,WACAC,EAAAL,EAAAM,aACAC,EAAAP,EAAAQ,aACAC,EAAA,EAGAC,yBACAP,EAAA,IACAA,GAAA,GACAM,EAAA,MAGAA,EAAA,KACA,GAAAN,IACAA,EAAA,IAGA,IAAAhJ,GAAAwJ,SAAAR,EAIA,OAHAhJ,GAAAA,EAAA,IAAAwJ,SAAAN,GACAlJ,EAAAA,EAAA,IAAAwJ,SAAAJ,GACAN,EAAAA,EAAA,IAAA9I,EAAA,IAAAsJ,EAGA,MAAAG,GACA,MAAAZ,GAAAa,eAIA,QAAAC,gBAAAC,GACAA,EAAAA,EAGA,QAAAC,eAAAC,GACAC,YAAAD,EAIA,QAAAE,kBAAA5P,GACA,GAAA6P,GAAA7P,EAAA8P,aAAA,YAMA,IAFA,MAAAD,IACAA,EAAA7P,EAAA+P,WAAA,aAAAhM,OACA,MAAA8L,GAAA,IAAAA,EAAA,CACA,GAAAG,GAAAhM,SAAA6L,EAAA,GACA7P,GAAA+D,MAAAjB,OAAAkN,IACAhQ,EAAA+D,MAAA/D,EAAA+D,MAAAzC,UAAA,EAAA0O,KAKA,QAAAZ,UAAAa,GACA,MAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,EACA,IAAAA,EAEAA,EAEA,QAAAC,QAAAC,GAAA,MAAAA,GAAAtO,QAAA,aAAA,IAAAA,QAAA,KAAA,KAGA,QAAAuO,0BAAAvD,GAEA,GAAAwD,GAAA5O,OAAA6O,OAAAzN,UAAA,GACA0N,EAAAF,EAAAG,OAEA/O,QAAA6O,QACAzD,EAAApL,OAAA6O,MAEA,IAAAG,GAAA5D,EAAA6D,WAAA7D,EAAA6D,WAAA7D,EAAA8D,OACAC,EAAAH,EAAAI,KAEAC,EAAA,GAAAP,GAAA,IAAAA,GAAA,QAAAK,GAAA,IAAAL,GAAA,YAAAK,GAAA,UAAAA,GAAA,IAAAL,CAEA,QAAA1D,EAAAkE,gBAAAD,EAGAA,MAFAjE,GAAAkE,iBAKA,QAAAC,aAAAC,EAAAC,GACA,GAAAC,GAAAF,EAAAG,YACAC,EAAAJ,EAAAK,sBAAAC,cAAAC,YACAH,GAAA,MACAF,EAAA7Q,MAAAmR,OAAAJ,EAAA,MAOA,QAAAK,mCACA,GAAAC,GAAAC,SAAAC,qBAAA,QAAA,GACAC,EAAAvU,EAAA,mBACA,OAAAuU,GACAA,EAAA/S,IAAA,GACA4S,EAAA3S,SAkBA,QAAA+S,eAAAhO,GACA,MAAAA,MAAA,GAAA,QAAAA,EAAAiO,WAAAlU,gBAEAiG,KAAA,GAAA,SAAAA,EAAAiO,WAAAlU,eAAA,GAMA,QAAAmU,YAAAlO,GAGA,MAAAxG,GAAA,UAAA4F,KAAAY,GAAA7B,OAGA,QAAAgQ,YAAAnO,GACA,MAAAxG,GAAA,UAAA2E,KAAA6B,GAAAZ,OAIA,QAAAgP,gBAAAhP,GACA,OAAAA,EAAAiP,MAAA,sBAIA,QAAAC,qBACA,GAAAC,GAAA,CACA/U,GAAA,uBAAAsG,KAAA,WACAtG,EAAAuP,MAAAyF,QAAAD,IACAA,EAAA/U,EAAAuP,MAAAyF,WAEAhV,EAAA,uBAAAsG,KAAA,WACAtG,EAAAuP,MAAAyF,MAAAD,KAkCA,QAAAE,aAAA3S,GACA,GAAAiE,GAAAjE,EAAA4S,YAAA,KAAA,EACAC,EAAA7S,EAAA8S,OAAA7O,EACA,OAAA4O,GAGA,QAAAE,uBACAtT,eAAAuT,QAGA,QAAAC,YAAAC,GAIA,GAHA,MAAAA,GAAArS,QAAAqS,GAAA,IAAAA,EAAAjQ,SACAiQ,EAAA,eAEAxV,EAAA,IAAAwV,GAAAjQ,OAAA,EAAA,CACA,GAAAkQ,GAAAzV,EAAA,IAAAwV,GAAAhR,KAAA,cACAiR,GAAApG,QACAoG,EAAAjG,UAGA5D,eAAAC,OAAA7L,EAAA0V,QAAAF,EAAA5J,gBAAA,GAGA,QAAA+J,mBACAJ,WAAA,eAOA,QAAAK,aAAAC,EAAAC,GACA9V,EAAAuE,MACAjC,IAAAuT,EACApR,OAAA,MACAC,QAAA,SAAAC,GACAC,UAAAD,GAAA,GAAA,EAAA,KAAAmR,GACAC,0CAKA,QAAAnR,WAAAD,EAAAqR,EAAAC,EAAAC,EAAAJ,EAAAK,EAAAC,EACAC,GACA,MAAAL,GAAA7S,QAAA6S,GAAA,iBAAA,KACAA,GAAA,GACA,MAAAF,GAAA3S,QAAA2S,GAAA,iBAAA,KACAA,GAAA,GACA,MAAAO,GAAAlT,QAAAkT,GAAA,iBAAA,KACAA,GAAA,GACA,MAAAJ,GAAA9S,QAAA8S,GAAA,iBAAA,KACAA,GAAA,GACA,MAAAE,GAAAhT,QAAAgT,GAAA,iBAAA,KACAA,GAAA,EACA,IAAAxG,IAAA,CACA,OAAAuG,GAAA/S,QAAA+S,GAAA,gBAAA,KACAvG,GAAA,EAEA,IAAAhB,IAAAsH,GAAAjW,EAAA2E,GAAA+F,KAAA,kBAAA4L,KAAA,SAEAtB,EAAAhV,EAAA2E,GAAA+F,KAAA,kBAAA4L,KAAA,QACA,OAAAtB,IACAA,EAAAuB,gBACA,IAAArC,GAAAlU,EAAA2E,GAAA+F,KAAA,kBAAA4L,KAAA,SACA,OAAApC,IACAA,EAAA,QACAvE,GAAA,MAAAuG,EAAAlB,QACAA,EAAAkB,EAAAlB,MACA,IAAAwB,GAAAxW,EAAA2E,GAAA+F,KAAA,kBAAA4L,KAAA,WACA,OAAAE,IACAA,EAAAxB,EACA,IAAAyB,GAAAvC,EACAwC,EAAAxC,CACA4B,KACAW,EAAA,GACAC,EAAAC,EAAAA,IAEAb,GAAAO,GAAA,QAAAnC,IACAuC,EAAA,IACAC,EAAA,IAIA,IAAAlB,GAAAxV,EAAA2E,GAAA+F,KAAA,kBAAA4L,KAAA,gBAIA,IAHA,MAAAd,IACAA,EAAA,eAEAxV,EAAA0V,QAAAF,EAAA5J,iBAAA,GAGA,GAFAgL,QAAAC,IAAA,oDAAArB,GAEA,eAAAA,EACA,WAIA5J,gBAAAkL,KAAAtB,EAGA,IAAA5G,GAAA5O,EAAA,YAAAwV,EAAA,iDACA3G,SAAA,QACAC,aACAkG,MAAAA,EACA9F,SAAAsH,EACAzH,OAAA,EACAmF,OAAAA,EACA/E,UAAAsH,EACAM,UAAAL,EACA1H,UAAAgH,EACA/G,MAAAN,EACAS,SAAA,EACAC,MAAA,SAAAC,GAEA0H,sBAEApL,eAAAC,OAAA7L,EAAA0V,QAAAF,EAAA5J,gBAAA,GACA2D,KAAAC,WAGAC,QAAA,WAEA,GAAAwH,GAAA,GAAAjX,EAAAkE,QAAAgQ,QACAlU,GAAA,iBAAAkU,SAAA+C,GACAjX,EAAA,iBAAAkU,OAAA+C,GAAAjX,EAAA,iBAAAkU,SAAAlU,EAAA,kBAAAkU,WAGAlU,EAAA,iBAAAqB,MAAA,WACAkU,WAAAC,KAGA7F,GACAJ,KAAAK,YAEApL,KAAA,eAAAqL,QAAAlL,EAEAgL,GACAf,EAAAgB,SAAAE,QAEAlB,EAAAsI,KAAA,OAAA,SAAA5H,GACAC,KAAA4H,QAAAC,KAAAC,IAAAnB,EAAAmB,IAAAC,KAAApB,EAAAoB,SAEA1I,EAAAkB,QAGAmG,GAAAE,GAEAF,GAAAE,GACAnW,EAAA,IAAAwV,GAAAzF,SAAAzM,SAAA,qBAAAoH,KAAA,qBAAAsF,QAAAuH,OAFAvX,EAAA,IAAAwV,GAAAzF,SAAAzM,SAAA,qBAAAoH,KAAA,cAAAsF,QAAA1M,SAAA,sCAAAsC,KAAA,IAKAoQ,IACApH,EAAAsI,KAAA,SAAA,SAAA5H,GACAkI,aAAAlI,EAAAV,GAAA,EAAAe,KAEAf,EAAAsI,KAAA,WAAA,SAAA5H,GACAmI,eAAAnI,EAAAV,EAAAe,EAAAyG,MAIApW,EAAA,iBAAAqB,MAAA,WAEAkU,WAAAC,IAEA,IAAAyB,GAAA,GAAAjX,EAAAkE,QAAAgQ,QAeA,OAdAlU,GAAA,iBAAAkU,SAAA+C,GACAjX,EAAA,iBAAAkU,OAAA+C,GAAAjX,EAAA,iBAAAkU,SAAAlU,EAAA,kBAAAkU,WAGAvE,GACAf,EAAAgB,SAEA8H,YAAA9I,EAIAlN,kBAAA,aAGAkN,EAEA,QAAAoI,uBAEA,GAAA,MAAAhX,EAAA,wBAAA,CACA,GAAA2X,GAAA3X,EAAA,wBAAAwE,KAAA,eACA,OAAAmT,GACAA,EAAAnI,UAEA,GAAA,MAAAxP,EAAA,uBAAA,CACA,GAAA4X,GAAA5X,EAAA,uBAAAwE,KAAA,eACA,OAAAoT,GACAA,EAAApI,WAIA,QAAAqI,oBACAb,sBACAhX,EAAA,gBAAAwE,KAAA,eAAA6K,QAGA,QAAAoI,gBAAAK,EAAAC,EAAApI,EAAAyG,GACAoB,aAAAM,EAAAC,GAAA,EAAApI,GACAyG,GAAA,kBAAA,IACAA,EAAA0B,EAAAC,GAGA,QAAAP,cAAAM,EAAAC,EAAAC,EAAArI,GAMA,GALA,MAAAqI,GAAA7U,QAAA6U,GAAA,iBAAA,KACAA,GAAA,GACA,MAAArI,GAAAxM,QAAAwM,GAAA,iBAAA,KACAA,GAAA,GAEA3P,EAAA,iBAAAuF,OAAA,EAAA,CACA,GAAA0S,GAAAjY,EAAA,sBAAAuF,OAAA,EAAAvF,EAAA,sBAAAkU,SAAAlU,EAAA,gBAAAkU,SACAgE,EAAAlY,EAAA,sBAAAuF,OAAA,EAAAvF,EAAA,yCAAAkY,SAAAb,IAAArX,EAAA,sBAAAkY,SAAAb,IAAA,EAEAc,EAAA,CACAnY,GAAA,sBAAAuF,OAAA,GACAvF,EAAA,uCAAAuF,OAAA,IACA4S,GAAAnY,EAAA,uCAAAoY,eACApY,EAAA,yCAAAuF,OAAA,IACA4S,GAAAnY,EAAA,yCAAAkU,SAAAgE,IAEAlY,EAAA,iCAAAuF,OAAA,IACA4S,EAAAnY,EAAA,iCAAAoY,cACA,IAAAC,GAAAJ,EAAAE,CAEA,IAAA,GAAAnY,EAAA,iBAAA0K,KAAA,mCAAAnF,OAAA,CACA,GAAA+S,GAAAtY,EAAA,IAAAA,EAAA,iBAAA0K,KAAA,mCAAA,GAAArI,GACA,KAAAiW,EACA,MAEA,IAAApW,GAAAoW,EAAA5N,KAAA,WAAA,GAAArI,GAEAkW,EAAA,CACAvY,GAAA,0BAAAuF,OAAA,EACAgT,EAAAvY,EAAA,0BAAAkU,SAAA,GAEAlU,EAAA,YAAAuF,OAAA,IACAgT,EAAAvY,EAAA,YAAAkU,SAAAlU,EAAA,WAAAkU,UAGAqE,EAAA,GAAAA,EAAAN,IACAA,EAAAM,EAGA,IAAAC,GAAAP,EAAAE,CACA,mBAAA,kCACAM,iCAAAH,EAAApW,EAAA8V,EAAAK,EAAAG,GAGAE,yCAAAJ,EAAApW,EAAA8V,EAAAK,EAAAG,EAAA,OAGAxY,GAAA,4BAAAuF,OAAA,GACAvF,EAAA,iBAAAkU,OAAAmE,GAAArY,EAAA,sBAAAuF,OAAA,EAAA,EAAA,IAIAyS,GAAArI,GACA+H,YAAA9H,SAIA,QAAA8I,0CAAAJ,EAAApW,EAAA8V,EAAAK,EAAAG,EAAAG,GACAH,GAAAG,EACA3Y,EAAA,iBAAAuF,OAAA,GAAAvF,EAAA,iBAAA+P,SAAArF,KAAA,iBAAAnF,OAAA,GACAvF,EAAA,iBAAAkU,QAAA8D,EAAAQ,EAAAH,GAAA,GACAC,EAAApE,OAAAsE,GACAI,yBAAA1W,GACA2W,6DAAA3W,GAYA,QAAAqU,iBACA,GAAAU,GAAAjX,EAAAkE,QAAAgQ,SACA4E,EAAA9Y,EAAAkE,QAAA8Q,OAEA,OAAAiC,GAAA6B,EACA,GAAAA,EAEA,GAAAA,EAKA,QAAAC,uBACA,GAAAC,GAAAC,0DAAA,QACA9V,SAAA6V,IACAjX,eAAA4B,YAAAqV,GACAE,YAIA,QAAAA,aACA,GAAAjC,GAAAjX,EAAAkE,QAAAgQ,SACAiF,EAAAnZ,EAAA,aACA,IAAAmZ,EAAA5T,OAAA,EAAA,CACA,GAAA6T,GAAApZ,EAAA,kBACAqZ,EAAArZ,EAAA,qBACAsZ,EAAAH,EAAAjB,SAAAb,IAAA8B,EAAAI,aAAA,GACAC,EAAAxZ,EAAA,UAAAuF,OAAA,EAAAvF,EAAA,UAAAkU,SAAA,EACAuF,EAAA,GAAAD,EACAE,EAAA,GACAC,EAAA,EACAC,EAAA5Z,EAAA,kBAGA,IAFA4Z,EAAArU,OAAA,IACAoU,EAAAC,EAAA1F,UACAoF,EAAAK,EAAAH,EAAAvC,EAAA,CACA,GAAA4C,GAAA5C,EAAAkC,EAAAjB,SAAAb,IAAA8B,EAAAjF,SAAAuF,EAAAE,EAAAP,EAAAlF,QACAkF,GAAAlF,OAAA2F,OAEA,IAAAR,EAAAnF,SAAAwF,EAAAN,EAAAlF,SACA,KAAAmF,EAAAnF,SAAAwF,EAAAN,EAAAlF,YAAAoF,EAAAK,EAAAF,EAAAxC,IACAmC,EAAAlF,OAAAkF,EAAAlF,SAAAwF,EAAA,GACAJ,EAAAH,EAAAjB,SAAAb,IAAA8B,EAAAI,aAAA,OAGAF,GAAAnF,SAAAkF,EAAAlF,UACAkF,EAAAlF,OAAAmF,EAAAnF,SAAAwF,IAKA,QAAAI,uBACA,kBAAA,wCACAC,wCAGA,QAAAC,SAAAC,GACA,GAAAxX,GAAA,IAAAwX,CACAja,GAAAyC,GAAAiI,KAAA,eAAA6M,OACAvX,EAAAyC,GAAAiI,KAAA,iBAAA6M,OACAvX,EAAAyC,GAAAiI,KAAA,kBAAA6M,OACAvX,EAAAyC,GAAAiI,KAAA,kBAAA6M,OAEA,QAAA2C,UAAA5S,EAAA2S,GACA,GAAAxX,GAAA,IAAAwX,CACA,OAAA,IAAAja,EAAAyC,GAAA8C,WACAR,WAAAuC,IAGAtH,EAAAyC,GAAAiI,KAAA,YAAA/F,KAAA2C,GACAtH,EAAAyC,GAAAiI,KAAA,WAAA6M,OACAyC,QAAAC,GACAja,EAAAyC,GAAAiI,KAAA,eAAAyP,WACAL,wBAEA,QAAAM,qBAAA9S,EAAA+S,EAAAJ,GACA,GAAAxX,GAAA,IAAAwX,CACAja,GAAAyC,GAAAiI,KAAA,YAAA/F,KAAA2C,GACAtH,EAAAyC,GAAAiI,KAAA,WAAAyP,OACAna,EAAAyC,GAAAiI,KAAA,WAAA/F,KAAA0V,GACAL,QAAAC,GACAja,EAAAyC,GAAAiI,KAAA,eAAAyP,OACAL,sBAEA,QAAAzS,WAAAC,EAAA2S,GACA,GAAAxX,GAAA,IAAAwX,CACA,OAAA,IAAAja,EAAAyC,GAAA8C,WACAR,WAAAuC,IAGAtH,EAAAyC,GAAAiI,KAAA,aAAA/F,KAAA2C,GACAtH,EAAAyC,GAAAiI,KAAA,YAAA6M,OACAyC,QAAAC,GACAja,EAAAyC,GAAAiI,KAAA,iBAAAyP,WACAL,wBAEA,QAAAQ,sBAAAhT,EAAA+S,EAAAJ,GACA,GAAAxX,GAAA,IAAAwX,CACAja,GAAAyC,GAAAiI,KAAA,aAAA/F,KAAA2C,GACAtH,EAAAyC,GAAAiI,KAAA,YAAAyP,OACAna,EAAAyC,GAAAiI,KAAA,YAAA/F,KAAA0V,GACAL,QAAAC,GACAja,EAAAyC,GAAAiI,KAAA,iBAAAyP,OACAL,sBAEA,QAAAS,aAAAjT,EAAA2S,GACA,GAAAxX,GAAA,IAAAwX,CACA,OAAA,IAAAja,EAAAyC,GAAA8C,WACAR,WAAAuC,IAGAtH,EAAAyC,GAAAiI,KAAA,eAAA/F,KAAA2C,GACAtH,EAAAyC,GAAAiI,KAAA,cAAA6M,OACAyC,QAAAC,GACAja,EAAAyC,GAAAiI,KAAA,kBAAAyP,WACAL,wBAEA,QAAAU,qBAAAlT,EAAA+S,EAAAJ,GACA,GAAAxX,GAAA,IAAAwX,CACAja,GAAAyC,GAAAiI,KAAA,eAAA/F,KAAA2C,GACAtH,EAAAyC,GAAAiI,KAAA,cAAAyP,OACAna,EAAAyC,GAAAiI,KAAA,cAAA/F,KAAA0V,GACAL,QAAAC,GACAja,EAAAyC,GAAAiI,KAAA,kBAAAyP,OACAL,sBAEA,QAAAW,aAAAnT,EAAA2S,GACA,GAAAxX,GAAA,IAAAwX,CACA,OAAA,IAAAja,EAAAyC,GAAA8C,WACAR,WAAAuC,IAGAtH,EAAAyC,GAAAiI,KAAA,eAAA/F,KAAA2C,GACAtH,EAAAyC,GAAAiI,KAAA,cAAA6M,OACAyC,QAAAC,GACAja,EAAAyC,GAAAiI,KAAA,kBAAAyP,WACAL,wBAEA,QAAAY,qBAAApT,EAAA+S,EAAAJ,GACA,GAAAxX,GAAA,IAAAwX,CACAja,GAAAyC,GAAAiI,KAAA,eAAA/F,KAAA2C,GACAtH,EAAAyC,GAAAiI,KAAA,cAAAyP,OACAna,EAAAyC,GAAAiI,KAAA,cAAA/F,KAAA0V,GACAL,QAAAC,GACAja,EAAAyC,GAAAiI,KAAA,kBAAAyP,OACAL,sBAKA,QAAAa,uBAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,GAAAC,GAAA,CACAC,gBAAAP,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,EAAAE,4BAEA,QAAAC,gBAAAT,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAK,GACA,GAAAJ,GAAA,CACAC,gBAAAP,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,EAAAI,GAEA,QAAAC,yDAAAX,EAAAC,EAAAC,EAAAC,EAAAE,GACA,GAAAC,GAAA,CACAC,gBAAAP,EAAAC,EAAAC,EAAAC,EAAAC,WAAAC,EAAA,EAAAC,EAAAE,4BAEA,QAAAI,oCAAAZ,EAAAC,EAAAC,EAAAC,EAAAE,GACA,GAAAC,GAAA,EACAF,IACAG,gBAAAP,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,EAAAE,4BAEA,QAAAK,0CAAAb,EAAAC,EAAAC,EAAAC,EAAAC,EAAAE,EAAAD,GACAE,eAAAP,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,EAAAE,4BAEA,QAAAM,sBAAAd,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,GAAAC,GAAA,CACAC,gBAAAP,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,EAAAE,4BAEA,QAAAO,gBAAAd,EAAAe,EAAAC,EAAAC,GACA9b,EAAAuE,MACAjC,IAAAuY,EACArW,MACAmI,KAAAiP,EACAG,MAAAF,EACAG,GAAAF,GAEAG,OAAA,EACAxX,OAAA,MACAC,QAAA,SAAAC,GACAC,UAAAD,EACAA,GAAAhE,QAAA,gCACAub,WAAA,WAAAvG,mBAAA,MAGA9Q,MAAA,SAAAC,GACAqX,MAAA,qBAAArX,MAKA,QAAAsX,cAAAC,EAAAtB,EAAA9L,EAAAqN,EAAA5T,GACA,GAAAwS,GAAA,CACAC,gBAAAxG,WAAA1F,GAAAsN,mBAAAD,GAAAD,EAAAtB,EAAA,EAAArS,EAAA,EAAAwS,EAAAE,4BAeA,QAAAD,gBAAAP,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAuB,EAAAtB,EAAAI,GACA,GAAAmB,GAAAC,qBAEA,MAAA1c,EAAA,qBAAAuF,OAAA,GAAA,CAGA,GAAAoX,GAAA,EACAC,EAAA,CAwDA,OAvDA,OAAAtB,GAAAnY,QAAAmY,GAAA,MAAAA,EAAAuB,iBAAA,MAAAvB,EAAAwB,2BACAH,EAAArB,EAAAuB,gBACAD,EAAAtB,EAAAwB,0BAGAC,iBAAA/c,EAAA,qCACA6O,SAAA,QACAC,aACAoF,OAAAuI,EACAO,UAAA3F,IAAA,IACAtI,OAAA,EACAE,MAAA2L,EACAqC,WAAA,EACA7N,SAAA,EACAJ,WAAA,EACAkO,WACApN,MACAqN,QAAA,sBACAC,SAAA,KAEA/N,OACA8N,QAAA,sBACAE,SAAA,EACAD,SAAA,MAEA3N,QAAA,WACA,GAAAd,GAAA3O,EAAAuP,KAAAM,WAAAnF,KAAA,kBAAA4L,KAAA,QACA,KAAAsE,IACAA,EAAAjM,GACAoO,iBAAA9N,MAAA0F,WAAAiG,IACA5W,6BAAA,oBAAA,IAEAqL,MAAA,SAAAC,GACAC,KAAAC,aAEAhL,KAAA,eAAAsL,OAEA9L,6BAAA,oBAAA,GAEA+Y,iBAAAtN,SACAnN,IAAAuY,EAAArW,MACAmI,KAAAmO,EACAwC,IAAAvC,EACAwC,KAAAvC,EACAwC,KAAAvC,EACAwC,KAAAjB,EACAtB,SAAAA,EACAyB,MAAAA,EACAC,KAAAA,KAIA5c,EAAA,qBAAA+P,SAAAzM,SAAA,qBAAAoH,KAAA,cAAAsF,QAAA1M,SAAA,sCAAAsC,KAAA,IACA5F,EAAA,qBAAA+P,SAAAzM,SAAA,oBACAtD,EAAA,qBAAAsD,SAAA,qBACAyZ,kBAMA,QAAA3B,4BACA,OAAAyB,gBAAA,KAAAC,yBAAA,MAQA,QAAAY,sBAAAC,EAAAC,GACA,OAAAf,gBAAAc,EAAAb,yBAAAc,GAGA,QAAAC,iBAAAC,GAEA,GAAAC,GAAA/d,EAAA,qBAAAwE,KAAA,cACArB,SAAA4a,GACAA,EAAA1O,QAEAyO,GACAE,+BAIA,QAAAA,gCACA,GAAAC,GAAAje,EAAA,mBACA,IAAAie,EAAA,CAGA,GAAA7Z,GAAA6Z,EAAAvT,KAAA,YAAAlJ,MACAoN,EAAA5O,EAAA,oBAAAwE,KAAA,cACArB,SAAAyL,GAEAA,EAAAa,SACAnN,IAAA8B,KAKA,QAAA8Z,wBACA,GAAAzB,GAAAC,sBACAyB,EAAAne,EAAA,qBAAAwE,KAAA,cACA,OAAA2Z,IACAA,EAAAC,YACAlK,OAAAuI,EACAO,UACA3F,IAAA,GACAgH,MAAA,KAGAre,EAAA,qBAAA+P,SAAAzM,SAAA,qBAAAoH,KAAA,cAAAsF,QAAA1M,SAAA,sCAAAsC,KAAA,KAOA,QAAA8W,uBAEA,MAAA1c,GAAAkE,QAAAgQ,SAAA,IAIA,QAAA6B,wCACA/V,EAAA,QAAAse,WAAA,aACAte,EAAA,QAAAse,WAAA,yBACAte,EAAAue,UAAAC,YAAA3a,MAAA,QAGA,QAAAG,8BAAAya,EAAAC,GACA,IACAvb,QAAAwb,OAAAxb,QAAAsb,GAAA,MAAAA,GAAA,IAAAA,GACAE,MAAAC,GAAAC,SAAA7e,EAAA,IAAAye,GAAAC,GAEA,MAAA7c,KAKA,QAAAid,uBAAAna,EAAAoa,EAAAC,GACA,MAAAA,GAAA7b,QAAA6b,GAAA,iBAAA,KACAA,GAAA,GACAA,IACAhf,EAAA,IAAA+e,GAAA3H,IAAA,aAAA,WACApX,EAAA,IAAA+e,GAAA3H,IAAA,UAAA,SAEApX,EAAA,IAAA+e,GAAAE,QAAAta,KAAAA,GACAqa,GACAhf,EAAA,IAAA+e,GAAAG,OAAA,KAGA,QAAAC,wCAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,GAAAC,GAAAzf,EAAA,4BAAA0K,KAAA,qBACA,IAAA,GAAA+U,EAAAla,OAAA,CAGA,GAAAma,GAAAN,EACApf,EAAA,4BAAA0K,KAAA,8CACA1K,EAAA,4BAAA0K,KAAA,sCAEA2U,KAAAvR,MAAAuR,IAAAA,EAAA,GAAA,mBAAArS,mDACAA,iDAAA2S,GAAAN,EAAAO,UAAAN,EAAAO,eAAAN,EAAAtE,UAAAuE,GACA,mBAAAvS,oCACA,MAAAA,mCACA,mBAAAA,mCAAAC,oBACAD,kCAAA6S,eAAAT,EACApS,kCAAAC,kBAAAoS,EACArS,kCAAA8S,uBAAAR,EACAtS,kCAAA+S,kBAAAR,IAMA,GAAAE,EAAAna,QAGAma,EAAAO,QAAA,UAKA,QAAAC,wBAAAjY,EAAAoX,GACA,GAAAc,GAAAngB,EAAA,sBAAAuF,OAAA,GAAAvF,EAAA,sBAAAoB,GAAA,aAAApB,EAAA,4BAAAuF,OAAA,CACA,IAAA4a,EAAA,CAGA,GAAAV,GAAAzf,EAAA,4BAAA0K,KAAA,qBACA,IAAA,GAAA+U,EAAAla,OAAA,CAEA,GAAAqD,GAAA6W,EAAAnJ,KAAA,MAAAhS,QAAA,WAAA,IACAF,EAAA6D,EAAA3D,QAAA,YAAA,0BAAAA,QAAA,aAAA,cACA8b,EAAA,MAAAf,GAAAlc,QAAAkc,GAAAvR,MAAAuR,IAAA,GAAAA,EACA/V,EAAA8W,GAAAxX,mBAAAA,IAAAA,mBAAAA,EAAAyX,UAAAhB,EAEArb,8BAAA,WAAA,EACA,IAAAiD,GAAA,oCAEAjH,GAAAuE,MACAjC,IAAA8B,EACAK,OAAA,OACAD,KAAA8E,EACA5E,QAAA,SAAAI,GACAd,6BAAA,WAAA,GACAoD,+BAAAtC,KAEA,MAAAA,EAAAA,OACAsb,EACAjB,wCAAA,GAEAA,wCAAA,EAAAE,EAAAva,EAAA2G,UAAA3G,EAAAwb,eAAAxb,EAAA4D,WAEA,SAAA5D,EAAAA,QACAyC,4BAAAN,EAAAnC,KAGAD,MAAA,SAAAC,GACAd,6BAAA,WAAA,GACAuD,4BAAAN,EAAAnC,MAGAyb,4BAIA,QAAAC,qBACA,GAAAC,GAAAzgB,EAAA,YAAAgV,QACA0L,EAAA,EAaA,OAZAD,GAAA,OACAC,EAAA,IAAAD,GAEAA,EAAA,KAAAA,EAAA,OACAC,EAAA,IAAAD,GAEAA,EAAA,KAAAA,EAAA,MACAC,EAAA,GAAAD,GAEAA,EAAA,MACAC,EAAA,EAAAD,GAEAC,EAGA,QAAAC,kBAAAC,GAGA,IAAA,GAFAC,GAAAD,EAAA,IACAE,EAAAzM,SAAA0M,OAAAC,MAAA,KACA3b,EAAA,EAAAA,EAAAyb,EAAAvb,OAAAF,IAAA,CAEA,IADA,GAAA4b,GAAAH,EAAAzb,GACA,KAAA4b,EAAAC,OAAA,IACAD,EAAAA,EAAAld,UAAA,EAEA,IAAA,GAAAkd,EAAAtgB,QAAAkgB,GACA,MAAAI,GAAAld,UAAA8c,EAAAtb,OAAA0b,EAAA1b,QAGA,MAAA,GAGA,QAAA4b,kBAAAP,EAAAQ,EAAAC,GACA,IAAAvT,MAAAuT,IAAA,MAAAA,GAAAA,EAAA,EACAhN,SAAA0M,OAAAH,EAAA,IAAAQ,MACA,CACA,GAAA1O,GAAA,GAAA4O,KACA5O,GAAA6O,QAAA7O,EAAA8O,UAAA,GAAAH,EAAA,GAAA,GAAA,IACA,IAAAI,GAAA,WAAA/O,EAAAX,aACAsC,UAAA0M,OAAAH,EAAA,IAAAQ,EAAA,IAAAK,EAAA,WAIA,QAAAC,0BACAxd,OAAAyd,cAAAxe,QAAAe,OAAAyd,cACAzd,OAAAyd,aAAAC,sBAKA,QAAAC,iBAAAC,EAAAC,GACA,GAAAC,GAAAF,EAAAtgB,MAAAjB,aACAyhB,GAAAzc,OAAA,EACAwc,EAAAzb,KAAA,WACAtG,EAAAuP,MAAA4K,SAIA4H,EAAAzb,KAAA,WACA,GAAAtG,EAAAuP,MAAA3J,OAAArF,cAAAI,QAAAqhB,GACAhiB,EAAAuP,MAAA4K,OAEAna,EAAAuP,MAAAgI,SAaA,QAAAnQ,gCAAA6a,GACA,GAAA,MAAAA,GAAA9e,QAAA8e,GAAA,MAAAA,EAAAnd,QAAA3B,QAAA8e,EAAAnd,QACA,WAAAmd,EAAAnd,QAAA,SAAAmd,EAAAnd,QAAA,SAAAmd,EAAAnd,OACA,OAAA,CAEA,IAAA,SAAAmd,EAAAnd,QAAA,SAAAmd,EAAAnd,OAAA,CACA,GAAAod,GAAA,SAAAD,EAAAnd,OAAA,EAAA,CAEA,OADAqd,iCAAAF,EAAAG,mBAAAF,EAAAD,EAAAI,aAAAJ,EAAAK,iBACA,EAGA,GAAAC,GAAA,MAAAN,EAAAO,QAAArf,QAAA8e,EAAAO,QAAA,iBAAAP,GAAA,QAAAA,EAAAO,OACAC,EAAA,MAAAR,EAAAQ,aAAAtf,QAAA8e,EAAAQ,YAAAR,EAAAQ,YAAA,GACAC,EAAA;AACAH,EACAjhB,SACA,IAAAmhB,GACAve,OAAAC,SAAAG,QAAAme,GAWA,OARAtf,SAAA8e,EAAA3a,SAAA,MAAA2a,EAAA3a,SAAA,IAAA2a,EAAA3a,QAEAob,IAIAnb,4BAAA0a,EAAA3a,QAAA2a,EAAAS,IAEA,EAIA,QAAAP,iCAAAla,EAAAia,EAAAG,EAAAC,GACA,GAAA,GAAAJ,EAAA,CAEA,GAAA9d,GAAA6D,EAAA3D,QAAA,YAAA,4BAAAA,QAAA,aAAA,WACAqe,EAAA1a,EAAA3D,QAAA,YAAA,SAAAA,QAAA,aAAA,UACAJ,QAAAmT,IAAAlT,SAAAmE,KAAA/H,cAAAI,QAAAgiB,EAAApiB,gBAAA,GAEAP,EAAAuE,MACAC,MAAA0d,aAAAA,EAAAG,aAAAA,GACA/f,IAAA8B,EACAK,OAAA,OACAC,QAAA,SAAAI,GACAZ,OAAAmT,IAAAlT,SAAAmE,KAAAqa,EAAA,QAAAC,mBAAAjO,WAAA2N,IAAA,iBAAAM,mBAAAjO,WAAA0N,KAEAxd,MAAA,SAAAC,GACAC,UAAA,6BAAA,aAMA,QAAAwC,6BAAAD,EAAAxC,EAAA+d,GACA,GAAAR,GAAAS,sCAAAxb,EAAAxC,EACAud,IACAU,YAAAV,EAAA,QAAAQ,GAGA,QAAAC,uCAAAxb,EAAAxC,GACA,GAAAwC,GAAAxC,EAAA,CACA,GAAAke,GAAA,EACA,IAAAle,EAAAme,aACA,GAAAne,EAAAme,aAAAC,cAAAC,WAAA,mBAEA,CAEA,GAAAC,GAAAte,EAAAme,aAAAC,cAAAviB,QAAA,0BACA,IAAAyiB,EAAA,EAAA,CACA,GAAAC,GAAAve,EAAAme,aAAAC,cAAAviB,QAAA,UAAAyiB,EAAA,GACAC,GAAAD,IACAJ,EAAAle,EAAAme,aAAAlf,UAAAqf,EAAA,GAAAC,GAAAC,aAPAN,GAAAle,EAAAme,iBAWA,WAAAjjB,EAAAsT,KAAAxO,KACAke,EAAAle,EAEA,IAAA,IAAAke,EAAA,CACA,GAAAO,GAAAP,EAAA1e,QAAA,OAAA,OAAAA,QAAA,OAAA,OAAAA,QAAA,OAAA,OAAAA,QAAA,QAAA,QAAAA,QAAA,QAAA,QAAAA,QAAA,QAAA,OACAgD,IAAA,iCAAAic,GAGA,MAAAjc,GAKA,QAAAkc,qCAAAvb,EAAAwb,EAAA5H,EAAA6H,EAAAC,EAAAC,GACA,GAAAxf,GAAA6D,EAAA3D,QAAA,YAAA,4BAAAA,QAAA,aAAA,gBACAtE,GAAAuE,MACAjC,IAAA8B,EACAK,OAAA,MACAD,MAAAqX,gBAAAA,EAAAgI,MAAAJ,EAAAC,QAAAA,EAAAC,yBAAAA,EAAAC,uBAAAA,GACAlf,QAAA,SAAAC,GACAC,UAAAD,GAAA,GAAA,EAAA,KAAA,MAAA,IAEAE,MAAA,SAAAC,GACAC,UAAA,0DAAA,YAIA,QAAA+e,gBACA5f,OAAAyd,cAAAxe,QAAAe,OAAAyd,cACAzd,OAAAyd,aAAAmC,eAGA,QAAAC,UAAAC,GACAhgB,6BAAA,WAAA,GACAE,OAAAC,SAAA6f,EAGA,QAAAC,iBAAA/hB,SAAAgiB,WAAA9hB,cACA+hB,KAAAnkB,EAAA,kDAAAsW,KAAA,YAEA,QAAA8N,kBACAD,KAAAnkB,EAAA,iDAAAsW,KAAA,YAGA,QAAA+N,oBAAAxD,EAAAve,GACAA,IAAAA,EAAA4B,OAAAC,SAAAmE,MACAuY,EAAAA,EAAAvc,QAAA,UAAA,OACA,IAAAggB,GAAA,GAAAC,QAAA,OAAA1D,EAAA,qBACA2D,EAAAF,EAAAG,KAAAniB,EACA,OAAAkiB,GACAA,EAAA,GACAjI,mBAAAiI,EAAA,GAAAlgB,QAAA,MAAA,MADA,GADA,KAIA,QAAAogB,gBAAAC,GACA,GAAAC,GAAA5kB,EAAAkE,QAAA8Q,QAAA,GACA4P,IACA5kB,EAAA,WAAAuX,MACA,IAAA0C,GAAA5F,SAAAwQ,eAAA,gBACA5K,GAAA6K,UAAAH,EAAAI,UAAA,GAEA,QAAAC,iBACA,GAAAJ,GAAA5kB,EAAAkE,QAAA8Q,QAAA,GACA4P,IACA5kB,EAAA,WAAAma,OAGA,QAAA8K,mBACAD,gBAEAhlB,EAAA,sBAAAwB,IAAAxB,EAAA,sBAAAwB,MAAA8hB,QAGA,QAAA4B,eACA,GAAAP,GAAAtQ,SAAAwQ,eAAA,oBACAH,gBAAAC,GAGA,QAAAQ,cACA,GAAAR,GAAAtQ,SAAAwQ,eAAA,cACAH,gBAAAC,GAEA,QAAAS,YACA,GAAAT,GAAAtQ,SAAAwQ,eAAA,WACAH,gBAAAC,GAGA,QAAA1L,2DAAAoM,GACA,GAAAC,GAAAC,6BAAAF,EACA,OAAAliB,SAAAmiB,EACA,KAAAA,EACAA,EAGA,QAAAC,8BAAAF,GACA,GAAAG,KAGA,IAFAthB,OAAAC,SAAAshB,SACAD,EAAAthB,OAAAC,SAAAshB,OAAAllB,cAAAI,QAAA0kB,EAAA9kB,cAAA,MACAilB,KAAA,CACA,GAAAE,GAAAxhB,OAAAC,SAAAshB,OAAA9kB,QAAA,IAAA6kB,EACAE,GAAA,IACAA,EAAAxhB,OAAAC,SAAAshB,OAAAlgB,OACA,IAAAogB,GAAAzhB,OAAAC,SAAAshB,OAAA1hB,UAAAyhB,EAAAH,EAAA9f,OAAA,EAAAmgB,GACApd,EAAApE,OAAAC,SAAAyhB,SAAA1hB,OAAAC,SAAAshB,OACAI,EAAAR,EAAA,IAAAM,CAKA,OAJArd,GAAAA,EAAAhE,QAAA,IAAAuhB,EAAA,IACAvd,EAAAA,EAAAhE,QAAA,IAAAuhB,EAAA,IAAA,KACAvd,EAAAA,EAAAhE,QAAA,IAAAuhB,EAAA,IACA3hB,OAAA4hB,QAAAC,gBAAA1R,SAAApF,MAAA3G,GACAqd,GAKA,QAAAK,6BAAAC,GACA,GAAAC,GAAA,GAAAlmB,EAAAkE,QAAAgQ,SAAA,GACAiS,EAAAnmB,EAAAimB,EACA9iB,UAAAgjB,GAAAhjB,SAAA+iB,GACAC,EAAA7f,KAAA,WACAtG,EAAAuP,MAAA2E,OAAAgS,EAAA,QAUA,QAAAE,eAAAlkB,EAAA6E,EAAAf,EAAAgB,EAAAqf,EAAAzY,GAGA,GAAAxJ,GAAA4C,EAAA1C,QAAA,YAAA,iBAAAA,QAAA,aAAA,WAEAsC,oEAAA1E,EAAA6E,EAAAf,EAAAqgB,EAAA,SAAAnkB,EAAAmE,GACA,GAAAigB,KACAjgB,GAAAd,OAAA,IAAAuI,MAAAzH,EAAA,MACAigB,EAAA7f,SAAAJ,EAAA,KAqBAO,mEAAA1E,EAAA6E,EAAAf,EAAAqgB,EAAA,SAAAnkB,EAAAmE,GAEAkgB,sBAAAD,EAAAliB,EAAAoiB,+BAAA5Y,EAAA,UAAA1L,EAAA8D,EAAAe,OAMA,QAAAwf,uBAAAD,EAAAliB,EAAA+J,EAAAP,EAAAQ,EAAAlM,EAAA8D,EAAAsI,GAEAtK,6BAAAoK,GAAA,EACA,IAAAG,IAAArM,SAAAA,EAAAsM,OAAAxI,EAAAyI,eAAAH,EAAAgY,2BAAAA,EAEAtmB,GAAAuE,MACAjC,IAAA8B,EACAK,OAAA,MACAD,KAAA+J,EACA7J,QAAA,SAAAF,GACAR,6BAAAoK,GAAA,GACAD,GACAA,EAAA3J,EAAA,GAAAtC,EAAA8D,IAEAnB,MAAA,SAAAC,GACAd,6BAAAoK,GAAA,GACAjL,QAAAyK,GAAA,IAAAA,GACArG,4BAAAqG,EAAA9I,MAMA,QAAA0hB,gCAAA9X,EAAAC,EAAAzM,EAAA8D,GACA,GAAA4I,GAAA5O,EAAA,+EACA6O,SAAA,QACAC,aACAC,OAAA,EACAC,WAAA,EACAC,MAAAN,EACAO,SAAA,QACAC,UAAA,QACAC,SAAA,EACAC,MAAA,SAAAC,GACAC,KAAAC,WAEAC,QAAA,WACAzP,EAAA,iBAAAqB,MAAA,WACAolB,wBAIA9W,cACAJ,KAAAK,YAEApL,KAAA,eAAAqL,QAAAnB,EAEAE,GAAAgB,SAAAE,OACA9P,EAAA,kBAAA+P,SAAAzM,SAAA,qBAAAoH,KAAA,cAAAsF,QAAA1M,SAAA,sCAAAsC,KAAA,ICvkEA,QAAA8gB,oBAAAC,EAAAC,GACAvmB,UAAAC,UAAAC,cAAAI,QAAA,eAAAN,UAAAC,UAAAC,cAAAI,QAAA,WACAkmB,eAAAD,GAGAE,aAAAF,GCkIA,QAAAG,8CACA,kBAAA,2DACAC,2DCvIA,QAAAplB,gBAAAD,GACAslB,YAAAtlB,GAGA,QAAAslB,aAAAtlB,GACA,MAAAulB,OACAA,MAAAC,QACAC,sBAAAzlB,GAGA,QAAA0lB,WAAAC,EAAAC,GACA,MAAAL,QACAA,MAAA,GAAAM,OAAAF,EAAAC,IAEA,MAAAL,QACAO,cAAAP,MAAAQ,SACAR,MAAAQ,QAAAC,YAAA,oBAAA,MAEAV,cAGA,QAAAO,OAAAI,EAAAC,GAEAtY,KAAAmY,QAAA,KACAnY,KAAAuY,MAAA,EACAvY,KAAAwY,MAAA,EACAxY,KAAAyY,WAAA,EACAzY,KAAA0Y,gBAAAJ,EACAtY,KAAA2Y,gBAAAN,EACArY,KAAA4Y,QAAA,GAAApgB,OACAwH,KAAA6Y,SAAA,EACA7Y,KAAA8Y,yBAAA,EAGA9Y,KAAA4X,MAAAmB,WACA/Y,KAAAgZ,UAAAC,eACAjZ,KAAAkZ,eAAAC,oBACAnZ,KAAAoZ,SAAAC,cACArZ,KAAAsZ,kBAAAC,wBACAvZ,KAAAwZ,oBAAAC,0BACAzZ,KAAA0Z,kBAAAC,qBAEA3Z,KAAA4Z,eAAA,SAAAC,GAAA7Z,KAAA4Y,QAAArR,KAAAsS,IACA7Z,KAAA8Z,iBAAA,SAAAD,GACA,IAAA,GAAAE,GAAA,EAAAA,EAAA/Z,KAAA4Y,QAAA5iB,OAAA+jB,IACA,GAAA/Z,KAAA4Y,QAAAmB,IAAAF,EAAA,CACA7Z,KAAA4Y,QAAAtc,OAAAyd,EAAA,EACA,SAOA,QAAAhB,cACA/Y,KAAAuY,MAAAvY,KAAA0Y,gBAAA,EACA1Y,KAAAwY,MAAA,GACAwB,YAAAha,KAAA0Y,gBAAA,GAIA,QAAAO,kBACAjZ,KAAA0Y,gBAAA1Y,KAAA2Y,gBAAA3Y,KAAAuY,OACAvY,KAAAkZ,iBAGA,GAAAlZ,KAAAwY,OACAxY,KAAAwY,MAAA,GACAxY,KAAAuY,QACAvY,KAAA0Z,kBAAA1Z,KAAA2Y,gBAAA3Y,KAAAia,OAGAja,KAAAwY,QAEAwB,YAAAha,KAAAuY,MAAAvY,KAAAwY,OAEA,GAAAxY,KAAAwY,QAEAxY,KAAAka,UAAA,GAAAla,KAAAuY,OAAA,KACAvY,KAAAyY,WAAA,EACAzY,KAAAoZ,WASA,KAAA,GADAzX,GAAA,GAAAoQ,MACAgI,EAAA,EAAAA,EAAA/Z,KAAA4Y,QAAA5iB,OAAA+jB,IACA,GAAA,MAAA/Z,KAAA4Y,QAAAmB,GACA,IACA/Z,KAAA4Y,QAAAmB,GAAAI,KAAAna,KAAA2B,GACA,MAAAyY,KAKA,QAAAJ,aAAAK,EAAAC,GACA,GAAAC,GAAAD,EACAE,EAAAH,EAEAI,EAAA,GAAAJ,EAAAC,EACAI,EAAAD,EAAA,KAAA,EAEAC,IACAC,mBAEAL,EAAA,KAAAC,EAAA,IAAAD,GACAD,EAAA,KAAAG,EAAA,IAAAH,GAEA5pB,EAAA,aAAA4F,KAAAmkB,EAAA,IAAAD,GAKA,QAAApB,uBAEA,GAAA,GAAAnZ,KAAA2Y,kBAGA3Y,KAAA8Y,wBAAA,CACA9Y,KAAA8Y,yBAAA,EACA8B,sBAAA,EACA,IAAAlb,GAAAM,KAAAwZ,sBACAqB,EAAA7a,KAAAsZ,mBACAwB,oBAAAD,EAAAE,8BAAAC,6BAAAtb,GAAA,IAIA,QAAAia,wBACA,GAAA,GAAA3Z,KAAA2Y,iBAGA3Y,KAAA8Y,wBAAA,CACA,GAAApZ,GAAAM,KAAAwZ,sBACAqB,EAAA7a,KAAAsZ,mBACA2B,0BAAAJ,EAAAnb,IAIA,QAAA6Z,2BACA,GAAA2B,GAAAlb,KAAAuY,MAAA,CACA,IAAA,GAAA2C,EACA,MAAAzqB,GAAA,uBAAAwB,KAEA,IAAA4oB,GAAApqB,EAAA,sBAAAwB,KACA,OAAA4oB,GAAA9lB,QAAA,MAAAmmB,GAIA,QAAAzB,6BACA,GAAA0B,GAAAnb,KAAA0Y,gBAAA1Y,KAAAuY,MAAA,CACA,IAAA,GAAA4C,EACA,MAAA1qB,GAAA,yBAAAwB,KAEA,IAAA4oB,GAAApqB,EAAA,wBAAAwB,KACA,OAAA4oB,GAAA9lB,QAAA,MAAAomB,GAIA,QAAAJ,iCACA,MAAApD,QACAA,MAAAmB,yBAAA,GACA8B,sBAAA,GACAvoB,eAAA,iCAGA,QAAA2oB,gCACA,MAAArD,QACAA,MAAAmB,yBAAA,GACA8B,sBAAA,GACA,MAAAjD,QACAA,MAAAc,WAAA,EACAd,MAAAyB,YAKA,QAAAC,iBACAnB,cAAAlY,KAAAmY,SACAiD,aAAApb,KAAAyY,YAGA,QAAA2C,cAAA3C,GACAhX,mBAAA,EACA,MAAAgX,IACAA,EAAA,GAGA1mB,OADA,GAAA0mB,EACAhoB,EAAA,+BAAAwB,MAEAxB,EAAA,2BAAAwB,OAGA,QAAA4lB,uBAAAzlB,EAAAipB,IACA,MAAAA,GAAAznB,QAAAynB,GAAA9c,MAAA8c,MACAA,EAAA,EACA,IAAAtO,GAAAtc,EAAA,6BAAAwB,KACAxB,GAAAuE,MACAjC,IAAAga,EACA7X,OAAA,MAOAI,MAAA,SAAAC,GACA8R,QAAAC,IAAA,6CAAA+T,GAEAA,EAAA,EACA1O,WAAAkL,sBAAA,IAAAzlB,EAAAipB,EAAA,GACA,MAAA1D,OAAA,MAAAA,MAAAyB,UAAA,kBAAAzB,OAAA,UACAA,MAAAyB,cASA,QAAAwB,sBAAAU,GAEAA,GACA7qB,EAAA,gBAAAsW,KAAA,KAAA,uBACAtW,EAAA,0BAAAsW,KAAA,KAAA,iCACAtW,EAAA,iBAAAqD,YAAA,gBAAAC,SAAA,0BAGAtD,EAAA,wBAAAsW,KAAA,KAAA,eACAtW,EAAA,kCAAAsW,KAAA,KAAA,yBACAtW,EAAA,yBAAAqD,YAAA,wBAAAC,SAAA,iBAOA,QAAA0I,cAAAD,GACA5I,QAAApB,eAAA+oB,iBAAA,QAAA/oB,eAAA+oB,iBACA5mB,OAAA6mB,aAAAhpB,eAAA+oB,iBACA/oB,eAAA+oB,gBAAA5mB,OAAAgY,WAAA8O,eAAAjf,GAGA,QAAAif,kBACAjpB,eAAA+oB,gBAAA,KAGA,QAAAG,sBACA,MAAA9nB,SAAApB,eAAA+oB,iBAAA,QAAA/oB,eAAA+oB,gBAAA,EAAA,EAGA,QAAAZ,oBACA,GAAA5N,GAAAtc,EAAA,wBAAAwB,KACAxB,GAAAuE,MACAjC,IAAAga,EACA7X,OAAA,SHpQA,GAAAmN,wBAAA,EACA3N,0BAAA,EAUAinB,wBAAA,CAEAhnB,QAAAinB,eAAA,WAIAD,wBAAA,GAIAlrB,EAAA,KAAAkX,KAAA,QAAA,WACAxV,kBAAA,cACAwpB,wBAAA,IAUAlrB,EAAA,sBAAAkX,KAAA,QAAA,WACAxV,kBAAA,gBACAwpB,wBAAA,IASAlrB,EAAAqU,UAAA+W,GAAA,UAAA,SAAA9b,GACA,GAAAnO,GAAAnB,EAAAsP,EAAA8D,QAAA9D,EAAA6D,WAWA,IAVA,GAAA7D,EAAA2D,UACA9R,EAAAC,GAAA,0FAGA+B,SAAAhC,EAAAmV,KAAA,aAAAnT,SAAAhC,EAAAmV,KAAA,aACAhH,EAAAkE,iBAHAlE,EAAAkE,kBAQA,IAAAlE,EAAA2D,QAAA,CAEA,GAAAoY,GAAArrB,EAAA,iBAAAsrB,SAAA,iBAAA5gB,KAAA,eACA,IAAA,MAAA2gB,GAAA,GAAAA,EAAA9lB,SAAA8lB,EAAAjqB,GAAA,aAEA,MADAH,yBAAAoqB,EAAAlqB,IACA,CAEA,IAAAoqB,GAAAvrB,EAAA,SACA,IAAAurB,EAAAhmB,OAAA,IAAAgmB,EAAAnqB,GAAA,eAAAmqB,EAAAtgB,SAAA,iBAAAsgB,EAAAtgB,SAAA,kBACAhK,wBAAAsqB,EAAApqB,OAEA,CACA,GAAAqqB,GAAAxrB,EAAA,eACA,IAAA,GAAAwrB,EAAAjmB,SAAAimB,EAAApqB,GAAA,aAEA,MADAH,yBAAAuqB,EAAArqB,IACA,KA2CA,IAAAqB,YAAA,EA86BAkV,YAEA9L,iBAkPA5L,GAAAkE,QAAAunB,OAAA,WACA,MAAA/T,aACAA,YAAA9H,SACAsJ,YACAgF,uBACAwD,2BAcA1hB,EAAAqU,UAAAqX,MAAA3S,oBAyIA,IAAAgE,mBIh6CA,SAAA4O,GACA,kBAAAC,SAAAA,OAAAC,IAEAD,QAAA,UAAA,SAAA5rB,GACA,MAAA2rB,GAAA3rB,KAEA,gBAAA8rB,SAAA,gBAAAA,QAAAC,QAEAD,OAAAC,QAAAJ,EAAAK,QAAA,WAGAL,EAAAznB,OAAA+nB,SAEA,SAAAA,GACA,YAEA,SAAAC,GAAAC,GAEAhpB,SAAAgpB,IACAA,EAAAjoB,OAAA7D,UAAAC,WAEA6rB,EAAAA,EAAA5rB,aAEA,IAAAsU,GAAA,mBAAA4P,KAAA0H,IACA,oBAAA1H,KAAA0H,IACA,wBAAA1H,KAAA0H,IACA,yBAAA1H,KAAA0H,IACA,6DAAA1H,KAAA0H,IACA,uEAAA1H,KAAA0H,IACA,wBAAA1H,KAAA0H,IACA,qCAAA1H,KAAA0H,IACA,kBAAA1H,KAAA0H,IACAA,EAAAxrB,QAAA,YAAA,GAAA,sBAAA8jB,KAAA0H,IACAA,EAAAxrB,QAAA,cAAA,GAAA,gCAAA8jB,KAAA0H,OAGAC,EAAA,SAAA3H,KAAA0H,IACA,SAAA1H,KAAA0H,IACA,kBAAA1H,KAAA0H,IACA,WAAA1H,KAAA0H,IACA,WAAA1H,KAAA0H,IACA,SAAA1H,KAAA0H,IACA,YAAA1H,KAAA0H,IACA,QAAA1H,KAAA0H,IACA,QAAA1H,KAAA0H,IACA,UAAA1H,KAAA0H,IACA,SAAA1H,KAAA0H,IACA,aAAA1H,KAAA0H,IACA,OAAA1H,KAAA0H,IACA,eAAA1H,KAAA0H,OAGAlsB,KACAosB,GACApsB,QAAA4U,EAAA,IAAAA,EAAA,IAAAA,EAAA,IAAA,GACAyX,QAAAzX,EAAA,IAAAA,EAAA,IAAA,IACA7T,cAAA6T,EAAA,IAAAA,EAAA,IAAA,IACA0X,SAAAH,EAAA,IAAA,GA8BA,IA3BAC,EAAApsB,UACAA,EAAAosB,EAAApsB,UAAA,EACAA,EAAAqsB,QAAAD,EAAAC,QACArsB,EAAAe,cAAAyF,SAAA4lB,EAAArrB,cAAA,KAGAqrB,EAAAE,WACAtsB,EAAAosB,EAAAE,WAAA,IAIAtsB,EAAAusB,SAAAvsB,EAAAwsB,IAAAxsB,EAAAysB,YAAAzsB,EAAA0sB,MAAA1sB,EAAA2sB,QACA3sB,EAAA4sB,MAAA5sB,EAAA6sB,QAAA7sB,EAAA8sB,UAAA9sB,EAAA+sB,MAAA/sB,EAAA,oBACAA,EAAAC,QAAA,IAIAD,EAAAgtB,MAAAhtB,EAAAitB,KAAAjtB,EAAAktB,OAAAltB,EAAAmtB,OACAntB,EAAAotB,SAAA,IAIAptB,EAAAa,QAAAb,EAAAqtB,KAAArtB,EAAAc,UACAd,EAAAstB,QAAA,GAIAttB,EAAAutB,IAAAvtB,EAAAwtB,SAAA,CACA,GAAAC,GAAA,MAEArB,GAAApsB,QAAAytB,EACAztB,EAAAytB,IAAA,EAIA,GAAAztB,EAAA0tB,KAAA,OACA1tB,GAAA0tB,IACA,IAAAC,GAAA,QAEAvB,GAAApsB,QAAA2tB,EACA3tB,EAAA2tB,IAAA,EAIA,GAAA3tB,EAAAc,QAAAd,EAAAysB,WAAA,CACA,GAAAA,GAAA,YAEAL,GAAApsB,QAAAysB,EACAzsB,EAAAysB,IAAA,EAIA,GAAAzsB,EAAAc,QAAAd,EAAA8sB,SAAA,CACA,GAAAA,GAAA,UAEAV,GAAApsB,QAAA8sB,EACA9sB,EAAA8sB,IAAA,EAIA,GAAA9sB,EAAAwsB,GAAA,CACA,GAAAA,GAAA,YAEAJ,GAAApsB,QAAAwsB,EACAxsB,EAAAwsB,IAAA,EAIA,GAAAxsB,EAAAqtB,IAAA,CACA,GAAAO,GAAA,OAEAxB,GAAApsB,QAAA4tB,EACA5tB,EAAA4tB,IAAA,EAIA,GAAA5tB,EAAAc,QAAAd,EAAAusB,QAAA,CACA,GAAAA,GAAA,SAEAH,GAAApsB,QAAAusB,EACAvsB,EAAAusB,IAAA,EAIA,GAAAvsB,EAAAc,QAAAd,EAAA6sB,OAAA,CACA,GAAAA,GAAA,QAEAT,GAAApsB,QAAA6sB,EACA7sB,EAAA6sB,IAAA,EAIA,GAAA7sB,EAAAc,QAAAd,EAAA+sB,KAAA,CACA,GAAAA,GAAA,MAEAX,GAAApsB,QAAA+sB,EACA/sB,EAAA+sB,IAAA,EAMA,MAFA/sB,GAAA4gB,KAAAwL,EAAApsB,QACAA,EAAAssB,SAAAF,EAAAE,SACAtsB,EAaA,MARAiE,QAAA4pB,UAAA5B,EAAAhoB,OAAA7D,UAAAC,WACA4D,OAAA4pB,UAAA5B,QAAAA,EAGAD,IACAA,EAAAhsB,QAAAiE,OAAA4pB,WAGA5pB,OAAA4pB,WHtLA,IAAAC,aACAjH,cAAA,SAAAxkB,GACA,GAAA0rB,GAAAze,KAAAwe,YACAxe,MAAAwe,eACAC,EAAAze,KAAAwe,aAAA1Z,SAAA4Z,cAAA,UACA5Z,SAAA6Z,KAAAC,YAAAH,GAEAA,EAAAjrB,MAAAqrB,QAAA,OACAJ,EAAAK,OAAA,WACAnS,WAAA,WAEA8R,EAAAM,QACAN,EAAAO,cAAAC,SACA,KAIAR,EAAAS,IAAAnsB,GAGAukB,eAAA,SAAAvkB,GAEAyrB,aAAA7pB,OAAA4L,KAAAxN,EAAA,gBACAyrB,aAAA1Z,SAAApF,MAAA,gBChCA,IAAAyf,qBAAA,MAEA,WACA1uB,EAAA,WACA,GAAA2uB,EA8HA,OA7HAA,GAAA,WACA,QAAAA,MAyHA,MAvHAA,GAAAC,UAAAC,aAAA,WACA7uB,EAAA,sBAAAuF,OAAA,GAAAvF,EAAA,sBAAAiL,SAAA,6BACAjL,EAAA,sBAAAqD,YAAA,4BAAAC,SAAA,mBACAtD,EAAA,iBAAAuF,OAAA,GAAAvF,EAAA,iBAAAiL,SAAA,4BACAjL,EAAA,iBAAAqD,YAAA,2BAAAC,SAAA,mBACAtD,EAAA,YAAAqD,YAAA,kCAAAA,YAAA,yBAAAC,SAAA,iBACAtD,EAAA,eAAAsD,SAAA,UACA,IAAA+E,GAAArI,EAAA,eAAAqD,YAAA,mBAAAC,SAAA,iBAEA,OADAtD,GAAA,YAAAoX,IAAA,OAAApX,EAAA,eAAAoX,IAAA,UACA/O,GAGAsmB,EAAAC,UAAAE,eAAA,WAeA,MAdA9uB,GAAA,sBAAAuF,OAAA,GACAvF,EAAA,YAAAqD,YAAA,kCAAAA,YAAA,iBAAAC,SAAA,yBACAtD,EAAA,YAAAoX,IAAA,OAAA,QAEApX,EAAA,sBAAAiL,SAAA,qBACAjL,EAAA,sBAAAqD,YAAA,mBAAAC,SAAA,4BACAtD,EAAA,YAAAqD,YAAA,yBAAAC,SAAA,kCACAtD,EAAA,iBAAAuF,OAAA,GAAAvF,EAAA,iBAAAiL,SAAA,qBACAjL,EAAA,iBAAAqD,YAAA,mBAAAC,SAAA,2BACAtD,EAAA,iBAAAoX,IAAA,OAAApX,EAAA,sBAAAgV,UAEAhV,EAAA,YAAAoX,IAAA,OAAApX,EAAA,sBAAAgV,UAEAhV,EAAA,eAAAqD,YAAA,WACArD,EAAA,eAAAqD,YAAA,kBAAAC,SAAA,oBAGAqrB,EAAAC,UAAAG,cAAA,WAEA,MADA/uB,GAAA,gCAAAma,OACAna,EAAA,2CAAAma,QAGAwU,EAAAC,UAAAI,cAAA,WAEA,MADAhvB,GAAA,gCAAAuX,OACAvX,EAAA,2CAAAuX,QAGAoX,EAAAC,UAAAK,kBAAA,WAEA,MADAjvB,GAAA,yBAAAma,OACAna,EAAA,2BAAAoX,KACApC,MAAA,UAIA2Z,EAAAC,UAAAM,kBAAA,WACA,MAAAlvB,GAAA,yBAAAuX,QAGAoX,EAAAC,UAAAO,sBAAA,WAIA,MAHAnvB,GAAA,+BAAAoX,KACAgY,QAAA,oBAEApvB,EAAA,sCAAAoX,KACAgY,QAAA,qBAIAT,EAAAC,UAAAS,+BAAA,WAIA,MAHArvB,GAAA,+BAAAoX,KACAgY,QAAA,oBAEApvB,EAAA,sCAAAoX,KACAgY,QAAA,SAIAT,EAAAC,UAAAU,cAAA,WACA,MAAA,UAAAC,GAGAA,EAAAV,eACAU,EAAAR,gBACAQ,EAAAN,oBACAlI,8CACAxX,OAGAof,EAAAC,UAAAY,gBAAA,WACA,MAAA,UAAAD,GAEAA,EAAAT,iBAIA/H,8CACAxX,OAGAof,EAAAC,UAAAa,KAAA,WACA,MAAA,UAAAF,GASA,MALAvvB,GAAAuP,MAAA6H,KACAsY,MAAA,SAEAhB,oBAAAa,EAEAA,GACAhgB,OAGAof,EAAAC,UAAAe,OAAA,WACA,MAAA,UAAAJ,GACA,MAAAvvB,GAAA,iBAAAorB,GAAA,QAAA,SAAA9b,GAOA,MANAtP,GAAA,eAAAiL,SAAA,mBACAskB,EAAAD,gBAEAtvB,EAAA,eAAAiL,SAAA,mBACAskB,EAAAC,mBAEA,KAEAjgB,OAGAof,MAGA,GAAAA,IAAAc,OAAAE,aAGAjG,KAAAna,KCrIA,IAAA2X,OAAA","file":"site.min.js","sourcesContent":["\r\nfunction SupportedOS() {\r\n if ($.browser.mobile) {\r\n var isiPad = /ipad/i.test(navigator.userAgent.toLowerCase());\r\n var isiPhone = /iphone/i.test(navigator.userAgent.toLowerCase());\r\n var isAndroid = /android/i.test(navigator.userAgent.toLowerCase());\r\n if (isiPad || isiPhone || isAndroid)\r\n return true;\r\n }\r\n\r\n if (navigator.appVersion.indexOf('Win') != -1)\r\n return true;\r\n if (navigator.appVersion.indexOf('Mac') != -1) \r\n return true;\r\n if (navigator.appVersion.indexOf('CrOS') != -1)\r\n return true;\r\n\r\n return false;\r\n}\r\n\r\n\r\nfunction SupportedBrowserOnOS() {\r\n if ($.browser.mobile && navigator.appVersion.indexOf('Mac') < 0)\r\n return true;\r\n\r\n var boolResult = false;\r\n\r\n // Windows\r\n if (navigator.appVersion.indexOf('Win') != -1) {\r\n // FF\r\n if (/Firefox[\\/\\s](\\d+\\.\\d+)/.test(navigator.userAgent))\r\n boolResult = true;\r\n // Edge\r\n else if (/Edge/.test(navigator.userAgent))\r\n boolResult = true;\r\n //Chrome\r\n else if ($.browser.chrome)\r\n boolResult = true;\r\n }\r\n // Mac OS X\r\n else if (navigator.appVersion.indexOf('Mac') != -1) {\r\n // Safari\r\n if ($.browser.safari && $.browser.versionNumber > 9)\r\n boolResult = true;\r\n // FF\r\n if (/Firefox[\\/\\s](\\d+\\.\\d+)/.test(navigator.userAgent))\r\n boolResult = true;\r\n }\r\n else if (navigator.appVersion.indexOf('CrOS') != -1) {\r\n if ($.browser.chrome)\r\n boolResult = true;\r\n }\r\n\r\n return boolResult;\r\n}\r\n\r\n\r\n","var hasMilitaryTimeFormat = true;\r\nvar Global_RenderedFormTypeId = 0;//TrlObjectTypeId of rendered form\r\n\r\n//---------------------------------------------------------\r\n//----------------------Menu Functions --------------------\r\n//---------------------------------------------------------\r\n\r\n// detect browser close and naviagtion to other domains\r\n// use beforeunload event together with navigation handlers\r\n\r\n// set this to true, if navigation was triggered by one of our page controls\r\nvar wasVaildNavigationCall = false;\r\n\r\nwindow.onbeforeunload = function () {\r\n if (!wasVaildNavigationCall) {\r\n // implement handlers here\r\n }\r\n wasVaildNavigationCall = false;\r\n};\r\n\r\n// Attach the event click for all links in the page\r\n$(\"a\").bind(\"click\", function () {\r\n TryResetMenuTimer('link click');\r\n wasVaildNavigationCall = true;\r\n});\r\n\r\n// Attach the event submit for all forms in the page\r\n//$(\"form\").bind(\"submit\", function () {\r\n// TryResetMenuTimer('form submit');\r\n// wasVaildNavigationCall = true;\r\n//});\r\n\r\n// Attach the event click for all inputs in the page\r\n$(\"input[type=submit]\").bind(\"click\", function () {\r\n TryResetMenuTimer('input submit');\r\n wasVaildNavigationCall = true;\r\n});\r\n\r\n// catch key event for:\r\n// a)- backspace; in IE this triggers a back navigation, which is not handled in unload event\r\n// suppress on all controls, which do not allow text modification\r\n// this code is only needed for IE, but there is no need to make it browser specific\r\n\r\n// b) activate enter key to trigger primary button click on pages and modal dlgs..\r\n$(document).on('keydown', function (e) {\r\n var $target = $(e.target || e.srcElement);\r\n if (e.keyCode == 8) {\r\n if (!$target.is('textarea,input[type=\"text\"],input[type=\"password\"],input.k-textbox, .k-textbox > input' )) {\r\n e.preventDefault();\r\n }\r\n else if ($target.attr(\"readonly\") !== undefined || $target.attr(\"disabled\") !== undefined) {\r\n e.preventDefault();\r\n }\r\n }\r\n\t\r\n\t// handle \"enter\" \r\n if (e.keyCode == 13) { \r\n \t// check if popup is on dlg and has prime button -> use this\r\n var $popUpBtn = $('.popupMessage').siblings('.dialogFooter').find('.btn-primary'); \r\n if ($popUpBtn != null && $popUpBtn.length == 1 && !$popUpBtn.is(':disabled')) {\r\n \t\tTriggerPrimeButtonClick($popUpBtn, $target);\r\n \t\treturn false;\r\n \t}else{ \t\t\r\n var $focusedEl = $(\":focus\"); // check if any other than prime button has focus- > \"click\" it\r\n if($focusedEl.length > 0 && !$focusedEl.is(':disabled') && ($focusedEl.hasClass('btn-tertiary') || $focusedEl.hasClass('btn-secondary')) ){\r\n TriggerPrimeButtonClick($focusedEl, $target);\r\n } \r\n else {\r\n var $formBtn = $(\".btn-primary\");\r\n \t\t if ($formBtn.length == 1 && !$formBtn.is(':disabled')) { \t\t\t\r\n \t\t\t TriggerPrimeButtonClick($formBtn, $target);\r\n \t\t\t return false;\r\n \t\t }\r\n }\r\n \t} \r\n\t}\r\n});\r\n\r\n\r\nfunction TriggerPrimeButtonClick($btn, $target){\r\n\tif (!$target.is('textarea')) {\r\n\t\t$btn.click();\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\n\r\nfunction Logout(reasonId) {\r\n if (reasonId == null)\r\n reasonId = 0;\r\n\r\n $(\"[name='sessionlogoutReason']\").val(reasonId);\r\n $('#logoutForm').submit();\r\n}\r\n\r\n// try to reset the menu timer\r\nfunction TryResetMenuTimer(alertText) {\r\n try {\r\n if (ResetMenuTimer && typeof (ResetMenuTimer) == \"function\") {\r\n ResetMenuTimer(alertText);\r\n }\r\n }\r\n catch (err) { // ignore error\r\n }\r\n}\r\n\r\n//----------------------------------------------------------------------\r\n// Redirect Functions\r\n//----------------------------------------------------------------------\r\n// Resets the 'isFormModified' flag which was involuntarily set due to the javascript call\r\nfunction ResetButtonFrame() {\r\n sessionStorage.isFormModified = false;\r\n}\r\n\r\nvar isClicked = false;\r\nfunction RedirectToContentFrameFromReportingGridLink(gridName, controllerName, uniqueGridId, id, url) {\r\n RedirectToContentFrame(id, url);\r\n}\r\n\r\nfunction RedirectToContentFrame(id, url) {\r\n if (isClicked == null || isClicked)\r\n return;\r\n\r\n var obj = $(\"#\" + id);\r\n if (obj == null || obj.disabled)\r\n return;\r\n\r\n NavigateAway(url);\r\n}\r\nfunction RedirectToContentFrameCallback(obj) {\r\n isClicked = true;\r\n obj.onclick = disabledLinkClick;\r\n obj.disabled = true;\r\n obj.style.cursor = \"default\";\r\n}\r\nfunction disabledLinkClick() {\r\n return false;\r\n}\r\n\r\nfunction NavigateAway(url, menuId, clearSelectedSiteAndPatient) {\r\n if (clearSelectedSiteAndPatient == null || clearSelectedSiteAndPatient == undefined || typeof (clearSelectedSiteAndPatient) != \"boolean\")\r\n clearSelectedSiteAndPatient = false;\r\n if (menuId != null && menuId != undefined) {\r\n if (sessionStorage.SelectedMenuItemId !== \"null\" && sessionStorage.SelectedMenuItemId != undefined && sessionStorage.SelectedMenuItemId != menuId) {\r\n //remove previous selection\r\n $(\"#\" + sessionStorage.SelectedMenuItemId).removeClass(\"active\");\r\n }\r\n sessionStorage.SelectedMenuItemId = menuId;\r\n $(\"#\" + sessionStorage.SelectedMenuItemId).addClass(\"active\");\r\n }\r\n else {\r\n sessionStorage.SelectedMenuItemId = null;\r\n }\r\n if (clearSelectedSiteAndPatient && typeof (GlobalHeaderLeft_ClearSelectedSite) == \"function\") {\r\n GlobalHeaderLeft_ClearSelectedSite(url);\r\n }\r\n else {\r\n NavigateAway_Callback(url);\r\n }\r\n}\r\n\r\nfunction NavigateAway_Callback(url) {\r\n url = decodeHtml(url);\r\n if (!ComparissonEvaluationIfEquals(sessionStorage.IsFormDirty, undefined) && !ComparissonEvaluationIfEquals(sessionStorage.IsFormDirty, \"null\") && JSON.parse(sessionStorage.IsFormDirty)) {\r\n var ajaxUrl = baseUrl.replace(\"zzzCONTzzz\", \"Form\").replace(\"zzzACTzzz\", \"NavigateAway\");\r\n\r\n $.ajax({\r\n data: { url: url },\r\n url: ajaxUrl,\r\n method: \"GET\",\r\n success: function (html) {\r\n ShowModal(html)\r\n },\r\n error: function (result) {\r\n showAlert(\"Ajax error navigating away\", \"Error\");\r\n }\r\n });\r\n }\r\n else {\r\n sessionStorage.IsFormDirty = false;\r\n if (url.indexOf('replaceDivBody') == 0)\r\n replaceDivBody(url.substring(14))\r\n else {\r\n if (url.indexOf('/ICrf/') > 0)\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", true);\r\n Global_RenderedFormTypeId = 0;//reset\r\n window.location = url;\r\n }\r\n }\r\n}\r\n\r\n//ajaxUrlTemplate is optional and needed only when \"NavigateAway\" cannot be found in current controller (must use placeholders \"___ACT___\" for Action and \"___CONT___\" for controller)\r\n//ajaxUrlController is optional and needed only when \"NavigateAway\" cannot be found in current controller\r\n//callBackFunction is function name that will be called and it is always required\r\n//after callBackFunction you can add as many as needed optional parameters for callBackFunction\r\n//!!! Never pass complex objects or arrays as parameters for callBackFunction !!!\r\nfunction NavigateAwayWithCallBack(ajaxUrlTemplate, ajaxUrlController, callBackFunction) {\r\n var callBack = callBackFunction + \"(\";\r\n for (var i = 3; i < arguments.length; i++) {\r\n if (typeof(arguments[i]) == \"string\")\r\n callBack += \"'\" + arguments[i] + \"',\";//only strings should be enclosed with quotes - for null, undefined and boolean, quotes would change the variable type\r\n else\r\n callBack += arguments[i] + \",\";\r\n }\r\n if (callBack.substring(callBack.length - 1, callBack.length) == \",\")\r\n callBack = callBack.substring(0, callBack.length - 1);//remove ','\r\n callBack += \")\";\r\n return NavigateAwayWithCallBackAndCancelCallBack(callBack, null, ajaxUrlTemplate, ajaxUrlController);\r\n}\r\n\r\n//this function accepts callbacks as strings\r\n//ex: 'NavigateAwayOk()', 'NavigateAwayCancel()'\r\nfunction NavigateAwayWithCallBackAndCancelCallBack(callBack, cancelCallBack, ajaxUrlTemplate, ajaxUrlController) { \r\n\r\n if (ComparissonEvaluationIfEquals(sessionStorage.IsFormDirty, undefined) || ComparissonEvaluationIfEquals(sessionStorage.IsFormDirty, \"null\") || !JSON.parse(sessionStorage.IsFormDirty)) {\r\n \r\n if (window.OutsideCRFCleanup !== undefined && typeof (window.OutsideCRFCleanup) !== undefined) // if this is called when other than icrf link is clicked(i.e. any other menu item Messages/Run) then make sure we don't call this here.\r\n window.OutsideCRFCleanup();\r\n return false;\r\n }\r\n var urlLocal = \"NavigateAway\";\r\n if (ajaxUrlTemplate != undefined && ajaxUrlController != undefined && ajaxUrlTemplate != null && ajaxUrlController != null)\r\n urlLocal = ajaxUrlTemplate.replace(\"___ACT___\", \"NavigateAway\").replace(\"___CONT___\", ajaxUrlController); \r\n\r\n $.ajax({\r\n data: { url: '', callBack: callBack, cancelCallBack: cancelCallBack },\r\n url: urlLocal,\r\n method: \"GET\",\r\n success: function (html) {\r\n ShowModal(html)\r\n },\r\n error: function (result) {\r\n showAlert(\"Ajax error navigating away\", \"Error\");\r\n }\r\n });\r\n\r\n return true;\r\n}\r\n\r\nfunction decodeHtml(text) {\r\n return $('
').html(text).text();\r\n}\r\n\r\n//In cases where variable type can be either string, bool, or null or undefined. JSON.parse will fail if object it is parsing is \"undefined\" because undefined is not a valid JSON token.\r\nfunction ComparissonEvaluationIfEquals(val, compareTo) {\r\n return (String(val) === String(compareTo));\r\n}\r\n\r\n\r\n//----------------------------------------------------------------------\r\n// Functions responding to Grid.cshtml\r\n//----------------------------------------------------------------------\r\n\r\nfunction BaseListView_EnableDisableFooterButtons(gridName, unqRepGridId, controllerName) {\r\n var hasDeleted = false;\r\n var hasActive = false;\r\n var hiddenSysForm = false;\r\n\r\n if (controllerName == \"VisitListView\") {\r\n ReportGridAjax_InitiateGetTwoColumnValuesForCheckedActiveCheckboxRows(gridName, controllerName, unqRepGridId, \"TrlObjectStateBitMask__x37x_HIDDEN_x37x_\", \"HiddenSysForm__x37x_HIDDEN_x37x_\", function (gridName, response) {\r\n $.each(response.response, function (index, value) {\r\n if ((parseInt(value) & 1073741824) > 0)\r\n hasDeleted = true;\r\n else\r\n hasActive = true;\r\n });\r\n\r\n $.each(response.response2, function (index, value) {\r\n if (value.toLowerCase() == \"true\") {\r\n hiddenSysForm = true;\r\n return false;\r\n }\r\n });\r\n\r\n if (hasDeleted & hasActive)\r\n hasDeleted = hasActive = false;\r\n EnableButtons(hasDeleted, hasActive, hiddenSysForm, response);\r\n });\r\n\r\n }\r\n else {\r\n ReportGridAjax_InitiateGetColumnValuesForCheckedActiveCheckboxRows(gridName, controllerName, unqRepGridId, \"TrlObjectStateBitMask__x37x_HIDDEN_x37x_\", function (gridName, response) {\r\n $.each(response, function (index, value) {\r\n if ((parseInt(value) & 1073741824) > 0)\r\n hasDeleted = true;\r\n else\r\n hasActive = true;\r\n });\r\n\r\n if (hasDeleted & hasActive)\r\n hasDeleted = hasActive = false;\r\n EnableButtons(hasDeleted, hasActive, hiddenSysForm, response);\r\n });\r\n }\r\n}\r\n\r\nfunction EnableButtons(hasDeleted, hasActive, hiddenSysForm, response) {\r\n ReportingGrid_EnableButton('btnDelete', hasActive && !hiddenSysForm);\r\n ReportingGrid_EnableButton('btnUnDelete', hasDeleted && !hiddenSysForm);\r\n ReportingGrid_EnableButton('btnClear', hasActive);\r\n ReportingGrid_EnableButton('btnLock', hasActive);\r\n ReportingGrid_EnableButton('btnUnlock', hasActive);\r\n ReportingGrid_EnableButton('btnMonitor', hasActive);\r\n ReportingGrid_EnableButton('btnUnmonitor', hasActive);\r\n ReportingGrid_EnableButton('btnReview', hasActive);\r\n ReportingGrid_EnableButton('btnUnreview', hasActive);\r\n ReportingGrid_EnableButton('btnSign', hasActive);\r\n ReportingGrid_EnableButton('btnCasebook', hasActive);\r\n ReportingGrid_EnableButton('btnMovePatients', hasActive);\r\n ReportingGrid_EnableButton('btnViewSelected', hasActive);\r\n ReportingGrid_EnableButton('btnPdfReports', hasActive);\r\n ReportingGrid_EnableButton('btnDatagrid', hasActive);\r\n if ($(\"#btnCreateOrEditPatientUser\").length > 0)\r\n ReportingGrid_EnableButton('btnCreateOrEditPatientUser', (response.length == 1));\r\n}\r\n\r\nfunction AddObject(gridName, cntrlName, unqRepGridId, postUrl, ajaxErrorMessage) {\r\n if (typeof panelSelection_CurrentExpandedInfo_Visits != 'undefined' && panelSelection_CurrentExpandedInfo_Visits != null)\r\n postUrl = postUrl.replace('000visit000', panelSelection_CurrentExpandedInfo_Visits.visitId);\r\n\r\n var request = $.ajax({\r\n url: postUrl,\r\n method: \"POST\",\r\n success: function (response) {\r\n if (AjaxResult_CommonResultHandled(response))\r\n return;\r\n if (response && response.result == 'Error')\r\n showError(response.message, \"gridsysmsg\");\r\n else if (response && response.url != null)\r\n window.location = response.url;\r\n else\r\n ShowModal(response, true);\r\n },\r\n error: function (response) {\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, response);\r\n }\r\n });\r\n}\r\n\r\nfunction AddObjectFromNavigation(ctrlName, postUrl, ajaxErrorMessage) {\r\n if (NavigateAwayWithCallBack(null, null, 'AddObjectFromNavigation', ctrlName, postUrl))\r\n return;\r\n\r\n AddObject(null, ctrlName, null, postUrl, ajaxErrorMessage);\r\n}\r\n\r\nfunction ViewSelected_ExecuteViewSelected(gridName, controllerName, uniqueGridId, buttonId, actionName) {\r\n var arrCheckedIds = ReportingGrid_GetCheckedIdsArray(gridName);\r\n if (!Array.isArray(arrCheckedIds) || arrCheckedIds.length < 1)\r\n return;\r\n\r\n //if not, get the data from server\r\n //Kendo_ShowOrHideLoadingImage(\"div...\", true);\r\n\r\n var currentPathControllerAction = undefined;\r\n if ($(':hidden#RepGridUrlBuilder').length > 0)\r\n currentPathControllerAction = $(':hidden#RepGridUrlBuilder').val();\r\n if (currentPathControllerAction == undefined || currentPathControllerAction == \"\") {\r\n ReportGridAjax_ErrorHandler(\"View Selected failed / Path to Ajax URL is undefined /\");\r\n return;\r\n }\r\n\r\n var ajaxUrl = currentPathControllerAction.replace(\"zzzACTzzz\", actionName).replace(\"zzzCONTzzz\", controllerName);\r\n\r\n var request = $.ajax({\r\n url: ajaxUrl,\r\n method: \"POST\",\r\n data: {\r\n uniqueReportingGridId: uniqueGridId,\r\n doFilter: true,\r\n checkedActiveCheckboxIds: arrCheckedIds\r\n },\r\n success: function (res) {\r\n if (AjaxResult_CommonResultHandled(res))\r\n return;\r\n if (res.result == \"OK\") {\r\n window.location.href = currentPathControllerAction.replace(\"zzzCONTzzz\", \"PatientListView\").replace(\"zzzACTzzz\", \"SelectPatient\") + \"?ngrd=3\";\r\n }\r\n //alert(res);\r\n //Kendo_ShowOrHideLoadingImage(\"div...\", false);\r\n },\r\n error: function (result) {\r\n //Kendo_ShowOrHideLoadingImage(\"div...\", false);\r\n ReportGridAjax_ErrorHandler(\"View Selected failed\", result);\r\n }\r\n });\r\n}\r\n\r\nfunction updateAll(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption, tot, isDynMon) {\r\n if (isDynMon == '') {\r\n updateAllInternal(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption, tot);\r\n }\r\n else\r\n {\r\n DynMon_InitiateCheckDynMonNeededForCheckedActiveCheckboxRows(gridName, cntrlName, unqRepGridId, isDynMon,\r\n function (gridName, response) {\r\n if (typeof (response) === \"boolean\" && response) {\r\n postUrl = postUrl.toLowerCase().replace('monitor', 'MonitorAllSelection');\r\n openMonitorAllSelectionDlg(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption);\r\n }\r\n else {\r\n updateAllInternal(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption, tot);\r\n }\r\n }\r\n );\r\n }\r\n}\r\n\r\nfunction DynMon_InitiateCheckDynMonNeededForCheckedActiveCheckboxRows(gridName, controllerName, uniqueGridId, columnName, callbackFunction) {\r\n var arrCheckedIds = ReportingGrid_GetCheckedIdsArray(gridName);\r\n var postData = { uniqueReportingGridId: uniqueGridId, dataColumnName: columnName, doFilter: true, checkedActiveCheckboxIds: arrCheckedIds };\r\n ReportingGrid_Ajax(gridName, postData, controllerName, \"GetIsAnyCheckedItemForDynamicMonitoring\", \"Retrieving or calculating column values for checked active checkbox id's failed\", callbackFunction, gridName);\r\n}\r\n\r\n\r\n\r\nfunction updateAllInternal(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption, tot) {\r\n showConfirmation(confirmMessage, function () {\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", true);\r\n var postData = { sca: secAreaId, tp: trlObjectType, ids: ReportingGrid_GetCheckedIdsArray(gridName, true) };\r\n $.ajax({\r\n url: postUrl,\r\n method: \"POST\",\r\n data: postData,\r\n success: function (result) {\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", false);\r\n ShowModal(result, true);\r\n var isPanelVisible = ($(\"#divPanelSelection\").length > 0 && $(\"#divPanelSelection\").is(\":visible\"));\r\n if (isPanelVisible) {\r\n GlobalHeaderLeft_RefreshPatient(trlObjectPatientId, trlObjectPatientSystemFormId, tot, patientCaption);\r\n }\r\n else {\r\n ReportingGrid_ResetCacheAndReloadGrid(gridName, cntrlName, unqRepGridId);\r\n }\r\n ReportingGrid_AcitveCheckboxReset(gridName, unqRepGridId, cntrlName);\r\n },\r\n error: function (result) {\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", false);\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n });\r\n }, confirmationTitle);\r\n}\r\n\r\nfunction openMonitorAllSelectionDlg(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption) {\r\n showConfirmation(confirmMessage, function () {\r\n var postData = { gn: gridName, uid: unqRepGridId, cn: cntrlName, sca: secAreaId, tp: trlObjectType, pid: trlObjectPatientId, psid: trlObjectPatientSystemFormId, pc: patientCaption };\r\n var request = $.ajax({\r\n url: postUrl,\r\n data: postData,\r\n method: \"GET\",\r\n success: function (result) {\r\n ShowModal(result, true);\r\n },\r\n error: function (result) {\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n });\r\n }, confirmationTitle);\r\n}\r\n\r\nfunction GetNavPredefCondValsAndSetStorage(trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption) {\r\n var predf = \"\";\r\n var allVisitsGridDisplayed = ($(\"#divBodyRender\").length > 0 && $(\"#divBodyRender\").find(\"#divGlobalNavigation_AllVisitsGrid\").length > 0);\r\n var allFormsGridDisplayed = ($(\"#divBodyRender\").length > 0 && $(\"#divBodyRender\").find(\"#divGlobalNavigation_AllFormsGrid\").length > 0);\r\n localStorage.setItem(\"PanelSelection_isPanelExpanded\", undefined);\r\n localStorage.setItem(\"PanelSelection_allVisitsGridDisplayed\", allVisitsGridDisplayed);\r\n localStorage.setItem(\"PanelSelection_allFormsGridDisplayed\", allFormsGridDisplayed);\r\n localStorage.setItem(\"PanelSelection_trlObjectPatientId\", trlObjectPatientId);\r\n localStorage.setItem(\"PanelSelection_trlObjectPatientSystemFormId\", trlObjectPatientSystemFormId);\r\n localStorage.setItem(\"PanelSelection_patientCaption\", patientCaption);\r\n var isPanelVisible = ($(\"#divPanelSelection\").length > 0 && $(\"#divPanelSelection\").is(\":visible\"));\r\n if (isPanelVisible &&\r\n (typeof (panelSelection_CurrentExpandedInfo_Visits) != \"undefined\" && typeof (panelSelection_CurrentExpandedInfo_Forms) != \"undefined\")) {\r\n if (typeof (PanelSelection_IsPanelExpanded) == \"function\") {\r\n var isPanelExpanded = PanelSelection_IsPanelExpanded();\r\n localStorage.setItem(\"PanelSelection_isPanelExpanded\", isPanelExpanded);\r\n }\r\n var isFormsTabActive = ($(\"#FormsTabId\").hasClass(\"active-tab\"));\r\n var isVisitsTabContentVisitsVisible = !isFormsTabActive && (panelSelection_CurrentExpandedInfo_Visits == null);\r\n var isFormsTabContentProFormsVisible = isFormsTabActive && (panelSelection_CurrentExpandedInfo_Forms == null);\r\n var isVisitsTabContentFormsVisible = !isFormsTabActive && (panelSelection_CurrentExpandedInfo_Visits != null);\r\n var isFormsTabContentProFormsFormsVisitVisible = isFormsTabActive && (panelSelection_CurrentExpandedInfo_Forms != null);\r\n var expandedVisitId = 0;\r\n var expandedProFormId = 0;\r\n if (panelSelection_CurrentExpandedInfo_Visits != null || panelSelection_CurrentExpandedInfo_Forms != null) {\r\n if (panelSelection_CurrentExpandedInfo_Visits != null)\r\n expandedVisitId = panelSelection_CurrentExpandedInfo_Visits.visitId;\r\n if (panelSelection_CurrentExpandedInfo_Forms != null)\r\n expandedProFormId = panelSelection_CurrentExpandedInfo_Forms.proFormId;\r\n }\r\n predf = (isFormsTabActive ? '1' : '0') +\r\n (isVisitsTabContentVisitsVisible ? '1' : '0') +\r\n (isFormsTabContentProFormsVisible ? '1' : '0') +\r\n (isVisitsTabContentFormsVisible ? '1' : '0') +\r\n (isFormsTabContentProFormsFormsVisitVisible ? '1' : '0') +\r\n '_' + expandedVisitId + '_' + expandedProFormId;\r\n }\r\n return predf;\r\n}\r\n\r\nfunction signAll(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption) {\r\n var ids = ReportingGrid_GetCheckedIdsArray(gridName, true).join(\",\");\r\n var index = popupWindosIds.indexOf(\"popupWindow\");\r\n if (index !== -1)\r\n popupWindosIds.splice(index, 1);\r\n var predf = GetNavPredefCondValsAndSetStorage(trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption); \r\n showConfirmation(confirmMessage, function () {\r\n var postData = { gn: gridName, uid: unqRepGridId, cn: cntrlName, sca: secAreaId, tp: trlObjectType, pid: trlObjectPatientId, psid: trlObjectPatientSystemFormId, pc: patientCaption, ids: ids, predf: predf };\r\n $.ajax({\r\n url: postUrl,\r\n method: \"GET\",\r\n data: postData,\r\n success: function (result) {\r\n ShowModal(result);\r\n },\r\n error: function (result) {\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n });\r\n }, confirmationTitle);\r\n}\r\n\r\nfunction CommitSign(timeoutInterval) {\r\n // Reset the Sign Password timeout\r\n ResetTimeout(timeoutInterval);\r\n}\r\n\r\nfunction openChangeNoteDlg(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, secEventId, trlObjectPatientId, trlObjectPatientSystemFormId, patientCaption) {\r\n showConfirmation(confirmMessage, function () {\r\n var postData = { gn: gridName, uid: unqRepGridId, cn: cntrlName, sca: secAreaId, tp: trlObjectType, sid: secEventId, pid: trlObjectPatientId, psid: trlObjectPatientSystemFormId, pc: patientCaption };\r\n var request = $.ajax({\r\n url: postUrl,\r\n data: postData,\r\n method: \"GET\",\r\n success: function (result) {\r\n ShowModal(result);\r\n },\r\n error: function (result) {\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n });\r\n }, confirmationTitle);\r\n}\r\n\r\n//if you are adding parameters to this function, make sure to find where it is called, and provide params there also!\r\nfunction openChangeNoteDlgFromNavigation(ctrlName, confirmMessage, confirmationTitle, postUrl, ajaxErrorMessage) {\r\n if (NavigateAwayWithCallBack(null, null, 'openChangeNoteDlgFromNavigation', ctrlName, confirmMessage, confirmationTitle, postUrl, ajaxErrorMessage))\r\n return;\r\n showConfirmation(confirmMessage, function () {\r\n var request = $.ajax({\r\n url: postUrl,\r\n method: \"GET\",\r\n success: function (result) { \r\n if (AjaxResult_CommonResultHandled(result))\r\n return;\r\n ShowModal(result);\r\n },\r\n error: function (result) {\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n });\r\n }, confirmationTitle);\r\n}\r\n\r\nfunction redirectToCasebook(gridName, cntrlName, unqRepGridId, url, siteCaption, patientsFromDifferentSitesError) {\r\n ReportGridAjax_InitiateGetColumnValuesForCheckedActiveCheckboxRows(gridName, cntrlName, unqRepGridId, siteCaption, function (gridName, response) {\r\n if (!IsSameSite(response)) {\r\n ReportingGrid_AcitveCheckboxReset(gridName, unqRepGridId, cntrlName);\r\n showError(patientsFromDifferentSitesError, \"gridsysmsg\");\r\n }\r\n else\r\n window.location = url + '&tosid=' + response[0] + '&gid=' + unqRepGridId;\r\n });\r\n}\r\n\r\nfunction redirectToPdfReports(gridName, cntrlName, unqRepGridId, redirect, url, toid, topid, selectOneOnly) {\r\n if (redirect) {\r\n window.location = url + '&partialView=false&gid=' + unqRepGridId + '&p=' + topid;\r\n }\r\n else {\r\n var postUrl = url + '&partialView=true&gid=' + unqRepGridId + '&p=' + topid;\r\n replaceDivBody(postUrl);\r\n }\r\n}\r\n\r\nfunction openDatagrid(gridName, cntrlName, unqRepGridId, redirect, url, ajaxErrorMessage) {\r\n if (redirect){\r\n window.location = url + '&partialView=false&gid=' + unqRepGridId;\r\n }\r\n else{\r\n var postUrl = url + '&partialView=true&gid=' + unqRepGridId; \r\n replaceDivBody(postUrl);\r\n }\r\n}\r\n\r\nfunction PanelSelection_ResetRenderedForm() {\r\n if (typeof panelSelection_CurrentExpandedInfo_RenderedForm != \"undefined\")\r\n panelSelection_CurrentExpandedInfo_RenderedForm = null;\r\n if (typeof panelSelection_RestoreNextPatient != \"undefined\" && panelSelection_RestoreNextPatient != null) {\r\n if (typeof panelSelection_RestoreNextPatient.RenderedProFormId != \"undefined\") \r\n panelSelection_RestoreNextPatient.RenderedProFormId = 0;\r\n }\r\n if (typeof Global_RenderedFormTypeId != \"undefined\" && typeof (Setup_SysFormsGlobalHeaderLinks) == \"function\") {\r\n Global_RenderedFormTypeId = 0;\r\n Setup_SysFormsGlobalHeaderLinks();\r\n }\r\n}\r\n\r\nfunction replaceDivBody(url){\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", true);\r\n $.ajax({\r\n url: url,\r\n method: \"GET\",\r\n success: function (result) { \r\n PanelSelection_ResetRenderedForm();//we don't know what will be rendered in divBodyRender - if form, we'll set the ID on callback\r\n if ($(result).find(\"#divBodyRender\").length > 0)\r\n result = $(result).find(\"#divBodyRender\");\r\n $(\"#divBodyRender\").html(result);\r\n if (typeof (PanelSelection_ShowOrHideActionButtons) == \"function\")\r\n PanelSelection_ShowOrHideActionButtons();\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", false);\r\n },\r\n error: function (result) {\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", false);\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n });\r\n}\r\n\r\nfunction CreateOrEditPatientUser(gridName, cntrlName, unqRepGridId, postUrl, patientUserIdColumn, patientCaptionColumn, userNameColumn, trlObjectPatientIdColumn, createUserTitle, editUserTitle, failMessage) {\r\n //alert(\"gridName: \" + gridName + \"; cntrlName: \" + cntrlName + \"; unqRepGridId: \" + unqRepGridId + \"; postUrl: \" + postUrl + \"; patientUserIdColumn: \" + patientUserIdColumn)\r\n\r\n var ajaxUrl = postUrl.replace(\"___ACT___\", \"AddOrEditPatientUser\").replace(\"___CONT___\", \"User\");\r\n\r\n ReportGridAjax_InitiateGetColumnValuesForCheckedActiveCheckboxRows(gridName, cntrlName, unqRepGridId, patientUserIdColumn, function (gridName, response) {\r\n var patientUserId = 0;\r\n if (response.length > 0 && !isNaN(response[0]))\r\n patientUserId = parseInt(response[0]);\r\n\r\n if (patientUserId == 0) {\r\n ReportGridAjax_InitiateGetColumnValuesForCheckedActiveCheckboxRows(gridName, cntrlName, unqRepGridId, patientCaptionColumn, function (gridName, response) {\r\n var patientCaption = \"\";\r\n if (response && response.length > 0)\r\n patientCaption = response[0];\r\n\r\n\r\n ReportGridAjax_InitiateGetColumnValuesForCheckedActiveCheckboxRows(gridName, cntrlName, unqRepGridId, trlObjectPatientIdColumn, function (gridName, response) {\r\n var patientId = 0;\r\n if (response && response.length > 0 && !isNaN(response[0]))\r\n patientId = parseInt(response[0]);\r\n //divMain is used here only to show processing image\r\n CreateOrEditPatientUser_AjaxGet(patientUserId, ajaxUrl, CreateOrEditPatientUser_AjaxGet_Callback, failMessage, \"divMain\", createUserTitle, editUserTitle, gridName, unqRepGridId, patientCaption, patientId, cntrlName);\r\n });\r\n });\r\n }\r\n else {\r\n ReportGridAjax_InitiateGetColumnValuesForCheckedActiveCheckboxRows(gridName, cntrlName, unqRepGridId, userNameColumn, function (gridName, response) {\r\n var userName = \"\";\r\n if (response && response.length > 0)\r\n userName = response[0];\r\n //divMain is used here only to show processing image\r\n CreateOrEditPatientUser_AjaxGet(patientUserId, ajaxUrl, CreateOrEditPatientUser_AjaxGet_Callback, failMessage, \"divMain\", createUserTitle, editUserTitle, gridName, unqRepGridId, userName, 0, cntrlName);\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction CreateOrEditPatientUser_AjaxGet(patientUserId, ajaxUrl, callbackSuccess, failMessage, divLoading, createUserTitle, editUserTitle, gridName, unqRepGridId, patientUserNameOrCaption, trlObjectPatientId, gridCntrlName) {\r\n //trlObjectPatientId is needed only when creating a new user\r\n Kendo_ShowOrHideLoadingImage(divLoading, true);\r\n var obData = { patientUserId: patientUserId, patientUserNameOrCaption: patientUserNameOrCaption, gridName: gridName, gridId: unqRepGridId, gridController: gridCntrlName, trlObjectPatientId: trlObjectPatientId };\r\n\r\n var request = $.ajax({\r\n url: ajaxUrl,\r\n method: \"GET\",\r\n data: obData,\r\n success: function (data) {\r\n Kendo_ShowOrHideLoadingImage(divLoading, false);\r\n if (callbackSuccess)\r\n callbackSuccess(data, (patientUserId == 0) ? createUserTitle : editUserTitle, gridName, unqRepGridId);\r\n },\r\n error: function (result) {\r\n Kendo_ShowOrHideLoadingImage(divLoading, false);\r\n if (failMessage != undefined && failMessage != \"\")\r\n ReportGridAjax_ErrorHandler(failMessage, result);\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction CreateOrEditPatientUser_AjaxGet_Callback(htmlData, dialogTitle, gridName, unqRepGridId) {\r\n var uniquePopUpWindow = $(\"\")\r\n .appendTo(\"body\")\r\n .kendoWindow({\r\n modal: true,\r\n resizable: true,\r\n title: dialogTitle,\r\n minWidth: \"300px\",\r\n minHeight: \"300px\",\r\n visible: false,\r\n close: function (e) {\r\n this.destroy();\r\n },\r\n refresh: function () {\r\n $(\".close-button\").click(function () {\r\n AddOrEditPatientUser_Close();\r\n //this.close();\r\n });\r\n\r\n if (centerWindow)\r\n this.center();\r\n }\r\n }).data('kendoWindow').content(htmlData);\r\n\r\n uniquePopUpWindow.center().open();\r\n $(\"#userAddOrEdit\").parent().addClass(\"popupWindowParent\").find('.k-i-close').first().addClass('fa fa-times-circle tmfatimescircle').text(\"\");\r\n}\r\n\r\n\r\nfunction movePatients(gridName, cntrlName, unqRepGridId, confirmMessage, confirmationTitle, ajaxErrorMessage, postUrl, secAreaId, trlObjectType, siteCaption, patientsFromDifferentSitesError) {\r\n ReportGridAjax_InitiateGetColumnValuesForCheckedActiveCheckboxRows(gridName, cntrlName, unqRepGridId, siteCaption, function (gridName, response) {\r\n if (!IsSameSite(response)) {\r\n ReportingGrid_AcitveCheckboxReset(gridName, unqRepGridId, cntrlName);\r\n showError(patientsFromDifferentSitesError, \"gridsysmsg\");\r\n }\r\n else {\r\n showConfirmation(confirmMessage, function () {\r\n var postData = { gn: gridName, uid: unqRepGridId, cn: cntrlName, sca: secAreaId, tp: trlObjectType, tsid: response[0] };\r\n $.ajax({\r\n url: postUrl,\r\n method: \"POST\",\r\n data: postData,\r\n success: function (result) {\r\n ShowModal(result);\r\n },\r\n error: function (result) {\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n });\r\n }, confirmationTitle);\r\n }\r\n });\r\n}\r\n\r\nfunction IsSameSite(sitesArray) {\r\n var sameSite = true;\r\n var site = sitesArray[0];\r\n $.each(sitesArray, function (index, value) {\r\n if (value != site) {\r\n sameSite = false;\r\n return;\r\n }\r\n });\r\n return sameSite;\r\n}\r\n\r\nfunction AssignPatientFormDirection(direction) {\r\n var hiddenField = $(\"#patFormDirection\");\r\n if (hiddenField != null)\r\n hiddenField.value = direction;\r\n}\r\n\r\nfunction ClearPatientEntrySubMenu() {\r\n var obj = $(\"#subMenuDiv\")\r\n if (obj != null)\r\n obj.innerHTML = \" \";\r\n}\r\n\r\n//----------------------------------------------------------------------\r\n// Functions accessing MenuFrame objects\r\n//----------------------------------------------------------------------\r\n\r\n//// Retrieve the saved Web location\r\nfunction GetLocation() {\r\n return sessionStorage.urlRef;\r\n}\r\n\r\n// Save the 'url' Web location for future reference\r\nfunction SaveLocation(url) {\r\n sessionStorage.urlRef = url;\r\n}\r\n\r\n//function GoToReferrer() {\r\n// var paramValue = GetLocation();\r\n// var loc = $(location).attr('href');\r\n// if (loc.toLowerCase().indexOf(\"mainform.aspx\") != -1 && loc.toLowerCase().indexOf(\"t=6\") != -1)\r\n// NavigateAway(loc); //this will reload home page with default report - used only when form is opened on dashboard using url from report and then \"cancel\" is clicked\r\n// else {\r\n// if (loc == paramValue || paramValue == \"\")\r\n// paramValue = GetPrevLocation()\r\n// window.location = paramValue;\r\n// }\r\n\r\n// if (GetLocation().indexOf(\"ShowDataGrid\") > -1)\r\n// SaveLocation('');\r\n//}\r\n\r\n//// Saves the 'url' web location of previous(navigated from) page.\r\n//function SaveCurrentLocation(url) {\r\n// sessionStorage.urlPrevRef = url;\r\n//}\r\n\r\n//// Get the saved Web location of Previous 'Navigated from ' page\r\n//function GetPrevLocation() {\r\n// return sessionStorage.urlPrevRef;\r\n//}\r\n\r\n////Go to Previous 'Navigated from' page\r\n//function GoToPrevReferrer() {\r\n// var paramValue = GetPrevLocation();\r\n// window.location = paramValue;\r\n//}\r\n\r\n//// Save the 'url' Web location for future reference\r\n//function SaveTMServerLocation(url) {\r\n// sessionStorage.TMServerLocation = url;\r\n//}\r\n\r\n//// Save the 'currentUrl' Web location for future reference\r\n//function GetTMServerLocation() {\r\n// return sessionStorage.TMServerLocation;\r\n//}\r\n\r\n// Save location and append a parameter indicating return\r\nfunction SaveLocationAppendReturnFlag(url) {\r\n if (url.indexOf('ret=1') < 0) {\r\n if (url.indexOf('?') > 0)\r\n url += '&ret=1';\r\n else\r\n url += '?ret=1';\r\n }\r\n SaveLocation(url);\r\n}\r\n\r\n// Checks if the system is logged out\r\nfunction IsLogout() {\r\n return sessionStorage.isSystemLoggedOut;\r\n}\r\n\r\n//----------------------------------------------------------------------\r\n// date and Help Functions\r\n//----------------------------------------------------------------------\r\nfunction GetCurrentTimeToTimer(dt) {\r\n try {\r\n // Get date\r\n var fDate = GetFormattedDate(dt, \"YMD\");\r\n\r\n // Get time\r\n var hh = dt.getHours();\r\n var mm = dt.getMinutes();\r\n var ss = dt.getSeconds();\r\n var sfx = \"\";\r\n\r\n // TODO: should check whether to format with AM/PM if (isAM != null)\r\n if (!hasMilitaryTimeFormat) {\r\n if (hh > 11) {\r\n hh -= 12;\r\n sfx = \"PM\";\r\n }\r\n else\r\n sfx = \"AM\";\r\n if (hh == 0)\r\n hh = 12;\r\n }\r\n\r\n var res = FormatDD(hh);\r\n res = res + ':' + FormatDD(mm);\r\n res = res + ':' + FormatDD(ss);\r\n fDate = fDate + \" \" + res + \" \" + sfx;\r\n return fDate;\r\n }\r\n catch (ex) {\r\n return dt.toUTCString();\r\n }\r\n}\r\n\r\nfunction SetHelpTopicId(helpIdx) {\r\n helpIdx = helpIdx;\r\n}\r\n\r\nfunction SetHelpRoleId(helpRoleId) {\r\n helpRoleIdx = helpRoleId;\r\n}\r\n\r\n// for textarea we need a similar limit for maxlength as textbox has\r\nfunction LimitTextAreaLen(obj) {\r\n var maxlen = obj.getAttribute(\"maxLength\");\r\n // additional check added for IE10\r\n // \"maxLength\" does not show in the obj collection through getAttribute or casting to jQuery for .attr\r\n // accessing the collection directly until research can determine the proper way to handle IE10\r\n if (maxlen == null)\r\n maxlen = obj.attributes(\"maxLength\").value;\r\n if (maxlen != null && maxlen != \"\") {\r\n var mlength = parseInt(maxlen, 10);\r\n if (obj.value.length > mlength)\r\n obj.value = obj.value.substring(0, mlength)\r\n }\r\n}\r\n\r\n//prepends with leading 0\r\nfunction FormatDD(d) {\r\n if (d == '0' || d == '1' || d == '2' || d == '3' || d == '4' || d == '5' || d == '6' || d == '7' || d == '8' || d == '9')\r\n return '0' + d;\r\n\r\n return d;\r\n}\r\nfunction trim_x(str) { return str.replace(/^\\s+|\\s+$/g, '').replace(/\\s/, 'x'); };\r\n\r\n// Backspace navigation can cause problems on certain pages - but needs to be allowed if it was pressed in a text field or area\r\nfunction AvoidBackspaceNavigation(e) {\r\n\r\n var theEvent = window.event || arguments[0]; // window.event is for IE arguments[0] is for FF\r\n var kc = theEvent.keyCode;\r\n\r\n if (window.event)\r\n e = window.event;\r\n\r\n var theSrcElement = e.srcElement ? e.srcElement : e.target; // e.target is for FF\r\n var t = theSrcElement.type;\r\n\r\n var shouldNotBlock = (kc != 8 && kc != 13) || (t == 'text' && kc != 13) || (t == 'textarea') || (t == 'submit' && kc == 13);\r\n\r\n if (e.preventDefault && !shouldNotBlock) // FF\r\n e.preventDefault();\r\n else\r\n return shouldNotBlock; // IE\r\n}\r\n\r\nfunction GridCreated(sender, args) {\r\n var scrollArea = sender.GridDataDiv;\r\n var dataHeight = sender.get_masterTableView().get_element().clientHeight;\r\n if (dataHeight < 350) {\r\n scrollArea.style.height = dataHeight + \"px\";\r\n }\r\n}\r\n\r\n// rebinds the datagrid which has a query link. The link should open the MsgNotes.aspx\r\n// in editable single query mode wherein the user can add response to the open query. This method\r\n// provides means to refresh the grid with the updated query\r\nfunction UpdateGridWithLastQueryResponse() {\r\n var currentForm = document.getElementsByTagName('form')[0];\r\n var updateTextBox = $(\"#ForceUpdateGrid\");\r\n if (updateTextBox != null)\r\n updateTextBox.val(1);\r\n currentForm.submit();\r\n}\r\n\r\n//----------------------------------------------------------------------\r\n// Redirection of 'Enter' keypress to an event\r\n//----------------------------------------------------------------------\r\n//function TextBoxKeyPress(e, id) {\r\n// var evt = e ? e : window.event;\r\n// var control = document.getElementById(id);\r\n// if (control) {\r\n// if (evt.keyCode == 13) {\r\n// control.click();\r\n// return false;\r\n// }\r\n// }\r\n//}\r\n\r\n// function to convert string \"true\" or \"false\" to boolean\r\nfunction returnBoolean(value) {\r\n if (value === true || value.toString().toLowerCase() == 'true')\r\n return true;\r\n if (value === false || value.toString().toLowerCase() == 'false')\r\n return false;\r\n return false;\r\n}\r\n\r\n// HTML encode & decode support -> easy methods to invert Server-side HttpUtility.HtmlEncode and HttpUtility.HtmlDecode methods\r\nfunction HtmlEncode(value) {\r\n //create a in-memory div, set it's inner text(which jQuery automatically encodes)\r\n //then grab the encoded contents back out. The div never exists on the page.\r\n return $('').text(value).html();\r\n}\r\n\r\nfunction HtmlDecode(value) {\r\n return $('').html(value).text();\r\n}\r\n\r\n// check that text does not contain any undesired HTML tags\r\nfunction ValidateNoHtml(text) {\r\n return !text.match(/<\\/*[a-z][^>]+?>/gi);\r\n}\r\n\r\n// ensure all buttons with attribute equalwidth='true' have same (max) width\r\nfunction EqualButtonsWidth() {\r\n var allWidth = 0;\r\n $(\"[equalwidth='true']\").each(function () {\r\n if ($(this).width() > allWidth)\r\n allWidth = $(this).width();\r\n });\r\n $(\"[equalwidth='true']\").each(function () {\r\n $(this).width(allWidth);\r\n });\r\n}\r\n\r\n//// show animated loader on screen\r\n//function ShowLoading() {\r\n// if ($(\".se-pre-con\").length)\r\n// $(\".se-pre-con\").fadeIn(\"5\");\r\n\r\n// return false;\r\n//}\r\n\r\n//// continue only if jquery is not loaded\r\n//if (window.jQuery) {\r\n// $(window).load(function () {\r\n// // Add animated loader div to the begining of the body element\r\n// if (!$(\".se-pre-con\").length)\r\n// $(document.body).prepend('');\r\n\r\n// // Hide animated loader off screen\r\n// $(\".se-pre-con\").fadeOut(\"5\");\r\n// });\r\n\r\n// // show animated loader when user click on any url with MainFormBig css class\r\n// $(\"body\").on(\"click\", \".MainFormBig\", function () {\r\n// ShowLoading();\r\n// });\r\n\r\n// // show animated loader when user click on any url with MainFormBig css class\r\n// $(\"body\").on(\"click\", \".buttonaa\", function () {\r\n// ShowLoading();\r\n// });\r\n//}\r\n\r\nfunction getPageName(url) {\r\n var index = url.lastIndexOf(\"/\") + 1;\r\n var filename = url.substr(index);\r\n return filename;\r\n}\r\n\r\nfunction ClearSessionStorage() {\r\n sessionStorage.clear();\r\n}\r\n\r\nfunction CloseModal(uniquePopupId) {\r\n if (uniquePopupId != null && uniquePopupId != undefined && uniquePopupId.length === 0)\r\n uniquePopupId = \"popupWindow\";\r\n\r\n if ($(\"#\" + uniquePopupId).length > 0) {\r\n var currenModalWindow = $(\"#\" + uniquePopupId).data(\"kendoWindow\");\r\n currenModalWindow.close();\r\n currenModalWindow.destroy(); // destroy method tries to remove Dom elements inside the modal. In case of ListBox, kendo's modal instance not able to find ListBox reference and hence causing removeData of null error.\r\n }\r\n //Remove the Id from the list of popupWindosIds\r\n popupWindosIds.splice($.inArray(uniquePopupId, popupWindosIds), 1);\r\n}\r\n\r\nfunction CloseModelPopup() {\r\n CloseModal(\"popupWindow\");\r\n}\r\n\r\nvar popUpWindow;\r\n//List of all modal popups ids created\r\nvar popupWindosIds = [];\r\n\r\nfunction showInModal(surl, useDefaultForMinMaxHeight) {\r\n var request = $.ajax({\r\n url: surl,\r\n method: \"GET\",\r\n success: function (html) { \r\n ShowModal(html, true, false, null, useDefaultForMinMaxHeight);\r\n ReapplyValidatorsOnAddingPartialView();\r\n }\r\n });\r\n}\r\n\r\nfunction ShowModal(html, isResizable, hideTitle, nonCenteredWindowProperties, useDefaultForMinMaxHeight, hideActions, onActvateCallback,\r\n useReportDefaultsWhenHeightIsAuto) {\r\n if (isResizable == null || isResizable == undefined || typeof (isResizable) != \"boolean\")\r\n isResizable = false;\r\n if (useDefaultForMinMaxHeight == null || useDefaultForMinMaxHeight == undefined || typeof (useDefaultForMinMaxHeight) != \"boolean\")\r\n useDefaultForMinMaxHeight = false;\r\n if (useReportDefaultsWhenHeightIsAuto == null || useReportDefaultsWhenHeightIsAuto == undefined || typeof (useReportDefaultsWhenHeightIsAuto) != \"boolean\")\r\n useReportDefaultsWhenHeightIsAuto = false;\r\n if (hideTitle == null || hideTitle == undefined || typeof (hideTitle) != \"boolean\")\r\n hideTitle = false;\r\n if (hideActions == null || hideActions == undefined || typeof (hideActions) != \"boolean\")\r\n hideActions = false;\r\n var centerWindow = true;\r\n if (nonCenteredWindowProperties != null && nonCenteredWindowProperties != undefined && typeof (nonCenteredWindowProperties) == \"object\")\r\n centerWindow = false;\r\n\r\n var dialogTitle = hideTitle ? false : $(html).find(\".dialogOptions\").attr(\"title\");\r\n\r\n var width = $(html).find(\".dialogOptions\").attr(\"width\");\r\n if (width == null)\r\n width = GetPopUpWidth();\r\n var height = $(html).find(\".dialogOptions\").attr(\"height\");\r\n if (height == null)\r\n height = \"auto\";\r\n if (!centerWindow && nonCenteredWindowProperties.width != null)\r\n width = nonCenteredWindowProperties.width;\r\n var minwidth = $(html).find(\".dialogOptions\").attr(\"minwidth\");\r\n if (minwidth == null)\r\n minwidth = width;\r\n var minH = height;\r\n var maxH = height;\r\n if (useDefaultForMinMaxHeight) {\r\n minH = 50;//kendo default\r\n maxH = Infinity;//kendo default\r\n }\r\n if (!useDefaultForMinMaxHeight && useReportDefaultsWhenHeightIsAuto && height == \"auto\") {\r\n minH = 160;\r\n maxH = 640;\r\n }\r\n\r\n //Id of the ModalPopup, if the client not provide it, then use the default one = \"popupWindow\"\r\n var uniquePopupId = $(html).find(\".dialogOptions\").attr(\"uniquePopupId\");\r\n if (uniquePopupId == null)\r\n uniquePopupId = \"popupWindow\";//Default ModalPopup Name\r\n \r\n if ($.inArray(uniquePopupId, popupWindosIds) >= 0 ) {\r\n console.log(\"Already exists a ModalPopup element with the id =\" + uniquePopupId);\r\n //Only continue if the uniquePopupId is the default value\r\n if (uniquePopupId != \"popupWindow\")\r\n return;\r\n }\r\n else {\r\n //Adding the Id to the list if it not exists\r\n popupWindosIds.push(uniquePopupId);\r\n }\r\n\r\n var uniquePopUpWindow = $(\"\")\r\n .appendTo(\"body\")\r\n .kendoWindow({\r\n width: width,\r\n minWidth: minwidth,\r\n modal: true,\r\n height: height,\r\n minHeight: minH,\r\n maxHeight: maxH,\r\n resizable: isResizable,\r\n title: dialogTitle,\r\n visible: false,\r\n close: function (e) {\r\n //TryResetMenuTimer('ShowModal close');\r\n DestroyKendoWidgets();//Manually destroying Kendo widget here.\r\n //Remove the Id from the list of popupWindosIds\r\n popupWindosIds.splice($.inArray(uniquePopupId, popupWindosIds), 1);\r\n this.destroy();// destroy method tries to remove Dom elements inside the modal. In case of ListBox, kendo's modal instance not able to find ListBox reference and hence causing removeData of null error.\r\n\r\n },\r\n refresh: function () {\r\n //To ensure that keeps height and close event work afted a refresh\r\n var windowHeight = $(window).height() * 0.9;\r\n if ($('.popupMessage').height() > windowHeight) {\r\n $('.popupMessage').height(windowHeight - ($('.dialogFooter').height() + $('.dialogOptions').height()));\r\n }\r\n\r\n $(\".close-button\").click(function () {\r\n CloseModal(uniquePopupId);\r\n });\r\n\r\n if (centerWindow)\r\n this.center();\r\n }\r\n }).data('kendoWindow').content(html);\r\n\r\n if (centerWindow)\r\n uniquePopUpWindow.center().open();\r\n else {\r\n uniquePopUpWindow.bind(\"open\", function (e) {\r\n this.wrapper.css({ top: nonCenteredWindowProperties.top, left: nonCenteredWindowProperties.left });\r\n });\r\n uniquePopUpWindow.open();\r\n }\r\n\r\n if (!hideTitle && !hideActions)\r\n $(\"#\" + uniquePopupId).parent().addClass(\"popupWindowParent\").find('.k-i-close').first().addClass('fa fa-times-circle tmfatimescircle').text(\"\");\r\n else if (!hideTitle && hideActions)\r\n $(\"#\" + uniquePopupId).parent().addClass(\"popupWindowParent\").find('.k-window-actions').first().hide();\r\n \r\n\r\n if (isResizable) {\r\n uniquePopUpWindow.bind(\"resize\", function (e) {\r\n Popup_Resize(e, uniquePopUpWindow, false, centerWindow);\r\n });\r\n uniquePopUpWindow.bind(\"activate\", function (e) {\r\n Popup_Activate(e, uniquePopUpWindow, centerWindow, onActvateCallback);\r\n });\r\n }\r\n\r\n $(\".close-button\").click(function () {\r\n //TryResetMenuTimer('ShowModal closebutton');\r\n CloseModal(uniquePopupId);\r\n });\r\n var windowHeight = $(window).height() * 0.9;\r\n if ($('.popupMessage').height() > windowHeight) {\r\n $('.popupMessage').height(windowHeight - ($('.dialogFooter').height() + $('.dialogOptions').height()));\r\n }\r\n\r\n if (centerWindow)\r\n uniquePopUpWindow.center();\r\n\r\n popUpWindow = uniquePopUpWindow;\r\n \r\n\r\n // try to reset timer before returning\r\n TryResetMenuTimer('ShowModal');\r\n\r\n //popupWindosIds\r\n return uniquePopUpWindow;\r\n}\r\nfunction DestroyKendoWidgets() {\r\n //Needed to destroy Listbox control from Assignments. Kendo window (modal) destroy is not able to find Listbox instance so providing a manual destroy here\r\n if ($(\"#AvailableSelections\") != null) {\r\n var avail = $(\"#AvailableSelections\").data(\"kendoListBox\");\r\n if (avail != null)\r\n avail.destroy();\r\n }\r\n if ($(\"#AssignedSelections\") != null) {\r\n var assn = $(\"#AssignedSelections\").data(\"kendoListBox\");\r\n if (assn != null)\r\n assn.destroy();\r\n }\r\n}\r\n\r\nfunction ClosePopUpWindow(){\r\n DestroyKendoWidgets();\r\n $(\"#popupWindow\").data(\"kendoWindow\").close(); \r\n}\r\n\r\nfunction Popup_Activate(arg, popupWindow, centerWindow, onActvateCallback) {\r\n Popup_Resize(arg, popupWindow, true, centerWindow);\r\n if (onActvateCallback && typeof (onActvateCallback) == \"function\")\r\n onActvateCallback(arg, popupWindow);\r\n}\r\n\r\nfunction Popup_Resize(arg, popupWindow, resizeOnActivation, centerWindow) {\r\n if (resizeOnActivation == null || resizeOnActivation == undefined || typeof (resizeOnActivation) != \"boolean\")\r\n resizeOnActivation = false;\r\n if (centerWindow == null || centerWindow == undefined || typeof (centerWindow) != \"boolean\")\r\n centerWindow = true;\r\n\r\n if ($(\".popupMessage\").length > 0) {\r\n var popupWindowHeight = ($(\".popupWindowParent\").length > 0) ? $(\".popupWindowParent\").height() : $(\"#popupWindow\").height();\r\n var offset = ($(\".popupWindowParent\").length > 0) ? ($(\".popupWindowParent .k-window-titlebar\").offset().top - $(\".popupWindowParent\").offset().top) : 0;\r\n\r\n var buttonsAndTitleHeight = 0;\r\n if ($(\".popupWindowParent\").length > 0) {\r\n if ($(\".popupWindowParent .btn-panel-right\").length > 0)\r\n buttonsAndTitleHeight += $(\".popupWindowParent .btn-panel-right\").innerHeight();\r\n if ($(\".popupWindowParent .k-window-titlebar\").length > 0)\r\n buttonsAndTitleHeight += $(\".popupWindowParent .k-window-titlebar\").height() - offset;\r\n }\r\n else if ($(\"#popupWindow .btn-panel-right\").length > 0)\r\n buttonsAndTitleHeight = $(\"#popupWindow .btn-panel-right\").innerHeight();\r\n var newPopupContainerHeight = popupWindowHeight - buttonsAndTitleHeight;\r\n \r\n if ($(\".popupMessage\").find(\"div[id$='_RepGridContainerDiv']\").length == 1) {\r\n var gridContainer = $(\"#\" + $(\".popupMessage\").find(\"div[id$='_RepGridContainerDiv']\")[0].id);\r\n if (!gridContainer)\r\n return;\r\n\r\n var gridName = gridContainer.find(\".k-grid\")[0].id;\r\n //check that the window doesn't become higher than the container\r\n var availableHeight = 0;\r\n if ($(\"#ReportPageContainerId\").length > 0) {\r\n availableHeight = $(\"#ReportPageContainerId\").height() - 60;\r\n }\r\n else if ($(\"#divMain\").length > 0) {\r\n availableHeight = $(\"#divMain\").height() + $(\".footer\").height();//footer\r\n }\r\n\r\n if (availableHeight > 0 && availableHeight < popupWindowHeight) {\r\n popupWindowHeight = availableHeight;\r\n }\r\n\r\n var newReportPopupContainerHeight = popupWindowHeight - buttonsAndTitleHeight;\r\n if (typeof (Popup_Resize_CustomResizeForGrid) == \"function\") {\r\n Popup_Resize_CustomResizeForGrid(gridContainer, gridName, resizeOnActivation, newPopupContainerHeight, newReportPopupContainerHeight);\r\n }\r\n else {\r\n Popup_Resize_CustomResizeForGrid_Generic(gridContainer, gridName, resizeOnActivation, newPopupContainerHeight, newReportPopupContainerHeight, 5);\r\n } \r\n }\r\n else if ($(\".popupResizableContainer\").length > 0) {\r\n $(\".popupMessage\").height(newPopupContainerHeight + (($(\".popupWindowParent\").length > 0) ? 3 : 0));\r\n }\r\n }\r\n\r\n if (resizeOnActivation && centerWindow)\r\n popUpWindow.center();\r\n}\r\n\r\n\r\nfunction Popup_Resize_CustomResizeForGrid_Generic(gridContainer, gridName, resizeOnActivation, newPopupContainerHeight, newReportPopupContainerHeight, offsetY) {\r\n newReportPopupContainerHeight += offsetY;\r\n if ($(\".popupMessage\").length > 0 && $(\".popupMessage\").parent().find(\".dialogFooter\").length > 0)//if we have buttons, we have to move them too\r\n $(\".popupMessage\").height((resizeOnActivation ? newReportPopupContainerHeight : newPopupContainerHeight) + 3); \r\n gridContainer.height(newReportPopupContainerHeight); \r\n ReportingGrid_ResizeGrid(gridName);//we'll ask grid to resize itself\r\n ReportingGrid_ResizeLastColumnToFillTheGridIfResizingDefined(gridName);\r\n}\r\n\r\n$(window).resize(function () {\r\n if (popUpWindow != null)\r\n popUpWindow.center();\r\n SizePanel();\r\n RepositionNotesPanel();\r\n ResizeCrfFormContainer();\r\n});\r\n\r\n\r\nfunction GetPopUpWidth() {\r\n var windowHeight = $(window).height();\r\n var windowWidth = $(window).width();\r\n\r\n if (windowHeight < windowWidth)\r\n return windowWidth * 0.3;\r\n else\r\n return windowWidth * 0.5;\r\n}\r\n\r\n$(document).ready(CommonDocumentReady);\r\n\r\nfunction CommonDocumentReady() {\r\n var isDirty = SsoRemoveUrlParamWithSingleDigitValueAndCheckIfEqualToOne(\"isdrt\");\r\n if (isDirty != undefined)\r\n sessionStorage.IsFormDirty = isDirty;\r\n SizePanel();\r\n}\r\n\r\n//Best to test by going to User Notifications and expanding Custom Notifications and resizing the window\r\nfunction SizePanel() {\r\n var windowHeight = $(window).height();\r\n var panel = $(\"#mainPanel\");\r\n if (panel.length > 0) {\r\n var panelBody = $(\"#mainPanelBody\");\r\n var panelContent = $(\"#mainPanelContent\");\r\n var panelBottom = panel.offset().top + panel.outerHeight(true);\r\n var footerHeight = ($(\"footer\").length > 0) ? $(\"footer\").height() : 0;\r\n var pageBottomMargin = 40 + footerHeight;\r\n var mainPanelBodyMargin = 36; //panelBodyMargin has a margin of 15\r\n var footerButtonsHeight = 0;\r\n var saveCancelDiv = $(\".pageSaveCancel\");\r\n if (saveCancelDiv.length > 0)\r\n footerButtonsHeight = saveCancelDiv.height();\r\n if (panelBottom + footerButtonsHeight + footerHeight > windowHeight) { //when panel content goes beyond window height\r\n var newPanelBodyHeight = windowHeight - panel.offset().top - panel.height() - pageBottomMargin - footerButtonsHeight + panelBody.height();\r\n panelBody.height(newPanelBodyHeight);\r\n }\r\n else if (panelContent.height() + mainPanelBodyMargin > panelBody.height()) { //when resizing window or expanding content larger and panelBody has room to exapnd to fit the content without a scrollbar\r\n while (panelContent.height() + mainPanelBodyMargin > panelBody.height() && !(panelBottom + footerButtonsHeight + pageBottomMargin > windowHeight)) {\r\n panelBody.height(panelBody.height() + mainPanelBodyMargin / 2);\r\n panelBottom = panel.offset().top + panel.outerHeight(true);\r\n }\r\n }\r\n else if (panelContent.height() < panelBody.height()) { //when content decreased in size for example by hiding/colapsing some content make panelBody size fit the content with its margin\r\n panelBody.height(panelContent.height() + mainPanelBodyMargin);\r\n }\r\n }\r\n}\r\n\r\nfunction ResizeGridsIfExists() {\r\n if (typeof (ReportingGrid_ResizeAllReportingGrids) == \"function\")\r\n ReportingGrid_ResizeAllReportingGrids();\r\n}\r\n\r\nfunction HideAll(container) {\r\n var obj = '#' + container;\r\n $(obj).find('.alert-info').hide();\r\n $(obj).find('.alert-danger').hide();\r\n $(obj).find('.alert-warning').hide();\r\n $(obj).find('.alert-success').hide();\r\n}\r\nfunction showInfo(message, container) {\r\n var obj = '#' + container;\r\n if ($(obj).length == 0) {\r\n showAlert(message);\r\n return;\r\n }\r\n $(obj).find('.spninfo').html(message);\r\n $(obj).find('.ulinfo').hide();\r\n HideAll(container);\r\n $(obj).find('.alert-info').show();\r\n ResizeGridsIfExists();\r\n}\r\nfunction showMultipleInfoMsg(message, multimessasge, container) {\r\n var obj = '#' + container;\r\n $(obj).find('.spninfo').html(message);\r\n $(obj).find('.ulinfo').show();\r\n $(obj).find('.ulinfo').html(multimessasge);\r\n HideAll(container);\r\n $(obj).find('.alert-info').show();\r\n ResizeGridsIfExists();\r\n}\r\nfunction showError(message, container) {\r\n var obj = '#' + container;\r\n if ($(obj).length == 0) {\r\n showAlert(message);\r\n return;\r\n }\r\n $(obj).find('.spnerror').html(message);\r\n $(obj).find('.ulerror').hide();\r\n HideAll(container);\r\n $(obj).find('.alert-danger').show();\r\n ResizeGridsIfExists();\r\n}\r\nfunction showMultipleErrorMsg(message, multimessasge, container) {\r\n var obj = '#' + container;\r\n $(obj).find('.spnerror').html(message);\r\n $(obj).find('.ulerror').show();\r\n $(obj).find('.ulerror').html(multimessasge);\r\n HideAll(container);\r\n $(obj).find('.alert-danger').show();\r\n ResizeGridsIfExists();\r\n}\r\nfunction showWarning(message, container) {\r\n var obj = '#' + container;\r\n if ($(obj).length == 0) {\r\n showAlert(message);\r\n return;\r\n }\r\n $(obj).find('.spnwarning').html(message);\r\n $(obj).find('.ulwarning').hide();\r\n HideAll(container);\r\n $(obj).find('.alert-warning').show();\r\n ResizeGridsIfExists();\r\n}\r\nfunction showMultipleWarning(message, multimessasge, container) {\r\n var obj = '#' + container;\r\n $(obj).find('.spnwarning').html(message);\r\n $(obj).find('.ulwarning').show();\r\n $(obj).find('.ulwarning').html(multimessasge);\r\n HideAll(container);\r\n $(obj).find('.alert-warning').show();\r\n ResizeGridsIfExists();\r\n}\r\nfunction showSuccess(message, container) {\r\n var obj = '#' + container;\r\n if ($(obj).length == 0) {\r\n showAlert(message);\r\n return;\r\n }\r\n $(obj).find('.spnsuccess').html(message);\r\n $(obj).find('.ulsuccess').hide();\r\n HideAll(container);\r\n $(obj).find('.alert-success').show();\r\n ResizeGridsIfExists();\r\n}\r\nfunction showMultipleSuccess(message, multimessasge, container) {\r\n var obj = '#' + container;\r\n $(obj).find('.spnsuccess').html(message);\r\n $(obj).find('.ulsuccess').show();\r\n $(obj).find('.ulsuccess').html(multimessasge);\r\n HideAll(container);\r\n $(obj).find('.alert-success').show();\r\n ResizeGridsIfExists();\r\n}\r\n\r\nvar notespanelWindow;\r\n\r\nfunction ShowManualQueriesView(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId) {\r\n var npAction = 0/*None*/;\r\n ShowNotesPanel(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId, 1, npAction, GetDefaultExtendedValues());\r\n}\r\nfunction ShowByPassView(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId, extValues) {\r\n var npAction = 2/*AddBypassNote*/;\r\n ShowNotesPanel(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId, 1, npAction, extValues);\r\n}\r\nfunction ShowChangeHistoryViewAddChangeNoteShowChangeHistoryView(titleText, link, TrlObjectId, TrlObjectFormId, SecAreaId) {\r\n var npAction = 0/*None*/;\r\n ShowNotesPanel(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId, 3, npAction, GetDefaultExtendedValues());\r\n}\r\nfunction AddChangeNoteShowChangeHistoryView(titleText, link, TrlObjectId, TrlObjectFormId, SecAreaId) {\r\n var npAction = 1;/*AddChangeNote*/\r\n var InstanceNo = -1;\r\n ShowNotesPanel(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId, 3, npAction, GetDefaultExtendedValues());\r\n}\r\nfunction DeleteGroupInstanceShowChangeHistoryView(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, npAction, SecAreaId) {\r\n ShowNotesPanel(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId, 3, npAction, GetDefaultExtendedValues());\r\n}\r\nfunction ShowGeneralNotesView(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId) {\r\n var npAction = 0/*None*/;\r\n ShowNotesPanel(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId, 2, npAction, GetDefaultExtendedValues());\r\n}\r\nfunction ShowAttachment(link, trlObjectId, trlObjectFormId, viewOnly) {\r\n var request = $.ajax({\r\n url: link,\r\n data:{\r\n toid:trlObjectId,\r\n tofid:trlObjectFormId,\r\n vo:viewOnly \r\n },\r\n cache: false,\r\n method: \"Get\",\r\n success: function (html) { \t\r\n \tvar upID = ShowModal(html); \t\r\n \tif (html.indexOf(\"IsDispositionAttachment\") != -1) { // close popup imemdiatley -> file will be downloaded anyway\r\n \t\tsetTimeout(function () { CloseModelPopup(); }, 1000); \t\t\r\n \t}\r\n },\r\n error: function (result) {\r\n alert(\"Attach Ajax error \" + result);\r\n }\r\n }); \r\n}\r\n\r\nfunction DisplayQuery(TrlObjectQueryId, TrlObjectFormId, title, actionUrl, secAreaId) {\r\n var npAction = 5/*None*/;\r\n ShowNotesPanel(HtmlDecode(title), decodeURIComponent(actionUrl), TrlObjectQueryId, TrlObjectFormId, 0, secAreaId, 1, npAction, GetDefaultExtendedValues());\r\n}\r\n\r\n/**\r\n * Show NotesPanel\r\n * @param {any} titleText\r\n * @param {any} link\r\n * @param {any} TrlObjectId\r\n * @param {any} TrlObjectFormId\r\n * @param {any} InstanceNo\r\n * @param {any} SecAreaId\r\n * @param {any} NotesTabSelector\r\n * @param {any} npAction\r\n * @param {any} extValues - Json objects with properties, all new property should be added to this object to avoid change existing JavaScript functions\r\n */\r\nfunction ShowNotesPanel(titleText, link, TrlObjectId, TrlObjectFormId, InstanceNo, SecAreaId, NotesTabSelector, npAction, extValues) {\r\n var ht =getNotesPanelHeight();\r\n\r\n if ($(\"#NotesPanelWindow\").length > 0)\r\n return;\r\n\r\n var toeid = 0;\r\n var pvid = 0;\r\n if (extValues != null && extValues != undefined && (extValues.TrlObjectEditId != null && extValues.PropertyValidationTypeId != null )) {\r\n toeid = extValues.TrlObjectEditId;\r\n pvid = extValues.PropertyValidationTypeId;\r\n }\r\n\r\n notespanelWindow = $(\"\")\r\n .appendTo(\"body\")\r\n .kendoWindow({\r\n height: ht,\r\n position: {top: 70},\r\n modal: true,\r\n title : titleText,\r\n draggable : false,\r\n visible : false,\r\n resizable: false,\r\n animation: {\r\n open : {\r\n effects: \"slideIn:left fadeIn\",\r\n duration: 100\r\n },\r\n close: {\r\n effects: \"slideIn:left fadeIn\",\r\n reverse: true,\r\n duration: 100\r\n }\r\n }, refresh: function () {\r\n var dialogTitle = $(this.content()).find(\".dialogOptions\").attr(\"title\");\r\n if (titleText == \"\")\r\n titleText = dialogTitle;\r\n notespanelWindow.title(HtmlDecode(titleText));\r\n Kendo_ShowOrHideLoadingImage(\"NotesPanelWindow\", false);\r\n },\r\n close: function (e) {\r\n this.destroy();\r\n }\r\n }).data('kendoWindow').open();\r\n\r\n Kendo_ShowOrHideLoadingImage(\"NotesPanelWindow\", true);\r\n\r\n notespanelWindow.refresh({\r\n url: link, data: {\r\n toid : TrlObjectId,\r\n tof: TrlObjectFormId,\r\n inst: InstanceNo,\r\n said: SecAreaId,\r\n stab: NotesTabSelector,\r\n npAction: npAction,\r\n toeid: toeid,\r\n pvid: pvid\r\n }\r\n });\r\n\r\n $('#NotesPanelWindow').parent().addClass(\"popupWindowParent\").find('.k-i-close').first().addClass('fa fa-times-circle tmfatimescircle').text(\"\");\r\n $('#NotesPanelWindow').parent().addClass(\"NotesPanelLayout\");\r\n $('#NotesPanelWindow').addClass(\"NotesPanelContent\");\r\n return notespanelWindow;\r\n}\r\n\r\n/**\r\n * Create a Default ExtendedObject with null values\r\n */\r\nfunction GetDefaultExtendedValues() {\r\n return { TrlObjectEditId: null, PropertyValidationTypeId: null};\r\n}\r\n\r\n/**\r\n * Create an ExtendedObject populated with the parameter values\r\n * @param {any} trlObjectEditId\r\n * @param {any} propertyValidationTypeId\r\n */\r\nfunction GetExtendedValuesObj(trlObjectEditId, propertyValidationTypeId) {\r\n return { TrlObjectEditId: trlObjectEditId, PropertyValidationTypeId: propertyValidationTypeId };\r\n}\r\n\r\nfunction CloseNotesPanel(updateValidationResults) {\r\n \r\n var notesPanel = $(\"#NotesPanelWindow\").data(\"kendoWindow\");\r\n if(notesPanel != undefined)\r\n notesPanel.close();\r\n\r\n if (updateValidationResults) \r\n RefreshValidationsModalPopup();\r\n \r\n}\r\n\r\nfunction RefreshValidationsModalPopup() {\r\n var modalPopup = $(\"#ValidationsMPId\");\r\n if (!modalPopup)\r\n return;\r\n\r\n var ajaxUrl = modalPopup.find(\"#ajaxUrl\").val();\r\n var uniquePopUpWindow = $(\"#ValidationsMPId\").data('kendoWindow');\r\n if(uniquePopUpWindow != undefined)\r\n {\r\n uniquePopUpWindow.refresh({\r\n url: ajaxUrl\r\n });\r\n }\r\n}\r\n\r\nfunction RepositionNotesPanel() {\r\n var ht = getNotesPanelHeight();\r\n var notespanel = $(\"#NotesPanelWindow\").data(\"kendoWindow\");\r\n if (notespanel != null) {\r\n notespanel.setOptions({\r\n height: ht,\r\n position: {\r\n top: 70,\r\n right: 0\r\n }\r\n });\r\n $('#NotesPanelWindow').parent().addClass(\"popupWindowParent\").find('.k-i-close').first().addClass('fa fa-times-circle tmfatimescircle').text(\"\");\r\n }\r\n}\r\n\r\n/**\r\n * Calculate and return the Height of NotesPanel\r\n */\r\nfunction getNotesPanelHeight() {\r\n //70 from position top. This should be fixed since top navigation will be constant and 49 is Padding top added by Kendo\r\n return $(window).height() - (70 + 49);\r\n\r\n}\r\n\r\nfunction ReapplyValidatorsOnAddingPartialView() {\r\n $('form').removeData('validator');\r\n $('form').removeData('unobtrusiveValidation');\r\n $.validator.unobtrusive.parse('form');\r\n}\r\n\r\nfunction Kendo_ShowOrHideLoadingImage(divElementId, showLoadImage) {\r\n try {\r\n if (kendo != undefined && divElementId != undefined && divElementId != null && divElementId != \"\")\r\n kendo.ui.progress($(\"#\" + divElementId), showLoadImage);\r\n }\r\n catch (err) {\r\n }\r\n}\r\n\r\n\r\nfunction RenderHtmlIntoControl(html, controlId, slowTransition) {\r\n if (slowTransition == null || slowTransition == undefined || typeof (slowTransition) != \"boolean\")\r\n slowTransition = true;//default\r\n if (slowTransition) {\r\n $(\"#\" + controlId).css(\"visibility\", \"visible\");//reduce flickering\r\n $(\"#\" + controlId).css(\"display\", \"none\");//reduce flickering\r\n }\r\n $(\"#\" + controlId).empty().html(html);//render\r\n if (slowTransition)\r\n $(\"#\" + controlId).fadeIn(350);//reduce flickering\r\n}\r\n\r\nfunction GlobalNavigation_RefreshCurrentPatient(fromCache, selectFormId, selectProFormId, selectFormInstanceNo, selectSecAreaId) {\r\n var patientLi = $(\"#NavBarPatientNavigation\").find(\"li[id^='Patient_']\");\r\n if (patientLi.length != 1)\r\n return;\r\n\r\n var ctrlRefreshCurrentPatient = fromCache ?\r\n $(\"#NavBarPatientNavigation\").find(\"input[id='RefreshCurrentPatientFromCache']\") :\r\n $(\"#NavBarPatientNavigation\").find(\"a[id='RefreshCurrentPatientFromDb']\");\r\n\r\n if (selectFormId && !isNaN(selectFormId) && selectFormId > 0 && (typeof panelSelection_CurrentExpandedInfo_RenderedForm != \"undefined\")) {\r\n panelSelection_CurrentExpandedInfo_RenderedForm = { Id: selectFormId, ProFormId: selectProFormId, FormInstanceNo: selectFormInstanceNo, SecAreaId: selectSecAreaId };\r\n if (typeof panelSelection_RestoreNextPatient != \"undefined\") {\r\n if (panelSelection_RestoreNextPatient != null) {\r\n if (typeof panelSelection_RestoreNextPatient.RenderedProFormId != \"undefined\") {\r\n panelSelection_RestoreNextPatient.RenderedFormId = selectFormId;\r\n panelSelection_RestoreNextPatient.RenderedProFormId = selectProFormId;\r\n panelSelection_RestoreNextPatient.RenderedFormInstanceNo = selectFormInstanceNo;\r\n panelSelection_RestoreNextPatient.RenderedSecAreaId = selectSecAreaId;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (ctrlRefreshCurrentPatient.length != 1)\r\n return;\r\n\r\n ctrlRefreshCurrentPatient.trigger(\"click\");//this will call GlobalHeaderLeft_RefreshPatient\r\n}\r\n\r\n\r\n//use Url.Action(\"zzzACTzzz\", \"zzzCONTzzz\") to create currentPathControllerAction\r\nfunction UpdateNavigationOnSave(currentPathControllerAction, selectFormId) {\r\n var isPanelVisibleAndPatientSelected = ($(\"#divPanelSelection\").length > 0 && $(\"#divPanelSelection\").is(\":visible\") && $(\"#NavBarPatientNavigation\").length > 0);\r\n if (!isPanelVisibleAndPatientSelected)\r\n return;//navigation panel not visible or patient not selected\r\n\r\n var patientLi = $(\"#NavBarPatientNavigation\").find(\"li[id^='Patient_']\");\r\n if (patientLi.length != 1)\r\n return;\r\n var trlObjectPatientId = patientLi.attr(\"id\").replace('Patient_', '');\r\n var ajaxUrl = currentPathControllerAction.replace(\"zzzACTzzz\", \"UpdateNavigationOnSave\").replace(\"zzzCONTzzz\", \"Navigation\");\r\n var formNotSpecified = (selectFormId == null || selectFormId == undefined || isNaN(selectFormId) || selectFormId == 0);\r\n var postData = formNotSpecified ? { trlObjectPatientId: trlObjectPatientId } : { trlObjectPatientId: trlObjectPatientId, selFormId: selectFormId };\r\n\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", true);\r\n var ajaxErrorMessage = \"Failed to refresh Navigation panel\";\r\n\r\n $.ajax({\r\n url: ajaxUrl,\r\n method: \"POST\",\r\n data: postData,\r\n success: function (result) {\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", false);\r\n if (AjaxResult_CommonResultHandled(result))\r\n return; \r\n if (result.result == \"OK\") {\r\n if (formNotSpecified)\r\n GlobalNavigation_RefreshCurrentPatient(true);\r\n else\r\n GlobalNavigation_RefreshCurrentPatient(true, selectFormId, result.proFormId, result.formInstanceNo, result.secAreaId);\r\n }\r\n else if (result.result == \"ERROR\") {\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n },\r\n error: function (result) {\r\n Kendo_ShowOrHideLoadingImage(\"divMain\", false);\r\n ReportGridAjax_ErrorHandler(ajaxErrorMessage, result);\r\n }\r\n });\r\n PanelSelection_OnResize();\r\n}\r\n\r\n\r\nfunction GetEfFectiveWidth() {\r\n var mainWidth = $('#rootCrf').width();\r\n var wid = '';\r\n if (mainWidth > 1199) {\r\n wid = mainWidth * 0.25;\r\n }\r\n if (mainWidth > 991 && mainWidth < 1200) {\r\n wid = mainWidth * 0.33;\r\n }\r\n if (mainWidth > 767 && mainWidth < 992) {\r\n wid = mainWidth * 0.5;\r\n }\r\n if (mainWidth < 768) {\r\n wid = mainWidth * 1;\r\n }\r\n return wid;\r\n}\r\n\r\nfunction Global_getCookie(cname) {\r\n var name = cname + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction Global_setCookie(cname, cvalue, exdays) {\r\n if (!isNaN(exdays) || exdays == null || exdays < 1)\r\n document.cookie = cname + \"=\" + cvalue;\r\n else {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n var expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\r\n }\r\n}\r\n\r\nfunction ResizeCrfFormContainer() {\r\n if (window.ShareCRFForm && window.ShareCRFForm != undefined)\r\n window.ShareCRFForm.UpdateStateOnResize();\r\n}\r\n\r\n\r\n\r\n function FilterSelection(inputCntrl, optionsCntrl) {\r\n var filterTxt = inputCntrl.val().toLowerCase();\r\n if (filterTxt.length < 3) {\r\n optionsCntrl.each(function () {\r\n $(this).show();\r\n });\r\n }\r\n else {\r\n optionsCntrl.each(function () {\r\n if ($(this).text().toLowerCase().indexOf(filterTxt) == 0)\r\n $(this).show();\r\n else\r\n $(this).hide();\r\n });\r\n }\r\n }\r\n\r\n\r\n//when this function returns false, caller should proceed with custom result handling, otherwise (when returns true) it should not continue with the result processing\r\n//ajaxResult should have the following properties:\r\n//1) result: (string) result code (e.g. 'ERR_PER')\r\n//2) message: (string) display message (if null or empty, it will not display the popup message)\r\n//3) logout: (bool) when true, it will call logout (if popup is displayed, it will logout after popup is closed)\r\n//4) redirectUrl: (string) with URL where user will be redirected (if popup is displayed, it will redirect after popup is closed). logout must be 'false'.\r\n//5) responseText: OPTIONAL (string) containing message details\r\nfunction AjaxResult_CommonResultHandled(ajaxResult) {\r\n if (ajaxResult == null || ajaxResult == undefined || ajaxResult.result == null || ajaxResult.result == undefined ||\r\n (ajaxResult.result != \"ERR_PER\" && ajaxResult.result != \"ERR_6\" && ajaxResult.result != \"ERR_8\")) //6-offline; 8-locked\r\n return false;\r\n\r\n if (ajaxResult.result == \"ERR_6\" || ajaxResult.result == \"ERR_8\") {\r\n var logoutReason = (ajaxResult.result == \"ERR_6\") ? 6 : 8;\r\n Global_CancelAndLogOutWithError(ajaxResult.currentUrlTemplate, logoutReason, ajaxResult.errorMessage, ajaxResult.trialGroupName);\r\n return true;\r\n }\r\n\r\n var doLogout = (ajaxResult.logout != null && ajaxResult.logout != undefined && typeof (ajaxResult.logout) == \"boolean\") ? ajaxResult.logout : false;\r\n var redirectUrl = (ajaxResult.redirectUrl != null && ajaxResult.redirectUrl != undefined) ? ajaxResult.redirectUrl : \"\";\r\n var onFinish = function () {\r\n if (doLogout)\r\n Logout();\r\n else if (redirectUrl != \"\")\r\n window.location.replace(redirectUrl);\r\n };\r\n\r\n if (ajaxResult.message == undefined || ajaxResult.message == null || ajaxResult.message == \"\") {\r\n //no popup\r\n onFinish();\r\n }\r\n else {\r\n //show popup\r\n ReportGridAjax_ErrorHandler(ajaxResult.message, ajaxResult, onFinish);\r\n }\r\n return true;\r\n}\r\n\r\n//use Url.Action(\"zzzACTzzz\", \"zzzCONTzzz\") to create currentPathControllerAction\r\nfunction Global_CancelAndLogOutWithError(currentPathControllerAction, logoutReason, errorMessage, trialGroupName) {\r\n if (logoutReason == 0)\r\n return;//no logout requested\r\n var ajaxUrl = currentPathControllerAction.replace(\"zzzACTzzz\", \"CancelAndLogOutWithError\").replace(\"zzzCONTzzz\", \"Account\");\r\n var loginUrl = currentPathControllerAction.replace(\"zzzACTzzz\", \"Login\").replace(\"zzzCONTzzz\", \"Account\");\r\n if (window.top.location.href.toLowerCase().indexOf(loginUrl.toLowerCase()) >= 0)\r\n return;//we're already logged out\r\n $.ajax({\r\n data: { logoutReason: logoutReason, errorMessage: errorMessage },\r\n url: ajaxUrl,\r\n method: \"POST\",\r\n success: function (result) {\r\n window.top.location.href = (loginUrl + \"?tgn=\" + encodeURIComponent(HtmlDecode(trialGroupName)) + \"&errorMessage=\" + encodeURIComponent(HtmlDecode(errorMessage)));\r\n },\r\n error: function (result) {\r\n showAlert(\"Ajax error navigating away\", \"Error\");\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction ReportGridAjax_ErrorHandler(message, result, onPopupClose) {\r\n var errorMessage = ReportGridAjax_GetErrorHandlerMessage(message, result);\r\n if (errorMessage)\r\n showErrorPU(errorMessage, \"Error\", onPopupClose);\r\n}\r\n\r\nfunction ReportGridAjax_GetErrorHandlerMessage(message, result) {\r\n if (message && result) {\r\n var additionalText = \"\";// && result.responseText\r\n if (result.responseText) {\r\n if (!result.responseText.toUpperCase().startsWith(\"\"))\r\n additionalText = result.responseText;\r\n else {\r\n //sometimes unhanded exceptions will return the whole error page - we cannot have that when displaying error in pop-up\r\n var detErrorIdx = result.responseText.toUpperCase().indexOf('');//extract error message from page\r\n if (detErrorIdx > 0) {\r\n var detErrorEndIdx = result.responseText.toUpperCase().indexOf('', detErrorIdx + 23);\r\n if (detErrorEndIdx > detErrorIdx)\r\n additionalText = result.responseText.substring(detErrorIdx + 23, detErrorEndIdx).trim(); \r\n }\r\n }\r\n }\r\n else if ($.type(result) === \"string\")\r\n additionalText = result;\r\n //result.responseText might be enclosed with header and warning style - remove it\r\n if (additionalText != \"\") {\r\n var msgDetails = additionalText.replace(\"